1. FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据
2. FTP协议有两种工作方式:Active方式和Passive方式.
3. FTP协议的
数据传输存在两种模式:主动模式和被动模式.(PORT, PASV)
4. 选择用Active方式还是Passive方式登录FTP服务器,
选择权在
FTP
客户端,而不是在FTP服务器。
Mode
|
主动模式
|
被动模式
|
Command
|
ftp server:tcp 21 <------client:dynamic
ftp server:tcp 20 ------>client:dynamic
|
ftp server:tcp 21 <----client:dynamic
ftp server:tcp dynamic <----client:dynamic
|
连接过程
|
客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
|
客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
|