网络丢包原因及解决方案

网络丢包原因及解决方案,第1张

网络丢包是我们在使用ping对目站进行询问时,数据包由于各种原因在信道中丢失的现象。ping 使用了ICMP 回送请求与回送回答报文。ICMP 回送请求报文是主机或路由器向一个特定的目的主机发出的询问,收到此报文的机器必须给源主机发送 ICMP 回送回答报文。这种询问报文用来测试目的站是否可到达以及了解其状态。

许多时候,我们可能都会碰到网络连接时断时续的故障现象,面对这种网络故障,不少网络管理员都会使用Ping命令对网络连通性进行测试,测试结果表明此时的网络传输线路数据丢包现象非常严重,那么究竟是什么因素导致了数据丢包现象比较严重呢?是连接线路接触不稳定?是网络病毒?还是其他的潜在因素?

原因一:物理线路故障

网管员发现广域网线路时通时断, 发生这种情况时, 有可能是线路出现故障, 也可能是用户方面的原因。为了分清是否是线路故障,可以做如下测试。

如果广域网线路是通过路由器实现的,可以登录到路由器,通过扩展 ping 向对端路由器广域网接口发送大量的数据包进行测试。如果线路是通过三层交换机实现,可在线路两端分别接一台计算机,并将 IP 地址分别设为本端三层路由交换机的广域网接口地址,使用 “ping 对端计算机地址 - t ”命令进行测试。

如果上述测试没有发生丢包现象, 则说明线路运营商提供的线路是好的, 引起故障的原因在于用户自身,需要进一步查找。

如果上述测试发生丢包现象, 则说明故障是由线路供应商提供的线路引起的, 需要与线路供应商联系尽快解决问题。

由物理线路引起的丢包现象还有很多,如光纤连接问题,跳线没有对准设备接口,双绞线及 RJ-45 接头有问题等。另外,通信线路受到随机噪声或者突发噪声造成的数据报错误,射频信号的干扰和信号的衰减等都可能造成数据包的丢失。我们可以借助网络测试仪来检查线路的质量。

原因二:设备故障

设备故障主要是指设备硬件方面的故障,不包含软件配置不当造成的丢包。如网卡是坏的,交换机的某个端口出现了物理故障,光纤收发器的电端口与网络设备接口,或两端设备接口的双工模式不匹配。

曾看过这样的例子,一交换机端口的光纤模块故障造成的丢包现象, 该交换机在通信一段时间后死机,即不能通信,重启后恢复正常。在经过一段时间观察后发现,某光纤模块存在问题,取一块新的模块替换,一切正常。

究其原因,交换机会对所有接收到的数据包进行 CRC 错误检测和长度校验,将检查出有错误的包丢弃,正确的包转发出去。但这个过程中有些有错误的包在 CRC 错误检测和长度校验中都均未检测出错误,这样的包在转发过程中不会被发送出去,也不会被丢弃,它们将会堆积在动态缓存中,永远无法发送出去,等到缓存中堆积满了,就会造成交换机死机的现象。最终结果是,数据包无法到达目的主机。

原因三:网络拥塞

网络拥塞造成丢包率上升的原因很多,主要是路由器资源被大量占用造成的。

如果发现网速慢, 并且丢包率呈现上升的情况, 这时应该 show process cpu 和 show process mem ,一般情况下发现 IP input process 占用过多的资源。接下来可以检查 fast switching 在大流量外出端口是否被禁用,如果是,则需要重新使用。

再看一下 Fast switching on the same interface是否被禁用,如一个接口配有多个网段并且这些网段间流量很大时,路由器工作在 process-switches 方式,这种情况下要在接口上执行命令“enable ip route-cache same- interface 。”

接下来,用 show interfaces 和 show interfaces switching 命令识别大量包进出的端口。一旦确认进入端口后,打开 IP accounting on the outgoing interface 看其特征,如果是攻击,源地址会不断变化但是目的地址不变,可以用命令 “access list ”暂时解决此类问题(最好在接近攻击源的设备上配置),最终解决办法是停止攻击源。

应用中遇到的造成网络拥塞的情况还有很多, 如大量的 UDP 流量, 可以用解决 spoof attack 的步骤解决此问题。大量的组播流、广播包穿越路由器,路由器配置了 IP NAT 并且有很多 DNS 包穿越路由器等。上述情况造成网络拥塞后,通信双方采取流量控制,丢弃不能传输的包。

原因四:MTU 配置不当

在关键设备上MTU设置不当,也会造成网络丢包(以太网:1500 字节,IEEE 802.3/802.2 1492字节)。查看网络中关键设备的 MTU 配置。

在了解了如何定位网络丢包的位置之后,网管需要进一步分析丢包发生的原因,以排除故障。打开网络分析软件以后,我们配置好网络档案,选择分析档案之后,就可以开始分析了。

