原理简述:

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的分别

实验拓扑:

mstp如何对接ospf mstp 配置_链路

实验中交换机的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

mstp如何对接ospf mstp 配置_生成树_02

可以观察到:S3的E0/0/2接口上,没有任何数据包的转发,只接收到上行接口周期发送的BPDU。

此时的S2和S3间的链路处于完全闲置状态,造成了资源的浪费。也导致了S1和S3间链路上数据转发的任务繁重,容易造成拥塞丢包。

解决方案:通过配置MSTP的多实例可以实现对链路资源的有效利用。

3.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接口的抓包结果:

mstp如何对接ospf mstp 配置_抓包_03

S3的E0/0/2接口的抓包结果:

mstp如何对接ospf mstp 配置_抓包_04

由于每个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设备来进行正常的根桥选举。