一种高性能IPsecVPNCPU负载均衡方法技术

技术编号:35301544 阅读:22 留言:0更新日期:2022-10-22 12:50
本发明专利技术公开了一种高性能IPsec VPN CPU负载均衡方法,涉及信息安全技术领域,具体一种高性能IPsec VPN CPU负载均衡方法,所述IPsec VPN CPU负载均衡方法包括有网卡接收模块,所述网卡接收模块包括有拷贝单元和接收单元,且接收单元采用中断的方式,所述网卡接收模块单向信号连接有中断处理模块。该高性能IPsec VPN CPU负载均衡方法,通过网卡接收模块、中断处理模块、CPU核获取模块和数据处理模块之间的配合,针对传统IPsecVPN设备在隧道数量较少时无法充分利用多核CPU的优势进行负载均衡的缺陷,对linux网络转发机制进行了优化处理,从而实现在单隧道时也能充分利用多核CPU优势进行负载均衡。行负载均衡。行负载均衡。

【技术实现步骤摘要】
一种高性能IPsec VPN CPU负载均衡方法


[0001]本专利技术涉及信息安全
,具体为一种高性能IPsec VPN CPU负载均衡方法。

技术介绍

[0002]IPsec VPN是虚拟转用网络(Virtual Private Network,以下简称VPN)的一种实现方式,是指在公用网络上建立专用网络,进行加密通讯,VPN可通过服务器、硬件、软件等多种方式实现,其中,在VPN设备中最为关键的技术就是加密,加密速度直接影响VPN设备的性能,IPSEC VPN安全网关能够为各类业务系统提供高性能的、多任务并行处理的加密传输、身份验证等核心安全认证服务,实现局域网互联、远程接入、加密通信等,支持SM1、SM2、SM3、SM4等多种密码算法,保证传输信息的机密性、完整性和有效性,同时提供安全、完善的密钥管理机制,自身具备较强的安全防护能力,安全网关全面支持PKI信息安全基础设施,提供包括加密传输、身份验证等核心安全认证服务,并可以通过负载均衡技术、IPSEC技术等技术,在不改变网络结构和应用模式的情况下,实现对目前所有网络层以上应用的完全支持。
[0003]然而传统VPN设备常受linux内核转发机制的制约很难达到较高性能,这是由于linux中对数据转发的处理依据是对源目地址,源目端口号进行hash运算,然后分配给相应的CPU处理,这在处理一般高并发的网络应用时有很好的CPU负载均衡作用,但在IPsec VPN应用中,隧道两端的用户数不确定,最少为一对,此时两端的源目地址、源目端口就始终是相同的,此时再利用源目地址、端口号等信息进行CPU负载分配则会出现严重的不均衡,从而制约IPsec VPN整体的转发性能。

技术实现思路

[0004]本专利技术提供了一种高性能IPsec VPN CPU负载均衡方法,解决了上述
技术介绍
所提出的问题。
[0005]为实现以上目的,本专利技术通过以下技术方案予以实现:一种高性能IPsec VPN CPU负载均衡方法,所述IPsec VPN CPU负载均衡方法包括有网卡接收模块,所述网卡接收模块包括有拷贝单元和接收单元,且接收单元采用中断的方式,所述网卡接收模块单向信号连接有中断处理模块,所述中断处理模块远离网卡接收装置的一端单向信号连接有CPU核获取模块,所述循环获取模块单向信号连接有包处理模块,所述包处理模块单向信号连接有数据处理模块。
[0006]可选的,所述拷贝单元由网卡接收网络数据包,通过DMA拷贝的方式至系统内存。
[0007]可选的,所述接收单元通过中断的方式通知CPU数据包已接收完成。
[0008]可选的,所述中断处理模块对系统收到中断后执行中断处理程序将网络包放入待处理队列,系统获取CPU核编号,将相应处理任务放入队列。
[0009]可选的,所述CPU核获取模块中CPU核编号采用循环获取的方式。
[0010]可选的,所述包处理模块是对n个CPU核,从0

(n

1)范围内循环获取,将所有的包
处理任务平摊至所有CPU核,系统轮训队列数据并进入包处理程序。
[0011]可选的,所述数据处理模块中各CPU核可并行处理未按地址、端口进行CPU分配的网络数据包。
[0012]本专利技术具备以下有益效果:
[0013]1、该高性能IPsec VPN CPU负载均衡方法,通过网卡接收模块、中断处理模块、CPU核获取模块和数据处理模块之间的配合,针对传统IPsec VPN设备在隧道数量较少时无法充分利用多核CPU的优势进行负载均衡的缺陷,对linux网络转发机制进行了优化处理,从而实现在单隧道时也能充分利用多核CPU优势进行负载均衡。
[0014]2、该高性能IPsec VPN CPU负载均衡方法,通过包处理模块、数据处理模块和网卡接收模块之间的配合,利用系统轮训队列数据并进入包处理程序的方式,有效地解决了转发性能的问题,由于网络数据未按地址、端口等进行CPU分配,故各CPU核可并行处理不同数据包,从而大幅提升IPsec VPN转发性能。
附图说明
[0015]图1为本专利技术中循环获取CPU编号的流程图;
[0016]图2为本专利技术中哈希运算获取CPU编号的流程图;
[0017]图3为本专利技术中Linux网络模块的流程图;
[0018]图4为本专利技术中Linux网络模块优化后的流程图。
具体实施方式
[0019]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0020]请参阅图1至图4,本专利技术提供一种技术方案:一种高性能IPsec VPN CPU负载均衡方法,IPsec VPN CPU负载均衡方法包括有网卡接收模块,网卡接收模块包括有拷贝单元和接收单元,且接收单元采用中断的方式,中断的方式实现对数据包接收完成的显示,网卡接收模块单向信号连接有中断处理模块,中断处理模块是采用中断的方式,中断处理模块远离网卡接收装置的一端单向信号连接有CPU核获取模块,循环获取模块单向信号连接有包处理模块,包处理模块单向信号连接有数据处理模块,网卡接收模块、中断处理模块、CPU核获取模块、包处理模块和数据处理模块的配合,解决了传统IPsec VPN设备在隧道数量较少时无法充分利用多核CPU的优势进行负载均衡的缺陷,并通过对linux网络转发机制进行了优化处理,从而实现在单隧道时也能充分利用多核CPU优势进行负载均衡,大幅提升IPsec VPN转发性能。
[0021]拷贝单元由网卡接收网络数据包,通过DMA拷贝的方式至系统内存。
[0022]接收单元通过中断的方式通知CPU数据包已接收完成,通过触发网络中断的方式实现对CPU数据包接收完成的显示。
[0023]中断处理模块对系统收到中断后执行中断处理程序将网络包放入待处理队列,系统获取CPU核编号,将相应处理任务放入队列。
[0024]CPU核获取模块中CPU核编号采用循环获取的方式,循环获取的方式替代了哈希运算。
[0025]包处理模块是对n个CPU核,从0

(n

1)范围内循环获取,将所有的包处理任务平摊至所有CPU核,系统轮训队列数据并进入包处理程序,达到负载均衡的效果,CPU通过轮训的方式检查队列中是否有数据包待处理,如果有就进入包处理程序,将包处理的目的分摊到所有的CPU核上,进入包处理程序后就是通用的一些网络协议处理流程。
[0026]数据处理模块中各CPU核可并行处理未按地址、端口进行CPU分配的网络数据包,各CPU核可并行处理不同数据包,大幅提升转发性能。
[0027]综上所述,该高性能IPsec VPN CPU负载均衡方法,传统获取CPU编号方式:
[0028]in本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高性能IPsec VPN CPU负载均衡方法,其特征在于:所述IPsec VPN CPU负载均衡方法包括有网卡接收模块,所述网卡接收模块包括有拷贝单元和接收单元,且接收单元采用中断的方式,所述网卡接收模块单向信号连接有中断处理模块,所述中断处理模块远离网卡接收装置的一端单向信号连接有CPU核获取模块,所述循环获取模块单向信号连接有包处理模块,所述包处理模块单向信号连接有数据处理模块。2.根据权利要求1所述的一种高性能IPsec VPN CPU负载均衡方法,其特征在于:所述拷贝单元由网卡接收网络数据包,通过DMA拷贝的方式至系统内存。3.根据权利要求1所述的一种高性能IPsec VPN CPU负载均衡方法,其特征在于:所述接收单元通过中断的方式通知CPU数据包已接收完成。4.根据权利要求1所述的一种高性能IPsec VPN CP...

【专利技术属性】
技术研发人员:褚学礼刘磊
申请(专利权)人:中安云科科技发展山东有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1