RSTP(rapid spanning Tree Protocol ),即快速生成树协议,最早在IEEE 802.1W-2001中提出,这种协议在网络结构发生变化时,能更快的收敛网络。它比802.1d多了一种端口类型:备份端口(backup port)类型,用来做指定端口的备份。 STP(Spanning Tree Protocol )是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。
简介
快速生成树协议(Rapid Spanning Tree Protocol ,RSTP) 用于在局域网中消除数据链路层物理环路,其核心是快速生成树算法。RSTP由IEEE 802.1D-1998标准定义的STP(Spanning Tree Protocol,生成树协议)改进而来,最早在IEEE 802.1W-2001中提出,并且在IEEE 802.1D-2004标准中替代了原来的STP协议。RSTP完全向下兼容STP协议,除了和传统的STP协议一样具有避免回路、动态管理冗余链路的功能外,RSTP极大的缩短了拓扑收敛时间,在理想的网络拓扑规模下,所有交换设备均支持RSTP协议且配置得当时,拓扑发生变化(链路UP/DOWN)后恢复稳定的时间可以控制在秒级,而传统的拓扑稳定且能正常工作所需时间为50秒。RSTP的主要功能可以归纳如下:
1、 发现并生成局域网的一个最佳树型拓扑结构;
2、 发现拓扑故障并随之进行恢复,自动更新网络拓扑结构,启用备份链路,同时保持最佳树型结构;
运行RSTP协议的网络交换设备通过对自身网桥信息和接收到的BPDU中来自其他网桥的信息进行比较,利用RSTP算法进行计算,更新系统状态机,选举端口角色并阻塞某些端口,将环形网络裁剪成树形网络,防止环形网络中的报文增生和无限循环产生的广播风暴,避免因此带来的报文处理能力下降问题的发生 [1] 。
原理
STP协议由IEEE802.1D定义,RSTP由IEEE802.1W定义。STP的基本原理是,通过交换机之间传递一种特殊的协议报文(在IEEE 802.1D中这种协议报文被称为“配置消息”)来确定网络的拓扑结构。配置消息中包含了足够的信息来保证交换机完成生成树计算。
RSTP是从STP发展过来的,其实现基本思想一致,但它更进一步的处理了网络临时失去连通性的问题。Rstp规定在某些情况下,处于Blocking状态的端口不必经历2倍的Forward Delay时延而可以直接进入转发状态。如网络边缘端口(即直接与终端相连的端口),可以直接进入转发状态,不需要任何时延。或者是网桥旧的根端口已经进入Blocking状态,并且新的根端口所连接的对端网桥的指定端口仍处于Forwarding状态,那么新的根端口可以立即进入Forwarding状态。即使是非边缘的指定端口,也可以通过与相连的网桥进行一次握手,等待对端网桥的赞同报文而快速进入Forwarding状态。当然,这有可能导致进一步的握手,但握手次数会受到网络直径的限制。
生成树协议最主要的应用是为了避免局域网中的网络环回,解决成环以太网网络的“广播风暴”问题,从某种意义上说是一种网络保护技术,可以消除由于失误或者意外带来的循环连接。STP也提供了为网络提供备份连接的可能,可与SDH保护配合构成以太环网的双重保护。新型以太单板支持符合ITU-T 802.1d标准的生成树协议STP及802.1w规定的快速生成树协议RSTP,收敛速度可达到1s。
端口状态
802.1w
STP定义了5种不同的端口状态,关闭(disable),监听(Listening),学习(Learning),阻断(Blocking)和转发(Forwarding),其端口状态表现为在网络拓扑中端口状态混合(阻断或转发)。
在RSTP中只有三种端口状态,Discarding、Learning和Forwarding。802.1D中的禁止端口,监听端口,阻塞端口在802.1W中统一合并为禁止端口。
RSTP根据端口在活动拓扑中的作用,定义了3种端口角色(STP有5种角色):禁用端口(Disabled Port)、根端口(Root Port)、指定端口(Designated Port)、为支持RSTP的快速特性规定的替代端口(Alternate Port)和备份端口(Backup Port)。
RSTP有五种端口类型。根端口和指定端口这两个角色在RSTP中被保留,阻断端口分成备份和替换端口角色。生成树算法(STA)使用BPDU来决定端口的角色,端口。

类型也是通过比较端口中保存的BPDU来确定哪个比其他的更优先。
1)根端口
非根桥收到最优的BPDU配置信息的端口为根端口,即到根桥开销最小的端口 [2] ,这点和STP一样。请注意图1上方的交换机,根桥没有根端口。
按照STP的选择根端口的原则,SW-1和SW-2和根连接的端口为根端口。
RSTP根端口

图1 RSTP根端口
2)指定端口
与STP一样,每个以太网网段段内必须有一个指定端口。假设SW-1的BID比SW-2 优先,而且SW-1的P1口端口ID比P2优先级高,那么P1为指定端口,如图2所示。

图2 指定端口的选择
3)替换端口
如果一个端口收到另外一个网桥的更好的 BPDU,但不是最好的,那么这个端口成为替换端口,如图3所示。
对于SW-2来说,端口P3收到的BPDU比自己优先,自己为次优先,P3为替换端口。
4)备份端口
如果一个端口收到同一个网桥的更好 BPDU,那么这个端口成为备份端。当两个端口被一个点到点链路的一个环路连在一起时,或者当一个交换机有两个或多个到共享局域网段的连接时,一个备份端口才能存在。
如图4所示,SW-1的P1和P2口同时接入到以太网的同一网段,P1为指定端口,P2 优先级低,则P2端口为备份端口。

图3 替换端口的选择

图4 备份端口的选择
5)禁用端口
在快速生成树协议应用的网络运行中不担当任何角色。