Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

生成树协议的环路保护

了解生成树实例接口的环路保护

环路保护可防止端口进入转发状态,从而导致网络中环路开放,从而提高 STP、RSTP 和 MSTP 的效率。生成树协议环路保护可增强生成树协议在接口上执行的正常检查。当未在未设计端口接口上接收 BPDU 时,环路保护将执行指定操作。如果端口上未收到桥接协议数据单元 (BPDU),您可以选择阻止接口或发出报警。

环路保护的工作原理是什么?

通过交换称为桥接协议数据单元 (BPDU) 的特殊帧类型,支持生成树拓扑中的无环路网络。在交换机接口上运行的对等 STP 应用程序使用 BPDU 进行通信。最终,BPDU 交换将确定哪些接口会阻止流量(防止环路),哪些接口将成为根端口和转发信息流。

但是,如果接口停止从分段上的指定端口接收 BPDU,阻塞接口可以错误过渡到转发状态。当交换机或其邻接方之间出现硬件错误或软件配置错误时,可能会出现此类过渡错误。

启用环路保护时,生成树拓扑会检测根端口和被拦截的端口,并确保两者都能继续接收 BPDU。如果支持环路保护的接口停止从其指定端口接收 BPDU,则会对此接口上的物理连接问题做出响应。它不会将接口转换为转发状态,而是将其转换为环路不一致的状态。接口恢复,然后在收到 BPDU 后立即过渡到生成树阻塞状态。

STP 协议上的环路保护优势

默认情况下,停止接收桥接协议数据单元 (BPDU) 数据帧的生成树协议接口将过渡到指定端口(转发)状态,从而形成一个潜在的环路。

什么操作会导致环路?

生成树协议家族负责打破具有冗余链路的桥接网络中的环路。但是,硬件故障会造成转发环路(STP 环路),并导致重大网络中断。生成树协议通过阻止端口(接口)来中断环路。但是,当受阻的端口错误过渡到转发状态时,会发生错误。

理想情况下,只要已连接 LAN 分段存在到达根桥的高级替代路径,生成树协议桥接端口就会被阻止。此指定端口通过从该端口上的对等方接收高级 BPDU 来确定。当其他端口不再接收 BPDU 时,生成树协议会认为拓扑是无环路的。但是,如果受阻或备用端口进入转发状态,这将创建一个环路。

当 BPDU 未到达时,环路保护可以做些什么?

为了防止生成树实例接口将未收到的 BPDU 解释为担任指定端口角色的“误报”情况,您可以配置以下环路保护选项之一:

  • 如果生成树实例接口在超时间隔期间未收到 BPDU,配置路由器以引发报警情况。

  • 如果接口在超时间隔期间未收到 BPDU,则配置路由器以阻止生成树实例接口。

注意:

生成树实例接口环路保护已为接口上的所有生成树实例启用,但仅对停止接收 BPDU 的实例或报警。

何时应使用环路保护?

您可以配置生成树协议环路保护,以提高第 2 层网络的稳定性。我们建议您仅在非指定接口(如根接口或备用接口)上配置环路保护。否则,如果在指定链路的两侧配置环路保护,则某些 STP 配置事件(例如,将根桥优先级设置为拓扑中具有许多环路的低劣值)可能导致两个接口都过渡到阻塞模式。

我们建议您在有机会成为 root 或指定端口的所有交换机接口上启用环路保护。环路保护在整个交换网络中启用时最有效。启用环路保护时,您必须至少配置一个操作(日志、块或两者兼有)。

注意:

接口可配置为环路保护或根保护,但不能用于两者。

如果不使用环路保护,会发生什么情况?

默认情况下(即未配置生成树协议环路保护),停止接收 BPDU 的接口将承担指定端口角色,并可能导致生成树协议环路。

使用生成树协议消除以太网 LAN 中的桥接环路

生成树协议 (STP) 是一种网络协议,用于消除以太网 LAN 中的桥接环路。STP 通过阻止冗余链路或路径,防止网络环路和关联网络中断。冗余路径可用于在主链路发生故障时保持网络运行。

介绍桥接环路的部分以及 STP 如何帮助消除它们。

了解桥接环路

要了解桥接环路,请考虑四个交换机(或桥接)连接到四个不同的子节(第 i、ii、iii 和 iv 部分),其中每个子节点都是网络节点的集合(请参阅 图 1)。为了简化,第一节和第二节部分组合在一起,形成第 1 节。同样,第三节和第 4 节组合成第 2 节。

图 1:桥接环路 Formation of Bridge Loops形成

