RPC系列协议--rfc3315--Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

1.摘要

IPv6的动态主机配置协议(DHCP)允许DHCP服务器将配置参数(如IPv6网络地址)传递到IPv6节点。它提供了可重用网络地址的自动分配能力和额外的配置灵活性。该协议是“IPv6无状态(stateless)地址自动配置”(RFC 2462)的有状态(stateful)对等物,可以单独使用或与后者并发地获得配置参数。

2.介绍和概述

这个文档描述了IPv6的DHCP (DHCP),一种提供设备管理配置的客户端/服务器协议。DHCP可以为设备提供DHCP服务器分配的地址和其他配置信息,这些信息以选项的形式携带。可以通过定义新选项来扩展DHCP,以携带本文档中未指定的配置信息。

2.1 协议和地址

客户端和服务器使用UDP交换DHCP消息。客户端使用链接本地地址或通过其他机制确定的地址来传输和接收DHCP消息。DHCP服务器使用预留的、链接范围内的多播地址从客户端接收消息。为了允许DHCP客户端向没有连接到同一链接的DHCP服务器发送消息,客户端链接上的DHCP中继代理将在客户端和服务器之间中继消息。一旦客户端确定了服务器的地址,在某些情况下它可以使用单播直接向服务器发送消息。

2.2 客户机-服务器交换涉及2条消息

当DHCP客户端不需要DHCP服务器为其分配IP地址时,客户端可以通过与DHCP服务器交换的单个消息和应答获得配置信息,如可用DNS服务器或NTP服务器的列表。要获得配置信息,客户端首先向All_DHCP_Relay_Agents_and_Servers多播地址发送一条信息请求消息。服务器使用包含客户端配置信息的应答消息进行响应。此消息交换假设客户端只需要配置信息,不需要分配任何IPv6地址。
当服务器将IPv6地址和其他配置信息提交给客户端时,客户端和服务器可能只使用两条消息就能完成交换,而不是下一节中描述的四条消息。在本例中,客户机向All_DHCP_Relay_Agents_and_Servers发送请求消息,请求分配地址和其他配置信息。此消息包括指示客户端愿意接受来自服务器的即时回复消息。愿意向客户端提交地址分配的服务器会立即响应一条回复消息。然后,客户端可以立即使用应答消息中的配置信息和地址。
分配给客户机的每个地址都与服务器指定的首选生存期和有效生存期相关联。为了请求分配给地址的生存期的扩展,客户端向服务器发送一条更新消息。服务器使用新的生存期向客户机发送应答消息,允许客户机继续使用该地址而不中断。

2.3 客户机-服务器交换涉及4条消息

为了请求分配一个或多个IPv6地址,客户端首先定位一个DHCP服务器,然后请求分配地址和其他配置信息从服务器。客户机向All_DHCP_Relay_Agents_and_Servers地址发送请求消息,以查找可用的DHCP服务器。任何能够满足客户机需求的服务器都用一则广告消息进行响应。然后,客户机选择其中一个服务器,并向该服务器发送请求消息,请求确认地址分配和其他配置信息。服务器以包含已确认地址和配置的应答消息进行响应。

3.术语

3.1 IPv6

名称 含义
address 一个接口或一组接口的IP层标识符
host 任何不是路由器的节点
IP 互联网协议版本6 (IPv6),术语IPv4和IPv6只在需要避免歧义的上下文中使用
interface 节点对链接的附加
link 一种通信设备或媒介,节点可以在链路层进行通信
link-layer identifier 接口的链接层标识符
link-local address 一种IPv6地址,具有仅链路作用域,由前缀(FE80::/10)表示,可用于连接到连接到同一链路的相邻节点。每个接口都有一个链接本地地址
multicast address 一组接口(通常属于不同的节点)的标识符。发送到多播地址的数据包被发送到由该地址标识的所有接口
neighbor 连接到同一链接上的节点
node 实现IP的一种设备
packet IP报头加上有效负载
prefix 一个地址的初始位,或共享相同初始位的一组IP地址
prefix length 前缀中的比特数
router 转发未显式寻址到自身的IP数据包的节点。
unicast address 单个接口的标识符。发送到单播地址的数据包被发送到由该地址标识的接口

