一、题目
以下说法正确的是__(多选)
A. FTP的数据连接在整个FTP会话过程中一直保持打开
B. FTP的控制连接在整个FTP会话过程中一直保持打开
C. FTP的数据连接在数据传输结束后关闭
D. FTP的控制连接在数据传输结束后关闭
二、答案
BC
三、解析
A. FTP的数据连接在整个FTP会话过程中一直保持打开
- 解析:这个说法是不正确的。FTP(文件传输协议)使用两种类型的连接:控制连接和数据连接。控制连接在整个FTP会话期间确实保持打开状态,但数据连接仅在需要传输文件时建立,并在文件传输完成后关闭。数据连接是临时性的,用于实际的数据传输,而不是在整个会话过程中都保持打开。
B. FTP的控制连接在整个FTP会话过程中一直保持打开
- 解析:这个说法是正确的。控制连接是FTP会话的基础,它用于在FTP客户端和服务器之间传输命令和响应。控制连接在FTP会话开始时建立,并在整个会话期间保持打开状态,直到会话结束(如客户端发出退出命令或连接因故中断)。
C. FTP的数据连接在数据传输结束后关闭
- 解析:这个说法也是正确的。数据连接是在需要传输文件时建立的,一旦文件传输完成,数据连接就会关闭。这是因为数据连接是专门为文件传输而建立的,当传输任务完成后,就没有必要再保持这个连接了。
D. FTP的控制连接在数据传输结束后关闭
- 解析:这个说法是不正确的。如前所述,控制连接在整个FTP会话期间都保持打开状态,与文件传输的开始和结束无关。只有当FTP会话结束时(如客户端发出退出命令),控制连接才会关闭。
综上所述,正确的选项是B和C。这两个选项准确地描述了FTP协议中控制连接和数据连接的行为特性。
四、扩展——FTP的工作模式及应用场景
FTP的两种工作模式
FTP协议在数据传输时,根据服务器和客户端之间的连接建立方式,可以分为主动模式(PORT)和被动模式(PASV)两种。这两种模式的选择对于FTP会话的成功与否至关重要,特别是在客户端和服务器之间存在防火墙或NAT(网络地址转换)设备的情况下。
主动模式(PORT)
- 工作原理:在主动模式下,FTP客户端向服务器发送PORT命令,告诉服务器客户端用于数据连接的临时端口号。当需要传输数据时,服务器主动从端口20(或协商的其他端口)发起连接,与客户端的临时端口建立数据连接,完成数据传输。
- 特点:
- 服务器主动发起数据连接。
- 适用于客户端和服务器之间没有防火墙或NAT设备的情况。
- 如果客户端位于防火墙之后,且防火墙不允许外部连接进入客户端的高位随机端口,则主动模式可能无法正常工作。
被动模式(PASV)
- 工作原理:在被动模式下,FTP客户端向服务器发送PASV命令,请求服务器进入被动模式。服务器随后选择一个临时端口号并告知客户端。当需要传输数据时,客户端主动从自己的端口发起连接,连接到服务器的临时端口,完成数据传输。
- 特点:
- 客户端主动发起数据连接。
- 适用于客户端位于防火墙或NAT设备之后的情况,因为此时防火墙通常允许出站连接,但可能阻止入站连接。
- 服务器需要开放一个或多个临时端口供客户端连接。
应用场景选择
- 当FTP服务器和客户端均处于同一局域网内,且互访不存在防火墙或其他安全设备时,主动模式和被动模式均可使用。
- 如果FTP服务器位于防火墙或NAT设备之后,建议使用被动模式,以避免数据传输被防火墙阻断。
- 对于FTP服务器的管理员来说,支持被动模式可以吸引更多的客户端连接,但也可能增加服务器的安全风险,因为需要开放更多的端口。因此,管理员可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。