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

HCIP-快速生成树RSTP

一、RSTP是什么

STP(Spanning Tree Protocol )是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。

RSTP(rapid spanning Tree Protocol ),即快速生成树协议,最早在IEEE 802.1W-2001中提出,这种协议在网络结构发生变化时,能更快的收敛网络。

在stp上的改进

(1)端口状态的重新划分

RSTP通过端口状态的变化和角色定义来实现快速收敛。在STP上有5种端口状态,在RSTP上变成了3种端口状态

端口状态:学习(Learning)状态:不转发用户流量,但学习MAC地址

转发(Forwarding)状态:既转发用户流量,又学习MAC地址

丢弃(Discarding)状态:不转发用户流量,也不学习MAC地址

(2)通过对端口角色的填补,简化生成树协议的理解及部署。

RSTP有4种端口角色:根端口、指定端口、替代端口、备份端口,增加了替代端口和备份端口

(3)边缘端口

  • 在RSTP中,可以将交换机连接PC的端口配置为边缘端口
  • 边缘端口默认不参与生成树计算,当边缘端口被激活之后,它会立即切换到转发状态并开始收发业务流量,而不哟领经历转发延迟时间,因此工作效率大大提高了
  • 边缘端口的关闭或者激活并不会触发RSTP拓扑变更

(4)快速收敛

  1. RSTP通过引入P/A(Port Role/State Transition)机制,加快了网络的收敛速度。这意味着当网络拓扑发生变化时,RSTP能够比STP更快地重新计算生成树并达到稳定状态。
  2. 根端口和指定端口快速切换(因为有替代端口和备份端口)
  3. 边缘端口不参与RSTP计算,可以由Discarding状态进入Forwarding状态

(5)保护功能

BPDU保护:在正常情况下,边缘端口不会收到RST BPDU,如果有人去伪造RST BPDU恶意攻击交换设备,边缘端口接收到RST BPDU时,交换设备就会将其从边缘端口变成STP端口,加入到STP的计算中,从而引起网络震荡。

交换设备上启用了BPDU保护功能后,如果在边缘端口收到RST BPDU,边缘端口将发生错误并关闭,但边缘端口的属性不变,同时通知网管系统。

根保护:由于维护人员的错误配置或网络中的恶意攻击,根桥有可能收到比自己优先级更高的RST BPDU,从而使根桥失去根地位,从而引起网络拓扑的错误变动,这种情况可能会导致原本应该在高速链路的流量被牵引到低速流量上,导致网络拥塞。

一旦启用根保护功能的指定端口收到优先级更高的RST BPDU,端口将进入Discarding状态,不在转发报文。一段时间后没有接收到优先级较高的RST BPDU,端口就会恢复正常的Forwarding

(根保护只能在指定端口上配置)

环路保护:在启动了环路保护功能,如果根端口或替代端口长时间没有接收到上游设备的BPDU报文,则向网管发出通知信息(这时,根端口会进入Discarding状态,角色也会切换为指定端口),而替代端口则会一直处于Discarding状态,不转发报文,从而不会形成环路。

(环路保护功能只能在根端口或替代端口上配置)

防TC-BPDU攻击交换设备在接收到TC置位的RST BPDU报文后,会执行MAC地址表项的删除操作,如果有人伪造TC置位的RST BPDU报文恶意攻击交换设备时。交换设备短时间内会收到很多RST BPDU报文,频繁的删除操作胡给设备造成很大的负担,给网络的稳定带来很大的隐患。

启用防TC-BPDU攻击功能后,在单位时间内,交换设备处理TC BPDU报文的次数可配置。

(6)P/A机制

RSTP通过P/A机制加快了上游端口进入Forwarding状态的速度

对于STP,指定端口的选择可以很快完成,主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状态全部确定,也就是说必须等待至少一个Forward Delay所有的端口才能进行转发。

而RSTP的主要目的就是消除这个瓶颈,通过阻塞自己的非根端口来保证不会出现环路。而使用P/A机制加快了这个过程

二、为什么有STP后还要使用RSTP

生成树协议(STP)是一种网络协议,用于防止局域网中的物理环路。它通过构建一个逻辑上的无环拓扑结构,确保网络中任意两个节点间只有一条路径,从而避免广播风暴和数据包的无限循环。然而,尽管STP在避免环路方面非常有效,但它也存在一些局限性,特别是在大型网络或需要快速恢复的网络环境中。

以下是为什么在有STP的基础上还需要使用快速生成树协议(RSTP)的主要原因:

  1. 更快的收敛时间:传统的STP在检测到网络拓扑变化时,可能需要较长的时间来重新计算生成树并更新端口状态。这可能导致网络在一段时间内不可用或性能下降。RSTP通过引入快速收敛机制,如快速配置BPDU和提议/同意机制,显著减少了拓扑变化后的收敛时间。

  2. 更高效的端口角色管理:RSTP引入了替代端口和备份端口的概念,这些端口在主端口失效时可以快速接管转发任务,而不需要等待整个生成树的重新计算。这提高了网络的冗余性和可靠性。

  3. 后向兼容:RSTP设计为向后兼容传统STP,这意味着它可以在不更改现有STP基础设施的情况下部署。这对于希望逐步升级网络设备的组织来说是一个重要优势。

  4. 更好的互操作性:由于RSTP是基于IEEE 802.1D标准的一部分,它得到了广泛的行业支持和兼容性。这使得不同厂商的设备能够更好地互操作,简化了网络设计和实施。

  5. 增强的故障恢复能力:RSTP通过边缘端口(Edge Ports)的概念,允许直接连接终端设备的端口在接入时快速过渡到转发状态,无需经过传统的监听和学习阶段。这减少了设备上线时的延迟,并提高了网络的整体稳定性。

三、RSTP的工作过程

RSTP收敛与STP收敛过程类似

在网络初始化时,网络中的所有RSTP交换机都认为自己是根桥,并设置每个端口为指定端口,发送RST BPDU。其中一个交换机最优,最终被选举为根桥

上游链路的设备互联端口收敛过程

每个交换机认为自己是根桥会生成一个RST BPDU报文来协商指定网段的端口状态。

当一个端口收到RST BPDU报文时,此端口会比较收到的RST BPDU报文和本地RST BPDU报文。如果本地的RST BPDU报文优于接收到的RST BPDU报文,则端口会丢弃接收到的RST BPDU报文,并发送Proposal置位的本地RST BPDU报文来回复对端设备

下游链路的设备互联端口会进入慢收敛过程

四、RSTP实验

实验目的:
1. 熟悉RSTP的应用场景
2. 掌握RSTP的配置方法


实验步骤:
1. 开启RSTP
2. 把LSW1设置为根网桥,把LSW2设置为备用根网桥//
[LSW1]stp root primary
[LSW2]stp root secondary
3. 查看每一台交换机的STP的摘要信息
4. 设置边缘端口//
[LSW3-G0/0/1]stp edged-port enable 
[LSW4-G0/0/1]stp edged-port enable
5. 设置BPDU保护//
[LSW3]stp bpdu-protection
[LSW4]stp bpdu-protection
6. 设置根保护//
[LSW1-GigabitEthernet0/0/2]stp root-protection 
[LSW1-GigabitEthernet0/0/3]stp root-protection 

LSW1配置
[LS1]stp mode rstp
[LS1]stp root primary    //把LSW1的优先级改为0,变成主根网桥 
[LS1]display stp brief    //查看端口状态
MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
   0    GigabitEthernet0/0/3        DESI  FORWARDING      NONE

[LS1]interface g0/0/2
[LS1-GigabitEthernet0/0/2]stp root-protection     //设置根保护
[LS1]interface g0/0/3    
[LS1-GigabitEthernet0/0/3]stp root-protection     //设置根保护

LSW2配置
[LSW2]stp mode rstp
[LSW2]stp root secondary    //把LSW2的优先级改为4096,变成备用网桥
[LSW2]display stp brief
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/3        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/4        DESI  FORWARDING      NONE

LSW3配置
[LSW3]stp mode rstp
[LSW3]display stp brief
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   0    GigabitEthernet0/0/2        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/5        DESI  FORWARDING      NONE
[LSW3]interface g0/0/1
[LSW3-GigabitEthernet0/0/1]stp edged-port enable
[LSW3]stp bpdu-protection     //设置BPDU保护

LSW4配置
[LSW4]stp mode rstp
[LSW4]display stp brief
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   0    GigabitEthernet0/0/4        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/5        ALTE  DISCARDING      NONE
[LSW4]interface g0/0/1
[LSW4-GigabitEthernet0/0/1]stp edged-port enable
[LSW4]stp bpdu-protection     //设置BPDU保护
实验测试

抓取LSW1的G0/0/2接口的数据包进行分析

  • BPDU flags: 0x7c:这是一个16进制数,表示BPDU的标志位。在二进制中,它表示为0111 1100。

  • Agreement: Yes:这意味着发送和接收BPDU的设备之间已经就网络拓扑达成一致,即它们同意当前的网络结构。

  • Forwarding: Yes:这表示该端口当前处于转发状态,可以传输数据包。

  • Learning: Yes:这表示该端口正在学习MAC地址,以便构建和维护MAC地址表。

  • Port Role: Designated (3):这表示该端口的角色是指定端口(Designated Port)。在STP中,每个网络段都会选择一个端口作为指定端口,负责向其他端口转发数据。这里的数字“3”可能是一个特定的标识符或者是一个错误,因为在标准的STP中,端口角色通常用不同的名称来标识,如根端口(Root Port)、指定端口(Designated Port)和非指定端口(Non-Designated Port),而不是数字。

  • Topology Change Acknowledgment: No:这表示没有收到拓扑变化确认消息。当网络拓扑发生变化时,设备会发送TCA(Topology Change Acknowledgment)消息来通知其他设备。

  • Proposal: No:这表示没有提议信息。在某些版本的STP中,设备可能会提出改变网络结构的提议。

  • Topology Change: No:这表示没有检测到网络拓扑的变化。

五、总结

RSTP通过引入新的机制和优化传统STP的操作,提供了更快的网络恢复时间和更高的效率,特别是在现代网络环境中,这种改进尤为重要。

相关文章:

HCIP-快速生成树RSTP

一、RSTP是什么 STP(Spanning Tree Protocol )是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。 RS…...

企业级RAG(检索增强生成)系统构建研究

— 摘要 检索增强生成(Retrieval-Augmented Generation,RAG)技术已经成为企业在知识管理、信息检索和智能问答等应用中的重要手段。本文将从RAG系统的现状、方法论、实践案例、成本分析、实施挑战及应对策略等方面,探讨企业如何…...

MATLAB基础应用精讲-【数模应用】Google Caffeine算法

目录 前言 算法原理 Caffeine算法的背景和优势 什么是Caffeine算法 Caffeine算法的工作原理 常见的缓存数据淘汰算法 FIFO LRU LFU W-TinyLFU Caffeine W-TinyLFU 实现 元素驱逐 元素访问 Caffeine 的四种缓存添加策略 1. 手动加载 2. 自动加载 3. 手动异步加载…...

第十九届中国国际中小企业博览会将在粤开展

11月15日-18日,第十九届中国国际中小企业博览会(简称“中博会”)将在广州广交会展馆举办,共设8个展厅,展位总数约2800个,将举办超过30场系列配套活动,35个国家(地区)和国…...

云计算在智能交通系统中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 云计算在智能交通系统中的应用 云计算在智能交通系统中的应用 云计算在智能交通系统中的应用 引言 云计算概述 定义与原理 发展历…...

b4tman / docker-squid 可快速安装运行的、容器型代理服务器 + podman

使用容器部署,省时省力。 使用镜像,目前的最大麻烦就是之前各大镜像源纷纷关闭,需要自己找到合适的、安全的镜像源。 幸好 docker-squid 推广在 ghcr.io,目前下载没有障碍。 注:ghcr.io 是 GitHub Container Registry …...

脉冲神经网络(Spiking Neural Network,SNN)学习(1)

目录 一、神经网络 1、神经元 2、激活函数 (1)常见的激活函数:Sigmoid函数 (2)常见的激活函数:ReLU(Rectified Linear Unit)函数 (3)常见的激活函数&…...

【疑难杂症】电脑休眠后无法开机,进入 steamVR 时电脑突然黑屏关机

问题描述 1.电脑休眠后无法启动,只能拔电源再启动 2.进入 steamVR 时,电脑突然断电黑屏关机(无蓝屏,无任何报错) 3.在进行渲染时,如R23等,电脑突然黑屏关机 4.进入 VRChat 时,准备进…...

HTML文件中引入jQuery的库文件

方法一: 1. 首先,在官方网站(https://jquery.com/)上下载最新版本的jQuery库文件,通常是一个名为jquery-x.x.x.min.js的文件。 2. 将下载的jquery-x.x.x.min.js文件保存到你的项目目录中的一个合适的文件夹中,比如将它保存在你的项…...

IntelliJ IDEA超详细下载安装教程(附安装包)

目录 IDEA的简单介绍一、下载IDEA二、安装IDEA三、启动IDEA并使用1.配置IDEA2.输出:"Hello World!" IDEA的简单介绍 IDEA 全称IntelliJ IDEA,是由 JetBrains 开发的一款广泛使用的集成开发环境(IDE)&#x…...

MySQL技巧之跨服务器数据查询:基础篇-更新语句如何写

MySQL技巧之跨服务器数据查询:基础篇-更新语句如何写 上一篇已经描述:借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的连接名: MY_ODBC_MYSQL 以及用同样的…...

期权懂|期权新手入门教学:期权合约有哪些要素?

期权小懂每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 期权新手入门教学:期权合约有哪些要素? 期权合约:是指约定买方有权在将来某一时间以特定价格买入或卖出约定标的物的标准化或非标准化合约。期…...

腾讯云nginx SSL证书配置

本章教程,记录在使用腾讯云域名nginx证书配置SSL配置过程。 一、nginx配置 域名和证书,替换成自己的即可。证书文件可以自定义路径位置。服务器安全组或者防火墙需要开放80和443端口。 server {#SSL 默认访问端口号为 443listen 443 ssl; #请填写绑定证书的域名server_name c…...

重新认识HTTPS

一. 什么是 HTTPS HTTP 由于是明文传输,所谓的明文,就是说客户端与服务端通信的信息都是肉眼可见的,随意使用一个抓包工具都可以截获通信的内容。 所以安全上存在以下三个风险: 窃听风险,比如通信链路上可以获取通信…...

应用于新能源汽车NCV4275CDT50RKG车规级LDO线性电压调节器芯片

关于车规级芯片(Automotive Grade Chip),车规级芯片是专门用于汽车行业的芯片,具有高可靠性、高稳定性和低功耗等特点,以满足汽车电子系统的严格要求。这些芯片通常用于车载电子控制单元(ECU)和…...

GitLab 中文发行版最新版重点功能解读

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...

rust模式和匹配

文章目录 模式和匹配match 分支if let表达式while letfor 循环let 语句函数参数 Refutability(可失败)与Irrefutable(不可失败的)模式语法匹配字面量匹配命名变量多个模式通过 .. 匹配值的范围 解构并分解值解构结构体使用字面量作为结构体模式的一部分进…...

Vue实际应用之无限滚动、css之、混合宏和~

目录 vue-infinite-scroll 引入工程 全局配置 按需引入 使用方式 属性说明 常见问题及解决方案 CSS中的&的用法 vue中,import 后面的波浪号~ scss中的混合宏 直接看使用 今天来点实际的,看起来简单但是给我们代码带来更好的效果&#x…...

资产安全加固的面试点

资产加固 资产管理属于蓝队前期要做的事情,首先客户单位对他自身的单位资产有一定的了解哪些资产的优先级和重要程度等等,所以开始要做相关的资产梳理,对客户单位进行统计,梳理,分析,找到哪些点是可以授权…...

鸿蒙版APP-图书购物商城案例

鸿蒙版-小麦图书APP是基于鸿蒙ArkTS-API12环境进行开发,不包含后台管理系统,只有APP端,页面图书数据是从第三方平台(聚合数据)获取进行展示的,包含登录,图书类别切换,图书列表展示,图书详情查看…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...