29

开源网络风云变幻,看各家爱恨情仇

 4 years ago
source link: https://www.sdnlab.com/23273.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

近日,美国对中国企业的限制动作不断:

  • 5月15日,美国将华为公司及其附属公司列入出口管制“实体名单”。
  • 随后美国谷歌公司宣布将停止提供安卓(Andriod)系统的技术支持与服务,而安卓系统一直是世界知名的开源项目。
  • 进一步人们又发现美国开源代码托管平台GitHub与美国非盈利公司Apache基金会均有明确声明受美国出口管制约束。

在上述列举的事件中,我们注意到了一个词——开源。

06opensource668.jpg

开源的主要要素包括:开源基金会、开源许可证、开源项目和开源代码托管平台等。当前这些组织、项目都在美国,几乎所有开源许可证和代码托管平台也都由美国的学术界和工业界主导。在中美贸易战背景下开源项目有何风险,美国对开源的出口管制约束对我们有怎样的影响?中国开放指令生态(RISC-V)联盟(英文缩写为 CRVA)发布权威报告《开源项目风险分析与对策建议》,给出了对“开源自立”的细致调研和建议。

在网络领域也有很多开源组织(如Linux Foundation)和开源项目,美国政府是否会试图禁止或干涉中国企业使用开源项目?小编还没仔细研究(读者感兴趣可以看一下《开源项目风险分析与对策建议》), 但是我们可以先看看网络领域都有哪些开源组织和项目,知己知彼,才能未雨绸缪,百战不殆。

令人眼花缭乱的网络开源门派

Linux Foundation

Linux基金会成立于2000年,是一个中立的非营利性组织,由开放源码发展实验室(Open Source Development Labs,OSDL)和自由标准组织(Free Standards Group,FSG)联合成立,致力于围绕开源项目构建可持续的生态系统,以加速技术开发和商业应用。2018年1月23日,Linux基金会宣布FD.io、OpenDaylight、ONAP、OPNFV、PNDA、SNAS、TungstenFabric七大项目联合而成的LFN基金会项目。2019年1月, Linux基金会宣布推出LF Edge开源国际组织,旨在建立独立于硬件、芯片、云或操作系统的一个开放的、可互操作的边缘计算框架。LF Edge由5个项目组成,分别是Akraino Edge Stack,EdgeX Foundry,Open Glossary of Edge Computing,Home Edge和EVE。

05opensource01.png
05opensource02.png

ONF

2011年Nick McKeown及Scott Shenker创立了开放网络基金会(Open Compute Project,ONF),随后他们与Guru Parulkar创建了开放网络实验室(Open Networking Lab ,ON.Lab),这两大组织的成立,成功地将SDN推向舞台。ONF是一个非营利性运营商联盟,它由Google、Facebook和微软等公司协同发起,负责推动SDN网络的部署并致力于推动网络基础设施和运营商业务模式的转型。ONF除了发布Openflow标准,推动全球范围内的SDN研讨和厂商的互联互通测试外,也在积极探索基于新的用于转发平面编程语言P4的开发,促进软件定义网络的发展。截止2019年,ONF拥有3个平台:ONOS、mininet、CORD,7个开源项目:M-CORD、ODTN、XOS、R-CORD、TRELLIS、E-CORD、VOLTHA、STRATUM,分别致力于SDN/NFV、下一代移动网络、宽带接入、下一代WAN等方面。

05opensource03.png

OCP

开放计算项目(Open Compute Project,OCP)成立于2011年,是一个快速发展的全球合作社区,由Facebook、Intel、Rackspace、高盛及Andy Bechtolsheim携手共享开源设计推出的开放计算项目,已被纳入开放计算项目基金会。OCP专注于重新设计硬件技术,使其更加高效、灵活和可扩展,以有效支持计算基础设施不断增长的需求。OCP基金会在未来网络发展方面的主要项目有:高性能计算(HPC)、开放计算网络、安全(孵化)项目、开放计算存储、电信等。

05opensource04.png

TIP

TIP电信基础设施联盟(Telecom Infra Project consortium,TIP)是2016年由Facebook主导成立的一个开放组织,旨在重新思考如何设计和部署电信网络基础设施。TIP将软件与硬件组件分离,以提高效率并创建创新解决方案,该项目主要集中在三个关键领域:接入、回传和核心网/管理,运用开放的开放计算项目(OCP)模型来刺激创新。

05opensource06.png

CNCF
云原生计算基金会(Cloud Native Computing Foundation,CNCF)是2015年成立的隶属于 Linux 基金会的围绕“云原生”服务云计算的非营利性基金会项目。CNCF致力于维护和集成开源技术,支持编排容器化微服务架构应用,通过技术优势和用户价值创造一套新的通用容器技术,推动本土云计算和服务的发展。CNCF的成员主要包括Google、IBM、Intel、Docker、RedHat等知名公司,也包括 DaoCloud 等后起之秀及一系列终端用户与支持者。CNCF的成员代表了容器、云计算技术、IT 服务和终端用户,致力于共同营造全球云原生生态系统,携手推动现代化企业架构的进程。

05opensource07.jpg

ODCC

开放数据中心委员会(open data center committee,ODCC),前身为天蝎联盟,是由阿里巴巴、百度、腾讯、中国电信、中国移动、中国信息通信研究院、英特尔联合发起成立,由数据中心相关的企业事业单位自愿结成的行业性的全国性的非营利性的社会组织。委员会旨在打造中国的数据中心开放平台,推动互联网产业发展和基础设施标准化、产业化进程。现有四个工作组,分别为服务器工作组、数据中心工作组、测试认证工作组和网络工作组,各工作组下设项目组。

05opensource05.png

网络江湖风云变化,开源背后的利益之争

纵观整个开源项目的思路,让人不得不想到开源(Open Source)和解构(Dis-aggregation)
两个关键理念。开源和解构以最纯粹的产业链水平分割模式,实现了价值转移。帮助参与的众多公司实现了技术分享和风险分摊:大家使用同样设备的巨大采购量带来了CAPEX的降低;集体分享使用经验和各种管理工具又带来了OPEX的减少。开源的背后看似一切美好,但也存在着一些利益之争。像思科和Juniper这样的传统网络领导者可能会面临很大的收入压力,因为专有业务的增值将越来越少。随着创建和部署解决方案的成本降低,运营商也想在网络中使用开源来降低成本,并扩展下一代网络。今天小编就来八卦一下,看看在开源的背后,谁藏的最深?

OTT进驻电信领域的野心

在写本章节之前,小编看了OCP和TIP的创始公司都是Facebook。小编是有疑惑的,一个OTT公司为什么会做电信领域的开源项目。而且不止Facebook一家这样做,Google在这方面走的比任何一家OTT都远的多,包括无线接入、有线接入、无人机基站、气球基站、低轨卫星等。Amazon从去年就开始招募懂电信的工程师,产品经理。马云也拿1000亿成立了达摩院,请了一个世外高僧开始鼓捣电信。前赴后继,马不停蹄,这是为什么呢?小编查阅资料后,总结了以下3点原因:

多方面的探索本身就是OTT创新的一部分。大型OTT公司在技术和商业方面走的都是平台战略。不是通过单一产品来独步天下。平台战略本身就要求在各方面都有投入。硬件(包括通信基础设施), 一直是他们投入和创新的一部分。另外OTT股价和一般传统公司股票定价不同。有相当一部分的溢价和他们持续创新的能力息息相关。在通信领域的投资,相比创新对股市带来的增益,都是非常小的一部分。

现有的运营商网络无法满足其业务需求。大型OTT都是通过对全球人口覆盖来对其主营业务变现的。他们在发达国家的渗透率趋于饱和,但是发展中国家还有巨大人口潜力。Facebook在2013年就开始推广Free Basics项目,向这些地区免费发放手机。但是很快他们遇到困难:许多目标地区没有最基本的通信基础设施。即使发放免费电话,老百姓也没法用。TIP这样以无线接入为主的开源项目,很大部分原因就是瞄准了这些地区的通信基础设施建设。覆盖电信业目前不愿意覆盖的最低端的人群,填平数字鸿沟,也符合Facebook的核心商业利益诉求的。

