首页/网络/IP 与子网速查/ICMPv6 类型速查:128/129、133–136 与错误消息
IPv6 与下一代网络42 条

ICMPv6 类型速查:128/129、133–136 与错误消息

ICMPv6 承担 NDP 职能,不能整类封禁:133 RS、134 RA、135 NS、136 NA、137 Redirect;连通性测试是 128/129(echo);错误类 1 不可达、2 包太大(PMTUD 依赖)、3 超时、4 参数错误。

IP 与子网速查网络更新于 2026-10-13

ICMPv6 承担了更多职责

在 IPv6 中 ICMP 不再是可选的辅助协议:邻居发现、路由器发现、地址冲突检测都依赖它,把它整类封禁会直接让网络瘫痪。常用类型里,128 与 129 是连通性测试,133 到 137 承担邻居与路由器发现及重定向,错误类则包含目的地不可达、报文过大、超时与参数错误,其中报文过大是路径 MTU 发现的关键。

基本信息

连通性测试128 回显请求与 129 回显应答,对应 ping 命令
路由器发现133 路由器请求、134 路由器通告
邻居发现135 邻居请求、136 邻居通告,替代 IPv4 的 ARP
重定向137,通知更优下一跳
错误消息1 目的地不可达、2 报文过大、3 超时、4 参数错误
防火墙要求必须放行邻居发现与报文过大,否则出现莫名不通

常用类型速查

类型名称用途
128 / 129回显请求与应答连通性测试
133 / 134路由器请求与通告发现路由器与获取前缀
135 / 136邻居请求与通告地址解析与冲突检测
137重定向告知更优下一跳
1目的地不可达错误报告
2报文过大路径 MTU 发现依赖
3超时跳数限制耗尽或分片重装超时

过滤命令

过滤命令
tcpdump -ni eth0 'icmp6 and ip6[40] == 135'   # 邻居请求
tcpdump -ni eth0 'icmp6 and ip6[40] == 134'   # 路由器通告
tcpdump -ni eth0 'icmp6 and ip6[40] == 128'   # 回显请求
tcpdump -ni eth0 'icmp6 and ip6[40] == 2'     # 报文过大
tcpdump -ni eth0 icmp6 | head -20             # 概览,含计数与长度

典型使用场景

  • 排查“地址有但完全不通”:抓包看邻居请求与通告是否往返,缺失往往是被防火墙拦截
  • 定位访问大文件失败:报文过大差错被拦截会导致路径 MTU 发现失败,小请求正常、大传输卡住
  • 排查路由异常:重定向报文可提示存在更优路径,需确认是否符合设计意图
  • 判断终端是否启用 IPv6:回显请求与通告的往返是最直接证据
  • 审计防火墙策略:确认邻居发现与报文过大两类消息被明确放行
把 ICMPv6 整类封禁会让 IPv6 直接不可用:邻居发现、路由器发现与路径 MTU 发现全部失效,症状是间歇性不通,排查成本很高。

易错点

  • 按 IPv4 习惯整体封禁 ICMP:IPv6 下这与封禁 ARP 等价,网络直接不可用
  • 只放通回显请求与应答:邻居发现仍被挡住,地址解析失败,表现为同段互 ping 不通
  • 忽略报文过大消息:路径 MTU 发现失败,小报文正常而大文件传输卡死,问题极难定位
  • 只在一端放行:邻居发现是双向交互,只放行单向等于没放

数据来源与参考

  • RFC 4443(ICMPv6)
  • RFC 4861(NDP)
  • RFC 4890(防火墙建议)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