以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STP(Spanning Tree Protocol)。与众多协议的发展过程一样,生成树协议也是随着网络的发展而不断更新的,从最初的IEEE 802.1D中定义的STP到IEEE 802.1W中定义的快速生成树协议RSTP(Rapid Spanning Tree Protocol),再到最新的IEEE 802.1S中定义的多生成树协议MSTP(Multiple Spanning Tree Protocol)。
解决二层环路以下问题:
端口状态 |
说明 |
Disabled |
端口状态为Down,不处理BPDU报文,也不转发用户流量。 |
Listening |
过渡状态,开始生成树计算,端口可以接收和发送BPDU,但不转发用户流量。 |
Learning |
过渡状态,建立无环的MAC地址转发表,不转发用户流量。 |
Forwarding |
端口可以接收和发送BPDU,也转发用户流量。只有根端口或指定端口才能进入Forwarding状态。 |
Blocking |
端口仅仅接收并处理BPDU,不转发用户流量。 |
在交换机中开启STP协议并通过网桥优先级修改STP的根网桥。
图7-1 STP的配置
配置LSW1
[Huawei]undo info-center enable
[Huawei]sysname LSW1
[LSW1]stp mode stp // STP的模式为STP,默认是MSTP。
配置LSW2
[Huawei]undo info-center enable
[Huawei]sysname LSW2
[LSW2]stp mode stp
配置LSW3
[Huawei]undo info-center enable
[Huawei]sysname LSW3
[LSW3]stp mode stp
查看生成树的状态,以LSW1为例
[LSW1]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-ccea-2663 //自身的桥ID
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc06-69ba / 20000 //当前的根桥ID,与根路径开销
CIST RegRoot/IRPC :32768.4c1f-ccea-2663 / 0
CIST RootPortId :128.1
BPDU-Protection :Disabled
TC or TCN received :110
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:2m:41s
Number of TC :12
Last TC occurred :GigabitEthernet0/0/1
【技术要点】显示信息还包括各个接口的状态,在上述输出中已经按ctrl+c结束显示。
查看各交换机上生成树的状态信息摘要
[LSW1]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/6 ALTE DISCARDING NONE
[LSW2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
[LSW3]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/4 ROOT FORWARDING NONE
0 GigabitEthernet0/0/5 DESI FORWARDING NONE
综合根桥ID信息以及各个交换机上的端口信息,可得当前拓扑如下:
4、实验调试
把LSW1的优先级改成0,把LSW3的优先级改成4096,看LSW2的g0/0/3口是否阻塞
LSW1的配置
[LSW1]stp root primary //把LSW1变成主根网桥
相当于命令:
[LSW1]stp priority 0
LSW3的配置
[LSW3]stp root secondary //把SW1变成备用根网桥
相当于命令:
[LSW3]stp priority 4096
查看交换机LSW2上生成树的状态信息摘要
[LSW2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/2 ROOT FORWARDING NONE
0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
综合根桥ID信息以及各个交换机上的端口信息,可得当前拓扑如下
通过网桥COST来修改网桥优先级
图7-2 修改STP的COST
LSW1的配置
[Huawei]undo info-center enable
[Huawei]sysname LSW1
[LSW1]stp mode stp
[LSW1]stp priority 0 //让LSW1成为根桥
LSW2的配置
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]sysname LSW2
[LSW2]stp mode stp
LSW3的配置
[Huawei]undo info-center enable
[Huawei]sysname LSW3
[LSW3]stp mode stp
LSW4的配置
[Huawei]undo info-center en
[Huawei]undo info-center enable
[Huawei]sysname LSW4
[LSW4]stp mode stp
查看交换机LSW2上生成树的状态信息摘要
[LSW1]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/8 DESI FORWARDING NONE
[LSW2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/2 ROOT FORWARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
[LSW3]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/6 DESI FORWARDING NONE
0 GigabitEthernet0/0/7 ROOT FORWARDING NONE
[LSW4]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/4 ROOT FORWARDING NONE
0 GigabitEthernet0/0/5 ALTE DISCARDING NONE
综合根桥ID信息以及各个交换机上的端口信息,可得当前拓扑如下
修改LSW4的g0/0/5的开销为1
[LSW4]interface g0/0/5
[LSW4-GigabitEthernet0/0/5]stp cost 1
查看交换机LSW4上生成树的状态信息摘要
[LSW4]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/4 ALTE DISCARDING NONE
0 GigabitEthernet0/0/5 ROOT FORWARDING NONE
发现G0/0/4的接口阻塞掉了