RSTP原理与案例配置

1.STP工作原理:
 通过在交换机之间传递配置BPDU来选举根交换机 (或根桥),以及确定每个交换机端口的角色和状态
 A.在初始化过程中,每个交换机都主动发送配置BPDU,主要通过比较4个参数进行角色选举:根桥ID、根路径开销、网桥ID和端口ID
 B.在网络拓扑稳定以后,只有根桥周期性发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU
 C.配置BPDU包含了桥ID、路径开销和端口ID等参数



2.STP的端口状态迁移:




3.STP的缺陷  STP虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量
3.1 STP没有细致区分端口状态和端口角色,不利于初学者学习及部署。
 a. 从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。
 b. 从使用和配置角度来讲,端口之间最本质的区别并不在于端口状态,而是在于端口扮演的角色。
3.2 STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。
3.3 STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备再进行处理,最终传遍整个STP网络。




4.RSTP概述:STP的改进版本
4.1 改进:
 a.通过端口角色的增补,简化了生成树协议的理解及部署:替代接口和备份接口



 b.端口状态的重新划分:缩减到三种:Discarding状态、Learning状态、Forwarding状
 c.配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了端口角色
 d.配置BPDU的处理发生变化:
  1.在拓扑稳定后,无论非根桥设备是否接收到根桥传来的配置BPDU报文,非根桥设备仍然按照Hello   Time规定的时间间隔发送配置BPDU,该行为完全由每台设备自主进行
  2.如果一个端口在超时时间(即三个周期,超时时间=Hello Time×3)内没有收到上游设备发送过来的配置BPDU,那么该设备认为与此邻居之间的协商失败
  3.当一个端口收到上游的指定桥发来的RST BPDU报文时,该端口会将自身缓存的RST BPDU与收到的RST BPDU进行比较,如果该端口缓存的RST   BPDU优于收到的RST   BPDU,那么该端口会直接丢弃收到的RST BPDU,立即回应自身缓存的RST BPDU,从而加快收敛速度
  e.快速收敛:使用P/A制度快速收敛
  f.增加保护功能
  1.BPDU保护:正常情况下,边缘端口不会收到RST BPDU。如果有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到RST BPDU时,交换设备会自动将边缘端口设置为非边缘端口,并重新进行生成树计算,从而引起网络震荡。
交换设备上启动了BPDU保护功能后,如果边缘端口收到RST BPDU,边缘端口将被error-down,但是边缘端口属性不变,同时通知网管系统
  2.根保护(Root保护):对于启用根保护功能的指定端口,其端口角色只能保持为指定端口。
一旦启用根保护功能的指定端口收到优先级更高的RST BPDU时,端口将进入Discarding状态,不再转发报文。经过一段时间(通常为两倍的Forward Delay),如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。
根保护功能确保了根桥的角色不会因为一些网络问题而改变
  3.环路保护:在启动了环路保护功能后,如果根端口或Alternate端口长时间收不到来自上游设备的BPDU报文时,则向网管发出通知信息(此时根端口会进入Discardin  g状态,角色切换为指定端口),而Alternate端口则会一直保持在Discarding状态(角色也会切换为指定端口),不转发报文,从而不会在网络中形成环路。
直到链路不再拥塞或单向链路故障恢复,端口重新收到BPDU报文进行协商,并恢复到链路拥塞或者单向链路故障前的角色和状态
  4.防TC-BPDU攻击:启用防TC-BPDU报文攻击功能后,在单位时间内,交换设备处理TC BPDU报文的次数可配置。
如果在单位时间内,交换设备在收到TC BPDU报文数量大于配置的阈值,那么设备只会处理阈值指定的次数。
对于其他超出阈值的TC BPDU报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项,从而达到保护设备的目的

5.RSTP的工作过程:
 A.每一台交换机启动RSTP后,都认为自己是“根桥”,并且发送RST BPDU,所有端口都为指定端口,处于Discarding状态。
 B.上游链路的设备互联端口通过P/A机制,快速进入转发状态。
  SW2收到更优的RST BPDU后,经比较认为SW1才是当前根桥,此时SW2的端口将成为根端口,而不是指定端口,停止发送RST BPDU。
  SW1的端口进入Discarding状态,发送Proposal位置位的RST BPDU。SW2收到后阻塞除边缘端口以外的所有其他端口(该过程称为同步过程)。
  SW2的各端口同步后,根端口立即进入Forwarding状态,并向SW1返回Agreement位置位的RST BPDU。SW1收到该报文后,会让指定端口立即进入Forwarding状态
 C.下游链路的设备互联端口会进行新一轮的P/A协商。
  SW2的下游端口设置为指定端口,持续发送Proposal位置位的RST BPDU。
  SW3的下游端口收到该BPDU后,发现不是本设备收到的最优BPDU,则会忽略,不会发送Agreement位置位的RST BPDU。
  SW2的下游端口一直收不到Agreement位置位的回应报文,等待2倍的Forward Delay后,进入转发状态。

6.RSTP配置:
A.配置生成树工作模式
[Huawei] stp mode { stp | rstp | mstp }
B.(可选)配置当前设备为根桥
[Huawei] stp root primary
C.可选)配置当前设备为备份根桥
[Huawei] stp root Secondary
D.(可选)配置交换机的STP优先级
[Huawei] stp priority priority
E.(可选)配置接口路径开销
[Huawei] stp pathcost-standard { dot1d-1998 | dot1t | legacy }
[Huawei-GigabitEthernet0/0/1] stp cost cost
F.启用STP/RSTP
[Huawei] stp enable
G.配置当前接口为边缘端口
[Huawei-GigabitEthernet0/0/1] stp edged-port enable
H.配置BPDU保护功能
[Huawei] stp bpdu-protection
I.配置根保护功能
[Huawei-GigabitEthernet0/0/1] stp root-protection
J.配置环路保护功能
[Huawei-GigabitEthernet0/0/1] stp loop-protection
K.配置TC保护功能
[Huawei] stp tc-protection interval interval-value
[Huawei] stp tc-protection threshold threshold