转发丢包怎么办,我们该如何处理这个问题呢?
转发丢包问题排查思路
转发丢包问题的主要排查思路如下:
1)确认报文的转发路径和丢包的大概位置;
2)查看存在丢包的设备间的互连接口信息,排除互连接口配置不一致、链路问题和光模块问题;
3)查看互联接口流量大小,避免端口拥塞;
4)查看设备转发表项,排除路由震荡或者环路;
5)通过流量统计或者镜像抓包的方式,确认丢包具体位置;
6)查看设备状态信息,排除设备异常。
确认报文的转发路径和丢包的大概位置
对于丢包问题,首先要确认报文的转发路径和丢包的大概位置,缩小排查范围:
1)通过tracert,或者查看设备路由表,或者查看网络拓扑图的方式,确认报文转发路径;
2)在终端上依次ping转发路径上的网络设备,如果发现ping A设备不丢包,但是ping下一跳B设备丢包,则可以初步确认A设备,或者B设备,或者A设备和B设备之间的链路上存在转发丢包。
查看互连接口信息
确认了丢包的大概位置后,首先查看相关设备的互连接口信息,确认是否是接口存在错包导致网络丢包。通过命令行查看接口下看是否存在errors、frame、crc校验等错误计数,通过多次查看,看该计数是否在不断增加。
命令:display interface GigabitEthernet 3/0/1
例如:多次查看该命令,可以确认互连接口3/0/1有收到错包,且在不断增长。
排除互连接口配置不一致、链路问题和光模块问题
如果接口下如果存在错包计数,且在不断增加,可能是接口配置不一致、传输异常、光模块异常等原因导致,可以通过如下调整配置或者通过替换测试排查解决:
1)接口下配置不一致。检查互连接口的配置,看两端双工模式是否一致、封装模式是否一致,如果不一致则将两端修改为一致;
2)传输异常。传输质量差,或者中间传输设备异常也会导致设备接口下出现错包。可通过更换尾纤、链路等方式进行排查测试。对于电口,可更换网线、端口等方式进行排查测试;
3)光模块异常。如果设备通过光口互连,可通过如下命令判断光模块是否存在异常告警,光模块收发光功率是否异常。如果是,可替换光模块后再进行业务测试;
命令:display transceiver diagnosis interface GigabitEthernet 3/0/1、
display transceiver alarm interface GigabitEthernet 3/0/1
例如:通过命令查看,可以发现本端光模块发光功率明显偏低,超出临界值,且光模块有发光过低的告警。
排除问题后,通过ping测试看丢包现象是否还存在。
查看互连接口流量大小
如果接口下没有持续增长的错包或者没有告警等,可能是接口下流量过大或者存在限速,接口下发生拥塞导致丢包。
可以通过查看互连接口下流量大小,查看接口下是否存在限速或者流量整形等配置进行确认。另外如果接口下广播流量特别大,则可能存在环路。
命令:display interface GigabitEthernet 3/0/1
display qos policy interface gigabitethernet 3/0/1 inbound
例如:查看接口下配置可以发现接口下配置了限速,且接口下流量较大,通过命令可查看到接口下有拥塞丢包计数。
避免端口拥塞
如果通过上一步确认是因为存在限速或者流量过大等原因导致丢包,可根据现场实际情况进行调整解决。如和客户协调后,取消限速先关策略或适当增大限速速率、通过链路聚合来增大互连带宽,或者将部分流量迁移到其他端口等方法来避免互连接口下出现拥塞。
调整之后,通过ping测试看丢包现象是否还存在。
查看设备转发表项
如果接口下没有错报,而且流量较小或者未超过限速,则可能是设备的转发表项存在异常导致丢包。可通过多次查看设备路由表、arp表和mac表等转发表项看是否正常,如果表项存在异常肯定会影响报文转发。
命令:display arp | include 10.1.1.1
例如:通过命令查看,可以确认去往10.1.1.1的报文从G3/0/1接口学到,多次查看该表项,发现该arp发生了漂移。
排除路由震荡或者环路
通过多次查看各转发表项,如果发现路由时有时无、路由震荡或者arp漂移等现象,需要对该设备和相关链路进行排查。
对于路由震荡,可查看相应链路、协议状态是否稳定,可通过debug等方式测试设备相应协议报文收发包情况是否正常,可参考相关协议云图进行排查;对于环路问题需要根据相应接口逐步排查相应下连设备,排除环路。
在排除了环路或者路由震荡等异常后,再通过ping测试看丢包现象是否还存在。
确认丢包具体位置
如果各转发表项都是正常的,则需要确认丢包发生的具体位置,如某台设备或者某条链路上,再对其进行重点排查。
通过第一步排查步骤已经确认了丢包的大概位置,再在这几台设备的互连接口上做流量统计,来确认丢包发生在具体某台设备或者某条链路上。
流量统计配置参考如下:
命令:display qos policy interface g3/0/1
例如:终端总共ping了1000个测试报文,且在上一级设备出方向也正常统计到1000个报文,在本设备,通过如下命令查看可以确认设备的g3/0/1口只有收到990个测试报文,则可判断报文丢在中间传输设备或者传输链路上。
如果丢包发生在传输链路上,需要协调排查传输设备或者链路,如果丢包发生在网络设备上,则根据如下情况继续排查:
1)丢包发生在CPU转发设备上,如MSR、SR6600等设备,请按照后续步骤进一步查看该设备自身的状态信息是否正常;
2)丢包发生在硬件转发设备上,如S12500、SR88、S5500等设备,分为以下两种情况:
情况1:出现丢包的报文,在设备上只是做转发,即报文不上CPU处理,这种情况属于设备硬件转发丢包,可直接收集设备故障信息再拨打热线4008100504寻求帮助;
情况2:出现丢包的报文,是需要设备CPU处理的报文,例如,与设备接口地址互通的报文,请按照后续步骤进一步查看该设备自身的状态信息是否正常。
如果设备存在流量统计的限制,比如无法统计到出方向的转发报文数,则可以使用镜像抓包的方式来确认具体丢包位置。如果现场无法实施镜像抓包,请拨打热线4008100504寻求帮助。
授人以鱼不如授人以渔,有思路、分步骤进行分析,故障处理流程更加系统化,工作效率也会更高