MSTP基础概念

MSTP的诞生背景:

RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,造成带宽浪费,还有可能造成部分VLAN的报文无法转发。
在这里插入图片描述
在局域网内应用STP或RSTP,生成树结构在图中用虚线表示,S6为根交换设备。S2和S5之间、S1和S4之间的链路被阻塞,除了图中标注了“VLAN2”或“VLAN3”的链路允许对应的VLAN报文通过外,其它链路均不允许VLAN2、VLAN3的报文通过。PC2和PC3同属于VLAN2,由于S2和S5之间的链路被阻塞,S3和S6之间的链路又不允许VLAN2的报文通过,因此PC2和PC3之间无法互相通讯。

为了解决上述问题,可以采用MSTP。MSTP相比于STP和RSTP的优点如下:

  1. 负载分担:多个VLAN的流量使用不同的拓扑来分担网络的流量。
  2. 冗余性:一个实例的拓扑发送变化,不会影响到其他拓扑和实例。

MSTP同时也存在一些缺点:

  1. 相比于单拓扑模型的STP和RSTP,MST开销更大。
  2. 在多区域场景下,MST在边界上没有负载分担的能力。
  3. 在MST的多区域中,会存在次优路径问题。(后面会进行分析)

MSTP网络的层次结构:

MSTP不仅涉及多个MSTI,而且还可以划分多个MST域(MST Region,也称为MST域)。总的来说,一个MSTP网络可以包含一个或多个MST域,而每个MST域中又可以包含一个或多个MSTI。最后每个MSTI的是其中运行的是STP/ RSTP/ MSTP的交换设备,是这些交换设备经MSTP协议计算形成的树状网络。

基本概念1:MST域

在这里插入图片描述
MST域是多生成树域(Multiple Spanning Tree Region),由交换网络中的多台交换设备以及它们之间的网段所构成。同一个MST域的设备具有下列特点:

  1. 都启动了MSTP。
  2. 具有相同的域名(如果不配置域名,每个交换机会根据自己的MAC地址生成一个完全不同的域名,所以不配置域名,每个交换机是不可能在同一个区域中)。
  3. 具有相同的VLAN到生成树实例映射配置。
  4. 具有相同的MSTP修订级别配置。(修订级别是为了当vlan映射表的hash值相同时区别是否在同一个区域,也就是必须有相同的域名,有相同的hash值和相同的修订级别,并且都启动了MSTP才能给叫做同一个MST域)

基本概念2:MSTI

在这里插入图片描述
所谓实例(instance)就是针对一组VLAN的一个独立计算的STP。通过将多个VLAN捆绑到一个实例,相对于每个VLAN独立运算来说,可以节省通信开销和资源占用率。

MSTI之间彼此独立,MSTI可以与一个或者多个VLAN对应。但一个VLAN只能与一个MSTI对应。每一个MSTI对应一个实例号,实例号从1开始,以区分实例号为0的IST(没有进行映射的vlan都会映射到MSTI 0中,也就是IST中)。拓扑中,VLAN2映射到实例2,即MSTI 2;VLAN4映射到实例4,即MSTI 4。

注意:通常在一般的企业网络中,通常是将支持MSTP的设备全部划分入一个MST域中,而将不支持MSTP的设备划分到另外一个MST域中,对应同一个MSTI来说,通常是将具有相同转发路径的VLAN划分入一个MSTI域中,以独立的形成一棵生成树,否则又会向普通的RSTP可能出现部分VLAN流量不能正常转发的情况。

基本概念3:CST、IST和CIST

在这里插入图片描述
1.公共生成树CST(Common Spanning Tree): 是连接交换网络内所有MST域的一棵生成树(也就是把每一个MST域看成一个交换机,通过算法将其虚拟的交换机连接起来)。

  1. CST就是这些节点(MST域)通过STP或RSTP协议计算生成的一棵生成树。
  2. 拓扑中,由蓝线组成CST。CST的根即为MST Region1(每个区域将自己的域根作为自己桥ID,最小的作为CST的根)。
  3. 整个交换网络中只有一个。

