STP

 

STP (Spanning tree protocol)
1.STP的作用
2.STP的概念
3.STP的工作原理
4.STP的配置、调整、校验
5.STP的优化
6.STP的版本
7.STP的保护
 
1.STP的作用
   1)是一个物理连接成环交换网络,让它逻辑上不成环
   2)实现动态备份
   3)实现负载分担   pvstp mst
 
 
2.STP的概念
   BPDU
      BID (prio + MAC) 默认 32768   MAC是主板上的,是唯一的。
      Cost   到根的距离
      SenderBID   转发者的ID
      SenderPID   (prio + Num) prio默认 128 ,转发者的portID
 
 BPDU是由root产生,被交换机转发会修改cost,senderBID,senderPID
 
 RP(根端口) ,用来接收ROOT的BPDU,离ROOT最近的端口
 
 DP(指定端口),用来转发BPDU
 
 非指定端口:不是RP也不是DP的端口就是 非指定端口,不能转发用户数据
 
 5个端口状态:
      1.Disable: 管理down。不收发BPDU,不转发用户数据
      2.Blocking: 不发送BPDU,会接收BPDU,不转发用户数据
      3.Listening:会发送BPDU,会接收BPDU,不转发用户数据
      4.Learning:会发送BPDU,会接收BPDU,不转发用户数据
      5.Forwarding:会发送BPDU,会接收BPDU,转发用户数据
 
 3个计时器:
     1.hello-timer: 2s
     2.max-age-timer:20s 保持root的BPDU的时间
     3.forwarding-timer: 15s   STP选举时间。listening停留时间, learning停留时间
 
 
3.STP的工作原理
   选举步骤:
      1.Root(在交换网络中选出唯一的一个交换机为ROOT)
      2.RP(在所有的非根交换机中,每个交换机上选出唯一的一个端口为RP)
      3.DP(在所有的网段中,每个网段选出一个端口为DP)
  
   比较原则: 越小越好
      1.BID
      2.Cost
      3.SenderBID
      4.SenderPID
 
 
4.STP的配置、调整、校验
   Switch(config)#no spanning-tree vlan 1   //关闭vlan1的STP
 
 调整BID中的优先级:
 Switch(config)#spanning-tree vlan 1 priority 4096
 Switch(config)#spanning-tree vlan 1 root primary 
 Switch(config)#spanning-tree vlan 1 root secondary
 
 调整接口下的Cost:
 SW3(config-if)#spanning-tree cost 19
 SW3(config-if)#spanning-tree vlan 1 cost 19
 
 调整接口下的PID中的优先级:
 SW2(config-if)#spanning-tree port-priority 128
 SW2(config-if)#spanning-tree vlan 1 port-priority 128
  
SW2#show spanning-tree
SW2#show spanning-tree vlan 1
SW2#show spanning-tree summary
SW2#show spanning-tree int f0/23 detail
 
 
5.STP的优化
   1.portfast: 使连接3层端口的交换机接口迅速进入forwarding状态。30s --> 0s
        Switch(config-if)#spanning-tree portfast //此接口开启portfast
        Switch(config)#spanning-tree portfast default //所有的access 接口开启portfast
 
   2.uplinkfast:是对rp的备份,端口从Blocking立刻进入Forwarding状态,30s-->0s    在STP的末节设备(没有DP的设备)开启
        SW2(config)#spanning-tree uplinkfast
 
   3.backbonefast:对间接链路故障的优化,对max-age的优化, Blocking -->Forward 由原来的50s -- > 30s 。需要在所有设备上开启
      SW2(config)#spanning-tree backbonefast
 
 
6.STP的版本
   802.1D   CSTP
                    pvstp    cisco
 
   802.1W RSTP
                    PVRSTP
       Switch(config)#spanning-tree mode rapid-pvst
         802.1D 和802.1W的区别:
                 1.端口状态变成3个: discarding , learning , forwarding
                 2.端口角色非指点端口分为两个: Alternate,Backup
                 3.有了链路类型 P2P , shared
                 4.有了边缘端口 Edge port
                 5.默认开启uplinkfast, backbonefast
                 6.max-age 20s -- > 6s
 
   802.1S MSTP
        功能:
         1.几个vlan共用一个RSTP,减少交换机资源消耗
2.同一个域中的交换机对外可以看做是一台交换机
 SW1(config)#spanning-tree mode mst
 SW1(config)#spanning-tree mst configuration
 SW1(config-mst)# name ccnp
 SW1(config-mst)# revision 1
 SW1(config-mst)# instance 1 vlan 1-10
 SW1(config-mst)# instance 2 vlan 11-20
 SW1(config-mst)# instance 3 vlan 21-30
 SW1(config-mst)#end
 
 SW2(config)#spanning-tree mst 1 root primary
 
 
7.STP的保护
     BPDUGuard:
SW2(config-if)#spanning-tree bpduguard enable //此接口开启bpduguard
                   SW1(config)#spanning-tree portfast bpduguard default //所有的已经开启portfast的接口开启bpduguard
     开启了bpduguard的接口,不应该收到bpdu,如果收到了bpdu,会把这个接口置入err-disable state(down的状态,不能转发用户数据)。不能自动恢复接口状态
          可以通过命令让接口恢复状态:
SW1(config)#errdisable recovery cause bpduguard 
SW1(config)#errdisable recovery interval 30
 
    BPDUFilter:
SW1(config-if)#spanning-tree bpdufilter enable //此接口开启bpdufilter
SW1(config)#spanning-tree portfast bpdufilter default //所有的已经开启portfast的接口开启bpdufilter
    如果在接口下开启:
接口不发BPDU,如果收到BPDU直接丢弃。接口还会保持正常状态
    如果在全局下开启:
接口不发BPDU,如果收到BPDU,会关闭接口下的portfast,bpdufilter功能,进入STP的选举过程
 
     ROOTGuard:
Switch(config-if)#spanning-tree guard root
         如果接口收到更好的BPDU,会把接口置入root-inconsistent state (不能转发用户数据),如果收到的BPDU不再好,那么这个接口会自动恢复正常状态。
 
 
     LOOPGuard:
SW1(config-if)#spanning-tree guard loop
                   对单向链路故障而产生的环路的保护,如果发现出现单向链路故障,会把接口置入errdisable状态,不能转发用户数据。故障解除,接口会自动恢复正常状态。
 
 
    UDLD:
SW1(config)#udld enable    // 普通模式
                   SW1(config)#udld aggressive //积极模式
 对线路上的单向链路故障而产生的环路的保护,如果发现出现单向链路故障,会把接口置入errdisable状态,不能转发用户数据。故障解除,接口不会自动恢复正常状态。
         可以通过命令让接口恢复状态:
SW1(config)#errdisable recovery cause udld
SW1(config)#errdisable recovery interval 30

你可能感兴趣的:(STP)