云数据中心网络与SDN: 技术架构与实现

举报
华章计算机 发表于 2019/06/03 00:22:16 2019/06/03
【摘要】 本书摘自《云数据中心网络与SDN: 技术架构与实现》——作者是张晨。

云计算与虚拟化技术丛书

云数据中心网络与SDN:

技术架构与实现

张晨 编著





云数据中心网络与SDN 立.jpg

About the Reviewer 技术审校

龚永生 社区绰号“大师兄”,浙江九州云CTO,OpenStack Neutron发起人之一,OpenStack NFV编排器项目Tacker PTL及ONOS、OpenDaylight、CORD项目参与者和培训讲师。


张卫峰 盛科网络SDN白牌交换机CTO,在数通领域从业16年,熟悉交换芯片到路由交换协议,参与了盛科网络每个SDN商业案例的落地,也是《深度解析SDN》一书作者。


杨文嘉 美国Arista网络公司高级服务工程师,擅长大规模IP/MPLS电信运营商级别网络的规划设计、实施与排错,在为AT&T、中国电信、BMW公司、花旗集团、Freddie Mac等公司设计和实施运营商网络,数据中心网络和企业网络方面积累了超过17年的丰富经验。



本书赞誉 Praise

随着“互联网+”的蓬勃发展以及云计算、大数据、人工智能等新兴技术的深入应用,云数据中心的价值日益突显,已成为整个社会的重要基础设施之一。本书针对云数据中心的场景,深入回顾了数据中心网络技术和软件定义网络技术的前世今生,在介绍和剖析关键技术的同时,重点分享了VMware、Cisco等公司的很多案例以及技术创新背后的故事。我相信,本书将会帮助读者更加深入地理解数据中心网络和SDN技术的本质,也将对未来数据中心网络的发展思考有所启发。

——黄韬,北京邮电大学教授,江苏省未来网络创新研究院副院长

当前,SDN技术发展得如火如荼,云数据中心正是 SDN 的主战场之一。作者以其丰富的行业经验和扎实的工作基础,向读者系统地展示了SDN及其附属技术在云数据中心的应用情况。作者还以其独特的视角进一步对众多技术的产生和演进历程做了分析和介绍。相信作者多年积累的深厚网络功底以及他对SDN和云数据中心方向的跟进与研究一定能给读者带来全新的视野。

——毕军,清华大学网络研究院网络体系结构研究室主任,长江学者特聘教授

SDN自诞生之日就饱受争议,从其架构的集中式、分布式之争,到何为SDN、广义狭义之争,SDN似乎一直在人们多样的眼光中生存和发展。有幸能够读到本书,从本书作者对SDN及云数据中心网络技术全面深刻的理解、对产业发展的独到见解,乃至对网络架构与产业的前景展望,都足以看出作者深厚的技术功底。未来网络的发展是由IT和CT深度融合所推动的,作者长期以来在运营商、设备商以及开源领域的积累,也使得本书在每一个知识点上都能够恰到好处地切中要害。看得出来,本书是作者倾其全力、认真雕琢的好书。全书读下来,酣畅淋漓,受益匪浅,又似乎有着说不完的共同语言,每每看到思维火花的碰撞,总希望能与作者当面切磋。希望本书能成为SDN领域的经典之作,带给业界同仁更多的思考与感悟。

——孙琼,中国电信北京研究院SDN技术研发中心主任

数据中心是SDN最典型的应用场景,正是在数据中心的成功落地将SDN推向了更广阔的应用领域。本书介绍了数据中心的网络技术发展历程,并重点分析了SDDCN相关的技术、产品、解决方案与开源项目。全书内容系统、丰富,从过去到现在,从组网设计到技术细节,从研究到开发,具有重要的学习与参考价值。能够如此有点有面地展现云数据中心网络这一特定场景的全貌,对于SDN这样一个新的技术来讲,是相当不容易的。另外,本书的内容来源于作者的亲身点滴积累,加之文笔流畅,让读者能够自然、清晰地了解技术的来龙去脉和实质内容,而且在行文的过程中还穿插了大量的观点,新颖并且很有启发。从方方面面来看,这都是一本诚意之作,绝对不容错过。

——王璐,中国移动研究院网络所承载网技术经理

伴随着近年来互联网的高速发展,云数据中心也进入发展高峰,SDN技术恰恰迎合了云数据中心的发展需求。本书从多个角度对云数据中心网络、SDN、SDDCN的技术原理与解决方案进行深入的介绍和分析,内容全面,无论是刚接触数据中心网络的技术爱好者,还是数据中心研发人员、网络架构师、系统运维人员以及产品经理,都能在阅读的过程中获益。

