在进行文件传输时,FTP的客户端和服务器之间会建立两个连接
1.控制连接是客户端和FTP服务器之间传送命令的通道。
2.数据连接是客户端和FTP服务器之间传输文件的通道。
FTP会话时,客户端首先和FTP 服务器的TCP 21端口建立控制连接,通过这个通道发送命令。
FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式
PORT模式(主动方式)
当客户端在控制通道上发送PORT命令时,PORT命令包含了客户端接收数据的端口(端口号大于1024)。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。这种方式下FTP服务器必须和客户端建立一个新的连接用来传送数据。
PASV模式(被动方式)
当客户端在控制通道上发送PASV 命令时,FTP服务器打开一个随机端口(端口号大于1024)并且通知客户端在这个端口上传送数据,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送。这种方式下FTP服务器不再需要和客户端建立一个新的连接用来传送数据。
原文:http://blog.csdn.net/crazy_xiaohe/article/details/23375547