本書對(duì)開源網(wǎng)絡(luò)項(xiàng)目進(jìn)行了闡述,包括DPDK、OpenDaylight、TungstenFabric、OpenStackNeutron、容器網(wǎng)絡(luò)、ONAP、OPNFV等,主要圍繞各個(gè)項(xiàng)目的起源與發(fā)展、實(shí)現(xiàn)原理與框架、要解決的網(wǎng)絡(luò)問題等方面展開了討論。
郭瑞景:從事網(wǎng)絡(luò)與存儲(chǔ)開發(fā)工作,活躍于OpenStack、OpenDaylight、OPNFV等開源項(xiàng)目。
陸連浩:ONAP項(xiàng)目積極貢獻(xiàn)者,此前長(zhǎng)期從事Linux驅(qū)動(dòng)、嵌入式系統(tǒng)開發(fā)工作。
秦凱倫:OpenStack Neutron項(xiàng)目的活躍貢獻(xiàn)者。
徐琛杰:從事邊緣計(jì)算項(xiàng)目StarlingX網(wǎng)絡(luò)方面的開發(fā)。
應(yīng)若愚:從事網(wǎng)絡(luò)相關(guān)軟件開發(fā)和優(yōu)化工作,目前主要負(fù)責(zé)ONAP平臺(tái)開發(fā)。
丁亮:從事云ONAP相關(guān)的開發(fā)和集成工作。
朱禮波:活躍于OPNFV、ONAP等開源項(xiàng)目,此前從事虛擬化技術(shù)與GPU底層的開發(fā)與維護(hù)。
黃海濱:ONAP項(xiàng)目積極貢獻(xiàn)者,Multi-Cloud 和 VFC的Committer,在虛擬化和智能監(jiān)控領(lǐng)域發(fā)表6篇專利。
任橋偉:從事Linux內(nèi)核、OpenStack、Ceph等開源項(xiàng)目的開發(fā),著有《Linux內(nèi)核修煉之道》 《 Linux那些事兒》系列。
梁存銘:軟件架構(gòu)師,網(wǎng)絡(luò)數(shù)據(jù)面專家。主要從事研究數(shù)據(jù)面優(yōu)化、網(wǎng)絡(luò)設(shè)備虛擬化及系統(tǒng)架構(gòu)優(yōu)化。
胡雪焜:專注于虛擬化技術(shù)和基于IA架構(gòu)的數(shù)據(jù)面性能優(yōu)化,具有豐富的SDN/NFV商業(yè)實(shí)踐。
胡嘉瑜:主要從事網(wǎng)絡(luò)I/O虛擬化方面的工作。
王瀟:主要從事網(wǎng)絡(luò)虛擬化、云網(wǎng)絡(luò)硬件加速等技術(shù)的開發(fā)。
何少鵬:專注于網(wǎng)卡和I/O虛擬化,之前在云服務(wù)和網(wǎng)絡(luò)設(shè)備行業(yè)有十多年的從業(yè)經(jīng)驗(yàn)。
姚磊:主要從事DPDK虛擬化以及OVS的性能評(píng)估和分析工作。
倪紅軍:VPP Maintainer,Sweetcomb和NSH_SFC項(xiàng)目負(fù)責(zé)人。
吳菁菁:主要從事Intel平臺(tái)上網(wǎng)絡(luò)包處理加速工作。
陳兆彥:主要從事基于IA架構(gòu)的DPDK網(wǎng)絡(luò)系統(tǒng)的性能測(cè)試和分析,以及研究SDN/NFV方案,如對(duì)TungstenFabric vRouter的性能分析。
目錄
第1章 Linux開源網(wǎng)絡(luò) 1
1.1 開源網(wǎng)絡(luò)組織 1
1.1.1 云計(jì)算與三大基金會(huì) 1
1.1.2 LFN 3
1.2 網(wǎng)絡(luò)標(biāo)準(zhǔn)及架構(gòu) 4
1.2.1 OpenFlow 4
1.2.2 SDN 10
1.2.3 P4 14
1.2.4 ETSI的NFV參考架構(gòu) 17
1.3 Linux開源網(wǎng)絡(luò)生態(tài) 19
1.3.1 開源硬件 20
1.3.2 虛擬交換 21
1.3.3 Linux操作系統(tǒng) 22
1.3.4 網(wǎng)絡(luò)控制 23
1.3.5 云平臺(tái) 24
1.3.6 網(wǎng)絡(luò)編排 27
1.3.7 網(wǎng)絡(luò)數(shù)據(jù)分析 27
1.3.8 網(wǎng)絡(luò)集成 28
第2章 Linux虛擬網(wǎng)絡(luò) 29
2.1 TAP/TUN設(shè)備 30
2.2 Linux Bridge 32
2.3 MACVTAP 33
2.4 Open vSwitch 35
2.5 Linux Network Namespace 37
2.6 iptables/NAT 42
2.7 虛擬網(wǎng)絡(luò)隔離技術(shù) 45
2.7.1 虛擬局域網(wǎng)(VLAN) 45
2.7.2 虛擬局域網(wǎng)擴(kuò)展(VxLAN) 47
2.7.3 通用路由封裝GRE 49
2.7.4 通用網(wǎng)絡(luò)虛擬化封裝(Geneve) 50
第3章 高性能數(shù)據(jù)平面 52
3.1 高性能數(shù)據(jù)面基礎(chǔ) 54
3.1.1 內(nèi)核旁路 54
3.1.2 平臺(tái)增強(qiáng) 59
3.1.3 DPDK 65
3.2 NFV和NFC基礎(chǔ)設(shè)施 72
3.2.1 網(wǎng)絡(luò)功能虛擬化 72
3.2.2 從虛擬機(jī)到容器的網(wǎng)絡(luò)I/O虛擬化 78
3.2.3 NFVi平臺(tái)設(shè)備抽象 81
3.3 OVS-DPDK 86
3.3.1 OVS-DPDK 概述 86
3.3.2 OVS-DPDK性能優(yōu)化 93
3.4 FD.IO:用于報(bào)文處理的用戶面網(wǎng)絡(luò)協(xié)議棧 98
3.4.1 VPP 98
3.4.2 FD.IO子項(xiàng)目 101
3.4.3 與OpenDaylight 和OpenStack集成 107
3.4.4 vBRAS 109
第4章 網(wǎng)絡(luò)控制 112
4.1 OpenDaylight 114
4.1.1 ODL社區(qū) 114
4.1.2 ODL體系結(jié)構(gòu) 115
4.1.3 YANG 120
4.1.4 ODL子項(xiàng)目 122
4.1.5 ODL應(yīng)用實(shí)例 125
4.2 Tungsten Fabric 126
4.2.1 Tungsten Fabric體系結(jié)構(gòu) 126
4.2.2 Tungsten Fabric 轉(zhuǎn)發(fā)平面 134
4.2.3 Tungsten Fabric實(shí)踐 138
4.2.4 Tungsten Fabric應(yīng)用實(shí)例 145
4.2.5 Tungsten Fabric與OpenStack集成 146
第5章 OpenStack網(wǎng)絡(luò) 147
5.1 OpenStack網(wǎng)絡(luò)演進(jìn) 150
5.2 Neutron體系結(jié)構(gòu) 152
5.2.1 網(wǎng)絡(luò)資源模型 152
5.2.2 網(wǎng)絡(luò)實(shí)現(xiàn)模型 159
5.2.3 Neutron軟件架構(gòu) 164
5.3 Neutron Plugin 165
5.3.1 ML2 Plugin 165
5.3.2 Service Plugin 170
5.4 Neutron Agent 174
第6章 容器網(wǎng)絡(luò) 177
6.1 容器 177
6.1.1 容器技術(shù)框架 180
6.1.2 Docker 184
6.1.3 Kubernetes 188
6.2 Kubernetes網(wǎng)絡(luò) 196
6.2.1 Pod內(nèi)部的容器間通信 196
6.2.2 Pod間通信 197
6.2.3 Pod與Service之間的網(wǎng)絡(luò)通信 199
6.2.4 Kubernetes外界與Service之間的網(wǎng)絡(luò)通信 202
6.3 Kubernetes CNI 202
6.4 Service Mesh 209
6.4.1 Sidecar模式 211
6.4.2 開源Service Mesh方案 213
6.5 OpenStack容器網(wǎng)絡(luò)項(xiàng)目Kuryr 217
6.5.1 Kuryr起源 217
6.5.2 Kuryr架構(gòu) 217
第7章 網(wǎng)絡(luò)編排與集成 221
7.1 ETSI NFV MANO 221
7.1.1 ETSI標(biāo)準(zhǔn)化進(jìn)展 221
7.1.2 OASIS TOSCA 223
7.1.3 開源編排器 224
7.2 ONAP 228
7.2.1 ONAP基本框架 230
7.2.2 ONAP應(yīng)用場(chǎng)景 234
7.3 OPNFV 237
7.3.1 OPNFV上游 238
7.3.2 OPNFV項(xiàng)目 245
7.3.3 OPNFV CI 251
7.3.4 OPNFV典型用例 252