加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

连接未来的SONiC:开源智慧网络基础架构

发布时间:2019-07-01 20:18:01 所属栏目:创业 来源:中关村在线
导读:副标题#e# 我们的网络连接着数百万台服务器、数千万个虚拟机,要具备高性能和低延迟的能力支撑一张非常大规模的网络。在这么大规模的网络之上,我们每天都数以秒计的产生很多业务信息、网络信息和网络数据,我们必须有足够的能力去及时处理。对于故障的发现
副标题[/!--empirenews.page--]

“我们的网络连接着数百万台服务器、数千万个虚拟机,要具备高性能和低延迟的能力支撑一张非常大规模的网络。在这么大规模的网络之上,我们每天都数以秒计的产生很多业务信息、网络信息和网络数据,我们必须有足够的能力去及时处理。对于故障的发现、恢复和隔离,要能够做到快速有效的保障,这些取决于我们如何构建底层的基础设施。”在OCP China Day 2019(开放计算中国日)上,阿里巴巴高级专家刘永锋谈到了阿里集团在承载海量的业务需求时,所遇到的网络挑战。

说到阿里巴巴,相信很多人都会想到一连串的熟悉名字:天猫、淘宝、支付宝、优酷、高德、阿里云等等,在这些平台上每天都在发生了数以亿计的业务响应,要想为全球的用户提供高质量的使用体验,网络作为传输信息和数据的管道,扮演着至关重要的角色,而相应的,超大规模的业务范围也带来了“超大规模”的挑战。其原因在于,用户的需求无时无刻都在变化,并且这种动态的需求不受时间、空间、地域的限制,需要基础设施具备“秒级”的反应能力。

让网络变得有智慧,是近年来不管是ICT厂商、CSP、ISP都在思考并辅助实践的发展思路,而OS可谓是硬件基础架构的“大脑”。早在2016年的OCP峰会上,微软就正式发布了基于Debian GNU/Linux的开源交换机操作系统——SONiC,实现了数据控制面与转发面的分离,用户可以采购白牌交换机搭载SONiC实现不同的网络功能,SONiC使得用户能够更快的调试、修复并测试软件,通过改变软件策略和拓扑实现新的网络架构,让网络实践更为灵活。而在更早一年的3月,微软同样是在OCP峰会期间,向OCP贡献SAI (Switch Abstraction Interface,交换机抽象接口)。那一年的7月,OCP正式接纳了SAI。

SONiC向AI更进一步

一直以来,在数控分离层面的争议都没间断,完全集中式或完全分布式的解决方案都被认为过于激进,让数控具备编程能力,同时又可以分离之后集中控制,是不少人都看好的一个方面,这或许也是SONiC的初衷之一。Microsoft Open Technologies开放了微软管理硬件操作的软件代码,例如服务器诊断,电源供应、风扇控制等等,这种开源的特性自然也延续到了SONiC,即所有软件功能模块都是开放的,可在GitHub上随时取用,不仅可以让用户在数小时内获得更新,还能够利用云端的能力进行深度遥测和自动化故障处理。

“我们希望让大家记住SONiC的两个特点。”Microsoft Principal Product Manager Xin Liu在OCP China Day的主题演讲中说,“第一,它是基于SAI的,在没有SAI之前所有芯片都要通过自己的SDK与上层的软件通信,相当于用自己的‘方言’跟上层的操作系统通信,SAI把这个‘方言’标准化,大家的芯片用同样的语言与上层的控制软件交流,因为有了SAI,所以才能建立一个操作系统。”

尽管SAI本身没有完全开源,但其却为SONiC提供了统一的API 接口,向下可以对接不同的ASIC。试想,如果没有SAI,那么就需要白盒交换机厂商自行适配不同的ASIC。有了SAI之后,适配ASIC的工作就由芯片厂商完成,使得白盒交换机厂商推出一款新产品所花费的时间大大缩短。

