File Transfer Protocol (FTP) is an application layer protocol that is used to transfer the files between the local devices (PC, smartphone, etc.) to a server. It transfers both text and binary files over the Internet.
A Contol Connectcion is established on Port number 21. It is the primary connection and is used to send commands back and forth between the client and the server. It is used for sending the control information like user identification, password, and remote directory, etc., once the control connection is established.
Data Connection is initiated on Port number 20. Using the established Control Connection, the client and server will create a separate Data Connection to transfer the requested data.
The Data Connection stays open until the transfer is complete, after that the Data Connection is closed.
Data Connections are closed by either the client or the server, depending on which party is sending the information. When a client is retrieving data from a server, the server will close the connection once all the data has been transferred. When the client is transferring data to the server, the client will terminate the connection after all the data has been transferred.
FTP transfers files in three different modes −