1. 简介与概述
-
简介与概述
本文档描述了 IPv6 动态主机配置协议 (Dynamic Host Configuration Protocol for IPv6, DHCP), 这是一种客户端/服务器 (client/server) 协议, 用于提供对设备的受管配置.
DHCP 可以为设备提供由 DHCP 服务器分配的地址以及其他选项所携带的其他配置信息. DHCP 可以通过定义新的选项进行扩展, 以携带本文档中未规定的配置信息.
DHCP 即 "IPv6 无状态地址自动配置" [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. 协议与寻址
客户端和服务器使用 UDP [15] 交换 DHCP 消息. 客户端使用链路本地地址 (link-local address) 或通过其他机制确定的地址来发送和接收 DHCP 消息.
DHCP 服务器使用保留的、链路范围的多播地址接收来自客户端的消息. DHCP 客户端将大多数消息发送到该保留的多播地址, 因此客户端无需配置 DHCP 服务器的地址.
为了允许 DHCP 客户端将消息发送给未连接在同一链路上的 DHCP 服务器, 客户端所在链路上的 DHCP 中继代理 (relay agent) 将在客户端与服务器之间中继消息. 中继代理的操作对客户端是透明的, 本节其余部分对消息交换的讨论将省略中继代理进行消息中继的描述.
一旦客户端确定了服务器的地址, 在某些情况下它可以使用单播 (unicast) 直接向服务器发送消息.
1.2. 涉及两条消息的客户端-服务器交换
当 DHCP 客户端不需要 DHCP 服务器为其分配 IP 地址时, 客户端可以通过与 DHCP 服务器交换单条消息和响应, 获得诸如可用 DNS 服务器 [20] 或 NTP 服务器 [21] 列表等配置信息. 为获取配置信息, 客户端首先向 All_DHCP_Relay_Agents_and_Servers 多播地址发送一条 Information-Request (信息请求) 消息. 服务器以包含客户端配置信息的 Reply (应答) 消息作出响应.
此消息交换假设客户端仅需配置信息, 而不需要分配任何 IPv6 地址.
当服务器已向客户端提交 (commit) IPv6 地址和其他配置信息时, 客户端与服务器或许能够仅使用两条消息完成交换, 而无需如下一节所述的四条消息. 在这种情况下, 客户端向 All_DHCP_Relay_Agents_and_Servers 发送一条 Solicit (请求) 消息, 请求分配地址和其他配置信息. 此消息包含一个指示, 表明客户端愿意接受来自服务器的立即应答消息. 愿意提交向客户端分配地址的服务器会立即以一条 Reply 消息作出响应. Reply 消息中的配置信息和地址随后可供客户端立即使用.
分配给客户端的每个地址都具有服务器指定的相应首选生存期 (preferred lifetime) 和有效生存期 (valid lifetime). 为请求延长分配给某个地址的生存期, 客户端向服务器发送一条 Renew (续约) 消息. 服务器向客户端发送一条带有新生存期的 Reply 消息, 使客户端能够不间断地继续使用该地址.
1.3. 涉及四条消息的客户端-服务器交换
为请求分配一个或多个 IPv6 地址, 客户端首先定位一台 DHCP 服务器, 然后向服务器请求分配地址和其他配置信息. 客户端向 All_DHCP_Relay_Agents_and_Servers 地址发送一条 Solicit 消息以查找可用的 DHCP 服务器. 任何能够满足客户端要求的服务器都会以一条 Advertise (通告) 消息作出响应. 随后客户端选择其中一台服务器, 并向该服务器发送一条 Request (请求) 消息, 要求确认分配地址和其他配置信息. 服务器以一条包含已确认地址和配置的 Reply 消息作出响应.
如前一节所述, 客户端向服务器发送 Renew 消息以延长与其地址相关联的生存期, 使客户端能够不间断地继续使用该地址.