用更多的数据,给客户提供更好的体验。大型科技公司目前都有一个共同趋势,就是通过尽可能的整合产业链来给客户提供更好的体验。虽然每个公司的背景,基因和资源让他们在达到这样终极目标的路上走得远近不同。但是方向还是很明晰的,在美国运OTT身上尤其明显,不管是收购,兼并,还是自己孵化能力,都是为了把产业链通过某种方式来整合拉通。

开放计算联盟暗战

美国OCP和中国的ODCC都旨在打造数据中心开放平台,推动数据中心基础设施标准化、产业化。但是这两大联盟的标准并不一样。天蝎计划在诞生之前,曾同OCP项目组进行技术交流,但最终分道扬镳。OCP从建立之初就是以建立白牌IDC为目的。从整机柜到交换机到HPC(超算)到存储等等一应俱全。而天蝎座计划最初目标就直指OpenRack(开放式整机架),因此在OCP还没有太多进展时,天蝎座联盟已经推出了第一版技术规格和产品,而之后改名的ODCC(开放数据中心委员会)也将重心放在IDC并涉足各产品线,因此在最终目的上两者理念是高度一致的。

05opensource08.jpg

在2016开放数据中心峰会上,中国信息通信研究院技术与标准研究所副所长、ODCC委员会副主席何宝宏表示:”与OCP进行对比,我们天蝎计划中的很多东西在国际上还是领先的,当然有些方面还是有一些差距,但至少我们已经进入国际先进行列了。”

天蝎要满足中国互联网的需求,其难度要超过国外OCP或者其他的组织。因为国内软件的成熟度低于国外,这样在一些冗余、弹性和可靠性的保障方面就对硬件提出了更高的要求。

但是标准不一带来最直观的问题就是规模效应会打折扣。每当一个全新标准推出时,在初期都会面临没有规模、无法降低成本的问题。据说,OCP项目中Open Rack刚开始时,仅仅一个机柜的价格就要1500美元。而两大联盟如果标准无法做到统一那么就意味着生产厂家需要推出多种规格产品。

未来双方是否会携手统一标准我们无法得知,但以史为鉴,合作是可以带来共赢的。

开放计算项目引发的硬件之争

细心的小伙伴可能会发现在OCP和ODCC组织架构中都有英特尔的身影,通过查阅两大联盟的资料,英特尔均是两家联盟的顾问,都在初期建立联盟的过程中起到重要作用。

由于英特尔在开源领域拥有丰富的经验,因此在OCP创立之初,Facebook就向英特尔抛出了橄榄枝希望英特尔可以加入,而英特尔也欣然接受并通过自身的法律团队为OCP制定了法律框架,以便让所有企业都可以相互分享技术。国内的ODCC在创立之初同OCP类似,英特尔作为行业顾问提供了大量解决方案和相关规范建议。英特尔为什么如此积极推动两大联盟的发展呢?还两边都不得罪。最核心的原因是看中了联盟对未来服务器市场影响力,再直接点就是架构标准的制定,这直接关系到相关硬件产品的生态圈—毕竟产品再好没人用也没辙,而AMD就是一个很好的例子。

曾今的速龙64时代让AMD风光了一段时间,尽管如此也没有撼动英特尔的霸主地位。这其中最大的原因是AMD的产品没有得到厂商的支持。不过OCP也没有抛弃AMD,在OCP的帮助下,AMD联手微软合作打造的下一代超大规模云硬件项目—Project Olympus所采用的正是AMD最新发布的旗舰产品EPYC,并在之后将方案贡献给OCP社区,而这势必将帮助AMD吸引更多企业的兴趣。

除了AMD以外,OCP的铂金会员IBM最新研发的Power 9处理器也希望借助OCP的影响力重夺服务器市场失地。AMD和IBM希望借助OCP来夺回失去的市场份额,而ARM公司则希望借助OCP帮助ARM架构进入服务器市场。Facebook正是第一家采用ARM核心处理器服务器大型数据中心用户,尽管比例未知(估计很少)但这对于ARM公司来说也是一个好的开始。

从上面列举的公司来看,可以发现硬件厂商都在积极通过开源联盟来推广自身的产品和标准,硬件开源联盟成了一个营销和推广的平台,并间接控制了产品和标准的决定权。如果厂商不加入,恐怕未来的商业前景将会十分暗淡。

SDN浪潮下ODL和ONF利益之争

在SDN被提出后的很长一段时间内,ONF都是SDN唯一的标准化组织。但自从2013年4月,由18名著名的IT厂商发起的OpenDayLight组织(它不是一个标准化组织,只是推动SDN的发展)正式成立,它就不是了。值得关注的是,在这18家公司中有一半是网络设备大佬。而ONF是一个用户发起的组织,并且董事会成员全部都是网络设备用户。这两者似乎有点对着干的意思。ONF提出SDN并力推SDN的动机之一就是防止厂商锁定。利用公开标准的转发面接口,用户自己可以完成上层控制软件,这对网络设备大厂商来说是致命的威胁,大厂商绝对不会任由这种状况发展。另外,就算ONF的OpenFlow不错,但是这个标准的制定者里面没有设备大厂商的参与,他们就甘心做别人的追随者或使用者?这或许也是ODL成立的利益层面的原因。为了更好分析ODL和ONF之间的利益冲突,我们先来比较一下两者的异同点。

05opensource09.png

从上面的表格来看,两者之间有重叠,但更多的是差异。ONF的执行总监Dan Pitt在ODL成立之初说过,ONF是制定SDN的标准,ODL执行他们的标准,两者相辅相成。但事实并非如此。二者最核心的不同点在于ONF认为SDN南向接口需要标准化,而这个标准就是Open Flow。ODL则认为,SDN最核心的就是主控和转发分离,南向接口允许百花齐放,不需要标准化。

在这个背后隐藏的利益之争是,ONF站在网络用户的角度,希望彻底摆脱厂商锁定,所以所有的接口都是开放标准的,硬件也同样如此。但设备商主导的ODL则不同,一方面要考虑推动SDN产业的前进,所以支持一定的标准化。但是他们也保留了厂商定制的权力,留下了允许厂商定制化的南北向接口,也没标准化硬件,其出发点也是为定制化硬件留下广阔的空间。当然也有技术层面的原因,他们觉得ONF统一标准不一定可行。

运营商自我救赎的战斗

近年来,伴随云计算、SDN、NFV等技术兴起,国内外运营商都相继提出中远期网络重构的战略目标,一方面是想借助新技术产生新的业务模式,积极应对互联网公司OTT服务对电信传统业务造成的强力冲击。另一方面希望依托新技术构建新的网络架构,努力摆脱多年形成的僵化网络对自身运维效率提升带来的巨大桎梏

在此背景下,2015年由AT&T内部一个虚拟OLT的技术创新项目引发了一个新开源项目CORD(Central Office Re-architected as Datacenter),2016年AT&T将其贡献给ON.Lab开源组织以后,凭借其全新的理念,不同的视角,大胆的实践,给行业设备使用者和制造者相当的震撼。

CORD的核心就是用IT/互联网运营商的技术思路/运维方法来解决电信运营商的技术、商业、管理、运维等问题。用开源软件和白牌硬件来构建技术模块,用通用的数据中心基础设施规模来降低成本。CORD主要架构师坚信:不改变设备硬件形态的网络虚拟化都不是真正的虚拟化,不是真正的云化,也不是架构性的变革。通过这样的变革,他们希望达到互联网公司的敏捷,同时创造高效的业务。

