实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)
  xpmJefiPD9zg 2023年11月28日 14 0

作者:网络之路一天  首发公众号:网络之路博客(ID:NetworkBlog)


真实的环路(来自于VIP群的案例,博主协助解决)

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存

环境很简单,一台三层交换机下面下挂了一台傻瓜交换机,在串接了一台交换机,之前运行的都好好的, 有一天突然网络非常的卡,他觉得是有环路了

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_02

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_03

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_04

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_05

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_06

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_07

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_08

对于常见的网络来说,最担心的就是接入层是傻瓜交换机,因为傻瓜交换机往往就真的工作在纯二层,只有二层MAC表的转发机制以及学习功能,像STP、VLAN都不支持,所以对于这样的组网,我们需要多注意,特别在这种中小型场景,管理不是特别规范的网络中,容易形成环路,就像上面这样,不懂网络的人随便把线路一插,网络就产生了,所以作为IT管理者/实施者来说,我们需要做一些措施,让我们去知道网络发生了环路。

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_09

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_10

如果下面傻瓜之间打环了,它是能够感知的,因为它自己发出去的BPDU,从同一个接口收到了,它认为环路了,所以在protection里面有一个loopback,这个时候环路导致操作已经很卡了,虽然STP将接口状态变成了DISCRDING,但是它是可以接收BPDU的,所以会一直在处理导致设备资源占用过高,我们可以开启一个功能,叫做BPDU保护。

BPDU保护功能直接开启是不会生效的

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_11

像这样的网络,下面是傻瓜交换机,用于接用户的,正常情况下它是不会收到BPDU报文的,比如我们在上面介绍的边缘端口,它就是用于直接对接用户的,BPDU保护功能呢,它就是用于保护开启边缘端口的接口,如果收到了BPDU后,直接shutdown接口,所以这里还需要开启一个 边缘端口功能。

[Huawei]stp bpdu-protection
[Huawei]interface  g0/0/1
[Huawei-GigabitEthernet0/0/1]stp edged-port enable  
 Sep  1 2021 20:31:37-08:00 Huawei  %%01MSTP/4/BPDU_PROTECTION(l)[11]:This edged-port GigabitEthernet0/0/1 that enabled BPDU-Protection will be shutdown, because it received BPDU packet!
 Sep  1 2021 20:31:38-08:00 Huawei  %%01PHY/1/PHY(l)[12]:     GigabitEthernet0/0/1: change status to down
Sep  1 2021 20:31:38-08:00 Huawei  %%01IFNET/4/IF_STATE(l)[13]:Interface Vlanif1 has turned into DOWN state.
 //因为接口处于边缘端口,但是又收到了BPDU的包,还开启了BPDU保护功能,触发保护机制,直接shutdown,关闭后,交换机资源占用就立马下来了。

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_12

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_13

接口直接像被管理员输入了shutdown一样,如果开启了边缘端口跟保护功能的接口被shutdown了,那大部分就是有环路出现了,当然还有一种可能,就是无意中把二层交换机接入到了傻瓜交换机下面,正好又开了STP功能,也会发送BPDU包。

