• Linux高性能网络详解 从DPDK、RDMA到XDP
  • Linux高性能网络详解 从DPDK、RDMA到XDP
  • Linux高性能网络详解 从DPDK、RDMA到XDP
  • Linux高性能网络详解 从DPDK、RDMA到XDP
  • Linux高性能网络详解 从DPDK、RDMA到XDP
  • Linux高性能网络详解 从DPDK、RDMA到XDP
21年品牌 40万+商家 超1.5亿件商品

Linux高性能网络详解 从DPDK、RDMA到XDP

正版保障 假一赔十 电子发票

61.9 5.2折 118.8 全新

库存100件

四川成都
认证卖家担保交易快速发货售后保障

作者刘伟

出版社人民邮电出版社

ISBN9787115609649

出版时间2023-04

装帧平装

开本16开

定价118.8元

货号1202824058

上书时间2024-12-23

瀚东书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
商品简介

《Linux高性能网络详解:从DPDK、RDMA到XDP》主要介绍了DPDK、RDMA和XDP三种高性能网络技术的原理、使用方法和实现方案。

《Linux高性能网络详解:从DPDK、RDMA到XDP》总计26章,分为四大部分。第1部分介绍了计算机网络、计算机硬件和Linux操作系统的基础知识,以及软件和硬件之间传递信息的方式、以内核协议栈为基础的网络方案和Corundum。第2部分介绍了DPDK的入门知识、DPDK的内存管理、UIO/DPDK的基本使用方法、测试和分析高性能网卡,以及如何为Corundum编写DPDK驱动程序。第3部分包括RDMA技术简介、软件架构、基本元素、基本操作类型及其配套机制、传输服务类型、应用程序执行流程、主要元素的实现、数据传输、RoCEv2网卡的配置、性能测试工具等内容。第4部分包括XDP简介、XDP教程代码分析、简单的XDP性能测试、如何让网卡驱动程序支持XDP功能等内容。

《Linux高性能网络详解:从DPDK、RDMA到XDP》适合对高性能网络技术感兴趣的软件和硬件开发工程师、系统工程师、网络性能分析人员阅读。



作者简介
刘伟,拥有14年网络设备开发领域的从业经验,当前就职于浪潮电子信息产业股份有限公司体系结构研究部,负责高性能网卡的架构设计和驱动程序开发工作。在此之前,曾以驱动团队和网络接入设备产品开发负责人的身份在上海诺基亚贝尔固网事业部工作了7年;还曾经就职于中兴通讯和上海爱吉信息技术有限公司,负责多款通信产品的研发工作。平时喜欢钻研技术和读书,并经常在自己的个人公 众号“布鲁斯的读书圈”中发表原创的技术文章。

目录
第1部分 背景知识

第1章 计算机网络概述3

1.1 计算机网络的定义和构成3

1.2 计算机网络的体系结构4

1.3 常见术语6

第2章 计算机硬件10

2.1 中央处理器10

2.1.1 处理器体系结构11

2.1.2 Cache12

2.1.3 NUMA17

2.2 存储器19

2.3 总线19

2.4 网卡22

第3章 Linux操作系统25

3.1 Linux操作系统的诞生和发展25

3.2 用户态和内核态27

3.3 虚拟地址、物理地址和页表28

3.4 用户空间和内核空间30

3.5 Linux内核的组成31

3.5.1 Linux内核源代码的目录结构31

3.5.2 Linux内核的主要组成部分32

3.6 Linux设备驱动程序35

第4章 软件和硬件之间传递信息的方式37

4.1 寄存器37

4.2 数据缓存38

4.3 队列和描述符39

4.4 中断43

4.5 DMA46

第5章 内核协议栈方案及其存在的问题47

5.1 内核协议栈方案的工作过程47

5.2 内核协议栈方案的数据流49

5.3 内核协议栈方案的缺点50

第6章 Corundum——一个开源的基于FPGA的100G网卡方案51

6.1 Corundum方案简介51

6.2 Corundum的队列54

6.3 Corundum的Linux网络设备驱动程序解析56

6.3.1 驱动程序源码概览57

6.3.2 驱动程序的编译和使用57

6.3.3 驱动程序的加载和注册58

6.3.4 驱动程序和设备的匹配59

6.3.5 初始化阶段60

6.3.6 打开网络接口72

6.3.7 数据发送75

6.3.8 中断处理81

6.3.9 发送完成处理85

6.3.10 数据接收89

第2部分 DPDK

第7章 认识DPDK97

7.1 为什么需要DPDK97

7.2 DPDK体系结构98

7.2.1 核心组件98

7.2.2 轮询模式驱动100

7.3 一个典型的DPDK应用程序102

第8章 DPDK的内存管理104

8.1 影响数据包处理速度的内存问题104

8.2 大页105

8.2.1 在Linux系统中预留和配置大页105

