分布式IPSec处理的方法

文档序号:7628325阅读:261来源:国知局
专利名称:分布式IPSec处理的方法
技术领域
本发明涉及Internet安全领域,特别涉及分布式IPSec处理的方法。
背景技术
IPSec(因特网协议安全)是由IETF(Internet Engineering Task Force)定义的一套在网络层提供IP(因特网协议)安全性的协议,由一系列RFC文档组成。其中RFC2401定义IPSec的基本结构;RFC2402定义IPSec的AH(验证头);RFC2406定义IPSec的ESP(封装安全载荷);RFC2409定义IPSec的IKE(因特网密钥交换)。
图1描述IPSec协议基本结构。
IPSec协议包括AH、ESP、IKE等。
ESP(101)封装安全载荷为IP载荷提供数据加密和验证的功能。AH(102)认证头为IP头提供数据完整性和验证的功能。数据加密(103)和验证算法(104)由SA(安全相关)指定。IKE(105)密匙交换为IPSec协议生成密匙。SPD(安全策略数据库)(106)决定两个实体之间能否通讯及通讯转码方式。解释域(DOI)用来组合相关协议,通过使用ISAKMP协商安全连接。
图2基于IPSec的VPN(虚拟专用网络)原理主机A(201)和主机B(204)之间通过Internet进行通讯。IPSec网关A(202)和IPSec网关B(203)分别是主机A(201)和主机B(204)接入Internet出口路由器。网关之间通过IKE(206)动态协商主机A、B通讯所需要的SA(207、208)安全策略,并通过将IP报文封装成IPSec报文(205)实现安全通信。IPSec可以和L2TP(层2隧道协议)、PPTP(点到点隧道协议)等技术一起使用,常称其为IPSec VPN。
在基于IPSec的VPN实现中,IPSec Router必须在完成路由转发、地址转换的同时,处理IPSec加密,解密及验证工作。而IPSec Router在网络中往往处于接入和汇聚层,需要同时支持大量用户,因此转发任务极为繁重,往往会处于瓶颈地位。
与此同时,IPSec加密、解密及验证算法又极为耗时,因此系统负担远远大于普通IP转发。
目前主要的IPSec Router实现方法,都存在以下问题1.基于CPU软件转发的IPSec Router运行效率低、处理能力低。
2.基于硬件ASIC加速或网络处理器实现IPSec转发的IPSec Router处理能力有一定提升,但受到硬件性能限制,仍然存在实现复杂、可扩展性差,以及设备不能实现随IPSec用户流量增长同步升级。

发明内容
本发明的目的是提供一种分部式IPSec处理的方法。
为实现上述目的,一种分布式IPSec处理的方法,包括步骤(1)多个母卡根据IP报文内容生成Flow ID,并根据Flow ID进行负荷分担运算,将IPSec转发任务分担至多个协处理子卡;(2)协处理子卡接收母卡转发的待加密IP原始报文和待解密IPSec报文,进行IPSec处理后转发至母卡;(3)母卡和协处理子卡之间通过板间通讯交互信息。
本发明将IPSec协议移植至由M个母卡和N个协处理子卡组成的M×N分布式计算结构中,通过母卡及协处理子卡的分布式计算实现高性能IPSec转发。高效实现IPSec高速转发,实现高度冗余、可靠性高,支持系统容量平滑升级,可扩展性好,物理逻辑简单,实现方便。


图1是IPSec协议组成;图2是IPSec VPN;图3是IPSec M×N分布式转发结构;图4是IPSec OutBound报文处理流程;图5是IPSec InBound报文处理流程。
具体实施例方式
本发明将IPSec协议实现移植至由M个母卡和N个协处理子卡组成的M×N分布式计算结构中,母卡及协处理子卡通过分布式计算共同完成IPSec转发,设计方法如下1.母卡和协处理子卡共同完成IPSec转发任务。
2.母卡中IPSec报文处理流程为接收IPSec协议栈Inbound、Outbound两个方向的报文流;分析报文头,查找SPD策略数据库,为报文进行流分类,并分配唯一流标签;根据流标签,进行负荷分担计算,将报文流分担到各自协处理子卡;协处理子卡处理完毕报文将由母卡汇总后输出。
3.协处理子卡IPSec报文处理流程为接收IPSec报文,查找SADB安全联盟数据库,进行报文加解密计算,处理完毕后转发给母卡。
4.母卡至少需要实现IPSec协议栈(全部),SPD数据库,SADB数据库,网络管理,IKE,板间通讯及其他上层应用。
5.子卡至少需要实现IPSec高速转发,SPD数据库(本卡相关部分),SADB数据库(本卡相关部分),IKE(可选),板间通讯及其他。
6.板间通讯特指母卡、子卡间传递信息的通道。主要用于SPD数据库,SADB数据库信息和管理信息传递。
7.所有子卡配置完全相同,彼此透明,不需要知道其他子卡存在。通过子卡增减实现转发能力的平滑升级。
图3描述分布式IPSec转发结构系统可以由M个母卡和N个协处理子卡组成M×N分布式转发结构。
301 Outbound方向主机向IPSec gateway发送待加密IP原始报文。接收Inbound方向已解密IP原始报文。
302母卡接收Outbound方向主机发送待加密IP原始报文,经过SPD查找(强制实现)和IKE协商(可选实现)后,获取该报文对应的信息,生成Flow ID;接收Inbound方向Internet发送待解密IPSec报文,经过报文头分析,生成Flow ID;根据Flow ID母卡进行负荷分担计算,将报文转发至某协处理子卡进行IPSec处理。母卡同时收集Inbound方向各个协处理子卡解密完毕的IP原始报文,发送给相应主机;收集Outbound方向各个协处理子卡加密完毕IPSec报文,发送给Internet。负荷分担算法必须满足SPD项或者SA项对应的数据流固定分担至单块子卡,如此各个子卡之间保持透明,不需要通过板间通讯交换信息。
303协处理子卡接收母卡转发的待加密IP原始报文和待解密IPSec报文,进行IPSec处理,处理后转发至母卡。
304协理子卡和母卡之间通过板间通讯交互信息,比如SPD数据、SADB数据、统计信息和其他配置信息的交互。SPD数据信息需要由母卡下发至所有协处理子卡,IKE协商生成SA以及手工配置SA需要存储在母卡和转发相关协处理子卡中。协处理子卡中SPD数据库必须以母卡SPD数据库为准,及时更新。协处理子卡中SADB数据库必须以母卡SADB数据库为准,及时更新;但可以只保留本协处理子卡IPSec转发需要部分。协处理子卡中IKE协商后,新生成的SA,必须及时上报,刷新母卡SADB数据库。
图4描述IPSec OutBound报文处理流程401主机301向母卡302发送的原始IP报文。
402分析报文头,查找母卡SPD数据库,决定转发策略。
403SPD查找结果为丢弃,丢弃该报文。
404根据SPD查找结果,继续查找SADB,存在有效SA项则继续,否则启动IKE。IKE功能即可以由协处理子卡或母卡实现,因此为可选实现。
405启动IKE协商,生成SA。该项功能也可以由协处理子卡完成,因此为可选实现。
406获取SA参数。为可选实现。
407根据SPD查找和SADB查找结果,生成Flow ID。
408根据Flow ID进行负荷分担计算,将指定报文流分担至特定协处理子卡。
409分担后的报文,转发至协处理子卡。
410协处理子卡接收报文。
411重新查找SPD数据库,查找转发策略。
412根据SPD查找结果,继续查找SADB,存在有效SA项则继续,否则启动IKE。IKE功能即可以由协处理子卡或母卡实现,因此为可选实现。如母卡已经实现IKE,一定存在有效SA项,因此不会出发IKE过程。
413启动IKE协商,生成SA。
414获取SA参数。
415正常的IPSec转发处理。
416如果支持NAT穿越,此处进行NAT报文头处理。
417报文分段处理。
418将处理完毕报文,重新汇聚到母卡。
419母卡将报文转发至Internet。
图5描述IPSec InBound报文处理流程501母卡从Internet接收IPSec报文。
502如果需要,进行IP报文重组。
503如果需要,进行NAT穿越处理,剥去NAT穿越封装的报文头。
504分析报文头,解析出SPI等信息。
505生成Flow ID506根据Flow ID进行负荷分担计算,将指定报文流分担至特定协处理子卡。
507分担后的报文,转发至协处理子卡。
508协处理子卡接收报文。
509分析报文头,解析出SPI等信息。
510根据SPI等信息,查找SADB数据库,成功则继续。
511查找SADB失败,丢弃该报文。
512读取SADB中对应SA信息。
513根据SA进行IPSec处理。
514IPSec处理发生错误,丢弃该报文。
515查找SPD数据库,验证SPD策略和SA是否相符。
516策略不相符,丢弃该报文。
517是否存在嵌套的下一层IPSec报文头,有则返回508进一步处理。
518将处理完毕报文,重新汇聚到母卡。
519母卡将报文转发至主机。
权利要求
1.一种分布式IPSec处理的方法,包括步骤(1)多个母卡根据IP报文内容生成Flow ID,并根据Flow ID进行负荷分担运算,将IPSec转发任务分担至多个协处理子卡;(2)协处理子卡接收母卡转发的待加密IP原始报文和待解密IPSec报文,进行IPSec处理后转发至母卡;(3)母卡和协处理子卡之间通过板间通讯交互信息。
2.根据权利要求1所述的方法,其特征在于所述交互信息包括SPD数据、SADB数据、统计信息及其它配置信息。
3.根据权利要求1所述的方法,其特征在于所述多个子卡之间保持透明。
4.根据权利要求2所述的方法,其特征在于用于IPSec OutBound报文处理,所述生成Flow ID包括步骤进行报文重组;分析报文头,查找母卡SPD数据库,决定转发策略;根据SPD查找结果,继续查找SADB;启动IKE协商,生成SA;根据SPD查找和SADB查找结果,生成Flow ID。
5.根据权利要求2所述的方法,其特征在于用于IPSec OutBound报文处理,所述协处理子卡的处理包括步骤重新查找SPD数据库,查找转发策略;根据SPD查找结果,继续查找SADB;启动IKE协商,生成SA参数;进行正常的IPSec转发处理;将处理完毕报文重新汇聚到母卡。
6.根据权利要求4或5所述的方法,其特征在于所述步骤启动IKE协商,生成SA可由母卡或协处理子卡实现。
7.根据权利要求2所述的方法,其特征在于用于IPSec InBound报文处理,所述生成Flow ID包括步骤进行IP报文重组;分析报文头,解析出SPI灯信息;生成Flow ID。
8.根据权利要求2所述的方法,其特征在于用于IPSec InBound报文处理,所述协处理子卡的处理包括步骤分析报文头,解析出SPI等信息;根据SPI等信息,查找SADB数据库,读取SADB中对应的SA信息;根据SA进行IPSec处理;查找SPD数据库,验证SPD策略和SA是否相符;将处理完毕报文重新汇聚到母卡。
9.根据权利要求1所述的方法,其特征在于所选择的负荷分担算法满足SPD项或SA项对应的数据流固定分担至单块子卡。
10.根据权利要求1所述的方法,其特征在于协处理子卡中SPD数据库必须以母卡SPD数据库为准,及时更新。
11.根据权利要求10所述的方法,其特征在于可以只保留协处理子卡IPSec转发需要部分。
12.根据权利要求5所述的方法,其特征在于所述协处理子卡中IKE协商后,新生成的SA必须及时上报,刷新母卡SADB数据库。
全文摘要
一种分布式IPSec处理的方法,包括步骤多个母卡根据IP报文内容生成Flow ID,并根据Flow ID进行负荷分担运算,将IPSec转发任务分担至多个协处理子卡;协处理子卡接收母卡转发的待加密IP原始报文和待解密IPSec报文,进行IPSec处理后转发至母卡;母卡和协处理子卡之间通过板间通讯交互信息。本发明将IPSec协议移植至由M个母卡和N个协处理子卡组成的M×N分布式计算结构中,通过母卡及协处理子卡的分布式计算实现高性能IPSec转发。高效实现IPSec高速转发,实现高度冗余、可靠性高,支持系统容量平滑升级,可扩展性好,物理逻辑简单,实现方便。
文档编号H04L12/56GK1984131SQ20051012647
公开日2007年6月20日 申请日期2005年12月14日 优先权日2005年12月14日
发明者贾红升, 谭敏强, 张育斌 申请人:北京三星通信技术研究有限公司, 三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1