STP与RSTP的缺陷(单生成树的弊端)
由于局域网内所有的VLAN共享一棵生成树,因此被阻塞后链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡,从而造成带宽浪费。
MSTP基本概念
MSTP(Multiple Spanning Tree Protocol,多生成树协议)将环路网络修剪成为一个无环的树型网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN 数据的负载均衡。
MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。每棵生成树叫做一个多生成树实例MSTI(Multiple Spanning Tree Instance),每个域叫做一个MST域(MST Region:Multiple Spanning Tree Region)。
-
MST域
MST域是多生成树域(Multiple Spanning Tree Region),由交换网络中的多台交换设备以及它们之间的网段所构成。同一个MST域的设备具有下列特点:- 都启动了MSTP。
- 具有相同的域名。
- 具有相同的VLAN到生成树实例映射配置。
- 具有相同的MSTP修订级别配置。
-
MSTI
一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI(生成树实例),每个MSTI都使用单独的RSTP算法,计算单独的生成树。 -
标识域
每个MSTI(MST Instance)都有一个标识(MSTID),MSTID是一个两字节的整数。VRP平台支持16个MST Instance,MSTID取值范围是0~15,默认所有VLAN映射到MST Instance 0。 -
VLAN映射表
VLAN映射表是MST域的属性,它描述了VLAN和MSTI之间的映射关系,MSTI可以与一个或多个VLAN对应,但一个VLAN只能与一个MSTI对应。
MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的各个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
MSTP BPDU报文
MSTP BPDU报文与STP、RSTP报文非常相似只是多了以下一些字段:(STP、RSTP报文格式请查看本人以前的文章)
Version 3 Length | 2字节 | Version3 BPDU的长度,只在MSTP的BPDU中出现 |
---|---|---|
MSTI Config ID Format Selector | 1字节 | 固定为0 |
MSTI Config Name | 32字节 | “域名”,字符串格式 |
MSTI Config reversion | 2字节 | 非负整数 |
MSTI Config Digest | 16字节 | 利用HMAC-MD5算法将域中VLAN和实例的映射关系加密成16字节的摘要 |
CIST Internal Root Path Cost | 14字节 | CIST内部路径开销,指从本端口到IST Master交换机的累计路径开销,只在MSTP的BPDU中出现。CIST内部路径开销根据链路带宽计算 |
CIST Bridge Identifier | 8字节 | CIST的指定交换机ID,只在MSTP的BPDU中出现 |
CIST Remaining Hops | 1字节 | BPDU报文在CIST中的剩余跳数,只在MSTP的BPDU中出现 |
MSTI Configuration Messages (may be absent) | n×16字节 | MSTI配置信息,只在MSTP的BPDU中出现。每个MSTI的配置信息占16 bytes,如果有n个MSTI就占用n×16bytes |
FCS | 4字节 | 帧校验序列FCS(Frame Check Sequence)是为接收网卡提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧。FCS只是通用叫法,具体的FCS还可以细分多种校验方法。在以太帧中,FCS通常采用循环冗余码校验CRC(Cyclical Redundancy Check) |
单个MSTI Configuration Messages的字段说明如下:
MSTI Flags | MSTI标志 |
---|---|
MSTI Regional Root Identifier | MSTI域根交换机ID |
MSTI Internal Root Path Cost | MSTI内部路径开销指从本端口到MSTI域根交换机的累计路径开销。MSTI内部路径开销根据链路带宽计算 |
MSTI Bridge Priority | 本交换机在MSTI中的指定交换机的优先级 |
MSTI Port Priority | 本交换机在MSTI中的指定端口的优先级 |
MSTI Remaining Hops | BPDU报文在MSTI中的剩余跳数 |