What is File Transfer Protocol (FTP)?

FTP, File Transfer Protocol, is a protocol through which internet users can upload files from their computers to a website or download files from a website to their PCs. Originated by Abhay Bhushan in 1971 for use in the military and scientific research network known as ARPANET, FTP has evolved into a protocol for far wider applications on the World Wide Web with numerous revisions throughout the years.

FTP is the easiest way to transfer files between computers via the internet, and utilizes TCP, transmission control protocol, and IP, internet protocol, systems to perform uploading and downloading tasks.

How It Works

TCP and IP are the two major protocols that keep the internet running smoothly. TCP manages data transfer while IP directs traffic to internet addresses. FTP is an underling of TCP and shuttles files back and forth between FTP server and FTP client. Because FTP requires that two ports be open–the server's and the client's–it facilitates the exchange of large files of information.

First, you as client make a TCP control connection to the FTP server's port 21 which will remain open during the transfer process. In response, the FTP server opens a second connection that is the data connection from the server's port 20 to your computer.

Using the standard active mode of FTP, your computer communicates the port number where it will stand by to receive information from the controller and the IP address–internet location–from which or to which you want files to be transferred.

If you are using a public–or anonymous–FTP server, you will not need proprietary sign-in information to make a file transfer, but you may be asked to enter your email address. If you are using a private FTP server, however, you must sign in with a user name and password to initiate the exchange of data.

Modes of File Transfer

Three modes of transferring data are available via FTP. The system can use a stream mode, in which it transfers files as a continuous stream from port to port with no intervention or processing of information into different formats. For example, in a transfer of data between two computers with identical operating systems, FTP does not need to modify the files.

In block mode, FTP divides the data to be transferred into blocks of information, each with a header, byte count, and data field. In the third mode of transfer, the compressed mode, FTP compresses the files by encoding them. Often these modifications of data are necessary for successful transfer because the file sender and file receiver do not have compatible data storage systems.

Passive FTP

Should your computer have firewall protection, you may have difficulties using FTP. A firewall protects your PC by preventing internet sites from initiating file transfers. You can circumvent your firewall's function by using the PASV command that reverses the FTP process, allowing your computer to initiate the transfer request.

Many corporate networks use PASV FTP as a security measure to protect their internal network from assaults of unwanted external files. Also called passive FTP, the process requires that any transfer of information from the internet or other external source must be initiated by the client or private network rather than the external source.

Further FTP Security

In response to the need for a more secure transfer process for sensitive information such as financial data, Netscape developed a Secure Sockets Layer (SSL) protocol in 1994 that it used primarily to secure HTTP–HyperText Transfer Protocol–transmissions from tampering and eavesdropping. The industry subsequently applied this security protocol to FTP transfers, developing SFTP, a file transfer protocol armored with SSL for protection from hackers.