网络工程师必知的网络排错五个常用诊断工具:Ping、Traceroute、Show、Clear、Debug( 三 )

1.2Traceroute 命令1.原理Traceroute是为了探测源节点到目的节点之间数据报文所经过的路径 。利用IP报文的TTL域在每经过一个路由器的转发后减一,当TTL=0时则向源节点报告TTL超时这个的特性 。Traceroute首先发送一个TTL为1的Icmp request报文,因此第一跳发送回一个ICMP错误消息以指明此数据报不能被发送(因为TTL超时),之后Traceroute再发送一个TTL为2的报文,同样第二跳返回TTL超时,这个过程不断进行,直到到达目的地,此时由于数据报中使用了无效的端口号(缺省为33434)此时目的主机会返回一个ICMP的目的地不可达消息,表明该Traceroute操作结束 。Traceroute记录下每一个ICMP TTL超时消息的源地址,从而提供给用户报文到达目的地所经过的网关IP地址 。
2.功能Traceroute 命令用于测试数据报文从发送主机到目的地所经过的网关,主要用于检查网络连接是否可达,以及分析网络什么地方发生了故障 。
3.RGNOS平台的Traceroute命令在绝大部分厂商路由器上,Traceroute命令的格式如下:
Traceroute host 『destination』
例如:查看到目的主机10.15.50.1 中间所经过的网关 。
RG# traceroute 10.15.50.1
Type esc/CTRL^c/CTRL^z/q to abort.
traceroute 192.168.0.1 ......
1 10.110.40.11 4 ms5 ms5 ms
2 10.110.0.6410 ms5 ms5 ms
3 10.110.7.25410 ms5 ms5 ms
4 10.3.0.177175 ms160 ms145 ms
5 129.9.181.254185 ms210 ms260 ms
6 10.15.50.1230 ms185 ms220 ms
Trace complete successfully.
4.Windows平台的Tracert 命令在PC机上或Windwos为平台的服务器上,Tracert命令的格式如下:
tracert [ -d ] [ -h maximum_hops ] [ -j host-list ] [ -w timeout ] host

  • -d不解析主机名;
  • -h指定最大TTL大小;
  • -j设定松散源地址路由列表;
  • -w用于设置UDP报文的超时时间,单位毫秒;
例如:查看到目的主机10.15.50.1 中间所经过的前两个网关 。
C:>tracert -h 2 10.15.50.1
Tracing route to 10.15.50.1 over a maximum of 2 hops:
13 ms2 ms2 ms10.110.40.1
25 ms3 ms2 ms10.110.0.64
Trace complete.
5.使用Traceroute命令进行故障排除案例一:使用Traceroute命令定位不当的网络配置点(1) 现象描述组网情况如下图所示:

网络工程师必知的网络排错五个常用诊断工具:Ping、Traceroute、Show、Clear、Debug


图1-2 案例:使用Traceroute命令定位不当的网络配置点
某校园网中,RouterB和RouterC同属于一个运行RIPv2路由协议的网络,主机4.0.0.2访问数据库服务器5.0.0.2,用户抱怨访问性能差 。
(2) 相关信息显示在主机上ping5.0.0.2显示如下:
C:Documents and Settingsc>ping -n 10 -l 1000 5.0.0.2
Pinging 5.0.0.2 with 1000 bytes of data:
Reply from 5.0.0.2: bytes=1000 time=552ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=5735ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=551ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=5734ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=549ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=5634ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=555ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=5738ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=455ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=5811ms TTL=250
原因分析
上面的Ping显示出一个规律:奇数报文的返回时长短,而偶数报文返回时长很长(是奇数报文的10倍多) 。可以初步判断奇数报文和偶数报文是通过不同的路径传输的 。现在我们需要使用Traceroute命令来追踪这不同的路径 。在RouterC上,Traceroute远端RouterA的以太网接口5.0.0.1 。

推荐阅读