eBPF 核心技术与实战
倪朋飞
资深 Linux 专家,Kubernetes 项目维护者
10452 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 26 讲/共 37 讲
eBPF 核心技术与实战
15
15
1.0x
00:00/00:00
登录|注册

年度总结|eBPF的2023之旅

你好,我是倪朋飞。
不知不觉,2024 年已经悄然而至,为过去的 2023 年划上了句号。每到年底,我都喜欢回顾一下过去一年的旅程,看看发生了哪些事情、有什么收获和遗憾,并期待着未来。对于 eBPF 的学习和应用也是如此,在本讲中,我将带你回顾一下 eBPF 在 2023 年所经历的旅程,探寻其中发生的事情、取得的成果以及存在的遗憾,并展望未来值得期待之处。

eBPF 内核的新进展

作为 Linux 内核的一部分,让我们先来看看 eBPF 在 2023 年中有哪些新变化。
Linux 内核在 2023 年主要发布了 6.2-6.6 这几个版本,每个版本都为 eBPF 引入了大量的新特性。具体来说,每个版本引入的主要特性包括:
Linux 6.2 为 eBPF 添加了自定义对象、可睡眠程序以及把 struct task_structstruct 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
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 鑫鑫
    请问为什么ebpf 通过性能事件获取事件信息,而不是通过map?我知道map获取一些交互的内容,为什么map 不能作为事件信息的获取?而是采用性能事件?
    2024-03-13归属地:浙江
  • Geek_644bec
    辛苦老师在持续更新课程,我会一直关注下去!老师能否对比一下国内厂商在eBPF上的实践,另外还有基于eBPF的无侵入式调用链的前景
    2024-02-23归属地:广东
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部