张文宁,某局点S12508F 无法转发特定IP过路的TCP报文问题
组网及说明
/
告警信息
/
问题描述
现场一台S12500F作为DSW设备,组网中有个特定IP的80端口TCP报文,测试发现经过S12500F转发不通,ICMP报文是正常的,客户通过流统初步怀疑是DSW设备丢弃报文导致:
过程分析
远程登录设备,通过在两台DSW流量统计,测试发现回程报文偶尔无法到DSW、偶尔到DSW无法转发的现象,当报文转发到DSW但无法转发时,把报文镜像到CPU,发现仍无法转发:
同时从CPU看,发现有ipv4_checksum_error报错,说明报文格式有问题,所以S12500F将该报文丢弃了:
*Oct 10 11:45:40:391 2022 DSW-VM-G1-P-2.AM11 DRVPLAT/7/RxTxDebug: -MDC=1-Slot=2;
DPP Rx: unit=2, rcpu=N, fwd_type=trap, trap=Y[code=148(ipv4_checksum_error)/qualifier=0], snoop=N[cmd=-], sys_port=0x0040(mod=5/port=5), hdr_size=26, pkt_size=70, tc=1, cos=0, fwd_code=7, rif=0, ac=0,length=26
-----------------------------------------------------
0000 01 78 80 20 00 12 00 00 08 eb 00 92 17 08 00 00
0010 00 00 00 00 00 69 00 00 00 00
-----------------------------------------------------
-----------------------------------------------------
0000 38 a9 1c 8f 86 01 bc 22 47 7a bf 39 81 00 0f ff
0010 08 00 45 00 00 34 00 00 40 00 3c 06 ff ff 0c e8
0020 22 31 0c e8 01 c4 00 50 dd 22 80 da 30 12 3e bf
0030 e9 d6 80 12 a5 64 d4 f0 00 00 02 04 05 a4 01 01
0040 04 02 01 03 03 09
因此怀疑是上行设备或者原始报文的问题,进一步展开报文明细,发现对应的checksum为0xffff,该校验和在S9850/S6850上老版本有已知软件问题:转发校验和为0xFFFF的报文时没有重新计算导致的下一跳设备校验和失败错误丢弃报文。
进一步在LSW侧抓包确认,发现进来LSW时的回程报文,也是0xffff,说明LSW在转发的时候命中了该已知问题,并且没有修改checksum值,导致的S12500F丢弃了报文:
解决方法
临时规避措施:
1.修改源终端ip或者目的ip尝试。
彻底解决方案:
1.升级E6706(不推荐前方使用该版本)。
2.推荐升级预计年底发布的R67xx版本。
CRM论坛(CRMbbs.com)——一个让用户更懂CRM的垂直性行业内容平台,CRM论坛致力于互联网、客户管理、销售管理、SCRM私域流量内容输出5年。 如果您有好的内容,欢迎向我们投稿,共建CRM多元化生态体系,创建CRM客户管理一体化生态解决方案。本文来源:知了社区基于知识共享署名-相同方式共享3.0中国大陆许可协议,某局点S12508F 无法转发特定IP过路的TCP报文问题