H3C的MSTP+VRRP高可靠性组网技术(MSTP单域)
以下内容纯为博主分享自己的想法和理解,如有错误轻喷
MSTP多生成树协议可以基于不同实例实现不同VLAN之间的负载分担
VRRP虚拟路由器冗余协议可以提高网关的可靠性防止单点故障的可能
在以前这两种协议通常一起搭配组网,来提高网络的可靠性和稳定性,虽然如今在很多场景中已经被IRF或M-LAG协议给取代了,但这种方案也是值得我们网络工程师学习的。
下面我先将两种协议分开做实验,再结合组网来体现它们的高可靠性
实验一:MSTP单域环境

第一步:为各交换机创建响应的vlan并设置trunk口放行
[SWA]vlan 10 20 30
[SWB]vlan 10 20 30
[SWC]vlan 10 20 40
[SWD]vlan 20 30 40[SWA]int g1/0/1
[SWA-GigabitEthernet1/0/1]port link-type trunk
[SWA-GigabitEthernet1/0/1]port trunk permit vlan all
[SWA-GigabitEthernet1/0/1]quit
[SWA]int g1/0/2
[SWA-GigabitEthernet1/0/2]port link-type trunk
[SWA-GigabitEthernet1/0/2]port trunk permit vlan 10 20
[SWA-GigabitEthernet1/0/2]quit
[SWA]int g1/0/3
[SWA-GigabitEthernet1/0/3]port link-type trunk
[SWA-GigabitEthernet1/0/3]port trunk permit vlan 20 30
[SWA-GigabitEthernet1/0/3]quit[SWB]int g1/0/1
[SWB-GigabitEthernet1/0/1]port link-type trunk
[SWB-GigabitEthernet1/0/1]port trunk permit vlan all
[SWB-GigabitEthernet1/0/1]quit
[SWB]int g1/0/2
[SWB-GigabitEthernet1/0/2]port link-type trunk
[SWB-GigabitEthernet1/0/2]port trunk permit vlan 10 20
[SWB-GigabitEthernet1/0/2]quit
[SWB]int g1/0/3
[SWB-GigabitEthernet1/0/3]port link-type trunk
[SWB-GigabitEthernet1/0/3]port trunk permit vlan 20 30
[SWB-GigabitEthernet1/0/3]quit[SWC]int range g1/0/1 g1/0/2
[SWC-if-range]port link-type trunk
[SWC-if-range]port trunk permit vlan 10 20
[SWC-if-range]quit
[SWC]int g1/0/3
[SWC-GigabitEthernet1/0/3]port link-type trunk
[SWC-GigabitEthernet1/0/3]port trunk permit vlan 20 40
[SWC-GigabitEthernet1/0/3]quit[SWD]int range g1/0/1 g1/0/2
[SWD-if-range]port link-type trunk
[SWD-if-range]port trunk permit vlan 20 30
[SWD-if-range]quit
[SWD]int g1/0/3
[SWD-GigabitEthernet1/0/3]port link-type trunk
[SWD-GigabitEthernet1/0/3]port trunk permit vlan 20 40
[SWD-GigabitEthernet1/0/3]quit
第二步:配置生成树
需要注意:MST域视图下的三要素:域名、修订级别、vlan与实例映射关系三者一定要相同,只有都相同才能叫单域,否则就会出现Master端口
[SWA]stp global enable //全局开启生成树功能,缺省已经开了
[SWA]stp mode mstp //将生成树模式却换为MSTP,缺省就是MSTP
[SWA]stp region-configuration //进入MSTP域视图下
[SWA-mst-region]region-name h3cie //设置域名为h3cie
[SWA-mst-region]revision-level 0 //修订级别设置为0,没有任何意义
[SWA-mst-region]instance 1 vlan 10 //创建实例1绑定vlan10
[SWA-mst-region]instance 3 vlan 30 //创建实例3绑定vlan30
[SWA-mst-region]instance 4 vlan 40 //创建实例4绑定vlan40
[SWA-mst-region]active region-configuration //激活域视图下的配置
[SWA]stp instance 1 root primary //设置实例1为主根[SWB]stp region-configuration
[SWB-mst-region]region-name h3cie
[SWB-mst-region]revision-level 0
[SWB-mst-region]instance 1 vlan 10
[SWB-mst-region]instance 3 vlan 30
[SWB-mst-region]instance 4 vlan 40
[SWB-mst-region]active region-configuration
[SWB-mst-region]quit
[SWB]stp instance 3 root primary[SWC]stp region-configuration
[SWC-mst-region]region-name h3cie
[SWC-mst-region]revision-level 0
[SWC-mst-region]instance 1 vlan 10
[SWC-mst-region]instance 3 vlan 30
[SWC-mst-region]instance 4 vlan 40
[SWC-mst-region]active region-configuration
[SWC-mst-region]quit
[SWC]stp instance 4 root primary[SWD]stp region-configuration
[SWD-mst-region]region-name h3cie
[SWD-mst-region]revision-level 0
[SWD-mst-region]instance 1 vlan 10
[SWD-mst-region]instance 3 vlan 30
[SWD-mst-region]instance 4 vlan 40
[SWD-mst-region]active region-configuration
[SWD-mst-region]quit
第三步:在SWB上通过修改实例0的优先级来是SWB桥ID变小成为实例0的根桥
[SWB]stp instance 0 priority 4096 //修改实例0的桥优先级为4096缺省为32768,取值为0-61440,步长必须为4096的倍数
那么由于我们配置了三个实例加上缺省存在的实例0,一共可以得到四颗生成树