2.内部生成树IST(Internal Spanning Tree): 是各MST域内的一棵生成树。

  1. MST域内每颗生成树都对应一个实例号,IST的实例号为0,所以IST也是一种特殊的MSTI。实例0无论有没有配置都是存在的,没有映射到其他实例的VLAN默认都会映射到实例0,即IST上。
  2. 每一个MST域只有一个IST。
  3. IST的计算方式和普通MSTI不同。
  4. IST是CIST在MST域中的一个片段。
  5. 拓扑中,由红线组成IST。

3.公共和内部生成树CIST(Common and Internal Spanning Tree): CIST是通过STP或RSTP协议计算生成的,连接一个交换网络内所有交换设备的单生成树。

  1. 总根是整个网络中优先级最高的网桥,即为CIST的根桥。
  2. CIST也就是IST和CST的一个结合,在后面会进行详细说明。
  3. 拓扑中,MST域内的红线和MST域间的蓝线共同组成了CIST。CIST的根桥为MST Region1中的S1(也就是所有交换机中BID最小的作为CIST的根)。

基本概念4:总根、域根和主桥

总根: 总根是CIST的根桥,也就是全网中BID最小的设备,一个网络中有且只有一个。

域根: 域根分为MSTI域根和IST域根,IST域根也称为主桥,之间的选举方式有区别。

  1. MSTI域根是每个MSTI上优先级最高的网桥,MST域内每个MSTI可以指定不同的根。
  2. 拓扑中,假设S9在MSTI 2中优先级最高,所以S9为MSTI 2中的域根;假设S8在MSTI 4中优先级最高,所以S8为MSTI 2中的域根。

主桥: 也就是IST Master,它是域内距离总根最近的交换设备(注意是最近的并不是BID最小的)。

基本概念5:MSTP的端口角色

在这里插入图片描述
MSTP在RSTP的基础上新增了2种端口,MSTP的端口角色共有7种:根端口、指定端口、Alternate端口、Backup端口、边缘端口、Master端口和域边缘端口。对于前五种端口,没有变化,所以现在只需要进行后两种端口的学习:

1.Master端口(只有MSTI上存在,IST/CST/CIST中不存在):
• Master端口是MST域和总根相连的所有路径中最短路径上的端口,它是交换设备上连接MST域到总根的端口。
• Master端口是域中的所有报文去往总根的必经之路。
• Master端口是特殊域边缘端口,Master端口在CIST上的角色是Root Port,在其它各实例上的角色都是Master端口。也就是说,一个MST域中IST域根的根端口就是其他MSTI域中同样设备(不管是不是域根)的master端口。
• 拓扑中,S7面向Region 1的端口为Master口。

2.域边缘端口
• MST域内网桥和其他MST域或者STP/RSTP网桥相连的端口为域边界端口。
• 拓扑中,S8面向Region 2的端口为域边界端口。
• 普通的非Master端口的域边缘端口为alternate状态;当Master端口出现故障后,成为Master端口。

由于网桥在不同MSTI上可以具有不同的角色,所以网桥端口在MSTI上可能有不同的角色。唯一例外的是Master端口,该端口在所有MSTI上的角色都相同,都为Master端口。所以我们可以得出的结论,MST中的路径可以改变,而MST域之间的路径始终是不变的,都是通过CST计算得出的,之后会进行计算过程的分析。为什么会存在master端口的标识?因为master端口很有可能不在域根上(会在离总根最近的设备上),一个普通桥如果存在两个root端口,是无法正常计算拓扑的,所以必须进行区别,但是而在IST中,因为是进行整个拓扑的计算(与全部设备直接进行RSTP有区别),也就是以的是CIST总根进行运算的,主桥永远是离总根最近的设备,本区域中去往总根的流量始终是通过此设备转发的,不用担心此设备出现两个根端口的情况。

