
深入浅出DPDK
¥25.00
作品简介
近年来,随着网络技术的不断创新和市场的发展,越来越多的网络设备基础架构开始向基于通用处理器平台的架构方向融合,期望用更低的成本和更短的产品开发周期来提供多样的网络单元和丰富的功能,如应用处理、控制处理、包处理、信号处理等。为了适应这一新的产业趋势, 英特尔公司联合第三方软件开发公司及时推出了基于Intel® x86架构DPDK (Data Plane Development Kit,数据平面开发套件) 实现了高效灵活的包处理解决方案。经过近6年的发展,DPDK已经发展成支持多种高性能网卡和多通用处理器平台的开源软件工具包,并在成为通用处理器平台上影响力最大的数据平面解决方案。
本书汇聚了最资深的DPDK技术专家精辟见解和实战体验,详细介绍了DPDK技术发展趋势,数据包处理,硬件加速技术,包处理和虚拟化 ,以及DPDK 技术在SDN,NFV ,网络存储等领域的实际应用。文中还使用大量的篇幅讲解各种核心软件算法,最先进的数据优化思想,大量详尽的实战心得和使用指南。作为国内第一本全面的阐述网络数据面的核心技术的书籍,本书主要面向IT 网络通讯行业的从业人员,以及大专院校的学生,用通俗易懂的文字打开了一扇通向新一代网络处理架构的大门。
作品目录
序言
引言
作者介绍
第一部分 DPDK基础篇
第1章 认识DPDK
1.1 主流包处理硬件平台
1.2 初识DPDK
1.3 解读数据包处理能力
1.4 探索IA处理器上最艰巨的任务
1.5 软件包处理的潜力——再识DPDK
1.6 从融合的角度看DPDK
1.7 实例
1.8 小结
第2章 Cache和内存
2.1 存储系统简介
2.2 Cache系统简介
2.3 Cache地址映射和变换
2.4 Cache的写策略
2.5 Cache预取
2.6 Cache一致性
2.7 TLB和大页
2.8 DDIO
2.9 NUMA系统
第3章 并行计算
3.1 多核性能和可扩展性
3.2 指令并发与数据并行
3.3 小结
第4章 同步互斥机制
4.1 原子操作
4.2 读写锁
4.3 自旋锁
4.4 无锁机制
4.5 小结
第5章 报文转发
5.1 网络处理模块划分
5.2 转发框架介绍
5.3 转发算法
5.4 小结
第6章 PCIe与包处理I/O
6.1 从PCIe事务的角度看包处理
6.2 PCIe上的数据传输能力
6.3 网卡DMA描述符环形队列
6.4 数据包收发——CPU和I/O的协奏
6.5 PCIe的净荷转发带宽
6.6 Mbuf与Mempool
6.7 小结
第7章 网卡性能优化
7.1 DPDK的轮询模式
7.2 网卡I/O性能优化
7.3 平台优化及其配置调优
7.4 队列长度及各种阈值的设置
7.5 小结
第8章 流分类与多队列
8.1 多队列
8.2 流分类
8.3 流分类技术的使用
8.4 可重构匹配表
8.5 小结
第9章 硬件加速与功能卸载
9.1 硬件卸载简介
9.2 网卡硬件卸载功能
9.3 DPDK软件接口
9.4 硬件与软件功能实现
9.5 计算及更新功能卸载
9.6 分片功能卸载
9.7 组包功能卸载
9.8 小结
第二部分 DPDK虚拟化技术篇
第10章 X86平台上的I/O虚拟化
10.1 X86平台虚拟化概述
10.2 I/O透传虚拟化
10.3 PCIe网卡透传下的收发包流程
10.4 I/O透传虚拟化配置的常见问题
10.5 小结
第11章 半虚拟化Virtio
11.1 Virtio使用场景
11.2 Virtio规范和原理
11.3 Virtio网络设备驱动设计
11.4 小结
第12章 加速包处理的vhost优化方案
12.1 vhost的演进和原理
12.2 基于DPDK的用户态vhost设计
12.3 DPDK vhost编程实例
12.4 小结
第三部分 DPDK应用篇
第13章 DPDK与网络功能虚拟化
13.1 网络功能虚拟化
13.2 OPNFV与DPDK
13.3 NFV的部署
13.4 VNF部署的形态
13.5 VNF自身特性的评估
13.6 VNF的设计
13.7 实例解析和商业案例
13.8 小结
第14章 Open vSwitch(OVS)中的DPDK性能加速
14.1 虚拟交换机简介
14.2 OVS简介
14.3 DPDK加速的OVS
14.4 小结
第15章 基于DPDK的存储软件优化
15.1 基于以太网的存储系统
15.2 以太网存储系统的优化
15.3 SPDK介绍
15.4 小结
附录A 缩略词
附录B 推荐阅读