RSTP(快速生成树协议)

RSTP(快速生成树协议)

快速生成树协议RSTP(Rapid Spanning Tree Protocol)在STP基础上实现快速收敛,并增加了边缘端口的概念和保护功能。

STP的缺点

1.STP从初始状态到完全收敛至少需要经过30s

在这里插入图片描述

2.SWC与SWA的直连链路down掉,其BP端口切换成RP端口并进入转发状态至少需要经过30s

在这里插入图片描述

3.交换机无BP端口,RP端口down掉场景

SWB与SWA的直连链路down掉,则SWC的BP电控切换成DP口并进入转发状态大约需要50s
在这里插入图片描述

4.运行STP的交换机连接用户终端的场景

交换机连接中断的链路进入转发需要经过30s
在这里插入图片描述

5.拓扑变更机制

在这里插入图片描述

拓扑变更处理过程:

  • 在网络拓扑发生变化后,下游设备会不间断地向上游设备发送TCN BPDU报文。
  • 上游设备收到下游设备发来的TCN BPDU报文后,只有指定端口处理TCN BPDU报文。其它端口也有可能收到TCN BPDU报文,但不会处理。
  • 上游设备会把配置BPDU报文中的Flags的TCA位设置1,然后发送给下游设备,告知下游设备停止发送TCN BPDU报文。
  • 上游设备 复制一份TCN BPDU报文,向根桥方向发送。
  • 重复上述步骤,直到根桥收到TCN BPDU报文。
  • 根桥把配置BPDU报文中的Flags的TC位置1后发送,通知下游设备直接删除桥MAC地址表项。

6.STP缺点—端口角色

在这里插入图片描述

7.STP缺点—端口状态

在这里插入图片描述

RSTP对STP的改进

RSTP端口角色

RSTP在STP基础上新增加了3种端口角色:(Backup port)备份端口和(Alternate port)预备端口。通过端口角色的增补,简化了生成树协议的理解及部署。

  • Backup端口:由于学习到自己发送的配置BPDU报文而阻塞的端口,指定端口的备份,提供了另外一条从根节点到叶节点的备份通路。
  • Alternate Port提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。
  • 边缘端口:如果端口位于整个交换区域边缘,不与任何交换设备连接,这种端口叫做边缘端口。边缘端口一般与用户终端设备直接连接。

关于备份端口和预备端口的判断和区别:

自己端口是BLK,从其他SW收到了比较优的BPDU,自己端口就是alternative,对方是DP.
如果从自己收到比较优的BPDU,这个端口就是Backup,对方是DP.
因为这两种端口都是BLK的,交换机-般不会从这两种接C发送BPDU的.
一般Alternative端口是RP端C 的替代. Backup接口是DP端口的备份.

在这里插入图片描述

边缘端口的特点:

  1. 边缘端口会节省30S的延时,端口UP后会立即进入转发状态。
  2. 边缘端口的UP/DOWN不会触发拓扑改变。
  3. 边缘端口收的TC置为的配置BPDU报文不会将MAC地址的老化时间设置为15s。
  4. 边缘端口如果收到配置的BPDU报文会马上变为一个普通端‘’口,进行STP的收敛
  5. 边缘端口也会发送配置BPDU报文。
  6. PA协商不会阻塞边缘端口。

在这里插入图片描述

RSTP端口状态:

在这里插入图片描述

注:

MSTP端口状态与RSTP端口状态相同。

华为公司数据通信设备缺省情况处于MSTP模式,当从MSTP模式切换到STP模式,运行STP协议的设备上端口支持的端口状态仍然保持和MSTP支持的端口状态一样,支持的状态仅包括Forwarding、Learning和Discarding

RSTP快速收敛机制

**P/A机制前提条件:**P/A机制要求两台交换设备之间链路必须是点对点的全双工模式。一旦P/A协商不成功,指定端口的选择就需要等待两个Forward Delay,协商过程与STP一样。

P/A机制原理:
在这里插入图片描述

阶段1:设备刚刚启动,RSTP协议刚刚启用,所有交换机都认为自己是根桥,向其他交换机发送P置位BPDU,并把发送P消息的端口变成DP口,同时接口处在Discarding状态。

阶段2:交换机SWA收到SWB和SWC的P消息会置之不理,因为他的桥优先级最高。交换机SWB和SWC收到SWA的P消息后,由于认同SWA是最优的根桥,会根据P/A协商流程回复A消息,并把发送端口变成RP端口,同时接口处在Forwarding状态。

