生成树协议( STP ) 是一种网络协议,可确保以太网网络的无环路拓扑。当拓扑发生变化时,RSTP 提供比 802.1D STP 更快的收敛速度。它还可以与HSR/ PRP结合使用,以实现可靠的以太网通信。
一、 交换机之间的循环
交换机之间进行互连时会产生一个封闭的物理环路,这意味着两个网络之间可能存在不止一条路径。这些环路可能是由错误造成的,或者是因为需要冗余路径以保证可靠性。如果在交换机网络中出现环路的情况下,发送给主机的Broadcast 、Unknown Unicast Frame将无法到达目的地,网络也会停止服务。这种情况的出现,主要是由透明交换机的两个特点决定的:
● 当目标地址不在其地址表中时,继续进行泛洪。
● 转发帧时,副本与原始帧无法区分。没有字段(例如跳转计数器)来区分连续副本。
二、 解决办法是什么?
有两种可能的策略:
1. 严禁创建带有环路的网络。
2. 启用某种机制,允许交换机检测拓扑中是否存在环路,从而禁用必要的接口来避免环路的产生。
这就是生成树协议发挥作用的地方。生成树中的任何一对节点之间只有一个可能的路径(没有循环的树)。生成树协议的目标是在逻辑上禁用接口以始终实现生成树。
因此,为了了解网络的拓扑结构,从而禁用接口,会发送生成树消息,这些消息称为BPDU(桥接协议数据单元)。BPDU 使用保留的多播地址01-80-C2-00-00-00-00,以确保非生成树交换机透明地传播它们。
生成树操作
生成树协议操作流程如下:
● 交换机定期交换带有网络拓扑信息的BPDU。
● 每个交换机都有一个标识符 (sw-ID),它根据其 MAC 地址创建。
● 此外,每个端口都有一个标识符 (port-ID) 和与之相关的成本。
● 交换机选择具有最低 sw-ID 的交换机作为树的根。它们都选择同一个。
● 每个交换机通过其接口发送BPDUs,表明其sw-ID、根交换机的sw-ID以及到达根交换机的成本。BPDU在整个网络中传播,每个交换机在转发信息时都会加上它所通过的接口的成本。
● 收到 BPDU 后,每台交换机都会计算出它可以通过哪个端口才能以最低成本到达根交换机,进而决定根端口,在存在相同成本的情况下,它会选择最低的端口ID。
● 每个 LAN 都有一个指定端口,该端口是该 LAN 以最低成本访问根交换机的端口。
● 既不是根也不是指定的端口是阻塞端口。这些端口对于通信是不必要的,如果允许操作,它们会导致循环。
传统的生成树 (IEEE 802.1D)存在收敛问题,因为拓扑更改可能需要 30 秒到几分钟。这在某些情况下是无法满足用户要求的。1998 年,快速生成树协议(RSTP,IEEE 802.1w)的标准化工作完成,这是原始协议的一种变体,可将收敛时间减少到大约6 秒。如今,传统的生成树已被宣布过时。
在RSTP中,交换机保留着通往根的第二条最低成本路径的信息,因此在发生故障时切换到新的拓扑结构要比STP协议更快。
RSTP 树
三、 多个 RSTP – MSTP
RSTP协议已经成为在包括冗余的拓扑结构中防止第二层循环的选择。如果网络中存在一个交换机,则它必须能够运行RSTP算法。
另一种有趣的冗余形式或针对环路的安全性是使用多生成树协议 (MSTP)。MSTP 是 RSTP 的扩展,可以将 VLAN 分组到生成树实例中。它为数据流量提供了多条转发路径,并实现了负载均衡。
MSTP为每个VLAN组配置一个单独的生成树,允许每个VLAN有一个配置的根桥和转发拓扑结构。它在每个生成树中阻断所有可能的备用路径,只保留一条。
虹科提供了将RSTP和MSTP功能集成到网络中的技术,即虹科网管冗余交换机(MES)。这是一个具有许多配置选项的FPGA的IP核解决方案,能够支持RSTP和MSTP,可用于多种类型应用的交换机。