3.2 DHCP

名称 含义
appropriate to the link 当地址与DHCP服务器对网络拓扑、前缀分配和地址分配策略的了解一致时,该地址是“适合于该链接的”
binding 绑定(或客户端绑定)是一组服务器数据记录,其中包含服务器拥有的关于IA中的地址或显式分配给客户端的配置信息的信息
configuration parameter 在服务器上设置并使用DHCP传递给客户机的配置信息的一个元素。例如,这些参数可用于携带节点用于配置其网络子系统的信息,并在链路或互联网络上启用通信
DHCP 动态主机配置协议IPv6。术语DHCPv4和DHCPv6只在需要避免歧义的上下文中使用
DHCP client (or client) 在链接上发起请求以从一个或多个DHCP服务器获取配置参数的节点
DHCP domain 由DHCP管理并由单个管理实体操作的一组链接
DHCP realm 用于标识从中选择DHCP身份验证密钥的DHCP管理域的名称
DHCP relay agent (or relay agent) 作为中间体在客户机和服务器之间传递DHCP消息的节点,它与客户机位于同一链接上。
DHCP server (or server) 响应客户端请求的节点,它可能与客户端位于同一链接上,也可能与客户端不在同一链接上。
DUID DHCP参与者的DHCP唯一标识符;每个DHCP客户机和服务器都有一个DUID。
Identity association (IA) 分配给客户端的地址集合。每个IA都有一个相关的IAID。一个客户可能有多个IA被指派给它;例如,每个接口对应一个接口
Identity association identifier (IAID) 由客户端选择的IA的标识符。每个IA都有一个IAID,它被选择为属于该客户的IAs的所有IAID中唯一的IAID。
Identity association for non-temporary addresses (IA_NA) 持有非临时地址的已分配地址的IA
Identity association for temporary addresses (IA_TA) 带有临时地址的I
message 作为UDP数据报的有效负载携带的一组数据,在DHCP服务器、中继代理和客户端之间交换。
Reconfigure key 服务器提供给客户机的一种密钥,用于为重新配置的消息提供安全性。
relaying DHCP中继代理在DHCP参与者之间中继DHCP消息。
transaction ID 一个不透明值,用于将响应与客户机或服务器发起的响应进行匹配。

4.DHCP常量

4.1 Multicast Addresses

名称 含义
All_DHCP_Relay_Agents_and_Servers(FF02::1:2) 一个链接范围内的多播地址,由客户端用来与邻近的例如中继代理和服务器。所有服务器和中继代理都是这个多播组的成员。
All_DHCP_Servers (FF05::1:3) 中继代理用于与服务器通信的站点范围的多播地址,这可能是因为中继代理希望向所有服务器发送消息,也可能是因为它不知道服务器的单播地址。请注意,为了让中继代理使用此地址,它必须有一个足够范围的地址,以供服务器访问。站点内的所有服务器都是此多播组的成员。

4.2 UDP Ports

客户端在UDP端口546上侦听DHCP消息。服务器和中继代理侦听UDP端口547上的DHCP消息。

4.3 DHCP Message Types

