MSTP(多生成树),基础与实验
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSTP(多生成树),基础与实验相关的知识,希望对你有一定的参考价值。
一、概述
- 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.配置生成树工作模式
[Switch]stp mode mstp
2.启用MSTP
[Switch]stp enable
注意:为了保证生成树计算过程快速而且稳定,必须在启用STP/RSTP/MSTP之前,完成对交换设备及其端口必要的基本配置。
配置MST域并激活
1.进入MST域视图
[Switch]stp region-configuration
[Switch-mst-region]
2.配置MST域的域名
[Switch-mst-region]region-name [name] //缺省情况下,MST域名等于交换设备的桥MAC地址。
3.配置多生成树实例域VLAN的映射关系
[Switch-mst-region]instance [instance-id] vlan vlanid1 [to vlanid2] //将指定VLAN映射到指定的生成树实例上。缺省情况下,所有VLAN均映射到CIST,即实例0上。
4.(可选)配置MST域的MSTP修订级别
[Switch-mst-region]revision-level [level] //配置交换设备的MSTP修订级别。缺省情况下,交换设备MST域的修订级别是0。
5.激活MST域
[Switch-mst-region]active region-configuration //使域名、VLAN映射表和MSTP修订级别生效。
MSTP的可选配置
1.配置根桥和备份根桥
[Switch]stp instance [instance-id] root primary|secondary //配置指定实例的根桥或备份根桥
2.配置交换设备在指定生成树实例中的优先级
[Switch]stp instance [instance-id] priority [priority] //配置交换设备在指定生成树中的优先级,缺省为32768
3.配置端口在指定生成树实例中的路径开销
[Switch]stp pathcost-standard dot1d-1998 | dot1t | legacy //配置路径开销算法,缺省情况下,路径开销值的计算方法为IEEE 802.1T标准。
[Switch-GigabitEthernet0/0/0]stp instance [instance-id] cost [cost] //配置当前端口指定实例的端口路径开销
4.配置端口在指定生成树实例中的优先级
[Switch-GigabitEthernet0/0/0]stp instance [instance-id] port priority [priority] //配置当前端口在生成树计算时的优先级,缺省为128
五、单域多实例实验
如图
要求VLAN2以SW1为根桥,SW2为备份根桥。VLAN3以SW2为根桥,SW1为备份根桥
SW1配置
[SW1]vlan batch 2 to 3
[SW1]interface g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 to 3
[SW1-GigabitEthernet0/0/1]interface g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 to 3
[SW1]stp mode mstp
[SW1]stp region-configuration
[SW1-mst-region]region-name simple
[SW1-mst-region]instance 1 vlan 2
[SW1-mst-region]instance 2 vlan 3
[SW1-mst-region]active region-configuration
[SW1]stp instance 1 root primary
[SW1]stp instance 2 root secondary
[SW1]interface Vlanif 2
[SW1-Vlanif2]ip add 192.168.2.2 24
SW2与SW1不相同的配置
[SW2]stp instance 2 root primary
[SW2]stp instance 1 root secondary
[SW2]interface Vlanif 3
[SW2-Vlanif3]ip add 192.168.3.2 24
SW3和SW4配置
[SW3]vlan batch 2 to 3
[SW3]stp mode mstp
[SW3]int e0/0/3
[SW3-Ethernet0/0/3]stp edged-port enable
[SW3-Ethernet0/0/3]port link-type access
[SW3-Ethernet0/0/3]port default vlan 2
[SW3]int e0/0/1
[SW3-Ethernet0/0/1]port link-type trunk
[SW3-Ethernet0/0/1]port trunk allow-pass vlan 2 to 3
[SW3-Ethernet0/0/2]port link-type trunk
[SW3-Ethernet0/0/2]port trunk allow-pass vlan 2 to 3
[SW3]stp region-configuration
[SW3-mst-region]region-name simple
[SW3-mst-region]instance 1 vlan 2
[SW3-mst-region]instance 2 vlan 3
以上是关于MSTP(多生成树),基础与实验的主要内容,如果未能解决你的问题,请参考以下文章