What is FTP Server?
FTP is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as internet. FTP is a built on Client-Server architecture and utilizes separate connections between the client and server. FTP users may authenticate themselves using a clear-text sign-in protocol but can connect anonymously if the server is configured to allow it.
In Linux, you can access FTP from command line Interface mode as well as GUI. FTP server uses two ports for the data transfer and one of them used for commands and other for sending and receiving data.
In Linux, Security concerns are strictly considered and for this purpose there are many services are disabled. So, we need to enable some of them options which are related to FTP server on both side i.e. Client as well as Server side. In Firewall also, need to allow some of the connections on both side. Although, a client's computer may not have a firewall enabled, but server should always have enabled with maximum security.
If you want to connect ftp server then there are two types of modes as follows:
1. Active FTP
2. Passive FTP
In Active FTP mode, Command connection is initiated by the client and the data connection is enabled by Server. In this, Server is actively establishes connection with the client due to this known as Active Connection. The Client opens up a port higher than 1024, and through it connects to the port 21 or command port of the server. Then, the server opens up its port 20 and establishes a data connection to a port higher than 1024 of the client. In this mode, client must enable the incoming connections for that port to receive data at the opened port.
In this mode, Server acts entirely as passive that's why it is known as passive mode. Client establishes both the connections i.e. command and data connection. In this mode, Server listen the incoming requests on port 21 and when request is received for a data connection from the client using a high port, server opens up the high port for data connection. Then client initiates data connection between its high port and server opened port. In this mode, Client needs to check its firewall settings of outgoing connections and at server side need to check incoming connections.
Difference between Active and Passive Mode:
1. In Active mode, Server initiates the data connection but in passive mode Server acts as a passive. It is not initiating any connection.
2. Port used for data connection it changed in passive connection. In active data connection establishes between high port to port 20. And in Passive mode, data connection establishes between High port to high port.
3. Firewall settings need to check in client as well as server side to establish data connection.
by Machindra Dharmadhikari