今天在学校的一个三层交换上看到持续的日志信息:

Host 00:E0:FC:09:BC:F9is flapping between fa0/x and fa0/y.
思科对此官方的解释是:
Error Message SW_MATM-4-MACFLAP_NOTIF: Host [enet] in [chars] [dec] is flapping between port [chars] and port [chars]
某主机的MAC地址在某两端口之间摆动。
Explanation This message means that the switch found the traffic from the specified host flapping between the specified ports. [enet] is the host MAC address, [chars] [dec] is the switch ID, and the first and second [chars] are the ports between which the host traffic is flapping.
Recommended Action Check the network switches for misconfigurations that might cause a data-forwarding loop.
思科推荐行动是检查交换机的配置以防有数据传输环路。

在一个唯一环路冗余只做在接入层(备用线路)上,且全部运行STP的网络环境中,我认为没有环路的可能性。

也没有服务器的网卡在两端口间做过bonding(这种情况的表现是flapping只在两个特定的端口之间。解决方案

是交换机上做channal-group。)

如此分析,这大路边的可能故障也就是环路被排除掉了。
那么再来重新分析一下LOG信息。
刚才我们关注的是flapping between,下面关注一下MAC地址和端口所能提供的线索。
这些flapping的端口,每次都不尽相同,但是有个特点就是,全都是华为的端口,神码的端口压根没参与过。
猜想,这会不会跟华为的某种协议有关呢?
 
查了一下那个总在flapping的MAC地址 Host 00:E0:FC:09:BC:F9
LZ还打了客服,华为-3COM技术支持(800-810-0504-3)。
回答是:那是华为发送STP、loopback-detection、NDP、STDP、gratuitous-arp-learning用的组播所用的虚拟地址。
也就是说,网络中所有华为的设备都在用那个MAC在发信息。
 
“S3600系列交 换机开启STP功 能后,对端设备可能出现报告MAC地址移动的现象。其原因为S3600系列交换机的BPDU报文采用固定MAC地址为源MAC。该情况对正常业务没有影响。为了防止 该日志信息对正常日志信息的影响,可以通过类似日志信息过滤的功能对此种日志信息过滤。
S系列交换机生成 树协议报文的源MAC地址是00E0-FC09-BCF9或者 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命令进行更改。
 
原因已经很明确了。大牛曾试验过关掉loopback-detection就不会出现类似LOG了。
 
不过说来,这华为事事还真多,我又发现了还有类似的固定MAC地址:
01-80-C2-00-00-00是STP、loopback detection的目的mac
 
loopback-detection环回监测使用及原理
以H3C交换机为例
1、开启全局监测  >loopback-detection enable
2、开启相应端口监测 >int gig 1/0/1    loopback-detection enable
3、如为trunk端口,1和2步只能对trunk端口的默认vlan进行监测,需要对所有vlan开启监测   loopback-detection per-vlan en
4、如为trunk端口,发现环路仅上报错误,需要设置端口受控,access端口不需要。    loopback-detection control en
loopback-detection监控从端口发出的报文是否又通过该端口回到设备,用于判断端口下挂网络是否存在环路。
对access端口,会删除mac列表,block端口,对trunk端口会上报,不会禁用端口。
 

这个困扰了两天的问题,终于可以得出一个结论了。

综上所述,接入层华为设备的上行口LOOPBACK-DETECTION关闭就好,其他照旧。
通过这次的事情呢,在老师的指导下,在各种论坛里,我也有些感悟吧
1.园区网里的二层设备尽可能统一厂牌,否则要根据show log来确定关闭某些端口的某些服务。
2.对于网络中的任何改动,一切以保证网络畅通为首要目的。流量较为正常,拥塞和延时都不严重的时候,千万不要轻举妄动。
3.STP还是不要关的。

