在此页面上
生成树协议概述
生成树协议的工作原理
如果引入环路,以太网网络很容易受到广播风暴的影响。但是,以太网网络需要包括环路,因为它们在链路故障时提供冗余路径。生成树协议解决了这两个问题,因为它们提供了链路冗余,同时防止了不需要的环路。
瞻博网络设备通过生成树协议 (STP)、快速生成树协议 (RSTP)、多生成树协议 (MSTP) 和 VLAN 生成树协议 (VSTP) 提供第 2 层环路防护。RSTP 是用于防止以太网网络上出现环路的默认生成树协议。
本主题介绍:
- 使用生成树协议的优势
- 生成树协议有助于防止广播风暴
- 了解选择根网桥和指定网桥的网桥优先级
- 端口角色决定参与生成树
- 端口状态确定端口如何处理帧
- 边缘端口连接到不能属于生成树的设备
- BPDU 维护生成树
- 当根网桥发生故障时
- 设备必须在链路故障后重新学习 MAC 地址
使用生成树协议的优势
生成树协议具有以下优点:
提供链路冗余,同时防止不必要的环路
防止广播风暴
使用边缘端口连接到不支持 STP 的设备,例如未连接到其他交换机的 PC、服务器、路由器或集线器
生成树协议有助于防止广播风暴
生成树协议通过创建整个桥接网络的树拓扑(生成树),在树根和叶之间只有一条可用路径,从而智能地避免网络中的环路。所有其他路径都将强制进入待机状态。树 根 是由 STA(生成树算法)选择的网络内交换机,用于计算整个网络网桥与根网桥之间的最佳路径。帧通过网络沿分支传输到其目标位置(如最终用户 PC)的 叶 。树 枝 是网桥之间的网段或链路。通过 STP 生成树转发帧的交换机称为 指定网桥。
如果您将 Junos OS 用于支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列和 QFX 系列交换机,则可以通过设置强制版本来强制运行原始 IEEE 802.1D 生成树协议 (STP) 版本以代替 RSTP 或 VSTP。
了解选择根网桥和指定网桥的网桥优先级
使用网桥优先级可以控制将哪个网桥选为根网桥,还可以控制在初始根网桥发生故障时将哪个网桥选为根网桥。
每个生成树协议实例的根网桥由网桥 ID 确定。网桥 ID 由可配置的网桥优先级和网桥的 MAC 地址组成。具有最低网桥 ID 的网桥被选为根网桥。如果网桥优先级相等或未配置网桥优先级,则 MAC 地址最低的网桥将被选为根网桥。
网桥优先级还可用于确定哪个网桥成为 LAN 网段的指定网桥。如果两个网桥到根网桥的路径开销相同,则网桥 ID 最低的网桥将成为指定的网桥。
网桥优先级只能以 4096 为增量进行设置。
端口角色决定参与生成树
每个端口都有角色和状态。端口 的角色 决定了它如何参与生成树。RSTP 中使用的五个端口角色是:
根端口 - 最靠近根网桥的端口(距离网桥的路径成本最低)。这是从根网桥接收帧并将其转发到根网桥的唯一端口。
指定端口 — 将流量从根网桥转发到叶的端口。指定网桥为其服务的每个链路连接都有一个指定的端口。根网桥从其所有端口转发帧,这些端口用作指定端口。
备用端口 — 在根端口发生故障并处于丢弃状态时提供指向根网桥的备用路径的端口。此端口不是活动生成树的一部分,但如果根端口发生故障,备用端口会立即接管。
备份端口 — 如果指定端口发生故障并处于丢弃状态,则提供朝向生成树叶叶的备份路径的端口。仅当两个或多个网桥端口连接到同一 LAN(网桥用作指定网桥)时,才能存在备份端口。如果端口发生故障,指定端口的备份端口会立即接管。
禁用端口 — 端口不是活动生成树的一部分。
端口状态确定端口如何处理帧
每个端口都有状态和角色。端口 的状态 决定了它处理帧的方式。RSTP 将指定网桥的每个端口置于以下三种状态之一:
丢弃 — 端口丢弃所有 BPDU。处于此状态的端口会丢弃它接收的所有帧,并且不会学习 MAC 地址。
学习 — 端口通过检查接收到的帧以获取位置信息来准备转发流量,以便构建其 MAC 地址表。
转发 — 端口过滤和转发帧。处于转发状态的端口是活动生成树的一部分。
边缘端口连接到不能属于生成树的设备
生成树还定义了边缘端口的概念, 边缘端口是连接到不支持 STP 的设备(如 PC、服务器、路由器或未连接到其他交换机的集线器)的指定端口。由于边缘端口直接连接到终端站,因此无法创建网络环路,可以立即转换为转发状态。您可以手动配置边缘端口,交换机还可以通过记录终端站没有通信来检测边缘端口。
边缘端口本身会将 BPDU 发送到生成树。如果您非常了解这对网络的影响,并希望修改边缘端口接口上的 RSTP。
BPDU 维护生成树
生成树协议使用称为桥接协议数据单元 (BPDU) 的帧来创建和维护生成树。BPDU 帧是从一台交换机发送到另一台交换机的消息,用于传达有关自身的信息,例如其网桥 ID、根路径成本和端口 MAC 地址。交换机之间 BPDU 的初始交换决定了根网桥。同时,BPDU 用于根据端口速度或用户配置来传达分支设备之间每个链路的成本。RSTP 使用此路径开销来确定数据框从一个叶传输到另一个叶的理想路径,然后阻止所有其他路径。如果边缘端口收到 BPDU,它会自动转换为常规 RSTP 端口。
当网络处于稳定状态时,当生成树算法 (STA) 同时识别根网桥和指定网桥,并且所有端口都处于转发或阻止状态时,生成树将收敛。为了维护树,根网桥继续以 呼叫时间间隔 (默认为 2 秒)发送 BPDU。这些 BPDU 继续通信当前的树拓扑。当端口收到 hello BPDU 时,它会将信息与已为接收端口存储的信息进行比较。当交换机收到 BPDU 时,将执行以下三种操作之一:
如果 BPDU 数据与 MAC 地址表中的现有条目匹配,则该端口会将名为 “最大年龄” 的计时器重置为零,然后将包含当前活动拓扑信息的新 BPDU 转发到生成树中的下一个端口。
如果 BPDU 中的拓扑已更改,则 MAC 地址表中的信息将更新, 最大期限 再次设置为零,并将新的 BPDU 与当前活动拓扑信息一起转发到生成树中的下一个端口。
当端口三次未收到 BPDU 时,它会以两种方式之一做出反应。如果端口是根端口,则对生成树进行完全返工 — 请参阅 RSTP 根网桥失败时。如果网桥是任何非根网桥,RSTP 会检测到连接的设备无法发送 BPDU,并将该端口转换为边缘端口。
当根网桥发生故障时
当指向根端口的链接断开时,将向 BPDU 添加一个称为拓扑更改通知 (TCN) 的标志。当此 BPDU 到达 VLAN 中的下一个端口时,将刷新 MAC 地址表,并将 BPDU 发送到下一个网桥。最终,VLAN 中的所有端口都已刷新其 MAC 地址表。然后,RSTP 配置新的根端口。根端口或指定端口发生故障后,备用端口或备份端口将在交换 BPDU(称为提议-协议握手)后接管。RSTP 通过点对点链路传播此握手,点 对点链路是两个网络节点或交换机之间的专用链路,可将一个端口连接到另一个端口。如果本地端口成为新的根端口或指定端口,它将使用提议协议握手与最近相邻交换机上的接收端口协商快速转换,以确保无环路拓扑。
设备必须在链路故障后重新学习 MAC 地址
由于链路故障会导致所有关联的端口刷新其 MAC 地址表,因此网络在泛洪以重新学习 MAC 地址时可能会变慢。有一种方法可以加快这种重新学习过程。在 TCN 传播期间,交换机的第 2 层转发表会被刷新,从而导致数据包泛滥。地址解析协议 (ARP) 功能会导致交换机主动发送 ARP 缓存中 IP 地址的 ARP 请求(由于第 3 层 VLAN 接口而存在)。启用 STP 上的 ARP 后,当回复通过时,交换机会构建第 2 层转发表,从而限制以后的泛洪。在 STP 上启用 ARP 对于防止使用 RVI 的大型第 2 层网络中出现过度泛洪最有用。
ARP 功能在支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列交换机的 Junos OS 上不可用。
参见
选择生成树协议
选择生成树协议时,请考虑两个基本问题:
我需要哪些 STP 功能?
将使用什么交换机或路由器?
生成树特征的比较
表 1 介绍了生成树协议 STP、RSTP、MSTP 和 VSTP 之间的差异。
协议 | 优点缺点 | |
---|---|---|
RSTP |
|
|
提示:
.
提示:
如果 RSTP 已强制作为原始 STP 版本运行,则可以通过 从强制 IEEE 802.1D STP 恢复为 RSTP 或 VSTP 来恢复到 RSTP。 |
||
Stp |
|
|
提示:
使用该 |
||
MSTP |
|
|
提示:
|
||
VSTP |
|
|
提示:
使用 VSTP 时,我们建议您在可以接收 VSTP 桥接协议数据单元 (BPDU) 的所有 VLAN 上启用 VSTP。
提示:
使用命令配置
提示:
交换机上 VSTP 支持的最大 VLAN 数取决于您使用的是支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列和 QFX 系列交换机的 Junos OS,还是不支持 ELS 的 Junos OS。 您可以在同一网络中将瞻博网络交换机与 VSTP 配合使用,将思科交换机与 PVST+ 和 Rapid-PVST+ 配合使用。思科支持专有的每 VLAN 生成树 (PVST) 协议,该协议为每个 VLAN 维护一个单独的生成树实例。每个 VLAN 一个生成树可实现精细的负载平衡,但随着 VLAN 数量的增加,需要更多的 BPDU CPU 处理。PVST 在瞻博网络不支持的思科专有 ISL 中继上运行。瞻博网络交换机仅与 PVST+ 和 Rapid-PVST+ 互操作。 |
生成树协议都会生成自己的 BPDU。在 PC 上运行的用户桥接应用程序也可以生成 BPDU。如果交换机上运行的 STP 应用程序拾取这些 BPDU,则可能会触发 STP 误判,而这些误判可能导致网络中断。请参阅 在生成树接口上配置 BPDU 保护。
如果要为任何生成树协议(STP、MSTP、RSTP 和 VSTP)配置接口,则在使用家族选项配置flexible-vlan-tagging
接口时,vlan all
interface all
、 和vlan-group
选项将不可用。
交换机和路由器生成树支持和限制
并非所有交换机和路由器都支持完全相同的功能和配置。 表 2 中列出了已知差异。
路由器或交换机 |
考虑 |
---|---|
MX 系列路由器 |
只有 MX 系列路由器可以使用虚拟交换机路由实例类型将 LAN 分段与其生成树实例隔离,并分离其 VLAN ID 空间。请参阅 在 MX 系列路由器上配置虚拟交换机路由实例 跟踪和全局跟踪在具有全局 traceoptions 语句的 ACX 和 MX 路由器上可用 — 请参阅 了解生成树协议跟踪选项。 从版本 14.1R1 开始,MX 系列路由器支持以下 STP 日志增强功能:
在 MX 和 ACX 路由器上,您可以将 RSTP、MSTP 和 VSTP 实例接口配置为边缘端口,以实现比原始 STP 版本更快的收敛速度。边缘端口直接过渡到转发状态,因此协议无需等待边缘端口接收 BPDU。 在提供商网络中运行 RSTP 或 MSTP 的 MX 系列路由器上,您可以在 RSTP 或 MSTP 实例中启用提供商桥参与 — 请参阅 了解 RSTP 或 MSTP 实例中的提供商桥参与。 |
提示:
对于 MX 系列和 M 系列路由器上的 802.1ad 提供商桥接网络(堆叠 VLAN),单标记接入端口和双标记中继端口可以在单个生成树上下文中共存。在此模式下,VLAN 生成树协议 (VSTP) 可以在千兆以太网 (ge)、10 千兆以太网 (xe) 和聚合以太网 (ae) 接口上发送和接收未标记的快速生成树协议 (RSTP) 桥接协议数据单元 (BPDU)。未标记的 RSTP BPDU 与通过双标记中继端口发送的标记的 VSTP BPDU 互操作。双标记对互联网服务提供商非常有用,允许他们在内部使用 VLAN,同时混合来自已标记 VLAN 的客户端的流量。 |
|
ACX 系列路由器 |
在 MX 和 ACX 路由器上,您可以将 RSTP、MSTP 和 VSTP 实例接口配置为边缘端口,以实现比原始 STP 版本更快的收敛速度。边缘端口直接过渡到转发状态,因此协议无需等待边缘端口接收 BPDU。 跟踪和全局跟踪在具有全局 traceoptions 语句的 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 版本。如果使用虚拟 LAN (VLAN),则可以在网络上启用 VSTP。 为 QFX 系列提供的 STP 支持包括:
在 QFX 系列的网络侧使用快速生成树协议 (RSTP),可提供比基本生成树协议 (STP) 更快的收敛时间。RSTP 将某些链路识别为点对点。当点对点链路发生故障时,备用链路可以转换为转发状态,从而加快收敛速度。 可以将接口配置为根保护或环路保护,但不能同时配置两者。 在运行支持 ELS 的 Junos OS 的 EX 系列(EX9200 除外)和 QFX 系列交换机上,VSTP 最多可支持 510 个 VLAN。 如果您的 EX 系列或 QFX 系列交换机与运行快速每 VLAN 生成树(快速 PVST+)的 Cisco 设备互操作,我们建议您在 EX 系列或 QFX 系列接口上同时启用 VSTP 和 RSTP。 |
EX 系列交换机 |
|
提示:
EX 系列交换机在 VSTP 上最多可以有 253 个 VLAN。因此,要拥有尽可能多的生成树协议 VLAN,请同时使用 VSTP 和 RSTP。然后,RSTP 将应用于超出 VSTP 限制的 VLAN。由于默认情况下启用 RSTP,因此只需另外启用 VSTP。 |
|
QFabric |
虽然无需在 QFabric 系统中运行 STP,但您可以将一个 QFabric 系统连接到另一个第 2 层设备并使用 STP。只能在网络节点组上处理 STP 流量。其他节点组(如冗余服务器节点组和服务器节点组)会丢弃 STP 桥接协议数据单元 (BPDU) 流量并自动禁用接口。服务器节点组仅处理面向主机的协议,而网络节点组处理所有受支持的协议。 |
SRX 系列防火墙 |
|