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

HCIP的学习(27)

RSTP—802.1W—快速生成树协议

STP缺陷:
1、收敛速度慢----STP的算法是一种被动的算法,依赖于计时器来进行状态变化
2、链路利用率低

​ RSTP向下兼容STP协议。(STP不兼容RSTP)

改进点1—端口角色

802.1D协议---根端口、指定端口、非指定端口
802.1W协议---根端口、指定端口、(替代端口、备份端口)替代端口----简单理解为根端口的备份。替代端口是收到其他交换机的BPDU报文从而被阻塞的端口。如果根端口发生故障,那么替代端口可以成为新的根端口,加快了网络的收敛速度。一台交换机,有且只有一个根端口;替代端口可以有0个或多个。如果存在多个,最优的替代接口将成为新的根端口。备份端口----理解为指定端口的备份。备份端口是一台设备上由于收到了自己所发送的BPDU报文从而被阻塞的接口。

改进点2----端口状态

在这里插入图片描述

改进点3----RST BDPU报文

在这里插入图片描述

bit 6----表示同意的含义,P/A机制
bit 5----表示转发状态
bit 4----表示学习状态
bit 3和bit 2----代表发送该报文的端口角色
bit 1----表示提议含义,P/A机制

RSTP在网络稳定后,任何设备,都可以周期性发送RST BPDU报文

P/A机制----加快收敛

​ 改变状态切换机制,将原本基于计时器的切换方式,修改为选择出端口角色,立即切换状态。

在这里插入图片描述

1、SW11发送P标记位置为1的BPDU报文,请求将本接口的状态切换为转发状态。---能切换的前提是后续网络无环
2、SW12收到该报文后,将本地除了根端口以外的端口全部阻塞。来保证本地无环这个阻塞接口的过程被称为“同步过程”
3、完成同步过程后,本地其他接口都处于丢弃状态,设备向上游发送A标记位置为1的BPDU报文,并将自己的根端口切换为转发状态。
4、SW11收到该报文后,将自己的接口转换为转发状态。
5、向下游重复该过程,直到所有的根端口和指定端口状态切换为转发状态。

改进点4—对BPDU处理方式

  1. 所有设备在网络收敛完成后,都会周期性发送BPDU报文
  2. 缩短了BPDU的超时时间
    • RSTP将最大老化时间修改为三个周期更新时间(6S)
  3. 对次优BPDU报文的处理方式
    • 每一个交换机的每一个接口都会保存一份BPDU报文。—一定是最优的BPDU报文
      • 对于根端口和非指定端口而言,交换机保存的是对端发送的BPDU报文。
      • 对于指定端口而言,交换机保存的是根据根节点发送的BPDU而计算出的本地的BPDU报文。
      • 次优BPDU===接口收到的不如接口保存的BPDU报文。
    • STP
      • 指定端口:收到一个次优BPDU报文,它将立即发送自己的BPDU报文。
      • 非指定端口:收到一个次优BPDU报文,需要等待接口所保存的BPDU报文老化后,重新计算自己的BPDU报文,并将新的BPDU报文发送出去。
    • RSTP
      • 无论任何接口角色,只要接口收到的次优BPDU报文,立即发送自己的BPDU报文

改进点5—快速收敛机制

  1. 根端口和指定端口的快速切换。

  2. P/A机制

  3. 边缘端口

    1. 如果交换机的某个端口处于网络的边缘,即不与其他交换设备相连,直接与终端设备直连,这种端口可以被设置为边缘端口----因为终端设备无法处理STP报文。

    2. 边缘端口不会参与到生成树的计算过程中,当某个接口被设置为边缘端口,则立即切换到转发状态

      1. 边缘端口的关闭或激活不会触发RSTP拓扑变更。
    3. [sw3-GigabitEthernet0/0/22]stp edged-port enable —设置为边缘端口

    4. 边缘接口会持续性发送BPDU报文。—但是这种持续性发送是没有必要的。

    5. [sw1-GigabitEthernet0/0/1]stp bpdu-filter enable ----激活接口的BPDU过滤功能,激活后,该接口不会再发送BPDU报文。并且,该接口收到BPDU报文后,会直接忽略掉。

    6. 注意:一旦边缘端口收到BPDU报文,会立即丧失边缘端口属性,成为普通的STP端口,并重新进行生成树计算,引发网络震荡。----故,上述两条配置一般共同使用

