阿里云飞天洛神2.0:高性能网络软硬一体化技术实践

简介: 云网络构建在物理网络之上,为云计算提供灵动、智能的网络连接。云网络的性能和稳定性是云计算的基石。为了提升云网络的性能和稳定性,满足云计算的技术发展需求和业务发展需求,阿里云网络团队对VPC的基础组件做了全链路的软硬一体化设计,Gateway以超大流量+百万表项为目标,vSwitch以超大表项+百Gbps为目标。

云网络架构

云计算从9年前被质疑为新瓶装旧酒,到经过多年的高速发展,正在成为水电煤一样的基础设施。云网络构建在物理网络之上,为云计算提供灵动、智能的网络连接。云网络的性能和稳定性是云计算的基石。

VPC是云网络的基础,VPC的基础组件主要包括2部分:Gateway,vSwitch。

1.png
Gateway是VPC的流量入口,负责公网/专线和跨region流量的汇聚和分发。vSwitch负责ECS的虚拟交换,和Gateway一起为客户搭建一张虚拟专用网。

CPU软转发

物理网络经过几十年的发展,接口和协议相对标准和成熟,所以物理网络的各类交换机基本都是基于switch芯片(其中大部分是Broadcom的)做硬转发的。

云网络的发展是这几年的事,业务和需求都在快速变化中,缺乏行业标准,基本都是在按需做定制,所以云网络的各类业务基本都是基于CPU在做软转发。

DPDK是Intel针对x86开发的数据面优化技术,作为一个开源软件,DPDK也可以用于其它的CPU架构,比喻说ARM和Power。DPDK运行在用户态,通过大页/轮询/CPU亲和性等技术,达到减少内存拷贝/减少cache miss/减少中断调用/减少进程和线程切换等优化目标,进而实现CPU软转发的性能优化。

在DPDK出现之前,软转发通常是采用带加速引擎的NP,x86主要用于控制。DPDK出现之后,基于x86的转发从内核态迁移到用户态,性能有了大幅提升。

阿里是最早把DPDK产品化的公司之一,目前阿里云网络的各个组件已经全面切到DPDK。以vSwitch为例,通过DPDK,vSwitch的性能得到了数倍的提升。

软硬件一体化

基于CPU的软转发主要面临2个问题:一是CPU的单core性能瓶颈,在大流和攻击场景下比较容易被打爆,导致故障;二是CPU的摩尔定律逐步失效,CPU的频率和核数提升空间越来越小,靠CPU软转做进一步性能提升的空间有限。

以太网的接口速率正在飞速发展中,25G NRZ已经普及,50G PAM4已经成熟,单模块400G已经成为现实。PCIE的接口速率也在快速发展中,单lane 16Gb的PCIE Gen4还未规模上线,单lane 32Gb的PCIE Gen5的规范已经发布。

随着云计算的发展,云网络的流量出现了爆发式增长。游戏/视频/NFV化对ECS网络性能提出了更高的要求,vSwitch的网络正在朝百Gbps迈进。混合云的发展带来了专线和跨region流量的激增,Gateway的流量正在朝百Tbps迈进。

为了提升云网络的性能和稳定性,满足云计算的技术发展需求和业务发展需求,阿里云网络团队对VPC的基础组件做了全链路的软硬一体化设计,Gateway以超大流量+百万表项为目标,vSwitch以超大表项+百Gbps为目标。经过一年多的努力,2款产品都已顺利上线,把阿里云网络产品的竞争力提升了一个台阶。
2.png

vSwitch硬件加速

网络的业务可以理解为各种route + ACL的组合,一次报文转发要经过多次表项查找和head update。快慢速分离的思路就是让Slowpath负责复杂的业务逻辑,首包上送Slowpath生成Session/Flow,后续报文就不需要把整个业务流程再走一遍,直接在Fastpath里基于Session/Flow做Match/Action,提升转发性能。

3.png
软转发里,快慢速都是通过CPU实现的。为了提升vSwitch的性能和稳定性,阿里云网络团队经过一年多的努力,成功通过AISC实现了Fastpath的硬件化。

通过硬件化,vSwitch的性能对比软转发提升了10倍以上,延时大幅降低。

Gateway硬件加速

Gateway是VPC所有流量的入口,也是云网络带宽和稳定性压力最大的一环。随着搬站和企业上云的推进,专线流量出现了数量级的增长,达到几十Tbps。这么大的流量,通过堆服务器来提升转发能力基本成了不可能完成的任务。

