MSTP简介
定义
多生成树协议MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定义的生成树协议,通过生成多个生成树,来解决以太网环路问题。
目的
在以太网中部署MSTP协议后可实现如下功能:
- 形成多棵无环路的树,解决广播风暴并实现冗余备份。
- 多棵生成树在VLAN间实现负载均衡,不同VLAN的流量按照不同的路径转发。
MSTP出现的背景
STP/RSTP的缺陷
RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,还有可能造成部分VLAN的报文无法转发。
如图1所示网络中,在局域网内应用STP或RSTP,生成树结构在图中用虚线表示,S6为根交换设备。S2和S5之间、S1和S4之间的链路被阻塞,图中标注的“VLAN”为链路允许通过的VLAN报文。
HostA和HostB同属于VLAN2,由于S2和S5之间的链路被阻塞,S3和S6之间的链路又不允许VLAN2的报文通过,因此HostA和HostB之间无法互相通讯。
MSTP对STP和RSTP的改进
为了弥补STP和RSTP的缺陷,IEEE于2002年发布的802.1s标准定义了MSTP。MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。每棵生成树叫做一个多生成树实例MSTI(Multiple Spanning Tree Instance),每个域叫做一个MST域(MST Region:Multiple Spanning Tree Region)。
所谓生成树实例就是多个VLAN的一个集合。通过将多个VLAN捆绑到一个实例,可以节省通信开销和资源占用率。MSTP各个实例拓扑的计算相互独立,在这些实例上可以实现负载均衡。可以把多个相同拓扑结构的VLAN映射到一个实例里,这些VLAN在端口上的转发状态取决于端口在对应MSTP实例的状态。
如图2所示,MSTP通过设置VLAN映射表(即VLAN和MSTI的对应关系表),把VLAN和MSTI联系起来。每个VLAN只能对应一个MSTI,即同一VLAN的数据只能在一个MSTI中传输,而一个MSTI可能对应多个VLAN。
经计算,最终生成两棵生成树:
- MSTI1以S4为根交换设备,转发VLAN2的报文。
- MSTI2以S6为根交换设备,转发VLAN3的报文。
这样所有VLAN内部可以互通,同时不同VLAN的报文沿不同的路径转发,实现了负载分担。
MSTP基本概念
MSTP的网络层次
如图3所示,MSTP网络中包含1个或多个MST域(MST Region),每个MST Region中包含一个或多个MSTI。组成MSTI的是运行STP/RSTP/MSTP的交换设备,MSTI是所有运行STP/RSTP/MSTP的交换设备经MSTP协议计算后形成的树状网络。
MST域(MST Region)
MST域是多生成树域(Multiple Spanning Tree Region),由交换网络中的多台交换设备以及它们之间的网段所构成。同一个MST域的设备具有下列特点:
- 都启动了MSTP。
- 具有相同的域名。
- 具有相同的VLAN到生成树实例映射配置。
- 具有相同的MSTP修订级别配置。
一个局域网可以存在多个MST域,各MST域之间在物理上直接或间接相连。用户可以通过MSTP配置命令把多台交换设备划分在同一个MST域内。
如图4所示的MST Region 4中由交换设备A、B、C和D构成,域中有3个MSTI。
VLAN映射表
VLAN映射表是MST域的属性,它描述了VLAN和MSTI之间的映射关系。
如图4所示,MST Region 4的VLAN映射表是:
- VLAN1映射到MSTI1
- VLAN2映射到MSTI2
- 其余VLAN映射到MSTI3
CST
公共生成树CST(Common Spanning Tree)是连接交换网络内所有MST域的一棵生成树。
如果把每个MST域看作是一个节点,CST就是这些节点通过STP或RSTP协议计算生成的一棵生成树。
如图3所示,黑色线条连接各个域构成CST。
IST
内部生成树IST(Internal Spanning Tree)是各MST域内的一棵生成树。
IST是一个特殊的MSTI,MSTI的ID为0,通常称为MSTI0。
IST是CIST在MST域中的一个片段。
如图3所示,深蓝色线条在域中连接该域的所有交换设备构成IST。
SST
构成单生成树SST(Single Spanning Tree)有两种情况:
- 运行STP或RSTP的交换设备只能属于一个生成树。
- MST域中只有一个交换设备,这个交换设备构成单生成树。
CIST
公共和内部生成树CIST(Common and Internal Spanning Tree)是通过STP或RSTP协议计算生成的,连接一个交换网络内所有交换设备的单生成树。
如图1所示,所有MST域的IST加上CST就构成一棵完整的生成树,即CIST。
域根
域根(Regional Root)分为IST域根和MSTI域根。
IST域根如图1所示,在MST域中IST生成树中距离总根(CIST Root)最近的交换设备是IST域根。
一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。MSTI域根是每个多生成树实例的树根。如图2所示,域中不同的MSTI有各自的域根。
总根
总根是CIST(Common and Internal Spanning Tree)的根桥。如图1中的S1。
主桥
主桥(Master Bridge)也就是IST Master,它是域内距离总根最近的交换设备。如图1中的黄色交换机。
如果总根在MST域中,则总根为该域的主桥。