50

白盒交换机操作系统混战

 5 years ago
source link: https://www.sdnlab.com/21270.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.

白盒交换机的出现给了用户选择最佳软硬件平台的权利,它仅仅提供交换机硬件和ONIE(开放网络安装环境),用户可以自行选择最合适的交换机芯片,降低成本实现最大效益。但是白盒交换机没有软件是无法使用的,因此每个白盒交换机都需要一个操作系统,用于管理交换机硬件和软件。这个OS往下能整合所有芯片硬件,往上又能衔接所有应用。

White%20box%20switch%20operating%20system%20melee668x400.jpg

越来越多的开放网络系统开始涌现,借助这些网络操作系统,企业的IT人员无需再了解底层的网络知识,也能很好地“玩转”企业网络,而且越来越多的白盒交换机提供商开始提供丰富的技术支持服务,更让企业无后顾之忧。

白盒交换机操作系统解读

传统的交换机操作系统(NOS)对于用户来说是封闭的。随着白盒交换机的市场份额增长,人们对开源的网络操作系统需求也越来越强烈。NOS的开发者也从只有设备商工程师,扩大到互联网、运营商以及云计算的从业者。

NOS的作用是按照管理者的意志将网络中的业务在交换机上运转起来。所以NOS首先需要提供对管理者或者控制器的接口;然后需要运行协议运算,和网络中的其他交换机进行协议面的交互;第三是需要硬件接口来适配交换芯片,风扇电源等板载硬件。如下图,我们可以将NOS拆分为三个核心功能模块,以及基础架构模块。

NOS.PNG

  • 管理接口,包括传统的CLI, SNMP, WEB功能。SDN引入的Openflow, NET-CONF, OPEN Config,Restful API功能等;
  • 协议应用模块,包括二层的协议模块STP, LLDP, M-LAG,三层的协议模块OSPF, BGP, VRRP等,以及DHCP, NTP等应用模块,SDN时代的Openflow Agent,包括OVS,;
  • 硬件接口上包括对接交换芯片,电源,风扇的管理接口;

从传统的NOS到如今的白盒操作系统,这一过程可以分成两个阶段。第一段是思科,Juniper,Arista的巨头厂商竞争时期,这个时期核心技术集中在设备商手中,是一个技术积累的阶段;第二段是OPS, Sonic和OPX这些开源新势力的时代,喜欢玩颠覆的互联网厂商带着SDN的新需求参与了进来。

在原始的架构中基础架构上还相对原始,没有将管理接口和协议应用模块分开。随后在《JunOS OS for Dummies》中介绍的JunOS的架构包含管理接口,协议应用模块,硬件接口的同时提出了模块化架构的理念。此时已经有一些控制和转发的分离的意思在里面,但这次演进不是革命性的。然后在Arista的EOS的架构中,增加了数据库架构SysDB,当进程故障时候,交换芯片继续保持转发,进程恢复后从SysDB重新获取状态继续运行,该功能不但可以保障业务的稳定运行,还可以实现单进程升级功能。开发者可以使用类似开发通用软件的思路进行开发,而且NOS的数据可视化了,大大降低定位问题,解决问题的难度。

但随着SDN的高速发展,白盒产业催生了一批开源开放的NOS,这些新兴的NOS都基于数据库架构。但是SDN要的是更快,更灵活,更大规模,更好扩展。数据中心的互联网用户对NOS最痛点的需求是如何流量无感知的完成版本迭代,以及如何更方便,更高效的进行版本升级,于是出现了数据库架构 + 容器架构。容器技术可以简单理解为:对Linux操作系统来看是容器是一个进程,容器看自己内部是一个轻量级虚拟机。总之NOS的发展史如下图

NOShistory_668.png

NOS的发展史

本段参考《一个白牌厂商视角:极简交换机NOS演进史》一文,具体请点击链接https://www.sdnlab.com/19090.html

白盒交换机操作系统商业模式

