运城市网站建设_网站建设公司_Java_seo优化
2026/1/16 10:14:19 网站建设 项目流程

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 数据包了跨链路转发

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询