发明名称 用于高速处理IPSEC保密协定封包之方法及系统
摘要 一种封包处理系统被实现于ASIC上,以硬体架构来最佳化,用于处理IPSec保密协定封包。嵌入式RISC处理器以硬体支援模组来操作,提供OC24及更高的资料速率之IPSec封包处理。IPSec封包系透过串流介面来接收,且缓冲于外部记忆体内。当整个封包在外部记忆体中时,部分系缓冲于区域记忆体中来编密处理。当该部分封包完成处理,该部分则缓冲于和通道有关的外部记忆体输出部份。当整个封包完成处理时,部分则缓冲于区域记忆体中来串流。硬体因而减少了与RISC处理器之间的牵连,而显着地增加了通道流量,用以提供高速的IPSec封包处理。
申请公布号 TW589846 申请公布日期 2004.06.01
申请号 TW091111178 申请日期 2002.05.27
申请人 可伦特公司 发明人 李P 诺伦;查德W 莫塞;大卫 卡塞提;麦可 普瑞维特;萨提施N 安南
分类号 H04L9/00 主分类号 H04L9/00
代理机构 代理人 林镒珠 台北市中山区长安东路二段一一二号九楼
主权项 1.一种保密资料封包处理系统,包括:一传送(Tx)直接记忆存取(DMA)介面(314),接收一已串流的保密资料封包、选择用以处理该已分流之保密资料封包的通道、并传送该已串流的保密资料封包至一外部记忆体;一输入DMA引擎(306),在该已串流的保密资料封包所有部份已经传送至该外部记忆体之后,从该外部记忆体取回该已串流保密资料封包的部分;一输入先进先出伫列(308),从输入DMA引擎(306),以预定位元组大小的方块接收该已串流的保密资料封包之部份,而部份系以分配至该所选择的通道之该输入FIFO伫列的部份中来保留;一关联随机存取记忆体(308),接收和该所选择的通道相关之保密关连资料库(SAD)入口,该SAD入口由输入DMA引擎从该外部记忆体取回;以及一输入编密DMA引擎(310),提供该保密资料封包之方块至一处理引擎,以用于处理。2.如申请专利范围第1项之系统,进一步包括:一输出编密FIFO(320),其从该处理引擎接收该保密封包之已处理的方块;一输出DMA引擎(322),其传送该保密封包之已处理方块至一外部输出记忆体(158);以及一接收(Rx)DMA介面(324),其在该已处理保密资料封包之所有部份已经传送至该外部输出记忆体(158)之后,从该外部输出记忆体取回该保密封包之已处理方块,以及传送该保密资料封包之已处理方块至一串流介面,以用于串流。3.如申请专利范围第2项之系统,其中该接收(Rx)DMA介面(324)包括复数个暂存器,储存各复数个该已处理保密资料封包的长度资讯,该接收(Rx)DMA介面(324)相应于相关的已处理之保密资料封包长度资讯的储存来执行该取回操作。4.如申请专利范围第1项之系统,其中该关联RAM(308)包括一储存关于该所选择通道之程式状态资讯的部份。5.如申请专利范围第1项之系统,其中该传送(Tx)DMA介面(314)基于外部记忆体(156)中通道可获得的缓冲器空间数量,来选取最不忙碌的通道。6.如申请专利范围第1项之系统,其中当该保密封包系一个往外送出的IPSec保密封包时,且其中该部份封包被缓冲至输入FIFO(308)之中时,一外部标题(56)及IPSec标题(55)系被加入至该往外送出的IPSec保密封包。7.如申请专利范围第1项之系统,其中当该保密封包系一个往内送入的IPSec保密封包时,且其中在部份该封包被缓冲至输入FIFO(308)之前,一外部标题(66)及IPSec标题(65)系从该往外送出的IPSec保密封包中移除。8.一种用以处理一保密资料封包的方法,包括:接收一已串流的保密资料封包;选择一用以处理该已分流之保密资料封包的通道;传送该已串流的保密资料封包至一外部记忆体;在该已串流的保密资料封包所有部份已经传送至该外部记忆体之后,从该外部记忆体取回该已串流保密资料封包的部份;从一输入DMA引擎(306),以预定位元组大小的方块传送一于输入先进先出伫列(308)中之该已串流的保密资料封包之部份,而部份系保留于分配至该所选择的通道之输入FIFO的部份中;在一关联随机存取记忆体(308)接收和该所选择的通道相关之保密关连资料库(SAD)入口,该SAD入口系由该输入DMA引擎从该外部记忆体被取回;以及于一输入编密DMA引擎(310)提供该保密资料封包之方块至一处理引擎,以用于处理。9.如申请专利范围第8项之方法,进一步包括:由一输出编密FIFO(320),从该处理引擎接收该保密封包之已处理的方块;由一输出DMA引擎(322),传送该保密封包之已处理方块至一外部输出记忆体(158);在该已处理保密资料封包之所有部份已经传送至该外部记忆体(158)之后,由一接收(Rx)DMA介面(324),从该外部输出记忆体取回该保密封包之已处理方块;以及传送该保密资料封包之已处理方块至一串流介面,以用于串流。10.如申请专利范围第9项之方法,进一步包括于该接收(Rx)DMA介面(324)的复数个暂存器之一之中,储存各复数个已处理保密资料封包的长度资讯,且其中该接收(Rx)DMA介面(324)相应于相关的已处理之保密资料封包长度资讯的储存来执行取回操作。11.如申请专利范围第8项之方法,进一步包括于一关连RAM(308)部份中储存与该所选择通道相关之程式状态资讯,以用于该所选择之通道。12.如申请专利范围第8项之方法,进一步包括根据该外部记忆体(156)中通道可用的缓冲器空间数量,来选取最不忙碌的通道,该选取系由该传送(Tx)DMA介面(314)来执行。13.如申请专利范围第8项之方法,其中当该保密封包系一个往外送出的IPSec保密封包时,该方法进一步包含,在部份封包被缓冲至输入FIFO(308)之中时,一外部标题(56)及IPSec标题(55)被加入至该往外送出的IPSec保密封包。14.如申请专利范围第8项之方法,其中当该保密封包系一个往内送入的IPSec保密封包时,该方法进一步包含,在部份封包被缓冲至输入FIFO(308)之前,一外部标题(66)及IPSec标题(65)系从该往外送出的IPSec保密封包中被移除。15.一种用以处理IPSec保密协定封包的方法,该IPSec保密协定封包包括一IPSec标题,该方法包括:缓冲一外部记忆体中之一IPSec保密协定封包;读取部分已缓冲之IPSec保密协定封包至一第一区域缓冲器内,该部分具有预定数目的位元组;确认该IPSec保密协定封包之标题资讯;读取保密关联资料库(SAD)入口至第一区域缓冲器内;依据该SAD入口中的讯息来处理IPSec保密协定封包以及储存该已处理之IPSec保密协定封包于该外部记忆体中。16.如申请专利范围第15项之方法,进一步包括分析该IPSec标题以将一指标取回至该SAD入口。17.如申请专利范围第15项之方法,其中在该处理步骤之前,该方法包括依据SAD入口讯息,预先将控制资讯附加于该IPSec保密协定封包,在处理步骤中系可使用该控制资讯。18.如申请专利范围第15项之方法,其中该处理步骤包括在IPSec保密协定封包上执行编密操作,当该IPSec保密协定封包系为一往内送入封包时,该编密操作包括一解密功能或一验证功能,及当该IPSec保密协定封包系为一往外送出封包时的编密操作。19.如申请专利范围第15项之方法,进一步包括选择复数个通道之最不忙碌的通道,用以处理该IPSec保密协定封包,以及其中该外部记忆体具有一相关于最不忙碌的通道之部分。20.如申请专利范围第15项之方法,其中在该处理步骤之后,该方法包括缓冲该已处理IPSec保密协定封包于一缓冲器中,该缓冲器系配置给被选取用于该封包之通道。21.如申请专利范围第15项之方法,进一步包括在该已处理IPSec保密协定封包上执行保密策略检查,该保密策略检查包括确认IP来源位址系在由SAD入口所确认的位址范围内。22.如申请专利范围第15项之方法,进一步包括在该已处理IPSec保密协定封包上执行防止重复检查,且更新现态位元组计数和SAD入口之防止重复栏位。23.一种用以处理IPSec保密协定封包的一种特殊应用积体电路,包括:一第一串流介面,透过一个串流介面和网路处理器通讯及接收一串流封包;一输入缓冲器,储存和封包之控制资讯一起的串流封包部份;一编密核心引擎,根据该控制资讯,执行封包上的IPSec编密操作;一输出缓冲器,储存该串流封包之已处理部份;以及一第二串流介面,从该输出缓冲器接收该串流封包之已处理部份,且透过该串流介面提供该网路处理器已处理之IPSec封包。24.如申请专利范围第23项之特殊应用积体电路,其中该串流介面从复数个用用于处理串流封包的通道中选取一个通道,且其中该输入缓冲器及输出缓冲器具有和每一个通道相关的部份。25.如申请专利范围第24项之特殊应用积体电路,进一步包括复数个处理核心,每一个处理核心和通道之一相关联,且透过所关连的通道控制IPSec保密协定封包的处理。26.一种用以实现一保密协定之处理资料封包的方法,该方法包括:在一第一串流介面,从一网路处理器接收一IP资料封包,该IP资料封包包括预先附加于此的一保密关联资料库(SAD)标签;至少移动IP资料封包的部分至第一缓冲器的第一部份;相应于SAD标签读取一SAD入口至该第一缓冲器的第二部份;预先附加该IP资料封包的控制资讯;在该IP资料封包上,藉由执行编密操作来处理该IP资料封包,以产生保密协定资料封包;以及从一第二串流介面串流该保密协定资料封包至用于透过网路传输之该网路处理器。27.如申请专利范围第26项之方法,其中该保密标题及外部标题系依据从相应的SAD入口之资讯。28.如申请专利范围第27项之方法,其中该保密协定系一IPSec协定,且其中该保密标题系一IPSec标题,且其中该保密协定资料封包系根据IPSec保密协定来格式化。29.如申请专利范围第26项之方法,其中该编密操作包括编密或验证编密操作,且其中该方法进一步包括至少储存保密协定资料封包的一部分于一第二缓冲器中。30.如申请专利范围第26项之方法,进一步包括该输入串流介面从复数个通道中选择最不忙碌的通道来处理该IP资料封包。31.如申请专利范围第26项之方法,进一步包括,在读取之前,获得SAD入口的信息,以避免被其他通道造成在该SAD入口内资料的修改。32.如申请专利范围第31项之方法,进一步包括,在读取之后,更新该SAD入口中的位元组计数及循序号码。33.如申请专利范围第26项之方法,其中该储存包括缓冲部分的保密协定资料封包,该部分包括预定的位元组数目。34.如申请专利范围第26项之方法,其中该控制资讯确认用于编密操作之演算法及关键字,以便施加至该IP资料封包。35.如申请专利范围第26项之方法,进一步包括检查IP资料封包的路径最大传输单元(PMTU)値,其包括保密标题及用以预先附加至IP资料封包的外部IP标题,以决定PMTU値何时超过用于一隧道中的PMTU値,该保密协定资料封包系透过该隧道而被指定。36.如申请专利范围第26项之方法,其中该处理系由编密引擎来执行,且其中,在处理之后,该方法进一步包括将状态资讯附加于该保密协定资料封包,当该编密引擎侦测到错误时,藉由该处理及确认来产生该状态资讯。37.如申请专利范围第26项之方法,其中,当保密协定资料封包的所有部份均被储存于第二缓冲器中时,执行该串流。图式简单说明:图一系说明合适于实现本发明较佳实施例之系统架构的简化功能方块图;图二系说明根据本发明较佳实施例之封包处理系统的高阶简化功能方块图;图三系说明根据本发明较佳实施例之封包处理系统的细部功能方块图;图四系说明处理根据本发明较佳实施例之封包的简化流程图;图五系说明根据本发明较佳实施例之往外送出IPSec资料封包的简化图;图六系说明根据本发明较佳实施例之往内送入IPSec资料封包的简化图;图七系说明用于根据本发明较佳实施例之往外送出IPSec资料封包的保密关联资料库入口之简化实例;图八系说明处理根据本发明较佳实施例之往外送出封包的程序之简化流程图;图九系说明处理根据本发明较佳实施例之往内送入封包的程序之简化流程图;图十系说明用于根据本发明较佳实施例之往内送入IPSec资料封包的保密关联资料库入口之简化实例。
地址 美国