MSTP详解- 原理篇

相关文章推荐:
STP和RSTP详解-原理篇
STP和RSTP详解-配置篇
MSTP详解-配置篇

一、 MSTP产生背景

IEEE 于2002年发布的802.1S标准定义了MSTP
RSTP和STP 缺点:

  • 同一局域网内所有的vlan共享一个生成树,无法在vlan间实现数据流量的负载均衡;
  • 链路利用率低,被阻塞的冗余链路不承载任何流量,造成了带宽的浪费,还可能造成部分vlan报文无法转发。
    MSTP:MSTP兼容STP和RSTP,既可以快速收敛,又能使不同VLAN的流量沿各自的路径转发,从而为冗余链路提供了更好的负载分担机制。

二、 MSTP基本概念

  1. MSTP网络层次结构
    MSTP不仅涉及多个MSTI(生成树实例),而且还可划分多个MST域(MST Region,也称为MST区域)。总的来说,一个MSTP网络可以包含一个或多个MST域,而每个MST域中又可包含一个或多个MSTI。组成每个MSTI的是其中运行STP/RSTP/MSTP的交换设备,是这些交换设备经MSTP协议计算后形成的树状网络。
    在这里插入图片描述
  2. MSTP域
  • 同一MSTP域设备的特点
    • 都启动MSTP
    • 具有相同的域名
    • 具有相同的VLAN到生成树实例映射配置
    • 具有相同的MSTP修订级别配置

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

3. MSTI-多生成树实例
MSTI是指MST域内的生成树。一个MST域内可以通过MSTP生成多棵生成树,各棵生成树之间彼此独立。一个MSTI可以与一个或者多个VLAN对应,但一个VLAN只能与-个MSTI对应。

4. VLAN映射表
VLAN映射表是MST域的属性,描述了VLAN和MST域中对应MSTI之间的映射关系。也就是把那些VLAN分别加入哪个MSTI中。

5. IST -内部生成树
IST是各个MST域内部的一棵生成树,是仅针对具体的MST域来计算的。但它是一个特殊的MSTI,其MSTIID为0,即IST通常称为MSTI0。每个MST域中只有一个IST,包括对应MST域中所有互联的交换机。
6. CST - 公共生成树
CST:是连接整个MSTP网络内所有MST域的一棵单生成树,是针对整个MSTP网络来计算的,每个网络中只有一个CST,每个MST域中的IST是整个MSTP网络CIST在对应MST与中的一个片段
7. CIST - 公共和内部生成树
CIST是通过STP或RSTP协议计算生成的,连接整个MSTP网络内所有交换机的单生成树,由IST和CST共同构成。这里要注意了,上面介绍的CST是连接交换网络中所有MST域的单生成树,而此处的CIST则是连接交换网络内的所有交换机的单生成树。即每个MSTP网络中也只有一个CIST。交换网络中的所有MST域的IST和CST一起构成一棵完整的生成树,也就是这里的CIST。
在这里插入图片描述
8. SST
构成SST(生成树)有两种情况

  • 运行STP或RSTP生成树协议的交换机只属于一个生成树
  • MST与中只有一个交换机,这个交换机构成了生成树,如上图的B0区域

9. 总根
总根是CIST生成树的根桥,通常是交换网络中最上层的交换机,上图中的总根是A0域中的IST生成树的根,一个MSTP网络只有一个总根
10. 根域
在MSTP网络中,每MST域都有一个特殊的IST实例,以及许多MSTI实例,所以域根(Regional Root)又分为IST域根和MSTI域根。

  • 各个MST域中的IST生成树中举例CIST总根举例最近的交换机是IST域根,总根所在MST域的IST域根就是总根。
  • MSTI的域根是对应生成树实例的树根,域中不同的MSTI有各自的域根。而且,MST域内各棵生成树的拓扑不同,域根也可能不同。

三、MSTP端口角色

MSTP端口角色相比RSTP中多一个主端口(master port ),根端口、指定端口、Alternate 端口、Backup端口和边缘端口这五种主要端口角色的作用与RSTP协议中对应的端口角色定义完全相同。
与RSTP相同,在MSTP中除了边缘端口外,其他端口都参与MSTP的计算过程,同一端口在不同生成树中担任不同角色
在这里插入图片描述

