目录
1.STP/RSTP回顾
STP和RSTP还存在同一个缺陷:由于局域网内所有Vlan共享一棵生成树,因此无法在Vlan间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,还有可能造成部分Vlan的报文无法转发。
如图所示网络中,生成树结构在图中用虚线表示,S6为根交换设备。S2和S5之间、S1和S4之间的链路被阻塞。HostA和B同属于VLAN2,由于S2和S5之间的链路被阻塞,S3和S6之间的链路又不允许VLAN2的报文通过,因此HostA和HostB之间无法互相通讯。
为了弥补STP和RSTP的缺陷,IEEE于2002年发布的802.1S标准定义了MSTP。MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
2.MSTP对STP/RSTP的改进
MSTP把交换网络划分为多个域,每个域内形成多棵生成树,生成树之间彼此独立。每棵生成树叫做一个多生成树实例MSTI(Multiple Spanning Tree Instance),每个域叫做一个MST域(MST Region:Multiple Spanning Tree Region)。
所谓生成树实例就是多个Vlan的一个集合。通过将多个Vlan捆绑到一个实例中,可以减少通信开销和资源占用率。MSTP各个实例拓扑的计算相互独立,在这些实例上可以实现负载均衡。可以把多个相同拓扑结构的Vlan映射到一个实例中,这些Vlan在端口上的转发状态取决于端口在对应MSTP实例的状态。
如图所示,MSTP通过设置Vlan映射表(Vlan和MSTI的对应关系),把Vlan和MSTI练习起来。每个Vlan只能对应一个MSTI,即同一个Vlan的数据只能在一个MSTI中传输,而一个MSTI能对应多个Vlan。经过计算最终生成两棵生成树:
- MSTI1以S4为根交换设备,转发Vlan2的报文。
- MSTI2以S6为根交换设备,转发Vlan3的报文。
这样所有Vlan内部可以互通,同时不同Vlan的报文沿不同的路径转发,实现了负载分担。
3.MSTP的基本概念
- MST由交换网络中的多台交换设备以及他们间的网段构成。MSTI是MST域下地实例,一个MST域下可以有多个MSTI。
- Vlan映射表描述了Vlan和MSTI的映射关系,如上图所示,在MST4 中,Vlan 1映射到MSTI1,Vlan2映射到MSTI2,其余Vlan映射到MSTI3。
- 公共生成树CST是连接交换网络内所有MST域的一颗生成树。如果把每个MST域看作是一个节点,CST就是通过这些节点通过STP或RSTP协议计算生成的一棵树。
- 内部生成树IST(Internal Spanning Tree)是各MST域内的一棵树。IST是一个特殊的MSTI,MSTI的ID为0,通常称为MSTI0
- 所有MST域的IST和CST就构成一颗完整的生成树,即CIST。
- 域根(Regional Root )分为IST域根和MSTI域根:
- IST域根如图1所示,在MST域中IST生成树中距离总根最近交换机设备是IST域根。
- 一个MST域内可以生成多棵生成树,每棵生成树都称为MSTI。MSTI域根是每个生成树实例的树根。如图所示,域中不同的MSTI有各自的域根。
- 总根是CIST ( Common and Internal Spanning Tree)的根桥。如图1中的S1。
- 主桥(Master Bridge )也就是ISTMaster,它是域内距离总根最近的交换设备。如图1中的黄色交换机。如果总根在MST域中,则总根为该域的主桥。
- 端口角色:同RSTP一致,根端口、指定端口、Alternate端口、Backup端口和边缘端口
- 端口状态:同RSTP,Forwarding、Learning、Discarding
4.MSTP拓扑的计算
CIST的计算
通过比较配置消息,在全网络中选择一个优先级最高的交换设备作为CIST的树根。在每个MST域内MSTP通过计算生成IST;同时MSTP将每个MST域作为单台设备对待,通过计算在MST域间生成CST。CST和IST共同构成整个交换网络的CIST。
MSTI的计算
在MST域内,MSTP根据Vlan和生成树的映射关系,针对不同的Vlan生成不同的生成树实例。每棵生成树独立进行计算,计算过程与STP计算过程类似。
MSTP对拓扑变化的处理
MSTP对拓扑的变化处理与RSTP拓扑变化处理过程类似
MSTI的特点:
- 每个MSTI独立计算自己的生成树,互不干扰。
- 每个MSTI的生成树计算方法与STP基本相同。
- 每个MSTI的生成树可以有不同的根,不同的拓扑。
- 每个MSTI在自己的生成树内发送BPDU。
- 每个MSTI的拓扑配置由命令配置决定。
- 每个端口在不同MSTI上的生成树参数可以不同。
- 每个端口在不同MSTI上的角色、状态可以不同。
在运行MSTP网络中,一个Vlan报文的转发路径:
- 在MST域内,沿着对应的MSTI转发;
- 在MST域间,沿着CST转发。
5.MSTP的实现原理
1、通过BID参数来解决区分多棵生成树的BPDU
优先级+MAC 优先级为4096的倍数
例:4097=4096+1
4096就是优先级,1就是树的标识,这里树的标识被称之为instance(实例);与vlan的情况相似---默认情况先所有的vlan都属于instance 0,其他实例需要手动创建,然后把vlan划入对应的实例。
2、MSTP是通过划分区域来解决网络规模大的问题。
通过参数比对来自动划分区域:
- 版本一致
- region-name 一致
- reversion-level 一致
- instance与vlan的对应关系一致
3、新的问题:MST域之间的环路应如何避免?
- 把每个区域抽象为一个交换机,问题就变成了如何解决数个交换机之间的环路;
- instance 0用来维护区域间的生成树,具体是每个区域instance 0的根用来参与区域间的生成树的选举。
6.MSTP快速收敛机制
MSTP快速收敛机制
除支持RSTP所支持的普通P/A机制外,MSTP还支持增强方式的P/A机制。
- 上游设备发送proposal报文,请求进行快速迁移。下游设备接收到后,把与上游设备相连的端口设置为根端口,并阻塞所有非边缘端口。
- 上游设备继续发送agreement报文。下游设备接收到后,根端口转为Forwarding状态。
- 下游设备回应agreement报文。上游设备接收到后,把下游设备相连的端口设置为指定端口,指定端口进入forwording状态。
7.配置
拓扑图:
数据准备:
- 域名为RG1。
- 实例为MSTI1和MSTI2。
- 实例MSTI1的根桥为SW1,备份根桥为SW2;实例MSTI2的根桥为SW2,备份根桥为SW1。
- 实例MSTI1和实例MSTI2的阻塞口的路径开销值修改为200000。
- VLAN号是1~20。
- PC1所属VLAN为10,PC2所属VLAN为20。
【1】配置相同的域信息。SW1、SW2、SW3、SW4均配置
[Huawei]stp enable
[Huawei]stp mode mstp
[Huawei]stp region-configuration
[Huawei-mst-region]region-name RG1
[Huawei-mst-region]instance 1 vlan 1 to 10
[Huawei-mst-region]instance 2 vlan 11 to 20
[Huawei-mst-region]active region-configuration //切记要激活配置
【2】 配置互相备份
SW1:
[Huawei]stp instance 1 root primary
[Huawei]stp instance 2 root secondary
SW2:
[Huawei]stp instance 2 root primary
[Huawei]stp instance 1 root secondary
SW3:
[Huawei]interface GigabitEthernet 0/0/2
[Huawei-GigabitEthernet0/0/2]stp instance 2 cost 200000
[Huawei]interface GigabitEthernet 0/0/3
[Huawei-GigabitEthernet0/0/3]stp edged-port enable
SW4:
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/2]stp instance 1 cost 200000
[Huawei]interface GigabitEthernet 0/0/3
[Huawei-GigabitEthernet0/0/3]stp edged-port enable
关于STP和RSTP的总结:
STP:https://blog.csdn.net/weixin_43997530/article/details/106625705
RSTP:https://blog.csdn.net/weixin_43997530/article/details/108428414