恢复方法
手动:进入接口下面shutdown,在undo shutdown,开启
自动:error-down auto-recovery cause bpdu-protection interval ,通过该命令自动恢复,间隔可以自己调控,通常建议3~5分钟,这样出现了问题下面的人员会告诉你网络故障了。(但是这里需要注意,如果在配置这个命令之前,就已经出发了某种机制把接口down掉了,是需要手动开启的

另外一种解决办法:loopback Detection

Loopback Detection属于单节点防环技术。它通过从接口周期性发送检测报文,检查该报文是否返回本设备(从同一个接口或者其他接口),进而判断该接口、设备下挂网络或设备,或者设备双接口间是否存在环路。在发现环路后,环路检测能向网管发送告警和记录日志,并能根据用户事先的配置对接口进行处理(默认关闭接口),从而使接口处于受控状态,减小环路对本设备乃至整个网络的影响。

[Huawei]interface  g0/0/1
[Huawei-GigabitEthernet0/0/1]undo   stp edged-port
[Huawei-GigabitEthernet0/0/1]loopback-detect enable
[Huawei-GigabitEthernet0/0/1]undo  shutdown
 
Sep  1 2021 22:19:08-08:00 Huawei  LBDT/4/Porttrap:OID 1.3.6.1.4.1.2011.5.25.174.3.3 Loopback does exist on  interface(6)GigabitEthernet0/0/1 ( VLAN 1 )  , loopback detect status: 3.(1:normal;  2:block; 3:shutdown; 4:trap; 5:nolearn)
 
//检测到G0/0/1(VLAN1)存在环路,执行动作,默认3,shutdown
 
Sep  1 2021 22:19:08-08:00 Huawei  %%01MSTP/4/LOOPBACK_DETECTED(l)[2]:The port GigabitEthernet0/0/1 was blocked  because it received the BPDU packets sent by itself.
Sep  1 2021 22:19:09-08:00 Huawei  %%01PHY/1/PHY(l)[3]:     GigabitEthernet0/0/1: change status to  down
Sep  1 2021 22:19:09-08:00 Huawei  %%01IFNET/4/IF_STATE(l)[4]:Interface Vlanif1 has turned into DOWN state.

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_14

通过display loopback-detect可以看到当前哪些接口有环路存在,执行了什么操作,在新版本里面默认会在三倍检测报文时间(15秒)后自动恢复接口,如果没有环路则正常运行,如果有则继续shutdown。也可以使用过[Huawei-GigabitEthernet0/0/1]loopback-detect recovery-time  来指定恢复时间,建议15秒以及以上。

[Huawei-GigabitEthernet0/0/1]loopback-detect  action ?
  block      Block port                     //阻塞
  nolearn    Nolearning port           //不学习MAC
  shutdown   Shutdown port            //关闭接口
  trap       Trap only                  //只告警
 
执行动作默认是shutdown,还可以改成其他的行为

注意:环路检测只是一个单机功能,并不能像STP这样整个二层网络的设备同时协同,所以它无法替代这些功能,比较适合于核心下挂傻瓜交换机的形式。

疑问:接口是关闭了,但是下面的环路还是没有解决,那关闭的意义在哪呢?

华三设备的配置

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_15

也来看看环路,首先我们需要交换机变成一台傻瓜交换机

通过该命令把两个台交换机的STP关闭
[H3C]undo stp  global  enable

跟华为状态一样,它接口变成阻塞了

[H3C]stp  bpdu-protection
[H3C]interface  g1/0/1
[H3C-GigabitEthernet1/0/1]stp  edged-port

开启方式跟华为一样,直接全局开启BPDU保护,接口开启边缘端口

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_16

跟华为效果一样,收到BPDU后呢,接口直接down掉,但是不一样的是华为需要配置自动恢复功能才可以来恢复,华三V7设备,默认情况下是已经开启了自动恢复功能,每个版本默认时间不太一样, 全局通过 shutdown-interval 可以进行修改

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_17

可以通过display stp down-port查看 因为STP down掉的原因。

[H3C]interface  g1/0/1
[H3C-GigabitEthernet1/0/1]undo  stp edged-port
[H3C-GigabitEthernet1/0/1]loopback-detection  enable  vlan 1    //华三需要指定VLAN,可以ALL
[H3C-GigabitEthernet1/0/1]loopback-detection  action  shutdown           //默认没有对应的执行动作

华三的模拟器该功能不生效,所以没法出效果,同样可以通过display loopback-detection来查看

排查方法与经验

实际中不可能时刻的盯着交换机,所以它弹出来的日志只是发生的时候,反而你登录的时候,可能没有问题,日志就不会出现,这个时候我们就要看设备自己记录日志的缓存

(1)display  logbuffer  :通过该命令可以查看日志缓存的记录(ENSP模拟器不支持)

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_18

(2)WEB查看,在日志里面可以翻看记录,比如下图,环路功能提示在同一个接口收到了相同的BPDU包,以及该接口是边缘端口,也收到了。

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_19

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_20

(3)display stp brief:查看接口的状态是否正确

(4)通过接口利用率查看某个接口是否占用过多的资源,华三设备通过 display  counters rate inbound(outbound) interface  来查看,华为直接通过display interface brief可以看到。

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_21

(5)通过拓扑改变以及TC-BPDU次数来判断  华为设备:display stp topology-change :查看最近哪个口状态改变以及时间,   display stp tc-bpdu statistic 通过该命令可以查看对应接口收以及发送TC-BPDU的情况(比如某个接口收到的次数非常多,说明对接的对方设备存在不稳定性) 华三设备:display stp tc:查看TC BPDU收发情况,   display  stp bpdu-statistics  :可以看到各种BPDU发送的情况

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_22

(6) MAC地址漂移提醒

Sep  2 2021 10:25:22-08:00 Core  L2IFPPI/4/MFLPVLANALARM:OID 1.3.6.1.4.1.2011.5.25.160.3.7 MAC move detected, VlanId = 10, MacAddress = 5489-98a3-52af, Original-Port = GE0/0/1, Flapping port = GE0/0/3. Please check the network accessed to flapping port.

MAC地址漂移,通过日志可以看到,MAC 5489-98a3-52af,原本在G0/0/1口,突然从GE0/0/3收到(漂移),如果只是个别的提示,这个问题不大,一直提示的话,就说明网络中出现了环路了(无线环境除外)

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_23

通过display mac-address flapping record可以查看记录

(7)环路后通常的现象

进入设备有明细的卡顿现象,输入命令、以及打开WEB都不流畅设备频繁有日志报错,通常是MAC地址漂移、TC、TCN等终端访问明显缓慢,丢包现象验证

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_24

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_25

设备资源占用非常高(包括CPU、链路百分比)

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_缓存_26

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_27

通过以上的现象就可以判断出下面有环路了,通常主要还是发生在下面是傻瓜交换机的场景,带管理的二层交换机由于能够支持生成树、以及单点环路功能,可控性以及预防能力会强很多。

 

实战篇:实际中对于破环技术的运用跟遇到环路后处理的经验(华为华三设备)_记录日志_28

作者:网络之路一天,公众号:网络之路博客(ID:NetworkBlog)。让你的网络之路不在孤单,一起学习,一起成长。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月28日 0

暂无评论

推荐阅读
  J84zBtaJg2j3   2023年11月13日   27   0   0 IP封装缓存
xpmJefiPD9zg