DHCP 让「插上网线就能用」变成了默认体验:地址、掩码、网关、DNS 全自动。 它靠「租期」回收地址,所以「隔几天回来 IP 变了」是设计而不是故障。
5.3.4 的 RARP 是它的前身,这一节讲它为什么能赢。 4.3.8 的私有地址是它的常见搭档,NAT 后面通常就是 DHCP。
一、它一次给四样东西
「拿到 IP」只是最低要求,能上网还需要另外三样:
| 给什么 | 没有会怎样 | 典型值 |
|---|---|---|
| IP 地址 | 没法通信 | 192.168.3.152 |
| 子网掩码 | 分不清谁在同网段 | 255.255.255.0 |
| 默认网关 | 出不了本网段 | 192.168.3.1 |
| DNS 服务器 | 域名解析不了 | 192.168.3.1 |
四样缺一样,症状都不一样: 缺掩码会「时通时不通」(同网段判断错);缺网关会「只能访问内网」; 缺 DNS 会「能 ping IP 打不开网页」。 这也是 RARP 输掉的原因: 它只给第一样,剩下三样还得手工配—— 「半自动」在运维上比「全手工」更烦,因为你不知道哪些是自动的。
二、租期是怎么回事
DHCP 分配的地址是「租」的,不是「给」的:租期到了要续,续不上就还回去。
| 租期 | 适合什么 | 代价 |
|---|---|---|
| 1 小时 | 咖啡厅、公共 Wi-Fi | 续租频繁 |
| 24 小时 | 家庭、办公室 | 基本感觉不到 |
| 7 天 | 设备固定的网络 | 地址回收慢 |
第一行是「公共网络」的常规选择:人来人往,地址必须快速周转。 第二行是家用路由器的默认值,所以「每天续一次」你完全感觉不到。 为什么一定要有租期: 因为没有租期,手机连一次就永久占一个地址,人走了也不还—— 一个 /24 只有 254 个地址,很快就不够分了。 租期就是「自动回收」的机制。
三、为什么它比 RARP 合理
关键差别只有一条:跑在哪一层。
| 项 | RARP | DHCP |
|---|---|---|
| 跑在哪 | 链路层 | UDP(67/68 端口) |
| 能不能中继 | 不能 | 能,靠中继代理 |
| 服务器要几台 | 每网段一台 | 一台管全网 |
第二行是「架构上的胜负」: 跑在 UDP 上,路由器就能把广播「捡起来」转成单播发给远端服务器——这就是中继代理(5.5.3)。 所以「一台服务器管几十个网段」成为可能,地址池、保留、选项全在一个地方配。 这是「集中管理」对「分散部署」的胜利。
四、动手 Demo:本机是不是 DHCP 拿的地址
读 ipconfig /all,按接口分组看哪些网卡是 DHCP 拿的地址。
注意一台机器往往有五个「接口」,只有插着线的那个才有租约。
import subprocess
out = subprocess.run('ipconfig /all', shell=True,
capture_output=True).stdout.decode('gbk')
for ln in out.split('\n'):
s = ln.strip()
if s.startswith('DHCP') or s.startswith('租约'):
print(s)
实跑输出:
--------------------------------------------------------------------
本机是不是 DHCP 拿的地址
--------------------------------------------------------------------
**判断方法很简单**:**看配置里有没有「DHCP 已启用:是」。**
**这一行决定了「地址是自动来的还是手工配的」。**
**按接口分开看,一共 5 个接口拿到了 DHCP 配置**:
接口 DHCP 服务器 租约到期
----------------------------------------------------------------------------------
以太网适配器 以太网 是 — —
无线局域网适配器 本地连接* 1 是 — —
无线局域网适配器 本地连接* 2 是 — —
无线局域网适配器 WLAN 是 192.168.3.1 2026年10月25日 16:19:20
以太网适配器 蓝牙网络连接 是 — —
**第一列的解释很重要**:
**一台机器往往有好几个「接口」**——
**物理网卡、虚拟网卡、蓝牙、VPN 适配器,每一个都会单独要一次地址。**
**所以「本机有几个 IP」这个问题,答案常常不止一个。**
**「DHCP 已启用:是」说明地址是自动拿的**;**如果是「否」,说明是手工配的静态地址。**
**「租约到期」那一列则是「什么时候必须续租」**——**到期前会先续,续不上才真的失效。**
**为什么要有「租期」这个概念**:
**因为「永久分配」会让地址池很快耗尽**——**手机连一次 Wi-Fi 就占一个地址,走了也不还。**
**租期到了不续,地址就回收。**
**这带来一个常见现象**:**「隔几天回来,IP 变了」**——**因为租期过了,路由器把旧地址给了别人。**
**如果要固定,有两个办法**:**在路由器上做「按 MAC 绑定」,或者在设备上配静态地址。**
「一台机器五个接口」这件事值得说清: 物理网卡、虚拟网卡(VMware、WSL)、蓝牙、VPN 都会各要一个地址, 所以「本机 IP 是多少」这个问题,答案取决于你问的是哪个接口。 写文档时要说「WLAN 的地址是……」,不能只说「本机地址」。 「DHCP 已启用:是」但「服务器」和「租约」是空的, 说明这个接口没连上——配置是「准备用 DHCP」,但还没成功拿到。 真正拿到的是那条有服务器地址的。 「租约到期」这一列是判断「地址还会不会变」的依据: 到期前系统会自动续租,续上了就还是老地址;只有「续不上」才会换。 所以「IP 变了」通常意味着「你离开过很久」。
30 秒实验
- 想一下:DHCP 一次给哪四样东西?缺哪样会「只能上内网」?
- 想一下:为什么公共 Wi-Fi 的租期很短?
- 算一下:/24 网段里 254 个地址,租期 1 小时,一天最多服务多少台设备?
常见误区
- 以为「DHCP 只发 IP」。 发四样,掩码、网关、DNS 都靠它。
- 以为「DHCP 给的地址是永久的」。 是租的,租期到了要续。
- 以为「DHCP 需要每段一台服务器」。 一台就够,靠中继代理覆盖多网段。
自测三问(点开对答案)
1. DHCP 一次下发哪四样配置? —— **IP 地址、子网掩码、默认网关、DNS 服务器。** 2. 为什么地址要有租期? —— **为了自动回收**,否则设备走了地址也不还,池子很快耗尽。 3. DHCP 比 RARP 强在哪? —— **它跑在 UDP 上,可以被中继**,一台服务器能管多个网段。下一节把 DHCP 的四步和两个时间点算清楚。
- ☐ (本节完,下一节 5.5.2 DHCP的工作机制)