主动模式:
FTP客户机向服务器的FTP控制端口(默认是21)发送请求,服务器接受连接,建立一条命令链路,当需要传送数据时候,客户端在命令链路上用PORT命令告诉服务器:“我打开了某个端口,你过来连接我。”于是服务器从20端口向客户端的改端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器主动请求,所以称为主动模式。
服务器用20号端口,主动连接客户机的大于1024的随机端口。
FTP客户端向服务器的FTP控制端口发送连接请求,服务器接收连接,建立一条命令链路,当需要传送数据时候,服务器在命令链路上用PASV命令告诉客户端;“我打开了某端口,你过来连接我。”于是客户端向服务器的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器被动等待客户端请求,所以称为被动模式。
FTP被动模式
客户机用大于1024的随机端口,主动连接服务器大于1024的随机端口。
FTP的数据连接模式
1 主动模式(PORT)
客户端向FTP服务器的TCP21端口发送一个PORT命令,请求建立连接,告诉服务器“X.X.X.X的客户机打开了N端口,请求数据连接”。
服务器使用TCP20端口主动与客户端建立数据连接。
2 被动模式(PASV)
客户端向FTP服务器的TCP21端口发送一个PORT命令,请求建立连接。
服务器接到请求后准备完毕,打开随机端口,并将端口号通知客户端。
允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。
允许FTP服务器从20端口主动连接FTP客户机中大于1024的端口
允许FTP客户机从大于1024的端口回应来自FTP服务器20端口的网络连接
允许FTP客户机从大于1024的端口连接FTP服务器的21端口
允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。
允许FTP客户机从大于1024端口主动连接FTP服务器中大于1024的端口
允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接