值得注意的是,环路保护功能仅能在根端口或Alternate端口上配置并生效。对于直接与用户终端设备相连的端口,严禁开启环路保护功能,否则该端口会因无法接收BPDU而导致其所有MSTI(多生成树实例)一直处于Discarding状态。此外,在同一个端口上,不允许同时配置边缘端口和环路保护功能,或者同时配置根保护功能和环路保护功能。如果在已经发生环路的情况下配置环路保护功能,则该功能将无法发挥预期的效果。
为了模拟单向链路故障,我们通过禁用接口的STP功能来进行实验,具体操作如下所示:
“`
[SW1]interface GigabitEthernet 1/0/2
[SW1-GigabitEthernet1/0/2]undo stp enable
“`
为了更直观地观察环路现象,我们进行了以下操作:
第1步、在SW2的G1/0/1接口开启抓包;
第2步、清除SW3上的arp表项;
“`
This will delete all entries. Continue? [Y/N]:y
“`
第3步、SW3向SW1发起单次ping报文;
第4步、开启wireshark抓包软件,发现大量的arp广播报文并且持续不断地快速增长,如下图所示。
抓取报文的接口:SW2端口1
源MAC地址是: 3451-40ae-0302
在SW3设备上启用环路保护功能如下所示,然而在已经发生环路的情况下,再配置环路保护功能是没有效果的。
“`
[SW3]interface range GigabitEthernet 1/0/1 GigabitEthernet 1/0/2
[SW3-if-range]stp loop-protection
[SW3-if-range]quit
[SW3]
“`
先启用SW1端口2的STP功能并间隔30秒再禁用,SW3设备自动产生的“STP_LOOP_PROTECTION”的告警日志,如下所示。
启用SW1端口2的STP功能并间隔30秒后,再禁用SW2端口2的STP功能;
SW3端口1角色和状态没有发生变化;SW3端口2转变为指定端口角色,阻塞状态,触发了环路保护功能;未形成环路。
以上总结,希望各位小伙伴有所收获,不足之处,欢迎各位小伙伴留言指正。