前言
本文档介绍了RSTP协议中的环路保护功能,环路保护与DLDP的区别,以及如何配置环路保护。配置此功能可以防止网络由于部分设备硬件故障导致的环路问题,提高网络的稳定性。
01 了解环路保护
在运行RSTP协议的网络中,根端口和其他阻塞端口状态是依靠不断接收来自上游交换设备的RST BPDU维持。当由于链路拥塞或者单向链路故障导致这些端口收不到来自上游交换设备的RST BPDU时,交换设备会重新选择根端口。原先的根端口会转变为指定端口,而原先的阻塞端口会迁移到转发状态,从而造成交换网络中可能产生环路。
如图1所示,当BP2-CP1之间的链路发生拥塞时,DeviceC由于根端口CP1在超时时间内收不到来自上游设备的BPDU报文,Alternate端口CP2放开转变成了根端口,根端口CP1转变成指定端口,从而形成了环路。
图1-1 链路发生拥塞情况拓扑的变化
在启动了环路保护功能后,如果根端口或Alternate端口长时间收不到来自上游设备的BPDU报文,则向网管发出通知信息(此时根端口会进入Discarding状态,角色切换为指定端口),而Alternate端口则会一直保持在阻塞状态(角色也会切换为指定端口),不转发报文,从而不会在网络中形成环路。直到链路不再拥塞或单向链路故障恢复,端口重新收到BPDU报文进行协商,并恢复到链路拥塞或者单向链路故障前的角色和状态。
交换机上会打印如下日志信息:
MSTP/4/LOOP_GUARD:MSTP process [process-id] Instance[instance-id]'s LOOP-Protection port [port-name] did not receive message in prescriptive time!
说明:
- 环路保护功能仅在根端口或Alternate端口上生效。
- 环路保护功能和根保护功能不能同时配置在同一端口。
- MSTP、VBST协议中的环路保护功能与RSTP协议类似。三种协议的区别在于RSTP中所有VLAN共享一棵生成树,所有VLAN的流量按照同样的路径转发,而MSTP和VBST可以实现不同VLAN的流量按照不同路径转发。
02 环路保护与DLDP
环路保护和DLDP(Device Link Detection Protocol,设备链路检测协议)均可以防止单向链路故障导致的生成树协议故障,两种功能的对比如表1所示。
表1-1 环路保护和DLDP功能的对比
环路保护和DLDP功能最显著的区别在于DLDP无法防止软件导致的生成树协议故障,例如交换机无法正常发送BPDU报文,但是相比于单向链路导致的生成树协议故障,此类故障要少见得多。
对于Eth-Trunk中的单向链路故障,DLDP功能会更加灵活,因为DLDP可以只禁用发生故障的成员链路,不影响其他成员链路正常转发流量,但如果启用了环路保护功能,则会阻塞整个Eth-Trunk。另外,在共享链路上,或者链路自UP以来就是单向链路的情况下,环路防护不起作用。在后一种场景中,端口接收不到BPDU报文并会成为指定端口是正常的,此时可以选择配置DLDP功能。
综上所述,您可以同时配置环路保护和DLDP功能来为网络提供最全面的保护。
03 配置环路保护
- 执行命令system-view,进入系统视图。
- 执行命令interfaceinterface-type interface-number,进入参与生成树协议计算的接口视图。
- 执行命令stp loop-protection,配置交换设备根端口或Alternate端口的环路保护功能。
缺省情况下,端口的环路保护功能处于关闭状态。
下面这个示例显示了如何在接口GigabitEthernet0/0/4下配置环路保护功能,并查看是否配置成功。
<HUAWEI> system-view
[HUAWEI] interface GigabitEthernet 0/0/4
[HUAWEI-GigabitEthernet0/0/4] stp loop-protection
[HUAWEI-GigabitEthernet0/0/4] quit
[HUAWEI] display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
0 GigabitEthernet0/0/4 ROOT FORWARDING LOOP
由上述信息可以看出,GigabitEthernet0/0/4的“Protection”字段显示为“LOOP”,说明此接口下已经配置了环路保护功能。