华为HCIP第一天---------RSTP
一、介绍
1、以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路,但是这也带来了网络环路的问题。网络环路会引发广播风暴和MAC地址表震荡等问题,导致用户通信质量差,甚至通信中断。为了解决交换网络中的环路问题,IEEE提出了基于802.1D标准的STP(Spanning Tree Protocol,生成树协议)。 随着局域网规模的不断增长,STP拓扑收敛速度慢的问题逐渐凸显,因此,IEEE在2001年发布了802.1W标准,定义了RSTP(Rapid Spanning Tree Protocol,快速生成树协议),RSTP在STP的基础上进行了改进,可实现网络拓扑的快速收敛。
2、STP配置得BPDU:
STP通过在交换机之间传递配置BPDU来选举根交换机 (或根桥),以及确定每个交换机端口的角色和状态。 在初始化过程中,每个交换机都主动发送配置BPDU。 在网络拓扑稳定以后,只有根桥周期性发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。 配置BPDU包含了桥ID、路径开销和端口ID等参数。
3、stp得不足:
STP虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。 STP的不足: STP没有细致区分端口状态和端口角色,不利于初学者学习及部署。 从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。 从使用和配置角度来讲,端口之间最本质的区别并不在于端口状态,而是在于端口扮演的角色。 STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。 STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备再进行处理,最终传遍整个STP网络。
二、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后,进入转发状态。
三、实验
1、实验拓扑:

2、实验要求:
(1). PC属于VLAN10,并配置交换机相应接口
(2). SW1/2/3为企业内部交换机,SW3设为根交换机,SW2设为次根交换机
(3). 全部交换机运行RSTP协议
(4). 观察所有交换机接口角色和状态
(5). SW1/2作为接入交换机,连接终端,整机默认配置边缘端口,并开启相应的保护措施
(6). 开启非法交换机,观察端口状态
(7). 为确保SW3为根交换机,开启根保护功能 8. PC1长pingPC2,关闭SW2的G0/0/2接口,观察端口切换时间
3、实验代码:
3.1 在交换机上创建 VLAN 并划分接口
SW1
[Huawei] sysname SW1
[SW1] vlan 10 [SW1] interface g0/0/1
[SW1-GigabitEthernet0/0/1] port link-type trunk
[SW1-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SW1-GigabitEthernet0/0/1] interface g0/0/2
[SW1-GigabitEthernet0/0/2] port link-type trunk
[SW1-GigabitEthernet0/0/2] port trunk allow-pass vlan 10
[SW1-GigabitEthernet0/0/2] interface g0/0/3
[SW1-GigabitEthernet0/0/3] port link-type access
[SW1-GigabitEthernet0/0/3] port default vlan 10 SW2
[Huawei] sysname SW2
[SW2] vlan 10 [SW2] interface g0/0/1
[SW2-GigabitEthernet0/0/1] port link-type trunk
[SW2-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SW2-GigabitEthernet0/0/1] interface g0/0/2
[SW2-GigabitEthernet0/0/2] port link-type trunk
[SW2-GigabitEthernet0/0/2] port trunk allow-pass vlan 10
[SW2-GigabitEthernet0/0/2] interface g0/0/3
[SW2-GigabitEthernet0/0/3] port link-type access
[SW2-GigabitEthernet0/0/3] port default vlan 10 SW3
[Huawei] sysname SW3
[SW3] vlan batch 10
[SW3] interface g0/0/1
[SW3-GigabitEthernet0/0/1] port link-type trunk
[SW3-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SW3-GigabitEthernet0/0/1] interface g0/0/2
[SW3-GigabitEthernet0/0/2] port link-type trunk
[SW3-GigabitEthernet0/0/2] port trunk allow-pass vlan 10
3.2 配置 RSTP,并设置优先级
SW1 [SW1] stp mode rstp SW2 [SW2] stp mode rstp [SW2] stp root secondary SW3 [SW3] stp mode rstp [SW2] stp priority root primary
3.4 SW1/2 配置边缘端口 SW1 [SW1] stp edged-port default [SW1] interface g0/0/1 [SW1-GigabitEthernet0/0/1] stp edged-port disable [SW1-GigabitEthernet0/0/1] interface g0/0/2 [SW1-GigabitEthernet0/0/2] stp edged-port disable
#交换机互联接口需要关闭边缘端口功能,以免影响通信
SW2
[SW2] stp edged-port default [SW2] interface g0/0/1 [SW2-GigabitEthernet0/0/1] stp edged-port disable [SW2-GigabitEthernet0/0/1] interface g0/0/2 [SW1-GigabitEthernet0/0/2] stp edged-port disable 3.5 SW1/2 配置相应保护措施
SW1
[SW1] stp bpdu-protection
SW2
[SW2] stp bpdu-protection
3.7 开启 SW3 的根保护
SW3
[SW3] interface g0/0/1
[SW3-GigabitEthernet0/0/1] stp root-protection
[SW3-GigabitEthernet0/0/1] interface g0/0/1
[SW3-GigabitEthernet0/0/2] stp root-protectio
相关文章:
华为HCIP第一天---------RSTP
一、介绍 1、以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路,但是这也带来了网络环路的问题。网络环路会引发广播风暴和MAC地址表震荡等问题,导致用户通信质量差,甚至通信中断。为了解决交换网…...
Jmeter(二) - 从入门到精通 - 创建测试计划(Test Plan)(详解教程)
1.简介 上一篇文章已经教你把JMeter的测试环境搭建起来了,那么这一篇我们就将JMeter启动起来,一睹其芳容,首先我给大家介绍一下如何来创建一个测试计划(Test Plan)。 2.创建一个测试计划(Test Plan&#x…...
Autosar诊断实战系列06-详解Dem中Event的NvM存储
本文框架 前言1. Dem触发NvM存储的基本流程2. Dem触发NvM存储的layout格式及内容2.1 Event在NvM中的layout格式2.2 Event在NvM中的存储内容2.3 Dem中Event与DTC的存储关系3.组合式Event(多个Event对应一个DTC)的存储处理3.1 仅分配一个Memory Entry3.2 检索方式3.3 一对一方式前…...
04 todoList案例
React全家桶 一、案例- TODO List 综合案例 功能描述 动态显示初始列表添加一个 todo删除一个 todo反选一个 todotodo 的全部数量和完成数量全选/全不选 todo删除完成的 todo 1.1 静态组件构建 将资料包中的todos_page/index.html中核心代码添加到Todo.jsx文件中,…...
海睿思分享 | 浅谈企业数据质量问题
一、数据质量问题场景 在日常工作中,业务领导经常通过BI系统来了解各项业务的业绩情况。倘若某天,他打开某张核心报表,发现当日某个区域的数据一直是空白的。BI开发人员经过几个小时的排查分析,发现是当日该区域的销售数据存在产…...
神经网络:激活函数
在计算机视觉中,激活函数是神经网络中的一种非线性函数,用于引入非线性变换和非线性特性到网络中。激活函数的作用、原理和意义如下: 1. 引入非线性变换: 神经网络的线性组合层(如卷积层和全连接层)只能表…...
图像色彩增强相关论文阅读-Representative Color Transform for Image Enhancement(ICCV2021)
文章目录 Representative Color Transform for Image EnhancementAbstractIntroductionRelated workMethod实验Conclusion Representative Color Transform for Image Enhancement 作者:Hanul Kim1, Su-Min Choi2, Chang-Su Kim3, Yeong Jun Koh 单位:S…...
Elasticsearch介绍与应用
Elasticsearch介绍与应用 Elasticsearch的官方文档。 Elasticsearch官网参考文档:https://www.elastic.co/guide/index.html Elasticsearch官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch mvnrepository依赖库地址:http…...
JavaEE规范
Servlet:用于开发 Web 应用程序的 API,定义了处理 HTTP 请求和响应的方式。JSP(JavaServer Pages):一种在服务器端生成动态网页的技术,允许将 Java 代码嵌入到 HTML 页面中。(注意JSP本质就是一个Servlet)J…...
嵌入式实时操作系统的设计与开发New(八)
创建线程 用户在基于RTOS开发应用程序前,首先要创建线程。 用户创建一个线程时须指定用户希望采用的调度策略。 例如,用户想创建一个周期性执行的线程: acoral_period_policy_data_t* data; data acoral_malloc(sizeof(acoral_period_poli…...
MySQL事务相关笔记
杂项 InnoDB最大特点:支持事务和行锁; MyISAM不支持事务 介绍 一个事务是由一条或者多条对数据库操作的SQL语句所组成的一个不可分割的单元,只有当事务中的所有操作都正常执行完了,整个事务才会被提交给数据库。事务有如下特性…...
如何利用AI高效率快速调色
在设计行业中,时间是非常宝贵的资源,而设计师们常常需要应对繁忙的工作日程和紧迫的截止日期。为了提高工作效率和节省时间,越来越多的设计师开始利用人工智能(AI)技术中的高效调色功能。本文将介绍如何利用AI高效率快…...
数据结构--顺序表的基本操作--插入 and 删除
数据结构–顺序表的基本操作–插入 顺序表的插入操作 实现目标 ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。 typedef struct {int data[MaxSize];int len; }Sqlist;代码实现: #include <stdio.h> #include <stdlib.h> …...
BCSP-玄子Java开发之Java Web编程CH01_初识动态网页
BCSP-玄子Java开发之Java Web编程CH01_初识动态网页 1.1 B/S架构 B/S架构:浏览器/服务器 程序完全部署在服务器上使用浏览器访问服务器无需单独安装客户端软件 为什么要使用B/S架构 B/S与C/S比较B/S架构C/S架构软件安装浏览器需要专门的客户端应用升级维护客户…...
【软件教程】农林生环、水文、海洋、水环境、大气科学、人工智能、碳中和、碳排放、3S、R与统计等软件模型
本文涉及领域水文水资源、大气科学、农林生态、地信遥感、统计分析、编程语言等... 从软件基础到实践案例应用操作,手把手教学,提供永久回放观看和助学群长期辅助指导。适合课题组人员一站式学习,科研人员技术提升、企业单位工程项目、高校论…...
如何加入开源社
开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、项目孵化” 为使命的开源社区联合体。开源社积极…...
软件开发中的破窗效应
应该有很多人已经知道破窗效应【注1】这个社会学 (犯罪学)的词语,破窗效应最先由社会学家James Q. Wilson和George L. Kelling在一篇名为《Broken Windows》的文章中提出【注2】: “一个房子如果窗户破了,没有人去修补…...
机器视觉初步6-1:基于梯度的图像分割
把基于梯度的图像分割单独拿出来。 文章目录 一、图像梯度相关算子的原理1. Sobel算子2. Prewitt算子3. Roberts算子 二、python和halcon算子实现1.python实现2.halcon实现 基于梯度的图像分割方法利用像素之间的梯度信息来进行图像分割。 梯度 1是图像中像素灰度值变化最快的…...
从0开始,精通Go语言Rest微服务架构和开发
说在前面 现在拿到offer超级难,甚至连面试电话,一个都搞不到。 尼恩的技术社区中(50),很多小伙伴凭借 “左手云原生右手大数据”的绝活,拿到了offer,并且是非常优质的offer,据说年…...
Sui x KuCoin Labs夏季黑客松|本周Workshop预告
自Sui x KuCoin Labs夏季黑客松推出以来已有四周的时间,期间收获了众多开发者的积极报名和热情参与。随着黑客松报名即将进入尾声,同期举办的Workshop也迎来了本周的最后一波。本周的黑客松Workshop邀请到MoveEX和Mirror World的负责人作为嘉宾为大家带…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果,可同时显示主类&#x…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
