问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STP生成树协议详解:如何解决二层网络环路问题

创作时间:
作者:
@小白创作中心

STP生成树协议详解:如何解决二层网络环路问题

引用
CSDN
1.
https://blog.csdn.net/m0_71203750/article/details/136991962

一.二层组网环路

在二层交换网络中,缺乏冗余设计会导致网络稳定性较差。例如,当某个交换机接口出现故障时,整个网络可能会受到影响。为了解决这个问题,通常会采用冗余设计,即在网络中增加额外的链路或设备,以确保在某个链路或设备故障时,网络仍能正常运行。

但是,这种冗余设计也带来了新的问题,主要是广播风暴和MAC地址漂移。

1.广播风暴

广播风暴是由于交换机在传输数据时进行泛洪(将数据帧复制多份并发送出去)而产生的。当网络中存在环路时,广播帧会在环路中不断复制和传播,最终导致设备资源和网络带宽被严重消耗,甚至造成网络瘫痪。

2.MAC地址漂移

MAC地址漂移是指交换机在学习MAC地址时,由于网络环路的存在,导致MAC地址表不稳定。例如,当一个数据帧从多个路径到达交换机时,交换机会多次更新MAC地址表,导致MAC地址表中的信息不断变化,最终可能导致数据帧无法正确转发。

  1. pc2发送数据帧给服务器
  2. LSW3 MAC表中没有匹配的目的MAC,进行泛洪
  3. LSW1和LSW2接收到数据帧后,学习源MAC,并进行泛洪
  4. LSW1和LSW2再次接收到从另一个端口发来的相同数据帧,再次更新MAC表

这就导致了MAC表漂移,无法将报文从正确的接口发出去。

3.三层环路问题

在三层网络中,由于路由器使用静态路由和动态路由协议(如RIP、OSPF),可以有效避免环路问题。静态路由需要手工配置,一般不用于大型网络。动态路由协议如OSPF使用链路状态算法,可以计算出无环的最短路径树,因此三层网络一般不会出现环路问题。

二.STP生成树

STP(Spanning Tree Protocol)是一种用于解决二层网络环路问题的协议。它通过计算出对网络影响最小的接口,并逻辑上阻塞这个接口,从而打破环路。

(1)工作原理

STP的核心思想是通过计算出一棵无环的生成树,将网络中的冗余链路阻塞,只保留必要的链路用于数据传输。这样既保证了网络的冗余性,又避免了环路问题。

(2)STP概念

  1. 桥ID(BID):交换机在STP中被称为网桥,其ID由优先级和MAC地址组成。缺省情况下,交换机的桥优先级为32768,通常会将其设置为4096或其倍数。

  2. 根桥:根桥是STP生成树的逻辑根,具有最小的桥ID。在选举根桥时,优先级较低的交换机将成为根桥。

  3. COST:链路的开销值,带宽越大,开销越小。

  4. RPC:根路径开销,从当前交换机到根桥的所有入接口开销之和。

  5. Root ID:本端的根ID,由优先级和端口号组成。

  6. BPDU报文:Bridge Protocol Data Unit,用于选举根桥和通知拓扑变化。STP每隔2秒发送一次BPDU报文,非根桥连续三次未收到BPDU则认为发生故障。

  7. PID(Port ID):端口ID,由端口优先级和端口号组成。

(3)STP计算过程

  1. 选举根桥:所有交换机初始都认为自己是根桥,并发送BPDU报文。最终,桥ID最小的交换机将成为根桥。

  2. 选举根接口:非根交换机选择朝向根桥的接口作为根接口。选举过程依次比较RPC、对端桥ID和端口ID。

  3. 选举指定端口:每条链路选择一个指定端口,通常根桥的所有端口都是指定端口。选举过程依次比较链路两端的RPC、桥ID和端口ID。

  4. 阻塞非根接口和非指定端口:为了打破环路,需要阻塞那些既不是根接口也不是指定端口的端口。

三.实例分析

假设网络中有三台交换机SWA、SWB和SWC,其中SWA的桥优先级设置为4096,其他交换机的桥优先级为32768。

  1. 选根桥:由于SWA的桥优先级最低,因此SWA被选为根桥。

  2. 选举根接口

  • 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被选为根接口。
  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是指定端口。
  1. 阻塞非根接口和非指定端口:最终,SWCG0/0/2将被逻辑上阻塞,因为它既不是根接口也不是指定端口。

通过STP协议,网络中的冗余链路被合理利用,既保证了网络的冗余性,又避免了环路问题,提高了网络的稳定性和可靠性。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号