新增特性:

  1. 新增备用端口和备份端口两个角色用于分别热备根端口和指定端口,热备时处于阻塞状态(该机制切换时无延时)。
  2. 端口状态5个(禁用、阻塞、侦听、学习、转发)减少到3个(丢弃、学习和转发)。RSTP的丢弃状态代表STP的禁用、阻塞、侦听状态。
  3. 只使用一种状态的BPDU报文,检测到拓扑变化后会立即发送一个表示拓扑变化的BPDU,任何接收到它的网桥会立即修剪自己的STP数据库,而无需像STP一样等待拓扑变化传递到根网桥再经过转发延迟后返回。
  4. 允许边缘端口(EdgedPort)从阻塞状态(20s)直接进入转发状态,边缘端口的UP/DOWN不会触发拓扑改变,且不会被PA协商阻塞。
  5. 如果在3个Hello Time内没没有收到来自根交换机的BPDU时,就认为和上游交换机的链路出现故障,而STP则需要等待老化时间20s。
  6. RSTP每个网桥在Hello Time都会对外发送BPDU报文,而STP只有根桥会对外发送,其他网桥只负责转播。
  7. 接收次优信息:当前根端口失效后,网桥会对外发送自己是根桥的BPDU,若此时收到其他网桥发来的有更优的BPDU报文,则立即接收其为根桥,并将接收到该报文的端口设置为根端口。
  8. PA快速协商机制:

PA协商只会存在于上游是DP(指定端口),下游是RP(根端口)的情况下。 例如从Root(上游)-SWA(下游)新增了一条线路

    1、两台设备互发BPDU确定谁是DP(上游指定端口),RP(下游根端口)。
    2、确定端口后,上游DP会向下游发出P置位BPDU发起P/A协商(P置位)。
    3、下游RP收到P置位BPDU后会将自己除Edge Port以外所有端口变为Discarding状态阻塞掉(即开始端口sync过程)。
    4、全部端口阻塞完成后(sync过程),下游RP会将其RP口直接转变成Fowarding状态并向上游发送A置位BPDU以示同意且已完成P/A协商。
    5、上游DP收到下游RP发回的A置位BPDU后知道下游已完成P/A协商,将该DP口也转变为Fowarding,自此P/A协商完成。
    6、下游交换机继续向自己其他处于Discarding状态的DP端口发起P/A协商。

备注:如果下游设备发现这个接口收到的BPDU没其他某个接口(如现存的RP接口)收到的BPDU优先级高,则下游只会回复正常的BPDU,而不去理会P/A协商。
正常的RSTP时间为Listening(LSN)15s+Learning(LRN)15s=30s,P/A协商大约历时8-10s(但因为会重置MAC地址表,需要一个包的arp确认路径,因此ping会丢5-6个包,共计10-12s)。

缺点:

  1. RSTP使用单颗生成树,在网络规模较大时收敛时间较长,改变拓扑时的影响也很大。
  2. 链路被阻塞后将不承担任何流量,无法实现负载均衡,造成大量带宽浪费。
  3. 在网络结构不对称时,单生成树会影响网络的连通性。

RSTP安全机制

