FTP协议是一个在应用层的协议,运用TCP协议作为传输层协议,用于数据传输,有两种工作模式:主动模式和被动模式
FTP协议使用主动模式时
服务器建立两个TCP连接:
- 端口为21的控制连接,控制命令传输端口,如下载,重命名,获取文件信息,
- 端口为20的数据连接,数据传输端口* 利弊:
- 利于FTP服务器的管理,服务器只需要开启21和20端口即可
- 不利于客户端的管理,当服务器向客户端传送文件时,可能被客户端的防火墙所阻挡
FTP协议使用被动模式时
客户端建立两个TCP连接:
- 端口为N的控制连接,此端口向服务器21端口建立连接,并发送PASV指令,让服务器使用被动模式,控制连接建立成功后,服务器开启一个数据端口P,通过PORT命令将P端口告诉客户端。
- 端口为N+1的数据连接:建立数据连接 利弊:
- 对客户端有利,因为防火墙不防准出,
- 对客户端不利