File transfer Protocol or the FTP is a network protocol whose main task is the transferring of files between two or more host computers over any TCP (Transmission Control Protocol) based network mostly being the internet.

In most cases, the FTP is designed based on client-server architecture. It also uses separate connections in regard to information and control while operating between the client and server. Use of passwords and usernames by the FTP users is necessary as they try to authenticate themselves but in the event that the server is configured to allow anonymous connection by the users, then they can always connect.

The command–line applications were the first client applications of the FTP. Later on, the operating and the graphical user interfaces were developed. To date, the command-line applications are still being exported with operating systems such as Windows, Unix and Linux. All the same, the present day has witnessed the development of numerous FTP utilities (client and automation) for use in desktops, handsets and servers just to mention but a few. More so, File Transfer Protocol is being applied in numerous productivity applications among them being the Web page editors.

FTP basically applies the use out-of-band control. This implies that there are usually separate connections for both control and data. This therefore means that for file transfer action to be effected there ought to be a different connection which happens to be the data stream. Data stream is set differently depending on the mode of transfer. The mode of transfer can either be active, passive or extended passive mode:

  • In the active mode, the FTP client first opens a port referred to as the dynamic port and sends the port number to the FTP server. The FTP client then awaits connection from the FTP server. Upon initiation of the data connection from the FTP server to the FTP client, the source port is bind to port 20 on the server.
  • In the case of a passive mode, the FTP server usually opens the dynamic port thereby sending the server’s IP address to the FTP client. The FTP server waits for connection from the client and as such, the client serves the purpose of binding the connection source port to the dynamic port.
  • The extended passive mode is no different from the passive mode only that it transmits the port number and as such, the client is forced to assume that the server does connect to the initial IP address that it was connected to.

FTP is quite reliable but the major problem is that it does not encrypt information and as such, all usernames and passwords can be accessible to anyone with expertise regarding the performance of packet capture on  a particular network thus making it not a very secure mode of file transfer.