如图 1 所示,DHCPv4 在客户端/服务器模式下工作。 当客户端与 DHCPv4 服务器通信时,服务器会将 IPv4 地址分配或出租给该客户端。 然后客户端使用租用的 IP 地址连接到网络,直到租期届满。 客户端必须定期联系 DHCP 服务器以续展租期。 这种租用机制确保移动或关闭的客户端不保留它们不再需要的地址。 租期届满后,DHCP 服务器会将地址返回地址池,如有必要,可将其再次分配。

发起租用

当客户端启动时(或要连接网络),它开始进行四步过程以获取租约。 如图 2 所示,客户端使用包含自己 MAC 地址的广播 DHCPDISCOVER 消息开始该过程以查找可用 DHCPv4 服务器。

DHCP 发现 (DHCPDISCOVER)

DHCPDISCOVER 消息找到网络上的 DHCPv4 服务器。 由于客户端启动时没有有效的 IPv4 信息,因此,它将使用第 2 层和第 3 层广播地址与服务器通信。

DHCP 提供 (DHCPOFFER)

当 DHCPv4 服务器收到 DHCPDISCOVER 消息时,会保留一个可用 IPv4 地址以租赁给客户端。 服务器还会创建一个 ARP 条目,该条目包含请求客户端的 MAC 地址和客户端的租用 IPv4 地址。 如图 3 所示,DHCPv4 服务器将绑定 DHCPOFFER 消息发送到请求客户端。 以服务器的第 2 层 MAC 地址为源地址,以客户端的第 2 层 MAC 地址为目的地址将 DHCPOFFER 消息作为单播发送。

DHCP 请求 (DHCPREQUEST)

如图 4 所示,当客户端从服务器收到 DHCPOFFER 时,会发回一条 DHCPREQUEST 消息。 此消息用于发起租用和租约更新。 用于发起租用时,将 DHCPREQUEST 用作已提供参数所选定服务器的绑定接受通知,并隐式拒绝任何其他可能已为客户端提供了绑定服务的服务器。

许多企业网络使用多台 DHCPv4 服务器。 DHCPREQUEST 消息以广播的形式发送,将绑定提供接受情况告知此 DHCPv4 服务器和任何其它 DHCPv4 服务器。

DHCP 确认 (DHCPACK)

如图 5 所示,收到 DHCPREQUEST 消息后,服务器使用 ICMP ping 检验该地址的租用信息以确保该地址尚未使用,为客户端租用创建新的 ARP 条目,并以单播 DHCPACK 消息作为回复。. 除消息类型字段不同外,DHCPACK 消息与 DHCPOFFER 消息别无二致。 客户端收到 DHCPACK 消息后,记录下配置信息,并为所分配的地址执行 APR 查找。 如果没有对 ARP 的应答,客户端就会知道 IPv4 地址是有效的,并开始像使用自己的地址一样使用该地址。

租约更新

DHCP 请求 (DHCPREQUEST)

如图 6 所示,租期届满后,客户端将 DHCPREQUEST 消息直接发送到最初提供 IPv4 地址的 DHCPv4 服务器。 如果在指定的时间内没有收到 DHCPACK,客户端会广播另一个 DHCPREQUEST,这样,另外一个 DHCPv4 服务器便可续展租期。

DHCP 确认 (DHCPACK)

如图 7 所示,收到 DHCPREQUEST 消息后,服务器通过返回一个 DHCPACK 来检验租用信息。