新闻详情

新闻详情

首页 / 资讯中心 / 详情

从零入门:eBPF 是什么、解决什么问题以及它的历史

发布时间:2026/9/6 8:14:21来源:尧图网络
从零入门:eBPF 是什么、解决什么问题以及它的历史
eBPF 全称extended Berkeley Packet Filter扩展的伯克利包过滤器一、什么是 eBPFeBPFextended Berkeley Packet Filter是一种运行在 Linux 内核中的安全、可编程执行环境允许用户在不修改内核源码、不加载内核模块的前提下动态地向内核关键路径注入自定义逻辑。需要注意的是虽然名字里仍然叫Packet Filter但现代 eBPF 早已不限于网络包过滤而是被广泛用于内核可观测性Tracing / Profiling高性能网络XDP / TC系统与容器安全LSM eBPF内核功能扩展二、为什么会有 eBPF在理解 eBPF 之前先看一个根本问题Linux 内核很强但长期以来“不好改、难观察、扩展危险”。1. 内核不好扩展传统上如果你想在内核中加入逻辑只有几种方式修改内核源码并重新编译编写内核模块.ko这些方式的问题非常明显开发和调试成本极高一个 bug 就可能导致 kernel panic内核版本差异巨大兼容性差在云环境中通常禁止加载内核模块“在内核里写点逻辑”是一件高风险的事。2. 内核长期是一个“黑盒”在生产环境中我们经常想知道某个系统调用为什么变慢了哪个进程在频繁进行 IO网络包到底在哪一层被丢弃了传统工具的局限printk性能开销巨大strace只能观察用户态perf / ftrace灵活性和可编程性有限缺少一种“低成本、可编程、可动态加载”的内核观测手段。3. 网络路径过长性能浪费严重经典 Linux 网络路径NIC → 内核网络栈 → Netfilter → TC → Socket → 用户态问题在于路径层级多每层都有函数调用和锁防火墙 / ACL / LB 决策点太靠后如果能在“最早的位置”处理包性能会好很多。4. 安全机制不够灵活传统安全方案SELinux / AppArmor配置复杂规则静态难以做实时、细粒度控制现代系统需要“可编程 实时”的安全能力。三、eBPF 的核心目标一句话概括 eBPF 的初心在不修改内核、不写内核模块的前提下安全地、动态地、以极低开销在内核中执行用户逻辑。它解决问题的方式主要体现在三点用户态编写程序内核负责安全验证程序可以动态加载和卸载不需要重启逻辑运行在关键路径上性能极高因此eBPF 常被称为Linux 内核的“插件系统”四、BPF 和 eBPF 有什么区别1. 先有 BPFClassic BPFBPF 最早诞生于 1990 年代目标非常单一高效过滤网络包tcpdump / libpcap特点指令集极其简单只能访问包数据无状态、无循环仅用于网络过滤它本质上是一个内核里的规则匹配引擎。2. eBPF借了名字换了灵魂eBPFextended BPF并不是在 cBPF 上“打补丁”而是一次彻底重构对比项cBPFeBPF使用范围网络包过滤整个内核计算能力极弱通用受限计算状态无Map 支持状态JIT部分完整安全模型简单静态 VerifiereBPF 是一个“安全的内核态虚拟机”。五、eBPF 的历史演进1. 1992–1997BPF 的诞生提出者McCanne Jacobson背景tcpdump 性能问题目标把过滤逻辑放进内核 BPF 高性能包过滤器2. 2000–2010BPF 的“沉寂期”功能受限无法扩展仅作为抓包工具的底层实现 BPF 一度被认为已经“走到头了”。3. 2013–2014eBPF 的诞生关键人物Alexei Starovoitov决策彻底重写 BPF 体系引入64 位寄存器 VM静态 VerifierJIT 编译BPF Map这是 eBPF 的真正起点。4. 2015–2016Tracing 成为第一个杀手级应用kprobe / tracepoint 支持Brendan Gregg 推广 eBPF tracing成果execsnoopbiolatencyopensnoopeBPF 首次在生产环境大规模落地。5. 2016–2017XDP 推动网络方向爆发需求高 PPS、DDoS 防护XDP在驱动层运行 eBPF效果百万 / 千万 PPS极低延迟eBPF 从“观察”走向“决策”。6. 2018–2019云原生时代的成熟内核版本碎片化引入 BTF CO-RE结果编译一次到处运行工程可用性大幅提升7. 2020–至今平台化与未来eBPF LSM安全Cilium、Falco 等项目用户态 eBPF、硬件卸载eBPF 已成为内核级基础设施。六、一句话总结BPF 是为“过滤包”而生eBPF 是被“内核可扩展性需求”逼出来的。它的演进路径是包过滤 → 内核观察 → 路径加速 → 动态安全 → 内核插件平台
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

