转自 https://blog.csdn.net/hankerzero/article/details/67062617

一、丢包原因

网络丢包原因很多,但是一般都是链路问题:

骨干拥塞

链路某个交换机背板坏了

交换机负载不均导致

此外,还有主机本身原因:

系统CPU负载高,数据包到网卡后CPU不能及时处理,但是缓冲区溢出,从而丢包。

网卡故障

丢包时一般先分析下网络层面的,主机本身的还是原因较少的

二、丢包分析方法及步骤

2.1 丢包分析工具

ping

ping -c 400 -i 0.01 -s 1024 -f

mtr

mtr -c 400 -i 0.1 -n -r

traceroute

traceroute -n

2.2 分析方法

一般对丢包IP之间做ping、mtr、traceroute测试,对于十分明显的,可以很容易分析出丢包点在哪里。但是对于故障现象不明显的我们可以做以下测试:

1、抓包:从源IP ping 目的IP,然后在源端抓reply包,在目的端抓request包

a)如果目的端抓到的request包少于400(目的端收到的请求包少于400,源端收到的reply包肯定少于400),则重点关注源端到目的端的mtr和traceroute图

b)如果目的端收到的request包为400,但是源端收到的reply包少于400,则重点关注从目的端到源端的mtr和traceroute图

c) 如果我在对端抓包,抓不到任何数据包,这种情况一般是数据包在中间路径就丢了。此时对比MTR分析,可以很明显的看到路径是不完整的或者是有回路。

抓包小技巧:因为我们测试一般是在监控机测试,但是作为监控机,一定会收到大量的ICMP包,对抓包会造成影响。为了避免这种影响,我们可以为发送的数据包指定伊特特殊的长度,比如1016。此时的表达式为:

tcpdump -i eth1 -n -vv -p icmp and src host IPADD | grep “length 1024”

这里为什么时1024字节了?因为需要加上8字节的头部,所以是1016+8=1024

2、路由对比

对比两个IDC之间的丢包路由图和不丢包的路由图,查看路径是否一致(一般都会有明显区别的),然后分析在哪个网段开始丢包。

3、路由逐跳ping

对于mtr或者traceroute的结果做一个逐跳ping测试,同时还需要对每一跳做一个traceroute,这是为了查看逐跳ping路由和之前的mtr路径是否一致,如果逐跳ping不丢包但是路由又不一致,这种结果是不能够作为判断的。如下:

[root@xxxx ~]# mtr -c 400 -i 0.1 -n -r

HOST: xxxx Loss% Snt Last Avg Best Wrst StDev

1. 0.0% 400 2.7 2.3 1.7 10.8 0.8

2. 0.0% 400 0.7 0.6 0.4 17.1 0.9

3. 120.221.17.85 99.0% 400 1.0 1.0 0.9 1.0 0.1

4. 211.137.196.233 67.2% 400 1.5 5.3 1.2 44.7 10.0

5. 120.192.97.9 86.8% 400 6.0 5.8 5.6 7.0 0.2

6. 221.183.12.205 0.0% 400 5.2 7.1 5.1 89.8 7.0

7. 221.183.10.26 12.8% 400 38.2 38.7 28.3 127.0 9.2

8. 221.183.23.170 9.8% 400 61.8 65.0 53.3 186.8 12.5

9. 221.176.20.186 11.5% 400 51.9 53.4 40.0 123.6 11.9

10. 183.203.27.218 10.5% 400 51.7 51.1 41.3 70.0 3.9

11. 183.203.21.138 11.0% 399 63.1 62.2 50.9 76.7 3.2

12. 221.180.20.170 13.0% 399 55.8 228.3 48.2 1004. 275.5

13. ??? 100.0 399 0.0 0.0 0.0 0.0 0.0

14. 12.0% 399 60.9 62.6 53.4 74.8 3.8

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

看MTR,第7跳可能存在问题,但是我ping测时时不丢包,然后做traceroute图对比,发现路由在第3跳已经发生了变化。因此这个逐跳ping无效。有的IDC经常做这种测试“忽悠人”,这时我们可以叫机房拿出测试路由对比图。因为整个网络的传输链路很多,可能是某个链路的问题,一般很难查到,必须对比,以便配合运营商更快的解决问题。