Master端口
Master端口是MST域和总根相连的所有路径中最短路径上的端口,它是交换机上连接MST域到总根的端口。Master端口是域中的报文去往总根的必经之路。Master端口是特殊域边缘端口,Master 端口在CST/CIST上的角色是根端口,在其他各实例上的角色都是Master。在图中,交换设备S1、S2、S3、S4和它们之间的链路构成一个MST域,SI交换设备的端口AP1在域内的所有端口中到总根的路径开销最小,所以API为Master端口。
域边缘端口
域边缘端口是指位于MST域的边缘并连接其他MST域或SST的端口。进行MSTP计算时,域边缘端口在MSTI上的角色和CIST实例的角色保持一致。即如果边缘端口在CIST实例上的角色是Master端口(连接域到总根的端口),则它在域内所有MSTI上的角色也是Master端口。在图中,AP1是域边缘端口,它在CIST上的角色是Master端口,则API在MST域内所有生成树实例上的角色都是Master端口。

四、MSTP的端口状态与收敛机制

端口角色端口状态根端口/Master端口指定端口域边缘端口Aiternate端口Backup端口
Forwarding--
Leaning--
Discarding

MSTP的收敛机制与RSTP是完全一样的,具体点击这里查看

五、 MSTP 拓扑计算原理

MSTP将整个层网络划分为多个MST域,把每个域视为一个节点。各个MST域之间按照STP或者RSTP协议算法进行计算并生成CST(是单生成树);在一个MST域内则是通过MSTP协议算法计算生成若干个MSTI(是多生成树),其中实例0被称为IST。MSTP使用MST BPDU(Multiple Spanning Tree Bridge Protocol Data Unit,多生成树桥协议数据单元)作为生成树计算的依据。MSTBPDU报文用来计算生成树的拓扑、维护网络拓扑以及传达拓扑变化记录。

5.1 MSTP 向量优先级
优先级向量名说明
根桥ID根桥ID用于选择CIST中的根桥。在BPDU中对应的网桥ID,计算公式为:Priority(l6bits)+MAC(48bits)
外部路径开销(ERPC)从MST域根到达总根的路径开销。MST域内所有交换机上保存的外部路径开销相同。若CIST根桥在域中,则域内所有交换机上保存的外部路径开销为0
域根ID也就是通常所说的MSTI树根,域根ID用于选择MSTI中的树根。它也是通过网桥ID来选举的,计算公式为:Priority(l6bits)+ MAC(48bits)
内部路径开销(IRPC)本交换机到达域根桥的路径开销。域边缘端口保存的内部路径开销值大于(优先级越低)非域边缘端口保存的内部路径开销
指定桥CIST或MSTI实例的指定桥是本交换机通往域根的最邻近的上游交换机。如果本交换机就是总根或域根,则指定桥为自己
指定端口指定桥上与本交换机根端口相连的端口就是指定端口。其端口ID(Port ID)=Priority(8位)+端口号(8位)。
接收端口端口优先级必须是16的整数倍接收到BPDU报文的端口。其端口ID(Port ID)= Priority(8位)+端口号(8位)。端口优先级必须是16的整数倍
  • 最小向量拥有最高优先级:比较规则如下
    • 首先,比较根桥ID。
    • 如果根桥ID相同,再比较外部路径开销。
    • 如果外部路径开销还相同,再比较域根ID.
    • 如果域根ID仍然相同,再比较内部路径开销。
    • 如果内部路径仍然相同,再比较指定桥ID。
    • 如果指定桥ID仍然相同,再比较指定端口ID。
    • 如果指定端口ID还相同,再比较接收端口ID。
5.2 CIST 的计算

经过配置消息交换比较后,首先在整个网络中选择一个优先级最高的交换机作为CIST的树根,然后在每个MST域内通过MSTP协议算法计算生成IST;同时MSTP将每个MST域作为单台交换机对待,通过STP或者RSTP协议算法在MST域间计算生成CST。
CST和IST构成了整个交换机网络的CIST。

5.3 MSTI计算

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

(1)每个MSTI独立计算自己的生成树,互不干扰。
(2)每个MSTI的生成树计算方法与RSTP基本相同。
(3)每个MSTI的生成树可以有不同的根,不同的拓扑。
(4)每个MSTI在自己的生成树内发送BPDU。
(5)每个MSTI的拓扑通过命令配置决定(不是自动生成的)。
(6)每个端口在不同MSTI上的生成树参数可以不同。
(7)每个端口在不同MSTI上的角色、状态可以不同。

