《RSTP 全网最详解》属于博主的“生成树”专栏中,想要了解更多关于“STP”和“MSTP”的内容请点击主页面跳转到相应“生成树”专栏,博主会持续更新,以打造出”生成树”的全网最详细的知识体系。
一.前言
- 以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路,但是这也带来了网络环路的问题。网络环路会引发广播风暴和MAC地址表震荡等问题,导致用户通信质量差,甚至通信中断。为了解决交换网络中的环路问题,IEEE提出了基于802.1D标准的STP(Spanning Tree Protocol,生成树协议)。
- 随着局域网规模的不断增长,STP拓扑收敛速度慢的问题逐渐凸显,因此,IEEE在2001年发布了802.1W标准,定义了RSTP(Rapid Spanning Tree Protocol,快速生成树协议),RSTP在STP的基础上进行了改进,可实现网络拓扑的快速收敛。
- 在本文中,主要介绍RSTP对于STP的改进之处,RSTP的基本工作原理以及RSTP的相关配置。
二.RSTP对STP的改进
1.改进点1:端口角色
- 通过端口角色的增补,简化了生成树协议的理解与部署。
- RSTP的端口角色共有4种:根端口、指定端口、Alternate端口和Backup端口。
- 根端口和指定端口的作用同STP中定义,Alternate端口和Backup端口的描述如下:
- 从配置BPDU报文发送角度来看:
- Alternate端口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口。
- Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口。
- 从用户流量角度来看:
- Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。
- Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。
- 从配置BPDU报文发送角度来看:
- 给一个RSTP域内所有端口分配角色的过程就是整个拓扑收敛的过程。
2.改进点2:端口状态
- RSTP的状态规范缩减为3种,根据端口是否转发用户流量和学习MAC地址来划分:
- Discarding状态:不转发用户流量也不学习MAC地址;
- Learning状态:不转发用户流量但是学习MAC地址;
- Forwarding状:既转发用户流量又学习MAC地址。
3.改进点3:配置BPDU——RST BPDU
- RSTP的配置BPDU充分利用了STP报文中的Flag字段,明确了端口角色。
- 除了保证和STP格式基本一致之外,RSTP作了如下变化:
- Type字段:配置BPDU类型不再是0而是2,所以运行STP的设备收到RSTP的配置BPDU时会丢弃。
- Flag字段:使用了原来保留的中间6位,这样改变的配置BPDU叫做RST BPDU。
- RST BPDU与STP配置BPDU报文格式不同点,包括:BPDU类型和Flag字段。
- BPDU类型,1 Byte,RST BPDU的类型值为0x02。
- 标志,1 Byte,包括:
- bit 7:TCA,表示拓扑变化确认;
- bit 6:Agreement,表示同意,用于P/A机制;
- bit 5:Forwarding,表示转发状态;
- bit 4:Learning,表示学习状态;
- bit 3和bit 2:表示端口角色,00表示未知端口,01表示替代或备份端口,10表示根端口,11表示指定端口;
- bit 1:Proposal,表示提议,用于P/A机制;
- bit 0:TC,表示拓扑变化。
4.改进点4:配置BPDU的处理
(1)配置BPDU的处理1
(2)配置BPDU的处理2
(3)配置BPDU的处理3
- STP:
- STP只有指定端口会立即处理次优BPDU,其他端口会忽略次优BPDU,等到Max Age计时器超时后,缓存的次优BPDU才会老化,然后发送自身更优的BPDU,进行新一轮的拓扑收敛。
- RSTP:
- RSTP处理次优BPDU报文不再依赖于任何定时器(即不再依赖于BPDU老化)解决拓扑收敛,同时RSTP的任何端口角色都会处理次优BPDU,从而加快了拓扑收敛。
5.改进点5:快速收敛机制
(1)快速收敛机制1
(2)快速收敛机制2
- 边缘端口的UP和Down,不会引起网络拓扑的变动。
(3)快速收敛机制3(P/A机制)
- 事实上对于STP,指定端口的选择可以很快完成,主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状态全部确定,也就是说必须要等待至少一个Forwarod Delay所有端口才能进行转发。
- 而RSTP的主要目的就是消除这个瓶颈,通过阻塞自己的非根端口来保证不会出现环路。而使用P/A机制加快了上游端口进入Forwardinq状态的速度。
a.P/A机制详解1
b.P/A机制详解2
- SW2的下游端口同步过程:替代端口,状态不变;边缘端口,不参与计算;阻塞非边缘指定端口。
c.P/A机制详解3
6.改进点6:拓扑变更机制
- 在STP中,如果拓扑发生了变化,需要先向根桥传递TCN BPDU,再由根桥来通知拓扑变更泛洪TC置位的配置BPDU。
- 在RSTP中,通过新的拓扑变更机制,TC置位的RST BPDU会快速的在网络中泛洪。
- 如上图所示:
- SW3的根端口收不到从根桥发来的RST BPDU后,Alternate端口会快速切换为新的根端口,启动TC While Timer,:并清空状态发生变化的端口学习到的MAC地址。然后向外发出TC置位的RST BPDU。
- SW2接收到RST BPDU后,会清空接收口以外所有端口学习到的MAC地址,同时开启计时器,并向外发送TC置位的RST BPDU。
- 最终,RST BPDU会在全网泛洪。
7.改进点7:保护功能
(1)保护功能1
(2)保护功能2
(3)保护功能3
(4)保护功能4
三.RSTP的工作过程
1.RSTP拓扑的收敛过程1
2.RSTP拓扑的收敛过程2
3.RSTP拓扑的收敛过程3
四.RSTP的基本配置
同“STP”一样,“RSTP”的相关实验博主会更新在“生成树”专栏中,请持续关注博主!