7.12--RSTP原理与配置——总结

一、RSTP——快速生成树协议原理

1、IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Protocol),RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。

2、STP的缺点:(1)收敛速度较慢;(2)如果STP网络的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断。

3、RSTP的端口角色:指定端口、根端口、阻塞端口、备份端口(Backup)、预备端口(Alternate);

7.12--RSTP原理与配置——总结_第1张图片

       Backup-备份端口:Backup端口作为指定端口(D端口)的备份,提供了另外一条从根桥到非根桥的备份链路。当一个交换机和一个共享媒介设备例如Hub建立两个或者多个连接时,可以使用Backup端口。同样,当交换机上两个或者多个端口和同一个LAN网段连接时,也可以使用Backup端口。

       Alternate-预备端口:Alternate端口作为根端口(R端口)的备份端口,提供了从指定桥到根桥的另一条备份路径。

      

7.12--RSTP原理与配置——总结_第2张图片

         边缘端口(EP端口):RSTP里,位于网络边缘的指定端口;边缘端口一般与用户终端设备直接连接,不与任何交换设备连接边缘端口不接收配置BPDU报文,不参与RSTP运算,可以由Disabled状态直接转到Forwarding状态,且不经历时延,就像在端口上将STP禁用了一样。但是,一旦边缘端口收到配置BPDU报文,就丧失了边缘端口属性,成为普通STP端口,并重新进行生成树计算,从而引起网络震荡。

4、STP & RSTP的端口状态比较:

7.12--RSTP原理与配置——总结_第3张图片

Discarding状态(可理解为阻塞状态)——端口既不转发用户流量也不学习MAC地址。

Learning状态——端口不转发用户流量但是学习MAC地址。

Forwarding状态——端口既转发用户流量又学习MAC地址。

5、RST  BPDU报文:

7.12--RSTP原理与配置——总结_第4张图片

(1)STP的BPDU报文的Flags字段中只定义了拓扑变化TC(Topology Change)标志和拓扑变化确认TCA(Topology Change Acknowledgment)标志,其他字段保留。

(2)在RST BPDU报文的Flags字段里,还使用了其他字段。包括P/A进程字段和定义端口角色以及端口状态的字段。Forwarding,Learning与Port Role表示发出BPDU的端口的状态和角色。

7.12--RSTP原理与配置——总结_第5张图片

       STP——当网络拓扑稳定后,根桥按照Hello Timer规定的时间间隔发送配置BPDU报文,其他非根桥设备在收到上游设备发送过来的配置BPDU报文后,才会触发发出配置BPDU报文,此方式使得STP协议计算复杂且缓慢。

      RSTP——在拓扑稳定后,无论非根桥设备是否接收到根桥传来的配置BPDU报文,非根桥设备都会仍然按照Hello Timer规定的时间间隔发送配置BPDU,该行为完全由每台设备自主进行。

6、RSTP的收敛过程:

7.12--RSTP原理与配置——总结_第6张图片

(1)RSTP收敛遵循STP基本原理。网络初始化时,网络中所有的RSTP交换机都认为自己是“根桥”,并设置每个端口为指定端口。此时,端口为Discarding状态。

7.12--RSTP原理与配置——总结_第7张图片

(2)每个认为自己是“根桥”的交换机生成一个RST BPDU报文来协商指定网段的端口状态,此RST BPDU报文的Flags字段里面的Proposal位需要置位。

          当一个端口收到RST BPDU报文时,此端口会比较收到的RST BPDU报文和本地的RST BPDU报文。如果本地的RST BPDU报文优于接收的RST BPDU报文,则端口会丢弃接收的RST BPDU报文,并发送Proposal置位的本地RST BPDU报文来回复对端设备。若收到的BPDU报文次于自己的RST BPDU,则选择忽略。

7.12--RSTP原理与配置——总结_第8张图片

(3)交换机使用同步机制来实现端口角色协商管理。当收到Proposal置位并且优先级高的BPDU报文时,接收交换机必须设置所有下游指定端口为Discarding状态(防止临时环路)。如果下游端口是Alternate端口或者边缘端口,则端口状态保持不变。

7.12--RSTP原理与配置——总结_第9张图片

(4)当确认下游指定端口迁移到Discarding状态后,设备发送RST BPDU报文回复上游交换机发送的Proposal消息。在此过程中,端口已经确认为根端口,因此RST BPDU报文Flags字段里面设置了Agreement标记位和根端口角色。

7.12--RSTP原理与配置——总结_第10张图片

(5)上游交换机收到Agreement置位的RST BPDU报文后,指定端口立即从Discarding状态迁移为Forwarding状态。然后,下游网段开始使用同样的P/A进程协商端口角色。

(6)B和C交换机之间的收敛通STP的收敛过程一样,根据选举规则选出指定端口和阻塞端口。

7、链路故障/根桥失效:

