摘要:在网络中,为了提高可靠性,往往会在交换机之间设置冗余链路。然而,冗余链路可能会导致网络环路,引发广播风暴等问题,造成网络性能急剧下降甚至瘫痪。所以,生成树协议(Spanning Tree Protocol,STP)是一种用于以太网网络中的网络协议,其目的就是在
在网络中,为了提高可靠性,往往会在交换机之间设置冗余链路。然而,冗余链路可能会导致网络环路,引发广播风暴等问题,造成网络性能急剧下降甚至瘫痪。所以,生成树协议(Spanning Tree Protocol,STP)是一种用于以太网网络中的网络协议,其目的就是在具有冗余链路的网络中,自动构建一个无环的网络拓扑结构,确保网络稳定运行。
一、工作原理
根桥选举
网络中的交换机通过交换桥协议数据单元(BPDU)来选举根桥。根桥的选择主要基于交换机的桥优先级(可配置,默认 32768)和 MAC 地址,优先级低且 MAC 地址小的交换机将成为根桥。
确定根端口
非根桥交换机需要确定根端口。根端口是该交换机上到根桥路径成本最低的端口,路径成本取决于链路带宽,带宽越高成本越低。确定根端口时还会考虑发送方桥 ID 和端口 ID 等因素。
确定指定端口
在每个网段上,会确定一个指定端口,它负责在该网段转发数据到根桥。指定端口通常是所在交换机桥优先级高且路径成本低的端口。
阻塞非根非指定端口
既不是根端口也不是指定端口的端口将被阻塞,以防止形成环路。被阻塞的端口不转发数据,但会监听网络状态,以便在网络拓扑变化时能及时切换角色。
二、应用场景
生成树协议广泛应用于企业局域网、园区网等存在交换机冗余链路的网络环境中,确保网络在有冗余备份的情况下不会因环路问题而出现故障。
这是一个包含三台交换机(Switch0、Switch1、Switch2)和两台 PC(PC0、PC1)的网络拓扑图,用于演示生成树协议(STP)的工作原理。
1. 根桥选举
依据:生成树协议首先会选举根桥。根桥的选举依据是交换机的桥优先级和 MAC 地址。桥优先级是一个可配置的参数,默认值为 32768,数值越小优先级越高。如果桥优先级相同,则比较交换机的 MAC 地址,MAC 地址最小的交换机将被选举为根桥。
本案例中:Switch1 被选举为根桥(Root Bridge),因为它的 MAC 地址(0000.2f9d.dael)在三台交换机中最小。
2. 根端口确定
非根桥交换机:在非根桥交换机(Switch0 和 Switch2)上,STP 协议会为每个交换机确定一个根端口。根端口是指在非根桥交换机上,离根桥最近的端口,它是该交换机通往根桥的最优路径。
确定因素:确定根端口涉及到对端口路径成本(Path Cost)、发送方桥 ID(Bridge ID of the Sender)和发送方端口 ID(Port ID of the Sender)等因素的综合考量。端口路径成本是根据链路的带宽计算得出的一个数值,带宽越高,路径成本越低。
本案例中
Switch0 的 G1/1 端口被确定为根端口,因为它是连接到根桥 Switch1 的端口,路径成本最低。
Switch2 的 G1/2 端口被确定为根端口,同样因为它是连接到根桥 Switch1 的端口,路径成本最低。
3. 指定端口确定
每个网段:在每个网段上,STP 协议会确定一个指定端口。指定端口是指在网段上负责转发数据到根桥的端口。
确定依据:对于连接到同一网段的多个端口,STP 会根据端口的路径成本、所在交换机的桥优先级等因素来确定指定端口。一般来说,路径成本最低、所在交换机桥优先级最高的端口会被选为指定端口。
本案例中
Switch0 的 G1/2 端口是指定端口,负责向 PC1 所在网段转发数据。
Switch1 的 G1/1 和 G1/2 端口都是指定端口,因为它是根桥,所有端口都是指定端口。
Switch2 的 G1/1 端口被阻塞(Block!),因为它既不是根端口也不是指定端口。
4. 端口状态
被阻塞端口:在完成根桥、根端口和指定端口的确定后,网络中剩余的那些既不是根端口也不是指定端口的端口,就会被 STP 协议阻塞。这些被阻塞的端口虽然处于逻辑上的 “关闭” 状态,不参与数据转发,但它们会持续监听网络状态,一旦网络拓扑发生变化,如根桥故障或链路故障,它们可以迅速转变角色,参与到新的生成树构建中。
本案例中:Switch2 的 G1/1 端口被阻塞,以防止网络环路。
5. 总结
生成树协议通过选举根桥、确定根端口、指定端口和阻塞非根非指定端口,构建出一个无环的网络拓扑结构,确保数据能够在网络中稳定、高效地传输,避免因环路而引发的广播风暴等灾难性后果。在本案例中,Switch1 为根桥,Switch0 和 Switch2 分别有根端口和指定端口,Switch2 的 G1/1 端口被阻塞,从而形成了一个无环的网络拓扑。
来源:小火说科技