RSTP详解:对比STP,到底改进了什么?

一、RSTP概述

IEEE 802.1W中定义的RSTP可以视为STP的改进版本,RSTP在许多方面对STP进行了优化,它的收敛速度更快,而且能够兼容STP。

二、RSTP对STP的改进

改进点1:端口角色

、

改进点2:端口状态

RSTP的状态规范缩减为3种,根据端口是否转发用户流量和学习MAC地址来划分:

▫ Discarding 状态:不 转发用户流量也不学习 MAC 地址;
▫ Learning 状态:不 转发用户流量但是学习 MAC 地址;
▫ Forwarding 状:既 转发用户流量又学习 MAC 地址。

改进点3: 配置BPDU

• RSTP 的配置 BPDU 充分 利用了 STP 报文 中的 Flag 字段,明确了端口角色 。
• 除了 保证和 STP 格式基本一致之外, RSTP 作 了如下变化 :
▫ Type 字段:配置 BPDU 类型不再是 0 而是 2 ,所以运行 STP 的设备收到 RSTP 的配置 BPDU 时会丢弃。
▫ Flag 字段:使用 了原来保留的中间 6 位,这样改变的配置 BPDU 叫做 RST BPDU 。

改进点4:配置BPDU的处理

RSTP对配置BPDU的发送方式进行了改进 

 在拓扑稳定后,无论非根桥设备是否接收到根桥传来的配置BPDU报文,非根桥设备仍然按照Hello Time规定的时间间隔发送配置BPDU,该行为完全由每台设备自主进行。

更短的BPDU超时时间 

 如果一个端口在超时时间(即三个周期,超时时间=Hello Time×3)内没有收到上游设备发送过来的配置BPDU,那么该设备认为与此邻居之间的协商失败。

处理次优BPDU   

当一个端口收到上游的指定桥发来的RST BPDU报文时,该端口会将自身缓存的RST BPDU与收到的RST BPDU进行比较。

如果该端口缓存的RST BPDU优于收到的RST BPDU,那么该端口会直接丢弃收到的RST BPDU,立即回应自身缓存的RST BPDU,从而加快收敛速度。

 改进点5:快速收敛机制

改进点6:拓扑变更机制

在RSTP中检测拓扑是否发生变化只有一个标准:一个非边缘端口迁移到Forwarding状态

改进点7:保护功能

三、RSTP的工作过程

1. 每一台交换机启动 RSTP 后,都认为自己是“根桥”,并且发送 RST BPDU 。
▫ 所有端口都为指定端口,处于 Discarding 状态。

 

2. 上游链路的设备互联端口通过 P/A 机制,快速进入转发状态。
▫ SW2 收到 更优的 RST BPDU 后 ,经比较认为 SW1 才是当前根桥,此时 SW2 的端口将 成为根端口,而不是指定端口 ,停止 发送 RST BPDU 。
▫ SW1 的 端口进入 Discarding 状态,发送 Proposal 位置位 的 RST BPDU 。 SW2 收到后阻塞除边缘 端口以外 的 所有 其他 端口(该过程称为同步过程)。
▫ SW2 的 各端口同步后, 根端口立即进入 Forwarding 状态 ,并 向 SW1 返回 Agreement 位置位 的 RST BPDU 。 SW1 收到 该报文后,会让 指定端口立即进入 Forwarding 状态 。

 

3. 下 游链路的设备互联端口会进行新一轮的 P/A 协商。
▫ SW2 的 下游 端口设置为 指定端口,持续发送 Proposal 位置位 的 RST BPDU 。
▫ SW3 的 下游端口收到该 BPDU 后,发现不是本设备收到的最优 BPDU ,则会 忽略,不会发送 Agreement 位置位的 RST BPDU 。
▫ SW2 的 下游端口一直收不到 Agreement 位置位 的回应报文,等待 2 倍 的 Forward Delay 后,进入转发状态 。

四、RSTP的基本配置

1.  配置生成树工作模式

[Huawei] stp mode { stp | rstp | mstp }

2.(可选)配置当前设备为根桥

        [Huawei] stp root primary

3.(可选)配置当前设备为备份根桥

        [Huawei] stp root Secondary

4.  配置当前接口为边缘端口

       [Huawei-GigabitEthernet0/0/1] stp edged-port enable    

5.  配置BPDU保护功能

      [Huawei] stp bpdu-protection

6.  配置环路保护功能

      [Huawei-GigabitEthernet0/0/1] stp loop-protection

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/news/111976.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue切换回页面可见状态后,避免执行多次滚动定位的动画

目录 一. 问题场景描述 二. 问题解决方案 三. 相关知识点 四. 注意点 五. 相关代码实现 一. 问题场景描述 vue里的一个页面组件涉及到音频文件的自动播放,并且在自动播放时要自动滚动聚焦定位到对应的语音文本列表项,那么当用户点击了自动播放后&am…

行业追踪,2023-10-20

自动复盘 2023-10-20 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

记一次EDU证书站

如果文章对你有帮助,欢迎关注、点赞、收藏一键三连支持以下哦! 想要一起交流学习的小伙伴可以加zkaq222(备注CSDN,不备注通不过哦)进入学习,共同学习进步 目录 目录 1.前言: 2.信息搜集 3.漏…

代码随想录算法训练营第五十六天|1143.最长公共子序列、1035.不相交的线、53. 最大子序和

代码随想录算法训练营第五十六天|1143.最长公共子序列、1035.不相交的线、53. 最大子序和 1143.最长公共子序列1035.不相交的线53. 最大子序和 做了一个小时左右 1143.最长公共子序列 题目链接:1143.最长公共子序列 文章链接 状态:会做 代码 class Solu…

MAC 配置 Maven

Maven 是一个流行的 Java 项目管理和构建工具,它可以帮助我们管理项目依赖、构建和发布等过程。本文将指导您在 MAC 上配置 Maven 的详细步骤。 1、下载 Maven 首先,从 Maven 官方网站下载最新版本的 Maven 安装包。下载完成后,将其解压到您…

C++11——多线程

目录 一.thread类的简单介绍 二.线程函数参数 三.原子性操作库(atomic) 四.lock_guard与unique_lock 1.lock_guard 2.unique_lock 五.条件变量 一.thread类的简单介绍 在C11之前,涉及到多线程问题,都是和平台相关的,比如windows和linu…

【Qt-19】按Q退出应用程序

如何将Qt窗口应用程序改成控制台程序呢&#xff1f; 下面进入正文&#xff0c;如何控制控制台程序退出呢&#xff1f; 这里采用线程方式&#xff0c;通过单独线程监视用户输入来执行是否退出程序。 监视线程头文件thread.h #include <QThread> #include "TDRServe…

API网关与社保模块

API网关与社保模块 理解zuul网关的作用完成zuul网关的搭建 实现社保模块的代码开发 zuul网关 在学习完前面的知识后&#xff0c;微服务架构已经初具雏形。但还有一些问题&#xff1a;不同的微服务一般会有不同的网 络地址&#xff0c;客户端在访问这些微服务时必须记住几十甚至…

API 排行榜,盘点用的最多的 API 协议!

每个人都用过 HTTP 协议。在网页端&#xff0c;在 App 端&#xff0c;大部分的数据交换都基于 HTTP 协议&#xff0c;但你也许会听过其他的一些协议。 从 《2023 全球 API 状况报告》 里的数据&#xff0c;我们能看到全球的开发者使用最多的 API 协议&#xff1a; 这些协议有什…

使用poco出现Cannot find any visible node by query UIObjectProxy of “xxx“怎么办

在编写脚本的时候&#xff0c;使用poco的控件识别已经是大家非常喜欢的一种方式&#xff0c;准确度很高&#xff0c;而且也很容上手。 但是有时候会出现下面这种报错&#xff0c;提示 Cannot find any visible node by query UIObjectProxy of “xxx“这个时候是不是开始着急…

前端 js 之 浏览器工作原理 和 v8引擎 01

嘿&#xff0c;老哥&#xff0c;来了就别跑 &#xff01;学完 &#xff0c;不亏 &#x1f602; 文章目录 一、输入url 之后做了什么二、简单了解下浏览器内核三、浏览器渲染过程 &#xff08;渲染引擎&#xff09;四、js 引擎五、chrome五、v8 引擎原理八、浏览器性能优化九、前…

计算机算法分析与设计(13)---贪心算法(多机调度问题)

文章目录 一、问题概述1.1 思路分析1.2 实例分析 二、代码编写 一、问题概述 1.1 思路分析 1. 设有 n n n 个独立的作业 1 , 2 , … , n {1, 2, …, n} 1,2,…,n&#xff0c;由 m m m 台相同的机器 M 1 , M 2 , … , M m {M_1, M_2, …, M_m} M1​,M2​,…,Mm​ 进行加工处…

Qemu镜像安全加密测试

文章目录 简介1.已经过时的qemu自带的加密方式介绍1.1.创建secret uuid的xml1.2.产生uuid1.3.给secret赋值1.4.创建一个存储池1.5.在存储池中创建一个镜像1.6.在虚拟机中使用该镜像 2.弃用以上加密方式2.1.原作者Daniel Berrange的观点2.2.Markus Armbruster更深入的操作 3. LU…

vue实现在页面拖拽放大缩小div并显示鼠标在div的坐标

1、功能要求&#xff1a; 实现在一个指定区域拖拽div,并可以放大缩小&#xff0c;同时显示鼠标在该div里的坐标&#xff0c;如图可示 缩小并拖动 2、实现 <div class"div_content" ref"div_content"><div class"div_image" id"…

【运维知识高级篇】超详细的Jenkins教程5(pipeline流水线配置+分布式构建)

CI/CD是持续集成&#xff0c;持续部署&#xff0c;集成就是开发人员通过自动化编译&#xff0c;发布&#xff0c;测试的手段集成软件&#xff0c;在开发的测试环境上测试发现自己的错误&#xff1b;持续部署是自动化构建&#xff0c;部署&#xff0c;通常也是在测试环境上进行&…

014 - ARM64上的GIC-400(GICv2)

本章节涉及到的参考文档有三个&#xff1a; BCM2711 ARM Peripherals.pdfARM Generic Interrupt Controller Architecture Specification.pdf (简称gic_v2)CoreLink GIC-400 Generic Interrupt Controller Technical Reference Manual.pdf 1. GIC 发展历史 在早期的 ARM 系统…

深度学习技巧应用29-软件设计模式与神经网络巧妙结合,如何快速记忆软件设计模式

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下软件设计模式与神经网络巧妙结合&#xff0c;如何快速记忆软件设计模式。我们知道软件设计模式有23种&#xff0c;考试的时候经常会考到&#xff0c;但是这么种里面我们如何取判断它呢&#xff0c;如何去记忆它呢&a…

双指针——盛水最多的容器

一, 题目要求 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜容…

Jmeter接口自动化测试 —— Jmeter下载安装及入门

jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试&#xff0c;但后来扩展到其他测试领域。 下载 下载地址&#xff1a;Apache JMeter - Download Apache JMeter 安装 由于Jmeter是基于Java的…

Linux查看日志文件的常用命令

1、查看文件最后1000行内容 tail -n 1000 filename 2、实时查看文件最后1000行内容&#xff0c;动态刷新 tailf -n 1000 filename tail -f -n 1000 filename 3、按照关键字搜索日志 cat filename | grep 关键字 4、按照关键字搜索并包含前(后)多少行 【&#xff08;A前B后C前…