linux命令--mtr网络诊断

一般在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进行验证。

 

需要手动安装:yum install mtr -V

经常用的参数:

-n  不用主机解释

-c   发送多少个数据包

--report  结果显示,并不动态显示。发送10个包到目标主机。

 

$mtr --no-dns --report www.baidu.com

$mtr --report www.baidu.com

FOCUS9097 Snt: 15 Loss% Last Avg Best Wrst StDev
220.181.61.252 0.0% 1.9 3.4 1.8 12.9 3.1

Loss% 每一跳的丢包率

snt 发送的数据包数量

last 最后一个包的响应时间ms

AVG 所有包的平均响应时间,一般关注这个

 

看报告一般关注的丢包率和延时。

ICMP速率限制和丢包同时出现时,丢包率应该选择后续的跳中最低的丢包率,这个才是实际的丢包率。

有时目的主要的不正确配置也会丢包,如最后一跳100%的丢包率。

 

 

参考资料:

mtr 命令详解

 

posted @ 2017-05-02 14:19  milkty  阅读(1875)  评论(0)    收藏  举报