編輯推薦
本書不僅深入淺齣地介紹瞭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 電子書