STP --- 生成树协议

协议信息

配置 BPDU

Protocol identifier:协议标识

Version:协议版本:STP 为 0,RSTP 为 2,MSTP 为 3

type: BPDU 类型

Flag: 标志位

Root ID: 根桥 ID,由两字节的优先级和 6 字节 MAC 地址构成

Root path cost: 根路径开销

Bridge ID: 桥 ID,表示发送 BPDU 的桥的 ID,由 2 字节优先级和 6 字节 MAC 地址构成

Port ID: 端口 ID,标识发出 BPDU 的端口

Message age: BPDU 生存时间

Maximum age: 当前 BPDU 的老化时间,即端口保存 BPDU 的最长时间

Hello time: 根桥发送 BPDU 的周期

Forward delay: 表示在拓扑改变后,交换机在发送数据包前维持在监听和学习状态的时间

通知 BPDU
拓扑变化时使用,通知其他交换机
防止因为拓扑改变导致 MAC 地址表错误

 

STP 通过在交换机间传递配置 BPDU 来选举根交换机,以及确定每个交换机接口的角色和状态
在初始化过程中,每个交换机都主动发送配置 BPDU,其中包含桥 ID、路径开销和接口 ID 等参数
在网络拓扑稳定后,只有跟桥周期性发送配置 BPDU,其他交换机在收到上游传来的配置 BPDU 后才发送自己的配置 BPDU

STP 计算
主要比较 4 个参数进行角色选举:1.根桥 ID、根路径开销、网桥 ID 和接口 ID
1.选举根桥
2.选举根接口
3.选举指定接口
4.阻塞非指定接口

STP 角色与状态

STP 的五种状态

  • 1、失效(disabled) - 该端口只是相应网管消息,并且必须先转到阻塞状态。这种状态可以是由于端口的物理状(如端口物理层没有 up)态导致的,也可能是管理员手工讲端口关闭。
  • 2、 阻塞(blocking) - 处于这个状态的端口不能够参与转发数据报文,但可以接收 BPDU 配置消息,并交给 CPU 处理。不过不能发送配置 BPDU 消息,也不能进行地址学习。
  • 3、监听(listening) - 处于这个状态的端口不参与数据转发,也不进行地址学习,但可以接收并发送 BPDU 配置消息。
  • 4、学习(learning) - 处于这个状态的端口不能转发数据,但是开始地址学习,并可以接收、处理和发送 BPDU 配置消息。
  • 5、转发(forwarding) -一旦端口进入该状态,就可以转发任何数据,同时也进行地址学习和 BPDU 配置消息的接收、处理和发送。

STP 三种角色:

  • 根端口
  • 指定端口
  • 阻塞端口
  • 禁用端口

名词解释

桥 ID:由优先级 +MAC 地址组成(优先级默认为 32768,以 4096 的步长进行增加)

路径开销:每条线路根据自己的带宽会产生一个开销值,带宽越大,开销越小。

根路径开销:本设备到达根桥的开销之和。

端口 ID:端口的优先级 + 端口编号

二层接口模式下配置
S1(config-if-GigabitEthernet 0/10)#spanning-tree bpduguard enable  // 开启BPDU防护
S1(config-if-GigabitEthernet 0/10)#errdisable recovery interval 300
// 恢复时间spanning-tree bpdufilter enable  // 开启后,接口不会收发BPDU

根保护

对于启动根保护的指定端口,其他端口角色只能保持为指定端口。
启用根保护的指定端口收到优先级更高的 RST BPDU 时,端口进入 Discarding 状态,不再转发报文。经过一段时间后(两倍的 Forward Delay 时间),如果端口一直没有收到优先级更高的 RST BPDU 报文,端口才会恢复到转发状态
​stp root-protection ​// 配置在指定端口

环路保护

如果根端口或 Alternate 端口长时间收不到来自上游设备的 BPDU 报文时,向网管发出通知信息(此时,根端口进入 Discarding 状态,角色为指定端口)而 Alternate 端口会一直保持在 Discarding 状态(角色也会切换为指定端口)不转发报文,防止形成环路
知道链路不再堵塞或单向链路故障恢复,端口重新收到 BPDU 报文进行协商,并恢复到链路拥塞或单向链路故障前的角色和状态
​stp loop-protection​ // 在 RP 和 AP 端口配置

