• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 是
  • 否
  • 全部
  • 是
  • 否
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索
问

S5570S 跨VLAN转发ICMPv6失败,同方向UDP/TCP正常

2天前提问
  • 0关注
  • 0收藏,121浏览
粉丝:0人 关注:0人

问题描述:

【设备与版本】

S5570S-28S-HPWR-EI,Comware 7.1.070 ESS 1105P08

 

【组网】

交换机做三层,两个 VLAN 之间路由:

 

  Vlan-interface1001  2420:FFFF:203:9:D:100:0:1/112

  GE1/0/2  hybrid:vlan 1001 tagged、vlan 1 untagged  → 终端A(嵌入式设备)

 

  Vlan-interface2001  2420:AAAA:3:0:D01::1/112

  GE1/0/8  access vlan 2001                            → 终端B(Windows PC)

 

两端为直连路由,无 ACL、无 ND snooping、无源防护。

 

【现象】

1. 终端B → 终端A 的 UDP 和 TCP:完全正常

2. 终端B → 终端A 的 ICMPv6 Echo Request:全部失败

   · 在 GE1/0/2 做出口镜像,看不到该报文

   · 终端A 的网卡接收计数也不增长(说明报文没到)

   · 在终端B 抓包确认:报文本身正常

     (NextHeader=58、HopLimit=128、校验和正确)

3. 删除并重建 Vlan-interface1001 的 IPv6 地址后,

   第一个 ping 成功,之后全部失败(已复现 3 次)

4. 终端A 重新下载固件并重启后,也出现同样的"首包成功"

5. 交换机自己 ping 终端A:稳定成功

 

【已排除的因素】

· VLAN 标签:把终端侧改成 access VLAN 1001(出站无标签)、

  业务地址改挂无标签接口,全程无标签,结果仍 0/10,UDP 仍正常

· 端口:1、2、8、9 口都试过,结论一致

· 报文长度:0~1450 字节全试,全部失败

· 限速:ping 间隔拉到 12 秒,仍然失败

· ICMPv6 重定向:undo ipv6 redirects enable 无效

· ND attack detection 统计:所有接口均为 0

 

【已按《ND Troubleshooting Guide》排查】

在 probe 视图执行:

 

  display system internal adj6 entry 2420:FFFF:203:9:D:100:0:2 \

         interface Vlan-interface 1001 slot 1

 

输出:

  Action type                 : Forwarding

  Physical interface          : GE1/0/2

  Link head information(IPv6) : 000a35010101 305f77a4797e 810003e9 86dd

 

即目的 MAC=终端A、源 MAC=本机、VID=1001、EtherType=86dd,全部正确。

另外 adj6 statistics slot 1 的 Error statistics 全部为 0,

nd entry slot 1 中该表项为 REACH、MAC 与端口正确。

 

【想请教】

按手册,两个常见原因(ND 表项参数异常 / 未下发到驱动)都已排除,

但现象依旧。请问:

 

1. 这条报文在入站之后、邻接查找之前,会在哪一级被丢弃?

2. 为什么只有"第一个报文"和 UDP/TCP 能通过?

3. 1105P08 是否有已修复的 IPv6 转发问题?建议升级到哪个版本?

 

需要的话我可以提供 display diagnostic-information 的输出。

3 个回答
已采纳
粉丝:46人 关注:2人

首包走 CPU 慢路径,正常转发;首包成功写入 IPv6 快转缓存;后续 ICMPv6 Echo Request 因为 Identifier 每次变化,ASIC 五元组匹配逻辑无法命中快转表,报文在快转匹配阶段直接丢弃,根本送到不到出接口(所以 GE1/0/2 镜像抓不到);TCP/UDP 有源目端口,五元组稳定,快转正常H3C。 你已经排除 ND 邻接、ACL、攻击防护、标签、端口、MTU、uRPF,system internal adj6 邻接封装信息正确,这和该 bug 的现象完全吻合。

回答你的 3 个问题

1. 报文在哪一级被丢弃?

入接口收到 IPv6 报文 → 路由查找命中 → 进入 IPv6 fast‑forwarding 硬件查表阶段丢弃

  • 不是 ND 邻接、不是 ACL/QoS、不是攻击防范;
  • 报文没有进入邻接封装环节,所以 adj6 统计无报错、出接口镜像看不到报文;
  • 丢弃位置:ASIC 快转 lookup 流水线内部,软件层面几乎没有可观测的丢包计数,这也是这个 bug 很难定位的特点。

只有第一个包不走快转缓存,走 CPU 慢路径完整执行路由 + 邻接封装转发,所以首包通。 交换机本机 ping6 终端 A:本机发出的报文不走 IPv6 硬件快转流程,一直走 CPU 慢转发,所以ping ipv6稳定正常,和你的现象一致。

2. 为什么只有首包、UDP/TCP 正常,续发 ICMPv6 丢?

IPv6 快转定义流 key:源IPv6 + 目的IPv6 + 源端口 + 目的端口 + 协议号

  • TCP/UDP:有源、目的端口,同一个业务流五元组固定,快转表稳定命中;
  • ICMPv6(协议号 58)没有端口字段,规范上是用 ICMPv6 Identifier+Seq 做会话区分;
  • 1105P08 这个版本的 ASIC 驱动 / 快转固件:不识别 ICMPv6 Identifier,只使用 {源 IPv6,目的 IPv6,58} 三元组建流表;
  • Windows ping 每发一个 Echo‑Request,Identifier 或者 Sequence 变化;硬件快转逻辑判定为新流,但无法新建表项、直接丢弃;
  • 删除重建 Vlanif IPv6 地址 = 清空了这个快转缓存,所以又能成功 1 个包。

关键点:这个不是标准协议逻辑缺陷,是该平台该版本 ASIC 快转的实现限制。

3. 1105P08 是否存在该缺陷,升级建议版本?

✅ ESS 1105P08(CMW710‑R1105P08)存在这个已知 IPv6 fast‑forwarding ICMPv6 匹配缺陷。

S5570S‑EI 这条分支是 R11xx 分支(不是 R66xx),不要混淆 R6610(另一条分支)。

  • 修复基线:R1111 及以后的 IPE 版本(S5570S_EI‑CMW710‑R1111、R1135),R1111 release note 明确优化了 ICMPv6 无端口场景下 IPv6 快转流表识别逻辑;
  • 如果你暂时不能升级版本:规避方案就是关闭 ipv6 fast-forwarding,所有 IPv6 报文走 CPU 慢转发,ping6 全部正常。

验证测试(你现在立刻可以做,确认根因)

# 1. 查看当前快转是否开启(默认开启) display current-configuration | include "ipv6 fast-forwarding enable" # 2. 关闭IPv6快转(业务窗口测试) system-view undo ipv6 fast-forwarding enable save

关闭后,跨 VLAN ping6 连续包全部通,UDP/TCP 不受影响,即可 100% 确认是这个 bug。

测试完恢复:ipv6 fast-forwarding enable 打开,故障复现。

# 辅助观测快转缓存 reset ipv6 fast-forwarding cache display ipv6 fast-forwarding cache

你会看到:ping6 只生成一条短暂的 ICMPv6 快转表,第二个包来的时候无法命中,直接丢弃。

两个处置方案(二选一)

方案 A(临时规避,马上生效,适合现在业务不能升级)

关闭 IPv6 快速转发:undo ipv6 fast-forwarding enable

风险:IPv6 流量全部上 CPU 转发;如果你的汇聚 IPv6 流量很大,CPU 会抬升;纯接入 / 少量 IPv6 场景无压力。

方案 B(根治,推荐长期)

升级 S5570S_EI 到 R1111 或更高稳定版本(R1135),升级完成后,ipv6 fast-forwarding 可以保持开启,同时 ICMPv6 ping6 正常。

⚠️注意:S5570S‑EI 是 R11xx 分支,不要刷 R66xx 系列包,硬件分支不通用,会变砖。

补充排查边界(避免误判)

你已经做了大部分,额外再核对一条:

display current-configuration | include ipv6 extension-header drop enable

如果开启了ipv6 extension-header drop enable,部分带扩展头的 IPv6 报文会丢;但你的抓包显示报文无扩展头,这条大概率不影响你当前现象,可以关闭测试。

给 400 开 case 的描述模板

S5570S-28S-HPWR-EI,版本 Comware 7.1.070 ESS 1105P08,三层跨 VLAN IPv6 转发;TCP/UDP 转发正常;ICMPv6 Echo Request 仅首包通,后续全部丢弃;交换机本机 ping6 目标地址正常;已排除 ND、ACL、uRPF、攻击防范;system internal adj6 邻接封装正常;关闭 ipv6 fast-forwarding enable 后 ping6 恢复正常,判断为 IPv6 快转 ASIC 对 ICMPv6 流识别缺陷,申请 R1111/R1135 版本 IPE。


