首页 > 其他分享 >ebpf发展简史

ebpf发展简史

时间:2024-12-01 12:44:19浏览次数:9  
标签:发展 字节 ebpf eBPF BPF 简史 内核 linux 运行

前言

极客时间 eBPF 核心技术与实战 的学习笔记.
本章简单介绍一下 eBPF 的发展和概述

正文

eBPF发展历史

注意区分 BPF 和 eBPF

提案

1992年 USENUX 会议上提出BPF机制来在 linux 中进行包过滤

  • 在内核态中引入虚拟机执行 BPF 指令
  • 在用户态使用 BPF 字节码来进行表达式的自定义, 然后交由内核态中的虚拟机来执行
  • 因为直接在内核态进行过滤, 避免了每个包都复制到用户态, 相比传统方式提高了性能

加入

linux 2.1.75(1997年)版本中首次引入了 BPF 技术
linux 3.0(2011年)替换了原先的 BPF 解释器,进一步提升了运行效率

eBPF

linux 3.18(2014年) BPF 升级为 eBPF, 将BPF虚拟机由原来的包过滤功能扩大到支持通用功能
linux 4.x 继续迭代 eBPF, 先后支持了 函数/跟踪点/性能事件/安全控制 等, eBPF快速发展

eBPF 工作方式

eBPF只有在需要触发时(事件触发)才会执行, 比如 系统调用/网络事件 等等, 现如今, eBPF 几乎可以在系统的任意部分进行插桩

运行流程

  1. 将 eBPF 程序转换成 BPF 字节码
  2. BPF 系统接受到 BPF 字节码
  3. BPF 系统检查 BPF 字节码是否安全和可靠(避免影响系统正常运行)
  4. 提交到即时编译器执行

典型的不安全程序逻辑

  • 包含无限循环
  • 可能导致内核崩溃
  • 在有限时间内不能运行完成

数据传输

用户编写的 eBPF 程序一般分为两部分, 在用户态运行的部分负责逻辑处理, 而在内核态运行的部分负责对数据进行抓取和简单筛选, 而后传输给用户态部分.
如何在两个态之间进行数据的传输? 答案是 BPF 映射(map)

eBPF限制

常见的 eBPF 限制

  • eBPF程序必须经过安全性校验, 验证失败则不允许执行
  • 必须是特权进程执行
  • 不能随意调用系统内核函数, 只能调用在 BPF 系统中定义的 API
  • eBPF 自带的栈空间只有512字节, 想要更大的存储, 只能使用 map(BPF 映射)
  • linux 内核的升级, 可能会导致之前的eBPF 程序运行错误, 可能需要调整源码或者重新编译
  • eBPF 程序最好在 linux内核版本大于 4.9 以上的系统运行, 最好是 5.x 及以上(截止到2024年12月1日, linux内核的稳定版本是 6.12.1)

标签:发展,字节,ebpf,eBPF,BPF,简史,内核,linux,运行
From: https://www.cnblogs.com/chnmig/p/18579688

相关文章

  • 数字技术助力电力行业低碳化发展路径及典型场景研究报告汇总PDF洞察(附原数据表)
    原文链接:https://tecdat.cn/?p=36371在全球应对气候变化的大背景下,中国积极推进“双碳”战略,一场深刻的能源与经济变革正在展开。本报告合集汇总聚焦于能源领域多方面的关键议题,深入剖析其现状与发展趋势。能源作为中国碳排放的主导因素,火电占比过高致使排放问题突出,而电力行业......
  • 深度学习发展历史
    https://www.bookstack.cn/read/paddlepaddle-tutorials/spilt.3.3d52d8126c99cb7b.mdhttps://www.jianshu.com/p/2a5936c2a6ddhttps://mp.weixin.qq.com/s?__biz=MjM5ODIwNjEzNQ==&mid=2649897645&idx=3&sn=c07201a34c8f3b5e01d86a578e3653ac&chksm=bf95b0......
  • 有回老家发展的打算吗?
    对于这个问题,没有一个统一的答案,它取决于很多因素,例如:你的老家在哪里?一线城市、二线城市、三线城市或者更小的城镇,它们在经济发展水平、就业机会、薪资待遇等方面都有很大的差异。你老家的IT行业发展情况如何?是否有相关的IT企业,市场需求如何,竞争是否激烈,这些都会影响你的就......
  • DevOps 平台越发展,开发运维越快失业?
    随笔从千万粉丝“何同学”抄袭开源项目说起,为何纯技术死路一条?数据源的统一与拆分监控报警系统的指标、规则与执行闭环我们的系统应该配置哪些监控报警项?监控报警系统如何实现自监控?java老矣,尚能饭否?一骑红尘妃子笑,无人知是荔枝来!张居正的考成法,对我们有何参考价......
  • 课题组自主发展了哪些CMAQ模式预报相关的改进技术?
    空气污染问题日益受到各级政府以及社会公众的高度重视,从实时的数据监测公布到空气质量数值预报及预报产品的发布,我国在空气质量监测和预报方面取得了一定进展。随着计算机技术的高速发展、空气污染监测手段的提高和人们对大气物理化学过程认识的深入,开发并利用先进的大气化学模......
  • 身份证OCR 识别 API 接口的发展前景
    随着信息时代的到来,大量的身份证数据需要进行整理、存储和管理,OCR识别技术可以将身份证信息转化为结构化的电子文本,方便后续的数据管理和分析,提高工作效率。未来,随着人工智能和深度学习等技术的不断发展,身份证OCR识别技术将进一步完善和应用,为各行各业的身份验证和信息管理......
  • SpringBoot 与夕阳红公寓管理系统融合:创新模式与发展前景
    4系统设计系统的设计一切都是为了用户的使用,虽然用户使用过程中可能只是面对着浏览器进行各种操作,但是不代表着系统对于用户在浏览器上的操作不进行处理,所以说,设计一个系统需要考虑到方方面面。4.1功能结构设计图4.1即为设计的管理员功能结构,管理员权限操作的功能包括......
  • 微控制器的发展史
    微控制器(Microcontroller,MCU)自其诞生以来,经历了数十年的技术革新,不断推动现代电子设备的智能化与小型化。以下是微控制器的发展历程及其在不同时期的主要创新点:1.起源(1970年代)1971年,Intel推出了首款微处理器Intel4004。虽然它是微处理器而非微控制器,但为MCU的发展奠定了基......
  • 企业动态 | 天津见合八方展望SOA技术未来,推动光感知领域创新发展
    近日,备受瞩目的首届分布式光纤传感技术及应用大会(DOFS2024)在江苏南京隆重举行。作为国内分布式光纤传感技术的重要参与者,天津见合八方光电科技有限公司(以下简称“天津见合八方”)荣幸参加此次盛会,发表SOA主题演讲,并与来自全国各地的专家学者、企业代表齐聚一堂,深入交流分布式光......
  • [低碳生活-绿色家园]2025年城市工程与低碳发展国际会议(ICUELCD 2025)
    ......