跳到主要内容

1. 简介与概述 (Introduction and Overview)

  1. 简介与概述 (Introduction and Overview)

    本文档描述 IPv6 的 DHCP (DHCP for IPv6, DHCP), 这是一种客户端/服务器 (client/server) 协议, 用于为设备提供受管理的配置.

    DHCP 可以向设备提供由 DHCP 服务器分配的地址以及其他配置信息, 这些信息承载在选项 (options) 中. DHCP 可以通过定义新选项来扩展, 以承载本文档未规定的配置信息.

    DHCP 即 "IPv6 无状态地址自动配置 (IPv6 Stateless Address Autoconfiguration)" [17] 中提到的 "有状态地址自动配置协议 (stateful address autoconfiguration protocol)" 和 "有状态自动配置协议 (stateful autoconfiguration protocol)".

    DHCPv4 [18][19] 和 DHCPv6 的运行模型及相关配置信息差异足够大, 因此本文档不包含这两种服务之间的集成. 如果有足够的兴趣和需求, 可以在扩展 DHCPv6 以承载 IPv4 地址和配置信息的文档中规定这种集成.

    本简介的其余部分概述 DHCP, 说明消息交换机制和示例消息流. 第 1.2 节和第 1.3 节中的消息流旨在说明 DHCP 的运行方式, 而不是列出所有可能的客户端-服务器交互. 第 17 节, 第 18 节和第 19 节详细说明客户端和服务器的运行.

1.1. 协议与寻址 (Protocols and Addressing)

客户端和服务器使用 UDP [15] 交换 DHCP 消息. 客户端使用链路本地地址 (link-local address), 或通过其他机制确定的地址来发送和接收 DHCP 消息.

DHCP 服务器使用一个保留的链路作用域组播地址 (link-scoped multicast address) 接收来自客户端的消息. DHCP 客户端将大多数消息发送到这个保留的组播地址, 因此客户端无需配置 DHCP 服务器的一个或多个地址.

为了允许 DHCP 客户端向不连接在同一链路上的 DHCP 服务器发送消息, 客户端链路上的 DHCP 中继代理 (DHCP relay agent) 会在客户端和服务器之间中继消息. 中继代理的运行对客户端是透明的, 因此本节其余部分对消息交换的讨论将省略中继代理执行消息中继的描述.

一旦客户端确定了服务器的地址, 在某些情况下它可以使用单播 (unicast) 直接向服务器发送消息.

1.2. 涉及两条消息的客户端-服务器交换 (Client-server Exchanges Involving Two Messages)

当 DHCP 客户端不需要 DHCP 服务器为其分配 IP 地址时, 客户端可以通过与 DHCP 服务器交换一条消息及其回复来获取配置信息, 例如可用 DNS 服务器 [20] 或 NTP 服务器 [21] 的列表. 为获取配置信息, 客户端首先向 All_DHCP_Relay_Agents_and_Servers 组播地址发送 Information-Request 消息. 服务器以 Reply 消息响应, 其中包含该客户端的配置信息.

这种消息交换假定客户端只需要配置信息, 而不需要分配任何 IPv6 地址.

当服务器已经为某个客户端提交了 IPv6 地址和其他配置信息时, 客户端和服务器可能只用两条消息就能完成交换, 而不是像下一节所述使用四条消息. 在这种情况下, 客户端向 All_DHCP_Relay_Agents_and_Servers 发送 Solicit 消息, 请求分配地址和其他配置信息. 该消息包含一个指示, 表明客户端愿意接受来自服务器的即时 Reply 消息. 愿意向客户端提交地址分配的服务器会立即以 Reply 消息响应. Reply 消息中的配置信息和地址随后即可由客户端立即使用.

分配给客户端的每个地址都有由服务器指定的首选生存期 (preferred lifetime) 和有效生存期 (valid lifetime). 为请求延长分配给某个地址的生存期, 客户端向服务器发送 Renew 消息. 服务器向客户端发送 Reply 消息, 其中包含新的生存期, 允许客户端不中断地继续使用该地址.

1.3. 涉及四条消息的客户端-服务器交换 (Client-server Exchanges Involving Four Messages)

为请求分配一个或多个 IPv6 地址, 客户端首先定位 DHCP 服务器, 然后从该服务器请求分配地址和其他配置信息. 客户端向 All_DHCP_Relay_Agents_and_Servers 地址发送 Solicit 消息, 以发现可用的 DHCP 服务器. 任何能够满足客户端需求的服务器都会以 Advertise 消息响应. 然后客户端选择其中一台服务器, 并向该服务器发送 Request 消息, 请求确认分配地址和其他配置信息. 服务器以 Reply 消息响应, 其中包含已确认的地址和配置.

如上一节所述, 客户端向服务器发送 Renew 消息, 以延长与其地址关联的生存期, 允许客户端不中断地继续使用这些地址.