麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

多加解密芯片并行處理報(bào)文加解密的保序方法及系統(tǒng)的制作方法

文檔序號(hào):7861681閱讀:254來源:國(guó)知局
專利名稱:多加解密芯片并行處理報(bào)文加解密的保序方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種多加解密芯片并行處理報(bào)文加解密的保序方法及系統(tǒng)。
背景技術(shù)
帶網(wǎng)絡(luò)協(xié)議安全性(Internet Protocol Securit, IPSEC)功能的高端網(wǎng)絡(luò)設(shè)備, 大多采用η (η大于等于I)個(gè)通用CPU (例如intel的atom通用CPU)加m (m大于等于2) 個(gè)加解密專用CPU (例如Cavium Networks公司的cavium加解密芯片)來對(duì)發(fā)送或接收的報(bào)文進(jìn)行加解密。但是現(xiàn)有技術(shù)中,多個(gè)加解密芯片同時(shí)進(jìn)行報(bào)文加解密處理時(shí)無法對(duì)報(bào)文進(jìn)行保序,在報(bào)文處理完成后,會(huì)產(chǎn)生報(bào)文發(fā)送時(shí)的亂序現(xiàn)象(測(cè)試中有千分之三的亂序幾率),進(jìn)而導(dǎo)致丟包或者視頻馬賽克,使得網(wǎng)絡(luò)通信受到較為嚴(yán)重的阻滯。發(fā)明內(nèi)容
(一)要解決的技術(shù)問題
本發(fā)明要解決的技術(shù)問題是提供一種多加解密芯片并行處理報(bào)文加解密的保序方法及系統(tǒng),以解決多個(gè)加解密芯片同時(shí)進(jìn)行報(bào)文加解密處理時(shí)無法對(duì)報(bào)文進(jìn)行保序的問題。
(二)技術(shù)方案
為解決上述問題,一方面,本發(fā)明提供了一種多加解密芯片并行處理報(bào)文加解密的保序方法,包括以下步驟
SI :設(shè)置報(bào)文處理循環(huán)鏈表,任一個(gè)CPU接收到報(bào)文后獲得所述報(bào)文對(duì)應(yīng)的加解密密鑰,并將所述報(bào)文及對(duì)應(yīng)的加解密密鑰按序放入所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上;
S2 :所述CPU獲取空閑的加解密芯片,并將對(duì)應(yīng)報(bào)文交給所述加解密芯片;
S3 :加解密芯片讀取報(bào)文對(duì)應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù),根據(jù)報(bào)文需要進(jìn)行的加解密類型對(duì)報(bào)文進(jìn)行加解密處理后,將報(bào)文放回到所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上。
其中,在所述步驟S3之后,還包括步驟S4 :
任意空閑CPU在報(bào)文處理循環(huán)鏈表上獲取需要處理的報(bào)文,判斷報(bào)文是否已經(jīng)被加解密芯片處理完畢如果沒有,則不做任何操作;否則獲取加解密后的報(bào)文并處理。
其中,所述報(bào)文處理鏈表上的每個(gè)節(jié)點(diǎn)包括以下節(jié)點(diǎn)數(shù)據(jù)需要加解密處理的報(bào)文地址指針;加解密處理后的報(bào)文地址指針;需要對(duì)報(bào)文進(jìn)行的加解密類型信息;加解密使用的加解密密鑰;以及所述報(bào)文處理循環(huán)鏈表中下一個(gè)節(jié)點(diǎn)的位置。
其中,所述任一個(gè)CPU接收到所述報(bào)文后獲得報(bào)文對(duì)應(yīng)的加解密密鑰的步驟具體為對(duì)于需要加密的報(bào)文任一個(gè)CPU通過配置的安全聯(lián)盟隧道數(shù)據(jù)匹配規(guī)則對(duì)報(bào)文進(jìn)行匹配,在匹配成功后獲得匹配成功的安全聯(lián)盟隧道;
對(duì)于需要解密的報(bào)文任一個(gè)CPU根據(jù)報(bào)文的三元組信息找到相應(yīng)的安全聯(lián)盟,并取出所述安全聯(lián)盟中對(duì)應(yīng)的解密密鑰。
其中,所述CPU將所述報(bào)文及對(duì)應(yīng)的加解密密鑰按序放入所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上的步驟具體為所述CPU獲取當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn),并根據(jù)報(bào)文的地址、加解密密鑰、以及需要進(jìn)行的加解密類型完善獲取的節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)數(shù)據(jù)。
其中,所述步驟S2中所述CPU獲取空閑的加解密芯片的步驟具體為所述CPU獲取當(dāng)前處理加解密數(shù)據(jù)的加解密芯片的序號(hào)+1后除以加解密芯片的總數(shù)再取余,得到空閑的加解密芯片的序號(hào)。
其中,所述步驟S3具體為
加解密芯片獲取節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)數(shù)據(jù)中需要加解密處理的報(bào)文地址指針、加解密密鑰以及需要進(jìn)行的加解密類型,根據(jù)這些節(jié)點(diǎn)數(shù)據(jù)對(duì)報(bào)文進(jìn)行加解密處理后,將處理后的報(bào)文放入節(jié)點(diǎn)數(shù)據(jù)中加解密處理后的報(bào)文地址指針?biāo)傅牡刂分小?br> 另一方面,本發(fā)明還提供了一種多加解密芯片并行處理報(bào)文加解密的保序系統(tǒng), 包括
報(bào)文處理循環(huán)鏈表設(shè)置模塊,用于設(shè)置報(bào)文處理循環(huán)鏈表;
多核CPU,用于在接收到報(bào)文后獲得所述報(bào)文對(duì)應(yīng)的加解密密鑰,并將所述報(bào)文及對(duì)應(yīng)的加解密密鑰按序放入所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上;獲取空閑的加解密芯片,并將對(duì)應(yīng)報(bào)文交給所述加解密芯片;
加解密芯片,用于讀取報(bào)文對(duì)應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù),根據(jù)報(bào)文需要進(jìn)行的加解密類型對(duì)報(bào)文進(jìn)行加解密處理后,將報(bào)文放回到所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上。
(三)有益效果
本發(fā)明通過使用循環(huán)鏈表,讓多個(gè)加解密芯片獲取當(dāng)前鏈表上當(dāng)前位置的節(jié)點(diǎn)報(bào)文,處理完此報(bào)文后再放回到原來的鏈表節(jié)點(diǎn)上的方法,使多個(gè)加解密芯片協(xié)同處理的同時(shí)得到報(bào)文的保序目的,防止出現(xiàn)報(bào)文發(fā)送時(shí)的亂序現(xiàn)象。


圖I為根據(jù)本發(fā)明實(shí)施例保序方法的流程示意圖2為根據(jù)本發(fā)明實(shí)施例保序系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明如下。
實(shí)施例一
如圖I所示,本實(shí)施例記載了一種多加解密芯片并行處理報(bào)文加解密的保序方法,包括以下步驟
SI :設(shè)置報(bào)文處理循環(huán)鏈表,任一個(gè)CPU接收到報(bào)文后獲得所述報(bào)文對(duì)應(yīng)的加解密密鑰,并將所述報(bào)文及對(duì)應(yīng)的加解密密鑰按序放入所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上;
S2 :所述CPU獲取空閑的加解密芯片,并將對(duì)應(yīng)報(bào)文交給所述加解密芯片;
S3 :加解密芯片讀取報(bào)文對(duì)應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù),根據(jù)報(bào)文需要進(jìn)行的加解密類型對(duì)報(bào)文進(jìn)行加解密處理后,將報(bào)文放回到所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上。
本實(shí)施例中,在所述步驟S3之后,還包括步驟S4
任意空閑CPU在報(bào)文處理循環(huán)鏈表上獲取需要處理的報(bào)文,判斷報(bào)文是否已經(jīng)被加解密芯片處理完畢如果沒有,則不做任何操作;否則獲取加解密后的報(bào)文并處理。
下面以一個(gè)具體的實(shí)施例來說明本發(fā)明
本實(shí)施例以當(dāng)前有2個(gè)通用CPU (CPU0和CPU1)加3個(gè)加解密芯片(caviumO, caviuml, cavium2)的架構(gòu)為例。
設(shè)置鏈表長(zhǎng)為500個(gè)節(jié)點(diǎn)的報(bào)文處理循環(huán)鏈表,每個(gè)節(jié)點(diǎn)的結(jié)構(gòu)體中的節(jié)點(diǎn)數(shù)據(jù)包括需要加解密處理的報(bào)文地址指針;加解密處理后的報(bào)文地址指針;需要對(duì)報(bào)文進(jìn)行的加解密類型信息(即加密還是解密);加解密使用的加解密密鑰;以及所述報(bào)文處理循環(huán)鏈表中下一個(gè)節(jié)點(diǎn)的位置(此數(shù)據(jù)在設(shè)備初始化的時(shí)候已經(jīng)設(shè)置好,不需要修改)。
設(shè)置當(dāng)前可使用的節(jié)點(diǎn)位置指針全局變量、最后一個(gè)處理完的節(jié)點(diǎn)位置指針全局變量、當(dāng)前處理加解密數(shù)據(jù)的加解密芯片的序號(hào)。其中,設(shè)備初始化的時(shí)候當(dāng)前可使用的節(jié)點(diǎn)位置指針全局變量和最后一個(gè)處理完的節(jié)點(diǎn)位置指針全局變量會(huì)與鏈表第一個(gè)節(jié)點(diǎn)的值相同。
對(duì)于需要加密的ip數(shù)據(jù)報(bào)文CPU0通過配置的安全聯(lián)盟隧道數(shù)據(jù)匹配規(guī)則對(duì)報(bào)文進(jìn)行匹配,在匹配成功后獲得匹配成功的安全聯(lián)盟隧道,用于對(duì)報(bào)文進(jìn)行加密;對(duì)于需要解密的esp/ah報(bào)文CPU0根據(jù)報(bào)文的三元組信息(spi、協(xié)議號(hào)、原ip地址)找到相應(yīng)的安全聯(lián)盟(ipsec sa),并取出所述安全聯(lián)盟中對(duì)應(yīng)的解密密鑰,CPUO根據(jù)當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù)中下一個(gè)節(jié)點(diǎn)的位置獲取當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn),并根據(jù)報(bào)文的地址、加解密密鑰、以及需要進(jìn)行的加解密類型完善獲取的節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)數(shù)據(jù)。然后將當(dāng)前可使用的節(jié)點(diǎn)位置指針全局變量賦值為所述下一個(gè)節(jié)點(diǎn)。
CPUO獲取當(dāng)前處理加解密數(shù)據(jù)的加解密芯片的序號(hào)+1后除以加解密芯片的總數(shù)再取余,得到空閑的加解密芯片的序號(hào);然后將空閑加解密芯片全局變量加I。即
空閑的加解密芯片的序號(hào)=| (當(dāng)前處理加解密數(shù)據(jù)的加解密芯片的序號(hào)+l)/n|, 其中η為加解密芯片的總數(shù)。
如本實(shí)施例中,加解密芯片的總數(shù)為3,若當(dāng)前處理加解密數(shù)據(jù)的加解密芯片為 caviumO,其序號(hào)為O,則| (0+1)/3 | =1,即獲取空閑的加解密芯片caviuml。
加解密芯片獲取節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)數(shù)據(jù)中需要加解密處理的報(bào)文地址指針、加解密密鑰以及需要進(jìn)行的加解密類型,根據(jù)這些節(jié)點(diǎn)數(shù)據(jù)對(duì)報(bào)文進(jìn)行加解密處理后,將處理后的報(bào)文放入節(jié)點(diǎn)數(shù)據(jù)中加解密處理后的報(bào)文地址指針?biāo)傅牡刂分小?br> 本實(shí)施例中,所述步驟S4具體為
任意空閑CPU讀取當(dāng)前可使用的節(jié)點(diǎn)位置指針全局變量和最后一個(gè)處理完的節(jié)點(diǎn)位置指針全局變量的值,判斷是否相同,如果相同,說明沒有報(bào)文需要處理,如果不相同, 則讀取最后一個(gè)處理完的節(jié)點(diǎn)位置指針全局變量的值,并判斷節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù)中的加解密處理后的報(bào)文地址指針是否為空,如果為空,說明加解密芯片還沒有處理完,則不做任何操作,如果不為空,則首先獲取加解密處理后的報(bào)文地址指針(加解密后的報(bào)文)并將最后一個(gè)處理完的節(jié)點(diǎn)位置指針全局變量的值賦值為最后一個(gè)處理完的節(jié)點(diǎn)位置指針全局變量的下一個(gè)節(jié)點(diǎn)的位置值,然后處理之前獲取的加解密后的報(bào)文。
本發(fā)明通過使用循環(huán)鏈表,讓多個(gè)加解密芯片獲取當(dāng)前鏈表當(dāng)前位置的節(jié)點(diǎn)報(bào)5文,處理完此報(bào)文后再放回到原來的鏈表節(jié)點(diǎn)上的方法,使多個(gè)加解密CPU協(xié)同處理的同時(shí)得到報(bào)文的保序目的,防止出現(xiàn)報(bào)文發(fā)送時(shí)的亂序現(xiàn)象。
實(shí)施例二
如圖2所示,本實(shí)施例記載了一種多加解密芯片并行處理報(bào)文加解密的保序系統(tǒng),包括
報(bào)文處理循環(huán)鏈表設(shè)置模塊201,用于設(shè)置報(bào)文處理循環(huán)鏈表;
多核CPU 202,用于在接收到報(bào)文后獲得所述報(bào)文對(duì)應(yīng)的加解密密鑰,并將所述報(bào)文及對(duì)應(yīng)的加解密密鑰按序放入所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上;獲取空閑的加解密芯片,并將對(duì)應(yīng)報(bào)文交給所述加解密芯片;
加解密芯片203,用于讀取報(bào)文對(duì)應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù),根據(jù)報(bào)文需要進(jìn)行的加解密類型對(duì)報(bào)文進(jìn)行加解密處理后,將報(bào)文放回到所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上。
以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種多加解密芯片并行處理報(bào)文加解密的保序方法,其特征在于,包括以下步驟 51:設(shè)置報(bào)文處理循環(huán)鏈表,任一個(gè)CPU接收到報(bào)文后獲得所述報(bào)文對(duì)應(yīng)的加解密密鑰,并將所述報(bào)文及對(duì)應(yīng)的加解密密鑰按序放入所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上; 52:所述CPU獲取空閑的加解密芯片,并將對(duì)應(yīng)報(bào)文交給所述加解密芯片; S3:加解密芯片讀取報(bào)文對(duì)應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù),根據(jù)報(bào)文需要進(jìn)行的加解密類型對(duì)報(bào)文進(jìn)行加解密處理后,將報(bào)文放回到所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上。
2.如權(quán)利要求I所述的方法,其特征在于,在所述步驟S3之后,還包括步驟S4 任意空閑CPU在報(bào)文處理循環(huán)鏈表上獲取需要處理的報(bào)文,判斷報(bào)文是否已經(jīng)被加解密芯片處理完畢如果沒有,則不做任何操作;否則獲取加解密后的報(bào)文并處理。
3.如權(quán)利要求I或2所述的方法,其特征在于,所述報(bào)文處理鏈表上的每個(gè)節(jié)點(diǎn)包括以下節(jié)點(diǎn)數(shù)據(jù)需要加解密處理的報(bào)文地址指針;加解密處理后的報(bào)文地址指針;需要對(duì)報(bào)文進(jìn)行的加解密類型信息;加解密使用的加解密密鑰;以及所述報(bào)文處理循環(huán)鏈表中下一個(gè)節(jié)點(diǎn)的位置。
4.如權(quán)利要求I所述的方法,其特征在于,所述步驟SI中,所述任一個(gè)CPU接收到所述報(bào)文后獲得報(bào)文對(duì)應(yīng)的加解密密鑰的步驟具體為 對(duì)于需要加密的報(bào)文任一個(gè)CPU通過配置的安全聯(lián)盟隧道數(shù)據(jù)匹配規(guī)則對(duì)報(bào)文進(jìn)行匹配,在匹配成功后獲得匹配成功的安全聯(lián)盟隧道; 對(duì)于需要解密的報(bào)文任一個(gè)CPU根據(jù)報(bào)文的三元組信息找到相應(yīng)的安全聯(lián)盟,并取出所述安全聯(lián)盟中對(duì)應(yīng)的解密密鑰。
5.如權(quán)利要求3所述的方法,其特征在于,所述步驟SI中,所述CPU將所述報(bào)文及對(duì)應(yīng)的加解密密鑰按序放入所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上的步驟具體為所述CPU獲取當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn),并根據(jù)報(bào)文的地址、加解密密鑰、以及需要進(jìn)行的加解密類型完善獲取的節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)數(shù)據(jù)。
6.如權(quán)利要求3所述的方法,其特征在于,所述步驟S2中所述CPU獲取空閑的加解密芯片的步驟具體為所述CPU獲取當(dāng)前處理加解密數(shù)據(jù)的加解密芯片的序號(hào)+1后除以加解密芯片的總數(shù)再取余,得到空閑的加解密芯片的序號(hào)。
7.如權(quán)利要求3所述的方法,其特征在于,所述步驟S3具體為 加解密芯片獲取節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)數(shù)據(jù)中需要加解密處理的報(bào)文地址指針、加解密密鑰以及需要進(jìn)行的加解密類型,根據(jù)這些節(jié)點(diǎn)數(shù)據(jù)對(duì)報(bào)文進(jìn)行加解密處理后,將處理后的報(bào)文放入節(jié)點(diǎn)數(shù)據(jù)中加解密處理后的報(bào)文地址指針?biāo)傅牡刂分小?br> 8.一種多加解密芯片并行處理報(bào)文加解密的保序系統(tǒng),其特征在于,包括 報(bào)文處理循環(huán)鏈表設(shè)置模塊,用于設(shè)置報(bào)文處理循環(huán)鏈表; 多核CPU,用于在接收到報(bào)文后獲得所述報(bào)文對(duì)應(yīng)的加解密密鑰,并將所述報(bào)文及對(duì)應(yīng)的加解密密鑰按序放入所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上;獲取空閑的加解密芯片,并將對(duì)應(yīng)報(bào)文交給所述加解密芯片; 加解密芯片,用于讀取報(bào)文對(duì)應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù),根據(jù)報(bào)文需要進(jìn)行的加解密類型對(duì)報(bào)文進(jìn)行加解密處理后,將報(bào)文放回到所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上。
全文摘要
本發(fā)明公開了一種多加解密芯片并行處理報(bào)文加解密的保序方法,包括以下步驟S1設(shè)置報(bào)文處理循環(huán)鏈表,任一個(gè)CPU接收到報(bào)文后獲得所述報(bào)文對(duì)應(yīng)的加解密密鑰,并將所述報(bào)文及對(duì)應(yīng)的加解密密鑰按序放入所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上;S2所述CPU獲取空閑的加解密芯片,并將對(duì)應(yīng)報(bào)文交給所述加解密芯片;S3加解密芯片讀取報(bào)文對(duì)應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù),根據(jù)報(bào)文需要進(jìn)行的加解密類型對(duì)報(bào)文進(jìn)行加解密處理后,將報(bào)文放回到所述報(bào)文處理循環(huán)鏈表相應(yīng)的節(jié)點(diǎn)上。本發(fā)明還公開了一種實(shí)現(xiàn)上述保序方法的保序系統(tǒng)。本發(fā)明在多個(gè)加解密芯片同時(shí)進(jìn)行報(bào)文加解密處理時(shí)也能保證報(bào)文的順序,防止出現(xiàn)報(bào)文發(fā)送時(shí)的亂序現(xiàn)象。
文檔編號(hào)H04L9/18GK102932141SQ20121036656
公開日2013年2月13日 申請(qǐng)日期2012年9月27日 優(yōu)先權(quán)日2012年9月27日
發(fā)明者陳海濱 申請(qǐng)人:漢柏科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
主站蜘蛛池模板: 靖西县| 广宗县| 台东市| 罗甸县| 潼南县| 平顶山市| 金沙县| 册亨县| 莱西市| 鲁山县| 湖南省| 恩平市| 九寨沟县| 南部县| 蒙山县| 辉县市| 岢岚县| 塔城市| 达州市| 进贤县| 大港区| 潼南县| 观塘区| 宁乡县| 临夏市| 萝北县| 酒泉市| 湖南省| 聂拉木县| 恩施市| 台南县| 莒南县| 巴马| 大石桥市| 边坝县| 肥东县| 西乡县| 汾阳市| 广宁县| 水城县| 禄丰县|