IPv6 中 DHCPv6 路由通告及地址分配过程

一、IPv6 概述

IPv6 在 IPv4 的基础上做了很多改进,如扩编地址(由 32 位扩编为 128 位)、支持无状态地址自动配置、简化报头、身份验证、支持新的网络服务(QoS)等,并且增强了移动性和安全性,这使得 IPv6 成为下一代互联网的核心协议。
在这里插入图片描述

二、IPv6 支持的两种地址分配方式

2.1 无状态地址自动配置

无状态地址自动配置是指主机通过监听路由通告获得全局地址前缀(64 位),然后在后边缀上自己的接口地址得到全局 IP 地址。接口地址实际上就是 MAC 地址,由于 MAC 地址是 48 位的,通过 IEEE 提供的 EUI64 转换算法,将 48 位的 MAC 地址换算为 64 位后,可从主机向该地址发送一个邻居发现请求(Neighbor Discovery Request),如果无响应,则证明网络地址是可用的。

主机通过无状态地址自动配置获得 IPv6 的过程如图所示

在这里插入图片描述

2.2 有状态地址自动配置

有状态地址自动配置是由 IPv4 下的 DHCP 转化而来,IPv6 继承并改进了 DHCP 服务,即 DHCPv6 协议。它向 IPv6 主机提供有状态或无状态的的地址配置。IPv6 主机自动执行无状态地址自动配置,并在相邻路由器发送的路由器公告消息中使用基于以下标记的配置协议(如 DHCPv6):

标记含义
M托管地址配置标记,也称为 M 标记。 设置为 1 时,此标记指示主机使用配置协议来获取有状态地址。
O其他有状态配置标记 ,也称为 O 标记。设置为 1 时,此标记指示主机使用配置协议来获取其他配置设置。

M 和 O 标记的组合含义

MO含义
00此组合对应不具有 DHCPv6 基础结构的网络。主机使用非链接本地地址的路由器公告以及其他方法(如手动配置)来配置其他设置。此组合称为无状态自动配置 ( Stateless autoconfiguration )。
11DHCPv6 用于两种地址(链接本地地址和其他非链接本地地址)和其他配置设置。此组合称为 DHCPv6 有状态(Stateful DHCPv6),其中 DHCPv6 将有状态地址分配给 IPv6 主机。
01DHCPv6 不用于分配地址,仅用来分配其他配置设置。相邻路由器配置为通告非链接本地地址前缀,IPv6 主机从中派生出无状态地址。此组合称为 DHCPv6 无状态( Stateless DHCPv6 ):DHCPv6 不为 IPv6 主机分配有状态地址,但分配无状态配置设置。
10DHCPv6 用于地址配置,但不用于其他设置。因为 IPv6 主机通常需要使用其他设置(如域名系统 (DNS) 服务器的 IPv6 地址)进行配置,所以这是一种不太可能的组合。

类似于 DHCPv4,DHCPv6 基础结构的组件由下列各项构成:

请求配置的 DHCPv6 客户端提供配置的 DHCPv6 服务器、以及 DHCPv6 中继代理(当客户端位于不具备 DHCPv6 服务器的子网上时,它在客户端和服务器之间传递信息)。

2、DHCPv6 协议下主机与服务器交互

DHCPv6 协议下客户端与服务器端的交互与 DHCPv4 类似采用如图所示的四步交互:
在这里插入图片描述

但 DHCPv6 支持主机与服务器的快速两步交互,即如果客户端发送的 Solicit 报文中有 rapid commit 选项,并且服务器支持该交互方式,就可以进行如图所示的两步交互:
在这里插入图片描述

在上述交互过程中提到的 DHCPv6 报文与 DHCPv4 类似,如 solicit 报文类似与 discover 报文,advertise 报文类似于 offer 报文等等。

DHCPv6 报文与 DHCPv4 报文对比

