Ping和Tracert配置命令
ping
命令格式
ping [ ip ] [ -a source-ip-address | -c count | -d | { -f | ignore-mtu } | -h ttl-value | -nexthop nexthop-ip-address | -i interface-type interface-number | -m time | -n | -name | -p pattern | -q | -r | { -s packetsize | -range [ min min-size | max max-size | step step-size ] * } | -system-time | -t timeout | -tos tos-value | -v | -vpn-instance vpn-instance-name ] * host [ ip-forwarding ]
参数说明
参数 | 参数说明 | 取值 |
---|---|---|
ip | 使用IPv4协议。不指定该参数时,也表示使用IPv4协议。 | - |
-a source-ip-address | 指定发送ICMP ECHO-REQUEST报文的源IP地址。 如果不指定源IP地址,将采用出接口的IP地址作为ICMP ECHO-REQUEST报文发送的源地址。 |
点分十进制形式。 |
-c count | 指定发送ICMP ECHO-REQUEST报文次数。 ping命令每发送一个ICMP ECHO-REQUEST报文,顺序号就加1,顺序号从1开始,缺省情况下发送5个ICMP ECHO-REQUEST报文,也可以通过命令行参数count设置发送ICMP ECHO-REQUEST报文的个数,即Ping多包。 当网络质量不高时,可以增加发送报文数目,通过丢包率来检测网络质量。 |
整数形式,取值范围是1~4294967295,缺省值是5。 |
-d | 设置socket为debug模式。 | 缺省为非debug模式。 |
-f | 设置报文发送的过程中不分片。 说明:
使用-f参数后,ICMP报文将不会被分片,如果ICMP报文的大小超过链路的MTU值,ICMP报文将会被丢弃。可以通过不使用-f参数或者增大链路MTU值的方式使ICMP报文不被丢弃。 |
- |
-h ttl-value | 指定TTL的值。 报文在转发过程中,如果TTL字段的值减为0,报文到达的三层设备就会向源端发送ICMP超时报文,表明远程设备不可达。 |
整数形式,取值范围是1~255。缺省值是255。 |
-nexthop nexthop-ip-address | 指定下一跳IP地址。 指定该参数后,ICMP ECHO-REQUEST报文在发送前不再查找路由表,而是直接发送。可用于排除路由表项不正确而导致的ping不通问题。 说明:
指定的下一跳地址必须为直连物理接口的下一跳地址。 指定下一跳地址时,可以同时配置-i interface-type interface-number指定出接口。此时必须保证如下两个条件,否则将会导致测试失败:指定的下一跳地址和出接口相互匹配、指定的出接口不能是逻辑接口的成员口。 指定下一跳地址时,不支持同时指定VPN。 |
点分十进制格式。 |
-i interface-type interface-number | 设置发送ICMP ECHO-REQUEST报文的接口。 说明:
对于负载分担场景,若设置从指定接口发送ICMP ECHO-REQUEST报文,则所有报文均从指定接口发出,不会进行负载分担。 指定发送ICMP ECHO-REQUEST报文的接口需为三层接口,例如:VLANIF接口。 |
- |
-m time | 指定发送下一个ICMP请求报文的等待时间。 ping发送ICMP ECHO-REQUEST报文后等待应答(reply),缺省等待500毫秒后发送下一个ICMP ECHO-REQUEST报文。可以通过time参数配置发送时间间隔。在网络状况较差情况下,不要配置此参数取值小于500毫秒。 |
整数形式,取值范围是1~10000,单位毫秒。缺省值是500。 |
-n | 将host参数直接作为IP地址,而不需作域名解析。 | - |
-name | 显示目的地址的主机名。 | - |
-p pattern | 指定ICMP ECHO-REQUEST报文填充字节。 可以通过配置ICMP ECHO-REQUEST报文的填充字节,便于故障定位人员从大量ICMP ECHO-REPLY报文后识别出某类报文。 |
16进制整数,取值范围是0~FFFFFFFF。缺省情况下,填充方式为从0x01开始,依次递增。 |
-q | 指定只显示统计信息。 ping命令指定此参数后,系统只显示发送、接收报文数、报文丢失率、最小返回时间、平均返回时间和最大返回时间。 |
缺省情况下,显示全部信息。 |
-r | 指定记录路由。 如果指定记录路由,在IP报文传送过程中,在IP包到达三层路由设备后,经过的每一个三层设备都把它的IP地址放入选项字段中。当数据报到达目的端时,所经过的IP地址都应该复制到ICMP回显应答中,并且返回途中所经过的三层设备地址也要被加入到回应的IP报文中。当Ping程序收到回显应答时,它就可以显示出经过的三层设备的IP地址。 |
缺省情况下,不记录路由。 |
-s packetsize | 指定ECHO-REQUEST报文的长度(不包括IP和ICMP报文头),即Ping大包。 | 整数形式,取值范围是20~9600,单位是字节。缺省报文长度是56字节。 |
-range | 设置ECHO-REQUEST报文净荷长度的范围及变化步长。 说明:
执行过程中,可以使用Ctrl+C终止。 通过调整min min-size和max max-size的值,可以控制发送报文的个数。min min-size必须小于max max-size。 -range可以和-c count结合使用,此时,相同长度的报文发送count次后,再按照步长递增至下一长度,以此循环。 |
|
min min-size | 设置ECHO-REQUEST报文净荷长度的最小值。 | 整数形式,取值范围是20~9600,单位是字节。缺省值是56。 |
max max-size | 设置ECHO-REQUEST报文净荷长度的最大值。 | 整数形式,取值范围是20~9600,单位是字节。缺省值是9600。 |
step step-size | 设置报文长度变化的步长。 | 整数形式,取值范围是1~1000,单位是字节。缺省值是1。 |
-system-time | 显示报文发送时的系统时间。 | - |
-t timeout | 指定发送完ICMP ECHO-REQUEST后,等待ICMP ECHO-REPLY的超时时间。 ping命令会发送ICMP ECHO-REQUEST报文到某个地址,然后等待应答(reply),当ICMP ECHO-REQUEST报文到达目标地址以后,在一个有效的时间内(timeout之前)返回ICMP ECHO-REPLY给源地址,则说明目的地可达。如在有效时间内,没有收到回应,则在发送端显示超时。 正常情况下,发送完ICMP ECHO-REQUEST后会在1~10秒内收到应答(replay)。当网络传输速率较慢时,可以使用此参数加大ICMP ECHO_REQUEST报文的响应超时时间。 |
整数形式,取值范围是0~65535,单位是毫秒。缺省超时时间是2000毫秒。 |
-tos tos-value | 指定发送ICMP ECHO-REQUEST报文的ToS值。通过设置ToS值,配置ICMP报文的优先级别。 | 整数形式,取值范围是0~255。缺省值是0。 |
-v |
|
- |
-vpn-instance vpn-instance-name | VPN实例名。 | 必须是已存在的VPN实例名称。 |
ignore-mtu | 忽略接口发送包的最大传输单元。 | - |
host | 目的主机的域名或IP地址。 | 字符串形式主机名,不支持空格,区分大小写,长度范围是1~255,当输入的字符串两端使用双引号时,可在字符串中输入空格。或者合法的点分十进制IPv4地址。 |
ip-forwarding | 指定头节点强制走IP。 | - |
使用指南
应用场景
- 远程设备是否可用。
- 与远程主机通信的来回旅程(round-trip)的延迟(delay)。
- 包(packet)的丢失情况。
场景一:检查本机协议栈。执行ping <环回地址>,可以检查本机TCP/IP协议栈是否正常。
场景二:在IP网络中检测目的主机是否可达。执行ping host,向对端发送ICMP ECHO-REQUEST报文,如果能够收到对端应答(reply),则可以判定对端路由可达。
场景三:网络环境较差时,通过ping -c count -t timeout host命令可以检测本端到对端设备间的网络质量。通过分析显示结果中的丢包率和平均时延,可以评估网络质量。对于可靠性较差的网络,建议发包次数(-c)和超时时间(-t)取较大值,这样可以更加准确的得到检测信息。
场景四:检测路径。执行ping -r host命令,可以得到本端到对端的路径节点信息。
场景五:检测路径MTU。执行ping -f -s packetsize host,可以设置ICMP报文不分片和ICMP报文大小,从而实现在多次探测后的得到路径的MTU值。
场景六:在三层VPN网络中检测对端是否可达。在三层VPN网络中,由于各设备间可能没有彼此的路由信息,无法直接使用ping <目的IP地址>命令进行检测,只能通过VPN到达对端。执行ping -vpn-instance vpn-instance-name host命令,在指定VPN实例名的情况下,可以实现向对端发送ICMP ECHO-REQUEST报文,如果能够收到对端应答(reply),则可以判定对端可达。
前置条件
- 执行ping检测前,需要保证ICMP模块工作正常。
- 如果配置-vpn-instance参数,需要保证VPN模块工作正常。
注意事项
- 当中间设备去使能了对ICMP报文的回应,会导致此节点检测失败。
- 如果ping执行过程出现异常,可以使用CTRL+C键中止ping命令。
- 出于安全考虑,建议不要ping广播地址(如XX.XX.XX.255)。
- 当目标主机不可达时,系统显示“Request time out”,请求超时。
使用实例
# 检查IP地址为10.1.1.2的主机是否可达。
<HUAWEI> ping 10.1.1.2
PING 10.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.2: bytes=56 Sequence=1 ttl=255 time=2 ms
Reply from 10.1.1.2: bytes=56 Sequence=2 ttl=255 time=1 ms
Reply from 10.1.1.2: bytes=56 Sequence=3 ttl=255 time=1 ms
Reply from 10.1.1.2: bytes=56 Sequence=4 ttl=255 time=1 ms
Reply from 10.1.1.2: bytes=56 Sequence=5 ttl=255 time=1 ms
--- 10.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/1/2 ms
<HUAWEI> ping -vpn-instance vpn1 10.1.1.3
PING 10.1.1.3: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.3: bytes=56 Sequence=1 ttl=255 time=31 ms
Reply from 10.1.1.3: bytes=56 Sequence=2 ttl=255 time=31 ms
Reply from 10.1.1.3: bytes=56 Sequence=3 ttl=255 time=31 ms
Reply from 10.1.1.3: bytes=56 Sequence=4 ttl=255 time=31 ms
Reply from 10.1.1.3: bytes=56 Sequence=5 ttl=255 time=31 ms
--- 10.1.1.3 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/31/31 ms
# 检查IP地址为10.1.1.4的主机是否可达,设置发送报文次数为8,设置发送报文等待应答的超时时间为4000ms。
<HUAWEI> ping -c 8 -t 4000 10.1.1.4
PING 10.1.1.4: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.4: bytes=56 Sequence=1 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=2 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=3 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=4 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=5 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=6 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=7 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=8 ttl=255 time=32 ms
--- 10.1.1.4 ping statistics ---
8 packet(s) transmitted
8 packet(s) received
0.00% packet loss
round-trip min/avg/max = 32/32/32 ms
# 发送可变长度的ECHO-REQUEST报文。
<HUAWEI> ping -range min 56 max 60 192.168.1.9
PING 192.168.1.9: 56-60 data bytes, press CTRL_C to break
Reply from 192.168.1.9: bytes=56 Sequence=1 ttl=255 time=80 ms
Reply from 192.168.1.9: bytes=57 Sequence=2 ttl=255 time=60 ms
Reply from 192.168.1.9: bytes=58 Sequence=3 ttl=255 time=80 ms
Reply from 192.168.1.9: bytes=59 Sequence=4 ttl=255 time=80 ms
Reply from 192.168.1.9: bytes=60 Sequence=5 ttl=255 time=50 ms
--- 192.168.1.9 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 50/70/80 ms
# 检查IP地址为10.1.1.10的主机是否可达。
<HUAWEI> ping 10.1.1.10
ping 10.1.1.10
PING 10.1.1.10: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.10: bytes=56 Sequence=1 ttl=128 time=1 ms
Reply from 10.1.1.10: bytes=56 Sequence=1 ttl=64 time=1 ms (DUP!)
Reply from 10.1.1.10: bytes=56 Sequence=2 ttl=128 time=1 ms
Reply from 10.1.1.10: bytes=56 Sequence=2 ttl=64 time=1 ms (DUP!)
Reply from 10.1.1.10: bytes=56 Sequence=3 ttl=128 time=1 ms
Reply from 10.1.1.10: bytes=56 Sequence=3 ttl=64 time=1 ms (DUP!)
Reply from 10.1.1.10: bytes=56 Sequence=4 ttl=128 time=1 ms
Reply from 10.1.1.10: bytes=56 Sequence=4 ttl=64 time=1 ms (DUP!)
Reply from 10.1.1.10: bytes=56 Sequence=5 ttl=128 time=1 ms
--- 10.1.1.10 ping statistics ---
5 packet(s) transmitted
9 packet(s) received
4 duplicates
-- somebody's printing up packets
round-trip min/avg/max = 1/0/1 ms
项目 |
描述 |
---|---|
PING x.x.x.x |
对IP地址为x.x.x.x的目的主机进行Ping测试,检测目的主机是否可达。 |
x data bytes |
发送的ECHO-REQUEST报文的长度。 |
press CTRL_C to break |
在执行命令的过程中,键盘操作<CTRL + C>可终止Ping测试。 |
Reply from x.x.x.x |
目的主机对每个ECHO-REQUEST报文的响应情况,包括:
说明:
当接收到结尾带(DUP!)的报文时,表示设备收到了序列号相同的ECHO-REPLY报文。 |
x.x.x.x ping statistics |
对目的主机进行Ping测试的统计结果,包括:
|
ping ipv6
命令格式
ping ipv6 [ -a source-ipv6-address | -c count | -h ttl-value | -m time | -name | -s packetsize | -t timeout | -tc traffic-class-value | vpn-instance vpn-instance-name ] * host [ -i interface-type interface-number ]
参数说明
参数 | 参数说明 | 取值 |
---|---|---|
-a source-ipv6-address | 指定发送ICMPv6 ECHO-REQUEST报文的源IPv6地址。 如果不指定源IPv6地址,将采用出接口的IPv6地址作为ICMPv6 ECHO-REQUEST报文发送的源地址。 |
32位16进制数,格式为X:X:X:X:X:X:X:X。 |
-c count | 指定发送ICMPv6 ECHO-REQUEST报文次数。 当网络质量不高时,可以增加发送报文数目,通过丢包率来检测网络质量。 |
整数形式,取值范围1~4294967295,缺省值为5次。 |
-h ttl-value | 指定TTL的值。 报文在转发过程中,如果TTL字段的值减为0,报文到达的三层路由设备就会向源端发送ICMP超时报文,表明远程设备不可达。 |
整数形式,取值范围是1~255。缺省值是255。 |
-m time | 指定发送下一个ICMPv6 ECHO-REQUEST报文的等待时间。 ping ipv6发送ICMPv6 ECHO-REQUEST报文后等待应答(reply),缺省等待2000毫秒后发送下一个ICMPv6 ECHO-REQUEST报文。可以通过-m参数配置发送时间间隔。在网络状况较差情况下,不要配置此参数取值小于2000毫秒。 |
整数形式,取值范围1~10000,单位ms,缺省值是2000。 |
-name | 显示目的地址的主机名。 | - |
-s packetsize | 指定ICMPv6 ECHO-REQUEST报文长度(不包括IP和ICMPv6报文头)。 |
整数形式,取值范围是20~9600。单位是字节,缺省报文长度是56字节。 |
-t timeout | 指定发送完ICMPv6 ECHO-REQUEST后,等待ICMPv6 ECHO-REPLY的超时时间。 ping ipv6命令会发送ICMPv6 ECHO-REQUEST报文到某个地址,然后等待应答(reply),当ICMPv6 ECHO-REQUEST报文到达目的地址以后,在一个有效的时间内(timeout之前)返回ICMPv6 ECHO-REPLY给源地址,则说明目的地可达。如在有效时间内,没有收到回应,则在发送端显示超时。 正常情况下,发送完ICMPv6 ECHO-REQUEST后会在1~10秒内收到应答(reply)。当网络传输速率较慢时,可以使用此参数加大ICMPv6 ECHO-REQUEST报文的响应超时时间。 |
整数形式,取值范围是0~65535。单位是ms,缺省超时时间是2000ms。 |
-tc traffic-class-value | 指定ICMPv6 ECHO-REQUEST报文中的流量类别。 通过设置traffic-class-value值,配置ICMPv6报文的流量控制。 |
整数形式,取值范围是0~255。缺省值是0。 |
vpn-instance vpn-instance-name | 指定IPv6地址族的VPN实例名称。 |
必须是已存在的VPN实例名称。 |
host | 指定主机名或目的主机IPv6地址。 |
主机名的取值为字符串形式,区分大小写,不支持空格,长度范围是1~255,当输入的字符串两端使用双引号时,可在字符串中输入空格。IPv6地址的取值为32位16进制数,格式为X:X:X:X:X:X:X:X。 |
-i interface-type interface-number | 指定发送ICMP ECHO-REQUEST报文的出接口。 |
- |
使用指南
应用场景
- 远程设备是否可用
- 与远程主机通信的来回旅程(round-trip)的延迟(delay)
- 包(packet)的丢失情况
检查本机协议栈。执行ping ipv6 <IPv6环回地址>,可以检查本机TCP/IP协议栈是否正常。
在IPv6网络中检测目的IPv6主机是否可达。 执行ping ipv6 host,向对端发送ICMPv6 ECHO-REQUEST报文,如果能够收到对端应答(reply),则可以判定对端路由可达。
在L3VPN网络中检测对端是否可达。L3VPN网络中,由于各设备间可能没有彼此的路由信息,无法直接使用ping ipv6 host命令进行检测,只能通过VPN到达对端。执行ping ipv6 vpn-instance vpn-instance-name host命令,在指定VPN实例名的情况下,可以实现向对端发送ICMPv6 ECHO-REQUEST报文,如果能够收到对端应答(reply),则可以判定对端可达。
网络环境较差时,通过ping ipv6 -c count -t timeout host命令可以检测本端到对端设备间的网络质量。通过分析显示结果中的丢包率和平均时延,可以评估网络质量。对于可靠性较差的网络,建议发包次数(-c)和超时时间(-t)取较大值,这样可以更加准确的得到检测信息。
前置条件
- 执行ping ipv6检测前,需要保证ICMPv6模块工作正常。
- 如果配置vpn-instance参数,需要保证vpn模块工作正常。
注意事项
- 当中间设备去使能了对ICMPv6报文的回应,会导致此节点检测失败。
- 如果目的主机IPv6地址对应一个本地地址,则需指定发送回应请求的本地出接口名称,否则ping ipv6命令返回超时。
- 当目标主机不可达时,系统显示“Request time out”,请求超时,同时也显示ping ipv6测试的统计结果。
- 如果ping ipv6执行过程出现异常,可以使用CTRL+C键中止ping ipv6命令。
使用实例
# 检查IPv6地址为FC00::1的主机是否可达。
<HUAWEI> ping ipv6 FC00::1
PING FC00::1 : 56 data bytes, press CTRL_C to break
Reply from FC00::1
bytes=56 Sequence=1 hop limit=64 time=115 ms
Reply from FC00::1
bytes=56 Sequence=2 hop limit=64 time=1 ms
Reply from FC00::1
bytes=56 Sequence=3 hop limit=64 time=1 ms
Reply from FC00::1
bytes=56 Sequence=4 hop limit=64 time=1 ms
Reply from FC00::1
bytes=56 Sequence=5 hop limit=64 time=1 ms
---FC00::1 ping statistics---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max=1/23/115 ms
项目 |
描述 |
---|---|
PING HH:HH::HH:H |
目的主机的IPv6地址 |
x data bytes |
发送的ICMPv6 ECHO-REQUEST报文的长度 |
press CTRL_C to break |
键盘操作<CTRL + C>将终止正在进行的IPv6 Ping测试 |
Reply from HH:HH::HH:H |
目的主机对每个ICMPv6 ECHO-REQUEST报文的响应情况,包括:
|
HH:HH::HH:H ping statistics |
对目的主机进行Ping测试的统计结果,包括:
|
tracert
命令格式
tracert [ -a source-ip-address | -f first-ttl | -m max-ttl | -name | -p port | -q nqueries | -v | -vpn-instance vpn-instance-name [ pipe ] | -w timeout | -s packetsize ] * host
参数说明
参数 | 参数说明 | 取值 |
---|---|---|
-a source-ip-address | 指定tracert报文的源地址。 如果不指定源地址,将采用出接口的IP地址作为tracert报文发送的源地址。 |
点分十进制形式。 |
-f first-ttl | 指定初始TTL。 TTL(time to live)是IP报文首部的生存时间字段,它指定了数据包的生存时间,设置了数据包可以经过的最多跳数。TTL字段由发送报文的源主机设置,每经过一个三层设备,TTL字段的值都会减1,当该字段的值为0时,数据包就被丢弃,并发送ICMP超时报文通知源主机。 设置first-ttl,当经过的跳数小于此参数值,由于TTL字段的值大于0,经过的这几个节点不会返回ICMP超时报文给源主机。 如果已经设置了max-ttl参数值,first-ttl的取值必须小于max-ttl。 |
整数形式,取值范围是1~255。缺省值是1。 |
-m max-ttl | 指定最大TTL。 通常情况下,max-ttl的值被设置为经过站点的跳数。当需要修改TTL的值时,使用此参数。 如果已经设置了first-ttl参数值,max-ttl的取值必须大于first-ttl。 |
整数形式,取值范围是1~255。缺省值是30。 |
-name | 使能显示每一跳的主机名。 |
- |
-p port | 指定目的主机的UDP端口号。 如果指定目的主机的UDP端口号,需要避免采用对端已经开启的端口号,否则会导致tracert失败。 |
整数形式,取值范围是0~65535。缺省值是33434。 |
-q nqueries | 指定每次发送的UDP探测数据包个数。 当网络质量不高时,可以增加发送探测数据包数目,保证探测报文能够到达目的节点。 |
整数形式,取值范围是1~65535。缺省值是3。 |
-v | 显示ICMP Time Exceeded报文带回的MPLS标签信息。 该参数在PE上发起tracert需要显示公网标签时使用。 |
缺省情况下不显示MPLS标签信息,只显示ICMP Time Exceeded报文和ICMP端口不可达报文带回的路径信息。 |
-vpn-instance vpn-instance-name | 指定tracert目的地址的VPN属性,即关联的VPN实例名称。 |
必须是已存在的VPN实例名称。 |
pipe | 指定Pipe模式。此时探测报文经过MPLS域时,IP TTL只在Ingress和Egress分别减1,整个MPLS域被当作了一跳。 | - |
-w timeout | 指定等待响应报文的超时时间。 当发送数据包到达某网关超时,则输出“ * ”。 如果网络质量不高且速度很慢,建议增加发送数据包的超时时间。 |
整数形式,取值范围是0~65535,单位是毫秒。缺省值是5000毫秒。 |
-s packetsize | 指定ICMP ECHO-REQUEST报文长度(不包括IP和ICMP报文头)。 |
整数形式,取值范围是12~9600。单位是字节,缺省报文长度是12字节。 |
host | 指定目的主机的域名或IPv4地址。 |
字符串形式主机名,不支持空格,区分大小写,长度范围是1~255,当输入的字符串两端使用双引号时,可在字符串中输入空格。或者合法的点分十进制IPv4地址。 |
使用指南
应用场景
在日常的系统维护中,首先可以执行ping命令查看网络连通的情况。当网络不通,然后进一步使用tracert命令查看网络中出现故障的位置,为故障诊断提供依据。
可以使用tracert命令参数组合,对特定场景进行检测:
- 执行tracert host命令,可以检测源端到目的主机间的节点信息。
- 执行tracert -vpn-instance vpn-instance-name host命令,可以检测在三层VPN网络中源端到目的主机间的节点信息。在三层VPN网络中,由于各设备间可能没有彼此的路由信息,无法直接使用tracert host命令进行检测,只能通过VPN到达对端。执行tracert -vpn-instance vpn-instance-name host命令,在指定VPN实例名的情况下,可以检测源端到目的主机间的节点信息。
- 网络环境较差时,执行tracert -q nqueries -w timeout host命令可以检测源端到目的主机间的节点信息。对于可靠性较差的网络,建议发包次数(-q)和超时时间(-w)取较大值,这样可以更加准确的得到检测信息。
- 执行tracert -f first-ttl -m max-ttl host命令,通过指定起始TTL(first-ttl)和最大TTL(max-ttl)实现对某一段路径节点的检测。
前置条件
- 节点设备UDP模块正常工作,否则tracert失败。
- 如果配置-vpn-instance参数,需要保证vpn模块工作正常。
- 节点设备ICMP模块工作正常,否则返回超时“ * * * ”。
执行过程
tracert命令的执行过程:
- 发送一个TTL为1的数据包,TTL超时,第一跳发送回一个ICMP错误消息以指明此数据包不能被发送。
- 发送一个TTL为2的数据包,TTL超时,第二跳发送回一个ICMP错误消息以指明此数据包不能被发送。
- 发送一个TTL为3的数据包,TTL超时,第三跳发送回一个ICMP错误消息以指明此数据包不能被发送。
- 上述过程不断进行,直到到达目的地。
在每一跳的目标设备接收到IPv4报文后,由于报文探测指定的端口是一个在目标设备没有应用的端口,目标设备就会响应ICMP port unreachable信息给源端,表示目标端口不可达,同时说明tracert执行完毕。从而可以从源端显示的结果中,看到目标设备所经过的路径。
配置影响
执行tracert命令发现网络出现故障可能输出以下信息符号,具体信息如下:
- !H:表示主机不可达
- !N:表示网络不可达
- !:表示端口不可达
- !P:表示协议类型错误
- !F:表示报文分片错误
- !S:表示源路由错误
注意事项
tracert命令检测和ping命令指定-r参数检测都会返回从源端到目的主机间的节点信息。但是二者最主要区别在于:
- ping命令一旦在中间某一个节点超时,则整个ping测试返回超时,不显示任何路径信息。
- tracert命令如果在中间某一个节点超时,只会在显示信息中标识此节点信息超时“ * * * ”,不影响整个tracert命令操作。
缺省情况下,每一跳发送三个探测包。当存在负载分担时,网络中同一跳可能对应不同的节点,此时当后一个探测包与前一个探测包带回的IP地址信息不同时,显示后一个包带回的节点信息。如果后一个包与前一个包带回的IP地址信息相同,则只显示前一个包带回的节点信息。
使用实例
# 查看从本地主机到目的地址10.1.1.11所经过的网关。
<HUAWEI> tracert 10.1.1.11
traceroute to 10.1.1.11 (10.1.1.11), max hops: 30, packet length: 40, press CTRL_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
3 * * *
4 * * *
5 * * *
6 * * *
7 10.1.1.11 339 ms 279 ms 279 ms
项目 |
描述 |
---|---|
traceroute to |
到某个目的地址的tracert检测。 |
max hops |
最大TTL数。 |
packet length |
发送的报文长度。 |
10.3.112.1 10 ms 10 ms 10 ms |
“1”表示第一跳网关。每增加一跳,序号递增。缺省情况下,最大跳数是30跳。 “10.3.112.1”表示第一跳的网关地址。每一跳序号后的IPv4地址表示本跳的网关地址。 “10 ms 10 ms 10 ms”表示发送的三个UDP报文和相应接收的ICMP超时报文或者ICMP端口不可达报文的时间差。 |
* * * |
经过第N跳时,在一定时间内没有收到ICMP超时报文或者ICMP端口不可达报文。缺省情况下,等待响应报文的超时时间是5000ms。 |
tracert ipv6
命令格式
tracert ipv6 [ -f first-hop-limit | -m max-hop-limit | -p port-number | -q probes | -w timeout | vpn-instance vpn-instance-name | -a source-ipv6-address | -s packetsize | -name | -v ] * host
参数说明
参数 | 参数说明 | 取值 |
---|---|---|
-f first-hop-limit | 指定初始hop-limit。 hop-limit(time to live)是IPv6报文首部的生存时间字段,定义了IPv6数据包所能经过的最大跳数。这个字段和IPv4中的TTL字段非常相似。hop-limit字段由发送报文的源主机设置,每经过一个三层路由设备,hop-limit字段的值都会减1,当该字段的值为0时,数据包就被丢弃,并发送ICMPv6超时报文通知源主机。 设置first-hop-limit,当经过的跳数小于此参数值,由于hop-limit字段的值大于0,经过的这几个节点不会返回ICMPv6超时报文给源主机。 如果已经设置了max-hop-limit参数值,first-hop-limit的取值必须小于max-hop-limit。 |
整数形式,取值范围是1~255。缺省值是1。 |
-m max-hop-limit | 指定最大hop-limit。 通常情况下,max-hop-limit的值被设置为经过站点的跳数。当需要修改hop-limit的值时,使用此参数。 如果已经设置了first-hop-limit参数值,max-hop-limit的取值必须大于first-hop-limit。 |
整数形式,取值范围是1~255。缺省值是30。 |
-p port-number | 指定目的主机的UDP端口号。
|
整数形式,取值范围是1~65535。缺省值是33434。 |
-q probes | 指定每次发送的探测数据包个数。 当网络质量不高时,可以增加发送探测数据包数目,保证探测报文能够到达目的节点。 |
整数形式,取值范围是1~65535。缺省值是3。 |
-w timeout | 指定等待响应报文的超时时间。 当发送数据包到达某网关超时,则输出“*”。 如果网络质量不高且速度很慢,建议增加发送数据包的超时时间。 |
整数形式,取值范围是1~65535,单位是毫秒。缺省值是5000毫秒。 |
vpn-instance vpn-instance-name | 指定IPv6地址族的VPN实例名称。 |
必须是已存在的VPN实例名称。 |
-a source-ipv6-address | 指定tracert ipv6报文的源地址。 如果不指定源地址,将采用出接口的IP地址作为tracert报文发送的源地址。 |
32位16进制数,格式为X:X:X:X:X:X:X:X。 |
-s packetsize | 指定ICMPv6 ECHO-REQUEST报文长度(不包括IP和ICMPv6报文头)。 |
整数形式,取值范围是20~9600。单位是字节,缺省报文长度是56字节。 |
-name | 显示目的地址的主机名。 |
- |
-v | 显示ICMP Time Exceeded报文带回的MPLS标签信息。 该参数在PE上发起tracert需要显示标签时使用。 |
缺省情况下不显示MPLS标签信息,只显示ICMP Time Exceeded报文和ICMP端口不可达报文带回的路径信息。 |
host | 指定主机名或目的主机IPv6地址。 |
主机名的取值为字符串形式,区分大小写,不支持空格,长度范围是1~255,当输入的字符串两端使用双引号时,可在字符串中输入空格。IPv6地址的取值为32位16进制数,格式为X:X:X:X:X:X:X:X。 |
使用指南
应用场景
对于网络中出现的故障,而且对端是IPv6设备,可以执行ping ipv6命令根据回应的报文,查看网络连通的情况,然后进一步使用tracert ipv6命令查看网络中出现故障的位置,为故障诊断提供依据。
- 执行tracert ipv6 host命令,可以检测源端到目的IPv6主机间的节点信息。
- 执行tracert ipv6 vpn-instance vpn-instance-name host命令,可以检测在三层VPN网络中源端到目的IPv6主机间的节点信息。在三层VPN网络中,由于各设备间可能没有彼此的路由信息,无法直接使用tracert ipv6 host命令进行检测,只能通过VPN到达对端。执行tracert ipv6 vpn-instance vpn-instance-name host命令,在指定VPN实例名的情况下,可以检测源端到目的主机间的节点信息。
- 网络环境较差时,执行tracert ipv6 -q probes -w timeout host命令可以检测源端到目的IPv6主机间的节点信息。对于可靠性较差的网络,建议发包次数(-q)和超时时间(-w)取较大值,这样可以更加准确的得到检测信息。
- 执行tracert ipv6 -f first-hop-limit -m max-hop-limit host命令,通过指定起始hop-limit(first-hop-limit)和最大hop-limit(max-hop-limit)实现对某一段路径节点的检测。
前置条件
- 节点设备UDP模块可以正常工作,否则tracert ipv6失败。
- 如果配置vpn-instance参数,需要VPN模块正常工作。
- 节点设备ICMPv6模块可以正常工作,否则返回超时“ * * * ”。
执行过程
- 发送一个hop-limit为1的数据包,hop-limit超时,第一跳发送回一个ICMPv6错误消息以指明此数据包不能被发送。
- 发送一个hop-limit为2的数据包,hop-limit超时,第二跳发送回一个ICMPv6错误消息以指明此数据包不能被发送。
- 发送一个hop-limit为3的数据包,hop-limit超时,第三跳发送回一个ICMPv6错误消息以指明此数据包不能被发送。
- 上述过程不断进行,直到到达目的地。
在每一跳的目标设备接收到IPv6报文后,由于报文探测指定的端口是一个在目标设备没有应用的端口,目标设备就会响应ICMPv6 port unreachable报文给源端,表示目标端口不可达,同时说明tracert ipv6执行完毕。从而可以从源端显示的结果中,看到目标设备所经过的路径。
配置影响
执行tracert ipv6命令发现网络出现故障可能输出以下信息符号,具体信息如下:
- !H:表示主机不可达
- !N:表示网络不可达
- !:表示端口不可达
- !P:表示协议类型错误
- !F:表示报文分片错误
- !S:表示源路由错误
注意事项
缺省情况下,使能IPv6模块后,ICMPv6模块自动使能。