第1章
DPU概述
什么是DPU · DPU与CPU/GPU的区别 · 典型应用场景:云计算、网络安全、存储加速
概念入门
第2章
数据平面基础
数据平面与控制平面区别 · 核心功能:包处理、转发、过滤 · 性能指标:吞吐量、延迟、线速
基础性能
第3章
DPU硬件架构
芯片内部组成:ARM核、硬件加速器、网络接口 · PCIe与主机通信 · 内存与缓存架构
硬件架构
第4章
开发环境搭建
硬件平台准备 · 软件工具链:SDK、编译器、驱动 · Hello World验证环境
环境实操
第5章
P4语言入门
P4概述 · 编程模型:解析器、匹配-动作流水线 · 数据类型与基本语法
P4语言
第6章
P4解析器编程
解析器作用 · 以太网帧解析 · IP/TCP/UDP头解析 · 自定义协议解析
P4解析
第7章
P4匹配-动作表
表定义与配置 · 精确/通配符匹配 · Action编程 · 表项添加与删除
P4表
第8章
P4控制流编程
条件语句 · 状态寄存器与元数据 · 计数器与计量器 · 克隆与丢弃
P4控制
第9章
P4实战:二层交换机
MAC地址学习 · 转发逻辑 · 广播与洪泛 · 测试验证
实战交换机
第10章
P4实战:三层路由
IP路由表 · 最长前缀匹配(LPM) · ARP协议 · 路由转发实现
实战路由
第11章
P4实战:ACL防火墙
访问控制列表 · 规则匹配与优先级 · 状态检测 · 性能优化
实战安全
第12章
P4实战:负载均衡器
哈希与会话保持 · 服务器池管理 · 健康检查 · 一致性哈希
实战负载均衡
第13章
DPDK基础
DPDK概述与优势 · 环境搭建 · 大页内存 · UIO/VFIO驱动绑定
DPDK基础
第14章
DPDK核心概念
内存池(Mempool) · 环形缓冲区(Ring) · 无锁队列 · 轮询模式PMD
DPDK核心
第15章
DPDK包处理
rte_eth_rx_burst/tx_burst · 流水线设计 · 多核分发与负载均衡
DPDK包处理
第16章
DPDK实战:包转发
L2转发程序 · 性能调优:缓存对齐、批量处理 · pktgen测试
实战DPDK
第17章
DPDK与P4结合
P4编译到DPDK · 运行时架构 · 表项下发与数据面交互 · 性能对比
P4+DPDK集成
第18章
硬件卸载技术
流表卸载 · 隧道封装卸载(VXLAN/GRE) · 加密卸载(IPSec/TLS)
硬件卸载
第19章
DPU网络虚拟化
SR-IOV原理 · VF分配与直通 · OVS-DPDK集成 · 容器CNI插件
虚拟化网络
第20章
DPU存储加速
NVMe over Fabric · iSCSI/NFS卸载 · 压缩去重 · SPDK框架
存储加速
第21章
DPU安全加速
IPSec VPN卸载 · TLS/SSL终止 · DPI加速 · 信任根与安全启动
安全加速
第22章
DPU编程模型对比
P4 vs eBPF vs OpenFlow · 适用场景 · 性能与灵活性权衡 · 选型建议
对比选型
第23章
eBPF与XDP基础
eBPF架构 · XDP原理 · eBPF程序编写与加载 · eBPF Map操作
eBPFXDP
第24章
eBPF实战:XDP包过滤
XDP丢弃/转发特定包 · XDP与DPDK对比 · 性能测试
实战eBPF
第25章
DPU与智能网卡
智能网卡演进 · DPU与SmartNIC关系 · 主流产品:BlueField、IPU、Pensando
产品对比
第26章
DPU在云计算中的应用
虚拟机网络加速(VPC) · 裸金属网络 · 云原生数据面 · 边缘计算
云计算应用
第27章
DPU性能调优
CPU亲和性与隔离 · 中断合并与轮询 · 内存带宽优化 · perf/vtune
调优性能
第28章
DPU调试与故障排查
日志系统 · tcpdump/tshark抓包 · 硬件计数器 · 常见问题解决
调试排查
第29章
DPU编程最佳实践
代码组织与模块化 · 版本控制CI/CD · 单元测试 · 文档与社区
实践工程
第30章
综合项目:DPU加速云网关
需求分析 · 架构设计 · P4数据面 · DPDK控制面 · 性能测试与总结
项目综合