RSTP在STP基础上进行改进,实现了网络拓扑的快速收敛。但是 RSTP和STP存在一个缺陷,即局域网内所有主机的VLAN共享一颗生成树,链路阻塞后将不承载人格流量,造成带宽浪费,因此无法在VLAN间实现数据流量的负载均衡,还有可能造成部分VLAN报文无法转发。
通过MSTP将一个交换网络划分成多个域,每个域形成多颗生成树,生成树间彼此独立,每个域叫做一个MST域,每颗生成树叫做一个多生成树实例MSTI。实例可以包含多个VLAN,通过将多个VLAN映射到同一个实例中,节省通信开销和资源占有率。MSTP中改革实例拓扑的生成树计算相互独立,通过这些实例可以实现负载均衡。
MSTP通过设置VLAN映射表(vlan与msti的对应关系),把VLAN与MSTI联系起来,每个VLAN只能对应一个MSTI,即同一个VLAN的数据只能在一个MSTI中传输,而一个MSTI可能对应多个VLAN。
如下图,PC1 PC2 属于vlan10, PC3 PC4属于vlan20,使用普通STP时,STP阻塞一条链路来防止环路产生,导致该链路闲置。为了保证所有链路都能充分利用,使流量分担,可以通过配置MSTP来实现。
配置:
交换机与PC连=连接的端口配置为access,按图配置为不同的vlan;交换机之间的接口配置为trunk,允许所有vlan通过。具体配置就不阐述了,之前的文章都写烂了。
运行dis stp和dis stp brief可以查看到SW2为根交换机,SW1的e0/0/2端口是替代端口ALTE ,处于DISCARDING丢弃状态。MSTID,即MSTP的实例ID,三台交换机上目前都为0,默认情况下所有VLAN都处于实例0中。
MSTP单个实例中,选举规则与RSTP一致,端口角色和状态与RSTP也一致。
在PC1上ping PC2,抓包查看。同一个VLAN的数据包需要绕转到其他交换机转发,SW1与SW3之间的链路处于闲置状态(端口只接受上行接口周期性发送的BPDU),造成资源浪费,也导致SW1 SW2之间数据转发任务繁重,容易引起拥塞丢包。可以通过配置MSTP的多实例来实现。
配置MSTP。MSTP网络由一个或者多个MST域组成,每个MST域中可以包含一个或者多个MSTI,即MST实例。MST域中含有一张VLAN映射表,描述了VLAN与MSTI之间的映射关系,默认所有VLAN都映射到MSTI 0中。MSTI之间彼此独立。
1、进入MST域视图
[SW1]stp region-configuration
2、配置MST域名为huawei
[SW1-mst-region]region-name huawei
3、MSTP修订级别为1
[SW1-mst-region]revision-level 1
4、vlan10映射到MSTI 1,vlan20映射到MSTI 2
[SW1-mst-region]instance 1 vlan 10
[SW1-mst-region]instance 2 vlan 20
5、激活MST域配置
[SW1-mst-region]active region-configuration
在SW2 SW3中做同样的配置。在每个MST域中,必须具有相同的域名、修订级别、VLAN与MSTI之间的映射关系。
配置完成后使用dis stp region-configuration 查看MST域配置信息。
在PC1上ping PC2,抓包SW1的E0/0/2口,数据仍然没有转发。dis stp brief查看发现实例的E0/0/2都是替代端口ALTE ,处于DISCARDING丢弃状态。也可以用dis stp instance 1 brief 查看。三个实例的选举结果是一样的。
要想SW1 SW3之间的链路被利用,在实例1中配置SW1为根交换机,阻塞SW2 SW3之间的链路,使得VLAN 10中的L流量通过SW1 SW2间的链路转发。实例2保持不变。
[SW1]stp instance 1 priority 0
在三个交换机dis stp instance 1 brief,SW1变为根交换机,SW3的E0/0/2口为是替代端口ALTE ,处于DISCARDING丢弃状态。在VLAN 10通信中,就可以使用SW1 SW3之间的直通链路。
在在PC1上ping PC2,抓包SW3的E0/0/1查看。SW1 SW3之间的直通链路可以使用。
实例2中,SW1的E0/0/2口E0/0/2还是替代端口ALTE ,处于DISCARDING丢弃状态。
在在PC3上ping PC4,抓包SW3的E0/0/2查看,使用的是SW2 SW3之间的直通链路。
,MSTP多实例的配置,达到了流量分担的目的,也使得SW3上的两条上行链路可以相互备份。抓包可以发现,MSTP并不会为每个MSTI生成、发送一份独立的BPDU报文,二十通过在IST BPDU中的mrecord字段来反映VLAN与MSTI的映射关系。
网友评论