RSTP
1.RSTP概述:(Rapid Spanning Tree Protocol,RSTP)快速生成树,RSTP(IEEE 802.1w)是为了弥补STP(IEEE 802.1d)的缺陷而制定的.
在网络拓扑中使用IEEE 802.1生成树协议来保证网络中没有环路,但是当网络拓扑发生变化时,通常至少需要30秒才能恢复网络,30秒的故障恢复时间是在当前的网络中是不能忍受的。为了解决这个问题,有了RSTP,RSTP采用了STP的基本概念,加快了收敛速度。
1)RSTP端口角色
RSTP协议中除规定了根端口、制定端口和阻塞端口外,又规定了两种端口类型,即替代端口和备用端口.
替代端口:能够到达根网桥的替代路径,在非根网桥上,当根端口出现故障,替代端口将成为根端口。
备用端口:能够提供网段冗余连接的备份端口,当指定端口出现故障,替代端口就会成为指定端口。
2)RSTP端口状态
RSTP协议只定义了三种端口状态:丢弃、学习、转发
丢弃:此状态合并了IEEE 802.1d的禁用、阻塞和侦听状态,端口如果处于此状态将丢弃入站的帧,并且不学习MAC地址。
学习:与IEEE 802.1d的学习状态相同,学习MAC地址但是丢弃入站的帧。
转发:发送和接收数据帧,并且能够学习MAC地址。
3)RSTP的收敛
在RSTP的网络中,每台交换机主动维护网络拓扑,即所有的交换机所有端口都定期(hello时间)发送BPDU报文(STP网络中交换机只是中继根网桥的BPDU报文,所以STP网络中只有根网桥的BPDU报文)。入如果交换机连续3次没有收到邻接交换机的BPDU报文,则认为邻接交换机出现故障,默认的hello时间是2秒,所以RSTP发现故障的时间是6秒,STP的最大寿命是20秒。
为了实现端口的快速转发,在RSTP中定义了两种新的变量
边缘端口:边缘端口即在网络边缘,这种端口不会形成环路,所以这种端口可以立即进入转发状态。和STP中的速端口基本相同,当端口收到BPDU报文的时候,它就会失去边缘端口的状态,成为正常的生成树端口。命令如下:
Switch(config-if)#spanning-tree portfast
链路类型:Cisco交换机默认情况下,如果端口工作在全双工模式下,则认为其是点到点的链路(point-to-point);如果端口工作在半双工模式下则不是点到点的链路,而是认为其工作在共享介质上。
点到点的链路通过和邻接交换机交换BPDU快速确定端口状态。例如:一台交换机提议将自身的端口变为指定的端口,如果对端的交换机同意,则它会是同相同的消息回复。当提议和回复消息完成后,就完成了指定端口的选择,而不需要经过STP的计时器的等待时间。但是有时候,由于某种原因导致交换机端口工作在半双工模式,这时可以通过命令将端口变为点到点的链路,命令如下:
Switch(config-if)#spanning-tree link-type point-to-point
RSTP通过对STP的改进,大幅度加快了收敛的速度。
2.快速PVST+
RSTP和STP一样都是一种底层技术,在启用MST或者RPVST+(快速PVST+)后才会使用RSTP。Cisco交换机默认运行PVST+,使用传统的8021.d生成树。如果需要将PVST+模式更改为RPVST+,可以通过如下命令实现:
Switch(config)#spanning-tree mode rapid-pvst
RPVST+和PVST+相同,为每一个VLAN生成一个单独的RSTP实例,可以通过show spanning-tree 查看RPVST+的状态。
如上图所示:中断SW1和SW2直连的链路,如果是PVST+,则SW2将中断50秒左右。如果使用RPVST+,则SW2向SW3发送BPDU报文,认为自己的根网桥,在点到点的链路上通过和邻接交换机交换BPDU快速确定端口状态。当SW2收到次BPDU报文并同意后,F0/23端口成为新的根端口,SW3的F0/24成为指定端口,整个过程持续时间很短。
MST(Multiple Spanning Tree Protocol,MST)多生成树
1.MST概述
无论是PVST+还是RPVST+,都为每一个VLAN生成一个生成树,如果VLAN数量过多的话,将占用太多的交换机资源。
IEEE 802.1s定义的多生成树 (MST或者MSTP)就是用于解决STP实例过多的问题。
MST是对RSTP的扩展,所以MST有RSTP的快速特性,并且MST可以将一个或者多个VLAN映射到一个STP实例中,从而减少STP实例的数量。
2.MST配置
(1)启用MST模式
Switch(config)#spanning-tree mode mst
(2)进入MST配置模式,在交换机启动了MST模式后,要对MST配置需要进入到MST配置模式,命令如下:
Switch(config)#spanning-tree mst configuration
(3)配置MST区域名
Switch(config-mst)#name name
其中,name为配置MST的区域名,最多32个字符,一般网络中只是用一个MST区域名.
(4)配置区域配置修订号
Switch(config-mst)#revision version
其中,version的范围是0-65535,在提交新的MST配置时,配置修订号不会自动增加,另外,交换机的区域配置必须相同(区域名/区域修订号等).
(5)将VLAN映射到MST实例
Switch(config-mst)#instance instance-id vlan vlan-list
(6)设置MST实例的优先级
Switch(config)#spanning-tree mst instance-id priority bridge-priority
或者
Switch(config)#spanning-tree mst instance-id root { primary | secondary }
(7)查看mst生成树协议
Switch#show spanning-tree
3.MST配置实例
如图:交换机之间都是100Mb/s链路,交换机为默认配置,要求实现VLAN的负载均衡。
配置如下:
(1)配置交换机之间的链路为trunk
SW1(config-if-range)#switchport mode trunk
SW2、SW3上一样配置
(2)配置链路的负载均衡
在配置负载均衡前,首先要在交换机上配置MST
###############
由于IOS不支持MST,截不了图,手写命令吧
SW1(config)#spanning-tree mode mst
SW1(config)#spanning-tree mst configuration
SW1(config-mst)#name aaa
SW1(config-mst)#revision 10
SW1(config-mst)#instance 1 vlan 1-2
SW1(config-mst)#instance 2 vlan 3-4
SW2/SW3上做一样的MST配置
然后配置负载均衡
SW1(config)#spanning-tree mst 1 priority 4096
SW2(config)#spanning-tree mst 2 priority 4096
然后使用show spanning-tree mst instance-id 查看生成树状态
转载于:https://blog.51cto.com/minetlive1005/572668