计算机网络-MSTP工作原理

前面大致学习了MSTP基础概念与组成,今天来了解MSTP的工作原理。

一、MSTP拓扑计算:

MSTP可以将整个二层网络划分为多个MST域各个域之间 通过计算生成CST域内生成IST ,CST和IST构成了整个交换设备网络的CIST

域内还可以基于实例计算生成多棵生成树,每棵生成树都被称为是一个MSTI。 简单理解就是通过分区域进行计算生成域内和域间的生成树,构成CIST。
CIST MSTP构成

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

  • 参与CIST计算的优先级向量为:{ 根交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
  • 参与MSTI计算的优先级向量为:{ 域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }

注意:括号中的向量的优先级从左到右依次递减,值越小越优先。

优先级向量说明:

  • 根交换设备ID:根交换设备ID用于选择CIST中的根交换设备。根交换设备ID = Priority(16 bit) + MAC(48 bit)。其中Priority为MSTI0的优先级,示例:32768.4c1f-ccb1-1240
  • 外部路径开销(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:CIST或MSTI实例的指定交换设备是本桥通往域根的最邻近的上游桥。如果本桥就是总根或域根,则指定交换设备为自己。
  • 指定端口ID:指定交换设备上同本设备上根端口相连的端口。Port ID = Priority(4 bit) + 端口号(12 bit)。端口优先级必须是16的整数倍。示例:128.1
  • 接收端口ID:接收到BPDU报文的端口。Port ID = Priority(4 bit) + 端口号(12 bit)。端口优先级必须是16的整数倍。

二、CIST计算

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

在每个MST域内,MSTP通过计算生成IST;同时MSTP将每个MST域作为单台交换设备对待,通过计算在MST域间生成CST。CST和IST构成了整个交换设备网络的CIST。
CIST计算

选择一个整个MSTP网络的最优设备作为总根,然后每个域内选择一个域根,构成CIST。

三、MSTI计算

在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似。
MSTI计算

MSTI的特点:

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

根桥和备份根桥:可以通过计算来自动确定生成树的根桥,用户也可以手动配置设备为指定生成树的根桥或备份根桥。

  • 设备在各生成树中的角色互相独立,在作为一棵生成树的根桥或备份根桥的同时,也可以作为其它生成树的根桥或备份根桥;但在同一棵生成树中,一台设备不能既作为根桥,又作为备份根桥。
  • 在一棵生成树中,生效的根桥只有一个;当两台或两台以上的设备被指定为同一棵生成树的根桥时,系统将选择MAC地址最小的设备作为根桥。
  • 可以在每棵生成树中指定多个备份根桥。当根桥出现故障或被关机时,备份根桥可以取代根桥成为指定生成树的根桥;但此时若配置了新的根桥,则备份根桥将不会成为根桥。如果配置了多个备份根桥,则MAC地址最小的备份根桥将成为指定生成树的根桥。

四、MSTP网络数据转发

在运行MSTP协议的网络中,一个VLAN报文将沿着如下路径进行转发:

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

数据转发1 数据转发2

先从MSTI内部走,然后经过CST骨干路径转发到其他域。

总结:MSTP的工作原理大致是先确定整个MSTP域的总根 ,不同的MSTP域的域根连接总根构成CST ,然后不同的MSTP域内部确定一个无环的内部生成树IST ,选举规则依据优先级向量决定,值越小越优先。在MST域内依据不同创建不同实例并映射VLAN形成MSTI,内部生成树实例。数据转发先在域内沿着IST转发 ,然后域间通过CST转发

本文由mdnice多平台发布

相关推荐
逻辑君4 小时前
技术逆向英语|202602011
程序人生
逻辑君5 小时前
根与星辰|Roots and the Stars
人工智能·程序人生
郝学胜-神的一滴1 天前
Effective Modern C++ 条款37:使std::thread在所有路径最后都不可结合
开发语言·c++·程序人生·多线程·并发·std
BackCatK Chen1 天前
2026丙午马年新春祝福:以匠心致初心,以奔腾赴前程
经验分享·程序人生·新年祝福
郝学胜-神的一滴1 天前
深入理解TCP连接的优雅关闭:半关闭状态与四次挥手的艺术
linux·服务器·开发语言·网络·tcp/ip·程序人生
半问2 天前
Vibecoding:想法行不行,做出来看看
人工智能·程序人生·ai·产品运营·互联网
郝学胜-神的一滴2 天前
深入浅出链表:数据结构中的“珍珠项链“
开发语言·数据结构·程序人生·链表
愚者游世3 天前
long long各版本异同
开发语言·c++·程序人生·职场和发展
郝学胜-神的一滴3 天前
深入解析Effective Modern C++条款35:基于任务与基于线程编程的哲学与实践
开发语言·数据结构·c++·程序人生
愚者游世4 天前
力扣解决二进制 | 题型常用知识点梳理
c++·程序人生·算法·leetcode·职场和发展