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