解释
一般在windows 来判断网络连通性用ping和tracert,ping的话可以来判断丢包率,tracert可以用来跟踪路由,在Linux中有一个更好的网络连通性判断工具,它可以结合ping nslookup tracert 来判断网络的相关特性,这个命令就是mtr
mtr的数据如何产生的,如何解读报告,如何诊断异常?
使用ICMP包来测试网络争用和传输,工作原理:启动mtr时,通过发送不断增长的TTL的ICMP包来测试本地和目标主机的连通性。TTL决定了ICMP需要经过多少跳才返回。如发出TTL=1的包,第一个路由器将TTL减少1就不再转发此数据包,而是返回一个超时报文,从报文中提取出第一个网关地址;再发出TTL=2的包,获取第二个网关地址,依次递增TTL后获取了所有的网关地址(路由器的所有信息,如各种连接,响应能力,状态等)。
mtr可看作一个单向的衡量网络质量的工具。从本机到目的机与从目的机到本机,所走的网络路径,走的经常不是一个路径。如果诊断出问题时,建议在两个方向上都使用mtr进行验证
安装
Centos 直接yum安装 Ubuntu apt-get 直接安装
参数
-s 用来指定ping数据包的大小
-n no-dns不对IP地址做域名解析
-a 来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的
-i 使用这个参数来设置ICMP返回之间的要求默认是1秒
-4 IPv4
-6 IPv6
--report 结果显示,并不动态显示。发送10个包到目标主机
示范
测试百度,数据包大小为1000,不动态显示
root@pa3:~# mtr --report -s 1000 www.baidu.com
Start: Thu Mar 8 16:24:15 2018
HOST: pa3 Loss% Snt Last Avg Best Wrst StDev
1.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
2.|-- 11.220.31.21 0.0% 10 2.4 2.7 1.8 4.8 0.6
3.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
4.|-- 11.218.196.246 0.0% 10 1.3 1.1 1.0 1.3 0.0
5.|-- 116.251.104.209 0.0% 10 1.9 2.8 1.9 3.8 0.0
6.|-- 116.251.112.177 0.0% 10 2.1 2.0 2.0 2.2 0.0
7.|-- 36.110.166.117 60.0% 10 2.8 2.8 2.8 2.8 0.0
8.|-- 180.149.141.109 10.0% 10 5.9 5.5 4.2 8.4 1.1
9.|-- 180.149.128.113 0.0% 10 4.3 4.3 4.2 4.5 0.0
10.|-- 202.97.65.98 50.0% 10 38.2 38.8 38.1 39.8 0.5
11.|-- 113.96.4.10 0.0% 10 54.7 42.9 38.6 54.7 5.0
12.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
13.|-- 14.29.117.238 0.0% 10 41.1 41.2 41.1 41.5 0.0
14.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
15.|-- 14.215.177.38 0.0% 10 40.0 40.0 39.9 40.0 0.0
大家可以测试不同数据包的大小与丢包率之间的关系
结果解释
Loss% :是显示的每个对应IP的丢包率
Snt :显示的最近一次的返回时延
Last :是平均值 这个应该是发送ping包的平均时延
Avg :是最好或者说时延最短的
Best :是最差或者说时延最长的
StDev :是标准偏差