12-RSTP
一、RSTP
RSTP(rapid spanning Tree Protocol ),即快速生成树协议,最早在IEEE 802.1W-2001中提出,这种协议在网络结构发生变化时,能更快的收敛网络。它比802.1d多了一种端口类型:备份端口(backup port)类型,用来做指定端口的备份
RSTP完全向下兼容STP协议,除了和传统的STP协议一样具有避免回路、动态管理冗余链路的功能外,RSTP极大的缩短了拓扑收敛时间,在理想的网络拓扑规模下,所有交换设备均支持RSTP协议且配置得当时,拓扑发生变化(链路UP/DOWN)后恢复稳定的时间可以控制在秒级,而传统的拓扑稳定且能正常工作所需时间为50秒。RSTP的主要功能可以归纳如下
![](https://img2020.cnblogs.com/blog/1120125/202004/1120125-20200412143149229-394440538.png)
边缘端口的特点:
- 边缘端口会节省30S的延时,端口UP后会立即进入转发状态。
- 边缘端口的UP/DOWN不会触发拓扑改变。
- 边缘端口收的TC置为的配置BPDU报文不会将MAC地址的老化时间设置为15s。
- 边缘端口如果收到配置的BPDU报文会马上变为一个普通端‘’口,进行STP的收敛
- 边缘端口也会发送配置BPDU报文。
- PA协商不会阻塞边缘端口
1、RSTP BPDU
在RSTP中什么情况下才会发送TC BPDU包?
指定端口进入到转发状态
2、RSTP收敛过程
每一台交换机启动RSTP后,都认为自己是“根桥”,并且发送RST BPDU。所有端口都为指定端口,处于Discarding状态
交换机互相发送Proposal置位的RST BPDU。SWA收到SWB的RST BPDU,会忽略(当发来的bpdu不优于自己的,该bpdu会被忽略)
SWB收到了更优的RST BPDU,于是停止发送RST BPDU(proposal),并开始执行同步,阻塞所有非边源端口之后(防止环路)
SWB将会发送一个Agreement置位的RSTP BPDU,SWA收到Agreement置位的RSTP BPDU,根交换机指定端口从阻塞状态变为Forwarding
P/A进程向下游继续传递,SWB 和SWC会继续进行收敛。SWB会发送bpdu给SWC
但是SWC不会回复agreement(若回复则链路瞬间拉通,造成环路)
且SWC发送的bpdu不优于SWB,SWB会将其丢弃,这样就使得SWB处于一个慢收敛的状态,直到计时器到期
SWB的端口变为dp,c端口被discardding,且一致保持接收SWB的bpdu的状态
3、 P/A机制
RSTP通过对STP协议的改进,实现了快速收敛。
链路为点对点,RSTP按照P/A快速收敛进入转发状态:
1. 上游设备发送Proposal报文,启动等待定时器。
2. 下游设备堵塞全部其它端口,回应上游Agreement报文。
3. 上游设备收到Agreement报文,端口进入转发状态。
通过一层一层的往下游请求,下游同意快速收敛,上游进入转发,实现整个RSTP网络快速收敛
4、RSTP拓扑变化处理
当交换机发生故障后,直接会向上游发送TC,加快收敛,其他交换机收到RSTP BPDU之后,会清空所有其他端口学来的MAC地址,除了收到RSTP BPDU端口和边缘端口
二、RSTP保护功能
stp root-protection
//需要在所有的指定端口开启根保护,如果开启后的端口收到比根桥更优的BPDU报文,端口状态会变为Discarding状态。 如果连续MAX age的时间内从该端口都没有收到更优的BPDU报文,端口会自动恢复为Forwarding状态。。 防止根被抢占。
stp loop-protection
//用于RP和AP端口。接收BPDU报文的端口。防止单向链路故障造成的环路。
TC-protection
//设置TC报文的响应次数。如果接收TC的数量大于阀值范围内得TC次数,超出部分只执行1次。
BPDU-protection
//配置BPDU保护
三、RSTP配置
1、配置边缘端口
stp edged-port enable //在接口视图下配置,边缘端口可以由Disabled直接转换到Forwarding
stp edged-port default // 全局配置
2、根保护
stp root-protection //接口视图配置在指定端口下配置根保护,根保护功能确保了根桥的指定端口部会因为一些网络问题而改变端口角色
3、BPDU保护
stp bpdu-protection //配置BPDU保护功能后,如果边缘端口收到BPDU报文,边缘端口将会被立即关闭,并通知网管系统,被关闭的边缘端口只能通过管理员手动恢复
4、环路保护
stp loop-protection //根端口如果长时间收不到来自上游的BPDU,则进入Discarding状态,避免在网络中形成环路