[发明专利]一种VPN设备在多加密卡环境下并发加解密的方法及系统有效
申请号: | 201210530984.5 | 申请日: | 2012-12-11 |
公开(公告)号: | CN102970142A | 公开(公告)日: | 2013-03-13 |
发明(设计)人: | 李明明 | 申请(专利权)人: | 成都卫士通信息产业股份有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L12/46 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 杨永梅 |
地址: | 610041 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 vpn 设备 加密 卡环 并发 解密 方法 系统 | ||
技术领域
本发明涉及多加密卡并行处理技术领域,尤其涉及一种VPN设备在多加密卡环境下并发加解密的方法及系统。
背景技术
虚拟专用网络(Virtual Private Network ,简称VPN)指的是在公用网络上建立专用网络的技术。其之所以称为虚拟网,主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台,如Internet、ATM(异步传输模式〉、Frame Relay (帧中继)等之上的逻辑网络,用户数据在逻辑链路中传输。它涵盖了跨共享网络或公共网络的封装、加密和身份验证链接的专用网络的扩展。VPN主要采用了隧道技术、加解密技术、密钥管理技术和使用者与设备身份认证技术。
为提高VPN设备的吞吐率,在高性能VPN设备中广泛采用了硬件加密卡代替传统的CPU来进行加解密运算。随着CPU多核技术的发展与成熟,多加密卡应用也必然成为趋势。然而多加密卡如何达到负载平衡,现有技术中一般采用将数据包按数量平均分配给不同的加密卡处理,但每个数据包的长度是不相同的,加密卡对每个数据包的处理时间也是不同,导致有的加密卡需要处理的数据排队时间长,而有的加密卡则处于空闲状态,极大地浪费了加密卡的硬件资源。同时上述分配方式存在同一信源的IP报文可能被不同加密卡处理,加密后发送的顺序得不到保障,有可能造成数据包乱序,增加平均时延、时延抖动、丢包率以及超时重传次数,使网络性能和使用率下降。
发明内容
针对现有技术中存在的在多加密卡环境下加密卡负载不均匀的技术问题,提供一种VPN设备在多加密卡环境下并发加解密的方法。本发明的另外一个发明目的是针对现有技术存在的多个加密卡加密后的数据包存在乱序的技术问题,提供一种VPN设备在多加密卡环境下并发加解密的方法。本发明还公开了上述方法的对应系统。
本发明的目的通过下述技术方案来实现:
一种VPN设备在多加密卡环境下并发加解密的方法,其具体包含以下步骤:每个加密卡设置一个对应的加密卡队列,加密卡队列中保存需要加密卡处理的数据包;当收到新的数据包时,根据所有加密卡队列选择出一个相对最空闲的加密卡,并将新的数据包加入到该加密卡的加密卡队列中。
更进一步地,上述根据所有加密卡队列选择出一个相对最空闲的加密卡具体包括以下步骤:比较每个加密卡队列中等待处理的数据包个数,个数最少的即为最空闲的加密卡。
更进一步地,上述根据所有加密卡队列选择出一个相对最空闲的加密卡具体包括以下步骤:比较每个加密卡队列中等待处理的数据包总长度,数据包总长度最短的即为最空闲的加密卡。
更进一步地,上述方法还包括以下步骤:每收到一个新的数据包,则分配给其一个全局唯一的序列号,数据包经过加密卡处理后进入缓冲区,最后依照序列号的顺序将数据包按序列号放置于缓冲区的对应位置。
更进一步地,上述所述方法还包括以下步骤:数据包的序列号根据其进入系统的顺序依次+1,缓冲区被划分为加密卡队列大小总数个槽位的环形缓冲区,每个槽位存放一个数据包,记录缓冲区中待发送序列号K,即最小的序列号,新的数据包序列号为X,则新的数据包存放于相对于最小序列号K槽位的第X-K个槽位;每当任何加密卡完成一次加解密后,检查槽位K内是否有已被加密卡处理完成的数据包,是则发送该数据包,发送完成后K=K+1。
本发明还公开了一种VPN设备在多加密卡环境下并发加解密的系统,其具体包括:队列设置模块和加密卡选择模块;所述队列设置模块用于给每个加密卡设置一个对应的加密卡队列,加密卡队列中保存需要加密卡处理的数据包;所述加密卡选择模块用于收到新的数据包时,根据所有加密卡队列选择出一个相对最空闲的加密卡,并将新的数据包加入到该加密卡的加密卡队列中。
更进一步地,上述根据所有加密卡队列选择出一个相对最空闲的加密卡具体包括以下步骤:比较每个加密卡队列中等待处理的数据包个数,个数最少的即为最空闲的加密卡。
更进一步地,上述根据所有加密卡队列选择出一个相对最空闲的加密卡具体包括以下步骤:比较每个加密卡队列中等待处理的数据包总长度,数据包总长度最短的即为最空闲的加密卡。
更进一步地,上述系统还包括序列号分配模块和缓冲区模块,所述序列号分配模块用于每收到一个新的数据包,则分配给其一个全局唯一的序列号,数据包经过加密卡处理后进入缓冲区模块,最后依照序列号的顺序将数据包按序列号放置于缓冲区的对应位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都卫士通信息产业股份有限公司,未经成都卫士通信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210530984.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种铝模板用的背楞内外角的组合结构
- 下一篇:一种木踢脚板结构