DHCPv6 消息描述等效的 DHCPv4 消息
要求(solicit)由客户端发送以定位服务器。DHCP Discover
公告(advertise)由服务器对 “要求” 消息进行响应时发送以指明可用性。DHCP Offer
请求(request)由客户端发送以请求来自特定服务器的地址或配置设置。DHCP Request
确认(confirm)由客户端发送给所有服务器,以确定对于已连接的链接客户端的配置是否有效。DHCP Request
更新(renew)由客户端发送给特定服务器以延长分配地址的生存期并获取更新的配置设置。DHCP Request
重新绑定(rebind)未接收到对 “更新” 消息的响应时由客户端发送给任何服务器。DHCP Request
应答(reply)对要求、请求、更新、重新绑定、信息请求、确认、发布或拒绝消息进行响应时由服务器发送给特定客户端。DHCP Ack
发布(release)由客户端发送以指明客户端不再使用分配的地址。DHCP Release
拒绝(decline)由客户端发送给特定服务器以指明分配的地址已在使用中。DHCP Decline
重新配置(reconfigure)由服务器发送给客户端以指明该服务器具有新的或更新的配置设置。客户端随后发送 “更新” 或 “信息请求” 消息。N/A
信息请求(information-request)由客户端发送以请求配置设置(但不包括地址)。DHCP Inform
中继转发(relay-forw)由中继代理发送以转发消息给服务器。中继转发包含封装为 DHCPv6 中继消息选项的客户端消息。N/A
中继应答(relay-reply)由服务器发送以通过中继代理发送消息给客户端。中继应答包含封装为 DHCPv6 中继消息选项的服务器消息。N/A

DHCPv6 与 DHCPv4 端口号

DHCP 报文是承载于 UDP 上的高层协议报文,DHCPv4 采用 67(DHCP 服务器)和 68(DHCP 客户端)两个端口号。
DHCPv6 推荐采用 547(DHCPv6 服务器 / Relay)和 546(DHCPv6 客户端)两个端口号。

3、DHCPv6 两种报文结构

DHCPv6 封包有两种结构,在客户端上与中继上使用的报文结构是不同的。

3.1 Client/Server Message Formats(客户端 / 服务器消息格式)

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

消息头和选项中的所有值均按网络字节顺序排列。

选项串行存储在选项字段中,选项之间没有填充。选项是字节对齐的,但不以任何其他方式对齐,例如在 2 或 4 字节边界上。

在客户端和服务器之间发送的 DHCP 消息的格式如图所示:

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    msg-type   |               transaction-id                  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 .                            options                            .
 .                           (variable)                          .
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    

msg type :DHCP 消息类型。

transaction-id :此消息交换的事务 id。

3.2 Relay Agent/Server Message Formats(中继代理 / 服务器消息格式)

中继代理与服务器交换消息,以在未连接到同一链路的客户端和服务器之间中继消息。

消息头和选项中的所有值均按网络字节顺序排列。

选项串行存储在选项字段中,选项之间没有填充。选项是字节对齐的,但不以任何其他方式对齐,例如在 2 或 4 字节边界上。

有两条中继代理消息,它们共享以下格式:

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    msg-type   |   hop-count   |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
 |                                                               |
 |                         link-address                          |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
 |                               |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
 |                                                               |
 |                         peer-address                          |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
 |                               |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
 .                                                               .
 .            options (variable number and length)   ....        .
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   

结束语

从 IPv4 走向 IPv6 是必然的发展趋势,虽然 IPv6 支持无状态的自动分配地址,但这并不意味着 DHCP 会随着 IPv6 的出现以及 IPv6 设备的大量部署而退出历史舞台。不仅在过渡时期 DHCP 是不可或缺的,即便是在将来DHCP 仍将发挥重要作用。

Via:(Original source unknown) 修订自

IPv6下的DHCP(DHCPv6)_dhcpv6路由通告及地址分配过程-CSDN博客

https://blog.csdn.net/u013889753/article/details/37877243

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值