[发明专利]多核多线程系统中IPSec转发的方法无效
| 申请号: | 201110450898.9 | 申请日: | 2011-12-29 |
| 公开(公告)号: | CN102546617A | 公开(公告)日: | 2012-07-04 |
| 发明(设计)人: | 陈海滨 | 申请(专利权)人: | 汉柏科技有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
| 地址: | 300384 天津市西青区*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 多核 多线程 系统 ipsec 转发 方法 | ||
技术领域
本发明涉及网络安全技术领域,尤其涉及一种多核多线程系统中IPSec转发的方法。
背景技术
因特网协议安全(IPSec),是由IETF(Internet Engineering Task Force)定义的一套在网络层提供因特网协议(IP)安全性的协议,其通过对数据加密、认证、完整性检查来保证数据传输的可靠性、私有性、保密性。它由一系列RFC文档组成,其中RFC2401定义IPSec的基本结构;RFC2402定义IPSec的验证头(AH);RFC2406定义IPSec的封装安全载荷(ESP);RFC2409定义IPSec的因特网密钥交换(IKE)。
IPSec协议包括:AH、ESP、IKE等。ESP封装安全载荷为IP载荷提供数据加密和验证的功能。AH认证头为IP头提供数据完整性和验证的功能。数据加密和验证算法由安全相关(SA)指定。IKE密钥交换为IPSec协议生成密钥。安全策略数据库(SPD)决定两个实体之间能否通讯及通讯转码方式。解析域(DOI)用来组合相关协议,通过使用ISAKMP协商安全连接。
现有的IPsec技术通常采用基于单核处理器的处理方式,加解密芯片将解密后的报文放入解密队列,此时由一个线程处理解密队列,由于线程对解密后的报文要做包括nat、aaa、路由等三层业务,在处理速度上一个加解密芯片的处理速度大于一个cpu处理速度,当加解密芯片满负荷运转时,会导致报文丢包,报文处理瓶颈限制了cpu处理能力。
现有技术通过增加解密队列的队列长度来缓冲由于加解密芯片和cpu处理速度不同导致的丢包,这种方法在网路流量时大时小时能起到一定的缓解作用,但并不能根本解决单个cpu性能低导致的整机处理能力下降的问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:提供一种多核多线程系统中IPSec转发的方法,其能够提高整机IPSec报文处理性能。
(二)技术方案
为解决上述问题,本发明提供了一种多核多线程系统中IPSec转发的方法,包括以下步骤:
A:多线程中的一个线程读取解密后的报文;
B:该线程对所读取的解密后的报文重新计算ip五元组,并根据计算结果将解密后的报文放入多个hash分发队列;
C:多线程中的其他线程并行处理每个hash分发队列中的报文。
优选地,所述步骤B中,根据计算结果将解密后的报文放入多个分发hash队列包括:将计算结果中ip五元组不同的报文放入不同的hash分发队列。
优选地,所述步骤C进一步包括:线程分别判断每个hash分发队列是否正在被别的线程处理,如果没有被别的线程处理,且该队列需要被处理,则获取该队列的处理权,并循环处理该队列中的报文,处理完毕后放弃该队列的处理权。
优选地,所述ip五元组为源IP地址,源端口,目的IP地址,目的端口,和传输层协议号。
(三)有益效果
本发明多核多线程系统中IPSec转发的方法采用报文分发机制,将报文通过ip五元组重新进行hash计算,不同ip五元组的报文放入不同队列,通过多个CPU协作处理多队列的方法提高整机IPSec报文处理性能。由于多个cpu线程协同处理解密后的报文,速度大于一个cpu线程处理解密后的报文速度,因此本发明根本解决了由于单个cpu线程性能低于加解密芯片处理速度导致ipsec处理慢的问题。
附图说明
图1为本发明实施方式中所述多核多线程系统中IPSec转发的方法的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明所述的多核多线程系统中IPSec转发的方法,包括以下步骤:
A:多线程中的一个线程读取解密后的报文;
B:该线程对所读取的解密后的报文重新计算ip五元组,并根据计算结果将解密后的报文放入多个hash分发队列;
本步骤中,将计算结果中ip五元组不同的报文放入不同的hash分发队列。所述ip五元组为源IP地址,源端口,目的IP地址,目的端口,和传输层协议号。
C:多线程中的其他线程并行处理每个hash分发队列中的报文。
本步骤中,线程分别判断每个hash分发队列是否正在被别的线程处理,如果没有被别的线程处理,且该队列需要被处理,则获取该队列的处理权,并循环处理该队列中的报文,处理完毕后放弃该队列的处理权。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110450898.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:制备聚合物改性的磨碎的轮胎橡胶的方法
- 下一篇:一种轻便取样钻机





