精简版 · 小杯2026-08 冻结,已停止更新(发布前修订了 4 处已知错误)。后续勘误与新增内容只在正式版。看正式版(中杯)→
Skip to content

FTP 与 DHCP ​

考情分析 ​

FTP 和 DHCP 在 408 中考频不高,通常以选择题形式出现。FTP 常考双连接机制(控制连接 vs 数据连接)和端口号;DHCP 常考四步过程和"为什么用 UDP"。

考频:★★☆

FTP 文件传输协议 ​

FTP(File Transfer Protocol,文件传输协议)用于在客户端和服务器之间传输文件。FTP 最大的特点是使用两个并行的 TCP 连接。

控制连接与数据连接 ​

连接类型端口持续时间用途
控制连接21整个 FTP 会话期间保持传输 FTP 命令和响应
数据连接20(主动模式)每次文件传输时建立,传完就关闭传输文件数据

控制连接是持久的,用于发送命令(如 LIST、RETR、STOR)和接收响应。数据连接是临时的,每次传输文件或目录列表时建立一个新的数据连接,传完就关闭。

这种分离设计被称为带外控制(Out-of-Band Control)——控制信息和数据走不同的连接。与之对比,HTTP 是带内控制,请求和响应都走同一个 TCP 连接。

主动模式与被动模式 ​

主动模式(PORT):

  1. 客户端通过控制连接告诉服务器自己的数据端口号
  2. 服务器从端口 20 主动连接到客户端指定的端口
  3. 数据连接建立,开始传输

主动模式的问题:如果客户端在防火墙/NAT 后面,服务器无法主动连接到客户端。

被动模式(PASV):

  1. 客户端通过控制连接发送 PASV 命令
  2. 服务器打开一个随机端口,并告知客户端
  3. 客户端主动连接到服务器指定的端口
  4. 数据连接建立,开始传输

被动模式解决了防火墙穿越问题,实际中更常用。

传输模式 ​

FTP 支持两种传输模式:

模式说明适用场景
ASCII 模式传输文本文件,自动进行换行符转换文本文件
二进制模式(Binary/Image)逐字节传输,不做任何转换图片、视频、压缩包等

FTP 的特点总结 ​

  • 使用 TCP 传输(可靠)
  • 两个并行连接:控制连接(端口 21)+ 数据连接(端口 20 或随机端口)
  • 有状态协议——服务器需要维护用户的当前目录、认证状态等
  • 明文传输,安全性差(SFTP/FTPS 是安全替代方案)

DHCP 动态主机配置协议 ​

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)用于自动为网络中的主机分配 IP 地址及其他网络配置参数。

为什么需要 DHCP ​

手动为每台主机配置 IP 地址既麻烦又容易出错。在大型网络中,主机数量多、位置经常变化(如笔记本电脑在不同楼层连 WiFi),手动配置根本不可行。DHCP 让主机接入网络后自动获取 IP 地址和其他配置。

DHCP 使用 UDP ​

DHCP 使用 UDP 端口 67(服务器)和 68(客户端)。

为什么不用 TCP?因为客户端在获得 IP 地址之前连自己的 IP 都没有,无法建立 TCP 连接。而且 DHCP 需要广播,TCP 不支持广播。

DHCP 的四步过程 ​

DHCP 地址分配过程包含四个报文:Discover → Offer → Request → ACK(简记:DORA)。

第一步:DHCP Discover(发现)

客户端广播发送 Discover 报文:

  • 源 IP:0.0.0.0(客户端还没有 IP)
  • 目的 IP:255.255.255.255(广播地址)
  • 目的是:找到网络中有哪些 DHCP 服务器

第二步:DHCP Offer(提供)

DHCP 服务器收到 Discover 后,从地址池中选一个可用的 IP 地址,发送 Offer 报文给客户端,内容包括:

  • 分配给客户端的 IP 地址
  • 子网掩码
  • 默认网关
  • DNS 服务器地址
  • 租约期限

如果网络中有多个 DHCP 服务器,客户端可能收到多个 Offer。

408 题里要分清两层:客户端还没有真正绑定 IP 时,Offer/ACK 的 IP 目的地址常写 255.255.255.255;但数据链路层可以用 Discover 里的客户端 MAC 做 MAC 单播。若客户端设置了广播标志,服务器也可能退化为 MAC 广播;若题目明确说明客户端已能接收单播,也可能按单播口径处理。看到"广播/单播",先看它问的是 IP 地址还是 MAC 地址。

第三步:DHCP Request(请求)

客户端从收到的 Offer 中选择一个(通常是第一个到达的),以广播方式发送 Request 报文,声明自己选择了哪个服务器的 Offer。

用广播而不是单播的原因:让其他 DHCP 服务器知道自己的 Offer 没有被选中,它们可以回收预留的 IP 地址。

第四步:DHCP ACK(确认)

被选中的 DHCP 服务器发送 ACK 报文确认。客户端收到 ACK 后,IP 地址正式生效,可以开始正常通信。

租约机制 ​

DHCP 分配的 IP 地址不是永久的,而是有一个租约期限(Lease Time)。

  • 租约到期前,客户端需要向 DHCP 服务器续租
  • 通常在租约期过半(T1 = 50%)时,客户端会尝试向原服务器续租
  • 如果续租失败,在租约期 87.5%(T2)时,客户端向任意 DHCP 服务器广播续租
  • 如果租约到期仍未续租成功,客户端必须释放 IP 地址,重新执行 DORA 过程

DHCP 中继代理 ​

DHCP 使用广播,但广播不能跨越路由器(路由器默认不转发广播)。如果 DHCP 服务器和客户端不在同一个子网,客户端的 Discover 广播到不了服务器。

解决方案:在每个子网中配置一个 DHCP 中继代理(Relay Agent)。中继代理收到客户端的广播后,以单播方式转发给位于其他子网的 DHCP 服务器。这样就不需要在每个子网都部署 DHCP 服务器了。

易错点 ​

1. FTP 控制连接端口是 21,不是 20

21 是控制连接,20 是主动模式的数据连接。被动模式的数据连接端口是服务器随机指定的,不一定是 20。

2. DHCP 的广播/单播要分层看

Discover 和 Request 是广播(客户端还没有确定的 IP 或需要通知其他服务器)。Offer 和 ACK 在 408 常见图里容易出现"IP 广播、MAC 单播"的组合;若题目只说"广播/单播",要看它问的是 IP 地址还是 MAC 地址。

3. DHCP Request 用广播而不是单播

即使客户端已经决定选谁了,仍然用广播发 Request。目的是通知那些未被选中的服务器释放预留的地址。

4. DHCP 中继代理不等于 DHCP 服务器

中继代理只是转发 DHCP 报文,自己不分配 IP 地址。

5. FTP 是有状态的,HTTP 是无状态的

FTP 服务器需要维护用户的当前目录等状态信息,而 HTTP 服务器不保留之前请求的任何信息。

本文对应考点 ​

  • FTP 使用两个 TCP 连接:控制连接(端口 21)和数据连接(端口 20 或随机端口)
  • FTP 主动模式 vs 被动模式的区别
  • FTP 是带外控制,HTTP 是带内控制
  • DHCP 的四步过程:Discover → Offer → Request → ACK(DORA)
  • DHCP 使用 UDP(端口 67/68),原因是客户端还没有 IP 地址且需要广播
  • DHCP 租约机制和续租时间点(T1=50%, T2=87.5%)
  • DHCP 中继代理的作用(跨子网转发)

真题练习 ​

FTP 真题 ​

相关真题(2题)

DHCP 真题 ​