Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

生成树协议概述

生成树协议工作机制

如果引入环路,以太网网络容易遭受广播风暴。但是,以太网网络需要包含环路,因为它们在链路故障时提供冗余路径。生成树协议解决了这两个问题,因为它们提供链路冗余,同时防止不需要的环路。

瞻博网络设备通过生成树协议 (STP)、快速生成树协议 (RSTP)、多生成树协议 (MSTP) 和 VLAN 生成树协议 (VSTP) 提供第 2 层环路防护。RSTP 是防止以太网网络上出现环路的默认生成树协议。

本主题将介绍:

使用生成树协议的好处

生成树协议具有以下好处:

  • 提供链路冗余,同时防止不需要的环路

  • 防范广播风暴

  • 使用边缘端口连接到无法支持 STP 的设备,例如未连接到其他交换机的 PC、服务器、路由器或集线器

生成树协议帮助防止广播风暴

生成树协议通过创建整个桥接网络的树拓扑(生成树),在树根和叶之间仅包含一条可用路径,智能地避免网络环路。所有其他路径均强制进入待机状态。树 是由 STA(生成树算法)选择的网络内的交换机,当计算整个网络和根网桥之间的最佳路径时,可使用该交换机。帧沿网络传输至其 目标(最终用户 PC 等叶节点)。树 分支 是网桥之间的网段或链路。通过 STP 生成树转发帧的交换机称为 指定网桥

注意:

如果要为支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列和 QFX 系列 交换机使用 Junos OS,可通过设置强制版本来强制原始 IEEE 802.1D 生成树协议 (STP) 版本运行,以而不是 RSTP 或VSTP。

端口角色 确定参与生成树

每个端口都有一个角色和一个状态。端口的角色 决定了 它如何参与生成树。RSTP 中使用的五个端口角色包括:

  • 根端口 — 最靠近根网桥的端口(具有从网桥的最低路径成本)。这是从根网桥接收帧和将帧转发至根网桥的唯一端口。

  • 指定端口 - 将来自根网桥的流量转发至叶的端口。指定网桥为所服务的每一个链路连接都有一个指定端口。根网桥转发其所有端口(用作指定端口)的帧。

  • 备用端口 — 当根端口出现故障并处于丢弃状态时,该端口可提供通往根网桥的备用路径。此端口不是活动生成树的一部分,但是,如果根端口发生故障,备用端口将立即接管。

  • 备份端口 — 当指定端口出现故障并处于丢弃状态时,为生成树叶提供备用路径的端口。只有两个或多个桥接端口连接到作为指定网桥的同一 LAN 时,备份端口才能存在。指定端口的备份端口在端口出现故障时立即接管。

  • 禁用端口 - 端口不是活动生成树的一部分。

端口状态 确定端口如何处理帧

每个端口都有一个状态和一个角色。端口的状态 决定了 它如何处理帧。RSTP 将指定网桥的每个端口以三种状态之一进行:

  • 丢弃 - 端口丢弃所有 BPDUS。此状态中的端口将丢弃其接收的所有帧,不学习 MAC 地址。

  • 学习 - 通过检查收到的帧获取位置信息,端口准备转发信息流,以便构建其MAC 地址表。

  • 转发 — 端口过滤和转发帧。转发状态中的端口是活动生成树的一部分。

边缘端口连接到不能作为生成树一部分的设备

生成树还定义了边缘端口的概念,边缘端口是连接到不支持 STP 的设备(如未连接到其他交换机的 PC、服务器、路由器或集线器)的指定端口。由于边缘端口直接连接到终端站,因此它们无法创建网络环路,因此可立即过渡到转发状态。您可以手动配置边缘端口,而交换机还可通过发现终端站没有通信来检测边缘端口。

边缘端口本身会将 BPUS 发送到生成树。如果您很了解对网络的影响,并且想要修改边缘端口接口上的 RSTP。

BPUS 维护生成树

生成树协议使用称为桥接协议数据单元 (BPUS) 的帧来创建和维护生成树。BPDU 帧是一种从交换机发送至另一个交换机的消息,用于传达关于自身的信息,例如其桥接 ID、根路径成本和端口 MAC 地址。交换机之间的 BPDUS 初始交换确定根网桥。同时,BPDUS 用于通信分支机构设备之间的每个链路成本,这基于端口速度或用户配置。RSTP 使用此路径成本确定数据帧从一个叶节点到另一个叶传输的理想路由,然后阻止所有其他路由。如果边缘端口收到 BPDU,它将自动过渡到常规 RSTP 端口。

当网络处于稳定状态时,生成树在生成树算法 (STA) 识别根网桥和指定网桥且所有端口均处于转发或阻塞状态时融合。要维护树,根网桥将继续以发送时间间隔(默认 2 秒)发送 BPUS。这些 BPDUS 将继续通信当前树拓扑。当端口收到 hello BPDU 时,会将信息与已存储在接收端口的信息进行比较。交换机收到 BPDU 时,执行三种操作之一:

  • 如果 BPDU 数据与 MAC 地址 表中的现有条目匹配,端口将调用最大年龄的计时器重置为零,然后将具有当前活动拓扑信息的新 BPDU 转发至生成树中的下一个端口。

  • 如果 BPDU 中的拓扑已更改,则信息在 MAC 地址 表中更新,将最大时间再次设置为零,并且新 BPDU 会使用当前活动拓扑信息转发至生成树中的下一个端口。

  • 当端口连续三次接收 BPDU 时,会以两种方式之一做出反应。如果端口是根端口,将完成生成树的返工 — 请参阅 RSTP 根网桥发生故障时 。如果网桥是任何非根网桥,RSTP 会检测连接的设备无法发送 BPUS 并将该端口转换为边缘端口。

当根网桥发生故障时

当根端口的链路关闭时,将向 BPDU 添加一个称为拓扑更改通知 (TCN) 的标记。当此 BPDU 到达 VLAN 中的下一个端口时,MAC 地址表将被清除,并且 BPDU 会发送至下一个网桥。最终,VLAN 中所有端口已清除其MAC 地址表。然后,RSTP 配置一个新的根端口。

根端口或指定端口发生故障后,替代端口或备份端口在交换称为提议协议握手的 BPDUS 之后接管。RSTP 通过点到点链路传播这种握手,这是两个网络节点之间的专用链路,或者用于将一个端口连接到另一个端口的交换机。如果本地端口成为新的根或指定端口,则使用提议协议握手确保无环路拓扑,与最近的邻接交换机上的接收端口协商快速过渡。

链路故障后,设备必须重新学习 MAC 地址

由于链路故障会导致所有关联端口齐MAC 地址表,因此网络可能因为泛滥而重新学习 MAC 地址,因此速度可能会减慢。有一种方法可以加速此再学习过程。在 TCN 传播期间,交换机第 2 层转用表被齐平,导致数据包泛滥。地址解析协议 (ARP) 功能会导致交换机主动向 ARP 缓存中的 IP 地址发送 ARP 请求(由于第 3 层 VLAN 接口存在)。在启用 STP 上的 ARP 后,根据回复,交换机会构建第 2 层转转发表,从而限制以后的泛洪。在 STP 上启用 ARP 对于防止使用 RV 的大型 2 层网络中出现过大泛洪非常有用。

注意:

对于支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列交换机Junos OS上不可用 ARP 功能。

选择生成树协议

选择生成树协议时,请考虑两个基本问题:

  • 我需要哪些 STP 功能?

  • 将采用什么交换机或路由器?

生成树功能比较

表 1 说明了生成树协议 STP、RSTP、MSTP 和 VSTP 之间的差异。

表 1:选择生成树协议
协议 优势 劣势

RSTP

  • 快速生成树协议是默认交换机配置,建议用于大多数网络配置,因为它在出现故障后融合速度比 STP 更快。

  • 与使用 STP 时一样,语音和视频在 RSTP 方面效果更出一分。

  • RSTP 向后兼容 STP;因此,交换机并不一切都必须运行 RSTP。

  • RSTP 支持比 MSTP 或 VSTP 更多的端口。

  • 在 MX 和 ACX 路由器上,您可以将 RSTP、MSTP 和 VSTP 实例接口配置为边缘端口。

  • STP 和 RSTP 仅限于任何物理接口上的单个实例。使用 set rstp interface 语句配置参与 RSTP 实例的接口。

  • RSTP 不支持 802.1D 1998 网桥。请改为使用 STP—请参阅 强制 RSTP 或 VSTP 作为 IEEE 802.1D STP 运行(CLI过程)

  • 建议多个 VLAN 网络使用 RSTP,因为它无法感知 VLAN — 因此,LAN 内的所有 VLAN 均共享同一生成树。这限制了数据流量的转发路径数量。请改为使用 MSTP。

提示:

使用 set rstp interface 配置语句指示哪些逻辑接口参与 RSTP。看到

.

提示:

如果 RSTP 已强制作为原始 STP 版本运行,您可以通过从强制 IEEE 802.1D STP 恢复到 RSTP 或 VSTP。

