交换网络-RSTP(802.1W快速生成树协议)
STP与RSTP的区别

BPDU格式不同,更精细的补充,结果仍然是使用BPDU计算并阻塞某个端口;
分段式收敛,STP在拓扑变化时,TCN传到root,root向全网下发BPDU;而RSTP只在这条链路两端的设备上完成收敛;
Root port反应速度,STP为10个hello(MAX AGE),而RSTP为3个;
端口角色不同,端口状态(Discarding<包含了禁用,阻塞,侦听>/Learning/Forwarding)
STP优化技术的标准化,自带uplinkfast(当某台设备的rp异常时,阻塞端口直接变为Forwarding状态),backbonefast(uplink的补充);
RSTP有链路类型字段,分为p2p<生成树全双工>,share<生成树半双工>,edge<边界>
RSTP在网络稳定后,所有设备均为周期性发送BPDU,STP仅有根桥会发;
在RSTP中,指定端口或阻塞状态的端口收到低优先级的RST BPDU,也可以立即对其做出回应;
RSTP新端口角色
较STP新增了两个端口概念,替代接口<根端口的备份>和备份接口<指定接口的备份>。但同样都是阻塞起来的,只是为了指定端口出故障时可以快速收敛,如图:

BPDU报文格式

与STP BPDU相比较
Protocol Version Identifier为2
BPDU Type为0x02,表示为RST BPDU
BPDU flags使用全部的8位
在报文的最后增加了Versionl Length字段,值为0,表示本BPDU中不包含Versionl内容;
Flags详解:
- 最高位最低位为STP的TCA及TC;
- Aggreement及Proposal用于RSTP的P/A机制;
- Port Role<接口角色>:2bit,01表示根接口,10表示替代接口,11表示指定接口,00保留;
- Forwarding(转发)和Learning(学习)用于表示该RST BPDU发送接口的接口状态;
P/A快速收敛机制
当网络中增加新的链路或故障链路恢复时,链路两端必有一个端口的角色是指定端口,在STP中,该指定端口需要等待30s才能进入Forwarding状态;
P/A机制是指定端口可以通过与对端网桥进行一次握手,即可快速进入转发状态,无需任何定时器;
前提条件是必须是点到点的链路;
当新链路连接时候,链路两端的端口初始都为指定端口并处于阻塞的状态;
当指定端口处于Discarding和Learning状态时,所发送的BPDU中的Proposal位将被置为1,端口的角色位11,是指定端口;
收到Proposal置位的RST BPDU报文后,交换机会判断接收端口是否为根端口,如果是根端口,会进行同步过程,同步过程是阻塞除边缘端口之外的所有端口,为了消除本交换机产生环路的可能;
完成同步过程后,根端口进入转发状态并从根端口回发Agreement置为1的RST BPDU报文,内容复制收到的Proposal置为的RST BPDU报文,唯一不同的就是Flags字段的Agreement也置为1;
收到Agreement置1的BPDU报文后,该接口会立即进入转发状态;
同步过程阻塞的接口也会继续往下进行这个过程;
如果指定端口发出Proposal置位的BPDU后没有收到Agreement BPDU报文,则该端口需要等待30s(两个延迟时间)才会进入转发状态;
拓扑改变处理
在STP中,端口变为Forwarding状态或从Forwarding变为Blocking状态均会触发拓扑改变处理过程,而RSTP只在非边缘端口转为Forwarding状态时才会触发处理过程;
- 当交换机由非边缘端口转变为Forwarding状态时,网桥会在两倍的Hello Time时间内向根端口以及指定端口发送TC置位为1的RST BPDU,同时清除这些端口学习到的MAC地址;
- 其他交换机收到TC置位的RST BPDU时候,会清除接收TC报文的端口以及边缘端口之外的其余端口MAC地址,并同样会在两倍的Hello Time时间内向根端口以及指定端口发送TC置位为1的RST BPDU报文;
- 交换机收到TC置位的RST BPDU后不需要在Max Age+Forward Delay时间内将MAC地址老化时间设置为Forward Delay,而是直接清除端口MAC地址,重新进行学习,从而实现更快的收敛
RSTP与STP的兼容
当运行RSTP的交换机连续3次接收到配置BPDU时候,认为该端口和STP相连,该端口将切换到STP协议运行;
end
参考:
https://blog.csdn.net/qq_27664167/article/details/85142281

浙公网安备 33010602011771号