可以使用dis stp b命令查看被阻塞的端口是否出现在虚线上
补充:
- 缺省情况下,所有vlan都属于实例0,并且一个vlan只能属于一个实例
- 在实验中当我们将vlan10划分到实例1下面,那么vlan10将自动脱离实例0
- 在MST域视图下配置三要素后,需要使用active region-configuration命令来激活配置否则不会生效
- 域视图下的修订级别当前为保留状态没有任何意义
- 当在做单域实验时,需要保证域视图下的配置每台设备都一致,否则就会出现多域出现Master端口
相关文章:
H3C的MSTP+VRRP高可靠性组网技术(MSTP单域)
以下内容纯为博主分享自己的想法和理解,如有错误轻喷 MSTP多生成树协议可以基于不同实例实现不同VLAN之间的负载分担 VRRP虚拟路由器冗余协议可以提高网关的可靠性防止单点故障的可能 在以前这两种协议通常一起搭配组网,来提高网络的可靠性和稳定性&a…...
字符串替换 (模拟)神奇数 (数学)DNA序列 (固定长度的滑动窗口)
⭐️个人主页:小羊 ⭐️所属专栏:每日两三题 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 字符串替换 (模拟)神奇数 (数学)DNA序列 (固定长度的滑动窗口&am…...
Centos7下安装hive详细步骤
在Centos 7系统上安装Hive的步骤如下: 下载Hive:首先,在Apache Hive的官方网站上下载最新版本的Hive压缩包,地址为:https://hive.apache.org/downloads.html。选择合适的版本并下载。 解压Hive压缩包:将下…...
Verilog学习-1.模块的结构
module aoi(a,b,c,d,f);/*模块名为aoi,端口列表a、b、c、d、f*/ input a,b,c,d;/*模块的输入端口为a,b,c,d*/ output f;;/*模块的输出端口为f*/ wire a,b,c,d,f;/*定义信号的数据类型*/ assign f~((a&b)|(~(c&d)));/*逻辑功能描述*/ endmoduleveirlog hdl 程…...
Linux驱动-块设备驱动
Linux驱动-块设备驱动 一,块设备驱动简介二,无请求队列情况(EMMC和SD卡等)三,请求队列情况(磁盘等带有I/O调度的设备)四,两者在驱动上区别 一,块设备驱动简介 块设备驱动…...
ffmpeg函数简介(封装格式相关)
文章目录 🌟 前置说明:FFmpeg 中 AVFormatContext 是什么?🧩 1. avformat_alloc_context功能:场景: 🧩 2. avformat_open_input功能:说明:返回值: ǹ…...
Android10.0 framework第三方无源码APP读写断电后数据丢失问题解决
1.前言 在10.0中rom定制化开发中,在某些产品开发中,在某些情况下在App用FileOutputStream读写完毕后,突然断电 会出现写完的数据丢失的问题,接下来就需要分析下关于使用FileOutputStream读写数据的相关流程,来实现相关 功能 2.framework第三方无源码APP读写断电后数据丢…...
[随笔] nn.Embedding的前向传播与反向传播
nn.Embedding的前向传播与反向传播 nn.Embedding的前向计算过程 embedding module 的前向过程其实是一个索引(查表)的过程 表的形式是一个 matrix(embedding.weight, learnable parameters) matrix.shape: (v, h) v:…...
搜广推校招面经七十一
滴滴算法工程师面经 一、矩阵分解的原理与优化意义 矩阵分解在推荐系统中是一个非常核心的方法,尤其是在 协同过滤(Collaborative Filtering) 中。我们可以通过用户对物品的评分行为来推测用户的喜好,从而推荐他们可能喜欢的内容。 1.1. 直观理解&…...
【算法学习】链表篇:链表的常用技巧和操作总结
算法学习: https://blog.csdn.net/2301_80220607/category_12922080.html?spm1001.2014.3001.5482 前言: 在各种数据结构中,链表是最常用的几个之一,熟练使用链表和链表相关的算法,可以让我们在处理很多问题上都更加…...
View UI (iview)表格拖拽排序
在使用 iView UI 的 Table 组件进行拖拽排序时,可以通过以下步骤获取最新的排序数据: 1. 启用拖拽功能 在 Table 组件上设置 draggable 属性,并绑定拖拽结束事件 on-row-drop。 <template><Table:columns"columns":dat…...
OpenNMT 部署和集成指南
OpenNMT(Open Neural Machine Translation)是一个开源的神经机器翻译(NMT)系统,由 Systran 和 Harvard NLP Group 在 2016 年联合推出。它的目标是为研究人员和企业开发者提供一个高质量、灵活且易于扩展的机器翻译框架…...
2台8卡L20服务器集群推理方案
1、整体流程梳理 #mermaid-svg-0aNtsWUnOH7ewXpN {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-0aNtsWUnOH7ewXpN .error-icon{fill:#552222;}#mermaid-svg-0aNtsWUnOH7ewXpN .error-text{fill:#552222;stroke:#55…...
HarmonyOS:使用geoLocationManager (位置服务)获取位置信息
一、简介 位置服务提供GNSS定位、网络定位(蜂窝基站、WLAN、蓝牙定位技术)、地理编码、逆地理编码、国家码和地理围栏等基本功能。 使用位置服务时请打开设备“位置”开关。如果“位置”开关关闭并且代码未设置捕获异常,可能导致应用异常。 …...
系统分析师(二)--操作系统
概述 进程管理 选项A:该进程中打开的文件 进程中打开的文件是由整个进程来管理的,同一进程下的各个线程都可以对这些打开的文件进行访问和操作,所以进程中打开的文件是可以被这些线程共享的。 选项B:该进程的代码段 进程的代码…...
安科瑞测频仪表:新能源调频困局的破局者
安科瑞顾强 在“双碳”目标推动下,风电、光伏等新能源正加速成为电力供应的核心力量。然而,新能源发电的间歇性与波动性,如同一把“双刃剑”,在提供清洁电力的同时,也给电网稳定运行带来了前所未有的挑战。国家能源局…...
富士相机照片 RAF 格式如何快速批量转为 JPG 格式教程
富士(Fujifilm)相机拍摄的 RAW 格式文件(RAF)因其高质量和丰富的图像信息而受到摄影师的喜爱。然而,RAF 文件通常体积较大且不易于分享或直接使用。为了方便处理,许多人选择将其转换为更通用的 JPG 格式。在…...
Linux 入门指令(1)
(1)ls指令 ls -l可以缩写成 ll 同时一个ls可以加多个后缀 比如 ll -at (2)pwd指令 (3)cd指令 cd .是当前目录 (4)touch指令 (5)mkdir指令 (6)rmdir和rm…...
Redis缓存数据库一致性
前言: 在系统开发中经常使用关系型数据库,为了提升关系型数据库的读性能,一般会使用redis加一层缓存,缓存和数据库是分离的两次操作,本文用来分析如何操作能保证缓存和数据库的数据一致性。 一、读场景 二、写场景 …...
Android Coil 3 Fetcher大批量Bitmap拼接成1张扁平宽图,Kotlin
Android Coil 3 Fetcher大批量Bitmap拼接成1张扁平宽图,Kotlin <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE" /><u…...
文件相关:treecpmv命令扩展详解
拷贝和移动文件 序号命令对应英文作用01tree [目录名]tree以树状图列出文件目录结构02cp 源文件 目标文件copy复制文件或者目录03mv 源文件 目标文件move移动文件或者目录/文件或者目录重命名 一、 tree命令 (1)定义 tree 命令可以以树状…...
S32K144的m_data_2地址不够存,重新在LD文件中配置地址区域
在开发平台软件的时候代码中超出了64K的内存,单纯在ld文件中,增加m_data_2的存储长度,原先是0x00007000,我将长度修改为0x00008000,起始地址还是0x20000000,软件编译没有报错堆栈超出,但是软件下载到单片机中之后,144不…...
基于 SysTick 定时器实现任务轮询调度器
文章目录 前言一、SysTick 定时器介绍二、SysTick 驱动设计1. 初始化方法2. SysTick 中断函数3. 时间类 API 三、任务调度器设计1. 任务结构体2. 任务初始化3. 主调度器4. 调度器更新 四、任务函数实现五、总结1. 优缺点分析2. 扩展建议 前言 在嵌入式系统中,对于资…...
【STM32】综合练习——智能风扇系统
目录 0 前言 1 硬件准备 2 功能介绍 3 前置配置 3.1 时钟配置 3.2 文件配置 4 功能实现 4.1 按键功能 4.2 屏幕功能 4.3 调速功能 4.4 倒计时功能 4.5 摇头功能 4.6 测距待机功能 0 前言 由于时间关系,暂停详细更新,本文章中,…...
MyBatis 动态 SQL 使用详解
🌟 一、什么是动态 SQL? 动态 SQL 是指根据传入参数,动态拼接生成 SQL 语句,不需要写多个 SQL 方法。MyBatis 提供了 <if>、<choose>、<foreach>、<where> 等标签来实现这类操作 ✅ 二、动态 SQL 的优点…...
【重装系统】大白菜自制U盘装机,备份C盘数据,解决电脑启动黑屏/蓝屏
1. 准备 U 盘 U 盘容量至少 8G,备份 U 盘的数据(后期会格式化) 2. 从微软官网下载操作系统镜像 https://www.microsoft.com/zh-cn/software-download/windows11 3. 下载安装大白菜 https://www.alipan.com/s/33RVnKayUfY 4. 插入 U 盘&#…...
vue实现目录锚点且滚动到指定区域时锚点自动回显——双向锚点
最近在用vue写官网,别问我为什么用vue写官网,问就是不会jq。。。。vue都出现11年了。。。 左侧目录:点击时,右侧区域可以自动滚动到指定的位置。 右侧区域手动滚动时,左侧锚点可以自动切换到对应的目录上 从而实现…...
python——正则表达式
一、简介 在 Python 中,正则表达式主要通过 re 模块实现,用于字符串的匹配、查找、替换等操作。 二、Python的re模块 使用前需要导入: import re 三、常用方法 方法描述re.match(pattern, string)从字符串开头匹配,返回第一个匹…...
Flutter Invalid constant value.
0x00 问题 参数传入变量,报错! 代码 const Padding(padding: EdgeInsets.all(20),child: GradientProgressIndicator(value: _progress), ),_progress 参数报错:Invalid constant value. 0x01 原因 这种情况,多发生于ÿ…...
libev实现Io复用及定时器事件服务器
客户端和服务器都绑定在了enp2s0网卡,需要SERVER_IP和SERVER_PORT改为其ip,注意不能是127.0.0.1,因为这个是lo虚拟网口。 安装libev sudo apt-get install libev-dev客户端: #include <iostream> #include <string>…...
