RSTP(Rapid STP) 802.1w当前主流技术

 

·RSTP的基本工作原理与STP相同,要经历四个工作流程,也有相同的四个选举规则。

·当网络拓扑发生改变时,快速生成树协议能够明显地加快重新计算生成树的速度。

 

启用命令:

   spanning-tree mode rapid-pvst   //理论一大把,命令就一条

 

·RSTP中,将接口的链路类型分为两种:  1、共享链路     如果接口工作在 半双工则是share类型的链路

 2、点到点链路   如查接口工作在 全双工则是point-to-point类型的链路

 

 注意:仅仅只在点到点链路上RSTP才能实现快速收敛

 

·RSTP中定义了3种端口状态 :

 Discarding/Learning/Forwarding

 

·RSTP中的端口角色:

 RP:根端口

 DP:指定端口

  Alternate Port: 替代端口

  Backup Port :备份端口

 

·默认集成backbonefast

 将portfast也集成了,改名为边缘端口,要手工加载,加载的方法都和portfast一样。

 

·RSTP中BPDU的格式:

 在Flag字段总共8 bit,STP中只用到2 bit,

 RSTP用到其他6 bit来完成端口状态和角色的编码。

 

 Version: 2

 Message Type : 2

 

·在802.1D中,只有当SW从根端口收到BPDU时,非根桥才能转发BPDU。

 在802.1w中,每个SW会每隔2S就发送一次包含当前信息的BPDU。

 

· 定义了Proposal和agreement消息用来做快速收敛

 

·关于拓朴变更后MAC地址表的收敛过程:

 注意:在RSTP中,只有当非边缘端口进入转发状态的时候才会导致拓扑变更,才会产生TC BPDU,连接的丢失不会导致拓扑变更,也不会产生TC BPDU。

  在RSTP中,每台交换机都可以下发TC置位的config BPDU,这样也实现了快速收敛

 除非网络有老式设备,否则RSTP不需要使用TCN BPDU

 

 

CST (Common Spanning Tree)

缺点:所有的Vlan都是按照同一个STP来工作的。

优点:开销小。

 

PVST

优点:可以为每个Vlan配置一个STP。可以实现基于Vlan.L2的负载分担。

缺点:SW维护很多的STP,开销大。Vlan改变,波及大。

 

MST(对CST和PVST的折衷方案)

1.MST对vlan分组(Instance)

2.每个分组可以有独立的STP,实现L2负载分担。

 

spanning-tree mode mst (启用MST)

 

spanning-tree mst configuration

 name WOLF

 revision 10

 instance 1 vlan 1-5

 instance 2 vlan 6-10

 

spanning-tree mst 1 priority 4096 修改本交换机在这一大堆VLAN中的优先级

 

int f0/5

 spanning-tree mst 1 cost 19 修改本接口在这一组中的开销

 

show spanning-tree mst

show spanning-tree mst configuration

 

show current

show spending

 

有一个默认组0,没划分的VLAN就在这里面

MST不能和PVST共存,可以和RSTP共存

-------------------------------------------------------------------------------------------

 

·BPDU防护 :

 对于设置了PortFast接口,却收到了BPDU,如果设置了 ,就能将此接口关闭,而不会进入生成树状态。

 

spanning-tree portfast bpduguard default (全局开启)

 

int f0/1

 spanning-tree bpduguard enable (接口开启)

 

show spanning-tree summary [totals]

 

Show errdisable recovery   显示可导致接口errdisable的选项

 

设置自动恢复:

errdisable recovery cause bpduguard  设置300S(默认)后自动修复bpduguard所导致的errdisable

errdisable recovery interval 30   修改默认的修复时间

 

 通过使用BPDU过滤,能够防止在启用portfast的端口上向host发送不必要的BPDU。

 

注意:

 如果在全局下配置,从端口收到BPDU的话,不会禁掉端口,会转为正常的STP状态

 如果在接口下配置,从端口收到BPDU的话,会丢弃。

  如果在同一接口设置Guard/Filter , F优于G

 

 BPDU过滤只是一种优化技术,在接口上配置BPDU过滤有可能导致桥接环路,所以不推荐使用。

 

spanning-tree portfast bpdufilter default(全局开启)

 

int f0/9

 spanning-tree bpdufilter enable (接口开启)

 

show spanning-tree summary totals

 

 能够将接口强制设为DP,进而防止对端SW成为Root。

 设置了根保护的端口如果收到了一个优于原BPDU的新的BPDU,它将把本端口设为blocking禁止状态,过一段时间,如果没再收到BPDU,它会恢复端口,这一点不同于BPDU的防护。

 

int f0/5

 spanning-tree guard root

 

测试:将其他SW变成根桥,看原来根桥的现象:

show spanning-tree inconsistentports

Show spanning-tree interface f0/2 detail

show spanning-tree

Fa0/2            Desg BKN*19        128.2    P2p *ROOT_Inc

 

对于软件故障处理得更好

 当STP中的BLK端口错误的过渡到FWD状态,有可能出现环路。

 启用Loopguard的接口,如果原来的BPDU老化了,不会转到listening状态,而将自动转为inconsistent状态

 在inconsistent状态下,会再根据对端交换机发过来的BPDU进行决定端口状态。

 如果是出现了单向链路失效的现象,对端交换机是不会有BPDU过来的,所以接口将一直保持inconsistent。

 默认情况下是禁用的。

 

spanning-tree loopguard default (全局)

 

int f0/9

 spanning-tree guard loop (接口)

 

对于硬件故障处理得更好

 单向链路失效是比较常见的现象,以太网线缆的收发出现问题。

 当链路保持"UP"的时候,接口却没有流量收到。

 UDLD是一种二层协议,它与第一层机制协同工作来确定链路的物理状态。

 启用UDLD能使得这种接口自动进入 " err-disable " 状态。

 启用了UDLD的交换机之间会互相发送UDLD协议包来保持联系,默认间隔15S

 

Sw1(config)#udld enable 也可在接口下配

 

show udld    

 

积极模式的UDLD--当端口停止接收UDLD的数据包时,UDLD将尝试重新建立与邻居的连接,但如果尝试8次之后还不成功,那么两端的端口都将成为"err-disable"状态。

 

在CISCO交换机上有很多的保护特性都会导致接口进入err-disable状态

 

接口如果进入err-disable状态:有两种方法恢复

 

1、手动恢复

  先shutdown、再no shutdown

2、自动恢复

  errdisable recovery cause {all|arp-inspection|bpduguard|link-flap} 指定原因

  errdisable recovery interval 30   指定自动恢复时间间隔

 

1、双工不匹配

2、单向链路失效

3、帧破坏

4、资源错误

5、portfast配置错误

6、STP直径参数配置不恰当