五、华为 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 Web的网上房屋租售网站
内容摘要 本毕业设计题目为《基于Java Web的网上房屋租售网站》,是在信息化时代下充分利用互联网对传统房屋租售方式进行创新,在互联网上进行房屋租售突破了传统方式的局限性。对于房屋租售的当事人都提供了极大的便利。本稳针对了实际用户需求…...

Pyside6(PyQT5)中的QTableView与QSqlQueryModel、QSqlTableModel的联合使用
QTableView 是QT的一个强大的表视图部件,可以与模型结合使用以显示和编辑数据。QSqlQueryModel、QSqlTableModel 都是用于与 SQL 数据库交互的模型,将二者与QTableView结合使用可以轻松地展示和编辑数据库的数据。 QSqlQueryModel的简单应用 import sys from PySid…...

git常用命令学习
目录 文章目录 目录第一章 git简介1.Git 与SVN2.Git 工作区、暂存区和版本库 第二章 git常用命令学习1.ssh设置2.设置用户信息3.常用命令设置1.初始化本地仓库init2.克隆clone3.查看状态 git status4.添加add命令5.添加评论6.分支操作1.创建分支2.查看分支3.切换分支4.删除分支…...

【优选算法】7----三数之和
来了来了,他来了,又是学习算法的一天~ 今天的嘉宾是中等难度的算法题----三数之和! ------------------------------------------begin------------------------------------ 题目解析: 哇趣!又是给了一个数组&#…...
分子动力学模拟里的术语:leap-frog蛙跳算法和Velocity-Verlet算法
分子动力学模拟(Molecular Dynamics Simulation,简称MD)是一种基于经典力学原理的计算物理方法,用于模拟原子和分子在给定时间内的运动和相互作用。以下是关于分子动力学模拟的一些核心术语和概念: 定义系统&am…...

2025年数学建模美赛:A题分析(1)Testing Time: The Constant Wear On Stairs
2025年数学建模美赛 A题分析(1)Testing Time: The Constant Wear On Stairs 2025年数学建模美赛 A题分析(2)楼梯磨损分析模型 2025年数学建模美赛 A题分析(3)楼梯使用方向偏好模型 2025年数学建模美赛 A题分…...
利用 SoybeanAdmin 实现前后端分离的企业级管理系统
引言 随着前后端分离架构的普及,越来越多的企业级应用开始采用这种方式来开发。前后端分离不仅提升了开发效率,还让前端和后端开发可以并行进行,减少了相互之间的耦合度。SoybeanAdmin 是一款基于 Spring Boot 和 MyBatis-Plus 的后台管理系…...

996引擎 - 前期准备-配置开发环境
996引擎 - 前期准备 官网搭建服务端、客户端单机搭建 开发环境配置后端开发环境配置环境 前端开发环境配置环境 后端简介前端简介GUILayoutGUIExport 官网 996传奇引擎官网 所有资料从官网首页开始,多探索。 文档: 996M2-服务端Lua 996M2-客户端Lua 搭…...

Tensor 基本操作4 理解 indexing,加减乘除和 broadcasting 运算 | PyTorch 深度学习实战
前一篇文章,Tensor 基本操作3 理解 shape, stride, storage, view,is_contiguous 和 reshape 操作 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started Tensor 基本使用 索引 indexing示例代码 加减…...

【Uniapp-Vue3】request各种不同类型的参数详解
一、参数携带 我们调用该接口的时候需要传入type参数。 第一种 路径名称?参数名1参数值1&参数名2参数值2 第二种 uni.request({ url:"请求路径", data:{ 参数名:参数值 } }) 二、请求方式 常用的有get,post和put 三种,默认是get请求。…...

【Prometheus】Prometheus如何监控Haproxy
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

SSM开发(一)JAVA,javaEE,spring,springmvc,springboot,SSM,SSH等几个概念区别
目录 JAVA 框架 javaEE spring springmvc springboot SSM SSH maven JAVA 一种面向对象、高级编程语言,Python也是高级编程语言;不是框架(框架:一般用于大型复杂需求项目,用于快速开发)具有三大特性,所谓Jav…...
HTML5 常用事件详解
在现代 Web 开发中,用户交互是提升用户体验的关键。HTML5 提供了丰富的事件机制,允许开发者监听用户的操作(如点击、拖动、键盘输入等),并触发相应的逻辑处理。本文将详细介绍 HTML5 中的常用事件,包括鼠标…...

TCP全连接队列
1. 理解 int listen(int sockfd, int backlog) 第二个参数的作用 backlog:表示tcp全连接队列的连接个数1。 如果连接个数等于backlog1,后续连接就会失败,假设tcp连接个数为0,最大连接个数就为1,并且不accept获取连接…...

统计文本文件中单词频率的 Swift 与 Bash 实现详解
网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...

iOS 权限管理:同时请求相机和麦克风权限的最佳实践
引言 在开发视频类应用时,我们常常会遇到需要同时请求相机和麦克风权限的场景。比如,在用户发布视频动态时,相机用于捕捉画面,麦克风用于录制声音;又或者在直播功能中,只有获得这两项权限,用户…...
Excel 实现文本拼接方法
1. 使用 & 运算符 这是最常见和简单的拼接方法。你只需使用 & 来连接多个文本单元格或文本字符串。 示例公式: A1 & B1这个公式会将 A1 和 B1 单元格中的文本合并为一个字符串。 如果你希望在文本之间加入分隔符(如空格、逗号等…...
软考信安27~Windows操作系统安全相关
1、Windows账户与组管理 1.1、用户账户查看 whoami #查看当前登录的用户名称 whoami /all #查看当前系统的用户名和组信息,以及SID whoami /user #查看当前用户的SID net user #查看系统中包含哪些用户 wmic useraccount get name,sid #查看…...

从 Spark 到 StarRocks:实现58同城湖仓一体架构的高效转型
作者:王世发,吴艳兴等,58同城数据架构部 导读: 本文介绍了58同城在其数据探查平台中引入StarRocks的实践,旨在提升实时查询性能。在面对传统Spark和Hive架构的性能瓶颈时,58同城选择StarRocks作为加速引擎&…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...

中科院1区顶刊|IF14+:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点
中科院1区顶刊|IF14:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点 当下,免疫与代谢性疾病的关联研究已成为生命科学领域的前沿热点。随着研究的深入,我们愈发清晰地认识到免疫系统与代谢系统之间存在着极为复…...

运动控制--BLDC电机
一、电机的分类 按照供电电源 1.直流电机 1.1 有刷直流电机(BDC) 通过电刷与换向器实现电流方向切换,典型应用于电动工具、玩具等 1.2 无刷直流电机(BLDC) 电子换向替代机械电刷,具有高可靠性,常用于无人机、高端家电…...
Flask和Django,你怎么选?
Flask 和 Django 是 Python 两大最流行的 Web 框架,但它们的设计哲学、目标和适用场景有显著区别。以下是详细的对比: 核心区别:哲学与定位 Django: 定位: "全栈式" Web 框架。奉行"开箱即用"的理念。 哲学: "包含…...

MySQL 数据库深度剖析:事务、SQL 优化、索引与 Buffer Pool
在当今数据驱动的时代,数据库作为数据存储与管理的核心,其性能与可靠性至关重要。MySQL 作为一款广泛使用的开源数据库,在众多应用场景中发挥着关键作用。在这篇博客中,我将围绕 MySQL 数据库的核心知识展开,涵盖事务及…...