现在市面上的白盒网络操作系统主要是两种销售方式,一种是销售独立的,与硬件无关的网络操作系统,并不生产交换机,另外一种就是软件硬件合体销售,在购买白盒交换机的同时也可以选择配套的操作系统。

一些供应商销售已安装在白盒上的操作系统的完整解决方案,而其他供应商则设置分销商以提供操作系统直接从软件供应商处提供的裸机设备。这两种方法都是可行的,这取决于部署的规模和对网络的需求

单独销售软件的公司例如Cumulus Networks,它是一家计算机软件公司。该公司为行业标准网络交换机设计和销售Linux操作系统,为大型数据中心,云计算和企业环境提供网络解决方案。SnapRoute是一家年轻的初创软件公司,正在为Cloud Native环境构建唯一的微服务NOS。通过将NOS提升到Cloud Native时代,SnapRoute为DevOps时代提供了CI / CD网络基础架构。

软硬件合体销售的公司也有很多比如PICA8,它是白盒网络交换机上基于开放标准的操作系统供应商,为数据中心和云计算环境提供软件定义网络(SDN)解决方案,Pica8单独销售PicOS或与自己的白盒交换机捆绑销售。还有一些传统的交换机设备商,也从单一的软硬件捆绑销售转变为软硬件解耦分开售卖,比如思科,Arista和Juniper等。

白盒交换机操作系统参与主体

由于白盒交换机将为Web规模的组织和服务提供商提供更多的数据中心网络控制和灵活性,所以许多企业都会选择它。那在搞定一个白盒的交换机之前,你还需要考虑一下网络操作系统(NOS),这个市场正在快速的演变,创新企业和现任的厂商都不想错过这次潜在的机会,以下列出了一些厂商例子。

1、初创公司

PICA8 PicOS
PicOS分为两个版本,PICOS企业版和PICOS SDN版。二者包含相同的Debian Linux发行版,同样具有未经修改的内核,可实现最大的DevOps可编程性。PICOS企业版支持Pica8的CrossFlow功能。而且只有PICOS Enterprise可以同时使用L2 / L3协议和OpenFlow控制网络中的每个交换机端口。PICOS SDN支持所有主要的OpenFlow控制器,包括OpenStack Neutron ML2,ONOS,ODL,HPE的VAN,NEC的ProgrammableFlow控制器和Ryu。PicOS可以运行多家制造商的裸机交换机。 Pica8单独销售PicOS或与自己的白盒交换机捆绑销售。操作系统特性可归纳为以下几点:

  • 在XORP路由社区上建立的交换和路由堆栈(现在由Pica8拥有的通用公共许可证)
  • 对现有网络的交换和路由支持
  • Open-vSwitch(OVS)支持和CrossFlow技术可实现交换、路由和OpenFlow流量的混合

PICOS%20enterise_668.png

PICOS企业版

PICOS%20SDN_668.png

PICOS SDN版

Cumulus Networks
Cumulus Networks由JR Rivers和Nolan Leake于2010年创立,Cumulus的目标是开源的,基于linux的交换机操作系统,希望能够成为Google的MSDC。通过Cumulus Linux,用户可以使其数据中心网络高度自动化、且摆脱了昂贵的专有硬件。可以说Cumulus的操作系统是开创了业界操作系统的先河。

Cumulus Linux,这是一个真正的Linux发行版,配有硬件抽象层,可在各种商用硬件上运行。Cumulus Linux使用自动化工具来管理网络基础设施,并希望通过这些现有工具实现自动化网络交换机的配置。 Cumulus积极参与开放计算项目,并将多个项目贡献给社区。Cumulus Linux提供经济的可扩展性和选择灵活性,可以运行多个网络路径,无需多个交换机,为多个设备提供流量隔离和网络分段。Cumulus Linux的主要特点如下:

  • 开放网络安装环境(ONIE)为OCP做出了贡献
  • 资本支出节省。
  • OPEX节省和运营效率提高。通过采用Linux原则进行联网,客户已经实现了运营效率的提高,并将生产时间缩短了95%,同时将总体成本降低了60%。
  • 网络命令行实用程序(NCLU)。Cumulus的NCLU使网络运营商和系统管理员能够利用Linux网络的强大功能,并快速自动使用NCLU模块。

