天天看点

使用tracert命令定位网络故障点

文章出处:www.net1980.com

使用tracert命令定位网络故障点

现象描述:

在上图中,RT2和RT3同属于一个运行RIPv2协议的网络,主机192.4.0.2访问数据库服务器192.5.0.2,用户反映访问速度慢。

登录到RT3,使用带参数的ping远端服务器192.5.0.2,显示如下:

<RT3> ping -c 10 -s 4000 -t 6000 192.5.0.2

PING 192.5.0.2: 4000 data bytes, press CTRL_C to break

Reply from 192.5.0.2: bytes=4000 Sequence=0 ttl=249 time = 552 ms

Reply from 192.5.0.2: bytes=4000 Sequence=1 ttl=249 time = 5733 ms

Reply from 192.5.0.2: bytes=4000 Sequence=2 ttl=249 time = 552 ms

Reply from 192.5.0.2: bytes=4000 Sequence=3 ttl=249 time = 5714 ms

Reply from 192.5.0.2: bytes=4000 Sequence=4 ttl=249 time = 552 ms

Reply from 192.5.0.2: bytes=4000 Sequence=5 ttl=249 time = 5711 ms

Reply from 192.5.0.2: bytes=4000 Sequence=6 ttl=249 time = 552 ms

Reply from 192.5.0.2: bytes=4000 Sequence=7 ttl=249 time = 5709 ms

Reply from 192.5.0.2: bytes=4000 Sequence=8 ttl=249 time = 552 ms

Reply from 192.5.0.2: bytes=4000 Sequence=9 ttl=249 time = 5710 ms

原因分析:

1. 上面的ping显示出一个规律:偶数报文返回的时长是奇数报文的10倍还多。初步推断,奇数报文和偶数报文采用了不同的路径传输。

2. 使用tracert命令来追踪路径。在RT3上,tracert远端RouterA的以太网接口192.5.0.1。

<RT3> tracert -q 8 192.5.0.1

traceroute to 192.5.0.1(192.5.0.1) 30 hops max,40 bytes packet

1 192.4.0.1 6 ms 4 ms 4 ms 4 ms 4 ms 4 ms 4 ms 4 ms

......

5 192.3.0.2 20 ms 16 ms 15 ms 16 ms 16 ms 16 ms 16 ms 16 ms

6 192.5.0.1 30 ms 278 ms 25 ms 279 ms 25 ms 278 ms 25 ms 277 ms

         从上面的显示可以看到,直至192.3.0.2,UDP探测报文的返回时长都基本一致,而到192.5.0.1时,则发生明显变化,出现奇数报文时长短,偶数报文时长长的现象。据此判断,问题发生在RT2和RT1之间。

3. 询问该段网络的管理员,得知RT2和RT1之间有一主一备两条串行链路,主链路带宽为155Mbit/s(POS1/0之间),备份链路为2Mbit/s(S1/0之间)。两路由器间配置了如下的静态路由。

RT2:

ip route-static 192.5.0.0 255.255.0.0 192.1.0.2

ip route-static 192.5.0.0 255.255.0.0 192.2.0.2

RT1:

ip route-static 0.0.0.0 0.0.0.0 192.1.0.1

ip route-static 0.0.0.0 0.0.0.0 192.2.0.1

         由于配置时没有指定静态路由的优先级,两条路由项的优先级都采用了缺省值60。因此,两条路由同时出现在路由表中,实现的是负载分担,而不是备份。

处理过程:

         确定了故障原因后,有两种处理方法可以解决此问题:

方法一:继续使用静态路由,更改优先级

RT2的主链路使用缺省优先级60,备份链路优先级改为100:

[RT2] ip route-static 192.5.0.0 255.255.0.0 192.1.0.2

[RT2] ip route-static 192.5.0.0 255.255.0.0 192.2.0.2 100

RouterA进行类似更改:

[RT1] ip route-static 0.0.0.0 0.0.0.0 192.1.0.1

[RT1] ip route-static 0.0.0.0 0.0.0.0 192.2.0.1 100

这样,只有当主链路发生故障时,备份链路的路由项才会出现在路由表中。

方法二:在两路由器上运行动态路由协议,如IS-IS、OSPF等,但不要运行RIP(因为RIP仅以hop作为Metric)

建议和总结

         本案例展示了如何通过ping命令和tracert命令的配合,定位网络问题的故障点。在规模较大的网络中,维护人员可能无法沿路径逐个排查,这种情况下,迅速定位出发生问题的线路或路由器非常重要。

原文链接:http://www.net1980.com/2010/02/20/%E4%BD%BF%E7%94%A8tracert%E5%91%BD%E4%BB%A4%E5%AE%9A%E4%BD%8D%E7%BD%91%E7%BB%9C%E6%95%85%E9%9A%9C%E7%82%B9/

继续阅读