by Gerald Boerner
Today we don’t use FTP programs like WS-FTP as much as we did in past years. Why not? We have moved away from the Internet, per se, to the use of the World Wide Web. Many of the major web page design programs, such as Dreamweaver, have built into their software an FTP client. Through this built-in client, we are able to upload our web pages, CSS style sheets, images and other elements to our web servers. Is there still a need for FTP? Yes, because FTP is the protocol used in the previous example and there are some circumstances, such as the archiving of our web sites, which are still best accomplished through the use of FTP. So expect FTP to be around for a while.. GLB
“Science fiction does not remain fiction for long. And certainly not on the Internet.”
— Vinton Cerf
“Nowadays, anyone who cannot speak English and is incapable of using the Internet is regarded as backward.”
— Prince Alwaleed Bin Talal Alsaud
“They say a year in the Internet business is like a dog year.. equivalent to seven years in a regular person’s life. In other words, it’s evolving fast and faster.”
— Vinton Cerf
“In today’s knowledge-based economy, what you earn depends on what you learn. Jobs in the information technology sector, for example, pay 85 percent more than the private sector average.”
— Bill Clinton
“Some say Google is God. Others say Google is Satan. But if they think Google is too powerful, remember that with search engines unlike other companies, all it takes is a single click to go to another search engine.”
— Sergey Brin
“The Internet is based on a layered, end-to-end model that allows people at each level of the network to innovate free of any central control. By placing intelligence at the edges rather than control in the middle of the network, the Internet has created a platform for innovation.”
— Vinton Cerf
“The remarkable social impact and economic success of the Internet is in many ways directly attributable to the architectural characteristics that were part of its design. The Internet was designed with no gatekeepers over new content or services.”
— Vinton Cerf
“I must confess that I’ve never trusted the Web. I’ve always seen it as a coward’s tool. Where does it live? How do you hold it personally responsible? Can you put a distributed network of fiber-optic cable "on notice"? And is it male or female? In other words, can I challenge it to a fight?”
— Stephen Colbert
Wizards of the Internet: FTP (File Transfers)
File Transfer Protocol (FTP) is a standard network protocol used to exchange and manipulate files over a TCP/IP based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server applications. Applications were originally interactive command-line tools with a standardized command syntax, but graphical user interfaces have been developed for all desktop operating systems in use today. FTP is also often used as an application component to automatically transfer files for program internal functions. FTP can be used with user-based password authentication or with anonymous user access. The Trivial File Transfer Protocol (TFTP) is a similar, but simplified, not interoperable, and unauthenticated version of FTP.
RFC 114 was released on 16 April 1971 and was the original specification of the File Transfer Protocol (FTP). It was obsoleted by RFC 765 on June 1980, which in turn was obsoleted by RFC 959 on October 1985, which is current specification. Several proposed standards amend that RFC, for example RFC 2228 of June 1997 proposes security extensions and RFC 2428 of September 1998 adds support for IPv6 and defines a new type of passive mode.
Use
FTP was a required service to allow computers connected to the original mainframes connected to the IMPs to send more than remote terminal (Telnet) messages. To be functional, these hosts needed to be able to exchange complete files. The problem addressed by FTP focuses on how to transfer the information from one machine to another without losing any data. This was complicated by the different form that the data on each host took. Some hosts, like DEC and HP, used ASCII while IBM mainframes used a different character encoding technique, EBCDIC. There were also other differences in how data were stored in each system to be considered. The initial RFC specified the beginning of this process.
As outlined by its RFC, FTP is used to:
-
Promote sharing of files (computer programs and/or data).
-
Encourage indirect or implicit use of remote computers.
-
Shield a user from variations in file storage systems among different hosts. (The user does not need to know what the type of file system is.)
-
Transfer data reliably, and efficiently.
Protocol overview
The FTP protocol committee was chaired by Abhay Bhushan, an MIT graduate student in the early 1970s. Jon Postel and Joyce Reynolds added support for modem communication in the 1980s. The original committee, with representatives spread across the country at schools like Harvard, MIT, SRI, UCLA, Utah, and others used the newly available ARPANet to exchange messages using the original version of FTP on NCP (the predecessor to TCP/IP) to design the full specification for this process.
A client makes a connection to the server using TCP port 21. This connection, called the control connection, remains open for the duration of the session, with a second connection on port 20 opened as required to transfer file data. Commands are sent by the client over the control connection in ASCII and terminated by a carriage return and line feed. For example "RETR filename" would transfer the specified file from the server to the client.
The server responds on the control connection with three digit status codes in ASCII with an optional text message, for example "200" (or "200 OK.") means that the last command was successful. A file transfer in progress over the data connection can be aborted using an interrupt message sent over the control connection.
FTP can be run in active mode or passive mode, which control how the second connection is opened. In active mode the client sends the server the IP address port number that the client will use for the data connection, and the server opens the connection. Passive mode was devised for use where the client is behind a firewall and unable to accept incoming TCP connections. The server sends the client an IP address and port number and the client opens the connection to the server. Both modes were updated in September 1998 to add support for IPv6 and made some other changes to passive mode, making it extended passive mode.
While transferring data over the network, four data representations can be used, of which only two are common:
-
ASCII mode:
only for plain text. (Any other form of data will be corrupted) -
Binary mode:
the sending machine sends each file byte for byte and as such the recipient stores the bytestream as it receives it. (The FTP standard calls this "IMAGE" or "I" mode)
The other two, EBCDIC and local file type are essentially obsolete. For text files, different format control and record structure can be selected, although these features are also rarely used now. One of three [ASCII, Byte, or Bytestream] file transfer modes can also be chosen, but the default of "stream" is invariably used now.
Security
The original FTP specification is an inherently unsecure method of transferring files because there is no method specified for transferring data in an encrypted fashion. This means that under most network configurations, user names, passwords, FTP commands and transferred files can be captured by anyone on the same network using a packet sniffer. This is a problem common to many Internet protocol specifications written prior to the creation of SSL, such as HTTP, SMTP and Telnet. The common solution to this problem is to use either SFTP (SSH File Transfer Protocol), or FTPS (FTP over SSL), which adds SSL or TLS encryption to FTP as specified in RFC 4217.
Anonymous FTP
A host that provides an FTP service may additionally provide anonymous FTP access. Users typically login to the service with an ‘anonymous’ account when prompted for user name. Although users are commonly asked to send their email address in lieu of a password, little to no verification is actually performed on the supplied data.
As modern FTP clients typically hide the anonymous login process from the user, the ftp client will supply dummy data as the password (since the user’s email address may not be known to the application).
The Gopher protocol has been suggested as an alternative to anonymous FTP, as well as Trivial File Transfer Protocol and File Service Protocol.
Remote FTP or FTPmail
Where FTP access is restricted, a remote FTP (or FTPmail) service can be used to circumvent the problem. An e-mail containing the FTP commands to be performed is sent to a remote FTP server, which is a mail server that parses the incoming e-mail, executes the FTP commands, and sends back an e-mail with any downloaded files as an attachment. Obviously this is less flexible than an ftp client, as it is not possible to view directories interactively or to modify commands, and there can also be problems with large file attachments in the response not getting through mail servers. As most internet users these days have ready access to FTP, this procedure is no longer in everyday use.
FTP and web browsers
Most recent web browsers and file managers can connect to FTP servers, although they may lack the support for protocol extensions such as FTPS. This allows manipulation of remote files over FTP through an interface similar to that used for local files. This is done via an FTP URL, which takes the form
ftp(s)://<ftpserveraddress> (e.g., ftp://ftp.gimp.org/)A password can optionally be given in the URL, e.g.:
ftp(s)://<login>:<password>@<ftpserveraddress>:<port>Most web-browsers require the use of passive mode FTP, which not all FTP servers are capable of handling. Some browsers, such as Mozilla Firefox and Netscape, allow only the downloading of files, but offer no way to upload files to the server.
Summing it Up
Retrospective:
FTP was the primary way of transferring files between computers on a peer to peer basis. I overcame the differences between the format of a file on the origin (sending) and destination (receiving) computers. Most importantly, FTP accomplished this task in such a way that the file was transferred without ERROR! Originally, this used two separate ports for the computers to communicate through. The primary port, Port 21, was used to transfer the data while the secondary port, Port 20, was used to allow the machines to communicate information about whether the packets of data had been received correctly. If it was not, the receiving computer could send a message to the sending computer computer to resend a particular packet. Thus, the process was fast and accurate.
At a functional level, FTP served as the basis upon which Tomlinson developed his email sending and receiving programs for email. His original process actually used the FTP protocol itself. Later, as email gained status on its own, new protocols were introduced. But we can be thankful for FTP for accomplishing this task. In fact, email is often called the “killer” application for the Internet. If so, FTP was the enabling technology for that breakthrough.
As we continue to examine the technology contributors to the development computer networking, let us always be alert for the enabling technologies and “killer” applications that produced the advancement of networking.
References:
Katie Hafner & Matthew Lyon. (1998) Where Wizards Stay Up Late: The Origins of the Internet. Simon & Schuster
Background and biographical information is from Wikipedia articles on:
Wikipedia: ARPANet…
http://en.wikipedia.org/wiki/ARPAnet
Wikipedia: The Internet…
http://en.wikipedia.org/wiki/The_Internet
Wikipedia: File Transfer Protocol (FTP)…
http://en.wikipedia.org/wiki/File_Transfer_Protocol
Web Sites and Blogs:
PhotoShelter: FTP Images…
http://www.photoshelter.com/help/tut/client/ftp
Google Merchant Center: Merchant Center Help…
http://www.google.com/support/merchants/bin/answer.py?hl=en&answer=160056
Woopidoo! Internet Quotes…










Comments