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

计算机网络-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:

实例1的端口角色
实例1的端口角色

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

故障模拟:

现象查看
现象查看

实例2:

实例2的端口角色
实例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&#xff09…...

在云服务器搭建 Docker

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

Redis 的代理类注入失败,连不上 redis

在测试 redis 是否成功连接时&#xff0c;发现 bean 没有被创建成功&#xff0c;导致报错 根据报错提示&#xff0c;需要我们添加依赖&#xff1a; <dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>&l…...

版本控制【Git Bash】【Gitee】

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

Neo4j Desktop 和 Neo4j Community Edition 区别

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

使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法

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

HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)事件推荐开发者测试

意图框架向开发者提供真机测试能力&#xff0c;即开发者可连接设备进行调测。开发者完成代码开发之后&#xff0c;功能正式上架应用市场前&#xff0c;可以在HarmonyOS NEXT设备上面进行自验证&#xff0c;打磨体验。真机测试分为三个步骤&#xff1a;基础信息提供&#xff0c;…...

GD32F103 实践-- MCU编译运行

编译 打开固件库示例工程&#xff1a;在SDK路径下找到固件库示例工程&#xff0c;路径通常是SDK\GD32F10x_Firmware_Library_Template\Keil5_project\Project 选择芯片型号&#xff1a;根据你的MCU型号选择&#xff0c;例如GD32F103RCT6 修改宏定义&#xff1a;根据MCU型号修…...

SQL复杂数据类型处理

背景 数据处理中&#xff0c;经常碰到复杂数据类型&#xff0c;需要将他们进行解析才能利用。 复杂数据类型 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&#xff08;重要&#xff09;1.Linux与Linux互传压缩文件 4.bc5.uname 二.Linux相关知识点1.Linux常用热键2.关机操作 一.Linux基本指令 1.grep 行文本过滤工…...

力扣(leetcode)题目总结——动态规划篇

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

数据仓库数据湖湖仓一体解决方案

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

微信小程序 最新获取用户头像以及用户名

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

无人机在森林中的应用!

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

Seatunnel解决Excel中无法将数字类型转换成字符串类型以及源码打包

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

在阿里云快速启动Appsmith搭建前端页面

什么是Appsmith Appsmith是一个开源的低代码开发平台&#xff0c;它使得开发者能够快速地构建内部工具、业务管理系统、CRM系统等。Appsmith通过提供一系列预建的UI组件&#xff08;如表格、图表、表单等&#xff09;&#xff0c;以及对数据库、API调用的直接支持&#xff0c;…...

「51媒体」:企业成长助推器

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 「51媒体」&#xff08;51meiti media PR&#xff09;作为国内具有影响力的媒体邀约服务商&#xff0c;确实在助力企业成长方面发挥着重要作用。以下是对「51媒体」的详细介绍&#xff0…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类&#xff0c;直接把源文件拖进VS的项目里&#xff0c;然后VS卡住十秒&#xff0c;然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分&#xff0c;导致编译的时候找不到了。因…...

二叉树-144.二叉树的前序遍历-力扣(LeetCode)

一、题目解析 对于递归方法的前序遍历十分简单&#xff0c;但对于一位合格的程序猿而言&#xff0c;需要掌握将递归转化为非递归的能力&#xff0c;毕竟递归调用的时候会调用大量的栈帧&#xff0c;存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧&#xff0c;而非…...

RLHF vs RLVR:对齐学习中的两种强化方式详解

在语言模型对齐&#xff08;alignment&#xff09;中&#xff0c;强化学习&#xff08;RL&#xff09;是一种重要的策略。而其中两种典型形式——RLHF&#xff08;Reinforcement Learning with Human Feedback&#xff09; 与 RLVR&#xff08;Reinforcement Learning with Ver…...

LeetCode 0386.字典序排数:细心总结条件

【LetMeFly】386.字典序排数&#xff1a;细心总结条件 力扣题目链接&#xff1a;https://leetcode.cn/problems/lexicographical-numbers/ 给你一个整数 n &#xff0c;按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。…...