07. STP的基本配置
文章目录
- 一. 初识STP
- 1.1. STP概述
- 1.2. STP的出现
- 1.3. STP的作用
- 1.4. STP的专业术语
- 1.5. BPDU的报文格式
- 1.6. STP的选择原则
- (1)选择根桥网桥原则
- (2)选择根端口原则
- 1.7. 端口状态
- 1.8. STP报文类型
- 1.9. STP的收敛时间
- 二. 实验专题
- 2.1. 实验1:STP的基本配置
- 2.1.1. 实验目的
- 2.1.2. 实验拓扑图
- 2.1.3. 实验步骤
- (1)在交换机开启STP
- (2)查看STP生成数的状态信息
- (3)查看各交换机生成数的状态信息
- 2.1.4. 实验调试
- (1)更变交换机优先级
- (2)查看交换机生成树状态信息
- 2.2. 实验2:修改STP的Cost
- 2.2.1. 实验目的
- 2.2.2. 实验拓扑图
- 2.2.3. 实验步骤
- (1)开启所有交换机的STP
- (2)查看交换机生成树状态信息
- 2.2.4. 实验调试
- 三. 本章命令汇总
一. 初识STP
1.1. STP概述
STP(生成数协议)是一个用于在局域网中消除环路的协议,他的标准是IEEE802.1d。
STP通过强制使部分冗余链路处于阻塞状态,其它链路处于转发状态,将环形网络结构修剪成无环路的树形网络结构。
可实现消除环路,当处于转发状态的链路不可用时,STP重新配置网络,并激活合适的备用链路状态,恢复网络连通性
1.2. STP的出现
以太网交换网络中,为了进行链路备份,提高网络可靠性,通常会使用冗余链路。
但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及Mac地址表不稳定等故障现象,从而导致用户通信质量较差甚至通信中断。
为解决交换网络中的环路问题,提出了STP。
1.3. STP的作用
解决二层环路,二层环路具体表现为广播风暴、Mac地址表不稳定和多帧复制
1.4. STP的专业术语
| 术语名称 | 描述 |
|---|---|
| 桥ID | IEEE802.1d标准中规定BID由16位的桥优先级(默认位32768) |
| Cost | 每一个激活了STP的接口都维护了一个Cost,接口的Cost主要用于计算跟路径开销,也就是到达根的开销 |
| 根路径开销 | 一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有路入方向接口的Cost累加 |
| 接口ID | 接口ID由两部分构成,高4位是接口优先级(默认为128) 低12位是接口编号 |
| BPDU(网桥协议数据单元) | STP交换机之间会相互BPDU报文,这些BPDU报文携带着一些重要信息,正是基于这些信息,STP才能够顺利工作 |
1.5. BPDU的报文格式
| 报文名称 | 描述 |
|---|---|
| PID | 协议ID,对于STP而言,该字段的值总为0 |
| PVI | 协议版本ID,为0代表STP。为2代表RSTP,为3代表MSTP |
| BPDU Type | 指示本 BPDU的类型,若值为0x00,则表示本报文是配置BPDU报文;若值为0x80,则是TCN BPDU报文 |
| Flags | 标志。STP只使用了该字段的最高及最低的两位数。最低位是TC(拓扑变更)标志,最高位是TCA(拓扑变更确认标志)标志。 |
| Root ID | 根网桥的桥ID |
| RPC | 跟路径开销,到达根桥的STP Cost |
| Bridge ID | BPDU发送网桥的ID |
| port ID | 发送网桥的接口ID(优先级+接口号) |
| Message Age | 消息寿命。从根网桥发送BPDU之后的秒数每经过一个网桥都加1,所以它本质上是到达根网桥的跳数 |
| Max Age | 最大寿命。当一段时间未收到任何BPDU生存期到达最大寿命时,网桥认为该接口连接的链路发生故障,默认为20S |
| Hello Time | 根网桥连续发送的BPDU之间的时间间隔,默认为2S |
| Forward Delay | 转发延迟,在侦听和学习状态所停留的时间间隔,默认为15S |
1.6. STP的选择原则
(1)选择根桥网桥原则
| 原则场景 | 描述 |
|---|---|
| 比较优先级 | (默认为32768)数值越小越优 |
| 优先级相同 | 比较MAC地址,数值越小越优 |
(2)选择根端口原则
| 项目 | Value |
|---|---|
| 根路开销 | 比较到达根桥网的跟路径开销RPC优先,RP是小的 |
| 网桥id | 比较端口所在的交换机的桥网ID优先,桥网ID小的 |
| 端口id | 比较本地端口的端口ID优先,端口ID小的 |
1.7. 端口状态
| 端口状态 | 描述 |
|---|---|
| 禁用(disabled) | 该接口不能收发BPDU,也不能收发业务数据帧,如接口状态为down时 |
| 阻塞(Blocking) | 该接口被STP阻塞,处于阻塞状态的接口不能发送BPDU,但是会持续侦听BPDU,而且不能收发业务数据帧,也不会进行Mac地址学习 |
| 侦听(Listening) | 当接口处于该状态时,表明STP初步认定该接口为根接口或指定接口,但接口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业务数据帧,也不会进行Mac地址学习 |
| 学习(Learning) | 当接口处于该状态时,会侦听业务数据帧(但是不能转发业务数据帧),并且在收到业务数据帧后进行Mac地址学习 |
| 转发(Forwarding) | 处于该状态的接口可以正常的收发业务数据帧,也会进行BPDU处理。接口的角色必须是根接口或指定接口才能进入转发状态 |
1.8. STP报文类型
| 报文类型 | 描述 |
|---|---|
| 配置BPDU | BPDU类型的值被设置为0x00。其主要作用 |
| TCN BPDU | TCN BPDU类型的值被设置为 0x80作用是通告网络中的拓扑发生了变化 |
说明一下,配置BPDU的用途
- 用于
选举根网桥及端口角色; - 根桥每
2s发送一次配置BPDU报文,用于维护端口状态; - 用于确认收到的
TCN BPDU报文。
1.9. STP的收敛时间
- 端口状态从
Blocking状态迁移Forwarding状至少要两-倍的Forward Delay(15s) 直连链路发生故障,重新收敛需要30s;非直连链路发生故障,重新收敛需要50s;
二. 实验专题
2.1. 实验1:STP的基本配置
2.1.1. 实验目的
- 掌握修改交换机STP 模式的方法
- 掌握修改桥优先级、控制根桥选举的方法
- 掌握修改端口优先级、控制根端口和指定端口选举的方法
2.1.2. 实验拓扑图

2.1.3. 实验步骤
(1)在交换机开启STP
1)配置LSW1,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW1
#STP的模式为STP,默认为MSTP
[LSW1]stp mode stp
如图所示:

2)配置LSW2,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW2
#STP的模式为STP,默认为MSTP
[LSW2]stp mode stp
如图所示:

3)配置LSW3,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW3
#STP的模式为STP,默认为MSTP
[LSW3]stp mode stp
如图所示:

(2)查看STP生成数的状态信息
#在交换机LSW1查看stp信息
[LSW1]display stp
如图所示:

(3)查看各交换机生成数的状态信息
#查看LSW1交换机生成数的状态信息
[LSW1]display stp brief
#查看LSW2交换机生成数的状态信息
[LSW2]display stp brief
#查看LSW3交换机生成数的状态信息
[LSW3]display stp brief
如图所示:



以上输出结果表明端口的角色、状态以及保护功能。
| 项目 | Value |
|---|---|
| Role | 该端口在STP的端口角色。ROOT 为根端口,ALTE 为预备端口,DESI为指定端口; |
| STP State | 该端口在 STP 的端口状态。FORWARDING 为转发状态,DISCARDING 为阻塞状态,LISTENING 为侦听状态,LEARNING 为学习状态 |
| Protection | 该端口开启的保护功能,NONE 表示没有开启。 |
综合根网桥ID 信息以及各个交换机上的端口信息,可得到当前拓扑,如图所示:

2.1.4. 实验调试
(1)更变交换机优先级
把LSW1的优先级改成0,把LSW3的优先级改成4096
1)配置LSW1,命令如下:
<LSW1>system-view
#把LSW1变成主根网桥
[LSW1]stp root primary
如图所示:

stp root primary命令的作用是把交换机的优先级设置为0,相当于stp priority 0 命令
2)配置LSW3,命令如下:
<LSW3>system-view
#把LSW3变成备用根网桥
[LSW3]stp root secondary
如图所示:

(2)查看交换机生成树状态信息
# 查看交换机LSW2上生成树的状态信息摘要
[LSW3]display stp brief
如图所示:

综合,根网桥id信息以及各个交换机上的端口信息,可得到当前拓扑,如图所示:

2.2. 实验2:修改STP的Cost
2.2.1. 实验目的
学会通过端口的Cost(开销)来控制端口角色以及端口状态
2.2.2. 实验拓扑图

2.2.3. 实验步骤
(1)开启所有交换机的STP
1)LSW1的配置,命令如下:
#开启所有交换机的STP,并把LSW1的优先级设置为0
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW1
[LSW1]stp mode stp
[LSW1]stp priority 0
如图所示:

2)LSW2的配置,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW2
[LSW2]stp mode stp
如图所示:

3)LSW3的配置,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW3
[LSW3]stp mode stp
如图所示:

4)LSW4的配置,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW4
[LSW4]stp mode stp
如图所示:

(2)查看交换机生成树状态信息
#查看LSW1交换机生成数的状态信息
[LSW1]display stp brief
#查看LSW2交换机生成数的状态信息
[LSW2]display stp brief
#查看LSW3交换机生成数的状态信息
[LSW3]display stp brief
#查看LSW4交换机生成数的状态信息
[LSW4]display stp brief
如图所示:




综合,根网桥id信息以及各个交换机上的端口信息,可得到当前拓扑,如图所示:

2.2.4. 实验调试
#1. 修改LSW4的G0/0/5接口的Cost为1,命令如下:
[LSW4]interface g0/0/5
[LSW4-GigabitEthernet0/0/5]stp cost 1#2. 查看交换机LSW4上生成树的状态信息摘要,命令如下:
[LSW4-GigabitEthernet0/0/5]display stp brief
如图所示:

通过以上输出结果发现 G0/0/4 接口被阻塞了
三. 本章命令汇总
| 命令 | 作用 |
|---|---|
| stp enable | 开启STP |
| stp mode stp | STP的模型为IEEE802.1d |
| stp priority 0 | 修改设置STP的优先级为0 |
| display stp brief | 查看STP接口的状态信息摘要 |
| stp cost 1 | 修改STP接口的开销为1 |
相关文章:
07. STP的基本配置
文章目录 一. 初识STP1.1. STP概述1.2. STP的出现1.3. STP的作用1.4. STP的专业术语1.5. BPDU的报文格式1.6. STP的选择原则(1)选择根桥网桥原则(2)选择根端口原则 1.7. 端口状态1.8. STP报文类型1.9. STP的收敛时间 二. 实验专题…...
oracle分区范围修改与数据迁移处理
背景 由于对应用上线后流量越来越大,原来的按年自动分区性能跟不上,因此决定改成按月自动分区,同时将原有分区数据重新迁移到新的分区 步骤 修改表分区为一个月一个分区 alter table my_table set INTERVAL (NUMTOYMINTERVAL(1, month));…...
回归预测 | Matlab实现CPO-LSSVM【24年新算法】冠豪猪优化最小二乘支持向量机多变量回归预测
回归预测 | Matlab实现CPO-LSSVM【24年新算法】冠豪猪优化最小二乘支持向量机多变量回归预测 目录 回归预测 | Matlab实现CPO-LSSVM【24年新算法】冠豪猪优化最小二乘支持向量机多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CPO-LSSVM【24年…...
SeaTunnel Web安装 一把成
安装相关jar包,以及SeaTunnel 和Web 打成的包,可以直接使用,但是需要安装MySQL客户端的分享: 链接:https://pan.baidu.com/s/1qrt1RAX38SgIpNklbQJ7pA 提取码:0kmf 1. 环境准备 环境名称版本系统环境C…...
对话泛能网程路:能源产业互联网,行至中程
泛能网的能源产业互联网的标杆价值还不仅于此。其在产业互联之外,也更大的特殊性在于其也更在成为整个碳市场的“辅助运营商”,包括电力、碳等一系列被泛能网帮助企业改造和沉淀的要素资产,都在构成着碳交易市场的未来底层。 这恰是产业互联…...
Doris简介及单机部署(超详细)
文章目录 一、Doris简介1、Doris介绍2、Doris架构 二、Doris单机部署(Centos7.9)1、下载Doris2、准备环境3、安装部署3.1 创建存储目录3.2 配置 FE3.3 启动 FE3.4 查看 FE 运行状态3.5 配置 BE3.6 启动 BE3.7 添加 BE 节点到集群3.8 查看 BE 运行状态3.9…...
Pytest 识别case规则
一、Python测试框架,主要特点有以下几点: 简单灵活,容易上手;支持参数化;能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytestrequests…...
gorm+mysql查询/修改json列相关操作汇总
目录 具体操作 1,查询JSON段落指定key的值是否有等于value的 或 指定keyvalue的数据记录 2,查询JSON段落中price>19的记录 3,查询JSON段中key为k0的记录 4、JSON段落中提取指定键值对到指定结构 5,查询JSON数组是否包含…...
CMake-Cookbook 第0章 配置环境
文章目录 第0章 配置环境0.1 获取代码0.2 Docker镜像0.3 安装必要的软件0.3.1 获取CMake0.3.2 编译器0.3.3 自动化构建工具0.3.4 Python0.3.5 依赖软件0.3.5.1 BLAS和LAPACk0.3.5.2 消息传递接口(MPI)0.3.5.3 线性代数模板库0.3.5.4 Boost库0.3.5.5 交叉编译器0.3.5.6 ZeroMQ, …...
优质硬盘检测工具SMART Utility,保障您的Mac数据安全
在日常使用Mac电脑的过程中,我们经常会存储大量的重要数据,如照片、文档、视频等。然而,硬盘故障却是一件令人头疼的事情,可能会导致数据丢失、系统崩溃等严重后果。为了保障您的数据安全,我们推荐一款专业的硬盘检测工…...
Spring: alibaba代码规范校验工具checkstyle
文章目录 一、idea配置checkstyle插件二、激活CheckStyle三、配置自动格式化功能四、使用代码格式化 一、idea配置checkstyle插件 下载 Intellij IDEA Checkstyle 插件:File -> setting -> plugin通过关键字CheckStyle-IDEA搜索并安装。 安裝完成后重启idea…...
c++线程thread示例
本文章记录c创建线程,启动线程和结束线程的代码。 需要注意,编译时需要添加-lpthread依赖。 代码: ThreadTest.h #ifndef TEST_THREAD_TEST_H #define TEST_THREAD_TEST_H#include <thread> #include <mutex>class ThreadTes…...
Compose | UI组件(十一) | Spacer - 留白
文章目录 前言Spacer组件的参数说明Spacer组件的使用 总结 前言 Spacer组件是让两组件之间留有空白间隔 Spacer组件的参数说明 Spacer只有一个修饰符,修饰留空白的大小和比例,颜色 Spacer(modifier: Modifier)Spacer组件的使用 Row {Box(modifier M…...
PyTorch的nn.Module类的详细介绍
在PyTorch中,nn.Module 类是构建神经网络模型的基础类,所有自定义的层、模块或整个神经网络架构都需要继承自这个类。nn.Module 类提供了一系列属性和方法用于管理网络的结构和训练过程中的计算。 1. PyTorch中nn.Module基类的定义 在PyTorch中ÿ…...
python使用activemq库ActiveMQClient类的连接activemq并订阅、发送和接收消息
引入activemq模块:from activemq import ActiveMQClient from activemq import ActiveMQClient 是一个Python的导入语句,它从activemq模块中导入了ActiveMQClient类。 解释一下各个部分: from activemq: 这表示我们正在从一个名为activemq…...
【Flutter 面试题】Dart是什么?Dart和Flutter有什么关系?
【Flutter 面试题】Dart是什么?Dart和Flutter有什么关系? 文章目录 写在前面Dart是什么Dart和Flutter有什么关系? 写在前面 👏🏻 正在学 Flutter 的同学,你好! 😊 本专栏是解决 Fl…...
前后台分离跨域交互
后台处理跨域 安装插件 >: pip install django-cors-headers插件参考地址:https://github.com/ottoyiu/django-cors-headers/项目配置:dev.py # 注册app INSTALLED_APPS [...corsheaders, ]# 添加中间件 MIDDLEWARE [...corsheaders.middleware.…...
React16源码: React中处理LegacyContext相关的源码实现
LegacyContext 老的 contextAPI 也就是我们使用 childContextTypes 这种声明方式来从父节点为它的子树提供 context 内容的这么一种方式遗留的contextAPI 在 react 17 被彻底移除了,就无法使用了那么为什么要彻底移除这个contextAPI的使用方式呢?因为它…...
Boost.Test资源及示例
Note:boost_1_84_0的动态连接库资源链接 1.代码组织如下图: 2.包括程序入口的代码文件 示例: // M24.01.MyTestModule.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #define BOOST_TEST_MODULE MYTESTMODULE #def…...
数据结构二叉树
二叉树是数据结构中的一个基本概念,它是每个节点最多有两个子节点的树结构。在二叉树中,每个节点通常有两个指针,分别指向左子节点和右子节点。 数据结构定义 在二叉树的节点中,通常包含以下信息: 数据域࿱…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
