1. 回顾端口角色确定过程
2. 回顾STP端口的五种状态
3. TCN BPDU
TCN BPDU是拓扑更改通知BPDU,用于在生成树协议中通知拓扑变化。(非根网桥告诉根网桥,拓扑发生改变)
网桥发送TCN BPDU的条件(生成树的拓扑改变触发条件):
①有端口转变为forwarding状态,且该网桥至少包含一个指定端口;
②有端口从forwarding状态或learning状态转变为blocking状态或者disable状态。
4. TCA以及TC置位的配置BPDU
TCA——拓扑改变确认
TC——拓扑改变
在STP中的Flag字段中,STP只使用TCA和TC置位,而RSTP在STP的基础上,使用了剩余的6个bit位。TCA置位的配置BPDU用于回答TCN BPDU,TC置位的BPDU用于通知交换机清空MAC地址表。
5. STP的不足
①收敛时间长:缺省情况下一个端口从blocking状态过渡到forwarding状态至少需要30秒钟,对于一个拓扑不稳定网络,会导致网络的长时间中断。
②拓扑变化收敛机制不灵活:主机频繁上下线时,网络会产生大量TCN(拓扑更改通知)。
6. RSTP与STP的不同之处
①减少了端口状态(从5个变为3个,disabled、blocking、listening合并为discarding)
②增加了端口角色(从3个变为4个)
③BPDU格式及发送方式不同
④当交换网络拓扑结构发生变化时,RSTP可以更快地恢复网络的连通性
7. RSTP的端口状态(discarding、learning、forwarding)
8. RSTP的端口角色(根端口、指定端口、alternate端口、backup端口)
9. RSTP中BPDU的处理
网桥自行从指定端口发送RST BPDU,不需要等待来自根桥的RST BPDU。(发送周期为2s的Hello Time)
RST BPDU老化时间为3个连续的Hello Time时长。
10. 收到低优先级RST BPDU的处理
阻塞状态的端口可以立即对收到的低优先级的RST BPDU做出回应。
11. RSTP快速收敛机制
①边缘端口机制:
-- 边缘端口 — — 网桥上直接和终端相连的接口
-- 边缘端口可以直接进入转发状态,不需要延时,并且不会触发拓扑改变
-- 边缘端口收到BPDU后,会转变为非边缘端口
②根端口快速切换机制:
每个非根网桥有且仅有1个根端口,即使每个根端口都打开也不会生成环路。
只有当前的根端口故障时,才会把其他端口选择成为根端口。
③指定端口快速切换机制:
指定端口可以通过与相连的网桥进行一次握手,快速进入转发状态。
- 握手请求报文:Proposal
- 握手回应报文:Agreement
P/A机制条件:握手必须在点到点链路进行
P/A机制目的:让指定端口快速进入转发状态
根网桥 SWA 与非根网桥 SWB 交互,SWA 先发 Proposal 申请指定端口快速转发,SWB 确认自身非边缘端口(指定端口)同步(无环路风险)后回 Agreement ,SWA 接收后指定端口跳过监听 / 学习,直接转发,SWB的其他非边缘端口置为 Discarding 防环。
12. P/A机制收敛过程
(1)初始状态:SWA为根网桥(各端口角色如下图)
(2)触发条件:SWD变为根网桥
首先,SWD的两个端口变为D(指定端口),此时e0/2为转发状态,向SWB发送BPDU,而e0/1原本是A(替代端口),变为了D,状态为discarding状态。
SWB发现SWD是根网桥后,左端口变为D,下端口变为R(根端口),状态均为forwarding转发状态。
SWC的e0/1端口变为R,e0/2端口变为D,端口均为forwarding转发状态。
SWD给SWC发送Proposal报文,SWC在发送Agreement报文之前要同步,将指定端口(D)的状态变为discarding状态,再回应Agreement报文给SWD。
SWD收到Agreement报文后,SWD的e0/1端口的状态由discarding转变为forwarding状态。
SWB发现拓扑改变后,也会发送BPDU给SWA。
SWC的e0/2端口是discarding状态,会发送Proposal报文给SWA,因为SWB的优先级比SWC的优先级高,所以SWA的e0/1端口变为A,状态由forwarding转变为discarding状态,e0/2端口变为R,状态为forwarding。
13. RSTP拓扑改变处理机制(不再使用TCN、收敛更快速)
拓扑改变触发条件(快速生成树):只有非边缘端口转变为forwarding状态时,产生拓扑改变。
拓扑改变处理:
①在两倍Hello时间内向所有其它指定端口和根端口发送TC置位BPDU报文。
②清除除接收到TC报文的端口之外的所有指定端口和根端口学习的MAC地址。