深度 | 从0到3.0,揭秘阿里云洛神云网络的进化之路(上)

近日,2021年度浙江省科学技术奖揭晓,由阿里云牵头联合浙江大学攻坚的超大规模高性能云计算网络系统(阿里云洛神系统)荣获浙江省技术发明一等奖。

由多名院士及资深专家组成的专家评委会对阿里云洛神给予了极高的评价:

“该项目技术复杂,研制难度大,在虚拟网络高速转发、网络状态实时多尺度观测、大规模网络高性能调控等方面具有原始性创新,达到了国际领先水平,是我国在云计算网络领域赶超世界先进水平、构建自主生态的成功实践和重大成果。”

从一开始的一片空白到现在的完整体系,洛神云网络中间经历了三次重大技术升级。本文将揭秘阿里云洛神云网络的起源以及如何历经三代演进到今。

01

缘起飞天

2010年,阿里云用服务器搭载软件的方式,开发出第一款云网络产品——负载均衡SLB(Server Load Balancer),对网络流量(网络上传输的数据量)进行均衡分发。由此拉开了云网络高速发展的序幕。

跟“飞天”操作系统一样,云网络也有一个属于自己的取自中华传统神话的名字“洛神”,洛神是掌管河水之神,象征着连接、汇聚和流动,这也契合了云网络连接数字世界的定位。

洛神云网络发展到现在经历三个重要的阶段:

·2010年的洛神1.0,即云数据中心网络;

·2016到2020年的洛神2.0,是云广域网络;

·再到2020年开始的洛神3.0,是应用-云-边-端一体的智能网络。

在不同的阶段,洛神云网络给用户提供了不同的产品能力,满足用户的网络需求。

640 (1).jpg

02

从零起步

自研云计算网络,说起来容易,但是做起来无比艰难。区别于传统物理网络设备,云计算网络天然有三大特性:多租户、大规模、高弹性。

·多租户:云计算网络天然是一张多租户的网络,需要让不同的租户的应用能同时运行在这张网络上,并且不用租户之间的网络能互相隔离。

·大规模:云计算的本质就是将资源通过虚拟化技术进行池化之后以更高效的方式提供给用户,云计算的规模越大其池化效果越好,因此,云计算网络在管理和控制技术上需要突破传统网管技术至少一个数量级才有可能达到这种规模

·高弹性:云计算网络需要能为用户提供按需使用的弹性调度能力,针对用户的高带宽高吞吐的场景还需要提供超高性能的网络转发能力。

针对这三个特性,2009年的阿里云面临的是三个空白:

·学术方面:以Jennifer Rexford为代表的国际网络领域学者从2004年开始探索如何让网络的管理和控制如何更加高效灵活。

其中最有代表性的是04年发表在SIGCOMM会议上的“Network-Wide Decision Making:Toward A Wafer-Thin Control Plane”,首次明确提出了转发和控制分离的理念,这为后面Software Defined Networking的诞生奠定了理论基础。

回到国内,2009年国内在学术上对SDN领域产出稀少,学术上的研究储备基本空白。

·技术方面:VXLAN以及NVGRE等用于多租户的云计算网络报文格式还仅仅是草案;

以VMWare为代表商业虚拟化软件公司有一套私有的虚拟网络解决方案,并且已经实现了多租户虚拟化网络;

OpenStack,OpenFlow等开源技术方案也尚未出现,对于阿里云来说当时几乎没有可以借鉴的技术来实现一套多租户高弹性的云计算网络。

·产品方面:以亚马逊AWS以及微软Azure为代表的云计算厂商已经在该领域深耕多年,AWS推出的VPC(Virtual Private Cloud)几乎成了云计算网络中数据中心网络上云之后的标准模版。

随后几乎所有的云计算公司在网络领域都会以VPC这个产品为基础打造自己的云计算网络产品体系。

阿里云作为后来者面临从零开始搭建自己的产品体系,并且不得不考虑被海外公司培养好的用户习惯,这对刚起步的阿里云云网络产品有很高的要求。

如果不解决云网络的这些问题,阿里云在最重要的IAAS层就不完整,飞天也就缺少了它的一个关键子系统,如何破局是阿里云云网络团队需要面临的第一个挑战。

03

初见雏形

为了能让阿里云的业务跑起来,阿里云开始了洛神1.0的自研,并且将目标定位为多租户的云数据中心网络。洛神1.0的核心由两部分组成:基于X86实现的虚拟网络转发层和第一代阿里云SDN控制器。

640 (2).jpg

基于X86的虚拟网络转发层

云计算通过将数据中心虚拟化给客户带来极大的便利和应用价值的同时也让数据中心网络实例密度提升了数十倍,交换机的ARP表、MAC表的容量相继出现了瓶颈,传统的物理设备无法支撑容纳这么多的虚拟机IP。

