專利名稱:基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的vpn隧道實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其是一種基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的VPN隧道實(shí)現(xiàn)方法。
背景技術(shù):
IPSec是互聯(lián)網(wǎng)工程任務(wù)組制定的一個(gè)開放的IP層安全框架協(xié)議,為三層隧道協(xié)議。IPSec協(xié)議在網(wǎng)絡(luò)層工作,VPN虛擬專用網(wǎng)絡(luò)(Virtual Private Network ,簡稱VPN)設(shè)備之間利用IPsec協(xié)議建立安全隧道,對(duì)VPN設(shè)備間傳輸?shù)臄?shù)據(jù)提供機(jī)密性、完整性、數(shù)據(jù)源認(rèn)證和抗重放服務(wù)。虛擬網(wǎng)卡是運(yùn)行在操作系統(tǒng)內(nèi)核中的虛擬網(wǎng)絡(luò)設(shè)備,不同于普通硬件網(wǎng)卡,虛擬網(wǎng)卡全部用軟件實(shí)現(xiàn),向運(yùn)行于操作系統(tǒng)上的軟件提供與硬件網(wǎng)卡完全相同的功能。硬件網(wǎng)卡收到目的地址為虛擬網(wǎng)卡地址的網(wǎng)絡(luò)數(shù)據(jù)包,操作系統(tǒng)將把此數(shù)據(jù)包直接路由到本地IP協(xié)議棧。負(fù)載均衡網(wǎng)絡(luò)是實(shí)現(xiàn)負(fù)載分擔(dān)和網(wǎng)絡(luò)高冗余性的良好方式,最為常見實(shí)現(xiàn)負(fù)載均衡網(wǎng)絡(luò)是基于路由協(xié)議,OSPF(Open Shortest Path First開放式最短路徑優(yōu)先)等值路徑?;贗PSec隧道的兩臺(tái)及以上VPN設(shè)備部署在負(fù)載均衡網(wǎng)絡(luò)中,對(duì)經(jīng)過VPN設(shè)備并匹配IPSec SP (安全策略)的IP報(bào)文將進(jìn)行IPSec加解密處理,并封裝或者解封裝,導(dǎo)致原網(wǎng)絡(luò)數(shù)據(jù)包源和目的地址發(fā)生改變,原有路由針對(duì)新數(shù)據(jù)包無法生效,導(dǎo)致網(wǎng)絡(luò)負(fù)載均衡失效。當(dāng)前VPN設(shè)備適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的方法很多,一般情況下采用VPN設(shè)備借用后面保護(hù)網(wǎng)絡(luò)的一臺(tái)主機(jī)IP與遠(yuǎn)端VPN建立安全隧道。如果VPN設(shè)備借用的保護(hù)網(wǎng)絡(luò)中的那臺(tái)主機(jī)出現(xiàn)故障而下線,將導(dǎo)致出口路由器無法學(xué)習(xí)到該主機(jī)的MAC地址,從而導(dǎo)致出口路由器收到目的地址為該主 機(jī)地址的加密數(shù)據(jù)包,不能轉(zhuǎn)發(fā)給出口路由器后面的VPN設(shè)備。此外,因?yàn)閂PN設(shè)備收到的數(shù)據(jù)包的目的地址并非VPN設(shè)備自身,但需要處理目的地址為后端主機(jī)的加密數(shù)據(jù)包,需要VPN設(shè)備調(diào)整IP協(xié)議棧才能滿足上述方法應(yīng)用的要求。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的VPN隧道實(shí)現(xiàn)方法,解決上述VPN設(shè)備部署在負(fù)載均衡網(wǎng)絡(luò)中導(dǎo)致網(wǎng)絡(luò)負(fù)載均衡功能失效。為解決上述問題,本發(fā)明采用的技術(shù)方案為,一種基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的VPN隧道實(shí)現(xiàn)方法,包括以下步驟
(I)對(duì)負(fù)載均衡網(wǎng)絡(luò)中的兩臺(tái)及以上VPN設(shè)備的內(nèi)置虛擬網(wǎng)卡配置相同主機(jī)地址;
(2 )本端主VPN設(shè)備采用虛擬網(wǎng)卡地址與對(duì)端VPN設(shè)備進(jìn)行密鑰協(xié)商并建立IPSec SA,并把IPSec SA信息同步到本端的其它VPN設(shè)備;
(3 )當(dāng)對(duì)端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)與本端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)進(jìn)行網(wǎng)絡(luò)通信時(shí),對(duì)端VPN設(shè)備根據(jù)到本端VPN設(shè)備的IPSec SA信息對(duì)數(shù)據(jù)包進(jìn)行加密封裝后發(fā)送到本端網(wǎng)絡(luò);
(4)將加密封裝后的數(shù)據(jù)包發(fā)送到本端IP協(xié)議棧的傳輸層,由IP協(xié)議棧查找對(duì)應(yīng)路由并解密、解封裝后轉(zhuǎn)發(fā)到出口路由器或者出口交換機(jī)。優(yōu)選步驟所述的步驟(3)中VPN設(shè)備處理VPN數(shù)據(jù)具體流程如下當(dāng)本端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)與對(duì)端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)進(jìn)行網(wǎng)絡(luò)通信時(shí),本端VPN設(shè)備的交換機(jī)或者路由器根據(jù)其路由或者M(jìn)AC地址轉(zhuǎn)發(fā)表選擇對(duì)應(yīng)的鏈路上傳數(shù)據(jù)到該鏈路上部署的VPN設(shè)備,VPN設(shè)備根據(jù)數(shù)據(jù)包的目的地址、端口及傳輸協(xié)議查找安全策略庫,確認(rèn)此數(shù)據(jù)包命中的IPSec SP,再通過該IPSec SP在安全關(guān)聯(lián)庫中查找對(duì)應(yīng)的IPSec SA,隨后根據(jù)IPSec SA的工作模式和密鑰進(jìn)行加密封裝處理。優(yōu)選步驟所述的步驟(4)中具體流程如下本端IP協(xié)議棧根據(jù)目的IP地址、端口及傳輸層協(xié)議查找匹配的IPSec SA,得到正確的IPSec SP后,根據(jù)其IPSec SA的密鑰、處理模式對(duì)該加密封裝后的數(shù)據(jù)包進(jìn)行解密、解封裝,還原出原有數(shù)據(jù)包后發(fā)送到出口交換機(jī)或者出口路由器。優(yōu)選步驟步驟(I)中所述的相同主機(jī)地址是掩碼為32位的主機(jī)地址。優(yōu)選步驟步驟(I)在負(fù)載均衡網(wǎng)絡(luò)環(huán)境中部署4臺(tái)VPN設(shè)備,進(jìn)行虛擬網(wǎng)卡創(chuàng)建及配置虛擬網(wǎng)卡地址。優(yōu)選步驟所述的虛擬網(wǎng)卡地址配置為VPN設(shè)備保護(hù)業(yè)務(wù)網(wǎng)段的一臺(tái)設(shè)備主機(jī)地址。綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是本發(fā)明通過使用虛擬網(wǎng)卡和路由技術(shù)適應(yīng)負(fù)載均衡網(wǎng)絡(luò),不會(huì)存在因?yàn)閂PN設(shè)備借用后面保護(hù)網(wǎng)絡(luò)的主機(jī)因故障掉線導(dǎo)致網(wǎng)絡(luò)中斷現(xiàn)象,同時(shí)通過虛擬網(wǎng)卡的應(yīng)用,無需調(diào)整VPN設(shè)備的協(xié)議棧,大大降低了 VPN產(chǎn)品適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的開發(fā)難度,同時(shí)提高了 VPN設(shè)備的易用性,增強(qiáng)了 VPN設(shè)備的網(wǎng)絡(luò)適應(yīng)能力。
本發(fā)明將通過例子并參照附圖的方式說明,其中
圖1是本發(fā)明的原理框 圖2是本發(fā)明的部署結(jié)構(gòu)示意圖。
具體實(shí)施例方式本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只是一系列等效或類似特征中的一個(gè)例子而已。如圖1所示,表示VPN設(shè)備在收到加密數(shù)據(jù)包后的處理流程圖,數(shù)據(jù)包進(jìn)行路由查表后認(rèn)為數(shù)據(jù)包的目的地址 為虛擬網(wǎng)卡,協(xié)議棧把該數(shù)據(jù)包提交到本地IP協(xié)議棧進(jìn)行VPN解密及解封裝處理,處理完成后通過路由查表把新數(shù)據(jù)包通過真實(shí)網(wǎng)卡轉(zhuǎn)發(fā)出去。如圖2所示,本發(fā)明實(shí)施例提供的在負(fù)載均衡網(wǎng)絡(luò)環(huán)境下對(duì)部署的4臺(tái)VPN設(shè)備進(jìn)行虛擬網(wǎng)卡創(chuàng)建及配置虛擬網(wǎng)卡地址為業(yè)務(wù)網(wǎng)段VRRP協(xié)議虛擬地址,配置地址掩碼為32位。本端主VPN設(shè)備使用虛擬網(wǎng)卡地址與對(duì)端VPN設(shè)備建立IPSec SA (安全關(guān)聯(lián)),并把IPSec SP (安全策略)和安全關(guān)聯(lián)同步到本端網(wǎng)絡(luò)中的其它VPN設(shè)備。將業(yè)務(wù)服務(wù)器的外出數(shù)據(jù)包發(fā)送給交換機(jī),交換機(jī)根據(jù)其本身的路由信息和鏈路情況選擇對(duì)應(yīng)鏈路進(jìn)行發(fā)送;
出口路由器收到對(duì)端VPN設(shè)備發(fā)送過來的數(shù)據(jù)包,因?qū)Χ薞PN設(shè)備與虛擬網(wǎng)卡地址(業(yè)務(wù)網(wǎng)段的VRRP協(xié)議虛擬地址)建立的安全關(guān)聯(lián),此數(shù)據(jù)包的目的為業(yè)務(wù)網(wǎng)段地址。出口路由器上存到此網(wǎng)段的路由,因此出口路由器將根據(jù)其路由表信息和到目的地址所有鏈路的負(fù)載情況動(dòng)態(tài)選擇鏈路進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。VPN設(shè)備的接入不損壞原有業(yè)務(wù)網(wǎng)絡(luò)的路由信息表,不會(huì)改變原有數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸?shù)穆窂?,原有網(wǎng)絡(luò)的負(fù)載均衡功能沒有遭受破壞,大大提供VPN設(shè)備的易用性和網(wǎng)絡(luò)適應(yīng)能力。
在負(fù)載均衡網(wǎng)絡(luò)中的多臺(tái)VPN設(shè)備內(nèi)置虛擬網(wǎng)卡配置相同的32位掩碼的主機(jī)地址,此地址配置為VPN設(shè)備保護(hù)業(yè)務(wù)網(wǎng)段的一臺(tái)設(shè)備主機(jī)地址。本端的主VPN設(shè)備采用虛擬網(wǎng)卡地址與對(duì)端VPN設(shè)備進(jìn)行密鑰協(xié)商成功建立安全關(guān)聯(lián)(Security Association, SA),并把IPSec SA信息同步到本端的其它VPN設(shè)備,保證本端所有部署在負(fù)載均衡網(wǎng)絡(luò)中VPN設(shè)備的IPSec SA信息一致。當(dāng)本端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)與對(duì)端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)進(jìn)行網(wǎng)絡(luò)通信時(shí),本端VPN設(shè)備后端的交換機(jī)或者路由器根據(jù)其路由或者M(jìn)AC地址轉(zhuǎn)發(fā)表選擇對(duì)應(yīng)的鏈路上傳數(shù)據(jù)到該鏈路上部署的VPN設(shè)備,VPN設(shè)備根據(jù)數(shù)據(jù)包的目的地址、端口及傳輸協(xié)議查找安全策略庫(Security Policy Database, SH)),確認(rèn)此數(shù)據(jù)包命中安全策略后(Security Policy, SP),再通過該IPSec SP (安全策略)在安全關(guān)聯(lián)庫(SecurityAssociation Database, SAD)中查找對(duì)應(yīng)的IPSec SA,隨后根據(jù)IPSec SA的工作模式、密鑰等進(jìn)行加密封裝處理,最后將處理后的新數(shù)據(jù)包發(fā)送到IP協(xié)議棧的傳輸層,由IP協(xié)議棧查找對(duì)應(yīng)路由并轉(zhuǎn)發(fā)到出口路由器或者出口交換機(jī)。當(dāng)對(duì)端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)與本端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)進(jìn)行網(wǎng)絡(luò)通信時(shí),對(duì)端VPN設(shè)備根據(jù)到本端VPN設(shè)備的IPSec SA信息對(duì)數(shù)據(jù)包進(jìn)行加密封裝后發(fā)送到本端網(wǎng)絡(luò)。由于數(shù)據(jù)包的目的地址為VPN設(shè)備所保護(hù)網(wǎng)段的主機(jī)地址,對(duì)于本端網(wǎng)絡(luò)的出口路由器來講,達(dá)到此主機(jī)地址的路由權(quán)值相同,出口路由器只需要根據(jù)可達(dá)目的地址的所有鏈路中結(jié)合鏈路的負(fù)載情況,選擇其中的一條鏈路把數(shù)據(jù)包轉(zhuǎn)發(fā)出去,達(dá)到對(duì)應(yīng)鏈路的VPN設(shè)備上。接入鏈路中的所有VPN設(shè)備的虛擬網(wǎng)卡地址掩碼為32位,操作系統(tǒng)不存在此虛擬網(wǎng)卡的外出路由,VPN設(shè)備則不會(huì)對(duì)其所在網(wǎng)絡(luò)發(fā)送ARP廣播,不會(huì)對(duì)所在網(wǎng)絡(luò)產(chǎn)生任何影響。VPN設(shè)備處理VPN數(shù)據(jù)流程如下
1、由于此以太網(wǎng)數(shù)據(jù)包的目的地址并不是VPN設(shè)備的物理網(wǎng)卡的網(wǎng)絡(luò)地址,因此數(shù)據(jù)包在從VPN設(shè)備的物理網(wǎng)卡收到IP層協(xié)議棧中將進(jìn)行路由查表;
2、在IP協(xié)議棧路由表中,存在該數(shù)據(jù)包的目的地址為虛擬網(wǎng)卡的路由。于是該數(shù)據(jù)包將自動(dòng)路由到VPN設(shè)備本地協(xié)議棧;
3、VPN設(shè)備本地協(xié)議棧根據(jù)該數(shù)據(jù)包的協(xié)議號(hào),調(diào)用IPSec協(xié)議棧對(duì)報(bào)文進(jìn)行處理;4、VPN設(shè)備將根據(jù)該數(shù)據(jù)包的協(xié)議號(hào)、端口號(hào)等在SAD中查找對(duì)應(yīng)的SA信息;
5、VPN設(shè)備根據(jù)SA信息對(duì)該數(shù)據(jù)包進(jìn)行解封裝、認(rèn)證、解密服務(wù);
6、新數(shù)據(jù)包提交到IP協(xié)議棧,IP協(xié)議棧進(jìn)行路由查找后進(jìn)行轉(zhuǎn)發(fā)到交換機(jī)或者路由器,最終達(dá)到本端VPN設(shè)備所保護(hù)的業(yè)務(wù)主機(jī)。本 發(fā)明并不局限于前述的具體實(shí)施方式
。本發(fā)明擴(kuò)展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。
權(quán)利要求
1.一種基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的VPN隧道實(shí)現(xiàn)方法,其特征在于包括以下步驟 (I)對(duì)負(fù)載均衡網(wǎng)絡(luò)中的兩臺(tái)及以上VPN設(shè)備的內(nèi)置虛擬網(wǎng)卡配置相同主機(jī)地址; (2 )本端主VPN設(shè)備采用虛擬網(wǎng)卡地址與對(duì)端VPN設(shè)備進(jìn)行密鑰協(xié)商并建立IPSec SA,并把IPSec SA信息同步到本端的其它VPN設(shè)備; (3 )當(dāng)對(duì)端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)與本端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)進(jìn)行網(wǎng)絡(luò)通信時(shí),對(duì)端VPN設(shè)備根據(jù)到本端VPN設(shè)備的IPSec SA信息對(duì)數(shù)據(jù)包進(jìn)行加密封裝后發(fā)送到本端網(wǎng)絡(luò); (4)將加密封裝后的數(shù)據(jù)包發(fā)送到本端IP協(xié)議棧的傳輸層,由IP協(xié)議棧查找對(duì)應(yīng)路由并解密、解封裝后轉(zhuǎn)發(fā)到出口路由器或者出口交換機(jī)。
2.根據(jù)權(quán)利要求1所述的一種基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的VPN隧道實(shí)現(xiàn)方法,其特征在于 所述的步驟(3)中VPN設(shè)備處理VPN數(shù)據(jù)具體流程如下當(dāng)本端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)與對(duì)端VPN設(shè)備保護(hù)的業(yè)務(wù)主機(jī)進(jìn)行網(wǎng)絡(luò)通信時(shí),本端VPN設(shè)備的交換機(jī)或者路由器根據(jù)其路由或者M(jìn)AC地址轉(zhuǎn)發(fā)表選擇對(duì)應(yīng)的鏈路上傳數(shù)據(jù)到該鏈路上部署的VPN設(shè)備,VPN設(shè)備根據(jù)數(shù)據(jù)包的目的地址、端口及傳輸協(xié)議查找安全策略庫,確認(rèn)此數(shù)據(jù)包命中的IPSecSP,再通過該IPSec SP在安全關(guān)聯(lián)庫中查找對(duì)應(yīng)的IPSec SA,隨后根據(jù)IPSec SA的工作模式和密鑰進(jìn)行加密封裝處理。
3.根據(jù)權(quán)利要求1所述的一種基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的VPN隧道實(shí)現(xiàn)方法,其特征在于 所述的步驟(4)中具體流程如下本端IP協(xié)議棧根據(jù)目的IP地址、端口及傳輸層協(xié)議查找匹配的IPSec SA,得到正確的IPSec SP后,根據(jù)其IPSec SA的密鑰、處理模式對(duì)該加密封裝后的數(shù)據(jù)包進(jìn)行解密、解封裝,還原出原有數(shù)據(jù)包后發(fā)送到出口交換機(jī)或者出口路由器。
4.根據(jù)權(quán)利要求1或2或3所述的一種基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的VPN隧道實(shí)現(xiàn)方法,其特征在于步驟(I)中所述的相同主機(jī)地址是掩碼為32位的主機(jī)地址。
5.根據(jù)權(quán)利要求4所述的一種基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的VPN隧道實(shí)現(xiàn)方法,其特征在于步驟(I)在負(fù)載均衡網(wǎng)絡(luò)環(huán)境中部署4臺(tái)VPN設(shè)備,進(jìn)行虛擬網(wǎng)卡創(chuàng)建及配置虛擬網(wǎng)卡地址。
6.根據(jù)權(quán)利要求5所述的一種基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的VPN隧道實(shí)現(xiàn)方法,其特征在于所述的虛擬網(wǎng)卡地址配置為VPN設(shè)備保護(hù)業(yè)務(wù)網(wǎng)段的一臺(tái)設(shè)備主機(jī)地址。
全文摘要
本發(fā)明公開了一種基于虛擬網(wǎng)卡適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的VPN隧道實(shí)現(xiàn)方法,涉及數(shù)據(jù)通信領(lǐng)域,包括以下步驟(1)對(duì)負(fù)載均衡網(wǎng)絡(luò)中的兩臺(tái)及以上VPN設(shè)備的內(nèi)置虛擬網(wǎng)卡配置相同主機(jī)地址;(2)本端主VPN設(shè)備采用虛擬網(wǎng)卡地址與對(duì)端VPN設(shè)備進(jìn)行密鑰協(xié)商并建立IPSecSA,并把IPSecSA信息同步到本端的其它VPN設(shè)備;(3)對(duì)端VPN設(shè)備根據(jù)到本端VPN設(shè)備的IPSecSA信息對(duì)數(shù)據(jù)包進(jìn)行加密封裝后發(fā)送到本端網(wǎng)絡(luò)。本發(fā)明通過使用虛擬網(wǎng)卡和路由技術(shù)適應(yīng)負(fù)載均衡網(wǎng)絡(luò),大大降低了VPN產(chǎn)品適應(yīng)負(fù)載均衡網(wǎng)絡(luò)的開發(fā)難度,同時(shí)提高了VPN設(shè)備的易用性,增強(qiáng)了VPN設(shè)備的網(wǎng)絡(luò)適應(yīng)能力。
文檔編號(hào)H04L12/46GK103067290SQ20121050276
公開日2013年4月24日 申請日期2012年11月30日 優(yōu)先權(quán)日2012年11月30日
發(fā)明者傅勇, 羅俊, 胡川, 周強(qiáng) 申請人:成都衛(wèi)士通信息產(chǎn)業(yè)股份有限公司