《MSTP 全网最详解》属于博主的“生成树”专栏中,想要了解更多关于“STP”和“MSTP”的内容请点击主页面跳转到相应“生成树”专栏,博主会持续更新,以打造出”生成树”的全网最详细的知识体系。
一.前言
- RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但在划分VLAN的网络中运行RSTP/STP,局域网内所有的VLAN共享一棵生成树,被阻塞后的链路将不承载任何流量无法在VLAN间实现数据流量的负载均衡,导致链路带宽利用率、设备资源利用率较低。
- 为了弥补RSTP/STP的缺陷,IEEE于2002年发布的802.1S标准定义了MSTP(MultipleSpanning Tree Protocol,多生成树协议)。MSTP兼容STP和RSTP,通过建立多棵无环路的树,解决广播风暴并实现冗余备份。
- 在本文中,将介绍MSTP相较于RSTP/STP的改进之处,MSTP的基本概念和基本工作原理,以及MSTP的相关配置。
二.MSTP概述
1.RSTP/STP的不足
(1)流量无法负载分担
- 背景:
- SW3为接入交换机连接终端网段,使用两条链路连接SW1D和SW2,并且所有链路均允许VLAN2和VLAN3通过。
- 将SW1设为VLAN2内终端的网关,SW2设为VLAN3内终端的网关,并希望VLAN2和VLAN3内的终端分别使用不同的链路到相应的网关。
- 问题:
- 如果网络中只有一个生成树,假设SW3与SW2相连的端口D为阻塞端口,则VLAN2和VLAN3的数据都只能通过一条链路到汇聚交换机,不能实现流量负载分担。
(2)二层次优路径
- 背景:
- SW3为接入交换机连接终端网段,SW1和SW2为汇聚交换机。将SW1设为VLAN2内终端的网关,SW2设为VLAN3内终端的网关,并且所有链路均允许VLAN2和VLAN3通过。
- 运行单个生成树之后,环路被打破,VLAN2和VLAN3的数据都直接到SW1。
- 问题:
- 由于SW3与SW2间的链路被阻塞,VLAN3的数据到达网关的路径是次优的,最优的路径应当是由SW3直达SW2。
2.多生成树协议概述
- MSTP是IEEE 802.1S中定义的生成树协议,MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
- MSTP可以将一个或多个VLAN映射到一个Instance(实例),再基于Instance计算生成树,映射到同一个Instance的VLAN共享同一棵生成树。
- 如图中例子,经计算,最终生成两棵生成树:
- Instance1对应的生成树以SW1为根交换设备,转发VLAN1~VLAN10的报文。
- Instance2对应的生成树以SW2为根交换设备,转发VLAN11~VLAN20的报文。
- 不同VLAN的报文沿不同的路径转发,实现了负载分担。
- 注意:生成树不是基于VLAN运行的,而是基于Instance运行的。
三.MSTP的基本概念
1.MSTP网络层次
(1)MST Region
- MSTP网络层次:
- MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。
- MST Region( Multiple Spanning Tree Region,多生成树域),也可简称MST域:
- 由交换网络中的多台交换设备以及它们之间的网段所构成。
- 一个局域网可以存在多个MST域,各MST域之间在物理上直接或间接相连。用户可以通过MSTP配置命令把多台交换设备划分在同一个MST域内。
- MSTP网络中包含1个或多个MST域,每个MST域中包含一个或多个多生成树实例。
- 同一个MST域的设备具有下列特点:
- 都启动了MSTP.
- 具有相同的域名。
- 具有相同的VLAN到生成树实例映射配置。
- 具有相同的MSTP修订级别配置。
(2)MSTI
- MSTl(Multiple Spanning Tree Instance,多生成树实例):
- 一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。
- MSTI使用Instance lD标识,华为设备取值为0~4094。
- VLAN映射表
- MST域的属性,描述了VLAN和MSTI之间的映射关系。
- 如图所示的MST Region 4的VLAN映射有:
- VLAN1映射到MSTI1
- VLAN2映射到MSTI2
- :其余VLAN映射到MSTI3
- Instance0是缺省存在的,而且缺省时,华为交换机上所有的VLAN都映射到了Instance0。
- 通过设置VLAN映射表(即VLAN和MSTI的对应关系表),把VLAN和MSTI联系起来。
- 每个VLAN只能对应一个MSTI,即同一VLAN的数据只能在一个MSTI中传输,而一个MSTI可能对应多个VLAN。
(3)CST
- CST(CommonSpanning Tree,公共生成树)
- 是连接交换网络内所有MST域的一棵生成树。
- 如果把每个MST域看作是一个节点,CST就是这些节点通过生成树协议计算生成的一棵生成树。
- 如图深蓝色粗线条连接各个域构成CST。
(4)IST
- IST(Internal Spanning Tree,内部生成树)
- 是各MST域内的一棵生成树。
- IST是一个特殊的MSTI,MSTI的InstancelD为0。
- 如图所示的MST Region 4,黑色细线条在域中连接该域的所有交换设备构成IST。
(5)CIST
- ClST(Common and Internal Spanning Tree,公共和内部生成树 )
- 通过生成树协议计算生成的,连接一个交换网络内所有交换设备的单生成树。
- 如图所示,所有MST域的IST加上CST就构成一棵完整的生成树,即CIST。
(6)SST
- SST(Single Spanning Tree,单生成树)有两种情况:
- 运行生成树协议的交换设备只能属于一个生成树。
- MST域中只有一个交换设备,这个交换设备构成单生成树。
- 如图所示的MST Region 3,该域中的唯一的交换设备构成SST。
(7)总根,域根和主桥
- 总根(CIST Root)
- 是CIST的根桥,如图中SW1。
- 域根(Regional Root)
- 分为IST域根和MSTI域根。
- IST域根,在MST域中IST生成树中距离总根最近的交换a设备是IST域根,如图中SW2、SW3、SW4。
- MSTI域根是每个多生成树实例的树根。
- 主桥(Master Bridge)
- 是IST Master,它是域内距离总根最近的交换设备如图中SW1、SW2、SW3、SW4。
- 如果总根在MST域中,则总根为该域的主桥。
- 主桥包括总根和IST域根。
(8)小结
2.MSTP端口
(1)MSTP的端口角色
- MSTP中定义的所有端口角色包括:
- 根端口、指定端口、Alternate端口、Backup端口、Master端口、域边缘端口和边缘端口。
(2)MSTP的端口状态
- MSTP定义的端口状态与RSTP协议中定义相同:
- Forwarding状态:端口既转发用户流量,学习MAC地址,又接收/发送BPDU报文。
- Learning状态:过渡状态,端口接收/发送BPDU报文,不转发用户流量但是学习MAC地址。
- Discarding状态:端口只接收BPDU报文,不转发用户流量也不学习MAC地址。
3.MSTP报文
- MSTP使用MST BPDU(Multiple SpanningTree Bridge Protocol Data Unit,多生成树桥协议数据单元)作为生成树计算的依据。
- MST BPDU报文用来计算生成树的拓扑、维护网络拓扑以及传达拓扑变化记录。
四.MSTP的工作原理
1.MSTP拓扑计算
- MSTP拓扑计算:
- MSTP可以将整个二层网络划分为多个MST域,各个域之间通过计算生成CST,域内生成IST,CST和IST构成了整个交换设备网络的CIST。
- 域内还可以基于实例计算生成多棵生成树,每棵生成树都被称为是一个MSTI。
- CIST和MSTI都是根据优先级向量来计算的,这些优先级向量信息都包含在MSTBPDU中。各交换设备互相交换MST BPDU来生成CIST和MSTI。
- 参与CIST计算的优先级向量为:
- {根交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID}
- 参与MSTI计算的优先级向量为:
- {域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID}
- 注意:括号中的向量的优先级从左到右依次递减。
2.CIST计算
3.MSTI计算
- MSTI的特点:
- 每个MSTI独立计算自己的生成树,互不干扰。
- 每个MSTI的生成树计算方法与STP基本相同。
- 每个MSTI的生成树可以有不同的根,不同的拓扑。
- 每个MSTI在自己的生成树内发送BPDU。
- 每个MSTI的拓扑通过命令配置决定。
- 每个端口在不同MSTI上的生成树参数可以不同。
- 每个端口在不同MSTI上的角色、状态可以不同。
- 根桥和备份根桥:可以通过计算来自动确定生成树的根桥,用户也可以手动配置设备为指定生成树的根桥或备份根桥。
- 设备在各生成树中的角色互相独立,在作为一棵生成树的根桥或备份根桥的同时,也可以0作为其它生成树的根桥或备份根桥;但在同一棵生成树中,一台设备不能既作为根桥,又作为备份根桥。
- 在一棵生成树中,生效的根桥只有一个;当两台或两台以上的设备被指定为同一棵生成树的根桥时,系统将选择MAC地址最小的设备作为根桥。
- 可以在每棵生成树中指定多个备份根桥。当根桥出现故障或被关机时,备份根桥可以取代根桥成为指定生成树的根桥;但此时若配置了新的根桥,则备份根桥将不会成为根桥。如果配置了多个备份根桥,则MAC地址最小的备份根桥将成为指定生成树的根桥。
4.MSTP网络数据转发
五.MSTP的基本配置
介于篇幅关系,“MSTP”的相关实验博主会更新在“生成树”专栏中,请持续关注。