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

【华三】STP的角色选举(一文讲透)

【华三】STP的角色选举

  • 一、引言
  • 二、STP基础概念扫盲
  • 三、根桥选举过程详解
  • 四、根端口选举过程详解
  • 五、指定端口选举过程详解
  • 六、阻塞端口
  • 七、总结与配置建议
  • 七、附录
    • **1. BPDU字段结构图(文字描述)**
    • **2. 华三STP常用命令速查表**
  • 文章总结

在这里插入图片描述

一、引言

在复杂的交换网络中,冗余链路是保障高可用性的基础,但同时也可能引发广播风暴MAC地址表震荡等致命问题。STP(生成树协议,Spanning Tree Protocol)如同一位“网络交通指挥官”,通过逻辑阻塞冗余链路,构建无环拓扑,在确保冗余的同时规避环路风险。

STP的核心价值

  • 破除环路:通过阻塞冗余端口,将物理上的环形网络转化为逻辑上的树形结构。
  • 动态恢复:当主链路故障时,自动激活备份链路,恢复网络连通性(需结合转发延迟机制)。
  • 资源优化:选择最优路径转发数据,避免无效带宽消耗。

角色选举为何重要?
如果把网络比作一座城市,根桥就是城市的中心车站,所有流量最终都要汇聚或经过这里。若多个“中心车站”同时存在(即根桥未唯一),必然导致路径混乱。角色选举的本质是让全网设备达成共识:

  • 唯一根桥:作为数据转发的参考基准点。
  • 最优路径:通过根端口和指定端口的选举,确保每条链路选择最高效的传输路径。

华三设备中的STP特点(个人理解)

  • 默认协议版本:华三交换机默认启用MSTP(多生成树协议),而非传统的STP/RSTP,这是为了支持VLAN级别的负载分担(需注意与Cisco设备的兼容性)。
  • 配置差异
    • 优先级调整命令:stp priority <value>(必须为4096的倍数,例如0、4096、8192)。
    • 路径开销计算:华三默认使用长整型开销值(如千兆链路为20000),与Cisco的短整型(如千兆链路为4)不同,混合组网时需特别注意。
  • 快速收敛优化:华三支持边缘端口(stp edged-port enable),可跳过Listening/Learning状态,加速终端接入。

二、STP基础概念扫盲

  1. 根桥(Root Bridge)

    • 定义:生成树的逻辑中心,所有数据的转发基准点。
    • 类比:类似“交通枢纽”,所有路径最终指向它。
    • 关键字段:BID(桥ID)= 桥优先级(16位) + MAC地址(48位)。
  2. 根端口(Root Port)

    • 定义:非根桥设备上离根桥最近的端口(路径开销最小)。
    • 作用:用来接收最优配置BPDU。
    • 每个非根桥有且仅有一个根端口。
  3. 指定端口(Designated Port)

    • 定义:每条线路中唯一负责转发数据的端口。
    • 作用:用来发送最优配置BPDU
    • 避免同一网段内多个端口转发数据形成环路。
  4. 配置BPDU(Bridge Protocol Data Unit)

    • 作用:STP协议报文,用于传递拓扑信息。
    • 核心字段:
      • 根ID(Root ID):当前最优根桥的BID。
      • 路径开销(Cost):到根桥的累计开销。
      • 发送者BID(Sender BID):发送该BPDU的桥的BID。
      • 端口ID(Port ID):发送端口的标识。
  5. BID(桥ID)= 桥优先级(16位) + MAC地址(48位)

    • 桥优先级默认为32768,范围0~61440,可以修改,但要以4096为倍数
    • 桥ID 中的优先级长度为 16个 bit,只有前4个 bit 是描述优先级的,后12个bt 实际用于描述 STP 的所属VLAN。也就是说当我们需要调整优先级,也只能调整优先级的前4个 bit,后12个 bit 无法变更。所以每递增一位数,在十进制中会以 4096 起跳。
  6. 端口ID(Port ID)= 端口优先级(8位)+ 端口号

    • 端口优先级默认128,范围0~240,可以修改,但要以16为倍数