Stp

  • 生成树协议与 802.1D 1998 网桥一同工作。

  • RSTP 向后兼容 STP;因此,您可以使用 802.1D 1998 网桥在一些交换机和 STP 上运行 RSTP。

  • STP 和 RSTP 仅限于任何物理接口上的单个实例。使用 set stp interface 语句配置参与 RSTP 实例的接口。

  • STP 比 RSTP 慢。

  • 建议多个 VLAN 网络使用 STP,因为它无法感知 VLAN — 因此,LAN 内的所有 VLAN 均共享同一生成树。这限制了数据流量的转发路径数量。请改为使用 MSTP。

  • 尽管 STP 提供基本环路防御功能,但是当有拓扑更改时,它不提供快速网络融合。STP 流程用于确定网络状态转换的速度比 RSTP 进程慢,因为它基于定时器。RSTP 的收敛速度更快,因为它使用基于点到点链路的握手机制,而不是 STP 使用的基于计时器的进程。

  • 配置原始 802.1D STP IEEE不支持边缘端口。如果在 层次结构 edge [edit protocols stp] 级别指定,软件将忽略 选项。

提示:

使用 set stp interface 语句配置接口以加入 STP 实例。请参阅 在 EX 系列交换机上配置 STP(CLI过程)

MSTP

  • 多生成树协议适用于大多数 VLAN。

  • MSTP 在单个物理接口上支持多个实例。

  • 在 MX 和 ACX 路由器上,您可以将 RSTP、MSTP 和 VSTP 实例接口配置为边缘端口。

  • 某些协议要求 MSTP 未提供兼容性。在这种情况下,请使用 VSTP。

  • MSTP 支持数量有限的端口。MSTP 区域支持多达 64 个 MSTIS,每个实例支持 1 到 4094 个 VLA

  • MSTP 使用的 CPU 比 RSTP 多,收敛速度不及 RSTP 快。

提示:

使用 set mstp interface 配置语句指示哪些逻辑接口参与 MSTP。请参阅 在交换机上配置 MSTP

VSTP

  • VSTP 与需要设备兼容性的 VLAN 一起使用。在可接收 VSTP 桥接协议数据单元 (BPUS) 的所有 VLAN 上启用 VSTP。

  • VSTP 和 RSTP 是唯一可在交换机上同时配置的生成树协议。

  • 对于 VSTP,接口可在全局级别或 VLAN 级别配置。将启用在全局 VSTP 级别配置的接口,以用于所有配置的 VLAN。如果同时在全局和 VLAN 级别配置了接口,则 VLAN 级别的配置将覆盖全局配置。

  • 在 MX 和 ACX 路由器上,您可以将 RSTP、MSTP 和 VSTP 实例接口配置为边缘端口。

  • 借助 VSTP,每个 VLAN 只能有一个 STP 实例,其中 MSTP 允许您在一个实例中组合多个 VLAN。

  • 与 RSTP 相比,VSTP 支持的端口数量有限。

  • 您可为最多 509 个 VLAN 配置 VSTP。但是,具有大量 VSTP 和 RSTP 实例可能会导致拓扑结构出现连续更改。作为性能解决方案,将 VSTP 实例数减少至不到 190 个。

  • 不支持对 RSTP 和 VSTP 使用相同的 VLAN。例如,如果在 VSTP 下配置 VLAN,则不支持使用包含相同 VLAN 的接口配置 RSTP。

  • 如果同时配置 VSTP 和 RSTP,并且交换机具有超过 253 个 VLAN,则只会为前 253 个 VN 配置 VSTP。对于其余 VLAN,仅配置 RSTP。

  • 使用 命令配置 VSTP set protocol vstp vlan vlan-id interface interface-name 时,将排除名为 default 的 VLAN。您必须使用名称手动配置 VLAN, default 以运行 VSTP。

提示:

使用 VSTP 时,建议在所有可接收 VSTP 桥接协议数据单元 (BPUS) 的 VLA 上启用 VSTP。

提示:

使用 命令配置 VSTP 时,未设置 VLAN ID 1;不会进行配置,以便配置与 set protocol vstp vlan all Cisco PVST+ 兼容。如果您希望将 VLAN ID 1 包含在交换机的 VSTP 配置中,则必须使用 命令单独 set protocol vstp vlan 1 设置。有关详细信息,请参阅产品介绍的知识库文章 KB15138 和 KB18291 https://kb.juniper.net/InfoCenter/index

提示:

交换机上 VSTP 支持的最大 VLAN 数取决于是为 EX 系列和 QFX 系列 交换机使用支持增强型第 2 层软件 (ELS) 配置样式的 Junos OS,还是使用不支持 ELS 的 Junos OS。

您可以在同瞻博网络使用带 PVST+ 和 Rapid-PVST+ 的 VSTP 和 Cisco 交换机的交换机。Cisco 支持专用 Per-VLAN 生成树 (PVST) 协议,该协议按每个 VLAN 维护单独的生成树实例。每个 VLAN 一个生成树允许细粒度负载平衡,但随着 VLAN 数量的增加,需要更多的 BPDU CPU 处理。PVST 在 Cisco 专有 ISL 中继上运行,瞻博网络。瞻博网络交换机仅与 PVST+ 和 Rapid-PVST+ 互操作。

提示:

生成树协议均生成自己的 BPDUS。在 PC 上运行的用户桥接应用程序还可以生成 BPUS。如果在交换机上运行的 STP 应用程序挑选出这些 BPDUS,它们可能会触发 STP 错误仿真,这些错误集成可能导致网络中断。请参阅 在生成树接口上配置 BPDU 保护

注意:

如果为任何生成树协议(STP、MSTP、RSTP 和 VSTP)配置接口,则 当使用家族选项配置接口时,将不可用 、 和 选项。 interface all vlan all vlan-group flexible-vlan-tagging

交换机和路由器生成树支持和限制

并非所有交换机和路由器都支持完全相同的功能和配置。表 2中列出了已知差异。

表 2:生成树硬件注意事项

路由器或交换机

考虑

MX 系列路由器

只有 MX 系列路由器才能使用虚拟交换机路由实例类型来隔离 LAN 分段及其生成树实例并分离其 VLAN ID 空间。请参阅 在 MX 系列路由器上配置 虚拟交换机路由实例

通过全局追踪选项语句在 ACX 和 MX 路由器上提供追踪和全局追踪 — 请参阅了解生成树协议追踪选项

从版本14.1R1开始,MX 系列路由器支持这些 STP 日志增强功能:

  • 在内部环网缓冲区中记录关于生成树事件(如 STP、MSTP、RSTP 或 VSTP)接口角色或状态更改的信息,无需配置 STP 追踪选项。

  • 捕获触发生成树角色或状态变更的信息。

在 MX 和 ACX 路由器上,您可以将 RSTP、MSTP 和 VSTP 实例接口配置为边缘端口,与原始 STP 版本相比,融合速度更快。边缘端口直接转换为转发状态,因此协议无需等待在边缘端口上接收 BPDUS。

在提供商网络中运行 RSTP 或 MSTP 的 MX 系列路由器上,您可以允许提供商网桥参与 RSTP 或 MSTP 实例 —请参阅 了解提供商网桥 参与 RSTP或 MSTP 实例。

提示:

对于 MX 系列和 M Series 路由器上的 802.1ad 提供商桥接网络(堆叠 V VPN),单标记接入端口和双标记中继端口可在单一生成树环境中共存。在此模式下,VLAN 生成树协议 (VSTP) 可以在千兆位以太网 (ge)、10 千兆位以太网 (xe) 和聚合以太网 (ae) 接口上发送和接收未标记的快速生成树协议 (RSTP) 桥接协议数据单元 (BPUS)。未标记 RSTP BPUS 与通过双标记中继端口发送的标记 VSTP BPUS 互操作。双标记对于互联网服务提供商非常有用,允许他们内部使用 VLAN,同时混合来自已 VLAN 标记的客户端的流量。

ACX 系列路由器

在 MX 和 ACX 路由器上,您可以将 RSTP、MSTP 和 VSTP 实例接口配置为边缘端口,与原始 STP 版本相比,融合速度更快。边缘端口直接转换为转发状态,因此协议无需等待在边缘端口上接收 BPDUS。

通过全局追踪选项语句在 ACX 和 MX 路由器上提供追踪和全局追踪 — 请参阅了解生成树协议追踪选项

QFX 系列交换机

请参阅 配置 STP

如果您的网络包括 IEEE 802.1D 1998 网桥,请卸下 RSTP 并显式配置 STP—请参阅 强制 RSTP 或 VSTP 作为 IEEE 802.1D STP 运行(CLI 过程)。显式配置 STP 时,QFX 系列产品使用 IEEE 802.1D 2004 规范,强制版本 0。此配置运行与典型基本 STP 兼容的 RSTP 版本。如果您使用虚拟 VPN (VNS),可在网络上启用 VSTP。

