二、RSTP(rapid spanning tree protocol)快速生成树协议
1、功能:
1)二层链路防环
2)冗余
3)最优路径
4)快速切换
2、端口角色:
DP:指定端口
RP:根端口
AP:交替端口---收到对方最优的BPDU接口,可以理解为替换根端口
BP:备份端口---收到本方最优的BPDU接口,可以理解为备份指定端口
EP:边缘端口---连接终端的端口
接口模式下:stp edge-port enable
1)跳过listening、learning状态,直接进入forwarding(不影响数据转发)
2)边缘端口一旦收到BPDU,就会丧失边缘端口的功能,变成一个普通stp端口参与stp计算(防环)
3)边缘端口不会受同步的影响(端口状态维持在forwarding状态)
4)边缘端口不会触发TC(使拓扑更稳定)
5)边缘端口不会泛洪TC(连接的是终端设备,不参与生成树计算)
6)设备收到TC不会受影响(不刷新Mac地址表)
防护:
全局配置:stp bpdu-protection //EP端口一旦收到BPDU,直接shutdown
端口down后恢复方法:
进入接口手动undo shutdown
自动恢复
全局配置error-down auto-recovery cause bpdu-protection interval 30 //30s自动undo shutdown,重复动作,知道端口重启
检查:dis error-down recovery //检查重启计时情况
bpdu-filter //EP端口不收也不发bpdu
降低资源消耗,提高效率
3、端口状态
discarding---不转发数据流量,也不学习Mac地址
learning---不转发数据流量,学习Mac地址
forwarding---转发数据流量,也学习Mac地址
4、链路类型
对于RSTP,快速切换的前提是链路是p2p链路
1)p2p---快速切换,秒切
2)non p2p---正常切换,30s
标准:
全双工链路默认p2p,半双工链路默认非点对点
手工指定:接口模式下:stp point-to-point force-true/force-false //强制点对点、非点对点
5、RST BPDU格式
flag位:
Agreement=1,接口类型是p2p;A=0,是非p2p
Forwarding | 0 | 0 | 1 |
Learning | 0 | 1 | 1 |
表示状态: | discarding | learning | forwarding |
port role:
00 unknow 没有选出来
01 AP/BP
10 RP
11 DP
Proposal=1,前提:接口状态discarding,接口角色DP------- bit5-2: 0011
6、BPDU发送方式
stp的发送方式:根产生配置bpdu,非根转发配置bpdu
rstp的发送方式:每个交换机都可以产生RSTP/MSTP bpdu
发送方向:拥有更优BPDU的交换机给查的发(小的给大的发)
7、P/A机制
同步机制工作在RP发生变化的交换机,处于同步状态的接口置为dp discarding,继续跟对端进行协商
同步的影响:
端口置为dp,状态置为discarding,正常切换,转发,30秒
不受同步影响:
AP、BP、EP不受同步影响
P/A机制触发:
1)交换机非边缘指定端口或根端口down
2)交换机端口up
3)一个端口,收到次于自己端口存的BPDU的报文就会触发PA,端口置位DP discarding状态回复P=1 A=1的报文,达到快速切换的目的
总结:
DP------------->RP 快速切换 秒切
DP------------->AP/BP 正常切换 30秒
连接终端设备快速切换------------EP
8、TCM拓扑变更机制
检测拓扑是否发生变化唯一标准:非边缘端口迁移到forwarding状态
一旦检测到拓扑发生变化
1)所有非边缘指定端口和根端口启动一个TC while timer(hello time的两倍),在这个时间内,清除所有端口上学习到的Mac地址,同时,由非边缘端口向外发送rst BPDU,其中TC置位,当TC while time超时停止发送RST BPDU
2)其他交换设备接收到RST BPDU后,清空所有端口学习到的Mac地址,除了收到RST BPDU的端口,其他非边缘指定端口和根端口也启用一个TC while timer重复上述动作
如此网络中就会产生RST BPDU的泛洪