一、题目
使用 FTP 进行文件传输时,会建立多少个 TCP 连接?
A.1
B.2
C.3
D.4
二、答案
B
三、解析
FTP 使用两个 TCP 连接来完成文件传输:
控制连接(Control Connection):客户端连接到FTP服务器的控制端口用于传输 FTP 命令和响应信息。
数据连接(Data Connection):客户端与服务器间实际的文件传输。
四、扩展——FTP 的两种传输模式
1.主动模式(PORT)
- 工作过程:
- 客户端通过控制连接向服务器发送
PORT命令,指定一个本地端口用于数据传输。 - 服务器使用TCP 20端口连接到客户端指定的端口。
- 客户端通过控制连接向服务器发送
- 特点:
- 客户端主动向服务器提供端口信息。
- 适用于客户端网络环境较为开放的场景。
2.被动模式(PASV)
- 工作过程:
- 客户端通过控制连接向服务器发送
PASV命令,请求服务器提供一个端口用于数据传输。 - 服务器动态分配一个临时端口(通常大于1024),并通过控制连接通知客户端。
- 客户端连接到服务器指定的端口。
- 客户端通过控制连接向服务器发送
- 特点:
- 服务器提供端口信息,客户端主动连接。
- 适用于客户端处于防火墙或NAT环境的场景。
