[发明专利]采用哈希算法进行多核并行处理的VPN实现方法及系统有效
| 申请号: | 201210257170.9 | 申请日: | 2012-07-24 |
| 公开(公告)号: | CN102811169A | 公开(公告)日: | 2012-12-05 |
| 发明(设计)人: | 罗俊 | 申请(专利权)人: | 成都卫士通信息产业股份有限公司 |
| 主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/46 |
| 代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 杨永梅 |
| 地址: | 610041 *** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 采用 算法 进行 多核 并行 处理 vpn 实现 方法 系统 | ||
技术领域
本发明涉及VPN技术领域,尤其涉及一种采用哈希算法进行多核并行处理的VPN实现方法及系统。
背景技术
VPN(Virtual Private Network ,简称VPN)为虚拟专用网络的简称,目前,市场上的网络安全设备已逐渐采用配备多个硬件处理器核的多核平台,以图提高网络数据的吞吐率,特别是IPSEC VPN这种计算密集型的设备,多个处理器核的引入对提高整个系统加解密传输吞吐率应该很有效果。但是在实际应用中效果并不好,要不就是网卡数据集中传送给个别或少数处理器核,要不就是每个数据报文非常随机的传递给不同的处理器核。前者导致负责负载分布严重的不平衡,从而多核利用率较低,多核实际变单核。后者导致数据报文乱序严重,因为不同报文长度的数据加解密所用时间差异很大,这对于基于TCP等可靠性要求较高的应用非常不利,会导致频繁无意义的重传,使整个传输效率急剧降低。
发明内容
针对现有技术中存在的VPN系统中多核处理的时候核利用率低及可靠性差的技术问题,本发明公开了一种采用哈希算法进行多核并行处理的VPN实现方法。本发明的另外一个目的是提供一种采用哈希算法进行多核并行处理的VPN系统。
本发明的目的通过下述技术方案来实现:
一种采用哈希算法进行多核并行处理的VPN实现方法,其具体包含以下步骤:根据VPN系统中处理器核的数目构建哈希桶,哈希桶的深度等于处理器核的数目,哈希桶中每一个哈希值对应处理器核的一个编号,根据接收到的数据报文的五元组计算出哈希值,并根据哈希值查找出对应的处理器核,将数据报文发送给对应的处理器核进行处理;其中:五元组包括源和目的IP地址、源和目的传输层端口及IP报文协议号。
更进一地,上述每个处理器核单独创建一个VPN策略,在处理器核收到数据报文的时候,查找数据报文对应的VPN策略,按照查找得到的VPN策略对数据报文进行处理。
更进一地,上述方法还包括为每个哈希值分配一个先进先出队列,处理器核从先进先出队列中取出数据并进行处理,处理后的数据报文传递到网卡进行发送。
更进一地,上述方法还包括为每个处理器核设置数据负载处理上限,该上限根据单核的计算能力和多个核的平均处理负载决定,一旦数据负载超出处理上限,即将数据报文交由负载最轻的核进行处理。
更进一地,上述VPN策略的查找优先查找本处理器核的VPN策略列表,不能匹配数据报文的话再进一步一一查找其他处理器核的VPN策略列表。
更进一地,上述哈希值的计算公式如下:
其中哈希桶深度BD等于设备的处理器核的数目,数据报文源IP地址为Sip、源端口为Sport、目的IP地址为Dip、目的端口为Dport以及协议号为Proto。
本发明还公开了一种上述VPN实现方法的系统,所述系统包括:初始化模块、数据分流模块、数据处理模块以及数据发送模块,所述初始化模块、数据分流模块、数据处理模块以及数据发送模块依序连接,所述初始化模块用于构建哈希桶,并为每个哈希值分配一个先进先出队列,为每个处理器核创建独立的VPN策略列表;所述数据分流模块用于将网卡接受到的未经处理的数据报文,根据处理器核的数目以及数据报文的五元组采用哈希算法进行分流处理,将具有同一哈希值的数据报文存入同一个先进先出队列;所述数据处理模块进行VPN的加解密和封装解封装处理;所述数据发送模块将处理后的数据报文传递给网卡发送。
本发明的有益效果:本发明通过将接收到的数据报文,根据处理器核的数目以及数据报文的五元组采用哈希算法进行分流处理,并为每个处理器核维持独立的VPN策略列表,把不同的数据流分配给不同的处理器核处理,同时为每个哈希值分配一个FIFO(先进先出)队列以实现同一个数据流数据报文的保序,从而可以极大地提高多处理器核的利用效率,实现多数据流并行加解密处理,达到很高的VPN吞吐率。
附图说明
图1是本发明实施例提供的采用哈希算法进行多核并行处理的VPN实现流程图。
图2是本发明实施例提供的采用哈希算法进行多核并行处理的VPN具体方法。
图3 是本发明实施例提供的采用哈希算法进行多核并行处理的VPN系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都卫士通信息产业股份有限公司,未经成都卫士通信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210257170.9/2.html,转载请声明来源钻瓜专利网。





