Skip to content

Explained: Different Types Of FTP Ports

The full form FTP is File Transfer Protocol, As the name suggests, the primary uses of FTP is to transfer file from one point to other (normally from client to server or vice-versa). The FTP runs as a protocol on a different port which we will understand in this article.
Reading Time: 6 minutes
ftp port numbers

FTP is most commonly used protocol after http in the world of internet.

FTP stand for File Transfer Protocol, and as the name suggest it help transferring files from client to server and there are different FTP port numbers.

Control ports are used for transmitting control information, such as login credentials and commands to request a file transfer. The default control port for FTP is port 21.

Data ports are used for transferring the actual data between the FTP client and server. A separate data port is opened for each file transfer, and the port number is usually negotiated dynamically between the client and server during the control session. The default range of data port numbers is usually between 1024 and 65535.

In addition to these standard ports, some FTP servers also support secure FTP (SFTP) using the Secure Shell (SSH) protocol, which uses port 22 by default.

To achieve File transfer, FTP uses different kind of FTP Port numbers type.
Let us understand these different type of ports number.

Table of Contents

List of FTP Port Numbers

FTP Port Portocol Description
20
TCP
TP Protocol (data) - port for transferring FTP data
21
TCP
FTP Protocol (control) - port for FTP commands and flow control
22
TCP, UDP
SSH (Secure Shell) - used for secure logins, file transfers (scp, sftp) and port forwarding
26
TCP, UDP
RSFTP - A simple FTP-like protocol
69
UDP
TFTP (Trivial File Transfer Protocol)
115
TCP
SFTP, Simple File Transfer Protocol
152
TCP, UDP
BFTP, Background File Transfer Program
989
TCP, UDP
FTP Protocol (data) over TLS/SSL
990
TCP,UDP
FTP Protocol (control) over TLS/SSL

FTP Port Number 20 and 21

FTP port 20 is the default data port for FTP connections. When an FTP client establishes a connection with an FTP server, it first communicates with the server using the control port (port 21 by default). The client then sends a command to the server requesting a file transfer, and the server responds by opening a separate data port for the actual file transfer.

By default, FTP uses a dynamic port allocation process to negotiate the data port number that will be used for the file transfer. The client and server send messages back and forth over the control connection to determine an available port number that they can both use. Once the data port has been negotiated, the actual file transfer takes place over that port.

However, some FTP servers may be configured to use a specific port number (such as port 20) for data transfers, rather than using the dynamic port allocation process. In this case, the FTP client would need to connect to port 20 in order to initiate a file transfer.

Port 20 is open on server when client makes request to the server for file and port 21 is command /control port to send commands to the server without having to wait for the current data transfer to finish.

FTP ports 20 and 21 must both be open on the network for successful file transfers. After the correct FTP username and password are entered through FTP client software, the FTP server software opens port 21, which is sometimes called the command or control port, by default.

These port behave in different was in active or passive mode FTP mode. 

If you are interested to learn about active passive mode of FTP, do refer to my article here about active passive mode of FTP.

PORT 22 SSH (Secure Shell)

Port 22 used for secure logins, file transfers (scp, sftp) and port forwarding.

 

PORT 22 is the default port for the Secure Shell (SSH) protocol, which is a secure network protocol used to remotely connect to and control a device over an unsecured network. SSH provides an encrypted channel for transmitting data, as well as authentication to verify the identity of the devices at either end of the connection.

SSH is commonly used to remotely access and manage servers, routers, and other network devices, as well as to transfer files between computers using secure file transfer protocols such as SFTP (Secure FTP) or SCP (Secure Copy Protocol).

In addition to its use as a remote access and management tool, SSH is also commonly used to tunnel other network protocols, such as HTTP, through an encrypted connection. This can be useful for bypassing network restrictions or for increasing the security of an otherwise unencrypted protocol.

Port 26 RSFTP - A simple FTP-like protocol

rsftp is a work-in-progress FTP adapter for remoteStorage backends.

The aim is to make it easy to up- and download your files to/from a remoteStorage provider using the well-known File Transfer Protocol. This way, more people will likely see the benefits of a remoteStorage.

Port 69 TFTP (Trivial File Transfer Protocol)

TFTP is a very simple file transfer protocol.

It was first specified in 1980 and provides functions to copy files across a network (a very basic form of FTP).

Since it is so simple, it is easy to implement in a very small amount of memory, an important consideration at that time it was defined.

TFTP is therefore sometimes useful for booting or loading the configuration of systems (such as routers, thin client, and wireless base stations) which do not have data storage devices.