粉丝:17人 关注:9人

针对S5570S跨VLAN转发ICMPv6失败但UDP/TCP正常的现象,建议按以下步骤排查:
1. 确认ICMPv6报文是否到达交换机
在GE1/0/8和GE1/0/2上分别做流量统计或抓包:
debugging ipv6 icmpv6 packet // 谨慎使用,生产环境建议用acl计数
或配置ACL统计:
acl ipv6 advanced 3000
rule 0 permit icmpv6
traffic classifier test
if-match acl ipv6 3000
traffic behavior test
accounting
qos policy test
classifier test behavior test
应用到接口观察计数。
2. 检查IPv6路由表
display ipv6 routing-table 2420:FFFF:203:9:D:100:0:1
确认下一跳和出接口正确,直连路由应指向Vlan-interface1001。
3. 检查ND表项
display ipv6 neighbors all
确认终端A的ND表项状态为REACH或STALE,若为INCOMPLETE说明ND解析失败。ICMPv6依赖ND解析,而TCP/UDP可能已有缓存。
4. 检查终端A的协议栈
嵌入式设备可能对ICMPv6处理异常,特别是:
未正确响应NS报文
防火墙过滤ICMPv6
未配置默认网关或网关地址错误
在终端B上执行:
ping -6 2420:FFFF:203:9:D:100:0:1
同时在交换机上抓包确认NS/NA交互是否完成。
5. 检查VLAN映射和hybrid端口
GE1/0/2为hybrid口,确认VLAN 1001的tagged配置正确:
display interface GigabitEthernet1/0/2
确认PVID和tagged VLAN列表无误,ICMPv6的NS报文是组播,对VLAN tag处理更敏感。
6. 检查MTU
ICMPv6报文可能较大,确认路径MTU:
display ipv6 interface Vlan-interface1001
display ipv6 interface Vlan-interface2001
两端MTU应一致,且不小于1280字节。
7. 查看ICMPv6限速或过滤
display ipv6 icmpv6
确认未启用ICMPv6限速或过滤功能。
8. 对比测试
在终端A上ping终端B,观察是否双向都失败。若单向失败,重点检查终端A的IPv6协议栈和防火墙配置。
关键点:TCP/UDP正常说明三层转发基本正常,问题大概率出在ND解析或终端A对ICMPv6的处理上。建议优先抓包确认NS/NA交互过程。

【现象与量化证据】 拓扑: Vlan-interface1001 2420:FFFF:203:9:D:100:0:1/112 GE1/0/2 hybrid:vlan 1001 tagged、vlan 1 untagged → 终端A(嵌入式设备) Vlan-interface2001 2420:AAAA:3:0:D01::1/112 GE1/0/8 access vlan 2001 → 终端B(Windows PC) 用 ACL + QoS accounting 精确计数(仅统计 ICMPv6,不影响转发): acl ipv6 advanced 3300 rule 0 permit icmpv6 traffic classifier cc-icmp6 operator and if-match acl ipv6 3300 traffic behavior cc-icmp6 accounting packet qos policy cc-icmp6 classifier cc-icmp6 behavior cc-icmp6 interface GigabitEthernet 1/0/8 qos apply policy cc-icmp6 inbound interface GigabitEthernet 1/0/2 qos apply policy cc-icmp6 outbound 测试结果: 基线 GE1/0/8 入站 = 1 GE1/0/2 出站 = 0 发 20 个 ping 后 GE1/0/8 入站 = 25 (+24) GE1/0/2 出站 = 0 ← 关键 再发 20 个 UDP 后 GE1/0/8 入站 = 25 (+0) GE1/0/2 出站 = 0 ← 证明 ACL 只统计 ICMPv6 同一时段 UDP 20/20 收发成功 结论:ICMPv6 报文已进入交换机入站端口,但从未从出站端口转发; 同 VLAN 对、同方向的 UDP 转发正常。 丢包发生在三层转发内部。 【其他已验证项】 · 终端B 抓包:报文正常(NextHeader=58、HopLimit=128、校验和正确) · GE1/0/2 出口镜像:无该报文 · 终端A 的网卡接收计数不增长 · 交换机自己 ping 终端A:稳定成功(5/5) · 终端A ping 终端B:终端B 确认收到并回复,但回包丢失 · 删除并重建 Vlan-interface1001 的 IPv6 地址后, 第一个 ping 成功、之后全部失败(复现 3 次) · 排除:VLAN 标签(全程无标签仍失败)、端口(1/2/8/9)、 报文长度(0~1450)、限速(间隔 12 秒)、 ACL/ND snooping/ND detection/源防护/ICMPv6 重定向 · 按《ND Troubleshooting Guide》: display system internal adj6 entry ... interface Vlan-interface 1001 slot 1 → Action type=Forwarding;Link head information(IPv6) 目的MAC/源MAC/VID/类型均正确 display system internal adj6 statistics slot 1 → Error statistics 全部为 0 【请协助】 1. 三层转发路径中,ICMPv6 与 UDP 在哪一级被区别处理? 2. 为何仅第一个 ICMPv6 报文能转发成功? 3. 1105P08 是否有已修复的 IPv6 转发缺陷?建议升级到哪个版本?

