网络操作系统混战,SONIC能否笑傲江湖?

四年前,微软在开放计算峰会(Open Compute Summit)上推出了SONiC(Software for Open Networking in the Cloud)网络操作系统。

SONiC项目旨在打造开放功能齐全的网络软件,SONiC实际上是各种内核补丁、平台驱动器、平台抽象库(PAL)、交换机缓存数据库、管理控制接口的一个集合。而SONiC正是利用作为Linux一个发行版的Debian Jessie实现了这些集合的各个部分。

如今,SONiC网络操作系统的势头扶摇直上。

SONiC的进化之路

从Unix内核到后来的Linux内核,交换机制造商们不断地在迭代其NOS(网络操作系统):

  • 思科的IOS可以追溯到三十多年前,但是其后续产品,Nexus系列交换机的NX-OS也基于Linux开源生态,就像Arista Network的EOS网络操作系统一样;
  • Juniper Networks的JunOS基于FreeBSD,但也和Linux有一定的联系;
  • 今年4月底,英伟达斥资69亿美元收购的交换机和芯片制造商Mellanox,其MLNX-OS和Onyx 交换机操作系统是基于Linux的,5月初收购的Cumulus也是基于Linux;
  • Arrcus使用自己的内核从零开始创建了一个路由和交换操作系统ArcOS。

其实,Linux并非微软创建SONIC的首选,而是因为它别无选择。使用Windows Server内核作为交换机操作系统的核心并无实质意义,而利用Linux庞大的技术生态创建NOS,可以连接其所有Azure云基础设施。

微软Azure网络部门工程师Dave Maltz表示,已经有超过10家的云厂商和一些大型企业都采用了SONiC作为他们的交换机操作系统,而微软和阿里巴巴就是其中的两大巨头。

2016年,微软推出SONiC及其配套的交换机抽象接口(SAI)时,就在Linux内核上的容器中运行了第二层和第三层交换功能,并带有用于遥测的Redis数据库。该软件可在多个ASIC上运行,包括Broadcom的Trident 2、Mellanox的Spectrum、Cavium的XPliant(现在是Marvell的一部分)和Centec Networks的GoldenGate。这些主要用于40 Gb/s的交换机。

接下来的一年,增加了Broadcom的Tomahawk、Tomahawk 2 ASIC、Marvell的Prestera、Barefoot的Tofino,主要用于100 Gb / s的交换机,大约有16种不同的平台可供使用。并且,RDMA和QoS功能也通过Swarm(旧的Docker工具)管理添加到了SONiC堆栈中。

2018年,SONiC有了另一个重大飞跃,虚拟化技术被添加到了容器支持中,并在流式遥测和新的配置数据库中添加了热重启(不到1秒)。并且,还添加了ARM计算支持,平台列表增加到31台不同的计算机,包括基于Nephos的Taurus芯片、Broadcom的Helix 4、Trident 2、Tomahawk 3芯片、Cisco的Lacrosse芯片(用于高端Nexus 9000交换机)。

2019年,SONIC增加了对Broadcom Jericho和Jericho 2深度缓冲器(deep buffer)交换机ASIC的支持,以及对Innovium的Teralynx 7、Marvell的Falcon、Mellanox的Spectrum 2 ASIC的支持。平台的基础增加到了69种不同的计算机。另外,微软与SONiC社区合作增加了对模块化交换机的支持。今年,思科将它的Silicon One商用路由器芯片添加到了SONiC中。

SONiC风靡盛行

目前Cumulus Networks支持Broadcom, Mellanox ASICs,Arrcus目前专注于Broadcom系列。要知道,Broadcom ASIC在数据中心交换机市场占有率达65%左右,想要将所有这些ASIC添加到硬件抽象列表中,要么你很有钱,要么你是一个积极的开源团队。

所以,这也恰好是微软创建SONiC和SAI的关键所在,微软将其开源并捐赠给Open Compute Project社区,到今天,全球以太网端口中有384万个端口是由SONiC驱动的。

现在的电信公司、服务提供商和企业可能也会效仿。eBay正在评估SONiC在其网络中的使用情况;Comcast也正在考虑在数据中心核心使用基于SONiC的设备;法国互联网广告经纪公司Criteo将在2020年及以后独家使用SONiC交换机;零售商Target(过去曾因网络安全问题而大受打击)也将采用SONiC 网络设备。

因此,加紧提供受支持的SONiC发行版也就不足为奇了。实际上,戴尔和Apstra都在virtual Open Compute活动上宣布了SONiC正式发行版和企业支持服务。

2016年1月,就在微软发布SONiC的几个月前,戴尔就开源了自己的FTOS OS10网络操作系统。戴尔一直致力于OpenSwitch(OPX)项目,它也参与了微软发起的SONiC社区,并在其交换机设备上率先采用了Cumulus Linux。

戴尔网络副总裁Drew Schulke表示:“在许多开源项目中,谁得到客户的青睐,谁就能得到生态系统的支持。大概一年前,SONiC赢得了那场战斗,成为了胜利者。未来,我们的重点也将放在SONiC上。”

Schulke说,SONiC的一个卖点是它从一开始就对容器很友好,公司可以在其中添加自己的秘密选项,无需考虑基本的NOS内核,也不必将代码上游到Linux内核。基于Azure传统,它非常擅长使用EVPNoverlay的L3 underlay和L3 Fabrics。但戴尔将在未来几个月内致力于增加更多的L2功能,以及多播、IGMP监听、上行链路故障检测,并推出开放式最短路径优先路由协议。

顺便提一句,SONiC的这些新增功能将由戴尔开源。由戴尔发布的 SONiC企业版是经微软批准的Dell SONiC rollup的正式名称,它将在第三季度提供附加的L2功能,支持合同为一年、三年或五年。价格将根据交换机的带宽而定,每年每台交换机的成本在几千美元左右。

未来怎么走?

对于未来的方向,SONiC社区的其他成员也有自己的想法。

Maltz说:“我们正致力于将SONiC部署在5G边缘,以便它能够更接近信息的消费者和生产者,SONiC将提供一个可信赖的基础平台,可安全地引导边缘所有的基础设施。我们正在做基于SONiC的负载均衡器,在现有的网络专用集成电路上运行SONiC,提供L4负载均衡,再将负载均衡器引入到您其他相同的网络管理框架中。

另外,Kubernetes是部署云服务的一个很好的平台,通过Kubernetes管理SONiC,就可以利用本来已经具备的功能,将新的容器部署到这些交换机上,以进行更快、更安全地创新。

我们还在研究如何将机器学习应用到SONiC的网络管理中。利用SONiC的能力,可以在交换机上显示新的遥测数据,并进行灵活的计算,然后将数据送回更大的网络和系统中,进行机器学习和分析。

另外,我们使用Sonic作为SmartNIC的管理平台,提供灵活的方法将网络转换从服务器转移到SmartNIC,像管理网络交换机一样去管理SmartNIC。”

Maltz的策略貌似很全面,但奇怪的是,微软并没有对自己的SONiC发行版提供支持,IBM的Red Hat也没有。

随着SONiC的发展,在云计算和开源的推动下,假以时日,各个网络设备会不会使用独立于厂商的统一操作系统呢?

原文链接:
https://www.nextplatform.com/2020/05/12/is-microsofts-sonic-winning-the-war-of-the-noses/


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/24296.html
分享到:
相关文章
条评论

登录后才可以评论

环球塔莎 发表于20-07-16
2