news 2026/7/2 7:51:58

[HCIE-02] IPV6 NDP (SLAAC 与dhcpv6)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[HCIE-02] IPV6 NDP (SLAAC 与dhcpv6)

RS(Router Solicitation,路由器请求)报文是 IPv6 邻居发现协议(NDP)中 ICMPv6 类型 133 的报文,核心作用是让 IPv6 主机主动发现链路上的路由器,并触发路由器立即回复 RA(Router Advertisement)报文,而非等待 RA 的周期性发送,以此快速获取网络配置信息。以下是其具体作用与关键细节:


核心作用

  1. 触发即时 RA 响应:主机接入网络或重启后,发送 RS(目的组播地址 ff02::2,所有路由器监听),路由器收到后立即单播或组播 RA,避免等待 RA 周期(通常 200 秒),加速地址配置与网关获取。
  2. 支撑无状态地址自动配置(SLAAC):RA 携带网络前缀、前缀长度、MTU、默认网关生命周期等,主机结合 EUI-64 生成全球单播地址,完成无 DHCPv6 的自动入网。
  3. 获取默认网关与网络参数:通过 RA 获取默认路由器信息,确定出网路径;同时获取 MTU 等参数,保障传输效率与路径最优。
  4. 适配网络拓扑变化:链路新增 / 切换路由器时,主机发送 RS 快速获取新路由信息,维持网络连通性。

报文关键特征

项目说明
报文类型ICMPv6 Type 133,Code 0
源地址主机链路本地地址(LLA),未配置时用::(未指定地址)
目的地址ff02::2(链路上所有路由器的组播地址)
发送时机主机初始化、接口启用、路由表变化等场景

开启ra报文发布能力(默认关闭) 思科为

配置示例(Cisco 设备)

interface GigabitEthernet0/0 ipv6 enable ipv6 address 2001:db8:1::1/64 ipv6 ospf 1 area 0 no ipv6 nd suppress-ra // 取消RA抑制,允许发送RA

RA报文

RA(Router Advertisement,路由器通告)报文是 IPv6 邻居发现协议(NDP)中 ICMPv6 类型 134 的报文,由路由器周期性发送或在收到 RS 后立即发送,用来向链路上的 IPv6 主机提供网络配置信息。它是 IPv6 无状态自动配置(SLAAC)的核心。

以下是 RA 报文的作用、格式特点、典型内容和使用场景。


一、RA 报文的核心作用

  1. 向主机提供 IPv6 前缀主机根据 RA 中的前缀和前缀长度,结合自身 MAC 地址生成全球单播地址(SLAAC)。

  2. 告知主机默认网关RA 中包含路由器的链路本地地址,主机将其作为默认路由。

  3. 通告链路 MTU确保链路上所有节点使用一致的最大传输单元,避免分片。

  4. 指示是否使用 DHCPv6通过 M、O 两个标志位控制主机是否需要 DHCPv6 获取地址或其他配置。

  5. 辅助地址自动配置与重复地址检测(DAD)RA 中包含地址生成相关参数,如前缀有效期、路由器寿命等。


二、RA 报文的关键特征

  • ICMPv6 类型:134,代码:0
  • 源地址:路由器的链路本地地址
  • 目的地址:
    • 周期性发送:ff02::1(所有节点)
    • 响应 RS:通常单播给请求主机
  • 发送周期:默认 200 秒,也可由 RS 触发立即发送

三、RA 报文中的重要字段

  1. 当前跳数限制(Cur Hop Limit)主机默认的 IPv6 跳数限制(类似 IPv4 TTL)。

  2. M 标志位(Managed Address Configuration)

    • 0:不使用 DHCPv6 获取地址
    • 1:必须使用 DHCPv6 获取地址(状态化地址配置)
  3. O 标志位(Other Configuration)

    • 0:不使用 DHCPv6 获取其他配置
    • 1:使用 DHCPv6 获取 DNS、NTP 等其他信息
  4. 路由器寿命(Router Lifetime)主机将该路由器作为默认网关的有效时间(秒)。

  5. 前缀信息选项(Prefix Information)包含:

    • IPv6 网络前缀
    • 前缀长度
    • 前缀有效期(Preferred / Valid Lifetime)
    • 是否可用于地址自动配置(Autonomous Flag)
  6. MTU 选项通告链路 MTU,避免路径 MTU 发现失败。