首先我们可以在图表中添加利用率统计,可以看到,在14:38:05 之后,网络利用率突然升高,接近40% 。推荐利用率不高于15% ,当网络利用率超过了 30% ,就会产生1%的丢包,并且呈几何倍数的增长。这个网络中,利用率高达 40%,肯定存在着严重的丢包现象。

了解了有丢包就会有 TCP 数据包重传之后,网管可以在诊断中,找出 TCP 数据包重传比较严重的主机。

如何确定网络丢包的存在

通常我们利用 PING x.x.x.x -t 这个命令来进行测试网络中是否存在丢包。

在上图中可以看到,在本机上向 192.168.122.2 这个不存在的地址进行长时间 PING 的时候,发送出去的 ICMP 包都丢失了,丢失率达到 100% 。即从本机到 192.168.122.2 这个实际不可达地址的路径上存在丢包。

定位网络丢包的分析步骤

在网络丢包发生的情况下,用户会明显感受到网络速度变慢,这时候网管首先需要做的就是进行 PING X.X.X.X –t 来进行大致是哪个网段的诊断。在发现确实有丢失率存在的情况下,我们可以利用科来软件进行进一步分析。

在分析之前,我们有必要学习一下前置知识。

TCP协议的特点之一就是保障数据传输的可靠性,即确保数据能够正确完整传输。那么TCP究竟是如何来保障的?可以看到,TCP 在传输时,有着传输确认—重传机制,即发送数据一方在传输数据时为每一个分段编制序列号( Sequence Number ),接收方会向发送方发送接收到分段数据的确认(Acknowledgment),通过这种方式确认数据是否准确传送,在无法确认某分段数据被准确传送或确认某分段数据没有被准确传送时重新进行传输。

所以,在网络丢包发生的情况下,必定会有 TCP 数据包重传的出现。

1. 解决方案

分析关键链路(一般是出口链路) 的流量占用情况, 查看网络利用率是否过高,每秒数据包是否过多,数据包大小分布是否合理、TCP会话是否正常等。

当然最根本的方法就是限制用户流量,就是针对每个上网的用户进行流量控制,比如禁止访问视频网站和其他与工作内容无关的网站,同时又能针对每个用户做出精准的流量限制,防止其对有限网络带宽的过度占用。

还可以针对一些流量做出服务质量保证( QOS),比如可以将与工作关系比较大的流量:如网页访问、邮件流量等的流量优先级提高,从而可以在一定程度上缓解网络拥塞,保证高优先级业务可以优先得到转发。 (治标不治本的方法)

2. 另外关于 ping IP 老是丢包的问题:

通常有以下几种原因:

3. 总之一般排除故障的方法是:

引荐自:[ http://network.51cto.com/art/201810/584884.htm

网络丢包问题的原因及解决办法 数据在INTERNET上是以数据包为单位传输的,每包nK,不多也不少。这就是说,不管网络线路有多好、网络设备有多强悍,你的数据都不会是以线性(就象打电话一样)传输的,中间总是有空洞的。数据包的传输,不可能百分之百的能够完成,因为种种原因,总会有一定的损失。碰到这种情况,INTERNET会自动的让双方的电脑根据协议来补包和重传该包。如果网络线路好、速度快,包的损失会非常小,补包和重传的工作也相对较易完成,因此可以近似的将所传输的数据看做是无损的。但是,如果网络线路较差,数据的损失量就会非常大,补包工作又不是百分之百完成的。这种情况下,数据的传输就会出现空洞,造成丢包。 打开网页的速度特别的慢,有时候还会出现网页部分内容或是整个页面无法显示的问题;QQ等即时通讯工具等频繁掉线或提示登陆超时;已经设置为自动获取IP地址,却并非每次都可以正常获取;下载文件速度慢„„这些故障有很大一部分是由于丢包造成的。 接下来我们来看如何确认、检测以及解决丢包故障: 常见的测试丢包的方法是通过使用PING命令进行测试,如图所示,Request timed out.表示此刻发生丢包故障。Reply from 220.181.6.19: bytes=32 time=10ms TTL=55 类似显示表示数据传输正常。另外,还可以通过一些工具软件进行测试,具体测试方法可参见各软件使用说明文档,在此不做过多阐述。 如前所述,丢包故障多数由以下几方面问题引起:蠕虫病毒、网线连接距离过长(室内理论有效传输距离为100米,但实际应用中一般以不超过50 米为宜)、网线故障(包括水晶头金属物氧化及其他故障)、操作系统自身故障、网卡故障(由于网卡工作频率与网络设备工作频率不相符引起的故障,如千兆网卡配合百兆网络设备等;也可能为网卡物理故障,如设备自然老化或遇到雷击等)、网络设备故障(设备工作环境影响引起,如环境过于潮湿、干燥或电磁干扰严重等,也可能由于设备硬件故障造成)、网络运营商线路问题。 解决方法对照以上所示故障为:断开网络后安全模式下查杀病毒、适当减短网线长度、检查网线并重新制作水晶头、重装操作系统、调整网卡或网络设备使之工作在同一频率、更换网卡、更换网络设备的使用环境或更换网络设备、联系网络运营商解决。 =========================================================== 网络丢包是我们在使用ping对目站进行询问时,数据包由于各种原因在信道中丢失的现象。ping使用了ICMP回送请求与回送回答报文。ICMP回送请求报文是主机或路由器向一个特定的目的主机发出的询问,收到此报文的机器必须给源主机发送ICMP回送回答报文。这种询问报文用来测试目的站是否可到达以及了解其状态。需要指出的是,ping是直接使用网络层ICMP的一个例子,它没有通过运输层的UDP或TCP。 网络丢包的原因主要有物理线路故障、设备故障、病毒攻击、路由信息错误等,下面我们结合具体情况进行说明。 物理线路故障 网管员发现广域网线路时通时断,发生这种情况时,有可能是线路出现故障,也可能是用户方面的原因。为了分清是否是线路故障,可以做如下测试。 如果广域网线路是通过路由器实现的,可以 登录到路由器,通过扩展ping向对端路由器广域网接口发送大量的数据包进行测试。 如果线路是通过三层交换机实现,可在线路两端分别接一台计算机,并将IP地址分别设为本端三层路由交换机的广域网接口地址,使用“ping 对端计算机地址 -t”命令进行测试。 如果上述测试没有发生丢包现象,则说明线路运营商提供的线路是好的,引起故障的原因在于用户自身,需要进一步查找。 如果上述测试发生丢包现象,则说明故障是由线路供应商提供的线路引起的,需要与线路供应商联系尽快解决问题。 由物理线路引起的丢包现象还有很多,如光纤连接问题,跳线没有对准设备接口,双绞线及RJ-45接头有问题等。另外,通信线路受到随机噪声或者突发噪声造成的数据报错误,射频信号的干扰和信号的衰减等都可能造成数据包的丢失。我们可以借助网络测试仪来检查线路的质量。 设备故障 设备故障主要是指设备硬件方面的故障,不包含软件配置不当造成的丢包。如网卡是坏的,交换机的某个端口出现了物理故障,光纤收发器的电端口与网络设备接口,或两端设备接口的双工模式不匹配。 笔者近日在工作中发现一交换机端口的光纤模块故障造成的丢包现象,该交换机在通信一段时间后死机,即不能通信,重启后恢复正常。在经过一段时间观察后发现,某光纤模块存在问题,取一块新的模块替换,一切正常。究其原因,交换机会对所有接收到的数据包进行CRC错误检测和长度校验,将检查出有错误的包丢弃,正确的包转发出去。但这个过程中有些有错误的包在CRC错误检测和长度校验中都均未检测出错误,这样的包在转发过程中不会被发送出去,也不会被丢弃,它们将会堆积在动态缓存中,永远无法发送出去,等到缓存中堆积满了,就会造成交换机死机的现象。最终结果是,数据包无法到达目的主机。 网络拥塞 网络拥塞造成丢包率上升的原因很多,主要是路由器资源被大量占用造成的。 如果发现网速慢,并且丢包率呈现上升的情况,这时应该show process cpu和show process mem,一般情况下发现IP input process占用过多的资源。接下来可以检查fast switching在大流量外出端口是否被禁用,如果是,则需要重新使用。 再看一下Fast switching on the same interface是否被禁用,如一个接口配有多个网段并且这些网段间流量很大时,路由器工作在process-switches方式,这种情况下要在接口上执行命令“enable ip route-cache same-interface”。 接下来,用show interfaces和show interfaces switching命令识别大量包进出的端口。一旦确认进入端口后,打开IP accounting on the outgoing interface看其特征,如果是攻击,源地址会不断变化但是目的地址不变,可以用命令“access list”暂时解决此类问题(最好在接近攻击源的设备上配置),最终解决办法是停止攻击源。 应用中遇到的造成网络拥塞的情况还有很多,如大量的UDP流量,可以用解决spoof attack的步骤解决此问题。大量的组播流、广播包穿越路由器,路由器配置了IP NAT并且有很多DNS包穿越路由器等。上述情况造成网络拥塞后,通信双方采取流量控制,丢弃不能传输的包。 路由错误 网络路径错误也会导致数据包不能到达目的主机,如主机的默认路由配置错误,主机发出的访问其他网络的数据包会被网关丢弃。但此类丢包属于正常情况下的丢包,是意料之中的,不会对网络造成影响。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/387760.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存