Linux开源网络全栈详解:从DPDK到OpenFlow(博文视点出品)pdf下载

Linux开源网络全栈详解:从DPDK到OpenFlow(博文视点出品)百度网盘pdf下载

作者:
简介:Linux开源网络全栈详解:从DPDK到OpenFlow(博文视点出品)
出版社:
出版时间:2019-06
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

适读人群 :本书是对开源网络技术一个较为全面的阐述,非常适合互联网应用的开发者、架构师和创业者作为案头参考书,尤其对互联网架构师们是一个非常好的开源技术典籍。

DPDK\OpenFlow\SDN\OpenDaylight\OpenStack\容器\Kubernetes网络\ Service Mesh等,堪称5G时代基础技术集!

《Linux开源网络全栈详解:从DPDK到OpenFlow》基于Linux基金会将开源网络技术划分的层次框架,对处于主导地位的、较为流行的开源网络项目进行阐述,主要介绍各个项目的起源发展及背后故事、实现原理与框架、要解决的网络问题,力争用轻松的语言对开源网络进行多方位、深层次的揭秘:

● 开源网络组织及生态

● OpenFlow

● Linux虚拟网络

● 高性能数据平面

● OpenDaylight

● OpenStack网络

● Kubernetes网络

● Service Mesh

● 网络编排与集成

内容简介

《Linux开源网络全栈详解:从DPDK到OpenFlow》基于Linux基金会划分的开源网络技术层次框架,对处于主导地位的、较为流行的开源网络项目进行阐述,包括DPDK、OpenDaylight、Tungsten Fabric、OpenStack Neutron、容器网络、ONAP、OPNFV等。本书内容主要围绕各个项目的起源与发展、实现原理与框架、要解决的网络问题等方面展开讨论,致力于帮助读者对Linux开源网络技术的实现与发展形成完整、清晰的认识。本书语言通俗易懂,能够带领读者快速走入Linux开源网络的世界并做出自己的贡献。

《Linux开源网络全栈详解:从DPDK到OpenFlow》适合参与Linux开源网络项目开发的读者阅读,也适合互联网应用的开发者、架构师和创业者参考。


作者简介

郭瑞景:从事网络与存储开发工作,活跃于OpenStack、OpenDaylight、OPNFV等开源项目。

陆连浩:ONAP项目积极贡献者,此前长期从事Linux驱动、嵌入式系统开发工作。

秦凯伦:OpenStack Neutron项目的活跃贡献者。

徐琛杰:从事边缘计算项目StarlingX网络方面的开发。

应若愚:从事网络相关软件开发和优化工作,目前主要负责ONAP平台开发。

丁亮:从事云ONAP相关的开发和集成工作。

朱礼波:活跃于OPNFV、ONAP等开源项目,此前从事虚拟化技术与GPU底层的开发与维护。

黄海滨:ONAP项目积极贡献者,Multi-Cloud 和 VFC的Committer,在虚拟化和智能监控领域发表6篇专利。

任桥伟:从事Linux内核、OpenStack、Ceph等开源项目的开发,著有《Linux内核修炼之道》 《 Linux那些事儿》系列。

梁存铭:软件架构师,网络数据面专家。主要从事研究数据面优化、网络设备虚拟化及系统架构优化。

胡雪焜:专注于虚拟化技术和基于IA架构的数据面性能优化,具有丰富的SDN/NFV商业实践。

胡嘉瑜:主要从事网络I/O虚拟化方面的工作。

王潇:主要从事网络虚拟化、云网络硬件加速等技术的开发。

何少鹏:专注于网卡和I/O虚拟化,之前在云服务和网络设备行业有十多年的从业经验。

姚磊:主要从事DPDK虚拟化以及OVS的性能评估和分析工作。

倪红军:VPP Maintainer,Sweetcomb和NSH_SFC项目负责人。

吴菁菁:主要从事Intel平台上网络包处理加速工作。

陈兆彦:主要从事基于IA架构的DPDK网络系统的性能测试和分析,以及研究SDN/NFV方案,如对TungstenFabric vRouter的性能分析。


精彩书评

推荐序一

Network functions are rapidly transforming from being delivered on proprietary, purpose-built hardware to capabilities running on intelligent and composable infrastructure. We are transforming the network from a statically configured and inflexible offering, to a network which can be provisioned to specific end users, specific verticals and specific needs on a standard server-based infrastructure. Greater customer value is being derived from this flexibility and programmability.

The foundation of the 5G network requires an intelligent infrastructure built on NFV and SDN-based architecture that takes advantage of server volume economics, virtualization and cloud technologies. This enables new services to be deployed more quickly and cost effectively. Intel has a growing portfolio of products and technologies that deliver solutions to help network transformation, bringing advanced performance and intelligence from the network edge to the core of the data center.

Open source software is one key part of the portfolio, which unlocks the platform capabilities of the network for packet processing. Intel invented the Data Plane Development Kit (DPDK), later co-founded as an open source project, and currently leads its growth with the community, helping make DPDK a de-facto standard for packet processing. In addition to DPDK, Intel has significantly contributed to other important open source projects, including Open Virtual Switch (OVS), FD.io, Vector Packet Processing (VPP) for network stack, Tungsten Fabric (TF) for virtual router, and HYPERSCAN for pattern matching.

We have a skilled and committed team in China who have contributed to these open source projects over the years, and continue to collaborate with our partners in these communities to solve challenging network problems. As a good linkage with the Chinese ecosystem, it is with great pride that the team presents this book as a resource to help contributors who want to get involved, influence communities, and drive continued innovation.

Sandra Rivera

Senior Vice President and General Manager

Network Platforms Group

Intel 5G Executive Sponsor

推荐序二

The rise of Cloud and Edge computing has brought about a shift in networking technology. Increasingly, purpose-built physical systems are being replaced with flexible, adaptable solutions built on open source technology. Open software is driving the innovation that powers this evolution, with Software-Defined Networking (SDN) and network function virtualization paving the way for tremendous growth in connected services.

Intel is a strong contributor to open source software across technologies and market segments. Intel has been a leader in advancing the open networking ecosystem, contributing to projects such as the Data Plane Development Kit (DPDK) for data plane acceleration; Open Virtual Switch (OVS) and Vector Packet Processing (VPP) for virtual switch; OpenStack Neutron, OpenDaylight (ODL) and Tungsten Fabric (TF) for SDN; the Open Networking Automation Platform (ONAP) for orchestration and automation; and Open Platform Network Function Virtualization (OPNFV).

This book draws from the deep experience of Intel software engineers who work in open source networking communities and discusses how these projects fit as part of a complete stack for cloud infrastructure. We are proud to offer this resource to help contributors who want to get involved, influence communities, and drive continued innovation.

Imad Sousou

Corporate Vice President, Intel Corporation

General Manager, Intel System Software Products


目录

第1章 Linux开源网络 1
1.1 开源网络组织 1
1.1.1 云计算与三大基金会 1
1.1.2 LFN 3
1.2 网络标准及架构 4
1.2.1 OpenFlow 4
1.2.2 SDN 10
1.2.3 P4 14
1.2.4 ETSI的NFV参考架构 17
1.3 Linux开源网络生态 19
1.3.1 开源硬件 20
1.3.2 虚拟交换 21
1.3.3 Linux操作系统 22
1.3.4 网络控制 23
1.3.5 云平台 24
1.3.6 网络编排 27
1.3.7 网络数据分析 27
1.3.8 网络集成 28
第2章 Linux虚拟网络 29
2.1 TAP/TUN设备 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 虚拟网络隔离技术 45
2.7.1 虚拟局域网(VLAN) 45
2.7.2 虚拟局域网扩展(VxLAN) 47
2.7.3 通用路由封装GRE 49
2.7.4 通用网络虚拟化封装(Geneve) 50
第3章 高性能数据平面 52
3.1 高性能数据面基础 54
3.1.1 内核旁路 54
3.1.2 平台增强 59
3.1.3 DPDK 65
3.2 NFV和NFC基础设施 72
3.2.1 网络功能虚拟化 72
3.2.2 从虚拟机到容器的网络I/O虚拟化 78
3.2.3 NFVi平台设备抽象 81
3.3 OVS-DPDK 86
3.3.1 OVS-DPDK 概述 86
3.3.2 OVS-DPDK性能优化 93
3.4 FD.IO:用于报文处理的用户面网络协议栈 98
3.4.1 VPP 98
3.4.2 FD.IO子项目 101
3.4.3 与OpenDaylight 和OpenStack集成 107
3.4.4 vBRAS 109
第4章 网络控制 112
4.1 OpenDaylight 114
4.1.1 ODL社区 114
4.1.2 ODL体系结构 115
4.1.3 YANG 120
4.1.4 ODL子项目 122
4.1.5 ODL应用实例 125
4.2 Tungsten Fabric 126
4.2.1 Tungsten Fabric体系结构 126
4.2.2 Tungsten Fabric 转发平面 134
4.2.3 Tungsten Fabric实践 138
4.2.4 Tungsten Fabric应用实例 145
4.2.5 Tungsten Fabric与OpenStack集成 146
第5章 OpenStack网络 147
5.1 OpenStack网络演进 150
5.2 Neutron体系结构 152
5.2.1 网络资源模型 152
5.2.2 网络实现模型 159
5.2.3 Neutron软件架构 164
5.3 Neutron Plugin 165
5.3.1 ML2 Plugin 165
5.3.2 Service Plugin 170
5.4 Neutron Agent 174
第6章 容器网络 177
6.1 容器 177
6.1.1 容器技术框架 180
6.1.2 Docker 184
6.1.3 Kubernetes 188
6.2 Kubernetes网络 196
6.2.1 Pod内部的容器间通信 196
6.2.2 Pod间通信 197
6.2.3 Pod与Service之间的网络通信 199
6.2.4 Kubernetes外界与Service之间的网络通信 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容器网络项目Kuryr 217
6.5.1 Kuryr起源 217
6.5.2 Kuryr架构 217
第7章 网络编排与集成 221
7.1 ETSI NFV MANO 221
7.1.1 ETSI标准化进展 221
7.1.2 OASIS TOSCA 223
7.1.3 开源编排器 224
7.2 ONAP 228
7.2.1 ONAP基本框架 230
7.2.2 ONAP应用场景 234
7.3 OPNFV 237
7.3.1 OPNFV上游 238
7.3.2 OPNFV项目 245
7.3.3 OPNFV CI 251
7.3.4 OPNFV典型用例 252

前言/序言

自1991年诞生起,Linux已经走过了接近三十年。Linux早已没有了问世时的稚气,正在各个领域展示自己成熟的魅力。

以Linux为基础,也衍生出了各种开源生态,例如网络和存储。而生态离不开形形色色的开源项目,在人人谈开源的今天,一个又一个知名的开源项目正在全球快速生长。面对一个又一个扑面而来且快速更迭的新项目、新名词,我们会有一定的紧迫感,想去了解它们背后的故事,也会有一定的动力去踏上Linux开源网络世界之旅。面对这样的一段旅途,我们心底浮现的最为愉悦的开场白或许应该是“说实话,我学习的热情从来都没有低落过。Just for Fun”,正如Linus在自己的自传Just for Fun中所希望的那样。

面对Linux开源网络这么一个庞大而又杂乱的世界,让人最为惴惴不安的问题或许是:我该如何更快更好地适应这个全新的世界?人工智能与机器学习领域里研究的一个很重要的问题是“为什么我们小时候有人牵一匹马告诉我们那是马,于是之后我们看到其他的马就知道那是马了?”针对这个问题的一个结论是:我们头脑里形成了一个生物关系的拓扑,我们认知的各种生物都会放进这个拓扑的结构里,而我们随着年纪不断成长的过程就是形成并完善各种各样或树形或环形等拓扑的过程,并以此来认知我们面对的各种新事物。

