Skip to Content
学习 eBPF
book

学习 eBPF

by Liz Rice
May 2025
Beginner to intermediate
236 pages
2h 52m
Chinese
O'Reilly Media, Inc.
Book available
Content preview from 学习 eBPF

第 11 章 eBPF 的未来发展

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

eBPF 尚未完成!和大多数软件一样,它在 Linux 内核中也在持续开发中,而且还在不断被添加到 Windows 操作系统中。在本章中,我们将探讨这项技术未来可能的发展方向。

自从在 Linux 内核中引入以来,BPF 已经发展成为自己的子系统,拥有自己的邮件列表和维护者。1随着 eBPF 越来越受欢迎,Linux 内核社区对它的兴趣也越来越浓厚,因此成立一个中立机构来协调相关各方的工作就显得尤为重要。这个机构就是 eBPF 基金会。

eBPF 基金会

eBPF 基金会于 2021 年由谷歌、Isovalent、Meta(当时名为 Facebook)、微软和 Netflix 在 Linux 基金会的支持下成立。该基金会作为一个中立机构,可以持有资金和知识产权,以便各商业公司可以相互合作。

其意图是不改变任何有关 Linux 内核社区和 Linux BPF 子系统贡献者开发 eBPF 技术的方式。基金会的活动由 BPF 指导委员会指导,该委员会完全由构建该技术的技术专家组成,包括 Linux 内核 BPF 维护者和其他核心 eBPF 项目的代表。

eBPF 基金会专注于作为技术平台的 eBPF 以及支持 eBPF 开发的工具生态系统。建立在 eBPF 基础之上、寻求中立所有权的项目可能会在其他基金会找到更好的归宿。例如,Cilium、Pixie 和 Falco 都是 CNCF 的一部分,这是有道理的,因为它们都打算用于云原生环境。

除了现有的 Linux 维护者之外,推动这一合作的关键因素之一是微软有意在 Windows 操作系统中开发 eBPF。这就需要为 eBPF 定义一个标准、2这样,为一种操作系统编写的程序就可以在另一种操作系统上使用。这项工作正在 eBPF 基金会的支持下进行。

Windows 版 eBPF

微软支持Windows eBPF 的工作正在顺利进行。当我在 2022 年的最后几个月写这篇文章时,已经有功能演示显示 Cilium 第 4 层负载均衡和基于 eBPF 的连接跟踪在 Windows 上运行。

我曾经说过,eBPF 编程就是内核编程,乍一看,一个写在 Linux 内核中运行并能访问 Linux 内核数据结构的程序,无论如何都能在一个完全不同的操作系统中运行,这似乎有些不直观。但实际上,特别是在网络方面,所有操作系统都有很多共同点。不管是在 Windows 还是 Linux 机器上创建的网络数据包,其结构都是一样的,网络堆栈的各层也必须以同样的方式处理。

您还会记得,eBPF 程序由一组字节码指令组成,这些指令由内核中的虚拟机(VM)处理。虚拟机也可以在 Windows 中实现!

图 11-1显示了 eBPF for Windows 的架构概览,摘自该项目的 GitHub repo。从图中可以看出,Windows 版 eBPF 重用了现有 eBPF 生态系统中的一些开源组件,如libbpf,以及 Clang 中用于生成 eBPF 字节码的支持。Linux 内核采用 GPL 许可,而 Windows 则是专有的,因此 Windows 项目无法重复使用 Linux 内核实现校验器的任何部分。3取而代之的是使用PREVAIL 校验器uBPF JIT编译器(两者都获得了许可,因此可以被更多项目和组织使用)。

图 11-1. 适用于 Windows 的 eBPF 结构概述,改编自 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

深入淺出代數

深入淺出代數

Tracey Pilone, Dan Pilone
Rust程序设计

Rust程序设计

Jim Blandy, Jason Orendorff, Leonora F. S. Tindall
GPT-3

GPT-3

Sandra Kublik, Shubham Saboo
算法精讲视频课程:24篇系列讲座

算法精讲视频课程:24篇系列讲座

罗伯特·塞奇威克, 凯文·韦恩(Kevin Wayne)

Publisher Resources

ISBN: 9798341657823Supplemental Content