在DHCP出现之前,网络管理员需要为网络中的每一台设备手动分配和配置IP地址。这种方式在小型家庭或办公网络中或许还能应付,但随着网络规模扩大,其弊端也日益凸显:
DHCP的引入,完美解决了上述痛点,其主要优势体现在:
3、DHCP工作流程
交互阶段 | 发起方 | 报文类型 | 核心目的 | 通信方式 |
|---|---|---|---|---|
1. 发现 | 客户端 | DHCP Discover | 客户端广播消息,寻找网络中的DHCP服务器。 | 广播 |
2. 提供 | 服务器 | DHCP Offer | 服务器响应,为一个未被分配的IP地址及其他配置参数(如子网掩码、网关、DNS服务器)做上标记,并将其提供给客户端。 | 单播 |
3. 请求 | 客户端 | DHCP Request | 客户端(通常)选择它收到的第一个Offer,并广播请求使用该IP地址。 | 广播 |
4. 确认 | 服务器 | DHCP ACK | 被选中的服务器发送确认报文,正式将该IP地址的“租约”授予客户端。客户端据此配置其网络接口。 | 单播 |

获取IP地址只是开始,理解其生命周期至关重要。
ipconfig /release命令时,会向DHCP服务器发送 DHCP Release报文,主动释放当前占用的IP地址。之后,该IP地址会被服务器回收并可重新分配给其他设备。ipconfig /renew命令时,会尝试重新获取IP地址。这个过程并非完全从头开始,客户端会在其请求中表明希望继续使用之前获得的地址。如果该地址仍可用,服务器通常会同意此请求。DHCP客户端在初始状态下通过广播来寻找服务器。而路由器的一个基本功能是不转发广播包,这意味着一个DHCP服务器通常只能为它所在的本地网段(广播域)内的客户端服务。
为了让不同网段的客户端都能从中心DHCP服务器获取地址,就需要用到 DHCP中继代理(DHCP Relay Agent)。中继代理(通常配置在连接多个网段的路由器或三层交换机上)会“监听”客户端的DHCP广播报文,然后将其封装成单播报文,并转发给指定的、位于其他网段的DHCP服务器。服务器回应后,中继代理再将其回应送回客户端所在的网段。通过这种方式,实现了IP地址的集中管理和分配。