关于MAC地址漂移
思科3750与H3C 3100 互连问题,MAC飘移
最近,公司一设备是C3750,gi1/0/12 、g1/0/22和g1/0/2各连接一台H3C 3100,总有个mac地址(000f.e207.f2e0 )在上述几个端口间飘来飘去,无环路,不地址欺骗,不知道是什么原因,日志提示如下:

Aug  4 22:15:07.292 GMT: %SW_MATM-4-MACFLAP_NOTIF: Host 000f.e207.f2e0 in vlan 800 is flapping between port Gi1/0/12 and port Gi1/0/22
Aug  4 22:16:07.691 GMT: %SW_MATM-4-MACFLAP_NOTIF: Host 000f.e207.f2e0 in vlan 800 is flapping between port Gi1/0/12 and port Gi1/0/22
 

查看vlan 800的生成树状态如下:

VLAN0800
  Spanning tree enabled protocol ieee
  Root ID    Priority    4896
             Address     001f.27dd.6200
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    4896   (priority 4096 sys-id-ext 800)
             Address     001f.27dd.6200
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Gi1/0/2          Desg FWD 4         128.2    P2p
Gi1/0/12         Desg FWD 19        128.12   P2p
Gi1/0/22         Desg FWD 19        128.22   P2p
 

解释:

思科默认使用PVST+,可以选择配置的有PVST MST 等等
而华为产品一般是三种STP(IEEE 802.1D),RSTP(IEEE 802.1W),MSTP(IEEE 802.1S)
当搜索000f.e207.f2e0或00E0-FC09-BCF9这个mac的时候,会发现很多人在问这个问题。

据厂商自己解释
“S3600系列交 换机开启STP功 能后,对端设备可能出现报告MAC地址移动的现象。其原因为S3600系列交换机的BPDU报文采用固定MAC地址为源MAC。该情况对正常业务没有影响。为了防止 该日志信息对正常日志信息的影响,可以通过类似日志信息过滤的功能对此种日志信息过滤。
S系列交换机生成 树协议报文的源MAC地址是00E0-FC09-BCF9或者 000F-E207-F2E0。”

因为多厂商间对协议的理解方式不同,各厂商按照各自的方式改动了实现的方式,所以应尽量避免二层互联,对接的时候一定要提前测试好保持谨慎。

以下为官方解决方案:

问题原因
部分低端交换机的BPDU协议报文的源MAC采用000f-e207-f2e0。
H3C定义的LACP报文(DMAC=0180C2000002、H3C设备SMAC=000f-e207-f2e0、)也是BPDU报文的一种。由于V3平台交换机每端口没有设置各自的MAC地址,因此BPDU源MAC都是使用上述固定的特殊MAC作为源MAC地址的。但S3600/5600系列交换机最新版本支持在系统视图下使用port-mac命令进行定义。
对于固定源MAC地址,H3C交换机是不学习BPDU报文的源MAC的,但有些友商设备对于BPDU的源MAC是进行学习的,因此在友商设备上有时会记录MAC地址漂移的告警。
解决方法:
对于V3平台交换机如S3600/5600系列交换机可以升级到最新版本通过port-mac命令更改BPDU报文的源MAC地址。但是需要注意的是,如果网络中没有环路,那么该现象正常不影响业务使用,因此也不推荐使用port-mac命令进行更改。
 

修改方法:

<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] port-mac xxxx-xxxx-xxxx