名称 含义
SOLICIT (1) 客户机发送请求消息来定位服务器。
ADVERTISE (2) 服务器发送一个广告消息,表明它可用于DHCP服务,作为对从客户机接收到的请求消息的响应。
REQUEST (3) 客户端发送一条请求消息,请求来自特定服务器的配置参数,包括IP地址。
CONFIRM (4) 客户机向任何可用的服务器发送确认消息,以确定它分配的地址是否仍然适合客户机连接的链接。
RENEW (5) 客户机向最初提供客户机地址和配置参数的服务器发送更新消息,以延长分配给客户机的地址的生存期,并更新其他配置参数。
REBIND (6) 客户端向任何可用的服务器发送重新绑定消息,以延长分配给客户端的地址的生存期,并更新其他配置参数;此消息在客户端未收到对续订消息的响应后发送。
REPLY (7) 服务器发送包含指定地址和配置参数的应答消息,以响应从客户端接收的请求、请求、更新和重新绑定消息。服务器发送包含配置参数的应答消息来响应信息请求消息。服务器发送应答消息以响应确认消息,确认或拒绝分配给客户机的地址与客户机连接的链接是否合适。服务器发送回复消息以确认收到释放或拒绝消息。
RELEASE (8) 客户端向为客户端分配地址的服务器发送发布消息,表明客户端将不再使用一个或多个已分配的地址。
DECLINE (9) 客户端向服务器发送拒绝消息,表明客户端已经确定服务器分配的一个或多个地址在客户端连接的链接上已经在使用。
RECONFIGURE (10) 服务器向客户机发送Reconfigure消息,通知客户机服务器有新的或更新的配置参数,并且客户机将与服务器启动一个续订/应答或信息请求/应答事务,以便接收更新的信息。
INFORMATION-REQUEST (11) 客户机向服务器发送信息请求消息来请求配置参数,而不向客户机分配任何IP地址。
RELAY-FORW (12) 中继代理直接或通过另一个中继代理向服务器发送中继转发消息。接收到的消息(客户机消息或来自另一个中继代理的中继转发消息)封装在中继转发消息中的一个选项中。
RELAY-REPL (13) 服务器向中继代理发送中继应答消息,其中包含中继代理向客户端发送的消息。转发-应答消息可以由其他中继代理转发,以便发送到目标中继代理。服务器将客户端消息封装为中继-应答消息中的一个选项,中继代理提取并转发给客户端。

4.4 Status Codes

DHCPv6使用状态代码来传达在来自客户端和服务器的消息中请求的操作的成功或失败,并提供关于消息失败的特定原因的额外信息。

4.5 Transmission and Retransmission参数

参数 默认值 定义
SOL_MAX_DELAY 1 sec 第一次请求的最大延迟
SOL_TIMEOUT 1 sec 初始请求超时
SOL_MAX_RT 120 secs 最大请求超时值
REQ_TIMEOUT 1 sec 初始请求超时
REQ_MAX_RT 30 secs 最大请求超时值
REQ_MAX_RC 10 最大请求重试尝试
CNF_MAX_DELAY 1 sec 第一次确认的最大延迟
CNF_TIMEOUT 1 sec 初始确认超时
CNF_MAX_RT 4 secs 最大确认超时
CNF_MAX_RD 10 secs 最大确认时间
REN_TIMEOUT 10 secs 初始更新超时
REN_MAX_RT 600 secs 最大更新超时值
REB_TIMEOUT 10 secs 初始重新绑定超时
REB_MAX_RT 600 secs 最大重新绑定超时值
INF_MAX_DELAY 1 sec 第一次信息请求的最大延迟
INF_TIMEOUT 1 sec 初始信息的请求超时
INF_MAX_RT 120 secs 最大信息请求超时值
REL_TIMEOUT 1 sec 最初释放超时
REL_MAX_RC 5 最大释放尝试
DEC_TIMEOUT 1 sec 初始下降超时
DEC_MAX_RC 5 最大尝试下降
REC_TIMEOUT 2 secs 初始配置超时
REC_MAX_RC 8 最大尝试重新配置
HOP_COUNT_LIMIT 32 转发消息中的最大跳数

4.6 表示时间值和“无穷大”作为时间值

生存期的所有时间值,T1和T2都是无符号整数。当用作生命周期或用于T1或T2时,值0xffffffffff表示“无穷大”。

5.Client/Server信息格式

所有在客户端和服务器之间发送的DHCP消息共享相同的固定格式头和可变格式区域的选项。

名称 定义
msg-type 标识DHCP消息类型
transaction-id 此消息交换的事务ID
options 此消息中携带的选项

6.DHCP Options

选项用于在DHCP消息中携带附加信息和参数。

