什么是生成树协议
生成树协议 (STP) 用于网络交换机,以防止循环和广播风暴。在局域网 (LAN) 中,两条或多条冗余路径可以连接到同一网段。当交换机或网桥从所有可用端口传输帧时,这些帧开始在网络内环路,从而导致拥塞。STP 可防止这种情况发生。
生成树协议开发于 1985 年,此后已发展为适用于各种网络环境的不同类型。STP 是当今大多数网络交换机的常见功能。
STP 的流行版本包括:
- 快速生成树协议(RSTP)
- 多生成树协议(MSTP)
- Per-VLAN 生成树(PVST)
- 快速PVST
为什么需要网络冗余
为网段提供网络冗余,以防止不可用,在典型的 LAN 中,台式机、打印机和工作站等网络设备被分组到一个网段中,网桥或交换机将每个网段连接到另一个交换机或路由器以提供互联网访问,交换机还相互连接以提供 LAN 内部通信,设备使用 LAN 中的以太网帧进行通信。
当其中一个交换机关闭或被阻止时,整个网段将失去连接,为防止这种情况,提供了冗余网桥或交换机作为备份,当主数据库关闭时,辅助数据库仍保持网络连接。
广播风暴:冗余的成本
交换机通常从所有可用端口传输帧,如果没有冗余,数据帧从源交换机经过一系列交换机,直到到达连接到正确网段的目标交换机,然后,目标交换机将它们定向到正确的设备,但是,当存在冗余时,有多种方法可以到达目的地,帧由两台交换机重新传输,并开始在网络内循环。
这可能会失控,在您意识到之前,整个网络都被帧淹没了,达到网络容量,设备无法处理所有传入流量,这种令人讨厌的情况被称为广播风暴,广播风暴是网络冗余中的固有漏洞。
解决方案:生成树协议
生成树协议解决了广播风暴的问题,只有当开关始终传输出所有帧时,才会出现切换环路,STP 提供了在正确的时间阻止某些端口的方法,在源和目标之间只留下一条路径。
要了解STP的工作原理,我们必须首先查看与之相关的几个术语。
- 根网桥或根交换机:根网桥(也称为根交换机)由 STP 交换机自行标识,您也可以通过分配网络中最低的网桥 ID 号来手动分配根网桥,尽管这可能会影响性能,根网桥大致位于网络和所有其他交换机的中心,分配根网桥后,网络中的所有交换机都会找到到根网桥的最佳路径,所有其他端口将被阻止,网桥通过使用 BDPU 帧进行通信来实现此目的。
- BPDU:网桥协议数据单元(BPDU)是支持 STP 的交换机用来映射网络中不同路径的帧,BPDU 还允许根交换机控制其他交换机端口的状态,BPDU 在启动期间在交换机之间交换,并在启动后定期交换,以跟踪拓扑更改。
- 直通式处理表:交换机计算网络中每条路径的成本,并将其记录在STP表中,首次启用 STP 时,交换机会发送 BPDU 以相互定位并将其数据记录在表中,后续拓扑更改将在表中更新,STP 表使用成本来计算到特定目标的最佳路径。
- 路径成本:路径成本是使用网络链路速度和可用带宽计算的。当交换机首次映射其环境时,它们会计算将它们链接到根交换机的不同路径的成本,每个交换机都会将其成本添加到之前的交换机成本中,直到到达根交换机,然后,根交换机选择成本最低的路径。
- 直通式处理算法:成本计算由 STP 算法完成。通常,成本的计算公式为:网络速度除以带宽。此公式的不同版本用于反映不同的速度和网络配置。
- 根端口:为网络中的所有交换机指定根端口,根端口是直接连接到根交换机的端口,或者是连接到根交换机成本最低路径中的另一台交换机的端口。
- 指定端口:相反,指定端口或转发端口是指向远离根端口的端口,根交换机中的所有端口都是指定的端口,因为它没有根端口,交换机在启动期间分配根端口和指定端口。
STP 如何防止切换回路
最初,网络中的交换机将有一个根端口和许多指定的端口将它们连接到其他交换机,根交换机使用 STP 算法计算从源交换机到目标交换机的最低成本路径,此路径的指定端口转发帧,而所有其他指定帧处于阻塞状态,不传输数据,这意味着在任何时候,都只使用一条路径来发送和接收帧,从而有效地防止了切换环路。
如上图所示,如果网段 A 中的设备必须与网段 c 中的设备通信,则数据帧必须从交换机 A(根交换机)到达交换机 C。有三种可能的路径。路径 1 涉及开关 A 和 B。路径 2 涉及开关 A、E 和 D。路径 3 涉及开关 A 和 D。使用 STP,我们计算出路径 3 是成本最低的路径。除路径 3 中涉及的端口外,所有指定端口都被阻止,帧通过路径 3 传输。
但是,如果路径 3 拥塞或阻塞,则选择下一个成本最低的路径路径 1 来执行传输。实现了冗余。通常,交换机端口具有多个介于其阻止状态和转发状态之间的状态。
有哪些不同的端口状态
当交换机启动时,其端口在被分配为指定端口或转发端口之前会经历多个端口状态。
- 禁用端口状态:在此状态下,端口根本不参与转发操作。管理员可以手动禁用 STP 端口。
- 阻塞端口状态:端口不参与帧转发,因为它位于可能导致交换环路的冗余路径中。端口继续侦听 BPDU,并可以根据 BPDU 转换到其他状态。
- 侦听状态:在侦听状态下,端口继续接收和处理 BPDU,如果需要,可以切换到阻止状态或学习状态。它不会更新表,也不会转发数据框。
- 学习状态:在此状态下,端口接收 BPDU 并对其进行处理,以使用其他交换机的地址更新 STP 表。端口继续不参与帧转发。
- 转发状态:端口从网段和其他端口接收帧,并将其转发到所需的交换机。在转发状态下,端口完全参与 LAN 交换操作。端口还继续接收 BPDU 并更新 STP 表。
端口通过所有状态以达到转发状态大约需要 15-20 秒,STP 平衡阻塞端口和转发端口,以防止交换环路,同时仍启用冗余。
监控STP端口和交换机的工具
OpManager 是一种服务器、网络和虚拟化监控工具,可帮助网络管理员跟踪设备性能指标和异常。OpManager特别强调监控交换机,包括STP监控,您可以查看设备中所有 STP 端口的状态,以及优先级、路径开销、端口状态、指定根、根路径开销等信息。
这些全面的信息使您能够发现交换机中的错误、配置错误和中断,并主动修复它们。还有一个交换机端口映射器工具,可以显示映射中每个端口的状态,可以监控其他交换机属性,包括CPU和内存等交换机组件的性能,交换机可用性以及流量数据。
OpManager还为其他网络设备(如服务器,路由器,台式机,工作站,打印机等)提供全面监控,凭借其先进的故障识别和解决功能,您可以毫不费力地减少网络问题的 MTTR。