当前位置: 首页 > news >正文

计算机网络-MSTP概述

一、RSTP/STP的缺陷与不足

前面我们学习了RSTP对于STP的一些优化与快速收敛机制。但在划分VLAN的网络中运行RSTP/STP,局域网内所有的VLAN共享一棵生成树,被阻塞后的链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡,导致链路带宽利用率、设备资源利用率较低。

示例1:

RSTP/STP不足
RSTP/STP不足

在网络中存在两个VLAN,网关分别在不同设备上,二层网络通过RSTP进行互联,端口配置Trunk模式允许VLAN 10 20通过,SW3作为根桥会导致PC和PC2都流经根桥,SW5的预备端口被逻辑关闭,PC1的流量:SW5-->SW3-->AR1;PC2的流量:SW5-->SW3-->SW4-->AR2,出现次优路径。

优点:RSTP优化了收敛机制与BPDU保护功能,实现快速收敛。

不足:RSTP实际上与VLAN无关,在单个生成树情况下会导致链路闲置以及次优路径

STP/RSTP维护单个生成树,设备互联必定会逻辑关闭其中一个端口,导致流量从另外路径流出,而且如图导致次优路径。

二、多生成树协议概述

为了弥补RSTP/STP的缺陷,IEEE于2002年发布的802.1S标准定义了MSTP(Multiple Spanning Tree Protocol,多生成树协议)。MSTP兼容STP和RSTP,通过建立多棵无环路的树,解决广播风暴并实现冗余备份,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡

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

MSTP实例
MSTP实例

MSTP计算方式与RSTP/STP类似,基于多实例生成树基于VLAN映射,因为日常使用VLAN技术较广泛,实现不同VLAN路径不同,冗余备份和负载分担。

三、MSTP基本概念

3.1 MST Region

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

MST Region(Multiple Spanning Tree Region,多生成树域),也可简称MST域:

  • 由交换网络中的多台交换设备以及它们之间的网段所构成。
  • 一个局域网可以存在多个MST域,各MST域之间在物理上直接或间接相连。用户可以通过MSTP配置命令把多台交换设备划分在同一个MST域内。
  • MSTP网络中包含1个或多个MST域,每个MST域中包含一个或多个多生成树实例。
MST Region
MST Region

同一个MST域的设备具有下列特点:

  • 都启动了MSTP。
  • 具有相同的域名。
  • 具有相同的VLAN到生成树实例映射配置。
  • 具有相同的MSTP修订级别配置。

如果确定都使用MSTP,则二层交换网络都启用MSTP协议,则形成了一个MST域。

3.2 MSTI

MSTI(Multiple Spanning Tree Instance,多生成树实例):一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。MSTI使用Instance ID标识,华为设备取值为0~4094。

VLAN映射表:MST域的属性,描述了VLAN和MSTI之间的映射关系。如图所示的MST Region 4的VLAN映射有:

  • VLAN1映射到MSTI 1
  • VLAN2映射到MSTI 2
  • 其余VLAN映射到MSTI 3
MSTI
MSTI

在一个MST域内可以创建多个实例,不同实例映射到不同VLAN,就是VLAN流量可以实现负载均衡等功能。

3.3 CST

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

  • 是连接交换网络内所有MST域的一棵生成树。
  • 如果把每个MST域看作是一个节点,CST就是这些节点通过生成树协议计算生成的一棵生成树。
  • 如图深蓝色粗线条连接各个域构成CST。
CST
CST
CST1
CST1

多个MST域的核心主干网络构成。

3.4 IST

IST(Internal Spanning Tree,内部生成树) 是各MST域内的一棵生成树。IST是一个特殊的MSTI,MSTI的Instance ID为0。如图所示的MST Region 4,黑色细线条在域中连接该域的所有交换设备构成IST。

IST
IST
IST1
IST1

IST就是各个域内的内部生成树,不包括核心互联的链路。

3.5 CIST

CIST(Common and Internal Spanning Tree,公共和内部生成树),通过生成树协议计算生成的,连接一个交换网络内所有交换设备的单生成树。如图所示,所有MST域的IST加上CST就构成一棵完整的生成树,即CIST。

CIST
CIST
CIST1
CIST1

就是CST+IST构成整个MST域内的生成树连接。

3.6 SST

SST(Single Spanning Tree,单生成树),运行生成树协议的交换设备只能属于一个生成树。MST域中只有一个交换设备,这个交换设备构成单生成树。如图所示的MST Region 3,该域中的唯一的交换设备构成SST。

SST
SST

一个MST域里只有一台交换机构成MSTP网络。

3.7 总根,域根和主桥

根桥
根桥

因为MSTP是基于多域多实例,因此有总根、区域根桥、主桥。

总根(CIST Root)是CIST的根桥,如图中SW1。

