电子百科
生成树协议的国际标准是IEEE802.1d.运行生成树算法的网桥/交换机在规定的间隔内通过网桥协议数据单元(BPDU)的组播帧与其他交换机交换配置信息,其工作的过程如下:
1. 通过比较网桥/交换机优先级选取根网桥/交换机(给定广播域内只有一个根网桥/交换机);
2. 其余的非根网桥/交换机只有一个通向根网桥/交换机的端口,称为根端口;
3. 每个网段只有一个转发端口;
4. 根网桥/交换机所有的连接端口均为转发端口。
在由交换机构成的交换网络中通常设计有冗余链路和设备。这种设计的目的是防止一个点的失败导致整个网络功能的丢失。虽然冗余设计可能消除的单点失败问题,但也导致了交换回路的产生,它会带来如下问题:
1.广播风暴
2.同一帧的多份拷贝
3.不稳定的MAC地址表
因此,在交换网络中必须有一个机制来阻止回路,而生成树协议(Spanning Tree Protocol)的作用正是在于此。
生成树协议的算法过程可以归纳为三个步骤:选择根网桥、选择根端口、选择指定端口。
(1)选择根网桥:再全网中选择一个根网桥
比较网桥的BID值,值越小其优先级越高。ID值是由两部分组成的:交换机的优先级和MAC地址组成的,如果交换机的优先级相同则比较其MAC地址,地址值越小,其就被选举为根网桥。
(2)选择根端口:在每个非根交换机上选择根端口
首先,比较根路径成本,根路径成本取决于链路的带宽,带宽越大,路径成本越低,则选该端口为根端口。
其次,如果根路径成本相同,则要比较所在对端交换机BID值,值越小,则其优先级越高
最后,比较端口的ID值,该值分为两部分:端口优先级和端口编号,值小的被选为根端口
(3)选择指定端口:在每条链路上选择一个指定端口,根网桥上所有端口都是指定端口
首先,比较根路径成本,
其次,比较端口所在网桥的ID值
最后,比较端口的ID 值