“三台交换机若组成环,广播副本可以绕圈后从另一个端口回来,于是再次被泛洪。以太桥转发本身不递减帧内IP包的TTL;ARP帧甚至没有IP TTL。以太网FCS检查比特错误,也不记录“这帧已经经过…”
冗余链路能在断线后提供另一条路,也可能让广播帧永久循环。生成树桥接保留物理冗余,却让部分端口暂不转发数据;链路变化后,再重新决定哪些端口参与。
形式陈述
物理图与当前转发图
本页考虑单VLAN、有限连通的点到点桥接图。桥ID唯一,每条链路具有严格正的对称成本,端口ID在桥内唯一。学习交换机只在被允许的端口之间传送普通数据帧;桥控制消息仍能在阻塞数据的端口交换。
目标是在稳定时形成覆盖各桥的生成树。每台桥维护根ID
接收桥在本地端口
按字典序取最小:先选最小根ID,再最小到根成本,最后用桥/端口ID消除平局。根最终是全图最小桥ID,其到根成本为零;每个非根桥保留一个根端口。这里用一般正成本展开教学,Perlman原论文的基本介绍先以跳数计距离。
每条链路的指定端口
稳定且两端认同同一根后,一条点到点链路比较两端发送的
“根端口”是本桥通向根的入口选择,“指定端口”是本链路上较优的根方向声明者,两者是不同角色。根桥没有根端口;在本页连通、正成本模型中,根桥的端口均为指定端口。
直觉
所有桥先同意向哪个根靠近
初始每台桥可以先声称自己是根。较小根ID通过配置消息传播,其他桥改用该根,再比较到它的候选路径。稳定拓扑、可靠的反复消息交换和持续处理事件,使最小根的消息最终传遍连通分量;新出现更短根路径时,本地选择也随之调整。
桥不需要预先知道整张图才能比较一个新候选。不过,“每次保留历史最小消息”只适用于没有失效的单调改善阶段。链路或根消失后,旧消息必须过期或被撤销,才可能提高成本、改选另一个根。
严格下降说明稳定结构为什么没有环
若桥
同时,父桥
这份证明使用共同的稳定根和距离。它没有证明任意消息混合状态下,瞬间开启所有“看起来较好”的端口都安全。
例子与边界
三角形留下哪两条边
桥ID为1、2、3。链路1—2成本4,1—3成本4,2—3成本1。根为桥1。桥2直接到1成本4,经3则为5;桥3同理,所以两者均把连接桥1的端口选为根端口。
链路2—3的两端都报告根1、根成本4;比较桥ID后,桥2胜出,桥2这一端为指定端口,桥3这一端阻塞。虽然桥2一端允许转发,整条2—3仍不能承担普通数据的跨桥转发。
| 桥 | 根成本 | 到1的端口 | 2—3上的端口 |
|---|---|---|---|
| 1 | 0 | 无根端口;到2、3均指定 | 不相连 |
| 2 | 4 | 根端口,转发 | 指定,转发 |
| 3 | 4 | 根端口,转发 | 阻塞 |
活动树取1—2与1—3,总成本8。图的最小生成树却可取2—3与1—2,总成本5;那会让桥3到根1的路径成本变成5。生成树桥接在本模型中选择最短根路径,不负责最小化所有所选边的成本总和。
断线之后,旧结论需要重算
现在1—3断开,其他链路保持可用。故障信息处理并收敛后,桥3经桥2到根,成本为
真实桥协议还必须处理旧配置消息的年龄,以及端口从不转发到转发的等待或协商。经典STP的阻塞、监听、学习、转发阶段和后续快速协议各有规定;本页只计算稳定角色,不给这些过渡阶段设一个通用秒数。若在一条旧边尚未停止转发前就开启替代边,可能临时恢复环;仅凭“最终是树”不能排除这种过程错误。
拓扑变化也可能使FDB里“到某MAC的方向”过时。端口角色更新与学习表的清理/重新学习要配合,才能避免长期按旧出口发送。单看一张已经无环的桥图,仍不足以证明所有已缓存单播马上正确送达。
分区、平局和零成本
物理图分成多个连通分量后,各分量只能各自选根;不存在横跨断开的链路的生成树。桥ID不唯一会破坏这里依赖的唯一平局结果。允许零成本时,严格下降的证明失效,需要另加能排除等距父指针环的条件;本页不把正成本证明原样推广到零成本。
推论与应用
用三张表检查一次改动
检查拓扑时分别写出物理边、端口角色、活动转发边。物理存在不等于数据可过;一端指定也不等于另一端愿意接收普通数据。再核对每个非根桥恰有一条通向更低根成本的根端口,便能定位稳定角色中的环或断开。
共享网段上的多个桥、每VLAN不同树和快速收敛都会增加协议状态。它们仍需回答同样的基础问题:哪条消息比哪条新或更优、哪条旧信息何时失效、何时允许新增转发边。本页的三角形可以作为核对这些扩展时的最小反例,而不是完整IEEE协议实现。
参考资料
- Radia Perlman,An Algorithm for Distributed Computation of a Spanning Tree in an Extended LAN,SIGCOMM 1985,pp.44–53,原论文,pp.46–48,“HELLO Messages”“Electing the Root and Designated Bridges”“State Transitions”:根、指定桥、消息年龄和过渡状态
- Larry L. Peterson、Bruce S. Davie,Computer Networks: A Systems Approach,§3.2.3 Spanning Tree Algorithm:配置消息与端口选择;本文正成本三角形和稳定性证明为教学展开