5.4 MSTI 生成树算法实现

在一开始时,每台交换机的各个端口会生成以自身交换机为根桥的配置消息,其中根路径开销为0,指定桥ID为自身交换机ID,指定端口为本端口。每台交换机都向外:发送自己的配置消息,并在接收到其他配置消息后进行如下处理。
(1)当端口收到比自身的配置消息优先级低(优先级的比较就是根据前面介绍的向量优先级比较规则进行的)的配置消息时,交换机把接收到的配置消息丢弃,对该端口的配置消息不作任何处理。
(2)当端口收到比本端口配置消息优先级高的配置消息时,交换机把接收到的配置消息中的内容替换该端口的配置消息中的内容:然后交换机将该端的配置消 息和交换机上的其他端口的配置消息进行比较,选出最优的配置消息。
计算生成树的步骤如下。
(1)选举根桥。此步是通过比较所有交换机发送的配置消息的树根ID,树根ID值最小的交换机为CIST根桥,或者MST域根桥。
(2)选举非根桥上的根端口。每台非根桥把接收到最优配置消息的那个端口定为自身交换机的根端口。
(3)选举指定端口。在这一步又分为以下两个子步骤:
首先,交换机根据根端口的配置消息和根端口的路径开销,为每个端口计算一个标准的指定端口配置消息:用树根ID替换为根端口配置消息中的树根ID;用根路径开销替换为根端口配置消息中的根路径开销加上根端口的路径开销:用指定桥ID替换为自身交换机的ID:用指定端口ID替换为自身端口ID。
然后,交换机对以上规则计算出来的配置消息和对应端口上原来的配置消息进行比较。如果端口上原来的配置消息更优,则交换机将此端口阻塞,端口的配置消息不变,并且此端口将不再转发数据,只接收配置消息(相当于根端口);如果通过以上替换计算出来的配置消息比端口上原来的配置消息更优,则交换机就将该端口设置为指定端口,端口上的配置消息替换成通过以上替换计算出来的配置消息,并周期性向外发送。
(4)在MSTI生成树拓扑收敛后,无论非根桥是否接收到根桥传来的信息都按照Hello定时器周期性发送BPDU。如果一一个端口连续3个Hello时间(这个是缺省的设置)接收不到指定桥(也就是它所连接的上-级交换机)送来的BPDU,那么该交换机认为与此邻居之间的链路失败。

5.5 MSTP 对拓扑变化的处理

在MSTP中检测拓扑是否发生了变化的标准是根据–个非边缘端口的状态是否迁移到Forwarding状态,如果是迁移到了Forwarding状态,则会发生拓扑变化。
交换机一旦检测到拓扑发生变化,进行如下处理。

  • 为本交换机的所有非边缘指定端口启动一个TC While Timer(该计时器值是Hello Time的两倍),并在这个时间内,清空这些端口上学来的MAC地址。如果是根端口上有状态变化,则启动根端口。
  • 发生状态变化的这些端口向外发送TC BPDU,其中的TC置位,直到TC While Timer超时。根端口总是要发送这种TC BPDU。

其他交换机接收到TC BPDU,进行如F处理。

  • 清空所有端口学来的MAC地址,收到TC BPDU的端口除外。
  • 为所有自己的非边缘指定端口和自己的根端口启动TC While计时器,重复上述过程。

六、 MSTP BPDU 报文

4中BPDU 的比较
名称版本类型
配置BPDU00X00
RST BPDU20X02
MST BPDU30X02
TCN BPDU00X80

MST BPDU 报文结构如下图,无论是域内的MST BPDU 还是域间的 MST BPDU,前36字节和 RST bpdu是相同的,从第37 字节开始是 MSTP专有字段
在这里插入图片描述
在这里插入图片描述

MSTP BPDU 字段说明

在这里插入图片描述
在这里插入图片描述
2. MSTP BPDU报文格式可配置功能目前MSTP的BPDU报文存在两种格式。
(1)dotls:IEEE802.1s规定的报文格式。
(2)legacy:华为私有协议报文格式。

华为交换机支持自动识别报文格式的功能,支持自动识别模式

[Huawei-GigabitEthernet0/0/1]stp compliance ?
  auto    Protocol type is auto
  dot1s   Protocol type is 802.1s
  legacy  Protocol type is legacy
  • 84
    点赞
  • 724
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答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是一个不可多得的学习和交流平台。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值