华为---RSTP(四)---RSTP的保护功能简介和示例配置
目录
1. 技术背景
2. RSTP的保护功能
3. BPDU保护机制原理和配置命令
3.1 BPDU保护机制原理
3.2 BPDU保护机制配置命令
3.3 BPDU保护机制配置步骤
4. 根保护机制原理和配置命令
4.1 根保护机制原理
4.2 根保护机制配置命令
4.3 根保护机制配置步骤
5. 环路保护机制原理和配置命令
5.1 环路保护机制原理
5.2 环路保护机制配置命令
5.3 环路保护机制配置步骤
6. TC保护机制原理和配置命令
6.1 TC保护机制原理
6.2 TC保护机制配置命令
6.3 TC保护机制配置步骤
7. 基本配置示例
7.1 示例要求
7.2 网络拓扑图
7.3 基本配置
7.4 BPDU保护配置和验证
7.5 根保护配置和验证
7.6 环路保护配置
7.7 TC保护配置
1. 技术背景
为了更好的保证RSTP协议在网络不稳定的情况下,尽可能的保证流量的正常转发,在标准协议中新增了4种保护功能。
2. RSTP的保护功能
保护机制 | 应用端口 | 作用 |
BPDU保护 | 边缘端口 | 边缘端口收到BPDU后,把边缘端口shutdown。 |
根保护 | 指定端口 | 一旦收到更优的BPDU,把端口进入Discarding。 |
环路保护 | 根端口或 预备端口 | 如果根端口或预备端口长时间收不到来自上游设备的BPDU报文时,端口会进入Discarding状态,角色切换为指定端口,不转发报文,从而不会在网络中形成环路。 |
TC保护 | 全局 | 在单位时间内,只处理指定次数的TC BPDU报文。 |
3. BPDU保护机制原理和配置命令
3.1 BPDU保护机制原理
3.2 BPDU保护机制配置命令
命令 | 说明 |
stp bpdu-protection | 开启交换设备边缘端口的BPDU保护功能 |
error-down auto-recovery cause bpdu-protection interval 30 | 配置错误关闭自动恢复时间,默认关闭 |
display error-down recovery | 验证错误关闭自动恢复 |
3.3 BPDU保护机制配置步骤
- 执行命令system-view,进入系统视图。
- 执行命令stp bpdu-protection,配置交换设备边缘端口的BPDU保护功能。
BPDU保护机制为什么是在系统模式下配置的?
如果交换机配置了边缘端口, 交换机系统能够自动检测到哪些端口是边缘端口。
缺省情况下,交换设备的BPDU保护功能处于禁用状态。
如果用户希望被error-down的边缘端口可自动恢复,可通过配置使能端口自动恢复功能,并设置延迟时间,即在系统视图下执行命令error-down auto-recovery cause bpdu-protection interval interval-value,使能端口自动恢复为Up的功能,并设置端口自动恢复为Up的延时时间。使被关闭的端口经过延时时间后能够自动恢复。配置时需要注意:
- 缺省情况下,未使能处于error-down状态的端口状态自动恢复为Up的功能,所以没有缺省延迟时间值。当用户配置该命令时,必须指定恢复延迟时间。
- 取值越小表示端口的管理状态自动恢复为Up的延迟时间越短,端口Up/Down状态震荡频率越高。
- 取值越大表示端口的管理状态自动恢复为Up的延迟时间越长,端口流量中断时间越长。
- 自动恢复仅对配置error-down auto-recovery命令之后发生error-down的端口有效,对配置此命令之前已经error-down的端口不生效。
4. 根保护机制原理和配置命令
4.1 根保护机制原理
4.2 根保护机制配置命令
命令 | 说明 |
stp root-protection | 开启交换设备的Root保护功能,只在指定端口上生效。 |
4.3 根保护机制配置步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入参与生成树协议计算的接口视图。
- 执行命令stp root-protection,配置交换设备的Root保护功能。
缺省情况下,端口的Root保护功能处于去使能状态。当端口的角色是指定端口时,配置的Root保护功能才生效。配置了根保护的端口,不可以配置环路保护。
5. 环路保护机制原理和配置命令
5.1 环路保护机制原理
环路的产生
在运行RSTP协议的网络中,根端口和其他阻塞端口状态是依靠不断接收来自上游交换设备的BPDU维持。当由于链路拥塞或者单向链路故障导致这些端口收不到来自上游交换设备的BPDU时,交换设备会重新选择根端口。原先的根端口会转变为指定端口,而原先的阻塞端口会迁移到转发状态,从而造成交换网络中可能产生环路。为了防止以上情况发生,可部署环路保护功能。
环路保护机制
在启动了环路保护功能后,如果根端口或Alternate端口长时间收不到来自上游设备的BPDU报文时,则向网管发出通知信息(此时根端口会进入Discarding状态,角色切换为指定端口),而Alternate端口则会一直保持在阻塞状态(角色也会切换为指定端口),不转发报文,从而不会在网络中形成环路。直到链路不再拥塞或单向链路故障恢复,端口重新收到BPDU报文进行协商,并恢复到链路拥塞或者单向链路故障前的角色和状态。
配置了环路保护的端口,当接收不到上游设备发送的BPDU报文时,环路保护生效。如果该端口参与了STP计算,则不论其角色如何,该端口在所有实例都将处于Discarding状态。
5.2 环路保护机制配置命令
命 令 | 说 明 |
stp loop-protection | 开启端口环路保护功能。 |
5.3 环路保护机制配置步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入参与生成树协议计算的接口视图。
- 执行命令stp loop-protection,配置交换设备根端口或Alternate端口的环路保护功能。
缺省情况下,端口的环路保护功能处于关闭状态。
由于Alternate端口是根端口的备份端口,如果交换设备上有Alternate端口,需要在根端口和Alternate端口上同时配置环路保护。
配置了根保护的端口,不可以配置环路保护。
6. TC保护机制原理和配置命令
6.1 TC保护机制原理
6.2 TC保护机制配置命令
命令 | 说明 |
stp tc-protection | 开启TC保护功能。 |
stp tc-protection interval 10 | 配置TC保护处理阈值所需的时间,默认为2。 |
stp tc-protection threshold 5 | 配置TC保护阀值,默认为1。 |
6.3 TC保护机制配置步骤
- 执行命令system-view,进入系统视图。
- 执行命令stp tc-protection threshold threshold,配置交换设备在收到TC类型BPDU报文后,单位时间内,处理TC类型BPDU报文并立即刷新转发表项的阈值。
单位时间通过执行命令stp tc-protection interval进行配置。
7. 基本配置示例
7.1 示例要求
开启交换设备边缘端口的BPDU保护功能
7.2 网络拓扑图
7.3 基本配置
<Huawei>system-view -->进入系统视图界面
[Huawei]sysname SW1 -->设置交换机名为SW1
[SW1]stp mode rstp -->设置STP模式为RSTP
其他交换机和SW1交换机配置一样。
7.4 BPDU保护配置和验证
如上图所示,进行如下操作:①先不开启SW5交换机,②设置SW3交换机Ethernet 0/0/3端口为边缘端口[SW3-Ethernet0/0/3]stp edged-port enable ,③开启SW3交换机边缘端口BPDU保护功能[SW3]stp bpdu-protection ,④开启SW5交换机,⑥查看SW3交换机Ethernet 0/0/3端口是否会down掉。
此边缘端口Ethernet0/0/3启用BPDU保护将关闭,因为它收到BPDU数据包!
SW3交换机Ethernet 0/0/3端口收到来自SW5交换机的BPDU后直接down掉,边缘端口Ethernet0/0/3启用BPDU保护成功。
配置bpdu保护导致错误关闭自动恢复间隔30秒[SW3]error-down auto-recovery cause bpdu-protection interval 30 。
[SW3]display error-down recovery验证错误关闭自动恢复命令要在配置error-down auto-recovery cause bpdu-protection interval 30命令之后才能生效。
7.5 根保护配置和验证
如上图所示,进行如下操作:①SW1交换机为根交换机(优先级配置为4096[SW1]stp priority 4096),②不接入SW5交换机,③查看SW3交换机STP端口状态信息。
④接入SW5交换机后,查看根交换机是谁?
⑤SW5交换机优先级设置为0([SW5]stp priority 0),比现根交换机SW1优先级高,查看SW5抢占根交换机是否成功?
⑥在不连接SW5交换机的情况下,在SW3交换机Ethernet 0/0/3端口上配置根保护([SW3-Ethernet0/0/3]stp root-protection ),⑦连接SW5交换机,查看SW5能否抢占为根交换机?
在SW3交换机Ethernet 0/0/3端口上配置根保护后,如果要在此端口下抢占根交换机,SW3交换机Ethernet 0/0/3端口的STP端口状态就会迁移为Discarding状态。
7.6 环路保护配置
在根端口上配置环路保护,当收不到上游设备的BPDU时,根端口(如此示例的SW4交换机Ethernet 0/0/1端口)变为Disdiscarding状态,预备端口(如此示例的SW4交换机Ethernet 0/0/2端口)按照RSTP规则会成为新的根端口,处于Forwarding状态,这样不会导致根端口和预备端口都为Forwarding状态而导致网络环路。
在预备端口上配置环路保护,当收不到上游设备的BPDU时,预备端口(如此示例的SW4交换机Ethernet 0/0/2端口)处于Disdiscarding状态,不会转变为新的根端口,根端口(如此示例的SW4交换机Ethernet 0/0/1端口)按照RSTP规则进行P/协商,这样不会导致根端口和预备端口都为Forwarding状态而导致网络环路。
在根端口和预备端口都配置环路保护,当收不到上游设备的BPDU时,根端口(如此示例的SW4交换机Ethernet 0/0/1端口)变为Disdiscarding状态,预备端口(如此示例的SW4交换机Ethernet 0/0/2端口)处于Disdiscarding状态,不会转变为新的根端口,这样不会导致根端口和预备端口都为Forwarding状态而导致网络环路。
7.7 TC保护配置
[SW1]stp tc-protection
[SW1]stp tc-protection threshold ?
INTEGER<1-255> The threshold of TC-BPDU protection, default is 1---TC-BPDU保护的阈值,默认为1
相关文章:

华为---RSTP(四)---RSTP的保护功能简介和示例配置
目录 1. 技术背景 2. RSTP的保护功能 3. BPDU保护机制原理和配置命令 3.1 BPDU保护机制原理 3.2 BPDU保护机制配置命令 3.3 BPDU保护机制配置步骤 4. 根保护机制原理和配置命令 4.1 根保护机制原理 4.2 根保护机制配置命令 4.3 根保护机制配置步骤 5. 环路保护机…...
Android基础控件介绍
在Android应用程序开发中,使用基础控件是非常常见的。这些控件允许您在用户界面中显示文本、图像、按钮等元素,以及接收用户输入。本文将介绍几种常见的基础控件,并给出每个控件在示例XML中使用的属性的详细说明。 1. TextView TextView 是…...

【总结】Maxwell学习笔记
1.Maxwell简介 Maxwell 是一款用Java编写的MySQL变更数据抓取软件,它会实时监控Mysql数据库的数据变更操作(包括insert、update、delete),并将变更数据以 JSON 格式发送给 Kafka、Kinesi等流数据处理平台 官网地址:M…...
AFL fork server和fuzzer的交互
看了一些博客,都是在说fuzzer和fork server进行交互,由fork server fork出子进程来执行程序,但是不太明白这两者到底是如何在代码层面进行交互的。 run_target中有这么一段代码,大概意思是fuzzer给fork server传递prev_timed_out…...

Java SE:多线程(Thread)
1. 线程两个基本概念 并发:即线程交替运行多个指令并行:即多个线程同时运行指令 并发并行不矛盾,两者可同时发生,即多个线程交替运行指令 2. 多线程3种实现方式 2.1 直接创建线程对象 /*** 方式1:* 1. 创建thread类的…...

你敢信?软件测试万能面试脚本他来了?
写在前面: 过春节了,四舍五入接下来马上要年底了,新一波的跳槽旺季马上来临,不知道你是不是已经安于现状,还是蓄势待发呢?最近我和我的哈皮群友们一顿讨论,拟写了大家可能会遇到的面试情况&…...
C++/Python简单练手题
前言 最近需要开始使用python,但是对python了解的并不多,于是先从很早之前刚学C时写过的一些练手题开始,使用python来实现相同的功能,在温习python基础语法的同时,也一起来感受感受python的魅力 99乘法表 c…...

视频在线压缩
video2edit 一款免费的在线视频编辑软件,可以进行视频合并、视频剪辑、视频压缩以及转换视频格式等。 链接地址:在线视频编辑器和转换器 - 编辑,转换和压缩视频文件 打开视频压缩页面,上传想要压缩视频,支持MP4&…...

Python列表的合并、重复、判断与切片操作你学会了吗
1.合并列表 通过 实现 list1 ["佛跳墙", "肠粉", "刀削面", "烤鸭"]list2 [32, 4, 5, 7.43, True]list3 list1 list2print(list3) # [佛跳墙, 肠粉, 刀削面, 烤鸭, 32, 4, 5, 7.43, True] 2.重复输出列表中的元素 通过 * 实…...

Vue(3.3.4)+three.js(0.161.0)实现3D可视化地图
一.前言 由于最近在学习three.js,所以观摩了一下掘金,csdn等网站上的有关这部分的内容,刚好看到一个带你入门three.js——从0到1实现一个3d可视化地图 - 掘金 (juejin.cn),再加上我的专业属性是地理相关,可以说是专业对口…...

瑞吉苍穹外卖如何拓展?已经经过不同公司多轮面试。项目中会问到哪些问题?以及问题如何解决?
别催了,别催了,先收藏吧。 作者大大正在加班加点完成。 文章会尽快发布,关注收藏,尽请期待。 想要加入并查阅作者的知识库可以联系作者 不要白嫖,通过后,附上关注和收藏截图。 已有众多小伙伴加入 目前…...

动态内存分配
目录 存在动态内存分配的原因动态内存函数mallocfreecallocrealloc 常见的动态内存错误C/C程序的内存开辟柔性数组柔性数组的特点柔性数组的使用柔性数组的优势 存在动态内存分配的原因 内存开辟方式,例如: int val 20;在栈空间上开辟四个字节 char arr[10] { 0 …...

【C语言】常见的动态内存管理错误
前言 上一篇介绍了C语言中 动态内存管理函数,本片讲解的是 在我们使用动态内存管理时 常见的错误,一起来看看吧~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 1.对NULL指针的解引⽤操作 错…...

数据结构之二叉树的精讲
𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…...

ETL是什么
一、ETL概念 ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库ÿ…...

华为配置WLAN高密业务示例
配置WLAN高密业务示例 组网图形 图1 配置高密WLAN环境网络部署组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 体育场由于需要接入用户数量很大,AP间部署距离较小,因此AP间的干扰较大,可能导致用户上网网…...

C++——类和对象(1)
1. 类 我们之前提及过C语言是面向过程的语言,其解决问题的方式是关注问题过程,然后逐步解决。而C是面向对象编程,聚焦于对象,依靠多个对象之间的交互关系解决问题。而类这个概念的引入则是面向对象的最深刻体现。 1.1 C中的结构体…...

vue+element ui上传图片到七牛云服务器
本来打算做一个全部都是前端完成的资源上传到七牛云的demo,但是需要获取token,经历了九九八十一难,最终还是选择放弃,token从后端获取(springboot)。如果你们有前端直接能解决的麻烦记得私我哦!…...

学不动系列-git-hooks和husky+lintstage
git-hooks 为了保证提交的代码符合规范,可以在上传代码时进行校验。常用husky来协助进行代码提交时的eslint校验。husky是基于git-hooks来实现,在使用husky之前,我们先来研究一下git-hooks。 构建git-hooks测试项目 需要使用git-hooks就需…...
K8S相关小技巧《四》
需求: 我作为Kubernetes的集群管理员,前一段时间有收到一个需求,需要我创建一个受限访问的用户kubeconfig,提供给跳板机的某用户。 该kubeconfig需要在非Kubernetes节点的某跳板机上由指定的非root用户使用,该用户仅能…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...