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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
公网NAT网关,每月750个小时 15CU
简介: XGW是洛神云网络平台的硬件转发层核心,提供了高性能的网络转发能力,负责公网,专线和跨Region流量的汇聚和分发,满足用户大带宽、大单流、稳定性、低延时/低抖动等需求。

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

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

软硬件一体化网关XGW应用场景
XGW是洛神云网络平台的硬件转发层核心,提供了高性能的网络转发能力,基于Intel可编程芯片开发
图片 3.png

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

典型场景如下:
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模块。
图片 5.png

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

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

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

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

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

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

3)实现网络QoS
利用可编程芯片数据平面,实现网络QoS的能力。大规模租户的应用较复杂,部门较多,不同应用的优先级不一样,对于带宽的要求也不一样,如果每个应用都按照它最大带宽来购买,成本会非常高。所以,许多超大规模客户希望购买一定带宽,然后在发生堵塞的时候先丢弃优先级低的报文,保证高优先级的报文通过。通过可编程数据平面可以实现了这样的QoS的功能。
图片 7.png
综合来看,通过数据平面的可编程能力,和软硬一体化的架构,洛神平台数据平面提供了超高的转发性能,大大提升了芯片的表项规模,并且硬件芯片在云计算网络里已经规模化应用。

软硬件一体化未来优化
云网络未来将从以下几个方面进行优化:

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

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

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

目录
相关文章
|
2月前
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
285 3
|
15天前
|
Kubernetes Cloud Native 开发者
阿里云网络发布 alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
**阿里云发布开源版ALB控制器v1.2.0,对齐商业版ALB Ingress Controller v2.10.0。新版本增强了功能特性,提升了用户体验,并提供了最佳实践。功能更新包括自定义标签、QUIC协议支持、转发规则和安全策略等。此外,还引入了ReadinessGate实现滚动升级时的平滑上线和Prestop钩子确保平滑下线。用户可从GitHub获取开源代码,通过Docker Hub拉取镜像,开始使用alibaba-load-balancer-controller v1.2.0。**
103 3
阿里云网络发布 alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
|
1天前
|
存储 网络协议 网络虚拟化
计算机网络知识之交换机、路由器、网关、MAC地址
计算机网络知识之交换机、路由器、网关、MAC地址
|
6天前
|
存储 机器学习/深度学习 弹性计算
阿里云ECS计算型c8i服务器测评_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c8i实例采用Intel Xeon Emerald Rapids或Sapphire Rapids CPU,主频2.7 GHz起,支持CIPU架构,提供强大计算、存储、网络和安全性能。适用于机器学习、数据分析等场景。实例规格从2核到192核,内存比例1:2,支持ESSD云盘,网络带宽高达100 Gbit/s,具备IPv4/IPv6,vTPM和内存加密功能。详细规格参数表包括不同实例的vCPU、内存、网络带宽、IOPS等信息,最高可达100万PPS和100万IOPS。
|
6天前
|
存储 人工智能 运维
超大规模云网络技术新突破!阿里云斩获中国自动化学会科技进步一等奖
阿里云携手浙江大学、上海交大联合攻坚的超大规模云网络技术及应用成果,斩获中国自动化学会(CAA)科技进步奖一等奖。该成果实现了超大规模云网络调控技术的高性能突破,将十万级任务配置下发提升至秒级的超高水平,填补了该项技术的国内空白。
|
6天前
|
存储 弹性计算 网络协议
阿里云服务器ECS计算型c7实例详解_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c7实例,基于三代神龙架构,采用Intel Ice Lake CPU,2.7 GHz基频,3.5 GHz全核睿频,提供高性能计算、存储和网络能力。支持vTPM和Enclave特性,适用于高网络负载、游戏、数据分析等场景。实例规格从2核4GB至128核256GB,最大网络收发包可达2400万PPS。详细规格及性能参数见官方页面。
|
13天前
|
Kubernetes Cloud Native 开发者
阿里云网络发布云原生网关 alibaba-load-balancer-controller v1.2.0,持续拥抱开源生态
alibaba-load-balancer-controller开源版本正式推出v1.2.0,能力对齐ALB Ingress Controller商业版v2.10.0。
|
16天前
|
网络协议 Java 物联网
Netty是什么?深入理解高性能网络框架
Netty是什么?深入理解高性能网络框架
55 1
|
23天前
|
监控 网络协议 Java
Java一分钟之-Netty:高性能异步网络库
【6月更文挑战第11天】Netty是Java的高性能异步网络框架,基于NIO,以其高吞吐量、低延迟、灵活性和安全性受到青睐。常见问题包括内存泄漏、ChannelHandler滥用和异常处理不当。要规避这些问题,需正确释放ByteBuf,精简ChannelPipeline,妥善处理异常,并深入理解Netty原理。通过代码审查、遵循最佳实践和监控日志,可提升代码质量和性能。掌握Netty,打造高效网络服务。
23 2
|
6天前
|
缓存 网络协议 安全
探秘Netty:打造高性能网络通信利器
探秘Netty:打造高性能网络通信利器
6 0