五、华为 RSTP
RSTP(Rapid Spanning Tree Protocol,快速生成树协议)是 STP 的优化版本,能实现网络拓扑的快速收敛。
一、RSTP 原理
- 快速收敛机制:RSTP 通过引入边缘端口、P/A(Proposal/Agreement)机制等,加快了网络拓扑的收敛速度。当网络拓扑发生变化时,RSTP 能够快速地重新计算生成树,从而减少网络中断的时间。
- 端口角色定义:RSTP 定义了根端口、指定端口、替代端口和备份端口等角色。根端口是交换机上到根桥路径开销最小的端口;
指定端口是负责向其所在网段转发配置 BPDU 的端口;
替代端口是根端口的备份端口,当根端口发生故障时,替代端口可以快速切换为根端口;
备份端口是指定端口的备份端口,当指定端口发生故障时,备份端口可以快速切换为指定端口 。
二、端口状态
- Discarding 状态:端口不转发用户流量也不学习 MAC 地址。此状态下端口会接收并处理 BPDU,以确定自身在生成树中的角色 。
- Learning 状态:端口不转发用户流量,但会学习 MAC 地址。在这个状态下,端口仍然会接收并处理 BPDU,以确保生成树的拓扑结构正确 。Learning 状态的持续时间由 Forward Delay 定时器控制。
- Forwarding 状态:端口既转发用户流量又学习 MAC 地址。处于 Forwarding 状态的端口是生成树拓扑中转发数据的端口 。只有根端口和指定端口最终会进入 Forwarding 状态。
三、主要参数
- Hello Time:根桥周期性发送配置 BPDU 的时间间隔,默认值为 2 秒。该参数影响网络中拓扑信息的传播频率 。可以通过命令在华为交换机上修改 Hello Time,例如:stp hello-time 3 ,将 Hello Time 设置为 3 秒。
- Forward Delay:端口状态从 Discarding 或 Learning 转换到 Forwarding 所需的时间,默认值为 15 秒。这个参数对于防止网络中临时环路的产生非常重要 。在华为交换机上修改 Forward Delay 的命令示例:stp forward-delay 20 ,将 Forward Delay 设置为 20 秒。
- Max Age:配置 BPDU 在网络中能够生存的最大时间,默认值为 20 秒。当交换机收到的配置 BPDU 的老化时间超过 Max Age 时,该 BPDU 将被丢弃 。在华为交换机上更改 Max Age 的命令示例:stp max-age 25 ,将 Max Age 设置为 25 秒。
- Path Cost:端口到根桥的路径开销,它是根据端口带宽等因素计算得出的,用于确定根端口和指定端口 。不同带宽的端口默认的 Path Cost 值不同,例如 1000Mbps 端口的默认 Path Cost 值为 2 。在华为交换机上可以手动修改端口的 Path Cost,命令示例:stp cost 50 ,将当前端口的 Path Cost 设置为 50。
四、配置命令
1、开启 RSTP
<LSW1>system-view[LSW1]stp mode rstp
2、设置交换机优先级
华为交换机的优先级取值范围是 0 - 61440,且必须是 4096 的倍数。
3、设置端口路径开销
4、设置端口优先级
华为交换机端口优先级取值范围是 0 - 255,且必须是 16 的倍数。
5、配置边缘端口
根桥不可以将端口设置为边缘口
6、配置 BPDU 保护
7、配置根保护
五、配置RSTP 功能示例
在一个复杂的网络中,网络规划者由于冗余备份的需要,一般都倾向于在设备之间部署多条物理链路,其中一条作主用链路,其他链路作备份。这样就难免会形成环形网络,若网络中存在环路,可能会引起广播风暴和MAC桥表项被破坏
配置思路
- 配置环网中的设备生成树协议工作在RSTP模式。
- 配置根桥和备份根桥设备。
- 配置端口的路径开销值,实现将该端口阻塞。
- 使能RSTP,实现破除环路,包括:
- 设备全局使能RSTP。
- 除与终端设备相连的端口外,其他端口使能RSTP
配置SRTP的基本功能
1、配置并开启生成树协议
[LSW5]stp mode rstp[LSW5]stp enableLSW1-5 配置相同
2、配置根桥和备份根桥设备
[LSW5]stp root primary 主根桥[LSW5][LSW1]stp root secondary 次要根桥[LSW1]
3、配置端口的路径开销值,实现将该端口阻塞
[LSW5]stp pathcost-standard legacyWarning: The path cost of the current process will be set to the default value because the path cost standard is changed.将端口路径开销值的计算方法为华为私有计算方法 LSW1-5配置相同
配置LSW3 LSW4的Ethernet0/0/4口的路径开销值为200000,以实现此端口为堵塞口[LSW3-Ethernet0/0/4]stp cost 200000[LSW3-Ethernet0/0/4]
[LSW4-Ethernet0/0/4]stp cost 200000[LSW4-Ethernet0/0/4]
4、使能RSTP,实现破除环路
与PC机相连的端口不用参与RSTP计算,建议将其去使能RSTP
[LSW3-Ethernet0/0/4]int e0/0/2[LSW3-Ethernet0/0/2]stp enable[LSW3-Ethernet0/0/2]int e0/0/3[LSW3-Ethernet0/0/3]stp enable
[LSW4-Ethernet0/0/4]int e0/0/2[LSW4-Ethernet0/0/2]stp enable[LSW4-Ethernet0/0/2]int e0/0/3[LSW4-Ethernet0/0/3]stp enable
5、配置保护功能
[LSW5]int g0/0/1 [LSW5-GigabitEthernet0/0/1]stp root-protection[LSW5-GigabitEthernet0/0/1]int g0/0/2[LSW5-GigabitEthernet0/0/2]stp root-protection
6、验证配置结果
六、配置文件
sysname LSW5
#undo info-center enable#stp mode rstpstp instance 0 root primarystp pathcost-standard legacy#interface GigabitEthernet0/0/1stp root-protection#interface GigabitEthernet0/0/2stp root-protection
sysname LSW1
#undo info-center enable#stp mode rstpstp instance 0 root secondarystp pathcost-standard legacy#
sysname LSW2
#undo info-center enable#stp mode rstpstp pathcost-standard legacy
sysname LSW3
#undo info-center enable#stp mode rstpstp pathcost-standard legacy#interface Ethernet0/0/4stp instance 0 cost 200000#
sysname LSW4
#undo info-center enable#stp mode rstpstp pathcost-standard legacy#interface Ethernet0/0/4stp instance 0 cost 200000#
相关文章:
五、华为 RSTP
RSTP(Rapid Spanning Tree Protocol,快速生成树协议)是 STP 的优化版本,能实现网络拓扑的快速收敛。 一、RSTP 原理 快速收敛机制:RSTP 通过引入边缘端口、P/A(Proposal/Agreement)机制等&…...
解锁Java中的国密算法:安全保障的密钥
一、引言 在数字化浪潮席卷全球的当下,信息安全已然成为国家、企业乃至个人无法忽视的重要议题。国密算法,作为我国自主研发的密码算法体系,宛如坚固的盾牌,为国家信息安全筑起了一道坚不可摧的防线。它的诞生,不仅承载…...
docker-registry
安装依赖 apt install apache2-utils设置密码 htpasswd -Bbn 用户名 密码 >/data/registry_hub/passwd#docker私服部署 docker run -d -p 5000:5000 --name docker-registry -v /data/registry_hub/:/var/lib/registry -v /data/registry_hub/passwd:/auth/htpasswd \ -e …...
QTableWidget的简单使用
1.最简单的表格示例: ui->tableWidget->setRowCount(2);// 设置行数ui->tableWidget->setColumnCount(3);// 设置列数,一定要放在设置行表头之前QStringList rowHeaderList;// 行表头rowHeaderList << QStringLiteral("姓名"…...
第三天 学习JavaScript基础,掌握变量、数据类型、运算符、流程控制
学习JavaScript基础是成为一名前端开发者的重要一步。以下是关于变量、数据类型、运算符和流程控制的一些基础知识和示例代码。 1. 变量 变量用于存储数据。在JavaScript中,使用var、let或const关键字来声明变量。 // 使用 var 声明变量(不推荐&#…...
Python - itertools- pairwise函数的详解
前言: 最近在leetcode刷题时用到了重叠对pairwise,这里就讲解一下迭代工具函数pairwise,既介绍给大家,同时也提醒一下自己,这个pairwise其实在刷题中十分有用,相信能帮助到你。 参考官方讲解:itertools --- 为高效循…...
C语言程序设计十大排序—选择排序
文章目录 1.概念✅2.选择排序🎈3.代码实现✅3.1 直接写✨3.2 函数✨ 4.总结✅5.十大排序 1.概念✅ 排序是数据处理的基本操作之一,每次算法竞赛都很多题目用到排序。排序算法是计算机科学中基础且常用的算法,排序后的数据更易于处理和查找。在…...
微前端qiankun的基本使用(vue-element-admin作为项目模版)
微前端qiankun的基本使用(vue-element-admin作为项目模版) qiankun架构特点主应用netmoni_master改造工程项目目录结构子项目配置:子应用注册配置项container:子应用挂载节点配置项activeRule:子应用路由子应用netmoni_child1改造目录结构项目配置:src/settings中配置子应…...
MySQL用户授权、收回权限与查看权限
【图书推荐】《MySQL 9从入门到性能优化(视频教学版)》-CSDN博客 《MySQL 9从入门到性能优化(视频教学版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…...
Ansible fetch模块详解:轻松从远程主机抓取文件
在自动化运维的过程中,我们经常需要从远程主机下载文件到本地,以便进行分析或备份。Ansible的fetch模块正是为了满足这一需求而设计的,它可以帮助我们轻松地从远程主机获取文件,并将其保存到本地指定的位置。在这篇文章中…...
skynet 源码阅读 -- 启动主流程
Skynet 启动主流程分析 Skynet 是一个轻量级、高并发的服务器框架。它在启动时会进行一系列初始化操作,并启动多个不同功能的线程(Monitor、Timer、Worker、Socket),从而实现消息分发、定时器、网络I/O等核心功能。本文主要从 ma…...
【Linux】Linux入门(三)权限
目录 前提权限概念whoami指令 Linux权限管理文件访问者的分类(人)file指令权限信息权限的表示方法 chmod指令 更改权限chown指令 修改文件,文件夹所属用户和用户组 权限掩码umask(权限掩码) 粘滞位 前提 请先看下面这…...
FluentCMS:基于 ASP.NET Core 和 Blazor 技术构建的开源CMS内容管理系统
推荐一个基于 ASP.NET Core 和 Blazor 技术构建的、功能完善的开源CMS内容管理系统。 01 项目简介 FluentCMS 是一个基于强大的 ASP.NET Core 和创新的 Blazor 技术构建的现代内容管理系统(CMS)。 FluentCMS 设计为快速、灵活且用户友好,它…...
【阿里云】使用docker安装nginx后可以直接访问
一、创建目录 mkdir -p config/{cert,conf.d} html logs二、上传nginx.conf的配置文件 user nginx; worker_processes auto;error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;events {worker_connections 1024; }http {include /etc/ngin…...
leetcode-84-柱状图最大的矩形
柱状图中最大的矩形 已解答 算术评级: 7 同步题目状态 困难 相关标签 相关企业 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 1. stack 计算位置在…...
Vue | 搭建第一个Vue项目(安装node,vue-cli)
一.环境搭建: 1.安装node: 进入网站,下载对应版本的node.js Index of /dist/ (nodejs.org) 我这里下载的是: 解压到对应的目录下: 并新建两个文件夹node_cache和node_global: 2.配置环境: …...
Redis 持久化机制:RDB 和 AOF
Redis 持久化机制:RDB 和 AOF Redis 主要提供了两种持久化方式:**RDB(Redis Database)**和 AOF(Append-Only File)。它们各自的实现原理、优缺点以及适用场景如下。 1. RDB(Redis Database&…...
ToDesk云电脑、顺网云、网易云、易腾云、极云普惠云横测对比:探寻电竞最佳拍档
一、云电脑:电竞新宠崛起 在电竞游戏不断发展的今天,硬件性能成为了决定游戏体验的关键因素。为了追求极致的游戏画面与流畅度,玩家们往往需要投入大量资金购置高性能电脑。然而,云电脑技术的出现,为玩家们提供了一种…...
GPT 结束语设计 以nanogpt为例
GPT 结束语设计 以nanogpt为例 目录 GPT 结束语设计 以nanogpt为例 1、简述 2、分词设计 3、结束语断点 1、简述 在手搓gpt的时候,可能会遇到一些性能问题,即关于是否需要全部输出或者怎么节约资源。 在输出语句被max_new_tokens 限制,…...
【达梦数据库】两地三中心环境总结
目录 架构监视器位置异步备库同步频率配置:dmtimer.ini断网测试异地切换过程&回切:允许丢数据模式切换回切 架构 2(1主1实时备库)1(实时备库)1(异步备库),分别为节点1、2、3、4监视器位置 …...
C语言进阶习题【1】指针和数组(4)——指针笔试题3
笔试题5:下面代码输出是是什么? int main() {int a[5][5];int(*p)[4];p a;printf( "%p,%d\n", &p[4][2] - &a[4][2], &p[4][2] - &a[4][2]);return 0; }分析 代码结果 笔试题6:下面代码输出是是什么࿱…...
Qt——引用第三方SDK lib库的使用方法
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》 《QT开发实战》 《Android开发实战》 《实用硬件方案设计》 《结构建模设…...
Grafana系列之Dashboard:新增仪表板、新增变量、过滤变量、变量查询、导入仪表板、变量联动、Grafana Alert
概述 关于Prometheus和Grafana的安装,略过。 写在前面 Dashboard:仪表板,可包含多个PanelPanel:面板,Dashboard中的组件 如有写得不对的地方,烦请指出。 新增仪表板 点击右上角的 选择New dashboard…...
管道符、重定向与环境变量
个人博客站—运维鹿: http://www.kervin24.top CSDN博客—做个超努力的小奚: https://blog.csdn.net/qq_52914969?typeblog 一、重定向 将命令和文件结合 标准输入重定向(STDIN,文件描述符为0):默认从键盘输入&am…...
如何使用 Redis 作为高效缓存
如何使用 Redis 作为高效缓存 Redis(Remote Dictionary Server)是一个高性能的 内存存储系统,通常被用作 缓存 来加速数据访问,提高应用的吞吐量和响应速度。本文详细讲解如何使用 Redis 作为高效缓存,包括基本原理、…...
simulink入门学习01
文章目录 1.基本学习方法2.图形环境--模块和参数3.激活菜单---添加到模型3.1输入选项3.2添加到模型3.3更改运算3.4验证要求 4.乘以特定值--Gain模块4.1引入gain模块4.2更改增益参数4.3接入系统4.4大胆尝试 1.基本学习方法 今天突然想要学习这个simulink的相关知识,…...
接上篇基于Alertmanager 配置钉钉告警
Alertmanager 是一个用于处理和管理 Prometheus 警报的开源工具。它负责接收来自 Prometheus 服务器的警报,进行去重、分组、静默、抑制等操作,并通过电子邮件、PagerDuty、Slack 等多种渠道发送通知。 主要功能 去重:合并相同或相似的警报&a…...
【Elasticsearch】index.mapping.source.mode
在Elasticsearch中,当设置 index.mapping.source.mode 为 synthetic 时,Elasticsearch会自动生成和存储源文档的合成版本。这些合成版本的内容取决于你索引的字段和映射定义。具体来说,synthetic 模式会存储以下内容: ### 合成源文…...
GBase8c aes_encrypt和aes_decrypt函数
在数据库中,aes_encrypt和aes_decrypt函数进行加解密时使用的块加密模式。 GBase8c 与 MySQL 的aes_encrypt和aes_decrypt函数区别: 1、GBase8c 中的初始化向量init_vector不能为空 2、MySQL的加密模块block_encryption_mode 为aes-128-ecb,…...
【Unity】ScrollViewContent适配问题(Contentsizefilter不刷新、ContentSizeFilter失效问题)
最近做了一个项目,菜单栏读取数据后自动生成,结果用到了双重布局 父物体 尝试了很多方式,也看过很多大佬的文章,后来自己琢磨了一下,当子物体组件自动生成之后,使用以下以下代码效果会好一些: …...
第二届国赛铁三wp
第二届国赛 缺东西去我blog找👇 第二届长城杯/铁三 | DDLS BLOG web Safe_Proxy 源码题目 from flask import Flask, request, render_template_stringimport socketimport threadingimport htmlapp Flask(__name__)app.route(/, methods"GET"])de…...
对称二叉树(力扣101)
这道题翻译过来就是判断根节点的左右子树是否可以通过翻转,变得完全一样。如果可以,则这棵二叉树为对称二叉树。那么什么样的左右子树可以通过翻转相互变换呢?它们的节点的数值一定对称分布。那么我们就需要同时遍历左右树,不断比…...
postgresql15的停止
PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统,且因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。介绍过postgresql的启动方法,就很有必要介绍下postgresql的停止方法。 一、停止…...
3.1 Go函数调用过程
在 Go 语言中,函数调用的核心机制依赖于内存的栈区分配和指针操作,理解这一原理有助于掌握函数的执行过程。 1. 内存结构概述 在 Go 程序编译成可执行文件并启动后,操作系统会为其分配进程内存,进程内存主要分为以下区域&#x…...
Java导出通过Word模板导出docx文件并通过QQ邮箱发送
一、创建Word模板 {{company}}{{Date}}服务器运行情况报告一、服务器:总告警次数:{{ServerTotal}} 服务器IP:{{IPA}},总共告警次数:{{ServerATotal}} 服务器IP:{{IPB}},总共告警次数:{{ServerBTotal}} 服务器IP:{{IPC}}&#x…...
c++---------------------------模板进阶
1.非类型模板参数 模板参数分类类型形参与非类型形参 。 类型形参即:出现在模板参数列表中,跟在 class 或者 typename 之类的参数类型名称 。 非类型形参,就是用一个常量作为类 ( 函数 ) 模板的一个参数,在类 ( 函数 ) 模板中可…...
FPGA与ASIC:深度解析与职业选择
IC(集成电路)行业涵盖广泛,涉及数字、模拟等不同研究方向,以及设计、制造、封测等不同产业环节。其中,FPGA(现场可编程门阵列)和ASIC(专用集成电路)是两种重要的芯片类型…...
c++面试题,请使用STL的std::remove_if算法删除std::vector<int>容器中大于5的数字
请使用STL的std::remove_if算法删除std::vector容器中大于5的数字 在C 中, std::remove_if 算法并不会真正从容器中删除元素, 而是将满足条件的元素移动到容器末尾,并返回一个指向新的逻辑结束位置的迭代器。 你需要使用容器的 erase 成员函…...
阿里云-银行核心系统转型之业务建模与技术建模
业务领域建模包括业务建模和技术建模,整体建模流程图如下: 业务建模包括业务流程建模和业务对象建模 业务流程建模:通过对业务流程现状分析,结合目标核心系统建设能力要求,参考行业建 模成果,形成结构化的…...
快速搭建深度学习环境(Linux:miniconda+pytorch+jupyter notebook)
本文基于服务器端环境展开,使用的虚拟终端为Xshell。 miniconda miniconda是Anaconda的轻量版,仅包含Conda和Python,如果只做深度学习,可使用miniconda。 [注]:Anaconda、Conda与Miniconda Conda:创建和管…...
智能风控 数据分析 groupby、apply、reset_index组合拳
目录 groupby——分组 本例 apply——对每个分组应用一个函数 等价用法 reset_index——重置索引 使用前编辑 注意事项 groupby必须配合聚合函数、 关于agglist 一些groupby试验 1. groupby对象之后。sum(一个列名) 2. groupby对象…...
Linux(Centos 7.6)命令详解:iconv
1.命令作用 将给定文件的编码从一种编码转换为另一种编码(Convert encoding of given files from one encoding to another) 2.命令语法 Usage: iconv [OPTION...] [FILE...] 3.参数详解 OPTION: 输入/输出格式规范: -f, --from-codeNAME,原始文本编码-t, --t…...
MySQL实现批量表分区完全示例
对于单表大数据量大的问题,如果数据支持分片,使用表分区是个不错的选择,那么MySQL是如何实现表分区的? 一、表分区条件 1.数据库存储引擎支持:InnoDB 和 MyISAM引擎 2.数据库版本支持:MySQL 5.1以后&…...
缓存商品、购物车(day07)
缓存菜品 问题说明 问题说明:用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大。 结果: 系统响应慢、用户体验差 实现思路 通过Redis来缓存菜品数据,减少数据库查询…...
开发环境搭建-1:配置 WSL (类 centos 的 oracle linux 官方镜像)
一些 Linux 基本概念 个人理解,并且为了便于理解,可能会存在一些问题,如果有根本上的错误希望大家及时指出 发行版 WSL 的系统是基于特定发行版的特定版本的 Linux 发行版 有固定组织维护的、开箱就能用的 Linux 发行版由固定的团队、社…...
QT 使用QSqlTableModel对数据库进行创建,插入,显示
文章目录 效果图概述功能点代码分析初始数据插入数据数据显示 总结 效果图 概述 本案例用于对数据库中的数据进行显示等其他操作,其他表格筛选,过滤等功能可看此博客 框架:数据模型使用QSqlTableModel,视图使用QTableView&#x…...
26、正则表达式
目录 一. 匹配字符 .:匹配除换行符外的任意单个字符。 二. 位置锚点 ^:匹配输入字符串的开始位置。 $:匹配输入字符串的结束位置。 \b:匹配单词边界。 \B:匹配非单词边界。 三. 重复限定符 *:匹配…...
vue 数据双向绑定无效 明明值修改了 页面却没有变化
在 Vue.js 中,数据双向绑定通常通过 v-model 指令来实现。如果你修改了数据但页面没有更新,可能是因为以下几个原因之一: 1. 检查 data 函数 确保你的数据属性是在 Vue 实例的 data 函数中声明的,并且是响应式的。例如ÿ…...
【深度学习】3.损失函数的作用
损失函数的作用 假设把猫这张图片分成四个像素点,分别为:56、231、24、2(实际应该是三维的,因为还有颜色通道的维度,这里简化成二维)。 像素点拿到以后,进行三分类,粉红色为第一组W…...
使用 Aryn DocPrep、DocParse 和 Elasticsearch 向量数据库实现高质量 RAG
作者:来自 Elastic Hemant Malik 及 Jonathan Fritz 组织依靠自然语言查询从非结构化数据中获取见解,但要获得高质量的答案,首先要进行有效的数据准备。Aryn DocParse 和 DocPrep通过将复杂文档转换为结构化 JSON 或 markdown 来简化此过程&a…...