FTP (File Transfer Protocol)
Computerworld , 04/17/2000
File Transfer Protocol; DEFINITIONFile transfer protocol is a standardized method for
sending unencoded binary files over IP connections. FTPing a file is more reliable than
other methods, such as sending it as an attachment to an e-mail. The sending computer
breaks the file data into numbered packets. The receiving computer uses the numbers to
reassemble the packets in the right order.(Technology Information) Lais, Sami *~|~*
COPYRIGHT 2000 Computerworld, Inc.
FTP, developed in 1969 by the Department of Defense's Defense Advanced Research
Projects Agency, is a standard for moving files across IP-based networks such as the
Internet. Based on the TCP/IP protocol, FTP is platform-independent, which makes it
possible for different computers running different operating systems to exchange files.
Text files are, by default, sent in ASCII format. The client, or sending computer,
converts the data into 8-bit ASCII format. The server, or receiving computer, converts the
ASCII text into a format appropriate to its hardware and operating system. Images and
other nontext data such as compiled programs are sent as binary data, using 8-bit bytes.
Typically, FTP files are compressed. They can be self-extracting, or you may need to use
a program such as PKZIP to uncompress them.
A user contacts a server via the FTP client, establishes a connection, logs on to the
network, requests directory listings and copies files. This can be done by typing commands
or via an FTP utility running under a graphical user interface such as Windows.
Rules of Engagement
One variation of FTP is Trivial FTP, which has no directory or password capabilities.
However, the most popular form is Anonymous FTP, which is dependent on the server
configuration. When the FTP server is contacted, it asks for a user name and password.
Users log in as "anonymous" and can access files on the server. By convention, users input
their e-mail address as the password.
Typically, users can download files but are unable to upload, change or delete them. If
some users must be given those rights, the usual procedure is to set up a separate upload
directory to maintain the security of the download section.
For example, if your Web site is hosted by an Internet service provider, you might FTP
Web site updates to such a directory. The Internet service provider would retrieve the
updates from that directory.
Without a firewall that provides authentication and privacy via virtual private
networks, password-protected FTP is useful only for files of minor importance. Between
client and server, FTP passes user names and passwords in clear text, which can easily be
stolen.
As an application, FTP is typically built into communications software, which supports
other common file transfer protocols, such as Xmodem, Ymodem, Zmodem and Kermit.
Xmodem, which transmits 128-byte blocks, was the first FTP for PCs. It performs a
checksum on packets to help ensure accurate transmission. The sending computer uses an
algorithm that calculates the binary values in a packet and sends the result as a tail on
the packet. The receiving computer goes through the same algorithm. If the two sums match,
then it's fine; if not, it requests that the packet be re-sent.
Ymodem, which transmits 1,024-byte blocks, adds batch file processing to Xmodem.
Both are stop-and-wait protocols. The sending computer transmits, waits to receive an
acknowledgment, or ACK, from the receiving computer that the packet was received intact. A
negative acknowledgement, or NAK, indicates a bad or missing packet and requests that the
sending computer re-send the packet.
Zmodem is a streaming protocol. The sending computer keeps sending packets until it gets
a NAK. Then it backs up to the bad packet and resends from there.
Zmodem also adjusts packet size, depending on line conditions. If transmission is
interrupted midtransfer, Zmodem can restart and resume sending from the point at which it
was interrupted. It's often used for satellite transmissions because of its ability to
handle changeable line conditions.
Kermit was developed in 1981 at Columbia University. When it breaks a file into packets,
each packet is bracketed by control data. The receiving computer checks each packet's
control data as it arrives and sends an ACK or NAK, as applicable, to the sending
computer.
The default communications protocol for the Web, Hypertext Transfer Protocol (HTTP), is
used to transmit HTML pages from Web server to client browser. HTTP Secure offers a
security option that FTP doesn't. And an HTML-coded page allows for greater complexity and
flexibility in layout than does straight ASCII text. However, even with caching and
persistent connections, HTTP adds overhead to a Web download. w