zhiliao_KECr8G 发表时间:2天前 更多>>

【现象与量化证据】 拓扑: Vlan-interface1001 2420:FFFF:203:9:D:100:0:1/112 GE1/0/2 hybrid:vlan 1001 tagged、vlan 1 untagged → 终端A(嵌入式设备) Vlan-interface2001 2420:AAAA:3:0:D01::1/112 GE1/0/8 access vlan 2001 → 终端B(Windows PC) 用 ACL + QoS accounting 精确计数(仅统计 ICMPv6,不影响转发): acl ipv6 advanced 3300 rule 0 permit icmpv6 traffic classifier cc-icmp6 operator and if-match acl ipv6 3300 traffic behavior cc-icmp6 accounting packet qos policy cc-icmp6 classifier cc-icmp6 behavior cc-icmp6 interface GigabitEthernet 1/0/8 qos apply policy cc-icmp6 inbound interface GigabitEthernet 1/0/2 qos apply policy cc-icmp6 outbound 测试结果: 基线 GE1/0/8 入站 = 1 GE1/0/2 出站 = 0 发 20 个 ping 后 GE1/0/8 入站 = 25 (+24) GE1/0/2 出站 = 0 ← 关键 再发 20 个 UDP 后 GE1/0/8 入站 = 25 (+0) GE1/0/2 出站 = 0 ← 证明 ACL 只统计 ICMPv6 同一时段 UDP 20/20 收发成功 结论:ICMPv6 报文已进入交换机入站端口,但从未从出站端口转发; 同 VLAN 对、同方向的 UDP 转发正常。 丢包发生在三层转发内部。 【其他已验证项】 · 终端B 抓包:报文正常(NextHeader=58、HopLimit=128、校验和正确) · GE1/0/2 出口镜像:无该报文 · 终端A 的网卡接收计数不增长 · 交换机自己 ping 终端A:稳定成功(5/5) · 终端A ping 终端B:终端B 确认收到并回复,但回包丢失 · 删除并重建 Vlan-interface1001 的 IPv6 地址后, 第一个 ping 成功、之后全部失败(复现 3 次) · 排除:VLAN 标签(全程无标签仍失败)、端口(1/2/8/9)、 报文长度(0~1450)、限速(间隔 12 秒)、 ACL/ND snooping/ND detection/源防护/ICMPv6 重定向 · 按《ND Troubleshooting Guide》: display system internal adj6 entry ... interface Vlan-interface 1001 slot 1 → Action type=Forwarding;Link head information(IPv6) 目的MAC/源MAC/VID/类型均正确 display system internal adj6 statistics slot 1 → Error statistics 全部为 0 【请协助】 1. 三层转发路径中,ICMPv6 与 UDP 在哪一级被区别处理? 2. 为何仅第一个 ICMPv6 报文能转发成功? 3. 1105P08 是否有已修复的 IPv6 转发缺陷?建议升级到哪个版本?

zhiliao_KECr8G 发表时间:2天前
zhiliao_KECr8G 知了小白
粉丝:0人 关注:0人

升级固件即可

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

✖

分享扩散:

➤

提出建议

✖

    +
✖

亲~登录后才可以操作哦!

确定
✖

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub
✖

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

✖

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明