——徐雷,中国联通研究院云计算研究中心主任

云数据中心需要与之相适应的“云计算网络”,网络虚拟化正成为变革传统网络的高地,网络的价值正不可阻挡地向软件转移。本书全面回顾了数据中心网络技术的演进,以通俗的语言讲清楚了“SDN是什么、不是什么”以及“SDN能做什么”,客观地介绍了主流商用SDN方案和多个开源平台,对于SDN初学者和专业人士来说都是一本佳作。

——叶逾健,VMware大中华区网络和安全产品销售总监

与张晨相识在SDN用户组,并参加了他的《SDN控制器架构分析》在线分享。为这个年轻作者具备的技术洞察力赞叹不已。随着SDN的引入,给传统数据中心网络Underlay/Overlay体系架构带来了深刻的影响。网络行业螺旋上升式发展,层出不穷的各种SDN控制器方案所解决的问题无外乎如何用软件来定义系统的管理/控制/转发平面逻辑。戏法人人会变,各有巧妙不同。对于广大读者来讲,如何在纷纭杂沓的各种技术中快速去芜存菁,找到适合的SDN技术来解决现实的网络问题呢?本书从数据中心CLOS架构开始讲起,逐步深入浅出、抽丝剥茧地介绍各种最新前沿技术,涵盖了Underlay的各种技术,也谈到Overlay的各种开源项目ODL/ONOS和商用SDN控制器,比如VMware NSX、Cisco APIC、Juniper Contrail等。难能可贵的是,本书对各种容器、超融合新技术也进行了详细的介绍。本书对网络工作者深入理解数据中心最新网络架构和SDN的种种解决方案大有裨益。作为网络行业18年从业者,强烈推荐本书。

——马绍文,Juniper亚太区产品总监

最近有幸拜读张晨的这本书。文笔流畅,覆盖面广泛,从2003年的ForCES讲到近期的OpenFlow、ODL、ONOS、Neutron等。看了前面两章后就一口气读了下来。作者对SDN的来龙去脉做了很全面的阐释,同时覆盖了各大厂商和开源组织的解决方案,确实是一本深入了解SDN的必读之作。很难得的是作者不光只讲网络,而是从相关业务和应用方面等切入,例如虚拟化、容器、RoCE等,把SDN的发展趋势讲得很通俗易懂。除了广度以外,作者对技术的深度也很有要求,例如白盒方案里面涉及芯片的SDK和API开发,SONiC基于SAI的设计实现等。总而言之,我觉得无论是传统网工,还是SDN程序员,或者是管理层,都可从此书中获得启发和灵感。

——池惠澄,Arista Networks大中华区工程师经理

本书作者凭借阅读各个厂家的技术白皮书,钻研开源代码和其他官方介绍总结出各类技术和产品的精髓。书中所涉及的数据中心网络相关技术不光在广度上涵盖了行业中几乎所有厂商,更在技术深度上进行了充分挖掘整理。本书最难能可贵的地方在于,作者跳出了技术本身,站在一个更高的高度上对整个行业的来龙去脉进行了准确且深入的梳理,本书无疑会成为数据中心从业人员必读的佳作。

——蒋刊哲,BigSwitch大中华区总经理

市面上SDN之类书籍已经不少,但专注于数据中心场景的这还是第一本。本书兼顾广度和深度,并对大量相关商用开源实战性技术体系做了系统的归纳、分析与点评,是SDN数据中心用例的精品指南,也是相关从业者不可或缺的案头常备参考书。

——张宇峰,互联港湾CTO

本书介绍了数据中心网络技术的演进,对SDN在云数据中心网络中如何应用进行了完整、详细的阐述。内容上不仅包括各类网络技术分析,还具有很强的实践性,对数据中心网络基础架构目前所采用的主流产品、技术方向进行了深入研究总结。本书所涉及的网络、SDN技术涵盖了在实践中广泛应用的商用产品、开源项目,对于从事数据中心网络相关开发、运维、架构师或相关工作人员都是有益的参考资料。

——张天鹏,云杉网络CTO

本书可谓业界目前最系统、全面的阐述云数据中心网络的中文书籍,从工业界到学术界,从开源软件到厂商方案都有涉及。前面从网络的演进展示了业界对云数据中心网络设计从模糊到成熟的过程,后面对厂商当前的主推方案与流行的开源控制器、IaaS、容器等进行深入解读,一次性把所有“云数据中心”的话题整合到了一本书里,可供初学者按图索骥,可供产品经理“知己知彼”,可供架构师“兼权尚计”,是一本不可多得的“云网综述”。

——王为,ZStack网络研发总监

SDN作为当今IT领域炙手可热的行业趋势之一,有很多种不同的解读,名字里虽然没有“云”,却比云计算更加“云里雾里”。我非常高兴,因为我终于看到了本书即将面世。本书作者是SDN圈子里资深的网络专家,多年笔耕不辍,分享了大量的技术文章。这次他将自己学习与工作中的积淀,切入SDN这个具体的行业应用场景,并系统化地总结成书,我相信本书定能帮助相关从业者提纲挈领般理解SDN,并能以不变应万变对浩瀚SDN知识海洋中的每一个碎片化知识清晰地定位。

——张华,Canonical全栈软件工程师, OpenStack早期代码贡献者



前  言 Preface

为什么要写这本书

这本书的写作前前后后花了两年多的时间,我曾无数次地想过会有那么一个周末的下午,洋洋洒洒地写着前言,每念及于此,总有一种激扬文字、挥斥方遒的感觉。到了这一天,酝酿多时后坐在桌前,先是写了一些行业点评,虽然气势磅礴但不够接地气,反反复复地修改却始终没能令自己满意。最后想着,反正写前言就是在和读者聊天,也没有必要给书里的内容扣个大大的帽子,倒不如来说说情怀、谈谈理想,就当是给自己这几年的青春做一个注脚吧。

最开始其实并没有写书的打算,做研究的动力一方面是来源于对网络技术的兴趣与热爱,另一方面,坦白讲,那个时候在数据中心网络这块想到了一些新的点子,希望能够借着SDN的东风把想法做成实打实的产品。于是,最初是带着做调研的想法,开始对云数据中心SDN的技术与产品进行梳理。没有想到的是,这调研一做竟是两年多的时间,这两年里既看到了很多原来自己并不了解的技术,数次感叹于知识海洋的广袤无垠,也目睹了自己的一些想法被别人进行了变现,无奈地明白做产品需要分秒必争。

确立写书的想法是在2016年,实际上当时SDN圈子的风潮已经开始从云数据中心转向了企业级广域网,各路厂商、创业公司和媒体都已经开始围着SDWAN的概念在转了。和业界的一些同行聊过之后,其中有一部分人认为云数据中心的网络已经没什么值得研究的了。听多了类似的说法,给我个人的感觉是:SDN的出现既让网络这个圈子变得时髦,又让圈子里的人变得浮躁。于是,我决定把调研的内容写成一本书,希望能够使读者了解到,数据中心SDN在技术上还远远没有达到标准化,在产品上还有较大的提升空间,很多同行仍然在全力地投身于相关技术的演进和产品的迭代中。跟随先进的理念固然重要,但是踏踏实实地做事才是行业能够得以长久发展的关键。

本书还有另外一个出发点,是由于传统网络与SDN的纠葛长久以来都没能真正化解开来,很多人还是抱着非此即彼的错误观点。因此本书在介绍各个SDN技术和产品的时候,都会力争把控制和转发的逻辑说清楚,能分析到数据包处理流程这个层面的,都会加以详细分析。这么做的目的,是希望读者能够明白SDN虽然改变了网络的交付模式,但是API远远不是SDN的全部,网络架构本身的设计仍然是不可动摇的技术基础。另外,在一些情况下,SDN并不是解决问题的最好方式,因此本书还介绍了一些非SDN的数据中心网络技术,希望能够帮助读者拓宽技术视野,打开新的研究思路。

成书的过程中,最大的感悟是新技术发展得太快,很多章节的内容都不得不多次进行更新与修订。ICT的融合为传统的通信行业带来了前所未有的机遇,同时也要求我们能够调整好学习的心态。回顾这两年多的时间,几乎每日每夜都把自己泡在了各种各样的资料中,读了厂商不计其数的产品手册和技术文档,一行一行地去啃开源平台的代码,其中不乏很多有价值的内容,但由于成书时间与篇幅上的限制未能在书中进行介绍,多少还是有些遗憾吧。

同时,伴随着知识的逐步丰富,我也更加真切地体会到了个人的渺小。学习永无止境,不忘初心,方得始终,在探索技术的路上愿与诸君共勉。

本书特色

本书涉及云数据中心网络很多块的内容,主要包括传统技术、商用SDN方案、开源SDN方案以及相关的学术论文,覆盖了目前绝大部分的主流技术以及一些其他较为新颖的技术,是目前市面上少数能够切入SDN某一个具体行业应用场景,并对相关技术和产品进行系统性介绍的书籍之一。