针对这些问题,洛神1.0研发了一层基于X86的虚拟网络转发层。其根据部署所处的位置,可以分为两个关键的组件:部署在计算节点端侧的虚拟交换机vSwitch和部署在数据中心出入口的虚拟网关。

通过将业务逻辑从内核态迁移到用户空间来减少内核协议栈损耗,洛神1.0的虚拟交换机性能达到百万级PPS,万兆带宽,虚拟网关单机性能达到千万级PPS,百GB带宽,能力足以支撑当时的大部分主流应用,比如web网站、政务系统、在线游戏等等。

第一代SDN控制器

洛神的第一代SDN控制器严格遵循了学术界将data plane和control plane分离的模式,由一个纯软件实现的控制器(Controller)去控制数据面的行为。整个控制器由两部分组成,Northbound(北向)负责管理租户的实例,Southbound(南向)负责管理虚拟网络设备。

通过这套基于软件实现的网络控制器,洛神里面所有网络配置都统一由它管理,转发设备只需要专注于按照规则和配置去处理报文。

这种设计不仅极大地简化了转发层的设计复杂度,让转发能专注提高性能,同时也让洛神能更灵活得对外提供新的产品和功能,也奠定了洛神的整体技术分层。

04

性能飞跃

洛神1.0伴随着国内云计算的飞速发展,时间来到2016年,阿里云的业务已经不仅限于国内几大地域,海外客户的快速增长要求阿里云需要尽快覆盖全球更多地域,而网络则是阿里云拓展边界的先锋,洛神需要从一张张数据中心网络走向全球互联的广域网。

另一个决定了洛神发展趋势的是云上出现了超大规模的企业客户,最典型的就是阿里巴巴自身的核心业务全栈上云。

在洛神1.0时代一个VPC内通常容纳几百到几万台虚拟机,很少客户拥有十万级以上规模的虚拟机。但是阿里巴巴核心业务上云则直接要求单VPC百万级虚拟机,并且Tb级的带宽要求也远超之前的中小客户,这些技术指标是第一代洛神无法提供的。

面对上面的两个变化,阿里云开始了洛神2.0的研发,也是通过这一代洛神实现了技术指标的飞跃,在关键性能及规模指标上赶上了国际友商。相比1.0,洛神2.0有三大技术突破:

·在数据面,自研Sailfish:可编程高性能虚拟网络转发层,通过网络加速芯片以及可编程交换机实现了Tbps的转发能力,从而突破了性能瓶颈。

·在数据面,自研Cyberstar:弹性网元平台,基于虚拟机构建了一套NFV转发平台,从而实现了云网络网元技术的NFV化。

·在管控面,自研第二代阿里云SDN控制器:实现了十万级设备的秒级配置下发,单VPC支持百万级虚拟机,从而突破了规模瓶颈。

640.png

Sailfish:可编程高性能虚拟网络转发层

网络设备的技术演进始终呈现螺旋上升的发展态势,围绕着灵活性和高性能,软件和硬件在相互融合、相互促进。

从最开始的专用硬件转发设备,到软件转发+通用x86设备,再到目前硬件卸载的软硬一体化转发设备以及大行其道的可编程转发设备。

灵活性和高性能就像一只无形的手,引导着技术的持续发展。而在这方面,云计算服务商的驱动力更大,促使云网络的研发走在了业界的前面。

为了能在进一步提升性能的同时保留软件的灵活性,洛神2.0通过软硬件结合的技术自研了一套可编程高性能转发层:Sailfish,其主要部件有负责大流量转发的P4可编程交换芯片,负责大表项转发的自研网卡芯片,负责业务编排和智能调度的CPU模块。

Sailish单机可以支持Tb级,不仅为大客户上云解决了网络连通性的问题,更解决了超大带宽挑战下的规模、性能、效率等一系列问题。

我们是设计师、工程师、梦想者,是您扬帆出海的私人顾问专家


相关内容:
[亚马逊开店深圳办事处地址在哪里]
[亚马逊开店深圳办事处地址在哪里]
亚马逊开店深圳办事处地址揭秘:一站式开店服务,轻松拥抱财富!各位亲爱的创业者们,你们好!今天要给大家带来一个好消息——亚马逊开店深圳办事处地址终于揭开了神秘面纱!在这里,
亚马逊开店卖翡翠怎么样?
亚马逊开店卖翡翠怎么样?
亚马逊开店卖翡翠:珠宝行业的巨大商机等你来挖掘!在炎热的夏季,一杯清凉的饮料、一本好书和一个精美的翡翠饰品,想必是很多人的首选。翡翠作为中国传统文化中的瑰宝之一,以其晶莹

TG客服:@SSjiejie — 官方频道:@SSwangluo

三生网络 © 2009-2023 超15年出海经验,跨境项目专家