生成树协议

2.8 生成树协议

2.8.1 生成树协议基础

不仅广域网链路、ISP和路由网络应当具有冗余性,而且桥接路径也应当具有冗余性。 在由交换机构成的交换网络中在设计时应该有冗余链路和设备。这种设计的目的能防止一个交换机的故障而导致相关网络功能的丢失,但也导致了交换回路的产生,它会带来如下问题: (1)广播风暴

(2)同一帧的多份拷贝 (3)不稳定的MAC地址表

因此,在交换网络中必须有一个机制来阻止回路,而生成树协议(Spanning Tree Protocol)的作用正在于此,一旦桥接器/交换机检测到故障,生成树协议就能立即重新配置,启用备份链路,保证网络的连通。

生成树协议(STP协议)的国际标准是IEEE802.1d。

运行生成树算法的网桥/交换机在规定的间隔内通过网桥协议数据单元(BPDU)的组播帧与其他交换机交换配置信息。

在STP协议中定义了根桥(Root Bridge)、根端口(Root Port)、指定端口(Designated Port)、路径开销(Path Cost)等概念。目的就在于通过构造一棵自然树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化。用于构造这棵树的算法称为生成树算法SPA(Spanning Tree Algorithm)。

(1)通过比较网桥/交换机优先级选取根网桥/交换机(同一广播域内只有一个根网桥/交换机);所有在根桥的端口处于转发状态,称为转发端口。

(2)其余的非根网桥/交换机只有一个通向根网桥/交换机的端口,称为根端口,处于转发状态。

(3)连接到同一个段的几个端口通过CBPDU(Configuration Bridge Protocol Data Unit配置网桥协议数据单元)声明到根桥的距离,具有最小值的桥叫做指定桥designated bridge。Designated bridge上的端口处于转发状态。每个网段只有一个转发端口。

2.8.2 生成树协议的工作过程

图2-8-1是生成树工作过程示意图。

图2-8-1 生成树工作过程示意图

1.进行根桥的选举

选举的依据是网桥优先级和网桥MAC地址组合成的桥ID(Bridge ID),桥ID最小的网桥将成为网络中的根桥。在图2-8-1所示的网络中,各网桥都以默认配置启动,在网桥优先级都一样(默认优先级是32768)的情况下,MAC地址最小的网桥成为根桥,例如图2-8-1中的SW1,它的所有端口的角色都成为指定端口,进入“转发”状态。

2.其他网桥将各自选择一条 “最粗壮”的树枝作为到根桥的路径,相应端口的角色就成为根端口。

假设图2-8-1中SW1和SW2、SW2和SW3之间的链路是千兆GE链路,SW1和SW3之间的链路是百兆FE链路,SW3从端口1到根桥的路径开销的默认值是19,而从端口2经过SW2到根桥的路径开销是4+4=8,所以端口2成为根端口,进入“转发”状态。同理,SW2的端口2成为根端口,端口1成为指定端口,进入“转发”状态。根桥和根端口都确定之后一棵树就生成了,如图中实线箭头所示。

3.下面的任务是裁剪冗余的环路

这个工作是通过阻塞非根桥上相应端口来实现的,例如SW3的端口1的角色成为禁用端口,进入“阻塞”状态(图中用“×”表示)。

4.生成树状态

生成树经过一段时间(默认值是30秒左右)稳定之后,所有端口要么进入“转发”状态,要么进入“阻塞”状态。STP BPDU仍然会定时从各个网桥的指定端口发出,以维护链路的状态。如果网络拓扑发生变化,生成树就会重新计算,端口状态也会随之改变。

2.8.3 生成树的状态

运行生成树协议的交换机上的端口,总是处于下面四个状态中的一个:

阻塞:启动时,所有端口处于阻塞状态以防止回路,由生成树确定哪个端口切换为转发状态,处于阻塞状态的端口不转发数据帧但可接受BPDU(“桥协议数据单元”)。 监听:不转发数据帧,但检测BPDU(临时状态)。 学习:不转发数据帧,但学习MAC地址表(临时状态)。 转发:可以传送和接受数据帧。

通常,端口处于转发或阻塞状态。当检测到网络拓扑结构有变化时,交换机会自动进行状态转换,在这个期间端口暂时处于监听和学习状态。

在交换机的实际应用中,还可能会出现一种特殊的端口状态—禁用(Disable)状态。这是由于端口故障或交换机配置错误而导致数据发生冲突造成的死锁状态。如果不是端口故障,可通过重启交换机来解决这一问题。

2.8.4 生成树的重计算

当网络的拓扑结构发生改变时,生成树协议重新计算,以生成新的生成树结构。在此期间,交换机不转发任何数据帧。当交换机的所有端口状态切换为转发或阻塞状态时,表明重计算完毕。这一状态称为会聚(Convergence)。

以图2-8-1为例,当SW2和SW3之间的链路出现故障时,生成树协议重新开始计算,产生以SW1为根桥,从SW1→SW2,SW1→SW3的一棵树,如图2-8-2所示。

图2-8-2 生成树的重新计算

2.8.5 快速生成树协议(RSTP)

生成树协议(STP)是在IEEE 802.1D标准中定义的。802.1w通过利用快速生成树协议(RSTP)提供快速的重新配置功能,改进了STP。

STP与RSTP之间的主要不同是进行收敛时所用时间。一旦一条链路中断或拓扑结构发生变化,STP需要30到60秒时间检测这些变化和重新配置,这将影响到网络性能。在正确部署的情况下,RSTP在发生链路故障和恢复链路时,可以将重新配置和恢复服务的时间减少到秒级以下,同时保持与STP设备的兼容性。 端口状态只有丢弃、学习或转发三种状态。 在理想的条件下,RSTP应当是网络中使用的缺省生成树协议。由于STP与RSTP之间的兼容性,由STP到RSTP转换是无缝的。但是,RSTP使用了快速状态转换,而快速状态转换常常会增加帧复制率和帧乱序率。因此,为了使RSTP与STP正确配合,用户可以使用RSTP执行协议参数来关闭快速转换功能。

图2-8-3 快速生成树

快速生成树的生成过程见图2-8-3,步骤如下:

1.把交换机A加入到网络中,交换机A和根交换机都处于“丢弃”状态

2.交换机A接收根交换机的桥协议数据单元,并丢弃指定的端口,交换机A授权根交换机,把端口改为转发状态

3.交换机A和根交换机进行转发,交换机A“丢弃”交换机B和交换机C 4.交换机B和交换机C同步转发,交换机C“丢弃”交换机D

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4