保护功能 场景 配置影响
BPDU(Bridge Protocol Data Unit)保护 边缘端口在收到BPDU以后端口状态将变为非边缘端口,此时就会造成生成树的重新计算,如果攻击者伪造配置消息恶意攻击交换设备,就会引起网络震荡。 交换设备上启动了BPDU保护功能后,如果边缘端口收到RST BPDU,边缘端口将被error-down,但是边缘端口属性不变,同时通知网管系统。被error-down的边缘端口只能由网络管理员手动恢复。如果用户需要被error-down的边缘端口可自动恢复,可通过配置使能端口自动恢复功能,并可设置延迟时间。
防TC-BPDU报文攻击保护 交换设备在接收到拓扑变化报文后,会执行MAC地址表项和ARP表项的删除操作,如果频繁操作则会对CPU的冲击很大。 启用防TC-BPDU报文攻击功能后,在单位时间内,交换设备处理拓扑变化报文的次数可配置。如果在单位时间内,交换设备在收到拓扑变化报文数量大于配置的阈值,那么设备只会处理阈值指定的次数。对于其他超出阈值的拓扑变化报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项和ARP表项,从而达到保护设备的目的。
Root保护 由于维护人员的错误配置或网络中的恶意攻击,根桥收到优先级更高的BPDU,会失去根桥的地位,重新进行生成树的计算,并且由于拓扑结构的变化,可能造成高速流量迁移到低速链路上,引起网络拥塞。 对于启用Root保护功能的指定端口,其端口角色只能保持为指定端口。一旦启用Root保护功能的指定端口收到优先级更高的RST BPDU时,端口状态将进入Discarding状态,不再转发报文。在经过一段时间(通常为两倍的Forward Delay),如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。
环路保护 当出现链路拥塞或者单向链路故障,根端口和Alternate端口会老化。根端口老化,会导致系统重新选择根端口(而这有可能是错误的),Alternate端口老化,将迁移到Forwarding状态,这样会产生环路。 在启动了环路保护功能后,如果根端口或Alternate端口长时间收不到来自上游设备的BPDU报文时,则向网管发出通知信息(此时根端口会进入Discarding状态,角色切换为指定端口),而Alternate端口则会一直保持在阻塞状态(角色也会切换为指定端口),不转发报文,从而不会在网络中形成环路。直到链路不再拥塞或单向链路故障恢复,端口重新收到BPDU报文进行协商,并恢复到链路拥塞或者单向链路故障前的角色和状态。

RSTP快速收敛机制

一、UplinkFast

检测到本地有线路Down时,立即将Blocking的port切换到Forwarding状态(2s~4s)。
激活条件
1、交换机上必须启动UplinkFast功能。
2、至少有一个处于Blocking状态的端口。
3、失效链路必须发生在Root Port上。

二、Backbonefast

当交换机收到其他交换机发出宣告自己是根桥的BPDU时,会立即使阻塞的端口进入监听状态(不经过20s的监听时间)。

三、PortFast

配置为PortFast的端口会检测到链路Up后会直接进入Forwarding状态。

PVST

每VLAN生成树(Per VLAN Spanning Tree,PVST)

  1. 基于每一个vlan独立维护一颗生成树。
  2. BPDU报文的目的MAC地址变更为Cisco保留地址01-00-0C-CC-CC-CD,并因打有802.1Q标签而无法兼容STP/RSTP。
  3. 根桥的概念只针对于vlan,vlan下可更改优先级和cost(优先级为0-65535,且必须为4096的倍数),接口模式下vlan优先级(优先级为0-240,且默认必须为16的倍数)和接口cost选举根端口、指定端口使用。
  4. 可在vlan中指定主备根桥,Primary状态优先级为24576,Secondary状态优先级为28672,如该交换机配置为Root Primary,此时有另一台优先级低于24576的交换机出现,则优先级较低的会竞选为根桥。
  5. 网桥优先级(4bit)+系统ID 扩展(12bit)+MAC 地址(48bit)
    例如:vlan1的优先级为32768(优先级默认为32768)+1+MAC地址。

PVST+

每VLAN生成树+(Per VLAN Spanning
Tree+,PVST+),向下兼容STP/RSTP并运行在Vlan1,其他vlan运行PVST。

Cisco私有生成树特性
存在于PVST和PVST+中,可加快收敛速度。
1、Portfast
端口直接由Block(阻塞)-Fwd(转发),不经历BPDU的学习转发过程(可节省30s),当一个端口为接入层的存根端口,建议启用该功能。

2、Uplinkfast
当交换机检测到根端口失效后,会立即将备份端口启用为根端口,而不经过不经历BPDU的学习转发过程(可节省30s)
开启后
生效条件:
A.在交换机上必须启动了UplinkFast功能;
B.至少有一个处于Blocking的端口(即有冗余链路);
C.链路失效必须发生在Root Port上;
D.备份端口启用为根端口后,原次优备份端口升级为备份端口。

3、Backbonefast
开启该功能后:
1、链路失效情况对应RSTP中的接收次优信息:当前根端口失效后,网桥会对外发送自己是根桥的BPDU,若此时收到其他网桥发来的有更优的BPDU报文,则立即接收其为根桥,并将接收到该报文的端口设置为根端口。
2、新增链路情况对应RSTP中的PA协商(用时10-12s)。

文章作者: Administrator
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 曹少卿的Blog
Routing&Switch Routing&Switch
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