一、简介¶
本章给出了STP的配置实例,并详细介绍了STP的选举规则和定时器,给出了RSTP和MSTP的基础配置实例。
二、STP配置和选路规则¶
2.1 STP协议介绍¶
1、STP是用来避免数据链路层出现逻辑环路的协议,运行STP协议的设备通过交互信息发现环路,并通过阻塞特定端口,最终将网络结构修剪成无环路的树形结构。在网络出现故障的时候,STP能快速发现链路故障,并尽快找出另外一条路径进行数据传输。 2、交换机上运行的STP通过BPDU信息的交互,选举根交换机,然后每台非根交换机选择用来与根交换机通信的根端口,之后每个网段选择用来转发数据至根交换机的指定端口,最后剩余端口被阻塞。 3、华为VRP提供了各种命令来调整STP的参数,用以优化网络。如交换机优先级、端口优先级、端口代价值等
2.2 选举规则¶
2.2.1 根桥选举规则¶
通过比较每台交换机的ID选举根交换机。交换机ID由交换机优先级和MAC地址组成,首先比较交换机优先级,数值最低的为根交换机;如果优先级一样,则比较MAC地址,同样数值最低的选举为根交换机。
2.2.2 根端口选举规则¶
1、比较交换机上每个端口到达根交换机的根路径开销,根路径开销最小的端口将成为根端口 2、如果根路径开销值相同,则比较每个端口所在链路上的上行交换机ID,ID值越小则该端口为根端口 3、如果根路径开销值相同,同时个端口所在链路上的上行交换机ID值也相同,则比较每个端口所在链路上的上行端口ID。ID值越小越优先。 注意:每台非根交换机只能拥有一个根端口!!!
2.2.3 指定端口选举规则¶
1、根交换机的每个端口都是指定端口 2、非根交换机在选完根端口之后,将在每个网段上选举指定端口,比较交换机剩余端口发送与接收BPDU中的根路径开销,越小越优先。 3、如果根路径开销值相同,则比较端口发送与接收BPDU中的网桥ID(BID),先比优先级再比本身端口的MAC地址,优先级值越小或本身端口的MAC地址越小,则该端口为指定端口
2.3 STP配置及选举规则实验¶
2.3.1 实验目的¶
1、理解STP的选举过程 2、掌握修改交换机优先级的方法 3、掌握修改端口开销值的方法
2.3.2 实验内容¶
1、公司购置了4台交换机,组建网络。考虑到网络的可靠性,将4台交换机如图搭建。由于默认情况下,交换机之间运行STP后,根交换机、根端口、指定端口的选择将基于交换机的MAC地址的大小,因此带来了不确定性。 2、网络规划,需要S1作为主根交换机,S2作为S1的备份根交换机。同时对于S4交换机,E0/0/1接口应该作为根端口。对于S2和S3之间的链路,应该保证S2的E0/0/3接口作为指定端口。同时在交换机S3上,存在两个接口E0/0/10、E0/0/11连接到测试PC,测试PC经常上线、下线,需要将交换机S3与之相连的对应端口定义为边缘端口,避免测试电脑上下线对网络产生的影响。
2.3.3 实验拓扑¶

