STP生成树协议详解:如何解决二层网络环路问题
STP生成树协议详解:如何解决二层网络环路问题
一.二层组网环路
在二层交换网络中,缺乏冗余设计会导致网络稳定性较差。例如,当某个交换机接口出现故障时,整个网络可能会受到影响。为了解决这个问题,通常会采用冗余设计,即在网络中增加额外的链路或设备,以确保在某个链路或设备故障时,网络仍能正常运行。
但是,这种冗余设计也带来了新的问题,主要是广播风暴和MAC地址漂移。
1.广播风暴
广播风暴是由于交换机在传输数据时进行泛洪(将数据帧复制多份并发送出去)而产生的。当网络中存在环路时,广播帧会在环路中不断复制和传播,最终导致设备资源和网络带宽被严重消耗,甚至造成网络瘫痪。
2.MAC地址漂移
MAC地址漂移是指交换机在学习MAC地址时,由于网络环路的存在,导致MAC地址表不稳定。例如,当一个数据帧从多个路径到达交换机时,交换机会多次更新MAC地址表,导致MAC地址表中的信息不断变化,最终可能导致数据帧无法正确转发。
- pc2发送数据帧给服务器
- LSW3 MAC表中没有匹配的目的MAC,进行泛洪
- LSW1和LSW2接收到数据帧后,学习源MAC,并进行泛洪
- LSW1和LSW2再次接收到从另一个端口发来的相同数据帧,再次更新MAC表
这就导致了MAC表漂移,无法将报文从正确的接口发出去。
3.三层环路问题
在三层网络中,由于路由器使用静态路由和动态路由协议(如RIP、OSPF),可以有效避免环路问题。静态路由需要手工配置,一般不用于大型网络。动态路由协议如OSPF使用链路状态算法,可以计算出无环的最短路径树,因此三层网络一般不会出现环路问题。
二.STP生成树
STP(Spanning Tree Protocol)是一种用于解决二层网络环路问题的协议。它通过计算出对网络影响最小的接口,并逻辑上阻塞这个接口,从而打破环路。
(1)工作原理
STP的核心思想是通过计算出一棵无环的生成树,将网络中的冗余链路阻塞,只保留必要的链路用于数据传输。这样既保证了网络的冗余性,又避免了环路问题。
(2)STP概念
桥ID(BID):交换机在STP中被称为网桥,其ID由优先级和MAC地址组成。缺省情况下,交换机的桥优先级为32768,通常会将其设置为4096或其倍数。
根桥:根桥是STP生成树的逻辑根,具有最小的桥ID。在选举根桥时,优先级较低的交换机将成为根桥。
COST:链路的开销值,带宽越大,开销越小。
RPC:根路径开销,从当前交换机到根桥的所有入接口开销之和。
Root ID:本端的根ID,由优先级和端口号组成。
BPDU报文:Bridge Protocol Data Unit,用于选举根桥和通知拓扑变化。STP每隔2秒发送一次BPDU报文,非根桥连续三次未收到BPDU则认为发生故障。
PID(Port ID):端口ID,由端口优先级和端口号组成。
(3)STP计算过程
选举根桥:所有交换机初始都认为自己是根桥,并发送BPDU报文。最终,桥ID最小的交换机将成为根桥。
选举根接口:非根交换机选择朝向根桥的接口作为根接口。选举过程依次比较RPC、对端桥ID和端口ID。
选举指定端口:每条链路选择一个指定端口,通常根桥的所有端口都是指定端口。选举过程依次比较链路两端的RPC、桥ID和端口ID。
阻塞非根接口和非指定端口:为了打破环路,需要阻塞那些既不是根接口也不是指定端口的端口。
三.实例分析
假设网络中有三台交换机SWA、SWB和SWC,其中SWA的桥优先级设置为4096,其他交换机的桥优先级为32768。
选根桥:由于SWA的桥优先级最低,因此SWA被选为根桥。
选举根接口:
- SWB有两条路径到根桥:SWAG0/0/1到SWBG0/0/1的RPC为0,SWAG0/0/2到SWCG0/0/1到SWBG0/0/2的RPC为20000。因此,SWBG0/0/1被选为根接口。
- SWC也有两条路径到根桥:SWAG0/0/2到SWCG0/0/1的RPC为0,SWAG0/0/1到SWBG0/0/1到SWCG0/0/2的RPC为20000。因此,SWCG0/0/1被选为根接口。
- 选举指定端口:
- SWA作为根桥,其所有端口都是指定端口。
- 对于SWAG0/0/1到SWBG0/0/1的链路,由于SWA的桥优先级更高,因此SWAG0/0/1是指定端口。
- 对于SWAG0/0/2到SWCG0/0/1的链路,同样由于SWA的桥优先级更高,因此SWAG0/0/2是指定端口。
- 对于SWBG0/0/2到SWCG0/0/2的链路,由于SWB的MAC地址更小,因此SWBG0/0/2是指定端口。
- 阻塞非根接口和非指定端口:最终,SWCG0/0/2将被逻辑上阻塞,因为它既不是根接口也不是指定端口。
通过STP协议,网络中的冗余链路被合理利用,既保证了网络的冗余性,又避免了环路问题,提高了网络的稳定性和可靠性。