快速生成树是什么
STP可以消除二层网络中的环路并为网络提供冗余性,但是STP的收敛时间最长需要50秒,相对于三层协议OSPF或VRRP秒级的收敛速度,STP无疑成为影响网络性能的一个瓶颈,为了解决STP收敛速度慢的问题,IEEE在STP协议的基础上进行了改进,推出了快速生成树版本——RSTP注意:STP中的Disabled、Blocking和Listening状态在RSTP中都对应为Discarding状态 分别为根端口、指定端口、Alternate端口、Backup端口;其中Alternate端口为根端口的备份端口,而Backup端口为指定端口的备份端口
注意:当阻塞端口收到的更优的配置BPDU来自于其他网桥时,该端口为Alternate端口;当阻塞端口收到更优的配置BPDU来自于本网桥时,该端口为Backup端口3. RSTP的BPDU格式(称为RST BPDU)与STP的不同之处
Protocol Version ID(协议版本ID)变为2,即0x02代表RSTP; BPDU Type(BPDU类型)变为2;即0x02代表RST BPDU; 使用了Flags字段的所有标志位(STP只使用了第0位和第7位);
增加Version 1 Length字段,该字段值为0x00,标识本BPDU中不包含Version 1的内容
RSTP中网桥可以自行从指定端口发送RSTP BPDU,所以在网桥之间可以提供一种保活机制,即在一定时间内网桥没收到对端网桥发送的RST BPDU,即可认为和对端网桥的连接中断 若三个连续的Hello Time时间内网桥没有收到对端指定桥发送的RST BPDU,则网桥端口保存的RST BPDU老化,认为与对端网桥连接中断。新的老化机制大大加快了拓扑变化的感知,从而可以实现快速收敛。 RSTP中,如果阻塞状态的端口收到低优先级的RSP BPDU,也可以立即对其做出回应 触发条件:只有非边缘端口转变为Forwarding状态时,产生拓扑改变
处理机制:在2倍的Hello时间内向所有其他指定端口和根端口发送TC置位BPDU报文;清除除接收到TC报文的端口之外的所有指定端口和根端口学习的Mac地址
一般交换连接终端的接口设置为边缘端口,边缘端口可以直接进入转发状态(即Discarding-->Forwarding),不需要等待状态延迟切换时间,并且端口状态切换不会触发拓扑改变机制 网桥无法自动判断端口是否直接与终端相连,所以用户需要手工将与终端连接的端口配置为边缘端口
注意:当边缘端口收到BPDU时,则丧失上述特性,会重新参与选举和生成树计算快速切换的前提:ALternate端口的对端接口状态处于Forwarding状态,否则丧失快速切换机制,仍然需要等待30s时间
当旧的根端口进入阻塞状态时,网桥会根据选举机制选择优先级最高的Alternate端口作为新的根端口,如果当前新根端口连接的对端网桥的指定端口处于Forwarding状态时,则新的根端口可以立刻进入转发状态,收敛时间1-2s(即发送BPDU的周期时间)快速切换的前提:链路为点到点且全双工链路(这里的点到点指的是交换机之间没有其他中继设备)
当新链路连接时(SWA作为新增设备接入现网),链路两端的端口初始都为指定端口并处于阻塞状态。当指定端口处于Discarding状态和Learning状态,其所发送的RST BPDU中的Proposal位将被置位,端口角色置位为11,表示端口为指定端口
收到Proposal置位的RST BPDU后,网桥会判断接收端口是否为根端口,如果是,网桥会启动同步过程。同步过程指网桥阻塞除边缘端口之外的所有端口,在本网桥层消除环路产生的可能 SWB同步完成后,SWB的根端口进入转发状态并向SWA发送Aggrement置位的RST BPDU,该RST BPDU的内容拷贝自SWA发送的Proposal置位的RST BPDU,其中唯一不同的地方在于Flags字段的内容 SWB回应的Aggrement置位的RST BPDU中,还有Forwarding位也置位,表示SWB同意SWA立即进入转发状态;端口角色位为10,表明SWB回应该RST BPDU的端口为SWB的根端口 1. 不论是指定端口快速切换还是根端口快速切换机制,不仅仅快速切换端口角色,还需快速切换端口的状态才能快速进行报文的转发
2. 在P/A机制中,如果出现多层网桥,则会逐层从上往下层网桥依次进行P/A流程,同层多个网桥间P/A流程是同时进行的
3. 不论是根端口快速切换还是指定端口快速切换机制,均会触发拓扑改变机制