st模式是什么从st数据报文转发的角度出发收ap的架构进一步划分为两种集中转发模式和什么模 stp tc报文

新闻资讯2026-04-23 15:32:20


在第一篇STP文章中,咱们只是就STP的建立做了一些了解:怎么选举根桥,怎么选举根端口,怎么选举指定端口以及阻塞那些端口。站在我们的视角来看每个交换机以及它的端口处于各自的角色,但站在交换机的视角来看问题,是不是会不一样呢?咱们今天就来聊聊STP协议下的交换机的五种状态,以及当网络中拓扑发生变化时(设备变动或链路变动等等),交换机又如何应对这些计划之外的意外?


表1 五种STP状态

这次站在交换机角度,来想想交换机每个接口在各个状态都要做些什么:

  1. 禁用状态:“休眠阶段”,接口关闭,不管谁发的数据我都不接受。
  2. 阻塞状态:“潜水阶段”,不说话,但一直监听着,听完左耳朵进右耳朵出。
  3. 侦听状态:“群内选举管理员阶段”,通常这个时候各个交换机都在炫耀自己的“光辉事迹”,除了选举之外的事一点都不讨论。
  4. 学习状态:“相互认识阶段”,当管理员选完了,都得认识各位其他交换机了,等熟悉了各个交换机的路径开销,就能开始考虑干活了。
  5. 转发状态:“群聊开始”,现在知道群里各个交换机的路径信息了,就能愉快的传输数据了。当然,群主(根桥)会定时在群里喊话(BPDU),然后每个交换机就会从根端口接收,指定端口发送,一直传下去。

下面这张就是每个状态之间的切换流程图:

st模式是什么从st数据报文转发的角度出发收ap的架构进一步划分为两种集中转发模式和什么模 stp tc报文_https://www.jmylbn.com_新闻资讯_第1张

图1 五种STP状态切换

还记得上一篇咱们提到过3个与时间相关的字段吗?重新放到下面帮各位回忆一下:

表2 三个时间相关报文字段

Forward Delay字段也了从学习状态到转发状态的延迟时间,也就是说,运气差到无底线的情况下,Hello包刚发完,链路就出问题,那最后要多久才能稳定?(网络从变化到稳定我们叫做 网络收敛 ,反之我们叫 网络震荡

总时间 = Hello报文间隔(0~2秒) + 最大寿命(20秒) + 转发延迟间隔(15秒,侦听状态到学习状态) + 转发延迟间隔(15秒,学习状态到转发状态) = 50~52秒!!!

想想这50秒~52秒的收敛时间,是不是也太长了点?那有没有办法稍微快点?比如这个“最大寿命(Max Age)的20秒”,就不能“干掉”得快一点吗?咱们接下来就聊聊STP中怎么才能让收敛快那么一点。

还是先来一张拓扑:

st模式是什么从st数据报文转发的角度出发收ap的架构进一步划分为两种集中转发模式和什么模 stp tc报文_https://www.jmylbn.com_新闻资讯_第2张

图2 STP拓扑

然后咱们先介绍三种报文,TC报文,TCA报文与TCN报文:

  • TC(Topology Change,拓扑变化)报文:其实就是配置BPDU的Flags位中的Topology Change字段置为1而已。
  • TCA(Topology Change Acknowledgement,拓扑变化确认)报文:Flags位中的Topology Change Acknowledgement置为1。
  • TCN(Topology Change Notification)报文:包含协议标识、版本号和类型字段,只用于通知“拓扑变化”这个动作。

回忆一下哈,忘记的话也可以看看上一篇文章中的报文格式:

表3 Flags字段

假如咱们把右侧的线路直接断掉会怎么样呢?就能看到下面这样的报文交换的过程(起手抓个包):

st模式是什么从st数据报文转发的角度出发收ap的架构进一步划分为两种集中转发模式和什么模 stp tc报文_https://www.jmylbn.com_新闻资讯_第3张

图3 拓扑变化后的STP报文通信流程

截一个TC报文出来(TCA就是把上面的Topology Change Acknowledgement置为1):

st模式是什么从st数据报文转发的角度出发收ap的架构进一步划分为两种集中转发模式和什么模 stp tc报文_https://www.jmylbn.com_新闻资讯_第4张

图4 捕获TC报文

相对而言,TCN报文就简洁多了,毕竟只是通知一下对端拓扑变化了而已,也截一个TCN出来看看:

st模式是什么从st数据报文转发的角度出发收ap的架构进一步划分为两种集中转发模式和什么模 stp tc报文_https://www.jmylbn.com_新闻资讯_第5张

图5 捕获TCN报文

那这三种报文有什么作用呢?这TCN将拓扑变化的消息传到根桥那里,然后根桥再下发TC来通知进行选举,然后咱们就成功得省去了最大寿命等待的20秒,是不是感觉稍微好一些了?


虽然说的确是借助TC、TCA、TCN省去了20秒,但依旧还有30秒~32秒的延迟,这也忍不了啊。所以为了改进STP,制定了STP的升级版本:RSTP(Rapid spanning Tree Protocol,快速生成树),这玩意儿能节省多少时间呢?下一篇文章咱们继续。