SONiC开源,看微软如何布局白盒标准化

3月9日,在圣何塞的开放计算项目(OCP)峰会上,微软发布了一个完全开源的Software for Open Networking in the Cloud (SONiC),SONiC目前已经可以运行在已经建立合作关系的Arista,Broadcom,Dell,Mellanox等公司的网络设备上。

SONiC不是硬件,是构建网络设备(如交换机)所需功能的软件网络组建的集合。它可以通过转换抽象接口(SAI)在不同的交换机平台运行,该项目是微软在去年的OCP峰会上宣布,直到7月份才被OCP接受。它是为满足数据中心网络需求而构建的lean stack的模块化架构,SONiC使得云计算运营商利用硬件创新的优势,在开发app时建立一个开放源码的架构,能够集成多个平台。SONiC不只是一个原型软件部署,还计划实现规模化部署。

最重要的是,SONiC的所有软件组件都是开源的,推动了社区在开放网络方面的创新。

Why SONiC?

长期以来,SDN应用于管理微软遍布全球的Azure云计算基础设施。可伸缩性、可靠性、速度、虚拟化、横向扩展等取代了传统的Azure粒度级服务器设计、网络适配器(NICs)边缘和WAN的计算、存储、网络功能。SONiC的核心指导思想正是如此。

所有的云计算运营商都是依靠高速、高可用性的网络来支持他们的服务,这就使得SDN至关重要。网络运营商在快速增加他们所需的网络功能的同时,也面临着管理复杂的特性变化的挑战。

Azure Networking架构师Kamala Subramaniam表示:对微软来说,我们相信市场上有很多优秀的硬件交换机平台,多厂商之间的竞争推动了创新并降低成本。然而,要将运行在云计算网络管理平台中不同的交换机上集成不同的软件有很大的难度。理想状况下,我们希望能保证最大化的实现并利用已有功能,并且能够修复所有Bug。

SONiC让用户能够共享来自多交换机厂商跨硬件的相同软件堆栈,通过模块化的架构和lean stack,SONiC使得用户能够更快的debug、修复并测试软件。用户能够根据数据中心和网络的需求,更加灵活地应用于实践。最后,它可以很容易的与其他开源、第三方或专有软件组件兼容并进行创新。

来自网络社区的贡献大大提高了SONiC的质量,最初的贡献是由微软的合作者提供,目标是建成一个健全的社区,可以随着时间的推移将资源完善、扩展并发展社区。

Linux仍是最佳选择

SONiC的推出标志着微软将会和来自惠普、戴尔和Cumulus Networks的白盒网络操作系统进行竞争。基于Linux的Azure Cloud Switch(ACS)系统已被用于创建SONiC,而前者是微软Azure云服务当中最重要的部分。ACS能够在来自不同设备厂商的各种硬件设备上运行,且能够使用通用的C API--the Switch Abstraction Interface (SAI)--对网络设备专用芯片进行编程。这本质上就是允许ACS的完全控制和管理网络设备来实现底层电子设备所需求的各项功能。

SONiC对OCP社区的意义

Azure Networking架构师Kamala Subramaniam表示:我们相信OCP是发展开源堆栈的最好平台,我们也相信SONiC在OCP的指导下稳步发展,SONiC汇集了所有模块形成一个开源的、功能齐全的、安全可靠的云交换机。它给了用户根据网络需求可以自由选择硬件和软件的空间。

SONiC与SAI接口的集成使得用户更快的利用新的硬件,抓住ASIC创新的浪潮,并且能够同时在多个平台上运行。Linux发行版可以通过内核模块支持SONiC和SAI,更多的厂商可以对其平台的驱动进行开源,现有的OCP认证交换机可以通过ONL与SAI集成,此外,更多的软件组件可以实现开源。

SAI对SONiC的重要性

SAI是SONiC和开放网络的基石,自成立以来,SAI在社区内持续增长,吸引了越来越多的贡献者、消费者。SAI的主要贡献者有Barefoot Networks,Broadcom,Cavium,Centec,Dell,Mellanox,Metaswitch。

自去年7月加入OCP之后,SAI已经更新到了v0.9.4版本,最新特性包括统一的隧道——一个用共同的API方法解决隧道和L3入口和出口的接口,能够在服务重启和升级中不影响数据平面。这是对现有功能的补充,保证L3路由功能以及其他的QoS功能,该版本还引入了Python测试架构(PTF)。

目前,SONiC的代码已经可以在GitHub上下载到,SONiC呼吁更多的参与者加入该开源社区。


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

登录后才可以评论

崔佰贵 发表于16-03-11
2