生成树协议
生成树协议(英语:Spanning Tree Protocol,STP),是一个作用在OSI网络模型中第二层的通信协议。基本应用是防止交换机冗余链路产生的环路,用于确保以太网中无环路的逻辑拓扑结构,从而避免广播风暴大量占用交换机的资源。
生成树协议工作原理:任意一交换机中如果到达根网桥有两条或者两条以上的链路,生成树协议都根据算法把其中一条切断,仅保留一条,从而保证任意两个交换机之间只有一条单一的活动链路。因为这种生成的拓扑结构,很像是以根交换机为树干的树形结构,故为生成树协议。
生成树协议是基于Radia Perlman在DEC工作时发明的一种算法[1]被纳入了IEEE 802.1d中。2001年IEEE组织推出了快速生成树协议(RSTP)在网络结构发生变化时能比STP更快的收敛网络,还引进了端口角色来完善了收敛机制,被纳入在IEEE 802.1w中。
STP的工作过程如下:首先,依据网桥优先权(桥优先)和MAC地址组合生成的桥ID进行网桥选举,桥ID最小的网桥将成为网络中的根桥(桥根);在此基础上,计算每个节点到根桥的距离,并由这些路径得到各冗余链路的代价,选择最小的成为通信路径(相应的端口状态变为forwarding),其它的就成为备份路径(相应的端口状态变为blocking)。STP生成过程中的通信任务由BPDU完成,这种数据包又分为包含配置信息的配置BPDU(其大小不超过35B)和包含拓扑变化信息的通知BPDU(其长度不超过4B)。
端口状态 | 端口能力 |
---|---|
Disabled | 不收发任何报文。 |
Blocking | 不接收或者转发数据,接收但不发送BPDU,不进行地址学习。 |
Listening | 不接收或者转发数据,接收并发送BPDU,不进行地址学习。 |
Learning | 不接收或者转发数据,接收并发送BPDU,开始进行地址学习。 |
Forwarding | 接收或者转发数据,接收并发送BPDU,进行地址学习。 |
相关条目
- 中间系统到中间系统(Intermediate system to intermediate system,IS-IS)
- IEEE 802.1aq - 最短路径桥接(SPB)
参考文献
- ^ Perlman, Radia (1985). "An Algorithm for Distributed Computation of a Spanning Tree in an Extended LAN". ACM SIGCOMM Computer Communication Review 15 (4): 44–53.