生成树RSTP,快速生成树协议,交换网络必用的破环协议,面试必备

一、RSTP

802.1w 标准定义了快速生成树协议 RSTP(Rapid Spanning Tree Protocol),该协议基于

STP 协议,对原有的 STP 协议进行了改进并实现了快速收敛。

STP 协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如

果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,

这是用户无法忍受的。STP 的不足之处如下:

1、STP 没有细致区分端口状态和端口角色,不利于学习及部署。

2、STP 算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。

3、STP 算法要求在稳定的拓扑中,根桥主动发出配置 BPDU 报文,而其他设备进行处

理,传遍整个 STP 网络。

根据 STP 的不足,RSTP 删除了 3 种端口状态,新增加了 2 种端口角色,并且把端口属

性充分的按照状态和角色解耦;此外,RSTP 还增加了相应的一些增强特性和保护措施,实

现网络的稳定和快速收敛。

二、端口角色

RSTP 的端口角色共有 4 种:根端口、指定端口、Alternate 端口和 Backup 端口。根端

口和指定端口的作用同 STP,Alternate 端口和 Backup 端口的如下:

(1)从配置 BPDU 报文发送角度来看:

Alternate 端口就是由于学习到其它网桥发送的配置 BPDU 报文而阻塞的端口。

Backup 端口就是由于学习到自己发送的配置 BPDU 报文而阻塞的端口。

(2)从用户流量角度来看:

Alternate 端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。

Backup 端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。

三、端口状态

RSTP 的状态规范把原来的 5 种状态缩减为 3 种。根据端口是否转发用户流量和学习

MAC 地址来划分。

生成树RSTP,快速生成树协议,交换网络必用的破环协议,面试必备

四、报文类型和格式

在 RSTP 中仅有一种 BPDU 类型即 RST BPDU 也就是 RSTP 中的配置 BPDU

生成树RSTP,快速生成树协议,交换网络必用的破环协议,面试必备

在配置 BPDU 报文的格式上,除了保证和 STP 格式基本一致之外,RSTP 作了一些小变

化:Type 字段,配置 BPDU 类型不再是 0 而是 2,所以运行 STP 的设备收到 RSTP 的配置

BPDU 时会丢弃;Flags 字段,使用了原来保留的中间 6 位,这样改变的配置 BPDU 叫做 RST

BPDU。

生成树RSTP,快速生成树协议,交换网络必用的破环协议,面试必备

五、配置 BPDU 的处理

1、拓扑稳定后,根桥按照 Hello Timer 规定的时间间隔发送配置 BPDU。其他非根桥设备在

收到上游设备发送过来的配置 BPDU 后,才会触发发出配置 BPDU,此方式使得 STP 协议计

算复杂且缓慢。RSTP 对此进行了改进,即在拓扑稳定后,无论非根桥设备是否接收到根桥

传来的配置 BPDU 报文,非根桥设备仍然按照 Hello Timer 规定的时间间隔发送配置 BPDU,

该行为完全由每台设备自主进行。

2、更短的 BPDU 超时计时,如果一个端口连续 3 个 Hello Time 时间内没有收到上游设备发

送过来的配置 BPDU,那么该设备认为与此邻居之间的协商失败。而不像 STP 那样需要先等

待一个 Max Age。

3、处理次等 BPDU。当一个端口收到上游的指定桥发来的 RST BPDU 报文时,该端口会将

自身存储的 RST BPDU 与收到的 RST BPDU 进行比较。如果该端口存储的 RST BPDU 的优先

级高于收到的 RST BPDU,那么该端口会直接丢弃收到的 RST BPDU,立即回应自身存储的

RST BPDU。当上游设备收到下游设备回应的 RST BPDU 后,上游设备会根据收到的 RST BPDU

报文中相应的字段立即更新自己存储的 RST BPDU。由此,RSTP 处理次等 BPDU 报文不再依

赖于任何定时器通过超时解决拓扑收敛,从而加快了拓扑收敛。

六、快速收敛机制

1、P/A 机制

P/A 机制可以使得指定端口快速进入转发状态。事实上对于 STP,指定端口的选择可以

很快完成,主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状

态全部确定,也就是说必须要等待至少一个 Forward Delay 所有端口才能进行转发。而 RSTP

的主要目的就是消除这个瓶颈,通过阻塞自己的非根端口来保证不会出现环路。而使用 P/A

机制加快了上游端口转到 Forwarding 状态的速度。

P/A 机制要求两台交换设备之间链路必须是点对点的全双工模式。一旦 P/A 协商不成

功,指定端口的选择就需要等待两个 Forward Delay,协商过程与 STP 一样。

生成树RSTP,快速生成树协议,交换网络必用的破环协议,面试必备

新链路连接成功后,P/A 机制协商过程如下:

1. p0 和 p1 两个端口马上都先成为指定端口,发送 RST BPDU。

2. S2 的 p1 口收到更优的 RST BPDU,马上意识到自己将成为根端口,而不是指定端

口,停止发送 RST BPDU。

3. S1 的 p0 进入 Discarding 状态,于是发送的 RST BPDU 中把 proposal 置 1。

4. S2 收到根桥发送来的携带 proposal 的 RST BPDU,开始将自己的所有端口进入

sync 变量置位。

5. p2 已经阻塞,状态不变;p4 是边缘端口,不参与运算;所以只需要阻塞非边缘指

定端口 p3。

6. p2 和 p3 都进入 Discarding 状态之后,端口的 synced 变量置位,根端口 p1 的

synced 也置位,于是便向 S1 返回 Agreement 位置位的回应 RST BPDU。该 RST

BPDU 携带和刚才根桥发过来的 BPDU 一样的信息,除了 Agreement 位置位之外

(Proposal 位清零)。

7. 当 S1 判断出这是对刚刚发出的 Proposal 的回应,于是端口 p0 马上进入

Forwarding 状态。下游设备继续执行 P/A 协商过程。

2、边缘端口(EP)

在 RSTP 中新增边缘端口特性,用于连接终端,可以在 UP 之后直接进入 Forwarding 状

态不需要等待转发延时,详情请见项目题中边缘端口。在华为的 STP 优化后也可以配置边缘

端口,但是标准的 STP 没有该特性。

3、根端口快速切换

当自身的根端口失效后,AP 端口可以直接转换为 RP 端口并进入转发状态,无需转发延

时,用于直连链路故障的快速收敛,加快根端口故障的快速切换。


猜你喜欢

转载自blog.51cto.com/14820476/2497199