一、RSTP产生的原因
快速生成树协议(RSTP)是STP 的升级版本,与STP 相比,最显著的特点就是通过新的机制,加快了收敛速度。
STP 运行于交换机上,通过在交换网络中修剪出一棵无环的树,解决了交换网络中的环路问题。但是STP 在网络拓扑变化之后的收敛速度非常慢,已经无法适应现行网络的要求。因此,为了尽量加快STP 的收敛时间,IEEE 另外定义了802.1w 规范来描RSTP,用于实现STP 的快速收敛。
二、RSTP基本计算过程以及端口状态迁移
1、基本计算过程
RSTP 的计算过程和STP 的基本计算过程一样,同样是选举根交换机、选举根端口和选举指定端口,按照这样的流程进行无环路二层拓扑的构建。(具体可见上一篇STP文文)
对于既不是根端口,也不是指定端口的交换机端口:
如果该端口所连接的网段的指定交换机为此端口所属的交换机,则端口状态设置为备份端口(Backup Port);
如果该端口所连接的网段的指定交换机不是此端口所属的交换机,则端口状态设置为预备端口(Alternate Port)。
预备端口主要是为了备份根端口,而备份端口主要是为了备份指定端口。
无论是备份端口还是预备端口,都不处于转发状态。
2、端口状态迁移
与STP不同,RSTP只定义了三种端口状态:Discarding(丢弃)状态,Learning(学习)状态,Forwarding(转发)状态。
预备端口(Alternate Port)和备份端口(Backup Port)处于Discarding状态;
指定端口(Designated Port)和根端口(Root Port)稳定情况下处于Forwarding状态;
Learning状态是某些指定端口和根端口在进入转发状态之前的一种临时状态。
端口状态 | 描述 |
Discarding 丢弃状态 | 此状态下端口对接收到的数据做丢弃处理,端口不转发数据帧,不学习MAC地址表。 Alternate Port和Backup Port |
Learning 学习状态 | 此状态下端口不转发数据帧,但是学习MAC地址表,参与计算生成树,接收并发送BPDU。 |
Forwarding 转发状态 | 此状态下端口正常转发数据帧,学习MAC地址表,参与计算生成树,接收并发送BPDU。 |
一个非根交换机选举出一个新的根端口之后,如果以前的根端口已经不处于Forwarding状态,则新的根端口立即进入转发状态。
边缘端口(Edge Port)是指不连接任何交换机的端口。当把一个交换机端口配置成为边缘端口之后,一旦端口被启用,则端口立即成为指定端口(Designated Port),并进入转发状态。
三、RSTP理解实验
1、网络拓补图
2、理解与配置情况
将交换机默认的MSTP协议改为RSTP,SW2、SW3、SW4以此类推
查看根交换机以及各个端口的角色与状态,可见SW1为根交换机
以下为各台交换机端口的角色以及状态
测试收敛性,若将SW2的ROOT端口断开,会将SW2的其他端口选出一个新的根端口,且观察收敛的速度,可知收敛速度是很快的。
重新打开后
以下配置边缘端口(SW4的E0/0/3)
先观察关闭前后端口的状态:需要30s的等待时间
若配置为边缘端口,不需要30s的等待时间
以下为备份端口的观察,先加入一台HUB设备,备份端口主要是为了备份指定端口。
关闭E0/0/2端口,再查看E0/0/5端口角色与状态