Skip to main content
开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

标签: 科普-关于SONiC

SONiC开源社区生态背后的开放网络革命引擎

近期文章


在数据中心里,数以万计的服务器由无数的交换机连接起来,构成了一个高带宽、低延迟的网络。众所周知,云计算业务对于可靠性有非常高的要求,这要求网络的运维人员,必须对交换机做到高度的可控制、可管理,能够时刻了解网络发生了什么,在出现故障的时候必须快速定位和排除故障。此外,新的云计算业务,也对交换机不断提出新的功能需求,这就要求网络的开发人员能在短时内实现新的交换机功能并部署上线。

在这些新的挑战和要求面前,传统交换机厂商的设备已经显得越来越力不从心,因此,各大云计算厂商纷纷开始了自己的交换机自研之旅。

什么是SONiC?

作为OCP合作项目的一部分,微软在2016年OCP峰会上发布了交换机操作系统开源项目SONiC (Software for Open Networking in the Cloud)。该项目利用交换机抽象接口(Switch Abstraction Interface, SAI)为不同的交换芯片提供了统一的管理和操作接口,并将交换机软件分解为多个容器模块,来加速软件的迭代开发(如图1)。SONiC得到了很多云计算、交换机和芯片厂商的响应,目前的开源社区成员包括微软、阿里巴巴、腾讯这样的云计算厂商以及Mellanox、思科、Arista、Asterfusion这样的交换机和芯片厂商。

容器架构

SONiC之所以在众多开源网络操作系统中脱颖而出(AT&T的dNOS,Facebook的FBOSS),我想主要有如下几个原因:

  • 微软云计算做出的成绩有目共睹,因此SONiC也就有了业界最佳实践。
  • 众多第三方开源工具的使用。容器化可以类比于浏览器模式的插件化,这样很多第三方工具可以很方面的集成到SONiC中,而不需要对系统做很大的更改。即插即用模式非常符合目前的软件潮流,意味着开放的精神。(图1)中Applications标注的就是用户工具,比如LAG,LLDP, BGP等。

SONiC的亮点

SAI接口容器化是SONiC的两个突出的亮点。SAI使得SONiC可以兼容不同芯片的设备,且芯片驱动只需要提供接口,并不需要开源同时也保证了芯片驱动的封闭性。

容器化使得SONiC可以充分利用现有的开源软件,比如redis, Quagga/FRR, GoBGP等,通过内核/redis-db来实现各个容器之间的通信,同时保证各个第三方组件的相对独立,便于对容器进行控制,也可以很快的兼容新的特性。当然,SONiC本身是完全开源的,最开始是微软开源出来,放在Azure下维护,最终SONiC被移交给了Linux基金会管理,开源生态越来越成熟,独立性也越来越强,不再依赖于某一个厂商。

sonic

SAI

交换机抽象接口(Switch Abstraction Interface, SAI)作为SONiC架构的基石,解决了传统网络设备软硬件深度绑定的痛点,并定义了一套标准化的API接口(如端口管理、路由表操作、ACL配置等),屏蔽了不同ASIC芯片(如Broadcom、NVIDIA Mellanox、Barefoot)的底层差异。开发者无需关注硬件具体实现,只需调用SAI接口即可控制转发行为,实现“一次开发,多芯片运行”。通过SAI,SONiC可无缝适配多厂商ASIC芯片。

容器化

传统的设备操作系统是单一系统,各个协议通过多线程或者多进程交互,因此需要定义交互的协议类型,报文格式,比较常见是私有协议,或者基于Linux各种Socket的标准底层协议。这种实现要求各个协议之间数据格式是相一致的,因此也只有设备上自己开发的软件能够实现。而容器化是将各个协议使用容器的方式聚合(典型的是docker),容器之间通过操作系统的接口实现交互,因此各个容器之间是弱连接,这样便于容器之间的软重启或者动态编排,更符合软件及服务的概念。

开源化

