What Is an FTP Port?

Home » Knowledge Base » Hosting Basics » What Is an FTP Port?

One unique characteristic of FTP (File Transfer Protocol) is that it uses two ports in order to facilitate the communication between the client and the server. FTP Port 20 is used to transfer data while FTP Port 21 is used by the server to listen for commands from the client. It’s also true that transferring data over FTP Port 20 is not mandatory and it can be done through another port as long as this other port has been negotiated between the two parties.

FTP has two modes of operation – active and passive. Both are started by the FTP client and then acted upon by the FTP server. Here at AwardSpace, we mainly support Passive FTP, however, we will briefly examine both modes of operation below:

 

Active FTP

Inactive mode the FTP client connects from a random unprivileged port (N, which is usually 20) to the FTP server’s command FTP port, which is port 21. Then, the client starts listening to port N+1 and sends a command to the FTP server. After that, the server connects back to the client’s specified data port from its local one. From the server-side firewall’s point of view, to support FTP in active mode these ports have to be opened: FTP server’s port 21 from anywhere (Client initiates connection); FTP server’s port 21 to ports > 1023 (Server responds to client’s control port); FTP server’s port 20 to ports > 1023 (Server initiates data connection to client’s data port); FTP server’s port 20 from ports > 1023 (Client sends ACKs to server’s data port).

 

Passive FTP

In this mode, the FTP client initiates two connections to the FTP server. We need to keep in mind as well that both of these connections are using ephemeral ports themselves, and that’s ok. By opening two connections, or sockets with the FTP server, the client is able to resolve the issue of its firewall denying access to the FTP server and initiating contact on one of the client’s high ephemeral ports. One of the connections opened by the client will contact the server on FTP port 21, and issue it the PASV (passive) command, vice the normal PORT command when using active FTP. Now what happens is that the FTP server opens an ephemeral port and issues the PORT command to the FTP client. With this in hand, the client then starts a connection back to the server FTP port for the data transfer.

Was this post helpful?

i

Relevant tags:

Connect

Latest posts:

How to Install an Elgg Theme

After you have installed Elgg core and logged in to the admin dashboard, you can search for themes that can help you customize your new website. Elgg themes are a set of files that help you customize the appearance of your website. Via themes, you can modify website...

How to Log in to Elgg

After you install Elgg, it is time to log in to the CMS, so you can start working on your Elgg website. To log in, you should load the Elgg login page and type in your credentials to access the platform’s admin dashboard. In the following paragraphs, we share how to...

How to Install Elgg

You can quickly install Elgg with any of the AwardSpace web hosting plans. You can use our free web hosting, shared web hosting, or advanced hosting plans such as semi-dedicated hosting and VPS hosting.   How to Install Elgg To install Elgg, you should first sign...

How to Change the PHP Timezone

Setting the correct timezone in PHP is crucial for ensuring that date and time functions in your scripts operate accurately. AwardSpace offers a range of hosting plans that provide easy management of PHP settings, including timezone configuration. This article will...

How to Disable PHP Error Messages

When running a PHP-based website in a production environment, it's crucial to disable PHP error messages to prevent sensitive information from being exposed to users. AwardSpace offers a variety of hosting plans tailored to different needs, all of which support...



Create a website for free!


Free forever

Our Support Team is Here to Help

 

If you need any questions answered, don't hesitate and contact us. Click the button below and follow the instructions. You can expect an answer within an hour.

 

Contact AwardSpace

 

iNewest knowledge base articles

How to Install an Elgg Theme

After you have installed Elgg core and logged in to the admin dashboard, you can search for themes that can help you customize your new website. Elgg themes are a set of files that help you customize the appearance of your website. Via themes, you can modify website...

How to Log in to Elgg

After you install Elgg, it is time to log in to the CMS, so you can start working on your Elgg website. To log in, you should load the Elgg login page and type in your credentials to access the platform’s admin dashboard. In the following paragraphs, we share how to...

How to Install Elgg

You can quickly install Elgg with any of the AwardSpace web hosting plans. You can use our free web hosting, shared web hosting, or advanced hosting plans such as semi-dedicated hosting and VPS hosting.   How to Install Elgg To install Elgg, you should first sign...

How to Change the PHP Timezone

Setting the correct timezone in PHP is crucial for ensuring that date and time functions in your scripts operate accurately. AwardSpace offers a range of hosting plans that provide easy management of PHP settings, including timezone configuration. This article will...

How to Disable PHP Error Messages

When running a PHP-based website in a production environment, it's crucial to disable PHP error messages to prevent sensitive information from being exposed to users. AwardSpace offers a variety of hosting plans tailored to different needs, all of which support...

How to Enable Ioncube Loader

Enabling Ioncube Loader on your server is crucial for running encrypted PHP files. At AwardSpace, we understand the importance of a quick and easy setup process for your web hosting needs. Whether you are a developer looking to secure your code or a business running...

Even more web tutorials

Check out our web hosting knowledge base and the WordPress tutorials to learn more, and be better prepared for your website creation and maintenance journey.