MSTP(多生成树),基础与实验

时间:2022-09-04 00:53:40


一、概述

  • 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构成的生成树

MSTP(多生成树),基础与实验MSTP(多生成树),基础与实验

IST

MSTP(多生成树),基础与实验MSTP(多生成树),基础与实验

  • 是各MST域内的一棵生成树。 
  • IST是一个特殊的MSTI,MSTI的Instance ID为0。

CIST

CIST(Common and Internal Spanning Tree,公共和内部生成树)

  • 通过生成树协议计算生成的,连接一个交换网络内所有交换设备的单生成树。

如图,所有MST域的IST加上CST就构成了完整的生成树,即CIST。

MSTP(多生成树),基础与实验MSTP(多生成树),基础与实验

SST

SST(Single Spanning Tree,单生成树)

  • 运行生成树协议的交换设备只能属于一个生成树。
  • MST域中只有一个交换设备,这个交换设备构成单生成树。 

如图,MST Region3,该域中的唯一的交换设备构成SST。

MSTP(多生成树),基础与实验

总根,域根和主桥

  • 总根(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域根

MSTP(多生成树),基础与实验

小结

角色

说明

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

MSTP(多生成树),基础与实验

无论是域内的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为备份根桥

MSTP(多生成树),基础与实验

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