前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >How to accelerate IPsec elephant flows?

How to accelerate IPsec elephant flows?

作者头像
dpdk-vpp源码解读
发布2024-04-15 15:27:50
4560
发布2024-04-15 15:27:50
举报
文章被收录于专栏:DPDK VPP源码分析

本文内容来源于Software Defined Networking devroom2021年2月7号举办的线上会议介绍vpp在加速ipsec大象流提供的解决方案。

什么是大象流?大象流(Elephant Flow)是指在网络中持续时间长、数据量大的网络流量。互联网上非常大的连续流量;4.7%的数据包却占用了41.3%的带宽;用户空间数据平面处理IPsec逻辑(1、核隔离或限制每个核心的处理资源,包括堆栈和加解密。2、数据流亲核性);

处理IPsec 大象流的痛点:当大象流存在大量数据包时,加解密会占用大量的时间周期;Flow-to-core 亲核性总是使一个核负载很高,而其他核负载较低;一个核处理大量数据流意味着占用更多的时钟周期;当启用ipsec 放重放功能(anti-replay)单条流负载均衡到多个核会导致竞争;为了解决这些痛点,提出使用FD.io VPP ipsec解决方案。

FD.io VPP IPsec介绍:开源产品化实现的IPsec解决方案;支持单服务器1Tb IPsec处理性能;支持AH、ESP(隧道和传输)、ESP over UDP、ESP over GRE;支持主要的加密算法(AES-CBC, HMAC-SHA*, AESGCM);支持多个加密引擎插件(参见文章learning:vpp crypto 框架介紹介绍);支持基于CPU的加密(VAES)和备用硬件加速(QAT);高效且支持云内虚拟化部署。

如何加速单个ipsec大象流:通过异步加密,我们实现了高达40Gbps的单ipsec流处理能力。即使加密卸载到QAT,仍然有繁重的I/O和堆栈处理。Intel®DLB或DPDK SW eventdev提供将数据包分发到多个CPU核心的方式。从RX到TX保持包的顺序。在DLB或SW eventdev的帮助下,我们可以将大多数单流IPsec工作负载均衡到更多的核心。

上图解决方案也就是在腾讯云已经落地的ipsec调度框架,在参考链接3《CloudVPN:化繁为简,一跳入云》文章中介绍了腾讯云VPN服务巧妙地对CPU进行合理分工,将密文加解密分布到多个CPU上并行处理,然后进行保序处理。从而一举将单流吞吐量提升到3Gbps,实现业界领先。

结论:

VPP同步加密基础架构提供惊人的性能来处理IPsec 工作负载,但无法扩展到更大的流量;VPP提供异步加密基础家口,使软件和硬件卸载可以扩展IPsec单流吞吐量。支持中断模式,使其对云原生友好。VPP还提供了Cryptodev和SW scheduler异步加密引擎。两个异步加密引擎都帮助实现了40Gbps的IPsec大象流处理;为了进一步扩展单个IPsec流,我们使用Intel®DLB或DPDK Eventdev处理卸载加密和大多数IPsec堆栈到其他内核。

在公众号文章《learning:vpp crypto 框架介紹》中分析当前vpp最新版本的加解密的框架。想了解更多的细节,还需要深入研究代码。

参考链接:

1、视频链接:https://archive.fosdem.org/2021/schedule/event/sdn_ipsec_vpp/ 2、PPT链接: https://archive.fosdem.org/2021/schedule/event/sdn_ipsec_vpp/attachments/slides/4341/export/events/attachments/sdn_ipsec_vpp/slides/4341/is_your_elephant_a_gazelle.pdf 3、腾讯云CloudVPN:化繁为简,一跳入云 https://cloud.tencent.com/developer/article/223482

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DPDK VPP源码分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
VPN 连接
VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档