华为---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用户使用,该用户仅能…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
