网络协议 > DHCPv6 报文解释

DHCPv6 报文解释

时间:2022-08-08

DHCPv6报文格式

DHCPv6 报头比较简洁

0              7                                        31
+--------------+-----------------------------------------+
|   msg-type   |    transaction-ID                       |
|--------------------------------------------------------|
|                   options(可变)                       |
+--------------------------------------------------------|

字段解释

字段 含义
msg-type(1字节) 表示报文的类型,取值为1~13,具体请参见DHCPv6报文类型。
transaction-ID(3字节) DHCPv6交互ID,也叫事务ID,用来标识一个来回的DHCPv6报文交互
options(可变) 表示DHCPv6的选项字段。此字段包含了DHCPv6服务器分配给IPv6主机的配置信息,如DNS服务器的IPv6地址等信息

DHCPv6报文类型

下表同步对比DHCPv6报文与DHCPv4报文

报文类型 DHCPv6 DHCPv4 说明
1 SOLICIT DHCP DISCOVER DHCPv6客户端使用Solicit报文来确定DHCPv6服务器的位置。
2 ADVERTISE DHCP OFFER DHCPv6服务器发送Advertise报文来对Solicit报文进行回应,宣告自己能够提供DHCPv6服务。
3 REQUEST DHCP REQUEST DHCPv6客户端发送Request报文来向DHCPv6服务器请求IPv6地址和其它配置信息。
4 CONFIRM - DHCPv6客户端向任意可达的DHCPv6服务器发送Confirm报文检查自己目前获得的IPv6地址是否适用与它所连接的链路。
5 RENEW DHCP REQUEST DHCPv6客户端向给其提供地址和配置信息的DHCPv6服务器发送Renew报文来延长地址的生存期并更新配置信息。
6 REBIND DHCP REQUEST 如果Renew报文没有得到应答,DHCPv6客户端向任意可达的DHCPv6服务器发送Rebind报文来延长地址的生存期并更新配置信息。
7 REPLY DHCP ACK/NAK DHCPv6服务器在以下场合发送Reply报文:
DHCPv6服务器发送携带了地址和配置信息的Reply消息来回应从DHCPv6客户端收到的Solicit、Request、Renew、Rebind报文。
DHCPv6服务器发送携带配置信息的Reply消息来回应收到的Information-Request报文。
用来回应DHCPv6客户端发来的Confirm、Release、Decline报文。
8 RELEASE DHCP RELEASE DHCPv6客户端向为其分配地址的DHCPv6服务器发送Release报文,表明自己不再使用一个或多个获取的地址。
9 DECLINE DHCP DECLINE DHCPv6客户端向DHCPv6服务器发送Decline报文,声明DHCPv6服务器分配的一个或多个地址在DHCPv6客户端所在链路上已经被使用了。
10 RECONFIGURE - DHCPv6服务器向DHCPv6客户端发送Reconfigure报文,用于提示DHCPv6客户端,在DHCPv6服务器上存在新的网络配置信息。
11 INFORMATION-REQUEST DHCP INFORM DHCPv6客户端向DHCPv6服务器发送Information-Request报文来请求除IPv6地址以外的网络配置信息。
12 RELAY-FORW - 中继代理通过Relay-Forward报文来向DHCPv6服务器转发DHCPv6客户端请求报文。
13 RELAY-REPL - DHCPv6服务器向中继代理发送Relay-Reply报文,其中携带了转发给DHCPv6客户端的报文。

DHCPv6 option

DHCPv6报文中的Options字段可以用来存放普通协议中没有定义的控制信息和参数。如果用户在DHCPv6服务器端配置了Options字段,DHCPv6客户端在申请IPv6地址的时候,会通过服务器端回应的DHCPv6报文获得Options字段中的配置信息。Options字段的格式也就是常见的TLV格式

0                      15                               31
+-----------------------+--------------------------------+
|   option-code         |    option                      |
|--------------------------------------------------------|
|                option-data(可变)                      |
+--------------------------------------------------------|

Options各字段的含义

字段 含义
option-code (2字节) 该字段表示信息类型
option-len (2字节) 该字段表示后面信息内容的长度
option-data 该字段表示信息内容

DHCPv6报文的Options字段说明

option号 option名称 option作用
1 Client Identifier 该选项用于在客户端和服务器间携带标识客户端的DUID。
2 Server Identifier 该选项用于在客户端和服务器间携带标识服务器的DUID。
3 IA_NA(Identity Association for Non-temporary Addresses) 该选项用于携带IA_NA、与IA_NA关联的参数,以及与IA_NA关联的非临时地址。IA_NA选项包含IAID、T1、T2。IAID:IA_NA的唯一标识符。
T1:在T1时间,客户端向给自己分配IA_NA地址的服务器发送请求,延长地址的有效生命周期。
T2:在T2时间,客户端向任何可找到的服务器发送请求,延长地址的有效生命周期。
5 IA Address 该选项用于规定与IA_NA关联的IPv6地址。
IA Address选项必须被封装在IA_NA选项的Options字段中。
IA地址选项中包含IPv6地址、优先生命周期以及有效生命周期。对于将地址的合法生命周期设置为0xffffffff(“无限(infinity)”),应当谨慎处理,它相当于永久分配地址给客户端。
6 Option Request 该选项用于标识客户端和服务器间消息中的选项列表。
客户端可以在Solicit、Request、Renew、Rebind、Confirm或Information-request消息中包含Option Request选项,以便通知服务器,客户端希望服务器发给客户端的选项。
服务器可以在Reconfigure消息中包含Option Request选项,以便指出客户端应当向服务器请求哪些选项。
7 Preference 服务器可以在Advertise消息中包含Preference选项,以便控制客户端对服务器的选择。
9 Relay Message Relay-Forw消息或Relay-Reply消息中的Relay Message选项携带DHCPv6信息。
12 Server Unicast 服务器发送此选项给客户端,告知客户端它被允许发送单播消息给服务器。
13 Status Code 该选项返回与DHCPv6消息或与DHCPv6消息的选项有关的状态指示。
14 Rapid Commit 该选项用于发起地址分配的两步快速交互。如果客户端准备执行Solicit-Reply消息交换,客户端可以在Solicit消息中包含此选项。
当完成Solicit-Reply消息交换时,服务器必须在为响应Solicit消息而发送的Reply消息中包含此选项。
18 Interface-Id 中继代理可以发送Interface-Id选项,以便标识收到客户端消息的接口。如果中继代理收到带有Interface-Id选项的Relay-reply消息,中继代理通过由此选项标识的接口,中继该消息到客户端。
服务器必须复制来自Relay-Forward消息的Interface-Id选项到Relay-Reply消息,该Relay-Reply消息由服务器发送到中继代理,用于响应Relay-Forward消息。
服务器可以将Interface-Id用于参数分配策略。接口的Interface-Id值应当稳定和保持不变。例如,中继代理被重新启动之后,如果Interface-Id改变,服务器将不能在参数分配策略中可靠使用它。
37 Remote-Id DHCPv6中继代理携带DUID、端口、VLAN等信息。
79 Client-lla DHCPv6中继代理可以携带客户端的链路层地址信息。
82 Vss-control DHCPv6中继代理可以携带客户端所在的VPN信息。