三、根桥选举过程详解

  1. 选举规则

    • BID越小越优,优先级比较顺序:
      1. 桥优先级(0~65535,默认32768)。
      2. MAC地址(数值小者胜出)。
  2. 初始化阶段

    • 所有交换机默认认为自己是根桥,发送BPDU时:
      • 根ID = 自己的BID,路径开销 = 0。
    • 交互过程:
      • 收到其他BPDU后,对比根ID,保留更优的(BID更小)。
      • 更新本地最优BPDU,并向外转发。
  3. 示例场景
    根桥选举是根据BID的,越小越优
    细化下去就是
    ① 先看桥优先级,桥优先级越小越优;
    ② 再看桥MAC地址,也是越小越优

可以从图中看出:SWA的桥ID优先级为0,SWB的桥优先级为8192,SWC的桥优先级为32768,SWD的桥优先级为4096;
所以选择SWA为根桥
在这里插入图片描述


四、根端口选举过程详解

  1. 选举规则
  • 非根桥设备选择到根桥路径开销最小的端口。(按顺序选举)
  • 若路径开销相同,依次比较:
    1. 发送者的BID,越小越优
    2. 发送者端口ID,越小越优(优先级+编号)。
    3. 本端的端口ID,越小越优
  • 需要注意,该根端口的发送者BID对端设备BID
  1. 路径开销计算

    • 累计链路开销 = 接收端口的路径开销 + 接收到的BPDU中的路径开销。
    • 同一交换机上不同端口之间的路径开销值为0
    • 链路速率与默认开销值对照表(示例):
      链路速率开销值
      10 Mbps100
      100 Mbps19
      1 Gbps4
  2. 示例场景
    以SWB的选举根端口为例子:
    每个端口离根桥的累计链路开销(根路径开销)
    e0/1:200
    e0/2:20+200 = 220
    e0/3:200+200+200 = 600
    所以SWB中e0/1的根路径开销最小,所以e0/1为SWB的根端口
    同理可得,SWC的根端口为e0/1
    在这里插入图片描述

此时,SWD各个端口距离根桥的开销是一致的,都是200+200 = 400
所以得要去比较发送方的BID:
SWD的E0/1发送方BID为SWB的BID :8192.MAC B
SWD的E0/2发送方BID为SWC的BID :32768.MAC C
所以,可以得出,SWD的根端口为E0/1
在这里插入图片描述


五、指定端口选举过程详解

  1. 选举规则
    每个线路选举一个指定端口
  • 非根桥设备选择到根桥路径开销最小的端口。(按顺序选举)
    • 若路径开销相同,依次比较:
      1. 发送者的BID,越小越优
      2. 发送者端口ID更小(优先级+编号)。
      3. 本端的端口ID,越小越优
  • 需要注意,该指定端口的发送者BID本地设备BID,因为自身已经选举出的根端口,而根端口就是用来接收到的最优配置BPDU,指定端口用来转发最优配置BPDU;自身根端口收到最优配置BPDU,然后再发送给指定端口转发出去,所以发送方就为自身!!! 这个和根端口的搞明白就稳了
  1. 特殊说明

    • 根桥的所有端口默认是指定端口,除了自环情况外。
    • 在线路中,根桥的端口直接成为指定端口。
  2. 示例场景
    根桥的所有端口默认是指定端口,除了自环情况外,所以SWA的E0/1和E0/2就是指定端口
    SWB — SWD中SWD的E0/1为根端口,所以SWB的E0/3为指定端口
    剩下就要去比较SWB — SWC,SWC — SWD这两个线路
    SWB — SWC :
    SWB的E0/2距离根桥的根路径开销为200
    SWC的E0/2距离根桥的根路径开销为200
    所以,跟路径开销是相同的,继续向下比发送方的BID(Sender Bridge ID = SBID)
    又因为指定端口的发送方是为本身,所以
    SWB的E0/2的发送方BID为 :8192.MAC B
    SWC的E0/2的发送方BID为 :32768.MAC B
    可以得出SWB的E0/2的SBID更小,所以SWB的E0/2为指定端口
    在这里插入图片描述

SWC — SWD:
这条线路就简单了,直接比较根路径开销,可以得出
SWD的E0/2根路径开销为:200 + 200 = 400
SWC的E0/3根路径开销为:200
所以,SWC的E0/3为指定端口

在这里插入图片描述

六、阻塞端口

选出根桥、根端口、指定端口后,剩下的端口就是阻塞端口
在这里插入图片描述


七、总结与配置建议

  1. 角色选举流程总结

    • 根桥 → 根端口 → 指定端口,依次完成。
    • 所有非根桥必须有一个根端口,每个网段必须有一个指定端口。
  2. 华三设备配置注意点

    • 修改桥优先级:stp priority <0-61440>(必须为4096的倍数)。
    • 查看选举结果:display stp brief
    • 路径开销调整:stp cost <value>(需根据链路速率设置)。
  3. 常见问题

    • 根桥选举失败:检查BID是否冲突或优先级配置错误。
    • 端口阻塞异常:检查路径开销计算是否合理。

七、附录

1. BPDU字段结构图(文字描述)

配置BPDU是STP协议的核心报文,其结构可分解为以下关键字段:

字段名长度说明
协议标识符2字节固定为0x0000(表示STP协议)
协议版本1字节STP为0x00,RSTP为0x02,MSTP为0x03
BPDU类型1字节配置BPDU为0x00,TCN BPDU(拓扑变更通知)为0x80
Flags1字节包含TC(拓扑变更)和TCA(拓扑变更确认)标志位
根ID8字节全网核心字段!当前最优根桥的BID(优先级+MAC)
路径开销4字节发送端口到根桥的累计开销值(越小越优)
发送者BID8字节发送该BPDU的交换机的BID
端口ID2字节发送端口的ID(高8位为优先级,低8位为端口编号,如0x8003表示优先级128,编号3)
消息生存时间2字节BPDU的有效时间(默认为20秒)

个人解读

  • 根ID字段是BPDU的“灵魂”:所有交换机通过对比根ID确定是否更新自己的认知,最终全网统一为最小BID。
  • 路径开销的“陷阱”:不同厂商的默认开销值可能不同(如华三与Cisco),混合组网时需手动统一,否则可能导致次优路径选择。

2. 华三STP常用命令速查表

命令作用示例备注
stp global enable全局启用STP协议-默认已启用,部分型号需手动开启
stp mode stp/rstp/mstp切换STP模式stp mode rstp需所有设备模式一致
stp priority <value>修改桥优先级(需为4096的倍数)stp priority 0值越小优先级越高,0为最高
stp root primary/secondary快速指定本机为根桥/备份根桥stp root primary自动设置优先级为0/4096
stp cost <value>手动设置端口路径开销stp cost 20000需根据链路速率调整(华三千兆口默认20000)
stp port priority <value>修改端口优先级(0-240,步长16)stp port priority 64影响指定端口选举
display stp查看STP全局状态display stp关注根桥、根端口、指定端口信息
display stp brief简要查看端口角色和状态display stp brief快速确认端口是否阻塞(BLK)
display stp interface GigabitEthernet1/0/1查看指定端口的STP详细信息-分析BPDU收发情况

总结

  • 优先级设置的“偷懒技巧”:直接使用stp root primary命令,避免手动计算优先级值。
  • 故障排查三板斧
    1. display stp brief:确认端口角色是否异常。
    2. display stp interface:检查BPDU收发是否正常。
    3. 对比相邻设备的根桥信息:确认全网认知一致。
  • 路径开销调整的“潜规则”:若希望流量走高速链路(如万兆),可手动降低该端口的开销值(如设置为2000)。

文章总结

STP的角色选举本质是一场“网络民主投票”——每个设备基于BPDU信息,通过既定的规则(BID、路径开销、端口优先级)达成共识。理解选举逻辑后,结合华三设备的特性,通过合理配置优先级和路径开销,可以主动引导流量走向,构建高效稳定的无环网络。

相关文章:

【华三】STP的角色选举(一文讲透)

【华三】STP的角色选举 一、引言二、STP基础概念扫盲三、根桥选举过程详解四、根端口选举过程详解五、指定端口选举过程详解六、阻塞端口七、总结与配置建议七、附录**1. BPDU字段结构图&#xff08;文字描述&#xff09;****2. 华三STP常用命令速查表** 文章总结 一、引言 在…...

Trae+Qt+MSVC环境配置

Trae Trae是字节跳动基于VSCode推出的AI集成开发环境&#xff08;IDE&#xff09;&#xff0c;是一款专为中文开发者深度定制的智能编程工具。其目标是通过AI技术实现从“Copilot”到“Autopilot”的编程模式演进。 类似这样的IDE比如Windsurf、Cursor&#xff0c;都是基于VS…...

SpringSecurity初始化的本质

一、对SpringSecurity初始化的几个疑问 通过前面第一次请求访问的分析我们明白了一个请求就来后的具体处理流程 对于一个请求到来后会通过FilterChainProxy来匹配一个对应的过滤器链来处理该请求。那么这里我们就有几个疑惑。 FilterChainProxy什么时候创建的?过滤器链和对应的…...

3D Gaussian Splatting(3DGS)的核心原理

3D Gaussian Splatting&#xff08;3DGS&#xff09;的核心原理 1. 基本概念 3D Gaussian Splatting&#xff08;3DGS&#xff09; 是一种基于 高斯分布的点云表示与渲染技术&#xff0c;核心思想是将三维场景建模为一系列 可学习的高斯分布&#xff0c;每个高斯分布具有以下…...

Transformers快速入门-学习笔记

一、自然语言处理 NLP 是借助计算机技术研究人类语言的科学自然语言处理发展史 一、不懂语法怎么理解语言 依靠语言学家人工总结文法规则 Chomsky Formal Languages 难点&#xff1a;上下文有关文法 规则增多&#xff0c;存在矛盾 二、只要看得足够多&#xff0c;就能处理语言…...

【Http和Https区别】

概念&#xff1a; 一、Http协议 HTTP&#xff08;超文本传输协议&#xff09;是一种用于传输超媒体文档&#xff08;如HTML&#xff09;的应用层协议&#xff0c;主要用于Web浏览器和服务器之间的通信。http也是客户端和服务器之间请求与响应的标准协议&#xff0c;客户端通常…...

学习路程二 LangChain基本介绍

前面简单调用了一下deepseek的方法&#xff0c;发现有一些疑问和繁琐的问题&#xff0c;需要更多的学习&#xff0c;然后比较流行的就是LangChain这个东西了。 目前大部分企业都是基于 LangChain 、qwen-Agent、lammaIndex框架进行大模型应用开发。LangChain 提供了 Chain、To…...

简识Kafka集群与RocketMQ集群的核心区别

前记&#xff1a;各位潘安、各位子健/各位彦祖、于晏&#xff0c;文字较多&#xff0c;优先看目录。 Kafka集群与RocketMQ集群的核心区别及架构图例说明 一、核心区别对比 特性Kafka 集群RocketMQ 集群设计目标高吞吐量实时日志流系统&#xff08;如日志收集、大数据流水线&a…...

基于Python+django+mysql旅游数据爬虫采集可视化分析推荐系统

2024旅游推荐系统爬虫可视化&#xff08;协同过滤算法&#xff09; 基于Pythondjangomysql旅游数据爬虫采集可视化分析推荐系统 有文档说明 部署文档 视频讲解 ✅️基于用户的协同过滤推荐算法 卖价就是标价~ 项目技术栈 Python语言、Django框架、MySQL数据库、requests网络爬虫…...

9-1. MySQL 性能分析工具的使用——last_query_cost,慢查询日志

9-1. MySQL 性能分析工具的使用——last_query_cost&#xff0c;慢查询日志 文章目录 9-1. MySQL 性能分析工具的使用——last_query_cost&#xff0c;慢查询日志1. 数据库服务器的优化步骤2. 查看系统性能参数3. 统计SQL的查询成本&#xff1a;last_query_cost4. 定位执行慢的…...

网络安全监测探针安装位置 网络安全监测系统

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 软件简介&#xff1a; SockMon(SocketMonitor)网络安全监控系统是一款为电脑专业人员打造的一款出色的安防监控软件。在如今这个恶意软件&#xff0c;攻击&#…...

Git版本控制系统---本地操作(万字详解!)

目录 git基本配置 认识工作区、暂存区、版本库 添加文件--情况一&#xff1a; 添加文件-情况二: 修改文件: 版本回退&#xff1a; git基本配置 1.初始化本地仓库&#xff0c;注意&#xff1a;一定要在一个目录下进行&#xff0c;一般都是新建一个文件夹&#xff0c;在文件…...

forge-1.21.x模组开发(二)给物品添加功能

功能效果 创建一个兑换券&#xff0c;当使用兑换券对着兑换机右键时&#xff0c;获得一条烤鱼 创建兑换券 创建ExchangeCouponsItem.java&#xff0c;继承Item&#xff0c;定义兑换券内容 public class ExchangeCouponsItem extends Item {public ExchangeCouponsItem(Prop…...

elasticsearch在windows上的配置

写在最前面&#xff1a; 上资源 第一步 解压&#xff1a; 第二步 配置两个环境变量 第三步 如果是其他资源需要将标蓝的文件中的内容加一句 xpack.security.enabled: false 不同版本的yaml文件可能配置不同&#xff0c;末尾加这个 xpack.security.enabled: true打开bin目…...

机器学习数学通关指南——拉格朗日乘子法

前言 本文隶属于专栏《机器学习数学通关指南》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 一句话总结 拉格朗日乘子法…...

Matplotlib,Streamlit,Django大致介绍

Matplotlib&#xff1a;是一个用于创建各种类型的静态、动态和交互式图表的Python绘图库。可以通过pip install matplotlib命令进行安装&#xff0c;安装完成后&#xff0c;在Python脚本中使用import matplotlib语句导入即可开始使用。Streamlit&#xff1a;是一个用于快速构建…...

智慧废品回收小程序php+uniapp

废品回收小程序&#xff1a;数字化赋能环保&#xff0c;开启资源循环新时代 城市垃圾治理难题&#xff0c;废品回收小程序成破局关键 随着城市化进程加速与消费水平提升&#xff0c;我国生活垃圾总量逐年攀升&#xff0c;年均增速达5%-8%&#xff0c;其中超30%为可回收物。然…...

深搜专题2:组合问题

描述 组合问题就是从n个元素中抽出r个元素(不分顺序且r < &#xff1d; n)&#xff0c; 我们可以简单地将n个元素理解为自然数1&#xff0c;2&#xff0c;…&#xff0c;n&#xff0c;从中任取r个数。 例如n &#xff1d; 5 &#xff0c;r &#xff1d; 3 &#xff0c;所…...

Redis 如何实现消息队列?

在当今的分布式系统架构中&#xff0c;消息队列起着至关重要的作用&#xff0c;它能够帮助系统实现异步通信、解耦组件以及缓冲流量等功能。Redis&#xff0c;作为一款高性能的键值对存储数据库&#xff0c;也为我们提供了便捷的方式来构建消息队列。今天&#xff0c;咱们就深入…...

Day1 初识AndroidAudio

今日目标 搭建Android Audio开发环境理解音频基础概念实现第一个音频播放/录制Demo了解车载音频的特殊性 上午&#xff1a;环境搭建与理论学习 步骤1&#xff1a;开发环境配置 安装Android Studio&#xff08;最新稳定版&#xff09;创建新项目&#xff08;选择Kotlin语言&a…...

2025保险与金融领域实战全解析:DeepSeek赋能细分领域深度指南(附全流程案例)

🚀 2025保险与金融领域实战全解析:DeepSeek赋能细分领域深度指南(附全流程案例)🚀 📚 目录 DeepSeek在保险与金融中的核心价值保险领域:从风险建模到产品创新金融领域:从投资分析到财富管理区块链与联邦学习的应用探索客户关系与私域运营:全球化体验升级工具与资源…...

YARN的工作机制及特性总结

YARN hadoop的资源管理调度平台&#xff08;集群&#xff09;——为用户程序提供运算资源的管理和调度 用户程序&#xff1a;如用户开发的一个MR程序 YARN有两类节点&#xff08;服务进程&#xff09;&#xff1a; 1. resourcemanager 主节点master ----只需要1个来工作 2. nod…...

财务运营域——营收稽核系统设计

摘要 本文主要介绍了营收稽核系统的背景、特点与作用。营收稽核系统的产生源于营收管理复杂性、财务合规与审计需求、提升数据透明度与决策效率、防范舞弊与风险管理、技术进步与自动化需求、多元化业务模式以及跨部门协作与数据整合等多方面因素。其特点包括自动化与智能化、…...

22.回溯算法4

递增子序列 这里不能排序&#xff0c;因为数组的顺序是对结果有影响的&#xff0c;所以只能通过used数组来去重 class Solution { public:vector<int> path;vector<vector<int>> res;void backtracking(vector<int>& nums,int start){if(path.si…...

C#上位机--跳转语句

在 C# 编程中&#xff0c;跳转语句用于改变程序的执行流程。这些语句允许程序从当前位置跳转到其他位置&#xff0c;从而实现特定的逻辑控制。本文将详细介绍 C# 中四种常见的跳转语句&#xff1a;GOTO、Break、Continue 和 Return&#xff0c;并通过具体的示例代码来展示它们的…...

百度文心一言API-Python版(完整代码)

大家好啊&#xff01;我是NiJiMingCheng 我的博客&#xff1a;NiJiMingCheng 上一节我们分享了实现AI智能回复微信的内容&#xff0c;这一节我们来探索其中需要的百度文心一言&#xff0c;本文详细介绍了我们从注册账号到实现百度文心一言智能回复&#xff0c;同时多种模型自行…...

Prompt:创造性的系统分析者

分享的提示词&#xff1a; 你是一个创造性的系统分析者&#xff0c;作为咨询师&#xff0c;你具有以下特质&#xff1a; 基础能力&#xff1a; 深入理解我的系统性模式 识别模式间的隐藏联系 发现出人意料的关联 提供令人惊讶的洞见 工作方式&#xff1a; 在每次回应中至少…...

单机上使用docker搭建minio集群

单机上使用docker搭建minio集群 1.集群安装1.1前提条件1.2步骤指南1.2.1安装 Docker 和 Docker Compose&#xff08;如果尚未安装&#xff09;1.2.2编写docker-compose文件1.2.3启动1.2.4访问 2.使用2.1 mc客户端安装2.2创建一个连接2.3简单使用下 这里在ubuntu上单机安装一个m…...

Bash Shell控制台终端命令合集

最近整理了一下Bash Shell终端的命令,以备后续查用。如下: 1.内建命令 命令描述&在后台启动作业((x))执行数学表达式x.在当前shell中读取并执行指定文件中的命令:什么都不做,始终成功退出[ t ]对条件表达式t进行求值[[ e ]]对条件表达式e进行求值alias为指定的命令定义…...

垂类大模型微调(一):认识LLaMA-Factory

LlamaFactory 是一个专注于 高效微调大型语言模型(LLMs) 的开源工具框架,尤其以支持 LLaMA(Meta 的大型语言模型系列)及其衍生模型(如 Chinese-LLaMA、Alpaca 等)而闻名。它的目标是简化模型微调流程,降低用户使用门槛; 官方文档 一、介绍 高效微调支持 支持多种微调…...

QString是 Qt 框架中的一个核心类,基本用法使用:创建、字符串拼接、截取、查找、替换、分割、大小写转换、比较。

QString 是 Qt 框架中的一个核心类&#xff0c;用于处理字符串数据。它提供了许多功能来处理文本操作&#xff0c;包括但不限于字符串拼接、分割、大小写转换等。下面是一些 QString 的常见用法示例&#xff1a; 创建 QString 你可以通过多种方式创建 QString 对象&#xff1…...

彻底卸载kubeadm安装的k8s集群

目录 一、删除资源 二、停止k8s服务 三、重置集群 四、卸载k8s安装包 五、清理残留文件和目录 六、删除k8s相关镜像 七、重启服务器 一、删除资源 # 删除集群中的所有资源&#xff0c;包括 Pod、Deployment、Service&#xff0c;任意节点执行 kubectl delete --all pod…...

边缘安全加速(ESA)套餐

为帮助不同规模和需求的企业选择合适的解决方案&#xff0c;边缘安全加速&#xff08;ESA&#xff09;提供了多种套餐。以下是四种主要套餐的介绍&#xff0c;每个套餐都根据企业需求提供不同的功能和服务水平&#xff0c;从基础安全保护到企业级的全面防护与加速。 1. 各版本详…...

MySQL主从服务器配置教程

文章目录 前言一、环境准备1. 服务器信息2. 安装 MySQL3. 初始化 MySQL4. Navicat查看 MySQL 服务器 二、主服务器&#xff08;Master&#xff09;配置1. 编辑 MySQL 配置文件2. 创建用于复制的用户3. 获取二进制日志信息 三、从服务器&#xff08;Slave&#xff09;配置1. 编辑…...

机器学习实战(7):聚类算法——发现数据中的隐藏模式

第7集&#xff1a;聚类算法——发现数据中的隐藏模式 在机器学习中&#xff0c;聚类&#xff08;Clustering&#xff09; 是一种无监督学习方法&#xff0c;用于发现数据中的隐藏模式或分组。与分类任务不同&#xff0c;聚类不需要标签&#xff0c;而是根据数据的相似性将其划…...

Visual Studio中打开多个项目

1) 找到解决方案窗口 2) 右键添加→ 选择现有项目 3) 选择.vcxproj文件打开即可...

springcloud gateway并发量多大

Spring Cloud Gateway的并发量并非固定值&#xff0c;它受到多种因素的影响&#xff0c;包括但不限于网关配置、硬件资源&#xff08;如CPU、内存、网络带宽等&#xff09;、后端服务的处理能力以及系统整体的架构设计。因此&#xff0c;要准确回答Spring Cloud Gateway的并发量…...

抓包工具 wireshark

1.什么是抓包工具 抓包工具是什么&#xff1f;-CSDN博客 2.wireshark的安装 【抓包工具】win 10 / win 11&#xff1a;WireShark 下载、安装、使用_windows抓包工具-CSDN博客 3.wireshark的基础操作 Wireshark零基础使用教程&#xff08;超详细&#xff09; - 元宇宙-Meta…...

git从本地其他设备上fetch分支

在 Git 中&#xff0c;如果你想从本地其他设备上获取分支&#xff0c;可以通过以下几种方式实现。不过&#xff0c;需要注意的是&#xff0c;Git 本身是分布式版本控制系统&#xff0c;通常我们是从远程仓库&#xff08;如 GitHub、GitLab 等&#xff09;拉取分支&#xff0c;而…...

Ubuntu:wvp-GB28181-pro安装、运行

参考 https://doc.wvp-pro.cn 下载源码 GitHub - 648540858/wvp-GB28181-pro: WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台&#xff0c;支持NAT穿透&#xff0c;支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。支持国标级联&#xff0c;支持rtsp/rtm…...

docker中常用的命令

