冯扬扬,来自中国矿业大学(北京),于2018年1月在《计算机科学与应用》(Computer Science and Application)期刊上发表了题为《基于DPDK的用户态IPSec网关的研究和实现》的研究论文。该论文主要探讨了在用户态下基于DPDK(Data Plane Development Kit,数据平面开发套件)实现IPSec(Internet Protocol Security,互联网协议安全)网关的方法,以解决传统IPSec网关在处理网络流量时存在的延迟、阻塞和吞吐量小等问题。
随着互联网技术的快速发展,智能终端用户量呈爆炸式增长,对移动通信业务的覆盖效果提出了更高的要求。特别是在室内场所,如车站、住宅区和办公区,移动通信业务的需求尤为突出。然而,室内信号存在容纳终端量小、信号不稳定、数据和话音质量差等问题。为了应对这些挑战,Femto系统(Femto系统是一种通过固网宽带接入核心网的技术)成为主流运营商关注的技术方向。Femto系统由Femto AP(接入点)、安全网关和Femto网关等组成,其中安全网关作为独立网元存在,其性能直接影响到整个系统的安全性。传统的IPSec网关技术在处理数据时存在较大的开销,尤其是在内核态下进行数据加解密、安全关联数据库(SADB)和安全策略数据库(SPDB)管理时,系统调用、中断和内存拷贝等操作会显著降低性能。因此,冯扬扬提出了在用户态下基于DPDK实现IPSec网关的方案,旨在优化安全网关的性能。
该研究主要分为以下几个步骤:
问题分析与方案提出
论文首先分析了传统IPSec网关在内核态下处理数据时的不足,特别是由于系统调用、中断和内存拷贝等操作带来的性能瓶颈。针对这些问题,作者提出了在用户态下基于DPDK实现IPSec网关的方案。DPDK是Intel推出的一种运行在用户空间的数据平面开发套件,能够绕过Linux内核协议栈,直接处理数据包,从而减少系统开销。
平台搭建与工具选择
为了实现用户态下的IPSec网关,作者选择了Cisco的VPP(Vector Packet Processing,向量报文处理)框架作为基础平台,并利用DPDK作为数据包接收工具。VPP是一个可扩展的用户态框架,能够高效处理网络帧,并支持完整的IPSec协议栈。DPDK则通过多核处理和轮询模式实现了数据包的快速收发,避免了传统硬件中断带来的负载不均衡问题。
DPDK与VPP的集成
作者详细介绍了如何将DPDK与VPP集成,以实现用户态下的IPSec功能。DPDK通过多核处理和分布式存储分配方式,将逻辑核分为主核和次核,主核负责初始化任务,次核负责执行任务。通过CPU亲和性,任务被固定分配到特定的次核,避免了任务迁移带来的性能损耗。此外,DPDK采用轮询模式从网卡获取数据包,并将数据包平均分配到接收队列中,实现了负载均衡。
IPSec模块的实现
在VPP框架中,IPSec模块通过DPDK的Cryptodev(加密设备)API实现了数据包的加解密处理。网络帧在VPP中被存储在Packet Vector(网络帧向量)中,节点根据处理结果决定帧的下一个目的地。IPSec模块支持ESP(Encapsulated Security Payload,封装安全载荷)和IKEv2(Internet Key Exchange version 2,因特网密钥交换协议)等协议,并通过DPDK Cryptodev实现了高效的加解密操作。
测试与性能分析
为了验证用户态IPSec网关的性能,作者搭建了测试环境,使用两台Dell PowerEdge R620服务器作为网关,并通过IXIA测试仪进行数据包发送和接收测试。测试结果显示,基于DPDK的用户态IPSec网关在单核转发情况下的吞吐量显著高于传统IPSec网关(StrongSwan 5.3.3),证明了该方案的有效性。
测试结果表明,基于DPDK的用户态IPSec网关在性能上相比传统方案有显著提升。在单核转发情况下,用户态IPSec网关的吞吐量接近20 Gbit/s的极限速度,而传统IPSec网关的吞吐量则较低。这一结果证明了用户态下基于DPDK实现IPSec网关的可行性和高效性。
该研究提出了一种基于DPDK的用户态IPSec网关解决方案,并通过实验验证了其性能优势。相比传统IPSec网关,该方案能够有效减少系统开销,提高数据包处理效率,特别是在高流量场景下表现出色。该研究为优化安全网关性能提供了新的思路,具有重要的科学价值和应用价值。
论文还详细介绍了DPDK和VPP的安装步骤,包括源码下载、环境变量设置、编译和配置等,为其他研究人员提供了实用的参考。此外,作者还讨论了IPSec模块的具体实现细节,特别是如何通过DPDK Cryptodev API实现数据包的加解密处理,为相关领域的研究提供了技术指导。
冯扬扬的研究为优化IPSec网关性能提供了一种创新的解决方案,具有重要的理论意义和实际应用价值。