AT&T Communication的CEO John Donovan在今年五月份的一次公开大会上就说过,运营商和OTT的竞争在有些方面是你死我活,不能妥协的。他举的例子就是OTT在接入网的各种尝试。在内容上和OTT竞争,在网络上使用和OTT类似的技术, 在公司文化和管理上学习OTT, 是大型运营商舒缓竞争压力的一个重要手段。

网络开源门派一览表

在未来网络的研究与发展进程中,开源软件起到了巨大的作用。开源软件以快速迭代、开放、免费等特性受到了广大研究人员的青睐,具有很强的前瞻性。在信息网络的研究中,开源软件涉及从单个设备的软件实现到平台级软件系统的方方面面。在本文开篇小编已介绍各开源组织成立的背景,那这些开源组织旗下又有哪些项目呢?一一列举,显得啰嗦,小编索性来几张图。

Table 1 Linux基金会在未来网络领域的开源项目
06linuxtable.jpg
Table 2 ONF在未来网络领域的开源项目
06ONFtable.JPG

此处特注:ONF和Linux基金会的关系错综复杂,ONF是Linux基金会的成员之一,且与Linux基金会密切合作,旨在

  • 在整个开源项目组合中进行战略调整
  • 实现开源最佳实践
  • 支持基础设施(开发人员工具、人力资源、会计等)
    因此,所有的ONF项目都应该视为是Linux基金会项目组合的一部分。
Table 3 OCP基金会在未来网络领域的工作组
06OCPtable.png
Table 4 TIP基金会在边缘计算等领域开源项目
06TIPtable.jpg
Table 5 CNCF在云计算、编排方面的项目
06CNCFtable.png

数不清的明星开源项目

看完那些令人眼花缭乱的开源组织,小编再和大家聊一聊那些数不清的开源项目。开源项目现已成为未来网络科技发展的重要成分,覆盖了未来网络发展的每个角落。

“边缘计算”一词最近火的没救没救的,加上去年10月份OpenStack基金会另一边缘计算开源项目StarlingX的发布又引发更广泛的关注,下面就边缘计算领域的Akraino、StarlingX、vco和CORD四个项目进行详细介绍。

Akraino

Akraino Edge Stack是一个Linux基金会项目,支持针对边缘计算系统和应用程序优化的高可用性云服务,2018年9月宣布其从形成转变为“Execute(执行)”。 该项目成员有ARM、AT&T、戴尔EMC、爱立信、华为、英特尔公司、inwinSTACK、瞻博网络、诺基亚、高通、Radisys、红帽和风河等。(边缘计算的福音——Akraino来了!),更多内容可以访问Akraino官网: https://www.akraino.org/

05opensource10.png

Akraino Edge Stack将为用户提供全新级别的灵活性,以便快速扩展边缘云服务,最大限度地提高每台服务器上支持的应用程序或用户数量,并帮助确保系统运行时的可靠性。据说,虽然现有的开源项目比如OpenStack可以利用上,但目前没有任何项目能够满足边缘解决方案的需求。Akraino将有助于为运营商,提供商和物联网提供易用性高、可靠性强和性能高的服务。

Akraino说白了就是一把大伞,它既包括了顶层边缘应用程序或VNF,也包括了中间与底层基础架构框架交互的中间件和边缘API,当然也包括了管理底层基础架构的Edge Stack,以及相应的生存周期管理、CI/CD和工具集。

在底下网络Edge层,有三种概念POD(Point of Delivery):一个叫Cruiser,第二个叫Tricycle,第三个叫Unicycle,在客户Edge,有Satellite和Rover之别。

05opensource11.png

Edge POD主要是分层级,Cruiser是大的POD,特点是里面POD机器多,控制面可以跑在容器里,控制面里可以有OpenStack和Ceph等,数据面主要以计算结点为主,整个网络是运行在5G核心网上的。再往下一级是Tricycle,由于POD数量少一点,里面的控制结点和计算结点相当少一些。它可以跑在IP服务上,也可以跑在5G接入网上。再往下叫Unicycle,到最后一公里就叫Satellite和Rover,这时候由于机器少,就那么一个两个的,数据面和控制面可能需要跑在一台服务器上,也就是All-in-one,此时机器上运行的主要就是边缘计算应用程序了。

