快速排除故障命令除了 ping 还有 tracert

杰哥的IT之旅

共 2894字,需浏览 6分钟

 · 2021-04-10

公众号关注“杰哥的IT之旅”,

选择“星标”,重磅干货,第一时间送达!


来源:网络技术平台

Tracert简介

Tracert是测试报文从发送端到目的地所经过的路由的方法。它能够直观展现报文在转发的时候所经过的路径。

Tracert基于ICMP协议来实现的。当网络出现故障时,用户可以使用Tracert确定出现故障的网络节点。

Tracert实现过程

Tracert的实现如上图1所示,Tracert的工作流程为:

(1)源端(SwitchA)向目的端(日志主机)发送一个UDP报文,TTL值为1,目的UDP端口号是大于30000的一个数,因为在大多数情况下,大于30000的UDP端口号是任何一个应用程序都不可能使用的端口号。

(2)第一跳(SwitchB)收到源端发出的UDP报文后,判断出报文的目的IP地址不是本机IP地址,将TTL值减1后,判断出TTL值等于0,则丢弃报文并向源端发送一个ICMP超时(TimeExceeded)报文(该报文中含有第一跳的IP地址10.1.1.2),这样源端就得到了SwitchB的地址。

(3)源端收到SwitchB的ICMP超时报文后,再次向目的端发送一个UDP报文,TTL值为2。

(4)第二跳(SwitchC)收到源端发出的UDP报文后,回应一个ICMP超时报文,这样源端就得到了SwitchC的地址(10.1.2.2)。

(5)以上过程不断进行,直到目的端收到源端发送的UDP报文后,判断出目的IP地址是本机IP地址,则处理此报文。根据报文中的目的UDP端口号寻找占用此端口号的上层协议,因目的端没有应用程序使用该UDP端口号,则向源端返回一个ICMP端口不可达(DestinationUnreachable)报文(该报文含有目的端的IP地址10.1.3.2)。

(6)源端收到ICMP端口不可达报文后,判断出UDP报文已经到达目的端,则停止Tracert程序,从而得到数据报文从源端到目的端所经历的路径(10.1.1.2;10.1.2.2;10.1.3.2)。

华为设备支持的Tracert命令

华为设备《命令参考》手册提供了详细的命令参数和使用方法。这里只列举了常用的参数,并对参数进行解释说明。

tracert[ -a source-ip-address | -f first-ttl | -m max-ttl | -p port | -qnqueries | -vpn-instance vpn-instance-name | -w timeout ] *host

-a:指定报文的源地址。如果不指定源地址,将采用出接口的IP地址作为Tracert报文发送的源地址。

-f:指定初始TTL。当经过的跳数小于此参数值,由于TTL字段的值大于0,经过的这几个节点不会返回ICMP超时报文给源主机。如果已经设置了max-ttl参数值,first-ttl的取值必须小于max-ttl。

-m:指定最大TTL。通常情况下,max-ttl的值被设置为经过站点的跳数。如果已经设置了first-ttl参数值,max-ttl的取值必须大于first-ttl。缺省情况下,最大TTL为30。

-p:指定目的主机的UDP端口号。如果不指定目的主机的UDP端口号,Tracert命令使用大于32768的随机的端口作为目标设备的接收报文端口。如果指定目的UDP端口号,需要避免采用对端已经开启的端口号,否则会导致Tracert失败。

-q:指定每次发送的UDP探测数据报文的个数。当网络质量不高时,可以增加发送探测数据报文的数目,保证探测报文能够到达目的节点。缺省情况下,每次发送三个UDP探测数据报文。

-w:等待响应报文的超时时间。当发送数据报文到达某网关超时,则输出“* ”。如果网络质量不高且速度很慢,建议增加发送数据报文的超时时间。缺省超时时间为5000毫秒。

host:可以是IP地址或域名,如果是域名会首先进行DNS解析,并显示解析后的IP地址。

电脑支持的Tracert命令

电脑上的Tracert功能与操作系统相关,这里以Windows操作系统为例。这里只列举了常用的参数,并对参数进行解释说明。

tracert[ -d | -h maximum_hops | -j host-list | -w timeout ] *host

-d:不解析主机名。

-h:指定最大TTL的数值。

-j:设定松散源地址路由列表。

-w:用于设置UDP报文的超时时间,单位为毫秒。

host:指定目的主机的域名或IP地址。

Tracert示例

<SwitchA>tracert 10.26.0.115

traceroute to10.26.0.115(10.26.0.115), max hops: 30 ,packet length: 40,pressCTRL_C to break

1 10.3.112.1  10 ms  10 ms  10 ms

2 10.32.216.1 19 ms  19 ms  19 ms

4 10.32.136.2319 ms  39 ms  39 ms

5 * * *

6 * * *

7 * * *

8 10.26.0.115  69 ms  79 ms  79 ms

推荐阅读

常见的几种网络故障案例分析与解决

网络故障排除工具 | 快速定位网络故障

线上故障排查全套路,总有你用到的。

集群磁盘故障,如何在服务器上挂载大于 2T 的磁盘?

Linux 问题故障定位,看这一篇就够了

Linux运维常见故障排查和处理的技巧汇总

Linux环境下分析和排查系统故障

这些 Nginx 常见异常,帮你快速定位故障!

Linux 运维故障排查思路,有这篇文章就够了

浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报