MSTP多生成树协议+实验案例

目录

 

MSTP概述

MSTP的基本原理

MSTP的网络层次

实验案例(MSTP的负载均衡)


MSTP概述

传统的生成树只运行一个实例,且收敛速度慢,RSTP在传统STP基础上通过改进达到了加速网络拓扑收敛的目的,但是依然存在缺陷。由于STP和RSTP在整个局域网中,所有的VLAN共享一个生成树实例,因此无法实现基于VLAN的负载均衡,并且存在闲置链路,网络环境稳定状态下备份链路始终不能转发数据流量,造成带宽的浪费。

如图所示,在STP或RSTP生成树时,若交换机S1为根交换机时,S2和S3之间的链路将处于阻塞状态,且不转发任何流量。即使网络拥塞时,S2和S3之间的链路也不能被利用,造成资源的浪费。

 

MSTP (Multiple Spanning Tree Algorithm and Protocol)是多生成树技术,允许在一个交换环境中运行多个生成树,每个生成树称为一个实例,实例之间的生成树彼此独立,如一个实例下的阻塞接口在另外一个实例上可能是转发接口。和PVST不同,MSTP允许多个VLAN运行一个生成树实例。大部分情况下,运行多个生成树实例的好处就在于链路的负载分担,但是当只有一条冗余链路时,运行两个生成树实例完全可以实现负载均衡,同时又能节约系统开销。所以MSTP实现的是链路冗余,结合vrrp可以实现虚拟网关冗余来实现大部分中小企业的需求。vrrp的博客会陆续更新。

如下图所示,网络环境中存在两个生成树实例,不同实例的根网桥在不同物理交换机上,不但可以实现负载分担,而且不会因为过多的实例而占用系统资源。

vlan10路径:S3—S1
vlan20路径:S3—S2

MSTP将环路网络修剪成一个无环的树形网络,避免广播风暴的产生,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡,MSTP还兼容STP和RSTP。

MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。每棵生成树称为一个多生成树实例( Multiple Spanning Tree Instance,MSTI),每个域称为一个MST域。

MSTP通过设置VLAN映射表(即VLAN和MSTI的对应关系表),把VLAN和MSTI联系起来。每个VLAN只能对应一个MSTI,即同一 VLAN 的数据只能在一个MSTI中传输,而一个MSTI可以对应多个VLAN,如上图所示, Instance1对应VLAN 10, Instance2对应VLAN 20,S1为MSTI的根交换机,S2为MSTI2的根交换机, Instance1阻塞S2与S3之间链路; Instance2阻塞S1与S3之间链路,,可以充分利用网络带宽,有效避免资源浪费。

MSTP的基本原理

在MSTP中,通过把整个互联的二层以太网络划分成若干域。在域内,把其中的VLAN分成若干组,每组具有相同的拓扑结构,然后定义若干MSTI,并把这些生成树实例和不同的VLAN映射起来。

所谓实例就是多个VLAN的一个集合。通过将多个VLAN映射到一个实例,可以节省通信开销和资源占用率。MSTP各个实例拓扑的计算相互独立。在这些实例上可以实现负载均衡。可以把多个相同拓扑结构的VLAN映射到一个实例里,这些VLAN在接口上的转发状态取决于接口在对应MSTP实例的状态。

MSTP的网络层次

 

一个二层交换网络可以划分多个MST域( Multiple Spanning Tree Region ),每个生成树可以划分多个MSTI,每个实例中可以映射多个VLAN。

 

下图所示的MSTP网络中包含3个MST域。分别是A、B、C。每个MST域中包含一个或多个MSTI。MST域B中包含两个MSTI,分别是 Instance 1和 Instance 2。 Instance1和VLAN 1-5映射, Instance2和VLAN 6-10映射。

MST域

MST域是多生成树域。由局域网中的多台交换机及它们之间的网段构成。一个局域网可以存在多个MST域,各MST域之间在物理上直接或间接相连。用户可以通过MSTP配置命令把多台交换机划分在同一个MST域内。MST域中的交换机都启用了MSTP,配置了相同的域名及VLAN映射表(VLAN映射表是MST域的属性,它描述了VLAN和MSTI之间的映射关系)。

MSTI

一个MST域内可以运行多个MSTI。MSTI之间彼此独立,MSTI可以与ー个或者多个VLAN对应。但一个VLAN只能与一个MSTI对应。

端口角色

MSTP中的端口角色主要有根端口、指定端口、预备端口、备份端口和边缘端口。除边缘端口外,其他端口角色都参与MSTP的计算过程。同一端口在不同的MSTI中可以担任不同的角色。

根端口:非根交换机上到根交换机开销最小的端口就是该交换机的根端口,根端口能够转发数据流量到根交换机。如上图所示,P3、P4和P8为根端口。

指定端口:该交换机向下游交换机发送BPDU或者数据流量的端口,如上图所示,P1、P2和P6为指定端口( 当S3优先级高于S2时 )。

边缘端口:位于网络最边缘处,不参与生成树计算,一般作为连接非交换机设备,如终端服务器、PC等。

预备( Alternate)端口:从转发数据流量的角度来看,预备端口提供了到达根交换机的一条备份链路。其接口状态为阻塞,不转发数据流量。当根端口被阻塞时,预备端口将成为新的根端口,如上图所示,P5为预备端口。

备份( Backup)端口:当同一台交换机的两个端口互相连接时就存在一个环路,此时交换机会将其中一个端口阻塞,备份端口就是被阻塞的那个端口。从发送BPDU来看,备份端口就是由于学习到本设备上其他端口发送的BPDU而被阻塞的端口。从转发用户流量来看,备份端口作为指定端口的备份,提供了一条从根交换机到叶节点(非根交换机)的备份通路。

MSTP的端口状态

Forwarding:在这种状态下,端口既转发用户流量,又接收/发送BPDU报文。

Learning:这是一种过渡状态。在 Learning状态下,交换机会根据收到的用户流量,学习MAC地址表,但不转发用户流量,所以称为学习状态。 Learning状态的端口接收/发送BPDU报文,不转发用户流量。

Discarding:在这种状态下,端口只接收BPDU报文。

实验案例(MSTP的负载均衡)

当前网络有三台交换机,两台终端PC,交换机开启MSTP协议,区域名称为HUAWEI,修订版本级别为1。分别建立MSTI1和MSTI2,VLAN10映射到MSTI1,VLAN20映射到MSTI2,MSTI1的根网桥在S1上,MSTI2的根网桥在S2上。VLAN10中的客户端地址为10.1.10.1,VLAN20中的客户端地址为10.1.20.1。利用MSTP实现VLAN10和VLAN20的互访,并且VLAN10的流量通过路径S3 → S1 → R1到达网关,VLAN20的流量通过路径S3 → S2 → R1到达网关,如下图所示。

R1的配置

[Huawei]int g0/0/0

[Huawei-GigabitEthernet0/0/0]ip add 10.1.10.254 24

[Huawei-GigabitEthernet0/0/0]un sh

Info: Interface GigabitEthernet0/0/0 is not shutdown.

[Huawei-GigabitEthernet0/0/0]int g0/0/1

[Huawei-GigabitEthernet0/0/1]ip add 10.1.20.254 24

[Huawei-GigabitEthernet0/0/1]un sh
Info: Interface GigabitEthernet0/0/1 is not shutdown.

[Huawei-GigabitEthernet0/0/1]quit

S1的配置如下

[S1]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
[S1]int g0/0/2

[S1-GigabitEthernet0/0/2]port link-type trunk

[S1-GigabitEthernet0/0/2]port trunk allow-pass vlan all

[S1-GigabitEthernet0/0/2]int g0/0/1

[S1-GigabitEthernet0/0/1]port link-type trunk

[S1-GigabitEthernet0/0/1]port trunk allow-pass vlan all

[S1-GigabitEthernet0/0/1]int g0/0/3

[S1-GigabitEthernet0/0/3]port link-type hybrid