2.3.4 实验编址¶
| 设备 | 全局MAC地址 |
|---|---|
| S1(S3700) | 4c1f-cc89-0617 |
| S2(S3700) | 4c1f-cc09-2aa9 |
| S3(S3700) | 4c1f-cc1f-5a33 |
| S4(S3700) | 4c1f-ccaf-6664 |
2.3.5 实验步骤¶
2.3.5.1 基本配置¶
1、在交换上启用STP(华为交换机默认启用MSTP),将交换机的STP模式更改为普通生成树协议STP。
[S1]stp enable
[S1]stp mode stp
[S2]stp enable
[S2]stp mode stp
[S3]stp enable
[S3]stp mode stp
[S4]stp enable
[S4]stp mode stp
2、配置完成后,默认情况下需要等待30s生成树计算时间(15s Forward Delay+15s Learning状态时间),再使用display stp命令查看S1的生成树状态。
[S1]display stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.4c1f-cc89-0617
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-cc09-2aa9 / 200000
CIST RegRoot/IRPC :32768.4c1f-cc89-0617 / 0
CIST RootPortId :128.1
BPDU-Protection :Disabled
TC or TCN received :21
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:4m:26s
Number of TC :8
Last TC occurred :Ethernet0/0/1
----[Port1(Ethernet0/0/1)][FORWARDING]----
Port Protocol :Enabled
Port Role :Root Port #根端口
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :32768.4c1f-cc09-2aa9 / 128.1
Port Edged :Config=default / Active=disabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
Protection Type :None
Port STP Mode :MSTP
Port Protocol Type :Config=auto / Active=dot1s
BPDU Encapsulation :Config=stp / Active=stp
PortTimes :Hello 2s MaxAge 20s FwDly 15s RemHop 20
TC or TCN send :2
TC or TCN received :11
BPDU Sent :3
TCN: 0, Config: 0, RST: 0, MST: 3
BPDU Received :320
TCN: 0, Config: 0, RST: 0, MST: 320
----[Port2(Ethernet0/0/2)][DISCARDING]----
Port Protocol :Enabled
Port Role :Alternate Port #替代端口
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :32768.4c1f-cc1f-5a33 / 128.2
Port Edged :Config=default / Active=disabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
Protection Type :None
Port STP Mode :MSTP
Port Protocol Type :Config=auto / Active=dot1s
BPDU Encapsulation :Config=stp / Active=stp
PortTimes :Hello 2s MaxAge 20s FwDly 15s RemHop 20
TC or TCN send :3
TC or TCN received :10
BPDU Sent :4
TCN: 0, Config: 0, RST: 0, MST: 4
BPDU Received :321
TCN: 0, Config: 0, RST: 0, MST: 321
3、使用display stp brief命令查看S2、S3、S4的端口角色
<S2>display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE #指定端口
0 Ethernet0/0/2 DESI FORWARDING NONE #指定端口
0 Ethernet0/0/3 DESI FORWARDING NONE #指定端口
<S3>display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE #指定端口
0 Ethernet0/0/2 DESI FORWARDING NONE #指定端口
0 Ethernet0/0/3 ROOT FORWARDING NONE #根端口
0 Ethernet0/0/10 DESI FORWARDING NONE #指定端口
0 Ethernet0/0/11 DESI FORWARDING NONE #指定端口
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ALTE DISCARDING NONE #替代端口
0 Ethernet0/0/2 ROOT FORWARDING NONE #根端口
4、交换机S2上所有端口为指定端口,且所有端口都处于转发状态,同时使用display stp命令查看生成树详细信息,可以观察到"CIST Root"和"CIST Bridge"相同,即目前根交换机ID与自身的交换机ID相同,以上信息说明交换机S2为根桥交换机
<S2>dis stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.4c1f-cc09-2aa9
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-cc09-2aa9 / 0
CIST RegRoot/IRPC :32768.4c1f-cc09-2aa9 / 0
CIST RootPortId :0.0
BPDU-Protection :Disabled
TC or TCN received :9
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:19m:23s
2.3.5.2 配置根交换机¶
2.3.5.2.1 方式一¶
1、根据实验需求,将S1配置为主根交换机,S2为备份根交换机,将S1的优先级改为0,S2的优先级改为4096
[S1]stp priority 0
[S2]stp priority 4096
2、配置完成后查看S1和S2的STP状态信息
[S1]display stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :0 .4c1f-cc89-0617
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-cc89-0617 / 0
CIST RegRoot/IRPC :0 .4c1f-cc89-0617 / 0
CIST RootPortId :0.0
[S2]display stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :4096 .4c1f-cc09-2aa9
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-cc89-0617 / 200000
CIST RegRoot/IRPC :4096 .4c1f-cc09-2aa9 / 0
CIST RootPortId :128.1
2.3.5.2.2 方式二¶
1、根据实验需求,将S1配置为主根交换机,S2为备份根交换机,使用stp root primary命令配置主根交换机,使用stp root secondary命令配置备份根交换机。 2、配置完成后查看S1和S2的STP状态信息,结果同上
2.3.5.3 理解根端口的选举¶
1、S4根端口选举过程:首先比较两个端口到根桥交换机的路径,发现一样。接着比较端口各自所在链路的上行交换机ID,交换机ID由交换机优先级和MAC地址组成,发现S2交换机优先级为4096、S3交换机优先级为32768。所以选择交换机S4上的E 0/0/2为根端口。 2、使用display stp interface e0/0/2查看S4的E0/0/2接口开销值
[S4]display stp interface e0/0/2
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-ccaf-6664
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-cc89-0617 / 400000
CIST RegRoot/IRPC :32768.4c1f-ccaf-6664 / 0
CIST RootPortId :128.2
BPDU-Protection :Disabled
TC or TCN received :120
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 2h:2m:48s
Number of TC :9
Last TC occurred :Ethernet0/0/2
----[Port2(Ethernet0/0/2)][FORWARDING]----
Port Protocol :Enabled
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
#采用Dot1T的计算方法,Active是实际上使用的路径开销,开销值为200000
Designated Bridge/Port :4096.4c1f-cc09-2aa9 / 128.2
Port Edged :Config=default / Active=disabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
Protection Type :None
Port STP Mode :STP
Port Protocol Type :Config=auto / Active=dot1s
BPDU Encapsulation :Config=stp / Active=stp
PortTimes :Hello 2s MaxAge 20s FwDly 15s RemHop 0
TC or TCN send :2
TC or TCN received :56
BPDU Sent :4
TCN: 2, Config: 2, RST: 0, MST: 0
BPDU Received :1979
TCN: 0, Config: 1979, RST: 0, MST: 0
3、根据实验需求,修改S4上的E0/0/2的代价值为400000,指定S4上的E 0/0/1为根端口。
[S4]interface Ethernet 0/0/2
[S4-Ethernet0/0/2]stp cost 400000
4、配置完成后再次查看S4的E0/0/2接口开销值以及STP状态摘要信息
[S4]display stp interface e0/0/2
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-ccaf-6664
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-cc89-0617 / 400000
CIST RegRoot/IRPC :32768.4c1f-ccaf-6664 / 0
CIST RootPortId :128.1
BPDU-Protection :Disabled
TC or TCN received :156
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:1m:15s
Number of TC :11
Last TC occurred :Ethernet0/0/1
----[Port2(Ethernet0/0/2)][DISCARDING]----
Port Protocol :Enabled
Port Role :Alternate Port
Port Priority :128
Port Cost(Dot1T ) :Config=400000 / Active=400000
Designated Bridge/Port :4096.4c1f-cc09-2aa9 / 128.2
Port Edged :Config=default / Active=disabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
Protection Type :None
Port STP Mode :STP
Port Protocol Type :Config=auto / Active=dot1s
BPDU Encapsulation :Config=stp / Active=stp
PortTimes :Hello 2s MaxAge 20s FwDly 15s RemHop 0
TC or TCN send :2
TC or TCN received :73
BPDU Sent :4
TCN: 2, Config: 2, RST: 0, MST: 0
BPDU Received :2229
TCN: 0, Config: 2229, RST: 0, MST: 0
5、此时使用display stp bri命令查看STP的角色状态,S4的E0/0/1接口为根端口
[S4]display stp bri
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT FORWARDING NONE
0 Ethernet0/0/2 ALTE DISCARDING NONE
2.3.5.4 理解指定端口的选举¶
1、为了模拟场景,使用undo stp root将S2的优先级恢复为默认的32768. 2、配置完成后,使用
[S2]display stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.4c1f-cc09-2aa9
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-cc89-0617 / 200000
CIST RegRoot/IRPC :32768.4c1f-cc09-2aa9 / 0
CIST RootPortId :128.1
BPDU-Protection :Disabled
3、使用display stp brief命令查看S2和S3的STP状态简要信息
[S2]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT FORWARDING NONE
0 Ethernet0/0/2 DESI FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
[S3]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
0 Ethernet0/0/10 DESI FORWARDING NONE
0 Ethernet0/0/11 DESI FORWARDING NONE
4、S2、S3在选举指定端口时,根路径开销相同。然后比较端口发送与接收的网桥ID(优先级+MAC地址),这里优先级相同,都是32768。最后,优先级相同的情况下,比较自身端口的MAC地址,结果发现S2的E0/0/3端口的MAC地址较小,故被指定为指定端口。
[S2]display interface e0/0/3
Ethernet0/0/3 current state : UP
Line protocol current state : UP
Description:
Switch Port, PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 4c1f-cc09-2aa9
Last physical up time : 2022-01-23 10:30:48 UTC-08:00
Last physical down time : 2022-01-23 10:30:47 UTC-08:00
Current system time: 2022-01-23 15:37:03-08:00
Hardware address is 4c1f-cc09-2aa9
[S3]display interface e0/0/2
Ethernet0/0/2 current state : UP
Line protocol current state : UP
Description:
Switch Port, PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 4c1f-cc1f-5a33
Last physical up time : 2022-01-23 10:30:45 UTC-08:00
Last physical down time : 2022-01-23 10:30:44 UTC-08:00
Current system time: 2022-01-23 15:35:44-08:00
Hardware address is 4c1f-cc1f-5a33
2.3.5.5 配置边缘端口¶
1、配置S3的E0/0/10、E0/0/11为边缘端口
[S3]interface Ethernet 0/0/10
[S3-Ethernet0/0/10]stp edged-port enable
[S3]interface Ethernet 0/0/11
[S3-Ethernet0/0/11]stp edged-port enable
2、配置完成后,使用display stp进行查看
[S3]display stp interface E0/0/10
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-ccc8-639d
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-cc8e-706f / 200000
CIST RegRoot/IRPC :32768.4c1f-ccc8-639d / 0
CIST RootPortId :128.4
BPDU-Protection :Disabled
TC or TCN received :80
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:16m:23s
Number of TC :15
Last TC occurred :Ethernet0/0/4
----[Port10(Ethernet0/0/10)][FORWARDING]----
Port Protocol :Enabled
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :32768.4c1f-ccc8-639d / 128.10
Port Edged :Config=enabled / Active=enabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
Protection Type :None
[S3]display stp interface E0/0/11
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-ccc8-639d
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-cc8e-706f / 200000
CIST RegRoot/IRPC :32768.4c1f-ccc8-639d / 0
CIST RootPortId :128.4
BPDU-Protection :Disabled
TC or TCN received :80
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:16m:23s
Number of TC :15
Last TC occurred :Ethernet0/0/4
----[Port10(Ethernet0/0/10)][FORWARDING]----
Port Protocol :Enabled
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :32768.4c1f-ccc8-639d / 128.10
Port Edged :Config=enabled / Active=enabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
Protection Type :None
2.4 思考¶
在什么场景下,选举根端口、指定端口时会比较到端口ID? 答:当进行生成树BPDU比较时,根桥ID、开销值、发送者桥ID前三个参数依次比较没有办法分出优劣,这时需要比较发送者的端口ID。
三、配置STP定时器¶
3.1 定时器介绍¶
3.1.1 Hello Time定时器¶
Hello Time为周期发送BPDU来维护生成树的稳定的时间,默认为2s。如果交换机在配置的超时时间内没有收到上游交换机发送的BPDU,则会重新进行生成数计算。在根交换机上配置的Hello Time将作为整个生成树内所有交换机的Hello Time。
3.1.2 Max Age定时器¶
BPDU的最大生存时间,默认为20s,交换机通过比较从上游交换机收到的BPDU中携带的Message Age(配置BPDU的生存时间,如果配置BPDU是根桥发出的,则Message Age为0,每经过一台交换机增加1)和Max Age,来判断此BPDU是否超时。如果收到的BPDU超时,交换机将该BPDU老化,同时阻塞接收该BPDU的接口,并开始发出以自己为根桥的BPDU。这种老化机制可以有效地控制生成树的半径。在根交换机上配置的Max Age将作为整个生成树内所有交换机的Max Age。
3.1.3 Forward Delay定时器¶
此延迟时间为Forward Delay定时器的时间,默认为15s。链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。因为重新计算得到的新配置消息无法立刻传遍整个网络,所以STP采用了一种端口状态迁移机制,新选出的根端口和指定端口要经过2倍的Forward Delay延时后才能进入转发状态,这个延时保证了新的配置消息传遍整个网络。
3.1.4 超时时间¶
超时时间=3XHello TimeXTimer Factor。如果交换机在配置的超时时间内没有收到上游发送的BPDU,就认为上游交换机已经出现故障,然后重新进行生成树拓扑的计算。在稳定的网络中,应将超时时间配置得长一些,以减少网络资源的浪费。建议将Timer Factor的值设置为5~7,以增强网络稳定性。
3.1.5 根交换机防振荡公式¶
2X(Forward Delay-1.0 second)>=Max Age>=2X(Hello Time+1.0 second)
3.1.6 建议¶
使用stp bridge-diameter命令配置网络直径,交换机会自动根据网络直径计算出Hello Time、Forward Delay以及Max Age3个时间参数的最优值。默认网络直径为7。
3.1.7 实验目的¶
1、理解STP中定时器的作用 2、掌握STP定时器的配置命令 3、掌握查看STP定时器的生效方法 4、理解STP定时器的最佳设置方法
3.1.8 实验内容¶
本实验模拟企业网络场景。公司内网是一个大的局域网,由4台交换机两两相连组成的一个环形网络。为了避免形成环路,每台交换机都运行了STP生成树协议。且配置S1为根交换机,S2为备份根交换机。现在为了优化网络,在网络变化时加快STP的收敛速度,需要在交换机上更改STP定时器的设置,将所有定时器调整到最优值,完成STP的加速收敛。
3.1.9 实验拓扑¶

