丢包 ICMP
小结:
1、ICMP
常见网络丢包故障分析及处理
我们在管理维护网络的过程中经常会遇到数据包丢失的现象。使用Ping命令进行连通性测试,则会发现Ping包延时远远超过正常值,甚至无法到达,同时还伴随着网络服务应用障碍,如打开网站速度很慢,严重时甚至打不开网页,在线浏览视频或者召开视频会议时话音断断续续、图像马塞克、断线等。
网络丢包是网络中常见的故障之一,它会引起网速降低甚至造成网络中断,本文就在日常的网络管理工作中常见的几种丢包故障现象进行了分析和探讨并提出了处理方法。
网络丢包概述
所谓网络丢包是我们在使用ping命令(检测某个系统能否正常运行)对目的站进行询问时,数据包由于各种原因在信道中丢失的现象。Ping命令使用了ICMP回送请求与回送回答报文。ICMP回送请求报文是主机或路由器向一个特定的目的主机发出的询问,收到此报文的机器必须给源主机发送ICMP回送回答报文。这种询问报文用来测试目的站是否可到达以及了解其状态。需要指出的是,ping命令是直接使用网络层ICMP协议的一个例子,它没有通过运输层的UDP或TCP协议。
网络丢包常见故障分析及处理方法
发生网络故障在所难免,但是如何快速隔离和排除故障是网络管理人员应该具备的基本素质。以下列举几种常见的网络丢包故障现象及处理方法。
故障一:网络数据包发送时通时断,丢包严重
故障现象:
通常故障发生时,该方向网络出现震荡性中断。使用Ping命令测试,发现在一段时间内数据包发送延时比正常值略高,间隔一小段时间数据包又全部丢失,丢包率超过60%,丢包曲线成规则状,网络服务基本不可用。
故障分析:
在局域网中引起网络发生振荡性时断时通,一般可能是由于互连的交换机中的某两个交换机间出现了环路,或者某个交换机的两个端口直接相连。这样就会造成局域网的生成树协议构建失败,不断重复检查并试图构建新的生成树网络,从而导致网络振荡性通断,同时伴随着交换机间不断重复地发送广播包,就会形成“广播风暴”,使交换机负担过重,网络传输通道严重被堵塞,无法正常的处理通信数据。环路虽然可能出现在某个接入交换机上,但会影响整个以三层交换机为核心的局域网的稳定运行。
故障处理:
当发现网络数据包发送时通时断,丢包严重,特别是整个单位或整个楼层出现振荡性中断现象时,则可以判定应该是该单位的某个交换机上出现了环路所致。作为网络管理人员应首先查看各接入交换机的指示灯闪烁状态,通常出现环路状况会指示灯会急速闪烁,次数每秒4次以上,所环交换机更为突出。逐个拨出交换机级联接入网线,同时实时监控交换机状态,在拨下某端口网线后,交换机指示灯恢复正常状态,再进一步查找,会发现该连接线的末端有线路形成环路,清理该网线后,网络恢复畅通。
故障二:网络数据包发送超时现象严重,时有不规则丢包
故障现象:
网络突然出现严重堵塞,日常办公程序不能正常运行,打开网页速度缓慢,有时会因超时而中断。未发现网络设备有任何问题,该网络中有几台计算机在入网后速度明显变慢,在禁用网卡或者中断网络后恢复正常。
故障分析:
首先,在一台用户终端上ping网关测试,结果可以ping通网关,但是数据包发送超时现象严重,丢包率30%左右,丢包不规律。
其次,登陆用户交换机,运行arp -a命令,发现网关IP和网关MAC地址指向正确。通过上面的测试基本排除网络设置错误以及ARP欺骗,丢包表现了一定的随机性而没有连续性和振荡性的通断,基本排除网络环路问题,初步判断这种现象可能是病毒攻击等引起的。为此,需要进一步获取ARP信息、网络中传输的原始数据包等信息。
再次,部署抓包分析。在该交换机上配置镜像端口,并将维护终端接到此端口上,启动网络协议分析工具(sniffer)捕获分析网络的数据通信,约10分钟后停止。在网络分析系统主界面左边的节点浏览器中发现,网络中可能存在伪造IP地址攻击或自动扫描攻击。选择连接视图,发现在10分钟内,网络中共发起了12000多个连接,且状态大多都是客户端请求同步。据此,断定网络中存在自动扫描攻击。
最后,详细查看连接信息,发现这些连接大多都是由同一主机发起,选中任意一个连接,选择数据包视图,查看传输数据的原始解码信息,发现这台计算机正在主动对网络中其它主机的TCP 445端口进行扫描攻击,可能是主机感染病毒程序,或者有人正使用扫描软件。通过分析图表视图,进一步确定主机肯定存在自动扫描攻击。
故障处理:
找到问题根源后,对主机进行隔离,经过一段时间的测试,网络丢包现象有所缓解,但没有从根本上解决问题。于是再次启动网络协议分析系统捕获并分析,又发现了1台相似情况的主机。据此基本可以断定两台主机都是感染了病毒,且该病毒会主动扫描网络中其他主机是否打开TCP 445端口,如果某主机打开该端口,就攻击并感染这台主机。如此循环,即引发了上述的网络故障。立即对新发现感染病毒的两台主机进行物理隔离,网络通信立刻恢复正常,再对该终端进行杀毒处理。
故障三:网络数据包发生严重延时现象,下载、浏览等服务不能正常使用
故障现象:
局域网内部日常数据共享正常,但是出局浏览外网和下载数据时速度明显降低,使用Ping命令发现到某个方向网络时延特别大,甚至有少量丢包现象。
故障分析:
一般通过telnet远程登陆到该方向的交换机,以华为系列交换机为例,输入下列命令:
#Display cpu 查看交换机CPU利用率,
#Display memory 查看内存利用率,
发现两者都非常高,再通过输入命令
#Display interface端口号,检查各端口下的数据流量,发现其中的两个端口数据流量特别大,远高于正常使用的网络流量。对其数据流进行抓包分析,发现多线程指向某网站电影栏目,为避免影响整个网络的畅通,对所接入交换机进行处理。
故障处理:
进入该端口配置界面下,输入Shutdown命令,强制关闭该端口使其断网,联系该终端使用人员,令其终止下载进程后,再恢复其网络。
结束语
造成网络丢包现象的因素很多,具有随机性和偶然性。因此,作为网络管理人员,一定要考虑各种因素,掌握网络排故技巧,积累实践经验,才能快速定位并排除网络故障。
https://mp.weixin.qq.com/s/I3rwUL_q7bqG852vELuB4Q
网络丢包率是什么意思 网络丢包问题怎么解决?
这里的网络丢包率是什么意思呢?说到网络丢包率就是在我们数据包的数据传输过程中,因为中途的传输而导致部分数据包被丢失。也就就网络丢包。那么这里在网络传输过程的网络丢包怎么解决?
在我们网络上形成的数据包通过途径传输到另一个数据库上面,一般通过网络传输的过程中会因为一些原因比如距离过大而产生小部分数据包被丢失,而大部分数据包被成功传输到终端数据库上。这样就形成了一个网络丢包的过程。而其中丢包的大小和传输数据包的大小就是网络丢包率。比如工厂在A地买了一车货,然后运送到B地,其中因为搬运工搬运和其他原因造成这批货和在A地的所测量的数值要少一些,这个过程就是被丢失的货物的故此,也就是网络中网络丢包,而丢失的货物和货物的总量的比值就是网络丢包率。通常这些只是磨损消耗,属于很正常的。
如何查询网络丢包率?
点击任务栏的“开始-运行”,在运行对话框上输入cmd命令,执行该命令即可打开命令提示符,在界面中键入“ping [网址]”,显示最后一行(x% loss)就是对目标地址ping包的丢包率。

