STP 的基本原理是,通过在交换机之间传递一种特殊的协议报文,网桥协议资料包文(Bridge Protocol Data Unit,简称 BPDU),来确定互联网的拓扑结构。 BPDU 有两种,配置 BPDU(Configuration BPDU)和 TCN BPDU 。前者是用于计算无环的生成树的,后者则是用于在二层互联网拓扑发生变化时产生用来缩短 MAC 表项的重新整理时间的(由预设的 300s 缩短为 15s)。
Spanning Tree Protocol(STP) 在 IEEE802.1D 文件中定义。该协议的原理是按照树的结构来构造互联网拓扑,消除互联网中的环路,避免由于环路的存在而造成广播风暴问题。
Spanning Tree Protocol(STP) 的基本思想就是按照” 树” 的结构构造互联网的拓扑结构,树的根是一个称为根桥的桥装置,根桥的确立是由交换机或网桥的 BID(Bridge ID)确定的,BID 最小的装置成为二层互联网中的根桥。 BID 又是由网桥优先顺序和 MAC 地址构成,不同厂商的装置的网桥优先顺序的位元组个数可能不同。由根桥开始,逐级形成一棵树,根桥定时传送配置 BPDU,非根桥接收配置 BPDU,重新整理最佳 BPDU 并转发。这里的最佳 BPDU 指的是当前根桥所传送的 BPDU 。如果接收到了下级 BPDU(新接入的装置会传送 BPDU,但该装置的 BID 比当前根桥大),接收到该下级 BPDU 的装置将会向新接入的装置传送自己储存的最佳 BPDU,以告知其当前互联网中根桥;如果接收到的 BPDU 更优,将会重新计算生成树拓扑。当非根桥在离上一次接收到最佳 BPDU 最长寿命(Max Age,预设 20s)后还没有接收到最佳 BPDU 的时候,该埠将进入监听状态,该装置将产生 TCN BPDU,并从根埠转发出去,从指定埠接收到 TCN BPDU 的上级装置将传送确认,然后再向上级装置传送 TCN BPDU,此过程持续到根桥为止,然后根桥在其后传送的配置 BPDU 中将携带标记表明拓扑已发生变化,互联网中的所有装置接收到后将 CAM 表项的重新整理时间从 300s 缩短为 15s 。整个收敛的时间为 50s 左右。