FTP 的连接
FTP 会建立两个连接:
- 控制连接:用于传输控制请求和连接请求,服务器端监听 20 端口
- 数据连接:通过该连接来传输数据,文件列表也是通过该连接传输的
控制连接在整个会话期间一直打开,数据连接只在数据传输时打开。为了保证可靠性,两个连接都使用 TCP
FTP 的进程
有一个主进程,负责接收请求
有若干个从属进程,负责处理单个请求
FTP 的数据传输
数据传输有两种模式:
- 主动模式 PORT:服务器通过 20 端口连接客户端提供的端口,对客户端发送数据。
- 被动模式 PASV:客户端发送 PASV 命令给服务器,服务器随机开放一个端口让客户端连接,客户端读取数据。
