boxmoe_header_banner_img

⋅無⋅限⋅進⋅步⋅

加载中

文章导读

8.2DHCPv6


avatar
yuhui 2025年10月22日 22

8.2 DHCPv6

功能上,DHCPv6 和 DHCPv4 是类似的,但这两个协议是相互独立的。


无状态 DHCPv6 会部分使用 SLAAC,来确保向主机提供了所有必要的信息。有状态的 DHCPv6 则不需要 SLAAC。


在 RA 消息中指示了采用无状态或有状态 DHCPv6之后,这台主机就会开始进行 DHCPv6 客户端/服务器通信。


服务器—–DHCPv6消息——客户端(UDP546端口)

客户端—–DHCPv6消息——服务器、中继代理(UDP547端口)


DHCPv6的操作步骤

1. 主机发送一条 RS 消息。

PC1 向所有启用了 IPv6 的路由器发送 RS 消息。

2. .路由器使用 RA 消息作出响应。

R1 接收到这个 RS 消息并使用 RA 作出响应,指示客户端发起与 DHCPv6 服务器之间的通信。

3. 主机发送一个DHCPv6请求消息。

客户端(现在已经成为了 DHCPv6 客户端)需要寻找 DHCPv6 服务器,并且向保留的 IPv6 组播全 DHCPv6 服务器地址 ff02::1:2 发送一条 DHCPv6 SOLICIT(DHCPv6 请求)消息。此组播地址有本地链路范围,这意味着路由器不会将消息转发到其它网络。

4. DHCPv6 服务器用 DHCPv6 通告消息响应。

一个或多个 DHCPv6 服务器使用 DHCPv6 ADVERTISE(DHCPv6 通告)单播消息作为回应。ADVERTISE 消息通知 DHCPv6 客户端该服务器可用于 DHCPv6 服务。

5. .主机响应 DHCPv6 服务器。

PC1 的响应方式取决于它使用的是有状态还是无状态的 DHCPv6:

  • 无状态的 DHCPv6 客户端 – 客户端使用 RA 消息中的前缀和自动生成的接口 ID 来创建自己的 IPv6 地址。然后,客户端把 DHCPv6 INFORMATION-REQUEST 消息发送到 DHCPv6 服务器,来请求其他配置参数(如 DNS 服务器地址)。
  • 有状态的 DHCPv6 客户端 – 客户端向 DHCPv6 服务器发送一条 DHCPv6 REQUEST(DHCPv6 请求)消息来获取所有必要的 IPv6 配置参数。

6. DHCPv6 服务器发送应答消息。

服务器向客户端发送单播的 DHCPv6 REPLY(DHCPv6 应答)消息。消息的内容取决于它应答的是 REQUEST(请求)消息,还是应答INFORMATION-REQUEST 消息。

注意: 这台客户端会使用 RA 的源 IPv6 链路本地地址来充当自己的默认网关地址。DHCPv6 服务器不会提供这种信息。

1741671795391-29303954-8221-42f1-839d-02f302615512.png

无状态的DHCPv6

无状态的DHCPv6会让客户端使用RA消息中的信息来完成编址,同时从DHCPv6服务器提供额外的配置参数。

因为服务器不维护任何客户端状态信息(例如,可用的和已分配的 IPv6 地址列表)。无状态 DHCPv6 服务器只向客户端提供配置参数,而不提供 IPv6 地址。此过程叫无状态DHCPv6。

无状态的DHCPv6工作原理

  • PC1接受到了一条无状态的DHCP RA消息。RA消息中包含了网络前缀和前缀长度。表示有状态DHCP的M标记设置默认值为0.A=1标记要求客户端使用SLAAC。O=1这个标记告知客户端,其他配置信息可用从无状态DHCPv6服务器那里获取。
  • 客户端发送一条DHCPv6 SOLICIT请求消息,查找无状态的DHCPv6服务器,以获取其他信息。

1741671795553-1618e57c-5d6f-4cbc-adc0-202928fd7778.png


启用无状态DHCPv6

在接口配置下ipv6 nd other-config-flag 在路由接口上启用无状态DHCPv6,这样会把O标记设置为1.

阴影部分的输出信息确认,RA会告诉接受主机使用无状态自动配置(A标记=1),并联系DHCPv6服务器来获取其他配置信息(O标记=1)。

注意: You can use the no ipv6 nd other-config-flag 可以把接口重置为默认的仅SLAAC可选项(O标记= 0)。

1741671795455-191b6f33-6aaf-470a-bb5e-d562506fa2fc.png

有状态的DHCPv6

类似DHCPv4,RA消息会让client从DHCPv6 servers获取所有编址信息,但默认网关地址除味,因为默认网关是RA的源IPv6链路本地地址。

这成为有状态DHCPv6,因为DHCPv6服务器维护IPv6状态信息。这与分配IPv6地址的DHCPv5服务器类似。

有状态的DHCPv6工作原理

PC1接受到一条 DHCPv6 RA消息,其O标记置位0,M标记置位1,这是让PC1从有状态的DHCPv6 servers那里接收所有的IPv6编址信息。

PC1发送一条DHCPv6 SOLICIT (DHCPv6请求)消息,寻找有状态的DHCPv6 servers。

1741671795402-058692d6-cc87-4acb-8472-a4c3583d8d1c.png

注意: 如果A=1且M=1,那么某些操作系统(如 Windows)就会使用SLAAC来创建 IPv6 地址,并从有状态的DHCPv6服务器获取不同的地址。在大多数情况下,建议手动把A标记设置为0。

在接口上启用有状态的DHCPv6

使用接口配置命令 ipv6 nd managed-config-flag 在路由器接口上启用有状态的DHCPv6.这样做会把M标记设置为1.

RA(M标记=1)会让主机从DHCPv6 servers那里获取所有的IPv6配置信息。

1741671795452-acb564a9-a5af-4703-a015-5ef14db4b1b3.png


更新: 2025-03-11 13:43:17
原文: https://www.yuque.com/yuhui.net/network/bo8ty7y3zsb0g4to



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码