STP和RSTP的区别:
1.端口角色
2.端口状态
配置:
[SW1]stp mode rstp //推荐方案
1.端口角色
RP
DP
AP —AP是RP的替代端口,学习来自不同交换机的BPDU
BP —backup port 备份端口,BP是DP的替代端口,学习来自于同一个交换机的BPDU
根端口和指定端口的作用同STP协议中定义,Alternate端口和Backup端口的描述如下:
从配置BPDU报文发送角度来看:
Alternate端口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口。
Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口。
从用户流量角度来看:
Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。
Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。
2.端口状态
3.BPDU的报文类型
BPDU flag位发生变化
在BPDU的格式上,除了保证和STP格式基本一致之外,RSTP作了一些小的变化。一个是在Type字段,配置BPDU类型不再是0而是2,版本号也变成了2。所以运行STP的交换机收到该类BPDU时会丢弃。
另一个变化是在Flag字段,把原来保留的中间6位使用起来。这样改变了的配置BPDU叫做RST BPDU。
RSTP Flag字段格式:
Bit7:TCA
Bit6:Agreement
Bit5:Forwarding
Bit4:Learning
Bit3和Bit2:端口角色
00:(Unknown) 未知
01:Alternate / Backup Port
10:(Root Port)根端口
11:(Designated Port)指定端口
Bit1:Proposal
Bit0:TC
4.P/A机制
同步:收到Proposal报文的BPDU会将本设备除了边缘端口以外的所有Forwarding状态的的接口Block掉
P/A机制要求两台交换设备之间链路必须是点对点的全双工模式。一旦P/A协商不成功,指定端口的选择就需要等待两个Forward Delay,协商过程与STP一样。
P/A协商的过程:
SW1向SW2发送p置位的BPDU包。
同步变量(阻塞除边缘端口以外的其他端口,防止出现环路)。
SW2向SW1发送A置位的BPDU包。
SW1收到A置位的BPDU包后,端口立即进入Forwarding状态。(一般都是秒级)
RSTP中收敛时间的优化:
P/A协商:可以让交换机的RP和DP的互联接口快速进入转发状态。
直连故障:AP口变为RP并快速进入转发状态,不需要30s延时。
次优场景:AP口收到次优的RST BPDU包后会马上变为DP口,并向该端口发送最优的RST BPDU包。
非直连链路故障:连续丢失3个RST BPDU包,端口角色就需切换,最长时间为6s。
RSTP中TC置位的RST BPDU包所有桥设备都可以发送,连续发送4s(TC while时间)。
引入链路类型
P2P —全双工
share —共享链路 半双工
interface GigabitEthernet0/0/2
stp point-to-point force-true
[SW4]dis stp int g0/0/2
Point-to-point :Config=ForceTrue //默认是auto模式
6.泛洪拓扑改变信息
在RSTP中检测拓扑是否发生变化只有一个标准:一个非边缘端口迁移到Forwarding状态。
一旦检测到拓扑发生变化,将进行如下处理:
A.首先清空状态发生变化的端口上学习到的MAC地址。
B.同时在2倍的hello time时间内不断向非边缘端口发送TC置位的RST BPDU。
C.其他设备收到TC置位的RST BPDU后,清空其他所有端口学习到的MAC地址(除了收到RST BPDU的端口)。同时也会从自己的非边缘端口和根端口向外泛洪TC置位的RST BPDU。