E-STP

 <STP的一些增强特性>

 
·802.1D STP设计初衷:网络中断后能够在1分钟之内(Max=50S)恢复。
 伴随着LAN出现3层交换,很多的路由协议(OSPF/EIGRP)都能在几秒之内收敛。
 
·Cisco为加快收敛时间,提出了一些私有特性:
 PortFast/UpLinkFast/BackboneFast
 
·PortFast: 
 能够将2层的接入端口(接host)跳过LIS/LRN立即进入FWD。30S->0S
 基于接口,用于接非交换机接口,不要设置在接SW的端口。
 
Sw1#show spanning-tree 
 Type: Edge [Shr/P2p]
 
测试:把接到交换机的网线拔出,再插入,观察状态。
 
Sw1(config)#spanning-tree portfast default (所有接口启用)全局下用
一般用在接入层的交换机上。
 
Sw1(config-if)#spanning-tree portfast  接口下单独启用
 
Sw1(config-if)#spanning-tree portfast disable (某个口禁用,通常是连接另一台交换机的口)
 
·UplinkFast:
 在接入层SW上配置,用于检测直连到分布层SW的链路故障,并加速STP的收敛速度。
  30S->0S
 
Sw2(config)#spanning-tree uplinkfast 
(Uplinkfast是一个全局命令,将影响SW上的所有VLAN)
 
Debug spanning-tree events
 
测试:将有效链路口shut,原来BLK口立即转发,
 
·Uplinkfast将网桥PRI增加到49152,将端口Cost增加3000
 使SW不能成为Root。所以一般配置在接入层SW。
 
Sw2#show spanning-tree 
  ........  Uplinkfast enabled
 
Sw2#show spanning-tree uplinkfast 可以看到哪些接口成为备份
 
Sw2(config)#spanning-tree uplinkfast max-update-rate 200
(每秒所发包的数目,默认值150)
 
·BackboneFast:
 当交换机丢失了root后会以自己发出次级BPDU收到这个BPDU后会向使用替代路径发送RLQ BPDU
向root进行查询
 
BackboneFast是对UplinkFast的一种补充。用于检测主干SW间的链路故障。(50S -> 30S)
 
·建议BackboneFast应用在所有SW上。
 
Sw1(config)#spanning-tree backbonefast 
 
Sw1#show spanning-tree backbonefast 可以查看RLQ消息和次级BPDU
 
RSTP(Rapid STP) 802.1w当前主流技术
 
·当网络拓扑发生改变时,快速生成树协议能够明显地加快重新计算生成树的速度。
 
Sw1(config)#spanning-tree mode rapid-pvst 理论一大把,命令就一条
 
·RSTP定义了3种端口状态:
 Discarding/Learning/Forwarding
 (Discarding <-> STP:Disabled/Blocking/Listening)
 
·RSTP端口角色:
 RP:同STP
 DP:同STP
 
 Alternate Port(替代端口):
 从其他SW收到BPDU的那个端口。比不过人家的BID,就成为AP(BLK)
 如果本SW的RP故障,AP就成为RP。
 
 Backup Port(备份端口):
 从本SW收到BPDU的那个端口。比不过人家的PID,就成为DP(BLK)
 如果本SW的DP故障,BP就成为DP。
   
  Edge Port (边缘端口)=== CISCO的PORTFAST
 
   RSTP的快速转换只能在点到点的链路上使用
 
·RSTP BPDU的格式:
 
 在Flag字段总共8 bit,802.1D中只用到2 bit,
 RSTP用到其他6 bit来完成端口状态和角色的编码。
 
 Version: 2
 Message Type : 2
 
·在802.1D中,只有当SW从RP收到BPDU时,非根桥才能转发BPDU。
 在802.1w中,每个SW会每隔2S就发送一次包含当前信息的BPDU。
 
·如果SW在3个连续的Hello时间(6S)内没收到BPDU,就快速老化,提高了收敛速度。
  默认集成backbonefast,uplinkfask功能
  将portfast也集成了,改名为边缘端口,要手工加载,加载的方法一样。
 
  Link-type  链路类型:按双工模式来分
  半双工是  share类型
  全双工是  point-to-point类型
  可以手工改
 
  Proposal和agreement消息用来做快速收敛
 
  在RSTP中,每台交换机都可以下发TC置位的config BPDU,这样也实现了快速收敛
 
<RSTP的快速转发>
 
·为实现端口的快速收敛,RSTP定义了2个新的变量:
 1.Edge-Port (边缘端口)
 2.Link-Type (链路类型)
 
·RSTP的DP是能够让Edge-Port和P2p直接进入FWD模式。
 
 
MST(Multiple Spanning Tree) 802.1s 
 
IEEE的802.1Q不仅定义了Trunk,还定义了CST(Common Spanning Tree)
CST
缺点:所有的Vlan都是按照同一个STP来工作的。
优点:开销小。
 
