
IPv6 已经全面落地,很多网工容易混淆 ICMPv6 底层作用、NDP 邻居发现七大功能、SLAAC 无状态自动配置整套流程。本文完全基于课件内容,先拆解底层原理,再配套可直接上机、带完整注释的华为配置,全程专注 ICMPv6 与 NDP、SLAAC 核心知识点。
一、IPv6 底层基石:ICMPv6 完整原理
1. 基础定义
ICMPv6 是 IPv6强制内置基础协议,区别于 IPv4 可选 ICMP:
IPv6 头部Next Header = 58代表载荷为 ICMPv6 报文;
所有报错、邻居交互、Ping 探测、PMTU 路径 MTU 发现、NDP 邻居报文全部依托 ICMPv6 承载;
Type 字段区分两大报文类别:
差错报文:Type 0~127,用于转发故障通知;
信息报文:Type 128~255,用于探测、地址自动配置、邻居交互。
2. ICMPv6 差错报文(Type 1/2/3/4)
差错报文由转发失败设备发送,告知源主机传输失败原因:

核心规则:IPv6 路由器禁止中途分片,分片仅由源主机完成,PMTU 发现依靠 Type=2 超长差错报文实现。
PMTU 工作流程:

3. ICMPv6 通用信息报文
(1)Ping 探测报文
Type=128 Echo Request:ping 请求报文;
Type=129 Echo Reply:ping 回复报文;
两端交互验证 IPv6 连通性。

(2)NDP 邻居发现专用报文(Type133~137)
NDP 所有交互报文均属于 ICMPv6 信息报文,是 IPv6 局域网核心:
二、IPv6 核心协议:NDP 邻居发现协议(RFC2461)
1. NDP 七大核心功能(替代 IPv4 ARP + 网关发现)
2. NDP 五大报文交互规则
(1)RS+RA 网关与前缀下发(SLAAC 核心)
RS 报文(Type133)
RA 报文(Type134)
两种发送模式:

(2)NS+NA 地址解析 & DAD 重复地址检测
PC 发送 NS 查询目标 IPv6,目标设备回复 NA 携带 MAC;
优势:三层解析,兼容光纤、无线等所有二层介质,可叠加三层安全防护,组播请求降低广播风暴。

2. DAD 重复地址检测
所有单播地址(链路本地 / 全球)启用前必须执行 DAD:

(3)Redirect 重定向(Type137)
网关发现终端存在更优转发下一跳时,发送重定向报文,告知主机更新路由,优化转发路径。

3. IPv6 邻居 5 种状态与状态迁移
通过display ipv6 neighbors查看邻居表,5 种状态:

状态迁移逻辑:
Empty→发送 NS→Incomplete;收到 NA→Reachable;30s 无流量→Stale;发送数据触发 Delay;Delay 超时进入 Probe;多次无响应回到 Empty。
4. RA 三大关键标记 M / O / A(控制 SLAAC 行为)
1)M-bit(managed-address-flag)
配置命令:ipv6 nd autoconfig managed-address-flag
2)O-bit(other-flag)
配置命令:ipv6 nd autoconfig other-flag

3)A-bit(Autonomous 自动配置位,前缀内标记)
配置命令:发布前缀时携带no-autoconfig关闭 A 位
ipv6 nd ra prefix 2001:123::/64 10000 5000 no-autoconfig

4)前缀附加参数 off-link
配置off-link后,终端不会生成该网段 NDP 直连路由,仅生成单主机明细路由。

5. RA 前缀双生存期(地址老化逻辑)
发布前缀时配置两个时间参数,控制地址生命周期:
地址正常使用周期,超时进入 Deprecated 状态;
Deprecated 特性:仅能被动接收连接,无法主动发起新会话,用于平滑网段切换,旧业务不断连。
2. Valid Lifetime(有效总时间)
地址完整存活时长,超时直接变为 Invalid,所有连接断开。

三、SLAAC 无状态地址自动配置 完整原理 + 带注释配置
1. SLAAC 完整工作流程

2. 路由器侧完整 SLAAC 配置(M=0 O=0,纯无状态)
# 接口基础IPv6配置
interface GigabitEthernet 0/0
ipv enable # 接口开启IPv6功能
ipv6 address 2001:123::254/64 # 接口静态全球前缀
ipv6 address FE80::254 link-local # 手动指定链路本地地址(可选,不配置自动生成)
# RA报文周期参数配置
ipv6 nd ra max-interval 600 # RA最大发送间隔600秒(设备默认值)
ipv6 nd ra min-interval 200 # RA最小发送间隔200秒
ipv6 nd ra router-lifetime 1800 # 网关路由存活时长1800秒
ipv6 nd ra preference high # 网关优先级high,多路由器实现负载分担
undo ipv6 nd ra halt # 华为设备默认关闭RA,该命令开启RA发送
# 不配置managed/other,M=0 O=0,纯SLAAC场景
# 发布网段前缀:前缀/掩码 有效时间 优选时间
ipv6 nd ra prefix 2001:123::/64 2592000 604800
# 扩展:发布第二个网段前缀示例
# ipv6 nd ra prefix 2003:123::/64 10000 5000 off-link no-autoconfig
# off-link:不生成直连路由;no-autoconfig:关闭A位,禁止SLAACinterface GigabitEthernet 0/0
ipv6 enable
ipv6 address auto global # 仅基于RA前缀生成全球地址,无默认路由模式 2:生成 IPv6 + 自动获取 RA 默认网关(推荐)
interface GigabitEthernet 0/0
ipv6 enable
# auto global default:生成SLAAC地址,同时学习RA中的默认网关路由
ipv6 address auto global default重点说明:SLAAC 生成的默认路由,下一跳永远是路由器链路本地地址;多台路由器同时发布 RA,可通过ipv6 nd ra preference设置高低优先级实现网关负载分担。
四、华为设备排错核心命令(ICMPv6/NDP/SLAAC 专用)
# 1. 查看接口全部IPv6信息、地址状态、DAD开关、链路本地地址
display ipv6 interface GigabitEthernet 0/0
# 2. 查看邻居表(IPv6与MAC映射,排查NS/NA解析故障)
display ipv6 neighbors
# 3. 查看IPv6路由表,检查SLAAC学习的默认网关、前缀路由
display ipv6 routing-table
# 4. 查看接口RA完整配置:间隔、优先级、M/O标记、发布前缀
display ipv6 nd interface GigabitEthernet 0/0五、核心知识点总结