7.12--RSTP原理与配置——总结_第11张图片

        STP中——当出现链路故障或根桥失效导致交换机收不到BPDU时,交换机需要等待Max Age(20s)时间后才能确认出现了故障。 然后重新进行收敛(30s),总共耗时50s。

        RSTP中——如果交换机的端口在连续3次Hello Timer(6s+)规定的时间间隔内没有收到上游交换机发送的RST BPDU,便会确认本端口和对端端口的通信失败,从而需要重新进行RSTP的计算来确定交换机及端口角色。

8、RSTP拓扑变化处理:

7.12--RSTP原理与配置——总结_第12张图片

 故障情况分析:SWC发生链路故障。SWA和SWC立即检测到链路故障并清除连接此链路的端口上的MAC地址表项。接下来SWC选举出新的根端口并立即进入Forwarding状态,因此触发SWC向外发送TC置位的BPDU报文(以下简称TC报文)。

         STP——故障点向外泛洪TCN BPDU,B交换机收到后向C回复一个TCA BPDU,确认已经收到拓扑改变通知的报文,接着B交换机会向根桥发送TCN BPDU,根桥在向下游设备泛洪发送TC BPDU,通知清空MAC地址表。

         RSTP——直接向上游交换机发送TC BPDU,通知上游交换机清除所有其他端口上的MAC地址表项,除了接收到TC报文的端口。TC报文周期性地转发给邻居,在此周期内,所有相关接口上MAC地址表项将会被清除,重新学习MAC地址表项。

(其他交换机接收到TC置位的BPDU后,清空所有其他端口学习到的MAC地址,收到TC BPDU的端口不清空、边缘端口也不清空。)

9、STP兼容:

7.12--RSTP原理与配置——总结_第13张图片

(1)RSTP是可以与STP实现后向兼容的,但在实际中,并不推荐这样的做法,原因是RSTP会失去其快速收敛的优势,而STP慢速收敛的缺点会暴露出来。

(2)当同一个网段里既有运行STP的交换机又有运行RSTP的交换机时,STP交换机会忽略接收到的RST BPDU,而RSTP交换机在某端口上接收到STP BPDU时,会等待两个Hello Time时间之后,把自己的端口转换到STP工作模式,此后便发送STP BPDU,这样就实现了兼容性操作。

(3)运行RSTP的交换设备在某端口上接收到运行STP的交换设备发出的配置BPDU,会把该端口转换到STP工作模式。

10、RSTP的相关配置命令总结:

***  stp mode rstp 命令——配置交换机工作在RSTP模式。在系统视图下执行,此命令必须在所有参与快速生成树拓扑计算的交换机上配置。

***  display stp 命令——可以显示RSTP配置信息和参数。根据显示信息可以确认交换机是否工作在RSTP模式。

***  display stp interface 命令——可以显示端口的RSTP配置情况。包括端口状态,端口优先级,端口开销,端口角色,是否为边缘端口等等。

边缘端口的配置命令:

(1)边缘端口完全不参与STP或RSTP计算。边缘端口的状态要么是Disabled,要么是Forwarding;终端上电工作后,它就直接由Disabled状态转到Forwarding状态,终端下电后,它就直接由Forwarding状态转到Disabled状态。

(2)交换机所有端口默认为非边缘端口。

***  stp edged-port enable 命令——用来配置交换机的端口为边缘端口,它是一个针对某一具体端口的命令

***  stp edged-port default 命令——用来配置交换机的所有端口为边缘端口。

***  stp edged-port disable 命令——用来将边缘端口的属性去掉,使之成为非边缘端口。它也是一个针对某一具体端口的命令。 (3)Sx7系列交换机默认所有端口都工作在非边缘端口;华为Sx7系列交换机运行STP时也可以使用边缘端口设置。

根保护配置:

7.12--RSTP原理与配置——总结_第14张图片

   会出现的问题:由于错误配置根交换机或网络中的恶意攻击,根交换机有可能会收到优先级更高的BPDU报文,使得根交换机变成非根交换机,从而引起网络拓扑结构的变动。这种不合法的拓扑变化,可能会导致原来应该通过高速链路的流量被牵引到低 

        根保护功能——通过维持指定端口角色从而保护根交换机。一旦启用了根保护功能的指定端口收到了优先级更高的BPDU报文时,端口会停止转发报文并且进入Discarding状态(阻塞状态)。经过一段时间后,如果端口一直没有再收到优先级较高的BPDU报文,端口就会自动恢复到原来的状态。

        根保护功能仅在指定端口生效,不能配置在边缘端口或者使能了环路保护功能的端口上。

***  stp root-protection  接口视图下,配置;

BPDU保护配置:

7.12--RSTP原理与配置——总结_第15张图片

   问题现象:正常情况下,边缘端口是不会收到BPDU的。但是,如果有人发送BPDU来进行恶意攻击时,边缘端口就会收到这些BPDU,并自动变为非边缘端口,且开始参与网络拓扑计算,从而会增加整个网络的计算工作量,并可能引起网络震荡。

    使能BPDU保护功能后的交换机的边缘端口在收到BPDU报文时,会立即关闭该端口,并通知网络管理系统。被关闭的边缘端口可配置成自动恢复或管理员手动恢复。

     使能BPDU保护功能,可在系统视图下执行 stp bpdu-protection 命令。

环路保护配置:

7.12--RSTP原理与配置——总结_第16张图片

    问题现象:交换机通过从上游交换机持续收到BPDU报文来维护根端口和阻塞端口的状态。当由于链路拥塞或者单向链路故障时,交换机不能收到上游交换机发送的BPDU报文,交换机重新选择根端口。最初的根端口会变成指定端口,阻塞端口进入Forwarding状态,这就有可能导致网络环路。

         环路保护功能使能后,如果根端口不能收到上游交换机发送的BPDU报文,则向网管发出通知信息。根端口会被阻塞,阻塞端口仍然将保持阻塞状态,这样就避免了可能发生的网络环路。

     使能环路保护功能,可在接口视图下执行 stp loop-protection命令。

 

 

二、STP & RSTP的不同比较:

1、端口角色的不同:

STP:根端口(R端口)、指定端口(D端口)、阻塞端口(A端口);

RSTP:根端口、指定端口、阻塞端口、备用端口(Backup端口)、:作为指定端口的备份,用来提供另外一条从根桥到非根桥的备份链路;预备端口(Alternate端口):作为根端口的备份端口,以提供从指定桥到根桥的另一条链路备份;边缘端口(EP端口):是指一般情况下雨用户等终端设备直接连接,不与其他交换机设备连接的端口,

(1)当一个交换机和一个共享媒介设备例如Hub建立两个或者多个连接时,可以使用Backup端口。同样,当交换机上两个或者多个端口和同一个LAN网段连接时,也可以使用Backup端口。

(2)运行RSTP的交换机使用了两个不同的端口角色来实现冗余备份的。

2、STP与RSTP的对比:

     端口状态
     stp:disable   blocking   listening   learning   forwarding
     rstp:discarding   learning   forwarding
     
     Flags位
     stp:最高位TCA    最低位TC 
     rstp:8bit都得到使用  proposal   agreement 
     
     配置BPDU报文的发送
     stp:网络收敛前 :所有的交换机都会发送BPDU报文
              网络收敛后 :只有根桥会以2s为周期进行发送
     rstp:网络收敛前 :所有的设备都发送BPDU报文(用于选举)
              网络收敛后 :所有的设备都发送BPDU报文(时间周期为2s)
           
     收敛机制
     STP:从初始化到完成收敛至少需要30s 
                stp采用被动的等待计时器超时(20s)的方法来防止环路
     rstp:P/A机制  
              通过proposal--同步--agreement机制可以实现快速收敛(秒级)
           
           
     拓扑变化
      stp:
     1.根桥故障  20s(老化)+30s(重新收敛)
     2.交换机有BP(阻塞)端口,RP端口故障的场景 30s

7.12--RSTP原理与配置——总结_第17张图片

解析:SWB检测到直连链路物理故障后,会将预备端口转换为根端口;则其Alternate端口会迁移到Listening、Learning、Forwarding状态,经过两倍的Forward Delay(2x15s)后恢复到转发状态。

     3.交换机没有BP端口,RP端口故障的场景  20s(老化)+30s(重新收敛)  

7.12--RSTP原理与配置——总结_第18张图片

         SWB与SWA之间的链路发生了某种故障(非物理层故障,例如:堵塞),SWB因此一直收不到来自SWA的BPDU报文。等待Max Age定时器超时后,SWB会认为根桥SWA不再有效,并认为自己是根桥,于是开始发送自己的BPDU报文给SWC,通知SWC自己作为新的根桥。在此期间,由于SWC的Alternate端口再也不能收到包含原根桥ID的BPDU报文。其Max Age定时器超时后,SWC会切换Alternate端口为指定端口并且转发来自其根端口的BPDU报文给SWB。所以,Max Age定时器超时后,SWB、SWC几乎同时会收到对方发来的BPDU。经过STP重新计算后,SWB放弃宣称自己是根桥并重新确定端口角色。非直连链路故障后,由于需要等待Max Age加上两倍的Forward Delay时间,端口需要大约50秒才能恢复到转发状态。
     
     
     
     rstp 
     1.根桥故障或链路故障 3*hello time  6s+
     2.交换机有BP(阻塞)端口,RP端口故障的场景 ——秒级
     3.交换机没有BP端口,RP端口故障的场景  ——秒级
    
     拓扑改变会导致mac表的错误
     
     stp:
     变更点泛洪TCN--上游设备相应TCA;往根桥的方向发送TCN---根桥收到TCN,
     泛洪TC ,通知下游交换机15s清空mac地址表
       机制复杂 效率低下
       
     rstp:
     变更点向外泛洪TC报文 通知其他交换机清空mac地址表 
     
     
    3、rstp的优化 
     
     1.根保护
     配置在指定接口下 保护根桥不会错误的变动
     2.BPDU保护
     配置在交换上 保护的边缘端口 
     3.环路保护
     配置在根端口 ,保护网络不会因为堵塞或单向链路故障等原因出现环路 

你可能感兴趣的:(路由与交换)