API Guide
环路防护
防止线缆或接口硬件故障导致 L2 转发环路。当发生硬件故障时,参与的生成树链路将成为单向的,并且端口
停止接收 BPDU。当阻止的端口停止接收 BPDU 时,它会转换为转发状态,从而导致网络中的生成树循环。
在转换为环路不一致状态的端口上启用环路防护,直至使用 spanning-tree guard loop 命令接收
BPDU。接收到 BPDU 后,该端口将移出环路不一致或阻止状态,并转换为由 STP 确定的相应状态。对每个
端口启用环路防护可在端口上配置的所有 VLAN 上启用该功能。如果在某个端口上禁用环路防护,它将进入
侦听状态。
注:
1. 根防护和环路防护相互排斥。
2. 从活动配置中配置一种防护会覆盖另一种防护。
1. 在 INTERFACE 模式下启用生成树 BPDU 筛选器。
spanning-tree bpdufilter enable
2. 在 INTERFACE 模式下启用 STP BPDU 防护。
spanning-tree bpduguard enable
BPDU 防护违规会导致系统执行以下操作:
• 关闭端口通道接口,并且所有成员端口在硬件中处于禁用状态。
• 将物理端口添加到已处于 Error_Disable 状态的端口通道;此外,硬件中的新成员端口处于禁用状态。
• 从 Error Disable 状态的端口通道中移除物理端口。从端口通道中移除物理端口后,系统将在物理端口上清除 Error_Disabled 状
态,并在硬件中启用。
要清除 Error Disabled 状态,请执行以下操作:
• 在接口上使用 shutdown 命令。
• 使用 spanning-tree bpduguard disable 命令禁用接口上的 BPDU 防护。
• 使用 spanning-tree disable 命令禁用接口上的 STP。
3. 设置防护类型以在 INTERFACE 模式下避免环路。
spanning-tree guard {loop | root | none}
• loop — 将防护类型设置为环路。
• root — 将防护类型设置为根。
• none — 将防护类型设置为无。
在环路防护条件下端口已启用
• 在 RPVST+ 模式下,任何已启用 STP 的端口或端口通道接口都支持环路防护。
• 您不能在 STP 端口上同时启用根防护和环路防护。环路防护配置会覆盖现有的根防护配置,反之亦然。
• 在端口上同时启用 BPDU 防护和环路防护会导致端口仍处于阻止状态,并阻止流量流过它。例如,当您同时配置 Portfast
BPDU 防护和环路防护时:
• 如果从远程设备接收到 BPDU,BPDU 防护会将该端口置于 Err-Disabled 阻止状态,并且该端口上没有流量转发。
• 如果没有从发送 BPDU 的远程设备接收到 BPDU,则环路防护会将该端口置于环路不一致的阻止状态,并且该端口上没有
流量转发。
• 在 PVST+ 网络中使用时,STP 环路防护将按每个端口或端口通道在 VLAN 级别执行。如果未在端口通道接口上接收到
BPDU,则端口或端口通道将仅转换为此 VLAN 的环路不一致或阻止状态。
BPDU 筛选器
OS10(conf-if-eth1/1/4)# spanning-tree bpdufilter enable
OS10(conf-if-eth1/1/4)# do show spanning-tree interface ethernet 1/1/4
ethernet1/1/4 of vlan1 is designated Blocking
Edge port:no (default) port guard :none (default)
Link type is point-to-point (auto)
Boundary: NO bpdu filter : Enable bpdu guard : bpduguard shutdown-on-
violation :disable RootGuard: enable LoopGuard disable
Bpdus (MRecords) sent 134, received 138
Interface Designated
Name PortID Prio Cost Sts Cost Bridge ID PortID
--------------------------------------------------------------------------
ethernet1/1/4 128.272 128 500 BLK 500 32769 90b1.1cf4.a911 128.272
第 2 层 435