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

【25软考网工】第三章(4)生成树协议、广播风暴和MAC地址表震荡

目录

  • 一、生成树协议
    • 1. 生成树技术背景
      • 1)单链路上行存在==单点故障==
      • 2)二层环路问题
      • 3)二层环路问题——==广播风暴==
      • 实验验证 广播风暴
      • 例题1:二层环路故障现象
      • 4)二层环路问题—— ==MAC地址表震荡==
      • 实验验证 MAC地址表震荡的现象
    • 2.冗余性网络环境
      • 1) 冗余网络中的二层环路问题
      • 2)解决方案
    • 3 .知识小结
  • 一、生成树技术STP
    • 1.生成树基本概念
      • 1)网络出现故障情况
      • 2)网桥ID(Bridge ID,简称BID)
      • 3)路径开销(Path Cost)
    • 2. STP选举操作
      • 四步选举过程:
      • 1)根桥、根端口、指定端口、非指定端口的选取
      • 2)应用案例
        • 1.例题1:接口阻塞
        • 2.例题2:接口带宽变化
        • 3.例题3:四台交换机网络接口阻塞
    • 3. 几种生成树协议总结
    • 4. 应用案例
      • 1)例题1:网桥ID与根端口
      • 2)例题2:网桥ID定义
      • 3)例题3:根桥判断
      • 4)例题4:接口阻塞判断
      • 5)例题5:最早STP标准
      • 6)例题6:STP协议定义
      • 7)例题7:聚合组配置
      • 8)例题8:STP描述
      • 9)例题9:RSTP说法判断
    • 5.知识小结

一、生成树协议

1. 生成树技术背景

1)单链路上行存在单点故障

在这里插入图片描述

问题本质:交换机单链路上行存在单点故障风险,线路和设备均不具备冗余性

故障影响任何链路或设备故障都会导致网络中断,如PC访问Server时任一中间节点故障都会断网

2)二层环路问题

冗余拓扑与环路关系

解决方案:环形拓扑可解决单点故障(如三台交换机环形连接)

新问题:冗余拓扑会引发二层环路,相比三层环路更危险:

  • 三层环路:可通过路由协议和TTL值(最大255跳)控制风险
  • 二层环路:会永久循环传播,无自愈机制,是网络故障的主要诱因
    结果:导致广播风暴、MAC表震荡

3)二层环路问题——广播风暴

广播风暴

形成机制:广播帧(如ARP请求)在环路中被交换机无限泛洪

危害表现

  • 设备影响:严重消耗CPU资源(利用率飙升)
  • 网络影响:大量占用带宽,导致正常业务受阻
    广播风暴现象:
    网络慢、接口指示灯高速闪烁、CPU使用率高、CLI卡顿、远程管理卡或登录不上。

实验验证 广播风暴

实验设计

  • 使用三台交换机环形连接(关闭STP功能undo stp enable)
  • PC发送ARP请求触发广播风暴

关键现象

  • 抓包显示相同ARP报文海量重复(4万+)
  • CPU利用率从20%飙升至30%+
  • 命令行操作延迟明显增加

故障特征
典型表现

  • 网络响应缓慢/部分用户无法上网
  • 接口指示灯高速闪烁(绿色)
  • 设备CPU高负载
  • CLI操作卡顿,远程登录困难

诊断技巧

  • 抓包可见大量相同报文循环
  • 区别于ARP攻击(报文内容不同)

应急处理

  • 标准方案:启用STP协议自动阻塞冗余链路
  • 手动处置(当STP失效时):
    +** 二分法排查**:按端口分组关闭(如先关1-12口,逐步缩小范围)
    • 物理隔离:对无法远程设备采用插拔网线方式
  • 关键注意:接口指示灯变黄通常表示速率协商问题,非环路特征

例题1:二层环路故障现象

例题1

正确选项:D(黄灯表示速率/双工协商异常)
排除依据:

  • A/B/C均为广播风暴典型表现
  • 绿灯高速闪烁才是环路特征

延伸知识:

  • 千兆接口降速至百兆可能亮黄灯
  • 厂商差异:部分设备用黄灯表示更高速率(如2.5G)

4)二层环路问题—— MAC地址表震荡

在这里插入图片描述

环路引发机制:当网络存在二层环路时,交换机会从不同接口重复收到相同数据帧,导致MAC地址表项在多个接口间不断更新。

学习过程异常

  • 初始状态:SW3未记录目的MAC时进行泛洪
  • 环路传播:SW1/SW2收到帧后既学习源MAC又继续泛洪
  • 震荡形成:SW3从GE0/0/1和GE0/0/2交替收到PC的帧,导致MAC表项在接口1和2之间反复变更

典型表现:PC的MAC地址(如0050-5600-0001)在交换机接口记录中不断切换位置

实验验证 MAC地址表震荡的现象

在这里插入图片描述

正常状态特征

  • 稳定记录:MAC地址固定显示在正确接口(如GE0/0/3)
  • 动态学习:类型标记为dynamic,VLAN默认为1(未划分时)

震荡状态特征

  • 接口跳变:MAC地址在GE0/0/1和GE0/0/2间频繁切换
  • 刷新异常:display mac-address显示同一MAC在不同接口快速交替
  • 告警提示:系统日志出现"MAC move detected"和"Flapping port"警告

关联现象

  • ARP风暴:抓包显示大量重复ARP请求(如47000+条记录)
  • 通信故障:ping测试出现100%丢包(Destination host unreachable)

MAC地址表震荡的解决

  • 临时解决方案:

    • 手动断环:通过shutdown命令关闭环路中的一个接口(如GE0/0/2)
    • 效果验证:MAC地址表立即停止震荡,ARP报文停止泛洪
  • 根本解决措施:

    • STP协议:部署生成树协议自动阻塞冗余链路
    • 拓扑优化:合理规划网络架构,避免物理环路形成
  • 诊断技巧:

    • 观察顺序:先查MAC表震荡,再确认ARP风暴
    • 日志分析:重点关注"MAC move detected"告警信息
    • 模拟器注意:真机MAC地址不可修改,但实验环境可调整(如改为5489-9806-0001)

2.冗余性网络环境

在这里插入图片描述

1) 冗余网络中的二层环路问题

必要性: 大型网络中的冗余设计必不可少,用于提高网络可靠性

环路现象: 冗余设计会导致多个物理二层环路,如示例拓扑中可见上、中、下多个环路
三大问题:

  • 广播风暴:环路会导致广播包无限循环
  • MAC地址表震荡:设备无法稳定学习MAC地址
  • 网络性能下降:带宽被无效流量占用

2)解决方案

核心技术: 通过STP(生成树协议)解决

  • 作用原理:逻辑阻塞冗余链路中的部分端口
  • 实现效果:既保持网络冗余性,又消除环路
  • 运行机制:通过BPDU报文选举根桥、确定最优路径
    关键优势:
  • 自动检测环路
  • 动态调整网络拓扑
  • 故障时快速启用备份链路

3 .知识小结

知识点核心内容考试重点/易混淆点
生成树协议(STP)技术背景交换机单链路上行存在单点故障问题,冗余拓扑可解决但会引入二层环路风险单点故障与冗余设计的矛盾关系
二层环路危害1. 广播风暴:广播报文无限循环; 2. MAC地址表震荡:MAC地址学习端口频繁跳变广播风暴与MAC地址震荡的关联性
广播风暴现象1. 网络延迟/部分终端断网; 2. 接口指示灯高速闪烁; 3. 设备CPU利用率飙升; 4. 管理界面卡顿/登录失败指示灯状态(高速闪烁≠黄灯)
环路排查方法1. 二分法关端口:分批次关闭端口排查; 2. 抓包特征:相同报文海量重复; 3. 对比ARP风暴(差异:中毒报文内容不同)二分法操作流程与ARP风暴鉴别
STP核心价值通过阻塞冗余链路自动破除环路,同时保留故障切换能力STP与手动关端口的本质区别
实验演示要点1. 关闭STP后ARP广播风暴实测; 2. MAC地址表跳变观察; 3. 真机与模拟器效果差异实验中的报文编号观察技巧

一、生成树技术STP

1.生成树基本概念

STP基本概念
概念:生成树技术(Spanning-tree)在网络中存在二层环路时,通过逻辑阻塞特定端口,从而打破环路,并在网络出现拓扑变更时及时收敛,保障网络冗余性

两个核心功能防止二层环路保障网络冗余性

  • 防环机制:通过逻辑阻塞(Block)特定端口来打破网络中的二层环路。
  • 冗余机制:当网络拓扑发生变更时能及时收敛,重新激活被阻塞端口,保证网络连通性。

1)网络出现故障情况

在这里插入图片描述

  • 故障响应:当SW1和SW3间链路故障时,STP会重新计算拓扑,将原先阻塞的端口恢复为转发状态。
  • 冗余验证:此过程验证了STP的第二个核心功能——通过拓扑收敛保障网络冗余性

2)网桥ID(Bridge ID,简称BID)

网桥ID
组成结构:桥ID(Bridge ID)共8字节,包含**2字节优先级和6字节MAC地址。**
优先级规范

  • 默认值:32768
  • 最小值:0
  • 调整步长:4096的倍数(次小值为4096)
    MAC来源:使用交换机 背板MAC地址 作为ID的MAC部分。

3)路径开销(Path Cost)

路径开销

  • ** 基本特性**:
    • 端口量属性,用于STP/RSTP链路选择
    • 路径开销与端口带宽成反比关系
  • 华为标准
    • 默认采用802.1t标准(计算时一般采用802.1d)
    • 可选标准包括802.1d-1998和私有legacy标准
  • 典型值对照
    • 10M:802.1t=2000000,802.1d=100
    • 100M:802.1t=200000,802.1d=19
    • 1000M:802.1t=20000,802.1d=4
    • 10G:802.1t=2000,802.1d=2

2. STP选举操作

四步选举过程:

  • 第一步:根桥选举(选优先级和MAC地址最小的网桥)
  • 第二步:根端口选举(非根桥的端口到根桥最近的端口)
  • 第三步:指定端口选举(先选制定桥,指定桥上为指定端口)
  • 第四步:非指定端口(阻塞端口)确定

1)根桥、根端口、指定端口、非指定端口的选取

第一步:选根桥BID(优先级和MAC地址最小)
选BID最小的
如下图,先看优先级,均为32768无法选出,再看MAC地址,SW1最小STP选举1
第二步:根端口 (非根桥到根桥最近的端口)
其他网桥到根桥最近的端口,如下图为下图黄色圆标记的接口
100M开销为19,10M开销为100
在这里插入图片描述
第三步:每个段选择一个指定端口
每个网段选择一个指定端口;根桥上的接口都是指定端口
在这里插入图片描述
选举规则

  • 特例原则:根桥上的所有端口都是指定端口
  • 段内选举:每个网段选一个指定端口,先选指定桥(到根桥路径开销最小的桥SW2),再选指定端口
  • 判定方法:指定桥上的端口即为该网段的指定端口

实用结论

  • 根端口的对端必定是指定端口
  • 指定端口的对端可能是根端口或阻塞端口

比较顺序:与根端口选举相同(开销→桥ID→端口ID)

第四步:非指定端口
在这里插入图片描述
定义:既不是根端口也不是指定端口的端口
状态处理:会被阻塞(Blocking)形成逻辑断开
故障切换:当活动链路故障时,阻塞端口会转变为转发状态实现冗余

2)应用案例

1.例题1:接口阻塞

下图中哪个接口会被阻塞?

例题1

  • 第一步:选根桥(优先级一样,看MAC地址,选出SW1)
  • 第二步:选根端口RP(SW2与SW1的相连的端口为根端口,SW3与SW1的相连的端口为根端口)
  • 第三步:选指定端口DP(根交换机上的端口都为指定端口;指定桥选SW2,指定桥上的端口为指定端口)
  • 第四步:非指定端口(SW3与SW2相连的端口为非指定端口)
2.例题2:接口带宽变化

例题2
特殊变化:SW2-SW3链路接口带宽降为10M(开销100)
根桥:SW1(MAC地址最小)
根端口重选

  • SW2选与SW1相连的为根端口
  • SW3到根桥路径:直连100M(开销100) vs 经SW2的两段100M(开销38)
  • SW3选择开销更小的路径(经SW2)

指定端口确认:根端口对端(SW2端口)自动成为指定端口
结果:SW3直连根桥SW1的端口被阻塞

3.例题3:四台交换机网络接口阻塞

例题3

  • 选根桥:SW1
  • 选根端口RP(SW2、SW3与根桥相连的端口,SW4两边花销一样,桥ID判断得左边端口)
  • 指定端口DP(根桥相对的是指定端口,DP对面是指定端口,SW4-SW3中SW3为指定桥
  • SW4右侧端口为非指定端口

3. 几种生成树协议总结

在这里插入图片描述
STP(802.1d): 传统生成树协议,收敛速度慢(30-50秒),通过阻塞端口消除环路

RSTP(802.1w): 快速生成树协议,收敛速度快(6秒内),改进端口状态机制

MSTP(802.1s): 多生成树协议,支持多个VLAN负载均衡,可同时利用多条链路

应用现状: 目前最常用的是MSTP,因其能有效利用带宽资源

4. 应用案例

1)例题1:网桥ID与根端口

在这里插入图片描述

  • 根桥选举: 根据桥ID(BID)最小值原则,数值3最小成为根桥
  • 根端口选择: 比较根路径开销(RPC),相等时比较发送方桥ID和端口ID。开销:向左2,向右1,向下4
  • 解题技巧: 题目简化了实际BID结构(优先级+MAC地址),只需理解最小值原则
  • 答案:A,B

2)例题2:网桥ID定义

在这里插入图片描述
BID组成: 2字节优先级(默认32768) + 6字节MAC地址

优先级调整:

  • root primary设置为0(最优)
  • root secondary设置为4096(次优)

答案:A,B

3)例题3:根桥判断

在这里插入图片描述

  • 根桥选举:
    • root primary强制成为根桥(优先级0)
    • root secondary作为备份根桥(优先级4096)
  • 端口阻塞: 非根桥上非根端口和非指定端口会被阻塞
  • SW1为根桥,接口不会被阻塞;开销一样、桥ID一样、SWA的G0/0/1的端口IP小(PID越小越优先),SWB上的G0/0/2为根端口RP
  • SWB的G0/0/1
  • 答案:C

4)例题4:接口阻塞判断

在这里插入图片描述

  • 选举步骤:
    • 选根桥(MAC地址小的S1)
    • 根桥上所有端口都是指定端口(转发状态)
    • 非根桥选择根端口(比较RPC、发送方BID、端口ID)
  • 结果: S2的F0/2端口因比较劣势被阻塞

5)例题5:最早STP标准

在这里插入图片描述

  • 协议标准:
    • 802.1d(STP): 最早标准
      +802.1w(RSTP): 快速收敛
    • 802.1s(MSTP): 多实例负载均衡

6)例题6:STP协议定义

在这里插入图片描述

工作原理:

  • 交互BPDU报文选举根桥
  • 比较优先级(值越小越优)和MAC地址
  • 默认优先级32768
    协议演进:
  • RSTP实现快速收敛
  • MSTP实现VLAN负载均衡

7)例题7:聚合组配置

在这里插入图片描述

关键点:

  • MSTP允许不同VLAN流量走不同路径
  • GVRP配置差异不影响链路聚合
  • 两个接口都可参与转发(负载均衡)

A错误,影响链路聚合的因素:带宽、双工模式
B错误
C错误
D正确
在这里插入图片描述

8)例题8:STP描述

在这里插入图片描述

错误描述: STP运行在交换机和路由器上(实际仅运行在二层交换机)

正确要点:

  • 最早标准802.1d
  • 默认优先级32768
  • BPDU每2秒发送一次

9)例题9:RSTP说法判断

在这里插入图片描述
正确说法: 采用P/A(提议/同意)机制实现快速收敛

错误说法:

  • Discarding状态不能转发流量
  • 不依赖计时器超时机制
  • 优先级小的成为根桥

RSTP改进:

  • 端口状态简化为3种
  • 增加替代端口角色
  • 配置BPDU格式优化

5.知识小结

知识点核心内容考试重点/易混淆点
生成树基本概念通过逻辑阻塞端口打破二层环路,拓扑变更时重新打开阻塞端口保证冗余两大功能:防环(二层环路)、链路冗余
桥ID(BID)8字节(2字节优先级+6字节MAC地址),默认优先级32768,最小值0,次小值4096比较规则:优先级>MAC地址(越小越优)
路径开销(Cost)与带宽成反比(华为默认802.1t标准),例:10M=100,100M=19,1G=4,10G=2易错:不同标准开销值不同,但带宽越大开销越小原则不变
生成树选举四步骤1. 选根桥(BID最小)2. 选根端口(非根桥到根桥最近端口)3. 选指定端口(每网段一个,根桥端口全指定)4. 阻塞非指定端口根端口判断顺序:开销>对端桥ID>对端端口ID
根端口选举特例开销相同时:比较对端桥ID;桥ID相同时:比较对端端口ID(128+端口号,越小越优)关键结论:根端口对端必是指定端口
MSTP多生成树实现VLAN负载均衡(不同VLAN走不同路径),对比STP/RSTP的链路浪费问题核心优势:提升带宽利用率
STP协议类型对比STP(802.1d):收敛慢(30-50秒) RSTP(802.1w):快速收敛(6秒内) MSTP(802.1s):多实例负载均衡必记标准号:802.1d/w/s
BPDU报文交互选举根桥的协议报文,包含桥ID、路径开销等信息选举依据:BPDU中的优先级+MAC地址
优先级配置命令root primary(优先级调为0),root secondary(优先级调为4096)默认值:32768
端口状态(RSTP)Discarding(丢弃)、Learning(学习)、Forwarding(转发)对比STP的5种状态简化

相关文章:

【25软考网工】第三章(4)生成树协议、广播风暴和MAC地址表震荡