[S1-GigabitEthernet0/0/3]port hybrid untagged vlan 10

[S1-GigabitEthernet0/0/3]port hybrid pvid vlan 10

[S1-GigabitEthernet0/0/3]quit

S2的配置

[S2]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.

[S2]int g0/0/2

[S2-GigabitEthernet0/0/2]port link-type trunk

[S2-GigabitEthernet0/0/2]port trunk allow-pass vlan all

[S2-GigabitEthernet0/0/2]int g0/0/1

[S2-GigabitEthernet0/0/1]port link-type trunk

[S2-GigabitEthernet0/0/1]port trunk allow-pass vlan all

[S2-GigabitEthernet0/0/1]quit

[S2]int g0/0/3

[S2-GigabitEthernet0/0/3]port link-type hybrid

[S2-GigabitEthernet0/0/3]port hybrid untagged vlan 20

[S2-GigabitEthernet0/0/3]port hybrid pvid vlan 20

[S2-GigabitEthernet0/0/3]quit

S3的配置

[S3]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.

[S3]int e 0/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

[S3-Ethernet0/0/4]quit

[S3]int e0/0/1

[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]quit

配置MSTP,S1如下:

[S1]stp mode mstp   //开启mstp模式

[S1]stp region-configuration  //进入生成树区域配置

[S1-mst-region]region-name HUAWEI  //区域名字
 
[S1-mst-region]revision-level 1   //定义修订等级

[S1-mst-region]instance 1 vlan 10  //vlan10加入生成树1
 
[S1-mst-region]instance 2 vlan 20  //vlan 20 加入生成树2

[S1-mst-region]active region-configuration  //激活配置
Info: This operation may take a few seconds. Please wait for a moment...done.

[S1-mst-region]quit

[S1]stp instance 1 root primary  //在该交换机上把instance1设为主根桥

[S1]stp instance 2 root secondary  //在该交换机上把instance2设为备份根桥

S2配置如下:

[S2]stp mode mstp
[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

[S2-mst-region]active region-configuration 
Info: This operation may take a few seconds. Please wait for a moment...done.

[S2-mst-region]quit

[S2]stp instance 1 root secondary

[S2]stp instance 2 root primary

S3配置如下:

[S3]stp mode mstp

[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

[S3-mst-region]active region-configuration 
Info: This operation may take a few seconds. Please wait for a moment...done.

[S3-mst-region]quit

验证配置结果

在S3上使用 display stp brief 命令查看STP接口角色及状态信息。结果如下所示、其中 Instance1中的 Ethernet 0/0/2和 Instance 2中的 Ethernet 0/0/1处于阻塞状态。同时,两个实例之间互相独立彼此不受影响。

[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               DESI  FORWARDING      NONE
   0    Ethernet0/0/4               DESI  FORWARDING      NONE
   1    Ethernet0/0/1               ROOT FORWARDING      NONE
   1    Ethernet0/0/2               ALTE  DISCARDING      NONE
   1    Ethernet0/0/3               DESI  FORWARDING     NONE
   2    Ethernet0/0/1               ALTE  DISCARDING      NONE
   2    Ethernet0/0/2               ROOT FORWARDING     NONE
   2    Ethernet0/0/4               DESI  FORWARDING     NONE

PC>ping 10.1.20.1

Ping 10.1.20.1: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 10.1.20.1: bytes=32 seq=2 ttl=127 time=78 ms
From 10.1.20.1: bytes=32 seq=3 ttl=127 time=109 ms
From 10.1.20.1: bytes=32 seq=4 ttl=127 time=110 ms
From 10.1.20.1: bytes=32 seq=5 ttl=127 time=109 ms

--- 10.1.20.1 ping statistics ---
  5 packet(s) transmitted
  4 packet(s) received
  20.00% packet loss
  round-trip min/avg/max = 0/101/110 ms
发布了20 篇原创文章 · 获赞 1 · 访问量 1453

猜你喜欢

转载自blog.csdn.net/weixin_43815140/article/details/104819663