登录站点

用户名

密码

STP、RSTP、MSTP

1已有 9381 次阅读  2013-06-20 11:59   标签STP  RSTP  MSTP 

                               应用                             收敛节约时间       
   postfast               接入端口                             30s
   uplinkfast             接入层Sw                            30s
   backbonefast        所有Sw(需型号支持)              20s

用debug spanning-tree event可测试端口状态转换

Postfast:边缘端口
  -if)#spanning-tree portfast  //可单指某个接口或一组接口
  -if)#spanning-tree portfast default //交换机所有接口,由于接入层交换机不可能全是边缘端口,需将某些上联交换机的端口禁用portfast
  -if)#spanning-tree portfast disable

Uplinkfast:直连检测,节约上行链路宕收敛时间,阻塞端口状态从blocking -> forwarding
  )#spanning-tree uplinkfast
通过show spanning-tree查看变化信息(本地)
  1、uplinkfast enabled
  2、cost 增加 3000
  3、priority  32768 -> 49152  
需确保该交换机不会成为根桥
 show spanning-tree uplinkfast

Backbonefast:过程如下

Sw1和3之间链路宕,Sw3将不会收到根桥BPDU(RID为Sw1),不知根桥位置;
Sw3开始发送新BPDU(次级BPDU)给Sw2,自认为是根桥(RID为Sw3);
Sw2的阻塞端口在等待20sBPDU老化时间后(未收到原根桥发送的BPDU),端口状态送blocking -> listenning ->(15s) learning ->(15s) forwarding ;
Sw2收到收到不同RID字段的BPDU,将重新选举端口类型,RP口依然优,类型不变,NDP(blocked)-> RP(forwarding) ;
经过50s收敛完成。

启用backbonefast:
原理:
当Sw2收到次级BPDU后,Sw2的RP口会发送RLQ(根桥链路查询)帧,查询原根桥Sw1是否存在;
当Sw1(根桥状态正常)收到RLQ后,立即回复REPLY响应;
Sw2收到回应后,认为根桥存在,收到的新BPDU为次级BPDU,立即将收到次级BPDU的端口状态直接从blocking -> listenning ,节约20sBPDU老化时间

)#spanning-tree backbonefast
show spanning-tree backbonefast

RSTP(802.1w)
端口状态:Discarding  Learning  Forwarding
端口角色:RP  DP AP(与邻居交换机选择)  BP(自身端口选举)
RSTP BPDU Flag字段:

注:STP中的flag字段只用到第0和第7位

RSTP核心是分段收敛

A收到Proposal后会将除接收端口外其他口置为sync同步状态; 
sync(阻塞) ->   blocking 即为同步
                  forwarding -> blocking同步
确保不会成环,同步完后,A向ROOT发送Agreement回应,收敛完成;
A再向B发送Proposal,同理,将逐段收敛下去。
只有链路类型为P2P才能进行proposal和aggrement分段收敛(shared -> STP),链路类型默认基于双工模式。

这里有一个问题,Cisco交换机默认启用PVST,虽然未启用RSTP,show信息却有type类型和RSTP端口角色某些特征,但实际收敛又是依据STP(收敛时间),则Cisco交换机到底工作在哪种生成树协议下?
可以这么理解,思科交换机默认工作在PVST模式,借用RSTP的type和端口角色特性(叫法),实际工作原理基于STP。

RSTP扩展优化:
RSTP拓扑变化机制,当某台交换机收到TCN后,开始执行策略,告知自身其他所有端口
1、接口收敛(角色);2、CAM表清理,300s->forwarding delete,删除收敛后没用的MAC地址)
BPDU hello-time机制(2s  3倍超时),作用类似于keep-alive,确认邻居状态正常;能接受处理次级BPDU,默认自动集成uplinkfast、backbonefast特性。

MSTP(MST 802.1s)
将VLANS划分成多个组(instance),针对组进行标识instance xx,即可负载分担,又可减少链路BPDU流量,减少消耗。
BID字段中将12位的extened systemID 存放组号。

)#spanning-tree mode mst //默认所有VLAN同一个组 mst0
show spanning-tree mst   //查看组内VLAN,基于组划分根桥,而不是基于VLAN
)#spanning-tree mst configuration
  )#instance 1 vlan xx - xx
  )#instance 2 vlan xx - xx
//指定某组内某个交换机成为根桥
)#spanning-tree mst xx priority xx

show spanning-tree mst configuration   //查看某个组对应哪些VLAN



 

 


 

 






 

分享 举报