四、RA 报文的典型交互流程

  1. 主机启动后发送 RS 报文。
  2. 路由器收到 RS 后立即发送 RA。
  3. 主机根据 RA 中的前缀生成 IPv6 地址。
  4. 主机将 RA 中的路由器链路本地地址设为默认网关。
  5. 主机完成 DAD 后正式使用地址。

作用

RA 报文用来让 IPv6 主机自动获得 IPv6 地址、默认网关和网络参数,从而实现无配置或少量配置即可上网

且RA 不仅用于 SLAAC,也用于告诉 IPv6 主机是否需要使用 DHCPv6、如何获取地址和其他配置信息,因此在 DHCPv6 环境中依然必不可少。

更具体一点:

  1. 在 SLAAC 模式下RA 直接提供前缀,主机自己生成地址,不需要 DHCPv6。

  2. 在 DHCPv6 模式下RA 通过 M、O 标志位告诉主机:

    • 是否需要向 DHCPv6 要地址(M=1)
    • 是否需要向 DHCPv6 要 DNS 等其他配置(O=1)同时 RA 仍然提供默认网关信息。

不设置 RA 周期时间,RA 会按默认周期(约 200 秒)自动发送,SLAAC 依然能正常工作,只是主机感知网络变化会慢一些。

dis ipv6 int eth《》

查看获取的ip 如图所示

并且服务器如果在这个接口有多个地址 则每个地址都会通过slaac分配到客户端

ipv6 nd autoconfig managed-ad

  • M 位设为 1 → 不用 SLAAC,终端必须通过 DHCPv6 拿地址;
  • M 位默认 0 → 用 SLAAC,终端自己用 RA 前缀生成地址。

ipv6 nd auto other

O 位设为 1,终端去 DHCPv6 要 DNS 这些参数;

O 位默认 0,终端直接从 RA 报文里拿这些参数。

NS报文

NS(Neighbor Solicitation,邻居请求)是 IPv6 NDP 的 ICMPv6 类型 135 报文,核心作用是查询链路上某 IPv6 地址对应的 MAC 地址(替代 IPv4 的 ARP),同时也用于重复地址检测(DAD)。

某设备(源地址::表示还没配好地址)发的 NS 报文,目标是组播地址 ff02::1:ff00:5(对应目标 IPv6 地址 2056::5 的请求节点组播地址),用来查 2056::5 的 MAC 地址。

同个请求节点组播地址不同前缀的都会在一个组收到这个报文

但是看完target后都会不理睬 只有有这个target的才会返回NA报文NA(Neighbor Advertisement,邻居通告)是 IPv6 NDP 的 ICMPv6 类型 136 报文,核心是回应 NS 请求,告诉对方自己的 IPv6 地址对应的 MAC 地址(替代 IPv4 的 ARP 响应),也会主动通知地址变化。

回复 NA 说明:持有目标 IPv6 地址的设备,在回应 NS 的 MAC 查询,或者主动告知自己的地址 / MAC 变化了

回复 NA 的时机:

  1. 收到 NS 请求时:当设备收到针对自己 IPv6 地址的 NS 报文,会发 NA 回应,告诉对方自己的 MAC 地址;
  2. 地址 / MAC 变化时:设备的 IPv6 地址或 MAC 更新后,会主动发 NA 通知邻居(比如接口重启、地址变更);
  3. DAD 检测时:若设备发现自己的地址和别人重复,会发 NA 宣告冲突。

冲突

谁后做谁出问题

然后地址解析

已知对方ipv6的地址不知道对方mac

ipv6也没有arp

直接通过ns 报文去问 对方na回复mac

地址解析的ns报文有源地址

冲突检测的ns报文无源地址为::

冲突检测na为组播

注意地址解析NA报文为单播!