[root@xxx ~]# traceroute -n

traceroute to ( ), 30 hops max, 60 byte packets

1 11.330 ms 11.774 ms 11.859 ms

2 0.551 ms 120.221.17.25 11.146 ms 120.221.17.253 0.793 ms

3 120.221.16.13 0.838 ms 223.99.224.25 0.897 ms 0.965 ms

4 211.137.196.233 27.478 ms * *

5 221.183.12.229 1.201 ms 221.183.12.61 0.683 ms 221.183.27.181 16.531 ms

6 39.187 ms 38.786 ms 45.546 ms

1

2

3

4

5

6

7

8

2.3

mtr报告各列含义

Loss% 表示在每一跳的丢包率

Snt 每个中间设备收到的发送的报的数目(上图为400个包),MTR会同 时对所有中间节点发送ICMP包进行测试。

Last 最后一个数据包往返时间(ms)

Avg 数据包往返平均时间(ms)

Best 数据包往返最小时间(ms)

Wrst 数据包往返最大时间(ms)

StDev 标准偏差。如果标准偏差越高,说明数据包在这个节点上的延时越 不相同

1

2

3

4

5

6

7

MTR报告分析

对于MTR报告我们主要关注丢包率和延时。如果在Loss% 列有丢包,说明这一跳可能有问题。但是,ISP会人为的限制ICMP的速率,这也会导致丢包现象。

如何排除限速干扰了?我们只需要观察丢包的下一跳或者后面几跳是否有丢包率为0的情况,如果有,则说明是设备本身的干扰。判定理由:如果中间路由某跳确实丢包,那么后续节点肯定收不到预定的数据包数量了。因此在图一我们可以看到,前5跳都是有丢包的,但是第6跳没有丢包,因此可以认为之前5跳的丢包率的是由于设备上的ICMP策略导致的。

注意:ICMP限制和丢包可能同时存在!如果在这种情况下中间节点全部是丢包的,那么我们要用最低百分比来衡量。如下图:

第6跳丢包57%,但是后面几跳的丢包率又下降了,第7跳相对于后续几跳,丢包率也是偏高的,因此可以认为6、7跳不仅有丢包原因,还是有ICMP限速原因导致的。   对于MTR测试结果,一般首先看最后一跳,如果最后一跳有丢包,那么这个分析才是有意义的。因此判断是否丢包,丢在哪里,看最后几跳是最明显的。

