实验介绍
关于本实验
以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及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)。
本实验将通过完成STP的基本配置,帮助学员掌握STP的配置和原理,以及部分RSTP特性。
实验目的
- 掌握启用和禁用STP/RSTP的方法
- 掌握修改交换机STP模式的方法
- 掌握修改桥优先级,控制根桥选举的方法
- 掌握修改端口优先级,控制根端口和指定端口选举的方法
- 掌握修改端口开销,控制根端口和指定端口选举的方法
- 掌握边缘端口的配置方法
- 掌握启用和禁用RSTP的配置方法
实验组网介绍
实验背景
某公司的二层交换网络中,为了提高网络可靠性,故在二层交换网络中增加冗余链路。为了阻止冗余链路可能带来的广播风暴,MAC地址漂移等负面影响,需要在交换机之间部署生成树协议。
实验任务配置
配置思路
1. 使能设备上的STP功能
2. 修改桥优先级来控制根桥的选举
3. 修改接口参数来控制端口角色
4. 修改设备运行RSTP协议
配置步骤
步骤1 闭多余接口,只针对《HCIA-Datacom实验室搭建指南V1.0》所描述的环境,其他环境可以忽略此步骤。
配置RSTP边缘端口
#关闭S1与S2之间的GigabitEthernet0/0/12接口
[S1]interface GigabitEthernet 0/0/12
[S1-GigabitEthernet0/0/12]shutdown[S2]interface GigabitEthernet 0/0/12
[S2-GigabitEthernet0/0/12]shutdown
步骤二 配置设备运行STP
# 全局使能STP功能
<S1>system-view
Enter system view, return user view with Ctrl+Z.
[S1]stp enable
stp enable命令用来使能交换设备或端口上的STP/RSTP/MSTP功能。缺省情况下,交换设备上的STP/RSTP/MSTP功能处于启用状态,此处配置仅为演示用。
# 修改当前生成树工作模式为STP
[S1]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
stp mode{mstp | rstp | stp}命令用来配置交换设备的生成树协议工作模式。缺省情况下,设备的生成树协议工作模式为MSTP模式。当前设备的生成树模式已经被修改为STP。
[S2]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
[S3]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
[S4]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
# 查看生成树的状态,以S1为例
[S1]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc33-7359 //自身的桥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-cc10-5913 / 20000 //当前的根桥的ID与根路径开销
CIST RegRoot/IRPC :32768.4c1f-cc33-7359 / 0
CIST RootPortId :128.14
BPDU-Protection :Disabled
TC or TCN received :47
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:0m:38s
Number of TC :15
Last TC occurred :GigabitEthernet0/0/14
显示信息还包括各个接口的状态,在上述输出中已经按ctrl+c结束显示。
# 查看各交换机上生成树的状态信息摘要。
[S1]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/10 DESI FORWARDING NONE0 GigabitEthernet0/0/11 DESI FORWARDING NONE0 GigabitEthernet0/0/13 DESI FORWARDING NONE0 GigabitEthernet0/0/14 ROOT FORWARDING NONE
[S2]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/10 ALTE DISCARDING NONE0 GigabitEthernet0/0/11 ALTE DISCARDING NONE0 GigabitEthernet0/0/13 DESI FORWARDING NONE0 GigabitEthernet0/0/14 ROOT FORWARDING NONE
[S3]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/1 ALTE DISCARDING NONE0 GigabitEthernet0/0/2 ALTE DISCARDING NONE0 GigabitEthernet0/0/3 ROOT FORWARDING NONE
[S4]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/1 DESI FORWARDING NONE0 GigabitEthernet0/0/2 DESI FORWARDING NONE0 GigabitEthernet0/0/3 DESI FORWARDING NONE
# 综合根桥ID信息以及各个交换机上的端口信息,可得当前拓扑如下
虚线代表该链路不转发业务数据。
注:该拓扑仅供参考,不一定与实际实验环境中的生成树拓扑相同。
步骤三 修改设备参数,使得S1成为根桥,S2成为备份根桥
# 修改S1和S2的桥优先级
[S1]stp root primary
由于根桥在网络中的重要性,在根桥选举过程中,通常希望性能高、网络层次高的交换设备会被选举为根桥。但是,性能高、网络层次高的交换设备其优先级不一定高,因此可以通过执行相应命令配置其为根桥,以保证该设备成为根桥。stp root命令用来配置当前交换设备为指定生成树的根桥或备份根桥。
- 执行stp root primary命令指定当前交换设备为根交换设备,则表示该设备在指定生成树中的优先级为0,且优先级不能修改。
- 执行stp root secondary命令指定当前交换设备在指定生成树中为备份根桥,则表示该设备的优先级数值为4096,且优先级不能修改。
[S2]stp root secondary
# 在S1上查看当前STP状态
[S1]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :0 .4c1f-cc33-7359 //自身的桥ID。
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc33-7359 / 0 //当前的根桥的ID与根路径开销
CIST RegRoot/IRPC :0 .4c1f-cc33-7359 / 0
CIST RootPortId :0.0
BPDU-Protection :Disabled
CIST Root Type :Primary root
TC or TCN received :84
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:1m:44s
Number of TC :21
Last TC occurred :GigabitEthernet0/0/10
此时自身桥ID与根桥ID相同,且根路径开销为0,说明S1是当前网络的根桥。
# 在所有设备上查看STP状态摘要
[S1]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/10 DESI FORWARDING NONE0 GigabitEthernet0/0/11 DESI FORWARDING NONE0 GigabitEthernet0/0/13 DESI FORWARDING NONE0 GigabitEthernet0/0/14 DESI FORWARDING NONE
[S2]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/10 ROOT FORWARDING NONE0 GigabitEthernet0/0/11 ALTE DISCARDING NONE0 GigabitEthernet0/0/13 DESI FORWARDING NONE0 GigabitEthernet0/0/14 DESI FORWARDING NONE
[S3]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/1 ROOT FORWARDING NONE0 GigabitEthernet0/0/2 ALTE DISCARDING NONE0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
[S4]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/1 ROOT FORWARDING NONE0 GigabitEthernet0/0/2 ALTE DISCARDING NONE0 GigabitEthernet0/0/3 DESI FORWARDING NONE
# 综合根桥ID信息以及各个交换机上的端口信息,可得当前拓扑如下
步骤四 修改设备参数,使得S4的GigabitEthernet0/0/2接口成为根端口
# 查看S4上的STP状态信息
[S4]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc10-5913
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc33-7359 / 20000
CIST RegRoot/IRPC :32768.4c1f-cc10-5913 / 0
CIST RootPortId :128.1
BPDU-Protection :Disabled
TC or TCN received :93
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:9m:5s
Number of TC :18
Last TC occurred :GigabitEthernet0/0/1
当前S4到S1的根路径开销为20000。
# 修改S4的GigabitEthernet 0/0/1的STP开销值为50000
[S4]interface GigabitEthernet 0/0/1
[S4-GigabitEthernet0/0/1]stp cost 50000
# 查看当前STP状态信息摘要
[S4]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/1 ALTE DISCARDING NONE0 GigabitEthernet0/0/2 ROOT FORWARDING NONE0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
当前S4到S1的根路径开销为20000。
# 修改S4的GigabitEthernet 0/0/1的STP开销值为50000
[S4]interface GigabitEthernet 0/0/1
[S4-GigabitEthernet0/0/1]stp cost 50000
# 查看当前STP状态信息摘要
[S4]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/1 ALTE DISCARDING NONE0 GigabitEthernet0/0/2 ROOT FORWARDING NONE0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
[S4]display stp brief MSTID Port Role STP State Protection0 GigabitEthernet0/0/1 ALTE DISCARDING NONE0 GigabitEthernet0/0/2 ROOT FORWARDING NONE0 GigabitEthernet0/0/3 ALTE DISCARDING NONE[S4]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc10-5913
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc33-7359 / 40000 //根路径开销为20000+20000=40000
CIST RegRoot/IRPC :32768.4c1f-cc10-5913 / 0
CIST RootPortId :128.2
BPDU-Protection :Disabled
TC or TCN received :146
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:2m:25s
Number of TC :20
Last TC occurred :GigabitEthernet0/0/2
# 当前拓扑如下
步骤五 修改当前生成树工作模式为RSTP
# 修改所有设备的生成树模式
[S1]stp mode rstp
Info: This operation may take a few seconds. Please wait for a moment...done.
[S2]stp mode rstp
Info: This operation may take a few seconds. Please wait for a moment...done.
[S3]stp mode rstp
Info: This operation may take a few seconds. Please wait for a moment...done.
[S4]stp mode rstp
Info: This operation may take a few seconds. Please wait for a moment...done.
# 查看设备上的生成树状态,仅以S1为例
[S1]display stp
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge :0 .4c1f-cc33-7359
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc33-7359 / 0
CIST RegRoot/IRPC :0 .4c1f-cc33-7359 / 0
CIST RootPortId :0.0
BPDU-Protection :Disabled
CIST Root Type :Primary root
TC or TCN received :89
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:0m:44s
Number of TC :27
Last TC occurred :GigabitEthernet0/0/11
模式修改后,对生成树的整体拓扑无影响
步骤六 配置边缘端口
# S3的GigabitEthernet 0/0/10-0/0/24确认只会连接终端设备,需要被配置为边缘端口
[S3]interface range GigabitEthernet 0/0/10 to GigabitEthernet 0/0/24
通常,设备的以太网接口数比较多,并且在很多以太网接口下有相同的配置。如果对这些以太网接口进行逐个配置会较为繁琐,且容易输入错误。因此,将需要执行相同配置命令的以太网接口加入到一个临时端口组,在临时端口组配置命令时,系统会自动到临时端口组绑定的所有成员接口下执行这些命令行,完成以太网接口批量配置。
注:某些产品上可能不支持临时接口组,需要对接口做单独配置。
[S3-port-group]stp edged-port enable
stp edged-port enable命令用来配置当前端口为边缘端口。当前端口配置成边缘端口后,如果收到BPDU报文,交换设备会自动将边缘端口设置为非边缘端口,并重新进行生成树计算。
结果验证
1)请根据实际收敛情况,标识出当前实验环境中的根桥以及端口角色。
2)关闭任意交换机上的任意端口,观察是否能通过备份链路到达其他所有交换机。
配置参考
S1的配置
#
sysname S1
#
stp mode rstp
stp instance 0 root primary
#
interface GigabitEthernet0/0/12 shutdown
#
return
S2的配置
#
sysname S2
#
stp mode rstp
stp instance 0 root secondary
#
interface GigabitEthernet0/0/12 shutdown
#
return
S3的配置
#
sysname S3
#
stp mode rstp
#
interface GigabitEthernet0/0/10stp edged-port enable
#
interface GigabitEthernet0/0/11stp edged-port enable
#
interface GigabitEthernet0/0/12stp edged-port enable
#
interface GigabitEthernet0/0/13stp edged-port enable
#
interface GigabitEthernet0/0/14stp edged-port enable
#
interface GigabitEthernet0/0/15stp edged-port enable
#
interface GigabitEthernet0/0/16stp edged-port enable
#
interface GigabitEthernet0/0/17stp edged-port enable
#
interface GigabitEthernet0/0/18stp edged-port enable
#
interface GigabitEthernet0/0/19stp edged-port enable
#
interface GigabitEthernet0/0/20stp edged-port enable
#
interface GigabitEthernet0/0/21stp edged-port enable
#
interface GigabitEthernet0/0/22stp edged-port enable
#
interface GigabitEthernet0/0/23stp edged-port enable
#
interface GigabitEthernet0/0/24stp edged-port enable
#
return
S4的配置
#
sysname S4
#
stp mode rstp
#
interface GigabitEthernet0/0/1stp instance 0 cost 5000
#
return
思考题
1. 步骤3中,若修改S1的GigabitEthernet 0/0/14接口的cost值为50000,是否能达到相应的效果?为什么?
2. 在当前拓扑下,请尝试通过修改配置使得S2的GigabitEthernet0/0/11口成为根端口。
3. S1与S2之间的两条链路能否同时处于转发状态?为什么?