NA 之后→终端 / 设备把对方的 IPv6 地址和 MAC 地址存进自己的邻居缓存表→之后发数据直接用这个 MAC 地址,不用再发 NS 查询

NA 让双方 “记住了对方的地址对应关系”,接下来就能直接通信了。

ipv6终端入网全流程

  • 终端启动,生成链路本地地址(LLA)如:fe80::xxxx:xxxx:xxxx:xxxx(这一步不需要 RA)

  • 终端发送 RS 报文目的:ff02::2(所有路由器)作用通告我来了

  • 路由器回复 RA 报文内容包括:

    • IPv6 前缀(如 2001:db8:1::/64)
    • 是否用 SLAAC(A 位)
    • 是否用 DHCPv6(M/O 位)
    • 默认网关(路由器自己的链路本地地址)
    • MTU 等参数
  • 终端根据 RA 生成全球单播地址(SLAAC)格式:前缀 + 接口标识(EUI‑64)例:2001:db8:1::aabb:ccff:fedd:eeff

  • 终端执行 DAD(重复地址检测)

    • 发 NS:目标地址 = 自己要使用的地址
    • 看有没有设备回复 NA
    • 有回复 → 地址冲突,不能用
    • 无回复 → 地址可用
  • 终端设置默认网关把 RA 报文中的路由器链路本地地址加入路由表。

  • 终端要和网关通信,发 NS 查询网关 MAC目标网关的 IPv6 地址目的地址:请求节点组播地址

  • 网关回复 NA,告诉终端自己的 MAC终端收到后,把 “IPv6 → MAC” 写入邻居缓存表。

  • 终端开始正常通信有了地址、网关、MAC,就能发 IPv6 数据包了跨链路转发

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 1:03:49

基于多尺度空洞注意力(MSDA)的YOLOv11改进与视觉识别优化

文章目录 毕设实战:基于多尺度空洞注意力(MSDA)的YOLOv11改进与视觉识别优化 一、技术背景与方案优势 二、环境搭建与依赖准备 2.1 虚拟环境配置 2.2 数据集准备 三、MSDA模块的代码实现 3.1 多尺度空洞注意力(MSDA)核心代码 3.2 嵌入MSDA到YOLOv11的Backbone 四、模型训练…

作者头像 李华
网站建设 2026/6/18 7:52:07

基于H-S FPN的YOLOv11 Neck模块优化(超轻量高精度特征融合方案)

文章目录 研发实战:基于H-S FPN的YOLOv11 Neck模块优化(超轻量高精度特征融合方案) 一、技术背景与方案价值 二、环境搭建与依赖配置 2.1 虚拟环境创建 2.2 数据集准备 三、H-S FPN模块的代码实现 3.1 分层特征选择(H-S)核心组件 3.2 H-S FPN的Neck结构实现 3.3 替换YOLOv…

作者头像 李华
网站建设 2026/6/28 17:47:39

Claude Code 算是被我玩明白了

坦白说,现在每个开发者都在用 AI 写代码,作为写了十年代码的老开发,我曾以为“熟练切屏”是程序员的必修课。但过去两年,我至少换了 5 款 AI 编程插件,每个工具都很好,但它们彼此是孤立的。我不得不在IDE、…

作者头像 李华
网站建设 2026/7/1 22:49:02

你以为日期选择器很简单?我刚进团队就被它狠狠干了一周

我最近加入了一个新团队。那种“成熟到可怕”的 Design System 团队:Figma 命名规矩、代码语义清晰、会议都有议程——你甚至能在日历里看到“讨论结束时间”。 但我第一次见识到他们的“当下大麻烦”,不是在什么战情室,也不是在发布事故复盘…

作者头像 李华
网站建设 2026/7/1 5:31:46

漫谈人机协同中的人机功能分配

在人机协同的分工逻辑中,“人杂机复”与“人道机术”是两种互补且有深度的视角,分别从任务属性和职能定位两个维度,揭示了人类与机器在协同中的核心优势与边界。两者结合,为人机协同的高效实现提供了完整的理论框架。一、基于任务…

作者头像 李华