华三路由追踪命令 tracert
此命令用来查看IPv4报文从源端传到目的端所经过的路径
tracert [ -a source-ip | -f first-ttl | -m max-ttl | -p port | -q packet-number | -t tos | { -topology topo-name | -vpn-instance vpn-instance-name [ -resolve-as { global | none | vpn } ] } | -w timeout ] * host
参数的含义如下:
-a source-ip:指定tracert报文的源IP地址。该地址必须是设备上已配置的合法IP地址。不指定该参数时,tracert报文的源IP地址是该报文出接口的主IP地址。
-f first-ttl:指定一个初始TTL,即第一个报文所允许的最大跳数。取值范围为1~255,且小于或等于最大TTL,缺省值为1。
-m max-ttl:指定一个最大TTL,即一个报文所允许的最大跳数。取值范围为1~255,且大于或等于初始TTL,缺省值为30。
-p port:指定目的端的UDP端口号,取值范围为1~65535,缺省值为33434。用户一般不需要更改此选项。当tracert的目的地址为远端LISP站点的EID地址时,目的端的UDP端口号必须大于或等于33434。
-q packet-number:指定每次发送的探测报文个数,取值范围为1~65535,缺省值为3。
-t tos:Tracert报文中ToS域的值。取值范围为0~255,缺省值为0。
-topology topo-name:指定目的端所属的拓扑。topo-name表示拓扑名,为1~31个字符的字符串,区分大小写;取值为base时表示公网拓扑。如果未指定本参数,则表示目的端位于公网中。
-vpn-instance vpn-instance-name:指定目的端所属的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示目的端位于公网中。
-resolve-as:指定从哪个路由表中解析AS号。使用该参数,能够帮助用户了解Tracert路径中三层设备所属AS的编号。不指定该参数时,表示从公网路由表解析AS号。
global:表示从公网路由表解析AS号。指定该参数后,Tracert在显示公网三层设备的地址信息时,会同时显示该地址对应的AS号。如果公网路由表中没有记录该地址的AS号,则不显示。
none:表示不解析AS号。Tracert显示信息中不会携带AS号。
vpn:表示从当前VPN的路由表解析AS号。指定该参数后,Tracert在显示当前VPN中三层设备的地址信息时,会同时显示该地址对应的AS号。如果当前VPN路由表中没有记录该地址的AS号,则不显示。
-w timeout:指定探测报文的响应报文的超时时间,取值范围是1~65535,单位为毫秒,缺省值为5000。
host:目的端的IP地址或主机名。其中,主机名为1~253个字符的字符串,不区分大小写,字符串仅可包含字母、数字、“-”、“_”或“.”。
使用指导:
当用户使用ping命令测试发现网络出现故障后,可以用tracert命令分析出现故障的网络节点。
当目的地址为公网地址时,设备会自动从公网路由表解析AS号,如果存在则显示。当目的地址为私网地址时,路径上的三层设备的地址可能存在于公网路由表或私网路由表,这时需要用户执行两次tracert命令,分别指定global参数和vpn参数,然后根据网络拓扑确定源端到目的端实际途经的AS。
tracert命令的输出信息包括到达目的端所经过的所有三层设备的IP地址,如果某设备不能回应ICMP错误消息(可能因为路由不可达或者没有开启ICMP错误报文处理功能),则输出“* * *”。
在Tracert过程中,并且中间设备开启了ICMP不可达报文处理功能(参考ip unreachables enable命令),如果命令执行结果中显示以下字符,则表示目的设备已不可达,设备会停止发包,Tracert过程停止。
· !N:表示网络不可达。
· !H:表示目的主机不可达。
· !P:表示协议不可达(未知的协议号)。
· !F:表示需要进行分片但中间设备设置了不分片导致的不可达。
· !W:表示未知的目的主机不可达,即目的主机不存在。
· !Q:表示目的网络不可达的服务类型不可达,即不可用的服务类型(网络)。
· !T:表示目的主机不可达的服务类型不可达,即不可用的服务类型(主机)。
· !X:表示管理禁止通信不可达,即通信被过滤策略禁止。
· !V:表示违反主机优先级不可达,即报文优先级为src/dst/port不准许的优先级,则报文不被允许转发。
· !C:表示优先级终止生效不可达,即报文优先级被终止生效而不允许转发。
在执行命令过程中,键入<Ctrl+C>可终止此次tracert操作。
举例:
# 查看报文从源端到目的端(IP地址为1.1.2.2)所经过的路径。
<Sysname> tracert 1.1.2.2
traceroute to 1.1.2.2 (1.1.2.2), 30 hops at most, 40 bytes each packet, press CTRL_C to break
1 1.1.1.2 (1.1.1.2) 673 ms 425 ms 30 ms
2 1.1.2.2 (1.1.2.2) [AS 100] 580 ms 470 ms 80 ms
# 查看报文从源端到目的端(IP地址为1.1.3.2,属于vpn1)所经过的路径,并显示报文经过的私网中的三层设备的AS信息。
<Sysname> tracert –vpn-instance vpn1 –resolve-as vpn 1.1.3.2
traceroute to 1.1.3.2 (1.1.3.2), 30 hops at most, 40 bytes each packet, press CTRL_C to break
1 1.1.1.2 (1.1.1.2) 673 ms 425 ms 30 ms
2 1.1.2.2 (1.1.2.2) 580 ms 470 ms 80 ms
3 1.1.3.2 (1.1.3.2) [AS 65535] 530 ms 472 ms 380 ms
# 查看报文从源端到目的端(IP地址为192.168.0.46)所经过的路径(途经MPLS网络)。
<Sysname> tracert 192.168.0.46
traceroute to 192.168.0.46 (192.168.0.46), 30 hops at most, 40 bytes each packet, press CTRL_C to break
1 192.0.2.13 (192.0.2.13) 0.661 ms 0.618 ms 0.579 ms
2 192.0.2.9 (192.0.2.9) 0.861 ms 0.718 ms 0.679 ms
MPLS Label=100048 Exp=0 TTL=1 S=1
3 192.0.2.5 (192.0.2.5) 0.822 ms 0.731 ms 0.708 ms
MPLS Label=100016 Exp=0 TTL=1 S=1
4 192.0.2.1 (192.0.2.1) 0.961 ms 8.676 ms 0.875 ms
表1-3 tracert命令显示信息描述表