数据包丢失怎么解决 看这一篇文章就够

数据包丢失怎么解决 看这一篇文章就够

假设,你去 Ping ?个网站,如果能 Ping 通,且网站返回信息全?,则说明与网站服务器的通信是畅通的;

如果 Ping 不通,或者?站返回的信息不全等,则很可能是数据被丢包了。

网络丢包最常见的就是水晶头氧化,网卡适配器损坏,网线环路,光衰过大等原因。

当网络有问题,首先我们会进行 ping 命令测试是否丢包,

用过的人都知道,可以使用命令:ping -t 192.168.16.1 或者 ping 192.168.16.1。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

但是丢包的原因其实很多,定位问题又难倒了不少萌新。

所以,老杨今天分享一些常见的丢包故障定位?法,希望能让你遇到丢包莫慌。

当然,会定位网络丢包定位法只是网络世界的沧海一粟。

想要在职场里独当一面,学习系统理论,掌握实战方法才是硬道理啊。

今日文章阅读福利:《cisco 路由器配置(实战篇)》

你可能不用思科设备,但实战是共通的,大厂商的设备经验,学习起来对你有益无害。

私信老杨,发送暗号

「思科」

前 10 名粉丝

即可获得本份高清资源书籍。

什么是网络丢包

说明网络丢包之前,你需要了解的是收发包的原理。

数据在 Internet 上是以数据包为单位传输的,单位为字节,数据在网络上传输,受网络设备,网络质量等原因的影响,使得接收到的数据小于发送出去的数据,造成丢包。

了解了收发包的原理,可以了解到丢包原因主要会涉及?卡设备、?卡驱动、内核协议栈三?类。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

在文章开头说到一点,网络丢包是在使用 Ping 对目的站进行询问时,数据包由于各种原因在信道中丢失的现象。

Ping 命令使用了 ICMP 回送请求与回送回答报文。

ICMP 回送请求报文是主机或路由器向一个特定的目的主机发出的询问,收到此报文的机器必须给源主机发送 ICMP 回送回答报文。

这种询问报文,是用来测试目的站是否可到达以及了解其状态。

需要指出的是,Ping 命令是直接使用网络层 ICMP 协议的一个例子,它没有通过运输层的 UDP 或 TCP 协议。

网络丢包是网络中常见的故障之一,它会引起网速降低甚至造成网络中断。

发生网络故障在所难免,但是如何快速隔离和排除故障是网络工程师应该具备的基本素质。

常见的丢包故障现象+处理方法
01 网络数据包发送时通时断,丢包严重

【故障现象】

通常故障发生时,该方向网络出现震荡性中断。使用 Ping 命令测试,发现在一段时间内数据包发送延时比正常值略高,间隔一小段时间数据包又全部丢失,丢包率超过 60%,丢包曲线成规则状,网络服务基本不可用。

【故障分析】

在局域网中引起网络发生振荡性时断时通,一般可能是由于互连的交换机中的某两个交换机间出现了环路,或者某个交换机的两个端口直接相连。

这样就会造成局域网的生成树协议构建失败,不断重复检查并试图构建新的生成树网络,从而导致网络振荡性通断

同时,伴随着交换机间不断重复地发送广播包,就会形成“广播风暴”,使交换机负担过重,网络传输通道严重被堵塞,无法正常的处理通信数据。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

环路虽然可能出现在某个接入交换机上,但会影响整个以三层交换机为核心的局域网的稳定运行。

【故障处理】

当发现网络数据包发送时通时断,丢包严重,特别是整个单位或整个楼层出现振荡性中断现象时,则可以判定应该是该单位的某个交换机上出现了环路所致。

作为网络管理人员应首先查看各接入交换机的指示灯闪烁状态,通常出现环路状况会指示灯会急速闪烁,次数每秒 4 次以上,所环交换机更为突出。

逐个拨出交换机级联接入网线,同时实时监控交换机状态,在拨下某端口网线后,交换机指示灯恢复正常状态,再进一步查找,会发现该连接线的末端有线路形成环路,清理该网线后,网络恢复畅通。

02 网络数据包发送超时现象严重,时有不规则丢包

【故障现象】

