1.RSTP与STP的不足:由于局域网内所有的VLAN共享一棵生成树,链路被阻塞后将不承载任何流量,会造成资源的浪费,因此无法在VLAN内实现数据流量的负载均衡,同时还有可能造成部分的VLAN报文无法转发。
2.MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此相互独立。将每个域叫做一个MST域,每棵生成树叫做一个多生成树实例MSTI。
3.实例内可以包含多个VLAN。通过将多个VLAN映射到同一个实例内,可以节省通信开销和资源占用率。MSTP各个实例拓扑的生成树计算相互之间独立,通过这些实例可以实现负载均衡。把多个相同拓扑结构的VLAN映射到一个实例内,这些VLAN在端口上的转发状态取决于端口在对应的MSTP实例内的状态。
4.MSTP通过设置VLAN映射表(VLAN和MSTI的对应关系表),把VLAN和MSTI联系起来。每个VLAN只能对应一个MSTI,即同一个VLAN的数据只能在一个MSTI中传输,而一个MSTI可能会对应多个VLAN。
将相应的PC划入所对应的VLAN内,通过配置MSTP来实现流量的分担和保证链路的充分利用。
(1)掌握MSTP的基础配置;
(2)掌握MSTP多实例的配置方法;
(3)掌握配置MSTP实现流量分担的方法;
(4)理解MSTP、STP和RSTP的分别
实验中交换机的MAC地址:
设备及型号 | 全局MAC地址 |
S1(S3700) | 4c1f-ccd0-71be |
S2 | 4c1f-ccc9-7271 |
S3 | 4c1f-cc58-3fdf |
1.基础配置:
(1)在相应的PC机上配置IP地址;
(2)创建VLAN,并将PC划入到相应的VLAN区域内,同时配置Access接口和Trunk接口(允许所有VLAN通过)。
2.MSTP的运行机制和验证单实例的过程:
使用display stp命令查看生成树的状态和统计信息。
[S1]dis stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.4c1f-ccd0-71be
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-cc58-3fdf / 200000
CIST RegRoot/IRPC :32768.4c1f-ccd0-71be / 0
......
使用display stp brief命令查看各交换机上生成树的状态和统计的摘要信息。
[S1]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ALTE DISCARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI LEARNING NONE
[S2]dis 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]dis 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
0 Ethernet0/0/4 DESI FORWARDING NONE
//MSTID:MSTP的实例ID 在默认情况下,所有的VLAN都处于MSTP实例0中。
可以看出,S3交换机上的所有端口都是指定端口,而且都处于转发状态,可判断S3交换机为根交换机。
在MSTP的单个实例中,选举规则与RSTP一致,端口角色和状态与RSTP也一致。
使用ping -t命令,在PC-2上持续发送ping包至PC-1,在PC-4上持续发送ping包至PC-3上,同时在S3的E0/0/1接口上抓包观察现象。
PC>ping 192.168.10.1 -t
Ping 192.168.10.1: 32 data bytes, Press Ctrl_C to break
From 192.168.10.1: bytes=32 seq=1 ttl=128 time=62 ms
From 192.168.10.1: bytes=32 seq=2 ttl=128 time=78 ms
PC>ping 192.168.20.1 -t
Ping 192.168.20.1: 32 data bytes, Press Ctrl_C to break
From 192.168.20.1: bytes=32 seq=1 ttl=128 time=78 ms
From 192.168.20.1: bytes=32 seq=2 ttl=128 time=63 ms
可以观察到:S3的E0/0/2接口上,没有任何数据包的转发,只接收到上行接口周期发送的BPDU。
此时的S2和S3间的链路处于完全闲置状态,造成了资源的浪费。也导致了S1和S3间链路上数据转发的任务繁重,容易造成拥塞丢包。
解决方案:通过配置MSTP的多实例可以实现对链路资源的有效利用。
MSTP网络由一个或多个MST域组成,每个MST域中可以包含一个或多个MSTI,即MST实例。MST域中含有一张VLAN映射表,描述了VLAN与MSTI之间的映射关系。默认情况下,所有的VLAN都属于MSTI 0中,同时各MSTI之间彼此独立。
(1)使用 stp region-configuration命令进入MST域视图;
(2)使用region-name命令配置MST域名;
(3)使用revision-level命令配置MSTP的修订级别;
(4)使用instance命令指定VLAN 10映射到MSTI 1中,VLAN 20映射到MSTI 2中;
(5)使用active region-configuration命令激活MST域的配置。
注意:在同一MST域内,必须使用相同的域名、修订级别和VLAN到MSTI的映射关系。
[S1]stp region-configuration
[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
[S1-mst-region]active region-configuration
Info: This operation may take a few seconds. Please wait for a moment...don
使用display stp region-configuration命令查看交换机上当前生效的MST域的配置信息。
[S1]dis 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
......
现在在PC-2上持续发送ping包至PC-1,PC-4上持续发送ping包至PC-3上,同时在S3的E0/0/1接口、E0/0/2接口上抓包,观察现象。
S3的E0/0/1接口的抓包结果:
S3的E0/0/2接口的抓包结果:
由于每个MSTP实例都进行独立的生成树计算,所以在默认不变动任何生成树的参数的情况下,其实每棵生成树的选举结果都是一样。
使用display stp instance 0 brief命令查看默认实例0中的生成树的转台和统计的摘要信息。实例1和实例2的查看方式相同。
[S1]dis stp instance 0 brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ALTE DISCARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
......
[S1]dis stp instance 1 brief
MSTID Port Role STP State Protection
1 Ethernet0/0/1 ALTE DISCARDING NONE
1 Ethernet0/0/2 ROOT FORWARDING NONE
1 Ethernet0/0/3 DESI FORWARDING NONE
......
[S1]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
......
现在使用stp instance priority命令配置S2成为实例2中的根交换机,可以阻塞S1与S3间的链路,使得vlan 20内的部分流量通过S2和S3之间的链路转发。
[S2]stp instance 2 priority 0
然后查看实例2的生成树的状态和统计的摘要信息,以及在S3的相应接口上抓包观察现象。
补充:MSTP不会为每一个MSTI生成并发送一份独立的BPDU,而是通过在IST BPDU中的Mrecord字段反映VLAN和MSTI的映射关系。
???思考:当MSTTP和RSTP混合使用时,如何进行根桥的选举?
答:MSTP协议可以把支持MSTP的交换机和不支持MSTP的交换机划分成不同的区域,分别称为MST域和SST域。在MST域内部运行多实例化的生成树,在MSTP域的边缘运行RSTP兼容的内部生成树IST。对应RSTP而言,可以将MSTP域内的设备看做一台RSTP设备来进行正常的根桥选举。