27.2 FTP协议

与之前介绍的应用不同,FTP协议使用两条TCP连接来传输文件:

  1. 控制连接: 采用传统的客户端-服务器模式建立。服务器监听众所周知的FTP端口(21),等待客户端连接。客户端主动发起连接请求到服务器的端口21,建立连接。控制连接始终保持连接状态,用于客户端和服务器之间的通信,传递命令和响应。由于命令通常由用户手动输入,因此IP对控制连接的服务类型为“最小化延迟”。

  2. 数据连接: 每当客户端和服务器之间需要传输文件时,就会创建一个数据连接(其他情况下也可以创建,稍后讨论)。由于该连接专用于数据传输,因此IP对数据连接的服务类型为“最大化吞吐量”。

下图展示了客户端、服务器以及它们之间的连接关系:

[插入图27-1,描述客户端、服务器以及它们之间的连接关系]

如图所示,用户通常不需要直接处理在控制连接上传输的命令和响应。这些细节由客户端和服务器上的FTP协议解释器处理。用户界面模块负责提供各种交互方式(例如全屏幕菜单选择、逐行输入命令等),并将用户的操作转换为FTP命令,通过控制连接发送给服务器。类似地,服务器返回的响应也会被转换为用户友好的格式。此外,协议解释器还负责根据需要激活文件传输功能。

27.2.1 数据表示

FTP协议规范提供了多种控制文件传输和存储的选项。用户需要针对以下四个方面做出选择:……