SONiC上一个很重要的协议就是FRR,他是从Zebra->Qugga又分出来的一个开源路由协议组件,除了成熟的OSPF, BGP等路由协议外,对于MPLS和SRv6也增加了很多支持,FRR还增加了FPM(Forwading Plane Manager),即转发平面管理,除了支持传统的netlink接口协议,还支持了protobuf协议,更容易集成新的组件。在底层通过redis数据库的订阅发布机制,将事件生产者和消费者联系了起来,可以看看这篇文章的分析。

基于SONiC内核的网络操作系统—AsterNOS

作为国内第一批SONiC社区成员,星融元围绕开放网络技术进行了长期、持续的投入,并结合各种典型应用场景做了足够的测试验证和缺陷修复,所提供的SONiC企业级发行版AsterNOS目前已可稳定兼容几乎所有主流商业交换芯片,构建的一系列有特色的硬件平台,能够实现从数据中心到云化园区的跨场景使用。

截至2022年底,AsterNOS已针对社区原生版本的缺陷和不足完成了大量开发工作,并切实提升了软件的可靠性和易用性,这其中就包含了VXLAN、ARP Host Routing、BGP EVPN、VLAG、Monitor-link、STP/MSTP等网络功能补充和增强,以及对思科风格的CLI的支持。

为了更加充分地发挥开源开放的力量,AsterNOS还在SONiC云原生的架构之上提供了强大的SDK能力——用户可通过丰富的API(RESTful API和系统级API)在网络设备上简单快速地开发第三方APP,以及与各种开源运维工具/平台无缝集成。

SONiC

AsterNOS与SONiC社区版主要能力对比-表1

AsterNOS与社区版对比

SONiC商用场景扩展

数据中心(AsterNOS-DataCenter)

主要提供 L2/L3/VXLAN/Routing/EVPN 等云数据中心所需的各种功能,以及对智算等场景的RoCE、智能路由等特性的增强支持(未来也将主要基于此版本平滑支持下一代以太网协议,例如超以太网)。

企业园区(AsterNOS-Campus)

将SONiC的核心原则——开放性、易用性和灵活性引入园区。提供VXLAN 和 BGP-EVPN 虚拟化,实现灵活的逻辑网络编排;选定型号上采用 MPLS,可实现运营商级场景的无缝 WAN 集成;部分型号采用 PTP(精确时间协议),为关键应用提供高精度时间同步的网络。

从数据中心场景到园区网络,这不仅仅是“更换操作系统”,而是一次深度集成和系统级重构。我们针对资源受限的硬件平台(甚至是 1G 端口的接入交换机)移植并优化了SONiC,并围绕其他开放网络技术(例如OpenWiFi/OLS)提供端到端的新一代云化园区网整体解决方案。

边缘路由(AsterNOS-VPP*)

从硬件角度来看,业界已有很多强大的基础平台如各类 DPU 网卡、高性能服务器或虚拟化主机;在软件方面,VPP等数据平面解决方案也已经显著成熟,两者共同为构建开放路由平台奠定了坚实的基础。
然而,SONiC 仍难以在这些新平台上提供完整的路由功能——市场上明显缺乏一种能够真正取代昂贵的封闭式黑盒路由器的商用级、成熟且用户友好的开放式路由解决方案。

AsteNOS-VPP 则是目前我们围绕SONiC的最新实践。具体而言是将 SAI 接口集成到 VPP 上,使基于 SONiC 的 AsterNOS 能够从交换机 ASIC 平台扩展到具有完整路由功能的 DPU 和服务器平台。

参考文献
– mp.weixin.qq.com
– SONiC Boom: Leveraging Open Source and Merchant Silicon for Today’s Scalable Network Infrastructures

返回资源中心

最新动态

星融元深度合作SONiC社区,“一站式”SONiC网络解决方案赋能千行百业

更多相关内容


近日,星融元(asterfusion.com)正式加入成为Linux基金会下的SONiC社区会员单位成员,未来星融元将继续与SONiC 社区深度合作,为人工智能、云、企业数据中心和园区接入打造一个开放、可扩展和可编程的网络架构。

SONiC社区会员单位成员

星融元是中国最早参与SONiC社区并积极向社区贡献缺陷修复和软件特性代码的公司之一,自成立之初一直致力于开发基于 SONiC 的企业级操作系统。作为行业先驱,星融元已经在数据中心和二层接入交换机上实施了企业级 SONiC NOS——AsterNOS

几年来,随着研发队伍不断发展壮大,AsterNOS经过持续更新迭代,其软件特性和芯片支持不断完善扩充,在稳定性和易用性方面也实现了极大的改进,可同时部署于数据中心和园区网络,目前完成了数万个现场商业部署的拷贝。

AsterNOS的能力

SONiC是什么?

SONiC全称Software for Open Networking in the Cloud(云中开放网络软件),是一种基于 Linux 的开源网络操作系统 (NOS),可在多个供应商和 ASIC 的交换机上运行。全新理念、开放的架构让SONiC/SAI焕发出蓬勃的生命力,快速获得了云计算时代的全球用户、厂商的青睐,成为云计算时代构建网络软件系统的首选。

据Gartener报告,到 2025 年,全球40%运营超过 200 台交换机的大型数据中心网络的企业将在生产环境中部署SONiC,SONiC有望像Linux服务器操作系统一样,成为硬件供应商支持的标准化网络操作系统。

星融元的系列化SONiC开放网络产品

区别社区其他参与单位,星融元所提供的并非是纯白盒硬件或基于SONiC的纯软件产品,而是软硬一体的一站式开放网络解决方案,系列化的产品和方案让全球更为广大的数据中心和园区网络用户都能平等、便利地享用到开放网络所带来的技术进步。

AsterNOS已稳定支持从 1G 到 400G 的各种端口容量和多芯片平台,适用于公有云、私有云、园区接入、边界智能网关等多种应用场景。

星融元为云计算的各关键应用场景构建全栈网络

返回资源中心

2023 年三大开源网络发展趋势

更多相关内容


用于企业级交换机文章的配图开源网络技术正引领着企业、云计算和电信的发展方向。这是隶属于 Linux 基金会的 LF Networking (LFN) 提出的方向。

推动开源网络发展的主要趋势:

趋势 1:继分解之后的再分解

就在十多年前,分解趋势从 SDN 开始,这是一种将网络堆栈中的硬件与软件分离的方法。这一趋势随着边缘和接入网络的分解而扩大。

“你猜怎么着?总得有人把它们放在一起,”Joshipura 说。

现在的挑战是,企业要意识到,他们必须将各种分解的网络组件重新组合在一起,才能为企业、云和电信服务提供商提供完整的端到端堆栈。

在谈到 5G 和开源时,Joshipura 说,LFN 已经提出了以该组织称之为 5G 超级蓝图的形式进行重新分解的计划。这些蓝图提供了一个项目参考堆栈,可以将这些项目整合在一起,创建一个完整的解决方案。

趋势 2. 垂直行业的开源网络运动

5G 超级蓝图并不是开源组件中出现的唯一一种完整解决方案堆栈。

Joshipura 表示,在企业、云和接入网络的多个用例中,开发满足特定垂直行业和用例需求的堆栈正成为一种日益增长的趋势。迄今为止,活跃的行业包括能源、商业和制造业。

“我们所做的就是专注于这些对每个市场都很重要的用例。乔希普拉说。

趋势 3. 以前互不相关的细分市场正在合并

另一个趋势是市场合并。

Joshipura 指出,企业、云计算和电信不再各自为战。电信公司现在通常与云提供商合作。企业既与电信公司合作,也与云计算公司合作进行网络建设,需求和解决方案正日益融合。

根据 Johsipura 的说法,企业、云和电信公司都在合作开发从网络核心到边缘的开源服务,包括网络即服务(NaaS)等。合并的原因有很多,开源的 Kubernetes 容器编排系统就是其中之一。Kubernetes 可运行企业、云和电信公司的工作负载。

