Open In App

File Transfer Protocol (FTP) in Application Layer

File Transfer Protocol(FTP) is an application layer protocol that moves files between local and remote file systems. It runs on top of TCP, like HTTP. To transfer a file, 2 TCP connections are used by FTP in parallel: control connection and data connection.

What is File Transfer Protocol?

FTP is a standard communication protocol. There are various other protocols like HTTP which are used to transfer files between computers, but they lack clarity and focus as compared to FTP. Moreover, the systems involved in connection are heterogeneous, i.e. they differ in operating systems, directories, structures, character sets, etc the FTP shields the user from these differences and transfers data efficiently and reliably. FTP can transfer ASCII, EBCDIC, or image files. The ASCII is the default file share format, in this, each character is encoded by NVT ASCII. In ASCII or EBCDIC the destination must be ready to accept files in this mode. The image file format is the default format for transforming binary files.



File Transfer Protocol

Types of FTP

There are different ways through which a server and a client do a file transfer using FTP. Some of them are mentioned below:

How Does FTP Work?

FTP is a client server protocol that has two communication channel, command channel for conversation control and data channel for file content.



Here are steps mentioned in which FTP works:

FTP can work on different modes like Active and Passive modes. For more, you can refer to Difference between Active and Passive FTP.

Types of Connection in FTP

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 a control connection. The control connection is initiated on port number 21. 

Data connection

For sending the actual file, FTP makes use of a data connection. A data connection is initiated on port number 20. 
FTP sends the control information out-of-band as it uses a separate control connection. Some protocols send their request and response header lines and the data in the same TCP connection. For this reason, they are said to send their control information in-band. HTTP and SMTP are such examples. 

FTP Session

When an FTP session is started between a client and a server, 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. But the control connection remains active throughout the user session. As we know HTTP is stateless . But FTP needs to maintain a state about its user throughout the session. 

FTP Clients

FTP works on a client-server model. The FTP client is a program that runs on the user’s computer to enable the user to talk to and get files from remote computers. It is a set of commands that establishes the connection between two hosts, helps to transfer the files, and then closes the connection. 

Some of the commands are: 

get the filename(retrieve the file from the server)

get the filename(retrieve multiple files from the server )

ls(list files available in the current directory of the server)

There are also built-in FTP programs, which makes it easier to transfer files and it does not require remembering the commands.

FTP Data Types

The data type of a file, which determines how the file is represented overall, is the first piece of information that can be provided about it. The FTP standard specifies the following four categories of data:

FTP Replies

Some of the FTP replies are:

Characteristics of FTP 

FTP’s Security Issues

Advantages of FTP

Disadvantages of FTP

Difference Between FTP and SFTP

FTP

SFTP

It stands for File Transfer Protocol.

It stands for Secure File Transfer Protocol.

In FTP, secure channel is not provided to transfer the files between the hosts.

In SFTP, a secure channel is provided to transfer the files between the hosts.

It usually runs on port no-21.

It usually runs on port no-22.

It does not encrypt the data before sending

It encrypted data before sending.

It makes uploading and downloading of files without any security.

It maintains full security of the data by using SSH keys.

Frequently Asked Questions on File Transfer Protocol – FAQs

Differentiate between FTP and SFTP?

FTP is a insecure method and transfers the data in plain text whereas SFTP is a secure method that transfers the data in encrypted text.

What is passive FTP Connection?

In passive FTP, the client initiates both the control and data connections to the server.

What is the default port for FTP?

The default port for FTP is 21. Default port is used for the control connection when the data transfer is occuring on other ports.

Name the two modes of FTP data transfer?

  • Active Mode
  • Passive Mode

What is the difference between FTP and SFTP?

The conventional file transmission protocol is called FTP. It’s a simple method of sharing files via the Internet. An additional degree of security is added to file transfers with SFTP, or Secure File Transfer Protocol, an alternative to FTP.


Article Tags :