Linux开源网络全栈详解:从DPDK到OpenFlow
  • 推荐0
  • 收藏0
  • 浏览1.2K

Linux开源网络全栈详解:从DPDK到OpenFlow

英特尔亚太研发有限公司 (作者)  孙学瑛 (责任编辑)

  • 书  号:978-7-121-36786-1
  • 出版日期:2019-07-09
  • 页  数:268
  • 开  本:16(170*240)
  • 出版状态:上市销售
  • 维护人:孙学瑛
纸质版 ¥79.00
《Linux开源网络全栈详解:从DPDK到OpenFlow》基于Linux基金会划分的开源网络技术层次框架,对处于主导地位的、较为流行的开源网络项目进行阐述,包括DPDK、OpenDaylight、Tungsten Fabric、OpenStack Neutron、容器网络、ONAP、OPNFV等。本书内容主要围绕各个项目的起源与发展、实现原理与框架、要解决的网络问题等方面展开讨论,致力于帮助读者对Linux开源网络技术的实现与发展形成完整、清晰的认识。本书语言通俗易懂,能够带领读者快速走入Linux开源网络的世界并做出自己的贡献。

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

Linux开源网络技术大图谱
DPDK/OpenFlow/SDN/OpenDaylight/OpenStack/容器/Kubernetes网络/ Service Mesh等,多方位深层次
郭瑞景:从事网络与存储开发工作,活跃于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的性能分析。
自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开源网络项目工作的人,没有你们的源码与大量技术资料,本书便会成为无源之水。

作 者

目录

第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

读者评论

图书类别

相关图书

B站运营大揭秘:百万Up主真想教会你的创作笔记

本书由B站的三位百万级Up主(GenJi是真想教会你、鱼C-小甲鱼、阿Test正经比比)联合打造,为读者提供了B站独家运营秘籍。 全书总计8章。第1章重点讲解...

 

手机摄影从实战到精通

追风 (作者)

这是一本非常好用的手机摄影指南,旨在帮助读者全面掌握手机摄影从实战到精通的方方面面,使读者通过手机能轻松地拍摄出高质量的视频。 全书总计7章。 第1章讲解对...

 

互联网大厂晋升指南:从P5到P9的升级攻略

李运华 (作者)

本书主要介绍了一套系统的晋升方法论,涵盖“理解晋升→准备晋升→参与晋升→获得晋升”这条完整的晋升链条,深入剖析了晋升背后的规则、“潜规则”、技巧和套路,帮助读者...

¥118.00

架构演变实战:从单体到微服务再到中台

潘志伟 (作者)

本书从搭建单体架构遇到的瓶颈开始,通过真实案例介绍从单体架构转型为微服务架构及中台架构过程中遇到的困难、问题与具体解决方法。全书共计9章,前3章以案例和原理为基...

 

Offer来了:Java面试核心知识点精讲(第2版)

王磊 (作者)

本书讲解Java面试中常被问及的核心知识点,涉及Java基础、Java并发编程、JVM、Java高并发网络编程、Spring基础、Netflix的原理及应用、S...

 

期货交易——日内投机常用技巧与实战

李俊峰 (作者)

本书主要讲解日内投机交易的各种常用技巧。第1章讲解日内投机操作的基础知识,让投资者详细地了解日内投机交易的特点、流程、风险性等。第2章讲解如何确定交易方向,以及...

¥69.00