一、概述
- MSTP是IEEE 802.1S中定义的生成树协议,MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
- MSTP可以将一个或多个VLAN映射到一个Instance(实例),再基于Instance计算生成树,映射到同一个Instance的VLAN共享同一棵生成树。
注意:生成树不是基于VLAN运行的,而是基于Instance运行的。
二、基本概念
MST Region
- MSTP网络层次:
- MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。
- MSTP Region (Multiple Spanning Tree Region,多生成树域)
- 由交换网络中的多台交换设备以及它们之间的网段所构成。
- 一个局域网可以存在多个MST域,各MST域之间在物理上直接或间接相连。用户可以通过MSTP配置命令把多台交换设备划分在同一个MST域内。
- MSTP网络中包含1个或多个MST域,每个MST域中包含一个或多个多生成树实例。
- 同一个MST域的设备具有以下特点:
- 都启动了MSTP
- 具有相同的域名
- 具有相同的VLAN到生成树实例映射配置。
- 具有相同的MSTP修订级别配置。
MSTI
- MSTI(Multiple Spanning Tree Instance,多生成树实例):
- 一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。
- MSTI使用Instance ID标识,华为设备取值为0~4094。
- VLAN映射表
- MST域的属性,描述了VLAN和MSTI之间的映射关系。
- 通过设置VLAN映射表,把VLAN和MSTI联系起来
- 每个VLAN只能对应一个MSTI,即同一VLAN的数据只能在一个MSTI中传输,而一个MSTI可能对应多个VLAN。
CST
- CST(Common Spanning Tree,公共生成树)
- 是连接交换网络内所有MST域的一棵生成树。
- 如果把每个MST域看作是一个节点,CST就是这些节点通过生成树协议计算生成的一棵生成树。
如图:
右图就是MST Region构成的生成树
IST
- 是各MST域内的一棵生成树。
- IST是一个特殊的MSTI,MSTI的Instance ID为0。
CIST
CIST(Common and Internal Spanning Tree,公共和内部生成树)
- 通过生成树协议计算生成的,连接一个交换网络内所有交换设备的单生成树。
如图,所有MST域的IST加上CST就构成了完整的生成树,即CIST。
SST
SST(Single Spanning Tree,单生成树)
- 运行生成树协议的交换设备只能属于一个生成树。
- MST域中只有一个交换设备,这个交换设备构成单生成树。
如图,MST Region3,该域中的唯一的交换设备构成SST。
总根,域根和主桥
- 总根(CIST Root)
- 是CIST的根桥,如SW1
- 域根(Regional Root)
- 分为IST域根和MSTI域根
- IST域根,在MST域中IST生成树中距离总根最近的交换设备是IST域根,如图中SW2、SW3、SW4。
- MSTI域根是每个多生成树实例的树根。
- 主桥(Master Bridge)
- 是IST Master,它是域内距离总根最近的交换设备,如图中SW1、SW2、SW3、SW4 。
- 如果总根在MST域中,则总根为该域的主桥。
- 主桥包括总根和IST域根
小结
角色 |
说明 |
MST域 |
交换网络被划分成多个域,一个MST域内可以包含一台或多台交换机,同属于一个MST域的交换机必须配置相同的域名、相同的修订级别、以及相同的VLAN映射表 |
MSTI |
基于Instance的生成树 |
VLAN映射表 |
VLAN和MSTI之间的映射关系 |
CST |
公共生成树,连接所有MST域的一棵生成树 |
IST |
内部生成树,MST域内Instance ID为0的一棵生成树 |
CIST |
公共和内部生成树,连接一个交换网络内所有交换设备的生成树 |
SST |
单生成树,MST域内只有一台交换设备,且该设备只属于一棵生成树 |
总根 |
CIST的根桥 |
IST域根 |
MST域中,IST距离总根最近的交换设备 |
MSTI域根 |
MSTI的根桥 |
主桥 |
距离总根最近的交换设备,包括:总根和IST域根 |
MSTP的端口角色
MSTP中定义的所有端口角色包括:
- 根端口、指定端口、Alternate端口、Backup端口、Master端口、域边缘端口和边缘端口。
端口角色 |
说明 |
根端口 |
在非根桥上,离根桥最近的端口是本交换设备的根端口。 根端口负责向树根方向转发数据。 |
指定端口 |
对一台交换设备而言,它的指定端口是向下游交换设备转发BPDU报文的端口。 |
Alternate端口 |
从配置BPDU报文发送角度来看,Alternate端口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口。 从用户流量角度来看,Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。 |
Backup端口 |
从配置BPDU报文发送角度来看,Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口。 从用户流量角度来看,Backup端口作为指定端口的备份,提供了另外一条从根节点到叶节点的备份通路。 |
Master端口 |
连接MST域到总根的端口。 Master端口是域中的报文去往总根的必经之路。 Master端口是特殊域边缘端口,Master端口在CIST上的角色是Root Port,在其它各实例上的角色都是Master端口。 |
域边缘端口 |
域边缘端口是指位于MST域的边缘并连接其它MST域或SST的端口。 |
边缘端口 |
如果指定端口位于整个域的边缘,不再与任何交换设备连接,这种端口叫做边缘端口。 边缘端口一般与用户终端设备直接连接。 |
MSTP的端口状态
MSTP定义的端口状态与RSTP协议中定义相同:
- Forwarding状态:端口既转发用户流量,学习MAC地址,又接收/发送BPDU报文。
- Learning状态:过渡状态,端口接收/发送BPDU报文,不转发用户流量但是学习MAC地址。
- Discarding状态:端口只接收BPDU报文,不转发用户流量也不学习MAC地址。
MSTP报文
版本 |
类型 |
名称 |
0 |
0x00 |
配置BPDU |
0 |
0x80 |
TCN BPDU |
2 |
0x02 |
RST BPDU |
3 |
0x02 |
MST BPDU |
无论是域内的MST BPDU还是域间的,前36个字节和RST BPDU相同。
从第37个字节开始是MSTP专有字段。最后的MSTI配置信息字段由若干MSTI配置信息组连缀而成。
三、MSTP拓扑计算
- MSTP拓扑计算:
- MSTP可以将整个二层网络划分为多个MST域,各个域之间通过计算生成CST,域内生成IST,CST和IST构成了整个交换设备网络的CIST。
- 域内还可以基于实例计算生成多棵生成树,每棵生成树都被称为是一个MSTI。
- CIST和MSTI都是根据优先级向量来计算的,这些优先级向量信息都包含在MST BPDU中。各交换设备互相交换MST BPDU来生成CIST和MSTI 。
- 参与CIST计算的优先级向量为:
- { 根交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
- 参与MSTI计算的优先级向量为:
- { 域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
注意:括号中的向量的优先级从左到右依次递减
四、MSTP的配置
MSTP的基本配置
1.配置生成树工作模式
2.启用MSTP
注意:为了保证生成树计算过程快速而且稳定,必须在启用STP/RSTP/MSTP之前,完成对交换设备及其端口必要的基本配置。
配置MST域并激活
1.进入MST域视图
2.配置MST域的域名
3.配置多生成树实例域VLAN的映射关系
4.(可选)配置MST域的MSTP修订级别
5.激活MST域
MSTP的可选配置
1.配置根桥和备份根桥
2.配置交换设备在指定生成树实例中的优先级
3.配置端口在指定生成树实例中的路径开销
4.配置端口在指定生成树实例中的优先级
五、单域多实例实验
如图
要求VLAN2以SW1为根桥,SW2为备份根桥。VLAN3以SW2为根桥,SW1为备份根桥
SW1配置
SW2与SW1不相同的配置
SW3和SW4配置