实际上,把本书中每一块的内容拿出来都能单独写一本书。不过,为了让读者能够通过一本书,迅速并全面地掌握这些块内容,因此在写作的过程中就不得不去抠每一句话,甚至每一个字和词,力争简短、清晰、准确地呈现出核心的技术内容。如果相关行业的技术宽度为100,每种技术的深度为100,本书希望能够同时在宽度和深度上达到80+的水平,做到“样样通”而“样样不松”。

同时,为了能够捋顺这些五花八门的技术间的关系,行文过程中还对部分技术的产生背景与演进历程进行了介绍,希望读者在读过本书后,做到既能“知其然”,又能“知其所以然”。

读者对象

CTO、CIO

数据中心架构师

SDN架构师

SDN产品经理

SDN研发人员

高校与科研院所网络研究人员

其他对网络技术感兴趣的人员

如何阅读本书

阅读本书前,需要读者对传统网络技术和SDN基础知识有一定的了解。

第1章会对云数据中心网络演进的技术主线进行介绍,主要包括从3-Tier架构向Leaf-Spine架构的演进、从xSTP向大二层的演进、从传统网络向SDN的演进,以及传统网络的最新进展等内容。第1章可以看作本书的背景知识,用于引出后面章节对于数据中心SDN的介绍,讲述的过程中会以技术特征为分类依据,介绍厂商相关的私有技术与产品,以及IEEE、IETF相关的技术标准。第1章中所介绍的一些技术目前已经退出了历史舞台,为了保证讲述的完整性仍然保留了相关的介绍,读者可以有选择地进行阅读。

第2章将以杂谈的形式对SDN的本质进行论述,包括转发与控制分离、网络可编程以及集中式控制,并对SDN在IT层面的设计思路进行了总结。通过第2章的内容,希望可以帮助读者重新认识SDN,并捋顺SDN与传统网络间的关系。第2章的内容相比于其他章节的内容较为独立,读者可以灵活地调整本章的阅读顺序。

从第3章开始,正式开始介绍本书的核心内容——云数据中心SDN(Software Defined Data Center Networking,以下简称SDDCN)。第3章首先对SDDCN落地需求、实现架构以及关键技术进行介绍,希望能够为后续章节的内容起到提纲挈领的作用。第3章的表述相对抽象,有网络架构设计经验或者实际工程经验的读者可以仔细阅读与体会,如果读者之前并没有接触过相关工作,阅读第3章时可以先简单地看一遍,完成后续章节内容的阅读后,回过头来再去体会第3章中的内容,会获得更好的效果。

第4章将对十余个商用SDDCN解决方案进行深入的介绍,收录了主流厂商和一些具有技术代表性的创业公司的SDDCN产品,希望通过本章的内容,帮助读者了解这些方案内部的设计机制与技术细节,而不是仅仅看到一个“网络黑箱”,否则SDN不过是另外一个黑箱。

第5章对OpenStack Neutron进行了详细的介绍,主要内容包括Neutron的组网原理、软件设计架构、虚拟机的接入、OVS Plugin/Agent的设计与实现,以及其他主要的扩展Plugin/Agent。第6章对OpenDaylight的架构设计、OpenFlow的典型实现,以及OpenDaylight中的SDDCN的相关实现进行了详细的介绍。第7章对ONOS的架构设计、OpenFlow的典型实现,以及ONOS中的SDDCN的相关实现进行了详细的介绍。

第5、6、7章的内容将涉及各个开源平台的核心代码,力争同时呈现出代码中上层的业务逻辑以及底层的控制与转发逻辑,希望帮助读者在使用这些开源方案时,能够具备二次开发的能力。需要说明的是,代码所用版本以章前引言中所提及的版本为准,代码的呈现方式将以“===”形式的分割线注明代码所在文件,通过“//”形式的注释符对关键代码的逻辑进行解析。受限于篇幅,这三章跳过了非核心代码,同时省略了非关键参数与Java中的花括号。

第8章对学术界在云数据中心网络的典型研究工作进行介绍,包括拓扑、路由、虚拟化、服务链、服务质量、传输层优化、测量与分析、安全、高可用、大数据优化这十个方向。这一章在内容上会力争把每个研究工作的技术要点都讲清楚,而不是仅仅用一两句话来概括思路。这些研究工作既包括SDN的设计,又包括很多非SDN的设计,希望能够帮助读者拓展技术视野,启发新的设计灵感。

