STP故障切换 

  常见的故障切换,有一下几种,我们一起来进行分析:

  1.根桥故障

    

非直连ibgp正常连接必须有的命令_故障切换

    如图所示,根桥为SW1。当根桥故障时,SW2和SW3都没有办法收到根桥发送的BPDU。等待Max_Age的20秒之后,SW2和SW3重新选举根桥。在新的根桥选举之后,交换机端口从Blocking状态到Forwarding状态,需要再等待两个Forward Delay时间,也就是30秒。因此,根桥故障,需要20秒+30秒共计50秒的时间才能恢复网络。

  2.直连链路故障

  

非直连ibgp正常连接必须有的命令_链路_02

 

     如图所示,SW1和SW3之间链路发生故障。阻塞端口在SW3上,当SW3和根桥SW1之间的链路故障时,对于SW3而言属于直连链路故障,SW3可以立刻检测到链路故障,并且SW3可以从SW2收到BPDU,因此无需等待Max_Age,直接将阻塞端口切换成转发端口。端口状态从Blocking到Forwarding,共计两个Forward Delay时间,共计30秒。

  3.非直连链路故障

  

非直连ibgp正常连接必须有的命令_故障切换_03

    如图所示,SW1和SW2之间链路发生故障。阻塞端口在SW3上。对于SW3而言,属于非直连链路故障。由于SW3的G0/0/2接口处于Blocking状态,因此SW3无法通过G0/0/2接口发送BPDU给SW2。当SW2和根桥SW1之间链路故障时,SW2无法收到BPDU,无从得知根桥是否故障,因此,当计时器到达20秒时,SW2会重新选举根桥,发送RID为自己BID的BPDU,SW3的G0/0/2口接收到这份BPDU时,会将Blocked接口转换为Listerning状态,发送BPDU,告知SW2,当前网络中根桥是SW1。并继续等待两个Forward Delay时间之后,将G0/0/2的状态转换为Forwarding状态。同时SW2的G0/0/2接口变为根端口。因此,非直连链路故障,共计需要50秒的时间恢复网络。


RSTP

  由于STP在故障切换时,需要很长的时间才能完成故障切换。在当今的网络环境中是无法忍受的。RSTP加速了生成树的收敛,大大提高了收敛速度,使得生成树可以在极短的时间内完成切换。

  1.端口角色

Backup和Alternate两种备份端口。其中Backup端口是作为指定端口的备份,Alternate端口作为根端口的备份。网络收敛完成之后,备份端口也处于阻塞状态;当发生故障链路切换时,备份端口可以直接进入转发状态。无需等待Forward Delay时间。

  2.P/A机制

     RSTP在BPDU报文中,的Flags字段中,新增了一些字段,其中有Proposal/Agreement两个字段,用来完成RSTP快速收敛的P/A机制。

   

非直连ibgp正常连接必须有的命令_链路_04

 

 

     交换机会在每条链路上,生成对应的RST BPDU报文。生成树收敛时,交换机之间互相发送Proposal置位(也就是Proposal字段值设置为1)的BPDU报文。如下图,SW B向SW A发送RST BPDU,SW A收到之后,进行比较,发现本地的BPDU比对端更优(BID更小),则将本地的BPDU发送给SW B,SW B收到之后,发现对端更优,于是停止发送BPDU。(你厉害,我认怂~.~)与此同时,开始执行P/A的同步操作。

  

非直连ibgp正常连接必须有的命令_故障切换_05

 

 

    P/A机制中的同步:两台交换机之间交互完RST BPDU之后,即可选出根端口,并可以立即进入转发状态,但有可能会出现临时环路。P/A机制的同步,就是为了消除临时环路的产生。在交换机将根端口设置为转发状态之前,会将除了根端口之外的所有端口都设置为阻塞状态。完成这一步,并向对方发送Agreement置位的RST BPDU之后,才将根端口设置为转发状态。

            SWA--------------------------------------------------------------------------------------------------------SWB

1         发送Proposal置位的BPDU-------------------------------------------------------------------------------->                     

2                                            SWB判断接收到的BPDU是否比本地BPDU更优,若对方更优,则停止发送BPDU,若本地更优,则会回复本地的BPDU

3                   <--------------------------------------------------------------------------------------------经过比较,SWB本地的BPDU没有SWA的优,于是将自己接收BPDU的接口设置为根端口;

                                              并且将其他所有端口设置为阻塞状态,同时向SWA发送Agreement置位的BPDU,之后,将根端口设置为转发状态

  3.边缘端口

    对于连接PC的接口,其实并不需要参与生成树的收敛。边缘端口属性,可以在接口链路UP之后即可直接进入转发状态,无需进行生成树收敛过程。当开启边缘端口的接口接收到BPDU报文之后,将会丧失边缘端口属性,变回普通的端口参与生成树的收敛。   

  4.根桥失效检测

    在STP中,交换机判断根桥失效的计时器默认为20秒,而在RSTP中,仅仅需要三倍的Hello时间,即6秒,即可判定为根桥失效。