华为路由与交换 MSTP原理与配置 学习笔记

本次博客主要介绍MSTP原理与配置。

MSTP 多生成树协议,可以通过这个协议生成多个树,而不是单一的一颗树了。

RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但由于局域网内所有的VLAN共享一棵生成树,因此被阻塞后链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡,从而造成带宽浪费。为了弥补STPRSTP的缺陷,IEEE2002年发布的802.1s标准定义了MSTPMSTP兼容STPRSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。

 

单生成树的弊端 - 部分VLAN路径不通

 如下图所示,网络中有SWASWBSWC三台交换机。配置VLAN2通过两条上行链路,配置VLAN3只通过一条上行链路。为了解决VLAN2的环路问题,需要运行生成树。在运行单个生成树的情况下,假设SWCSWB相连的端口成为预备端口(Discarding状态),那么VLAN3的路径就会被断开,无法上行到SWB

 

单生成树的弊端 - 无法实现流量分担 

如下图所示,为了实现流量分担,需要配置两条上行链路为Trunk链路,允许通过所有VLANSWASWB之间的链路也配置为Trunk链路,允许通过所有VLAN。将VLAN2的三层接口配置在SWA上,将VLAN3的三层接口配置在SWB上。

我们希望VLAN2VLAN3分别使用不同的链路上行到相应的三层接口,但是如果连接到SWB的端口成为预备端口(Alternate Port)并处于Discarding状态,则VLAN2VLAN3的数据都只能通过一条上行链路上行到SWA,这样就不能实现流量分担。

 单生成树的弊端 - 次优二层路径

如下图所示, SWC SWA SWB 相连的链路配置为 Trunk 链路,允许通过所有 VLAN SWA SWB 之间的链路也配置为 Trunk 链路,允许通过所有 VLAN
运行单个生成树之后,环路被断开, VLAN2 VLAN3 都直接上行到 SWA
SWA 上配置 VLAN2 的三层接口,在 SWB 上配置 VLAN3 的三层接口,那么, VLAN3 到达三层接口的路径就是次优的。

在之前的内容里,我们了解到,为了解决交换网络中环路的问题,有了STP协议,后来为了解决STP收敛太慢的问题,有了RSTP(快速生成树协议),对于STP和RSTP来说,都是把交换网络中的设备组建成了一颗单生成树,通过以上的内容我们发现, 单生成树有时候会造成部分vlan路径不通、无法实现流量分担以及次优路径等问题,那么MSTP慢慢就开始进入了工程师的视野。

多生成树实例解决单生成树弊端

lMST域内可以生成多棵生成树,每棵生成树都称为一个MSTI (多生成树实例)MSTI之间彼此独立,且每个MSTI的计算过程基本与RSTP的计算过程相同。

如下图所示,图中红色的部分是多生成树实例1的部分,对于这个实例1来说,是包含vlan2的,对于vlan3和vlan4是包含在实例2里面的,对于实例1和实例2来说在逻辑上阻塞掉的端口是不一样的。

 

多生成树协议即 MSTP Multiple Spanning Tree Protocol )。
MST 域是多生成树域( Multiple Spanning Tree Region ),由交换网络中的多台交换设备以及它们之间的网段所构成。同一个 MST 域的设备具有下列特点:
都启动了 MSTP
具有相同的域名。
具有相同的 VLAN 到生成树实例映射配置。
具有相同的 MSTP 修订级别配置。
 
一个 MST 域内可以生成多棵生成树,每棵生成树都称为一个 MSTI ,每个 MSTI 都使用单独的 RSTP 算法,计算单独的生成树。
每个 MSTI MST Instance )都有一个标识( MSTID ), MSTID 是一个两字节的整数。 VRP 平台支持 16 MST Instance MSTID 取值范围是 0 15 ,默认所有 VLAN 映射到 MST Instance 0
VLAN 映射表是 MST 域的属性,它描述了 VLAN MSTI 之间的映射关系, MSTI 可以与一个或多个 VLAN 对应,但一个 VLAN 只能与一个 MSTI 对应。
MSTP 兼容 STP RSTP ,既可以快速收敛,又提供了数据转发的各个冗余路径,在数据转发过程中实现 VLAN 数据的负载均衡。
 
