RSTP介绍加实操
简介
STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量。如果STP网络的拓扑结构频繁变化,网络也会频繁失去连通性,从而导致用户通信频繁中断。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Protocol),RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛
主要特点
-
快速收敛
-
RSTP通过优化端口状态转换机制,大大加快了网络的收敛速度。例如,当链路故障发生时,RSTP能够快速检测到故障并重新计算生成树,将收敛时间从STP的数十秒缩短到几秒甚至更短。
-
RSTP引入了“快速收敛”机制,允许端口在某些情况下直接从丢弃状态进入转发状态,而不需要经过侦听和学习阶段。
-
-
边缘端口(Edge Port)
-
RSTP引入了边缘端口的概念,边缘端口是指直接连接终端设备(如计算机、打印机等)的端口,而不是连接到其他交换机的端口。边缘端口可以直接进入转发状态,而不需要经过侦听和学习阶段,这进一步加快了收敛速度。
-
例如,在一个企业网络中,当新设备接入网络时,如果连接该设备的端口被配置为边缘端口,那么该端口可以立即开始转发数据帧,而不会像STP那样需要等待较长时间。
-
-
多种端口角色
-
RSTP定义了多种端口角色,包括根端口(Root Port)、指定端口(Designated Port)、替代端口(Alternate Port)和备份端口(Backup Port)。这些端口角色的定义使得RSTP能够更灵活地处理网络拓扑变化。
-
根端口是指从该端口到根桥的路径成本最低的端口;指定端口是指在某个网段上被选为转发数据帧的端口;替代端口是指在根端口或指定端口故障时可以替代它们的端口;备份端口是指在指定端口故障时可以替代它的端口。
-
-
BPDU保护
-
RSTP增强了BPDU(Bridge Protocol Data Unit)的保护机制。BPDU是交换机之间传递的协议数据单元,用于确定网络的拓扑结构。RSTP通过BPDU保护机制,可以防止恶意设备发送伪造的BPDU,从而保护网络的稳定性。
-
例如,当交换机检测到某个端口收到的BPDU优先级高于自己发送的BPDU时,它会采取相应的措施,如关闭该端口,以防止网络拓扑被错误地改变。
-
(P/A)机制
快速生成树协议(Rapid Spanning Tree Protocol,RSTP)的Proposal/Agreement(P/A)机制是其快速收敛的核心机制之一。以下是P/A机制的详细工作原理:
工作原理
-
Proposal阶段:当交换机端口处于丢弃(Discarding)状态且角色为指定端口(Designated Port)时,会发送一个带有Proposal位和Agreement位都为1的BPDU给对端交换机。这表示该端口希望成为指定端口,并请求对端交换机的同意。
-
同步过程:对端交换机收到Proposal BPDU后,会判断接收端口是否即将成为根端口(Root Port)。如果是,对端交换机会进入同步(Sync)过程,阻塞所有非边缘指定端口,以防止临时环路的产生。
-
Agreement阶段:同步过程完成后,对端交换机会回应一个带有Agreement位为1的BPDU给发送方交换机。这表示对端交换机同意该端口成为指定端口。
-
快速切换:发送方交换机收到Agreement BPDU后,端口状态直接变为转发(Forwarding)状态,从而实现链路的快速收敛。
运行条件
-
P/A机制只能在点对点的全双工链路上运行。交换机通过自动协商来识别链路类型。默认情况下,生成树协议会自动检测与接口相连的链路是否为点对点链路。如果交换机从某个接口收到了来自不同发送者的两种BPDU,就会认为该接口连接到了共享型链路,此时P/A机制无法运行。
优势
-
快速收敛:通过P/A机制,RSTP可以将端口从阻塞状态切换到转发状态的时间从传统STP的30秒缩短到几秒钟。
-
逐链路收敛:P/A机制允许网络拓扑的逐链路收敛,而不必像STP那样需要被动等待全网实现收敛。
注意事项
-
如果指定端口发出的Proposal BPDU后没有收到Agreement BPDU,则该端口将切换到STP方式,需要等待30秒时间才能进入转发状态
通过P/A机制,RSTP能够快速确定指定端口,显著提高了网络的收敛速度
BPDU(Bridge Protocol Data Unit)
在快速生成树协议(Rapid Spanning Tree Protocol,RSTP)中,BPDU(Bridge Protocol Data Unit)是交换机之间用于交换生成树信息的关键数据包。RSTP对BPDU进行了优化和扩展,以支持快速收敛机制。以下是关于RST BPDU的详细介绍:
1.RST BPDU的类型
RSTP定义了两种类型的BPDU:
-
配置BPDU(Configuration BPDU):用于交换机之间传递生成树信息,包括桥ID、端口ID、路径成本等。
-
拓扑变更通知BPDU(Topology Change Notification BPDU,TCN BPDU):用于通知其他交换机网络拓扑发生了变化。
2.RST BPDU的格式
RST BPDU的格式在传统STP的基础上进行了扩展,增加了新的字段和标志位,以支持RSTP的快速收敛机制。以下是RST BPDU的主要字段:
表格
复制
字段名称 | 长度(字节) | 描述 |
---|---|---|
协议标识符 | 2 | 固定值0x0000,标识生成树协议 |
协议版本标识符 | 1 | RSTP的版本号,固定值0x02 |
BPDU类型 | 1 | 0x00表示配置BPDU,0x80表示TCN BPDU |
标志字段 | 1 | 包含Proposal、Agreement、Learning、Forwarding等标志位 |
根桥ID | 8 | 根桥的桥ID,包括优先级和MAC地址 |
根路径成本 | 4 | 到根桥的路径成本 |
桥ID | 8 | 发送BPDU的桥ID |
端口ID | 2 | 发送BPDU的端口ID |
消息优先级 | 2 | 消息的优先级 |
最大跳数 | 1 | 最大跳数,用于防止BPDU无限循环 |
消息老化时间 | 2 | BPDU消息的老化时间 |
拓扑改变标志 | 1 | 拓扑改变标志,用于通知拓扑变化 |
拓扑改变确认标志 | 1 | 拓扑改变确认标志,用于确认拓扑变化 |
拓扑改变通知标志 | 1 | 拓扑改变通知标志,用于通知拓扑变化 |
3.RST BPDU的作用
-
配置BPDU的作用
-
传递生成树信息:配置BPDU用于交换机之间传递生成树信息,包括根桥ID、路径成本、桥ID、端口ID等。这些信息用于确定网络的拓扑结构。
-
Proposal/Agreement机制:通过配置BPDU中的Proposal和Agreement标志位,支持RSTP的快速收敛机制。Proposal标志位用于请求对端交换机的同意,Agreement标志位用于确认对端交换机的请求。
-
端口角色和状态的确定:配置BPDU中的信息用于确定端口的角色(如根端口、指定端口、替代端口等)和状态(如丢弃、学习、转发)。
-
-
拓扑变更通知BPDU的作用
-
通知拓扑变化:当网络拓扑发生变化时(如链路故障、端口状态变化等),交换机会发送TCN BPDU通知其他交换机。TCN BPDU用于触发生成树的重新计算,确保网络的稳定运行。
-
快速响应拓扑变化:通过TCN BPDU,交换机可以快速响应拓扑变化,重新计算生成树,恢复网络通信。
-
4.RST BPDU的处理
-
接收BPDU的处理
-
当交换机收到一个BPDU时,会根据BPDU中的信息更新生成树状态。例如,如果收到的BPDU中的根桥ID更优,则会更新根桥信息,并重新计算路径成本。
-
如果收到的BPDU是Proposal BPDU,交换机会根据P/A机制进行处理。如果交换机同意该端口成为指定端口,则会发送一个Agreement BPDU。
-
-
发送BPDU的处理
-
交换机会定期发送配置BPDU,以维持生成树的稳定运行。配置BPDU的发送间隔通常为2秒。
-
当网络拓扑发生变化时,交换机会发送TCN BPDU,通知其他交换机拓扑变化。
-
5.与STP BPDU的比较
-
格式扩展:RST BPDU在STP BPDU的基础上增加了新的字段和标志位,以支持快速收敛机制。例如,增加了Proposal和Agreement标志位。
-
快速收敛:RST BPDU通过P/A机制,能够快速确定端口角色和状态,显著提高了网络的收敛速度。
-
兼容性:RST BPDU与STP BPDU是兼容的,RSTP交换机可以与STP交换机一起工作。当RSTP交换机与STP交换机相连时,RSTP交换机会自动将自己配置为STP模式。
通过优化BPDU的格式和处理机制,RSTP能够快速适应网络拓扑变化,提高网络的稳定性和收敛速度。
工作原理
配置RSTP命令
-
启用RST
[Huawei] stp mode rstp
这条命令将交换机的生成树模式设置为RSTP模式。
-
配置端口优先级
[Huawei-GigabitEthernet0/0/1] stp port-priority 32
通过设置端口优先级,可以影响端口在生成树中的角色。优先级越低,端口越有可能成为根端口或指定端口。
-
配置根保护
[SWA-GigabitEthernet0/0/1]stp root-protection
由于错误配置根交换机或网络中的恶意攻击,根交换机有可能会收到优先级更高的BPDU报文,使得根交换机变成非根交换机,从而引起网络拓扑结构的变动。这种不合法的拓扑变化,可能会导致原来应该通过高速链路的流量被牵引到低速链路上,造成网络拥塞。交换机提供了根保护功能来解决此问题。根保护功能通过维持指定端口角色从而保护根交换机。一旦启用了根保护功能的指定端口收到了优先级更高的BPDU报文时,端口会停止转发报文并且进入Listening状态。经过一段时间后,如果端口一直没有再收到优先级较高的BPDU报文,端口就会自动恢复到原来的状态。根保护功能仅在指定端口生效,不能配置在边缘端口或者使能了环路保护功能的端口上
-
配置边缘端口
-
[Huawei-GigabitEthernet0/0/1] stp edged-port enable
将端口配置为边缘端口,边缘端口可以直接进入转发状态,加快收敛速度。
-
配置BPDU保护
[Huawei-GigabitEthernet0/0/1] stp bpdu-protection
启用BPDU保护功能,防止恶意设备发送伪造的BPDU,保护网络拓扑的稳定性。
3.华为交换机中RSTP的监控和维护
华为交换机提供了丰富的命令和工具来监控和维护RSTP的运行状态:
-
查看生成树状态
[Huawei] display stp brief
这条命令可以显示生成树的简要信息,包括根桥信息、端口角色、端口状态等。
-
查看端口状态
[Huawei-GigabitEthernet0/0/1] display stp interface gigabitethernet 0/0/1
通过指定端口,可以查看该端口的生成树状态,包括端口角色、端口状态、路径成本等。
-
查看BPDU信
[Huawei] display stp bpdu
查看BPDU的发送和接收情况,帮助诊断网络拓扑问题。
相关文章:
RSTP介绍加实操
简介 STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量。如果STP网络的拓扑结构频繁变化,网络也会频繁失去连通性,从而导致用户通信频繁中断。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(R…...
Elasticsearch父子关系解析
引言 在复杂业务场景中,数据关联查询是搜索与分析的核心需求。以电商订单、文章评论、客户关系等场景为例,传统关系型数据库通过外键实现的多表关联,在分布式搜索场景下面临性能与扩展性挑战。Elasticsearch通过父子关系(Parent-…...
33、请求处理【源码分析】Servlet API参数解析原理
33、请求处理【源码分析】Servlet API参数解析原理 在 Spring Boot 中,请求处理过程中涉及到 **Servlet API 参数解析** 的核心机制,主要依赖于 HandlerMethodArgumentResolver 接口及其相关实现类。以下是其原理的详细分析: --- ### **1. 参…...
基于深度学习的三维图像生成项目开发方案
基于深度学习的三维图像生成项目开发方案 一、项目概述 本项目旨在开发一个基于生成对抗网络(GAN)的三维图像生成系统,能够从随机噪声中生成高质量的三维体素数据。该系统可应用于医学影像合成、游戏内容生成、材料科学等领域。 二、技术架构 #mermaid-svg-JZqC6oWtS9sQ6…...
面试题——计算机网络:HTTP和HTTPS的区别?
HTTP(HyperText Transfer Protocol):作为互联网上应用最广泛的网络通信协议,HTTP是基于TCP/IP协议族的应用层协议。它采用标准的请求-响应模式进行通信,通过简洁的报文格式(包含请求行、请求头、请求体等&a…...
Flutter 包依赖升级指南:让项目保持最新状态
在 Flutter 开发过程中,依赖项管理是确保项目顺利运行和持续优化的关键环节。依赖项是项目中不可或缺的外部库,它们提供了各种功能,从 UI 组件到数据处理工具,帮助开发者快速构建应用。然而,随着时间的推移,…...

LeeCode 98. 验证二叉搜索树
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 提示: 树中节…...

JVM类加载高阶实战:从双亲委派到弹性架构的设计进化
前言 作为Java开发者,我们都知道JVM的类加载机制遵循"双亲委派"原则。但在实际开发中,特别是在金融支付、插件化架构等场景下,严格遵循这个原则反而会成为系统扩展的桎梏。本文将带你深入理解双亲委派机制的本质,并分享…...
[网页五子棋][用户模块]数据库设计和配置(MyBatis)、约定前后端交互接口、服务器开发
文章目录 数据库数据库设计配置 MyBatis1. Spring 配置2. 创建实体类3. 创建 Mapper 接口4. 使用 MyBatis 约定前后端交互接口登录接口注册接口获取用户信息 服务器开发loginregistergetUserInfo完整代码 数据库 数据库设计 完成注册登录以及用户分数管理 使用数据库来保存上…...
maven编译时跳过test过程
如果代码里有无法在打包环境中测试的部分,则直接运行mvn clean package,因为测试失败,会导致打包失败。目前有两种方式可以跳过测试: 1. mvn clean package -DskipTests,这会跳过执行阶须,但仍会生成测试所…...

threejsPBR材质与纹理贴图
1. PBR材质简介 本节课没有具体的代码,就是给大家科普一下PBR材质,所谓PBR就是,基于物理的渲染(physically-based rendering)。 Three.js提供了两个PBR材质相关的APIMeshStandardMaterial和MeshPhysicalMaterial,MeshPhysicalMaterial是Mes…...

深兰科技董事长陈海波受邀出席2025苏商高质量发展(常州)峰会,共话AI驱动产业升级
5月29日,2025苏商高质量发展峰会在常州隆重开幕。本次峰会聚焦新质生产力培育与产业创新转型,汇聚了众多江苏省内知名企业家、专家学者及政府代表。深兰科技创始人、董事长陈海波作为人工智能领域的领军企业代表,受邀出席盛会并参与重要活动环…...
【计算机网络】子网划分
文章目录 【计算机网络】子网划分(知识点详细)一、子网划分基础概念1. **为什么需要子网划分?**2. **关键术语** 二、子网划分核心原理1. **借位规则**2. **子网划分步骤** 三、子网划分实战案例案例1:标准C类网划分(等…...

Git入门到精通:30分钟掌握核心技巧
目录 一、基础理论片 Git简介 Git安装 Git仓库 Git基本命令用法 仓库别名 二、实操命令篇 远程分支 分支的新建和合并 实操演示 1 本地新建仓库 2 gitee新建仓库 3 建立关系 4 新建分支 5 开发新功能 6 推送新分支 7 合并新分支到主分支 三、可视化工具篇 G…...

Redis7底层数据结构解析
redisObject 在 Redis 的源码中,Redis 会将底层数据结构(如 SDS、hash table、skiplist 等)统一封装成一个对象,这个对象叫做 redisObject,也简称 robj。 typedef struct redisObject {unsigned type : 4; // 数…...
Android 异步编程中协程的完整实战示例
一、全链路数据加载:网络请求 数据库缓存 在实际开发中,数据加载通常需要先检查本地缓存,若缓存失效则从网络获取,并将结果更新到本地。以下是完整的 MVVM 架构示例: 1. 项目结构 app/ ├── data/ …...

多部手机连接同一wifi的ip一样吗?
在家庭和办公环境中,多台手机同时连接同一个WiFi路由器已成为常态。不少用户会产生疑问:这些设备的IP地址会相同吗?下面就一起来了解一下吧。 一、多部手机连接同一WiFi的IP一样吗 多部手机连接同一WiFi时的IP地址是否相同,需要…...

大语言模型值ollama使用(1)
ollama为本地调用大语言模型提供了便捷的方式。下面列举如何在windows系统中快捷调用ollama。 winR打开运行框,输入cmd 1、输入ollama list 显示已下载模型 2、输入ollama pull llama3 下载llama3模型 3、 输入 ollama run llama3 运行模型 4、其他 ollama li…...
大模型应用开发之Langchain
一、框架简述 Langchain 是一个用于构建和管理 LLM 应用的开发框架。它为开发者提供了工具和接口,以便于更轻松地将大语言模型集成到应用程序中,并处理语言模型生成的响应、管理对话状态、执行链式调用、处理多步任务等。 二、Langchain主要模块 1、M…...

thc-ssl-dos:SSL 压力测试的轻量级工具!全参数详细教程!Kali Linux教程!
简介 THC-SSL-DOS 是一款用于验证 SSL 性能的工具。 建立安全的 SSL 连接需要服务器比客户端高 15 倍的处理能力。 THC-SSL-DOS 利用这种不对称特性,通过使服务器过载并使其断网。 此问题影响当今所有 SSL 实现。供应商自 2003 年以来就已意识到这个问题&#x…...
什么是内网ip证书
内网IP证书是一种基于公钥基础设施(PKI)技术的数字证书,专门用于保护企业内部网络中通过IP地址访问服务的通信安全。以下是对内网IP证书的详细解析: 一、核心定义与用途 定义:内网IP证书是SSL/TLS证书的一种特殊类型…...

【速通RAG实战:进阶】17、AI视频打点全攻略:从技术实现到媒体工作流提效的实战指南
一、AI视频打点的技术底层与数据处理流程 (一)视频内容结构化的核心技术栈 AI视频打点的本质是将非结构化视频数据转化为带时间戳的结构化信息,其技术流程涵盖音视频处理、语音识别、自然语言处理三大核心模块,形成“数据采集-内容解析-智能标记-协同应用”的完整闭环。 …...

立控信息智能装备柜:科技赋能军队装备管理现代化
在军事装备管理领域,高效、安全、智能化的存储解决方案至关重要。传统的人工管理模式不仅效率低下,还容易因人为疏忽导致装备丢失或管理混乱。LKONE智能装备柜凭借先进的物联网技术、生物识别安全系统和智能管理功能,为军队提供了一套高效、…...

【freertos-kernel】queue(发送)
文章目录 补充各种yeildTCB的xStateListItem和xEventListItem xQueueGenericSendprvCopyDataToQueueprvNotifyQueueSetContainervTaskInternalSetTimeOutStatevTaskSuspendAllxTaskResumeAllprvLockQueueprvUnlockQueueprvIncrementQueueTxLockvTaskPlaceOnEventListprvAddCurr…...
【华为云物联网】如何实现在 MQTT.fx 上模拟数据间隔上传一次,并按设定系数变动数据
虽然 MQTT.fx 本身不支持定时循环脚本发送消息,但可以通过以下方式 实现在 MQTT.fx 上模拟设备参数每隔 1 分钟上传一次,并按设定系数变动数据: ✅ 推荐方式:使用 Python 脚本+MQTT.fx 联动观察 你将用 Python 自动发送数据,MQTT.fx 订阅对应主题观察是否发送成功。 🧩…...

破解高原运维难题:分布式光伏智能监控系统的应用研究
安科瑞刘鸿鹏 摘要 高原地区光照资源丰富,具有发展分布式光伏发电的巨大潜力。然而,该地区复杂的气候环境、地形地貌和运维条件对光伏电站的运行与维护带来严峻挑战。本文结合Acrel1000DP分布式光伏监控系统的技术特点和典型应用案例,探讨其…...

图标变白,开始菜单栏无法打开程序(以jupyter为例)
不知道是本人删了一些东西导致的还是什么原因,总之现在本人的jupyter只能通过命令行打开,以往我是从开始菜单栏打开。琢磨了一段时间,发现是.ico文件没有了。重新在网上下载图片,用网站图片转 ico 图标 - 锤子在线工具 转换一下格…...

大语言模型(LLM)入门 - (1) 相关概念
文章来自:大语言模型(LLM)小白入门自学项目-TiaoYu-1 GitHub - tiaoyu1122/TiaoYu-1: For People! For Freedom!For People! For Freedom! Contribute to tiaoyu1122/TiaoYu-1 development by creating an account on GitHub.https://github.com/tiaoyu1122/TiaoYu…...

行为型:访问者模式
目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 1、核心思想 目的:数据结构稳定的情况下,解决数据与算法的耦合问题。适用于对象结构稳定但需频繁扩展操作的场景。 实现:在访问数据时根据数据类…...

C++数据结构 : 哈希表的实现
C数据结构 : 哈希表的实现 目录 C数据结构 : 哈希表的实现引言1. 哈希概念1.1 直接定址法1.2 哈希冲突1.3 负载因子 2. 哈希函数2.1 除法散列法/除留余数法2.2 乘法散列法(了解)2.3 全域散列法(了解) 3. 处…...