静默无线终端漫游后业务不通问题

发布时间:  2014-08-21 浏览次数:  250 下载次数:  0
问题描述

组网拓扑:
无线扫描终端经过WLAN接入网络,本地转发,业务网关在核心S9712交换机上,接入交换机二层透传对应VLAN,业务上无线扫描终端将扫描到的信息(物料条码、产品型号、产品类型等)经交换系统发给后端业务平台处理。

设备版本:
S9700-V200R001C00SPC300

故障现象:
在静默终端(无线扫描终端),从AP1漫游到AP2,即从接入交换机S1漫游到接入交换机S2后,发现在扫描信息发送给后端业务平台时,业务不通,信息发送不过去,经过一段时间(最长为20分钟),才能恢复正常,每台静默终端(无线扫描终端)漫游时均存在该故障,必现,如果将S9712换成Cisco交换机,则不存在任何问题。
静默终端(无线扫描终端)扫描信息传送过程不存在重传机制,只能反复扫描同一物料来实现信息再次传送,对于流水线场景,影响非常大,整条流水线因此都会停掉,后续部件无法完成扫描和信息的入库。

告警信息
处理过程
1、静默终端中静默的意思是,它的漫游或者移动,即:从一个AP漫游到另外一个AP,从一个交换机端口切换到本交换机的其它端口,或者切换到其它交换机的接入端口,网络设备都是不知道的,除非静默终端主动发包,然后才开始和后端业务系统的双向报文交互,而且静默终端也不会发类似免费arp或者普通arp类协议报文,而是直接发送要传输的数据信息;
2、因Cisco交换机不存在问题,Cisco交换机在二三层转发上默认都是CEF机制,CEF典型的特点就是拓扑驱动的交换机制,在中断级别上可以做到基于每数据包;在静默终端场景中,拓扑驱动机制失效,只能依赖于每数据包的CPU中断调用机制(严格说第一个包),即收到第一个报文触发MAC表项更新,经过中断处理触发ARP表项更新,完成CEF表项更新,完成硬转发表项构建;
3、对比华为S9712实现,发现我们默认的MAC触发ARP更新是关闭的,实际静默终端漫游时在S9712上的ARP表项发现没有随着MAC表项的更新而同步更新,如下:
漫游前:
[Huawei]display mac-address | include 4c1f-cc27-5da3
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID 
               VSI/SI    MAC-Tunnel 
-------------------------------------------------------------------------------
4c1f-cc27-5da3 100         -      -      GE0/0/1         dynamic   0/-        
-------------------------------------------------------------------------------

[Huawei]display arp | include 4c1f-cc27-5da3
IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE INTERFACE      VPN-INSTANCE     
VLAN
------------------------------------------------------------------------------
10.110.10.100   4c1f-cc27-5da3  20        D-0  GE0/0/1
------------------------------------------------------------------------------
 
漫游后:
[Huawei]display mac-address | include 4c1f-cc27-5da3
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID 
               VSI/SI    MAC-Tunnel 
-------------------------------------------------------------------------------
4c1f-cc27-5da3 100         -      -      GE0/0/10         dynamic   0/-        
-------------------------------------------------------------------------------

[Huawei]display arp | include 4c1f-cc27-5da3
IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE INTERFACE      VPN-INSTANCE     
VLAN
------------------------------------------------------------------------------
10.110.10.100   4c1f-cc27-5da3  5         D-0  GE0/0/1
------------------------------------------------------------------------------
如上表项可以发现,静默终端发包后,对静默终端的MAC表项立即发生更新,指向连接静默终端的出接口(GE0/0/10),但是对应arp表项却没有同步更新,还是指向漫游前的出接口(GE0/0/1),直至该arp表项老化掉,才能更新到正确的出接口;至此,原因找到,修改S9712默认实现就可,即如下命令:
[Huawei]mac-address update arp
即MAC表项更新同步到ARP表项,这样回程报文就能正确转发,实现业务的互通。
 
根因
怀疑Cisco交换机二三层转发实现机制和华为交换机不一致导致,而Cisco交换机实现机制适配了客户的业务诉求。
建议与总结
在替换友商设备场景,注意我们和友商实现机制上的差别,提升问题处理效率。

END