所谓生成树实例就是多个VLAN的一个集合。通过将多个VLAN捆绑到一个实例,可以节省通信开销和资源占用率。MSTP各个实例拓扑的计算相互独立,在这些实例上可以实现负载均衡。可以把多个相同拓扑结构的VLAN映射到一个实例里,这些VLAN在端口上的转发状态取决于端口在对应MSTP实例的状态。
如图所示,MSTP通过设置VLAN映射表(即VLANMSTI的对应关系表),把VLANMSTI联系起来。每个VLAN只能对应一个MSTI,即同一VLAN的数据只能在一个MSTI中传输,而一个MSTI可能对应多个VLAN
经计算,最终生成两棵生成树:
MSTI1S4为根交换设备,转发VLAN2的报文。
MSTI2S6为根交换设备,转发VLAN3的报文。
这样所有VLAN内部可以互通,同时不同VLAN的报文沿不同的路径转发,实现了负载分担。

 

交换网络内所有 MST 域的一棵生成树。如果把每个 MST 域看作是一个节点, CST就是这些节点通过STP或RSTP协议计算生成的一棵生成树。
内部生成树IST(Internal Spanning Tree)是各MST域内的一棵生成树。 IST 是一个特殊的 MSTI MSTI ID 0 ,通常称为 MSTI0
SST(Single Spanning Tree):运行STP或RSTP的交换设备只能属于一个生成树 MST 域中只有一个交换设备,这个交换设备构成单生成树。
所有MST域的IST加上CST就构成一棵完整的生成树,即CIST
域根( Regional Root) 分为 IST 域根和 MSTI 域根。
IST 域根如图 1 所示,在 MST 域中 IST 生成树中距离总根最近的交换设备是 IST 域根。
一个 MST 域内可以生成多棵生成树,每棵生成树都称为一个 MSTI MSTI 域根是每个多生成树实例的树根。如图 3 所示,域中不同的 MSTI 有各自的域根。
总根是 CIST(Common and Internal Spanning Tree) 的根桥。如图 1 中的 S1。
主桥( Master Bridge )也就是 IST Master ,它是域内距离总根最近的交换设备。如图 1 中的黄色交换机。如果总根在 MST 域中,则总根为该域的主桥。
端口角色:同 RSTP MSTP 中定义了根端口、指定端口、 Alternate 端口、 Backup 端口和边缘端口。

端口状态:同RSTPMSTP定义的端口状态有Forwarding, Learning, Discarding

MSTP拓扑计算

CIST 的计算
经过比较配置消息后,在整个网络中选择一个优先级最高的交换设备作为 CIST 的树根。在每个 MST 域内 MSTP 通过计算生成 IST ;同时 MSTP 将每个 MST 域作为单台交换设备对待,通过计算在 MST 域间生成 CST CST IST 构成了整个交换设备网络的 CIST
MSTI 的计算
MST 域内, MSTP 根据 VLAN 和生成树实例的映射关系,针对不同的 VLAN 生成不同的生成树实例。每棵生成树独立进行计算,计算过程与 STP 计算生成树的过程类似。
MSTP 对拓扑变化的处理
MSTP 拓扑变化处理与 RSTP 拓扑变化处理过程类似。
MSTI 的特点:
每个 MSTI 独立计算自己的生成树,互不干扰。
每个 MSTI 的生成树计算方法与 STP 基本相同。
每个 MSTI 的生成树可以有不同的根,不同的拓扑。
每个 MSTI 在自己的生成树内发送 BPDU
每个 MSTI 的拓扑通过命令配置决定。
每个端口在不同 MSTI 上的生成树参数可以不同。
每个端口在不同 MSTI 上的角色、状态可以不同。
l 在运行 MSTP 协议的网络中,一个 VLAN 报文将沿着如下路径进行转发:
MST 域内,沿着其对应的 MSTI 转发。
MST 域间,沿着 CST 转发。

 

MSTP快速收敛机制 

除支持RSTP所支持的普通P/A (Proposal/Agreement)机制外,MSTP还支持增强方式的P/A机制。 

 

