File Transfer Protocol (FTP)
The full form of FTP is File Transfer Protocol. It is a standard internet protocol provided by TCP/IP which is used for transmitting the files from one system to another system.
The main purpose of FTP is for transferring the web page files from one system to the computer which acts as a server for other computers on the internet. It is also helpful for downloading the files to compute from other servers.
Objectives
The objectives of FTP are as follows −
- FTP provides file sharing.
- FTP helps us to encourage the use of remote computers.
- FTP used to transfer the data reliably and efficiently.
Features
The features of FTP are as follows −
- Data representation
- File organization and Data structures
- Transmission modes
- Error control
- Access control
TCP Connections
For file transferring, two TCP connections are used which are as follows −
- Control connection− For sending control information like user identification, password, commands to change the remote directory, commands to retrieve and store files, etc. FTP makes use of control connections. It is initiated with port number 21.
- Data Connection− For sending the actual file, FTP makes use of data connection. It is initiated with port number 20.
Given below is the diagram of the TCP Connections −
FTP session
When an FTP session is started between a client and servers, the client initiates a control TCP connection with the server side. The client sends control information over this. When the server receives this, it initiates a data connection to the client side. At a time only one file can be sent over one data connection. FTP has to maintain information about its user throughout the session.
Data Structures
FTP allows three types of data structures, which are as follows −
- File structure− It is a continuous sequence of data bytes.
- Record structure− In this, the file is made up of sequential records.
- page structure− In this, the file is made up of independent indexed pages.
FTP Servers
FTP servers are divided into two parts for separating the general public users from more private users −
- Anonymous Server− FTP sites allow anonymous FTP do not require a password for access. We have to log in as anonymous and enter our email address as password.
- Non-anonymous server− If we are using a non-anonymous server, then we will log in as you and give our password.
FTP commands
The FTP commands are as follows −
- USER – Sending user identification to the server.
- PASS – sending user password to the server.
- PWD – It causes the name of the current working directory to be returned in the reply.
Working Procedure
Clients initiate a conversation with servers by requesting to download a file. With the help of FTP, a client can delete, upload, download, rename etc. and even copy files on a server. A user typically needs to log on to the FTP server to use the available content.
Advantages
The advantages of FTP are as follows −
- Speed
- Efficient
- Security
- Back & Forth movement
Disadvantages
The disadvantages of FTP are as follows −
- FTP is not compatible with every system.
- Attackers can quickly identify the FTP password.
- Does not allow running of simultaneous transfers to multiple receivers.