本篇文章介绍DPDK框架下的 inline IPsec加速支持方案,重点介绍如何在Intel®82599 万兆以太网控制器系列下启用inline IPSEC加速。
inline IPsec在某些加密算法中具有比look aside加速延迟更低等优点。
本篇文章包含IPsec的“lookaside”硬件加速和inline IPsec之间的差异(即,数据包流差异和应用程序端在性能和处理方面的预期差异)等背景信息,并将简要介绍测试下itong的设置,以及如何安装和运行IPsec网关应用程序的示例。
本文假设使用的DPDK版本是17.11或更高版本。
背景
DPDK安全库提供了一个用于管理和配置卸载到基于硬件的设备的安全协议操作的框架。 该库定义了用于创建和释放安全会话的通用API,这些会话可以支持完整协议卸载以及使用inline 加密操作的网络接口控制器(NIC)或加密设备。
DPDK 安全库自17.11发布以来一直包含在DPDK中,该安全库引入了部分用于为英特尔82599万兆以太网控制器提供inline 加密(IPsec)加速提供了支持的API和功能。 DPDK IXGBE驱动程序也相应更新了对inline IPsec的支持。
英特尔82599万兆以太网控制器系列仅支持AES-GCM 128对称加密算法,因此也仅支持如下IPSEC相关协议:
- 仅ESP验证:AES-128-GMAC(128位密钥)
- ESP加密和身份验证:AES-128-GCM(128位密钥)
IPsec安全网关示例应用程序也支持此功能,下面将对此进行更详细的说明。
数据包流
首先,让我们看看数据包流和通过系统处理。