计算机网络第六章:应用层
第六章 应用层
6.1 应用层概述
应用层的定义:应用层是 OSI 体系结构的顶层,是离用户最近的一层,也是设计和建立计算机网络的最终目的。
主要任务:通过应用进程的交互来实现特定网络应用。
本章重点内容:
- 动态主机配置协议 (DHCP)
- 域名系统 (DNS)
- 文件传送协议 (FTP)
- 电子邮件
- 万维网 (HTTP)
6.2 客户 / 服务器方式和对等方式
基本概念:
- 客户 (client):发起连接请求的应用进程
- 服务器 (server):等待并接受连接请求的应用进程
客户 / 服务器方式 (C/S 方式):
- 客户是服务的请求方,服务器是服务的提供方
- 服务器需要预先启动并等待客户的请求
- 客户可以随时启动并向服务器发起请求
对等方式 (P2P 方式):
- 两个应用进程在通信时是平等的
- 既可以作为客户,也可以作为服务器
- 典型应用:文件共享、即时通信
例题:
Q: 以下哪种应用采用客户 / 服务器方式?
A. 微信聊天
B. HTTP 网页浏览
C. BitTorrent 文件下载
D. 网络电话
答案:B. HTTP 网页浏览
6.3 动态主机配置协议 (DHCP)
6.3.1 动态主机配置协议的作用
DHCP 的基本概念:
- 全称:Dynamic Host Configuration Protocol
- 标准:RFC 2131, RFC 2132
- 工作方式:客户 / 服务器方式
- 传输层协议:UDP
需要配置的网络参数:
- IP 地址
- 子网掩码
- 默认网关的 IP 地址
- 域名服务器的 IP 地址
DHCP 的优势:
- 自动分配 IP 地址,避免手动配置的麻烦
- 集中管理 IP 地址资源
- 支持 IP 地址的动态分配和回收
6.3.2 DHCP 的工作过程
DHCP 的工作步骤:
- DHCP 发现 (DHCP DISCOVERY)
- DHCP 客户广播发送发现报文
- 源 IP 地址:0.0.0.0
- 目的 IP 地址:255.255.255.255
- 包含事务 ID 和 DHCP 客户端的 MAC 地址
- DHCP 提供 (DHCP OFFER)
- DHCP 服务器收到发现报文后,查找数据库
- 广播发送提供报文
- 包含可用的 IP 地址、子网掩码、地址租期等信息
- 服务器会使用 ARP 确保所选 IP 地址未被占用
- DHCP 请求 (DHCP REQUEST)
- DHCP 客户选择一个 DHCP 服务器
- 广播发送请求报文
- 告知其他 DHCP 服务器自己的选择
- DHCP 确认 (DHCP ACK)
- DHCP 服务器发送确认报文
- DHCP 客户获得 IP 地址并开始使用
- 使用前会再次 ARP 检测 IP 地址是否被占用
IP 地址租用期管理:
- 租用期过一半时,DHCP 客户请求更新租用期
- 租用期过 87.5% 时,若未收到响应,重新发送请求
- 租用期到期后,必须停止使用该 IP 地址
DHCP 中继代理:
- 解决不同网络间的 DHCP 通信问题
- 路由器配置为 DHCP 中继代理
- 将广播的 DHCP 发现报文单播转发给 DHCP 服务器
例题:
Q: DHCP 客户首次获取 IP 地址时,发送的第一个报文是什么?
A. DHCP OFFER
B. DHCP REQUEST
C. DHCP DISCOVERY
D. DHCP ACK
答案:C. DHCP DISCOVERY
6.4 域名系统 (DNS)
6.4.1 DNS 的基本概念
DNS 的作用:
- 将域名转换为 IP 地址
- 分布式的域名解析系统
- 早在 1983 年就开始采用层次结构的命名树
域名结构:
- 层次树状结构
- 各级域名用点 “.” 隔开
- 级别最低的域名写在最左边
- 级别最高的顶级域名写在最右边
- 完整域名不超过 255 个字符
顶级域名分类:
- 通用顶级域名 (gTLD):
- com:公司企业
- edu:教育机构
- gov:政府部门
- org:非营利组织
- net:网络服务机构
- mil:军事机构
- int:国际组织
- 国家顶级域名 (ccTLD):
- cn:中国
- us:美国
- uk:英国等
- 反向域 (arpa):用于反向域名解析
域名管理机构:
- 最高级别:ICANN (因特网名称与数字地址分配机构)
- 各级域名由其上一级域名管理机构管理
6.4.2 DNS 服务器的类型
四种域名服务器:
- 根域名服务器:
- 最高层次的域名服务器
- 共有 13 个不同 IP 地址的根域名服务器
- 每个根域名服务器实际上是由许多分布在世界各地的计算机构成的服务器群集
- 通常不直接解析域名,而是返回顶级域名服务器的 IP 地址
- 顶级域名服务器:
- 负责管理在其下注册的所有二级域名
- 例如:com、cn、edu 等顶级域名服务器
- 权限域名服务器:
- 负责管理某个区的域名
- 每一个主机的域名都必须在某个权限域名服务器处注册登记
- 本地域名服务器:
- 不属于域名服务器的等级结构
- 通常由 ISP 提供
- 当主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器
6.4.3 DNS 查询过程
两种查询方式:
- 递归查询:
- 客户只发送一次查询请求
- 本地域名服务器负责完成整个查询过程
- 客户只需等待最终结果
- 迭代查询:
- 本地域名服务器向根域名服务器查询
- 根域名服务器返回下一个应查询的顶级域名服务器的 IP 地址
- 本地域名服务器继续向顶级域名服务器查询
- 重复上述过程直到得到最终结果
DNS 查询的具体步骤:
- 主机向本地域名服务器进行递归查询
- 本地域名服务器向根域名服务器进行迭代查询
- 根域名服务器返回顶级域名服务器的 IP 地址
- 本地域名服务器向顶级域名服务器进行迭代查询
- 顶级域名服务器返回权限域名服务器的 IP 地址
- 本地域名服务器向权限域名服务器进行迭代查询
- 权限域名服务器返回所查询域名的 IP 地址
- 本地域名服务器将结果返回给主机
例题:
Q: 当用户在浏览器中输入 “www.baidu.com” 时,首先会向哪个服务器发送 DNS 查询请求?
A. 根域名服务器
B. 顶级域名服务器
C. 本地域名服务器
D. 权限域名服务器
答案:C. 本地域名服务器
6.5 文件传送协议 (FTP)
6.5.1 FTP 的基本概念
FTP 的作用:
- 文件传送协议 (File Transfer Protocol)
- 用于在不同主机之间传送文件
- 是因特网上使用较早的协议之一
FTP 的特点:
- 使用客户 / 服务器方式
- 基于 TCP 协议
- 支持文件的上传和下载
- 支持多种文件类型
6.5.2 FTP 的工作原理
FTP 的两个连接:
- 控制连接:
- FTP 服务器监听熟知端口号 21
- FTP 客户随机选择一个临时端口号
- 用于传送 FTP 的相关控制命令
- 整个会话期间一直保持连接
- 数据连接:
- 当有数据要传送时建立
- FTP 服务器使用熟知端口号 20
- FTP 客户使用另一个临时端口号
- 数据传输完成后关闭
FTP 的工作步骤:
- FTP 客户与服务器建立控制连接 (端口 21)
- 通过控制连接传送命令
- 需要传输数据时,建立数据连接 (端口 20)
- 通过数据连接传输文件数据
- 数据传输完成后,关闭数据连接
- 会话结束后,关闭控制连接
例题:
Q: FTP 使用的两个端口号分别是什么?
A. 20 和 21
B. 80 和 443
C. 25 和 110
D. 53 和 67
答案:A. 20 和 21
6.6 电子邮件
6.6.1 电子邮件系统的组成
电子邮件系统的三个主要组成部分:
- 用户代理 (UA):邮件客户端软件
- 邮件服务器:存储和转发邮件
- 邮件协议:SMTP、POP3、IMAP 等
电子邮件的地址格式:
- 格式:用户名 @域名
- 例如:user@example.com
6.6.2 简单邮件传送协议 (SMTP)
SMTP 的基本概念:
- 全称:Simple Mail Transfer Protocol
- 标准:RFC 821, RFC 5321
- 工作方式:客户 / 服务器方式
- 传输层协议:TCP
- 端口号:25
SMTP 的工作过程:
- 发送方的用户代理作为 SMTP 客户
- 与发送方邮件服务器的 SMTP 服务器建立 TCP 连接
- 使用 SMTP 协议发送邮件
- 发送方邮件服务器作为 SMTP 客户
- 与接收方邮件服务器的 SMTP 服务器建立 TCP 连接
- 使用 SMTP 协议转发邮件
6.6.3 邮件读取协议 (POP3)
POP3 的基本概念:
- 全称:Post Office Protocol - Version 3
- 作用:从邮件服务器读取邮件
- 工作方式:客户 / 服务器方式
- 传输层协议:TCP
- 端口号:110
POP3 的工作过程:
- 接收方的用户代理作为 POP3 客户
- 与接收方邮件服务器的 POP3 服务器建立 TCP 连接
- 进行身份验证
- 读取邮件
- 可以选择删除服务器上的邮件
- 关闭连接
IMAP 与 POP3 的区别:
- POP3:邮件下载到本地后,通常会从服务器删除
- IMAP:邮件可以保留在服务器上,支持文件夹管理
例题:
Q: 用于发送电子邮件的协议是什么?
A. POP3
B. SMTP
C. IMAP
D. HTTP
答案:B. SMTP
6.7 万维网 (WWW)
6.7.1 万维网的基本概念
万维网的定义:
- 全称:World Wide Web
- 是一个大规模的、联机式的信息储藏所
- 采用超文本方式对信息进行组织
URL 的格式:
- 一般格式:协议:// 主机:端口 / 路径
- 例如:http://www.example.com:80/index.html
网页的组成技术:
- HTML:超文本标记语言,描述网页结构和内容
- CSS:层叠样式表,描述网页样式
- JavaScript:脚本语言,实现网页交互功能
6.7.2 超文本传输协议 (HTTP)
HTTP 的基本概念:
- 全称:HyperText Transfer Protocol
- 作用:用于万维网上的客户与服务器之间的通信
- 工作方式:客户 / 服务器方式
- 传输层协议:TCP
- 端口号:80(HTTP),443(HTTPS)
HTTP 的特点:
- 无连接:每次连接只处理一个请求
- 无状态:服务器不保留客户的状态信息
- 媒体独立:可以传输任意类型的数据
6.7.3 HTTP 请求报文
HTTP 请求报文的格式:
- 请求行:包含方法、URL、版本
- 首部行:包含各种首部字段
- 空行:分隔首部和实体主体
- 实体主体:请求的数据
常见的 HTTP 方法:
- GET:请求获取资源
- POST:提交数据给服务器
- PUT:上传资源
- DELETE:删除资源
- HEAD:只请求首部
6.7.4 HTTP 响应报文
HTTP 响应报文的格式:
- 状态行:包含版本、状态码、原因短语
- 首部行:包含各种首部字段
- 空行:分隔首部和实体主体
- 实体主体:响应的数据
HTTP 状态码分类:
- 1xx:信息性状态码
- 2xx:成功状态码 (如 200 OK)
- 3xx:重定向状态码 (如 301 Moved Permanently)
- 4xx:客户端错误状态码 (如 404 Not Found)
- 5xx:服务器错误状态码 (如 500 Internal Server Error)
6.7.5 Cookie 技术
Cookie 的作用:
- 解决 HTTP 无状态的问题
- 记录用户的状态信息
- 实现用户识别和个性化服务
Cookie 的工作过程:
- Web 服务器产生唯一的 Cookie 识别码
- 在 HTTP 响应报文中添加 Set-Cookie 首部
- 浏览器将 Cookie 存储在本地
- 下次访问时,浏览器在请求报文中添加 Cookie 首部
- Web 服务器根据 Cookie 识别用户
例题:
Q: HTTP 的默认端口号是多少?
A. 21
B. 25
C. 80
D. 110
答案:C. 80
总结
本章介绍了 TCP/IP 体系结构应用层中的几个重要协议:
- DHCP:动态主机配置协议,用于自动分配 IP 地址
- DNS:域名系统,用于域名到 IP 地址的转换
- FTP:文件传送协议,用于文件的上传和下载
- SMTP/POP3:电子邮件协议,用于邮件的发送和接收
- HTTP:超文本传输协议,用于万维网的通信
DHCP特讲
一、DHCP 的核心作用与问题解决(对应视频 00:15-00:48)
1.1 网络主机正常联网的前提配置
要使网络中的主机能访问 Web 服务器,必须手动配置以下 4 类核心网络参数(缺一不可):
- IP 地址:主机在网络中的唯一标识(如
192.168.1.10) - 子网掩码:划分网络段与主机段的依据(如
255.255.255.0) - 默认网关:跨网段通信时的 “出口”(如
192.168.1.1,通常是路由器 IP) - DNS 服务器:将域名转换为 IP 的服务器(如
8.8.8.8,谷歌公共 DNS)
1.2 手工配置的缺陷与 DHCP 的优势
| 配置方式 | 工作量 | 出错率 | 灵活性 | 适用场景 |
|---|---|---|---|---|
| 手工配置 | 大(每台主机单独设置) | 高(易输错 IP、网关等) | 差(主机变动需重新配置) | 主机数量≤10 台的小型网络 |
| DHCP 自动配置 | 无(仅需配置 1 台 DHCP 服务器) | 低(服务器统一管理参数) | 高(主机开机自动获取) | 企业、校园等中大型网络(主机数≥20 台) |
1.3 例题 1:判断场景是否需要 DHCP
某校园实验室有 50 台台式机,每天有不同班级学生使用,需保证所有电脑开机后能正常访问校园网服务器。请问该场景适合手工配置还是 DHCP 配置?为什么?
答案:适合 DHCP 配置。理由:①50 台主机手工配置工作量极大,且易因 IP 冲突(如重复分配192.168.2.5)导致部分电脑无法联网;②学生使用时无需手动设置参数,开机即可用,提升效率。
二、DHCP 的协议基础与封装逻辑(对应视频 00:53-02:35)
2.1 客户 - 服务器工作模式
- DHCP 服务器:运行
DHCP服务器进程,预先存储可分配的网络参数(IP 地址池、子网掩码等),监听 UDP 端口 67。 - DHCP 客户:运行
DHCP客户进程,主机开机后自动启动,主动向服务器请求参数,使用 UDP 端口 68。
2.2 协议分层与报文封装
DHCP 属于 TCP/IP 体系的应用层协议,报文需经过 3 层封装才能在网络中传输,流程如下:
应用层DHCP报文 → 封装为运输层UDP用户数据报(源端口 68,目的端口 67) → 封装为网络层IP数据报 → 封装为数据链路层帧(如以太网帧,添加源 / 目的 MAC 地址)。
2.3 例题 2:DHCP 报文的端口与封装
判断下列说法是否正确:
(1)DHCP 服务器使用 UDP 端口 68 接收客户请求;
(2)DHCP 报文在运输层会被封装为 TCP 段,因为需要可靠传输。
答案:(1)错误,DHCP 服务器监听 UDP 端口 67,客户使用端口 68;(2)错误,DHCP 使用 UDP 而非 TCP,虽 UDP 不可靠,但 DHCP 通过 “请求 - 确认” 机制保证参数传输有效性。
三、DHCP 客户与服务器的核心交互过程(对应视频 02:42-10:45)
3.1 阶段 1:DHCP 发现(Discover)—— 客户找服务器
3.1.1 触发条件
主机刚开机,未分配任何 IP 地址,需主动寻找网络中的 DHCP 服务器。
3.1.2 报文特点
- IP 数据报源 IP:
0.0.0.0(无 IP 时的临时标识); - IP 数据报目的 IP:
255.255.255.255(广播地址,因客户不知道服务器 IP); - 报文内容:包含
事务ID(后续匹配响应)和DHCP客户MAC地址(服务器识别客户的唯一标识)。
3.1.3 网络设备处理逻辑
- 交换机:广播转发该帧(因目的 MAC 是广播 MAC
FF:FF:FF:FF:FF:FF); - 非 DHCP 服务器:解封后发现应用层无监听端口 67 的进程,丢弃报文;
- DHCP 服务器:监听端口 67,接收并处理该报文。
3.2 阶段 2:DHCP 提供(Offer)—— 服务器给选项
3.2.1 服务器处理逻辑
服务器收到发现报文后,根据客户 MAC 地址查询本地数据库:
- 若有该 MAC 的专属配置(如某台服务器需固定 IP),则用专属参数;
- 若无,则从 IP 地址池中随机选择一个未分配的 IP,搭配默认子网掩码、网关、DNS、地址租期(通常为 24 小时)生成配置。
3.2.2 关键验证:ARP 检测 IP 可用性
服务器在发送提供报文前,会发送ARP请求(如 " 谁在用192.168.1.20?"),确认所选 IP 未被其他主机占用,避免 IP 冲突。
3.2.3 报文特点
- IP 数据报源 IP:DHCP 服务器自身 IP(如
192.168.1.254); - IP 数据报目的 IP:仍为
255.255.255.255(客户无 IP,只能广播接收)。
3.3 阶段 3:DHCP 请求(Request)—— 客户选选项
3.3.1 客户选择逻辑
若网络中有多台 DHCP 服务器(如主备服务器),客户会收到多个提供报文,默认选择最先到达的报文,并向该服务器发送请求报文(确认选择)。
3.3.2 报文特点
- IP 数据报源 IP:仍为
0.0.0.0(未获得服务器最终确认,暂不使用分配的 IP); - IP 数据报目的 IP:
255.255.255.255(广播通知所有服务器:“我已选好服务器,其他服务器可收回提供的 IP”); - 报文内容:包含事务 ID(匹配对应提供报文)、接受的租约 IP(如
192.168.1.20)、提供该 IP 的服务器 IP(如192.168.1.254)。
3.4 阶段 4:DHCP 确认(Acknowledge)—— 服务器终确认
3.4.1 服务器响应
若服务器同意客户的选择,发送确认报文,包含最终的网络配置参数;若 IP 已被占用(如确认阶段突发冲突),则发送否认报文(Nak)。
3.4.2 客户最终验证:ARP 二次检测
客户收到确认报文后,再次发送 ARP 请求,确认租约 IP 未被占用:
- 若未占用:立即应用配置,正常联网;
- 若已占用:发送 DHCP 谢绝报文(Decline),拒绝该 IP,并重新发送发现报文,重新申请。
3.5 例题 3:交互过程故障分析
某主机开机后无法获取 IP,抓包发现仅能收到 DHCP 发现报文和提供报文,无请求和确认报文。可能的原因是什么?
答案:可能是客户进程异常,无法识别提供报文的事务 ID(如事务 ID 不匹配),导致未发送请求报文;或网络中存在防火墙,拦截了客户发送的请求报文(目的端口 67 被屏蔽)。
四、DHCP 地址租约管理(对应视频 10:48-12:19)
4.1 租约时长与续约机制
租约默认时长通常为 24 小时,客户需在租约到期前申请续约,避免 IP 被收回,具体流程如下:
| 租约阶段 | 时间节点(以 24 小时租约为例) | 客户操作 | 服务器响应 | 客户后续处理 |
|---|---|---|---|---|
| 首次续约 | 租约过半(12 小时) | 发送请求报文(单播,源 IP = 租约 IP,目的 IP = 服务器 IP) | 同意:发确认报文(延长租约至 24 小时);不同意:发否认报文 | 同意:继续使用 IP;不同意:立即停止使用,重新申请 |
| 二次续约 | 租约过 87.5%(21 小时) | 再次发送请求报文(单播) | 无响应 | 继续等待,直至租约到期 |
| 租约到期 | 24 小时 | 无操作 | 无 | 立即停止使用 IP,重新发送发现报文 |
4.2 租约提前终止
客户可主动终止租约(如主机关机前),只需向服务器发送 DHCP 释放报文(Release),服务器收到后立即收回该 IP,加入地址池,供其他主机使用。
4.3 例题 4:租约续约计算
某 DHCP 服务器分配的租约时长为 8 小时,主机在 8:00 获取 IP。请问:
(1)首次续约的时间是几点?
(2)若服务器在 12:00 未响应首次续约,二次续约的时间是几点?
答案:(1)首次续约时间 = 8:00 + 8 小时 ×50% = 12:00;(2)二次续约时间 = 8:00 + 8 小时 ×87.5% = 15:00。
五、DHCP 中继代理(对应视频 12:22-14:32)
5.1 跨网段 DHCP 的核心问题
路由器默认不转发广播报文(如 DHCP 发现报文的目的 IP 是255.255.255.255),导致不同网段的主机无法找到 DHCP 服务器(如服务器在网段 A,主机在网段 B)。
5.2 中继代理的作用与原理
5.2.1 配置方式
在连接不同网段的路由器上,配置 DHCP 服务器的 IP 地址,使路由器成为DHCP 中继代理。
5.2.2 数据转发流程
- 网段 B 的主机发送广播的发现报文;
- 路由器(中继代理)收到广播报文后,将其转换为单播报文(目的 IP=DHCP 服务器 IP),转发给服务器;
- 服务器发送的提供、确认等报文,通过路由器单播转发给主机;
- 后续交互均为单播,无需广播,解决跨网段问题。
5.3 中继代理的优势
避免在每个网段都部署 DHCP 服务器,减少设备成本和管理复杂度(如 10 个网段仅需 1 台服务器 + 9 台中继代理路由器)。
5.4 例题 5:中继代理场景设计
某公司有 2 个网段:网段 1(192.168.1.0/24,有 10 台主机)和网段 2(192.168.2.0/24,有 20 台主机),仅在网段 1 部署 1 台 DHCP 服务器(192.168.1.254)。如何让网段 2 的主机自动获取 IP?
答案:在连接两个网段的路由器上配置 DHCP 中继代理,指定服务器 IP 为192.168.1.254。网段 2 的主机发送广播发现报文后,路由器将其单播转发给服务器,服务器通过路由器向主机发送提供、确认报文,实现自动获取 IP。
六、核心知识点总结
- DHCP 的核心价值:解决大量主机手动配置 IP 的效率低、易出错问题;
- 交互四阶段:发现(Discover)→ 提供(Offer)→ 请求(Request)→ 确认(Acknowledge);
- 关键验证:服务器和客户均需通过 ARP 检测 IP 可用性,避免冲突;
- 租约管理:过半续约、87.5% 二次续约,到期收回 IP;
- 跨网段方案:通过 DHCP 中继代理,将广播报文转为单播,实现跨网段 IP 分配。
FTP特讲
6.5 文件传送协议FTP 笔记
一、FTP的定义与核心价值
1.1 基本定义
文件传送协议(FTP,File Transfer Protocol)是因特网上使用最广泛的文件传送标准协议,核心功能是实现“将某台计算机中的文件通过网络传送到远距离另一台计算机”,是网络文件传输的基础应用。
1.2 核心特点
| 特点分类 | 具体说明 |
|---|---|
| 交互式访问 | 允许客户明确指定文件的类型与格式(如是否使用ASCII编码),灵活适配不同文件传输需求 |
| 权限控制 | 支持文件存取权限管理,例如访问文件需经过授权(如输入有效用户名和口令),保障文件安全性 |
| 跨系统兼容 | 屏蔽了不同计算机系统的底层细节(如操作系统、硬件架构差异),可在异构网络(如Windows与Linux计算机互联的网络)中实现任意计算机间的文件传送 |
| 历史通信量地位 | 因特网早期(1995年前),FTP文件传送的通信量约占整个因特网通信量的1/3,远超电子邮件、域名系统(DNS)的通信量;1995年万维网(WWW)通信量才首次超过FTP |
二、FTP的应用场景与实现方式(客户-服务器模式)
2.1 核心架构:客户-服务器(C/S)模式
FTP基于C/S架构工作,核心交互流程为:
- FTP客户机:发起文件传输请求(上传/下载)的终端设备(如个人电脑)
- FTP服务器:接收并响应客户请求,存储待传输文件的设备
2.2 FTP服务器的部署要求
- 高性能场景:若需支持大量用户同时访问、传输大文件(如企业文件服务器),需使用高性能、高可靠性的服务器计算机
- 简易场景:若仅用于局域网内小范围文件共享(如个人与同事间传输文件),普通个人计算机即可作为FTP服务器
2.3 FTP服务器的创建方式
- 操作系统自带工具:如Windows系统可启用自带的FTP服务器功能,通过系统设置创建FTP站点(具体操作可参考操作系统官方文档或网络教程)
- 第三方软件:如FileZilla Server、Serv-U等,功能更丰富(如支持多用户权限管理、日志记录)
2.4 FTP客户机的访问方式
| 访问方式 | 操作说明 | 优缺点 |
|---|---|---|
| 浏览器访问 | 在浏览器地址栏输入ftp://服务器IP地址(需指定FTP协议,而非HTTP协议),按提示完成登录 |
优点:无需安装额外软件,操作简单;缺点:功能有限(如不支持批量传输进度查看) |
| 命令行工具(Windows自带) | 1. 打开“命令提示符”,输入ftp 服务器IP地址建立连接;2. 若服务器支持匿名登录(无需密码),用户名输入“anonymous”,直接回车即可登录;3. 登录后可执行命令:ls(查看服务器当前目录文件)、get 文件名(下载文件)、put 文件名(上传文件) |
优点:无需安装软件,适合技术人员快速操作;缺点:需记忆命令,对普通用户不友好,无图形界面 |
| 第三方客户软件 | 使用FileZilla Client、FlashFXP等工具,通过图形界面完成登录(输入服务器IP、用户名、密码)、文件拖拽上传/下载 | 优点:界面友好,支持批量传输、断点续传,适合普通用户;缺点:需安装额外软件 |
2.5 FTP的典型应用场景
- 批量文件传输:如企业将员工手册、培训视频等批量传送到各部门计算机
- 网站内容部署:网站设计者将网页文件(HTML、CSS、图片等)批量上传到Web服务器,实现网站上线
三、FTP的基本工作原理(双TCP连接机制)
FTP的核心特点是建立两个并行的TCP连接:控制连接与数据连接,二者分工明确,保障传输效率与可靠性。
3.1 核心概念:控制连接与数据连接的区别
| 连接类型 | 作用 | 生命周期 | 端口号(默认) |
|---|---|---|---|
| 控制连接 | 传输FTP控制命令(如登录请求、上传/下载指令、目录查看命令) | 整个FTP会话期间(从登录到退出)持续打开,不中断 | 服务器端:21号端口(熟知端口,固定);客户端:随机临时端口 |
| 数据连接 | 仅传输文件数据(如文档、图片内容)或目录列表数据(如ls命令返回的文件列表) |
按需建立、用完关闭:每次传输文件/目录列表时建立,传输结束后立即关闭 | 随传输模式不同而变化(见3.2、3.3小节) |
3.2 传输模式一:主动模式(PORT模式)
3.2.1 工作流程(以“客户机下载文件”为例)
- 建立控制连接:
FTP服务器监听21号端口 → 客户机随机选择一个临时端口(如5000),向服务器21号端口发起TCP连接 → 控制连接建立,用于传输控制命令。 - 发起数据传输请求:
客户机通过控制连接向服务器发送“下载文件”命令,并告知服务器自己的“数据连接临时端口”(如5001)。 - 服务器主动建立数据连接:
服务器使用20号端口(固定数据端口),主动向客户机的5001端口发起TCP连接 → 数据连接建立。 - 传输数据与关闭连接:
通过数据连接传输文件数据 → 传输完成后,关闭数据连接(控制连接仍保持打开,可继续发起新的传输请求)。
3.2.2 关键特征
- 数据连接由FTP服务器主动发起(服务器主动连接客户机的临时端口),因此称为“主动模式”。
3.3 传输模式二:被动模式(PASV模式)
3.3.1 工作流程(以“客户机上传文件”为例)
- 建立控制连接:与主动模式完全相同(服务器21号端口 ↔ 客户机临时端口)。
- 发起数据传输请求并协商端口:
客户机通过控制连接向服务器发送“上传文件”命令,并请求服务器进入“被动模式” → 服务器生成一个临时数据端口(如6000),通过控制连接告知客户机。 - 客户机主动建立数据连接:
客户机随机选择一个临时端口(如5002),向服务器的6000端口发起TCP连接 → 数据连接建立。 - 传输数据与关闭连接:
通过数据连接上传文件数据 → 传输完成后,关闭数据连接。
3.3.2 关键特征
- 数据连接由FTP客户机主动发起(服务器被动等待客户机连接),因此称为“被动模式”;
- 被动模式下服务器不使用20号端口,而是使用协商的临时端口,可规避部分防火墙对20号端口的限制(更适合客户端在防火墙后访问服务器的场景)。
四、考研真题解析(巩固核心知识点)
真题1(2009年计算机专业考研统考40题)
题目:FTP客户和服务器间需要建立两个并行的TCP连接,它们是( )
A. 控制连接和数据连接
B. 控制连接和命令连接
C. 数据连接和命令连接
D. 控制连接和会话连接
答案:A
解析:FTP的核心机制是“双TCP连接”,分别为“控制连接”(传输命令)和“数据连接”(传输文件数据),二者并行工作,生命周期不同(控制连接持续整个会话,数据连接按需建立/关闭),因此选A。
真题2(2017年计算机专业考研统考40题)
题目:关于FTP的描述,正确的是( )
A. FTP使用UDP协议进行数据传输
B. 控制连接在数据传输结束后关闭
C. 主动模式下数据连接由服务器端主动建立,使用20号端口
D. 被动模式下数据连接由服务器端主动建立,端口由协商确定
答案:C
解析:
- 选项A错误:FTP基于TCP协议(而非UDP),因TCP提供可靠传输,可保障文件传输的完整性(避免数据丢失);
- 选项B错误:控制连接在整个FTP会话期间(从登录到退出)保持打开,数据传输结束后仅关闭“数据连接”;
- 选项C正确:主动模式下,服务器使用20号端口主动向客户机的临时端口建立数据连接;
- 选项D错误:被动模式下,数据连接由“客户机主动发起”,服务器被动等待连接,端口由双方协商确定。
五、本节核心知识点总结
- FTP的核心价值:跨异构网络、带权限控制的文件传送,是因特网早期重要的应用协议;
- 架构:基于客户-服务器(C/S)模式,服务器可灵活部署,客户机有3种访问方式;
- 关键原理:双TCP连接(控制连接:21号端口,持续会话;数据连接:按需建立,主动/被动模式差异);
- 考研高频考点:双连接的区分、主动/被动模式的端口差异(20号端口仅用于主动模式数据连接)。




