STP(Spanning Tree Protocol)生成树协议:将一个环形网络结构改变成树形结构

1.逻辑上断开环路,防止广播风暴的产生

2.当线路故障,阻塞接口被激活,恢复通信,起备份线路的作用
3.当网络中有多个vlan的时候,可以通过STP的应用实现负载均衡
0061jclBzy6XVFP4CuHb7&690

生成树协议的算法的三个步骤:

选择根网桥(Root Bridge)

选择根端口(Root Ports)

选择指定端口(Designate Ports)

首先了解下根路径成本
根路径成本就是网桥到达根网桥的路径上所有链路的成本之和
0061jclBzy6XIJ2MXGea6&690
路径成本是跟带宽有关系的,关系如下图所示
0061jclBzy6XIJfE54uba&690

接下来再依据规则判断根网桥、根端口、指定端口
实验如图所示
0061jclBzy6XIMrJESQb0&690

实验步骤:
1.选择根网桥
选择根网桥的依据是网桥ID,网桥ID是由网桥优先级+网桥的MAC地址组成的

网桥优先级是用于衡量网桥在生成树算法中优先级的十进制数,取值范围是0~65535,默认是32768

网桥MAC地址就是交换机自身的MAC地址

选择顺序:生成树的算法是先比较优先级,值越小越优先被选中为根网桥,如果优先级都相同的情况下,那么比较MAC地址,MAC地址最小的网桥就是根网桥

0061jclBzy6XIMunt125c&690

2.选择根端口(在交换机上选择)
首先根端口是存在于非根网桥上的,并且每个非根网桥都会有一个根端口
选择顺序:

1)到根网桥最低的根路径成本(指交换机上面的端口)
2)直连的网桥ID最小
3)端口ID最小(这里指的是接收到的对端的端口ID值)
0061jclBzy6XJAlKYI1b9&690

3.选择指定端口(在每条线路上选择)
首先根网桥上面的端口都是指定端口,其次每个网段(也就是每条线路)上都会有一个指定端口
选择顺序:
1)根路径成本比较低(指的是端口所在的交换机到根网桥的路径成本)
2)端口所在交换机的网桥ID值较小
3)端口ID值较小
0061jclBzy6XJMuBn5y2c&690

实验验证:思科模拟器会自动进行选择,根网桥、根端口、指定端口和堵塞端口,看看自己选择的对不对,或者通过命令show spanning-tree 来查看生成树状态,分别对Switch1、Switch2和Switch3查看
0061jclBzy6XJDCtnfc62&690


STP的应用:PVST+
PVST+ 可以实现vlan网络的负载均衡
配置命令
1)启用生成树
Swtich(config)# spanning-tree vlan vlan-list
vlan-list:vlan的序列号 如(vlan 10里面的10)
2)指定根网桥有两种方法(改变网桥优先级和指定根网桥或备份网桥)
更改网桥优先级的方法:
Swtich(config)# spanning-tree vlan vlan-list priorityBridge-priority
Bridge-priority:是指网桥优先级,默认是32768,范围是0~65525
此方法注意:如果要实现vlan的负载均衡,STP的优先级配置必须为4096的倍数
指定根网桥和备份网桥的方法:
Swtich(config)# spanning-tree vlan vlan-list root { primary | secondary }
{ primary | secondary }:配置的时候二选一,primary为根网桥、secondary为备份网桥

PVST+配置中的常用命令:
修改端口成本
Swtich(config)# spanning-tree vlan vlan-list costcost
第二个cost是成本的具体数值 如Swtich(config)# spanning-tree vlan 10 cost 19

修改端口优先级
Swtich(config)# spanning-tree vlan vlan-listport-priority priority
priority:是指优先级的具体数值 如Swtich(config)# spanning-tree vlan 10port-priority 96

配置速端口
Swtich(config-if)# spanning-tree portfast
 

实验:按照要求完成配置
0061jclBzy6XJT4B54z27&690



实验步骤:
1.这里Switch0和Swtich4不演示了,直接说配置PVST+并且验证
0061jclBzy6XJR22QYd95&690

0061jclBzy6XJRWedA743&690

0061jclBzy6XJRWJQhu64&690

2.关闭Switch1上面的所有端口,查看Switch2上面的生成树;然后将Switch1上面的接口开启,再查看生成树
0061jclBzy6XJSAg3Kdfd&690

0061jclBzy6XJSWfcigc4&690