两种模式

Port模式:FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式:在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
简单点来说就是被动模式会从新的端口建立连接,而主动模式会从原20端口建立连接

注意事项

对于被动模式:因为防火墙不允许建立新的连接,所以用被动模式登录被防火墙保护的服务端是不允许的,应采用主动模式。
对于主动模式:因为一个端口的连接数量是有限的,所以当客户端使用主动模式连接数量过多,会导致链接数占满无法建立新的连接