动态主机配置协议 V6

动态主机配置协议 (DHCP) 提供了在集中式位置维护网络配置的方法。 本主题特定于 DHCPv6;所有对“IP 地址”的引用都是指 IPv6 地址,所有对“DHCP”的引用都是指 DHCPv6(除非另行声明)。

DHCPv4 服务器可以与 DHCPv6 服务器共存在同一链路上。 有关协议的深入说明,请参阅 RFC 3315。

DHCP 是一个应用层协议,它允许网络上的客户机从服务器获取 IP 地址和其他配置参数。 这些参数在选项中定义。 在客户机上的守护程序和服务器上的另一守护程序之间交换包可获取 选项。 这些消息交换是以 UDP 包的形式。 不管通过 autoconf6 命令或其他方法,客户机使用链路本地地址来找出其服务器的源地址。 服务器在保留的链路范围多点广播地址上进行侦听。 如果客户机和服务器不在同一链路上,那么中继代理将允许它们进行 通信。

本主题说明针对单个接口(带有一个 IA_NA 和针对此 IA_NA 的一个地址)交换握手,此握手包含四条消息。 要获取 IP 地址,DHCP 客户机守护程序(dhcpcd6)将 SOLICIT 消息发送到 All_DHCP_Relay_Agents_and_Servers 地址,此消息由服务器接收并处理。 (可以在网络上配置多个服务器用于冗余。) 如果有空闲地址可用于该客户机,那么创建 ADVERTISE 消息并发送回客户机。 此消息包含 IP 地址和适合于该客户机的其他选项。 在 等待其他公布时,客户机接收服务器 DHCP ADVERTISE 消息并存储它。 客户机选择了最佳公布后,它会将 DHCP REQUEST 发送到 All_DHCP_Relay_Agents_and_Servers 地址,指定它想要的服务器公布。

所有已配置的 DHCP 服务器都接收 REQUEST 消息。 每一个都检查其是否是被请求的服务器。 服务器不会处理任何带有与其自身不匹配的服务器 DUID 的包。 请求的服务器将地址标记为已分配,并返回 DHCP REPLY,此时事务已完成。 客户机具有服务器指定的时间段 (valid-lifetime) 的地址。

当地址的首选生存期到期时,客户机会向服务器发送 RENEW 包来延长租用时间。 如果服务器愿意更新地址,那么它会发送 DHCP REPLY。 如果客户机没有从拥有其当前地址的服务器得到响应,例如,服务器已经从一个网络移动到另一个,它会多点传送一个 DHCP REBIND 包。 如果 客户机未在有效生存期后更新其地址,会从接口删除该地址且进程再次开始。 此循环防止使一个网络上的多台客户机指定相同的地址。

客户机可以具有多个 IA_NA 选项,并且每个 IA_NA 可以具有多个地址。 客户机还可以具有多个 IA_TA 选项,且 每个选项也可以具有多个地址:
  • 非临时地址的标识关联(IA_NA):带有已分配的非临时地址的 IA
  • 临时地址的标识关联(IA_TA):带有临时地址的 IA(请参阅 RFC 3041)。
  • DUIDDHCP 参与者的唯一 DHCP 标识;每个 DHCP 客户机和服务器都有唯一的 DUID,它保持同一横向重新引导。
DHCP 服务器基于密钥来分配地址。 四个公共密钥是 classvendorclient ID, 和 inoption。 服务器使用这些密钥来分配地址和要返回至客户机的配置选项的集合。
class
class 密钥完全可由客户机配置。 它能指定地址和选项。 此密钥能被用来表示网络中的机器功能或描述 机器为了管理目的是如何进行分组的。 例如,网络管理员可能想要创建一个包含用于 NetBIOS 客户机的选项的 NetBIOS 类 或一个代表需要访问特定打印机的财务部门机器的记帐类。
vendor
vendor 密钥可帮助通过其硬件和软件平台来识别客户机。
client ID
client ID 密钥通过 DUID 标识客户机。 客户机标识在 dhcpcd 守护程序的 duid 文件中指定。 此外,服务器能够使用客户机标识来把选项传递给一台指定的客户机或阻止一台特殊的客户机接收任何参数。
Inoption
inoption 键通过客户机请求的选项来标识客户机。

这些密钥可以个别或结合起来使用。 如果客户机提供了多个密钥且能够分配多个地址,仅有一个能选择,且选项集是从第一个选择的密钥中派生出来的。

中继代理是必需的,这样来自客户机的多点广播才能离开本地网络。 中继代理充当 DHCP 包的转发代理。