STP生成树协议

STP(生成树协议)用于二层网络,通过选举根桥、根端口和指定端口消除环路,防止数据无限转发导致链路拥堵。根桥是桥ID最小的交换机,根端口是非根桥到根桥开销最小的路径,指定端口负责转发网段数据。STP工作流程包括选举和端口状态变化,确保网络稳定和高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STP协议

Spanning Tree Protocol,生成树协议,用作于二层链路;通过发送协议报文BPDU确定网络的拓扑结构,生成类似树形状的拓扑结构,能够有效的避免二层环路的产生。

         5jR4hQ.png

STP协议怎样防止二层链路形成环路

先来了解一下什么是环路,形成环路有什么问题?

交换机的工作机制就是根据自己所学习MAC地址表进行数据转发,当转发数据的目的地址没有出现在其地址表中,就会被泛洪到其他交换机;若其他交换机都没有开启STP协议,就会一直重复以上过程;这样就形成了环路

  5j5IOA.png

PC1向PC2发送数据,数据从HUB1的2口发出,并在1口进行泛洪;HUB2的1口在收到数据后,同时在2口进行泛洪,数据又反回到HUB1;而在HUB1的2口收到数据后,又会向1口泛洪,一直重复转发,直到超过死亡时间,造成整个链路拥堵。
链路存在环路是非常严重的问题,会无限制地浪费带宽以及占用资源

  • STP协议通过堵塞端口来达到消除环路。

       5vFPfS.png

未开启STP协议时,在转发数据时数据会在链路中进行无休止的转发,堵塞的链路,造成了网络故障。
开启STP后,交换机会根据STP的工作原理,将某些端口进行堵塞,并在网络拓扑发生改变的时候进行开放,达到链路的保护。

STP的工作原理

STP生成树协议,顾名思义是要生成一棵树;每颗树都有一个根,所以STP协议就是从选根开始的。STP会根据选举规则选中一台交换机作为根桥,并且依靠这个根桥STP会选举出根端口以及指定端口,最后会把既不是根端口又不是指定端口的端口进行堵塞。

  • 根桥:桥ID最小的交换机;桥ID就是代表这一个交换机,每一个交换机都有者不同的桥ID。 默认桥ID的优先级是32768(可以手动修改),MAC地址越小的就是根桥;除根桥外,其他的交换机都叫做非根桥。
        5jOmod.png
  • 根端口:根端口就是一台非根桥到根桥开销最小的路径所经过的本地端口;这个最小开销也叫做根路径开销,并且根端口不会出现在根桥上,只会在非根桥上;根端口作为非根桥与根桥之间交换报文的端口,在一台非根桥上是唯一的。

        5vFdfO.png

  • 指定端口:指定端口是STP专门指定的每个网段发往根桥方向的端口,以及转发根桥数据的端口。

       5vFj9U.png

  • 预备端口:未被选上根端口或指定端口的剩余端口就是预备端口;预备端口不转发数据,但可以接收数据,以便在网络拓扑发生改变时,能够回复预备端口,重新通信。

STP的工作流程

STP协议的工作流程就是选举根桥、根端口、指定端口以及堵塞预备端口,而选举这些端口以及堵塞端口都是按照选举规则进行;不同的端口都有着不同的选举规则。并且各种端口的选举是有顺序存在的,只有根桥选举出后,才能继续选举根端口与指定端口,在整个选举结束后,才会进行预备端口的堵塞。

  • 根桥选举:在所有交换机刚开启STP协议时,每台交换机都会以自己是根桥发送BPDU报文到其他交换机,在BPDU报文中,包含了各自的BID信息(桥ID),在收到其他交换机发送的BPDU报文后,会比较各自的BID,拥有较小的BID就选举为根桥。
  • 根端口选举:在选定了根桥后,其他交换机都是非根桥,而一台非根桥到根桥的路径肯定不止一条,需要找到最优的一条路径,负责转发根桥与非根桥之间的数据,而这条路径所经过的本地端口就是根端口;在选举过程中,首先比较路径开销,开销小的端口就是根端口;若多个端口路径开销相同,则比较上行桥ID,上行桥ID小的端口为根端口;若上行桥ID相同则比较上行桥端口ID,上行桥端口ID小的端口为根端口。
  • 指定端口选举:在交换机之间,相同的网段而去往根桥的路径也存在多条,指定端口的选举就是确定负责转发网段数据的端口;其选举规则与选举根端口时大致相同。
  • 阻塞预备端口:完成了根端口与指定端口的选举后,剩下未被选上的端口就是预备端口,STP会将预备端口进行逻辑堵塞,堵塞表示不可以发送但可以接收BPDU,以保证网络拓扑发生变化或故障时,能够继续工作。

STP规定了5种端口状态:

当端口启用STP协议后,端口会经过一系列状态计算选举出根端口、指定端口、预备端口;在选举的整个过程中端口先进入Listenning状态后,经过一个时间周期后,会进入learning状态;继续等待一个时间周期后,会进入Forwarding状态,也就是STP的端口稳定状态。

  • Disabled:关闭状态,端口没有启用STP协议,不学习MAC地址表,不转发数据帧,不会参与生成树协议。
  • Blocking:阻塞状态,端口不学习MAC地址表,不转发数据帧,不发送BPDU,只对BPDU的接收。
  • Listening:倾听状态,端口不转发数据帧,不学习MAC地址表,但参与生成树运算,接收并发送BPDU。
  • Learning:学习状态,端口不转发数据帧,学习MAC地址表,参与生成树运算,接收并转发BPDU。
  • Forwarding:转发状态,端口正常转发数据帧,学习MAC地址表,参与生成树协议,接收并发送BPDU。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值