TFTP has no authentication or encryption mechanisms, and generally provides the same access to all files in the tftp directory.

Trivial File Transfer Protocol (TFTP) is a simple, lightweight protocol used for transferring files. It is often used to transfer boot images and configuration files to network devices such as routers and switches.

TFTP uses port 69 by default for both control and data connections. When a client wants to transfer a file using TFTP, it sends a request to the server using the control connection on port 69. The server then sends a response over the control connection, indicating whether the transfer can proceed. If the transfer is approved, the client and server establish a separate data connection on port 69 to transmit the actual file data.

TFTP is a simple protocol that does not provide the same level of security or functionality as more modern file transfer protocols such as FTP or SFTP. It is generally only used in cases where a more robust protocol is not available or is not required.

Due to this lack of security, use of tftp can be dangerous over the open Internet.

Therefore, TFTP is generally only used on private local area networks for applications where ftp would be too expensive or difficult to implement (e.g. down-loading firmware, software and configuration data to network devices).

Port 115 for SFTP, Simple File Transfer Protocol

TCP port 115 uses the Transmission Control Protocol. TCP is one of the main protocols in TCP/IP networks.

TCP is a connection-oriented protocol, it requires handshaking to set up end-to-end communications.

Only when a connection is set up user’s data can be sent bi-directionally over the connection.

Attention! TCP guarantees delivery of data packets on port 115 in the same order in which they were sent. Guaranteed communication over TCP port 115 is the main difference between TCP and UDP.

UDP port 115 would not have guaranteed communication as TCP.

Secure File Transfer Protocol (SFTP) is a secure network protocol used to transfer files between computers. It is based on the Secure Shell (SSH) protocol, and provides an encrypted channel for transmitting data as well as authentication to verify the identity of the devices at either end of the connection.

By default, SFTP uses port 22 for the control connection. However, some SFTP servers may be configured to use a different port number, such as port 115. In this case, the SFTP client would need to connect to the correct port number in order to initiate a file transfer with the server.

It’s important to note that port 115 is not a reserved port number for SFTP. It is not listed as a standard port for SFTP in the official list of port assignments published by the Internet Assigned Numbers Authority (IANA).
It is possible for an SFTP server to be configured to use port 115, but this is not a common or standard practice.

Port 152 for BFTP, Background File Transfer Program

As the name suggest, It a FTP in which File transfer happen in background.

For a variety of reasons, file transfer in the Internet has generally been implemented as an interactive or “foreground” service.

That is, a user runs the appropriate local FTP user interface program as an interactive command and requests a file transfer to occur in real time.

If the transfer should fail to complete for any reason, the user must reissue the transfer request.

background file transfer is relatively simple to implement — no subtleties of queuing or stable storage — and in the early days of networking it provided excellent service, because the internet/ARPANET was lightly loaded and reasonably reliable.

More recently, the Internet has become increasingly subject to congestion and long delays, particularly during times of peak usage.
In addition, as more of the world becomes interconnected, planned and unplanned outages of hosts, gateways, and networks sometimes make it difficult for users to successfully transfer files in foreground.

Performing file transfer asynchronously (i.e., in “background”), provides a solution to some of these problems, by eliminating the
requirement for a human user to be directly involved at the time that a file transfer takes place.

A background file transfer service requires two components: a user interface program to collect the parameters describing the required transfer(s), and a file transfer control (FTC) daemon to carry them out.

Port 989 and 990 FTP Protocol data/control over TLS/SSL

In the case of port 989 and port 990, these ports are often used for secure FTP (SFTP) connections that use the Secure Sockets Layer (SSL) or Transport Layer Security (TLS) protocols to encrypt the data transferred over the connection. Some FTP servers may be configured to use port 989 as the control port and port 990 as the data port for SFTP connections.

It’s important to note that port 989 and port 990 are not reserved exclusively for FTP or SFTP. They can be used by other protocols or services as well.

Facebook
Twitter
LinkedIn
Digg
Shashi kant Pandidhar

Shashi kant Pandidhar

I’ve been helping businesses to be online for over 15 years. Today my team and I, focus on helping real businesses to overcome real-life challenges and analyse data in a way that can help businesses grow in the right direction of this digital age.

Leave a Comment

Get the latest news and deals

Sign up for email updates covering blogs, offers, and lots more.

Current Deals at Netspace

Subscribe: Trusted By 1M+ Readers

Get the weekly Tech Update straight to your inbox.

WeCreativez WhatsApp Support
Our customer sales team is here to answer your questions. Ask us anything!
👋 Hi, how can I help?