如何定位引起网络丢包的根源

网络丢包通常是比较难排查的问题,因为造成网络丢包的原因很多,排查此类问题需要很长的时间。本案例中,通过对网络通信数据进行比对分析,从而找到引起网络丢包的问题根源。

 

9.1 问题描述

 

可编程逻辑控制器(PLC),是一种采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。PLC实质是一种专用于工业控制的计算机。

某集团公司PLC设备近期出现异常,设备经常报告连接故障,公司网络运维人员通过Ping测试发现该设备存在丢包现象(丢包率约1~2%)。为了寻找问题原因,避免再次出现类似问题,在科来网络分析工程师的协助下,在出问题的PLC设备接入交换机处旁路部署了科来网络回溯分析系统进行数据包级分析。PLC网络环境及分析设备部署示意图如下。

图 9-1

通过交换机端口双向流量镜像分别采集故障PLC和正常PLC的通信数据进行比对分析,以下是详细分析过程及分析结论。

 

9.2 分析过程

 

9.2.1 故障PLC单网卡数据分析

首先,我们镜像故障PLC问题最严重网卡(IPX.X.8.4)的接口双向流量,在采集数据的同时,公司技术人员配合从核心交换机处ping“X.X.8.4”。从采集到的ICMP协议报文数量可以看到:测试期间共捕获124个ping请求包(Echo Req),但只捕获122个ping应答包(Echo Reply),如下图所示。

图 9-2

可以看出从故障PLC设备到边缘交换机接口就存在丢包现象,故障PLC有1.6%的包没有传输到边缘交换机。同时,在测试期间X.X.8.4的TCP通信中存在明显的丢包现象,如下图所示。

图 9-3

通过以上数据,我们可以初步判断造成丢包现象的原因出自故障PLC到接入交换机之间,可能的问题点包括:

  • 接入交换机接口故障;
  • 故障PLC接入网线故障;
  • 故障PLC设备自身网卡或其他硬件故障。

9.2.2 故障PLC全部网卡数据分析

第二步,我们镜像了故障PLC的全部三个网卡连接的交换机接口双向流量,发现三个网卡都有丢包现象,而且丢包量基本相当,如下图所示。

图 9-4

这说明丢包并不是X.X.8.4一个网卡的问题,而是故障PLC三个网卡的都有的现象。从其TCP会话统计来看也都是从PLC设备发送到接入交换机时出现的丢包。

由于三个网线或三个交换机接口同时存在问题的可能性很小,所以我们基本可以判断是故障PLC设备自身硬件问题导致的丢包现象。

9.2.3 正常PLC数据分析

第三步,我们镜像在同一边缘交换机的正常PLC设备(X.X.9.172)接口的流量,从采集数据中我们只看到了很少量的TCP重传,并且这些重传都是与X.X.8.4相关的通讯导致的,如下图所示。

图 9-5

这说明正常PLC设备到接入交换机之间并没有明显的丢包迹象,进一步验证了之前的分析结论。

 

9.3 分析结论

 

通过以上数据分析,我们判断存在丢包问题的PLC设备极有可能是由于设备自身硬件问题,导致数据包没有正常的从网卡发送到网络中所致;网线和接入交换机接口导致丢包现象的可能性非常小。

建议用户在非生产时段用PC机接入到故障设备的网线上,配置相同IP地址,通过ping测试是否还存在丢包现象,如果没有出现丢包或丢包率远小于1%即可完全排除网络原因。

 

9.4 价值

 

通过网络分析技术对传输的数据流进行深入分析,可从多种可能原因中快速定位问题根源,使网络丢包不在困扰网络管理员。

免费测试申请及购买咨询

您的名字 :

您的手机 :

您的邮箱 :

公司名称 :

您的职位 :

公司地址 :

网络规模 :

购买用途 :

补充留言:

验证: