RSTP
一、STP协议的缺点,存在的问题
-
STP 协议工作时间收敛慢,响应时间长---------->RSTP
-
原始的802.1d(stp)不支持多个vlan---->(PVST===>把一个单独的 vlan 添加为一个实例)--->MSTP
二、RSTP rapid
-
为了解决STP收敛慢的问题
-
STP的问题 RP:root port 根端口 DP: 指定端口 BP:阻塞端口
-
问题1:慢:设备从初始化,到收敛完成,最少要经历30s的时间,最长50s
为了防止临时环路的出现,采用被动等待的计时器
STP的计算,必须要等待固定的时长
-
问题2:交换机BP端口切换RP端口的等待延时
SWC与SWA的直连链路down掉,SWC默认自己为根桥(根桥不存在BP端口)将其BP端口从阻塞
状态激活成->监听(15s)->学习(15s)切换成RP端口并进入转发状态至少需要经过30s
-
问题3:交换机没有BP端口,RP端口down掉,DP端口至少需要等待50sオ能切換
BPDU老化机制:SWC的BP端口接受SWA->SWB->SWC的BPDU,超过20s未收到,则老化。 -
问题4:交换机连接终端的接口,切换时间过长30s-50s
-
问题5:拓扑变更机制,复杂且效率低下
-
其他不足之处:端口角色
-
-
RSTP 对STP技术的改进:端口角色、状态
-
新增了两种角色:都是用来做备份的,本质上也是被阻塞的(非block状态)
- 去掉了 阻塞端口
- backup 端口 :指定端口的备份-- 作为指定端口的备份,提供了另外一条从根节点到叶子节点的无环备份路径
- alternate端口 :根端口的备份--提供了从指定桥到根桥的另一条无环可达路径,作为根端口的代替端口
- 端口切换不需要尽力等待转发延时,相当于STP的uplink-fast
- 去掉了 阻塞端口
-
状态由5种缩减为三种
- discarding :不转发用户流量,不学习MAC地址---》 disable blocking listening
- learning :不转发用户流量,学习MAC地址
- forwarding :转发用户流量,学习MAC地址
-
-
RSTP的其他操作
- 快速收敛机制
- P/A(proposal/agreement sync机制 ) 一般都是秒级让一个指定端口,尽快进入转发状态,同时避免环路的发送
- 三种报文格式:P A SYNC
-
端口的快速切换机制
- AP--- ---针对与问题3
- backup --- 针对于问题2
-
特点:由于有来回确认机制和同步变量机制,就无需依靠计时器来保障无环。
- 快速收敛机制
-
次等BPDU的处理机制
- 当一个接口接收到一个次等BPDU之后,马上把自身储存的(最优)BPDU返回给源端口,然后启动P/A机制
- 可以实现接口的秒级切换
-
边缘端口的引入
- 相当于Port-fast,可以让edge-port 不参加RSTP的任何活动,激活后之后就变成了转发状态
- 如果边缘端口接口到了BPDU,就丧失了边缘端口的属性(相当于STP的BPDU-filter)
-
拓扑变更机制的优化:
-
STP:逐级通报的过程
-
RSTP:扁平化管理,RSTP的所有的交换机 都可以发送BPDU(TC)
-
如果出现了拓扑变更,RSTP会第一时间通知上下级交换机,清空CAM表
解析:一旦检测到拓扑发生变化,将进行如下处理:
为本交换设备的所有非边缘指定端口启动一个TC While Timer,该计时器值是Hello Time的两倍。在这个时间内,清空状态发生变化的端口上学习到的MAC地址。同时,由这些端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。
其他交换设备接收到RST BPDU后,清空所有端口学习到MAC地址,除了收到RST BPDU的端口。然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,重复上述过程。 如此,网络中就会产生RST BPDU的泛洪。
-
-
RSTP和STP之间的兼容性 ===》RSTP能够向下兼容
- RSTP协议与STP协议完全兼容
-
SW1支持RSTP,发送的报文是STP报文 SW2仅支持STP 发送的报文是STP报文 ===》STP
-
SW1支持RSTP,发送的报文是STP报文 SW3支持RSTP,发送的报文是STP报文 ===》STP
-
SW1支持RSTP,发送的报文是RSTP报文 SW#支持RSTP,发送的报文是RSTP报文 ===》RSTP
-
RSTP特性
-
BPDU保护
配置边缘端口的目的
希望这些端口 以后组网的时候,连接的都是终端设备
即使边缘端口连接了交换机,也需要先把这个交换机进行BPDU参数的调试(BID,端口cost值),当交换机接入网络,即使存在STP的计算,不会再次造成网络的震荡
如果边缘端口 硬性规定为 不允许连接交换机,在这些端口上来配置BPDU-protection。 -
根桥防护
场景1.客户网络和 运营商网络 进行二层对接 ===》 根桥防护主要配置在运营商网络上
场景2.由于维护人员的错误配置或网络中的恶意攻击,网络中合法根桥有可能会收到优先级更高的RST BPDU实现原理:一旦启用Root保护功能的指定端口收到优先级更高的RST BPDU时,端口状态将进入Discarding状态,不再转发报文。在经过一段时间,如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。
Root保护功能只能在指定端口上配置生效。 -
TC-BPDU泛洪保护
场景:黑客在边缘端口接入一台计算机不断伪造和发送TC-BPDU (对于边缘端口来说,不希望收到BPDU报文)
解决方法1:强制规定该端口为边缘端口,禁止这个端口接收BPDU---》BPDU-protection
解决方法2:(如果允许边缘端口接收BPDU),黑客想这个端口发送TC-bpdu,在单位时间内,交换设备处理TC-BPDU报文的次数可配置,设备只会处理阈值指定的次数
如果TC-BPDU 超过了阈值设置,交换机将不在对这些TC-BPDU进行处理。
-
三、RSTP配置实现
-
RSTP配置需求
如图所示,SWA、SWB和SWC组成了一个环形的交换网络,为了消除环路对网络的影响,故使交换机都运行RSTP,最终将环形网络结构修剪成无环路的树形网络结构。 -
RSTP配置实现
SWA stp enable 开启STP stp mode rstp 将模式切换RSTP stp root primary 将SWA设为根桥 SWB stp enable 开启STP stp mode rstp 将模式切换RSTP stp bpdu-protection 开启BPDU保护 interface GigabitEthernet 0/0/4 stp edged-port enable 将当前端口配置成边缘端口 SWC stp enable 开启STP stp mode rstp 将模式切换RSTP stp bpdu-protection 开启BPDU保护 interface GigabitEthernet 0/0/4 stp edged-port enable 将当前端口配置成边缘端口
-
RSTP配置验证
在SWA上查看生成树信息: