Skip to content

XDP 教程中文翻译版

高性能可编程数据包处理实战教程

关于本教程

本仓库包含一个教程,旨在向你介绍有效编写 Linux 内核中 eXpress Data Path(XDP)系统程序所需的基本步骤。XDP 提供与内核集成的高性能可编程数据包处理能力。

什么是 XDP?

XDP 是上游 Linux 内核的一部分,使用户能够将数据包处理程序安装到内核中,这些程序将在内核对数据进行任何其他处理之前,针对每个到达的数据包执行。程序使用受限的 C 语言编写,并编译成 eBPF 字节码格式,在经过安全验证后在内核中执行并进行 JIT 编译。

有关 XDP 的一般介绍,请阅读 学术论文 (pdf)Cilium BPF 参考指南

课程组织方式

本教程分为多个课程,按类别分组:

  • 基础设置(basic01-04):学习编译、加载和管理 BPF 程序
  • 数据包处理(packet01-03):学习解析、重写和重定向数据包
  • 追踪调试(tracing01-04):学习调试和监控 XDP 程序
  • 高级主题(advanced01, 03):探索 XDP 与 TC 交互、AF_XDP 等

我们建议你从 "basic" 课程开始,并按数字顺序学习每个类别中的课程。

快速开始

  1. 首先阅读 安装依赖 指南
  2. 设置 测试环境
  3. Basic01 - 加载第一个 BPF 程序 开始学习

致谢

本教程翻译自 xdp-project/xdp-tutorial,感谢原作者的贡献。