阿里云飞天洛神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实时数据变化情况。
相关文章
|
11月前
|
机器学习/深度学习 自然语言处理 数据可视化
基于图神经网络的自然语言处理:融合LangGraph与大型概念模型的情感分析实践
本文探讨了在企业数字化转型中,大型概念模型(LCMs)与图神经网络结合处理非结构化文本数据的技术方案。LCMs突破传统词汇级处理局限,以概念级语义理解为核心,增强情感分析、实体识别和主题建模能力。通过构建基于LangGraph的混合符号-语义处理管道,整合符号方法的结构化优势与语义方法的理解深度,实现精准的文本分析。具体应用中,该架构通过预处理、图构建、嵌入生成及GNN推理等模块,完成客户反馈的情感分类与主题聚类。最终,LangGraph工作流编排确保各模块高效协作,为企业提供可解释性强、业务价值高的分析结果。此技术融合为挖掘非结构化数据价值、支持数据驱动决策提供了创新路径。
614 6
基于图神经网络的自然语言处理:融合LangGraph与大型概念模型的情感分析实践
|
6月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
6月前
|
机器学习/深度学习 人工智能 监控
上海拔俗AI软件定制:让技术真正为你所用,拔俗网络这样做
在上海,企业正通过AI软件定制破解通用化难题。该模式以业务场景为核心,量身打造智能解决方案,涵盖场景化模型开发、模块化架构设计与数据闭环优化三大技术维度,推动技术与业务深度融合,助力企业实现高效、可持续的数字化转型。
217 0
|
7月前
|
监控 前端开发 安全
Netty 高性能网络编程框架技术详解与实践指南
本文档全面介绍 Netty 高性能网络编程框架的核心概念、架构设计和实践应用。作为 Java 领域最优秀的 NIO 框架之一,Netty 提供了异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。本文将深入探讨其 Reactor 模型、ChannelPipeline、编解码器、内存管理等核心机制,帮助开发者构建高性能的网络应用系统。
472 0
|
9月前
|
监控 算法 安全
基于 C# 基数树算法的网络屏幕监控敏感词检测技术研究
随着数字化办公和网络交互迅猛发展,网络屏幕监控成为信息安全的关键。基数树(Trie Tree)凭借高效的字符串处理能力,在敏感词检测中表现出色。结合C#语言,可构建高时效、高准确率的敏感词识别模块,提升网络安全防护能力。
224 2
|
11月前
|
调度 Python
探索Python高级并发与网络编程技术。
可以看出,Python的高级并发和网络编程极具挑战,却也饱含乐趣。探索这些技术,你将会发现:它们好比是Python世界的海洋,有穿越风暴的波涛,也有寂静深海的奇妙。开始旅途,探索无尽可能吧!
260 15
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
392 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
308 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。