cumulux%20linux_668.png

Cumulus自成立以来,在Cumulus Linux网络操作系统上主要有以下一些合作。2014年,戴尔与Cumulus达成协议,通过其交换机提供Cumulus Linux网络操作系统的选项。2015年,Hewlett Packard Enterprise与Cumulus Networks达成协议,在其Altoline交换机上提供Cumulus Linux。2016年,Mellanox与Cumulus Networks达成协议,在其Spectrum交换机上提供Cumulus Linux。

SnapRoute
SnapRoute是一家新创业公司,主要为公司数据中心的网络硬件提供开源的软件。SnapRoute将其FlexSwitch开源软件贡献给Facebook的开放计算项目(OCP)。FlexSwitch已经部署在生产网络中,并得到了开放计算项目的认可,该项目由Facebook和其他技术公司领导,旨在为下一代数据中心创建开源架构。SnapRoute的大部分优势在于,它使网络工程师能够像现代软件一样对网络进行编程和管理,而不会被传统供应商锁定为昂贵的解决方案。

SnapRoute的交换机操作系统很受AT&T的青睐。AT&T在今年3月份的ONS大会上宣布已经通过其部署的白盒交换机进行了流量的传输,AT&T使用了带有博通Qumran芯片的Delta Agema AGC7648A交换机和SnapRoute网络操作系统(NOS)。另一个使用的是Barefoot提供的基于Tofino芯片的Edgecore的Wedge 100BF交换机,运行的是SnapRoute的开放NOS FlexSwitch操作系统。

Arrcus ArcOS
初创公司Arrcus在今年7月推出了ArcOS系统。这是一个独立的,与硬件无关的网络操作系统,适用于白盒系统,专门针对服务提供商和云计算平台的大规模可扩展基础设施。该公司新推出的ArcOS网络操作系统已移植到Broadcom的StrataDNX Jericho+和StrataXGS Trident 3交换芯片平台。ArcOS构建于模块化微服务范例之上,并提供先进的第3层路由功能。主要包括高性能地弹性控制平面,智能可编程数据平面适配层(DPAL),用于控制平面、数据平面和环境的数据模型驱动的遥测,以及一致的YANG/OpenConfig API接口,便于编程访问。这些功能与Broadcom的StrataDNX Jericho+平台相结合,可以支持完整的BGP互联网路由表。

ArcOS的目标是挑战三家领先的垂直整合网络供应商,特别是思科,Juniper和Arista,同时通过分离软件和硬件为客户提供自由选择。

2、传统设备厂商

Pluribus Netvisor ONE
2015年Pluribus Networks与戴尔合作,将其Pluribus Open Netvisor Linux操作系统安装在硬件巨头戴尔的开放式网络交换机上。分布式网络Netvisor OS是Pluribus的软件定义网络(SDN)产品,在Pluribus SDN愿景中Netvisor OS可以实现裸机硬件可编程性,将网络视为单一实体,如服务器,还增加了虚拟化,集群和自动化功能。Pluribus Open Netvisor Linux结合了Linux的优点,而这些优点主要有即插即用,应用程序感知结构,高级网络流程编程以及嵌入式分析和可见性功能。该软件包将随Dell的开放网络的交换机一起提供,例如S6000-ON和S4048-ON。

在SDN的某些方面,Pluribus方法与其他供应商不同,仍在以不同的方法、解决方案和理念摆脱自身的束缚,对SDN的含义也没有真正的硬性标准。Pluribus同意共同的SDN原则,如将网络数据和控制平面分离,使用廉价、裸金属(或白盒)商品硬件,网络智能从交换机转移到控制平面,而Pluribus支持分布式SDN控制器,而不是一个集中式控制器,而且许多其他供应商和组织支持这个控制器。