网络丢包率怎么解决呢?
网络丢包是我们在使用ping(检测某个系统能否正常运行)对目站进行询问时,数据包由于各种原因在信道中丢失的现象。ping使用了ICMP回送请求与回送回答报文。ICMP回送请求报文是主机或路由器向一个特定的目的主机发出的询问,收到此报文的机器必须给源主机发送ICMP回送回答报文。这种询问报文用来测试目的站是否可到达以及了解其状态。需要指出的是,ping是直接使用网络层ICMP的一个例子,它没有通过运输层的UDP或TCP。
1、物理线路故障
如果是物理线路故障所造成网络丢包现象,则说明故障是由线路供应商提供的线路引起的,需要与线路供应商联系尽快解决问题。联系你的服务商来解决网络丢包很严重的情况。
2、设备故障
设备方面主要包括软件设置不当、网络设备接口及光纤收发器故障造成的。这种情况会导致交换机端口处于死机状态。那么可以将你的光纤模块更换掉,换一条新的模块替换掉。
3、网络被堵塞、拥堵
当网络不给力的时候,在通过网络传输数据,就会将网络丢包更多,一般是路由器被占用大量资源造成的。解决方法就是这时应该show process cpu和show process mem,一般情况下发现IP input process占用过多的资源。接下来可以检查fast switching在大流量外出端口是否被禁用,如果是,则需要重新使用。用show interfaces和show interfaces switching命令识别大量包进出的端口。一旦确认进入端口后,打开IP accounting on the outgoing interface看其特征,如果是攻击,源地址会不断变化但是目的地址不变,可以用命令“access list”暂时解决此类问题。
4、路由错误
网络中的路由器的路径错误也是会导致数据包不能正常传输到主机数据库上这种情况属于正常状况,它所丢失的数据也是很小的。所以用户可以忽略这些数据丢包,而且这也是避免不了的。
https://mp.weixin.qq.com/s/8By0SXa5CYu-B71ZPAfY5w
TCP传输协议中如何解决丢包问题
一、回答这个问题之前,要考虑TCP协议为什么会丢包,在什么样的情况下会丢包。
1、TCP协议定义(Transimission Control Protocol)是以一种面向连接的、可靠的、基于字节流的传输层通信协议。
2、TCP是基于不可靠的网路实现可靠传输,肯定会存在丢包问题。
3、如果在通信过程中,发现缺少数据或者丢包,那边么最大的可能性是程序发送过程或者接受过程中出现问题。
例如:我有2台服务器 ,A和B服务器。
A服务器发送数据给B服务器频率过高时,B服务器来不及处理,造成数据丢包。(原因可能是程序逻辑问题,多线程同步问题,缓冲区溢出问题)
如果A服务器不对发送频率进行控制,或者数据进行重发的话,那么B服务器收到数据就会少。就会造成丢失数据


