專利名稱:一種ipsec隧道數(shù)據(jù)傳輸方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域數(shù)據(jù)傳輸,尤其是涉及一種IPSEC隧道數(shù)據(jù)傳輸方法及裝置。
背景技術(shù):
目前,IPSEC協(xié)議作為網(wǎng)絡(luò)層的主要安全手段,已經(jīng)被絕大多數(shù)的安全網(wǎng)關(guān)類設(shè)備所支持。IPSEC協(xié)議隧道模式要求發(fā)送端網(wǎng)關(guān)設(shè)備對(duì)每一個(gè)IP報(bào)文都要經(jīng)過(guò)安全策略(SP )檢索、加密、加認(rèn)證、封裝的處理,然后再將新的IP報(bào)文經(jīng)過(guò)路由發(fā)送出去。IPSEC的IP報(bào)文格式如
圖1所示。市場(chǎng)上支持IPSEC的安全網(wǎng)關(guān)設(shè)備通常采用的是通用工控平臺(tái)結(jié)合硬件協(xié)處理器的架構(gòu)。在這種架構(gòu)中,網(wǎng)卡每接受一個(gè)IP報(bào)文就會(huì)觸發(fā)一次中斷和PCI總線的數(shù)據(jù)傳輸,送去協(xié)處理器又會(huì)經(jīng)歷一次PCI總線的數(shù)據(jù)傳輸,協(xié)處理器處理完畢后再觸發(fā)一次中斷和數(shù)據(jù)在PCI總線的傳輸,然后再經(jīng)歷一次PCI總線的數(shù)據(jù)傳輸從網(wǎng)卡發(fā)送出去。對(duì)一個(gè)IP報(bào)文的處理就會(huì)占用兩次中斷和四次PCI總線,這樣一來(lái),對(duì)于以大量小數(shù)據(jù)量的IP報(bào)文為特征的業(yè)務(wù),處理和傳輸效率就會(huì)很低。傳統(tǒng)處理模型如圖1所示。表I即示出了一臺(tái)采用百兆加密芯片(協(xié)處理器)的虛擬專用網(wǎng)絡(luò)(VirtualPrivate Network, VPN)設(shè)備在采用IPSEC隧道傳統(tǒng)處理方法時(shí)的部分性能指標(biāo),其中可見(jiàn)64字節(jié)小數(shù)據(jù)量的IP報(bào)文的處理效率(即吞吐率)還不到1518字節(jié)大包的30%。表I
權(quán)利要求
1.一種IPSEC隧道數(shù)據(jù)傳輸方法,其特征在于包括下述步驟: 步驟1:網(wǎng)卡接收端接收內(nèi)網(wǎng)發(fā)送的IP報(bào)文,并通過(guò)網(wǎng)絡(luò)數(shù)據(jù)發(fā)送裝置進(jìn)行數(shù)據(jù)打包、加密、封裝后輸出; 步驟2:網(wǎng)絡(luò)數(shù)據(jù)接收裝置進(jìn)行數(shù)據(jù)解密、解封裝、拆包后通過(guò)網(wǎng)卡輸出端輸出。
2.根據(jù)權(quán)利要求1所述的一種IPSEC隧道數(shù)據(jù)傳輸方法,其特征在于所述步驟I中網(wǎng)絡(luò)數(shù)據(jù)發(fā)送裝置進(jìn)行數(shù)據(jù)打包、加密、封裝的具體過(guò)程是: 步驟11:網(wǎng)卡接收端接收內(nèi) 網(wǎng)發(fā)送的IP報(bào)文,第一數(shù)據(jù)接收模塊根據(jù)安全策略表分類存儲(chǔ)IP報(bào)文,同時(shí)定時(shí)器及累加器模塊中累加器或定時(shí)器進(jìn)行IP報(bào)文數(shù)據(jù)長(zhǎng)度監(jiān)控,第一數(shù)據(jù)接收模塊為不同的安全策略建立對(duì)應(yīng)的緩沖區(qū); 步驟12:當(dāng)其中一個(gè)累加器溢出或者定時(shí)器清零時(shí),則第一數(shù)據(jù)接收模塊將對(duì)應(yīng)緩沖區(qū)全部IP報(bào)文輸出至數(shù)據(jù)重組模塊并將對(duì)應(yīng)緩存區(qū)清空;否則第一數(shù)據(jù)接收模塊繼續(xù)接收IP報(bào)文; 步驟13:當(dāng)數(shù)據(jù)重組模塊接收到第一數(shù)據(jù)接收模塊發(fā)送的IP報(bào)文,則將IP報(bào)文合并為重組IP數(shù)據(jù)包并將重組IP數(shù)據(jù)包發(fā)送給第一協(xié)處理器進(jìn)行壓縮、加密并通過(guò)數(shù)據(jù)重組模塊將第一協(xié)處理器處理的重組IP數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)發(fā)送模塊后輸出,其中加密后合并的數(shù)據(jù)包經(jīng)過(guò)封裝為同一個(gè)IPSEC隧道模式的重組IP數(shù)據(jù)包。
3.根據(jù)權(quán)利要求2所述的一種IPSEC隧道數(shù)據(jù)傳輸方法,其特征在于所述步驟11中第一數(shù)據(jù)接收模塊根據(jù)安全策略中分類存儲(chǔ)IP報(bào)文的具體過(guò)程是: 步驟111:第一數(shù)據(jù)接收模塊根據(jù)接收到IP報(bào)文與安全策略列表中的安全策略進(jìn)行匹配,其中IP報(bào)文包括源IP地址Sip-A、目的IP地址Dip-A、源端口地址Sport-A、目的端口地址Dport-A、傳輸協(xié)議號(hào)Protocol-A的五元組信息,安全策略包括安全策略源IP地址Sip-Ι、源地址掩碼Smask-1、目的IP地址Dip-Ι、目的地址掩碼Dmask-1、源端口范圍Sport_range_l、目的端口范圍 Dport_range_l、傳輸協(xié)議號(hào) Protocol-1 ; 步驟112:若第一數(shù)據(jù)接收模塊接收到的IP報(bào)文與安全策略列表中某一個(gè)安全策略進(jìn)行匹配滿足 Sip-A&Smask_l=Sip-l,Dip-A&Dmask_l=Dip-l.Protocol-A=Protocol-1, Sport-At Sport—range—1, Dport-A €Dport_range-l,即IP報(bào)文的五元組信息與安全策略表同一個(gè)安全策略相匹配,則為同類型IP報(bào)文,否則為不同類型IP報(bào)文,然后將同類型IP報(bào)文按接收順序暫存入對(duì)應(yīng)的同一個(gè)緩沖區(qū);同時(shí)通過(guò)累加器進(jìn)行數(shù)據(jù)長(zhǎng)度計(jì)算,將累加器結(jié)果與數(shù)據(jù)接收裝置設(shè)置的閾值進(jìn)行比較,若累加器長(zhǎng)度超過(guò)閾值,則將累加器清零,將緩沖區(qū)的η個(gè)原始IP報(bào)文數(shù)據(jù)取出并將緩沖區(qū)清空,或者定時(shí)器清零時(shí)會(huì)觸發(fā)中斷,導(dǎo)致緩沖區(qū)中IP報(bào)文被取出并將緩沖區(qū)清空,所述η>0。
4.根據(jù)權(quán)利要求2、3或4所述的一種IPSEC隧道數(shù)據(jù)傳輸方法,其特征在于所述步驟13中IP報(bào)文合并為重組IP數(shù)據(jù)包具體步驟是:數(shù)據(jù)重組模塊接收第一數(shù)據(jù)接收模塊輸出的η個(gè)原始IP報(bào)文,并將η個(gè)原始IP報(bào)文依次連接為一個(gè)數(shù)據(jù)段,然后加上新IP報(bào)文頭、ESP報(bào)文頭、合并報(bào)文頭、ESP報(bào)文尾、ESP認(rèn)證尾,所述重組IP數(shù)據(jù)包數(shù)據(jù)格式是:新IP報(bào)文頭+ESP報(bào)文頭+合并報(bào)文頭+η個(gè)原始IP報(bào)文+ESP報(bào)文尾+ESP認(rèn)證尾,其中新IP報(bào)文頭包括新的源IP地址、目的IP地址,合并報(bào)文頭包括合并后報(bào)文長(zhǎng)度、合并的報(bào)文數(shù)目,所述η>0。
5.根據(jù)權(quán)利要求2所述的一種IPSEC隧道數(shù)據(jù)傳輸方法,其特征在于所述步驟2中網(wǎng)絡(luò)數(shù)據(jù)接收裝置進(jìn)行數(shù)據(jù)解密、解封裝、拆包后通過(guò)網(wǎng)卡輸出端輸出的具體過(guò)程是: 步驟21:第二數(shù)據(jù)接收裝置接收第一數(shù)據(jù)發(fā)送模塊發(fā)送的IPSEC隧道模式重組IP數(shù)據(jù)包發(fā)送給第二協(xié)處理器進(jìn)行解壓縮、解密處理后再通過(guò)第二數(shù)據(jù)接收模塊進(jìn)行解封裝處理輸出; 步驟22:數(shù)據(jù)拆分模塊接收第二數(shù)據(jù)接收模塊的重組IP數(shù)據(jù)包后將其逐一拆分成不同的原始IP報(bào)文后通過(guò)第二數(shù)據(jù)發(fā)送模塊經(jīng)路由尋徑后通過(guò)網(wǎng)卡輸出端轉(zhuǎn)發(fā)出去。
6.根據(jù)權(quán)利要求5所述的一種IPSEC隧道數(shù)據(jù)傳輸方法,其特征在于所述步驟22中數(shù)據(jù)拆分模塊工作過(guò)程是:數(shù)據(jù)拆分模塊根據(jù)接收到的重組IP數(shù)據(jù)包的合并報(bào)文頭所記錄的總長(zhǎng)度和報(bào)文總數(shù),結(jié)合每個(gè)原始IP報(bào)文頭,將該數(shù)據(jù)包逐一分拆成各個(gè)不同的原始IP報(bào)文,按照IP報(bào)文對(duì)應(yīng)的安全策略表的安全策略逐一進(jìn)行路由尋徑處理,合法IP報(bào)文經(jīng)路由尋徑后轉(zhuǎn)發(fā)出去。
7.根據(jù)權(quán)利要求1所述的一種IPSEC隧道數(shù)據(jù)傳輸裝置,其特征在于包括網(wǎng)卡,用于IP報(bào)文的數(shù)據(jù)接收或發(fā)送; 網(wǎng)絡(luò)數(shù)據(jù)發(fā)送裝置,用于將網(wǎng)卡接收到內(nèi)網(wǎng)數(shù)據(jù)進(jìn)行數(shù)據(jù)打包、加密、封裝后輸出; 網(wǎng)絡(luò)數(shù)據(jù)接收裝置,用于接收網(wǎng)絡(luò)數(shù)據(jù)發(fā)送裝置輸出的數(shù)據(jù)包,并進(jìn)行數(shù)據(jù)解密、解封裝、拆包后通過(guò)網(wǎng)卡輸出端輸出。
8.根據(jù)權(quán)利要求8所述的一種IPSEC隧道數(shù)據(jù)傳輸裝置,其特征在于所述網(wǎng)絡(luò)數(shù)據(jù)發(fā)送裝置包括第一數(shù)據(jù)接收模塊、數(shù)據(jù)重組模塊、定時(shí)器及累加器模塊、數(shù)據(jù)發(fā)送模塊、第一協(xié)處理器,所述網(wǎng)卡接收到的IP數(shù)據(jù)包通過(guò)第一數(shù)據(jù)接收模塊進(jìn)行存儲(chǔ),并同時(shí)通過(guò)定時(shí)器及累加器模塊對(duì)第一數(shù)據(jù)接收模塊接收IP報(bào)文進(jìn)行監(jiān)控,第一數(shù)據(jù)接收模塊輸出數(shù)據(jù)通過(guò)數(shù)據(jù)重組模塊進(jìn)行打包重組后發(fā)送至第一協(xié)處理器進(jìn)行加密、封裝后通過(guò)數(shù)據(jù)數(shù)據(jù)重組模塊發(fā)送給數(shù)據(jù)發(fā)送模塊進(jìn)行輸出,其中定時(shí)器及累加器模塊包括定時(shí)器、累加器,所述一個(gè)累加器溢出或者定時(shí)器清零時(shí),則第一數(shù)據(jù)接收模塊將對(duì)應(yīng)緩沖區(qū)全部IP報(bào)文輸出至數(shù)據(jù)重組模塊并將對(duì)應(yīng)緩存區(qū)清空;否則第一數(shù)據(jù)接收模塊繼續(xù)接收該緩沖區(qū)同類型IP報(bào)文,所述同類型IP報(bào)文判斷過(guò)程是:第一數(shù)據(jù)接收模塊根據(jù)接收到IP報(bào)文的源IP地址、目的IP地址、源端口地址、目的端口地址、傳輸層協(xié)議的五元組信息,與安全策略表中每個(gè)安全策略進(jìn)行信息匹配,若IP報(bào)文數(shù)據(jù)的五元組信息與安全策略表某個(gè)安全策略相匹配,則為同類型IP報(bào)文,否則為不同類型IP報(bào)文。
9.根據(jù)權(quán)利要求8所述的一種IPSEC隧道數(shù)據(jù)傳輸裝置,其特征在于所述數(shù)據(jù)重組模塊進(jìn)行IP報(bào)文數(shù)據(jù)重組的具體過(guò)程是:首先在緩沖區(qū)中取出的η個(gè)同類型原始IP報(bào)文依次連接為一個(gè)數(shù)據(jù)段,然后加上新IP報(bào)文頭、ESP報(bào)文頭、合并報(bào)文頭、ESP報(bào)文尾、ESP認(rèn)證尾,所述重組IP數(shù)據(jù)的格式是新IP報(bào)文頭+ESP報(bào)文頭+合并報(bào)文頭+η個(gè)原始IP報(bào)文+ESP報(bào)文尾+ESP認(rèn)證尾,其中新的IP報(bào)文頭包括新的源IP地址、目的IP地址,合并報(bào)文頭包括合并后報(bào)文長(zhǎng)度、合并的報(bào)文數(shù)目,η>0。
10.根據(jù)權(quán)利要求8所述的一種IPSEC隧道數(shù)據(jù)傳輸裝置,其特征在于所述網(wǎng)絡(luò)數(shù)據(jù)接收裝置包括第二數(shù)據(jù)接收模塊、數(shù)據(jù)拆分模塊、第二數(shù)據(jù)發(fā)送模塊、第二協(xié)處理器,所述第二數(shù)據(jù)接收模塊接收第一數(shù)據(jù)發(fā)送模塊數(shù)據(jù),并通過(guò)第二協(xié)處理器解密、解封裝后再通過(guò)第二數(shù)據(jù)接收模塊發(fā)送至數(shù)據(jù)拆分模塊,數(shù)據(jù)拆分模塊對(duì)第二數(shù)據(jù)接收模塊發(fā)送的數(shù)據(jù)進(jìn)行拆分處理后通過(guò)第二數(shù)據(jù)發(fā)送模塊進(jìn)行路由尋徑處理,合法報(bào)文經(jīng)路由尋徑后轉(zhuǎn)發(fā)出去,其中數(shù)據(jù)拆分模塊進(jìn)行數(shù)據(jù)拆分的具體過(guò)程是:數(shù)據(jù)拆分模塊根據(jù)接收到的重組IP數(shù)據(jù)包的合并報(bào)文頭所記錄的總長(zhǎng)度和報(bào)文總數(shù),結(jié)合每個(gè)原始IP報(bào)文頭,將該數(shù)據(jù)包逐一分拆成各個(gè)不同的原始IP報(bào)文,按照IP報(bào)文對(duì)應(yīng)的安全策略表逐一進(jìn)行路由尋徑處理,合法IP報(bào)文經(jīng) 路由尋徑后轉(zhuǎn)發(fā)出去。
全文摘要
本發(fā)明涉及通訊領(lǐng)域數(shù)據(jù)傳輸,尤其是涉及一種IPSEC隧道數(shù)據(jù)傳輸方法及裝置。本發(fā)明提供一種IPSEC隧道數(shù)據(jù)傳輸方法及裝置,提供一種IPSEC隧道數(shù)據(jù)傳輸方法及裝置,通過(guò)將同一類IP報(bào)文合并經(jīng)過(guò)協(xié)處理器進(jìn)行壓縮處理等,封裝為一個(gè)IPSEC隧道模式數(shù)據(jù)通過(guò)外網(wǎng)網(wǎng)卡發(fā)送;通過(guò)對(duì)分片IP報(bào)文數(shù)據(jù)重組后通過(guò)協(xié)處理器進(jìn)行解壓縮等,將其拆分各個(gè)不同原始IP報(bào)文并通過(guò)內(nèi)網(wǎng)網(wǎng)卡發(fā)送,可以極大的提高IPSEC隧道的數(shù)據(jù)傳輸性能。本發(fā)明通過(guò)網(wǎng)卡、網(wǎng)絡(luò)數(shù)據(jù)接收裝置、網(wǎng)絡(luò)數(shù)據(jù)發(fā)送裝置進(jìn)行數(shù)據(jù)處理。本發(fā)明主要應(yīng)用于IPSEC隧道數(shù)據(jù)傳輸領(lǐng)域。
文檔編號(hào)H04L12/46GK103139222SQ201310086778
公開日2013年6月5日 申請(qǐng)日期2013年3月19日 優(yōu)先權(quán)日2013年3月19日
發(fā)明者羅俊 申請(qǐng)人:成都衛(wèi)士通信息產(chǎn)業(yè)股份有限公司