FTP服务器的主要端口确实是21,但FTP的运作还涉及其他端口,尤其是端口20,下面将详细介绍FTP的工作原理、端口用途、模式区别、以及安全性考量:

1、FTP基本端口和功能
控制端口21:FTP的控制端口为21,所有的FTP命令都通过这个端口传输,当用户尝试连接到FTP服务器时,客户端首先与服务器的21端口建立连接,进行用户认证和命令交换。
数据端口20:在FTP传输中,默认的数据端口是20,此端口用于在客户端与服务器之间传输文件数据,不过,数据端口的使用通常取决于FTP的模式设置,主动模式下使用20端口,而被动模式下则由服务器和客户端协商决定具体端口。
2、FTP的模式区别
主动模式:在主动模式下,客户端向服务器报告一个随机的高端口,并等待服务器从20端口主动连接到该端口,这种模式较为传统,但有时由于防火墙等原因导致无法成功建立数据连接。
被动模式:近年来,由于主动模式的安全问题,许多客户端默认使用被动模式,在被动模式中,服务器在内部随机开启一个高端端口并告知客户端,然后客户端从外部主动连接到该端口,这通常更符合现代网络的安全防护需求。
3、安全组和防火墙配置

安全组规则:虚拟防火墙或安全组需要正确配置以允许FTP通信,这意味着除了开放21端口之外,还需要根据FTP的模式决定是否开放20端口或其它端口,阿里云ECS云服务器要求管理员同时配置21端口和20端口以确保FTP正常工作。
端口开放策略:在配置FTP服务器时,管理员需要考虑FTP的模式和客户端的安全需求,合理安排哪些端口应该开放,哪些应该保持关闭,如在被动模式下,可能需要定期开放一系列高于1024的端口以供数据连接使用。
4、应用配置和优化
客户端和服务器设置:FTP客户端和服务器都需要配置相应的传输模式以优化性能和安全性,选择被动模式可以提供更安全的数据传输环境,尤其在公共网络中。
性能考量:在高负载环境下,合理配置FTP端口和模式可以显著提升文件传输的速度和稳定性,确保FTP服务器的网络带宽足够支持大量并发连接和数据传输。
虽然FTP服务器的主要端口是21,但了解FTP的工作原理及其对不同端口的需求对于高效、安全地配置FTP服务至关重要,通过理解控制流和数据流的区别、认识不同的FTP模式以及合理配置安全组和防火墙,管理员可以在确保网络安全的同时,提供高效的文件传输服务。

下面是一个简单的介绍,展示了FTP服务器在默认情况下使用的端口以及这些端口的具体作用,这里我们特别指出,FTP服务器的端口不一定是21,因为FTP通信中除了21端口外,还包括用于数据传输的其他端口。
| 端口号 | 作用 | 备注 |
| 21 | 控制端口 | 用于建立FTP连接,发送命令和接收响应。 |
| 20 | 数据端口(主动模式) | 在主动模式下,服务器使用此端口向客户端发送数据。 |
| >1024 | 数据端口(被动模式) | 在被动模式下,服务器会随机打开一个大于1024的端口用于数据传输,并在FTP命令中告知客户端。 |
需要注意的是,在被动模式下,数据端口不是固定的,每次连接时都可能会变化,这提高了FTP穿越某些网络配置的能力,同时也为FTP服务器提供了更高的安全性,而在主动模式下,数据端口固定为20,这可能会导致在某些网络环境下无法正确建立连接。