📖 6.5 文件传送协议 FTP
🎯 课程摘要:FTP(文件传送协议)是因特网上使用最广泛的文件传送协议,提供交互式访问,屏蔽各计算机系统细节,适用于异构网络中任意计算机间传送文件。FTP 采用 C/S 方式,需建立两个并行的 TCP 连接:控制连接(端口 21,整个会话保持)和数据连接(每次传输时建立、结束即关闭)。数据连接有主动模式(服务器用端口 20 主动连接客户)和被动模式(服务器被动等待客户连接)两种。
📝 详细笔记
1. FTP 的作用与特点
- 概念定义:FTP 是因特网上使用最广泛的文件传送协议,用于将文件通过网络传送到可能相距很远的另一台计算机。
- 原理解析:
- FTP 提供交互式访问,允许客户指明文件类型与格式(如是否使用 ASCII),并允许文件具有存取权限(访问用户须经授权并输入有效口令)。
- FTP 屏蔽了各计算机系统的细节,因而适用于在异构网络中任意计算机之间传送文件。
- 历史地位:因特网发展早期,FTP 传送文件约占整个因特网通信量的 1/3,远大于电子邮件和域名系统产生的通信量;直到 1995 年万维网的通信量才首次超过 FTP。
- ⚠️ 重点/考点:FTP 适用于异构网络中任意计算机间传文件;其交互式访问可指明文件类型/格式并支持存取权限控制。
2. FTP 的应用方式
- 概念定义:FTP 采用 C/S 方式,FTP 客户计算机可向 FTP 服务器上传或下载文件。
- 原理解析:
- 根据应用需求不同,FTP 服务器可能是高性能高可靠性的服务器计算机,也可能只需一台普通个人计算机(本地也可用普通 PC 作 FTP 服务器)。
- FTP 服务器可使用第三方 FTP 服务器软件或操作系统自带功能(如 Windows 自带 FTP 服务器功能)创建。
- 客户端访问方式多样:可用浏览器(注意此时使用的是 FTP 协议而非 HTTP)、Windows 自带命令行工具(匿名登录无需密码,可列目录、上传/下载),或第三方 FTP 客户工具软件(界面友好,多数用户首选)。
- ⚠️ 重点/考点:FTP 常见用途——计算机之间传输文件(尤其批量传输);让网站设计者将构成网站的大量文件批量上传到 Web 服务器。
3. FTP 的基本工作原理:两个并行的 TCP 连接
- 概念定义:FTP 在客户与服务器之间建立两个并行的 TCP 连接——控制连接和数据连接。
- 原理解析:
- 控制连接:FTP 服务器监听熟知端口 21,FTP 客户随机选择一个临时端口号与其建立 TCP 连接,用于传送 FTP 相关控制命令(命令通道)。控制连接在整个会话期间一直保持打开。
- 数据连接:用于传送文件(数据通道)。当有数据要传输时才建立,传输结束就关闭(即每次文件传输时建立、传输完即关闭)。
- ⚠️ 重点/考点:
- FTP 用 TCP,需两个并行连接:控制连接(端口 21,整会话保持)+ 数据连接(每次传输才建、传完即关)。
- 控制连接与数据连接分离是 FTP 的核心特征(考研重点)。
4. 主动模式与被动模式
数据连接的建立方向不同,分为主动模式与被动模式:
| 对比维度 | 主动模式(PORT) | 被动模式(PASV) |
|---|---|---|
| 数据连接发起方 | 服务器主动连接客户 | 客户主动连接服务器 |
| 服务器端端口 | 熟知端口 20 | 与客户协商决定的临时端口 |
| 客户端端口 | 客户随机选择的临时端口 | 客户随机选择的另一个临时端口 |
| 服务器角色 | 主动 | 被动等待 |
| 控制连接 | 与被动模式相同(端口 21,整会话保持) | 与主动模式相同 |
| 典型场景 | 服务器可主动向外连接时 | 服务器在内网/防火墙后不便主动连接时 |
- ⚠️ 重点/考点:
- 默认情况下 FTP 用 TCP 21 进行控制连接、TCP 20 进行数据连接,但是否使用 20 号端口取决于传输模式:主动模式使用 TCP 20,被动模式由服务器和客户端自行协商决定。
- 控制连接两种模式完全相同,区别只在数据连接的建立方向和服务器端口。
5. 历年考研真题解析
- 2009 年第 40 题(答案 A):考查 FTP 的两个并行 TCP 连接——控制连接在整个会话期间一直保持打开用于传送控制命令;数据连接用于文件传输,每次传输时才建立、传输结束就关闭。
- 2017 年题(答案 C):FTP 客户和服务器之间要建立控制连接和数据连接两个并行的 TCP 连接;控制连接整会话保持,数据连接每次传输才建立、传完即关闭;默认用 TCP 21 控制连接、TCP 20 数据连接,但是否用 20 号端口与传输模式有关(主动方式用 20,被动方式由双方协商)。
💡 核心总结
- FTP 是最广泛的文件传送协议,交互式访问、支持权限控制,屏蔽系统细节,适用于异构网络。
- 采用 C/S 方式,基于 TCP,建立两个并行连接:控制连接(端口 21,整会话保持)+ 数据连接(每次传输才建、传完即关)。
- 数据连接分主动模式(服务器用端口 20 主动连客户)与被动模式(服务器被动等待客户连接,端口协商决定)。
- 是否使用 20 号端口取决于传输模式:主动用 20,被动协商决定。
❓ 课后思考 / 经典考题
- FTP 为什么需要建立两个并行的 TCP 连接?分别说明控制连接和数据连接的用途、端口及保持时间。
- 比较 FTP 主动模式与被动模式在数据连接建立方向、服务器端口上的区别。
- 为什么说 FTP 适用于异构网络中任意计算机之间的文件传送?
- (2009/2017 统考)FTP 数据连接在何时建立、何时关闭?默认使用哪个端口?该端口是否在所有传输模式下都使用?