一、背景

现网有一对Juniper MX480路由器,刚投入使用不久,仅与现网一对华为NE40E以“口字型”互联,互联链路采用光口。现MX480需要与异地机房的一对华为NE20互联,中间经过传输网络,调测一直不成功,为了验证MX480的光口是否正常,关闭RT4RT2的互联链路,把RT4上将与NE20互联的端口ge-2/3/0,临时布放一对尾纤与RT2互联,确认端口ge-2/3/0是否正常。

三层环状网络PING测试的“诡异”现象_第1张图片

二、“诡异现象”

RT4 ge-2/3/0端口与RT2 ge-1/1/11互联后,测试过程中发现以下现象,调测人员突然懵了,束手无策。

Ø情况一:当RT2-RT4之间收发两条尾纤都连接上时,RT4不能pingRT2

Ø情况二:当RT2-RT4之间只连接一条尾纤时,而且是RT4RT2收方向的尾纤,RT4pingRT2


三、分析处理过程

根据测试人员对现象的描述,对两种情况进行重现和分析。分析方法主要基于端口的收发包计数器。

情况一:要求现场人员连接上两条尾纤;发现RT2ge-1/1/11端口downRT4ge-2/3/0端口upRT4RT2两个互联端口的收发包数量计数器如下所示:


RT4

interface ge-2/3/0

    Input  packets:                   25

    Output packets:                 8221

RT2

disp int gi 1/1/11

   Input: 0 bytes, 0 packets

   Output: 1536 bytes, 24packets


RT4上进行ping包测试,ping RT2ge-1/1/11端口IP188.1.25.102,总共ping19个包,并停止,ping测试不通

RT4> ping 188.1.25.102                    

PING 188.1.25.102 (188.1.25.102): 56 data bytes

^C

--- 188.1.25.102 ping statistics ---

19 packets transmitted, 0 packets received, 100% packet loss


再次检查RT4RT2的互联端口收发包计数器数值,如下所示,RT4的发包数量增加了25个,说明ping包从ge-2/3/0端口出去了;而RT2ge-1/1/11端口收发包计数器不变,说明RT4ping包并没有到达RT2


RT4

interface ge-2/3/0

    Input  packets:                   25

    Output packets:                 8246

RT2

disp int gi 1/1/11

   Input: 0 bytes, 0 packets

   Output: 1536 bytes, 24packets


情况二:要求现场人员仅连接一条尾纤,即RT4RT2收方向的尾纤;发现RT2ge-1/1/11端口upRT4ge-2/3/0端口downRT4RT2两个互联端口的收发包数量计数器如下所示:


RT4

interface ge-2/3/0

    Input  packets:                   25

    Output packets:                 8246

RT2

disp int gi 1/1/11

   Input: 0 bytes, 0 packets

   Output: 1536 bytes, 24packets


RT4上进行ping包测试,ping RT2ge-1/1/11端口IP188.1.25.102,总共ping10个包,无丢包。


cch13922702080@MB-NMS-XDS-RT5B-MX480> ping 188.1.25.102                    

PING 188.1.25.102 (188.1.25.102): 56 data bytes

64 bytes from 188.1.25.102: icmp_seq=0 ttl=254 time=1.087 ms

64 bytes from 188.1.25.102: icmp_seq=1 ttl=254 time=1.102 ms

64 bytes from 188.1.25.102: icmp_seq=2 ttl=254 time=6.006 ms

64 bytes from 188.1.25.102: icmp_seq=3 ttl=254 time=1.213 ms

64 bytes from 188.1.25.102: icmp_seq=4 ttl=254 time=3.190 ms

64 bytes from 188.1.25.102: icmp_seq=5 ttl=254 time=1.123 ms

64 bytes from 188.1.25.102: icmp_seq=6 ttl=254 time=1.182 ms

64 bytes from 188.1.25.102: icmp_seq=7 ttl=254 time=1.141 ms

64 bytes from 188.1.25.102: icmp_seq=8 ttl=254 time=1.177 ms

64 bytes from 188.1.25.102: icmp_seq=9 ttl=254 time=10.118 ms

^C

--- 188.1.25.102 ping statistics ---

10 packets transmitted, 10 packets received, 0% packet loss

round-trip min/avg/max/stddev = 1.087/2.734/10.118/2.883 ms


再次检查RT4RT2的互联端口收发包计数器数值,如下所示,RT4ge-2/3/0端口收发包计数器不变,说明RT4ping包并不是通过ge-2/3/0端口发出。


RT4

interface ge-2/3/0

    Input  packets:                   25

    Output packets:                 8246



检查RT4188.1.25.102的路由,指向另一个端口ge-2/1/0,对188.1.25.102进行traceroute测试,其路径为RT4-RT3-RT1-RT2


RT2> show route 188.1.25.102


inet.0: 1312 destinations, 1312 routes (1312 active, 0 holddown, 0hidden)

+ = Active Route, - = Last Active, * = Both


0.0.0.0/0          *[OSPF/150]3w0d 07:31:12, metric 2, tag 1

                   > to188.1.87.70 via ge-2/1/0.0


{master}

RT2> traceroute 188.1.25.102

traceroute to 188.1.25.102 (188.1.25.102), 30 hops max, 40 bytepackets

1  188.1.87.70 (188.1.87.70)  0.993 ms 0.724 ms  0.712 ms

2  10.201.71.206 (10.201.71.206)  1.569 ms 1.466 ms  1.466 ms

3  10.201.5.1 (10.201.5.1)  1.569 ms 4.854 ms  1.589 ms

4  10.201.71.201 (10.201.71.201)  2.106 ms 1.685 ms  2.783 ms


为了进一步分析情况一ping不通的原因,将光纤连接方式恢复到情况一,RT2RT4两端都进行ping包测试,现象与情况一一致,ping的时候本端发包计数器有增加,但对端收包计数器无增加;将两根光纤的收发对调,情况不变。

最后,尝试修改RT2RT4端口的双工模式,当把端口双工模式更改为自协商的时候,RT2RT4两端端口均up了,互ping正常。

RT4> show configuration interfaces ge-2/3/0      

speed 1g;

link-mode full-duplex;

unit 0 {

   family inet {

       address188.1.25.101/30;

   }

}

[RT2 -GigabitEthernet1/1/11]disp th

#

interface GigabitEthernet1/1/11

negotiation auto

undo shutdown

ip address 188.1.25.102255.255.255.252


四、原因分析

1、情况一由于RT2RT4互联端口双工机制协商不成功,RT2端口down,而RT4端口upRT4上有188.1.25.102的直连路由,指向ge-2/3/0RT4 ping RT2的时候,数据包通过ge-2/3/0发出,所以ge-2/3/0发包计数器增加;由于双工协商不成功,RT2端口ge-1/1/11处于关闭状态,无法收到ping包,收包计数器也不增加。

2、情况二RT4RT2收方向尾纤连通,RT2ge-1/1/11端口能够收到光,所以端口upRT2认为188.1.25.102可达;RT4ge-2/3/0端口由于未收到光,所以端口down,所以RT4上没有指向188.1.25.102的直连路由,但有默认路由;而且RT4ping 188.1.25.102没有指定188.1.25.101作为源地址,默认使用出接口IP地址作为源IP地址,所以通过路径RT4-RT3-RT1-RT2RT4能够ping188.1.25.102



五、经验总结

1、遇到“诡异”现象要保持淡定,细致分析。

2、利用好端口收发包计数器这个利器,进行微观分析

3、双工速率协商机制很多时候是直连链路故障的根源

4、胸怀大局,对全局拓扑要有清晰了解