PVST
优点:可以为每个Vlan配置一个STP。可以实现基于Vlan.L2的负载分担。
缺点:SW维护很多的STP,开销大。Vlan改变,波及大。
 
MST(对CST和PVST的折衷方案)
1.MST对vlan分组(Instance)
2.每个分组可以有独立的STP,实现L2负载分担。
 
Sw1(config)#spanning-tree mode mst (启用MST)
 
Sw1(config)#spanning-tree mst configuration 
Sw1(config-mst)#instance 1 vlan 1-5
Sw1(config-mst)#instance 2 vlan 6-10
 
Sw1(config)#spanning-tree mst 1 priority 4096 修改本交换机在这一大堆VLAN中的优先级
Sw1(config-if)#spanning-tree mst 1 cost 19 修改本接口在这一组中的开销
 
Sw1#show spanning-tree mst
Sw1#show spanning-tree mst configuration 
 
有一个默认组0,没划分的VLAN就在这里面
MST不能和PVST共存,可以和RSTP共存
<EtherChannel>
 
·通过多个端口绑定,能充分利用现在端口来增加带宽。
 Cisco最多允许绑定8个端口。
 
Sw1(config)#int range f0/8 ,f0/9
Sw1(config-if-range)#channel-group 1 mode on 将这两个接口绑定为一组并指定模式
 
Sw1#show etherchannel summary 可以看到绑定了多少接口
Show interface etherchannel
 
On:强行起etherchannel不属于以下两种协议中任一种,独立的
 
Port Aggregation Protocol (PAgP)
Cisco私用,默认是Auto模式。
  auto:被动  只收不发
 Desirable:主动 会发也会收协商消息
 
Link Aggregation Control Protocol (LACP) 链路聚合控制协议
802.3ad,业界标准
 Passvie相当于PAgP的auto  只发不收
 Active相当于PAgA的desirable  又发又收协商消息
 
Sw1(config-if)#channel-protocol [pagp|lacp]
 
<优化STP>
 
·BPDU防护:
 对于设置了PortFast接口,却收到了BPDU,如果设置了BPDU防护,就能将此接口关闭,而不会进入生成树状态。且默认情况下是要手动才能恢复
Sw1(config)#spanning-tree portfast bpduguard (全局开启)
Sw1(config-if)#spanning-tree bpduguard enable (接口开启)
Sw1#show spanning-tree summary [totals]
 
Show errdisable recovery   显示可导致接口errdisable的选项
Sw1(config)#errdisable recovery cause bpduguard  设置300S(默认)后自动修复bpduguard所导致的errdisable
Sw1(config)#errdisable recovery interval 30   修改默认的修复时间
 
·BPDU过滤:不发也不收
 通过使用BPDU过滤,能够防止向host发送不必要的BPDU。
  收到BPDU的话,不会禁掉端口,只是不理会
 
注意
 
  如果在全局下配置,从端口收到的BPDU,不会禁掉端口,会转为正常的STP     状态
  如果在接口下配置,从端口收到BPDU的话,会丢弃
  如果在同一接口设置guard/filter,f优于g
 
Sw1(config)#spanning-tree portfast bpdufilter default(全局开启)
Sw1(config-if)#spanning-tree bpdufilter enable (接口开启)
 
 
 
·根保护:
 能够将接口强制设为DP,进而防止周围SW成为Root。
  设置了根保护的端口如果收到了一个不同于原BPDU的新的BPDU,它将把本端口设为blocking禁止状态,过一段时间,如果没再收到BPDU,它会恢复端口,这一点不同于根防护。
 建议在去往根桥的上行端口配置:
 Sw1(config-if)#spanning-tree guard root 
 
测试:将其他SW变成根桥,看原来根桥的现象:
Sw1#show spanning-tree inconsistentports 
Show spanning-tree interface f0/2 detail
Sw1#show spanning-tree 
Fa0/2            Desg BKN*19        128.2    P2p *ROOT_Inc
 
·单向链路失效: 用于硬件故障,多用于光纤线路上
 是比较常见的现象,以太网(光纤)的收发出现问题。
 启用UDLD能使得这种接口自动进入“err-disable”状态。
  单向链路失效检测需要在链路上两边的交换机上同时配置
 
Sw1(config)#udld enable 也可在接口下配
 
Sw1#show udld   
只能在接口上 
 
·环路保护: 用于软件故障
 当STP中的BLK端口错误的过渡到FWD状态,有可能出现环路。
 启用Loopguard的接口,当出现以上问题,将自动转为inconsistent状态
 只需要在本端启用就可以.且可以对每个vlan上
 建议做在所在RP和AP上。
 
Sw1(config)#spanning-tree loopguard default (全局)
 
Sw1(config-if)#spanning-tree guard loop (接口)
 

你可能感兴趣的:(STP)