交换上的FLAPPING事件 (zhuan)的更多相关文章

  1. 嵌入式linux应用程序调试方法

    嵌入式linux应用程序调试方法 四 内存工具 五 C/C++代码覆盖.性能profiling工具 四 内存工具 您肯定不想陷入类似在几千次调用之后发生分配溢出这样的情形. 许多小组花了许许多多时间来 ...

  2. CCNA网络工程师学习进程(5)路由器和交换机的登录安全配置和vlan划分

        本节详细介绍路由器和交换机的登录安全配置以及VLAN划分的原理.     (1)登录安全配置: 路由器登录有两种验证方式:有本地验证方式和远程验证方式.本地登录验证方式可以配置用户名和密码也可 ...

  3. 10G整数文件中寻找中位数或者第K大数

    来源:http://hxraid.iteye.com/blog/649831 题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数.内存限制为 2G.只写出思路即可(内存限制为 2G的意思就 ...

  4. OS X 在Cisco无线环境下丢包分析 part 2

    part 1说到,单播的ARP请求最终都被网关丢弃了,从而造成了丢包.先说我最终怎么解决的吧,我最终把核心交换上针对无线VLAN的arp inspection和dhcp snooping删掉了,然后出 ...

  5. OS X 在Cisco无线环境下丢包分析 part 1

    补发一篇博客,之前遇到的没有写成博文的一个情况.我擦,那一阵儿真是被无线搞疯了. 现象:苹果OS X用户连入WiFi之后莫名丢包,而且有规律的丢,丢个5s恢复正常,再过会儿再丢5s左右. 就如同这样 ...

  6. 【转】文件中有10G个整数,乱序排列,要求找出中位数

    题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数.内存限制为 2G.只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存). ...

  7. CCNA基础知识摘录

    cisco设备的启动要点: 1.检测硬件(保存在rom) 2.载入软件(IOS)(保存在Flash) 3.调入配置文件(密码,IP地址,路由协议都保存在此)(此文件保存在NVRAM) 0x2102:正 ...

  8. FLP不可能性(FLP impossibility)

    FLP不可能性(FLP impossibility) FLP impossibility是一个定理,它证明了在分布式情景下,无论任何算法,即使是只有一个进程挂掉,对于其他非失败进程,都存在着无法达成一 ...

  9. BugPhobia终章篇章:学霸在线系统Beta阶段展示

    0x00 :序言 1 universe, 9 planets, 204 countries,809 islands, 7 seas, and i had the privilege to meet y ...

随机推荐

  1. Self-introduction 自我介绍

    Hello everybody,我是一名计算机科学与技术大二的新生,来自小平爷爷的故乡——广安.我之所以说自己是新生,一方面因为我大一下学期才从广播电视学转到计科,另一方面是因为我又进入了新一学年的学 ...

  2. [P4995]跳跳!(贪心)

    这应该是我做过的最简单的洛谷月赛了 题意 给你n个高度,你的初始高度是0,现在要求你遍历每一个高度,每一次遍历耗费(hi−hj)2 的值 现在要你求耗费值最大 思路 真的是水…… 排序一下,求一下就好 ...

  3. FFT是个啥?

    简单来说就是一个计算多项式乘法的东西呀.. 以下内容基本都是在大黑书<算法导论>上的.. 总述 对于项数为$n$的多项式$A(x)$和项数为$m$的多项式$B(x)$,可以如此表达: $$ ...

  4. 编程菜鸟的日记-初学尝试编程-寻找2到n之间的素数并输出

    //输入一个整数n,输出2到n之间的具体素数值 #include <iostream> #include <algorithm> #include <cmath> ...

  5. YIi url美化

    一.Yii Url美化,配置urlManager组件 'urlManager' => [ 'enablePrettyUrl' => true, // 开启URL美化,可以去掉 index. ...

  6. [转]开源.net 混淆器ConfuserEx介绍

    今天给大家介绍一个开源.net混淆器——ConfuserEx http://yck1509.github.io/ConfuserEx/ 由于项目中要用到.net 混淆器,网上搜寻了很多款,比如Dotf ...

  7. 透明Panel

    unit TransparentPanel; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Varia ...

  8. x264阅读记录-3

      14. x264_macroblock_encode函数-1 这个函数主要根据已经选定的模式来对宏块残差进行编码. )如果是P_SKIP模式,那么调用x264_macroblock_encode_ ...

  9. Linux脚本程序

    #!/bin/bash # array-ops.sh: 数组更多有趣的用法. array=( zero one two three four five ) # 元素 ]} # zero } # zer ...

  10. 使用log4net生成日志文件

    (一)使用log4net生成日志文件   1.引入log4net.dll 1.1 Nuget安装 或 http://logging.apache.org/log4net/下载log4net的源代码,编 ...