在Akraino里还会看到一个概念,叫Blueprint。它与OpenStack开发里常说的Blueprint不一样,它更像是针对某种边缘计算应用场景,而提出的软硬件参考及配置方案。

StarlingX

StarlingX是一个完整的云基础架构软件堆栈,适用于工业物联网,电信,视频传输和其他超低延迟用例中要求最苛刻的应用程序。基于为关键任务应用程序部署的成熟软件,新开源的StarlingX代码是可扩展解决方案中边缘实现的基础,现在可以投入生产。

05opensource12.png

StarlingX详细架构

StarlingX项目是OpenStack基金会启动的另一个独立的开源项目,该项目将专注于边缘计算。

它不是OpenStack子项目。它本身就是一个完整的项目。同时,它使用了许多OpenStack服务来提供核心的计算、存储和网络功能。它基于英特尔和风河贡献的种子代码,并将自己的组件与OpenStack、Ceph和OVS等领先的开源项目结合在一起,组成一套完美的软件方案。(OpenStack:StarlingX 边缘计算项目首次发布)
更多内容可以访问StarlingX官网: https://www.starlingx.io/

05opensource13.png

StarlingX架构

虽然StarlingX也是在Akraino的框架下,但它大多基于OpenStack架构而来,并且向上层提供了一系列虚拟网络化功能(Virtual Network Functions),方便上层的编排器来调用IaaS层的资源,而底层则是使用目前云计算平台的Best Practice,即控制服务、计算服务(kvm)、网络服务(ovs)、存储服务(ceph)来完成。另外还会发现,StarlingX除了拥有OpenStack组件外,还增加了很多中间件如Software Management Service,、Fault Management Service, Host Management Service等,提供了更多的底层API,比OpenStack支持的功能点更多。

边缘计算领域除了StarlingX和Akraino,OPNFV开源工作组去年开发一个名为虚拟端局(virtual Central Office,vCO)的项目,这一项目与开放网络基金会(ONF)推行的CORD项目类似。vCO和CORD都属于Linux基金会下的项目,那为什么在有了CORD项目之后,OPNFV还要再建立一个vCO项目?小编猜测可能是工作组对开源SDN控制器ONOS和OpenDaylight的偏好吧。

vCO & CORD

在2017年OPNFV峰会上,OPNFV社区举行了虚拟中心办公室(vCO)主题演示,该项目提供了住宅和企业的vCPE服务,展示了使用OpenStack云、OpenDaylight SDN控制器、OpenCompute平台(OCP)兼容硬件开发的平台及加载的一系列提供端到端服务的VNF。该演示表明,这一网络服务支持现场配置连接和vCPE,具有实时远程监测和分析、故障管理和服务保证等功能。

05opensource14.png

vCO架构

最后再来看一下CORD,开放网络基金会(ONF)的CORD项目原本不是针对边缘计算的,但ONF最新发布的CORD 4.1版本中却涵盖了很多边缘计算领域的内容。CORD正在成为边缘计算的平台,因为CORD可以在塔、汽车、无人机或任何地方运行

05opensource15.png

CORD中开放源码软件组件

CORD是利用SDN、NFV和云计算技术的项目,这些技术正在逐渐融合成为一个全新的解决方案,通过利用分布式、开源和白盒来实现创新,并降低成本。CORD的功能使得企业具备了快速创新的能力,现在使用的CORD 4.1版本,在集合了R-CORD、M-CORD和E-CORD的统一平台上提供多访问功能,在此版本之前,CORD作为具有住宅支持(R-CORD)的基础分布和可用于支持移动或企业用户的单独虚拟网络功能(VNF)提供。此外,还扩大了服务库,包括CORD 4.1发行版共25个VNF。CORD 4.1采用软件定义网络(SDN)控制,利用基于ONOS的Trellis,使用XOS编排软件来构建服务。