改进点6—保护功能

BPDU保护[Huawei]stp bpdu-protection  ---在全局激活BPDU保护功能,激活后,如果边缘端口收到的BPDU报文,
则交换机直接关闭边缘端口。受保护的边缘接口由于收到BPDU报文而被关闭,缺省时,不会自动恢复。需要网络管理员在接口下通过
undo shutdown命令打开。根保护如果在一个稳定的二层网络环境中,新加入一台第三方设备,并且该设备的BID小于根网桥。那么会
抢占原本的根网桥角色,从而引发网络的重新收敛。部署根保护功能后,根网桥上的指定接口在收到更优的BPDU报文后,会忽略这些BPDU报文并将接口状态
切换到丢弃状态。从而保证根网桥的地址。[Huawei-GigabitEthernet0/0/1]stp root-protection   ---开启根保护功能,只能在指定接口上激活。当接口不再收到更优的BPDU报文后,经过两倍的转发延迟时间,接口状态从丢弃直接切换到转发状态。

环路保护

在这里插入图片描述

​ 网络正常时,接口将持续收到BPDU报文,而当网络出现链路的单向故障或者网络拥塞等问题时,接口无法正常接收BPDU报文,导致交换机需要重新计算RSTP,此时接口角色和状态发生改变,可能引入环路。

开启保护后:

  • 根端口
    • 如果常时间没有收到BPDU报文,那么交换机会重新选举根端口,并且该端口调整为指定端口。该接口状态切换为丢弃状态,避免环路产生。
  • 替代端口
    • 如果长时间没有收到BPDU报文,该端口调整为指定端口。将其状态保持在丢弃状态。

[Huawei-GigabitEthernet0/0/20]stp loop-protection —开启接口的环路保护。

拓扑变更保护

在这里插入图片描述

​ 如果网络环境极度不稳定,导致TC报文频繁洪泛,又或者网络中存在攻击者发送大量的TC报文,那么交换机的性能将受到极大的损耗。

拓扑变更保护功能—在单位时间内只进行一定次数的TC报文处理,如果超出这个次数,则按照规定次数处理,对于超出的部分,等待一段时间后进行处理

[Huawei]stp tc-protection —开启TC保护

​ 在单位时间2S周期内,只会处理一次TC报文。

[Huawei]stp tc-protection threshold 3 —开启TC保护并修改次数

​ 在单位时间2S周期内,处理3次TC报文。

改进点7—拓扑变更机制的改进

在这里插入图片描述

1、如果SW3收不到根桥发送的BPDU报文,设备所有的指定端口和根端口启动一个TC计时器(4S)。并且
清空所有端口学习到的MAC地址。然后向外发送TC置位的BPDU报文。
2、一旦计时器超时,则停止发送BPDU报文
3、SW2收到该报文后,清空所有端口的MAC地址信息,将自己的接口也启动TC计时器,并将TC置位报文向上游发送。
4、重复上述过程。

MSTP—802.1S----多实例生成树

​ PVST----一个VLAN为一个生成树

​ MSTP—引入了“示例”----instance-----多个VLAN的集合

​ instance ID-----示例标识----12bit(BID16bit的后12bit)-------instance 0–华为默认存在的

MSTI—多生成树实例

一个实例能够包含多个VLAN,但是一个VLAN只能属于一个实例

MSTP域----类似于OSPF中的区域的概念。可以将一个交换网络划分为多个MST域,在一个MST域中,会存在单个或多个实例

  • 相同的域名
  • 相同的修订等级
  • 相同的vlan和instance的映射关系

必须保证上述三点完全一致,交换机对MSTP的认知才相同

在这里插入图片描述

[sw1]stp mode mstp 
[sw1]stp enable MST域的配置
[sw1]stp region-configuration  ----进入MST域配置视图
[sw1-mst-region]region-name HCIP  ---修改域名
[sw1-mst-region]revision-level ?  ---修改修订等级,默认为0INTEGER<0-65535>  Revision level 
[sw1-mst-region]instance 1 vlan 2 to 10  ---创建一个instance 1,并加入vlan2到10
[sw1-mst-region]instance 2 vlan 11 to 20
[sw1-mst-region]active region-configuration   ---激活MSTP配置,如果未激活,则之前的配置不生效[sw1]stp instance 0 root primary ---设定为实例0的主根
[sw1]stp instance 1 root primary 
[sw1]stp instance 2 root secondary 

在这里插入图片描述

默认情况下,域名使用的是交换机的MAC地址

相关文章:

HCIP的学习(27)

RSTP—802.1W—快速生成树协议 STP缺陷&#xff1a; 1、收敛速度慢----STP的算法是一种被动的算法&#xff0c;依赖于计时器来进行状态变化 2、链路利用率低​ RSTP向下兼容STP协议。&#xff08;STP不兼容RSTP&#xff09; 改进点1—端口角色 802.1D协议---根端口、指定端口…...

6. MySQL 查询、去重、别名

文章目录 【 1. 数据表查询 SELECT 】1.1 查询表中所有字段使用 * 查询表的所有字段列出表的所有字段 1.2 查询表中指定的字段 【 2. 去重 DISTINCT 】【 3. 设置别名 AS 】3.1 为表指定别名3.2 为字段指定别名 【 5. 限制查询结果的条数 LIMIT 】5.1 指定初始位置5.2 不指定初…...

Oracle导出clob字段到csv

使用UTL_FILE ref: How to Export The Table with a CLOB Column Into a CSV File using UTL_FILE ?(Doc ID 1967617.1) --preapre data CREATE TABLE TESTCLOB(ID NUMBER, MYCLOB1 CLOB, MYCLOB2 CLOB ); INSERT INTO TESTCLOB(ID,MYCLOB1,MYCLOB2) VALUES(1,Sample row 11…...

C++无锁(lock free)队列moodycamel::ConcurrentQueue

moodycamel::ConcurrentQueue介绍 moodycamel::ConcurrentQueue一个用C++11实现的多生产者、多消费者无锁队列。 它具有以下特点: 1.快的让人大吃一惊,详见不同无锁队列之间的压测对比 2.单头文件实现,很容易集成到你的项目中 3.完全线程安全的无锁队列,支持任意线程数的并…...

python办公自动化——(二)替换PPT文档中图形数据-柱图

效果: 数据替换前 &#xff1a; 替换数据后&#xff1a; 实现代码 import collections.abc from pptx import Presentation from pptx.util import Cm,Pt import pyodbc import pandas as pd from pptx.chart.data impo…...

vue不同页面切换的方式(Vue动态组件)

v-if实现 <!--Calender.vue--> <template><a-calendar v-model:value"value" panelChange"onPanelChange" /></template> <script setup> import { ref } from vue; const value ref(); const onPanelChange (value, mod…...

Linux下Qt Creator无法输入中文(已解决)

1. 首先确保安装了搜狗输入法&#xff0c;且能正常运行。 2.克隆源码到本地。 git clone https://gitcode.com/fcitx/fcitx-qt5.git 3.检查Qt Creator版本&#xff0c;如下图所示&#xff0c;为基于Qt6的。 4. 进入源码目录&#xff0c;建立build文件夹&#xff0c;修改CMak…...

Codeforces 提交Java代码(自己处理输入输出)

示例一&#xff08;A. Watermelon&#xff09; 题目地址 Problem - 4A - Codeforces 题目截图 提交方式 可以提交本地文件&#xff0c;也可以在线提交。我们这里选择在线提交方式&#xff0c;点击上图中的 SUBMIT 按钮&#xff0c;会进入如下界面。 输入Java代码效果如下&a…...

剖析vue中nextTick源码

代码逻辑梳理&#xff1a; callbacks 数组用于存储待执行的回调函数&#xff0c;waiting 变量用于标记是否有待执行的回调函数。 flushCallbacks 函数用于执行所有存储在 callbacks 数组中的回调函数&#xff0c;并在执行完成后将 waiting 设置为 false。 timer 函数根据环境…...

SSM牙科诊所管理系统-计算机毕业设计源码98077

目 录 摘要 1 绪论 1.1研究目的与意义 1.2国内外研究现状 1.3ssm框架介绍 1.4论文结构与章节安排 2 牙科诊所管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能…...

【C++进阶】深入STL之string:模拟实现走进C++字符串的世界

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;C模板入门 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀STL之string &#x1f4d2;1. string…...

go语言linux安装

下载&#xff1a;https://go.dev/dl/ 命令行使用 wget https://dl.google.com/go/go1.19.3.linux-amd64.tar.gz解压下载的压缩包&#xff0c;linux建议放在/opt目录下 我放在/home/ihan/go_sdk下 sudo tar -C /home/ihan/go_sdk -xzf go1.19.3.linux-amd64.tar.gz 这里的参数…...

vi和vim有什么不同?

vi 和 vim 都是流行的文本编辑器&#xff0c;它们之间有以下主要区别&#xff1a; 历史&#xff1a; vi 是一个非常古老的文本编辑器&#xff0c;最初由 Bill Joy 在 1976 年为 Unix 系统编写。vim&#xff08;Vi IMproved&#xff09;是 vi 的一个增强版&#xff0c;由 Bram M…...

CSS动画效果(鼠标滑过按钮动画)

1.整体效果 https://mmbiz.qpic.cn/sz_mmbiz_gif/EGZdlrTDJa5SXiaicFfsrcric7TJmGO6YddqC4wFPdM7PGzPHuFgvtDS7MIvnLHB4WFaKia0Qh8VCyUaoyHMc2Zltg/640?wx_fmtgif&fromappmsg&tpwebp&wxfrom5&wx_lazy1&wx_co1 网页设计中的按钮不仅是用户交互的桥梁&#…...

数据结构(C):从初识堆到堆排序的实现

目录 &#x1f31e;0.前言 &#x1f688; 1.堆的概念 &#x1f688; 2.堆的实现 &#x1f69d;2.1堆向下调整算法 &#x1f69d;2.2堆的创建&#xff08;堆向下调整算法&#xff09; ✈️2.2.1 向下调整建堆时间复杂度 &#x1f69d;2.3堆向上调整算法 &#x1f69d;2.…...

ChatGLM3-6B部署

ZhipuAI/chatglm3-6b 模型文件地址 chatglm3-6B-32k-int4 量化的模型地址 ChatGLM3 代码仓库 ChatGLM3 技术文档 cpolar http xxx 端口 /anaconda3/envs/chatglm2/lib/python3.8/site-packages/gradio$ networking.py 硬件环境 最低要求&#xff1a; 为…...

代码随想录35期Day54-JavaScript

Day54题目 ### LeetCode739每日温度 核心思想:今天主要是学会单调栈的使用.找到比元素更大的下一个元素,如果比栈顶元素小就入栈,否则就出栈顶元素,当前元素就是比栈顶元素大的"下一个更大的元素". /*** param {number[]} temperatures* return {number[]}*/ var …...

把自己的服务器添加到presearch节点

Presearch is a scam. Before, judging by the price of the token you should have been able to get between $150-$200 after 12-13 months of regular searches. "If you use this service for the next 11 years you will have earned $30!" Presearch大约需要…...

Open3D(C++) OTSU点云二值化

目录 一、算法原理二、代码实现三、结果展示1、原始点云2、二值化本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 最大类间方差法(Between-class scatter method)是一种用于分割的方法,它通过计算图…...

浔川python社获得全网博主原力月度排名泸州地区第二名!

今日&#xff0c;浔川python社在查看全网博主原力月度排名泸州地区时&#xff0c;一看就震惊啦&#xff01; 全网博主原力月度排名泸州地区排名榜单 全网博主原力月度排名泸州地区第二名为&#xff1a;浔川python社。 感谢粉丝们的支持&#xff01;浔川python社还会继续努力&a…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...