传统交换芯片的数据面对客户是固定的pipeline;云网络由于业务和需求变化快,没有业界通用标准,方案基本都是按需做定制,没法使用固定转发的交换芯片。可编程交换芯片的出现给云网络打开了一扇窗,让Gateway硬件化成为可能。

为应对超大流量的挑战,阿里云网络团队启动了基于可编程交换芯片的Gateway设计。经过一年多的努力,成功实现了Gateway的软硬结合设计

5.png
通过可交换芯片的加速,Gateway单机bps性能提升20倍以上,单机pps性能提升近百倍,延时降低数十倍,整体Capex和Opex大幅降低。

客户价值

技术创新的目的是为了更好的客户体验,实现客户第一的目标。通过软硬一体化的技术,阿里云可以给客户提供更大带宽/更低延时/更加可靠的网络连接。
6.png

持续演进

可编程交换芯片的转发能力强,但片内SRAM/TCAM容量有限。阿里云体量大/客户多,表项规格大,没法全量下发到硬件里。解决方法之一是对表项做水平拆分,但云网络的业务复杂,客户的配置变化快,水平拆分的难度大/成本高。解决方法之二是软硬结合+动态调整,通过速率计算动态检测大象流/长尾流,长尾流动态调整到软转发,大象流动态调整到硬转发,软硬一体/动态优化。
7.png
云网络的二八原则明显,长尾流的表项大/流量小,大象流的流量大/表项小。通过软硬结合+动态调整的方式,一个集群可以容纳全量配置。软转发弥补硬件的表项容量问题,硬转发弥补软件的转发能力问题,相互配合/相得益彰。

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
10月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
329 2
|
10月前
基于Reactor模式的高性能网络库github地址
https://github.com/zyi30/reactor-net.git
224 0
|
7月前
|
人工智能 安全 架构师
2025云栖大会 | 阿里云网络技术Session主题资料和视频回放归档
2025年9月24日-26日,杭州,一年一度的云栖大会如期而至;阿里云飞天洛神云网络作为阿里云计算的连接底座,是飞天云操作系统的核心组件,致力于为上云企业提供高可靠、高性能、高弹性、智能的连接服务。本次云栖,云网络产品线也带来全系列产品升级,以及创新技术重磅解读,围绕增强确定性、提效自动化、深耕智能化和敏捷全球化带来技术、产品和服务升级,以及全新的云网络产品生态合作计划发布。
914 4
|
7月前
|
弹性计算 安全 应用服务中间件
阿里云渠道商:怎么配置阿里云网络ACL?
阿里云网络ACL是子网级无状态防火墙,支持精准流量控制、规则热生效且免费使用。本文详解5步配置流程,助您实现Web与数据库层的安全隔离,提升云上网络安全。
|
7月前
|
弹性计算 网络安全 数据中心
阿里云创建专有网络VPC的【IPv4网段】如何选择?有什么区别?
阿里云VPC创建时需选IPv4网段,默认提供10.0.0.0/16、172.16.0.0/16、192.168.0.0/16,三者无功能差异。若仅单VPC且不连本地数据中心,可任选其一,确保不冲突即可。多VPC或混合云场景需规划避免IP重叠。不支持100.64.0.0/10等特殊网段。建议结合IPAM进行地址管理。
|
8月前
|
监控 前端开发 安全
Netty 高性能网络编程框架技术详解与实践指南
本文档全面介绍 Netty 高性能网络编程框架的核心概念、架构设计和实践应用。作为 Java 领域最优秀的 NIO 框架之一,Netty 提供了异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。本文将深入探讨其 Reactor 模型、ChannelPipeline、编解码器、内存管理等核心机制,帮助开发者构建高性能的网络应用系统。
580 0
|
SQL 监控 安全
网络安全与信息安全:漏洞、加密与安全意识
随着互联网的迅猛发展,网络安全和信息安全问题日益受到关注。本文深入探讨了网络安全漏洞、加密技术以及提高个人和组织的安全意识的重要性。通过分析常见的网络攻击手段如缓冲区溢出、SQL注入等,揭示了计算机系统中存在的缺陷及其潜在威胁。同时,详细介绍了对称加密和非对称加密算法的原理及应用场景,强调了数字签名和数字证书在验证信息完整性中的关键作用。此外,还讨论了培养良好上网习惯、定期备份数据等提升安全意识的方法,旨在帮助读者更好地理解和应对复杂的网络安全挑战。
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
461 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
351 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章