网络突然出现严重堵塞,日常办公程序不能正常运行,打开网页速度缓慢,有时会因超时而中断。未发现网络设备有任何问题,该网络中有几台计算机在入网后速度明显变慢,在禁用网卡或者中断网络后恢复正常。

【故障分析】

首先,在一台用户终端上 ping 网关测试,结果可以 ping 通网关,但是数据包发送超时现象严重,丢包率 30%左右,丢包不规律。

其次,登陆用户交换机,运行 arp -a 命令,发现网关 IP 和网关 MAC 地址指向正确。

通过上面的测试基本排除网络设置错误以及 ARP 欺骗,丢包表现了一定的随机性而没有连续性和振荡性的通断,基本排除网络环路问题,初步判断这种现象可能是病毒攻击等引起的。

为此,需要进一步获取 ARP 信息、网络中传输的原始数据包等信息。

再次,部署抓包分析。在该交换机上配置镜像端口,并将维护终端接到此端口上,启动网络协议分析工具(sniffer)捕获分析网络的数据通信,约 10 分钟后停止。

在网络分析系统主界面左边的节点浏览器中发现,网络中可能存在伪造 IP 地址攻击或自动扫描攻击。

选择连接视图,发现在 10 分钟内,网络中共发起了 12000 多个连接,且状态大多都是客户端请求同步。

据此,断定网络中存在自动扫描攻击。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

最后,详细查看连接信息,发现这些连接大多都是由同一主机发起,选中任意一个连接,选择数据包视图,查看传输数据的原始解码信息,发现这台计算机正在主动对网络中其它主机的 TCP 445 端口进行扫描攻击,可能是主机感染病毒程序,或者有人正使用扫描软件。通过分析图表视图,进一步确定主机肯定存在自动扫描攻击。

【故障处理】

找到问题根源后,对主机进行隔离,经过一段时间的测试,网络丢包现象有所缓解,但没有从根本上解决问题。

于是再次启动网络协议分析系统捕获并分析,又发现了 1 台相似情况的主机。据此基本可以断定两台主机都是感染了病毒,且该病毒会主动扫描网络中其他主机是否打开 TCP 445 端口,如果某主机打开该端口,就攻击并感染这台主机。

如此循环,即引发了上述的网络故障。立即对新发现感染病毒的两台主机进行物理隔离,网络通信立刻恢复正常,再对该终端进行杀毒处理。

03 网络数据包发生严重延时现象,下载、浏览等服务不能正常使用

【故障现象】

局域网内部日常数据共享正常,但是出局浏览外网和下载数据时速度明显降低,使用 Ping 命令发现到某个方向网络时延特别大,甚至有少量丢包现象。

【故障分析】

一般通过 telnet 远程登陆到该方向的交换机,以华为系列交换机为例,输入下列命令:

#Display cpu 查看交换机 CPU 利用率

#Display memory 查看内存利用率

发现两者都非常高,再通过输入命令 #Display interface 端口号,检查各端口下的数据流。

对其数据流进行抓包分析,发现多线程指向某网站电影栏目,为避免影响整个网络的畅通,对所接入交换机进行处理。

发现其中的两个端口数据流量特别大,远高于正常使用的网络流量。对其数据流进行抓包分析,发现多线程指向某网站电影栏目,为避免影响整个网络的畅通,对所接入交换机进行处理。

【故障处理】

进入该端口配置界面下,输入 Shutdown 命令,强制关闭该端口使其断网,联系该终端使用人员,令其终止下载进程后,再恢复其网络。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

写在最后:

最后想补充一点,很多网工用 Ping 命令来检测丢包情况,但其实除了 Ping,

常用的 tracert,nslookup 都可以用来判断主机的网络连通性。

而且 Linux 下有一个更好用的网络联通性判断工具,它可以结合 ping nslookup traceroute 来判断网络的相关特性,这个命令就是 mtr。

mtr 全称 my traceroute,是一个把 ping 和 traceroute 合并到一个程序的网络诊断工具。

traceroute 默认使用 UDP 数据包探测,而 mtr 默认使用 ICMP 报文探测,ICMP 在某些路由节点的优先级要比其他数据包低,所以测试得到的数据可能低于实际情况。