生成树协议(STP)用于网络交换机中防止环路和广播风暴。在局域网(LAN)中,两个或多个冗余路径可能连接到同一网络段。当交换机或网桥从所有可用端口发送帧时,这些帧会在网络中循环,导致拥塞。STP 防止这种情况发生。
生成树协议于 1985 年开发,此后已发展出适用于各种网络环境的不同类型。STP 是当今大多数 网络交换机.
的常见功能。
为什么需要网络冗余? 网络冗余为网络段提供保障,以防不可用。在典型的局域网(LAN)
,网络设备如桌面电脑、打印机和工作站被分组到一个网络段。一个网桥或交换机将每个网络段连接到另一个交换机或路由器,以提供互联网访问。交换机也相互连接,以提供局域网内通信。设备使用以太网帧在局域网内通信。

广播风暴:冗余的代价
交换机通常从所有可用端口发送帧。没有冗余时,数据帧从源交换机经过一系列交换机,直到到达连接到正确网络段的目标交换机。目标交换机然后将其转发给正确的设备。然而,当存在冗余时,到达目标的路径不止一条。帧被两个交换机重复发送,开始在网络中循环。
解决方案:生成树协议
生成树协议解决了广播风暴的问题。仅当交换机始终从所有端口发送所有帧时才会出现交换环路。STP 提供阻塞某些端口的手段,仅保留源和目标之间的唯一路径。
要了解 STP 如何工作,我们必须首先了解与其关联的一些术语。 根桥 或 根交换机:
根桥,也称为根交换机,由启用 STP 的交换机自动识别。您也可以通过分配网络中最低的桥 ID 来手动指定根桥,虽然这可能影响性能。根桥大致位于网络中心和所有其他交换机之间。一旦指定根桥,网络中的所有交换机会寻找到根桥的最佳路径,所有其他端口则被阻塞。网桥通过交换 BDPU 帧进行通信。 BPDU:
桥协议数据单元 (BPDU) 是启用 STP 的交换机用于映射网络中不同路径的帧。BPDU 还使根交换机能够控制其他交换机端口的状态。启动时以及启动后,交换机会定期交换 BPDU 以跟踪拓扑变化。 STP 表:
交换机计算网络中每条路径的成本并记录在 STP 表中。当首次启用 STP 时,交换机会发送 BPDU 来发现彼此,并将数据记录在表中。后续的拓扑变化也会更新此表。STP 表使用成本计算到特定目标的最佳路径。 路径成本:
路径成本基于网络链路速度和可用带宽计算。当交换机首次映射其环境时,会计算连接到根交换机的不同路径的成本。每个交换机会将自身成本加到前一个交换机的成本上,直到到达根交换机。然后根交换机选择成本最低的路径。 STP 算法:
路径成本由 STP 算法计算。一般来说,成本通过公式:网络速度除以带宽计算。不同版本的公式用于反映不同速度和网络配置。根端口:
> 根端口指定给网络中所有交换机。根端口是直接连接至根交换机的端口,或连接到通往根交换机最低成本路径上的另一交换机的端口。 指定端口:
STP 如何防止交换环路?

初始时,网络中的交换机有一个根端口和多个指定端口连接到其他交换机。根交换机使用 STP 算法计算从源交换机到目标交换机的最低成本路径。该路径的指定端口转发帧,所有其他指定端口进入阻塞状态,不传输数据。这意味着任何时候仅使用一条路径发送和接收帧,有效防止了交换环路。 a 如上图所示,如果网络段中的设备 c必须与另一个网络段中的设备通信, C 数据帧必须从交换机 A 到交换机 (根交换机)传送。有三条可能的路径。 路径 1 A 涉及交换机 B. 和 路径 1 A, E路径 2 D. ,以及 路径 1 A 涉及交换机 D路径 3 。使用 STP,我们计算 路径 3 。使用 STP,我们计算 是成本最低的路径。除路径 3 涉及的端口外,所有指定端口均被阻塞,帧通过路径 3 传输。 。使用 STP,我们计算.
但是,如果 。使用 STP,我们计算拥塞或被阻塞,则选择下一个最低成本路径, 路径 1,进行传输。实现了冗余。通常,交换机端口具有介于阻塞状态和转发状态之间的多个状态。
交换机启动时,其端口会经历几个端口状态,之后被分配为指定端口或转发端口。
禁用端口状态: 在此状态下,端口完全不参与转发操作。管理员可以手动禁用 STP 端口。
阻塞端口状态: 该端口不参与帧转发,因为它处于可能引起交换环路的冗余路径中。该端口继续监听 BPDU,可根据 BPDU 切换到其他状态。
监听状态: 在监听状态下,端口继续接收和处理 BPDU,如有需要,可切换到阻塞状态或学习状态。它不会更新表也不转发数据帧。
学习状态: > 在该状态下,端口接收 BPDU 并处理,用于更新 STP 表中的其他交换机地址。端口仍然不参与帧转发。
转发状态: 端口接收来自网络段和其它端口的帧,并将其转发到目标交换机。在转发状态下,端口完全参与局域网切换操作。端口也继续接收 BPDU 并更新 STP 表。
端口需要大约 15-20 秒经过所有状态,最终达到转发状态。STP 通过平衡阻塞端口和转发端口,防止交换环路,同时实现冗余。
虽然原始的 STP 协议设备对拓扑变化的响应时间超过 30 秒,后续版本如快速生成树协议 (RSTP) 可以在两秒内完成响应。
同样,每 VLAN 生成树 (PVST) 是针对 VLAN 的 STP,为每个 VLAN 创建单独的生成树。思科还发布了快速生成树协议(RSTP)的专有版本——快速每 VLAN 生成树 (RPVST)。另一种协议是多生成树协议 (MSTP)。
虽然存在如最短路径桥接等 STP 替代方案,但 STP 仍然在大多数网络交换机中很受欢迎。因此,监控 STP 交换机和端口是所有组织必须执行的实践。
ManageEngine OpManager 是一款服务器、网络和虚拟化监控工具,帮助网络管理员跟踪设备性能指标和异常。OpManager 特别强调交换机监控,包括 STP 监控。您可以查看设备中所有 STP 端口的状态,以及优先级、路径成本、端口状态、指定根、根路径成本等信息。
这些详尽的信息帮助您发现交换机中的错误、配置错误和故障,提前修复问题。OpManager 还提供交换机端口映射工具,以地图形式显示每个端口的状态。OpManager 可监控交换机的其他属性,包括 CPU 和内存性能、交换机可用性以及流量数据。
OpManager 还提供对服务器、路由器、桌面、工作站、打印机等其他网络设备的综合监控。凭借其先进的故障识别和解决功能,您可以轻松缩短网络问题的平均修复时间(MTTR)。 下载 OpManager,或试用我们的免费 30 天试用版,亲自体验!
感谢您的反馈!