交换机通电后,桥接表为空。如果在子节中,我尝试将单个数据包包 1 发送至子节 iv 中的用户 D,则所有处于侦听模式的交换机都会接收数据包。交换机在各自的桥接表中输入,如下表所示:

表 1:交换机在相应的桥接表中输入条目

桥 1

ID |面向端口的方向

桥 2

ID |面向端口的方向

桥 3

ID |面向端口的方向

桥 4

ID |面向端口的方向

数据包 1 |第 1 节

数据包 1 |第 1 节

数据包 1 |第 1 节

数据包 1 |第 1 节

此时,交换机不知道子节在哪里,数据包会转发至除源端口之外的所有端口(导致数据包泛滥)。在此示例中,第 1 节节发送数据包后,交换机会在面向第 1 节的端口上接收数据包。因此,他们开始通过面向第 2 节的端口转发数据包。哪台交换机获得发送数据包的第一次机会取决于网络配置。在此示例中,假设 Switch 1 先传输数据包。因为它从第 1 节收到数据包,所以会将数据包泛滥至第 2 节。同样,同样处于侦听模式的交换机 2、3 和 4 从交换机 1(最初从第 1 节发送)接收到面向第 2 节的端口的相同数据包。他们随时会使用不正确的信息更新桥接表,如下表所示:

表 2:使用错误信息更新的桥接表

桥 1

ID |面向端口的方向

桥 2

ID |面向端口的方向

桥 3

ID |面向端口的方向

桥 4

ID |面向端口的方向

数据包 1 |第 1 节

数据包 1 |第 2 节

数据包 1 |第 2 节

数据包 1 |第 2 节

因此,将创建一个环路,因为收到第 1 节和第 2 节的数据包相同。如 图 1 所示,交换机 1 具有数据包来自第 1 节第 i 节中的数据包信息,而所有其他交换机的信息都不正确,即同一数据包来自第 2 节。

当交换机 2 有机会传输原始数据包时,整个过程将重复。交换机 2 从第 1 节接收原始数据包,并将同一数据包传输到第 2 节。最终,仍然不知道 iv 子节所在的交换机 1 更新了桥接表,如下表所示:

表 3:交换机 1 更新其桥接表

桥 1

ID |面向端口的方向

桥 2

ID |面向端口的方向

桥 3

ID |面向端口的方向

桥 4

ID |面向端口的方向

数据包 1 |第 2 节

数据包 1 |第 2 节

数据包 1 |第 2 节

数据包 1 |第 2 节

在复杂的网络中,此过程可快速导致巨大的数据包传输周期,因为相同的数据包会重复发送。

STP 如何帮助消除环路

生成树协议可关闭可创建环路的其他路由,从而帮助消除网络中的环路。如果主路径被停用,则阻止的路由将自动启用。

要了解 STP 在消除桥接环路方面遵循的步骤,请考虑以下示例,其中三台交换机连接以形成简单网络(请参阅 图 2)。为了保持冗余,每个设备之间存在一个以上的路径。交换机相互通信,方法是使用每 2 秒发送一次的桥接协议数据单元 (BPDU)。

注意:

BPDU 是由桥接 ID、桥接端口、桥接端口优先级、路径成本等组成的帧。BPDU 以组播 MAC 地址 01:80:c2:00:00:00 发送。BPDU 可分为三种类型:配置 BPDU、拓扑更改通知 (TCN) BPDU 和拓扑更改确认 (TCA) BPDU。

图 2:使用冗余链路 Simple Network with Redundant Links的简单网络

要消除网络环路,STP 在此示例网络中执行以下步骤:

  1. 选择根桥(或交换机)。 要选择 root 交换机,STP 使用桥接 ID。桥接 ID 长度为 8 字节,由两部分组成。第一部分是 2 字节的信息,称为桥接优先级。默认桥接优先级为 32,768。在此示例中,默认值用于所有交换机。其余 6 个字节由交换机的 MAC 地址组成。在此示例中,Switch1 选择为 root 交换机,因为它具有最低的 MAC 地址。

  2. 选择 root 端口。 根端口通常使用从一台交换机到另一台交换机的低成本路径。在此示例中,假设所有路径的成本都相似。因此,交换机 2 的根端口是通过交换机 1 的直接路径接收数据包的端口(成本 4),因为其他路径通过交换机 3(成本 4 + 4),如 图 3 所示。同样,对于交换机 3,根端口是使用交换机 1 的直接路径的端口。

    图 3:选择根端口 Electing Root Ports
  3. 选择指定端口。 指定端口是唯一可以在交换机上(根交换机除外)接收和转发帧的端口。它们通常是使用成本最低路径的端口。在 图 4 中,指定端口标记为 。

    图 4:选择指定端口和阻止冗余路径 Selecting Designated Ports and Blocking Redundant Paths

