系统管理指南:IP 服务

DHCP 客户机协议如何管理网络配置信息

DHCPv4 和 DHCPv6 客户机协议以不同的方式管理网络配置信息。主要差异在于,对于 DHCPv4,协商是针对单个地址和一些与之配套的选项的租用。对于 DHCPv6,协商是针对一批地址和一批选项。

有关 DHCPv4 客户机和服务器之间的交互的背景信息,请参见第 12 章

DHCPv4 客户机如何管理网络配置信息

从 DHCP 服务器获取信息包之后,dhcpagent 便会配置网络接口并初启它。此守护进程在 IP 地址的租用时间内对接口进行控制,并在内部表中维护配置数据。系统启动脚本使用 dhcpinfo 命令从内部表中提取配置选项值。这些值用于配置系统并使其在网络上进行通信。

dhcpagent 守护进程将被动地等待一段时间,通常为租用时间的一半。然后此守护进程从 DHCP 服务器请求延长租用期。如果系统将接口关闭或 IP 地址已更改的信息通知给 dhcpagent,则守护进程不会对接口进行控制,除非 ifconfig 命令指示这样做。如果 dhcpagent 发现接口启动并且 IP 地址没有更改,则它会向服务器发送续订租用的请求。如果无法续订租用,则 dhcpagent 将在租用到期时关闭接口。

dhcpagent 每次执行与租用相关的操作时,该守护进程都会查找名为 /etc/dhcp/eventhook 的可执行文件。如果找到具有此名称的可执行文件,则 dhcpagent 将调用此可执行文件。有关使用可执行事件的更多信息,请参见DHCP 客户机事件脚本

DHCPv6 客户机如何管理网络配置信息

客户机和服务器之间的 DHCPv6 通信以客户机发出要查找服务器的请求消息开始。作为响应,可用于 DHCP 服务的所有服务器都发送通告消息。服务器消息包含多个 IA_NA(Identity Association Non-Temporary Address,身份关联非临时地址)记录,以及服务器可以提供的其他选项(如 DNS 服务器地址)。

通过在其请求消息中设置自己的 IA_NA/IAADDR 记录,客户机可以请求特定地址(而且可以请求多个特定地址)。如果客户机记录了旧地址且它希望服务器提供相同的地址(如果可能),则它通常请求特定的地址。不管客户机如何工作(即使根本未请求地址),服务器都可以为单个 DHCPv6 事务向客户机提供任意数量的地址。

以下是在客户机和服务器之间发生的消息对话。

如果通告消息中的优先级值为 255,则 DHCPv6 客户机立即选择该服务器。如果优先级最高的服务器没有响应,或者无法成功回复请求消息,则客户机会继续查找优先级较低(按顺序)的服务器,直到不再出现通告消息。此时,客户机开始再次发送请求消息。

所选服务器发送包含指定地址和配置参数的回复消息,以响应请求消息。