8.2.2 DPDK的大页管理106

8.3 mempool111

8.4 通道和rank113

8.5 DPDK使用的内存管理技巧总结114

第9章 UIO——DPDK的基石115

9.1 UIO驱动程序的构成115

9.2 应用程序和UIO的交互方式118

9.3 UIO驱动程序的API119

9.4 DPDK如何使用UIO120

第10章 DPDK的基本使用方法123

10.1 编译DPDK123

10.2 使用dpdk-testpmd进行数据包转发测试123

10.2.1 运行环境和连接方式124

10.2.2 使用Linux以太网驱动程序运行dpdk-testpmd125

10.2.3 使用轮询模式驱动程序运行dpdk-testpmd129

10.3 使用pktgen测试Mellanox ConnectX-4 LX 10G网卡132

10.3.1 硬件环境132

10.3.2 软件版本132

10.3.3 安装Mellanox网卡驱动程序132

10.3.4 编译和安装DPDK133

10.3.5 “回环+转发”测试133

10.3.6 编译pktgen138

10.3.7 “外部发包+本地转发”测试138

10.3.8 测试过程中可能遇到的问题及解决方法141

第11章 测试和分析高性能网卡142

11.1 关于DDR访问速率的思考和测试142

11.1.1 硬件配置和软件版本143

11.1.2 DDR理论速率144

11.1.3 内存性能测试工具mbw145

11.1.4 单核测试146

11.1.5 多核测试148

11.2 基于100G网卡的单核和多核测试150

11.2.1 硬件配置150

11.2.2 软件版本和配置150

11.2.3 单核测试150

11.2.4 双核测试152

11.2.5 测试结果总结153

11.3 使用Intel VTune Profiler定量分析DPDK154

11.3.1 硬件环境和软件版本154

11.3.2 Intel VTune Profiler的下载和安装155

11.3.3 测试模型155

11.3.4 重新编译安装DPDK155

11.3.5 使用Intel VTune Profiler启动和监控dpdk-testpmd156

11.3.6 开始产生和发送数据包159

11.3.7 统计和分析159

第12章 为Corundum编写DPDK驱动程序163

12.1 Corundum DPDK驱动程序的组成164

12.2 注册和打开调试日志164

12.2.1 DPDK的日志级别164

12.2.2 Corundum DPDK驱动程序的日志165

12.3 Corundum DPDK驱动程序的注册167

12.4 Corundum DPDK驱动程序的初始化168

12.5 启动队列173

12.6 数据发送176

12.7 编写驱动程序时的注意事项179

第3部分 RDMA

第13章 RDMA技术简介185

13.1 RDMA的控制通路和数据通路185

13.2 RDMA的优势188

13.3 RDMA协议189

13.3.1 InfiniBand190

13.3.2 RoCE190

13.3.3 iWARP192

13.4 RDMA网络构成192

13.5 LID和GID194

13.5.1 LID194

13.5.2 GID195

第14章 RDMA软件架构198

14.1 rdma-core198

14.2 内核RDMA子系统199

14.3 RDMA软件架构总览201

第15章 RDMA基本元素202

15.1 WQ和WQE202

15.2 QP和QPN203

15.3 CQ和CQN205

15.4 WR和WC206

15.5 RDMA基本元素总结207

第16章 RDMA基本操作类型及其配套机制208

16.1 Send和Receive208

16.2 RDMA Write209

16.3 RDMA Read210

16.4 其他RDMA操作类型212

16.5 RDMA操作类型总结213

16.6 Memory Region214

16.6.1 MR的基本概念215

16.6.2 MR的作用之一215

16.6.3 MR的作用之二216

16.6.4 MR的作用之三217

16.7 PD218

16.8 Doorbell机制219

16.9 RDMA各种元素的实体形式220

第17章 RDMA传输服务222

17.1 传输服务维度一——可靠 不可靠222

17.2 传输服务维度二——连接 数据报223

17.3 传输服务类型225

第18章 一个简单的RDMA应用程序229

18.1 程序的执行和输出229

18.2 代码执行流程230

第19章 RDMA主要元素的实现234

19.1 分配PD234

19.2 注册MR240

19.2.1 代码执行流程分析240

19.2.2 注册MR的具体工作242

19.2.3 硬件查表获取MR物理地址的过程246

19.2.4 MR相关的软硬件行为汇总248

19.3 创建CQ249

19.3.1 代码执行流程分析249

19.3.2 CQ buffer的组织形式253

19.3.3 CQ Context的组织形式255

19.3.4 硬件获取CQE地址的过程257

19.3.5 CQ相关的软硬件行为汇总258

19.4 创建QP258

19.4.1 代码执行流程分析258

19.4.2 QP buffer的组织形式263

19.4.3 QP Context的组织形式264

19.5 修改QP265

19.5.1 应用程序修改QP265

19.5.2 代码执行流程分析267

