交换机单方面无法学习到对端ARP表项导致部分业务不通

发布时间:  2014-09-12 浏览次数:  828 下载次数:  0
问题描述
客户网络中,S53SI交换机(V100R006C00SPC800)与管理服务器之间管理vlan业务不通,连接拓扑如下:
S5300(interface vlan600)----------------L2 Devices----------------(vlan600 Gatway)Management Server

查看各自设备的路由、MAC及ARP表项,可以发现:
1,双方路由信息正常。
2,双方MAC地址表也正常。
3,管理服务上ARP表项正常,而S53交换机上ARP表项则无法学到对方的ARP表项,情况如下:

<s53>display arp
IP ADDRESS           MAC ADDRESS     EXPIRE(M)    TYPE      INTERFACE      VPN-INSTANCE     
                                                                                             VLAN
---------------------------------------------------------------------------------------------------------------------------
178.154.143.53      781d-ba56-c0e5                            I -            Vlanif600
178.154.143.254    Incomplete              1                     D-0         XGE0/1/1
                                                                                             600
---------------------------------------------------------------------------------------------------------------------------
Total:2         Dynamic:1       Static:0    Interface:1   
<s53>
告警信息
处理过程
使用在以下命令去使能ARP严格学习功能:
系统视图下:
undo arp learning strict
或在对应vlanif接口视图下:
arp learning strict force-disable 

去使能ARP严格学习功能后,交换机正常学习到了管理服务器的ARP表项,业务恢复正常。
根因
定位过程如下:
1,在交换机上debug ARP报文信息,发现交换机一直在往外发送管理服务器的ARP request报文。
Jul 29 2013 14:39:43.840.1+04:00 fol4-s53 ARP/7/arp_send:Send an ARP Packet, operation : 1, sender_eth_addr : 781d-ba56-c0e5,sender_ip_addr : 178.154.143.53, target_eth_addr : 0000-0000-0000, target_ip_addr : 178.154.143.254
Jul 29 2013 14:39:44.60.1+04:00 fol4-s53 ARP/7/arp_send:Send an ARP Packet, operation : 1, sender_eth_addr : 781d-ba56-c0e5,sender_ip_addr : 178.154.143.53, target_eth_addr : 0000-0000-0000, target_ip_addr : 178.154.143.254
Jul 29 2013 14:39:46.110.1+04:00 fol4-s53 ARP/7/arp_send:Send an ARP Packet, operation : 1, sender_eth_addr : 781d-ba56-c0e5,sender_ip_addr : 178.154.143.53, target_eth_addr : 0000-0000-0000, target_ip_addr : 178.154.143.254
……

2,在管理服务器上抓包,却没有收到此ARP request报文。判断此由交换机发出的ARP request报文在网络中某些地方被丢弃了。

3,由于客户原因,无法定位该ARP request报文是在哪里被丢弃的。由以上过程可以看出,交换机主动学习ARP表项的情况不可行。

4,继续分析。管理服务器上已经学习到了交换机的ARP表项,说明管理服务器主动学习过交换机的ARP,而从数通原理上来看,在其学习的过程中,对方交换机应该也应该记录下对应管理服务器的ARP表项,但事实上没有。

5,为了验证第4点,我们对管理服务器进行抓包,同时开启交换机ARP debug信息,然后重置管理服务器的交换机ARP表项。结果发现双方成功的交换了ARP request及ARP reply报文。管理服务器成功添加了交换机的ARP表项,而交换机却仍然显示管理服务器的ARP表项为 Incomplete。

6,由此,我们判断该交换机使能了ARP严格学习功能,使得该交换机只学习自己发送的ARP请求报文的应答报文。
建议与总结
通过确认,部分款行较老的交换机是默认使能ARP严格学习功能,而其他交换机则是默认是去使能的。所以在碰到类似的现网ARP问题时,可以查看对应产品手册或者通过命令“display arp learning strict”来确认该功能是否默认开启。

END