PVST的三个特性和RSTP及基于vlan流量的负载均衡
实验拓扑:
实验配置:
准备阶段
关闭不必要的端口:
sw1:
conft
int e3/1
shutdown
inte3/2
shutdown
sw2:
conft
inte3/1
shutdown
inte2/2
shutdown
sw3:
conft
inte2/2
shutdown
inte3/2
shutdown
配置trunk;
sw1:
conft
inte3/0
switchporttrunk encapsulation dot1q
switchportmode trunk
inte3/3
switchporttrunk encapsulation dot1q
switchportmode trunk
sw2:
conft
inte3/0
switchporttrunk encapsulation dot1q
switchportmode trunk
inte2/3
switchporttrunk encapsulation dot1q
switchportmode trunk
sw3:
conft
inte2/3
switchporttrunk encapsulation dot1q
switchportmode trunk
inte3/3
switchporttrunk encapsulation dot1q
switchportmode trunk
配vtp:
sw1:
conft
vtpmode server
vtpdomain zb
vtppassword 123
vtppruning
sw2:
conft
vtpmode client
vtpdomain zb
vtppassword 123
vtppruning
sw3:
conft
vtpmode client
vtpdomain zb
vtppassword 123
vtppruning
配置vlan:
sw1:
vlandatabase
vlan2
vlan3
exit
查看一下vlan:
可以看出vlan1和vlan2的生成树的根桥都是sw1
Pvst的特性1:portfast
只能用在接入端口(access),可以加速收敛时间。
-------------------------------------------------------------------------
将sw3的e3/3接口down掉
Sw3上的e2/3从阻塞状态到转发状态我们知道需要30秒的时间。
再将e3/3接口激活:
可以看出e3/3从down状态到转发状态同样也需要30秒。
Pvst的特性2:uplinkfast
uplinkfast特性:当altn端口和故障链路在同一个交换机上时,能加速阻塞端口的阻塞状态到转发状态的收敛时间由30秒缩短到2秒。
sw1:
conf t
spanning -treeuplinkfast
sw2:
conf t
spanning -treeuplinkfast
sw3:
conf t
spanning -treeuplinkfast
现在再将sw3的e3/3 shutdown
int e3/3
shutdown
end
show spanning-treevlan 2
可以看出很快就转发了,上面接口e3/3一down,e2/3阻塞端口就进入转发状态。
Pvst的特性3:backbonefast
当故障链路和阻塞端口不在同一switch上时,uplinkfast就不能加速阻塞端口收敛时间,阻塞端口收敛时间仍需要50秒,如果用backbonefast可以让阻塞端口跳过20秒的等待时间。
先在sw3上开启debug
sw3#debugspanning-tree events
我们先在在交换机sw2上将e3/0 down掉。
sw2:
int e3/0
shutdown
可以看出sw2上的e2/3每2秒发送一次bpdu,发了10次,也就是20秒,之后sw3的e2/3阻塞端口进入监听状态。
sw2上的e3/0 down了,sw2就失去到根桥的连接。此时sw2就要向唯一的邻居sw3发送bpdu说自己是根,sw3的e2/3阻塞端口收到bpdu后,阻塞端口会登待20秒,若20秒内故障链路没有恢复,阻塞端口就会进入监听状态,学习状态,最后进入转发状态,这个过程需要50秒。
现在开启backbonefast,backbonefast要在所有交换机上启用。
sw3:
conf t
spanning-tree baclbonefast
sw2:
conf t
spanning-tree baclbonefast
sw1:
conf t
spanning-tree baclbonefast
配置了baclbonefast,阻塞端口,会立即从阻塞状态变到监听状态,不需再等待20秒
RSTP快速生成树
在做快速生成树之前,先把前面的配置删掉:
no spanning-treeuplinkfast
no spanning-treebackbonefast
每个交换机都要敲。
sw1:
conf t
spanning-tree moderapid-pvst
sw2:
conf t
spanning-tree moderapid-pvst
sw3:
conf t
spanning-tree moderapid-pvst
故障链路和阻塞端口在同一个交换机上:
现在把sw3的e3/3down掉,看现在的收敛速度
速度很快
故障链路和阻塞端口不在同一个交换机上
把sw2的e3/0down掉,
可以看出sw3的s2/3从阻塞状态到转发状态只需30秒。
修改生成树的根:实现vlan流量的负载均衡。
现在sw1是所有vlan的根。
我现在让sw2成为vlan3的根
在sw2上一条命令搞定:
sw2:
conf t
spanning-tree vlan 3 root primary
这条命令直接修改了生成树的优先级。优先
级是4096的倍数。
查看一下:
Sw2:
show spanning-tree vlan 3
先在vlan3的流量走sw3的e2/3的链路,vlan2走sw3的e3/3的链路,这就实现vlan流量的负载均衡。
端口阻塞了并不意味着端口down了,只是在某一个vlan里面不能传流量,这是因为spanning-tree的选举,把这个端口阻塞了,不
能走流量,这就使得所有vlan的流量都不能走阻塞端口这条链路。这时我们通过修改vlan的根,使得vlan2和vlan3的生成树不相同,就可以解决这根问题。
因此spanning-tree除了避免环路,提供冗余,还可以做基于vlan流量的负载均衡。