生成树协议(STP, Spanning Tree Protocol),又称扩展树协定,是一基于OSI网路模型的数据链路层(第二层)通讯协定,用作确保一个无回圈的区域网络环境。通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。
生成树协议的国际标准是IEEE802.1d.运行生成树算法的网桥/交换机在规定的间隔内通过网桥协议数据单元(BPDU)的组播帧与其他交换机交换配置信息,其工作的过程如下:
1. 通过比较网桥/交换机优先级选取根网桥/交换机(给定广播域内只有一个根网桥/交换机);
2. 其余的非根网桥/交换机只有一个通向根网桥/交换机的端口,称为根端口;
3. 每个网段只有一个转发端口;
4. 根网桥/交换机所有的连接端口均为转发端口。
网桥使用珀尔曼博士发明的这种方法能够达到2层路由的理想境界:冗余和无环路运行。你可以把生成树协议设想为一个各网桥设备记在心里的用于进行优化和容错发送数据的过程的树型结构。 生成树协议(Spanning Tree)定义在 IEEE 802.1D 中,是一种链路管理协议,它为网络提供路径冗余同时防止产生环路。为使以太网更好地工作,两个工作站之间只能有一条活动路径。网络环路的发生有多种原因,最常见的一种是有意生成的冗余 - 万一一个链路或交换机失败,会有另一个链路或交换机替代。
1、利用生成树算法、在以太网络中,创建一个以某台交换机的某个端口为根的生成树,避免环路。
2、以太网络拓扑发生变化时,通过生成树协议达到收敛保护的目的。
在由交换机构成的交换网络中通常设计有冗余链路和设备。这种设计的目的是防止一个点的失败导致整个网络功能的丢失。虽然冗余设计可能消除的单点失败问题,但也导致了交换回路的产生,它会带来如下问题:
1.广播风暴
2.同一帧的多份拷贝
3.不稳定的MAC地址表
因此,在交换网络中必须有一个机制来阻止回路,而生成树协议(Spanning Tree Protocol)的作用正是在于此。
生成树协议的算法过程可以归纳为三个步骤:选择根网桥、选择根端口、选择指定端口。
(1)选择根网桥:再全网中选择一个根网桥
比较网桥的BID值,值越小其优先级越高。ID值是由两部分组成的:交换机的优先级和MAC地址组成的,如果交换机的优先级相同则比较其MAC地址,地址值越小,其就被选举为根网桥。
(2)选择根端口:在每个非根交换机上选择根端口
首先,比较根路径成本,根路径成本取决于链路的带宽,带宽越大,路径成本越低,则选该端口为根端口。
其次,如果根路径成本相同,则要比较所在对端交换机BID值,值越小,则其优先级越高
,比较端口的ID值,该值分为两部分:端口优先级和端口编号,值小的被选为根端口
(3)选择指定端口:在每条链路上选择一个指定端口,根网桥上所有端口都是指定端口
首先,比较根路径成本,
其次,比较端口所在网桥的ID值
,比较端口的ID 值
更多精彩内容,请登入维库电子通https://wiki.dzsc.com