防 TC-BPDU 攻击

启用防 TC-BPDU 报文攻击后,可配置在单位时间内,交换设备处理 TC PBDU 报文的次数
如果在单位时间内,收到的 TC BPDU 报文数量大于配置的阈值,只处理阈值内的报文
对于超出阈值的报文,会在定时器到期后统一处理一次,避免频繁的删除 MAC 地址表项,保护设备
​stp tc-oritection threshold 1​ // 全局配置,1s 内指处理一次 TC BPDU 报文

配置命令

[huawei] stp enable

开启生成树协议

 

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/75271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ansible playbook-ansible剧本

一.playbook介绍 便于功能的重复使用 本质上就是文本文件,一般都是以.yml结尾的文本文件。 1.遵循YAML语法 1.要求同级别代码要有相同缩进,建议4个空格。【同级别代码是同一逻辑的代码】 在计算机看来空格和Tob键是两个不同的字符。 2.一个键对应一…

python的基础入门

初识Python 什么是Python Python是1门程序设计语言。在开发者眼里,语言可以分为3类: 自然语言:人能听懂的语言,例如汉语,英语,法语等等。机器语言:机器能听懂的语言,机器只能听懂0…

MD编辑器中的段落缩进怎么操作

在 Markdown(MD)编辑器中,段落的缩进通常可以通过 HTML 空格符、Markdown 列表缩进、代码块缩进等方式 实现。以下是几种常见的段落缩进方法: 1. 使用全角空格 ( ) 在一些 Markdown 编辑器(如 Typora)中&…

8.neo4j图数据库python操作

使用图数据库的原因 图数据库使用neo4j的原因:neo4j使用率高,模板好找,报错能查。 红楼梦人物关系图地址 GraphNavigator neo4j学习手册 https://www.w3cschool.cn/neo4j/neo4j_need_for_graph_databses.html CQL代表的是Cypher查询语言…

[Lc6_记忆化搜索] 扫雷游戏 | 理解 递归vs记忆化搜索vs dp

目录 ⭕1.扫雷游戏 题解 1.记忆化搜索 解法一:递归 解法二:记忆化搜索 解法三:动态规划 ⭕1.扫雷游戏 (暴力模拟) 链接:529. 扫雷游戏 让我们一起来玩扫雷游戏! 给你一个大小为 m x n 二维字符矩阵…

云原生周刊:Kubernetes v1.33 要来了

开源项目推荐 Tekton Tekton 是一个开源的 K8s 原生 CI/CD 系统,它为构建、测试和部署自动化工作流提供了强大而灵活的框架。Tekton 提供了一套标准化的 API 和自定义资源(CRDs),使得开发者能够在 K8s 集群中定义和管理 CI/CD 管…

服务新增节点、迁移笔记

文章目录 基础配置部分基础配置-hosts基础配置-jdk包准备基础配置-jdk环境变量配置基础配置-skywalking包 基础配置-apollo配置。 # 文件夹及配置基础配置-tomcat基础配置-nginx基础配置部分-磁盘挂载(这个也差点漏掉)。 防火墙部分防火墙部分-数据库及脚本防火墙部分-redis防火…

第十一章:Python PIL库-图像处理

一、PIL库简介 PIL(Python Imaging Library)是一个功能强大的图像处理库,它提供了丰富的图像处理功能,包括图像的打开、处理和保存等操作。PIL支持多种图像文件格式,如JPEG、PNG、BMP等,并且可以完成对图像…

【编译、链接与构建详解】Makefile 与 CMakeLists 的作用

【编译、链接与构建详解】Makefile 与 CMakeLists 的作用 前言源代码(.c、.cpp)编译编译的本质编辑的结果编译器(GCC、G、NVCC 等) 目标文件(.o)什么是 .o 目标文件为什么单个 .o 目标文件不能直接执行&…

Ubuntu / Debian 创建快捷方式启动提权

简述 在 Linux 系统中,.desktop 文件是 桌面入口文件,用于在桌面环境(如 GNOME、KDE)中定义应用程序的启动方式、图标、名称等信息。当你执行 touch idea.desktop 时,实际上创建了一个空的 .desktop 文件(…

ISIS报文

IS-IS 报文 目录 IS-IS 报文 一、报文类型与功能 二、报文结构解析 三、核心功能特性 四、典型应用场景 五、抓包数据分析 六、总结 IS-IS(中间系统到中间系统)协议报文是用于链路状态路由协议中网络设备间交换路由信息的关键载体,其设…

beikeshop多商户跨境电商独立站最新版v1.6.0版本源码

一.介绍 beikeshop跨境电商独立站最新版V1.6.0源码 多商户 多商家 多语言 多币结算 本博主亲测搭建代码全开源质量相对来说很稳定的 二.服务器环境 系统:CentOS、 环境:PHP7.4 Nginx 1.21 MySQL 5.6 常见插件:fileinfo ; re…

Redis批量操作详解

一、原生批量命令(MSET) 适用场景:所有键的过期时间相同或无过期设置,且无需条件判断。 方法: 将多个SET命令合并为MSET命令,但需要注意MSET的局限性(无法设置过期时间,且所有键值对…

Spring Boot 集成实战:AI 工具如何自动生成完整微服务模块

在数字化转型的浪潮中,开发效率和质量是企业竞争力的关键要素。飞算 JavaAI 作为一款创新的 AI 工具,能在 Spring Boot 开发中,自动生成完整微服务模块,极大提升开发效率。下面,我们就详细介绍如何借助飞算 JavaAI&…

算法 | 2024最新算法:斑翠鸟优化算法原理,公式,应用,算法改进研究综述,matlab代码

基于斑翠鸟优化算法的原理、应用及改进研究综述 一、算法原理 斑翠鸟优化算法(Pied Kingfisher Optimizer, PKO)是2024年由Bouaouda等人提出的一种新型仿生智能优化算法,其灵感来源于斑翠鸟的捕食行为与共生关系。算法通过模拟斑翠鸟的栖息悬停、潜水捕鱼及与其他生物的共生…

RabbitMQ高级特性--重试特性

目录 1.重试配置 2.配置交换机&队列 3.发送消息 4.消费消息 5. 运行程序观察结果 6. 手动确认 注意: 在消息传递过程中, 可能会遇到各种问题, 如网络故障, 服务不可用, 资源不足等, 这些问题可能导致消息处理失败. 为了解决这些问题, RabbitMQ 提供了重试机制, …

Vue 组件通信 - 中央事件总线

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue组件通信 - 中央事件总线 目录 中央事件总线 图示 准备工作 设置页面元素 创建组件 总结 中央事件总线 使用vue的监听和触发来实现中央事件总线方式。 on监听 emit触发,组件按钮绑定点击事件&#xff0c…

5.0 WPF的基础介绍1-Grid,Stack,button

WPF: Window Presentation Foundation. WPF与WinForms的对比如下: 特性WinFormsWPF技术基础基于传统的GDI(图形设备接口)基于DirectX,支持硬件加速的矢量渲染UI设计方式拖拽控件事件驱动代码(简单但局限)…

QT软件设计可考虑回答

在Qt应用中是否引入抽象类需要根据具体场景权衡&#xff0c;以下是分层建议&#xff1a; 建议采用抽象类的3个典型场景&#xff1a; 传感器系统抽象&#xff08;强推荐&#xff09; class AbstractSensor { public:virtual ~AbstractSensor() default;virtual QVector<L…

pytorch学习(b站小土堆学习)

1 环境配置 参考链接 2. dir 和 help函数 dir()&#xff1a;用于查看某一模块函数的方法 help()&#xff1a; 用于查看某方法的使用方法 3. dataset类实战 利用Image对象打开图片&#xff0c;利用os模块的地址拼接组成图片路径 当我们用方括号访问元素对象时&#xff0c;…