思科
思科有许多操作系统,此处列举了其中几个。例如IOS,一个单片操作系统,可在各种CPU上运行单线程。IOS-SX它是IOS的一个分支,是在2000年代中期制作完成的,在代码中增加了以太网交换功能。NX-OS,“Nexus操作系统”的开发旨在取代IOS-SX,并使思科的内部开发流程和软件工具现代化,该系统主要是针对数据中心,允许数据中心客户在第三方交换机上运行其Nexus操作系统(NX-OS)。该系统主要有以下特点:

  • 支持多个CPU(尽管大多数版本只使用一个CPU)
  • 多线程抢占式多任务处理功能
  • 支持虚拟设备和Fabric Extensions(FEX)
  • 用于进程恢复和故障检测的内存保护进程
  • 通过过程监控检测故障以检测内部错误

IOS-XR - 思科允许一系列第三方软件在内部开发的高端操作系统,适用于服务提供商的纯软件。分解的IOS XR允许该软件在思科或商用硅基交换机和路由器上运行,或作为基于x86的云上的虚拟化实例运行。

Arista Networks
Arista在其基于Linux的可扩展操作系统(EOS)上建立了良好的声誉,该系统可以运行在多种产品(类似于Juniper的Junos)。因为EOS是基于Linux的,所以它对编程是开放的,工程师可以将控制平面与物理网络分开(OpenFlow供应商承诺但很少提供的方式)。例如,工程师可以对网络进行编程,以自动响应移动的VM或为云环境动态配置网络资源。Arista可扩展操作系统EOS是面向下一代数据中心和云网络的解决方案核心。使用Arista EOS构建的云架构可扩展到数十万个计算和存储节点,并具有大规模工作的管理和配置功能。通过其可编程性,EOS支持一系列软件应用程序,可提供工作流程自动化,网络可视性和分析,以及可以将虚拟化,管理,自动化和编排服务的第三方应用程序快速集成。EOS主要有一下特点:

  • 在所有Arista交换机上运行的单个EOS映像
  • 使用Linux内核
  • 所有网络软件都在用户进程中运行以实现兼容性
  • 完全接入Linux操作系统,可以运行大多数Linux软件

Juniper
Junos OS以简单和创新为基础,是瞻博网络物理和虚拟网络和安全产品组合的单一操作系统。主要的服务对象是运营商。Junos OS是Juniper Networks硬件路由器中使用的基于FreeBSD的操作系统。它是Juniper路由、交换和安全设备中使用的操作系统。Junos OS以DevOps为设计理念,具有多种可编程性、脚本支持、开放API和流行的编排框架。Junos OS的一些主要优点包括:

  • 模块化设计: Juniper网络设置中的每个过程和组件都相互屏蔽。一个模块崩溃对系统的其余部分没有影响。
  • 单列兼容性:每个Juniper交换机,路由器或其他产品都运行相同的JUNOS系统。该系统专为整个系统的简单互操作性而构建。

戴尔
FTOS最初由Force10 Networks开发,FTOS在NetBSD上运行。戴尔收购了Force10,并继续开发具有新功能的NOS。与此同时,戴尔已与Cumulus和BigSwitch建立合作关系,为那些希望在硬件上选择NOS的客户使用开放的网络硬件销售Whitebrand(或britebox)交换机。FTOS它具有与Cisco的NX-OS或Juniper的Junos类似的功能。主要的性能特点:

  • 运行FTOS的交换机只能使用命令行界面或CLI 进行配置:FTOS不提供基于Web的图形用户界面。
  • Force10交换机支持裸机配置选项
  • Open Automation平台的一部分是在数据中心中使用虚拟化的特殊功能,虚拟化允许用户在标准管理程序场上创建运行的完整(虚拟)服务器系统。

Huawei
Huawei VRP(Versatile Routing Platform)是华为设备运行的操作系统。VRP V8提升了系统性能、可扩展性、可靠性、虚拟化功能和可维护性,可以显著提高网络性能和容量,增强网络架构的灵活性和可扩展性,保证稳定的网络运行,并简化网络运维。

Broadcom ICOS / FASTPATH
Broadcom ICOS / FASTPATH是一种现成的(基于Linux的)网络操作系统,提供传统的L2和L3功能和管理,具有用于增值应用程序的API结构以及与配置和编排系统的集成。制造商可以修改ICOS / FASTPATH以添加功能(开源,SDN并提供可扩展性,高可用性和编排系统)。FASTPATH支持的已经过现场验证的以太网解决方案,主要有:

  • 用于企业网络配线间的固定和可堆叠交换机
  • 适用于企业数据中心的刀片服务器和架顶式交换机
  • 用于融合无线/有线环境的无线LAN交换机
  • 10 GbE交换机和ATCA机箱解决方案
  • 用于下一代业务和消费者网络的运营商级以太网解决方案

ExtremeXOS
ExtremeXOS是较新的Extreme Networks 网络交换机中使用的软件或网络操作系统。它是基于VxWorks的ExtremeWare操作系统之后的Extreme Networks第二代操作系统。ExtremeXOS基于Linux内核和BusyBox。

HP Enterprise
HP Enterprise有两个正在开发的操作系统,ProVision和Comware(不包括Aruba for Campus/Wireless)。

ComWare - 惠普收购3Com以建立网络业务,ComWare操作系统一直是惠普网络的核心。它运行在基于机箱的交换机和WAN路由器上,具有广泛的功能和协议。 Comware是出售给清华的网络组合的一部分。

ProVision - 该操作系统运行在HP内部开发的ProCurve网络硬件上。主要集中在局域网交换,在园区网络中非常流行。

HP Enterprise有一个白盒以太网交换机的Whitebrand产品战略,运行在Cumulus、PicOS等第三方操作系统上。

3、NOS开源生态

开源组织:

ONF-Stratum项目
Stratum正在为白盒交换机构建一个开放的、最小化的、生产就绪的发行版。 Stratum公开了一组下一代SDN接口,包括P4Runtime和OpenConfig,实现了转发设备的可互换性和转发行为的可编程性。 Stratum提供完整的白盒交换机解决方案,真正实现SDN的“软件定义”承诺。Stratum主要适用于5G移动和运营商边缘云平台,云SDN数据平面。下一代SDN接口的目标是启用完整生命周期控制和自动化网络管理,具体表现在以下几个方面:

  • 简化用于实现下一代SDN接口的‘瘦’交换机的开源源码
  • 定义一个“契约”,精确定义数据平面支持的转发行为,用P4语言表达
  • 当在传统的交换机/路由器实现中使用时,网络OS可以是外部的(用于SDN场景)或嵌入在同一交换机中

stratum.PNG

OCP-Switch Light OS
Switch Light OS是一种基于Open Network Linux(ONL)的开放式网络以太网交换机操作系统。该系统是一个以SDN为中心的NOS,Big Switch已经将其发展成与白盒硬件紧密集成,并确保OpenFlow类似的功能将在数据中心的当前一代交换芯片上运行。Switch Light OS它不是传统的与操作员交互的NOS,而更像是一种为了SDN控制器上的应用而设的一个agent。Big Switch的Big Cloud Fabric和 Big Monitoring Fabric控制器可以通过Switch Light NOS来给矩阵内的白盒交换机发布程序指令。目前该系统是这是Open Compute Project中的一项开源工作。该系统的主要特点是:

  • 建立在Linux上
  • 开放源码构成开放式网络Linux的基础

Linux Foudation——Open Switch
硬件交换机市场上的另一个规模庞大的厂商是惠普公司,虽然近两年惠普在硬件市场上不断遭受到其他设备厂商的竞争,但是不可否认的是其最初推出的交换机操作系统Open Switch也在交换机操作系统史上留下了浓墨重彩的一笔,后来该操作系统被置于Linux基金会旗下成为独立的开源项目。open Switch主要有以下几个特点:

  • 提供Linux OS环境中网络交换机平台的硬件设备的抽象
  • 使用标准的开源软件,包括ONIE安装程序和基于Debian Jessie发行版的未修改的Linux内核
  • 提供强大而灵活的编程API - 控制平面服务(CPS)
  • 使用Linux标准API或CPS访问OpenSwitch网络功能
  • 提供丰富的网络功能,包括使用CPS完全访问NPU ACL和QoS功能