由于网络中涉及多个路径,并且已识别根端口和指定端口,因此 STP 可以暂时阻止交换机 2 和交换机 3 之间的路径,从而消除任何第 2 层环路。

支持的生成树协议类型

在第 2 层环境中,您可以配置各种生成树协议版本,以便在第 2 层网络中创建无环路拓扑。

生成树协议是第 2 层控制协议 (L2CP),可通过包含冗余路径的交换网络计算最佳路径。生成树协议使用桥接协议数据单元 (BPDU) 数据帧与其他交换机交换信息。生成树协议使用 BPDU 提供的信息来选择根桥、识别每个交换机的根端口、识别每个物理 LAN 分段的指定端口,以及删除特定冗余链路以创建无环路树拓扑。生成的树拓扑可在任意两个终端站之间提供单个活动第 2 层数据路径。

注意:

在生成树协议的讨论中,术语 bridgeswitch 通常可互换使用。

瞻博网络 MX 系列 5G 通用路由平台和 EX 系列交换机支持 STP、RSTP、MSTP 和 VSTP。

  • 原始生成树协议 (STP) 在 IEEE 802.1D 1998 规范中定义。名为快速生成树协议 (RSTP) 的较新版本最初在 IEEE 802.1w 规范草案中定义,后来纳入 IEEE 802.1D-2004 规范。称为多生成树协议 (MSTP) 的最新版本最初在 IEEE 802.1s 规范草案中定义,后来纳入 IEEE 802.1Q-2003 规范。VLAN 生成树协议 (VSTP) 与 Cisco Systems 路由器和交换机上支持的 Per-VLAN 生成树 Plus (PVST+) 和快速 PVST+ 协议兼容。

  • RSTP 通过将某些链路识别为点对点,并使用协议握手消息而非固定超时,可提供比原始 STP 更快的重新融合时间。当点对点链路发生故障时,备用链路可以过渡到转发状态,而无需等待任何协议计时器到期。

  • MSTP 提供从逻辑上将第 2 层网络划分为区域的功能。每个地区都有一个唯一的标识符,可以包含多个生成树实例。所有区域都使用通用实例生成树 (CIST) 捆绑在一起,后者负责 区域创建无环路拓扑,而多生成树实例 (MSTI) 则控制区域 的拓扑。MSTP 将 RSTP 用作融合算法,可与早期版本的 STP 完全互操作。

  • VSTP 为每个 VLAN 维护单独的生成树实例。不同的 VLAN 可以使用不同的生成树路径。当不同的 VLAN 使用不同的生成树路径时,随着配置更多 VLAN,所消耗的 CPU 处理资源也会增加。VSTP BPDU 数据包带有相应的 VLAN 标识符标记,并传输到组播目标媒体访问控制 (MAC) 地址 01-00-0c-cc-cc-cc-cd ,协议类型 为 0x010b。VSTP BPDU 采用纯 IEEE 802.1q 网桥隧道。

注意:

仅使用一个生成树进程支持在 MX 系列路由器上配置的所有虚拟交换机路由实例。第 2 层控制协议进程名为 l2cpd。

示例:为生成树协议启用环路保护

此示例可在 BPDU 超时间隔过期后拦截并记录非指定的 RSTP 端口 ge-1/2/0

注意:

这不是一个完整的配置。您还必须完全配置 RSTP,包括 ge-1/2/0 接口。

为生成树实例接口配置环路保护

开始之前,必须完全配置生成树协议,包括实例接口。您可以在以下层次结构级别配置 RSTP、MSTP 或 VSTP:

  • [edit protocols]

  • [edit routing-instances routing-instance-name protocols]

要配置增强的环路保护:

  1. 包括带有 bpdu-timeout-action 生成树协议接口 的块日志 选项的语句。
    • 对于物理接口上的 STP 或 RSTP 实例:

    • 对于物理接口上的所有 MSTP 实例:

    • 对于在全局级别或 VLAN 级别配置的物理接口上的所有 VSTP 实例:

  2. 要在接口上显示生成树协议环路保护特性,请使用 show spanning-tree 接口 操作命令。

示例:配置环路保护以防止接口在非 ELS EX 系列交换机上的生成树中从阻止过渡到转发

EX 系列交换机通过生成树协议 (STP)、快速生成树协议 (RSTP) 和多生成树协议 (MSTP) 提供第 2 层环路防御。环路保护可防止接口进入转发状态,从而导致网络中环路开放,从而提高 STP、RSTP 和 MSTP 的效率。

此示例介绍如何为 RSTP 拓扑中的 EX 系列交换机上的接口配置环路保护:

要求

此示例使用以下硬件和软件组件:

  • EX 系列交换机的 Junos OS 9.1 或更高版本

  • RSTP 拓扑中的三台 EX 系列交换机

在配置接口以进行环路保护之前,请确保您已:

  • 在交换机上运行的 RSTP。

注意:

默认情况下,所有 EX 系列交换机上都启用了 RSTP。

概述和拓扑

通过交换称为桥接协议数据单元 (BPDU) 的特殊帧类型,支持生成树拓扑中的无环路网络。在交换机接口上运行的对等 STP 应用程序使用 BPDU 进行通信。最终,BPDU 交换将确定哪些接口会阻止流量(防止环路),哪些接口将成为根端口和转发信息流。

如果接口停止从分段上的指定端口接收 BPDU,阻塞接口可能会错误过渡到转发状态。当交换机或其邻接方之间出现硬件错误或软件配置错误时,可能会出现此类过渡错误。当这种情况发生时,生成树中将打开一个环路。第 2 层拓扑结构中的环路会导致广播、单播和组播帧持续绕开环路网络。当交换机处理环路网络中的大量帧时,其资源耗尽,最终结果是网络中断。

谨慎:

接口可配置为环路保护或根保护,但不能用于两者。

图 5 中显示三个 EX 系列交换机。在此示例中,它们配置为 RSTP 并创建无环路拓扑。接口 ge-0/0/6 阻止交换机 3 和交换机 1 之间的流量;因此,流量将通过交换机 2 上的接口 ge-0/0/7 进行转发。BPDU 正在从交换机 1 的根桥发送至这两个接口。

此示例说明如何在接口 ge-0/0/6 上配置环路保护,以防止其从阻塞状态过渡到转发状态,并在生成树拓扑结构中创建环路。

拓扑

图 5:用于环路保护 Network Topology for Loop Protection的网络拓扑

表 4 显示了将配置为环路保护的组件。

表 4:用于在 EX 系列交换机上配置环路保护的拓扑组件

财产

设置

交换机 1

交换机 1 是根桥。

交换机 2

交换机 2 具有根端口 ge-0/0/7

交换机 3

交换机 3 连接到交换机 1 至接口 ge-0/0/6

生成树拓扑结构包含具有特定角色的端口:

  • root 端口负责将数据转发至根桥。

  • 备用端口是根端口的备用端口。当 root 端口关闭时,备用端口将成为活动根端口。

  • 指定端口将数据转发至下游网段或设备。

此配置示例使用 RSTP 拓扑。但是,您还可以在[编辑协议mstp | stp)]层次结构级别。

配置

要在接口上配置环路保护:

程序

CLI 快速配置

要在接口 ge-0/0/6 上快速配置环路保护:

逐步过程

要配置环路保护,

  1. 在交换机 3 上配置接口 ge-0/0/6

结果

检查配置结果:

验证

要确认配置工作正常,请执行以下任务:

在触发环路保护之前显示接口状态

目的

在接口 ge-0/0/6 上触发环路保护之前,确认接口是否处于阻塞状态。

行动

使用操作模式命令:

意义

操作模式命令 show spanning-tree interface 的输出显示 ge-0/0/6.0 是备用端口,处于阻塞状态。

验证环路保护是否在接口上工作

目的

验证接口 ge-0/0/6 上的环路保护配置。RSTP 已在交换机 1 上的接口 ge-0/0/4 上禁用。这将阻止 BPDU 发送到接口 ge-0/0/6 ,并触发接口上的环路保护。

行动

使用操作模式命令:

意义

操作模式命令 show spanning-tree interface 显示,接口 ge-0/0/6.0 检测到 BPDU 不再转发到该接口,并且已移动到环路不一致的状态。环路不一致的状态会妨碍接口过渡到转发状态。接口在收到 BPDU 后立即恢复并转换回原始状态。

示例:配置环路保护以防止接口在带有 ELS 的 EX 系列交换机上的生成树中从阻止过渡到转发

注意:

此示例使用支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列交换机的 Junos OS。如果您的交换机运行不支持 ELS 的软件,请参阅 示例: 配置环路保护以防止接口在非 ELS EX 系列交换机上从阻止过渡到在生成树中转发。有关 ELS 详细信息,请参阅 使用增强型第 2 层软件 CLI

EX 系列交换机通过生成树协议 (STP)、快速生成树协议 (RSTP) 和多生成树协议 (MSTP) 提供第 2 层环路防御。环路保护可防止接口进入转发状态,从而导致网络中环路开放,从而提高 STP、RSTP 和 MSTP 的效率。

此示例介绍如何为 RSTP 拓扑中的 EX 系列交换机上的接口配置环路保护:

要求

此示例使用以下软件和硬件组件:

  • EX 系列交换机的 Junos OS 13.2X50-D10 或更高版本

  • RSTP 拓扑中的三台 EX 系列交换机

在配置接口以进行环路保护之前,请确保您已:

  • 在交换机上运行的 RSTP。

注意:

默认情况下,所有 EX 系列交换机上都启用了 RSTP。

概述和拓扑

通过交换称为桥接协议数据单元 (BPDU) 的特殊帧类型,支持生成树拓扑中的无环路网络。在交换机接口上运行的对等 STP 应用程序使用 BPDU 进行通信。最终,BPDU 交换将确定哪些接口会阻止流量(防止环路),哪些接口将成为根端口和转发信息流。

如果接口停止从分段上的指定端口接收 BPDU,阻塞接口可能会错误过渡到转发状态。当交换机或其邻接方之间出现硬件错误或软件配置错误时,可能会出现此类过渡错误。当这种情况发生时,生成树中将打开一个环路。第 2 层拓扑结构中的环路会导致广播、单播和组播帧持续绕开环路网络。当交换机处理环路网络中的大量帧时,其资源耗尽,最终结果是网络中断。

谨慎:

接口可配置为环路保护或根保护,但不能用于两者。

图 6 中显示三个 EX 系列交换机。在此示例中,它们配置为 RSTP 并创建无环路拓扑。接口 ge-0/0/6 阻止交换机 3 和交换机 1 之间的流量;因此,流量将通过交换机 2 上的接口 ge-0/0/7 进行转发。BPDU 正在从交换机 1 的根桥发送至这两个接口。

此示例说明如何在接口 ge-0/0/6 上配置环路保护,以防止其从阻塞状态过渡到转发状态,并在生成树拓扑结构中创建环路。

拓扑

图 6:用于环路保护 Network Topology for Loop Protection的网络拓扑

表 5 显示了将配置为环路保护的组件。

表 5:用于在 EX 系列交换机上配置环路保护的拓扑组件

财产

设置

交换机 1

交换机 1 是根桥。

交换机 2

交换机 2 具有根端口 ge-0/0/7

交换机 3

交换机 3 连接到交换机 1 至接口 ge-0/0/6

生成树拓扑结构包含具有特定角色的端口:

  • root 端口负责将数据转发至根桥。

  • 备用端口是根端口的备用端口。当 root 端口关闭时,备用端口将成为活动根端口。

  • 指定端口将数据转发至下游网段或设备。

此配置示例使用 RSTP 拓扑。但是,您还可以在 [edit protocols mstp ] 层次结构级别为 MSTP 拓扑配置环路保护。

配置

要在接口上配置环路保护:

程序

CLI 快速配置

要在接口 ge-0/0/6 上快速配置环路保护:

逐步过程

要配置环路保护,

  1. 在交换机 3 上配置接口 ge-0/0/6

结果

检查配置结果:

验证

要确认配置工作正常,请执行以下任务:

在触发环路保护之前显示接口状态

目的

在接口 ge-0/0/6 上触发环路保护之前,确认接口是否处于阻塞状态。

行动

使用操作模式命令:

意义

操作模式命令 show spanning-tree interface 的输出显示 ge-0/0/6 是备用端口,处于阻塞状态。

验证环路保护是否在接口上工作

目的

验证接口 ge-0/0/6 上的环路保护配置。RSTP 已在交换机 1 上的接口 ge-0/0/4 上禁用。这将阻止 BPDU 发送到接口 ge-0/0/6 ,并触发接口上的环路保护。

行动

使用操作模式命令:

意义

操作模式命令 show spanning-tree interface 显示,接口 ge-0/0/6 已检测到 BPDU 不再转发至该端口,并且已进入环路不一致状态。环路不一致的状态会妨碍接口过渡到转发状态。要清除 BPDU 错误,请在交换机上发出操作模式命令 clear error bpdu interface 。接口在收到 BPDU 后立即恢复并转换回原始状态。