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

H3C CR16000系列路由器,ping测试异常

1小时前提问
  • 0关注
  • 0收藏,27浏览
粉丝:0人 关注:0人

问题描述:

两个CR16000系列路由器直连,路由器A上面静态用静态把一个/32的地址指向路由器B,路由器B用的默认路由。ping /32的地址时出现异常,ping时加TTL参数,TTL为奇数时能通,为偶数时不通。即使在A路由器上ping也是这样的情况。请问有人遇到过这种情况吗?这是什么原因导致的?怎么解决?

3 个回答
粉丝:13人 关注:9人

故障原因
这是路由来回路径不一致+设备逐跳TTL奇偶校验/ICMP报文转发机制共同导致的典型现象,核心是CR16000的分布式转发架构下,/32静态路由的出方向迭代、默认路由回包的转发路径存在ECMP(等价多路径),且不同业务板卡/转发芯片对TTL奇偶报文的处理路径有差异:
1. 路由器A的/32静态路由指向B,B用默认路由回包,来回路径存在多条等价路径(比如跨板转发的不同链路、聚合组成员口)。
2. 部分CR16000转发芯片会基于TTL值的奇偶性做哈希选路,奇数TTL和偶数TTL选中的出路径不同,其中一条路径存在单向不通(比如某条链路中间有阻断、某板卡转发故障、或者B的默认路由迭代到了错误下一跳)。
3. 本地ping也异常,是因为本地发起的ping报文上送主控后,转发面仍按哈希选路,偶数TTL选中的路径回包无法到达本板CPU。
排查步骤&命令
1. 先确认路由和等价路径:

A上看/32路由的出接口/下一跳,是否有多个
display ip routing-table x.x.x.x 32 verbose
B上看默认路由的出接口/下一跳,是否有多个
display ip routing-table 0.0.0.0 0 verbose

2. 检查直连链路、聚合组成员口状态,是否有隐性故障:

display interface brief
display link-aggregation verbose

3. 跟踪不同TTL的转发路径,验证路径差异:

A上用指定源ping,同时抓包或看逐跳
tracert -a x.x.x.x(/32地址) 对端直连地址
分别用奇数/偶数TTL ping,指定出接口测试是否正常
ping -t 1 -i GigabitEthernetx/x/x x.x.x.x
ping -t 2 -i GigabitEthernetx/x/x x.x.x.x

4. 检查是否存在ICMP报文限速、板卡转发异常:

display cpu-defend statistics
display packet-drop interface GigabitEthernetx/x/x

解决方法
1. 若存在ECMP,调整路由优先级让来回路径一致,或修改哈希算法(不基于TTL哈希):
全局修改IP转发哈希因子,去掉TTL
ip load-sharing mode per-flow dest-ip source-

暂无评论

粉丝:162人 关注:11人

先做流量统计定位下丢包位置

暂无评论

粉丝:25人 关注:2人