Linux Foudation——AT&T dNOS
AT&T于2017年11月发布了致力于开发白盒交换机操作系统的分布式网络操作系统(dNOS)的项目,3月AT&T宣布将dNOS正式托管给Linux基金会,并且将项目名称改为DANOS。DANOS是构成网络的单个白盒设备的操作系统。DANOS得到了各种Linux基金会团体和成员的支持,包括Broadcom,Inocybe,Metaswitch和Silicom。DANOS还要求标准的应用程序编程接口,它提供了具有基本操作系统,数据平面以及控制和管理平面的框架。DANOS包括五个操作系统:FRR,SONiC SAI,Open Switch,Stratum和P4。

DANOS_668.png

公司的开源项目
微软的SONiC
微软于2016年3月份的OCP大会上发布了开源的Software for Open Networking in the Cloud (SONiC)操作系统,发布伊始就能够对Arista、博通、戴尔、Mellanox等公司的网络设备加以支持。SONiC的推出标志着微软将会和来自惠普、戴尔和Cumulus Networks的白盒网络操作系统进行竞争。目前为止,SONiC已经获得了业界广泛的关注,思科、盛科等公司目前正在积极参与SONiC项目。SONiC的所有软件功能模块都是开源的,推动了OCP社区以及其他厂商在开放网络方面的创新。

SONiC是构建网络设备(如交换机)所需功能的软件集合。它可以通过交换机换抽象接口(SAI)运行在不同的ASIC平台。正是由于SAI的存在,SONiC的的app(网络功能)才能够支持多个厂家的ASIC。

需要注意的是,SAI没有公开源代码,ASIC厂家只提供二进制格式的SAI文件。虽然SAI没有开源,但是SAI向上给SONiC提供了一套统一的API 接口,向下则对接不同的ASIC。

sonic.PNG

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

OTT自研操作系统

白盒时代的到来给大型互联网公司迎来了机遇,他们有足够大的交换机采购量。

Facebook在2011年牵头推动成立OCP(Open Compute Project),主要聚焦于开放数据中心基础设施架构,2013年成立Open network子项目,定义交换机的硬件和芯片SAI、版本管理(ONIE)标准,自己研发FBOSS网络操作系统,从而使得交换机硬件完全可以替换。在电信领域,2016年同样是Facebook牵头、多家运营商参与的TIP project的成立使得白盒在运营商领域得到高度的关注。

Google在全世界都有自建的数据中心,使用骨干网(Backbone Network,也可以称为WAN网)进行互联。随着Google业务高速增长,花了很多钱租用海底光缆来满足峰值需求,但是带宽的利用率不足,原因是商用路由器通常使用静态Hash这种原始的方法来对流量进行负载分担。于是Google想改造WAN交换机硬件和交换机软件。Google招聘了不少Cisco/Juniper的核心骨干。于是就诞生了B4项目,该项目的核心是通过SDN的方式对流进行灵活调度。Google自研交换机操作系统,控制器,硬件通过成熟的ODM批量生产。通过Openflow协议对流量进行细致规划,来提升WAN出口的带宽利用率,B4的项目非常成功,据说链路带宽利用率提高了3倍以上,接近100%,按照Google的话说,超出了其最初的期望。

总结

照业界的发展趋势来看,白盒操作系统如百花齐放,在未来其实搞定一个白盒的交换机并没有多大的复杂性。作为销售大型交换机的大网络厂商对开放网络模型的态度可能并不怎么友好,这会让他们与客户之间的关系变得脆弱。对于初创的软件公司来说,他们是抓住了机遇,分解了交换机的市场份额。对于大型互联网公司他们有钱任性,可以自研交换机系统。那未来白盒交换机操作系统会怎样呢?买家会根据自己的钱包来对白盒交换进行投票。时间会证明一切,现在说什么都为时过早。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK