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

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的专业术语

术语名称描述
桥IDIEEE802.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 IDBPDU发送网桥的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报文类型

报文类型描述
配置BPDUBPDU类型的值被设置为0x00。其主要作用
TCN BPDUTCN 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 stpSTP的模型为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的选择原则&#xff08;1&#xff09;选择根桥网桥原则&#xff08;2&#xff09;选择根端口原则 1.7. 端口状态1.8. STP报文类型1.9. STP的收敛时间 二. 实验专题…...

oracle分区范围修改与数据迁移处理

背景 由于对应用上线后流量越来越大&#xff0c;原来的按年自动分区性能跟不上&#xff0c;因此决定改成按月自动分区&#xff0c;同时将原有分区数据重新迁移到新的分区 步骤 修改表分区为一个月一个分区 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包&#xff0c;以及SeaTunnel 和Web 打成的包&#xff0c;可以直接使用&#xff0c;但是需要安装MySQL客户端的分享&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1qrt1RAX38SgIpNklbQJ7pA 提取码&#xff1a;0kmf 1. 环境准备 环境名称版本系统环境C…...

对话泛能网程路:能源产业互联网,行至中程

泛能网的能源产业互联网的标杆价值还不仅于此。其在产业互联之外&#xff0c;也更大的特殊性在于其也更在成为整个碳市场的“辅助运营商”&#xff0c;包括电力、碳等一系列被泛能网帮助企业改造和沉淀的要素资产&#xff0c;都在构成着碳交易市场的未来底层。 这恰是产业互联…...

Doris简介及单机部署(超详细)

文章目录 一、Doris简介1、Doris介绍2、Doris架构 二、Doris单机部署&#xff08;Centos7.9&#xff09;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测试框架&#xff0c;主要特点有以下几点&#xff1a; 简单灵活&#xff0c;容易上手&#xff1b;支持参数化&#xff1b;能够支持简单的单元测试和复杂的功能测试&#xff0c;还可以用来做selenium/appnium等自动化测试、接口自动化测试&#xff08;pytestrequests…...

gorm+mysql查询/修改json列相关操作汇总

目录 具体操作 1&#xff0c;查询JSON段落指定key的值是否有等于value的 或 指定keyvalue的数据记录 2&#xff0c;查询JSON段落中price>19的记录 3&#xff0c;查询JSON段中key为k0的记录 4、JSON段落中提取指定键值对到指定结构 5&#xff0c;查询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电脑的过程中&#xff0c;我们经常会存储大量的重要数据&#xff0c;如照片、文档、视频等。然而&#xff0c;硬盘故障却是一件令人头疼的事情&#xff0c;可能会导致数据丢失、系统崩溃等严重后果。为了保障您的数据安全&#xff0c;我们推荐一款专业的硬盘检测工…...

Spring: alibaba代码规范校验工具checkstyle

文章目录 一、idea配置checkstyle插件二、激活CheckStyle三、配置自动格式化功能四、使用代码格式化 一、idea配置checkstyle插件 下载 Intellij IDEA Checkstyle 插件&#xff1a;File -> setting -> plugin通过关键字CheckStyle-IDEA搜索并安装。 安裝完成后重启idea…...

c++线程thread示例

本文章记录c创建线程&#xff0c;启动线程和结束线程的代码。 需要注意&#xff0c;编译时需要添加-lpthread依赖。 代码&#xff1a; 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只有一个修饰符&#xff0c;修饰留空白的大小和比例&#xff0c;颜色 Spacer(modifier: Modifier)Spacer组件的使用 Row {Box(modifier M…...

PyTorch的nn.Module类的详细介绍

在PyTorch中&#xff0c;nn.Module 类是构建神经网络模型的基础类&#xff0c;所有自定义的层、模块或整个神经网络架构都需要继承自这个类。nn.Module 类提供了一系列属性和方法用于管理网络的结构和训练过程中的计算。 1. PyTorch中nn.Module基类的定义 在PyTorch中&#xff…...

python使用activemq库ActiveMQClient类的连接activemq并订阅、发送和接收消息

引入activemq模块&#xff1a;from activemq import ActiveMQClient from activemq import ActiveMQClient 是一个Python的导入语句&#xff0c;它从activemq模块中导入了ActiveMQClient类。 解释一下各个部分&#xff1a; from activemq: 这表示我们正在从一个名为activemq…...

【Flutter 面试题】Dart是什么?Dart和Flutter有什么关系?

【Flutter 面试题】Dart是什么&#xff1f;Dart和Flutter有什么关系&#xff1f; 文章目录 写在前面Dart是什么Dart和Flutter有什么关系&#xff1f; 写在前面 &#x1f44f;&#x1f3fb; 正在学 Flutter 的同学&#xff0c;你好&#xff01; &#x1f60a; 本专栏是解决 Fl…...

前后台分离跨域交互

后台处理跨域 安装插件 >: pip install django-cors-headers插件参考地址&#xff1a;https://github.com/ottoyiu/django-cors-headers/项目配置&#xff1a;dev.py # 注册app INSTALLED_APPS [...corsheaders, ]# 添加中间件 MIDDLEWARE [...corsheaders.middleware.…...

React16源码: React中处理LegacyContext相关的源码实现

LegacyContext 老的 contextAPI 也就是我们使用 childContextTypes 这种声明方式来从父节点为它的子树提供 context 内容的这么一种方式遗留的contextAPI 在 react 17 被彻底移除了&#xff0c;就无法使用了那么为什么要彻底移除这个contextAPI的使用方式呢&#xff1f;因为它…...

Boost.Test资源及示例

Note&#xff1a;boost_1_84_0的动态连接库资源链接 1.代码组织如下图&#xff1a; 2.包括程序入口的代码文件 示例&#xff1a; // M24.01.MyTestModule.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #define BOOST_TEST_MODULE MYTESTMODULE #def…...

数据结构二叉树

二叉树是数据结构中的一个基本概念&#xff0c;它是每个节点最多有两个子节点的树结构。在二叉树中&#xff0c;每个节点通常有两个指针&#xff0c;分别指向左子节点和右子节点。 数据结构定义 在二叉树的节点中&#xff0c;通常包含以下信息&#xff1a; 数据域&#xff1…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备&#xff0c;并且图标都没了 错误案例 往上一顿搜索&#xff0c;试了很多博客都不行&#xff0c;比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动&#xff0c;重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染&#xff08;SSR&#xff09;与静态网站生成&#xff08;SSG&#xff09; 框架&#xff0c;由 Vercel 开发。它简化了构建生产级 React 应用的过程&#xff0c;并内置了很多特性&#xff1a; ✅ 文件系…...

CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx

“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网&#xff08;IIoT&#xff09;场景中&#xff0c;结合 DDS&#xff08;Data Distribution Service&#xff09; 和 Rx&#xff08;Reactive Extensions&#xff09; 技术&#xff0c;实现 …...