“现在,Kubernetes 有了一个通用的水平层,”Joshipura 说。”这是这些市场走到一起的原因之一。”

返回资源中心

认识一下 SONiC,这个新的 NOS(绝对不同于旧的 NOS)

更多相关内容


开源的 SONiC 网络操作系统,即将成为“网络界的 Linux”

SONiC网络操作系统正在快速发展一个开发者和用户社区,这可能会改变许多大型企业、超大规模网络运营商和服务提供商运行网络的方式。

开源与开放的理念天然契合万物互联的数字时代发展要求。过去的十年间,开源技术的应用势不可挡。正因为有了创新的开发者社区,开源已成为云计算,SaaS 服务,下一代数据库,移动设备,互联网甚至区块链的基础。根据中国信通院相关数据,截至2019年,国内已经应用了开源技术的企业占比超过八成,开源技术自主可控、节约成本、部署快捷的优势已经被广大企业普遍接受。如今,一个开源项目甚至会衍生出一个全新的产业链生态。

SONiC这个基于 Linux 的 NOS 是由微软于2017年开发并开源的,它将上层的网络软件从底层硬件上解耦,让其可以在来自多个供应商的交换机和ASIC上运行,同时支持完整的网络功能,例如边界网关协议(BGP)、远程直接内存访问(RDMA)、QoS 和其他以太网/IP技术。SONiC的关键之一是交换抽象接口(SAI),它定义了一种API,以提供一种独立于供应商的方式来统一地控制转发。