域根(Regional Root):

  • 分为IST域根和MSTI域根。
  • IST域根,在MST域中IST生成树中距离总根最近的交换设备是IST域根,如图中SW2、SW3、SW4。
  • MSTI域根是每个多生成树实例的树根。

主桥(Master Bridge)是IST Master,它是域内距离总根最近的交换设备,如图中SW1、SW2、SW3、SW4 。如果总根在MST域中,则总根为该域的主桥。

简单就是在整个MST域有个总根,在每个MSTI域里面也有域内的根和主桥,各个域桥连接到总根桥。

角色说明
MST域交换网络被划分成多个域,一个MST域内可以包含一台或多台交换机,同属于一个MST域的交换机必须配置相同的域名、相同的修订级别、以及相同的VLAN映射表
MSTI基于Instance的生成树
VLAN映射表VLAN和MSTI之间的映射关系
CST公共生成树,连接所有MST域的一棵生成树
IST内部生成树,MST域内Instance ID为0的一棵生成树
CIST公共和内部生成树,连接一个交换网络内所有交换设备的生成树
SST单生成树,MST域内只有一台交换设备,且该设备只属于一棵生成树
总根CIST的根桥
IST域根MST域中,IST距离总根最近的交换设备
MSTI域根MSTI的根桥
主桥距离总根最近的交换设备,包括:总根和IST域根

总结:STP和RSTP都只会生成一颗生成树,就可能出现链路浪费和次优路径。为了解决这些问题出现了多实例生成树,MSTP基于域、实例、VLAN映射来实现,能够实现VLAN流量的负载分担和提高链路可用性。

本文由 mdnice 多平台发布

相关文章:

计算机网络-MSTP概述

一、RSTP/STP的缺陷与不足 前面我们学习了RSTP对于STP的一些优化与快速收敛机制。但在划分VLAN的网络中运行RSTP/STP,局域网内所有的VLAN共享一棵生成树,被阻塞后的链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡,导致…...

Redisson(三)应用场景及demo

一、基本的存储与查询 分布式环境下&#xff0c;为了方便多个进程之间的数据共享&#xff0c;可以使用RedissonClient的分布式集合类型&#xff0c;如List、Set、SortedSet等。 1、demo <parent><groupId>org.springframework.boot</groupId><artifact…...

考研要求掌握的C语言程度(堆排序)1

含义 堆排序就是把数组的内容在心中建立为大根堆&#xff0c;然后每次循环把根顶和没交换过的根末进行调换&#xff0c;再次建立大根堆的过程 建树的几个公式 一个数组有n个元素 最后一个父亲节点是n/2-1; 假如父亲节点在数组的下标为a 那么左孩子节点在数组下标为2*a1,…...

chronyd配置了local的NTP server之后, NTP报文中出现public IP的问题

描述 客户在Rocky Linux 9.4的VM上配了一个local的NTP server(IP: 10.64.1.76)。 配置完成后, 时钟可以同步&#xff0c;但一段时间后客户的firewall收到告警, 拒绝了大量目标端口为123的请求, 且这些请求的目的IP并不是客户指定的NTP server的IP&#xff0c;客户要求解释原因…...

docker常用命令整理

文章目录 docker 常用操作命令一、镜像类操作1.构建镜像2.从容器创建镜像3.查看镜像列表4.删除镜像5. 从远程镜像仓库拉取镜像6. 将镜像推送到镜像仓库中7. 将镜像导出8. 导入镜像9. 登录镜像仓库 二、容器相关操作1. 运行容器2. 进入容器3. 查看容器的运行状态4. 查看容器的日…...

将CSDN博客转换为PDF的Python Web应用开发--Flask实战

文章目录 项目概述技术栈介绍 项目目录应用结构 功能实现单页博客转换示例&#xff1a; 专栏合集博客转换示例&#xff1a; PDF效果&#xff1a; 代码依赖文件requirements.txt:app.py&#xff1a;代码解释&#xff1a; /api/onepage.py:代码解释&#xff1a; /api/zhuanlan.py…...

AIGC学习笔记(3)——AI大模型开发工程师

文章目录 AI大模型开发工程师002 GPT大模型开发基础1 OpenAI账户注册2 OpenAI官网介绍3 OpenAI GPT费用计算4 OpenAI Key获取与配置5 OpenAI 大模型总览6 代码演示安装依赖导入依赖初始化客户端执行代码遇到的问题 AI大模型开发工程师 002 GPT大模型开发基础 1 OpenAI账户注册…...

Windows server 2003服务器的安装

Windows server 2003服务器的安装 安装前的准备&#xff1a; 1.镜像SN序列号 图1-1 Windows server 2003的安装包非常人性化 2.指定一个安装位置 图1-2 选择好安装位置 3.启动虚拟机打开安装向导 图1-3 打开VMware17安装向导 图1-4 给虚拟光驱插入光盘镜像 图1-5 输入SN并…...