“第二,SONiC可以带来很多好处。”Xin Liu谈到,“首先,能够让使用者很好的使用所需要的功能,或者将性能最好的东西放在操作系统中。其次,SONiC有很好的扩展性,使用者无论需要增加新的功能,还是改变一个Docker,还是开发新的东西,都不需要做太大的变化,只需要对一个局部做出改变。”可以看到,依托于Linux、Docker生态的SONiC在过去三年已经孕育了丰富的管理软件和解决方案,而其自身也与Redis,Quagga、LLDPD等开源技术碰撞出了更多的火花。

2016年正式上线的时候,SONiC的理念就是将传统交换机OS拆分成多个容器化组件的解决方案,进而也定义了控制面的容器化架构,囊括了组件和编程接口。2017年微软对SONiC的性能进行了大幅升级,全面支持IDV,并且融合了更多的容器特性。2018年微软又在管理性上下了大力气(如ConfigDB),让使用者用起来更加从容。未来,SONiC还会在深度学习等AI特性上做更多的尝试。

与开源生态密不可分

有了SAI,SONiC可以在确保与ASIC编程接口一致的情况下,不仅能提升速度和效率,还可以支持多个不同的ASIC,让ISP的硬件创新可以在不同平台上实现统一的软件优化。基于Azure的全球数据中心,与SWSS整合之后的SONiC可以直接管理交换机状态。如果所部署的容器出现问题,也可以调用代码来进行升级,而不是更换交换机镜像,省去了不少麻烦。尤其是面向云数据中心,乃至未来的软件定义数据中心,SONiC可以最大限度简化运维人员的管理/配置工作量,就能做到网络使用场景的定制化。

近两年,有越来越多的合作伙伴加入了SONiC的生态,像Canonical使用SONiC作为Ubuntu的快照;Docker通过Swarm来管理SONiC容器,使其具备了大规模更新的能力;Mellanox使用SONiC来辅助Spectrum ASIC基于硬件的数据包生成功能,实现了故障诊断和故障排除。正是有了这么多的伙伴支持,SONiC在完善白盒交换机生态链的影响力被进一步放大,自然也就吸引了OCP的认可。

在OCP China Day上,笔者看到了SONiC的一些新成果。“我们要把原有的Chassis黑盒子打开,仍然有前端和后端的芯片,中间是用一个标准的以太网相连,我们是在用连接构建数据中心的方法构建Chassis内部网络,网管可以运营数据中心内部的网络。”来自微软研究院的Bai Wei说。

Bai Wei谈到,在构建Chassis过程中,微软借鉴了很多传统Chassis的优点,“我们把Chassis的功能放在红色的芯片上,让前端的SONiC互相通信,广播路由信息可能后端的SONiC完全不知道,如果前端SONiC互相知道路由信息,那么他们怎么把包转发给彼此?我们用了一个虚拟化隧道,一个前端收到一个包以后,实际上每家网络的需求和痛点不一样,但是在SONiC的开放平台上就可以定制出一款让用户满意的解决方案。”

Xin Liu表示,SONiC下一步要吸引更多的团队成员加入,以及融入到更多IT公司的网络中,同时也要在2019年开始商业服务,让SONiC支持更多的业务,“我们做了这么多工作和成绩,与我们的合作伙伴密不可分。”

阿里的SONiC构想

Xin Liu所说的合作伙伴,自然是包括阿里巴巴。就像文章开头所说的,阿里巴巴业务规模高速成长的背后,同样衍生出了一部网络进化史。2014-2015年,阿里将更多的网络研发精力放在纯软件优化上,引进了像DPDK这种用户态的协议栈优化性能,在交换机上尝试用独立软件运行在一个裸金属转换器上,让软硬件实现自主可控;2016-2017年,阿里逐渐使能硬件架构,网关快速进入到400G时代;2018-2019年,软硬件融合的趋势加剧,处理器的可编程性对于业务灵活性起到了重要作用。

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读