6.1 DHCP Options格式

名称 定义
option-code 标识此选项中附带的特定选项类型
option-len 选项的长度
option-data 选项的数据

6.2 Client Identifier Option

客户端标识符选项用于携带一个DUID来标识客户端和服务器之间的客户端。

名称 定义
option-code OPTION_CLIENTID (1)
option-len DUID长度
DUID client DUID

6.3 Server Identifier Option

服务器标识符选项用于携带在客户机和服务器之间标识服务器的DUID。

名称 定义
option-code OPTION_SERVERID (2)
option-len DUID长度
DUID server DUID

6.4 Identity Association for Non-temporary Addresses Option

非临时地址的身份关联选项(IA_NA选项)用于携带IA_NA、与IA_NA关联的参数以及与IA_NA关联的非临时地址。

名称 定义
option-code OPTION_IA_NA (3)
option-len 12 + length of IA_NA-options field.
IAID 这个IA_NA的唯一标识符
T1 客户端与获得IA_NA地址的服务器联系以延长分配给IA_NA地址的生存期的时间;T1是相对于当前时间的持续时间,单位为秒。
T2 客户端与任何可用服务器联系以延长分配给IA_NA的地址生存期的时间;T2是相对于当前时间的持续时间,单位为秒。
IA_NA-options 与这个IA_NA关联的选项

6.5 Identity Association for Temporary Addresses Option

临时地址的标识关联(IA_TA)选项用于携带一个IA_TA、与IA_TA相关联的参数和与IA_TA相关联的地址。客户端使用此选项中的所有地址作为临时地址。

名称 定义
option-code OPTION_IA_TA (4)
option-len 4 + length of IA_TA-options field.
IAID 这个IA_TA的唯一标识符;
IA_TA-options 与这个IA_TA关联的选项

6.6 IA Address Option

IA地址选项用于指定与IA_NA或IA_TA关联的IPv6地址。IA地址选项必须封装在一个IA_NA或IA_TA选项的选项字段中。Options字段封装了特定于此地址的那些选项。

名称 定义
option-code OPTION_IAADDR (5)
option-len 24 + length of IAaddr-options field
IPv6 address 一个IPv6 address
preferred-lifetime 选项中IPv6地址的首选生存期,以秒为单位表示
valid-lifetime 选项中的IPv6地址的有效生存期,以秒为单位表示
IAaddr-options 与此地址关联的选项

6.7 Option Request Option

Option Request选项用于在客户机和服务器之间的消息中标识选项列表。

名称 定义
option-code OPTION_ORO (6)
option-len 2 * number of requested options.
requested-option-code-n 客户端请求的选项的选项代码。

客户机可以在请求、请求、更新、重新绑定、确认或信息请求消息中包含一个Option Request选项,以通知服务器客户机希望服务器发送给客户机的选项。服务器可以在重新配置选项中包含选项请求选项,以指示客户机应该从服务器请求哪些选项。

6.8 Preference Option

首选项由服务器发送到客户机,以影响客户机对服务器的选择。

名称 定义
option-code OPTION_PREFERENCE (7)
option-len 1
pref-value 此消息中服务器的首选项值

服务器可以在广告消息中包含一个首选项来控制客户机对服务器的选择,那些具有最高服务器首选项值的广告消息优于其他所有广告消息。

6.9 Elapsed Time Option

名称 定义
option-code OPTION_ELAPSED_TIME (8)
option-len 2
elapsed-time 自客户端开始当前DHCP事务以来的时间。这个时间以百分之一秒(10的-2次方秒)表示。

客户机必须在消息中包含运行时间选项,以指示客户机尝试完成DHCP消息交换的时间。运行时间从客户机在消息交换中发送第一个消息的时间开始计算,在消息交换中的第一个消息中将运行时间字段设置为0。服务器和中继代理使用此选项中的数据值作为策略控制服务器如何响应客户机消息的输入。例如,当主服务器在合理的时间内没有响应时,运行时间选项允许辅助DHCP服务器响应请求。经过的时间值是一个无符号的16位整数。客户机使用值0xffff来表示比运行时间选项中可以表示的最大时间值大的任何运行时间值。

