如何解决网络丢包问题?网络丢包怎么解决?网络丢包通常是比较难以排查的问题,因为造成网络丢包的原因很多,排查此类问题需要很长的时间。本案例中,通过对网络通信数据进行比对分析,我们找到了引起网络丢包的问题根源。
1.1 问题描述
可编程逻辑控制器(PLC),是一种采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。PLC实质是一种专用于工业控制的计算机。
某集团公司PLC设备近期出现异常,设备经常报告连接故障,公司网络运维人员通过Ping测试发现该设备存在丢包现象(丢包率约1~2%)。为了寻找问题原因,避免再次出现类似问题,在科来网络分析专家的协助下在出问题的PLC设备接入交换机处旁路部署了科来回溯分析系统进行数据包级分析。PLC网络环境及分析设备部署示意图如下
通过交换机端口双向流量镜像分别采集故障PLC和正常PLC的通信数据进行比对分析,以下是详细分析过程及分析结论。
1.2 分析过程
1.2.1 故障PLC单网卡数据分析
首先,我们镜像故障PLC问题最严重网卡(IP XX.XX.8.4)的接口双向流量,在采集数据的同时公司技术人员配合从核心交换ping XX.XX.8.4。从采集到的ICMP协议报文数量可以看到,测试期间共捕获124个ping请求包(Echo Req),但只捕获122个ping应答包(Echo Reply)
可以看出从故障PLC设备到边缘交换机接口就存在丢包现象,故障PLC有1.6%的包没有传输到边缘交换机。同时,在测试期间XX.XX.8.4的TCP通信中存在明显的丢包现象.
通过以上数据,我们可以初步判断造成丢包现象的原因出自从故障PLC到接入交换机之间,可能的问题点包括:
接入交换机接口故障;
故障PLC接入网线故障;
故障PLC设备自身网卡或其他硬件故障。
1.2.2 故障PLC全部网卡数据分析
第二步,我们镜像了故障PLC的全部三个网卡连接的交换机接口双向流量,发现三个网卡都有丢包现象,而且丢包量基本相当
这说明丢包并不是XX.XX.8.4一个网卡的问题,而是故障PLC三个网卡的都有的现象。从其TCP会话统计来看也都是从PLC设备发送到接入交换机时出现的丢包。
由于三个网线或三个交换机接口同时存在问题的可能性很小,所以我们基本可以判断是故障PLC设备自身硬件问题导致的丢包现象。
1.2.3 正常PLC数据分析
第三步,我们镜像在同一边缘交换机的正常PLC设备(XX.XX.9.172)接口的流量,从采集数据中我们只看到了很少量的TCP重传,并且这些重传都是与XX.XX.8.4相关的通讯导致的
这说明正常PLC设备到接入交换机之间并没有明显的丢包迹象,进一步验证了之前的分析结论。
1.3 分析结论
通过以上数据分析,我们判断存在丢包问题的PLC设备极有可能是由于该PLC设备自身硬件问题导致数据包没有正常的从网卡发送到网络中所致;网线和接入交换机接口导致丢包现象的可能性非常小。
建议用户在非生产时段用PC机接入到故障设备的网线上,配置相同IP地址,通过ping测试是否还存在丢包现象,如果没有出现丢包或丢包率远小于1%即可完全排除网络原因。
1.4 价值
通过网络分析技术通过对传输的数据流进行深入分析,从多种可能原因中快速定位问题根源,使网络丢包不在困扰网络管理员。