计算机网络-MSTP的基础概念
前面我们大致了解了MSTP的由来,是为了解决STP/RSTP只有一根生成树导致的VLAN流量负载分担与次优路径问题,了解MSTP采用实例映射VLAN的方式实现多实例生成树,MSTP有很多的理论概念需要知道,其实与其它的知识一样理论复杂配置还好的吧。今天继续学习MSTP的一些基础知识。
一、MSTP的端口角色
MSTP中定义的所有端口角色包括:根端口、指定端口、Alternate端口、Backup端口、Master端口、域边缘端口和边缘端口。
| 端口角色 | 说明 |
|---|---|
| 根端口 | 在非根桥上,离根桥最近的端口是本交换设备的根端口。根端口负责向树根方向转发数据。 |
| 指定端口 | 对一台交换设备而言,它的指定端口是向下游交换设备转发BPDU报文的端口。 |
| Alternate端口 | 从配置BPDU报文发送角度来看,Alternate端口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口。从用户流量角度来看,Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。 |
| Backup端口 | 从配置BPDU报文发送角度来看,Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口。从用户流量角度来看,Backup端口作为指定端口的备份,提供了另外一条从根节点到叶节点的备份通路。 |
| Master端口 | Master端口是MST域和总根相连的所有路径中最短路径上的端口,它是交换设备上连接MST域到总根的端口。Master端口是域中的报文去往总根的必经之路。Master端口是特殊域边缘端口,Master端口在CIST上的角色是Root Port,在其它各实例上的角色都是Master端口。 |
| 域边缘端口 | 域边缘端口是指位于MST域的边缘并连接其它MST域或SST的端口。 |
| 边缘端口 | 如果指定端口位于整个域的边缘,不再与任何交换设备连接,这种端口叫做边缘端口。边缘端口一般与用户终端设备直接连接。 |
前面4个与STP/RSTP一致,Master端口是MST域到总根距离最近的端口,域边缘端口是连接MST域间的端口,边缘端口与RSTP一致,与终端直连的设备,不参与MSTP计算。
二、MSTP的端口状态
MSTP定义的端口状态与RSTP协议中定义相同:
-
Forwarding状态:端口既转发用户流量,学习MAC地址,又接收/发送BPDU报文。 -
Learning状态:过渡状态,端口接收/发送BPDU报文,不转发用户流量但是学习MAC地址。 -
Discarding状态:端口只接收BPDU报文,不转发用户流量也不学习MAC地址。
| MSTP端口状态 | 端口在拓扑中的角色 |
|---|---|
| Forwarding | 包括根端口、指定端口、Master端口、域边缘端口 |
| Learning | 包括根端口、指定端口、Master端口、域边缘端口 |
| Discarding | 包括根端口、指定端口、Master端口、域边缘端口、Alternate端口、Backup端口 |
继承了RSTP简单的端口状态描述。
三、MSTP报文
MSTP使用MST BPDU(Multiple Spanning Tree Bridge Protocol Data Unit,多生成树桥协议数据单元)作为生成树计算的依据。
MST BPDU报文用来计算生成树的拓扑、维护网络拓扑以及传达拓扑变化记录。
主要字段说明: 1、Protocol ID : STP,协议标识符2字节。
2、Protocol Version ID :3 表示MSTP。
| 版本 | 类型 | 名称 |
|---|---|---|
| 0 | 0x00 | 配置BPDU |
| 0 | 0x80 | TCN BPDU |
| 2 | 0x02 | RST BPDU |
| 3 | 0x02 | MST BPDU |
3、BPDU 类型
BPDU Type:1 Byte,表示BPDU报文类型,0x02表示MSTP的BPDU或者RSTP
-
0x00:STP的Configuration BPDU -
0x80:STP的TCN BPDU(Topology Change Notification BPDU) -
0x02:RST BPDU(Rapid Spanning-Tree BPDU)或者MST BPDU(Multiple Spanning-Tree BPDU)
4、CIST Flags: 1 Byte,CIST标志字段。
CIST标志字段与RSTP标志字段完全一样.
5、CIST Root Identifier:8 Byte,CIST的总根交换设备ID。
CIST外部路径开销,是IST域根所属MST域到总根所属MST域的累计路径开销,类似于RSTP中的根路径开销,根据链路带宽计算.
6、CIST External Path Cost:4 Byte,CIST外部路径开销指从本交换设备所属的MST域到CIST根交换设备所属的MST域的累计路径开销。CIST外部路径开销根据链路带宽计算。
7、CIST Regional Root Identifier,8字节,CIST域根桥ID即IST域根桥ID,总根所属MST域的IST域根桥ID就是总根桥ID。
8、Hello时间等
与RSTP大致相同。
9、MST配置
Configuration Name,32字节,MST域名。
缺省情况下华为交换机使用MSTP,如果想要深入了解报文可以在交换机进行抓包查看。
总结:学习了MSTP的端口角色,在RSTP的基础上由于使用多域与多实例增加了相关的端口角色,端口状态与RSTP一致。MSTP使用MST BPDU报文来标识,通过version和BPDU type区分。
本文由 mdnice 多平台发布
相关文章:
计算机网络-MSTP的基础概念
前面我们大致了解了MSTP的由来,是为了解决STP/RSTP只有一根生成树导致的VLAN流量负载分担与次优路径问题,了解MSTP采用实例映射VLAN的方式实现多实例生成树,MSTP有很多的理论概念需要知道,其实与其它的知识一样理论复杂配置还好的…...
P1037 [NOIP2002 普及组] 产生数
[NOIP2002 普及组] 产生数 题目描述 给出一个整数 n n n 和 k k k 个变换规则。 规则: 一位数可变换成另一个一位数。规则的右部不能为零。 例如: n 234 , k 2 n234,k2 n234,k2。有以下两个规则: 2 ⟶ 5 2\longrightarrow 5 2⟶5。 …...
【分布式知识】分布式对象存储组件-Minio
文章目录 什么是minio核心特点:使用场景:开发者工具:社区和支持: 核心概念什么是对象存储?MinIO 如何确定对对象的访问权限?我可以在存储桶内按文件夹结构组织对象吗?如何备份和恢复 MinIO 上的…...
跨平台开发支付组件,实现支付宝支付
效果图: custom-payment : 在生成预付订单之后页面中需要弹出一个弹层,弹层中展示的内容为支付方式(渠道),由用户选择一种支付方式进行支付。 该弹层组件是以扩展组件 uni-popup 为核心的,关于…...
API 接口:为电商行业高效发展注入强劲动力
一、动力之源:API 接口在电商中的角色剖析 在电商行业的广袤版图中,API 接口宛如一台强劲的发动机,是推动其高效发展的核心动力来源。它不再仅仅是一个技术工具,而是成为了连接电商各个环节的 “神经系统”,使得信息、…...
Golang的跨平台开发
Golang的跨平台开发 一、Golang跨平台开发概述 语言是一种开源的编程语言,由Google开发,广泛应用于云计算和网络编程领域。Golang具有并发性好、性能优异、内存管理自动化等特点,因此备受开发者青睐。其中,Golang的跨平台特性使得…...
txt数据转为pdf格式并使用base64解密输出
使用该方法请注意:因为此方法使用了base64解密,需要保证txt中的数据首先用了base64加密,如果只是普通的二进制数据,该方法并不适用 第一步 <dependency><groupId>org.apache.pdfbox</groupId><artifactId&…...
鸿蒙开发-状态+判断+循环
🌈个人主页:前端青山 🔥系列专栏:鸿蒙开发篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来鸿蒙开发篇专栏内容:鸿蒙开发-状态判断循环 目录 1.状态1原始类型 2.引用类型 2.判断 3.循环 1.基本使用…...
基于SSM网上招投标管理系统的设计
管理员账户功能包括:系统首页,个人中心,用户管理,招标者管理,专家管理,项目分类管理,招标项目管理,系统管理 前台账号功能包括:系统首页,个人中心࿰…...
「C/C++」C++ 设计模式 之 单例模式(Singleton)
✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...
WPF的行为(Behavior)
WPF(Windows Presentation Foundation)是微软.NET框架中用于构建Windows客户端应用程序的UI框架。它提供了一种声明性的方式来定义用户界面,并且支持MVVM(Model-View-ViewModel)设计模式。 在WPF中,“行为…...
SpringBoot框架:闲一品交易平台的新突破
摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,闲一品交易平台当然也不能排除在外。闲一品交易平台是以实际运用为开发背景,运用软件工程原理和开发方法&…...
关于AI绘画 | Stable Diffusion 技术专栏推荐文章
AI绘画 | Stable Diffusion 技术专栏推荐文章 引言 随着人工智能技术的发展,AI绘画逐渐成为艺术创作的新潮流。在众多的AI绘画工具中,Stable Diffusion因其强大的功能和易用性受到了广泛的关注。本文将详细介绍由“泰山AI”创建的技术专栏“AI绘画 | S…...
Oracle 第13章:事务处理
在数据库管理系统(DBMS)中,事务处理是一个非常重要的概念,它确保了数据的一致性和可靠性。下面我将解释事务的概念与特性,并讨论如何进行事务管理。 事务的概念与特性 事务是指作为一个工作单元的一组有序的SQL操作。…...
String的长度有限,而我对你的思念却无限延伸
公主请阅 1. 为什么学习string类?2. string类的常用接口2.1 string类对象的常见构造2.1.1 string 2.2 operator[]2.3 迭代器2.4 auto自动推导数据类型2.5 范围for2.6 迭代器第二层2.7 size和length获取字符串的长度2.8 max_size 获取这个字符串能设置的最大长度2.9 …...
二叉树的后序遍历
给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[3,2,1] 解释: 示例 2: 输入:root [1,2,3,4,5,null,8,null,null,6,7,9] 输出…...
Nvidia未来的Blackwell Ultra GPU将更名为B300系列
据TrendForce报道,英伟达(Nvidia)计划将其Blackwell Ultra产品线重新命名为B300系列,以更好地与即将推出的B100和B200产品进行区分。Blackwell Ultra系列将是一个具有更高性能的升级版本。但据报道,这种升级后的内存配…...
BUUCTF靶场Misc练习
在BUUCTF中,你需要留意各种关于涉及 flag{ } 的信息。只要找的到flag,你就算成功。本文记录我刷BUUCTF的Misc类方法和个人感悟。 Misc第一题 签到 题解在题目中,如图所示 flag是 flag{buu_ctf} 第二题 (题目如图所示ÿ…...
ChatGPT、Python和OpenCV支持下的空天地遥感数据识别与计算——从0基础到15个案例实战
从无人机监测农田到卫星数据支持气候研究,空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而,对于许多专业人士而言,如何高效地处理、分析和应用遥感数据仍是一个充满挑战的课题。本教程应运而生,致力于为您搭建一…...
Flume采集Kafka数据到Hive
版本: Kafka:2.4.1 Flume:1.9.0 Hive:3.1.0 Kafka主题准备: Hive表准备:确保hive表为:分区分桶、orc存储、开启事务 Flume准备: 配置flume文件: /opt/datasophon/flume-1…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
