IPSec转发的方法

文档序号:7628324阅读:1108来源:国知局
专利名称: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协商安全连接。
在IPSec协议实现中,IPSec设备必须在完成路由转发、地址转换等任务同时,处理IPSec加密、解密及验证工作,转发任务极为繁重,往往会处于瓶颈地位。
当设备硬件能力有限,转发能力不足时,只能对无法处理的报文进行简单丢弃。如此处理,将重要和不重要的信息一并丢弃,不符合通信网络对于服务质量的要求。我们希望能够将FIFO、PRIO、CQ、WFQ、CAR等队列调度机制引入IPSec转发,根据不同流量类型进行差别服务,提高IPSec设备在高负荷运行状态下的转发性能。
如此,需要解决的技术问题是
1.能否对报文流进行服务类型分类。众所周知,IP报文内容在IPSec加密后,报文头等信息在转发前已经无法读出,而我们希望在转发前获取这些信息。
2.实现必须简单,对现有IPSec协议改动最小,并严格保证协议一致性。

发明内容
本发明的目的是提供一种改进IPSec转发功能的方法。
为实现上述目的,一种IPSec转发的方法,包括步骤a)在SPD数据库、SADB数据库中针对每个具体数据项,增加服务类型域。
b)系统在IPSec处理时,根据该服务类型域,实现队列调度。
本发明能够根据不同流量类型进行区别处理。防止系统高负荷运行状态下,系统丢弃关键流量,导致网络性能迅速恶化。通过队列调度机制,根据不同流量类型分配系统资源,实现差别服务,保证通信质量。


图1是IPSec协议组成;图2是Outbound转发流程;图3是Inbound转发流程。
具体实施例方式
本发明就IPSec报文转发提出一种新颖的队列调度方法,解决方案如下1.在SPD数据库、SADB数据库的数据项中,增加服务类型域;2.SPD数据库服务类型域可以手工配置,或者根据某些转发策略决定,如参考IPv4 TOS;3.SADB数据库服务类型域在转发过程中,查找SPD数据库,并根据SPD数据库中服务类型域进行刷新;该域仅仅借用SADB数据库进行存储,不参与IKE协商。不涉及RFC2407相关DOI内容;
4.报文转发时,查找SPD数据库、SADB数据库得到服务类型域,并根据服务类型域进入相应调度队列,等待队列调度;5.调度算法可以为FIFO、PRIO、CQ、WFQ、CAR或其他算法。
图2描述IPSec OutBound报文处理流程201IPSec转发原始IP报文。
202分析报文头,查找SPD数据库,决定转发策略。
203SPD查找得到服务类型域值,待205查找SADB时,为SADB服务类型域赋值。
204根据服务类型域值,将报文打入相应调度队列。
205根据SPD查找结果,继续查找SADB,存在有效SA项则继续,否则启动IKE。
206启动IKE协商,生成SA。
207获取SA参数。为可选实现。
208队列中报文得到调度,进行IPSec转发处理。
209如果支持NAT穿越,此处进行NAT报文头处理。
210报文分段处理。
211报文转发至Internet。
图3描述IPSec InBound报文处理流程301从Internet接收IPSec报文,必要时进行报文重组。
302如果需要,进行NAT穿越处理,剥去NAT穿越封装的报文头。
303分析报文头,解析出SPI等信息。
304查找SADB中对应SA信息。
305IPSec处理发生错误,丢弃该报文。
306获取SA参数,包括服务类型域。如未赋值,取缺省值。
307根据服务类型域值,将报文打入相应调度队列。
308队列中报文得到调度,进行后续IPSec处理。
309策略不相符或报文错误,丢弃该报文。
310查找SPD数据库,验证SPD策略和SA是否相符。
311根据SPD数据库,刷新SADB服务类型域。
312是否存在嵌套的下一层IPSec报文头,有则返回508进一步处理。
313报文转发。
权利要求
1.一种IPSec转发的方法,包括步骤a)在SPD数据库、SADB数据库中针对每个具体数据项,增加服务类型域。b)系统在IPSec处理时,根据该服务类型域,实现队列调度。
2.根据权利要求1所述的方法,其特征在于所述对列调度包括,对于IPSecOutBound报文分析报文头,查找SPD数据库,决定转发策略;查找SPD得到服务类型域值;根据服务类型域,将报文打入相应调度对列。
3.根据权利要求1所述的方法,其特征在于所述对列调度包括,对于IPSecInBound报文分析报文头,解析出SPI信息;查找SADB中对应的SA信息;如果IPSec处理发生错误,丢弃该报文;获取SA参数,包括服务类型域;根据服务类型域,将报文打入相应调度对列。
4.根据权利要求2或3所述的方法,其特征在于还包括根据SPD查找结果,继续查找SADB,为SADB服务类型域赋值。
5.根据权利要求2或3所述的方法,其特征在于所述报文得到调度后才能继续IPSec处理。
6.根据权利要求2或3所述的方法,其特征在于采用FIFO、PRIO、CQ、WFQ、CAR或其他算法为调度算法。
全文摘要
一种IPSec转发的方法,包括步骤在SPD数据库、SADB数据库中针对每个具体数据项,增加服务类型域。系统在IPSec处理时,根据该服务类型域,实现队列调度。本发明能够根据不同流量类型进行区别处理。防止系统高负荷运行状态下,系统丢弃关键流量,导致网络性能迅速恶化。通过队列调度机制,根据不同流量类型分配系统资源,实现差别服务,保证通信质量。
文档编号H04L12/56GK1984130SQ20051012647
公开日2007年6月20日 申请日期2005年12月14日 优先权日2005年12月14日
发明者贾红升, 谭敏强, 杨武学 申请人:北京三星通信技术研究有限公司, 三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1