SONiC社区(https://sonicfoundation.dev/)正在不断壮大,包括DELL、Arista、诺基亚、阿里巴巴、、思科、博通、Juniper,Edgecore,Asterfusion(星融元),Nvidia-Mellanox和VMware等公司。SONiC是微软Azure网络服务的基础。据IDC预测,到2024年,SONiC数据中心交换机市场价值将达到20亿美元。SONiC社区现在已经拥有850多个成员,包括主要的云服务提供商、服务提供商、芯片和相关组件供应商,以及网络硬件OEM和ODM商,业界普遍认为SONiC有可能成为网络界的Linux。

SONiC已经成为开放网络的领先开源标准

SONiC一开始主要部署在云数据中心的TOR交换机上,但它获得的行业支持和借助社区和支持厂商不断增加的新功能正在帮助它扩展到云数据中心的spine-leaf网络,广域网和企业园区网络等路由场景。IDC表示,预计在未来几年中,SONiC将越来越多地出现在5G和电信云边缘环境中,特别是随着完整的5G技术的推出以及5G在企业中的实践案例得到验证。

SONiC的开放解耦架构是驱动其发展的一个重要因素。SONiC项目的发起者微软,或许是SONiC的最大的收益者。微软使用来自多个供应商的设备和软件构建了一个异构数据中心,但仍然必须构建一个可靠的网络将所有这些新技术和应用拼接在一起。而SONiC提供了统一的软件层,网络工程师在做了技术调整之后可以更加轻松地将其推广到全球各个数据中心。据微软工程师透露, SONiC帮助检测和诊断Azure网络运行状态。“解决问题和修复问题的时间显著缩短了……我们可以在大约一个小时内找到问题的根本原因,并在大约四个小时内得到修复,而不是之前可能需要几天的时间。”

此外,作为开源软件,SONiC非常突出的长期价值之一是其可编程性。借助社区的力量,以及通用的编程语言,我们将能够更轻松地与社区分享问题,并利用各种技能构建更好的面向网络的应用程序。

企业级的SONiC和一站式的方案交付

在这个“软件定义一切”的时代,开源SONiC+白盒交换机提供了更加灵活、可定制和高性能的网络解决方案选择,使得自研交换机的门槛大大降低,我们已经看到例如字节跳动、阿里巴巴等一些大厂开始大规模部署,帮助他们优化成本并且简化运维。但遗憾的是,自研这条路对于绝大多数企业和组织来说不具备可行性。

星融元是国内唯一提供企业级 SONiC (点击了解AsterNOS)和白盒交换机硬件的厂商,以软硬件一体化的产品交付方式将大型云厂商的白盒化成功经验复制到规模更大的传统市场,为客户提供全栈、开放、可编程的自由选择。

星融元为云计算的各关键应用场景构建全栈网络

星融元自 2017 年以来一直在开发和维护面向生产环境开箱即用的SONiC ,源自开源,超越开源,领先社区,开放融合,一套NOS即可满足云计算时代下的多场景需求。对于云的建设和管理人员来说,无论是完成各项日常网络配置操作,还是集成各类开源网络工具甚至自开发应用,在星融元的AsterNOS之上,一切都变得前所未有的简单和高效。

更多基于SONiC的行业解决方案

浅聊SONiC网络操作系统及SONiC社区

更多相关内容


SONiC NOS 是什么

SONiC(Software for Open Networking in the Cloud)是一种开源网络操作系统(NOS),由微软公司开发并开源。它是为数据中心和云计算网络而设计的,并旨在提供一个快速、可扩展和灵活的网络操作系统。SONiC支持多种硬件平台,包括网络交换机、路由器和网关等,可以在各种云计算环境中运行,如公有云、私有云和混合云等。

SONiC的设计理念是将网络设备的数据平面和控制平面分离,以实现更高的灵活性和可扩展性。它基于Linux操作系统的核心,使用容器化技术提供网络服务,并由多个微服务组成。这些微服务包括交换机ASIC驱动、路由协议、VLAN、ACL、QoS等,可以轻松地部署、管理和扩展。
SONiC的开放性和灵活性使得它成为数据中心和云计算网络的理想选择。它可以与各种标准硬件和软件组合使用,从而使客户可以根据自己的需求选择最适合自己的网络设备和服务。此外,SONiC还具有高度可编程性和可定制性,使得客户可以根据自己的需求进行自定义配置和编程。

总之,SONiC是一种快速、可扩展和灵活的网络操作系统,适用于数据中心和云计算网络。它采用容器化技术、微服务架构和分离的数据平面和控制平面,具有高度可编程性和可定制性。同时,SONiC还是一个开源项目,可以根据开发人员和社区的贡献不断发展和改进。

SONiC 社区

SONiC社区是由SONiC用户和开发者组成的一个社区组织,旨在推动SONiC的发展和改进。社区成员包括网络设备制造商、云服务提供商、网络工程师、开发人员和爱好者等。他们通过协作、共享和交流来推动SONiC的发展,并为SONiC的用户提供支持和帮助。

SONiC社区是一个开放的社区,任何人都可以加入。社区成员可以通过其邮件列表、GitHub存储库、Slack频道等渠道进行交流和合作。社区还定期举办会议、研讨会和培训活动,以促进SONiC的发展和提高社区成员的技术水平。

SONiC社区的目标是为SONiC用户提供一个开放、透明和协作的环境,使他们可以共享经验、交流想法和合作开发。社区成员可以共同解决问题、改进SONiC、开发新功能和应用程序等。这种协作和共享精神使得SONiC能够不断发展和改进,成为一个更加强大和灵活的网络操作系统。

总之,SONiC社区是一个开放的、协作的和共享的社区组织,旨在推动SONiC的发展和改进。社区成员可以通过各种渠道进行交流和合作,并共同解决问题、改进SONiC、开发新功能和应用程序等。这种协作和共享精神使得SONiC成为一个更加强大和灵活的网络操作系统。

从SONiC说开去,什么是开放网络

SONiC是目前开放网络技术路线下最富有前景的项目,开放化和标准化是技术发展的宏观大趋势,据Gartner报告指出,SONiC在网络领域的广泛应用和部署将有望使其成为类比于服务器上的Linux一般的存在。

那么什么是开放网络呢,顾名思义,开放网络的最主要特征是其开放性。这意味着网络资源和服务的提供者不仅可以自由地公开其API,还可以将其服务与其他组织或个人的服务集成。这种开放性可以促进创新和合作,从而推动网络生态系统的发展。

开放网络还可以促进数据共享和互操作性,这对于现代各类基于云的应用程序和服务非常重要。例如,大数据分析、物联网和人工智能等领域需要访问和集成来自多个数据源的数据。通过开放网络,这些应用程序和服务得以更轻松地访问和共享数据,从而提高其运行效率和并保证输出的稳定和准确度。此外也可规避因封闭专用技术导致的厂商锁定,帮助运营方优化成本。

另一个重要的开放网络特征是其可扩展性。由于开放网络采用标准化的接口和协议,它们可以很容易地与新技术和服务集成,满足不断变化的云业务需求。

传统网络演进到开放网络的五个维度

对比传统网络,我们可以从网络架构,控制面技术,交换硬件和软件以及面向的业务场景做一个简单区分,

  1. 传统网络架构是基于流量收敛模型的三层组网;开放网络架构多采用Clos全互联,Spine-leaf组网,大大提高数据传输的效率和可靠性,同时还可以实现更高的可扩展性和灵活性。
  2. 传统网络采用的是集中式管理控制,决策路径依赖主控单元;开放网络采用的是分布式算法,可实现全网自治管理,它具有更好的可扩展性和鲁棒性。因为网络中的每个节点都可以独立运行,所以可以更容易地实现网络的扩展和升级,同时也可以更好地应对网络中出现的故障和攻击等问题。
  3. 设备硬件和软件方面,传统网络多采用大机架、专用背板/芯片,上百种板卡。这种方式在网络规模较小的情况下还能够满足需求,但是在面对越来越复杂的网络应用和海量数据的传输时,随着规模和复杂度上升,网络管理和维护难度(每种板卡都需要独立管理维护)以及能耗都会陡然上升。并且,专用背板和芯片也受到厂商定制生产的所带来的局限,灵活大打折扣。传统网络设备使用嵌入式专用系统,这类系统由各厂商专门开发设计,其性能和稳定性的确有保障,但不同厂商之间的互操作性会相对不佳。开放网络采用了更加灵活的硬件架构和模块化的软件设计,能够实现更少的设备数量来完成网络功能。相比于传统网络的大型机架和上百种板卡,开放网络只需要少量的单芯片系统来实现网络功能。除此之外,基于可编程芯片的网络设备还支持通过软件方式进行定制和升级,甚至不需要更换硬件。随着开放网络的标准不断演进和技术发展,基于SONiC的开放网络已在全球头部云服务商和运营商网络中得到了规模化部署,也正在往愈加复杂多样的企业和园区接入场景扩展。
  4. 在传统网络时代,围绕通信标准搭建IT系统是一种常见的做法。这种做法通常是基于特定的通信标准或协议,使用专用的硬件和软件来实现网络功能,其优点在于可以实现高性能和高可靠性的网络功能,但往往难以适应快速变化的业务需求和应用场景。而在开放网络时代,网络功能从专用硬件中解耦出来,由IT业务应用需求而生,被软件定义。

基于SONiC的开放网络是否足以支撑企业级和运营级的商业应用?

随着最终客户对交换芯片的需求和选择向多元化发展,星融元和多个知名交换芯片厂家建立了深度合作关系。今天,星融元所提供的企业级SONiC发行版(AsterNOS)运行在包括Marvell、NVIDIA、Intel/Barefoot等在内的新兴的数据中心交换芯片平台上,并帮助客户完美地实现这些交换芯片的各种能力在一个开放软件系统中充分释放和使用。围绕AsterNOS我们也提供一站式开放网络解决方案,1G-800G的系列化交换机可覆盖从一般云网络,上至AI智算中心,高性能计算,下至各行业企业园区办公网络接入等业务场景需求。

product

面向云数据中心,高性能计算,AI计算集群以及企业园区等场景的解决方案

对星融元产品感兴趣?

立即联系!

返回顶部

© 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2