19.5.3 硬件获取WQE地址的过程270

第20章 进行一次数据传输272

20.1 发起数据传输——RDMA Write272

20.1.1 应用程序发起数据传输272

20.1.2 代码执行流程分析273

20.2 确认数据传输完毕——轮询CQ276

20.3 软件和硬件行为汇总277

第21章 RoCEv2网卡的MAC、IP和GID279

21.1 RoCEv2网卡的GID279

21.2 向RoCEv2网卡配置自己的MAC、IP和GID281

21.2.1 获取RoCEv2网卡自己的MAC281

21.2.2 获取RoCEv2网卡自己的IP地址281

21.2.3 配置RoCEv2网卡自己的0号GID281

21.2.4 配置RoCEv2网卡自己的非0号GID282

21.3 向RoCEv2网卡配置对端设备的MAC、IP和GID282

21.3.1 应用程序获取本地和对端设备的0号GID283

21.3.2 应用程序获取对端设备的非0号(3号)GID284

21.3.3 向RoCEv2网卡配置对端设备的MAC地址284

21.3.4 向RoCEv2网卡配置对端设备的IP地址285

第22章 RDMA性能测试工具—perftest286

22.1 源码获取和安装286

22.2 测试方法和注意事项286

22.3 测试选项287

22.4 简单的测试过程和结果呈现289

第4部分 XDP

第23章 XDP简介293

23.1 什么是BPF和eBPF293

23.2 XDP系统架构294

23.2.1 XDP程序的执行流程295

23.2.2 BPF map297

第24章 XDP教程代码分析298

24.1 xdp-tutorial代码获取和编译298

24.2 基础课程299

24.2.1 XDP程序的加载和卸载299

24.2.2 按名称加载SEC301

24.2.3 使用BPF map302

24.2.4 多程序交流和共享304

24.3 数据包处理课程308

24.3.1 解析数据包308

24.3.2 改写数据包311

24.3.3 重定向313

第25章 简单的XDP性能测试319

25.1 测试方法319

25.2 测试流程和命令320

25.3 测试结果321

25.4 测试结果分析321

第26章 让网卡驱动程序支持XDP功能322

26.1 XDP代码在网卡驱动中的位置322

26.2 数据包的准备323

26.3 返回值的处理323

附录A 在Linux系统中查找各种核的对应关系325

附录B 关于内存性能测试工具mbw的问题分析331

附录C 简单分析memcpy的代码优化方法335

附录D 用线性回归方法计算CPU频率338

内容摘要
《Linux高性能网络详解:从DPDK、RDMA到XDP》主要介绍了DPDK、RDMA和XDP三种高性能网络技术的原理、使用方法和实现方案。
《Linux高性能网络详解:从DPDK、RDMA到XDP》总计26章,分为四大部分。第1部分介绍了计算机网络、计算机硬件和Linux操作系统的基础知识,以及软件和硬件之间传递信息的方式、以内核协议栈为基础的网络方案和Corundum。第2部分介绍了DPDK的入门知识、DPDK的内存管理、UIO/DPDK的基本使用方法、测试和分析高性能网卡,以及如何为Corundum编写DPDK驱动程序。第3部分包括RDMA技术简介、软件架构、基本元素、基本操作类型及其配套机制、传输服务类型、应用程序执行流程、主要元素的实现、数据传输、RoCEv2网卡的配置、性能测试工具等内容。第4部分包括XDP简介、XDP教程代码分析、简单的XDP性能测试、如何让网卡驱动程序支持XDP功能等内容。《Linux高性能网络详解:从DPDK、RDMA到XDP》适合对高性能网络技术感兴趣的软件和硬件开发工程师、系统工程师、网络性能分析人员阅读。

主编推荐
源自作者十多年高性能网络设备领域的开发经验总结
细致剖析Linux高性能网络主流解决方案以及开发细节 
涵盖DPDK和RDMA等当下热点技术,同时涉及前沿的XDP技术
源码级教学,图示软硬件交互流程,实现方法翔实齐全,可直接用于业务实践,提升高性能网络开发能力

本书主要内容:
第1部分,背景知识
介绍网络基本概念、计算机硬件构成、Linux操作系统、软硬件之间的信息传递方式、内核协议栈方案及其存在的问题,并详细讲解了开源网卡解决方案Corundum的实现机制。
第2部分,DPDK
介绍DPDK技术,具体内容包括DPDK简介、内存管理、UIO机制、基本使用方法等,并测试和分析DPDK的性能,以及为Corundum编写DPDK驱动程序。
第3部分,RDMA
介绍RDMA技术,内容包括其软件架构、基本元素、基本操作类型及其配套机制、传输服务、RDMA主要元素的实现等。
第4部分,XDP
介绍XDP的基本概念、实现机制、使用方法,以及如何在Linux设备驱动中支持XDP功能。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP