计算机网络-MSTP基础实验一(单域多实例)
前面我们已经大致了解了MSTP的基本概念和工作原理,但是我自己也觉得MSTP的理论很复杂不结合实验是很难搞懂的,今天来做一个配套的小实验以及一些配置命令。
一、网络拓扑

基本需求:SW1为VLAN10的网关,SW2为VLAN20的网关,通过配置MSTP的单域多实例实现PC1走SW3-SW1,PC2走SW4-SW2,实现不同VLAN流量的负载分担,当出现故障可以实现链路切换。
二、配置
2.1 二层互联
在SW1创建VLAN10的网关地址,SW2创建VLAN20的网关地址,各个交换机之间配置Trunk放通VLAN 10 和VLAN 20,连接PC的端口配置为边缘端口。
配置:
# SW1
sysname SW1
#
vlan batch 10 20
# 配置SW1分别为实例1、2的主根桥和备份根桥也就是MSTI域根
stp instance 1 root primary
stp instance 2 root secondary
# MSTP域配置,域名称自定义mstp,最后激活域配置,域配置需要域内统一
stp region-configurationregion-name mstpinstance 1 vlan 10instance 2 vlan 20active region-configuration
#
interface Vlanif10ip address 192.168.10.254 255.255.255.0
#
interface Vlanif20# 二层互联,实现路径切换
interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 10 20
#
interface GigabitEthernet0/0/2port link-type trunkport trunk allow-pass vlan 10 20# SW2
vlan batch 10 20
# 配置SW2作为实例1、2的主根桥和备份根桥
stp instance 1 root secondary
stp instance 2 root primary
# 域映射配置
stp region-configurationregion-name mstpinstance 1 vlan 10instance 2 vlan 20active region-configuration
#
drop-profile default
#
interface Vlanif10
#
interface Vlanif20ip address 192.168.20.254 255.255.255.0
#
interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 10 20
#
interface GigabitEthernet0/0/2port link-type trunkport trunk allow-pass vlan 10 20# SW3,缺省优先级
vlan batch 10 20
# MSTP域配置
stp region-configurationregion-name mstpinstance 1 vlan 10instance 2 vlan 20active region-configuration
# 互联接口二层互通配置
interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 10 20
#
interface GigabitEthernet0/0/2port link-type trunkport trunk allow-pass vlan 10 20
# 连接PC的接口配置为边缘端口
interface GigabitEthernet0/0/3port link-type accessport default vlan 10stp edged-port enable
#
interface GigabitEthernet0/0/4port link-type accessport default vlan 20stp edged-port enable# SW4
vlan batch 10 20
# MSTP域配置
stp region-configurationregion-name mstpinstance 1 vlan 10instance 2 vlan 20active region-configuration
# 二层互联
interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 10 20
#
interface GigabitEthernet0/0/2port link-type trunkport trunk allow-pass vlan 10 20
# 配置边缘端口
interface GigabitEthernet0/0/3port link-type accessport default vlan 20stp edged-port enable
2.2 检查配置
实例1:

正常情况下直接从SW3--SW1,当出现故障会切换到SW3-SW4-SW2-SW1。
故障模拟:

实例2:


抓包查看可以看到MSTI的实例信息:

总结:在实验拓扑中SW4因为MAC地址最小,优先级最高作为MSTP域的总根,缺省存在实例0。实例间的端口角色独立,如实例1和实例2的端口角色间不会影响流量转发,相当于在接口上进行了实例隔离。SW1作为实例1的MSTI域根,为实例2的备份域根,SW2作为实例2的主域根,实例1的备份根桥可以实现流量路径备份功能。
三、基础命令配置
# 配置生成树工作模式{stp/rstp/mstp},华为设备缺省为mstp
[Huawei] stp mode mstp# 启用MSTP,为了保证生成树计算过程快速而且稳定,必须在启用STP/RSTP/MSTP之前,完成对交换设备及其端口必要的基本配置。
[Huawei] stp enable# 进入MST域视图
[Huawei] stp region-configuration
[Huawei-mst-region]# 配置MST域的域名,缺省情况下,MST域名等于交换设备的桥MAC地址。
[Huawei-mst-region] region-name name# 配置多生成树实例与VLAN的映射关系,将指定VLAN映射到指定的生成树实例上。缺省情况下,所有VLAN均映射到CIST,即实例0上。
[Huawei-mst-region] instance instance-id vlan { vlan-id1 [ to vlan-id2 ] }# (可选)配置MST域的MSTP修订级别,缺省情况下,交换设备MST域的修订级别是0。
[Huawei-mst-region] revision-level level# 激活MST域的配置,使域名、VLAN映射表和MSTP修订级别生效。
[Huawei-mst-region] active region-configuration# 配置根桥和备份根桥,配置当前交换设备为指定生成树的根桥或备份根桥。缺省情况下根据桥ID选举,具有不确定性。
[Huawei] stp [ instance instance-id ] root { primary | secondary }# 配置交换设备在指定生成树实例中的优先级,缺省情况下,交换设备在指定生成树中的优先级是32768。
[Huawei] stp [ instance instance-id ] priority priority# 配置端口在指定生成树实例中的路径开销,缺省情况下,路径开销值的计算方法为IEEE 802.1T标准。
[Huawei] stp pathcost-standard { dot1d-1998 | dot1t | legacy }# 配置端口在指定生成树实例中的优先级,缺省情况下,交换设备端口的优先级取值是128。
[Huawei-GigabitEthernet0/0/1] stp [ instance instance-id ] port priority priority
通过MSTI域与实例的划分可以实现基于实例创建多颗生成树,实现二层流量的备份。
本文由 mdnice 多平台发布
相关文章:

计算机网络-MSTP基础实验一(单域多实例)
前面我们已经大致了解了MSTP的基本概念和工作原理,但是我自己也觉得MSTP的理论很复杂不结合实验是很难搞懂的,今天来做一个配套的小实验以及一些配置命令。 一、网络拓扑 单域多实例拓扑 基本需求:SW1为VLAN10的网关,SW2为VLAN20的…...
React合成事件及其核心思想详解
相关联Javascript知识 1.JavaScript 的事件流 事件流是 JavaScript 处理事件的机制,它描述了事件从发生到被处理的过程。事件流主要包括两个阶段:捕获阶段和冒泡阶段。在捕获阶段,事件从文档的根元素开始,逐层向下传播到目标元素&…...

Datawhale模型减肥秘籍Tasking之模型量化
Datawhale模型减肥秘籍Tasking之模型量化 什么是量化?为什么量化?量化基本方法基于k-means的量化线性量化 训练后量化量化粒度动态量化参数的计算 ( Cliping )指数移动平均(EMA)Min-MaxKL 量化均方误差(MSE)…...

在云服务器搭建 Docker
操作场景 本文档介绍如何在腾讯云云服务器上搭建和使用 Docker。本文适用于熟悉 Linux 操作系统,刚开始使用腾讯云云服务器的开发者。如需了解更多关于 Docker 相关信息,请参见 Docker 官方。 说明: Windows Subsystem for Linuxÿ…...

Redis 的代理类注入失败,连不上 redis
在测试 redis 是否成功连接时,发现 bean 没有被创建成功,导致报错 根据报错提示,需要我们添加依赖: <dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>&l…...

版本控制【Git Bash】【Gitee】
目录 一、什么是版本控制? 二、版本控制的种类: 1、本地版本控制 2、集中版本控制 3、分布式版本控制 三、下载Git Bash 四、Git Bash 配置 五、Git Bash使用 1、切换目录:cd 2.查看当前文件路径:pwd 3.列出当前目录下文件…...

Neo4j Desktop 和 Neo4j Community Edition 区别
Neo4j Desktop 和 Neo4j Community Edition 的主要区别在于它们的用途、功能以及安装和管理方式。以下是这两者的详细对比: 1. Neo4j Desktop Neo4j Desktop 是一个图形化的桌面应用程序,主要为开发人员和个人使用提供了一个便捷的环境来安装、管理和运…...

使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法
在使用uniapp开发微信小程序时候,过多的引入uni_modules的组件库,会导致主包文件过大,导致无法上传微信小程序,主包要求大小不超过1.5MB.分包大小每个不能超过2M。 解决方法:分包。 1.对每个除了主页面navbar的页面进…...

HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)事件推荐开发者测试
意图框架向开发者提供真机测试能力,即开发者可连接设备进行调测。开发者完成代码开发之后,功能正式上架应用市场前,可以在HarmonyOS NEXT设备上面进行自验证,打磨体验。真机测试分为三个步骤:基础信息提供,…...
GD32F103 实践-- MCU编译运行
编译 打开固件库示例工程:在SDK路径下找到固件库示例工程,路径通常是SDK\GD32F10x_Firmware_Library_Template\Keil5_project\Project 选择芯片型号:根据你的MCU型号选择,例如GD32F103RCT6 修改宏定义:根据MCU型号修…...

SQL复杂数据类型处理
背景 数据处理中,经常碰到复杂数据类型,需要将他们进行解析才能利用。 复杂数据类型 1、MAP结构转为列 WITH tmp AS ( SELECT {"Users":{"4418":{"UserId":4418,"Score":0,"IsStudent":true},&q…...

ROS第九梯:ROS+VSCode+Python+C++自定义消息发布和订阅
首先,Python版本的ROS项目和C++版本的ROS项目前期创建功能包的步骤基本一致,具体可参考第二章。 费一步:新建msg文件 在功能包(data_input)目录下创建一个msg文件夹,并在msg文件夹下创建一个名为Box的msg文件,具体如下图所示: 该msg文件为一个用于描述3D Box的文件,…...

【Linux】指令 + 压缩与解压
Linux 一.Linux基本指令1.grep2.zip和unzip1.Linux中的压缩文件发送Windows中2.Linux中接收Windows中压缩文件 3.tar(重要)1.Linux与Linux互传压缩文件 4.bc5.uname 二.Linux相关知识点1.Linux常用热键2.关机操作 一.Linux基本指令 1.grep 行文本过滤工…...

力扣(leetcode)题目总结——动态规划篇
leetcode 经典题分类 链表数组字符串哈希表二分法双指针滑动窗口递归/回溯动态规划二叉树辅助栈 本系列专栏:点击进入 leetcode题目分类 关注走一波 前言:本系列文章初衷是为了按类别整理出力扣(leetcode)最经典题目,…...

数据仓库数据湖湖仓一体解决方案
一、资料介绍 数据仓库与数据湖是现代数据管理的两大核心概念。数据仓库是结构化的数据存储仓库,用于支持企业的决策分析,其数据经过清洗、整合,以固定的模式存储,适合复杂查询。数据湖则是一个集中存储大量原始数据的存储库&…...

微信小程序 最新获取用户头像以及用户名
一.在小程序改版为了安全起见 使用用户填写来获取头像以及用户名 二.代码实现 <view class"login_box"><!-- 头像 --><view class"avator_box"><button wx:if"{{ !userInfo.avatarUrl }}" class"avatorbtn" op…...

无人机在森林中的应用!
一、森林资源调查 无人机可以利用遥感技术快速获取所需区域高精度的空间遥感信息,对森林图斑进行精确区划。相较于传统手段,无人机调查具有低成本、高效率、高时效的特点,尤其在地理环境条件不好的区域,调查人员无法或难以到达的…...

Seatunnel解决Excel中无法将数字类型转换成字符串类型以及源码打包
需求 需要实现将Excel中的数字类型的单元格像数据库中字符串类型的字段中推送 问题原因 Seatunnel在读取字段类型的时候都是使用强转的形式去获取数据的 假如说数据类型不一样的话直接强转就会报错 修改位置 org/apache/seatunnel/api/table/type/SeaTunnelRow.java org…...

在阿里云快速启动Appsmith搭建前端页面
什么是Appsmith Appsmith是一个开源的低代码开发平台,它使得开发者能够快速地构建内部工具、业务管理系统、CRM系统等。Appsmith通过提供一系列预建的UI组件(如表格、图表、表单等),以及对数据库、API调用的直接支持,…...

「51媒体」:企业成长助推器
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 「51媒体」(51meiti media PR)作为国内具有影响力的媒体邀约服务商,确实在助力企业成长方面发挥着重要作用。以下是对「51媒体」的详细介绍࿰…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...

抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...