MSTP原理与配置

前言

RSTP(Rapid Spanning Tree Protocol)在STP基础上进行了改进,实现了网络拓扑快速收敛。但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,造成带宽浪费,还有可能造成部分VLAN的报文无法转发。为了弥补STP和RSTP的缺陷,IEEE于2002年发布的802.1S标准定义了MSTP(Multiple Spanning Tree Protocol)。MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。

MSTP基本概念

MSTP的网络结构

在这里插入图片描述
如上图所示,MSTP网络中包含1个或多个MST域(MST Region),每个MST Region中包含一个或多个MSTI。组成MSTI的是运行STP/RSTP/MSTP的设备,MSTI是所有运行STP/RSTP/MSTP的设备经MSTP协议计算后形成的树状网络。

MSTP域(MST Region)

MST域是多生成树域(Multiple Spanning Tree Region),由交换网络中的多台设备以及它们之间的网段所构成。同一个MST域的设备具有下列特点:
1、都启动了MSTP。
2、具有相同的域名。
3、具有相同的VLAN到生成树实例映射配置。
4、具有相同的MSTP修订级别配置。
一个局域网内可以存在多个MST域,一个域内可以有多个MSTI(多生成树实例),一个MSTI映射一个多个VLAN。而一个VLAN只能映射一个MSTI。

MSTI(MST instance)

在这里插入图片描述
MST实例,代表了一个MST域内运行MSTP设备与对应的VLAN的映射关系,一个MST域内可以有多个MSTI,不同的MSTI映射不同的多个VLAN。如上图所示MST域4里有4个MST实例,不同的实例有不同的生成树结构对应不同的VLAN。

VLAN映射表

在这里插入图片描述
VLAN映射表描述了VLAN和MSTI之间的映射关系。如图2所示,MST Region4中,VLAN1映射到MSTI1,VLAN2映射到MSTI2,其余VLAN映射到MSTI3。如上图所示,MST域4里VLAN1映射了MSTI1,VLAN2映射了MSTI2,其他的VLAN映射MSTI3,这样VLAN1的流量就会通过MSTI1形成的生成树进行状态,VLAN2就会通过MST2形成的生成树进行转发,以此类推。

CST(Common Spanning Tree)

在这里插入图片描述
公共生成树CST,指的是所有运行了MSTP的MST域之间形成的生成树,将一个MST域当做一个节点,通过STP或RSTP算法生成树状结构,如上图所示,A0,B0,C0,D0各是一个MST域,将一个域看做一个节点在他们之间构建生成树结构,而每个域内部也通过STP/RSTP生成树状结构,这样整个网络都形成了一个无环的结构。且根据不同的VLAN有不同的转发路径。

IST(Internal Spanning Tree)

内部生成树IST(Internal Spanning Tree)是各MST域内的一棵生成树。IST是一个特殊的MSTI,MSTI的ID为0,通常称为MSTI0。只有MSTI0才能接受其他域的数据。

CIST

在这里插入图片描述
即IST+CST,公共生成树+内部生成树共同构建了一个局域网内的完整的生成树结构,就如上图所示,IST+CST所构建的树状结构,就是一个完整的CIST并且是单生成树。

SST(Single Spanning Tree)

构成单生成树SST(Single Spanning Tree)有两种情况:
1、运行STP或RSTP的设备只能属于一个生成树。
2、MST域中只有一个设备,这个设备构成单生成树。
如上图CIST中的B0区域内的设备形成的就是SST。

MSTP的端口角色

端口角色说明
根端口在非根桥上,离根桥最近的端口是本设备的根端口。根设备没有根端口。根端口负责向树根方向转发数据。
指定端口对一台设备而言,它的指定端口是向下游设备转发BPDU报文的端口。
Alternate端口从配置BPDU报文发送角度来看,Alternate端口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口。从用户流量角度来看,Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。
Backup端口从配置BPDU报文发送角度来看,Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口。从用户流量角度来看,Backup端口作为指定端口的备份,提供了另外一条从根节点到叶节点的备份通路。
Master端口Master端口是MST域和CIST总根相连的所有路径中最短路径上的端口。Master端口是域中的报文去往总根的必经之路。Master端口是特殊域边缘端口,Master端口在IST/CIST上的角色是Root Port,在其它各实例上的角色都是Master端口。
域边缘端口域边缘端口是指位于MST域的边缘并连接其它MST域或SST的端口。进行MSTP计算时,域边缘端口在MSTI上的角色和CIST实例的角色保持一致。即如果边缘端口在CIST实例上的角色是Master端口(连接域到总根的端口),则它在域内所有MSTI上的角色也是Master端口。
边缘端口如果指定端口位于整个域的边缘,不再与任何设备连接,这种端口叫做边缘端口。边缘端口一般与用户终端设备直接连接。端口使能MSTP功能后,会默认启用边缘端口自动探测功能,当端口在秒的时间内收不到BPDU报文,自动将端口设置为边缘端口,否则设置为非边缘端口。

注:MSTP的端口状态与RSTP一一致

MSTP的拓扑计算

MSTI和CIST(Common and Internal Spanning Tree)都是根据优先级向量来计算的,这些优先级向量信息都包含在MST BPDU(Bridge Protocol Data Unit)中。各交换设备互相交换MST BPDU来生成MSTI和CIST。

优先级向量

