在当今数字化的时代,网络连接的稳定性和可靠性对我们的日常生活和工作至关重要。但网络丢包现象也时有发生,给我们带来了诸多困扰。
本文将探讨网络丢包的原因、影响、预防及处理流程,以更好地理解和应对这一问题。
一、什么是网络丢包?
网络丢包是指在网络传输过程中,数据包未能成功到达目的地的情况。
这些数据包可能在传输过程中丢失或损坏,导致接收方无法接收到完整的信息。
丢包可能发生在网络的各个环节,如电脑、路由器、交换机、电缆等。
二、网络丢包的影响
网络丢包会对网络应用产生多种负面影响,以下是一些常见的影响:
1、降低网络性能:丢包会导致数据重传,增加网络负载,从而降低网络的整体性能。
2、影响应用体验:对于实时性要求较高的应用,如在线游戏、视频通话等,丢包会导致画面卡顿、声音断断续续等问题,严重影响用户体验。
3、数据完整性受损:丢包可能导致数据丢失或错误,使得接收方无法正确解析和处理数据。
4、网络故障排查困难:由于丢包可能是由多种原因引起的,排查和解决网络故障变得更加复杂和困难。
三、网络丢包的原因和预防措施
1、网络拥塞:当网络中的流量突发,超出接口带宽或网络设备的处理能力时,就会发生拥塞。此时,部分数据包可能会被丢弃,从而导致丢包。
可采取的预防措施:
a、对服务器进行发包优化,减少流量突发;
b、用Eth-Trunk增加成员端口做负载分担,减小单个端口流量。
c、通过流量控制、Quality of Service(QoS)等技术,优化网络资源分配,确保关键应用的优先级。
2、硬件故障:网络设备(如路由器、网卡)的故障或损坏也可能导致丢包。
可采取的预防措施:
a、检查设备上物理连线、单板等硬件模块是否插紧。
b、 设备电口使用的网线必须为标准电缆,非标准的网线可能会引起链路问题。
c、设备电口必须为全双工状态,半双工状态会带来很多问题。
d、 使用的光模块必须为网络设备配套认证的光模块。很多厂家光模块实现方法不统一,产生的问题也不可控,因此使用的光模块必须为网络设备厂家产品认证的光模块。
3、受到攻击:恶意网络 攻击行为可能会干扰网络通信,使数据包在传输过程中丢失或损坏。
可采取的预防措施:
a、配置ARP安全功能,防止设备受到ARP和ARP-Miss协议报文攻击。
b、 在经常出现DHCP、ARP协议报文攻击的网络,配置基于DHCP、ARP协议报文的本机防攻击策略。
c、定期给PC或服务器杀毒,减少攻击。
4、软件问题:操作系统、网络驱动程序或其他相关软件的问题也可能引起丢包。
可采取的预防措施:安装最新补丁,使用合适驱动,定期清理和优化系统。安装杀毒和防火墙等防护软件,优化网络设置,及时处理软件问题。
四、处理流程
出现网络丢包现象时,第一步需要确定丢包的网络位置,其次是确定丢包的故障原因,然后依据定位的故障原因再进行解决。

1、排查产生丢包现象的 PC
排查产生丢包现象的PC本身问题。
如PC的网卡是否正常、PC连接设备的线缆是否正常都有可能造成设备丢包。
解决方法:断开网络后给PC查杀病毒、检查网线重装操作系统、检查网卡等。
确认PC正常后,如果故障仍然存在,继续执行下一步。
2、检查接口物理状态是否为 Down
一般来说,接口的物理状态Down,或接口双工模式或速率协商模式与对端不一致,会
造成接口的状态异常。
以华为交换机为例,在设备上执行display interface interface-type interface-number命令查看接口运行状态是否正常。
3、检查接口入方向是否存在 CRC 校验错误
检查报文经过的物理端口是否存在CRC校验错误,且错误计数是否在不断增长。
如果输出信息显示字段“CRC”有计数,且重复执行命令发现计数在不断增长,说明端口接收到了CRC错误报文,即存在CRC校验错误,说明是由于物理链路或者设备问题导致的错包。
4、 检查接口出方向是否存在 Discard 计数
a、检查端口是否存在Discard丢包计数。
以华为交换机为例,在任意视图执行命令display interface interface-type interface-number,或在接口视图执行命令display this interface,查看设备连接用户侧端口出方向报文计数,存在Discard丢包计数则说明端口曾经存在拥塞。在业务受到影响时,观察该Discard是否增加。
b、配置接口缓存管理的突发模式为增强模式,检查端口Discard计数是否增加。
当突发流量的瞬时速率超过交换机的转发能力时,交换机会将突发的数据进行缓存以便稍后发送。如果交换机没有足够的缓存,那么超出的数据只能丢弃,这就产生了拥塞丢包。
一般来说,交换机接口缓存较小,接口上的流量如果突发达到接口带宽的50%~60%左右就会出现丢包现象。而在接口上配置缓存管理的突发模式为增强模式(以华为交换机为例,配置命令为qos burst-mode enhanced),单个接口可以抢占到更多的剩余动态缓存,接口应对流量突发的能力更强,拥塞丢包现象就会减少。
5、 检查是否存在环路
这是最容易造成丢包现象的因素,并且具有比较强的隐蔽性,例如在较大型的网络环境中,管理员很容易把交换机之间的端口连接错误,从而引起网络环路,导致丢包。
6、检查是否存在攻击
发生网络攻击时,交换机忙于处理来自于攻击源的非正常网络交互请求,无法处理其他业务造成丢包。
常见的网络攻击包括ARP、ARP-Miss以及DHCP等协议报文攻击,这些攻击行为的共同特点是攻击源产生大量的协议报文对设备进行冲击,因此可以在设备上看到大量上送CPU的报文统计。
7、检查上送 CPU 的报文速率是否超出设备限速
设备针对每类协议报文都有缺省的CPCAR值,一般情况下,设备上协议报文的CPCAR值采用默认值就可以满足应用。部分协议报文的CPCAR值需要根据实际业务规模和具体的用户网络环境进行调整。
8、检查相关配置是否合理
a. 查看接口、VLAN、VLANIF以及全局的配置,检查是否配置了与丢包相关的配置。
b. 是否存在安全相关的配置,如端口安全、IPSG、URPF等。
9、通过流量统计判断丢包位置
沿着发生丢包的链路,在设备的入接口和出接口上部署流策略,分别统计入接口的Inbound方向和出接口的Outbound方向的特定报文,以确认该类报文是否在本设备被丢弃。
10、加载设备版本对应最新补丁
请加载并激活版本对应最新的补丁文件,查看问题是否有所缓解。
11、尝试复位或更换单板
确认在对业务没有影响的状况下,请尝试复位或拔插单板恢复业务,观察丢包现象是否有所缓解。
12、检查设备之间的物理链路
a、常见物理链路故障有以下几种:
● 线缆接头接触不良或松脱。
● 光模块波长参数与实际需求不一致。
● 设备的通信接口损坏。
● 物理连线过长或出现破损。
b、针对物理链路故障,具体排查方法如下:
● 查看设备端口指示灯状态。
如果是常灰,说明无连接。此时需要更换接口或者网线再进行尝试。
●. 检查设备连接的线缆以及设备上的硬件模块等是否插好,不可松动。
检查连接完好之后,如果故障仍然存在,请执行下一步。
● 检查设备之间的链路、接口模块是否故障。