一、现象本质总结
两台 CR16000 直连:
A:配置 ip route-static X.X.X.X 255.255.255.255 对端互联IP(/32 静态路由指向 B)
B:依靠默认路由回程
ping 目标 / 32 地址:TTL 奇数可通、偶数不通;就算在路由器 A 本机 ping 也复现故障
该现象是 CR16000 分布式转发 + ECMP 等价路由哈希选路特性 导致的经典故障,新华三知了社区有同型号同款案例。
二、完整故障成因
1. CR16000 硬件架构前提
CR16000 是分布式主控 + 多业务板转发架构,转发芯片做 ECMP 负载分担时,默认以 五元组哈希(含 TTL 字段参与哈希计算) 来选择转发板卡 / 聚合成员链路。
奇数 TTL、偶数 TTL 经过哈希计算后,会命中两条不同的回程转发路径。
2. 来回路径不对称 + 其中一条路径单向阻断
正向报文(A→B):A 的 / 32 静态路由只有唯一下一跳,走固定链路送到 B,不会负载分担;
回程报文(B→A):B 依靠默认路由回程,若 B 的默认路由存在 ECMP 等价多路径(比如默认路由迭代到 2 条聚合链路、跨业务板转发通道),回程报文会被哈希分流;
因为 TTL 参与哈希:
TTL=奇数:回程命中正常链路,ICMP 回复顺利回到 A,ping 通;
TTL=偶数:回程命中异常链路(某业务板转发故障、聚合成员单向阻断、ACL 丢弃回程报文、芯片 FTN 表项异常),报文被丢弃,ping 不通。
3. 为什么在路由器 A 本机 ping 也能复现?
即便本地发起 ping,ICMP 请求报文上送主控 CPU 后,下发转发面时依然会执行全局 ECMP 哈希逻辑,偶数 TTL 依然会命中故障回程路径,因此本机测试故障依旧存在。
4. 补充隐性诱因
B 的默认路由存在 2 条及以上等价下一跳(聚合口、多上联链路形成 ECMP);
CR16000 老版本固件存在缺陷:TTL 纳入 ECMP 哈希因子,新版本默认剔除 TTL 做哈希;
聚合组成员链路存在单通故障(发方向正常、收方向丢包)。
三、分步排查验证(由浅入深)
步骤 1:确认 B 设备默认路由是否存在 ECMP 等价路径
登录路由器 B 执行:
bash
display ip routing-table 0.0.0.0 0 verbose
若输出 ECMP: Yes、存在多个出接口 / 下一跳 → 确认回程存在等价负载分担,命中故障前提;
若默认路由只有唯一下一跳,排查聚合链路单通、业务板硬件故障。
步骤 2:验证是否链路单通
在 B 上关闭默认路由其中一条 ECMP 下一跳,再次 ping 测试:
关闭其中一条等价路由后,奇偶 TTL 全部正常连通 → 证明被关闭的这条链路单向阻断;
排查 B 默认路由对应的聚合口成员状态:
bash
display link-aggregation summary
display link-aggregation member-port
查看聚合成员端口是否存在入方向丢包、CRC 错误。
步骤 3:查看转发芯片 ECMP 哈希因子(确认 TTL 参与哈希)
CR16000 查看 ECMP 哈希配置:
bash
display ecmp hash-mode
老固件默认哈希因子包含 TTL,偶数、奇数 TTL 分流至不同链路。
四、4 种落地修复方案(推荐顺序 1→2→3→4)
方案 1(最简临时修复,立刻生效):消除回程 ECMP,让回程只有唯一路径
在路由器 B 上,给回程指向 A 的网段写精确静态路由,替换默认路由回程,彻底消除 ECMP 负载分担:
bash
# 假设A互联网段为 100.2.1.0/30,A互联地址100.2.1.1
ip route-static 100.2.1.0 255.255.255.252 100.2.1.1 preference 50
回程不再走默认路由的 ECMP 路径,所有 TTL 报文走同一条链路,奇偶 TTL 全部正常连通。
方案 2(根治方案,修改 ECMP 哈希模式,剔除 TTL 字段)
修改设备全局 ECMP 哈希策略,不再将 TTL 作为哈希因子,无论 TTL 奇偶,报文命中同一条回程路径:
bash
system-view
ecmp hash-mode src-dst-ip src-dst-port protocol
# 仅用五元组基础字段哈希,不纳入TTL
save
新版本 CR16000 固件出厂默认已经移除 TTL 哈希因子,老固件建议升级配套版本。
方案 3:修复聚合链路单通故障
定位聚合内故障成员端口,更换光模块 / 光纤;
聚合模式修改为静态聚合,关闭 LACP 乱序分担;
bash
link-aggregation group X mode static
方案 4:升级 CR16000 固件版本
升级至 R7174 及以上正式版本,新版本修复了「TTL 参与 ECMP 哈希」的设计缺陷,从底层规避该奇偶 TTL 分流故障。
五、补充避坑说明
不要怀疑 / 32 路由配置错误:正向路由是唯一路径,正向转发永远正常,问题只出在回程 ECMP 分流;
若两台设备是直连三层接口无聚合,故障基本是 B 设备业务转发板硬件异常,更换业务板即可;
复现测试方法:固定 TTL=3(奇数通)、TTL=4(偶数断),关闭 B 其中一条 ECMP 路由后,TTL=4 也能通,即可完全定位故障链路。
精简总结
病根:B 回程默认路由存在 ECMP 等价链路 + CR16000 老固件 TTL 参与哈希,奇偶 TTL 分到两条回程链路,其中一条链路单向丢包;
最快解决:在 B 配置指向 A 互联网段的精确静态路由,取消回程 ECMP;
长久根治:修改 ECMP 哈希模式、升级固件剔除 TTL 哈希因子。

暂无评论

编辑答案

你正在编辑答案

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

分享扩散:

提出建议

    +

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

确定

亲~检测到您登陆的账号未在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. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

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

不规范转载

×

举报说明