第9章和第10章是本书的番外部分。第9章对容器网络进行了概要性的介绍,容器是与虚拟机相对应的负载形态,因此独立成章,其中涉及的网络技术都在其他章节中介绍过,用在容器网络里只是接入了不同形态的负载,而技术的本质并没有发生变化,因此第9章中不会再去详细讨论这些已经介绍过的技术。第10章以Fiber Channel和InfiniBand为代表,对数据中心内部的存储网络和高性能计算网络的技术体系进行了概要性的介绍,这两者是与以太网和TCP/IP相对应的异构网络技术,因此独立成章,另外第10章中还简单地介绍了将以太网与Fiber Channel和InfiniBand进行融合的思路。

最后要说明的是,本书所介绍的内容均为云数据中心内部的网络技术,限于成书时间和篇幅上的限制,对于云数据中心外部的网络技术,如企业网络入云、Internet流量入云、云数据中心ISP上行出口优化、云数据中心间流量优化,均未能进行介绍。另外NFV相关的内容,包括vSwitch、vRouter、BPF、VPP等datapath技术,以及DPDK、SR-IOV等IO加速技术,本书也未做专题性介绍。

勘误和支持

由于笔者的水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。读者可通过微信号gokd35直接联系笔者,或者通过邮箱sddcn_qa@126.com提出问题或者建议。愿我们在网络技术的进修之路上互勉共进。

致谢

感谢九州云的龚永生先生,盛科网络的张卫峰先生,Arista的杨文嘉先生,为本书进行了专业的技术审校。

感谢北京邮电大学的黄韬教授、清华大学的毕军教授、电信北京研究院的孙琼女士,移动研究院的王璐女士、联通研究院的徐雷先生、VMware的叶逾健先生、Juniper的马绍文先生、Arista的池惠澄先生、BigSwitch的蒋刊哲先生、互联港湾的张宇峰先生、云杉网络的张天鹏先生、ZStack的王为先生、Canonical的张华先生,为本书进行了精彩的推荐。

感谢北京邮电大学的李昕教授、F5的范恂毅先生、VMware的吉白先生、BigSwitch的吴鑫先生,在本书写作过程中提供的帮助。

再一次感谢上述各位业界前辈,在繁忙的工作后利用宝贵的休息时间来审阅此书,是他们的无私支持给了我修缮此书的动力。同时,他们为业界发展所做出的贡献令人尊重和钦佩,将不断激励着我们后辈学习与前进!

感谢机械工业出版社的编辑高婧雅女士,对本书写作的悉心指导,以及对我本人的包容和理解。感谢SDNLab的方辉先生,在我形成写书想法时的鼓励与支持。没有他们,就不会有这本书的出版。

最后感谢我的家人和朋友,他们在生活中的关怀和鼓励使我能够在这两年中踏踏实实地完成本书内容的编写。

声明

本书中所述一切观点仅代表作者本人,与作者所在单位以及其他机构无关。





Contents?目  录

技术审校

本书赞誉

前言

第1章 云数据中心网络演进  1

1.1 传统的3-Tier架构  1

1.2 设备“多虚一”——虚拟机框  2

1.2.1 Cisco VSS  2

1.2.2 Juniper VC与H3C IRF  4

1.3 高级STP欺骗——跨设备链路聚合  4

1.3.1 Cisco vPC  4

1.3.2 Juniper MC-LAG和Arista M-LAG  6

1.4 变革3-Tier——向Leaf-Spine演进  6

1.5 初识大二层  9

1.6 插叙——虚拟机的接入  10

1.6.1 VEB  10

1.6.2 Cisco VN-TAG  11

1.6.3 VEPA  12

1.6.4 VEB性能优化  13

1.7 消除STP——Underlay L2MP  14

1.7.1 TRILL  15

1.7.2 SPB  17

1.8 Cisco私有的大二层——FabricPath  19

1.8.1 整体设计  19

1.8.2 控制与转发过程分析  21

1.8.3 其他技术细节  25

1.9 Juniper私有的大二层——QFabric  25

1.9.1 整体设计  26

1.9.2 集中式的控制机制  29

1.9.3 控制与转发过程分析  30

1.10 Brocade私有的大二层——VCS  32

1.10.1 整体设计  33

1.10.2 控制与转发过程分析  33

1.10.3 其他技术细节  35

1.11 跨越数据中心的二层——DCI优化  36

1.11.1 Cisco OTV  36

1.11.2 HUAWEI EVN与H3C EVI  38

1.12 端到端的二层——NVo3的崛起  39

1.12.1 VxLAN  39

1.12.2 NvGRE  41

1.12.3 STT  42

1.12.4 Geneve  43

1.13 新时代的开启——SDN入场  45

1.14 Overlay最新技术——EVPN  46

1.14.1 传统网络对SDN的反击  46

1.14.2 组网与数据模型  47

1.14.3 控制信令的设计  48

1.15 Underlay最新技术——Segment Routing  55

1.15.1 SID与Label  56

1.15.2 控制与转发机制  57

1.15.3 SDN 2.0?  60

1.16 本章小结  62

第2章 杂谈SDN  63

2.1 SDN与传统网络——新概念下的老问题  63

2.2 转控分离——白盒的曙光  66

2.2.1 芯片级开放  68

2.2.2 操作系统级开放  71

2.2.3 应用级开放  75

2.2.4 机箱级开放  76

2.2.5 白盒的“通”与“痛”  77

2.3 网络可编程——百家争鸣  78

2.3.1 芯片可编程  78

2.3.2 FIB可编程  80

2.3.3 RIB可编程  83

2.3.4 设备配置可编程  85

2.3.5 设备OS和控制器可编程  88

2.3.6 业务可编程  88

2.4 集中式控制——与分布式的哲学之争  89

2.4.1 在功能上找到平衡点  90

2.4.2 在扩展性和可用性上找到平衡点  91

2.5 回归软件本源——从N到D再到S  94

2.5.1 模块管理  94

2.5.2 模块间通信  95

2.5.3 接口协议适配  96

2.5.4 数据库  97

2.5.5 集群与分布式  98

2.5.6 容器与微服务  99

2.6 本章小结  100

第3章 SDDCN概述  101

3.1 需求  101

3.1.1 自动化与集中式控制  101

3.1.2 应用感知  103

3.2 整体架构  105

3.2.1 实现形态  105

3.2.2 功能设计  107

3.3 关键技术  107

3.3.1 网络边缘  107

3.3.2 网络传输  110

3.3.3 服务链  112

3.3.4 可视化  115

3.3.5 安全  117

3.3.6 高可用  120

3.4 本章小结  122

第4章 商用SDDCN解决方案  123

4.1 VMware NSX  123

4.1.1 从NVP到NSX  124

4.1.2 NVP控制平面设计  125

4.1.3 NVP数据平面设计  125

4.1.4 NVP转发过程分析  126

4.1.5 NSX-V整体架构  128

4.1.6 NSX-V管理平面设计  129

4.1.7 NSX-V控制平面设计  130

4.1.8 NSX-V数据平面设计  132

4.1.9 NSX-V转发过程分析  132

4.1.10 NSX-MH与NSX-T  139

4.2 Cisco ACI  140

4.2.1 整体架构  141

4.2.2 管理与控制平面设计  142

4.2.3 数据平面设计  145

4.2.4 转发过程分析  152

4.2.5 议ACI与SDN  154

4.3 Cisco VTS  155

4.3.1 整体架构  156

4.3.2 管理与控制平面设计  158

4.3.3 数据平面设计  159

4.4 Juniper Contrail  162

4.4.1 整体架构  164

4.4.2 管理与控制平面设计  167

4.4.3 数据平面设计  173

4.4.4 转发过程分析  175

4.5 Nuage VCS  176

4.5.1 整体架构  178

4.5.2 管理平面设计  179

4.5.3 控制平面设计  179

4.5.4 数据平面设计  180

4.6 Arista EOS与CloudVison  181

4.6.1 整体架构  183

4.6.2 管理与控制平面设计  185

4.6.3 数据平面设计  187

4.7 HUAWEI AC-DCN  187

4.7.1 整体架构  187

4.7.2 管理平面设计  189

4.7.3 控制平面设计  189

4.7.4 数据平面设计  193

4.8 Bigswitch BCF与BMF  194

4.8.1 整体架构  195

4.8.2 BCF控制平面设计  196

4.8.3 BMF控制平面设计  201

4.8.4 数据平面设计  205

4.9 Midokura Midonet  207

4.9.1 整体架构  207

4.9.2 控制平面设计  210

4.9.3 数据平面设计  213

4.10 PLUMgrid ONS  217

4.10.1 整体架构  217

4.10.2 数据平面设计  219

4.10.3 控制平面设计  221

4.10.4 转发过程分析  222

4.11 Plexxi Switch与Control  225

4.11.1 整体架构  225

4.11.2 数据平面设计  227

4.11.3 控制平面设计  229

4.12 Pluribus  230

4.12.1 Server Switch设计  231

4.12.2 Netvisor设计  232

4.12.3 再议数据中心SDN  235

4.13 本章小结  236

第5章 开源SDDCN:OpenStack Neutron的设计与实现  237

5.1 网络基础  237

5.1.1 网络结构与网络类型  238

5.1.2 VLAN网络类型中流量的处理  239

5.2 软件架构  242

5.2.1 分布式组件  242

5.2.2 Core Plugin与Service Plugin  243

5.3 WSGI与RPC的实现  245

5.3.1 Neutron Server的WSGI  245

5.3.2 Neutron Plugin与Neutron Agent间的RPC  247

5.4 虚拟机启动过程中网络的相关实现  248

5.4.1 虚拟机的启动流程  248

5.4.2 Nova请求Port资源  250

5.4.3 Neutron生成Port资源  250

5.4.4 Neutron将Port相关信息通知给DHCP Agent  252

5.4.5 DHCP Agent将Port相关信息通知给DHCP Server  252

5.4.6 Nova拉起虚拟机并通过相应的Port接入网络  252

5.5 OVS Agent的实现  253

5.5.1 网桥的初始化  253

5.5.2 使能RPC  255

5.6 OVS Agent对Overlay L2的处理  256

5.6.1 标准转发机制  256

5.6.2 arp_responder  258

5.6.3 l2_population  260

5.7 OVS Agent对Overlay L3的处理  261

5.7.1 标准转发机制  261

5.7.2 DVR对东西向流量的处理  262

5.7.3 DVR对南北向流量的处理  267

5.8 Security-Group与FWaaS  268

5.8.1 Neutron-Security-Group  268

5.8.2 FWaaS v1  269

5.8.3 FWaaS v2  269

5.9 LBaaS  270

5.9.1 LBaaS v1  270

5.9.2 LBaaS v2  271

5.9.3 Octavia  271

5.10 TaaS  272

5.11 SFC  274

5.12 L2-Gateway  275

5.13 Dynamic Routing  277

5.14 VPNaaS   279

5.15 Networking-BGPVPN与BagPipe  280

5.15.1 Networking-BGPVPN  280

5.15.2 BagPipe  280

5.16 DragonFlow  282

5.17 OVN  287

5.18 本章小结  290

第6章 开源SDDCN:OpenDaylight相关项目的设计与实现  291

6.1 架构分析  291

6.1.1 AD-SAL架构  292

6.1.2 MD-SAL架构  293

6.1.3 YANG和YANG-Tools  294

6.1.4 MD-SAL的内部设计  294

6.1.5 MD-SAL的集群机制  296

6.1.6 其他  298

6.2 OpenFlow的示例实现  298

6.2.1 OF交换机的上线  299

6.2.2 l2switch获得PacketIn  301

6.2.3 l2switch下发PacketOut和FlowMod  302

6.3 OpenStack Networking-ODL  303

6.3.1 v1  303

6.3.2 v2  304

6.4 Neutron-Northbound的实现  306

6.4.1 对接Networking-ODL  306

6.4.2 RESTful请求的处理示例  306

6.5 Netvirt简介  307

6.5.1 OVSDB-Netvirt和VPNService的合并  307

6.5.2 Genius  309

6.6 Netvirt-OVSDB-Neutron的实现  311

6.6.1 net-virt分支  311

6.6.2 net-virt-providers分支  317

6.7 Netvirt-VPNService的实现  321

6.7.1 elanmanager  323

6.7.2 vpnmanager  326

6.8 SFC的实现  328

6.8.1 sfc-openflow-renderer分支  328

6.8.2 sfc-scf-openflow分支  335

6.9 VTN Manager的实现  336

6.9.1 neutron分支  337

6.9.2 implementation分支  339

6.10 本章小结  342

第7章 开源SDDCN:ONOS相关项目的设计与实现  343

7.1 架构分析  343

7.1.1 分层架构  344

7.1.2 分层架构的实现  345

7.1.3 模块的开发  347

7.1.4 分层架构存在的问题  347

7.1.5 数据存储与集群  348

7.1.6 其他  349

7.2 OpenFlow的示例实现  349

7.2.1 OF交换机的上线  350

7.2.2 fwd获得PacketIn  352

7.2.3 fwd下发PacketOut和FlowMod  356

7.3 ONOSFW的实现  359

7.3.1 vtnmgr分支  359

7.3.2 sfcmgr分支  363

7.4 SONA的实现  365

7.4.1 openstacknode分支  366

7.4.2 openstacknetworking分支  368

7.5 CORD简介  371

7.5.1 R-CORD的架构  372

7.5.2 R-CORD的控制与转发机制  373

7.6 本章小结  376

第8章 学术界相关研究  377

8.1 拓扑  377

8.1.1 FatTree  377

8.1.2 VL2  379

8.1.3 DCell  380

8.1.4 FiConn  382

8.1.5 BCube  384

8.1.6 MDCube  385

8.1.7 CamCube  387

8.2 路由  388

8.2.1 Seattle  388

8.2.2 FatTree  391

8.2.3 VL2  393

8.2.4 PortLand  396

8.2.5 SecondNet  400

8.2.6 SiBF  401

8.2.7 SPAIN  402

8.2.8 WCMP  404

8.2.9 OF-based DLB  406

8.2.10 Flowlet与CONGA  406

8.2.11 Hedera  408

8.2.12 DevoFlow  409

8.2.13 MicroTE  409

8.2.14 Mahout  410

8.2.15 F10  410

8.2.16 DDC  411

8.2.17 SlickFlow  412

8.2.18 COXCast  413

8.2.19 Avalanche  415

8.3 虚拟化  416

8.3.1 NetLord  416

8.3.2 FlowN  418

8.3.3 FlowVisor  420

8.3.4 ADVisor  421

8.3.5 VeRTIGO  423

8.3.6 OpenVirteX  424

8.3.7 CoVisor  426

8.4 服务链  427

8.4.1 pSwitch  427

8.4.2 FlowTags  428

8.4.3 Simple  430

8.4.4 StEERING  432

8.4.5 OpenSCaaS  434

8.4.6 SPFRI  435

8.5 服务质量  437

8.5.1 NetShare  437

8.5.2 Seawall  438

8.5.3 GateKeeper  439

8.5.4 ElasticSwitch  440

8.5.5 SecondNet  441

8.5.6 Oktopus  441

8.6 传输层优化  443

8.6.1 MPTCP  443

8.6.2 DCTCP  446

8.6.3 D3  447

8.6.4 pFabric  449

8.6.5 Fastpass  450

8.6.6 OpenTCP  451

8.6.7 vCC  452

8.7 测量与分析  453

8.7.1 Pingmesh  453

8.7.2 OpenNetMon  454

8.7.3 FlowSense  455

8.7.4 Dream  455

8.7.5 OpenSample  457

8.7.6 Planck  458

8.7.7 OpenSketch  458

8.8 安全  460

8.8.1 SOM  460

8.8.2 FloodGuard  462

8.8.3 TopoGuard  463

8.8.4 FortNox  464

8.8.5 AVANT GUARD  466

8.8.6 OF-RHM  468

8.8.7 Fresco  470

8.9 高可用  471

8.9.1 ElastiCon  471

8.9.2 Ravana  473

8.9.3 BFD for OpenFlow  474

8.9.4 In-Band Control Recovery  476

8.9.5 OF-based SLB  477

8.9.6 Anata  478

8.9.7 Duet  480

8.10 大数据优化  482

8.10.1 BASS  482

8.10.2 OFScheduler  482

8.10.3 Phurti  483

8.10.4 Application-Aware Networking  484

8.10.5 CoFlow  485

8.11 本章小结  486

第9章 番外——容器网络  487

9.1 容器网络概述  487

9.2 容器网络模型  488

9.2.1 接入方式  488

9.2.2 跨主机通信  491

9.2.3 通用数据模型  492

9.3 Docker网络  494

9.3.1 docker0  495

9.3.2 pipework  496

9.3.3 libnetwork  496

9.4 Kubernetes网络  498

9.4.1 基于POD的组网模型  498

9.4.2 Service VIP机制  499

9.5 第三方组网方案  501

9.5.1 Flannel  501

9.5.2 Weave  502

9.5.3 Calico  504

9.5.4 Romana  506

9.5.5 Contiv  507

9.6 Neutron网络与容器的对接  508

9.7 本章小结  510

第10章 番外——异构网络与融合  511

10.1 融合以太网基础  511

10.1.1 PFC  512

10.1.2 ETS  513

10.1.3 QCN  513

10.1.4 DCBX  514

10.2 存储网络及其融合  514

10.2.1 FC的协议栈  515

10.2.2 FC的控制与转发机制  516

10.2.3 FCoE的控制与转发机制  517

10.2.4 昙花一现的SDSAN  520

10.3 高性能计算网络及其融合  524

10.3.1 InfiniBand的协议栈  525

10.3.2 InfiniBand的控制与转发机制  526

10.3.3 RoCE与RoCEv2  528

10.4 本章小结  530


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。