论文部分内容阅读
随着网络技术的飞速发展,网络传输速度不断提高,系统对关键网络设备的处理速度要求不断提高。IPSec VPN作为数据转发的安全平台,很容易成为网络系统的瓶颈。传统的IPSec VPN存在加解密模块性能低,没有充分利用多核系统优势等问题。本文主要对IPSec VPN的加速技术进行了深入细致的研究。针对目前广泛应用的IPSec VPN技术性能低的弱点,通过分析IPSec VPN加解密模块以及多核下网络协议并行,提出了两种IPSec VPN加速技术:多加密卡异步并行加密技术和多核系统下IPSec协议并行。基于提出的多加密卡异步并行加速技术,本文实现了一种用于IPSec VPN系统的多加密卡异步并行加密模型。该模型利用加密卡代替CPU做计算密集的加解密运算,以此来释放CPU,从而提高IPSec VPN系统的加解密的性能。在实现的多加密卡异步并行加密模型中,本文利用Linux提供的工作队列机制,改进了传统IPSec VPN系统的同步加密方式,使得加密卡以异步的方式并行工作。同时,在该模型中设计并实现了用于多加密卡加密任务调度的最小等待时间算法,使得数据包加解密处理所等待的时间最小化。多加密卡异步并行加密技术通过改进IPSec VPN系统的加解密模块的方式,提高了IPSec VPN系统的整体性能。基于多核IPSec协议并行技术,本文设计并实现了一种多核IPSec协议的并行模型。该模型利用了多队列网卡,CPU亲和性以及Linux软中断等机制,实现了基于数据包多核并行处理的IPSec VPN系统。针对Linux内核为每个数据包都分配与回收sk_buffer结构,造成的内存管理模块效率不高的问题,本文提出的多核IPSec协议的并行模型中设计并实现了一种数据包队列重用算法,并详细介绍了在多核处理器环境下该重用队列算法的实现方法。本文对所提出的两种加速技术进行了实现和测试。测试结果表明,两种加速技术对IPSec VPN系统有显著的加速效果。最后,根据实验结果对两种加速技术进行了深入的分析。