zoukankan      html  css  js  c++  java
  • 交换上的FLAPPING事件 (zhuan)

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

    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关闭就好,其他照旧。
    交换上的FLAPPING事件!闹哪样?通过这次的事情呢,在老师的指导下,在各种论坛里,我也有些感悟吧
    1.园区网里的二层设备尽可能统一厂牌,否则要根据show log来确定关闭某些端口的某些服务。
    2.对于网络中的任何改动,一切以保证网络畅通为首要目的。流量较为正常,拥塞和延时都不严重的时候,千万不要轻举妄动。
    3.STP还是不要关的。
  • 相关阅读:
    Fiddler基本操作和介绍
    cherles真机测试
    charles中的弱网测试(throttling setting方法)
    charles常用功能(一)修改request 请求参数值 修改返回值response--breakpoints
    安装charles以及基础配置
    接口测试
    ADB中monkey测试
    ADB的环境配置及ADB基本命令
    云测平台对app兼容性测试操作流程
    linux安装mysql后报错启动不了Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
  • 原文地址:https://www.cnblogs.com/qiaoyanlin/p/9525214.html
Copyright © 2011-2022 走看看