Talk:File Transfer Protocol

From Citizendium
Jump to navigation Jump to search
This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
To learn how to update the categories for this article, see here. To update categories, edit the metadata template.
 Definition A simple client-server protocol used to transfer files between two nodes on an Internet Protocol network [d] [e]
Checklist and Archives
 Workgroup category Computers [Categories OK]
 Talk Archive none  English language variant American English

Getting this fleshed out for the Internet article -Eric M Gearhart 18:57, 13 July 2008 (CDT)

Improvements needed

Unfortunately, FTP was developed for a very different environment, and also at a time when we knew much less about building, operating, and especially troubleshooting networks. Were I to pick a single adjective to describe FTP, "ugly" comes to mind. Given additional words, I think of "very, very ugly."

In lieu of euthanasia, let me put on my Computers Editor hat and suggest an outline. Do avoid talking about the *NIX ftp command, or FTP utility programs for operating systems, until the protocol is discussed thoroughly. If it's really important to mention the command very early, we need to disambiguate:

"ftp" needs to redirect to a disambiguation page:

Outline

Introduction: what problem does FTP (the protocol) solve? What are its basic capabilities?

Protocol operation

Concepts of control and data channels
Client-server
General description of the major protocol messages
General description of the protocol state machine
Errors and error handling

Design problems (major reference: "Firewall-friendly FTP", http://www.ietf.org/rfc/rfc1579.html. The first two items create problems even without considering security, such as not being able to work through a basic network address translator

Embedded IP addresses and port numbers in the application layer protocol
Port redirection
Firewall incompatibilities and passive open

Fault tolerance and checkpointing, or lack thereof

Secure alternatives

(commands and utilities)