为网络网络提供的 STP QFX 系列包括:

  • IEEE 802.1d

  • 802.1w RSTP

  • 802.1s MSTP

使用网络侧的快速生成树协议 (RSTP)QFX 系列生成树协议 (STP) 提供的融合时间更快。RSTP 将某些链路识别为点到点。当点到点链路出现故障时,备用链路可转换为转发状态,从而加速融合。

接口可配置为 root 保护或环路保护,但不能二者同时配置。

在运行支持 ELS Junos OS 的 EX 系列(EX9200 除外)和 QFX 系列 交换机上,VSTP 可支持多达 510 个 VLAN。

如果您的 EX 系列或 QFX 系列 交换机与运行 Rapid per VLAN 生成树 (快速 PVST+) 的 Cisco 设备互操作,我们建议在 EX 系列或 QFX 系列 接口上启用 VSTP 和 RSTP。

EX 系列交换机

  • EX 系列交换机有两个版本。请务必针对每个版本使用正确的命令。某些 EX 交换机运行的 瞻博网络 Junos 操作系统 (Junos OS) 支持增强型第 2 层软件 (ELS) 配置(例如 EX4300、EX2300、EX3400 和 EX4600 支持 ELS),有些交换机不支持 ELS 配置。

  • 配置为使用 STP 的 EX 系列交换机实际运行 RSTP 强制版本 0,该版本与 STP 兼容。如果要对支持 ELS 的 EX 系列交换机使用 Junos OS,可以将原始 IEEE 802.1D 生成树协议 (STP) 版本强制运行,以用于 RSTP 或 VSTP。请参阅 强制 RSTP 或 VSTP 作为 IEEE 802.1D STP 运行(CLI过程)

  • 在运行支持 ELS Junos OS 的 EX 系列(EX9200 除外)和 QFX 系列 交换机上,VSTP 可支持多达 510 个 VLAN。但是,EX9200交换机上,VSTP 只能支持 253 个 VLAN。

  • EX 系列交换机EX4300、EX4600和 QFX 平台QFX5100,QFX3500,QFX3600 VSTP 上支持 510 VLAN。

  • 在EX9200交换机上 — VSTP 可支持多达 4000 个 VLAN。

  • 在运行不支持 ELS Junos OS EX 系列交换机上 — VSTP 可支持多达 253 个 VLAN。

  • EX4300启用 RSTP 并强制其充当 STP,才能为 STP 配置交换机。从 RSTP 配置页面上选择 Force STP 复选框。

  • 接口可配置为 root 保护或环路保护,但不能二者同时配置。

  • 如果您的 EX 系列或 QFX 系列 交换机与运行 Rapid per VLAN 生成树 (快速 PVST+) 的 Cisco 设备互操作,我们建议在 EX 系列或 QFX 系列 接口上启用 VSTP 和 RSTP。

  • ARP 功能不适用于支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列交换机。

提示:

EX 系列交换机在 VSTP 上最多可以有 253 个 VLAN。因此,要拥有尽可能多的生成树协议 VLAN,请同时使用 VSTP 和 RSTP。然后,RSTP 将应用于超过 VSTP 限制的 V VPN。由于 RSTP 默认启用,因此您只需要额外启用 VSTP。

QFabric

虽然无需在 QFabric 系统中运行 STP,但您可以将 QFabric 系统连接到另一个第 2 层设备并使用 STP。STP 流量只能在网络节点组上处理。其他节点组(如冗余服务器节点组和服务器节点组)丢弃 STP 桥接协议数据单元 (BPUS) 流量并自动禁用接口。服务器节点组仅处理面向主机的协议,而网络节点组则处理所有受支持的协议。

SRX 系列设备

  • 仅通过 STP、RSTP 或 MSTP 提供第 2 层环路防护。SRX 平台不支持 VSTP。

  • SRX 系列设备有两个版本。请务必针对每个版本使用正确的命令。某些 SRX 系列设备运行支持增强型第 2 层软件 (ELS) 配置的 瞻博网络 Junos 操作系统 (Junos OS),有些设备不支持 ELS 配置。

  • 从 Junos OS 版 15.1X49-D70 开始,SRX300、SRX320、SRX340、SRX345、SRX550M 和 SRX1500 设备上支持生成树协议 (STP)。从操作系统版本到版本Junos,不支持生成15.1X49-D40树Junos OS (STP) 15.1X49-D60。

  • 接口可配置为 root 保护或环路保护,但不能二者同时配置。