年度总结|eBPF的2023之旅
倪朋飞
你好,我是倪朋飞。
不知不觉,2024 年已经悄然而至,为过去的 2023 年划上了句号。每到年底,我都喜欢回顾一下过去一年的旅程,看看发生了哪些事情、有什么收获和遗憾,并期待着未来。对于 eBPF 的学习和应用也是如此,在本讲中,我将带你回顾一下 eBPF 在 2023 年所经历的旅程,探寻其中发生的事情、取得的成果以及存在的遗憾,并展望未来值得期待之处。
eBPF 内核的新进展
作为 Linux 内核的一部分,让我们先来看看 eBPF 在 2023 年中有哪些新变化。
Linux 内核在 2023 年主要发布了 6.2-6.6 这几个版本,每个版本都为 eBPF 引入了大量的新特性。具体来说,每个版本引入的主要特性包括:
Linux 6.2 为 eBPF 添加了自定义对象、可睡眠程序以及把 struct task_struct 和 struct cgroup 对象用作内核指针(kptrs)等,并为 bpf prog load|loadall 命令支持了自动挂载 eBPF 程序的功能,大大简化了 eBPF 程序的加载过程。
Linux 6.3 为 eBPF 添加了红黑树数据结构以及 HID 设备的支持等,并把 kprobe 支持的参数数量扩展到了 8 个。
Linux 6.4 为 eBPF 添加了通用迭代器、新的 netfilter 程序类型以及 kfunc 64 位指针等,并为 kptrs 扩展了 RCU、共享所有权、更多的 BPF 映射支持等多种功能特性。
Linux 6.5 为 eBPF 添加了套接字销毁、eBPF 子程序和回调精度传播以及加载 XDP 程序时指定网络接口名字等,并新增了一系列方便易用的动态指针(dynptr)帮助函数。
Linux 6.6 为 eBPF 添加了 uprobe 多挂载,通过文件描述符将 BPF 程序挂载到 TC 程序(TC Extension,简称 TCX)等,并允许用户为 TC bpf_sk_assign 设置 SO_REUSEPORT 选项。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
2023 年是 eBPF 技术发展的重要一年。Linux 内核的 6.2-6.6 版本相继发布,为 eBPF 引入了众多新特性,包括自定义对象、红黑树数据结构、套接字销毁等,使得 eBPF 在内核中仍然是最活跃的模块之一。同时,eBPF 生态系统也取得了长足的进展,Cilium 项目成为了 CNCF 基金会的明星项目,而开源社区中的多个项目也取得了重大进展。此外,eBPF 技术成为了技术会议的热门话题,吸引了更多人加入到 eBPF 中来。总的来说,eBPF 技术在 2023 年取得了长足的发展,成为了网络、监控和安全等领域解决方案的构建标准,为云原生领域的基石技术。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《eBPF 核心技术与实战》,新⼈⾸单¥59
《eBPF 核心技术与实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 鑫鑫请问为什么ebpf 通过性能事件获取事件信息,而不是通过map?我知道map获取一些交互的内容,为什么map 不能作为事件信息的获取?而是采用性能事件?2024-03-13归属地:浙江
- Geek_644bec辛苦老师在持续更新课程,我会一直关注下去!老师能否对比一下国内厂商在eBPF上的实践,另外还有基于eBPF的无侵入式调用链的前景2024-02-23归属地:广东
收起评论