揭秘云网络大会“网红”:阿里云自研高性能网关XGW

跟風遠走 提交于 2020-12-29 11:06:25

2020年12月19日,在首届中国云网络峰会上,阿里云展台人头攒动,里三层外三层,是什么激发了这么多人的兴趣?

为什么需要采用软硬件一体化架构

随着企业上云越来越广泛,网络带宽进一步增长,初期采用物理服务器和DPDK构建的方式无以为继,一方面服务器的摩尔定律已经失效,需要更多服务器来满足不断增加的流量诉求,另一个方面,服务器的大量增加对安装部署/交付运维/成本/功耗等也带来了不利影响,而采用可编程硬件芯片可有效面对不断增加的流量诉求,从单台服务器160G到当前可编程单芯片3.2T/6.4T,下一代12.8T,转发能力提升数十倍,转发时延更低,整体Capex和Opex大幅降低。因此,硬件化是必然选择。

软硬件一体化网关XGW应用场景

XGW是洛神云网络平台的硬件转发层核心,提供了高性能的网络转发能力。

XGW负责公网,专线和跨Region流量的汇聚和分发,如下图所示

典型场景如下:

1)用户经Internet(公网)访问阿里云,使用的典型产品有EIP和共享带宽
2)用户IDC访问阿里云,使用的典型产品有高速通道(专线)
3)云上跨地域通信,如北京地域ECS访问深圳地域ECS,使用的典型产品有CEN

采用软硬件一体化XGW后可以满足用户在上述场景的大带宽和高质量需求

1)大带宽:比如天猫双11或某大客户数10Tbps专线上云流量。
2)大单流:比如IoT场景的GRE tunnel,单流数数十Gbps。
3)稳定性:没有软转发的CPU打满隐患。
4)低延时/低抖动:硬件网关的管道足够粗,客户上云丝般柔滑,没有卡顿,就像高速公路的车道足够多,车辆行驶一路通畅,没有排队/没有阻塞。

客户案例

1)客户信息:客户是全球知名的互联网科技企业,旗下有多个知名应用,包括视频,资讯,教育等等。
2)业务诉求:客户采用混合云架构,带宽规模达到双向51.2Tbps,IDC机房和云上网络全栈支持IPv6。
业务痛点:超大规模,IPv4地址资源枯竭,需要全栈切换到IPv6
3)解决方案:阿里云通过XGW软硬件一体化网关,提供超大带宽,以及混合云全栈IPv6支持
4)方案价值:1)超大带宽支持,单机3.2Tbps,可水平扩展 2)全栈IPv6,无缝连接云上IPv6和线下IPv6网络

软硬件一体化网关XGW技术实践

XGW乍一看像一台2U的服务器,主要部件有负责大流量转发的P4可编程交换芯片,负责大表项转发的自研网卡芯片,负责业务编排和智能调度的CPU模块。

1)芯片选择

选择了可编程交换芯片的道路,首先面临的问题是芯片选择阿里云有几个选择,第一个用传统的AISC卡,因为传统的网络设备交换机里的AISC已经非常成熟。第二个是P4可编程AISC芯片——一个可编程能力越来越强的芯片。另外一个FPGA,传统意义上,它也算是硬件芯片。

最终阿里云选择了P4可编程AISC芯片,原因是业务有快速迭代的诉求,然而传统AISC芯片的功能已经固化,没有办法完美匹配的诉求,同时,很多的转发行为是一个定制化的,传统的AISC芯片无法支持,因此,需要一个灵活的、可编程的硬件芯片。

在可编程硬件芯片上面,传统的FPGA虽然非常灵活,但它的功耗和成本比较高,在相同转发能力的情况下,它比 p4可编程的AISC芯片在功耗和成本上高出了许多,所以阿里云最终选择了p4可编程的AISC芯片。

2)芯片表项的优化

可编程芯片也带来了挑战,在于芯片表项的限制。因为硬件芯片的表项是有限的,要考虑到芯片的面积、功耗、成本。原来的软转发的表项是存在内存里的,基本上可以达到海量规模。所以应用芯片作为转发网元最大的挑战是表项的规模。对此,阿里云也进行了大量的优化。

首先阿里云充分挖掘了芯片的能力。在转发芯片包含多个pipeline,通过多个pipeline去共同达成高速的转发性能。最简单的编程方式就是每一个pipeline里都下发相同的表项,所有的处理逻辑是全部对称的,整个的转发模型非常简单。但是这种方式也有相应的代价,每一个pipeline里保存的相同表项,就是整个芯片对外的能力。

考虑到芯片的转发模型的特点,阿里云采用了非对称的转发方式,处理逻辑分布在不同的pipeline里,通过不同的pipeline的表项相互叠加,来提升转发表项的能力。

其次,阿里云对整个软件的表项格式也进行了优化。在软转发的转化模型里,为了清晰简单,很多的表都是独立的,比如简单的产品可能使用了多张表,每张表有不同的属性,但多张表用硬件实现时占的表项空间就相对较大。所考虑进行合表,这样可以有效提高整个芯片表项的利用率。

3)实现网络QoS

利用可编程芯片数据平面,实现网络QoS的能力。大规模租户的应用较复杂,部门较多,不同应用的优先级不一样,对于带宽的要求也不一样,如果每个应用都按照它最大带宽来购买,成本会非常高。所以,许多超大规模客户希望购买一定带宽,然后在发生堵塞的时候先丢弃优先级低的报文,保证高优先级的报文通过。通过可编程数据平面可以实现了这样的QoS的功能。

综合来看,通过数据平面的可编程能力,和软硬一体化的架构,洛神平台数据平面提供了超高的转发性能,大大提升了芯片的表项规模,并且硬件芯片在云计算网络里已经规模化应用。

软硬件一体化未来优化

云网络未来将从以下几个方面进行优化:

1)异构芯片。当前阿里云使用的Barefoot P4可编程芯片,未来阿里云可能会使用多厂商的异构芯片,比如阿里自研芯片、Broadcom芯片等。通过芯片适配层,可以有效的屏蔽芯片的差异,做到快速上线。

2)网络安全。随着大量不同行业的租户上云,对网络加密安全有了更高的要求。通过可编程的数据平面提供加密的功能,来支撑不同的客户的诉求。

3)网络可视化。网络往往是一个黑盒,未来通过可编程的数据面,可将网络里面转发的信息携带到网络的处理系统里,实现网络可视化,帮助网络更有效的支撑业务系统,同时增强网络的运维能力。

 

原文链接

本文为阿里云原创内容,未经允许不得转载。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!