FD.io是一些项目和库的集合,基于DPDK并逐渐演化,支持在通用硬件平台上部署灵活可变的业务。FD.io为软件定义基础设施的开发者提供了一个通用平台,可以开发基于软件的报文处理创新方案,便于设计高吞吐量、低延时、高效利用资源的应用程序,并且能够运行于多个平台上和部署在不同的环境中。
由于VPP里有众多的加密引擎和插件,导致很多人不知如何入手。这里做一个简单介绍:
VPP 20.01开始引入VPP加密引擎,类似于DPDK Cryptodev。VPP加密引擎提供了一个标准接口访问加密业务,并被VPP IPSec、QUIC和WireGuard安全协议使用。VPP加密引擎基于优先级处理,每个加密引擎支持Crypto加密算法的一个子集,被特定加密引擎使用的算法具有最高优先级。在VPP 20.01中支持用于Intel vAES的Crypto Native库、用于IPSec的Intel Multi-buffer库以及Openssl。VPP 20.05增加了异步加密引擎,基于QAT的DPDK Cryptodev作为第一个这样的异步引擎。VPP 20.09中新增了软件调度器sw_scheduler异步引擎, 支持大规模的加密隧道,即使隧道数目超过单核的处理性能。
下图显示了当前可用的加密引擎和加密算法。
VPP 20.09版本共合入458个patches,提供了这些主要的新功能:
●网卡特性
-
GSO:增加软件GRO支持。
-
RSS:支持配置RSS重定向队列,支持IPSec ESP/AH 流量重定向到工作线程。
● 驱动支持
-
TAP驱动:支持GSO。
-
原生Virtio驱动:支持virtio 1.1 API标识。
-
AF_XDP驱动:增加一个新型的快速接口AF_XDP连接Linux内核,使应用程序和容器无需修改即可运行。
● 网络协议
-
WireGuard:WireGuard 是一个相当简单但快速的现代VPN,利用最新的密码算法。
● 网络安全
-
Crypto引擎:添加Crypto业务的API,以提供一个简单快速的接口,用于Intel vAES 优化的加密算法和QAT硬件加速。
-
增加软件调度器sw_scheduler异步引擎,帮助用户可以分配专用的加密工作线程,以应对超过单核处理能力的大量加密隧道。
-
在crypto-openssl中增加chacha20-poly1305算法。
-
IKEv2协议:支持NAT穿越(NAT-T),支持协商AES-GCM加密套件。
● 主机协议栈
-
支持连接的 UDP监听。
-
支持工作线程间RPC。
-
支持多线程的会话迁移。
● API
-
引入了新的VPP API 修改策略以保证后向兼容性。只要应用程序没有使用“正在开发中的APIs”或“废弃的APIs”,该策略可以保证无缝升级到新版本的VPP。
-
为了体现新的API修改策略,在发布信息中增加了更多信息,标注哪些APIs是“新废弃的APIs”和“正在开发中的APIs”。
VPP
新
版
本
👇通过下面的链接,可以获取最新的Release Package:
https://packagecloud.io/app/fdio/release/search?q=20.09
👇详细的Release Notes,请参考:
https://docs.fd.io/vpp/20.09/de/d1e/release_notes_2009.html
感兴趣的小伙伴们还在等什么
赶紧加入吧!
VPP项目主页: https://wiki.fd.io/view/VPP
VPP邮件列表: vpp-dev@lists.fd.io
加入VPP邮件列表: https://lists.fd.io/g/vpp-dev