如上图所示,在 MSTP 中, P/A 机制工作过程如下:
1. 上游设备发送 Proposal 报文,请求进行快速迁移。下游设备接收到后,把与上游设备相连的端口设置为根端口,并阻塞所有非边缘端口。
2. 上游设备继续发送 Agreement 报文。下游设备接收到后,根端口转为 Forwarding 状态。
3. 下游设备回应 Agreement 报文。上游设备接收到后,把与下游设备相连的端口设置为指定端口,指定端口进入 Forwarding 状态。
缺省情况下,华为数据通信设备使用增强的快速迁移机制。如果华为数据通信设备和其他制造商的设备进行互通,而其他制造商的设备 P/A 机制使用普通的快速迁移机制,此时,可在华为数据通信设备上通过设置 P/A 机制为普通的快速迁移机制,从而实现华为数据通信设备和其他制造商的设备进行互通。

 

 

MSTP配置实现  

为实现分别属于不同VLANPC访问Internet的流量能够进行负载均衡,可采用MSTP来实现,VLAN1~10为一组,VLAN11~20为另一组。

如下图所示:

配置思路:
配置 MST 域并创建多实例,实现流量的负载分担。
MST 域内,配置各实例的根桥与备份根桥。
修改各实例中某端口的路径开销值,实现将该端口阻塞。
与终端设备相连的端口配置成为边缘端口,加快收敛。
数据准备:
域名为 RG1
实例为 MSTI1 MSTI2
实例 MSTI1 的根桥为 SWA ,备份根桥为 SWB ;实例 MSTI2 的根桥为 SWB ,备份根桥为 SWA
实例 MSTI1 和实例 MSTI2 的阻塞口的路径开销值修改为 200000
VLAN 号是 1 20

PC1所属VLAN10PC2所属VLAN20

查看SWC上的配置

<SWC>dis cu
#
sysname SWC
#
vlan batch 2 to 20
#

stp region-configuration    进入MST域视图
 region-name RG1   配置MST域的域名
 instance 1 vlan 1 to 10   配置多生成树实例和VLAN的映射关系
 instance 2 vlan 11 to 20

 active region-configuration  激活MST域的配置,使域名、VLAN映射表和MSTP修订级别生效。如果不执行本操作,以上配置的域名、VLAN映射表和MSTP修订级别无法生效。
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 stp instance 2 cost 200000
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 10
 stp edged-port enable
#

查看SWD上的配置

<SWD>dis cu
#
sysname SWD
#
vlan batch 2 to 20
#
stp region-configuration
 region-name RG1
 instance 1 vlan 1 to 10
 instance 2 vlan 11 to 20
 active region-configuration
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 stp instance 1 cost 200000  修改开销为200000
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
 stp edged-port enable
#

 

查看SWA上的配置

<SWA>dis cu
#
sysname SWA
#
vlan batch 2 to 20
#
stp instance 1 root primary  在实例1里面,SWA是根桥
stp instance 2 root secondary
#
stp region-configuration
 region-name RG1
 instance 1 vlan 1 to 10
 instance 2 vlan 11 to 20
 active region-configuration
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 

 查看SWB上的配置:

<SWB>dis cu
#
sysname SWB
#
vlan batch 2 to 20
#
stp instance 1 root secondary
stp instance 2 root primary   实例2里面,SWB为根桥
#  
stp region-configuration
 region-name RG1
 instance 1 vlan 1 to 10
 instance 2 vlan 11 to 20
 active region-configuration
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 

配置完成之后,查看SWA,SWB,SWC以及SWD的接口状态,如下图所示:

总结:

[SwitchA] stp region-configuration   \\进入MST域视图

[SwitchA-mst-region] region-name RG1   \\配置MST域的域名

[SwitchA-mst-region] instance 1 vlan 2 to 10   \\配置多生成树实例和VLAN的映射关系

[SwitchA-mst-region] instance 2 vlan 11 to 20

[SwitchA-mst-region] active region-configuration   \\激活MST域的配置,使域名、VLAN映射表和MSTP修订级别生效

[SwitchA] stp instance 1 root primary   \\配置当前设备为根桥设备

[SwitchA] stp instance 2 root secondary     \\配置当前交换设备为备份根桥设备

[SwitchA] stp pathcost-standard legacy    \\配置SwitchA的端口路径开销值的计算方法为华为计算方法

[SwitchA] stp enable    \\在SwitchA上启动MSTP

 

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值