STP

(三)、STP的状态机制

    1.STP的端口状态:

     阻塞状态(Blocking):在选举之前,所有的端口从disable过度到的第一个状态

                  在选举结束之后,被阻塞的端口,就是阻塞状态

                  不能接收或者传输数据,不能把MAC地址加入地址表,只能接收BPDU

     监听状态(Listening):在监听的状态下,交换机完成STP的角色的选举,选出根桥、根端口、指定端口、非指定端口

                选举结束之后,网络拓扑无环,处于一种比较稳定的状态

                不能接受或者传输数据,也不能把MAC地址加入地址表,但可以接收和发送BPDU

     学习状态(Learning):交换机转发数据,依靠CAM表,交换机的接口开始学习MAC地址来形成CAM表

                如果交换机接口从监听直接跳跃到转发状态,在最开始的时候,交换机的CAM表是空的,在网络中的一段时间内,会有大量的泛洪的数据

                不能传输数据,但可以发送和接收BPDU,也可以学习MAC地址

     转发状态(Forwarding):能够发送和接收数据、学习MAC地址、发送和接收BPDU

     ##注解:Disable:不会参加STP选举(可能端口没有打开或者没有连线)

           端口角色:RP   DP  NDP(阻塞端口)

           阻塞状态——最大老化时间=20S         监听状态——forwarding delay(转发延迟)=15S             学习状态——forwarding delay=15S

      

      

    2.STP计时器 

     *阻塞到转发状态通常要30-50s(默认50S,即20+15+15),这个时间也可以通过配置生成树计时器来调整

     *Hello 时间——网桥发送配置BPDU的时间间隔(缺省为2s)

     *转发延迟时间——侦听到学习状态, 或者学习状态转换到转发状态所需要的时间 (缺省为15s)

     *最大存活期——在丢弃BPDU之前,网桥用来存储BPDU的时间(缺省为20s),如果连续收不到10个BPDU(20s的时间),开始进入listening 状态

         

        ##注解:1.(左图)正常情况下路线1——2——3——4,当被阻塞的端口在20S之内一直未收到BPDU时,他就会从阻塞状态变成监听状态,通过选举之后变成学习状态到最后的转发状态。

            2.(右图)当端口被选举为DP或RP时,就会从阻塞状态变成监听状态

                当端口被选举为NDP时,就会从监听状态/学习状态/转发状态变成阻塞状态

                当监听状态经过forwarding delay(转发延迟,默认15S)间隔后变成学习状态,学习状态经过forwarding delay间隔变成转发状态

(四)STP的拓扑变更机制 

    1.当网络中某些链路、交换机设备出现的故障的时候,与该交换机有关的MAC地址信息就会变成无用的信息

     2.拓扑变更机制的目的:让其他交换机快速刷新CAM表,将这些无用的信息快速的刷新掉,节省计算和带宽资源

        3.TCN BPDU 概述(TCN:top change notice)

     当网络拓扑出现变更的时候,最先意识到变化的交换机将发送 TCN BPDU。在发生以下事件时,交换机发送TCN:

      *对于处于转发和监听状态的接口,过渡到Block状态(链路故障的情况 )

      *端口进入转发状态,并且网桥已经拥有指定端口

         *非root网桥在它的指定端口收到 TCN

      4.变更过程

        

   讲解:1.SWB 感知到SWA的链路故障

      2.SWB 通过自己的根端口向上发送TCN BPDU,通知上面的交换机拓扑变更的情况,TCN BPDU最终要通知到根桥

      3.SWC 的指定端口收到SWB发送的BPDU,会给SWB一个TCN ACK报文的回复,同时,会将接收到的TCN BPDU再通过自己的根端口向上转发

      4.SWC 发送的BPDU TCN最终被根桥接收,根桥向SWC发送TCN ACK的回复信息

      5.根桥向全网通知拓扑变更

      6.全网交换机将自己的CAM表时间由300s 变成15s,重新刷新自己的CAM表。

     ##注解:1.TCN: top change notice =>最先感知到 top变化的交换机发送到报文,这个报文最终将要被传递到根桥

          2.TCN ACK :当交换机收到一个TCN报文的时候,向发送TCN的交换机发出的回复报文

           3.TC: 根桥发出的,用于通知全网交换机,网络拓扑发生了变化:35s

            当交换机收到 TC的时候,会将自己的 CAM表老化时间由原来的 300s秒调整到15s,快速的将 CAM表进行刷新,刷新之后,就不再由关于发生故障交换机的 MAC地址信息了

(五)STP的特性

   1.Portfast

    *portfast 端口一旦接了设备,接口可绕过listening和learning状态直接进入forwarding状态。

    *链接终端的接口,不会连接其他的交换机,所以也不会出现环路,但是这些接口依然受控与STP,当接口在启用的时候,依然要经历30-50漫长的时间。

所以,要把连接终端的端口的选举机制去掉,让这些端口在启用后,迅速的进入到转发状态

    *配置边缘端口命令:[Switch]interface interface-ID

              [Switch-GigabitEthernet0/0/1]stp edged-port enable 

只配置portfast的缺陷/弊端:当边缘端口配置了portfast的端口接入交换机的时候,交换机会发送bpdu,则portfast接口会重新参与stp计算,造成环路或者二层的网络动荡

    2. bpdu guard/bpdu防护

      *该接口在收到 BPDU报文后,会立即切换到down(hauwei)/err-disbale(cisco)的状态

      [Switch] stp bpdu-protection     //收到bpdu报文会自动shutdown

      *常搭配portfast特性在接口上一起使用,用于连接主机

      *可在接口模式上激活,也可在全局模式上配置,两者有所不同·

      *在接口模式下配置,该接口收到 BPDU报文后,立即切换到err-disable状态

      *边缘端口down掉之后,两种恢复方式: 

       ---手动恢复 [Switch]interface GigabitEthernet 0/0/1

             [Switch-GigabitEthernet0/0/1]undo shutdown

       ---自动恢复:会自动执行undo shutdown

            [Switch]error-down auto-recovery cause bpdu-protection interval 30 //30秒自动恢复

       验证命令:display stp    //验证整个交换机全局是否开启BPDU保护,默认是disable 

                 display stp interface g0/0/1        //查看接口是否开启了边缘端口特性以及BPDU保护特性

    3.BPDUFilter

    可以在全局模式下配置,也可以在接口模式下配置:

     *全局配置 [Switch]stp bpdu-filter default

      希望这个接口处于边缘接口的角色,但是也可以接入交换机设备,一旦收到BPDU的时候,就会消失掉portfast的特性,成为一个普通的stp的端口

      a) 启用了portfast的接口将激活bpdufilter特性

      b)上述接口在link up后瞬间会发送BPDU(a few),此后不在发送任何BPDU

      c)上述接口在收到BPDU后立即丢失portfast及bpdufilter特性,成为一个普通的spanning-tree接口

       *接口配置 [Switch-GigabitEthernet0/0/1]stp bpdu-filter enable (不建议)

      相当于关闭了 STP的功能,当收到BPDU的时候,可能会导致二层环路

      a) 该接口将不会发送BPDU,也忽略接收到的BPDU

      b) Enabling BPDU filtering on an interface is the same as disabling spanning tree on it and can result in spanning-tree loops.

      c) 在接口上配置,不一定必须portfast特性,可独立实施。当然,建议搭配portfast特性使用。

             4.uplink fast

      主动向其他交换机发送自己下联PC的MAC地址信息,让其他交换机快速更新CAM表

  

     5.backbone fast

     BackboneFast是对UplinkFast的一种补充,UplinkFast能够检测直连链路的失效,BackboneFast是用来检测间接链路的失效。

     当启用了BackboneFast的交换机检测到间接链路失效之后,会马上使阻塞的端口进入监听状态,少了20S的老化时间。

    

    6.RootGuard

    如果新接入的交换机优先级更低,将抢占原有的根网桥

    Root Guard是一种强制的根保护措施,它的作用是防止意外(或者非法)加入的交换机成为网络中的根桥

posted @ 2021-03-04 21:21  未成仙小魔女  阅读(1075)  评论(0)    收藏  举报