参与CIST计算的优先级向量:
{ 根交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
参与MSTI计算的优先级向量:{ 域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
括号中的优先级从左到右依次递减

向量说明

向量名说明
根交换设备ID根交换设备ID用于选择CIST中的根交换设备。根交换设备ID = Priority(16bits) + MAC(48bits)。
外部路径开销(ERPC)从CIST的域根到达总根的路径开销。MST域内所有交换设备上保存的外部路径开销相同。若CIST根交换设备在域中,则域内所有交换设备上保存的外部路径开销为0。
域根ID域根ID用于选择MSTI中的域根。域根ID = Priority(16bits) + MAC(48bits)。
内部路径开销(IRPC)本桥到达域根的路径开销。域边缘端口保存的内部路径开销大于非域边缘端口保存的内部路径开销。
指定交换设备IDCIST或MSTI实例的指定交换设备是本桥通往域根的最邻近的上游桥。如果本桥就是总根或域根,则指定交换设备为自己。
指定端口ID指定交换设备上同本设备上根端口相连的端口。Port ID = Priority(4位) + 端口号(12位)。端口优先级必须是16的整数倍。
接收端口ID接收到BPDU报文的端口。Port ID = Priority(4位) + 端口号(12位)。端口优先级必须是16的整数倍。

比较原则

优先级向量比较原则如下。

  1. 首先,比较根交换设备ID。
  2. 如果根交换设备ID相同,再比较外部路径开销。
  3. 如果外部路径开销相同,再比较域根ID。
  4. 如果域根ID仍然相同,再比较内部路径开销。
  5. 如果内部路径仍然相同,再比较指定交换设备ID。
  6. 如果指定交换设备ID仍然相同,再比较指定端口ID。
  7. 如果指定端口ID还相同,再比较接收端口ID。
    如果端口接收到的BPDU内包含的配置消息优于端口上保存的配置消息,则端口上原来保存的配置消息被新收到的配置消息替代。端口同时更新交换设备保存的全局配置消息。反之,新收到的BPDU被丢弃。

CIST的计算

经过比较配置消息后,在整个网络中选择一个优先级最高的交换设备作为CIST的树根。在每个MST域内MSTP通过计算生成IST;同时MSTP将每个MST域作为单台交换设备对待,通过计算在MST域间生成CST。CST和IST构成了整个交换设备网络的CIST。

MSTI的计算

在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似
MSTI的特点:
1、每个MSTI独立计算自己的生成树,互不干扰。
2、每个MSTI的生成树计算方法与STP基本相同。
3、每个MSTI的生成树可以有不同的根,不同的拓扑。
4、每个MSTI在自己的生成树内发送BPDU。
5、每个MSTI的拓扑通过命令配置决定。
6、每个端口在不同MSTI上的生成树参数可以不同。
7、每个端口在不同MSTI上的角色、状态可以不同。

MSTP的快速收敛机制

MSTP支持普通方式和增强方式的P/A机制,普通方式的P/A机制与RSTP相同,增强P/A机制的工作原理如下图所示:
在这里插入图片描述
上游设备发送P置位的BPDU请求进行P/A协商,下游设备收到好比较优先级发现比自己的要优,则进入同步状态阻塞其他非边缘端口并将接收上游BPDU的端口改为RP,但是不会直接进入forwarding状态,这时候上游设备会继续发送一个A置位的BPDU报文,下游设备收到后才将RP转为forwarding状态,而后下游设备回复A置位的BPDU,上游设备收到后,将端口状态变为forwarding。
缺省情况下,华为设备使用增强的快速迁移机制。如果华为设备和其他厂商的设备进行互通,而其他厂商的设备P/A机制使用普通的快速迁移机制,此时,可在华为设备上通过命令stp no-agreement-check设置P/A机制为普通的快速迁移机制,从而实现华为设备和其他厂商的设备进行互通。

MSTP的配置

在这里插入图片描述
拓扑如上图所示,PC1-PC4:192.168.1.1-192.168.1.4,三台交换机互连,SW1下有2台设备分属于vlan 10 20,SW2上有vlan 10 用户,SW3上又vlan 20用户,希望PC1去往PC3时走SW1-SW2-PC3,而PC2去往PC4时走SW1-SW3-PC4,然后当任意一条链路故障时,就走备用链路。相关配置如下:
LSW1:

vlan batch 10 20

stp region-configuration
region-name 1
instance 1 vlan 10
instance 2 vlan 20
active region-configuration

interface Ethernet0/0/1
port link-type access
port default vlan 10
stp edged-port enable

interface Ethernet0/0/2
port link-type access
port default vlan 20
stp edged-port enable

interface Ethernet0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20
stp instance 2 cost 2000000

interface Ethernet0/0/4
port link-type trunk
port trunk allow-pass vlan 10 20
stp instance 1 cost 2000000

LSW2:

vlan batch 10 20

stp region-configuration
region-name 1
instance 1 vlan 10
instance 2 vlan 20
active region-configuration

interface Ethernet0/0/1
port link-type access
port default vlan 10
stp edged-port enable

interface Ethernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20

interface Ethernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 to 4094

LSW3:

vlan batch 10 20

stp region-configuration
region-name 1
instance 1 vlan 10
instance 2 vlan 20
active region-configuration

interface Ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20

interface Ethernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094

interface Ethernet0/0/3
port link-type access
port default vlan 20
stp edged-port enable

配置完后,在LSW1上查看dis stp brief:
在这里插入图片描述
在实例1中,LSW1的E0/0/4接口被阻塞,在实例2中,LSW1的E0/0/3接口被阻塞。
因此我们可以画出MSTI图来:
在这里插入图片描述
在这里插入图片描述
然后我们来测试PC1到PC3的连通性:
在这里插入图片描述
然后shutdown LSW1上的E0/0/3接口才测试连通性:
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在ENSP中配置MSTP,可以按照以下步骤进行操作: 1. 进入ENSP界面,选择需要配置MSTP的设备。 2. 在设备配置界面中,找到MSTP配置选项。 3. 首先,需要将交换机划分为多个MSTP域。可以通过设置VLAN与MSTI的对应关系表来实现。每个VLAN只能对应一个MSTI,而一个MSTI可以对应多个VLAN。可以根据实际需求进行配置。 4. 接下来,需要为每个MSTI配置生成树。可以设置每个MSTI的根优先级,以确定生成树的根桥。可以使用以下命令进行配置: - stp instance <instance-id> root primary:将指定实例中的VLAN设置为主优先级。 - stp instance <instance-id> root secondary:将指定实例中的VLAN设置为备优先级。 其中,<instance-id>为MSTI的ID,可以根据实际情况进行配置。 5. 配置完成后,保存配置并应用到设备上。 通过以上步骤,可以在ENSP中成功配置MSTP,并实现流量分担的效果。请注意,MSTP与STP、RSTP有一些区别,需要理解它们之间的差异。 #### 引用[.reference_title] - *1* *2* [MSTP原理与应用【eNSP实现】](https://blog.csdn.net/weixin_45488428/article/details/123768966)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [华为eNSP配置MSTP(多实例生成树)](https://blog.csdn.net/qq_54100121/article/details/123139083)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值