ping 丢包 网络摄像头_用ping ,mtr ,traceroute 进行网络丢包分析相关推荐

  1. python 检测行为 网络摄像头_使用Python扫描开放的网络摄像头

    现在无论家用还是公司使用摄像头越来越多,但是安全性又如何呐?今天我来说说几款比较常用的摄像头,并且使用python如何批量检查弱口令. 第一个"海康威视": 前段时间爆出海康威视的 ...

  2. ping 丢包 网络摄像头_网络摄像机频繁掉线的处理方法

    在实际工作中,摄像机装好后,用的好好的,忽然掉线了,过了一会儿自己又上线了,然后趁你不注意又莫名其妙的掉线了.如何解决网络摄像机或者说网络设备频繁掉线的问题?从下面五个方面首手处理这个问题: 第一.检 ...

  3. ping 丢包 网络摄像头_网络监控摄像机丢包的原因分析

    原标题:网络监控摄像机丢包的原因分析 引文 不少人在使用网络和监控摄像系统的时候都有遇到过数据丢包的情况,数据丢包的原因是多种多样的,以下就为大家介绍一下网络数据丢包的原因及摄像机丢包的原因. 原因分 ...

  4. rstp 小米网络摄像头_国家部门调查联邦美国快递,联通VoLTE试商用开启,iOS蜂窝网络下载上限提高,小米申请屏下摄像头专利,这就是今天的其他大新闻!...

    今天是6月1日 农历四月廿八 今天小黑胖过节啦 大家快给我投食鸡腿 下面是今天的其他大新闻  # 国家有关部门决定立案调查美国联邦快递  ( IT之家 )根据央视网的报道,最近,美国联邦快递在我国发生 ...

  5. python读取网络摄像头_使用Python/Linux读取网络摄像头的选项

    我正在寻找一种方法,将网络摄像头集成到我的python程序中. 我运行的是Raspberry Pi型号,频率为900mHz,因此解决方案需要与ARM兼容,并且(希望)轻量级. 我看到的大多数帖子都推荐 ...

  6. 虹软java接摄像头_虹软人脸识别SDK在网络摄像头中的实际应用

    目前在人脸识别领域中,网络摄像头的使用很普遍,但接入网络摄像头和人脸识别SDK有一定门槛,在此篇中介绍过虹软人脸识别SDK的接入流程,本文着重介绍网络摄像头获取视频流并处理的流程(红色框内),以下内容 ...

  7. go语言 第三方包安装方法_【分享吧】Go语言第三方包的使用介绍与场景应用

    Go语言是一种跨平台(Mac OS.Windows.Linux 等)的静态编译型语言.拥有媲美C语言的强大性能,支持静态类型安全,在普通计算机上能几秒内快速编译一个大项目,开发效率跟动态语言相差无几. ...

  8. android 播放网络摄像头,如何将您的Android用作网络摄像头

    在没有内置网络摄像头且不准备购买的 PC 上?幸运的是,您的 Android 设备是网络摄像头的绝佳替代品.网络摄像头对于与家人.同事甚至客户聊天很有用.但是,如果您现在想要一个网络摄像头并且没有额外 ...

  9. linux获取网络摄像头视频教程,在Linux中读取USB网络摄像头的输出

    我在C中用fread和fwrite进行了一些实验,所以我在C中写了这个小程序,从网络摄像头获取数据并将其转储到一个文件中.以下是来源: #include #include #define SIZE 3 ...

最新文章

  1. python教程txt免费下载-python编程从入门到实践PDF电子书教程免费下载
  2. Tableau10.0学习随记-分组问题
  3. 往IOC 容器中添加组件的方式
  4. HDOJ杭电2044
  5. [转] 英语、计算机、互联网与全球化
  6. Booster 系列之——多线程优化
  7. Kotlin静态方法定义和调用
  8. 95-230-028-源码-WordCount走读-获取ExecutionGraph
  9. 【推荐实践】图片主题模型在推荐系统的应用实践
  10. 微信小程序的三级分销-项目表格设计
  11. 测试后台管理系统思路和方法
  12. vs2005让程序在win7下获得管理员权限
  13. Properties和ResourceBundle类
  14. PAT甲级真题1097 链表重复数据删除(简单解法)
  15. 通过poi导出带图片的Excel表格
  16. JavaScript打开APP
  17. 初学python:输入某年某月某日,判断这一天是这一年的第几天
  18. CCF关于举办CSP-J1 CSP-S1 初赛的报名通知
  19. (免量产,免格式化)手动将PE安装到移动硬盘/U盘或无系统硬盘!
  20. 武汉大学计算机学院附近澡堂,武汉大学附近美食攻略

热门文章

  1. 计算机保存图片找不到桌面,保存的图片在桌面但是找不到。怎么办?
  2. 【免杀前置课——Windows编程】十、进程间通信(COPY_DATA通信,邮槽通信)、实现两进程通信(附代码)
  3. 【微服务】初识Docker
  4. matlab人头曲面建模教程,MYAY NURBS人头高级建模教程
  5. 暑期2020“大咖说开源”之 孙金城:参与 ASF 开源贡献的正确姿势
  6. R语言对正交实验结果(含交互作用)进行极差分析与方差分析实例
  7. 【WebGIS全栈】从0到1开发整站——旅游足迹地图网站
  8. 亲测~亲测~人人商城搭建系列遇到的问题坑和研究解决的办法
  9. 无需编程经验,这份Python自动聊天机器人代码帮你玩转对话交流!
  10. 2008 R2修复光盘_华录企业级蓝光光盘库DA-BH9010太原售