3.1.10 实验编址¶
| 设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
|---|---|---|---|---|
| PC-1 | Ethernet 0/0/1 | 192.168.1.1 | 255.255.255.0 | N/A |
| PC-2 | Ethernet 0/0/1 | 192.168.1.2 | 255.255.255.0 | N/A |
| PC-3 | Ethernet 0/0/1 | 192.168.1.3 | 255.255.255.0 | N/A |
| PC-4 | Ethernet 0/0/1 | 192.168.1.4 | 255.255.255.0 | N/A |
3.1.11 MAC地址¶
| 设备 | 全局MAC地址 |
|---|---|
| S1 | 4c1f-cc8e-706f |
| S2 | 4c1f-cc4d-0855 |
| S3 | 4c1f-ccc8-639d |
| S4 | 4c1f-ccf1-65cb |
3.1.12 实验步骤¶
3.1.12.1 基本配置¶
根据实验编址表进行相应的基本IP地址配置,并使用Ping命令进行直连链路互通性测试。
3.1.12.2 配置STP计时器¶
1、在4台交换机上配置使用STP,并配置S1为该二层网络中的根交换机,S2为备份根交换机。
[S1]stp enable
[S1]stp mode stp
[S1]stp root primary
[S2]stp enable
[S2]stp mode stp
[S2]stp root secondary
[S3]stp enable
[S3]stp mode stp
[S4]stp enable
[S4]stp mode stp
2、配置完成后,使用display stp命令查看各定时器的默认值。
[S1]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :0 .4c1f-cc8e-706f
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
#Config Times标识的是当前设备配置的计时器,BPDU每2秒发送一次(Hello),BPDU的最大老化时间为20s(Max Age),转发延迟为15s(FwDly),最大传递跳数为20跳
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
#Active Times标识的是正在生效的计时器,BPDU每2秒发送一次(Hello),BPDU的最大老化时间为20s(Max Age),转发延迟为15s(FwDly),最大传递跳数为20跳
CIST Root/ERPC :0 .4c1f-cc8e-706f / 0
CIST RegRoot/IRPC :0 .4c1f-cc8e-706f / 0
说明:对于STP而言在拓扑稳定后只有根网桥周期性的产生并发送STP配置BPDU,其他网桥从根端口收到该配置BPDU后需要上送CPU处理后,将发送桥ID填充为自身网络ID、message age计数器+1后再从其他端口发出去,而非不加处理的简单泛洪。 3、在S1上使用stp bridge-diameter 3 命令设置网络的直径为3,网络直径默认值为7。
[S1]stp bridge-diameter 3
注意:本命令需要在根交换机上配置才有效!!! 4、配置完成后,观察STP计时器的改变情况。
[S1]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :0 .4c1f-cc8e-706f
Config Times :Hello 2s MaxAge 12s FwDly 9s MaxHop 20
#最大老化时间被修改为12s,转发延迟被自动修改为9s.
Active Times :Hello 2s MaxAge 12s FwDly 9s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc8e-706f / 0
CIST RegRoot/IRPC :0 .4c1f-cc8e-706f / 0
CIST RootPortId :0.0
BPDU-Protection :Disabled
CIST Root Type :Primary root
5、可通过使用stp timer forward-delay 2000命令修改STP的Forward Delay时间为2000cs(默认为1500cs,cs代表百分之一秒。) 注意:只有在根交换机上配置才有效!!! 6、如果更改STP的Hello Time 时间及其他计时器,会出现大量丢包。 注意:建议使用stp bridge-diameter命令设置网络直径,交换机会根据网络直径自动计算出3个时间参数的最优值。
3.1.12.3 验证Forward Delay定时器¶
1、在PC-4上常PingPC-2 2、在S4上查看STP下各个端口的状态
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
0 Ethernet0/0/10 DESI FORWARDING NONE
3、将S4的Ethernet0/0/2 关掉,使E0/0/3接口成为新的根端口。
[S4-Ethernet0/0/2]shutdown
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/3 ROOT LEARNING NONE
0 Ethernet0/0/10 DESI FORWARDING NONE
4、观察PC-4界面,发现丢失了9个数据包。因为Forward Delay时间为9s,即S4上该端口从Discarding状态经过Learning状态,最终到Forwarding状态需要一个Forward Delay的时间间隔。
From 10.1.1.2: bytes=32 seq=5 ttl=128 time=47 ms
From 10.1.1.2: bytes=32 seq=6 ttl=128 time=78 ms
From 10.1.1.2: bytes=32 seq=7 ttl=128 time=62 ms
From 10.1.1.2: bytes=32 seq=8 ttl=128 time=63 ms
Request timeout!
Request timeout!
Request timeout!
Request timeout!
Request timeout!
Request timeout!
Request timeout!
Request timeout!
Request timeout!
From 10.1.1.2: bytes=32 seq=19 ttl=128 time=109 ms
From 10.1.1.2: bytes=32 seq=20 ttl=128 time=94 ms
From 10.1.1.2: bytes=32 seq=21 ttl=128 time=93 ms
注意:在华为交换机上,当从MSTP模式切换到STP模式,运行STP协议的设备上端口状态仍然保持和MSTP支持的端口状态一样,仅包括Forwarding、Learning和Discarding。
3.2 思考¶
交换机端口在发生状态转换时,都有哪些状态会经历一个Forward Delay? 答:正常端口在发生状态转换时会在Listening、Learning两个状态时经历一个转发延迟。有特殊端口(Portfast端口)则会跳过此两个状态直接进入转发。
四、RSTP基础配置¶
4.1 RSTP产生背景¶
1、RSTP(Rapid Spanning-Tree Protocol),快速生成树协议,该协议基于STP协议,对原有的STP协议进行了更加细致的修改和补充。 2、STP没有细致区分端口状态和端口角色 3、STP端口状态共有5种,即Disable、Blocking、Listening、Learning和Forwarding,收敛速度慢
4.2 RSTP优点¶
1、端口状态改为3种,Discarding、Learning、Forwarding,收敛速度快。根据端口是否转发用户流量和学习MAC地址来划分:如果不转发用户流量也不学习MAC地址,那么端口状态就是Discarding状态;如果不转发用户流量但是学习MAC地址,那么端口状态就是Learning状态;如果既转发用户流量也学习MAC地址,那么端口状态就是Forwarding状态。 2、端口角色总共有4种,根端口、指定端口、Alternate端口和Backup端口。Alternate端口就是由于学习(Learning)到其他网桥发送的配置BPDU报文而阻塞的端口,Alternate端口提供了从指定了指定桥到根的另一条可切换路径,作为根端口的备份端口。Backup端口就是由于学习到自身发送的配置BPDU报文而阻塞的端口,Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。
4.3 RSTP快速收敛机制¶
1、Proposal/Agreement机制:当一个端口被选举成为指定端口之后,在STP中,该端口至少要等待一个Forward Delay(Learning)时间才能迁移到Forwarding状态。而在RSTP中,此端口会先进入Discarding状态,再通过Proposal/Agreement机制(P/A机制)快速进入Forwarding状态。 注意:这种机制必须在点到点全双工链路上使用!!! 2、根端口快速切换机制:如果网络中一个根端口失效,那么网络中的最优的Alternate端口将成为根端口,进入Forwarding状态。因为通过这个Alternate端口连接的网段上必然有一个指定端口可以通往根桥。 3、边缘端口的引入:在RSTP里面,如果某个指定端口位于整个网络的边缘,即直接与终端设备直连。边缘端口不接收处理配置BPDU,不参与RSTP运算,可以由Disable直接转到Forwarding状态,且不经历时延,就像端口上将STP禁用。但是一旦边缘端口收到配置BPDU,就丧失了边缘端口属性,成为普通STP端口,并重新进行生成树计算,从而引起网络振荡。
4.4 RSTP基础配置实验¶
4.4.1 实验目的¶
1、理解RSTP的应用场景 2、掌握RSTP的基本配置 3、掌握RSTP的边缘端口的应用 4、理解RSTP备份端口
4.4.2 实验内容¶
本实验模拟公司网络场景。S3和S4是接入层交换机,负责用户的接入,S1和S2是汇聚交换机,四台交换机组成一个环形网络。为了防止网络中出现环路,产生网络风暴,所有交换机上都需要运行生成树协议。同时为了加快网络收敛速度,网络管理员选择使用RSTP协议,且使得性能较好的S1为根交换机,S2为次根交换机,并配置边缘端口进一步优化网络。
4.4.3 实验拓扑¶

4.4.4 实验编址¶
| 设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
|---|---|---|---|---|
| PC-1 | Ethernet 0/0/1 | 10.1.1.1 | 255.255.255.0 | N/A |
| PC-2 | Ethernet 0/0/1 | 10.1.1.2 | 255.255.255.0 | N/A |
4.4.5 MAC地址¶
| 设备 | 全局MAC地址 |
|---|---|
| S1(S5700) | 4c1f-ccbb-0e79 |
| S2(S5700) | 4c1f-cc69-3ec0 |
| S3(S3700) | 4c1f-ccff-12dc |
| S4(S3700) | 4c1f-cc8a-54c2 |
4.4.6 实验步骤¶
4.4.6.1 基本配置¶
根据实验编址表进行相应的基本IP地址配置,并使用Ping命令检测各直连链路的连通性。
4.4.6.2 配置RSTP基本功能¶
1、在汇聚层交换机S1和S2以及接入层交换机S3和S4上,把生成树模式由默认的MSTP改为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.
2、配置完成后,在交换机S1、S2、S3、S4上使用display stp命令查看生成树的模式以及根交换机的位置。
[S1]display stp
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge :32768.4c1f-ccbb-0e79 #交换机自己的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-cc69-3ec0 / 20000 #根交换机自己的ID
CIST RegRoot/IRPC :32768.4c1f-ccbb-0e79 / 0
[S2]display stp
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge :32768.4c1f-cc69-3ec0
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-cc69-3ec0 / 0
CIST RegRoot/IRPC :32768.4c1f-cc69-3ec0 / 0
[S3]display stp
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge :32768.4c1f-ccff-12dc
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-cc69-3ec0 / 220000
CIST RegRoot/IRPC :32768.4c1f-ccff-12dc / 0
[S4]display stp
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge :32768.4c1f-cc8a-54c2 #交换机自己的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-cc69-3ec0 / 200000 #根交换机自己的ID
CIST RegRoot/IRPC :32768.4c1f-cc8a-54c2 / 0
3、设置汇聚层交换机S1为根交换机,汇聚层交换机S2为备份根交换机。
[S1]stp root primary
[S2]stp root secondary
4、使用display stp brief命令查看每台交换机上的端口角色以及状态
[S1]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
[S2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
[S3]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
0 Ethernet0/0/4 BACK DISCARDING NONE
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
4.4.6.3 配置边缘端口¶
1、作为对比,在将S4上的E0/0/1配置为边缘端口之前,先把端口关闭再开启,观察端口状态的变化。初始状态为Discarding,15s之后,接口进入Learning状态。保持在Learning状态15s后,接口最终进入到Forwarding状态。所以,一个接口如果参与生成树计算,要经过Discarding和Learning状态,30s后才能最终进入转发状态。
[S4-Ethernet0/0/1]dis stp bri
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI DISCARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
[S4-Ethernet0/0/1]dis stp bri
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI LEARNING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
[S4-Ethernet0/0/1]dis stp bri
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
2、配置S3、S4上连接PC的端口为边缘端口
[S3-Ethernet0/0/1]stp edged-port enable
[S4-Ethernet0/0/1]stp edged-port enable
3、在将S4上的E0/0/1配置为边缘端口之后,先把端口关闭再开启,观察端口状态的变化。发现没有30s的延迟。
[S4-Ethernet0/0/1]shutdown
[S4-Ethernet0/0/1]undo shutdown
[S4-Ethernet0/0/1]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
4、在使用RSTP的环境下,可以在交换机上把连接PC、路由器、防火墙的端口都配置为边缘端口,边缘端口能降低终端设备访问网络需要等待的时间,明显提高网络的可用性。
4.4.6.4 查看备份端口状态¶
1、在S3上使用display stp brief命令查看生成树信息
[S3]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
0 Ethernet0/0/4 BACK DISCARDING NONE
2、在S3上关闭Ethernet0/0/3口,再次使用display stp brief命令查看生成树信息,发现Ethernet0/0/4由指定端口的备份端口转变为指定端口。
[S3]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/4 DESI DISCARDING NONE
3、在S4上使用display stp brief命令查看生成树信息
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
4、在S4上关闭Ethernet0/0/2,再次使用display stp brief命令查看生成树信息,发现Ethernet0/0/3由根端口的备份端口转变为根端口。
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/3 ROOT FORWARDING NONE
4.5 小结¶
4.5.1 RSTP优点¶
RSTP协议是对STP的升级,它重新划定端口的角色及状态,使用更快速的握手机制,降低了收敛时间,使它成为继STP协议后首选的生成树协议。
4.5.2 RSTP缺点¶
同一网络内的交换机上所以的VLAN共用同样的拓扑,此时可以使用MSTP来优化。
4.6 思考¶
S4交换机的E0/0/2接口关闭后,E0/0/3会成为新的根端口,如果此时S3交换机的指定端口E0/0/3也关闭掉,S4交换机上会发生端口角色或状态的改变吗?如果边缘端口收到BPDU,此端口还是边缘端口吗? 答:(1)S4交换机上不会发生端口角色或状态的改变(2)如果边缘端口收到配置BPDU,会认为此端口不再是连接PC的端口进而改变自己的边缘特性变成普通交换机端口进行生成树选举来防止环路产生。
五、MSTP基础配置¶
5.1 MSTP介绍¶
5.1.1 MST域¶
通过MSTP把一个交换网络划分成多个域,每个域内形成多颗生成树,生成树之间彼此独立。每个域叫做一个MST域(Multiple Spanning Tree Region,MST Region),每颗生成树叫做一个多生成树实例MSTI(Multiple Spanning Tree Instance)。
5.1.2 实例¶
实例内可以包含多个VLAN。通过将多个VLAN映射到一个实例里,可以节省通信开销和资源占用率。MSTP各个实例拓扑的生成树计算相互独立,通过这些实例可以实现负载均衡。把多个相同拓扑结构的VLAN映射到一个实例里,这些VLAN在端口上的转发状态取决于端口在对应MSTP实例的状态。
5.1.3 VLAN映射表¶
MSTP通过设置VLAN映射表(即VLAN和MSTI的对应关系表),把VLAN和MSTI联系起来。每个VLAN间只能对应一个MSTI,即同一VLAN的数据只能在一个MSTI中传输,而一个MSTI可能对应多个VLAN。
5.2 MSTP对比RSTP、STP¶
RSTP、STP存在同一个缺陷,即由于局域网内所有的VLAN共享一颗生成树,链路被阻塞后将不承载任何流量,造成带宽浪费,因此无法在VLAN间实现流量的负载均衡,还有可能造成VLAN的报文无法转发。
5.3 MSTP基础配置实验¶
5.3.1 实验目的¶
1、掌握MSTP的基础配置 2、掌握配置MSTP多实例的方法 3、掌握配置MSTP实现流量分担的方法 4、理解MSTP与STP、RSTP的区别
5.3.2 实验内容¶
某公司二层网络由三台交换机S1、S2、S3组成。交换机S1与S2在一个楼层,S3在另一个楼层。PC-1与PC-2属于HR部门,划入VLAN 10,PC-3和PC-4属于IT部门,划入VLAN 20。当使用普通STP时,STP将会阻塞一条链路来防止环路产生,导致该链路闲置。为了保证所有链路都能充分利用,使流量能够分担,网络管理员通过配置MSTP来实现。
5.3.3 实验拓扑¶

5.3.4 实验编址¶
| 设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
|---|---|---|---|---|
| PC-1 | Ethernet 0/0/1 | 192.168.10.1 | 255.255.255.0 | N/A |
| PC-2 | Ethernet 0/0/1 | 192.168.10.2 | 255.255.255.0 | N/A |
| PC-3 | Ethernet 0/0/1 | 192.168.20.1 | 255.255.255.0 | N/A |
| PC-4 | Ethernet 0/0/1 | 192.168.20.2 | 255.255.255.0 | N/A |
5.3.5 MAC地址¶
| 设备 | 全局MAC地址 |
|---|---|
| S1(S3700) | 4c1f-cc01-5ed7 |
| S2(S3700) | 4c1f-cc1c-22a8 |
| S3(S3700) | 4c1f-cc9f-267f |
5.3.6 实验步骤¶
5.3.6.1 基础配置¶
根据实验编址表进行相应的基本IP地址配置,并使用Ping命令检测各直连链路的连通性。
5.3.6.2 划分VLAN¶
将连接PC的端口设置为Access接口类型,划入相应VLAN。交换机间的接口配置为Trunk接口,允许所有VLAN通过。
[S1]vlan 10
[S1-vlan10]description HR
[S1-vlan10]vlan 20
[S1-vlan20]description IT
[S1]interface Ethernet 0/0/3
[S1-Ethernet0/0/3]port link-type access
[S1-Ethernet0/0/3]port default vlan 10
[S1-Ethernet0/0/3]int e0/0/1
[S1-Ethernet0/0/1]port link-type trunk
[S1-Ethernet0/0/1]port trunk allow-pass vlan all
[S1-Ethernet0/0/1]int e0/0/2
[S1-Ethernet0/0/2]port link-type trunk
[S1-Ethernet0/0/2]port trunk allow-pass vlan all
[S2]vlan 10
[S2-vlan10]description HR
[S2-vlan10]vlan 20
[S2-vlan20]description IT
[S2]interface Ethernet 0/0/3
[S2-Ethernet0/0/3]port link-type access
[S2-Ethernet0/0/3]port default vlan 20
[S2-Ethernet0/0/3]int e0/0/1
[S2-Ethernet0/0/1]port link-type trunk
[S2-Ethernet0/0/1]port trunk allow-pass vlan all
[S2-Ethernet0/0/1]int e0/0/2
[S2-Ethernet0/0/2]port link-type trunk
[S2-Ethernet0/0/2]port trunk allow-pass vlan all
[S3]vlan 10
[S3-vlan10]description HR
[S3-vlan10]vlan 20
[S3-vlan20]description IT
[S3-Ethernet0/0/1]port link-type trunk
[S3-Ethernet0/0/1]port trunk allow-pass vlan all
[S3-Ethernet0/0/1]int e0/0/2
[S3-Ethernet0/0/2]port link-type trunk
[S3-Ethernet0/0/2]port trunk allow-pass vlan all
[S3-Ethernet0/0/2]int e0/0/3
[S3-Ethernet0/0/3]port link-type access
[S3-Ethernet0/0/3]port default vlan 10
[S3-Ethernet0/0/3]int e0/0/4
[S3-Ethernet0/0/4]port link-type access
[S3-Ethernet0/0/4]port default vlan 20
5.3.6.3 理解MSTP的运行机制及验证单实例¶
1、华为交换机上默认即运行MSTP协议。 2、使用display stp brief命令查看S1、S2、S3上生成树的状态和统计的摘要信息,可以观察到在默认情况下,所有VLAN都处于MSTP实例0中。
<S1>dis stp bri
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 DESI FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
<S2>dis stp bri
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
<S3>dis stp bri
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT FORWARDING NONE
0 Ethernet0/0/2 ALTE DISCARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
0 Ethernet0/0/4 DESI FORWARDING NONE
3、PC-2常PingPC-1,PC-4常PingPC-3。在S3上的E0/0/1抓包观察

4、PC-2常PingPC-1,PC-4常PingPC-3。在S3上的E0/0/2抓包观察

5、以上进行比较,观察到在S3上的E0/0/2接口上,没有任何数据包转发,只接收到上行接口周期发送的BPDU。 6、S2和S3之间的链路完全处于闲置状态,造成了资源的浪费,也导致了S1与S3间链路上数据转发任务繁重,易引起拥塞丢包。为了能够有效地利用链路资源,可以通过配置MSTP的多实例来实现。
5.3.6.4 配置MSTP多实例¶
1、MSTP网络由一个或者多个MST域组成,每个MST域中可以包含一个或多个MSTI,即MST实例。MST域中含有一个或多个MSTI,即MST实例。MST域中含有一张VLAN映射表,描述了VLAN与MSTI之间的映射关系,默认情况下所有VLAN都映射到MSTI 0 中。MSTI之间独立。 2、在S1上配置MSTP的多实例。使用stp region-configuration命令进入MST域视图。
[S1]stp region-configuration
[S1-mst-region]
3、使用region-name huawei命令配置MST域名为hauwei,使用revision-level 1命令设置MSTP的修订级别为1,使用instance命令指定VLAN 10映射到MST1,指定VLAN 20映射到MST2。
[S1-mst-region]region-name huawei
[S1-mst-region]revision-level 1
[S1-mst-region]instance 1 vlan 10
[S1-mst-region]instance 2 vlan 20
4、使用active region-configuration命令激活MST域配置
[S1-mst-region]active region-configuration
Info: This operation may take a few seconds. Please wait for a moment...done.
5、S2、S3上做相同配置
[S2]stp region-configuration
[S2-mst-region]region-name huawei
[S2-mst-region]revision-level 1
[S2-mst-region]instance 1 vlan 10
[S2-mst-region]instance 2 vlan 20
[S3]stp region-configuration
[S3-mst-region]region-name huawei
[S3-mst-region]revision-level 1
[S3-mst-region]instance 1 vlan 10
[S3-mst-region]instance 2 vlan 20
注意:在同一MST域中,必须具有相同域名、修订级别以及VLAN到MST1的映射关系。 6、配置完成后,在S1、S2、S3上使用display stp region-configuration命令查看交换机上当前生效的MST域配置信息。
[S1]display stp region-configuration
Oper configuration
Format selector :0
Region name :huawei
Revision level :1
Instance VLANs Mapped
0 1 to 9, 11 to 19, 21 to 4094
1 10
2 20
[S2]display stp region-configuration
Oper configuration
Format selector :0
Region name :huawei
Revision level :1
Instance VLANs Mapped
0 1 to 9, 11 to 19, 21 to 4094
1 10
2 20
[S3]display stp region-configuration
Oper configuration
Format selector :0
Region name :huawei
Revision level :1
Instance VLANs Mapped
0 1 to 9, 11 to 19, 21 to 4094
1 10
2 20
7、这里注意由于每个MSTP实例都进行独立的生成树计算,所在在默认不变动任何生成树参数的情况下,其实每棵生成树的选举结果是一致的。分别在S1、S2、S3上使用display stp instance 0 brief命令、display stp instance 1 brief命令、display stp instance 2 brief命令查看实例0、1、2的生成树状态和统计的摘要信息,可以观察到以上3个实例中,选举结果都是一致的,都是S3的E0/0/2接口处于Discarding状态。
<S1>dis stp instance 0 brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 DESI FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
<S2>dis stp instance 0 brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
<S3>dis stp instance 0 brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT FORWARDING NONE
0 Ethernet0/0/2 ALTE DISCARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
0 Ethernet0/0/4 DESI FORWARDING NONE
<S1>dis stp instance 1 brief
MSTID Port Role STP State Protection
1 Ethernet0/0/1 DESI FORWARDING NONE
1 Ethernet0/0/2 DESI FORWARDING NONE
1 Ethernet0/0/3 DESI FORWARDING NONE
<S2>dis stp instance 1 brief
MSTID Port Role STP State Protection
1 Ethernet0/0/1 DESI FORWARDING NONE
1 Ethernet0/0/2 ROOT FORWARDING NONE
<S3>dis stp instance 1 brief
MSTID Port Role STP State Protection
1 Ethernet0/0/1 ROOT FORWARDING NONE
1 Ethernet0/0/2 ALTE DISCARDING NONE
1 Ethernet0/0/3 DESI FORWARDING NONE
<S1>dis stp instance 2 brief
MSTID Port Role STP State Protection
2 Ethernet0/0/1 DESI FORWARDING NONE
2 Ethernet0/0/2 DESI FORWARDING NONE
<S2>dis stp instance 2 brief
MSTID Port Role STP State Protection
2 Ethernet0/0/1 DESI FORWARDING NONE
2 Ethernet0/0/2 ROOT FORWARDING NONE
2 Ethernet0/0/3 DESI FORWARDING NONE
<S3>dis stp instance 2 brief
MSTID Port Role STP State Protection
2 Ethernet0/0/1 ROOT FORWARDING NONE
2 Ethernet0/0/2 ALTE DISCARDING NONE
2 Ethernet0/0/4 DESI FORWARDING NONE
8、为实现S2与S3间的链路被利用,在实例1中,保持目前生成树选举结果不变,即使得VLAN 10中的HR部门内的流量通过S1与S3间的链路转发。在实例2中,使用stp instance priority命令配置,使得S2成为根交换机,阻塞S1与S3间的链路,使得VLAN 20中的IT部门的流量通过S2与S3间的链路转发。
[S2]stp instance 2 priority 0
9、配置完成后,在S1、S2、S3上使用dis stp instance 2 brief命令查看实例2的生成树状态和统计的摘要信息。
<S1>dis stp instance 2 brief
MSTID Port Role STP State Protection
2 Ethernet0/0/1 ROOT FORWARDING NONE
2 Ethernet0/0/2 DESI FORWARDING NONE
[S2]dis stp instance 2 brief
MSTID Port Role STP State Protection
2 Ethernet0/0/1 DESI FORWARDING NONE
2 Ethernet0/0/2 DESI FORWARDING NONE
2 Ethernet0/0/3 DESI LEARNING NONE
[S3]dis stp instance 2 brief
MSTID Port Role STP State Protection
2 Ethernet0/0/1 ALTE DISCARDING NONE
2 Ethernet0/0/2 ROOT FORWARDING NONE
2 Ethernet0/0/4 DESI FORWARDING NONE
10、再次PC-2常PingPC-1,PC-4常PingPC-3。在S3上的E0/0/1抓包观察
11、再次PC-2常PingPC-1,PC-4常PingPC-3。在S3上的E0/0/2抓包观察

12、至此完成了MSTP的多实例的配置,并达到流量分担的目的,有效的地利用了网络资源,也同时使得S3的两条上行链路可以互相备份。
说明:MSTP并不会为每个MSTI生成、发送一份独立的BPDU,而是通过在IST BPDU中的Mrecord字段反映VLAN 与MSTI的映射关系。
5.4 思考¶
当MSTP和RSTP混合使用的时候,如何选举根桥? 答:MSTP协议可以把支持MSTP的交换机和不支持MSTP的交换机划分为不同的区域,分别称作MST域和SST域。在MST域内部运行多实例化的生成树,在MST域的边缘运行RSTP兼容的内部生成树IST(Internal Spannning Tree)。对于RSTP来说,可以将MSTP域内的设备看成一台RSTP设备来进行正常的根桥选举。