2022-08-14 网工进阶(二十六) MSTP-网络层次、端口角色、端口状态、拓扑计算

MSTP简介

RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但在划分VLAN的网络中运行RSTP/STP,局域网内所有的VLAN共享一棵生成树,被阻塞后的链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡,导致链路带宽利用率、设备资源利用率较低。

为了弥补RSTP/STP的缺陷,IEEE于2002年发布的802.1S标准定义了MSTP(Multiple Spanning Tree Protocol,多生成树协议)。MSTP兼容STP和RSTP,通过建立多棵无环路的树,解决广播风暴并实现冗余备份。

MSTP可以将一个或多个VLAN映射到一个Instance(实例),再基于Instance计算生成树,映射到同一个Instance的VLAN共享同一棵生成树

相关命令

配置生成树工作模式为mstp

[SW1]stp mode mstp

MSTP网络层次

MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。

MST Region(MST域)

一个局域网可以存在多个MST域,各MST域之间在物理上直接或间接相连。用户可以通过MSTP配置命令把多台交换设备划分在同一个MST域内。

MSTP网络中包含1个或多个MST域,每个MST域中包含一个或多个多生成树实例。

相关命令

进入MST域视图

[SW1]stp region-configuration

配置MST域的域名(缺省情况下,MST域名等于交换设备的桥MAC地址),同一个MST域的设备必须配置相同的域名

[SW1-mst-region]region-name ?
  STRING<1-32>  A maximum of 32 characters can be entered

MSTI(Multiple Spanning Tree Instance,多生成树实例)

一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。MSTI使用Instance ID标识,华为设备取值为0~4094。Instance0是缺省存在的,而且缺省时,华为交换机上所有的VLAN都映射到了Instance0。

VLAN映射表

描述了VLAN和MSTI之间的映射关系。每个VLAN只能对应一个MSTI,即同一VLAN的数据只能在一个MSTI中传输,而一个MSTI可能对应多个VLAN。

相关命令

配置多生成树实例与VLAN的映射关系(缺省情况下,所有VLAN均映射到CIST,即实例0上)

[SW1-mst-region]instance 1 vlan 1 to 10

激活MST域的配置

[SW1-mst-region]active region-configuration 

配置MST域的修订级别(各厂商设备的MSTP修订级别一般都默认为0,如果某厂商的设备不为0,为保持MST域内计算,在部署MSTP时,需要将各设备的MSTP修订级别修改为一致)

[SW1-mst-region]revision-level ?
  INTEGER<0-65535>  Revision level

CST(Common Spanning Tree,公共生成树)

连接交换网络内所有MST域的一棵生成树。

IST(Internal Spanning Tree,内部生成树)

是各MST域内的一棵自动计算的生成树。连接了该MST域内所有的设备。IST是一个特殊的MSTI,MSTI的Instance ID为0

 

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

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

SST(Single Spanning Tree,单生成树)

MST域中,运行生成树协议的交换设备只属于一个生成树实例,包括只有一个交换设备的情况。

总根(CIST Root)

是CIST的根桥。

域根(Regional Root)

IST域根

除了总根所在的MST域外,IST生成树中距离总根最近的交换设备。

MSTI域根

多生成树实例的根桥。

主桥(Master Bridge)

它是域内距离总根最近的交换设备,总根在MST域中,则总根为该域的主桥。因此,主桥包括总根和IST域根

MSTP的端口角色

MSTP中定义的所有端口角色包括:根端口、指定端口、Alternate端口、Backup端口、Master端口、域边缘端口和边缘端口。

其中,根端口、指定端口、Alternate端口、Backup端口、边缘端口的定义同RSTP。Master端口、域边缘端口是MSTP种新增的端口角色。

域边缘端口

域边缘端口是指位于MST域的边缘并连接其它MST域的端口。

Master端口

Master端口是MST域和总根相连的域边缘端口。

Master端口在CIST上的角色是Root Port,在其它各实例上的角色都是Master端口

MSTP的端口状态

MSTP定义的端口状态与RSTP协议中定义相同

Forwarding状态:端口既转发用户流量,学习MAC地址,又接收/发送BPDU报文。

Learning状态:过渡状态,端口接收/发送BPDU报文,不转发用户流量但是学习MAC地址。

Discarding状态:端口只接收BPDU报文,不转发用户流量也不学习MAC地址。

MSTP端口状态

端口在拓扑中的角色

Forwarding

包括根端口、指定端口、Master端口、域边缘端口

Learning

包括根端口、指定端口、Master端口、域边缘端口

Discarding

包括根端口、指定端口、Master端口、域边缘端口、Alternate端口、Backup端口

MSTP报文

MSTP使用MST BPDU(Multiple Spanning Tree Bridge Protocol Data Unit,多生成树桥协议数据单元)作为生成树计算的依据。

Protocol Version Identifier:1 Byte,协议版本标识符,STP为0,RSTP为2,MSTP为3。

CIST Flags:1 Byte,CIST标志字段。

CIST Root Identifier:8 Byte,CIST的总根交换设备ID。

CIST External Path Cost:4 Byte,CIST外部路径开销指从本交换设备所属的MST域到CIST根交换设备所属的MST域的累计路径开销。CIST外部路径开销根据链路带宽计算。

CIST Regional Root Identifier:8 Byte,CIST的域根交换设备ID,即IST Master的ID。如果总根在这个域内,那么域根交换设备ID就是总根交换设备ID。

CIST Port Identifier:2 Byte,本端口在IST中的指定端口ID。

Message Age:2 Byte,BPDU报文的生存期。

Max Age:2 Byte,BPDU报文的最大生存期,超时则认为到根交换设备的链路故障。

Hello Time:2 Byte,Hello定时器,缺省为2秒。

Forward Delay:2 Byte,Forward Delay定时器,缺省为15秒。

Version 1 Length:1 Byte,Version1 BPDU的长度,值固定为0。

Version 3 Length:2 Byte,Version3 BPDU的长度。

MST Configuration Identifier:51 Byte,MST配置标识,表示MST域的标签信息,包含4个字段。

CIST Internal Root Path Cost:4 Byte,CIST内部路径开销指从本端口到IST Master交换设备的累计路径开销。CIST内部路径开销根据链路带宽计算。

CIST Bridge Identifier:8 Byte,CIST的指定交换设备ID。

CIST Remaining Hops:1 Byte,BPDU报文在CIST中的剩余跳数。

MSTI Configuration Messages:16 Byte,MSTI配置信息。每个MSTI的配置信息占16 Byte,如果有n个MSTI就占用n×16 Byte。

抓包观察

1 协议版本标识符:3(mstp)

2 CIST总根ID:0.4c:1f:cc:e8:0c:74

3 本地MST域到根域的累计路径开销:20000

4 本地MST域根设备ID:4096.4c:1f:cc:1a:55:04

5 Version3 BPDU的长度:80字节

6-7 MST域信息

8 本端口到IST Master交换设备的累计路径开销:20000

9 本桥通往域根的最邻近的上游桥ID:32768.4c:1f:cc:87:03:68

10 报文剩余跳数:20

11 MSTI 1 的配置信息

MSTP拓扑计算

CIST和MSTI都是根据优先级向量来计算的,这些优先级向量信息都包含在MST BPDU中。各交换设备互相交换MST BPDU来生成CIST和MSTI 。

参与CIST计算的优先级向量为(优先级从左到右依次递减):根交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID。

参与MSTI计算的优先级向量为(优先级从左到右依次递减):域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID。

如果端口接收到的BPDU内包含的配置消息优于端口上保存的配置消息,则端口上原来保存的配置消息被新收到的配置消息替代。端口同时更新交换设备保存的全局配置消息。反之,新收到的BPDU被丢弃

优先级向量

根交换设备ID

根交换设备ID用于选择CIST中的根交换设备。

根交换设备ID = Priority(16 bit) + MAC(48 bit)。

其中Priority为MSTI 0 的优先级。

外部路径开销(External Root Path Cost,ERPC)

从CIST的域根到达总根的路径开销。

MST域内所有交换设备上保存的外部路径开销相同。

若CIST根交换设备在域中,则域内所有交换设备上保存的外部路径开销为0。

域根ID

域根ID用于选择MSTI中的域根。

域根ID = Priority(16 bit) + MAC(48 bit)。

其中Priority为MSTI0的优先级。

内部路径开销(Internal Root Path Cost,IRPC)

本桥到达域根的路径开销。

域边缘端口保存的内部路径开销大于非域边缘端口保存的内部路径开销。

指定交换设备ID

指定交换设备是本桥通往域根的最邻近的上游桥。

如果本桥就是总根或域根,则指定交换设备为自己。

指定端口ID

指定交换设备上同本设备上根端口相连的端口。

Port ID = Priority(4 bit) + 端口号(12 bit)。

端口优先级必须是16的整数倍。

接收端口ID

接收到BPDU报文的端口。

Port ID = Priority(4 bit) + 端口号(12 bit)。

端口优先级必须是16的整数倍。
 

CIST计算

1 经过比较MST BPDU消息后,在整个网络中选择一个优先级最高的交换设备作为CIST的树根,即总根。

2 在每个MST域内,MSTP通过计算生成IST。

3 同时MSTP将每个MST域作为单台交换设备对待,通过计算在MST域间生成CST。

MSTI计算

在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。

每个MSTI独立计算自己的生成树,互不干扰,计算方法与STP基本相同,可以有不同的根,不同的拓扑,在自己的生成树内发送BPDU,拓扑通过命令配置决定。

每个端口在不同MSTI上的生成树参数、角色、状态可以不同。

通过计算来自动确定生成树的根桥,用户也可以手动配置设备为指定生成树的根桥或备份根桥,但在同一棵生成树中,一台设备不能既作为根桥,又作为备份根桥,根桥只有一个,备份根桥可以有多个,当根桥故障时,优先级最优的备份根桥会成为根桥。

相关命令

配置根桥和备份根桥(primary优先级是0,secondary优先级是4096)

[SW1]stp instance 1 root ?
  primary    Primary root switch
  secondary  Secondary root switch

配置交换设备在指定生成树实例中的优先级

[SW1]stp instance 1 priority ?
  INTEGER<0-61440>  Bridge priority, in steps of 4096

配置路径开销值的计算方法(缺省情况下,路径开销值的计算方法为IEEE 802.1T标准)

[SW1]stp pathcost-standard ?
  dot1d-1998  IEEE 802.1D-1998
  dot1t       IEEE 802.1T
  legacy      Legacy

dot1d-1998:指定路径开销值的计算方法是IEEE 802.1D-1998标准方法,取值范围为1~65535。
dot1t:指定路径开销值的计算方法是IEEE 802.1T标准方法,取值范围为1~200,000,000。
legacy:指定路径开销值的计算方法是华为计算方法,取值范围为1~200,000。

配置当前端口在指定生成树上的端口路径开销(缺省情况下,端口在各个生成树上的路径开销为端口速率对应的路径开销)

[SW1-GigabitEthernet0/0/1]stp instance 1 cost ?
  INTEGER<1-200000000>  Port path cost

配置当前端口在生成树计算时的优先级(缺省情况下,交换设备端口的优先级取值是128,步进16)

[SW1-GigabitEthernet0/0/1]stp instance 1 port priority ?
  INTEGER<0-240>  Port priority, in steps of 16

MSTP网络数据转发

在MST域内,沿着其对应的MSTI转发。在MST域间,沿着CST转发。

比如,vlan2映射到了MSTI  2,在整个CIST中,数据会沿着每个MST域内的MSTI 2的生成树进行转发。在MST域的边界出会根据CST进行转发。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹅一只

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值