HTML作业

作业 复现下面的图片 复现结果 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><form action"#"method"get"enctype"text/plain"><…...

MYSQL-SQL-04-DCL(Data Control Language,数据控制语言)

DCL&#xff08;数据控制语言&#xff09; DCL英文全称是Data Control Language(数据控制语言)&#xff0c;用来管理数据库用户、控制数据库的访问权限。 一、管理用户 1、查询用户 在MySQL数据库管理系统中&#xff0c;mysql 是一个特殊的系统数据库名称&#xff0c;它并不…...

多线程进阶——线程池的实现

什么是池化技术 池化技术是一种资源管理策略&#xff0c;它通过重复利用已存在的资源来减少资源的消耗&#xff0c;从而提高系统的性能和效率。在计算机编程中&#xff0c;池化技术通常用于管理线程、连接、数据库连接等资源。 我们会将可能使用的资源预先创建好&#xff0c;…...

C++网络编程之C/S模型

C网络编程之C/S模型 引言 在网络编程中&#xff0c;C/S&#xff08;Client/Server&#xff0c;客户端/服务器&#xff09;模型是一种最基本且广泛应用的架构模式。这种模型将应用程序分为两个部分&#xff1a;服务器&#xff08;Server&#xff09;和客户端&#xff08;Clien…...

目标检测:YOLOv11(Ultralytics)环境配置,适合0基础纯小白,超详细

目录 1.前言 2. 查看电脑状况 3. 安装所需软件 3.1 Anaconda3安装 3.2 Pycharm安装 4. 安装环境 4.1 安装cuda及cudnn 4.1.1 下载及安装cuda 4.1.2 cudnn安装 4.2 创建虚拟环境 4.3 安装GPU版本 4.3.1 安装pytorch&#xff08;GPU版&#xff09; 4.3.2 安装ultral…...

面试域——岗位职责以及工作流程

摘要 介绍互联网岗位的职责以及开发流程。在岗位职责方面&#xff0c;详细阐述了产品经理、前端开发工程师、后端开发工程师、测试工程师、运维工程师等的具体工作内容。产品经理负责需求收集、产品规划等&#xff1b;前端专注界面开发与交互&#xff1b;后端涉及系统架构与业…...

C#文件内容检索的功能

为了构建一个高效的文件内容检索系统&#xff0c;我们需要考虑更多的细节和实现策略。以下是对之前技术方案的扩展&#xff0c;以及一个更详细的C# demo示例&#xff0c;其中包含索引构建、多线程处理和文件监控的简化实现思路。 扩展后的技术方案 索引构建&#xff1a; 使用L…...

Redis-05 Redis发布订阅

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;是一种消息通信模式&#xff0c;允许客户端订阅消息频道&#xff0c;以便在发布者向频道发送消息时接收消息。这种模式非常适合实现消息队列、聊天应用、实时通知等功能。 #了解即可&#xff0c;用的很少...

【读书笔记·VLSI电路设计方法解密】问题27:什么是可制造性设计

尽管业界尚未达成共识,但“可制造性设计”这一术语大致描述了旨在提高产品良率的特定分析、预防、纠正和验证工作。这不同于后GDSII阶段的分辨率增强技术,如光学邻近效应校正(OPC)和相位移掩膜(PSM)。“可制造性设计”中的关键词是“设计”,意指在设计阶段(而非设计完成…...

数据结构:堆的应用

堆排序 假定有一组数据极多的数&#xff0c;让我们进行排序&#xff0c;那我们很容易想到一种经典的排序方法&#xff0c;冒泡排序&#xff0c;我们对冒泡排序的时间复杂度进行分析&#xff1a; 显然&#xff0c;冒泡排序的时间复杂度是O&#xff08;n^2&#xff09;,当数据量…...

Spring Boot 实现文件分片上传和下载

文章目录 一、原理分析1.1 文件分片1.2 断点续传和断点下载1.2 文件分片下载的 HTTP 参数 二、文件上传功能实现2.1 客户端(前端)2.2 服务端 三、文件下载功能实现3.1 客户端(前端)3.2 服务端 四、功能测试4.1 文件上传功能测试4.2 文件下载功能实现 参考资料 完整案例代码&…...

夹逼准则求数列极限(复习总结)

记住这两个准则&#xff0c;然后我们就开始看题目 因为是证明题&#xff0c;所以要放缩到什么值已经是确定的了。也就是放缩到0&#xff0c;然后很明显地可以看出前面已经有一个可以使得极限是0了&#xff0c;并且后面的值明显小于1&#xff0c;就是逐渐缩小的趋势&#xff0c;…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...