專利名稱:一種ip安全業(yè)務(wù)的實(shí)現(xiàn)方法、裝置和通信設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬專用網(wǎng)技術(shù),尤其涉及一種IP安全業(yè)務(wù)的實(shí)現(xiàn)方法、裝置 和通信設(shè)備。
背景技術(shù):
虛擬專用網(wǎng)(Virtual Private Network, VPN)技術(shù)是指采用隧道技術(shù)以 及加解密、身份認(rèn)證等方法,在公眾網(wǎng)絡(luò)上構(gòu)建專用網(wǎng)絡(luò)的技術(shù)。VPN技術(shù)具有 節(jié)省成本、安全性高、擴(kuò)展性強(qiáng)、便于管理和實(shí)現(xiàn)全面控制等優(yōu)點(diǎn),是目前和 今后企業(yè)網(wǎng)絡(luò)發(fā)展的趨勢(shì)。
由Internet工程任務(wù)組(Internet Engineering Task Force, IETF)制定 的開放性Internet協(xié)議安全(IP Security , IPSec )標(biāo)準(zhǔn),是建造VPN的一 種較成熟的國(guó)際標(biāo)準(zhǔn)。IPSEC協(xié)議由鑒別首部(Authentication Header, AH) 協(xié)議、封裝安全有效載荷(Encapsulating Security Payload, ESP)協(xié)議、密 鑰交換協(xié)議(Internet Key Exchange, IKE)等組成,針對(duì)數(shù)據(jù)報(bào)文通過(guò)公共 網(wǎng)絡(luò)時(shí)的數(shù)據(jù)安全性、有效性、完整性、合法性等問(wèn)題,提出了的一套加密、 認(rèn)證等方案,提高了企業(yè)在使用公共網(wǎng)絡(luò)的安全性。
IPSec協(xié)議提供一種三層隧道協(xié)議,VPN技術(shù)利用IPSEC協(xié)議建立IPSEC隧道, 在IPSEC隧道中按照一定規(guī)則進(jìn)行數(shù)據(jù)保護(hù),而這種規(guī)則是基于訪問(wèn)控制列表 (Access Control List, ACL)實(shí)現(xiàn)的。ACL是由一系列的permi t和deny語(yǔ)句 構(gòu)成的規(guī)則列表,在VPN中這些規(guī)則主要通過(guò)數(shù)據(jù)包的源IP、目的IP、安全協(xié)議 號(hào)、源端口、目的端口五項(xiàng)數(shù)據(jù)進(jìn)行描述。
在應(yīng)用時(shí),ACL通過(guò)將這些規(guī)則與數(shù)據(jù)包進(jìn)行匹配,根據(jù)匹配結(jié)果,判斷哪 些數(shù)據(jù)包可以接收,哪些數(shù)據(jù)包需要拒絕,從而實(shí)現(xiàn)了包過(guò)濾防火墻、策略路 由、NAT、 QOS等功能。
現(xiàn)有技術(shù)給出了在集中式或單業(yè)務(wù)板的VPN環(huán)境中,將所有的數(shù)據(jù)包根據(jù) ACL,通過(guò)單個(gè)業(yè)務(wù)^反上的同一個(gè)CPU實(shí)現(xiàn)IPSEC業(yè)務(wù)的處理方法。
在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題現(xiàn)有 技術(shù)并未提供具有多CPU的高端VPN設(shè)備,實(shí)現(xiàn)IPSEC業(yè)務(wù)的處理方法。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中因無(wú)法對(duì)具有多CPU的高端VPN設(shè)備,實(shí)現(xiàn)IPSEC業(yè)
務(wù)帶來(lái)的問(wèn)題,本發(fā)明的實(shí)施例提供一種IP安全業(yè)務(wù)的實(shí)現(xiàn)方法、裝置和通信
設(shè)備,能夠在包含多個(gè)CPU的VPN設(shè)備中實(shí)現(xiàn)IPSEC業(yè)務(wù)。 為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案 一種IP安全業(yè)務(wù)的實(shí)現(xiàn)方法,該方法具體包括如下步驟 接口板根據(jù)接收到的IP報(bào)文,從至少兩個(gè)CPU中獲取對(duì)該IP報(bào)文進(jìn)行IP
安全I(xiàn)PSEC業(yè)務(wù)處理的第一 CPU;
所述第一 CPU對(duì)該IP報(bào)文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。 一種IP安全業(yè)務(wù)的實(shí)現(xiàn)裝置,包括第一CPU獲取單元和第一CPU;
其中,所述第一CPU獲取單元,用于根據(jù)接收到的IP報(bào)文,獲取對(duì)該IP報(bào)文
進(jìn)行IP安全I(xiàn)PSEC業(yè)務(wù)處理的第一 CPU;
所述第一 CPU,用于對(duì)該IP報(bào)文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。 一種通信設(shè)備,包括至少一個(gè)接口板和至少兩個(gè)CPU,
所述接口板,用于根據(jù)接收到的IP報(bào)文,獲取對(duì)該IP報(bào)文進(jìn)行IP安全I(xiàn)PSEC 業(yè)務(wù)處理的第一CPU;
所述第一 CPU,用于對(duì)該IP "^艮文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。 本發(fā)明實(shí)施例提供的技術(shù)方案,通過(guò)IP報(bào)文獲取實(shí)現(xiàn)該IP報(bào)文IPSEC業(yè) 務(wù)的第一 CPU,將IP才艮文對(duì)應(yīng)于相應(yīng)的CPU,由該CPU實(shí)現(xiàn)對(duì)該IP才艮文的IPSEC 業(yè)務(wù),利用不同的CPU實(shí)現(xiàn)了 IP報(bào)文的負(fù)載分流,解決了現(xiàn)有技術(shù)中因無(wú)法對(duì) 具有多CPU的高端VPN設(shè)備,實(shí)現(xiàn)IPSEC業(yè)務(wù)帶來(lái)的問(wèn)題,從而能夠在包含多 個(gè)CPU的VPN設(shè)備中實(shí)現(xiàn)IPSEC業(yè)務(wù)。
圖1為本發(fā)明實(shí)施例一4是供的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法流程圖; 圖2為本發(fā)明實(shí)施例二提供的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法流程圖3為本發(fā)明實(shí)施例二提供的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法示意圖; 圖4為本發(fā)明實(shí)施例三提供的IP安全業(yè)務(wù)的實(shí)現(xiàn)裝置示意圖; 圖5為本發(fā)明實(shí)施例四提供的通信設(shè)備結(jié)構(gòu)示意圖; 圖6為本發(fā)明實(shí)施例四提供的通信設(shè)備工作流程示意圖。
具體實(shí)施例方式
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將結(jié)合附圖對(duì)本發(fā)明的 實(shí)施例進(jìn)行詳細(xì)的介紹,下面的描述僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域 普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些實(shí)施例 獲得本發(fā)明的其他的實(shí)施方式。
本發(fā)明實(shí)施例提供了一種IP安全業(yè)務(wù)的實(shí)現(xiàn)方法、裝置和通信設(shè)備,能夠 在多業(yè)務(wù)板中實(shí)現(xiàn)IPSEC業(yè)務(wù)。
本發(fā)明實(shí)施例一提供的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法,包括至少兩個(gè)CPU,如圖 1所示,該方法具體包括如下步驟
步驟11、接口板根據(jù)接收到的IP報(bào)文,從至少兩個(gè)CPU中獲取對(duì)該IP報(bào) 文進(jìn)行IP安全I(xiàn)PSEC業(yè)務(wù)處理的第一 CPU;
步驟12、所述第一 CPU對(duì)該IP l艮文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。
本發(fā)明實(shí)施例一提供的技術(shù)方案,通過(guò)IP報(bào)文獲取實(shí)現(xiàn)該IP報(bào)文IPSEC 業(yè)務(wù)的第一CPU,將IP報(bào)文對(duì)應(yīng)于相應(yīng)的CPU,由該CPU實(shí)現(xiàn)對(duì)該IP報(bào)文的IPSEC 業(yè)務(wù),利用不同的CPU實(shí)現(xiàn)了 IP報(bào)文的負(fù)載分流,解決了現(xiàn)有技術(shù)中因無(wú)法對(duì) 具有多CPU的高端VPN設(shè)備,實(shí)現(xiàn)IPSEC業(yè)務(wù)帶來(lái)的問(wèn)題,從而能夠在包含多 個(gè)CPU的VPN設(shè)備中實(shí)現(xiàn)IPSEC業(yè)務(wù)。
下面對(duì)本發(fā)明實(shí)施例二^是供的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法進(jìn)行具體說(shuō)明。
在本發(fā)明實(shí)施例中采用了 "第一"、"第二"等字樣,用于對(duì)一條IP報(bào)文進(jìn) 行處理時(shí),起不同作用的CPU進(jìn)行區(qū)分,并不在數(shù)量上進(jìn)行限定。下文將對(duì)第 一 CPU和第二 CPU的具體功能進(jìn)行介紹。
作為VPN設(shè)備上的物理實(shí)體,下述的第一CPU和第二CPU并沒(méi)有實(shí)質(zhì)上的 區(qū)別,可以為業(yè)務(wù)板上的任一個(gè)CPU,以下皆同,不再贅述。
本發(fā)明實(shí)施例二提供的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法,包括至少兩個(gè)CPU,如圖 2所示,該方法具體包括如下步驟
步驟S1:接口板根據(jù)接收到的IP報(bào)文,從至少兩個(gè)CPU中獲取對(duì)該IP報(bào) 文進(jìn)行IP安全I(xiàn)PSEC業(yè)務(wù)處理的第一 CPU。
為了便于清楚說(shuō)明,在本發(fā)明實(shí)施例二中,如圖3所示,包括業(yè)務(wù)板一至 四,接口才反一和二, -f旦不限于此,可以包括一個(gè)業(yè)務(wù)^反,該業(yè)務(wù)^反上包括多個(gè) CPU;或者,也可以包括多個(gè)業(yè)務(wù)板,上述CPU分布于多個(gè)業(yè)務(wù)板之上,接口板 可以為一個(gè)或者多個(gè),下面以接口板一或接口板二作為上述IP報(bào)文的入口為例 進(jìn)行說(shuō)明,具體分為兩種情況
第一種情況上述IP報(bào)文為需加封裝的IP報(bào)文,具體包括
步驟S11:接口板根據(jù)所述需加封裝的IP報(bào)文,獲取第二CPU。
接口板一為上述需加封裝的IP報(bào)文(IP報(bào)文1)的入口,接口板一接收來(lái) 自數(shù)據(jù)發(fā)送客戶端的IP報(bào)文,該IP報(bào)文攜帶有IP報(bào)文數(shù)據(jù)發(fā)送客戶端和數(shù)據(jù) 接收客戶端的源和目的IP地址,在本發(fā)明實(shí)施例二中,接口板一根據(jù)該IP報(bào) 文中攜帶的源和目的IP地址獲取第二CPU,處理的方式如下
本發(fā)明實(shí)施例二首先對(duì)上述IP報(bào)文攜帶的源和目的IP地址進(jìn)行哈希 (HASH)變換,獲取上述IP報(bào)文的HASH索引值,優(yōu)選的,本發(fā)明實(shí)施例二采 用的HASH變換方法包括如下步驟
步驟S111、將上述的源IP地址(Souncelp)和目的IP地址(Destinationlp ) 之和右移16位,獲取第一參數(shù)Xl,即Xl= (Sou腦Ip+Destinationlp) □ 16;
將上述的Souncelp和Destinationlp之和與1進(jìn)行與運(yùn)算,獲取第二參數(shù) X2,即X2 = (Sourcelp+Destinationlp) & OxFFFF;
步驟S112、將上述第一參數(shù)X1和第二參數(shù)X2進(jìn)行或運(yùn)算,獲取第三參數(shù) X3,即X3 = X1八X2;
步驟S113、將上述第三參數(shù)X3右移1位,將移位后獲取的數(shù)值的后6位與 l進(jìn)行與運(yùn)算,獲取第四參數(shù)X4,即X4 = (X3〉〉l) & 0x3F。
將通過(guò)上述步驟Slll至S113獲取的第四參數(shù)X4,作為該IP報(bào)文的HASH 索引值。
然后,將上述IP報(bào)文的HASH索引值對(duì)應(yīng)于各業(yè)務(wù)板上不同的CPU,從而根 據(jù)上述需加封裝的IP報(bào)文,可以獲取到相應(yīng)的第二CPU。
上述獲取的HASH索引值,即第四參數(shù)的取值范圍通常為0至63,以圖3中 給出的四個(gè)業(yè)務(wù)板,每個(gè)業(yè)務(wù)板上包括兩個(gè)CPU為例說(shuō)明IP報(bào)文和第二業(yè)務(wù)板 的對(duì)應(yīng)關(guān)系。
可以采用多種方法將上述IP報(bào)文對(duì)應(yīng)于相應(yīng)的第二 CPU,從而根據(jù)上述IP 報(bào)文獲取業(yè)務(wù)板上的第二CPU,優(yōu)選的,本發(fā)明實(shí)施例二提供的方法如下
業(yè)務(wù)板上的每個(gè)CPU都可以作為第二CPU,將IP報(bào)文轉(zhuǎn)發(fā)至相應(yīng)的第一 CPU, 并且所轉(zhuǎn)發(fā)的IP報(bào)文的數(shù)據(jù)量也是任意的,為了充分利用分布式多業(yè)務(wù)板包含 多個(gè)CPU的優(yōu)勢(shì),提高IPSEC業(yè)務(wù)的處理效率,優(yōu)選的,本發(fā)明實(shí)施例二將HASH 索引值按照IP報(bào)文的數(shù)據(jù)量平均對(duì)應(yīng)于各CPU,為了便于理解,現(xiàn)簡(jiǎn)化說(shuō)明如 下
例如,為每個(gè)CPU設(shè)置一個(gè)編號(hào),當(dāng)網(wǎng)絡(luò)中需要處理的不同的IP報(bào)文共有 160條時(shí),根據(jù)該IP報(bào)文獲取到160個(gè)不同的HASH索引值,范圍處于為O至 63之間。四個(gè)業(yè)務(wù)板中包括了 8個(gè)CPU,對(duì)該CPU的編號(hào)為l至8,業(yè)務(wù)板一上 為CPU1和CPU2,業(yè)務(wù)板二上為CPU3和CPU4,業(yè)務(wù)板三上為CPU5和CPU6,業(yè) 務(wù)板四上為CPU7和CPU8。
可以將上述的取值范圍0至63平均分為8個(gè)子范圍,每個(gè)子范圍的取值范
圍依次為0至7, 8至15, 16至23, 24至31, 31至38, 39至46, 47至55, 56至63,將這8個(gè)子范圍對(duì)應(yīng)的HASH索引值分別對(duì)應(yīng)至CPU1至CPU8。
但不限于此,例如,當(dāng)某個(gè)范圍內(nèi)的HASH索引值對(duì)應(yīng)的IP報(bào)文較多時(shí), 若在上述的160條IP報(bào)文中,獲取到60條IP報(bào)文的HASH索引值取值范圍都 在24至31之間,則可將該范圍內(nèi)HASH索引值對(duì)應(yīng)的IP報(bào)文對(duì)應(yīng)在兩個(gè)或多 個(gè)CPU上,以保證充分利用每個(gè)CPU,提高VPN設(shè)備的數(shù)據(jù)處理性能。
當(dāng)接口板一接收到來(lái)自數(shù)據(jù)發(fā)送客戶端的IP報(bào)文,先根據(jù)該IP報(bào)文中的 源和目的IP,獲取該IP報(bào)文的HASH索引值,根據(jù)該HASH索引值通過(guò)上述的對(duì) 應(yīng)關(guān)系,即可獲取該IP報(bào)文對(duì)應(yīng)的第二CPU。 圖3中虛線所示為IP報(bào)文1,接口板一接收到該IP報(bào)文1后,對(duì)該IP報(bào) 文1的源和目的IP進(jìn)行HASH變換,獲得HASH索引值,利用該HASH索引值通 過(guò)上述的對(duì)應(yīng)關(guān)系獲取第二 CPU為業(yè)務(wù)板四上的CPU8,接口板一將該IP才艮文1 發(fā)送給CPU8。
步驟S12:所述第二CPU利用訪問(wèn)控制列表ACL對(duì)該IP報(bào)文進(jìn)行匹配,獲 取所述第一CPU。
第二CPU,用于將來(lái)自接口板的IP報(bào)文,進(jìn)行ACL匹配,匹配成功時(shí),將 該IP報(bào)文發(fā)送給實(shí)現(xiàn)IPSEC業(yè)務(wù)的CPU,該CPU即為第一CPU;匹配失敗時(shí), 將該IP報(bào)文發(fā)送給接口板,直接發(fā)送。其中,匹配失敗時(shí)的處理情況與本發(fā)明 關(guān)系不大,不再描述。
本發(fā)明實(shí)施例二利用了包括多個(gè)CPU的VPN設(shè)備,數(shù)據(jù)量處理能力強(qiáng)的特 點(diǎn),在多個(gè)CPU之間對(duì)IP報(bào)文采用了一種負(fù)載分流的技術(shù),即由上述第二CPU 將IP報(bào)文與預(yù)先設(shè)置的不同ACL數(shù)據(jù)進(jìn)行匹配,根據(jù)匹配結(jié)果,當(dāng)需要進(jìn)行 IPSEC業(yè)務(wù)處理時(shí),獲取執(zhí)行該IP報(bào)文對(duì)應(yīng)的IPSEC業(yè)務(wù)的CPU,該CPU即為該 IP報(bào)文的第一 CPU。對(duì)不需要進(jìn)行IPSEC業(yè)務(wù)處理的IP報(bào)文,直接將該IP報(bào)文 發(fā)送出去。
如圖3所示,第二 CPU ( CPU8 )將IP報(bào)文1與其上已配置的ACL數(shù)據(jù)進(jìn)行 匹配,根據(jù)匹配結(jié)果,可以判斷出該IP報(bào)文l是否需要進(jìn)行IPSEC業(yè)務(wù)處理, 當(dāng)需要進(jìn)行IPSEC業(yè)務(wù)處理時(shí),根據(jù)ACL的配置,能夠獲取出對(duì)該IP報(bào)文l進(jìn) 行IPSEC業(yè)務(wù)處理的第一 CPU。
上述ACL數(shù)據(jù)的配置可以由主控板來(lái)實(shí)現(xiàn)。
第二種情況、上述IP報(bào)文為需解封裝的IP報(bào)文,具體包括
步驟S13:對(duì)所述需解封裝的IP報(bào)文中攜帶的IPSEC隧道兩端的IP地址進(jìn) 行哈希變換,獲取哈希索引值;
仍以圖3所示為例進(jìn)行說(shuō)明,其中接口板二作為需解封裝的IP報(bào)文(IP報(bào) 文2)的入口,接口板二接收IP報(bào)文2,該IP報(bào)文2中封裝了 (包括ESP封裝 或/和AH封裝)其所處IP隧道兩端的IP地址。對(duì)該IP隧道兩端的IP地址進(jìn)
行哈希變換,獲取哈希索引值的方法參見(jiàn)上述步驟111至步驟113。 步驟S14:根據(jù)所述哈希索引值獲取所述第一CPU。
由于預(yù)先主控板對(duì)各CPU的數(shù)據(jù)配置,當(dāng)采用IP報(bào)文所處的IP隧道兩端 的地址作為上述HASH變換的源和目的地址時(shí),根據(jù)獲取到的HASH索引值可直 接獲取到實(shí)現(xiàn)該IP ^t艮文的IPSEC業(yè)務(wù)的第一 CPU。
下面對(duì)主控板預(yù)先對(duì)各CPU進(jìn)行數(shù)據(jù)配置的方法進(jìn)行說(shuō)明。在上述步驟SI 之前還包括
步驟SO:主控板預(yù)先對(duì)CPU進(jìn)行數(shù)據(jù)配置,包括
步驟SOI:主控板為所述IP報(bào)文分配相應(yīng)的第一 CPU;
在本發(fā)明實(shí)施例二中,主控板根據(jù)IP報(bào)文所處IP隧道兩端的地址為該IP 報(bào)文分配相應(yīng)的第一 CPU。上述IP報(bào)文包括需加封裝的IP "^艮文和需解封裝的 IP報(bào)文。
主控板對(duì)上述IP隧道兩端的地址進(jìn)行HASH變換,獲取哈希索引值,將所 述IP報(bào)文的哈希索引值對(duì)應(yīng)于所述CPU,具體方法參見(jiàn)上述步驟111至步驟113。 這種方法保證了處于同一 IP隧道的IP報(bào)文能被送至同一個(gè)CPU進(jìn)行IPSEC業(yè) 務(wù)處理,即對(duì)同一條IP隧道中的IP報(bào)文進(jìn)行加封裝和解封裝的處理的是同一 個(gè)CPU。
步驟S02:主控板對(duì)所述IP報(bào)文對(duì)應(yīng)的第一CPU進(jìn)行相應(yīng)的ACL配置,并 將實(shí)現(xiàn)該IP報(bào)文相應(yīng)IPSEC業(yè)務(wù)所需的數(shù)據(jù),發(fā)送給該第一CPU。
為IP報(bào)文分配完CPU之后,主控板根據(jù)IP報(bào)文與CPU的對(duì)應(yīng)關(guān)系,進(jìn)行 ACL配置,該ACL配置表明了處理同一IP隧道中的IP報(bào)文的第一CPU。主控板 將ACL數(shù)據(jù)配置廣播給業(yè)務(wù)板中的各CPU,同時(shí)將執(zhí)行相應(yīng)的IPSEC業(yè)務(wù)所需的 數(shù)據(jù)也發(fā)送給已確定的各相應(yīng)CPU。
由上所述,對(duì)于需加封裝的IP報(bào)文,首先由接口板根據(jù)其源和目的IP地 址獲取到第二CPU,該第二CPU根據(jù)主控板為其配置的ACL數(shù)據(jù),對(duì)該IP報(bào)文 進(jìn)行ACL匹配,根據(jù)匹配結(jié)果將該IP報(bào)文發(fā)送給第一CPU。由于主控板對(duì)CPU 進(jìn)行ACL數(shù)據(jù)配置時(shí),是根據(jù)IP報(bào)文所處IP隧道兩端的IP地址,并且對(duì)需解封裝的IP報(bào)文是直接根據(jù)IP隧道兩端的IP地址獲取第一 CPU,從而保證了對(duì)
同一條IP隧道中的IP報(bào)文進(jìn)行加封裝和解封裝的處理的是同一個(gè)CPU。
上述主控板進(jìn)行CPU分配,配置ACL及向CPU發(fā)送執(zhí)行相應(yīng)的IPSEC業(yè)務(wù) 所需的數(shù)據(jù)的步驟,可以根據(jù)IP報(bào)文的變化等因素,周期性的或根據(jù)需要發(fā)送 控制命令進(jìn)行,例如,當(dāng)報(bào)文的客戶端或服務(wù)器的IP地址發(fā)生了變動(dòng)、或有新 的IP報(bào)文需要進(jìn)行IPSEC業(yè)務(wù)處理時(shí),可以再次進(jìn)行上述配置等步驟。
如圖3所示,主控板通過(guò)數(shù)據(jù)流1,將上述ACL配置和執(zhí)行相應(yīng)的IPSEC業(yè) 務(wù)所需的數(shù)據(jù)發(fā)送給業(yè)務(wù)板一至四。
由上所述,第二CPU,即業(yè)務(wù)板四中的CPU8,將IP報(bào)文1與配置的ACL進(jìn) 行匹配,判斷出該IP報(bào)文1需要進(jìn)行加封裝的IPSEC業(yè)務(wù)處理,CPU8根據(jù)相應(yīng) 的IPSEC業(yè)務(wù)與處理該業(yè)務(wù)的CPU的對(duì)應(yīng)關(guān)系,找出進(jìn)行加封裝IPSEC業(yè)務(wù)處 理的CPU為業(yè)務(wù)板一上的CPU1,即該IP報(bào)文1的執(zhí)行CPU為CPUl。
步驟S2:所述第一 CPU對(duì)該IP報(bào)文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。
對(duì)于需加封裝的IP報(bào)文,該第一CPU對(duì)其進(jìn)行加封裝處理;對(duì)于需解封裝 的IP報(bào)文,該第一CPU對(duì)其進(jìn)行解封裝處理。
本發(fā)明實(shí)施例二通過(guò)采用負(fù)載分流技術(shù),使多個(gè)CPU分別承載不同的ACL 數(shù)據(jù)流和不同IP報(bào)文的IPSEC業(yè)務(wù)處理,并通過(guò)建立IP報(bào)文與處理該IP報(bào)文 的IPSEC業(yè)務(wù)的CPU的對(duì)應(yīng)關(guān)系,使各CPU對(duì)IP報(bào)文的數(shù)據(jù)處理處于一種均勻 的狀態(tài),并且保證了同一個(gè)CPU處理同一條IP隧道中的IP報(bào)文,提高了整機(jī) 的VPN業(yè)務(wù)處理性能,包括IPSEC每秒新建隧道數(shù)量,最大并發(fā)隧道數(shù)量,加 解密吞吐量等大大提升。
本發(fā)明實(shí)施例二提供的技術(shù)方案,通過(guò)IP報(bào)文獲取實(shí)現(xiàn)該IP報(bào)文IPSEC 業(yè)務(wù)的第一CPU,將IP才艮文對(duì)應(yīng)于相應(yīng)的CPU,由該CPU實(shí)現(xiàn)對(duì)該IP才艮文的IPSEC 業(yè)務(wù),利用不同的CPU實(shí)現(xiàn)了 IP報(bào)文的負(fù)載分流,解決了現(xiàn)有技術(shù)中因無(wú)法對(duì) 具有多CPU的高端VPN設(shè)備,實(shí)現(xiàn)IPSEC業(yè)務(wù)帶來(lái)的問(wèn)題,從而能夠在包含多 個(gè)CPU的VPN設(shè)備中實(shí)現(xiàn)IPSEC業(yè)務(wù)。
本發(fā)明實(shí)施例三還提供了一種IP安全業(yè)務(wù)的實(shí)現(xiàn)裝置,如圖4所示,包括第一CPU獲取單元41和第一CPU42;其中
所述第一CPU獲取單元41,用于根據(jù)接收到的IP報(bào)文,獲取對(duì)該IP報(bào)文 進(jìn)行IP安全I(xiàn)PSEC業(yè)務(wù)處理的第一 CPU,
所述第一 CPU42,用于對(duì)該IP"J艮文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。 所述IP報(bào)文包括需加封裝的IP報(bào)文和需解封裝的IP報(bào)文,當(dāng)該IP報(bào)文
為需解封裝的IP報(bào)文時(shí),所述第一CPU獲取單元41還包括
第二CPU獲取模塊,用于根據(jù)所述需加封裝的IP報(bào)文,獲取第二CPU,該
第二 CPU利用訪問(wèn)控制列表ACL對(duì)該IP報(bào)文進(jìn)行匹配,獲取所述第一 CPU。
當(dāng)該IP報(bào)文為需解封裝的IP報(bào)文,所述第一CPU獲取單元,還包括 計(jì)算模塊,用于對(duì)所述需解封裝的IP報(bào)文中攜帶的IPSEC隧道兩端的IP 地址進(jìn)行哈希變換,獲取p合希索引值;
獲取模塊,根據(jù)所述哈希索引值獲取所述第一CPU。
在本發(fā)明實(shí)施例三中,上述第一CPU獲取單元41可以由接口板實(shí)現(xiàn),上述 第一 CPU42可以為業(yè)務(wù)板上的任一 CPU。
本發(fā)明裝置實(shí)施例中各功能模塊的具體工作方式參見(jiàn)本發(fā)明方法實(shí)施例。
本發(fā)明實(shí)施例三提供的技術(shù)方案,通過(guò)IP報(bào)文獲取實(shí)現(xiàn)該IP報(bào)文IPSEC 業(yè)務(wù)的第一CPU,將IP報(bào)文對(duì)應(yīng)于相應(yīng)的CPU,由該CPU實(shí)現(xiàn)對(duì)該IP報(bào)文的IPSEC 業(yè)務(wù),利用不同的CPU實(shí)現(xiàn)了 IP報(bào)文的負(fù)載分流,解決了現(xiàn)有技術(shù)中因無(wú)法對(duì) 具有多CPU的高端VPN設(shè)備,實(shí)現(xiàn)IPSEC業(yè)務(wù)帶來(lái)的問(wèn)題,從而能夠在包含多 個(gè)CPU的VPN設(shè)備中實(shí)現(xiàn)IPSEC業(yè)務(wù)。
本發(fā)明實(shí)施例四還提供一種通信設(shè)備,如圖5所示,包括至少一個(gè)接口板 和至少兩個(gè)CPU,
所述接口板51,用于根據(jù)接收到的IP報(bào)文,獲取對(duì)該IP報(bào)文進(jìn)行IP安全 IPSEC業(yè)務(wù)處理的第一 CPU;
所述第一CPU52,用于對(duì)該IP報(bào)文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。 進(jìn)一步的,該通信設(shè)備還包括主控板53,用于為所述IP報(bào)文分配相應(yīng)的第一CPU;對(duì)所述IP報(bào)文對(duì)應(yīng) 的第一 CPU進(jìn)4亍相應(yīng)的ACL配置,并將實(shí)現(xiàn)該IP才艮文相應(yīng)IPSEC業(yè)務(wù)所需的凄t 據(jù),發(fā)送給該第一CPU。
上述CPU可以分布于一個(gè)業(yè)務(wù)板上或者多個(gè)業(yè)務(wù)板之上,第二 CPU和第一 CPU是對(duì)同一條IP隧道中的IP報(bào)文進(jìn)行處理時(shí),起不同作用的CPU,作為VPN 設(shè)備上的物理實(shí)體,上述第二CPU和執(zhí)行CPU并沒(méi)有實(shí)質(zhì)上的區(qū)別,可以為業(yè) 務(wù)板上的任一個(gè)CPU。
如圖6所示,本發(fā)明實(shí)施例提供的通信設(shè)備的工作流程示意圖,包括接口 板61和接口板62,主控板63,業(yè)務(wù)板64上包括CPU65,業(yè)務(wù)板66上包括CPU67。 但不限于此,例如,接口板的數(shù)量可以為一個(gè)或多個(gè),業(yè)務(wù)板的數(shù)量可以為多 個(gè)等。
主控板63對(duì)業(yè)務(wù)板61和業(yè)務(wù)板62進(jìn)行ACL數(shù)據(jù)的配置,接口板61接收 IP報(bào)文1,獲取到該IP報(bào)文1的第二 CPU為業(yè)務(wù)板64上的CPU65, CPU65根據(jù) ACL數(shù)據(jù)對(duì)該IP報(bào)文1進(jìn)行匹配,獲取到執(zhí)行該IP報(bào)文對(duì)應(yīng)的IPSEC業(yè)務(wù)(加 封裝)的執(zhí)行CPU為業(yè)務(wù)板66上的CPU67, CPU67對(duì)該IP報(bào)文1進(jìn)行加封裝后, 通過(guò)接口板62發(fā)送出去。
接口板62接收利用相同方式加封裝處理后的IP報(bào)文2,直接獲取到相應(yīng)的
執(zhí)行CPU67,將該IP報(bào)文2發(fā)送給該CPU67,該CPU67對(duì)IP報(bào)文2進(jìn)行解封裝
后通過(guò)接口板61發(fā)送出去。
上述通信設(shè)備中各功能實(shí)體的具體工作方式可參見(jiàn)本發(fā)明的方法實(shí)施例。 本發(fā)明實(shí)施例四提供的技術(shù)方案,通過(guò)IP報(bào)文獲取實(shí)現(xiàn)該IP報(bào)文IPSEC 業(yè)務(wù)的第一 CPU,將IP才艮文對(duì)應(yīng)于相應(yīng)的CPU,由該CPU實(shí)現(xiàn)對(duì)該IP才艮文的IPSEC 業(yè)務(wù),利用不同的CPU實(shí)現(xiàn)了 IP報(bào)文的負(fù)載分流,解決了現(xiàn)有技術(shù)中因無(wú)法對(duì) 具有多CPU的高端VPN設(shè)備,實(shí)現(xiàn)IPSEC業(yè)務(wù)帶來(lái)的問(wèn)題,從而能夠在包含多 個(gè)CPU的VPN設(shè)備中實(shí)現(xiàn)IPSEC業(yè)務(wù)。
通過(guò)程序指令相關(guān)硬件完成。所述實(shí)施例對(duì)應(yīng)的軟件可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可
存儲(chǔ)讀取的介質(zhì)中。
以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于 此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到 變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng) 以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1、一種IP安全業(yè)務(wù)的實(shí)現(xiàn)方法,其特征在于,包括如下步驟接口板根據(jù)接收到的IP報(bào)文,從至少兩個(gè)CPU中獲取對(duì)該IP報(bào)文進(jìn)行IP安全I(xiàn)PSEC業(yè)務(wù)處理的第一CPU;所述第一CPU對(duì)該IP報(bào)文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。
2、 根據(jù)權(quán)利要求1所述的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法,其特征在于,所述IP 報(bào)文包括需加封裝的IP報(bào)文,所述接口板根據(jù)接收到的IP報(bào)文,獲取對(duì)該IP "f艮文進(jìn)行IP安全I(xiàn)PSEC業(yè)務(wù)處理的第一 CPU包括所述接口板根據(jù)所述需加封裝的IP報(bào)文,獲取第二CPU;所述第二 CPU利用訪問(wèn)控制列表ACL對(duì)該IP報(bào)文進(jìn)行匹配,獲取所述第一CPU。
3、 根據(jù)權(quán)利要求2所述的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法,其特征在于,所述接 口板根據(jù)所述需加封裝的IP報(bào)文,獲取第二CPU包括對(duì)所述需加封裝的IP報(bào)文中攜帶的IP報(bào)文的源和目的IP地址進(jìn)行哈希變 換,獲取哈希索引值;根據(jù)所述哈希索引值獲取所述第二 CPU。
4、 根據(jù)權(quán)利要求1所述的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法,其特征在于,所述IP 報(bào)文包括需解封裝的IP報(bào)文,所述接口板根據(jù)接收到的IP報(bào)文,獲取對(duì)該IP 報(bào)文進(jìn)行IP安全I(xiàn)PSEC業(yè)務(wù)處理的第一 CPU包括對(duì)所述需解封裝的IP"I艮文中攜帶的IPSEC隧道兩端的IP地址進(jìn)行哈希變 換,獲取哈希索引值;根據(jù)所述哈希索引值獲取所述第一 CPU。
5、 根據(jù)權(quán)利要求1至4任一項(xiàng)所述的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法,其特征在 于,在所述接口板根據(jù)接收到的IP報(bào)文,獲取對(duì)該IP報(bào)文進(jìn)行IP安全I(xiàn)PSEC 業(yè)務(wù)處理的第一 CPU的步驟之前還包括主控板為所述IP報(bào)文分配相應(yīng)的第一 CPU;主控板對(duì)所述IP "^艮文對(duì)應(yīng)的第一 CPU進(jìn)行相應(yīng)的ACL配置,并將實(shí)現(xiàn)該IP 報(bào)文相應(yīng)IPSEC業(yè)務(wù)所需的數(shù)據(jù),發(fā)送給該第一CPU。
6、 根據(jù)權(quán)利要求5所述的IP安全業(yè)務(wù)的實(shí)現(xiàn)方法,其特征在于,所述主控板為所述IP報(bào)文分配相應(yīng)的第一 CPU包括對(duì)所述IP報(bào)文所處IPSEC隧道兩端的IP地址進(jìn)行哈希變換,獲取哈希索 引值;將所述IP報(bào)文的哈希索引值對(duì)應(yīng)于所述CPU。
7、 一種IP安全業(yè)務(wù)的實(shí)現(xiàn)裝置,其特征在于,包括第一CPU荻取單元 和第一CPU;其中所述第一 CPU獲取單元,用于根據(jù)接收到的IP報(bào)文,獲取對(duì)該IP報(bào)文進(jìn) 行IP安全I(xiàn)PSEC業(yè)務(wù)處理的第一 CPU;所述第一 CPU,用于對(duì)該IP報(bào)文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。
8、 根據(jù)權(quán)利要求7所述的IP安全業(yè)務(wù)的實(shí)現(xiàn)裝置,其特征在于,所述IP報(bào)文包括需加封裝的IP報(bào)文,所述第一CPU獲取單元包括第二CPU獲取模塊,用于根據(jù)所述需加封裝的IP報(bào)文,獲取第二CPU,該 第二CPU利用訪問(wèn)控制列表ACL對(duì)該IP報(bào)文進(jìn)行匹配,獲取所述第一CPU。
9、 根據(jù)權(quán)利要求7所述的IP安全業(yè)務(wù)的實(shí)現(xiàn)裝置,其特征在于,所述IP 報(bào)文包括需解封裝的IP報(bào)文,所述第一CPU獲取單元包括計(jì)算模塊,用于對(duì)所述需解封裝的IP報(bào)文中攜帶的IPSEC隧道兩端的IP 地址進(jìn)行哈希變換,獲取哈希索引值;獲取模塊,根據(jù)所述哈希索引值獲取所述第一CPU。
10、 一種通信設(shè)備,其特征在于,包括至少一個(gè)接口板和至少兩個(gè)CPU, 所述接口板,用于根據(jù)接收到的IP報(bào)文,獲取對(duì)該IP報(bào)文進(jìn)行IP安全I(xiàn)PSEC業(yè)務(wù)處理的第一CPU;所述第一CPU,用于對(duì)該IP^艮文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。
11、 根據(jù)權(quán)利要求IO所述的通信設(shè)備,其特征在于,還包括主控板,用于為所述IP^R文分配相應(yīng)的第一CPU;對(duì)所述IP報(bào)文對(duì)應(yīng)的第 一 CPU進(jìn)行相應(yīng)的ACL配置,并將實(shí)現(xiàn)該IP報(bào)文相應(yīng)IPSEC業(yè)務(wù)所需的數(shù)據(jù), 發(fā)送給該第一CPU。
全文摘要
本發(fā)明公開了一種IP安全業(yè)務(wù)的實(shí)現(xiàn)方法、裝置和通信設(shè)備,涉及虛擬專用網(wǎng)技術(shù),能夠在包含多個(gè)CPU的VPN設(shè)備中實(shí)現(xiàn)IPSEC業(yè)務(wù)。本發(fā)明實(shí)施例提供的技術(shù)方案包括接口板根據(jù)接收到的IP報(bào)文,從至少兩個(gè)CPU中獲取對(duì)該IP報(bào)文進(jìn)行IP安全I(xiàn)PSEC業(yè)務(wù)處理的第一CPU;所述第一CPU對(duì)該IP報(bào)文進(jìn)行相應(yīng)的IPSEC業(yè)務(wù)處理并發(fā)送。
文檔編號(hào)H04L29/06GK101345689SQ20081021218
公開日2009年1月14日 申請(qǐng)日期2008年9月10日 優(yōu)先權(quán)日2008年9月10日
發(fā)明者張日華, 朱志強(qiáng), 謝文輝 申請(qǐng)人:華為技術(shù)有限公司