阶段3:SWA与SWB,SWA与SWC的P/A协商已经完成,接下来是SWB和SWC的P/A协商。

  • SWB和SWC都会发送根桥为SWA的P消息给对方。
    SWC收到SWB的P消息后,发现P消息里虽然根桥和自己认可的一样,但是发送者的桥优先级比自己高(SWB>SWC),所有马上停止发送P消息,但是由于已经有端口是RP口,也不会回A消息。
  • SWB收到SWC的P消息后,发现P消息里虽然根桥和自己认可的一样,但是发送者的桥优先级比自己低(SWB>SWC),会不停的发送P消息。
  • 以上状态在等待2个Forward Delay时间后,SWB端口为DP端口,处在Forwarding状态,SWC端 口为AP端口,处在Discarding状态。

在这里插入图片描述

RSTP中收敛时间的优化:

**P/A协商:**可以让交换机的RP和DP的互联接口快速进入转发状态。

直连故障:AP口变为RP并快速进入转发状态,不需要30s延时。
在这里插入图片描述

次优场景:AP口收到次优的RST BPDU包后会马上变为DP口,并向该端口发送最优的RST BPDU包。
在这里插入图片描述

非直连链路故障:连续丢失3个RST BPDU包,端口角色就需切换,最长时间为6s。

RSTP中TC置位的RST BPDU包所有桥设备都可以发送,连续发送4s(TC while时间)。

拓扑变更处理机制

拓扑变更机制的优化:

在这里插入图片描述

拓扑变更引发的问题

在这里插入图片描述
在这里插入图片描述

拓扑变更处理:

1、一旦检测到拓扑发生变化,首先将进行如下处理:

  • 清空状态发生变化的端口.上学习到的MAC地址。
  • 同时,由这些端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。

如图所示,SWB的E1端口出现故障之后,RSTP的处理过程如下:

  • SWB重新计算生成树,选举E2为新的根端口。
  • SWB删除MAC地址表中E1端口所对应的表项。
  • 生成树重新计算完成之后(需要进入转发状态的端口已经进入了转发状态),SWB的所有非边缘端口向外发送TC置位的RST BPDU。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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报文进行协商,并恢复到链路拥塞或者单向链路故障前的角色和状态。
  • stp root-protection

    //需要在所有的指定端口开启根保护,如果开启后的端口收到比根桥更优的BPDU报文,端口状态会变为Discarding状态。 如果连续MAX age的时间内从该端口都没有收到更优的BPDU报文,端口会自动恢复为Forwarding状态。。 防止根被抢占。

  • stp loop-protection

    //用于RP和AP端口。接收BPDU报文的端口。防止单向链路故障造成的环路。

  • TC-protection

    //设置TC报文的响应次数。如果接收TC的数量大于阀值范围内得TC次数,超出部分只执行1次。

  • BPDU-protection

    //配置BPDU保护

RSTP配置命令:

[接口视图] stp point-to-point { auto | force-false | force-true}
//配置指定端口的链路类型。 缺省情况下,指定端口自动识别是否与点对点链路相连,点对点链路支持快速收敛。
//如果当前以太网端口工作在全双工模式,则当前端口相连的链路是点到点链路,选择参数force-true实现快速收敛。
//如果当前以太网端口工作在半双工模式,可通过执行命令stp point-to-point force-true强制链路类型为点对点链路,实现快速收敛。

[接口视图] stp transmit-limit packet-number
//配置端口在单位时间内BPDU的最大发送数目。缺省情况下,端口每秒BPDU的最大发送数目为6。
//如果设备的所有端口都需要配置每秒发送BPDU的最大数目。可以在系统视图下通过执行该命令实现。

stp mckeck //执行MCheck操作。用来对端口执行从STP模式自动迁移回原来的RSTP/MSTP模式的操作。

stp edged-port default
//配置当前设备上的所有端口为边缘端口。

stp bpdu-filter enable
//配置当前端口为BPDU filter端口。

stp bpdu-protection 
//配置交换设备边缘端口的BPDU保护功能

stp tc-Protection 
//使能交换设备对TC类型BPDU报文的保护功能。 
stp tc-Protection threshold 1
//配置设备处理阈值指定数量的拓扑变化报文所需的时间。 
stp tc-Protection threshold 1
//配置交换设备在收到TC类型BPDU报文后,单位时间内,处理TC类型BPDU报文并立即刷新转发表项的阈值。 
//缺省情况下,设备在指定时间内处理拓扑变化报文的最大数量是1。

stp root-protection 
//配置交换设备的Root保护功能。
//当端口的角色是指定端口时,配置的Root保护功能才生效。
//配置了根保护的端口,不可以配置环路保护。

stp loop-protection 
//配置交换设备根端口或Alternate端口的环路保护功能。 

猜你喜欢

转载自blog.csdn.net/qq_43710889/article/details/113433810