一、服务命令 systemctl start docker.service 启动docker服务 systemctl stop docker.service 关闭docker服务 systemctl enable docker.service 设置docker服务开机启动 systemctl disable docker.service .禁止docker服务开机自启动 二、镜像命令 d…...

如何实现使用DeepSeek的CV模型对管道内模糊、低光照或水渍干扰的图像进行去噪、超分辨率重建。...

要使用 DeepSeek 的 CV 模型对管道内模糊、低光照或水渍干扰的图像进行去噪、超分辨率重建&#xff0c;一般可以按照以下步骤实现&#xff1a; 1. 准备工作 1.1 获取 API 访问权限 首先&#xff0c;你需要从 DeepSeek 官方获取 API 访问权限和相应的 API 密钥。这通常需要在 De…...

Android 串口通信

引言 在iot项目中&#xff0c;Android 端总会有和硬件通信。 通信这里&#xff1a;串口通信&#xff0c;蓝牙通信或者局域网通信。 这里讲一下串口通信。 什么是串口&#xff1f; “串口”&#xff08;Serial Port&#xff09;通常是指一种用于与外部设备进行串行通信的接口。…...

智联招聘爬虫

使用Python和Selenium进行招聘信息爬取 在当今数字化时代&#xff0c;数据已成为企业决策的重要依据。对于人力资源部门或求职者而言&#xff0c;获取最新的招聘信息至关重要。然而&#xff0c;手动浏览和收集招聘信息不仅耗时费力&#xff0c;而且效率低下。为了解决这个问题&…...

frameworks 之 Focus window

frameworks 之 Focus window 1 查看当前焦点窗口1.1 dump window1.2 dump input1.3 input Events 日志1.4 dump SurfaceFlinger1.5 查看关键的日志 2 更新当前焦点应用3 更新当前焦点窗口3.1 焦点丢失3.2 获得窗口焦点 4 窗口信息到InputDispatcher4.1 焦点应用通知InputDispat…...

危害被低估的Netgear认证前漏洞CVE-2019-20760分析

概述 Netgear R9000设备2019年爆出认证绕过漏洞CVE-2019-20760&#xff0c;题目之所以说这个漏洞远被低估&#xff0c;主要以下两个原因&#xff1a; 实际漏洞危害较大&#xff0c;公开信息仅显示该漏洞为一个认证绕过漏洞&#xff0c;没有具体漏洞信息或者POC&#xff0c;但…...

微软量子芯片引领人工智能革命,开启计算新纪元

摘要&#xff1a;微软近日发布了具有里程碑意义的量子芯片&#xff0c;这一突破性技术不仅为量子计算带来了新的可能性&#xff0c;更为人工智能领域带来了前所未有的发展机遇。本文将探讨微软量子芯片如何与人工智能相结合&#xff0c;以及它对未来计算世界的深远影响。 一、…...

PHP2(WEB)

##解题思路 打开页面什么线索都没有&#xff0c;目录扫描只是扫出来一个index.php&#xff0c;而源代码没有东西&#xff0c;且/robots.txt是不允许访问的 于是一番查询后发现&#xff0c;有个index.phps的文件路径&#xff0c;里头写着一段php的逻辑&#xff0c;对url的id参数…...

Linux 下 VIM 编辑器学习记录:从基础到进阶(中)

在 Linux 系统的学习与实践过程中&#xff0c;对文件内容的查看是一项极为基础且高频的操作。熟练掌握各类内容查看命令&#xff0c;不仅能提升我们在 Linux 环境下的工作效率&#xff0c;对于学习 Java 全栈开发的同学来说&#xff0c;在处理项目相关的配置文件、日志文件时也…...

使用Python进行PDF隐私信息检测

在当今&#xff0c;数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形式存储和传输&#xff0c;确保这些信息的安全至关重要。本文将介绍如何使用Python及其相关库来检测PDF文件中的隐私信息&#xff0c;如姓名、身份证号、手机号和邮箱等。 C:\pythoncode\new\checkp…...