二、TCP协议丢包后,如何解决丢包的问题
为了满足TCP协议不丢包。TCP协议有如下规定
1、数据分片:发送端对数据进行分片,接受端要对数据进行重组,由TCP确定分片的大小并控制分片和重组
2、到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认
3、超时重发:发送方在发送分片时设置超时定时器,如果在定时器超时之后没有收到相应的确认,重发分片数据
4、滑动窗口:TCP连接的每一方的接受缓冲空间大小固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出
5、失序处理:作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层;
6、重复处理:作为IP数据报来传输的TCP分片会发生重复,TCP的接收端必须丢弃重复的数据;
7、数据校验:TCP将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到分片的检验或有差错,TCP将丢弃这个分片,并不确认收到此报文段导致对端超时并重发
TCP三次握手,四次释放图:

丢包 ICMP的更多相关文章
- zabbix使用ICMP Ping模版实现对客户端网络状态的监控,监控丢包率、响应时间
参考网站: https://www.cnblogs.com/saneri/p/6706578.html 使用fping报错注意事项: https://blog.csdn.net/oqqssh/arti ...
- 数据包判断是否丢包 ping+tracert+mtr
1.用咱们最常用的Ping命令来查看是不是真的丢包了 这里可以看到数据包发送了4个,返回了4个,丢失=0 证明没有丢失 也有可能中间路由做了策略不给ICMP的回应 这样就ping没法判断了 正常情 ...
- [转]网络性能评估工具Iperf详解(可测丢包率)
原文链接:安全运维之:网络性能评估工具Iperf详解:http://os.51cto.com/art/201410/454889.htm 参考博文:http://linoxide.com/monito ...
- ping 丢包或不通时链路测试说明【转】
转自:https://help.aliyun.com/knowledge_detail/40573.html?spm=5176.2020520165.121.d157.4fe170291Qdp4l#W ...
- [转]nf_conntrack: table full, dropping packet 连接跟踪表已满,开始丢包 的解决办法
nf_conntrack: table full, dropping packet 连接跟踪表已满,开始丢包 的解决办法 中午业务说机器不能登录,我通过USM管理界面登录单板的时候发现机器没有僵 ...
- 出现丢包解决方法(ping: sendmsg: Operation not permitted)
故障排查: 早上突然收到nagios服务器check_icmp的报警,报警显示一台网站服务器的内网网络有问题.因为那台服务器挂载了内网的NFS,因此内网的网络就采用nagios的check_icmp来 ...
- zabbix使用fping监控任意两个节点之间的网络质量、丢包率和响应时间
zabbix使用fping监控任意两个节点之间的网络质量.丢包率和响应时间 之前的博文 使用zabbix3..4的ICMP Ping模版实现对客户端网络状态的监控 https://www.cnblog ...
- 为什么首次ping丢包
1.之前就有关于为什么我们ping包的时候第一个包总是显示逗点,也就是超时的困惑.很多人的解答就是因为ARP啊,然后就没有下文了.继续追问那么为什么ARP就要是逗点呢?然后就又有一些人说因为要ARP解 ...
- 使用python脚本+zabbix前端监控云联网底层TCP数据流所负载的链路质量,并在丢包时联动保存MTR记录
背景 目前国内各家云联网跨区域数据传输,会将数据流通过哈希运算负载到不同的底层链路上,而底层链路质量差异较大,这种情况导致的现象就是,使用传统的icmp监控线路正常,但是业务一直不稳定,所以才有了使用 ...
随机推荐
- c#——ToString()的各种用法
ToString()的各种用法 string str = ""; str = 123456.ToString("N"); //生成 12,3456.00 str ...
- Mysql 8.0 相关命令
1.dos窗口命令登陆. 管理员/普通用户登陆(账号/密码:root/rootpwd) mysql -hlocalhost -uroot -prootpwd 普通用户登陆(root管理员的不可以使用这 ...
- web前台界面的两种验证方式
JSON的全称是"JavaScript Object Notation",意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式. 第一种: 用户体 ...
- hive集群模式安装
hadoop3.2.0 完全分布式安装 hive-3.1.1 #解压缩tar -zxvf /usr/local/soft/apache-hive-3.1.1-bin.tar.gz -C /usr/lo ...
- eclipse下如何查看Android源码
1.查看安卓源代码: (1)首先要先下载安装源代码,网上有很多地方都可以下,百度"安卓源代码下载就行了",这里要注意版本,比如我这里用的是4.0.3的版本,对应的是android- ...
- Net/NetCore/.NET5 ORM 六大查询体系 - SqlSugar 高级篇
框架介绍 SqlSugar ORM是一款老牌国产ORM框架,生命力也比较顽强,从早期ORM不成熟阶段,一直存活到现在,我为什么要一直坚持,那是因为还有很多用户在使用,本来我能够较早推出新开源框架 ,可 ...
- 改进你的c#代码的5个技巧(一)
亲爱的读者,在这篇文章中,我提供了一些c#编程的最佳实践. 你是否在用户输入验证中使用异常处理机制? 如果是,那么你就是那个把你的项目执行速度降低了62倍的人.你不相信我吗?等几分钟;我来教你怎么做. ...
- Phoneix(三)HBase集成Phoenix创建二级索引
一.Hbase集成Phoneix 1.下载 在官网http://www.apache.org/dyn/closer.lua/phoenix/中选择提供的镜像站点中下载与安装的HBase版本对应的版本. ...
- Elastisearch在kibana下批量处理(mget和bulk)
一.批量查询 有点:能够大大减少网络的请求次数,减少网络开销 1.自定义设置index.type以及document id,进行查询 GET /_mget { "docs":[ { ...
- SpringBoot对静态资源的映射规则
在WebMvcAutoConfiguration类中有相对应的方法addResourceHandlers public void addResourceHandlers(ResourceHandler ...