MSTP报文格式:

在这里插入图片描述
目前MSTP的BPDU报文存在两种格式:

  1. dot1s:IEEE802.1s规定的报文格式。
  2. legacy:私有协议报文格式。
  3. 采用的端口收发MSTP报文格式可配置(stp compliance)功能,能够实现对BPDU报文格式的自适应(默认为dot1s),如果只采用默认的方式支持dot1s或者legacy,那么如果双方格式不同,很可能导致MSTI识别错误,导致出现环路。

无论是域内的MST BPDU还是域间的,除MST专有字段,其他消息和RST BPDU相同(BPDU Type字段和RSTP相同,也为0x02)。但是具体含义有了修改:

  1. RST BPDU中的Root ID字段在MSTP中表示CIST中的总根ID(CIST RID)。
  2. EPC字段在MSTP中表示CIST外部路径开销,即发送此BPDU的网桥所属的域距离总根所属的域的CST路径开销(CIST ERC)。
  3. Bridge ID字段在MSTP中表示CIST域根ID(CIST Region Root ID)。
  4. Port ID字段在MSTP表示MSTP中CIST指定端口ID(CIST PID)。

MST专有字段:
• Version 3 Length,Version3 BPDU的长度,用于对接收到的BPDU进行校验。
• MST Configuration Identifier,MST配置标识,表示MST域的标签信息,包含4个字段。标识自己所在的区域。MST配置标识包括四部分数据结构,只有四部分设置都相同的相邻交换机才被认为是在同一个区域中。

  1. Format Selector:配置标识格式选择符,长度为一个字节,固定设置为0。
  2. Name:配置名称,也就是给交换机的MST域名,长度为32字节。每个交换机都配置一个MST域名,默认为交换机的MAC地址。
  3. Digest:配置摘要,长度为16字节。相同区域的交换机应当维护相同的VLAN到MST Instance的映射表,可是MST配置表太大(8192字节),不适合在交换机之间相互发送。此字段是使用MD5算法从MST配置表中算出的摘要信息。
  4. Revision Level:修订级别,长度为两个字节,默认取值为全0。由于Configuration Digest是MST配置表的摘要信息,因此有很小的可能MST配置表不同但摘要信息却相同的情况,这会导致本来不在同一区域的交换机认为在同一区域中,此字段是一个额外的标识字段,建议不同的区域使用不同的数值,以消除上述可能的错误的情况。

• CIST Internal Root Path Cost,CIST内部路径开销指从本端口到IST Master交换设备的累计路径开销。CIST内部路径开销根据链路带宽计算。(IST计算使用)
• CIST Bridge Identifier,CIST的指定交换设备ID,即发送此BPDU的交换机。(IST计算使用)
• CIST Remaining Hops,BPDU报文在CIST中的剩余跳数。用来限制MST的规模。从CIST域根开始,BPDU每经过一个网桥的转发,跳数就被减1;网桥丢弃收到的跳数为0的BPDU。
• MSTI Configuration Messages(may be absent),MSTI配置信息。(MSTI计算时使用)

  1. MSTI Flag,1个自己,第1位到第7位和RSTP定义的相同,第8位为Master标志位,表示该网桥是否为Master桥,取代RSTP中的TCA位。
  2. MSTI region Root ID,表示该MST实例的域根ID。
  3. MSTI IRPC,表示发送此BPDU的网桥到达MSTI域根的路径开销。
  4. MSTI Bridge Priority,发送此BPDU的网桥的优先级。
  5. MSTI Port Priority,发送此BPDU端口的优先级。
  6. MSTI Remaining Hops,定义同CIST剩余跳数,表示BPDU在该MST实例中剩余跳数。

参考资料:华为ICT培训资料,有错误的地方请指正

  • 12
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

格洛米爱学习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值