编辑推荐
本书不仅深入浅出地介绍了DPDK的基础原理和安装调试方法,还详细介绍了DPDK在NFV中的应用场景和测试方法,并叙述了DPDK应用开发的技术细节和实践经验,是DPDK的入门必读,是了解NFV加速转发技术的**指南。
内容简介
本书不仅深入浅出地介绍了DPDK的基础原理和安装调试方法,还详细介绍了DPDK在NFV中的应用场景和测试方法,并叙述了DPDK应用开发的技术细节和实践经验,是DPDK的入门必读,是了解NFV加速转发技术的**指南。
作者简介
唐宏,男,中国电信股份有限公司广州研究院数据通信研究所所长,主要从事IP承载网、下一代互联网、网络新技术方面的研发与管理工作。
目录
目录
第一部分 基础原理
第 1 章 背景概述........................................................................................................ 3
1.1 产业背景.................................................................................................................. 3
1.1.1 x86 架构性能分析..............................................................................................4
1.1.2 NFV 中的网络转发性能分析..............................................................................5
1.1.3 DPDK 的引入.......................................................................................................7
1.1.4 本书范围............................................................................................................... 8
1.2 DPDK 开源社区.................................................................................................. 9
1.2.1 社区起源............................................................................................................... 9
1.2.2 社区网站............................................................................................................. 10
1.3 DPDK 源代码...................................................................................................... 11
1.3.1 版本总述............................................................................................................. 11
1.3.2 最新版本特性介绍.............................................................................................12
参考文献........................................................................................................................... 13
第 2 章 DPDK 技术简介.............................................................................................. 14
2.1 软件架构................................................................................................................. 14
2.2 巨页技术.................................................................................................................. 16
2.3 轮询技术.................................................................................................................. 16
2.4 CPU 亲和技术........................................................................................................ 16
2.5 DPDK 性能影响因素........................................................................................ 17
2.5.1 硬件结构............................................................................................................. 17
2.5.2 OS 版本及其内核...............................................................................................18
2.5.3 OVS 性能问题.................................................................................................... 20
2.5.4 内存管理............................................................................................................. 20
2.5.5 CPU 核间无锁通信 ............................................................................................22
2.5.6 目标 CPU 类型的正确设置 ...............................................................................22
第 3 章 DPDK 库函数.................................................................................................. 23
3.1 EAL 库................................................................................................................. 24
3.1.1 内核初始化与启动.............................................................................................24
3.1.2 内存..................................................................................................................... 25
3.1.3 多线程与亲和性.................................................................................................25
3.2 Ring 库.................................................................................................................. 26
3.2.1 单消费者入队..................................................................................................... 26
3.2.2 单消费者出队..................................................................................................... 28
3.3 Mempool 库 ......................................................................................................... 29
3.4 mbuf 库 .................................................................................................................. 30
3.4.1 数据存储............................................................................................................. 30
3.4.2 缓冲区分配与释放.............................................................................................31
3.4.3 相关操作............................................................................................................. 31
3.5 PMD 驱动........................................................................................................... 31
3.5.1 需求与设计......................................................................................................... 31
3.5.2 配置..................................................................................................................... 32
3.6 IVSHMEM 库........................................................................................................ 32
3.6.1 API 概述 ............................................................................................................. 33
3.6.2 环境配置............................................................................................................. 34
3.7 Timer 库.................................................................................................................... 34
3.8 LPM 库..................................................................................................................... 34
3.8.1 API 概述 ............................................................................................................. 35
3.8.2 实现说明............................................................................................................. 35
3.9 Hash 库................................................................................................................. 36
3.9.1 API 概述 ............................................................................................................. 36
3.9.2 实现说明............................................................................................................. 36
3.10 多进程支持....................................................................................................... 37
3.10.1 内存共享............................................................................................................. 38
3.10.2 局限性................................................................................................................. 38
参考文献........................................................................................................................... 39
第 4 章 DPDK 安装与部署.................................................................................... 40
4.1 系统要求.............................................................................................................. 40
4.1.1 BIOS 设置要求................................................................................................... 40
4.1.2 DPDK 编译要求................................................................................................. 40
4.1.3 运行 DPDK 应用程序要求................................................................................41
4.2 使用源代码编译 DPDK............................................................................................. 43
4.2.1 安装 DPDK 安装包............................................................................................43
4.2.2 安装 DPDK 目标环境........................................................................................43
4.2.3 查看已安装的 DPDK 环境................................................................................44
4.2.4 启用 DPDK 用户空间 I/O 的模块.....................................................................44
4.2.5 加载 VFIO 模块.................................................................................................. 45
4.2.6 在内核模块绑定/解除网络端口........................................................................45
4.3 编译和运行示例应用程序...............................................................................46
4.3.1 编译示例应用程序.............................................................................................46
4
DPDK应用基础 电子书 下载 mobi epub pdf txt