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
    评论
### 回答1: MSTP(Multiple Spanning Tree Protocol,多重生成树协议)是一种用于构建和维护网络中多个生成树的协议,主要用于以太网交换网络中避免网络环路的发生。CSDN(中国最大的IT技术社区)是一个聚集了众多程序员、工程师和技术爱好者的在线平台。 MSTP是在STP(Spanning Tree Protocol,生成树协议)的基础上扩展而来的。在以太网交换网络中,使用生成树协议可以防止网络中的环路,保证数据的无循环传输。然而,传统的生成树协议只能支持一个生成树,而当网络规模庞大时,这可能会导致网络的性能和带宽利用率低下。 MSTP的出现就解决了这个问题,它可以同时建立和维护多个生成树,每个生成树对应一个VLAN(虚拟局域网),从而提高网络的性能和带宽利用率。MSTP使用了一种称为CIST(Common and Internal Spanning Tree,公共和内部生成树)的结构,将所有的生成树整合在一起。 CSDN作为一个IT技术社区,提供了丰富的技术文章、博客、论坛等资源,为技术人员提供了交流、学习和分享的平台。在CSDN上,程序员可以发布自己的技术博客,与其他人分享自己的经验和知识;可以参与讨论,提出问题或回答别人的问题;还可以学习他人的经验和技术,从而不断提升自己的技能。 总结来说,MSTP是一种用于构建和维护网络中多个生成树的协议,用于提高网络的性能和带宽利用率。而CSDN则是一个IT技术社区,为技术人员提供了交流、学习和分享的平台。 ### 回答2: MSTP(Multiple Spanning Tree Protocol,多重生成树协议)是一种用于构建和管理网络交换机之间的冗余链路的协议。CSDN是一个技术社区网站,提供了丰富的技术文章和资源。 MSTP是基于Spanning Tree Protocol(生成树协议)技术的一种扩展,其主要目的是为了提高网络的可靠性、冗余和负载均衡能力。MSTP允许网络管理员将网络划分为不同的区域,每个区域可以由一组交换机组成,这些交换机可以独立地计算和管理生成树,从而提供更高的网络可用性。 MSTP通过定义不同的实例(Instance)来实现区域划分。每个实例都有一个独立的生成树,不同的实例可以根据网络的特点进行配置,以满足网络管理员的需求。在MSTP中,每个交换机都会交换配置信息,并计算出最佳的生成树路径,这样就能够实现负载均衡和快速的链路切换。 CSDN提供了关于MSTP的详细解释和实践经验的文章。这些文章包括了如何配置MSTPMSTP的工作原理、MSTP与其他生成树协议的比较等内容。通过阅读这些文章,用户可以了解MSTP基本概念和应用场景,以及如何在实际网络中部署和管理MSTP。 总结来说,MSTP是一种用于构建和管理冗余链路的协议,可以提高网络的可靠性和负载均衡能力。CSDN是一个提供技术文章和资源的网站,提供了关于MSTP的详细解释和实践经验的文章,帮助用户了解和应用MSTP技术。 ### 回答3: CSDN(中国软件开发网)是一个专门面向软件开发者的技术社区,也是中国最大的IT开发者社区,其中涵盖了大量的技术资讯、知识分享和交流平台。MSTP是CSDN的一个重要栏目,它是指微软技术(Microsoft Technology)社区专栏。 MSTP栏目主要关注微软技术相关的话题,包括但不限于操作系统、开发工具、云计算、人工智能、移动开发和数据库等等。通过MSTP专栏,CSDN向开发者提供了丰富的微软技术学习资源和最新的技术动态资讯。 在MSTP栏目中,开发者可以通过阅读相关文章了解各类微软技术的应用与开发实践,获得解决问题的思路和方法。同时,MSTP也是一个互动交流的平台,开发者可以通过评论和留言与作者互动,提出问题和讨论技术难题,获得更深入的学习和交流机会。 MSTP栏目汇集了众多专家和技术大牛的原创分享和经验总结,这些文章涵盖了从基础知识到高级技巧的各个方面。通过MSTP,开发者可以不仅了解微软技术的最新动态,还可以积累和分享开发经验,提高自己的技术水平。 总之,MSTP是CSDN为开发者提供的一个专门的微软技术专栏,通过这个栏目开发者可以了解和学习微软技术的最新发展和应用实践,获取权威的技术资讯和专家分享,以提升自己的技术能力和解决实际问题。对于对微软技术感兴趣的开发者来说,MSTP是一个不可多得的学习和交流平台。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

格洛米爱学习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值