特斯拉Model3车身控制器BCM全拆解2-1:从结构到PCB硬件布局大揭秘,怎么会有两个BCM 2026/9/5 15:40:39

特斯拉Model3车身控制器BCM全拆解2-1:从结构到PCB硬件布局大揭秘,怎么会有两个BCM

车身控制模块(BCM)是汽车车身电气的 “大脑”,统筹车身所有外设的控制与通信,而特斯拉 Model3 作为新能源汽车的标杆车型,其 BCM 设计思路更是汽车电子工程师的重要参考。本文从 BCM 核心定位、安装布局、硬件外观、PC…

阅读更多 →
单片机毕设项目:基于 STM32 的 10 档可调蓝牙智能感应台灯设计 基于 STM32 的环境光与人感检测智能照明系统实现(018304) 2026/9/5 19:34:18

单片机毕设项目:基于 STM32 的 10 档可调蓝牙智能感应台灯设计 基于 STM32 的环境光与人感检测智能照明系统实现(018304)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

阅读更多 →
单片机毕设项目:基于 STM32 的按键可控式智能窗帘风扇联动系统设计 基于 STM32 单片机的室内环境实时监测与智能执行系统设计(018204) 2026/9/4 13:59:01

单片机毕设项目:基于 STM32 的按键可控式智能窗帘风扇联动系统设计 基于 STM32 单片机的室内环境实时监测与智能执行系统设计(018204)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

阅读更多 →

最新相关资讯

国内有哪些ai产品? 2026/9/6 8:11:27

国内有哪些ai产品?

当前国内面向办公场景的AI产品数量较多,分属完全不同的产品形态。很多企业选型容易混淆问答工具、长文档工具和可执行任务的智能体平台,仅按知名度采购,上线后发现无法对接现有工作流、不能交付闭环成果。企业做产品发现,核心不是…

阅读更多 →
Cheat Engine入门指南:从内存修改到游戏脚本开发 2026/9/6 8:11:27

Cheat Engine入门指南:从内存修改到游戏脚本开发

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI 电动牙刷智能功率 电源管理、控制辅助的完整选型方案 2026/9/6 8:11:27

AI 电动牙刷智能功率 电源管理、控制辅助的完整选型方案

随着 AI 技术在电动牙刷中的深度渗透(如智能压力感应、刷牙模式自适应、能量优化管理),牙刷对功率 MOSFET 提出更高要求:低电压、低功耗、小封装、高可靠性。微碧半导体(VBsemi)基于 Trench 和 SGT 工艺&am…

阅读更多 →
测试行业进化:从手工测试到质量工程的职业发展路径 2026/9/6 8:11:27

测试行业进化:从手工测试到质量工程的职业发展路径

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
ConstraintLayout核心用法详解(四):ConstraintSet、MotionLayout与Flow 2026/9/6 8:11:26

ConstraintLayout核心用法详解(四):ConstraintSet、MotionLayout与Flow

整理旧电脑上的一些笔记 前言 ConstraintLayout 核心用法详解(一):相对定位、边距、偏移与环形定位ConstraintLayout核心用法详解(二):尺寸约束与链约束ConstraintLayout核心用法详解(三&#…

阅读更多 →
DApp定制开发|助力企业布局Web3生态 2026/9/6 8:08:26

DApp定制开发|助力企业布局Web3生态

DApp定制开发|助力企业布局Web3生态 随着Web3技术不断发展,越来越多企业开始探索去中心化应用的商业价值。DApp作为连接区块链技术与实际业务的重要应用形式,正在金融、游戏、数字资产、社交等多个领域发挥重要作用。 我们专注于DApp定制开发…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