PC与S57交换机直连链路PING测试丢包问题分析

发布时间:  2016-12-20 浏览次数:  560 下载次数:  0
问题描述

某客户网络中,S5700交换机通过运营商透明链路直连PC或C厂商交换机。PC上通过Pingtester软件(或C厂商交换机)PING该交换机Vlanif的IP地址,想通过该方法来简单的测试直连链路的质量,却出现有规率的丢包情况。而如果将S5700交换机更换成C厂商交换机后,该类似测试结果则无丢包。另外如果在S5700端后面再接入一台PC,两台PC对PING测试,则结果也正常。

处理过程
1,收集信息

2,排除配置及链路质量问题

3,实验室复现该问题,并找到根因
根因
1,实验室复现测试可见,当PING包长为1500大包,速率为1s一个,超时时间设置为700ms时,PING包丢包率约10%。当将超时时间设置为5000ms时,测试显示没有丢包。说明PING测试过程中实际上交换机并没有发生丢包,PC上使用软件PING交换机显示丢包的原因是回程报文没有及时送达PC,是S5700处理PING包延时大造成的。当PING包长小于100时,超时时间设备为1000ms以下,测试结果正常无丢包。

2,造成这种测试结果的原因在于S5700交换机默认使能PING快回功能(即在交换机芯片的CPU上直接回复报文,而不需上送到单板CPU处理),小包PING测试由于无需上送CPU处理,所以测试结果正常无丢包。而当PING测试1500大包时,则由于涉及到大包分片,而交换芯片又不支持报文分片以及分片报文重组,必须要上送到单板CPU才能处理。并且当前版本中,CPU处理ICMP此类非重要业务协议的优先级较低,导致了S5700交换机处理大包PING测试的流程比较耗时,当其超过交换机的默认超时时间时,就会发生丢包的情况。

3,同时,如果在S5700端后面再接入一台PC,两台PC对PING测试时,S5700交换机仅做为报文转发设备(根本功能),可以实现快速转发,测试结果正常。
解决方案
此问题并非设备“故障”,只是测试方法跟交换机CPU处理报文的机制存在差别导致。
建议与总结

如果需要对交换机直连链路的质量进行此类简单PING测试,建议使用连接在交换机两端的PC来进行,避免由于交换机的原因而错判了链路质量的问题。

END