至于vCO和CORD在边缘计算方面有什么不同,Linux基金会网络和编排运营副总裁Phil Robb给出了比较清晰明了地解释 ,他说vCO的组件与CORD不同,vCO是以OpenStack为基础建立的,而CORD是建立在OpenStack或Docker容器之上。vCO使用OpenDaylight控制器,CORD使用XOS操作系统和ONOS控制器。

Phil Robb代表OPNFV的发言中也提到:OPNFV选择OpenDaylight作为控制器,CORD的配置专注于使用基于OpenFlow的白盒交换机,vCO也能支持这种用例,vCO还能支持边界网关协议(BGP)网络。vCO中另一种管理网络的方法是让像OpenDaylight这样的控制器来充当BGP广播路由,这与OpenFlow的方式相似。虽然方法不同,但识别到达网络中特定交换机的路由结果是相同的。

05opensource16.png

Akraino、StarlingX、vCO和CORD比较

边缘计算的开源项目介绍暂告一段落,如果有读者感兴趣可以看一下《诚意之作,老司机带你入门边缘计算》这篇文章,或者看一下英特尔开源技术中心研发经理王庆老师的边缘计算四部曲。

如果将网络技术分堆栈为控制平面和数据平面,在数据平面中交换机操作系统无疑是当前网络开源的竞争焦点,开源的操作系统包括SONiC、Stratum、DANOS等。下面随小编看一下它们的架构以及生态。

SONiC

微软在2015年发布了自研的白盒交换机网络操作系统Azure Cloud Switch (ACS),并在2016年的OCP(Open Compute Project)大会上将其开源,命名为Software for Open Networking in the Cloud (SONiC)。

05opensource17.png

SONiC是构建网络设备(如交换机)所需功能的软件集合。它可以通过交换机换抽象接口(SAI)运行在不同的ASIC平台。正是由于SAI(SAI没有公开源代码,但是SAI向上给SONiC提供了一套统一的API 接口)的存在,SONiC的的app(网络功能)才能够支持多个厂家的ASIC。

05opensource18.png

SONiC是一个将传统交换机操作系统软件分解成多个容器化组件的创新方案,它使用了大量的开源技术和开源项目。如Docker,Redis,Quagga和LLDPD 以及自动化配置工具Ansible、Puppet和Chef等。

05opensource19.png

SONiC现在已经成为OCP的一大招牌,因为OCP基本上是以硬件为主,对于软件方面,现在主推SONiC,也是目前生态最成熟的一个开放交换机操作系统,这套操作系统是微软的华人工程师创建的,设计精简前卫,它里面很多组件的模块性都比较好。在使用案例方面,微软将SONiC部署到了全球44个region,领英当前40%的数据中心大规模在使用SONiC。此外,OCP也特意强调了中国对于SONiC的贡献,由阿里牵头ODCC(中国开放数据中心联盟)专门成立了一个凤凰项目,负责SONiC在中国的推广。阿里是SONiC生产应用最早的也是规模比较大的企业。腾讯、百度包括京东也正在开展密集的验证测试,而且不久也会正式生产上线。

DANOS

说起DANOS系统,小编查阅了相关资料,DANOS的起源要追朔到Vyatta公司,该公司提供一个也叫Vyatta的、在商用硬件上运行的开源网络操作系统。后该公司被博通收购,博通取消了开源的社区版本,软件也改名为Vyatta vRouter。但是Vyatta的开源之路并没有终结,针对博科停止Vyatta社区版的决定,独立开发人员从Vyatta Core 6.6 R1版本fork 出一个分支,即VyOS开源软件项目。

2017年7月AT&T收购了Vyatta,并且将Vyatta NOS作为开源dNOS(disaggregated Network Operating System,分解的网络操作系统)平台的基础。2018年初 AT&T又将dNOS作为种子代码贡献给Linux基金会,Linux基金会将其改名为DANOS项目。至此Vyatta完成了自己的开源之梦,成了名正言顺的开源项目。

