生成树的选举过程 

1、网桥ID值最小的选举为根桥;其他的为非根桥;

2、非跟桥上选举根端口,到根桥费用最少的端口为根端口;费用一样时,所连网桥ID小的为根端口;费用一样且所连网桥的ID也一样时,所连网桥上端口ID小的为根端口;

3、每一个网段选举指定端口,去往根桥费用少的端口为指定端口;费用一样时,所连网桥ID小的为指定端口;

4、环路中,既不是根端口,也不是指定端口的交换机端口被阻塞。环路就变成了树状。 


生成树选举结果 

1、Switch2的ID最小,成为根桥;

2、Switch1两个接口到根桥费用一样; 但Switch3的ID小于Switch0的ID,所以, Switch1的F0/2称为根端口,阻塞F0/1; 3、Switch4的两个口,到根桥费用一样, 所连网桥的ID也一样,但所连网桥的 F0/11端口的ID小于F0/12端口的ID,所以Switch4的F0/1端口成为根端口,从而阻塞F0/2端口。 

生成树协议之负载均衡_生成树

多个VLAN在同一个端口阻塞 

1、三台交换机都创建了VLAN 10,这样,每个交换机里都有VLAN 1和VLAN 10;

2、三条线路都设置为TRUNK。

3、所有VLAN都在Switch6的端口F0/1阻塞。 

生成树协议之负载均衡_生成树_02

浪费链路 

1、环路有时候是网管员故意设置的冗余链路,即可以备份也可以负载均衡;

2、阻塞同一端口没有起到负载均衡的目的,平时阻塞端口的那条线路平时就浪费了。 

生成树协议之负载均衡_生成树_03

负载均衡怎么实现? 

1、只要让不同的VLAN单独形成生成树实例,形成多个生成树实例;

2、让不同的生成树实例阻塞在不同的链路上。

3、譬如,VLAN 1一棵生成树实例,VLAN 10另一棵生成树实例。

4、通过改变阻塞端口,使得两棵生成树的阻塞端口在不同的线路上。

5、假设,VLAN 1的生成树阻塞Switch6的F0/1接口,VLAN 10的生成树阻塞Switch7的F0/2接口。  

生成树协议之负载均衡_负载均衡_04

负载均衡的实现 

1、针对VLAN 10 修改阻塞端口;

2、VLAN 1的生成树阻塞Switch6的F0/1接口,保持原来的阻塞端口不变。

3、改变VLAN 10的生成树阻塞Switch7的F0/2接口。

4、就这个网络而言,只需通过调整各个交换机的优先级就可以实现

5、VLAN 10的优先级值设置值按Switch6<Switch5<Switch7来设置就可以。  Switch6:  spanning-tree vlan 10 priority 0  Switch5: spanning-tree vlan 10 priority 4096  Switch7:  spanning-tree vlan 10 priority 8192   

生成树协议之负载均衡_负载均衡_05

负载均衡的结果 

生成树协议之负载均衡_负载均衡_06

生成树协议之负载均衡_连网_07

修改阻塞端口是基于生成树的选举过程 

1、网桥ID值最小的选举为根桥;其他的为非根桥;

2、非跟桥上选举根端口,到根桥费用最少的端口为根端口;费用一样时,所连网桥ID小的为根端口;费用一样且所连网桥的ID也一样时,所连网桥上端口ID小的为根端口;

3、每一个网段选举指定端口,去往根桥费用少的端口为指定端口;费用一样时,所连网桥ID小的为指定端口;

4、环路中,既不是根端口,也不是指定端口的交换机端口被阻塞。环路就变成了树状。