网络拓朴:
 
 
   SWA-----------(G4/4)MSW-B(G4/1)------------SWC
(华为3050)     (cisco 4507三层交换机)       (华为3050)
 
 
故障现象:
 
 
    在核心三层交换机(cisco 4507)上总是出现下面的log信息:
%C4K_EBM-4-HOSTFLAPPING: Host 00:E0:FC:09:BC:F9 in vlan 11 is flapping between port Gi4/4 and port Gi4/1
 
一般情况下,如果这个跳动的MAC地址是一个用户的MAC地址,则表示网络具有环路;但经过查看知其是华为的一个设备的MAC地址,如果是环路,则有用户的MAC地址也会发生跳动才对。怪了!
 
在4/1口上连接的是一个华为的二层交换机(SWA)查看该MAC地址:
[stack_0.Quidway]display mac-address 00e0-fc09-bcf9
MAC ADDR        VLAN ID    STATE            PORT INDEX             AGING TIME
00e0-fc09-bcf9     1       Learned          GigabitEthernet1/1      AGING
00e0-fc09-bcf9    11       Learned          GigabitEthernet1/1      AGING
00e0-fc09-bcf9    24       Learned          GigabitEthernet1/1      AGING
 
发现其是从上层接口(连接cisco 4507)上学习过来的该MAC地址,但从cisco 4507上查看该MAC地址,却提示是从连接该华为交换机的接口上学习过来的该MAC地址,由于在两个设备中间已经没有其它设备,为什么会出现这样的结果呢?
 
好,把集成商的搞华为的工程师弄过来,结果也没有找到原因。
 
 
 
华为-3COM技术支持处理(800-810-0504-3)
 
 
    拨800,一个工程师说是华为的STP的BPDU数据包使用这个源地址,听到这个回复,只是想骂华为,为什么不同的交换机使用相同的MAC地址来发送数据!也没有细想,就把电话挂了,可后来想了一想,感觉不大对哟,忽悠俺啊!俺在华为的交换机上并没有启用STP啊!
    再打800,换工程师,他推测说,把STP关了这样交换机不主动发这种BPDU包了,有可能在Cisco交换机发送了BPDU数据包后,华为交换机可能会被动回复。OK,绝妙!那现在把cisco4507接口上的bpdufilter功能打开,结果仍然发现仍存在同样的现象。又忽悠俺啊!
    再打800,再换工程师,这个工程非常依据事实说话,说你抓一下数据包吧,发过来让我们看看!鸟人!用户在100里外,让俺去抓包?
再打800,换工程师,换资深的!这个工程师确实牛一些,首先说,这个有可能是地址欺骗!OK,先把他否定了-----俺在没有用户接入时,用console看过,也是这个故障!哈哈,没有病毒了吧,小样,拿这个忽悠俺,哪有那么多的病毒去冒用你华为的地址!非得逼他们去找研发,弄出来是什么数据包使用了这个源MAC地址!
过一会800打电话过来了:你好,这个问题已经问过研发了,说是不影响用户数据使用的,所以不用管它是什么应用引起的了!
气死俺了,小样!你总要给俺说一下是什么数据使用了这个MAC地址吧!
800又说了!华为的STP、loopback-detection、NDP、STDP、gratuitous-arp-learning都使用这个源MAC地址发数据!
 
对华为的失望:
 
忽悠不了俺了,想打击俺,是不是啊?才几个协议啊,一个个试,非要把它们搞出来!
先看STP,无论是否启用STP,都出现相同问题。不启用时,说明不是它发出的数据包,启用时,它也不发出BPDU数据包,毕竟3050上面的口是root port嘛!那是不是进行协商时已经记录了呢?有可能。先关闭上面提到的各种服务,只启用STP,没有发现该问题,从cisco接口也没有发现那个可恶的MAC地址!-------STP不会使用该MAC发送BPDU!
再试loopback-detection。关闭其它服务,单独启用此功能,发现此服务使用这个MAC地址作为发送数据包的源地址。
找出来一个了,OK,关闭loopback-detection,启用其它所有服务,未发现那个可恶的MAC地址!
最终测试结果出来了,00:E0:FC:09:BC:F9(00e0-fc09-bcf9、00e0.fc09.bcf9)是loopback-detection功能发送测试数据包时所使用的源MAC地址!
 
华为啊,你有没有必要让用户这么累?