6.10 Relay Message Option

中继消息选项在Relay-forward或Relay-reply消息中携带DHCP消息。

名称 定义
option-code OPTION_RELAY_MSG (9)
option-len Length of DHCP-relay-message
DHCP-relay-message 接收到的消息逐字转发到下一个中继代理或服务器;

6.11 Authentication Option

身份验证选项携带身份验证信息,以对DHCP消息的身份和内容进行身份验证。

名称 定义
option-code OPTION_AUTH (11)
option-len 11 + length of authentication information field
protocol 此身份验证选项中使用的身份验证协议
algorithm 认证协议中使用的算法
RDM 此身份验证选项中使用的重播检测方法
Replay detection RDM的重播检测信息
authentication information 身份验证信息,由此身份验证选项中使用的协议和算法指定

6.12 Server Unicast Option

服务器将此选项发送给客户机,以指示客户机允许向服务器单播消息。

名称 定义
option-code OPTION_UNICAST (12)
option-len 16
server-address 客户端使用单播发送消息到的IP地址。

6.13 Status Code Option

此选项返回与出现DHCP消息或选项相关的状态指示。

名称 定义
option-code OPTION_STATUS_CODE (13)
option-len 2 + length of status-message.
status-code 此选项中编码的状态的数字代码。
status-message 适合显示给最终用户的UTF-8编码文本字符串,不能以null结尾。

6.14 Rapid Commit Option

用于指示使用两个消息(如2.2上所示)交换进行地址分配。

名称 定义
option-code OPTION_RAPID_COMMIT (14)
option-len 0

6.15 User Class Option

客户端使用User Class选项来标识它所代表的用户或应用程序的类型或类别。

名称 定义
option-code OPTION_USER_CLASS (15)
option-len Length of user class data field.
user-class-data 客户机携带的用户类

6.16 Vendor Class Option

客户机使用此选项来标识制造客户机运行的硬件的供应商。此选项的数据区域中包含的信息包含在一个或多个标识硬件配置细节的不透明字段中。

名称 定义
option-code OPTION_VENDOR_CLASS (16)
option-len 4 + length of vendor class data field.
enterprise-number 供应商在IANA中注册的企业编号
vendor-class-data 运行客户机的主机的硬件配置

6.17 Vendor-specific Information Option

客户端和服务器使用此选项来交换vendor-specific的信息。

名称 定义
option-code OPTION_VENDOR_OPTS (17)
option-len 4 + length of option-data field
enterprise-number 供应商在IANA中注册的企业编号
option-data 由客户端和服务器上特定于供应商

6.18 Interface-Id Option

中继代理可以发送接口id选项来识别接收客户端消息的接口。

名称 定义
option-code OPTION_INTERFACE_ID (18)
option-len Length of interface-id field.
interface-id 由中继代理生成的不透明的任意长度值,用于标识中继代理的一个接口。

6.19 Reconfigure Message Option

服务器在重配置消息中包含一个重配置消息选项,用于向客户机指示客户机是响应更新消息还是信息请求消息。

名称 定义
option-code OPTION_RECONF_MSG (19)
option-len 1
msg-type 更新消息5,信息请求消息11。

6.20 Reconfigure Accept Option

客户端使用Reconfigure Accept选项向服务器宣布客户端是否愿意接受Reconfigure消息,服务器使用此选项告诉客户端是否接受Reconfigure消息。如果没有此选项,客户机和服务器消息的默认行为分别意味着不愿接受重新配置消息,或指示不接受重新配置消息。

名称 定义
option-code OPTION_RECONF_ACCEPT (20)
option-len 0

温馨提示:
以上文章描述如有不清晰之处,欢迎在评论区评论,如有时间,会第一时间回复,谢谢!

猜你喜欢

转载自blog.csdn.net/qq_20677327/article/details/106895542
今日推荐