專利名稱:混合網(wǎng)絡(luò)中實現(xiàn)移動vpn的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種實現(xiàn)移動VPN的技術(shù)。
背景技術(shù):
移動VPN(虛擬專用網(wǎng))是傳統(tǒng)VPN與移動技術(shù)相結(jié)合的新型VPN解決方案。支持VPN內(nèi)部的MN(移動節(jié)點)在外部網(wǎng)絡(luò)通過與VPN網(wǎng)關(guān)建立隧道與VPN內(nèi)部節(jié)點保持通信。IPsecVPN(IP網(wǎng)安全協(xié)議VPN)采用IPsec(IP網(wǎng)安全協(xié)議)作為隧道技術(shù)的安全保證實現(xiàn)VPN,從而可以為IP網(wǎng)絡(luò)中的隧道兩端通信節(jié)點提供很好的安全性,進而保證VPN業(yè)務(wù)的安全性。IPsec VPN結(jié)合標準的移動IPv4協(xié)議提供了移動VPN的基本框架。
在純IPv4網(wǎng)絡(luò)環(huán)境下,典型的IPsec VPN與MIPv4(移動IPv4)相結(jié)合時,會存在以下兩個主要問題(1)當(dāng)移動節(jié)點移動到VPN外部時,如果通過外部網(wǎng)絡(luò)的FA(外地代理)獲得轉(zhuǎn)交地址,則由于外地代理是由其它網(wǎng)絡(luò)的管理員配置,通常不支持IPSec,因而將導(dǎo)致移動節(jié)點無法向位于VPN的i-HA(內(nèi)部的家鄉(xiāng)代理)進行注冊;(2)如果移動節(jié)點在外部網(wǎng)絡(luò)獲得配置轉(zhuǎn)交地址,雖然可以通過與VPN網(wǎng)關(guān)建立IPSec隧道向VPN內(nèi)部的家鄉(xiāng)代理完成注冊,但是移動節(jié)點每更改一次配置轉(zhuǎn)交地址就要與VPN網(wǎng)關(guān)重新協(xié)商建立IPSec隧道,在節(jié)點頻繁移動的情況下,增加了網(wǎng)絡(luò)切換的延遲,降低了節(jié)點的移動性。
目前針對上述問題提供的一種解決方案為在IPv4環(huán)境下,在VPN網(wǎng)關(guān)之外設(shè)置x-HA(外部家鄉(xiāng)代理),移動節(jié)點首先向外部家鄉(xiāng)代理注冊,之后通過外部家鄉(xiāng)代理與VPN網(wǎng)關(guān)建立IPsec隧道,實現(xiàn)向VPN內(nèi)部家鄉(xiāng)代理完成注冊,從而解決了所述的兩個問題。
相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,x-HA表示在外部網(wǎng)絡(luò)設(shè)置的家鄉(xiāng)代理,在Internet(因特網(wǎng))中存在著支持移動IPv4的外部網(wǎng)絡(luò)(External Net);同時,在VPN內(nèi)部也存在著支持移動IPv4的家鄉(xiāng)網(wǎng)絡(luò)(Home Net)和外地網(wǎng)絡(luò)(Foreign Net)。
在移動節(jié)點移動到外部網(wǎng)絡(luò)時,獲得轉(zhuǎn)交地址后,首先向外部家鄉(xiāng)代理注冊并獲得x-HoA(外部家鄉(xiāng)地址)。之后利用外部家鄉(xiāng)地址與VPN網(wǎng)關(guān)進行IKE(因特網(wǎng)密鑰交換)協(xié)商建立IPsec隧道,通過IPsec隧道向VPN內(nèi)部的家鄉(xiāng)代理注冊。之后,移動節(jié)點就可以與VPN內(nèi)部網(wǎng)絡(luò)節(jié)點進行通信。
下面將以移動節(jié)點位于配置x-FA(外地代理)的外部網(wǎng)絡(luò)為例,說明移動節(jié)點的注冊流程以及數(shù)據(jù)包的封裝方式。
當(dāng)移動節(jié)點進入配置外部家鄉(xiāng)代理的外部網(wǎng)絡(luò)后,獲得外地代理轉(zhuǎn)交地址;同時,移動節(jié)點還需要向外部家鄉(xiāng)代理和內(nèi)部家鄉(xiāng)代理發(fā)送標準的移動IPv4注冊請求;由于移動節(jié)點位于外部網(wǎng)絡(luò),因此,其只能收到來自外部家鄉(xiāng)代理的注冊應(yīng)答,根據(jù)所述的應(yīng)答消息移動節(jié)點獲得外部家鄉(xiāng)代理分配的x-HoA,并作為移動節(jié)點在外部網(wǎng)絡(luò)的轉(zhuǎn)交地址;移動節(jié)點使用獲得的x-HoA作為IKE協(xié)商和IPsec隧道的端點地址,與VPN網(wǎng)關(guān)建立隧道;在與VPN網(wǎng)關(guān)協(xié)商過程中,VPN網(wǎng)關(guān)指派給移動節(jié)點一個VPN-TIA(VPN隧道內(nèi)部地址);移動節(jié)點將VPN-TIA作為向內(nèi)部家鄉(xiāng)代理注冊的轉(zhuǎn)交地址,封裝在IPsec隧道內(nèi)向內(nèi)部家鄉(xiāng)代理進行注冊;在注冊完成后,移動節(jié)點和VPN內(nèi)部的通信節(jié)點就可進行通信。通信的數(shù)據(jù)包經(jīng)過三次封裝,具體的封裝結(jié)果如圖2所示,其中最外層的x-MIP表示是移動節(jié)點到外部家鄉(xiāng)代理的移動IPv4封裝,中間層是從x-HA到VPN網(wǎng)關(guān)的IPsec封裝,最內(nèi)層i-MIP是VPN內(nèi)部移動IPv4封裝。通過圖2可以看出,移動節(jié)點在配置外地代理的外部網(wǎng)絡(luò)中可以完成向VPN內(nèi)部的家鄉(xiāng)代理的注冊,當(dāng)移動節(jié)點的轉(zhuǎn)交地址發(fā)生變化時,也不會影響IPsec隧道的維持。因此,這一實現(xiàn)方案有效解決了所述的兩個問題。
然而,由于上述實現(xiàn)方案中引入了外部家鄉(xiāng)代理,使得VPN網(wǎng)絡(luò)結(jié)構(gòu)更加復(fù)雜,提高了維護成本;同時,引入外部家鄉(xiāng)代理也帶來一些新的問題,如外部家鄉(xiāng)代理的位置選取問題,以及外部家鄉(xiāng)代理受信問題等。
目前,提供的另一種解決上述兩個問題實現(xiàn)方案為在IPv4環(huán)境下,使用支持MOBIKE(IKEv2移動與多接口協(xié)議)協(xié)議的IPsec作為移動節(jié)點與VPN網(wǎng)關(guān)的隧道技術(shù),在解決所述的兩個問題。
所述的MOBIKE是基于IKEv2的擴展協(xié)議,有效支持了IPsec隧道通信兩端的移動性。在移動節(jié)點開始與VPN網(wǎng)關(guān)協(xié)商建立IPsec隧道時,會先后生成IKE SA和IPsec SAs。MOBIKE協(xié)議允許隧道兩端的節(jié)點在保持IKE SA和IPsec SAs的情況下更新其IP地址,也就是說在隧道兩端的節(jié)點地址改變后仍可以保持原有的IPsec隧道進行通信,無須重新協(xié)商。
基于MOBIKE的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,在Internet中存在著支持移動IPv4的外部網(wǎng)絡(luò)(External Net);同時,在VPN內(nèi)部網(wǎng)絡(luò)也存在著支持移動IPv4的家鄉(xiāng)網(wǎng)絡(luò)(Home Net)和外地網(wǎng)絡(luò)(Foreign Net)。
移動節(jié)點位于VPN內(nèi)部的外地網(wǎng)絡(luò)時,使用標準的移動IPv4與VPN內(nèi)部的家鄉(xiāng)代理和通信節(jié)點進行通信。當(dāng)移動節(jié)點離開VPN內(nèi)部網(wǎng)絡(luò),進入一個外部網(wǎng)絡(luò)時,需要與VPN網(wǎng)關(guān)進行IKE協(xié)商,建立支持MOBIKE的IPsec隧道。同時在VPN內(nèi)部,移動節(jié)點和家鄉(xiāng)代理仍保持一個有效的移動IPv4綁定緩存,移動節(jié)點使用由VPN網(wǎng)關(guān)指派給它的VPN-TIA作為VPN內(nèi)部網(wǎng)絡(luò)的配置轉(zhuǎn)交地址,向內(nèi)部家鄉(xiāng)代理注冊。
移動節(jié)點因位置的改變從一個外部網(wǎng)絡(luò)進入另一個外部網(wǎng)絡(luò)后,獲得新的移動IPv4轉(zhuǎn)交地址。此時移動節(jié)點開始使用MOBIKE協(xié)議,更新本端點的IKE SA和IPsec SAs的IP地址,并通告VPN網(wǎng)關(guān)更新相應(yīng)SA的IP地址。在完成SA的地址更新之后,使用原有的IPsec隧道繼續(xù)通信。
可以看出,該方案提出了純IPv4網(wǎng)絡(luò)環(huán)境下使用MOBIKE解決所述的兩個問題。但是,由于因特網(wǎng)的發(fā)展方向是IPv6,且在IPv6取代IPv4的進程中,“IPv6孤島”和“IPv4海洋”的混合網(wǎng)絡(luò)必然會長期存在,因此,還需要解決在混合網(wǎng)絡(luò)中存在的相應(yīng)問題。然而,現(xiàn)有的技術(shù)方案還無法解決包括IPv4和IPv6的混合網(wǎng)絡(luò)下移動VPN的應(yīng)用問題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法及系統(tǒng),從而可以解決相應(yīng)的IPv4和IPv6混合網(wǎng)絡(luò)下的移動VPN的應(yīng)用問題,使得在現(xiàn)有的網(wǎng)絡(luò)場景中,基于IPv6網(wǎng)絡(luò)開展VPN業(yè)務(wù)成為可能。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的本發(fā)明提供了一種混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,該方法應(yīng)用于包括IPv4網(wǎng)絡(luò)和VPN內(nèi)部的IPv6網(wǎng)絡(luò)的混合網(wǎng)絡(luò)中,且在所述的混合網(wǎng)絡(luò)中設(shè)置移動虛擬專用網(wǎng)VPN的VPN網(wǎng)關(guān),所述的VPN網(wǎng)關(guān)提供有IPv6地址的內(nèi)部接口和IPv4地址的外部接口,該方法包括A、在所述的VPN網(wǎng)關(guān)與外部網(wǎng)絡(luò)之間建立用于傳輸外部網(wǎng)絡(luò)與VPN內(nèi)部的IPv6網(wǎng)絡(luò)之間交互的VPN報文的隧道,所述的隧道兩端地址分別為外部網(wǎng)絡(luò)的IPv4地址和VPN網(wǎng)關(guān)提供的外部接口的IPv4地址;
B、將需要傳送的VPN報文封裝上IPv4報頭后通過所述隧道傳送,在混合網(wǎng)絡(luò)中實現(xiàn)VPN業(yè)務(wù)的交互。
所述的外部網(wǎng)絡(luò)為IPv4外部網(wǎng)絡(luò)或IPv6外部網(wǎng)絡(luò)。
所述的步驟A包括A1、在所述的VPN網(wǎng)關(guān)與位于IPv6外部網(wǎng)絡(luò)中的獲得轉(zhuǎn)交地址的移動節(jié)點之間建立IPsec隧道之后,VPN網(wǎng)關(guān)與IPv6外部網(wǎng)絡(luò)中的接入路由器建立用于傳輸IPv6報文的IPv6 inIPv4隧道,該隧道將IPv6報文封裝于IPv4報文中,隧道兩端地址分別為IPv6外部網(wǎng)絡(luò)接入路由器的IPv4地址和VPN網(wǎng)關(guān)外部接口的IPv4地址;或者,A2、在所述的VPN網(wǎng)關(guān)與位于IPv4外部網(wǎng)絡(luò)中的獲得轉(zhuǎn)交地址的移動節(jié)點之間建立IPsec協(xié)議隧道。
所述的IPsec協(xié)議隧道為支持因特網(wǎng)密鑰交換移動與多接口協(xié)議MOBIKE的IPsec隧道。
所述的步驟A1包括A11、移動到IPv6外部網(wǎng)絡(luò)中的移動節(jié)點根據(jù)在IPv6網(wǎng)絡(luò)中保存的用于解析VPN網(wǎng)關(guān)的IPv4地址的域名服務(wù)器DNS的地址信息發(fā)起DNS請求;A12、所述的DNS收到所述的DNS請求后,向移動節(jié)點返回DNS應(yīng)答消息,所述應(yīng)答消息中包括VPN網(wǎng)關(guān)的IPv4地址信息;A13、所述移動節(jié)點及IPv6網(wǎng)絡(luò)獲取VPN網(wǎng)關(guān)的IPv4地址信息。
所述的步驟A11包括所述移動節(jié)點向所在的IPv6網(wǎng)絡(luò)中的DNS發(fā)起VPN網(wǎng)關(guān)的DNS請求,所述的請求到達IPv6網(wǎng)絡(luò)中的DNS后,將被轉(zhuǎn)發(fā)到IPv6網(wǎng)絡(luò)中設(shè)置的域名服務(wù)器應(yīng)用層網(wǎng)關(guān)DNS-ALG;DNS-ALG根據(jù)其保存的DNS服務(wù)器信息確定用于解析VPN網(wǎng)關(guān)的IPv4地址的DNS,并將所述的DNS請求轉(zhuǎn)換為IPv4格式的DNS請求發(fā)送給確定的所述DNS。
所述的步驟A13包括在DNS-ALG接收到返回的DNS應(yīng)答消息后,保存VPN網(wǎng)關(guān)的IPv4地址信息,并將該IPv4地址增加前綴轉(zhuǎn)換為IPv6格式的IPv6地址發(fā)送給移動節(jié)點,移動節(jié)點將該IPv6地址作為VPN網(wǎng)關(guān)的地址信息。
所述的步驟B包括B1、位于IPv6外部網(wǎng)絡(luò)中的移動節(jié)點構(gòu)造所述的VPN網(wǎng)關(guān)對應(yīng)的IPv6地址的報文,并發(fā)送給IPv6網(wǎng)絡(luò)的外部接入路由器;B2、所述的外部接入路由器收到來自移動節(jié)點的IPv6報文,為該報文添加IPv4報文頭,報文頭中承載的是VPN網(wǎng)關(guān)的IPv4地址,并通過所述的隧道發(fā)送給所述的VPN網(wǎng)關(guān);B3、VPN網(wǎng)關(guān)解析接收到的報文,對該IPv4報文解封裝還原為IPv6報文,并繼續(xù)傳遞所述IPv6報文。
所述的步驟B包括B4、位于IPv6外部網(wǎng)絡(luò)中的移動節(jié)點構(gòu)造所述的VPN網(wǎng)關(guān)對應(yīng)的IPv6地址的報文,并發(fā)送給網(wǎng)絡(luò)地址轉(zhuǎn)換-協(xié)議轉(zhuǎn)換NAT-PT實體;B5、所述的NAT-PT將所述的IPv6報文中的IPv6地址轉(zhuǎn)換為IPv4地址,并發(fā)送給外部接入路由器,由所述外部接入路由器通過所述的隧道將該報文發(fā)送給所述的VPN網(wǎng)關(guān);B6、VPN網(wǎng)關(guān)解析接收到的報文,并繼續(xù)傳遞所述報文。
所述的步驟A2包括A21、當(dāng)移動節(jié)點移動到IPv4外部網(wǎng)絡(luò)中后,獲得IPv4網(wǎng)絡(luò)的轉(zhuǎn)交地址;A22、移動節(jié)點與VPN網(wǎng)關(guān)之間進行協(xié)商建立所述的IPsec隧道,隧道的兩端的地址分別為所述轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv4地址。
所述的步驟A22包括在移動節(jié)點與VPN網(wǎng)關(guān)之間進行因特網(wǎng)密鑰交換IKE協(xié)商過程中,VPN網(wǎng)關(guān)將為移動節(jié)點確定一個VPN隧道內(nèi)部地址,作為移動點向VPN內(nèi)部注冊的移動IPv6轉(zhuǎn)交地址。
所述的步驟B包括處于IPv4網(wǎng)絡(luò)中的移動節(jié)點將數(shù)據(jù)包首先進行移動IPv6封裝,之后,再根據(jù)建立的隧道進行IPsec封裝,并通過建立的隧道向所述的VPN網(wǎng)關(guān)發(fā)送封裝有IPv4報頭的VPN業(yè)務(wù)報文。
所述的步驟B中還包括移動節(jié)點將數(shù)據(jù)包進行移動IPv6封裝時,相應(yīng)的源地址為所述的VPN隧道內(nèi)部地址,目的地址為VPN內(nèi)部的節(jié)點的地址。
當(dāng)位于VPN內(nèi)部網(wǎng)絡(luò)中的移動節(jié)點在移動過程中IP地址發(fā)生變化時,則立即停止與VPN內(nèi)部其它節(jié)點的通信,且所述的方法還包括C1、若移動節(jié)點獲得IPv4轉(zhuǎn)交地址,則使用所述IPv4轉(zhuǎn)交地址與VPN網(wǎng)關(guān)進行支持MOBIKE的IKE協(xié)商,建立IPsec隧道;移動節(jié)點使用VPN網(wǎng)關(guān)提供的內(nèi)部IPv6轉(zhuǎn)交地址通過所述隧道向內(nèi)部家鄉(xiāng)代理發(fā)起注冊,并在收到注冊應(yīng)用答后通過所述隧道與VPN網(wǎng)絡(luò)節(jié)點通信;或者,C2、若移動節(jié)點獲得IPv6轉(zhuǎn)交地址,則利用域名解析的方式間接查詢VPN網(wǎng)關(guān)的IPv6地址,之后,移動節(jié)點向VPN內(nèi)部家鄉(xiāng)代理發(fā)送一個標準的移動IPv6注冊請求;當(dāng)接收到IPv6注冊應(yīng)答時,確定移動節(jié)點位于VPN內(nèi)部,移動節(jié)點使用新的IPv6轉(zhuǎn)交地址與VPN內(nèi)部節(jié)點通信。
所述的步驟C2還包括若移動節(jié)點未收到所述的移動IPv6注冊應(yīng)答,且查詢VPN網(wǎng)關(guān)的IPv6地址成功,確定移動節(jié)點位于VPN外部的IPv6網(wǎng)絡(luò)中,則使用新的IPv6地址與VPN網(wǎng)關(guān)進行支持MOBIKE的IKE協(xié)商,建立IPsec隧道;移動節(jié)點使用VPN網(wǎng)關(guān)提供的內(nèi)部IPv6轉(zhuǎn)交地址,通過IPsec隧道向內(nèi)部家鄉(xiāng)代理發(fā)送注冊請求,在收到注冊應(yīng)答后通過建立的IPsec隧道與內(nèi)部網(wǎng)絡(luò)節(jié)點通信。
當(dāng)原處于IPv4外部網(wǎng)絡(luò)中的移動節(jié)點在移動過程中IP地址發(fā)生變化時,則停止與VPN內(nèi)部節(jié)點的通信,且所述的方法還包括D1、若移動節(jié)點獲得IPv4轉(zhuǎn)交地址,確定移動節(jié)點移動至另一個IPv4外部網(wǎng)絡(luò)中,則開始初始化MOBIKE,并進行SA地址更新,更新后SA的端點地址為移動節(jié)點新的IPv4轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv4地址,移動節(jié)點繼續(xù)通過所述隧道與VPN內(nèi)部節(jié)點通信;或者,D2、若移動節(jié)點獲得IPv6轉(zhuǎn)交地址,則利用域名解析的方式間接查詢VPN網(wǎng)關(guān)的IPv6地址;之后,移動節(jié)點向VPN內(nèi)部家鄉(xiāng)代理發(fā)送一個標準的移動IPv6注冊請求,并在收到移動IPv6注冊應(yīng)答后,確定移動節(jié)點移動至VPN內(nèi)部網(wǎng)絡(luò)中,使用新的IPv6轉(zhuǎn)交地址與VPN內(nèi)部節(jié)點通信。
所述的步驟D2還包括若移動節(jié)點未收到所述的移動IPv6注冊應(yīng)答,并且查詢VPN網(wǎng)關(guān)的IPv6地址成功,確定移動節(jié)點移動至IPv6外部網(wǎng)絡(luò)中,則開始初始化MOBIKE,進行SA地址更新,更新后SA端點地址為移動節(jié)點新獲得的IPv6轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv6地址,移動節(jié)點繼續(xù)通過所述隧道與VPN內(nèi)部節(jié)點通信。
當(dāng)原處于IPv6外部網(wǎng)絡(luò)中的移動節(jié)點在移動過程中IP地址發(fā)生變化時,則停止與VPN內(nèi)部節(jié)點的通信,且所述的方法還包括E1、若移動節(jié)點獲得IPv4轉(zhuǎn)交地址,確定移動節(jié)點移動至IPv4外部網(wǎng)絡(luò)中,則開始初始化MOBIKE,進行SA地址更新,更新后SA的端點地址為移動節(jié)點新的IPv4轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv4地址,移動節(jié)點繼續(xù)通過所述隧道與VPN內(nèi)部節(jié)點通信;或者,E2、若移動節(jié)點獲得IPv6轉(zhuǎn)交地址,則利用域名解析的方式間接查詢VPN網(wǎng)關(guān)的IPv6地址;之后,移動節(jié)點向VPN內(nèi)部家鄉(xiāng)代理發(fā)送一個標準的移動IPv6注冊請求,并在收到相應(yīng)的移動IPv6注冊應(yīng)答后,確定移動節(jié)點移動至VPN內(nèi)部網(wǎng)絡(luò)中,移動節(jié)點使用新的IPv6轉(zhuǎn)交地址與VPN內(nèi)部節(jié)點通信。
所述的步驟E2還包括若移動節(jié)點未收到對應(yīng)的移動IPv6注冊應(yīng)答,并且查詢VPN網(wǎng)關(guān)的IPv6地址成功,確定移動節(jié)點移動至另一個IPv6外部網(wǎng)絡(luò)中,則開始初始化MOBIKE,進行SA地址更新,更新后的SA端點地址為移動節(jié)點新獲得的IPv6轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv6地址,移動節(jié)點繼續(xù)通過所述隧道與VPN內(nèi)部節(jié)點通信。
本發(fā)明還提供了一種混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的系統(tǒng),包括IPv4外部網(wǎng)絡(luò)、IPv6外部網(wǎng)絡(luò)和VPN網(wǎng)關(guān),所述的VPN內(nèi)部網(wǎng)絡(luò)為IPv6網(wǎng)絡(luò),所述的VPN網(wǎng)關(guān)提供的內(nèi)部接口為IPv6接口,外部接口為IPv4接口,所述的系統(tǒng)還包括隧道建立模塊用于在所述的VPN網(wǎng)關(guān)與外部網(wǎng)絡(luò)之間建立用于傳輸兩網(wǎng)絡(luò)之間交互的VPN報文的隧道,且所述的隧道的兩端地址分別為外部網(wǎng)絡(luò)的IPv4地址和VPN網(wǎng)關(guān)提供的外部接口的IPv4地址;報文封裝傳送模塊設(shè)置于所述隧道的兩端,用于將待發(fā)送的VPN報文封裝上IPv4報文頭,并通過所述的隧道發(fā)送給對端。
在IPv6外部網(wǎng)絡(luò)中,所述系統(tǒng)還包括DNS-ALG配置為IPv4和IPv6雙協(xié)議棧,用于在通過IPv6外部網(wǎng)絡(luò)開展VPN業(yè)務(wù)過程中提供所述的VPN網(wǎng)關(guān)對應(yīng)的IPv6地址;IPv6網(wǎng)絡(luò)中的DNS配置為IPv4和IPv6雙協(xié)議棧,其配置上級DNS為所述的DNS-ALG;外部接入路由器配置為IPv4和IPv6雙協(xié)議棧,用于實現(xiàn)將IPv6報文封裝上IPv4報文頭的功能,同時,用于解封裝相應(yīng)的報文。
在IPv6外部網(wǎng)絡(luò)中,所述的系統(tǒng)還包括DNS-ALG配置為IPv4和IPv6雙協(xié)議棧,用于提供所述的VPN網(wǎng)關(guān)對應(yīng)的IPv6地址;IPv6網(wǎng)絡(luò)中的DNS在DNS中配置其上級DNS為所述的DNS-ALG;NAT-PT實體用于與外部接入路由器之間進行通信,并對經(jīng)過該實體的報文進行相應(yīng)的IPv6地址與IPv4地址之間的轉(zhuǎn)換;外部接入路由器用于將經(jīng)過NAT-PT實體轉(zhuǎn)換后的報文發(fā)送給VPN網(wǎng)關(guān),并接收VPN網(wǎng)關(guān)發(fā)來的報文。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明利用IPv6 in IPv4隧道技術(shù)實現(xiàn)了在IPv4和IPv6混合網(wǎng)絡(luò)中移動VPN業(yè)務(wù)的開展,使得在由IPv4網(wǎng)絡(luò)向IPv6演進的過程中,仍然能夠?qū)崿F(xiàn)移動VPN業(yè)務(wù)。
本發(fā)明還利用MOBIKE協(xié)議更新SA的地址項,配合VPN網(wǎng)關(guān)指派給移動節(jié)點VPN-TIA地址的方法,成功解決了背景技術(shù)中描述的兩個問題。并提出了在IPv4向IPv6過渡時期,以IPv4為骨干網(wǎng)絡(luò)的IPv4-v6混合環(huán)境下,移動節(jié)點實現(xiàn)接入VPN服務(wù),以及保持正常通信前提下網(wǎng)絡(luò)間切換的完整解決方案。
本發(fā)明在具體實現(xiàn)過程中,基于現(xiàn)有的通信網(wǎng)絡(luò)可不引入任何新的設(shè)備,且不需要升級任何硬件,只需對相應(yīng)設(shè)備的軟件進行改進,因此,整個配置操作過程簡單、易行。
圖1為IPv4環(huán)境下配置外部家鄉(xiāng)代理的移動VPN的結(jié)構(gòu);圖2為IPv4環(huán)境下配置MOBIKE的移動VPN的結(jié)構(gòu);圖3為本發(fā)明提供的混合網(wǎng)絡(luò)的移動VPN的具體實現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu);圖4為圖3中的DNS請求轉(zhuǎn)發(fā)處理;圖5為圖3中的DNS應(yīng)答轉(zhuǎn)發(fā)處理;圖6為本發(fā)明所述的方法的處理流程示意圖。
具體實施例方式
隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,在IPv6網(wǎng)絡(luò)取代IPv4網(wǎng)絡(luò)的發(fā)展進程中,由于現(xiàn)有IPv4網(wǎng)絡(luò)的廣泛應(yīng)用,使得以“IPv6孤島”和“IPv4海洋”為基礎(chǔ)的IPv4-v6混合網(wǎng)絡(luò)會在一段時期內(nèi)長期存在。
本發(fā)明的主要目的是提供一種IPv4-v6混合網(wǎng)絡(luò)下移動VPN的網(wǎng)絡(luò)結(jié)構(gòu)和相應(yīng)的設(shè)備功能要求,以及移動節(jié)點在不同類型網(wǎng)絡(luò)中接入VPN的方式,從而解決移動節(jié)點在不同類型網(wǎng)絡(luò)間切換時,移動節(jié)點的SA地址更新的問題。
本發(fā)明是以“IPv6孤島”,“IPv4海洋”的IPv4-v6混合網(wǎng)絡(luò)為基本網(wǎng)絡(luò)框架,通過引入MOBIKE擴展協(xié)議解決移動節(jié)點的SA地址更新問題;并且利用IPv6 in IPv4隧道技術(shù)結(jié)合域名解析的方式實現(xiàn)移動節(jié)點在IPv6網(wǎng)絡(luò)與IPv4網(wǎng)絡(luò)中的VPN網(wǎng)關(guān)進行通信,從而最終實現(xiàn)移動節(jié)點位于多種類型網(wǎng)絡(luò)中均能夠?qū)崿F(xiàn)移動節(jié)點與VPN內(nèi)部節(jié)點的通信。
也就是說,本發(fā)明主要是采用IPv6 in IPv4隧道技術(shù)的思想,配置了DNS-ALG(域名服務(wù)器-應(yīng)用層網(wǎng)關(guān))等設(shè)備實現(xiàn)了移動節(jié)點位于IPv6外部網(wǎng)絡(luò)通過IPv4網(wǎng)絡(luò)查詢VPN網(wǎng)關(guān)IPv6地址,并進行相應(yīng)的通信。從而實現(xiàn)當(dāng)移動節(jié)點位于IPv6外部網(wǎng)絡(luò)時,仍可以通過IPv4網(wǎng)絡(luò)與VPN網(wǎng)關(guān)的進行通信,進而可以實現(xiàn)IPv4和IPv6混合網(wǎng)絡(luò)下移動VPN服務(wù)。
具體一點講,在所述的混合網(wǎng)絡(luò)中,依據(jù)移動節(jié)點所在位置的不同,具體可分為移動節(jié)點位于IPv6內(nèi)部網(wǎng)絡(luò)(即位于VPN內(nèi)部)、IPv4外部網(wǎng)絡(luò)和IPv6外部網(wǎng)絡(luò)三種情況,針對不同的情況需要采用不同的通信方式,從而可以在混合網(wǎng)絡(luò)中實現(xiàn)移動VPN業(yè)務(wù)。
為區(qū)別不同情況下采用的通信方式,需要在移動節(jié)點的IP地址發(fā)生變化時,首先停止與其它節(jié)點的通信,并根據(jù)IP地址類型判斷當(dāng)前所在的網(wǎng)絡(luò)的類型;之后,通過移動IP注冊和VPN地址查詢的方式判斷移動節(jié)點位于內(nèi)部網(wǎng)絡(luò)還是外部網(wǎng)絡(luò),并根據(jù)情況或者建立IPsec隧道,或者更新原有IPsec SA的地址;完成相應(yīng)處理后,再恢復(fù)之前的通信。
在實現(xiàn)本發(fā)明的過程中,具體需要在IPv6外部網(wǎng)絡(luò)邊緣的x-AR(外部接入路由器)、DNS-ALG和DNS服務(wù)器中設(shè)置IPv4和IPv6雙協(xié)議棧,且在所述的VPN網(wǎng)關(guān)設(shè)置雙協(xié)議棧;同時,x-AR和VPN網(wǎng)關(guān)具有IPv6 in IPv4隧道封裝和解封裝處理功能。
經(jīng)過上述設(shè)置后,便可以針對不同的情況采用不同的通信處理方式以實現(xiàn)混合網(wǎng)絡(luò)中的移動VPN業(yè)務(wù)。以移動節(jié)點進入IPv6外部網(wǎng)絡(luò)為例,相應(yīng)的處理過程主要包括以下過程(1)移動節(jié)點進行IPv6外部網(wǎng)絡(luò)后,利用域名解析的方式間接查詢VPN網(wǎng)關(guān)的IPv6地址;(2)移動節(jié)點發(fā)出VPN網(wǎng)關(guān)的IPv6 DNS請求,經(jīng)過DNS-ALG轉(zhuǎn)換成IPv4 DNS請求,再轉(zhuǎn)發(fā)至IPv4網(wǎng)絡(luò)中;(3)在IPv4網(wǎng)絡(luò)返回關(guān)于VPN網(wǎng)關(guān)的IPv4地址后,首先發(fā)送至DNS-ALG,由DNS-ALG給該IPv4地址加上特定的前綴構(gòu)成IPv6地址,將此地址最終返回給移動節(jié)點。
(4)移動節(jié)點根據(jù)返回的VPN網(wǎng)關(guān)IPv6地址構(gòu)造數(shù)據(jù)包,和VPN網(wǎng)關(guān)進行通信;其中,移動節(jié)點和VPN網(wǎng)關(guān)通信的數(shù)據(jù)包,均會經(jīng)過IPv6 in IPv4隧道封裝與解封裝,以實現(xiàn)不同協(xié)議類型節(jié)點之間的通信。
經(jīng)過上述處理過程,便可以在混合網(wǎng)絡(luò)中實現(xiàn)移動VPN業(yè)務(wù)的互通。
為便于對本發(fā)明的理解,下面將結(jié)合附圖對本發(fā)明的具體實現(xiàn)方式進行詳細的說明。
本發(fā)明提供的IPv4-v6混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的技術(shù)方案的組網(wǎng)結(jié)構(gòu)如圖4所示。在圖4中,VPN內(nèi)部是IPv6網(wǎng)絡(luò)環(huán)境,同時,在VPN內(nèi)部還存在著支持移動IPv6的家鄉(xiāng)網(wǎng)絡(luò)(Home Net)和外地網(wǎng)絡(luò)(Foreign Net);網(wǎng)絡(luò)中的外部網(wǎng)絡(luò)是以IPv4為主的互聯(lián)網(wǎng),同時還存在著支持移動IPv4的IPv4外部網(wǎng)絡(luò)(External Net IPv4)和支持移動IPv6的IPv6外部網(wǎng)絡(luò)(External Net IPv6)。在IPv6外部網(wǎng)絡(luò)邊緣設(shè)置了DNS-ALG設(shè)備,用于實現(xiàn)移動節(jié)點在IPv6外部網(wǎng)絡(luò)是可以通過域名查詢的方式獲得IPv4網(wǎng)絡(luò)中的VPN網(wǎng)關(guān)地址。
在圖4所示的網(wǎng)絡(luò)系統(tǒng)中,各組成設(shè)備的功能如下(1)MN(移動節(jié)點)配置IPv4-v6雙協(xié)議棧,支持標準的MIPv4(移動IPv4)/MIPv6(移動IPv6),配置支持MOBIKE的IPsec協(xié)議;(2)VPN網(wǎng)關(guān)其與外部網(wǎng)絡(luò)的外部接口地址為IPv4地址,與內(nèi)部網(wǎng)絡(luò)的內(nèi)部接口地址為IPv6地址,在VPN網(wǎng)關(guān)上配置IPv4-v6雙協(xié)議棧,同時,VPN網(wǎng)關(guān)具有IPv6 in IPv4隧道(利用IPv4隧道傳輸IPv6報文的技術(shù))的封裝與解封裝功能,支持標準的MIPv6(移動IPv6協(xié)議),配置支持MOBIKE(IKEv2移動與多接口協(xié)議)的IPsec協(xié)議;(3)DNS-ALG(域名服務(wù)器-應(yīng)用層網(wǎng)關(guān))和DNS(域名服務(wù)器)其中,DNS-ALG配置IPv4-v6雙協(xié)議棧,即同時可以支持IPv6和IPv4協(xié)議,用于提供VPN網(wǎng)關(guān)的IPv4地址信息,并將相應(yīng)的IPv4地址增加特定的前綴轉(zhuǎn)換為相應(yīng)的IPv6地址,且作為IPv6網(wǎng)絡(luò)中的DNS的上一級DNS;IPv6網(wǎng)絡(luò)中的DNS只配置IPv6協(xié)議棧就可以了;4、x-AR(外部接入路由器)配置IPv4-v6雙協(xié)議棧,具有IPv6 in IPv4隧道的封裝與解封裝功能。
在圖4所示的系統(tǒng)中,在VPN內(nèi)部相應(yīng)的IP地址配置方式如下傳統(tǒng)的IPv4網(wǎng)絡(luò)的VPN內(nèi)部配置的是私網(wǎng)地址,只能在VPN內(nèi)部使用。在IPv6地址分類中,站點本地單播地址非常適合VPN的應(yīng)用,因此,本發(fā)明將VPN內(nèi)部網(wǎng)絡(luò)配置IPv6站點本地單播地址。所述站點本地單播地址只能用于在VPN網(wǎng)絡(luò)內(nèi)部傳輸數(shù)據(jù),站點內(nèi)的路由器只能在站點內(nèi)轉(zhuǎn)發(fā)該地址類型的數(shù)據(jù)包,而不能將其轉(zhuǎn)發(fā)到站點外去。所述站點本地單播地址的結(jié)構(gòu)可以為1111111011+38位的“0”+16位的子網(wǎng)標識符+64位的接口標識符。
基于上述圖4所示的系統(tǒng),下面將對本發(fā)明提供的移動節(jié)點的接入方式的具體實現(xiàn)進行說明。
在IPv4-v6混合網(wǎng)絡(luò)的移動VPN中,移動節(jié)點接入VPN的方式有三種,下面將分別對三種方式及相應(yīng)的開展VPN業(yè)務(wù)的處理方式進行說明(一)在VPN內(nèi)部網(wǎng)絡(luò)為純IPv6的網(wǎng)絡(luò)環(huán)境中,處于VPN內(nèi)部的移動節(jié)點以標準的移動IPv6與內(nèi)部家鄉(xiāng)代理和通信節(jié)點進行通信;當(dāng)移動節(jié)點在VPN內(nèi)部網(wǎng)絡(luò)時,相應(yīng)的開展VPN業(yè)務(wù)的方式為將整個內(nèi)部網(wǎng)絡(luò)視為一個普通的IPv6網(wǎng)絡(luò),移動節(jié)點的移動性由移動IPv6實現(xiàn);即在內(nèi)部家鄉(xiāng)網(wǎng)絡(luò)時,移動節(jié)點通過IPv6路由機制進行通信;當(dāng)移動節(jié)點移出家鄉(xiāng)網(wǎng)絡(luò),進入支持移動IPv6的外地網(wǎng)絡(luò)時,通過接入路由器獲得移動IPv6轉(zhuǎn)交地址,向家鄉(xiāng)代理和通信節(jié)點進行注冊,完成綁定更新,從而實現(xiàn)在內(nèi)部網(wǎng)絡(luò)的移動通信。
(二)在IPv4外部網(wǎng)絡(luò)中,處于VPN外部的移動節(jié)點支持移動IPv4,獲得IPv4轉(zhuǎn)交地址,通過獲得的轉(zhuǎn)交地址與VPN網(wǎng)關(guān)進行IKE協(xié)商,建立IPsec隧道,從而通過所述隧道實現(xiàn)與VPN內(nèi)部通信節(jié)點之間的通信;當(dāng)移動節(jié)點移出VPN內(nèi)部網(wǎng)絡(luò),進入一個支持移動IPv4的IPv4外部網(wǎng)絡(luò)時,相應(yīng)的開展VPN業(yè)務(wù)的處理過程具體包括移動節(jié)點會分配到一個IPv4外地代理轉(zhuǎn)交地址或IPv4配置轉(zhuǎn)交地址。在與VPN網(wǎng)關(guān)完成身份鑒別之后,移動節(jié)點開始與VPN網(wǎng)關(guān)進行IKE協(xié)商,建立IPsec隧道。隧道兩端的地址分別為移動節(jié)點的轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的外部接口的IPv4地址。
在進行IKE協(xié)商的時候,VPN網(wǎng)關(guān)給出一個VPN-TIA(VPN隧道內(nèi)部地址),并將該地址通告給移動節(jié)點;在移出內(nèi)部網(wǎng)絡(luò)后,移動節(jié)點仍和VPN內(nèi)部家鄉(xiāng)代理或通信節(jié)點保持一個移動IPv6綁定緩存,VPN-TIA是用來作為移動節(jié)點向內(nèi)部家鄉(xiāng)代理或通信節(jié)點注冊的移動IPv6轉(zhuǎn)交地址。
也就是說,移動節(jié)點并不是將自己在外部網(wǎng)絡(luò)獲得的轉(zhuǎn)交地址作為向內(nèi)部網(wǎng)絡(luò)的家鄉(xiāng)代理注冊的轉(zhuǎn)交地址,而是用VPN-TIA作為移動節(jié)點的內(nèi)部網(wǎng)絡(luò)轉(zhuǎn)交地址;其目的是使得VPN內(nèi)部的家鄉(xiāng)代理和通信節(jié)點可以不受移動節(jié)點在外部網(wǎng)絡(luò)的轉(zhuǎn)交地址變化的影響,減少注冊更新等控制信息的頻繁發(fā)送,也避免了移動節(jié)點獲得IPv4轉(zhuǎn)交地址卻要向移動IPv6的內(nèi)部家鄉(xiāng)代理注冊所帶來的問題。
在IPsec隧道建立之后,移動節(jié)點將上層協(xié)議的數(shù)據(jù)包首先進行移動IPv6封裝,源地址為VPN-TIA,目的地址為內(nèi)部家鄉(xiāng)代理或通信節(jié)點的地址;之后進行IPsec封裝,源地址為移動節(jié)點的外部網(wǎng)絡(luò)IPv4轉(zhuǎn)交地址,目的地址為VPN網(wǎng)關(guān)外部接口的IPv4地址。
數(shù)據(jù)包經(jīng)過兩次封裝后的結(jié)構(gòu)如表1所示,其中i-HoA是移動節(jié)點在內(nèi)部網(wǎng)絡(luò)的家鄉(xiāng)地址,x-CoA為移動節(jié)點在外部網(wǎng)絡(luò)獲得的轉(zhuǎn)交地址,地址前的v4-v6標記表明地址類型。
表1
(三)在IPv6外部網(wǎng)絡(luò)中,處于VPN外部的移動節(jié)點支持移動IPv6,獲得IPv6轉(zhuǎn)交地址。IPv6外部網(wǎng)絡(luò)的x-AR和IPv4網(wǎng)絡(luò)中的VPN網(wǎng)關(guān)利用IPv6 in IPv4隧道封裝技術(shù),使得在IPv6外部網(wǎng)絡(luò)的移動節(jié)點與處在IPv4網(wǎng)絡(luò)中的VPN網(wǎng)關(guān)進行通信;移動節(jié)點位于IPv6外部網(wǎng)絡(luò),即位于VPN外部情況下移動節(jié)點與VPN內(nèi)部節(jié)點通信的處理過程如下(1)移動節(jié)點進入到一個支持移動IPv6的外部網(wǎng)絡(luò)時,該網(wǎng)絡(luò)中的接入路由器(即x-AR)會為其提供一個接入外部網(wǎng)絡(luò)的無線接口,即移動節(jié)點會獲得相應(yīng)的IPv6轉(zhuǎn)交地址,以便于開展網(wǎng)絡(luò)通信;(2)移動節(jié)點獲得相應(yīng)的IPv6轉(zhuǎn)交地址后,采用IPv6 in IPv4隧道技術(shù),分別在IPv6外部網(wǎng)絡(luò)的x-AR和IPv4網(wǎng)絡(luò)的VPN網(wǎng)關(guān)處對IPv6的數(shù)據(jù)包進行IPv4的封裝和解封裝,實現(xiàn)IPv4主機與IPv6主機的互通;需要采用IPv6 in IPv4隧道技術(shù)的原因是在移動節(jié)點獲得IPv6轉(zhuǎn)交地址后,若與位于IPv4網(wǎng)絡(luò)中的VPN網(wǎng)關(guān)進行通信,仍然會因為兩端地址結(jié)構(gòu)的不同,導(dǎo)致無法處理與自己IP版本不同的IP數(shù)據(jù)包,即無法直接進行通信,為此,需要將IPv6報文進行IPv4封裝,以便于對端VPN網(wǎng)關(guān)可以識別接收到的報文。
下面將對移動節(jié)點位于VPN外部情況下,其與VPN內(nèi)部節(jié)點通信的處理過程的具體實現(xiàn)進行說明。
本發(fā)明在具體實現(xiàn)過程中,IPv4主機和IPv6主機建立通信的基礎(chǔ)是通過域名進行關(guān)聯(lián)。即移動節(jié)點無需了解需要通信的VPN網(wǎng)關(guān)是IPv4地址還是IPv6地址,而只需知道VPN網(wǎng)關(guān)的FQDN(Fully Qualified Domain Name,完全合乎要求域名)。這樣,在域名解析后,便可以獲得VPN網(wǎng)關(guān)的通信地址,并可以構(gòu)造相應(yīng)的數(shù)據(jù)包以實現(xiàn)相互之間的通信。
首先,對通過DNS(域名服務(wù)器)進行VPN網(wǎng)關(guān)域名解析的具體處理過程進行說明,具體的過程包括域名解析請求和域名解析響應(yīng)兩個處理階段。
在相應(yīng)的域名解析請求階段,如圖5所示,主要處理過程包括(1)移動節(jié)點向本IPv6站點內(nèi)的DNS服務(wù)器發(fā)送DNS請求,即向相應(yīng)的IPv6 DNS服務(wù)器發(fā)送(“AAAA”)的DNS請求,以請求解析目的主機的FQDN,獲得VPN網(wǎng)關(guān)的地址信息;對于發(fā)起通信的IPv6主機移動節(jié)點來說,并不知道通信對方是IPv4主機或是IPv6主機,移動節(jié)點只存在目的主機(VPN網(wǎng)關(guān))的FQDN,例如,www.vpngw.com,因此,需要通過域名解析請求獲得VPN網(wǎng)關(guān)的地址。
(2)移動節(jié)點的DNS請求到達DNS服務(wù)器后,將被轉(zhuǎn)發(fā)給DNS-ALG;這是因為IPv6站點的DNS服務(wù)器收到移動節(jié)點的DNS請求實際上是IPv4網(wǎng)絡(luò)中的VPN網(wǎng)關(guān)的FQDN,所以該DNS服務(wù)器不能解析該域名,并會將該請求將被轉(zhuǎn)發(fā)到上一級DNS服務(wù)器;在該IPv6外部網(wǎng)絡(luò)中,DNS服務(wù)器中配置的上級DNS服務(wù)器的地址為站內(nèi)DNS-ALG的地址,因此,移動節(jié)點發(fā)送的DNS請求被DNS服務(wù)器轉(zhuǎn)發(fā)到了DNS-ALG;(3)DNS-ALG中保存有IPv4網(wǎng)絡(luò)的DNS服務(wù)器地址,當(dāng)其接收到DNS服務(wù)器轉(zhuǎn)發(fā)來的移動節(jié)點的(“AAAA”)IPv6 DNS請求,DNS-ALG會根據(jù)存儲的DNS服務(wù)器列表確定VPN網(wǎng)關(guān)的DNS服務(wù)器地址,由于VPN網(wǎng)關(guān)的外部接口為IPv4接口,對應(yīng)的地址為IPv4地址,所述相應(yīng)的DNS服務(wù)器為IPv4網(wǎng)絡(luò)中的DNS服務(wù)器,因此,需要將此IPv6 DNS請求轉(zhuǎn)換成IPv4 DNS請求(“A”),并發(fā)往所述的IPv4網(wǎng)絡(luò)的DNS服務(wù)器;(4)由于DNS-ALG與x-AR相連,所以DNS-ALG將該IPv4 DNS請求先發(fā)往x-AR,再由x-AR發(fā)往IPv4網(wǎng)絡(luò)中。
相應(yīng)的域名解析響應(yīng)階段,即DNS應(yīng)答過程如圖6所示,在IPv4網(wǎng)絡(luò)中的DNS服務(wù)器收到該請求后,返回一個DNS應(yīng)答,應(yīng)答消息中包含VPN網(wǎng)關(guān)的IPv4地址,該應(yīng)答消息將返回給IPv6網(wǎng)絡(luò)中的移動節(jié)點,具體的DNS應(yīng)答過程包括以下處理過程(1)IPv6網(wǎng)絡(luò)中的DNS-ALG收到來自IPv4網(wǎng)絡(luò)的DNS服務(wù)器的DNS應(yīng)答,其結(jié)果是VPN網(wǎng)關(guān)的IPv4地址;DNS-ALG需要將該VPN網(wǎng)關(guān)地址添加一個特定的地址前綴,具有該前綴的數(shù)據(jù)包均會被路由到x-AR;所述前綴路由可預(yù)先在IPv6網(wǎng)絡(luò)的路由設(shè)備內(nèi)配置并發(fā)布,例如,該前綴為5ef0:3248::/64,假設(shè)VPN網(wǎng)關(guān)的IPv4地址為200.0.0.1,則DNS-ALG將此前綴加VPN網(wǎng)關(guān)的IPv4地址,構(gòu)造為形如5ef0:3248::200.0.0.1的IPv6地址返回給IPv6網(wǎng)絡(luò)內(nèi)的DNS服務(wù)器;
(2)IPv6網(wǎng)絡(luò)中的DNS服務(wù)器接收到DNS-ALG返回的具有特定前綴的IPv6地址后,將此地址對應(yīng)移動節(jié)點的DNS請求,將相應(yīng)的地址作為VPN網(wǎng)關(guān)的地址寫入緩存,即在IPv6網(wǎng)絡(luò)中的DNS上保存VPN網(wǎng)關(guān)的IPv6格式的地址與其域名的對應(yīng)關(guān)系信息;需要說明的是經(jīng)過一次對VPN網(wǎng)關(guān)的DNS解析后,將不再重復(fù)此過程,之后與VPN網(wǎng)關(guān)通過域名進行通信的主機可直接在IPv6網(wǎng)絡(luò)的DNS服務(wù)器內(nèi)得到轉(zhuǎn)換后的VPN網(wǎng)關(guān)的地址,該地址為IPv6地址;(3)將解析結(jié)果(即所述具有特定前綴的IPv6地址)寫入緩存后,DNS服務(wù)器還將特定地址前綴與VPN網(wǎng)關(guān)的IPv4地址構(gòu)成的IPv6地址返回給移動節(jié)點,這樣,移動節(jié)點便獲得了開展移動VPN業(yè)務(wù)需要的VPN網(wǎng)關(guān)的地址信息。
在移動節(jié)點及所述的DNS服務(wù)器獲得了VPN網(wǎng)關(guān)的地址信息之后,則所述的移動節(jié)點便可以通過數(shù)據(jù)包的轉(zhuǎn)換和轉(zhuǎn)發(fā)處理實現(xiàn)與VPN內(nèi)網(wǎng)中節(jié)點的通信,相應(yīng)的具體的通信過程包括(1)移動節(jié)點接收到DNS服務(wù)器返回的IPv6地址,該地址是VPN網(wǎng)關(guān)的IPv4地址添加特定地址前綴構(gòu)造的IPv6地址,移動節(jié)點以此地址為目的地址構(gòu)造IPv6數(shù)據(jù)包。
(2)由于該目的地址的前綴路由已經(jīng)在IPv6網(wǎng)絡(luò)內(nèi)進行配置和發(fā)布,凡具有該地址前綴的IPv6包均指向x-AR,因此移動節(jié)點發(fā)送的IPv6數(shù)據(jù)包被路由到x-AR,在此,假定該特定地址前綴為5ef0:3248::/64,VPN網(wǎng)關(guān)的IPv4地址為200.0.0.1;(3)x-AR接收到目的前綴為5ef0:3248::/64的IPv6數(shù)據(jù)包,識別出其前綴為DNS-ALG發(fā)布的特定前綴,便會對該IPv6數(shù)據(jù)包進行IPv6 in IPv4隧道封裝,具體的封裝方式為x-AR從IPv6數(shù)據(jù)包的目的地址項中提取出VPN網(wǎng)關(guān)的IPv4地址,作為IPv4隧道包頭的目的地址,將x-AR的IPv4地址作為IPv4隧道包頭的源地址,新構(gòu)造的IPv4數(shù)據(jù)包結(jié)構(gòu)如表2所示,即相應(yīng)的經(jīng)過IPv4隧道封裝的數(shù)據(jù)包結(jié)構(gòu)如表2所示表2
(4)x-AR將封裝完成的IPv4數(shù)據(jù)包發(fā)送到IPv4網(wǎng)絡(luò);(5)VPN網(wǎng)關(guān)收到的IPv4數(shù)據(jù)包可能是來自IPv4外部網(wǎng)絡(luò)移動節(jié)點的數(shù)據(jù)包,也可能是來自IPv6外部網(wǎng)絡(luò)的移動節(jié)點經(jīng)IPv4隧道封裝的數(shù)據(jù)包;為識別數(shù)據(jù)包來源,VPN網(wǎng)關(guān)需要讀取IPv4包頭,如果發(fā)現(xiàn)下一包頭為IPv6地址,則確定該數(shù)據(jù)包來自IPv6外部網(wǎng)絡(luò),并對其解封裝,將解除封裝的IPv6數(shù)據(jù)包交給其它模塊進行下一步的處理,后續(xù)的處理過程與普通IPv6數(shù)據(jù)包的處理方式相同,故不再對其進行詳細說明。
當(dāng)處于VPN內(nèi)部的節(jié)點需要向處于IPv6外部網(wǎng)絡(luò)的移動節(jié)點發(fā)送信息時,則需要在VPN網(wǎng)關(guān)將需要發(fā)送給移動節(jié)點的IPv6數(shù)據(jù)包封裝上IPv4包頭,并通過所述的x-AR與VPN網(wǎng)關(guān)之間的隧道向移動節(jié)點發(fā)送,其中經(jīng)過VPN網(wǎng)關(guān)IPv4隧道封裝后的IPv4數(shù)據(jù)包頭的目的地址為x-AR的IPv4地址,源地址為VPN網(wǎng)關(guān)IPv4地址。當(dāng)x-AR接收到IPv4數(shù)據(jù)包,讀取IPv4包頭,發(fā)現(xiàn)下一包頭為IPv6,則對其解封裝,并將解除封裝獲得的IPv6數(shù)據(jù)包轉(zhuǎn)發(fā)給移動節(jié)點。具體的處理過程可以看作是由移動節(jié)點向VPN網(wǎng)關(guān)發(fā)送數(shù)據(jù)包的一個逆處理過程。
在上述處理過程中,當(dāng)移動節(jié)點處于IPv6外部網(wǎng)絡(luò)時,若移動節(jié)點要與VPN內(nèi)部節(jié)點通信,則需要建立與VPN網(wǎng)關(guān)之間的隧道,即如何建立隧道保證IPv6外部網(wǎng)絡(luò)與VPN內(nèi)部的通信是在混合網(wǎng)絡(luò)中實現(xiàn)VPN通信的關(guān)鍵。為此,下面將對移動節(jié)點處于IPv6外部網(wǎng)絡(luò)情況下,相應(yīng)的IPsec隧道的建立及數(shù)據(jù)包的轉(zhuǎn)發(fā)處理過程進行詳細說明。
在現(xiàn)有技術(shù)中,移動節(jié)點與VPN網(wǎng)關(guān)的通信支持MOBIKE的IKEv2協(xié)商,建立IPsec隧道,然后數(shù)據(jù)包在IPsec ESP(IPsec封裝安全載荷)隧道模式封裝后進行傳輸。但是,在本發(fā)明所述的應(yīng)用情景下,由于移動節(jié)點和VPN網(wǎng)關(guān)位于不同類型的網(wǎng)絡(luò)中,IKE協(xié)商的信令信息以及之后的IPsec封裝數(shù)據(jù)包均會經(jīng)過IPv6 in IPv4隧道的封裝和解封裝,因此,對于IPv6外部網(wǎng)絡(luò)中的移動節(jié)點為與VPN內(nèi)部節(jié)點通信,則需要建立相應(yīng)的兩端地址均為IPv4地址的IPsec隧道,即支持IPv6 in IPv4封裝和解封裝的隧道,通過該隧道進行IPv6 inIPv4報文的封裝傳遞。
本發(fā)明中,建立的隧道中,移動節(jié)點SA的SPI(安全參數(shù)索引)目的地址項是VPN網(wǎng)關(guān)的IPv6地址,而VPN網(wǎng)關(guān)SA的SPI目的地址項是移動節(jié)點的IPv6地址,在雙方進行IKE協(xié)商的過程中,VPN網(wǎng)關(guān)同時也獲得自己的IPv6地址,即相應(yīng)的特定前綴再加上自己的IPv4地址。
在IPsec隧道建立后,則需要通過所述隧道進行數(shù)據(jù)包的交互傳遞,下面將對相應(yīng)的數(shù)據(jù)包的轉(zhuǎn)發(fā)處理過程進行說明。
移動節(jié)點首先將上層協(xié)議的數(shù)據(jù)包進行移動IPv6封裝,源地址為VPN-TIA(VPNTunnel Inner Address,VPN隧道內(nèi)部地址),目的地址為VPN內(nèi)部的節(jié)點(包括內(nèi)部家鄉(xiāng)代理或通信節(jié)點)的地址。
之后,進行IPsec封裝,源地址為移動節(jié)點的外部網(wǎng)絡(luò)IPv6轉(zhuǎn)交地址,目的地址為VPN網(wǎng)關(guān)外部接口IPv6地址,該地址是由VPN網(wǎng)關(guān)IPv4地址加特定前綴生成的。
相應(yīng)的數(shù)據(jù)包經(jīng)過兩次封裝后IPv6數(shù)據(jù)包的結(jié)構(gòu)如表3所示,其中i-HoA是移動節(jié)點在內(nèi)部網(wǎng)絡(luò)的家鄉(xiāng)地址,x-CoA為移動節(jié)點在外部網(wǎng)絡(luò)獲得的轉(zhuǎn)交地址,VPN-GW是加上特定前綴的IPv6地址。地址前的v4/v6標記表明地址類型。
表3
由于該數(shù)據(jù)包目的地址的前綴路由已經(jīng)在IPv6網(wǎng)絡(luò)內(nèi)進行配置和發(fā)布,凡具有該地址前綴的IPv6包均指向x-AR,因此移動節(jié)點發(fā)送的IPv6數(shù)據(jù)包被路由到x-AR。
x-AR識別出其前綴為DNS-ALG發(fā)布的特定前綴,因此對該IPv6數(shù)據(jù)包進行IPv6 inIPv4隧道封裝;具體為x-AR從IPv6數(shù)據(jù)包的目的地址項中提取出VPN網(wǎng)關(guān)的IPv4地址,作為IPv4隧道包頭的目的地址,將x-AR的IPv4地址作為IPv4隧道包頭的源地址,經(jīng)過IPv4隧道封裝的IPv4數(shù)據(jù)包格式如表4所示,其中,在最外層的包頭為IPv4數(shù)據(jù)包頭,原先整個IPv6數(shù)據(jù)包作為IPv有效載荷封裝在IPv4數(shù)據(jù)包中。其中在最外層包頭的x-AR是接入路由器的IPv4地址,VPN-GW是VPN網(wǎng)關(guān)的IPv4地址。
表4
經(jīng)過隧道封裝的IPv4數(shù)據(jù)包轉(zhuǎn)發(fā)由x-AR轉(zhuǎn)發(fā)至IPv4網(wǎng)絡(luò)中。VPN網(wǎng)關(guān)接收到數(shù)據(jù)包后,先解除IPv4隧道封裝;再轉(zhuǎn)交給IPsec功能模塊,解除IPsec封裝,轉(zhuǎn)發(fā)給內(nèi)部家鄉(xiāng)代理或通信節(jié)點,實現(xiàn)移動節(jié)點和VPN內(nèi)部節(jié)點的通信。
VPN內(nèi)部節(jié)點向移動節(jié)點發(fā)送數(shù)據(jù)包的轉(zhuǎn)發(fā)和轉(zhuǎn)換完全可以看作是上述步驟的逆過程,故在這里不再贅述。
本發(fā)明在具體實現(xiàn)過程中,當(dāng)移動節(jié)點移動到IPv6外部網(wǎng)絡(luò)中時,其與VPN內(nèi)部節(jié)點之間的通信的實現(xiàn)還可以采用以下方案實現(xiàn)。
在IPv4-v6混合網(wǎng)絡(luò)中,為實現(xiàn)位于IPv6網(wǎng)絡(luò)的主機(移動節(jié)點)和位于IPv4網(wǎng)絡(luò)的主機(VPN網(wǎng)關(guān))之間的通信,除了采用IPv6 in IPv4隧道技術(shù)外,還可以采用NAT-PT(網(wǎng)絡(luò)地址轉(zhuǎn)換-協(xié)議轉(zhuǎn)換)技術(shù)實現(xiàn)。
即本發(fā)明還根據(jù)NAT-PT的基本技術(shù)和思想,將其應(yīng)用到IPv4-v6混合網(wǎng)絡(luò)中以實現(xiàn)移動VPN,進而提出了該結(jié)構(gòu)下位于IPv6網(wǎng)絡(luò)中的移動節(jié)點與位于IPv4網(wǎng)絡(luò)中的VPN網(wǎng)關(guān)的通信方案。
在IPv6外部網(wǎng)絡(luò)邊緣需要配置NAT-PT實體,即NAT-PT設(shè)備,在本發(fā)明中具體可以將NAT-PT和DNS-ALG結(jié)合為同一設(shè)備。
下面將對位于IPv6外部網(wǎng)絡(luò)中的移動節(jié)點與IPv4網(wǎng)絡(luò)中的VPN網(wǎng)關(guān)通信的具體實現(xiàn)過程進行詳細的說明。
移動節(jié)點仍然利用域名查詢的方法獲得VPN網(wǎng)關(guān)的IPv6地址,具體查詢過程在前面的敘述中已經(jīng)描述,此處不再詳述。該IPv6地址是VPN網(wǎng)關(guān)IPv4地址加上特定地址前綴。移動節(jié)點以此地址為目的地址構(gòu)造數(shù)據(jù)包。
具有該特定地址前綴的IPv6數(shù)據(jù)包會被默認路由到NAT-PT,NAT-PT根據(jù)該特定地址前綴判斷出數(shù)據(jù)包是發(fā)給IPv4網(wǎng)絡(luò)中的主機,因此對該IPv6數(shù)據(jù)包進行協(xié)議轉(zhuǎn)換。NAT-PT將接收到的IPv6包內(nèi)源地址(移動節(jié)點的轉(zhuǎn)交地址)映射到一個IPv4地址,作為轉(zhuǎn)換IPv4包的源地址,目的地址后32位作為轉(zhuǎn)換IPv4包的目的地址,對IPv6包內(nèi)各字段進行語法及語意轉(zhuǎn)換(即NAT-PT),轉(zhuǎn)換完成的IPv4數(shù)據(jù)包目的地址即為VPN網(wǎng)關(guān)的IPv4地址;NAT-PT與x-AR都是雙協(xié)議棧設(shè)備,NAT-PT將轉(zhuǎn)換完成的IPv4數(shù)據(jù)包發(fā)送到x-AR,再由x-AR將該數(shù)據(jù)包發(fā)送到IPv4網(wǎng)絡(luò)。
IPv4數(shù)據(jù)包轉(zhuǎn)換成IPv6數(shù)據(jù)包的過程是上述步驟的逆過程。當(dāng)x-AR接收到IPv4數(shù)據(jù)包,先路由至NAT-PT,NAT-PT提取IPv4包目的地址,查找地址映射表,找到與這個IPv4目的地址相對應(yīng)的IPv6地址作為IPv6數(shù)據(jù)包的目的地址;將IPv4包的源地址添加特定前綴,作為IPv6包的源地址,對IPv4包內(nèi)各字段進行語法及語意轉(zhuǎn)換,構(gòu)造IPv6數(shù)據(jù)包,最終轉(zhuǎn)發(fā)給移動節(jié)點。
下面將對在設(shè)置有NAT-PT實體情況下,為處于IPv6外部網(wǎng)絡(luò)中的移動節(jié)點為實現(xiàn)與VPN內(nèi)部通信時,需要進行的隧道的建立及數(shù)據(jù)包的轉(zhuǎn)發(fā)處理過程進行詳細的說明。
首先,隧道的建立過程如下同樣,移動節(jié)點與VPN網(wǎng)關(guān)最初的通信是支持MOBIKE的IKEv2協(xié)商,建立IPsec隧道,然后數(shù)據(jù)包在IPsec ESP隧道模式封裝后進行傳輸。由于NAT-PT的存在,IKE協(xié)商的信令信息以及之后的IPsec封裝數(shù)據(jù)包都會經(jīng)過IPv4 to IPv6或IPv6 to IPv4的轉(zhuǎn)換,移動節(jié)點SA的SPI目的地址項是VPN網(wǎng)關(guān)的IPv6地址,而VPN網(wǎng)關(guān)SA的SPI目的地址項是移動節(jié)點的IPv4地址,雙方不知道通信對端是不同于自己網(wǎng)絡(luò)類型的主機。這樣并不影響雙方隧道的建立和數(shù)據(jù)的傳輸,還為移動節(jié)點在不同類型的外部網(wǎng)絡(luò)切換帶來了方便無論移動節(jié)點處于IPv4的外部網(wǎng)絡(luò)還是IPv6的外部網(wǎng)絡(luò),VPN網(wǎng)關(guān)始終認為移動節(jié)點是處于IPv4網(wǎng)絡(luò)中的。
之后,利用隧道進行數(shù)據(jù)包的轉(zhuǎn)發(fā)的處理過程如下在IPsec隧道建立后,移動節(jié)點將上層協(xié)議的數(shù)據(jù)包首先進行移動IPv6封裝,源地址為VPN-TIA,目的地址為內(nèi)部家鄉(xiāng)代理或通信節(jié)點的地址;之后進行IPsec封裝,源地址為移動節(jié)點的外部網(wǎng)絡(luò)IPv6轉(zhuǎn)交地址,目的地址為VPN網(wǎng)關(guān)外部接口IPv6地址,該地址是由VPN網(wǎng)關(guān)IPv4地址加特定前綴生成的。移動節(jié)點位于IPv6外部網(wǎng)絡(luò)兩次封裝后的IPv6數(shù)據(jù)包結(jié)構(gòu)如表5所示,其中i-HoA是移動節(jié)點在內(nèi)部網(wǎng)絡(luò)的家鄉(xiāng)地址,x-CoA為移動節(jié)點在外部網(wǎng)絡(luò)獲得的轉(zhuǎn)交地址,VPN-GW(VPN網(wǎng)關(guān))是加上特定前綴的IPv6地址。地址前的v4/v6標記表明地址類型。
表5
該數(shù)據(jù)包路由至NAT-PT后,NAT-PT將接收到的IPv6包內(nèi)源地址(移動節(jié)點的轉(zhuǎn)交地址)映射到一個IPv4地址,作為轉(zhuǎn)換IPv4包的源地址,目的地址后32位作為轉(zhuǎn)換IPv4包的目的地址,對IPv6包內(nèi)各字段進行語法及語意轉(zhuǎn)換,構(gòu)造目的地址為VPN網(wǎng)關(guān)IPv4地址的IPv4數(shù)據(jù)包。表6為經(jīng)過NAT-PT轉(zhuǎn)換的IPv4數(shù)據(jù)包格式,這時最外層的IPsec包頭已經(jīng)轉(zhuǎn)換為IPv4地址。其中x-CoA是移動節(jié)點由IPv6轉(zhuǎn)交地址映射得到的IPv4轉(zhuǎn)交地址,VPN-GW是VPN網(wǎng)關(guān)的IPv4地址。
經(jīng)過NAT-PT轉(zhuǎn)換后的IPv4數(shù)據(jù)包的結(jié)構(gòu)如表6所示表6
經(jīng)過NAT-PT轉(zhuǎn)換的IPv4數(shù)據(jù)包轉(zhuǎn)發(fā)至x-AR,再由x-AR轉(zhuǎn)發(fā)至IPv4網(wǎng)絡(luò)中。VPN網(wǎng)關(guān)接收到數(shù)據(jù)包后,解除IPsec封裝,再轉(zhuǎn)發(fā)給內(nèi)部家鄉(xiāng)代理或通信節(jié)點,實現(xiàn)移動節(jié)點和VPN內(nèi)部節(jié)點的通信。
VPN內(nèi)部節(jié)點向移動節(jié)點發(fā)送數(shù)據(jù)包的轉(zhuǎn)發(fā)和轉(zhuǎn)換完全是上述步驟的逆過程,在這里不再贅述。
在本發(fā)明中,移動節(jié)點的移動性決定了本發(fā)明在具體實現(xiàn)過程中還包括移動節(jié)點在不同類型網(wǎng)絡(luò)間的切換和SA地址的更新的處理過程,下面將對這一過程進行詳細的說明。
IPv4-v6混合網(wǎng)絡(luò)存在著支持移動IPv4的IPv4外部網(wǎng)絡(luò)和支持移動IPv6的IPv6外部網(wǎng)絡(luò),異類網(wǎng)絡(luò)是指分別為IPv4與IPv6的網(wǎng)絡(luò),同類網(wǎng)絡(luò)是指同為IPv4網(wǎng)絡(luò)或同為IPv6網(wǎng)絡(luò)。
在移動節(jié)點利用IPsec隧道接入VPN后,可能會在不同的網(wǎng)絡(luò)之間移動。本發(fā)明中,當(dāng)移動節(jié)點位于內(nèi)部網(wǎng)絡(luò)時,則可以使用標準的移動IPv6通信;當(dāng)移動節(jié)點從內(nèi)部網(wǎng)絡(luò)漫游至外部網(wǎng)絡(luò)時,則需要建立IPsec隧道與VPN內(nèi)部節(jié)點進行通信;在移動節(jié)點離開現(xiàn)在的外部網(wǎng)絡(luò)進入一個新的異類或同類的外部網(wǎng)絡(luò)后,能夠通過MOBIKE協(xié)議,使用新獲得的轉(zhuǎn)交地址更新SA地址,保持原有的IPsec隧道,繼續(xù)和VPN內(nèi)部節(jié)點的通信。
在移動節(jié)點的轉(zhuǎn)交地址發(fā)生改變后,為避免再次協(xié)商,以利用原有的IPsec隧道繼續(xù)通信,本發(fā)明中需要采用MOBIKE協(xié)議實現(xiàn)IPsec協(xié)議對節(jié)點移動性的支持,從而允許在移動節(jié)點轉(zhuǎn)交地址發(fā)生變化后通過SA地址更新繼續(xù)保持原有的IPsec隧道進行通信。
為清楚說明本發(fā)明中的這一技術(shù)要點,下面首先對現(xiàn)有的MOBIKE協(xié)議進行介紹。
MOBIKE,是基于IKEv2的擴展協(xié)議,有效支持了IPsec隧道通信兩端的移動性。MOBIKE允許隧道兩端的節(jié)點在保持IKE SA和IPsec SA的情況下更新其IP地址,也就是說在隧道兩端的節(jié)點IP地址改變后仍可以保持原有的IPsec隧道,無需重新進行協(xié)商。MOBIKE協(xié)議的一個重要應(yīng)用場景就是IPsec VPN的移動節(jié)點在外部網(wǎng)絡(luò)改變其轉(zhuǎn)交地址后仍與VPN網(wǎng)關(guān)保持原有的IPsec隧道。
MOBIKE支持通信的雙方具有多個地址,并且由IKE_SA(因特網(wǎng)密鑰交換-安全聯(lián)盟)的發(fā)起者決定使用的隧道的端地址對。在更新IPsec SA地址的時,也是由IKE_SA的發(fā)起者來發(fā)出更新地址請求。MOBIKE這樣的設(shè)置非常適合移動VPN的應(yīng)用場景。在移動VPN中,往往是移動節(jié)點在外部網(wǎng)絡(luò)時向VPN網(wǎng)關(guān)發(fā)起IKE協(xié)商,建立IPsec隧道。在移動節(jié)點轉(zhuǎn)交地址發(fā)生改變后,由移動節(jié)點發(fā)起更新地址請求,開始更新IKE SA和IPsec SAs(IPsec安全聯(lián)盟組)中移動節(jié)點的地址。
由于MOBIKE是IKEv2的擴展協(xié)議,因此,其實現(xiàn)均為在IKEv2的協(xié)商交換中完成的。MOBIKE定義了一些新的通告載荷,在IKEv2的三種交換類型(IKE_SA交換,IPsec SA交換以及信息交換)的協(xié)商交換過程中使用所述新的通告載荷實現(xiàn)MOBIKE支持的功能。
如果希望在建立好的IPsec隧道中支持MOBIKE協(xié)議,首先要在IKE_SA初始化的時候,在IKE_AUTH(IKE初始化的認證交換)交換中加入MOBIKE_SUPPORTED(支持MOBIKE)通告載荷,表明節(jié)點雙方均支持MOBIKE協(xié)議。
MOBIKE協(xié)議支持通信兩端的實體同時擁有多個地址,發(fā)起方和響應(yīng)方可以在IKE_AUTH交換(即IKEv2初始化交換的后兩條消息)中加入ADDITIONAL_IPv4_ADDRESS(加入IPv4地址)或ADDITIONAL_IPv6_ADDRESS(加入IPv6地址)通告載荷。
在實現(xiàn)MOBIKE協(xié)議時,相應(yīng)的IPsec SAs的地址的更新過程如下在MOBIKE中,IKE_SA的發(fā)起方?jīng)Q定IPsec SAs中使用的地址。也就是說,響應(yīng)方只有在收到來自發(fā)起方顯性的UPDATE_SA_ADDRESSES(更新SA地址)請求后,才更新IPsec SAs的IP地址。當(dāng)發(fā)起方確定要更新地址后,更新IKE_SA和IPsec SAs中的IP地址,在IKE_SA中設(shè)置“pending_update(綁定更新)”標記;如果有發(fā)送至響應(yīng)方但還未收到應(yīng)答的IKEv2請求,使用更新后的IP地址重新傳輸該請求;當(dāng)window size允許時,發(fā)送一個包含UPDATE_SA_ADDRESSES通告載荷的消息交換請求,并且清除“pending_update”標記;如果在等待消息交換應(yīng)答的期間地址又發(fā)生了改變,就再次從第一步開始并忽略返回的應(yīng)答消息。
在處理包含UPDATE_SA_ADDRESSES的消息交換請求時,相應(yīng)的響應(yīng)方具體需要進行如下的處理過程1、由于若響應(yīng)方使用大于1的window size,有可能接收的請求次序顛倒,因此,需要檢查是否收到過比該消息還新的UPDATE_SA_ADDRESSES請求如果有,僅回復(fù)一個應(yīng)答,不進行其它動作;2、根據(jù)本地策略檢查IP包頭的源地址和目的地址是否可接受,如果不可,返回一個應(yīng)答包含UNACCEPTABLE_ADDRESS通告載荷,表明不可接受;3、使用發(fā)起方發(fā)送的IP包頭中的IP地址來更新IKE_SA中的IP地址;4、回復(fù)一個信息交換應(yīng)答表明已經(jīng)更新完畢;當(dāng)發(fā)起方收到應(yīng)答后,則需要進行了相應(yīng)處理過程如下1、如果在該應(yīng)答到來之前IP地址又發(fā)生了改變,不對該應(yīng)答作任何處理,發(fā)送一個新的UPDATE_SA_ADDRESSES請求;2、如果應(yīng)答包含UNACCEPTABLE_ADDRESSES通告載荷,發(fā)起方可以選取其他的地址再重新交換,或繼續(xù)使用現(xiàn)在的地址,或斷開連接。
在MOBIKE協(xié)議中,還包括返回路由可達性檢查(Return Routability Check)功能,具體為無論發(fā)起方還是響應(yīng)方,都可以有選擇的來證實使用現(xiàn)在的地址對方是否能夠收到數(shù)據(jù)包。返回路由可達性檢查可在更新IPsec SAs之前或之后,或是在正常連接期間實行。在默認情況下,完成IPsec SAs的更新之后需要進行返回路由可達性檢查。一方發(fā)起一個IKE信息交換請求,包含著一個cookie2通告載荷;另一方在收到該信息交換請求后,發(fā)送信息交換應(yīng)答,復(fù)制收到的cookie2通告載荷并包含在信息交換應(yīng)答中;發(fā)起方收到信息交換應(yīng)答后,檢查收到的cookie2通告載荷是否與自己發(fā)送的完全相同,從而完成返回路由可達性檢查。
介紹了MOBIKE協(xié)議后,下面將對移動節(jié)點的網(wǎng)絡(luò)切換和SA地址更新過程進行描述。
移動節(jié)點在外部網(wǎng)絡(luò)的切換可以分為兩種情況同類網(wǎng)絡(luò)間的切換,所述的同類網(wǎng)絡(luò)間的切換是指移動節(jié)點從一個IPv4外部網(wǎng)絡(luò)漫游至另一個IPv4外部網(wǎng)絡(luò),或從一個IPv6外部網(wǎng)絡(luò)漫游至另一個IPv6外部網(wǎng)絡(luò);異類網(wǎng)絡(luò)間的切換,所述的異類網(wǎng)絡(luò)間的切換是指移動節(jié)點從一個IPv4外部網(wǎng)絡(luò)漫游至一個IPv6外部網(wǎng)絡(luò),或從一個IPv6外部網(wǎng)絡(luò)漫游至一個IPv4外部網(wǎng)絡(luò)。
另外,移動節(jié)點從IPv6內(nèi)部網(wǎng)絡(luò)漫游至外部網(wǎng)絡(luò)可分為移動到IPv4外部網(wǎng)絡(luò)和移動IPv6外部網(wǎng)絡(luò)兩種情況。
下面分別就各種情況下移動節(jié)點的配置和SA地址更新進行說明。
(一)移動節(jié)點位于內(nèi)部網(wǎng)絡(luò)移動節(jié)點位于內(nèi)部網(wǎng)絡(luò),如果不在家鄉(xiāng)網(wǎng)絡(luò)中,通過標準的移動IPv6與VPN內(nèi)部家鄉(xiāng)代理和通信節(jié)點進行通信。位于內(nèi)部網(wǎng)絡(luò)中的移動節(jié)點在移動過程中,當(dāng)IP地址發(fā)生了變化時,則需要進行的處理包括(1)立即停止與VPN內(nèi)部其它節(jié)點的通信,如果獲得了IPv4轉(zhuǎn)交地址,則確定移動節(jié)點此時位于一個IPv4外部網(wǎng)絡(luò)中,開始使用該IPv4轉(zhuǎn)交地址與VPN網(wǎng)關(guān)進行支持MOBIKE的IKE協(xié)商,建立IPsec隧道;(2)移動節(jié)點使用VPN網(wǎng)關(guān)生成的VPN-TIA作為內(nèi)部MIPv6轉(zhuǎn)交地址通過IPsec隧道向i-HA(內(nèi)部家鄉(xiāng)代理)發(fā)送注冊請求,在收到注冊應(yīng)答后通過建立的IPsec隧道與內(nèi)部網(wǎng)絡(luò)節(jié)點通信;(3)如果移動節(jié)點獲得了IPv6轉(zhuǎn)交地址,利用域名解析的方式間接查詢VPN網(wǎng)關(guān)的IPv6地址,具體查詢過程前面已經(jīng)描述,此處不再描述;(4)在執(zhí)行步驟(3)的同時,移動節(jié)點還需要向VPN內(nèi)部家鄉(xiāng)代理發(fā)送一個標準的移動IPv6注冊請求;(5)移動節(jié)點根據(jù)是否收到相應(yīng)的移動IPv6注冊應(yīng)答進行相應(yīng)的通信處理;(51)如果移動節(jié)點收到對應(yīng)步驟(4)中的移動IPv6注冊請求的移動IPv6注冊應(yīng)答,則確定移動節(jié)點目前所在的網(wǎng)絡(luò)仍是VPN內(nèi)部網(wǎng)絡(luò),這樣,在完成注冊更新后,移動節(jié)點可以使用新的IPv6轉(zhuǎn)交地址與VPN內(nèi)部節(jié)點通信;(52)如果沒有收到對應(yīng)步驟(4)中的移動IPv6注冊請求的移動IPv6注冊應(yīng)答,并且查詢VPN網(wǎng)關(guān)的IPv6地址成功,此時移動節(jié)點應(yīng)當(dāng)是位于一個IPv6外部網(wǎng)絡(luò),使用新的IPv6地址與VPN網(wǎng)關(guān)進行支持MOBIKE的IKE協(xié)商,建立IPsec隧道;在步驟(52)中,具體的建立IPsec隧道的過程為移動節(jié)點使用VPN網(wǎng)關(guān)生成的VPN-TIA作為內(nèi)部移動IPv6轉(zhuǎn)交地址,通過IPsec隧道向內(nèi)部家鄉(xiāng)代理發(fā)送注冊請求,在收到注冊應(yīng)答后通過建立的IPsec隧道與內(nèi)部網(wǎng)絡(luò)節(jié)點通信。
(二)移動節(jié)點位于外部網(wǎng)絡(luò)移動節(jié)點在外部網(wǎng)絡(luò)時,建立了IPsec隧道,通過IPsec隧道與VPN內(nèi)部節(jié)點進行通信。移動節(jié)點位于IPv4外部網(wǎng)絡(luò)和位于IPv6外部網(wǎng)絡(luò)所采取的配置不盡相同,相比之下,移動節(jié)點位于IPv6外部網(wǎng)絡(luò)需要進行IPv6 in IPv4隧道封裝,更為復(fù)雜。
下面分別就移動節(jié)點在IPv4外部網(wǎng)絡(luò)的漫游和在IPv6外部網(wǎng)絡(luò)的漫游分別進行說明。
1、移動節(jié)點位于IPv4外部網(wǎng)絡(luò)移動節(jié)點位于IPv4外部網(wǎng)絡(luò)時,通過獲得的IPv4轉(zhuǎn)交地址作為隧道本端的地址,與VPN網(wǎng)關(guān)進行支持MOBIKE的IKE協(xié)商,建立IPsec隧道,通過IPsec隧道與VPN內(nèi)部節(jié)點進行通信。移動節(jié)點在IPv4外部網(wǎng)絡(luò)中移動,IP地址發(fā)生變化時,需要進行的處理包括(1)立即停止與VPN內(nèi)部節(jié)點的通信,如果獲得了IPv4轉(zhuǎn)交地址,說明移動節(jié)點進入了另一個IPv4外部網(wǎng)絡(luò),開始初始化MOBIKE,進行SA地址更新,更新后SA的端點地址為移動節(jié)點新的IPv4轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv4地址;(2)如果移動節(jié)點獲得了IPv6轉(zhuǎn)交地址,利用域名解析的方式間接查詢VPN網(wǎng)關(guān)的IPv6地址;(3)在執(zhí)行步驟(2)的同時,移動節(jié)點還需要向VPN內(nèi)部家鄉(xiāng)代理發(fā)送一個標準的移動IPv6注冊請求;
(4)移動節(jié)點根據(jù)是否返回相應(yīng)的注冊應(yīng)答進行相應(yīng)的通信處理;(41)如果移動節(jié)點收到對應(yīng)步驟(3)中的移動IPv6注冊請求對應(yīng)的移動IPv6注冊應(yīng)答,則確定移動節(jié)點現(xiàn)在進入了VPN內(nèi)部網(wǎng)絡(luò),在完成注冊更新后,移動節(jié)點可以使用新的IPv6轉(zhuǎn)交地址與VPN內(nèi)部節(jié)點通信;(42)如果沒有收到對應(yīng)步驟(3)中的移動IPv6注冊請求對應(yīng)的MIPv6(移動IPv6)注冊應(yīng)答,并且查詢VPN網(wǎng)關(guān)的IPv6地址成功,此時移動節(jié)點位于一個IPv6外部網(wǎng)絡(luò),開始初始化MOBIKE,進行SA地址更新,更新后SA端點地址為移動節(jié)點新獲得的IPv6轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv6地址;在執(zhí)行步驟(42)完成IKE SA和IPsec SAs地址更新后,移動節(jié)點繼續(xù)通過IPsec隧道與VPN內(nèi)部節(jié)點通信。
針對所述SA地址需要說明的是由于移動節(jié)點從IPv4外部網(wǎng)絡(luò)移動至IPv6外部網(wǎng)絡(luò),移動節(jié)點的目的地址和源地址(也就是SA的端點地址)都發(fā)生改變,移動節(jié)點將它們更新為IPv6地址;對于VPN網(wǎng)關(guān),是在收到UPDATE_SA_ADDRESSES(更新安全聯(lián)盟地址)通告載荷后根據(jù)IP包的地址進行更新,因此VPN網(wǎng)關(guān)認為SA的端點地址發(fā)生了變化,將更新為移動節(jié)點和VPN網(wǎng)關(guān)的IPv6地址。
2、移動節(jié)點位于IPv6外部網(wǎng)絡(luò)移動節(jié)點位于IPv6外部網(wǎng)絡(luò)時,獲得IPv6轉(zhuǎn)交地址,通過域名解析方式查詢到VPN網(wǎng)關(guān)的IPv6地址。接著發(fā)起支持MOBIKE的IKE協(xié)商,建立IPsec隧道。通過IPsec隧道與VPN內(nèi)部節(jié)點進行通信。移動節(jié)點在IPv6外部網(wǎng)絡(luò)中移動,IP地址發(fā)生變化時,需要進行的處理包括(1)立即停止與VPN內(nèi)部節(jié)點的通信,如果獲得了IPv4轉(zhuǎn)交地址,說明移動節(jié)點進入了另一個IPv4外部網(wǎng)絡(luò),開始初始化MOBIKE,進行SA地址更新,更新后SA的端點地址為移動節(jié)點新的IPv4轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv4地址;(2)如果移動節(jié)點獲得了IPv6轉(zhuǎn)交地址,利用域名解析的方式間接查詢VPN網(wǎng)關(guān)的IPv6地址;(3)與步驟(2)同時向VPN內(nèi)部家鄉(xiāng)代理發(fā)送一個標準的移動IPv6注冊請求;(4)移動節(jié)點根據(jù)是否返回注冊應(yīng)答的情況進行相應(yīng)的通信處理;(41)如果移動節(jié)點收到對應(yīng)步驟(3)中的移動IPv6注冊請求對應(yīng)的移動IPv6注冊應(yīng)答,則確定移動節(jié)點現(xiàn)在進入了VPN內(nèi)部網(wǎng)絡(luò),在完成注冊更新后,移動節(jié)點能夠使用新的IPv6轉(zhuǎn)交地址與VPN內(nèi)部節(jié)點通信;(42)如果沒有收到對應(yīng)步驟(3)中的移動IPv6注冊請求對應(yīng)的MIPv6注冊應(yīng)答,并且查詢VPN網(wǎng)關(guān)的IPv6地址成功,此時移動節(jié)點位于一個IPv6外部網(wǎng)絡(luò),開始初始化MOBIKE,進行SA地址更新,更新后的SA端點地址為移動節(jié)點新獲得的IPv6轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv6地址;在執(zhí)行所述步驟(42)完成IKE SA和IPsec SAs地址更新后,移動節(jié)點繼續(xù)通過IPsec隧道與VPN內(nèi)部節(jié)點通信。
本發(fā)明中在進行SA地址更新的過程中需要考慮相應(yīng)的安全性問題,具體為在更新SA地址時,可能會受到一些來自網(wǎng)絡(luò)中第三方的安全威脅。MOBIKE協(xié)議在考慮安全因素的情況下設(shè)計了兩種保障機制第一,返回路由可達性檢查(“return routability”check)可以用來檢查雙方節(jié)點提供的地址的可達性,這避免了大量的通信流量傳入第三方;第二,NAT禁止(NAT prohibition)使得IP地址不能被任何NAT,IPv4/v6轉(zhuǎn)換,或其它類似設(shè)備修改。
這一特性主要使用在管理員已經(jīng)知道兩節(jié)點之間不存在任何NAT設(shè)備,所以任何對數(shù)據(jù)包的修改都認為是一種攻擊。
在本發(fā)明中,在每次SA地址更新之后,還未恢復(fù)數(shù)據(jù)流的通信之前,加入返回路由可達性檢查,確保更新后的地址是安全可路由的。在移動節(jié)點進入IPv4外部網(wǎng)絡(luò)或是IPv6外部網(wǎng)絡(luò)中,認為移動節(jié)點和VPN網(wǎng)關(guān)之間不存在任何必要的NAT設(shè)備,因此,可以使用NAT禁止來保護數(shù)據(jù)包不被修改。
綜上所述,本發(fā)明利用MOBIKE協(xié)議更新SA的地址項,配合VPN網(wǎng)關(guān)指派給移動節(jié)點VPN-TIA地址的方法,成功解決了現(xiàn)有技術(shù)中提及的兩個問題。并提出在IPv4向IPv6過渡時期,采用IPv4為骨干網(wǎng)絡(luò)的IPv4-v6混合環(huán)境下,移動節(jié)點實現(xiàn)接入VPN服務(wù),以及保持正常通信前提下網(wǎng)絡(luò)間切換。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明保護范圍應(yīng)該以權(quán)利要求保護范圍為準。
權(quán)利要求
1.一種混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,該方法應(yīng)用于包括IPv4網(wǎng)絡(luò)和移動虛擬專用網(wǎng)VPN內(nèi)部的IPv6網(wǎng)絡(luò)的混合網(wǎng)絡(luò)中,且在所述的混合網(wǎng)絡(luò)中設(shè)置VPN的VPN網(wǎng)關(guān),所述的VPN網(wǎng)關(guān)提供有IPv6地址的內(nèi)部接口和IPv4地址的外部接口,該方法包括A、在所述的VPN網(wǎng)關(guān)與外部網(wǎng)絡(luò)之間建立用于傳輸外部網(wǎng)絡(luò)與VPN內(nèi)部的IPv6網(wǎng)絡(luò)之間交互的VPN報文的隧道,所述的隧道兩端地址分別為外部網(wǎng)絡(luò)的IPv4地址和VPN網(wǎng)關(guān)提供的外部接口的IPv4地址;B、將需要傳送的VPN報文封裝上IPv4報頭后通過所述隧道傳送,在混合網(wǎng)絡(luò)中實現(xiàn)VPN業(yè)務(wù)的交互。
2.根據(jù)權(quán)利要求1所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的外部網(wǎng)絡(luò)為IPv4外部網(wǎng)絡(luò)或IPv6外部網(wǎng)絡(luò)。
3.根據(jù)權(quán)利要求2所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟A包括A1、在所述的VPN網(wǎng)關(guān)與位于IPv6外部網(wǎng)絡(luò)中的獲得轉(zhuǎn)交地址的移動節(jié)點之間建立IPsec隧道之后,VPN網(wǎng)關(guān)與IPv6外部網(wǎng)絡(luò)中的接入路由器建立用于傳輸IPv6報文的IPv6 inIPv4隧道,該隧道將IPv6報文封裝于IPv4報文中,隧道兩端地址分別為IPv6外部網(wǎng)絡(luò)接入路由器的IPv4地址和VPN網(wǎng)關(guān)外部接口的IPv4地址;或者,A2、在所述的VPN網(wǎng)關(guān)與位于IPv4外部網(wǎng)絡(luò)中的獲得轉(zhuǎn)交地址的移動節(jié)點之間建立IPsec協(xié)議隧道。
4.根據(jù)權(quán)利要求3所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的IPsec協(xié)議隧道為支持因特網(wǎng)密鑰交換移動與多接口協(xié)議MOBIKE的IPsec隧道。
5.根據(jù)權(quán)利要求3所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟A1包括A11、移動到IPv6外部網(wǎng)絡(luò)中的移動節(jié)點根據(jù)在IPv6網(wǎng)絡(luò)中保存的用于解析VPN網(wǎng)關(guān)的IPv4地址的域名服務(wù)器DNS的地址信息發(fā)起DNS請求;A12、所述的DNS收到所述的DNS請求后,向移動節(jié)點返回DNS應(yīng)答消息,所述應(yīng)答消息中包括VPN網(wǎng)關(guān)的IPv4地址信息;A13、所述移動節(jié)點及IPv6網(wǎng)絡(luò)獲取VPN網(wǎng)關(guān)的IPv4地址信息。
6.根據(jù)權(quán)利要求5所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟A11包括所述移動節(jié)點向所在的IPv6網(wǎng)絡(luò)中的DNS發(fā)起VPN網(wǎng)關(guān)的DNS請求,所述的請求到達IPv6網(wǎng)絡(luò)中的DNS后,將被轉(zhuǎn)發(fā)到IPv6網(wǎng)絡(luò)中設(shè)置的域名服務(wù)器應(yīng)用層網(wǎng)關(guān)DNS-ALG;DNS-ALG根據(jù)其保存的DNS服務(wù)器信息確定用于解析VPN網(wǎng)關(guān)的IPv4地址的DNS,并將所述的DNS請求轉(zhuǎn)換為IPv4格式的DNS請求發(fā)送給確定的所述DNS。
7.根據(jù)權(quán)利要求6所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟A13包括在DNS-ALG接收到返回的DNS應(yīng)答消息后,保存VPN網(wǎng)關(guān)的IPv4地址信息,并將該IPv4地址增加前綴轉(zhuǎn)換為IPv6格式的IPv6地址發(fā)送給移動節(jié)點,移動節(jié)點將該IPv6地址作為VPN網(wǎng)關(guān)的地址信息。
8.根據(jù)權(quán)利要求1至7任一項所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟B包括B1、位于IPv6外部網(wǎng)絡(luò)中的移動節(jié)點構(gòu)造所述的VPN網(wǎng)關(guān)對應(yīng)的IPv6地址的報文,并發(fā)送給IPv6網(wǎng)絡(luò)的外部接入路由器;B2、所述的外部接入路由器收到來自移動節(jié)點的IPv6報文,為該報文添加IPv4報文頭,報文頭中承載的是VPN網(wǎng)關(guān)的IPv4地址,并通過所述的隧道發(fā)送給所述的VPN網(wǎng)關(guān);B3、VPN網(wǎng)關(guān)解析接收到的報文,對該IPv4報文解封裝還原為IPv6報文,并繼續(xù)傳遞所述IPv6報文。
9.根據(jù)權(quán)利要求1至7任一項所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟B包括B4、位于IPv6外部網(wǎng)絡(luò)中的移動節(jié)點構(gòu)造所述的VPN網(wǎng)關(guān)對應(yīng)的IPv6地址的報文,并發(fā)送給網(wǎng)絡(luò)地址轉(zhuǎn)換-協(xié)議轉(zhuǎn)換NAT-PT實體;B5、所述的NAT-PT將所述的IPv6報文中的IPv6地址轉(zhuǎn)換為IPv4地址,并發(fā)送給外部接入路由器,由所述外部接入路由器通過所述的隧道將該報文發(fā)送給所述的VPN網(wǎng)關(guān);B6、VPN網(wǎng)關(guān)解析接收到的報文,并繼續(xù)傳遞所述報文。
10.根據(jù)權(quán)利要求3所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟A2包括A21、當(dāng)移動節(jié)點移動到IPv4外部網(wǎng)絡(luò)中后,獲得IPv4網(wǎng)絡(luò)的轉(zhuǎn)交地址;A22、移動節(jié)點與VPN網(wǎng)關(guān)之間進行協(xié)商建立所述的IPsec隧道,隧道的兩端的地址分別為所述轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv4地址。
11.根據(jù)權(quán)利要求10所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟A22包括在移動節(jié)點與VPN網(wǎng)關(guān)之間進行因特網(wǎng)密鑰交換IKE協(xié)商過程中,VPN網(wǎng)關(guān)將為移動節(jié)點確定一個VPN隧道內(nèi)部地址,作為移動點向VPN內(nèi)部注冊的移動IPv6轉(zhuǎn)交地址。
12.根據(jù)權(quán)利要求1、2、3、10或11所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟B包括處于IPv4網(wǎng)絡(luò)中的移動節(jié)點將數(shù)據(jù)包首先進行移動IPv6封裝,之后,再根據(jù)建立的隧道進行IPsec封裝,并通過建立的隧道向所述的VPN網(wǎng)關(guān)發(fā)送封裝有IPv4報頭的VPN業(yè)務(wù)報文。
13.根據(jù)權(quán)利要求12所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟B中還包括移動節(jié)點將數(shù)據(jù)包進行移動IPv6封裝時,相應(yīng)的源地址為所述的VPN隧道內(nèi)部地址,目的地址為VPN內(nèi)部的節(jié)點的地址。
14.根據(jù)權(quán)利要求1至7任一項所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,當(dāng)位于VPN內(nèi)部網(wǎng)絡(luò)中的移動節(jié)點在移動過程中IP地址發(fā)生變化時,則立即停止與VPN內(nèi)部其它節(jié)點的通信,且所述的方法還包括C1、若移動節(jié)點獲得IPv4轉(zhuǎn)交地址,則使用所述IPv4轉(zhuǎn)交地址與VPN網(wǎng)關(guān)進行支持MOBIKE的IKE協(xié)商,建立IPsec隧道;移動節(jié)點使用VPN網(wǎng)關(guān)提供的內(nèi)部IPv6轉(zhuǎn)交地址通過所述隧道向內(nèi)部家鄉(xiāng)代理發(fā)起注冊,并在收到注冊應(yīng)用答后通過所述隧道與VPN網(wǎng)絡(luò)節(jié)點通信;或者,C2、若移動節(jié)點獲得IPv6轉(zhuǎn)交地址,則利用域名解析的方式間接查詢VPN網(wǎng)關(guān)的IPv6地址,之后,移動節(jié)點向VPN內(nèi)部家鄉(xiāng)代理發(fā)送一個標準的移動IPv6注冊請求;當(dāng)接收到IPv6注冊應(yīng)答時,確定移動節(jié)點位于VPN內(nèi)部,移動節(jié)點使用新的IPv6轉(zhuǎn)交地址與VPN內(nèi)部節(jié)點通信。
15.根據(jù)權(quán)利要求14所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟C2還包括若移動節(jié)點未收到所述的移動IPv6注冊應(yīng)答,且查詢VPN網(wǎng)關(guān)的IPv6地址成功,確定移動節(jié)點位于VPN外部的IPv6網(wǎng)絡(luò)中,則使用新的IPv6地址與VPN網(wǎng)關(guān)進行支持MOBIKE的IKE協(xié)商,建立IPsec隧道;移動節(jié)點使用VPN網(wǎng)關(guān)提供的內(nèi)部IPv6轉(zhuǎn)交地址,通過IPsec隧道向內(nèi)部家鄉(xiāng)代理發(fā)送注冊請求,在收到注冊應(yīng)答后通過建立的IPsec隧道與內(nèi)部網(wǎng)絡(luò)節(jié)點通信。
16.根據(jù)權(quán)利要求1至7任一項所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,當(dāng)原處于IPv4外部網(wǎng)絡(luò)中的移動節(jié)點在移動過程中IP地址發(fā)生變化時,則停止與VPN內(nèi)部節(jié)點的通信,且所述的方法還包括D1、若移動節(jié)點獲得IPv4轉(zhuǎn)交地址,確定移動節(jié)點移動至另一個IPv4外部網(wǎng)絡(luò)中,則開始初始化MOBIKE,并進行SA地址更新,更新后SA的端點地址為移動節(jié)點新的IPv4轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv4地址,移動節(jié)點繼續(xù)通過所述隧道與VPN內(nèi)部節(jié)點通信;或者,D2、若移動節(jié)點獲得IPv6轉(zhuǎn)交地址,則利用域名解析的方式間接查詢VPN網(wǎng)關(guān)的IPv6地址;之后,移動節(jié)點向VPN內(nèi)部家鄉(xiāng)代理發(fā)送一個標準的移動IPv6注冊請求,并在收到移動IPv6注冊應(yīng)答后,確定移動節(jié)點移動至VPN內(nèi)部網(wǎng)絡(luò)中,使用新的IPv6轉(zhuǎn)交地址與VPN內(nèi)部節(jié)點通信。
17.根據(jù)權(quán)利要求16所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟D2還包括若移動節(jié)點未收到所述的移動IPv6注冊應(yīng)答,并且查詢VPN網(wǎng)關(guān)的IPv6地址成功,確定移動節(jié)點移動至IPv6外部網(wǎng)絡(luò)中,則開始初始化MOBIKE,進行SA地址更新,更新后SA端點地址為移動節(jié)點新獲得的IPv6轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv6地址,移動節(jié)點繼續(xù)通過所述隧道與VPN內(nèi)部節(jié)點通信。
18.根據(jù)權(quán)利要求1至7任一項所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,當(dāng)原處于IPv6外部網(wǎng)絡(luò)中的移動節(jié)點在移動過程中IP地址發(fā)生變化時,則停止與VPN內(nèi)部節(jié)點的通信,且所述的方法還包括E1、若移動節(jié)點獲得IPv4轉(zhuǎn)交地址,確定移動節(jié)點移動至IPv4外部網(wǎng)絡(luò)中,則開始初始化MOBIKE,進行SA地址更新,更新后SA的端點地址為移動節(jié)點新的IPv4轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv4地址,移動節(jié)點繼續(xù)通過所述隧道與VPN內(nèi)部節(jié)點通信;或者,E2、若移動節(jié)點獲得IPv6轉(zhuǎn)交地址,則利用域名解析的方式間接查詢VPN網(wǎng)關(guān)的IPv6地址;之后,移動節(jié)點向VPN內(nèi)部家鄉(xiāng)代理發(fā)送一個標準的移動IPv6注冊請求,并在收到相應(yīng)的移動IPv6注冊應(yīng)答后,確定移動節(jié)點移動至VPN內(nèi)部網(wǎng)絡(luò)中,移動節(jié)點使用新的IPv6轉(zhuǎn)交地址與VPN內(nèi)部節(jié)點通信。
19.根據(jù)權(quán)利要求18所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法,其特征在于,所述的步驟E2還包括若移動節(jié)點未收到對應(yīng)的移動IPv6注冊應(yīng)答,并且查詢VPN網(wǎng)關(guān)的IPv6地址成功,確定移動節(jié)點移動至另一個IPv6外部網(wǎng)絡(luò)中,則開始初始化MOBIKE,進行SA地址更新,更新后的SA端點地址為移動節(jié)點新獲得的IPv6轉(zhuǎn)交地址和VPN網(wǎng)關(guān)的IPv6地址,移動節(jié)點繼續(xù)通過所述隧道與VPN內(nèi)部節(jié)點通信。
20.一種混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的系統(tǒng),其特征在于,包括IPv4外部網(wǎng)絡(luò)、IPv6外部網(wǎng)絡(luò)和VPN網(wǎng)關(guān),所述的VPN內(nèi)部網(wǎng)絡(luò)為IPv6網(wǎng)絡(luò),所述的VPN網(wǎng)關(guān)提供的內(nèi)部接口為IPv6接口,外部接口為IPv4接口,所述的系統(tǒng)還包括隧道建立模塊用于在所述的VPN網(wǎng)關(guān)與外部網(wǎng)絡(luò)之間建立用于傳輸兩網(wǎng)絡(luò)之間交互的VPN報文的隧道,且所述的隧道的兩端地址分別為外部網(wǎng)絡(luò)的IPv4地址和VPN網(wǎng)關(guān)提供的外部接口的IPv4地址;報文封裝傳送模塊設(shè)置于所述隧道的兩端,用于將待發(fā)送的VPN報文封裝上IPv4報文頭,并通過所述的隧道發(fā)送給對端。
21.根據(jù)權(quán)利要求20所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的系統(tǒng),其特征在于,在IPv6外部網(wǎng)絡(luò)中,所述系統(tǒng)還包括DNS-ALG配置為IPv4和IPv6雙協(xié)議棧,用于在通過IPv6外部網(wǎng)絡(luò)開展VPN業(yè)務(wù)過程中提供所述的VPN網(wǎng)關(guān)對應(yīng)的IPv6地址;IPv6網(wǎng)絡(luò)中的DNS配置為IPv4和IPv6雙協(xié)議棧,其配置上級DNS為所述的DNS-ALG;外部接入路由器配置為IPv4和IPv6雙協(xié)議棧,用于實現(xiàn)將IPv6報文封裝上IPv4報文頭的功能,同時,用于解封裝相應(yīng)的報文。
22.根據(jù)權(quán)利要求20所述的混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的系統(tǒng),其特征在于,在IPv6外部網(wǎng)絡(luò)中,所述的系統(tǒng)還包括DNS-ALG配置為IPv4和IPv6雙協(xié)議棧,用于提供所述的VPN網(wǎng)關(guān)對應(yīng)的IPv6地址;IPv6網(wǎng)絡(luò)中的DNS在DNS中配置其上級DNS為所述的DNS-ALG;NAT-PT實體用于與外部接入路由器之間進行通信,并對經(jīng)過該實體的報文進行相應(yīng)的IPv6地址與IPv4地址之間的轉(zhuǎn)換;外部接入路由器用于將經(jīng)過NAT-PT實體轉(zhuǎn)換后的報文發(fā)送給VPN網(wǎng)關(guān),并接收VPN網(wǎng)關(guān)發(fā)來的報文。
全文摘要
本發(fā)明涉及一種混合網(wǎng)絡(luò)中實現(xiàn)移動VPN的方法及系統(tǒng)。本發(fā)明主要應(yīng)用于包括IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)的混合網(wǎng)絡(luò)中,其中設(shè)置移動VPN(虛擬專用網(wǎng))網(wǎng)關(guān),所述的VPN網(wǎng)關(guān)提供有IPv6地址的內(nèi)部接口和IPv4地址的外部接口;且本發(fā)明中,首先,在所述的VPN網(wǎng)關(guān)與外部網(wǎng)絡(luò)之間建立用于傳輸外部網(wǎng)絡(luò)與VPN內(nèi)部的IPv6網(wǎng)絡(luò)之間交互的VPN報文的隧道,所述的隧道兩端地址分別為外部網(wǎng)絡(luò)的IPv4地址和VPN網(wǎng)關(guān)提供的外部接口的IPv4地址;之后,便可以將需要傳送的VPN報文封裝上IPv4報頭后通過所述隧道傳送,在混合網(wǎng)絡(luò)中實現(xiàn)VPN業(yè)務(wù)的交互。因此,本發(fā)明利用IPv6 in IPv4隧道技術(shù)很好地實現(xiàn)了在IPv4和IPv6混合網(wǎng)絡(luò)中移動VPN業(yè)務(wù)的開展,使得在由IPv4網(wǎng)絡(luò)向IPv6演進的過程中,仍然能夠通過混合網(wǎng)絡(luò)實現(xiàn)移動VPN業(yè)務(wù)。
文檔編號H04L29/06GK101043411SQ20061005845
公開日2007年9月26日 申請日期2006年3月24日 優(yōu)先權(quán)日2006年3月24日
發(fā)明者張宏科, 程鋼, 鄭彬, 張暉 申請人:華為技術(shù)有限公司, 北京交通大學(xué)