目录 一、生成树协议1. 生成树技术背景1)单链路上行存在单点故障2)二层环路问题3)二层环路问题——广播风暴实验验证 广播风暴例题1:二层环路故障现象4)二层环路问题—— MAC地址表震荡实验验证 MAC地址表震荡的现象 2…...

解释器体系结构风格-笔记

解释器(Interpreter)是一种软件设计模式或体系结构风格,主要用于为语言(或表达式)定义其语法、语义,并通过解释器来解析和执行语言中的表达式。解释器体系结构风格广泛应用于编程语言、脚本语言、规则引擎、…...

删除新安装IBM Guardium Data Protection 12.1的baltimorecybertrustroot证书

登录web console,会显示 baltimorecybertrustroot证书过期警告。 采用下面的命令删除过期证书就可消除警告。 collector02.cpd.com> delete certificate keystore Select an alias from the list below to delete the corresponding certificate. Alias List:…...

反序列化漏洞1

一、PHP类与对象 1. 类 概念理解: 类是共享相同结构和行为的对象的集合,可以理解为特征的提取。例如将耳朵长、尾巴短、红眼睛、吃胡萝卜、蹦跳行走的动物特征抽象为"兔子"类。代码结构: 使用class关键字定义类类名遵循大驼峰命名法包含成员变量(属性)和…...

正则表达式三剑客之——awk命令

目录 一.什么是awk 二.awk的语法格式 1.选项 2. 模式(Pattern) 3. 操作(Action) 4. 输入文件(file) 5.总结 三.awk的工作原理 1. 逐行扫描输入 2. 匹配模式 1.正则表达式: 2.逻辑表…...

施磊老师基于muduo网络库的集群聊天服务器(七)

文章目录 数据表字符集问题支持中文和英文**为什么使用 utf8mb4?** 推荐 查看整个表, 再单独修改 客户端群组功能创建群组添加群组群组聊天接收在线群组消息接收离线群组消息补充服务器事件处理器补充服务器查询群组列表问题解决测试 目前报错总结目前为止最恶心的错…...

多模态(3):实战 GPT-4o 视频理解

最近,OpenAI 团队的 GPT-4o 模型,在多模态方面的能力有了大幅提升,这次我们就使用 GPT-4o 完成一个视频理解的实战。 1. 环境搭建 1.1 安装 FFmpeg 做视频处理,我们需要用到 FFmpeg 这款功能强大的开源多媒体处理工具。FFmpeg…...

基于python实现一个二维图片的路径规划问题

一、场景 基于如下的一个楼层平面图,假设有几个预置的点(实际项目中可能是动态的点,比如找车位,找工位),做路径规划,并画在平面图上 二、方案 1.准备平面室内图 可以自己用QGIS/cad等其他方式…...

云服务器centos 安装hadoop集群

百度 搜索 云服务器centos 安装hadoop 创建Hadoop用户 sudo useradd hadoop -m -s /bin/bash sudo passwd hadoop 123456 下载Hadoop wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz 解压并移动Hadoop到指定目录 tar …...

【k8s】sidecar边车容器

一、Sidecar 模式简介 Sidecar 模式是一种常见的微服务架构设计模式。它通过将附加功能或服务与主应用程序部署在同一容器或主机上,从而实现对主应用程序的增强和扩展。Sidecar 的名称来源于摩托车的边车,它与摩托车紧密相连,为主车提供额外…...

Web漏洞--XSS之订单系统和Shell箱子

本文主要内容 手法 XSS平台使用 XSS工具使用 XSS结合其他漏洞 XSS具体使用场景 某订单系统XSS盲打_平台 某Shell箱子系统XSS盲打_工具 [1]订单系统经典案例 第一个简易攻击流程(订单系统):通过平台完成XSS跨站之后&a…...

# 构建词汇表:自然语言处理中的关键步骤

构建词汇表:自然语言处理中的关键步骤 在自然语言处理(NLP)任务中,词汇表(Vocabulary)是文本数据预处理的核心组件之一。它将文本中的单词或字符映射为数值索引,从而让计算机能够理解和处理语言…...

新!在 podman-machine-default 中安装 CUDA、cuDNN、Anaconda、PyTorch 等并验证安装

#工作记录 一、前言 在 Windows 系统开发环境中,Podman Desktop 凭借强大的容器管理与 WSL-Linux 子系统集成能力备受开发者关注。 其中,podman-machine-default 是 Podman Desktop 安装后自带的默认 WSL-Fedora 子系统,支持与显卡通信&am…...

python_BeautifulSoup提取html中的信息

目录 描述: 过程: step one 下载html网页到本地 step two 提取html信息 list_con soup.select(.list-con) [0] li_list list_con.find_all(li) a li.find(span).find(a) title a.get(title) url a.get(href) span li.find(span).find(spa…...

pcd2pgm的launch文件实现

1.新建工作空间和克隆代码 mkdir -p pcd2pgm_launch/src && cd pcd2pgm_launch/src git clone https://github.com/Hinson-A/pcd2pgm_package 2. 编译 cd .. catkin_make -j4 3.修改launch 在launch文件目录下,可以用gedit 打开launch文件&#xff0c…...

Vue里面elementUi-aside 和el-main不垂直排列

先说解决方法 main.js少导包 import element-ui/lib/theme-chalk/index.css; //加入此行即可 问题复现 排查了一个小时终于找出来问题了,建议导包去看官方的文档,作者就是因为看了别人的导包流程导致的问题 导包官网地址Element UI导包快速入门...

论文阅读:2024 ACL ArtPrompt: ASCII Art-based Jailbreak Attacks against Aligned LLMs

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 Artprompt: Ascii art-based jailbreak attacks against aligned llms https://www.doubao.com/chat/3846685176618754 https://arxiv.org/pdf/2402.11753 https://github…...

项目maven版本不一致 导致无法下载

路程:打开一个新项目发现,maven加载不了 报错: Error running ‘dataManage [clean]’ No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your s…...

论文阅读:2024 NeurIPS Group Robust Preference Optimization in Reward-free RLHF

Group Robust Preference Optimization in Reward-free RLHF https://www.doubao.com/chat/3870738843518978 https://arxiv.org/pdf/2405.20304 速览 研究动机 传统RLHF忽视群体偏好差异,导致模型对少数群体表现不佳,需提升群体鲁棒性。研究问题 如…...

数据可视化平台产品介绍及功能特色

数据可视化平台是一款适用于高校教学和各领域企业的零门槛可视化工具,能够解决高校数据分析与可视化类课程教学、实训问题。平台通过浏览器即可访问,无需安装客户端。平台内置公式编辑器与指标构建器,学生可通过四则运算、分组聚合等方式衍生…...

MySQL索引优化、SQL分析与运行原理 - Java架构师面试实战

MySQL索引优化、SQL分析与运行原理 - Java架构师面试实战 第一轮提问 面试官:马架构,请问您对MySQL的B树索引有什么理解? 马架构:B树是一种平衡多路查找树,所有的数据节点都存储在叶子节点上。相比于B树&#xff0c…...

C++学习:六个月从基础到就业——STL:函数对象与适配器

C学习:六个月从基础到就业——STL:函数对象与适配器 本文是我C学习之旅系列的第二十九篇技术文章,也是第二阶段"C进阶特性"的第八篇,主要介绍C STL中的函数对象与适配器。查看完整系列目录了解更多内容。 引言 在前面的…...

Linux基础篇、第四章_02磁盘及分区管理fdisk 和 gdisk

题目:Linux 磁盘及分区管理 版本号: 1.0,0 作者: 老王要学习 日期: 2025.04.25 适用环境: Centos7 文档说明 本教程适用于 Centos7 环境,详细介绍 Linux 磁盘及分区管理操作。包含虚拟机添加磁盘的关机与开机添加方法、MBR 和 GPT 两种分区方式特点、…...

火山云的市场竞争

火山云是字节跳动旗下的云计算服务,对吧?那它的竞争对手应该包括国内外的大型云服务提供商。首先,国际市场上,像AWS、Azure、Google Cloud这些巨头肯定是大头。国内的话,阿里云、腾讯云、华为云这些应该都是主要的竞争…...

创建型设计模式之:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式

创建型设计模式之:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式 (一)简单工厂模式 简单工厂模式将对象的实例化过程封装到一个工厂类中,根据输入的条件创建不同类型的对象。 角色划分: 抽象产品…...

【Linux内核设计与实现】第三章——进程管理01

文章目录 1. 引言2. 进程&线程——概念3. 进程控制块/进程描述符(PCB)4. 进程内核栈(Kernel Stack)4.1. 进程内核栈的定义4.2. thread_info 体系结构相关进程描述4.3. 定位进程描述符(task_struct)和内核栈以及内核栈指针的问题 5. 进程 ID&#xff…...

正大模型视角下的市场结构判断逻辑

正大模型视角下的市场结构判断逻辑 在多数交易策略中,结构识别往往先于方向判断。以正大的数据研判风格为例,其核心逻辑是:价格行为不能孤立解读,必须结合时间与成交效率来判断当前结构的有效性。 例如,一个上涨过程&…...

4.25学习——文件上传之00截断

继昨天学习的基础文件上传内容,进一步学习文件上传的绕过方式 00截断绕过 原理:00截断是操作系统层的漏洞,由于操作系统是C语言或汇编语言编写的,这两种语言在定义字符串时,都是以\0(即0x00)作…...

黑马Redis(三)黑马点评项目

优惠卷秒杀 一、全局唯一ID 基于Redis实现全局唯一ID的策略: Component RequiredArgsConstructor public class RedisIdWorker {private static final Long BEGIN_TIMESTAMP1713916800L;private static final int COUNT_BITS 32;Resourceprivate final StringRed…...

dedecms织梦arclist标签noflag属性过滤多个参数

织梦dedecms系统arclist标签noflag属性默认是只能过滤一个参数,比如过滤推荐是noflagc,过滤有图片的文章是noflagc,在模板制作过程中,有时候我们为了seo和避免重复,需要过滤多个参数。今天小编就来跟大家讲讲织梦dedec…...

Jira、PingCode、Redmine等18款缺陷管理工具对比评测

本文主要介绍了以下:1. PingCode; 2. Worktile; 3. Jira; 4. Bugzilla; 5. TAPD; 6. 码云; 7. Redmine; 8. Trac; 9. 蓝鲸智云; 10. 阿里云效等等18款缺陷管理工具。 在现代软件开发和项目管理中,缺陷管理工具扮演着至关重要的角色。随着企业对软件质量的…...

京东以图搜图(拍立淘)API接口返回参数详解

京东以图搜图(拍立淘)API接口的返回参数通常以结构化JSON格式呈现,涵盖商品基础信息、相似度评分、库存状态及扩展字段,以下为关键参数详解及使用建议: 一、核心返回参数解析 状态标识类 status:请求状态…...

LSTM+KNN - 多元数据异常检测 !

大家好!我是我不是小 upper~ 今天想和大家分享一个超实用的案例:如何通过 LSTM 与 KNN 实现多元数据异常检测。 想象一下,在工厂的智能化监控场景中,各类传感器实时采集着温度、湿度、压力等海量数据。我们的目标,就是从中精准识别出设备潜在故障等异常情况。 LSTM 作为时…...

OpenHarmony之电源管理子系统公共事件定义

OpenHarmony之电源管理子系统公共事件定义 电源管理子系统面向应用发布如下系统公共事件,应用如需订阅系统公共事件,请参考公共事件接口文档。 COMMON_EVENT_BATTERY_CHANGED 表示电池充电状态、电平和其他信息发生变化的公共事件的动作。 值&#x…...

angular 实现可编辑可选择复制的表格

这个实现的核心就是ag-grid 当然有类似的库就不必多说&#xff0c;React, Vue和纯h5类似。简单贴一下代码 1.首先是h5部分&#xff0c;就一个id为supply-chain-material-grid-table的div&#xff0c;记住要设置高度 <div class"dki-supply-chain-page-body">…...

组织用户数统计实现

# 完整的组织用户数统计实现 完整的组织用户数统计实现&#xff0c;包括模拟SQL查询、完整的Java代码实现以及详细解释。 ## 1. 模拟SQL查询 假设我们有一个组织表(organization)和用户表(user)&#xff0c;以下是模拟查询SQL&#xff1a; sql -- 获取各组织及其用户数量&a…...

天机学堂day10作业,完善兑换优惠券功能

UserCouponServiceImpl /*** 兑换码兑换优惠券* param code*/TransactionalOverridepublic void exchangeCoupon(String code) {//1、校验code是否为空if (StringUtils.isBlank(code)) {throw new BadRequestException("非法参数&#xff01;");}//2、解析兑换码&…...

Python编程的真谛:超越语法,理解编程本质

你是否也曾陷入这样的误区&#xff1a;学了无数的 Python 语法、刷了几十套题&#xff0c;写起代码却仍然卡顿、举步维艰&#xff1f;这时候你才发现&#xff0c;真正阻碍进步的&#xff0c;从不是语法&#xff0c;而是你对“编程本质”的理解。 如果你只是死记硬背Python的语…...

C语言 函数补充

目录 static和extern函数 1.static和extern函数 static和extern都是C语言中的关键字 static 是 静态的 的意思&#xff0c;可以用来: - 修饰局部变量- 修饰全局变量- 修饰函数 extern 是用来声明外部符号的。 在讲解 static 和 extern 之前再讲一下: 作用域和生命周期。 …...

【AI图像创作变现】04实操路径—插图/绘本/创意图集

引言 如果说头像是“一个角色的起点”&#xff0c;那么插图、绘本和图集就是“这个角色能走多远”。相比于头像这种单图任务&#xff0c;插图类创作更强调批量性、叙事性与风格统一性&#xff0c;它既可以承载故事&#xff0c;也可以构成一套完整的内容产品结构。 这类任务特…...

Lesar: 面向 Lustre/Scade 语言的形式化模型检查工具

在《同步反应式系统》的第一课中&#xff0c;介绍了同步数据流语言 Lustre 生态中的形式化模型检查器 Lesar 的用法。Lesar 可对 lustre v4 语言以及 Scade 语言中部分数据流核心特性进行模型检查。 Lesar 介绍 Lesar 是 Verimag 研发维护的形式化方法模型检查工具。该工具的理…...

告别 “幻觉” 回答:RAG 中知识库与生成模型的 7 种对齐策略

一、引言 大语言模型&#xff08;LLM&#xff09;在文本生成领域展现出惊人能力&#xff0c;但 “幻觉” 问题&#xff08;生成虚构或偏离事实的内容&#xff09;始终是落地应用的核心挑战。检索增强生成&#xff08;RAG&#xff09;通过将外部知识库与 LLM 结合&#xff0c;形…...

【Web应用服务器_Tomcat】一、Tomcat基础与核心功能详解

在 Java Web 应用开发领域&#xff0c;Apache Tomcat 是一座不可或缺的基石。作为一款开源、轻量级的 Servlet 容器和 Web 服务器&#xff0c;Tomcat 以其稳定可靠、易于部署和高度可定制性&#xff0c;被广泛应用于各类 Web 应用的部署与运行。 一、Tomcat 简介​ Tomcat 是…...

Cesium实现地形可视域分析

Cesium实现可视化分析 一、地形可视域主要实现技术(Ray + 地形碰撞检测) Cesium 本身的 Ray 类可以用来执行非常精确的射线检测,我们可以结合地形高度(sample)来逐点检测光线是否与 terrain 相交,从而判断是否可见。 1.1 优势 实时判断每条射线是否被 terrain 遮挡地形…...

Java—— 常见API介绍 第五期

JDK8以后新增的时间相关类 Date类ZoneId&#xff1a;时区Instant&#xff1a;时间戳ZoneDateTime&#xff1a;带时区的时间 日期格式化类 SimpleDateFormat DateTimeFormatter&#xff1a;用于时间的格式化和解析 日历类 Calendar LocalDate&#xff1a;年、月、日LocalTime…...

ViewPager FragmentPagerAdapter在系统杀死应用后重建时UI不刷新的问题

解决方案 通过重写getItemId方法&#xff0c;返回Fragment的hashCode&#xff1a; Override public long getItemId(int position) {/*** 恢复状态重建时&#xff0c;新的 Fragment 不刷新UI。* 原因&#xff1a;instantiateItem 中通过 mFragmentManager.findFragmentByTag(…...

第3讲、大模型如何理解和表示单词:词嵌入向量原理详解

1. 引言 大型语言模型&#xff08;Large Language Models&#xff0c;简称LLM&#xff09;如GPT-4、Claude和LLaMA等近年来取得了突破性进展&#xff0c;能够生成流畅自然的文本、回答复杂问题、甚至编写代码。但这些模型究竟是如何理解人类语言的&#xff1f;它们如何表示和处…...

关于STM32f1新建工程

创建文件夹 首先创建一个存放工程的文件夹&#xff0c;建议建立在D&#xff0c;E盘 新建工程 在kiel5里面 找到刚刚建立的文件夹&#xff0c;然后在此文件夹里面新建一个文件夹用来存放本次工程&#xff0c;文件夹可以根据工程内容所编写&#xff0c;然后给自己工程也就是…...

Linux:进程间通信---匿名管道

文章目录 1. 进程间通信1.1 什么是进程间通信&#xff1f;1.2 为什么进程要进行进程间通信&#xff1f;1.3 怎么实现进程间通信&#xff1f; 2. 匿名管道2.1 匿名管道的原理2.2 匿名管道的系统接口2.3 匿名管道的使用2.4 匿名管道的运用场景 序&#xff1a;在上一篇文章中我们知…...

python代做推荐系统深度学习知识图谱c#代码代编神经网络算法创新

以下是针对推荐系统、深度学习、知识图谱和神经网络算法创新的代码框架及开发建议&#xff0c;适用于C#和Python的跨语言协作项目。以下内容分为几个部分&#xff0c;涵盖技术选型、代码示例和创新方向。 1. 推荐系统&#xff08;Python C#&#xff09; Python部分&#xff0…...