当前位置:首页 > 工业技术
DPDK应用基础
DPDK应用基础

DPDK应用基础PDF电子书下载

工业技术

  • 电子书积分:9 积分如何计算积分?
  • 作 者:唐宏,柴卓原,任平,王勇等编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2016
  • ISBN:9787115426048
  • 页数:190 页
图书介绍:本书分为基础概述、DPDK测试方法和应用开发及实例解析三个部分。其中,第一部分简要介绍了DPDK技术原理、相关库函数及DPDK的安装部署和调试方法。第二部分阐述了DPDK在NFV中的应用场景,并通过16个基于DPDK的测试用例说明了NFV转发性能调优的最佳实践和测试结果。第三部分叙述了基于DPDK的应用案例解析,通过DPI、mTCP和BRAS等应用实例解析如何基于DPDK来开发上层应用。
《DPDK应用基础》目录

第一部分 基础原理 3

第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.3.2 运行示例应用程序 47

4.3.3 应用程序的逻辑核使用 47

4.3.4 应用程序巨页内存使用 48

4.3.5 其他应用示例程序 48

4.3.6 测试应用程序 48

4.4 启用其他功能 49

4.4.1 高精度事件计时器(HPET)功能 49

4.4.2 无权限运行DPDK应用程序 49

4.4.3 电源管理和节能功能 50

4.4.4 核隔离功能 50

4.4.5 加载DPDK KNI内核模块 50

4.4.6 IOMMU功能 51

4.4.7 小数据分组高速转发功能 51

4.5 快速启动设置脚本 52

4.5.1 脚本组织结构 52

4.5.2 使用场景 53

第5章 DPDK自带应用软件调试 54

5.1 命令行应用例 54

5.1.1 概述 54

5.1.2 应用例编译 55

5.1.3 应用例运行 55

5.1.4 代码说明 55

5.2 HelloWorld应用例 56

5.2.1 应用例编译 57

5.2.2 运行应用例 57

5.2.3 代码说明 57

5.3 L2转发应用例 58

5.3.1 概述 58

5.3.2 编译 59

5.3.3 运行 59

5.3.4 代码说明 60

5.4 L3转发应用例 65

5.4.1 概述 65

5.4.2 L3转发应用例编译 65

5.4.3 L3转发应用例运行 65

5.4.4 代码说明 66

5.5 负载均衡应用例 69

5.5.1 概述 69

5.5.2 编译与运行 70

5.5.3 代码说明 70

5.6 QoS调度应用例 72

5.6.1 QoS调度应用例概述 72

5.6.2 QoS调度应用例编译 72

5.6.3 QoS调度应用例运行 73

5.6.4 应用例代码说明 75

5.7 定时器应用例 76

5.7.1 应用例编译与运行 76

5.7.2 应用例代码说明 76

5.8 分发器应用例 78

5.8.1 概述 78

5.8.2 分发器应用例编译 79

5.8.3 分发器应用例运行 79

5.8.4 分发器应用例代码说明 79

5.8.5 调试与统计信息 80

参考文献 80

第二部分 DPDK应用与测试 83

第6章 DPDK在NFV的应用和相关测试方法 83

6.1 DPDK在NFV中的应用场景 83

6.1.1 x86服务器上的应用 83

6.1.2 虚拟机+OVS的应用 84

6.1.3 虚拟机+SR-IOV技术的应用 86

6.2 NFV场景下的测试方法 87

6.2.1 测试拓扑 87

6.2.2 测试标准 88

6.2.3 测试平台说明 89

第7章 DPDK专项测试与结论 92

7.1 测试用例介绍 92

7.2 专项测试详情 93

7.2.1 x86服务器三层转发测试 93

7.2.2 SR-IOV测试 108

7.2.3 OVS测试 126

第三部分 DPDK应用开发及实例解析 135

第8章 DPDK应用开发基础 135

8.1 网卡设备 135

8.1.1 设备驱动 135

8.1.2 应用接口 136

8.1.3 设备接口 137

8.2 进程 145

8.2.1 线程 145

8.2.2 单进程 146

8.2.3 多进程 147

参考文献 149

第9章 vDPI应用实例 150

9.1 DPI简介 150

9.2 总体设计 151

9.2.1 模型设计 151

9.2.2 组件设计 151

9.3 实现方案设计 152

9.4 基于l3fwd的实现方案 153

9.4.1 DPDK以太网接口 153

9.4.2 DPI以太网接口 154

9.4.3 DPDK与DPI的数据接口转换 155

9.4.4 代码解析 155

9.5 基于pipeline的实现方案 157

9.6 实例运行及性能测试 158

参考文献 159

第10章 mTCP和BRAS应用实例 160

10.1 mTCP案例解析 160

10.1.1 mTCP简介 160

10.1.2 mTCP应用解析 161

10.2 BRAS案例解析 165

10.2.1 BRAS简介 165

10.2.2 BRAS应用解析 166

参考文献 168

附录 171

附录一 操作系统服务关闭说明 171

附录二 操作系统安装 172

附录三 DPDK编译 173

附录四 操作系统启动参数 174

附录五 l3fwd程序编译 175

附录六 l3fwd启动配置 178

附录七 SR-IOV测试配置 181

附录八 OVS安装 183

附录九 OVS测试配置 184

附录十 l3fwd在不同流量下启动配置 187

附录十一 大流表测试l3fwd启动配置 190

相关图书
作者其它书籍
返回顶部