專利名稱:一種ike協(xié)商處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技木,尤其涉及ー種IKE協(xié)商處理方法及裝置。
背景技術(shù):
VPN (Virtual Private Network :虛擬專用網(wǎng))被定義為通過一個(gè)公用網(wǎng)絡(luò)(通常是因特網(wǎng))建立一個(gè)臨時(shí)的、安全的連接,是一條穿過混亂的公用網(wǎng)絡(luò)的安全、穩(wěn)定的隧道。虛擬專用網(wǎng)是對(duì)企業(yè)公司分支機(jī)構(gòu)、商業(yè)伙伴及供應(yīng)商同公司的內(nèi)部網(wǎng)建立可信的安全連接,并保證數(shù)據(jù)的安全傳輸。IPSec (Internet Protocol Security, Internet 協(xié)議安全性)是一種開放標(biāo)準(zhǔn)的框架結(jié)構(gòu),通過使用加密的安全服務(wù)以確保在IP網(wǎng)絡(luò)上進(jìn)行保密而安全的通訊。IPSec協(xié)議不是ー個(gè)単獨(dú)的協(xié)議,它給出了應(yīng)用于IP層上網(wǎng)絡(luò)數(shù)據(jù)安全的一整套體系結(jié)構(gòu),包括 網(wǎng)絡(luò)認(rèn)證協(xié)議 Authentication Header (AH)、封裝安全載荷協(xié)議 Encapsulating SecurityPayload (ESP)、密鑰管理協(xié)議Internet Key Exchange (IKE)和用于網(wǎng)絡(luò)認(rèn)證及加密的一些算法等。IPSec規(guī)定了如何在對(duì)等層之間選擇安全協(xié)議、確定安全算法和密鑰交換,向上提供了訪問控制、數(shù)據(jù)源認(rèn)證、數(shù)據(jù)加密等網(wǎng)絡(luò)安全服務(wù)?,F(xiàn)有的RFC標(biāo)準(zhǔn)規(guī)定采用UDP方式,通過知名端ロ號(hào)500和4500進(jìn)行IKE (互聯(lián)網(wǎng)密鑰交換協(xié)議)協(xié)商,協(xié)商采用的報(bào)文格式是ISAKMP (Internet Security Associationand Key Management Protocol,互聯(lián)網(wǎng)安全關(guān)聯(lián)和密鑰管理協(xié)議)。其中IKE協(xié)議負(fù)責(zé)密鑰管理,定義了通信實(shí)體間進(jìn)行身份認(rèn)證、協(xié)商加密算法以及生成共享的會(huì)話密鑰的方法。IKE將密鑰協(xié)商的結(jié)果保留在安全聯(lián)盟(SA)中,供AH (Authentication Header,認(rèn)證頭)和ESP (Encapsulating Security Payload,封裝安全載荷)以后通信時(shí)使用。IKE協(xié)商過程分為兩個(gè)階段,其中第一階段又有兩種模式主模式和積極模式(也稱為野蠻模式),第一階段協(xié)商的目的建立IKE SA,建立驗(yàn)證過的密鑰是其他交換的前提條件。第二階段為快速模式,為IPSec協(xié)商安全服務(wù),建立IPSec SA,為真正的應(yīng)用數(shù)據(jù)通信提供保護(hù)。實(shí)際使用中,大多數(shù)情況是采用主模式和快速模式來進(jìn)行IKE協(xié)商的,而這樣協(xié)商一次的過程,對(duì)于發(fā)起方和響應(yīng)方,至少需要9個(gè)UDP報(bào)文來才能完成,其中第一階段主模式需要6個(gè)UDP報(bào)文,第二階段快速模式需要3個(gè)UDP報(bào)文。在現(xiàn)有的計(jì)算機(jī)程序?qū)崿F(xiàn)方案中,實(shí)現(xiàn)IKE協(xié)商通常是使用套接ロ編程,通過創(chuàng)建UDP數(shù)據(jù)報(bào)類型的套接ロ監(jiān)聽端ロ500和端ロ 4500,接收和發(fā)送IKE協(xié)商各階段的報(bào)文,實(shí)現(xiàn)IPSec VPN功能。然而UDP套接ロ編程,在現(xiàn)有的IKE實(shí)現(xiàn)中,一般都是只有單個(gè)進(jìn)程來收發(fā)IKE協(xié)商報(bào)文。作為協(xié)商的雙方,本端和對(duì)端都是單個(gè)進(jìn)程,既要收發(fā)報(bào)文,還對(duì)報(bào)文進(jìn)行具體的操作處理等。如前所述,一個(gè)完整的主模式和快速模式協(xié)商至少需要9個(gè)UDP報(bào)文,全部都由單個(gè)進(jìn)程來處理。在雙方之間配置的連接數(shù)比較少的情況下,單個(gè)進(jìn)程還是可以勝任。但是如果在大中型的網(wǎng)絡(luò)中,IKE組網(wǎng)也大多是星型組網(wǎng),由ー個(gè)中心網(wǎng)關(guān)和多個(gè)分支網(wǎng)關(guān)來組成星型拓?fù)浣Y(jié)構(gòu)。每個(gè)分支和中心之間又可能會(huì)按業(yè)務(wù)需要,建立多條隧道。為了保證隧道的安全,IKE還有超時(shí)機(jī)制,每過幾個(gè)小時(shí)重新協(xié)商新的隧道等。處于中心網(wǎng)關(guān)位置的IPSec,其性能要求必須非常高,IKE協(xié)商速度要快,協(xié)商后的加解密速度也要快,才能保證整個(gè)網(wǎng)絡(luò)中通信數(shù)據(jù)的安全可靠。而分支越多,由單個(gè)進(jìn)程在中心來處理IKE協(xié)商的弊端性也將越凸顯。此外,在IPSec VPN的C/S模式下,即用戶通過在PC或者手機(jī)等移動(dòng)設(shè)備上的IPSec VPN客戶端連接中心網(wǎng)關(guān),當(dāng)大量用戶在某些時(shí)間段因?yàn)楣ぷ髟蚨紟缀跬瑫r(shí)連接進(jìn)來的時(shí)候,IPSec VPN中心面臨IKE協(xié)商的高峰,如果協(xié)商速度不夠快,將直接影響用戶工作使用和體驗(yàn)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供ー種IKE協(xié)商處理裝置,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,包括監(jiān)聽收發(fā)單元以及多個(gè)IKE處理單元;其中監(jiān)聽收發(fā)單元,用于偵聽預(yù)定的UDP接收端ロ以獲取IKE對(duì)端發(fā)送的IKE協(xié)商報(bào)文,并用于將IKE處理單元需要發(fā)送的IKE協(xié)商報(bào)文發(fā)送給IKE對(duì)端;
IKE處理單元,用于對(duì)接收到的IKE報(bào)文進(jìn)行IKE協(xié)商處理,并在需要發(fā)送IKE協(xié)商報(bào)文時(shí),將待發(fā)送的IKE協(xié)商報(bào)文提交給監(jiān)聽收發(fā)單元;其中該監(jiān)聽單元進(jìn)一步用于根據(jù)接收到的IKE協(xié)商報(bào)文的來源標(biāo)記查找報(bào)文分配表,如果找到與該來源標(biāo)記對(duì)應(yīng)的IKE處理單元,將該IKE協(xié)商報(bào)文分配給查找到的IKE處理單元;如果沒有找到對(duì)應(yīng)的IKE處理單元?jiǎng)t按照預(yù)定規(guī)則從多個(gè)IKE處理單元中選擇ー個(gè),并將該IKE協(xié)商報(bào)文分配給被選擇到的IKE處理單元。本發(fā)明還提供ー種IKE協(xié)商處理方法,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,該方法包括以下步驟A、在主進(jìn)程上偵聽預(yù)定的UDP接收端ロ以獲取IKE對(duì)端發(fā)送的IKE協(xié)商報(bào)文,并用于將需要發(fā)送的IKE協(xié)商報(bào)文發(fā)送給IKE對(duì)端;B、在多個(gè)子進(jìn)程上分別對(duì)接收到的IKE報(bào)文進(jìn)行IKE協(xié)商處理,并在需要發(fā)送IKE協(xié)商報(bào)文吋,將待發(fā)送的IKE協(xié)商報(bào)文提交給主進(jìn)程;其中步驟A進(jìn)ー步包括根據(jù)接收到的IKE協(xié)商報(bào)文的來源標(biāo)記查找報(bào)文分配表,如果找到與該來源標(biāo)記對(duì)應(yīng)的子進(jìn)程,將該IKE協(xié)商報(bào)文分配給查找到的子進(jìn)程;如果沒有找到對(duì)應(yīng)的子進(jìn)程則按照預(yù)定規(guī)則從多個(gè)子進(jìn)程中選擇ー個(gè),并將該IKE協(xié)商報(bào)文分配給被選擇到的子進(jìn)程。本發(fā)明將IKE協(xié)商報(bào)文的監(jiān)聽與處理分離開來,使得系統(tǒng)能夠使用更多資源(t匕如多個(gè)進(jìn)程)來處理IKE協(xié)商過程,提高了系統(tǒng)對(duì)IKE協(xié)商的處理性能,能夠從容應(yīng)對(duì)突發(fā)的大量IKE協(xié)商的處理。
圖I是本發(fā)明ー種IKE協(xié)商裝置的邏輯結(jié)構(gòu)圖。圖2是本發(fā)明ー種IKE協(xié)商方法的框架圖。
具體實(shí)施例方式請(qǐng)參考圖I以及圖2,以計(jì)算機(jī)程序?qū)崿F(xiàn)為例來介紹本發(fā)明的實(shí)現(xiàn)。本發(fā)明ー種IKE協(xié)商處理裝置,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,包括監(jiān)聽收發(fā)單元以及多個(gè)IKE處理單元;其運(yùn)行過程中,一次收發(fā)IKE報(bào)文通常如下步驟
步驟101,監(jiān)聽收發(fā)單元偵聽預(yù)定的UDP接收端ロ以獲取IKE對(duì)端發(fā)送的IKE協(xié)商報(bào)文。步驟102,監(jiān)聽收發(fā)單元根據(jù)所述IKE協(xié)商報(bào)文的來源標(biāo)記查找報(bào)文分配表,如果找到與該來源標(biāo)記對(duì)應(yīng)的IKE處理單元,轉(zhuǎn)步驟103,否則轉(zhuǎn)步驟104 ;步驟103,將該IKE協(xié)商報(bào)文分配給查找到的IKE處理單元;步驟104,按照預(yù)定規(guī)則從多個(gè)IKE處理單元中選擇ー個(gè),并將該IKE協(xié)商報(bào)文分配給被選擇到的IKE處理單元;步驟105,IKE處理單元對(duì)接收到的IKE報(bào)文進(jìn)行IKE協(xié)商處理,并在需要發(fā)送IKE協(xié)商報(bào)文吋,將待發(fā)送的IKE協(xié)商報(bào)文提交給監(jiān)聽收發(fā)單元;
步驟106,監(jiān)聽收發(fā)單元將待發(fā)送的IKE協(xié)商報(bào)文發(fā)送給IKE協(xié)商對(duì)端。
請(qǐng)參考圖2,在優(yōu)選的實(shí)施方式中,IKE處理單元是由作為主進(jìn)程的監(jiān)聽收發(fā)單元?jiǎng)?chuàng)建的子進(jìn)程,其中主進(jìn)程為每個(gè)子進(jìn)程分配一個(gè)子進(jìn)程標(biāo)識(shí)(ID),用來區(qū)分每個(gè)子進(jìn)程。如背景技術(shù)所述的那樣,作為中心網(wǎng)關(guān)的網(wǎng)絡(luò)設(shè)備可能連接到多個(gè)分支網(wǎng)關(guān)(比如I n)、手機(jī)客戶端(k、j)以及PC客戶端(m、g);這樣ー來中心網(wǎng)關(guān)上的IKE協(xié)商裝置需要同時(shí)處理大量的來源不同的IKE協(xié)商報(bào)文。本發(fā)明得益于分布式的業(yè)務(wù)處理模型,將監(jiān)聽與處理兩個(gè)業(yè)務(wù)處理過程分離來實(shí)現(xiàn)多進(jìn)程的處理模式,避免現(xiàn)有技術(shù)只能使用單進(jìn)程的限制,充分利用網(wǎng)絡(luò)設(shè)備上的處理資源。主進(jìn)程負(fù)責(zé)收發(fā)IKE協(xié)商報(bào)文,其中報(bào)文的接收是通過監(jiān)聽預(yù)定的UDP端ロ(通常是知名端ロ 500)來實(shí)現(xiàn)。主進(jìn)程收到協(xié)商報(bào)文之后,立刻查找報(bào)文分配表,初始的時(shí)候報(bào)文分配表是空白,其主要是記錄不同來源的協(xié)商報(bào)文與多個(gè)子進(jìn)程之間的對(duì)應(yīng)關(guān)系。請(qǐng)參考表1,以來源標(biāo)記為報(bào)文源IP地址為例,主進(jìn)程通過協(xié)商報(bào)文的源IP地址查找表1,如果不能命中任何一條表項(xiàng),則視為收到ー個(gè)新來源的IKE協(xié)商報(bào)文,或者可以理解為ー個(gè)新的IKE會(huì)話的首報(bào)文,此時(shí)主進(jìn)程可以按照預(yù)定規(guī)則從多個(gè)子進(jìn)程中選擇ー個(gè)子進(jìn)程來負(fù)責(zé)處理當(dāng)前IKE協(xié)商報(bào)文。主進(jìn)程可以采用輪詢算法或隨機(jī)算法等預(yù)定規(guī)則來選擇子進(jìn)程。
權(quán)利要求
1.ー種IKE協(xié)商處理裝置,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,包括監(jiān)聽收發(fā)單元以及多個(gè)IKE處理單元;其特征在于 監(jiān)聽收發(fā)單元,用于偵聽預(yù)定的UDP接收端ロ以獲取IKE對(duì)端發(fā)送的IKE協(xié)商報(bào)文,并用于將IKE處理單元需要發(fā)送的IKE協(xié)商報(bào)文發(fā)送給IKE對(duì)端; IKE處理單元,用于對(duì)接收到的IKE報(bào)文進(jìn)行IKE協(xié)商處理,并在需要發(fā)送IKE協(xié)商報(bào)文吋,將待發(fā)送的IKE協(xié)商報(bào)文提交給監(jiān)聽收發(fā)單元; 其中該監(jiān)聽單元進(jìn)一步用于根據(jù)接收到的IKE協(xié)商報(bào)文的來源標(biāo)記查找報(bào)文分配表,如果找到與該來源標(biāo)記對(duì)應(yīng)的IKE處理單元,將該IKE協(xié)商報(bào)文分配給查找到的IKE處理単元;如果沒有找到對(duì)應(yīng)的IKE處理單元?jiǎng)t按照預(yù)定規(guī)則從多個(gè)IKE處理單元中選擇ー個(gè),并將該IKE協(xié)商報(bào)文分配給被選擇到的IKE處理單元。
2.如權(quán)利要求I所述的裝置,其特征在于,所述來源標(biāo)記為IKE協(xié)商報(bào)文的源IP地址。
3.如權(quán)利要求I所述的裝置,其特征在于,所述監(jiān)聽收發(fā)單元為主進(jìn)程,所述IKE處理単元為所述主進(jìn)程創(chuàng)建的子進(jìn)程。
4.如權(quán)利要求3所述的裝置,其特征在于,其中至少兩個(gè)子進(jìn)程綁定在不同的CPU內(nèi)核上。
5.如權(quán)利要求3所述的裝置,其特征在干,所述監(jiān)聽收發(fā)單元進(jìn)ー步用于在所有子進(jìn)程的業(yè)務(wù)負(fù)載均達(dá)到預(yù)設(shè)上限且在查找報(bào)文分配表未找到對(duì)應(yīng)子進(jìn)程時(shí),創(chuàng)建新的子進(jìn)程來處理當(dāng)前接收到的IKE協(xié)商報(bào)文。
6.如權(quán)利要求I所述的裝置,其特征在于,所述IKE處理單元進(jìn)ー步用干與其他IKE處理單元共享虛擬IP地址池,并在需要分配虛擬IP地址時(shí),將分配給客戶端的虛擬IP地址標(biāo)記為已使用,在收回虛擬IP地址時(shí)將該虛擬IP地址標(biāo)記為可使用。
7.—種IKE協(xié)商處理方法,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,其特征在于,該方法包括以下步驟 A、在主進(jìn)程上偵聽預(yù)定的UDP接收端ロ以獲取IKE對(duì)端發(fā)送的IKE協(xié)商報(bào)文,并用于將需要發(fā)送的IKE協(xié)商報(bào)文發(fā)送給IKE對(duì)端; B、在多個(gè)子進(jìn)程上分別對(duì)接收到的IKE報(bào)文進(jìn)行IKE協(xié)商處理,并在需要發(fā)送IKE協(xié)商報(bào)文時(shí),將待發(fā)送的IKE協(xié)商報(bào)文提交給主進(jìn)程; 其中步驟A進(jìn)ー步包括主進(jìn)程根據(jù)接收到的IKE協(xié)商報(bào)文的來源標(biāo)記查找報(bào)文分配表,如果找到與該來源標(biāo)記對(duì)應(yīng)的子進(jìn)程,將該IKE協(xié)商報(bào)文分配給查找到的子進(jìn)程;如果沒有找到對(duì)應(yīng)的子進(jìn)程則按照預(yù)定規(guī)則從多個(gè)子進(jìn)程中選擇ー個(gè),并將該IKE協(xié)商報(bào)文分配給被選擇到的子進(jìn)程。
8.如權(quán)利要求I所述的方法,其特征在于,所述來源標(biāo)記為IKE協(xié)商報(bào)文的源IP地址。
9.如權(quán)利要求8所述的方法,其特征在于,其中至少兩個(gè)子進(jìn)程綁定在不同的CPU內(nèi)核上。
10.如權(quán)利要求7所述的方法,其特征在干,所述步驟A進(jìn)ー步包括在所有子進(jìn)程的業(yè)務(wù)負(fù)載均達(dá)到預(yù)設(shè)上限且在查找報(bào)文分配表未找到對(duì)應(yīng)子進(jìn)程時(shí),創(chuàng)建新的子進(jìn)程來處理當(dāng)前接收到的IKE協(xié)商報(bào)文。
11.如權(quán)利要求7所述的方法,其特征在于,所述步驟B進(jìn)ー步包括子進(jìn)程與其他子進(jìn)程共享虛擬IP地址池,并在需要分配虛擬IP地址時(shí),將分配給客戶端的虛擬IP地址標(biāo)記為已使用,在收回虛擬IP地址時(shí)將該虛擬IP地址標(biāo)記為可使用。
全文摘要
本發(fā)明提供一種IKE協(xié)商處理方法,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,包括在主進(jìn)程上偵聽UDP接收端口以獲取對(duì)端發(fā)送的IKE協(xié)商報(bào)文,并將需要發(fā)送的IKE協(xié)商報(bào)文發(fā)送給IKE對(duì)端;在多個(gè)子進(jìn)程上分別對(duì)接收到的IKE報(bào)文進(jìn)行IKE協(xié)商處理,子進(jìn)程需要發(fā)送IKE報(bào)文時(shí)將報(bào)文提交給主進(jìn)程;主進(jìn)程根據(jù)IKE協(xié)商報(bào)文的來源標(biāo)記查找報(bào)文分配表,如果找到對(duì)應(yīng)子進(jìn)程,則分配給該子進(jìn)程;否則按照預(yù)定規(guī)則從多個(gè)子進(jìn)程中選擇一個(gè)。本發(fā)明將IKE協(xié)商報(bào)文的監(jiān)聽與處理分離開來,使得系統(tǒng)能夠使用更多資源來處理IKE協(xié)商過程,提高了系統(tǒng)對(duì)IKE協(xié)商的處理性能,能夠從容應(yīng)對(duì)突發(fā)的大量IKE協(xié)商的處理。
文檔編號(hào)H04L29/06GK102761494SQ20121027208
公開日2012年10月31日 申請(qǐng)日期2012年8月1日 優(yōu)先權(quán)日2012年8月1日
發(fā)明者李志 申請(qǐng)人:杭州迪普科技有限公司