由此可见,或许我们认知Linux开源网络世界最快也最为自然的方式就是努力地在脑海里形成它的拓扑,并不断地进行细化。例如这个生态里包括了什么样的层次,每个层次里又有什么样的项目去实现,各个项目又实现了哪些服务以及功能,这些功能又是以什么样的方式实现的,等等。对于我们感兴趣的项目,又可以更为细致地去勾勒其中的脉络。就好像我们头脑里形成的有关一个城市的地图,它有哪些区,区里又有哪些标志建筑以及街道,对于我们熟悉的地方可以将它的周围进行放大细化,甚至是一个微不足道的角落。

本书的组织形式

本书的内容组织正是为了尽一切能力帮助读者能够形成有关Linux开源网络世界比较细致的拓扑。首先是前两章,对Linux开源网络的生态以及Linux本身对网络的支持与实现进行了阐述,希望能够帮助读者对Linux开源网络有一个全面、基本的认识和了解。

第1章主要基于Linux基金会划分的开源网络技术层次框架,对Linux开源网络生态进行整体的介绍。此外,也介绍了与网络有关的开源组织与标准架构。

第2章详尽地介绍了Linux虚拟网络的实现,包括Linux环境下一些网络设备的虚拟化形式,以及组建虚拟化网络时涉及的主要技术,为更进一步讨论Linux开源网络生态下的开源项目打下基础。

第3~7章对Linux开源网络生态各个层次中处于主导地位的、较为流行的项目进行介绍。按照认识的发展规律,通过前面两章的介绍我们已经对Linux开源网络世界有了全局的认识和了解,接下来就可以按兴趣或工作需要为导向,选择一个项目进行深入的钻研和分析。这些章节的内容也是希望能够尽量帮助读者形成对相应项目的比较细致的拓扑,并不求对所有实现细节详尽分析。

网络数据平面的性能开销复杂多样且彼此关联,第3章即对相关的优化技术与项目进行讨论,包括DPDK、OVS-DPDK、FD.IO等。

第4章讨论网络的控制面,并介绍主要开源SDN(软件定义网络)控制器,包括OpenDaylight与Tungsten Fabric等。

第5章与第6章分别讨论OpenStack与Kubernetes两种主要云平台中的网络支持。没有网络,任何虚拟机或者容器都将只是这个虚拟世界中的孤岛,不知道自己生存的价值。

第7章讨论网络世界中的大脑——编排器。内容主要涵盖两种开源的编排器,包括ONAP与OPNFV。

感谢

作为英特尔的开源技术中心,参与各个Linux开源网络项目的开发与推广是再自然不过的事情。除了为各个开源项目的完善与稳定贡献更多的思考和代码,我们也希望能通过这本书让更多的人更快捷地融入Linux开源网络世界的大家庭。

如果没有Sandra Rivera(英特尔高级副总裁兼网络平台事业部总经理)、Imad Sousou(英特尔公司副总裁兼系统软件产品部总经理)、Mark Skarpness(英特尔系统软件产品部副总裁兼数据中心系统软件总经理)、Timmy Labatte(网络平台事业部副总裁兼软件工程总经理)、练丽萍(英特尔系统软件产品部网络与存储研发总监)、冯晓焰(英特尔系统软件产品部安卓系统工程研发总监)、周林(网络平台事业部中国区软件开发总监)、梁冰(英特尔系统软件产品部市场总监)、王庆(英特尔系统软件产品部网络与存储研发经理)的支持,这本书不可能完成,谨在此感谢他们的关怀与帮助。

也要感谢本书的编辑孙学瑛老师与宋亚东老师,从选题到最后的定稿,整个过程中,都给予我们无私的帮助和指导。

然后要感谢参与各章内容编写的各位同事,他们是郭瑞景、陆连浩、秦凯伦、徐琛杰、应若愚、丁亮、朱礼波、黄海滨、任桥伟、梁存铭、胡雪焜、胡嘉瑜、王潇、何少鹏、姚磊、倪红军、吴菁菁、陈兆彦。为了本书的顺利完成,他们付出了很多努力。

最后感谢所有对Linux开源网络技术抱有兴趣或从事各个Linux开源网络项目工作的人,没有你们的源码与大量技术资料,本书便会成为无源之水。

作 者