DANOS(Dis-Aggregated Network Operating System分解网络操作系统)提供了一个开放的NOS框架,利用现有的开源资源和硬件平台,如白盒交换机、白盒路由器和uCPE等。Vyatta第四代架构引入了商业芯片+软件转发的混合转发模式。

05opensource20.png

DANOS侧重于硬件/软件分解和超越云数据中心网络功能,创建和培养路由软件组件供应商生态系统,以提供创新的网络解决方案,满足MAN/WAN网络的大规模和快速发展的功能要求(包括蜂窝站点路由器,城域以太网服务和RAN回传路由器/交换机,Internet和VPN服务边缘路由器,运营商POP内互连结构,骨干核心路由器等)。DANOS 目前计划支持这五个操作系统:dNOS 、FRR、SONiC 、OpenSwitch和Stratum 。

DANOS有三大特点:1)将路由器的操作系统从路由器底层硬件中分离,2)在基础操作系统、控制和管理平面以及数据平面内提供标准接口和应用程序编程接口(API),3)标准接口/API实现数据平面与控制平面的分离。

关于DANOS的控制和管理平面、基础操作系统和数据平面介绍,小编不再累述。感兴趣的小伙伴可以查阅《开放网络操作系统DANOS介绍》

Stratum

当白盒的风吹起时,谷歌也将大量精力投注在了白盒设备及其对应的操作系统上。2018年3月,谷歌推出了Stratum项目,该开源项目将用于实现真正的软件定义的数据平面参考平台,其目标是提供一个白盒交换机和开放软件系统。

SONiC和相比,Stratum的理念更偏向计算机,它是以IT的方式来管理整个CT系统整个设计最顶层是远端的控制器,接口端主要分成三类,一个是P4ruetime,然后就是gOMI和gNOI。g代表gRPC,而不是传统网络设备所使用的NETCONF,这可以使得策略的下发效率提升很多。下图蓝色框内便是Stratum的覆盖范围。

05opensource21.png

单独的Stratum是没有办法进行组网独立工作的,在上层它需要ONOS或者其他的控制器配合,下层是通过Trellis组件提供Fabric SDN的路由控制。这个系统是纯SDN选路,所以一旦链路端掉线,系统很快就能够响应,重新编制转发表项,由此也不存在去堆叠之类的麻烦。

05opensource22.png

Stratum项目最早是由谷歌发起的,所以谷歌在内部肯定已经大规模使用了Stratum(但是谷歌的控制器不是ONOS),整个项目预计今年6月正式开源。国内在去年12月份左右,由腾讯牵头举办了一场Stratum Developer Day,同时 UCloud、阿里、锐捷也都在积极跟进或者密切关注。

开源项目还有很多,小编就不一一介绍了,想要了解其他的项目,可以来SDNLAB网站查看,如果你有关于网络开源项目更好的介绍也可以向我们投稿。

快到文末了,小编还是想就目前的开源项目存在哪些风险,美国对开源的出口管制约束对我们有怎样的影响韶两句。虽然开源基金会和开源许可证可以允许不涉及加密功能的开源项目规避出口管制,但因为代码托管平台会受到出口管制,因此存在这些代码托管平台的开源项目仍然会受到出口管制的影响。

中国企业在以LinuxKernel和GitHub为代表的开源项目和托管平台上的贡献都非常突出,并涌现出众多开源组织与开源联盟,但仍需加快开源代码托管平台建设,以备极端情况下依然能自由访问开源项目。

参考文章:
1.https://baijiahao.baidu.com/s?id=1634582011574159664&wfr=spider&for=pc
2.https://www.sdnlab.com/22893.html
3.https://www.sdnlab.com/20618.html
4.https://www.sdnlab.com/22530.html
5.http://www.opendatacenter.cn/index.html
6.https://www.sdnlab.com/23151.html
7.https://www.sdnlab.com/20677.html


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK