專利名稱:使用多點接入優(yōu)化IPv4/IPv6應(yīng)用互操作的方法
技術(shù)領(lǐng)域:
使用多點接入(multihoming)技術(shù)優(yōu)化IPv4/IPv6應(yīng)用互操作的方法屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及IPv4與IPv6網(wǎng)絡(luò)互聯(lián)的隧道技術(shù)。
背景技術(shù):
基于IPv4協(xié)議的互聯(lián)網(wǎng)在20多年的發(fā)展中取得了巨大的成功,但隨著互聯(lián)網(wǎng)的發(fā)展,IPv4協(xié)議已經(jīng)不能滿足需要,尤其是在地址空間方面。因特網(wǎng)工作部IETF(Internet EngineerTaskForce)提出了IPv6來解決上述問題。隨著近年來世界各國對實驗、部署IPv6網(wǎng)絡(luò)的不斷推動,人們已經(jīng)認(rèn)識到,IPv4向IPv6過渡是必然的。2006年7月第66屆IETF會議上已經(jīng)對此正式下了定論。
IPv4向IPv6過渡技術(shù)是一個覆蓋面非常大的課題,涉及到既有投資保護、設(shè)備兼容、技術(shù)兼容、應(yīng)用兼容等等問題。為了對這個問題進行更為深入的全面分析,IETF曾經(jīng)成立過一個“下一代網(wǎng)絡(luò)過渡工作組(Ngtrans)”,形成了不少網(wǎng)絡(luò)過渡的思路。目前,IETF對網(wǎng)絡(luò)過渡采用的術(shù)語是“互操作(inter-operation)”,相應(yīng)的“下一代網(wǎng)絡(luò)過渡工作組(Ngtrans)”也停止了工作,取而代之的是新成立的“IPv6網(wǎng)絡(luò)互操作工作組(v6ops)”。IETF的這種認(rèn)識的轉(zhuǎn)變是建立在對IPv4向IPv6過渡過程的更為深入研究的基礎(chǔ)上的。IETF認(rèn)為“過渡是長期的、融合是必然的”,因此當(dāng)前主要考慮的不是如何用IPv6網(wǎng)絡(luò)來取代IPv4網(wǎng)絡(luò),而是應(yīng)該把研究重點放在如何很好地實現(xiàn)IPv4與IPv6的融合。只有IPv4網(wǎng)絡(luò)能夠和IPv6網(wǎng)絡(luò)很好的融合,才能實現(xiàn)網(wǎng)絡(luò)的平穩(wěn)過渡。因此,IPv4網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)的互操作方式的研究是當(dāng)務(wù)之急。
盡管在很長一段時期內(nèi)將會是IPv4和IPv6網(wǎng)絡(luò)并存的情形,但隨著IPv6網(wǎng)絡(luò)的逐步部署,當(dāng)應(yīng)用開發(fā)商意識到IPv6的網(wǎng)絡(luò)是未來的趨勢時,他們將會轉(zhuǎn)入對IPv6應(yīng)用的開發(fā),大量新的應(yīng)用將沒有IPv4的版本。在這種情況下,如何使IPv4網(wǎng)絡(luò)中的主機使用IPv6應(yīng)用將是一個很有意義的課題——這正是IPv4/IPv6應(yīng)用互操作的一種典型情形。
一臺IPv4網(wǎng)絡(luò)中的雙棧主機使用IPv6應(yīng)用有以下兩種場景(1)場景1IPv4網(wǎng)絡(luò)中的雙棧主機訪問IPv6網(wǎng)絡(luò)??梢灶A(yù)見,IPv6應(yīng)用將大量存在于純IPv6網(wǎng)絡(luò)中,IPv4網(wǎng)絡(luò)中的雙棧主機需要訪問IPv6網(wǎng)絡(luò)才能使用這些IPv6應(yīng)用。
(2)場景2IPv4網(wǎng)絡(luò)中的兩臺雙棧主機為了使用IPv6應(yīng)用而使用IPv6協(xié)議通信。在IPv6網(wǎng)絡(luò)廣泛部署的大勢所趨下,未來大量新的網(wǎng)絡(luò)應(yīng)用將不可避免的只有基于IPv6協(xié)議的版本。這種情況下,IPv4網(wǎng)絡(luò)中兩臺雙棧主機想要使用這些新的應(yīng)用,必須得使用IPv6協(xié)議進行通信。
然而,現(xiàn)有的任何單獨一種IPv6接入機制都不能很好地同時應(yīng)用于兩種場景。目前,隧道代理(Tunnel Broker)和6to4隧道是最具代表性的兩種IPv6接入方法,我們分析一下它們同時應(yīng)用于兩種場景時存在的問題。
隧道代理并不是一種特殊的隧道技術(shù),而是一種協(xié)助用戶建立通往現(xiàn)有IPv6網(wǎng)絡(luò)的隧道的模型。IPv4網(wǎng)絡(luò)中的雙棧主機可以通過隧道代理從支持IPv6的網(wǎng)絡(luò)服務(wù)提供商ISP處獲得全局持久的IPv6地址和域名,同時建立與中繼網(wǎng)關(guān)(Tunnel Server)之間的IPv6-in-IPv4隧道,用以接入IPv6網(wǎng)絡(luò)。作為一種成熟的IPv6大網(wǎng)接入技術(shù),隧道代理機制可以很好的工作在場景1下。然而,該技術(shù)用于場景2時,由于IPv4網(wǎng)絡(luò)中的兩臺雙棧主機使用IPv6進行通信時也需要中繼網(wǎng)關(guān)進行中繼,這樣就使得中繼網(wǎng)關(guān)負(fù)荷太大,成為瓶頸;同時,由于需要在發(fā)送端到中繼網(wǎng)關(guān)、中繼網(wǎng)關(guān)到接收端之間建立兩次隧道,兩次隧道封裝及解封裝勢必影響用戶體驗。如圖1。
在圖1的示意圖中,所有的主機都運行IPv6應(yīng)用程序,包括IPv4網(wǎng)絡(luò)下的雙棧主機A、B和IPv6網(wǎng)絡(luò)下的主機C。雙棧主機A和B從IPv6網(wǎng)絡(luò)服務(wù)提供商獲得全局的IPv6地址和接入服務(wù)。考慮雙棧主機A與主機B、C進行通信。主機A與主機C必然需要IPv6網(wǎng)絡(luò)服務(wù)提供商的中繼網(wǎng)關(guān)才能進行通信。然而在隧道代理的機制下,雙棧主機A與B通信時,也需要中繼網(wǎng)關(guān)的支持才能通信。這樣就給中繼網(wǎng)關(guān)造成了很大的負(fù)荷壓力。這種情況下主機A與主機B直接建立通道顯然是一種更好的方法,也就是6to4隧道的方法。
6to4隧道用于在IPv6過渡初期連接IPv4網(wǎng)絡(luò)邊緣的IPv6站點。它的主要思想是將現(xiàn)有IPv4網(wǎng)絡(luò)看作單播點對點鏈路層,利用已經(jīng)存在的IPv4路由機制來實現(xiàn)報文的路由轉(zhuǎn)發(fā)。IPv4網(wǎng)絡(luò)中的雙棧主機使用6to4格式的IPv6地址(2002IPv4Address::/80)作為通信的標(biāo)識,IPv6數(shù)據(jù)分組經(jīng)過支持6to4技術(shù)的網(wǎng)關(guān)時,隧道端點的IPv4地址可以直接從分組的目的6to4地址中提取,從而自動建立IPv6站點之間的隱式隧道。在這種方法下,當(dāng)兩臺都處于IPv4網(wǎng)絡(luò)下的雙棧主機想要使用IPv6進行通信時,可以很方便地使用6to4地址建立起直連的隧道,不需要第三方的中繼網(wǎng)關(guān),因此是應(yīng)用于場景2的一種好方法。然而如果應(yīng)用于場景1,由于6to4隧道使用了特殊格式的6to4地址,而6to4地址很難做路由聚集,從而給路由造成了很大的困難,不適合作為一種一般的訪問IPv6網(wǎng)絡(luò)的手段。
綜上所述,隧道代理是實現(xiàn)IPv4網(wǎng)絡(luò)訪問IPv6網(wǎng)絡(luò)的好方案,卻不是一個處理IPv4中的雙棧主機進行IPv6通信的好方法;而6to4隧道則擅長處理IPv4中雙棧主機進行IPv6通信,卻是一個實現(xiàn)IPv4網(wǎng)絡(luò)訪問IPv6網(wǎng)絡(luò)的糟糕方法。本文要研究的問題就是如何將6to4隧道和隧道代理兩種機制融合起來,形成一種更好的IPv4下主機使用IPv6應(yīng)用的機制。
發(fā)明內(nèi)容
本發(fā)明的目的在于通過將6to4隧道和隧道代理兩種機制融合起來,提供一種更好的IPv4下主機使用IPv6應(yīng)用的機制。
本發(fā)明所提供的方法思路在于使用多點接入(multihoming)技術(shù)綜合隧道代理和6to4隧道兩種方案,使得IPv4網(wǎng)絡(luò)下的雙棧主機同時擁有全局IPv6地址和6to4地址,當(dāng)該主機訪問IPv6網(wǎng)絡(luò)時,使用全局IPv6地址和隧道代理機制;當(dāng)該主機和IPv4網(wǎng)絡(luò)中的另一臺雙棧主機進行IPv6通信時則采用6to4地址和6to4隧道機制。這樣就使得兩種方法取長補短,形成一種更優(yōu)的IPv4網(wǎng)絡(luò)中的主機使用IPv6應(yīng)用的方法。
多點接入(multihoming)是指一個末端網(wǎng)絡(luò)節(jié)點出于路徑冗余或策略的考慮從多條路徑接入互聯(lián)網(wǎng)的現(xiàn)象。為了實現(xiàn)多條網(wǎng)絡(luò)路徑接入互聯(lián)網(wǎng),支持多點接入的站點及主機一般都擁有多個IP地址。一旦當(dāng)前通信的網(wǎng)絡(luò)路徑發(fā)生了故障或者出于某種策略考慮,支持多點接入的站點及主機將切換到其他的IP地址使用新的網(wǎng)絡(luò)路徑進行通信。因此,在實現(xiàn)多點接入的眾多技術(shù)方案中,一般都會解決IP地址切換的問題。這正是本文提出的方法需要解決的一個重要問題。我們借鑒了IETF主推的最新的IPv6下多點接入的解決方案shim6對地址切換的處理方法。
shim6在網(wǎng)絡(luò)層中插入一個小薄層,從而將傳統(tǒng)IP地址的用于網(wǎng)絡(luò)尋址的定位符功能和用于標(biāo)識主機的標(biāo)識符兩種功能切分開來。網(wǎng)絡(luò)層中插入的子層shim6實現(xiàn)標(biāo)識符到定位符的映射功能。我們知道,傳輸層及上層應(yīng)用都是使用主機的標(biāo)識符來標(biāo)識一個通信連接。當(dāng)主機切換定位符后,shim6子層會將該定位符映射到原有的標(biāo)識符上,傳輸層及上層應(yīng)用也仍然可以使用一致的標(biāo)識符來進行通信,已有的通信連接也就不會被中斷。
本發(fā)明的特征在于,本方法依次含有以下步驟步驟(1),初始化步驟(1.1)處于IPv4網(wǎng)絡(luò)中的雙棧主機擁有全局IPv6地址和6to4地址,其中全局IPv6地址由該IPv4下的雙棧主機接入的IPv6網(wǎng)絡(luò)服務(wù)提供商分配,6to4地址則是由該雙棧主機自己生成的;步驟(1.2),在該雙棧主機的IPv6協(xié)議棧中插入一個薄層,稱之為MI46,該薄層與shim6的位置一樣,置于IP層內(nèi),IP路由子層和IP端系統(tǒng)子層之間,用以實現(xiàn)標(biāo)識主機的標(biāo)識符與網(wǎng)絡(luò)尋址的定位符的映射;步驟(2),該雙棧主機按以下步驟與通信對端通信步驟(2.1),當(dāng)該雙棧主機與另外一臺可能在IPv4網(wǎng)絡(luò)或純IPv6網(wǎng)絡(luò)中的主機使用IPv6協(xié)議發(fā)起初始通信時,使用全局的IPv6地址及相應(yīng)的隧道代理機制;步驟(2.2),該雙棧主機將發(fā)出試探消息來檢測對方是否支持MI46機制,如果對方支持,則發(fā)回響應(yīng)消息,否則,轉(zhuǎn)入步驟(2.7);步驟(2.3),確認(rèn)對方支持MI46后,通信雙方將發(fā)送給對方各自的6to4地址。此時,通信雙方確立起一種對端的全局IPv6地址到6to4地址的映射關(guān)系;步驟(2.4),此后,發(fā)送端發(fā)出的報文,在MI46層以上的源地址、目的地址均填全局的IPv6地址,當(dāng)報文通過發(fā)送端的MI46層以后,該報文的源地址、目的地址將被改寫成6to4地址;步驟(2.5),由于使用了6to4地址,通信雙方建立起直連的6to4隧道進行通信;步驟(2.6),報文到達接收端后,在MI46層以下報文的源地址、目的地址為6to4地址,當(dāng)通過MI46層之后,該報文的源地址、目的地址將被改寫成全局IPv6地址;步驟(2.7),如果該雙棧主機無法收到對端支持MI46的響應(yīng)消息,則說明對端為一臺純IPv6網(wǎng)絡(luò)中的主機,這樣,整個通信過程將使用全局IPv6地址和隧道代理機制;步驟(3),該雙棧主機與對端通信完成之后,將把通信對端的全局IPv6地址與6to4地址的映射關(guān)系保留一段時間。以便該雙棧主機下次與通信對端通信時就可以查閱該映射關(guān)系直接使用6to4地址進行通信,不必再使用MI46對每個通信報文進行映射轉(zhuǎn)換,提高處理效率。
本發(fā)明的優(yōu)點在于1.IPv4下雙棧主機之間使用IPv6協(xié)議通信將不再像隧道代理機制那樣通過中繼網(wǎng)關(guān),從而有效的減輕了中繼網(wǎng)關(guān)的壓力;2.由于在雙棧主機之間建立起了直連的隧道,數(shù)據(jù)傳輸只需要經(jīng)過一次封裝解封裝,比隧道代理機制中通過中繼網(wǎng)關(guān)中繼的方式少一次封裝解封裝,改善了用戶體驗;3.由于IPv4下雙棧主機訪問純IPv6網(wǎng)絡(luò)使用的是全局IPv6地址,從而也避免了單純使用6to4機制時6to4地址難以做路由聚集的問題;4.上述3項優(yōu)勢使得本方法有著很強的激勵機制激勵用戶部署本方法。
圖1.IPv4下兩臺雙棧主機使用隧道代理機制通信示意圖;圖2.MI46體系結(jié)構(gòu)示意圖;圖3.MI46四次握手過程示意圖;圖4.兩臺雙棧主機使用MI46機制通信示意圖;圖5.MI46子層的具體工作流程;圖6.部署MI46后IPv4網(wǎng)絡(luò)下的雙棧主機訪問IPv6應(yīng)用的示意圖。
具體實施例方式
我們設(shè)計了以下的實施環(huán)境,如圖6所示圖中,雙棧主機A和B位于IPv4網(wǎng)絡(luò)中,都在IPv6協(xié)議棧中插入了一個薄層MI46,如圖2所示。主機C位于IPv6網(wǎng)絡(luò)中。為了使用IPv6應(yīng)用,當(dāng)雙棧主機A使用IPv6向B發(fā)起通信時,由于A事先并不知道B也在IPv4網(wǎng)絡(luò)中,所以初始通信使用全局的IPv6地址和響應(yīng)的隧道代理機制。接著,該雙棧主機A將發(fā)出試探消息來檢測B是否支持MI46機制,如果B支持,則發(fā)回響應(yīng)消息。A確認(rèn)對方支持MI46后,通信雙方A和B將通過兩次握手告訴對方各自的6to4地址。整個四次握手過程如圖3所示。當(dāng)四次握手結(jié)束后,A和B雙方確立起一種對端的從全局IPv6地址到6to4地址的映射關(guān)系。這時,通信雙方將使用全局IPv6地址作為標(biāo)識符,6to4地址作為定位符,MI46薄層負(fù)責(zé)標(biāo)識符和定位符的映射。此后雙方MI46層以下的通信都將使用6to4隧道方式建立起直連的隧道進行通信(圖6中的實線)。而MI46上層仍然使用全局IPv6地址作為標(biāo)識符,原有通信不被中斷。通信雙方A和B的通信過程如圖4。MI46子層的具體工作流程如圖5。圖5中的發(fā)送端和接收端分別對應(yīng)圖6中的雙棧主機A和雙棧主機B。發(fā)送端發(fā)出的報文在經(jīng)過MI46子層時首先根據(jù)報頭中的全局IPv6地址查找對應(yīng)的6to4地址,然后將報文中的源地址及目的地址改寫成6to4地址;當(dāng)該報文通過6to4隧道傳送到接收端時,接收端的MI46子層根據(jù)報頭中的6to4地址查找對應(yīng)的全局IPv6地址,然后將報文中的源地址及目的地址改寫成全局IPv6地址。這樣,對MI46上層的應(yīng)用來說,它們將一直使用全局的IPv6地址來標(biāo)識對方;而對MI46下層,則一直使用6to4地址建立直連的隧道進行通信。
當(dāng)雙棧主機A與IPv6網(wǎng)絡(luò)中的主機C通信時,因為純IPv6網(wǎng)絡(luò)中的主機沒有必要支持MI46,所以MI46的四次握手過程將在第二次握手時中斷,即該雙棧主機無法收到對端支持MI46的響應(yīng)消息。這樣,整個通信過程將使用全局IPv6地址和隧道代理機制(圖6中的虛線)。
由此可見,本發(fā)明通過MI46的無縫切換,IPv4下雙棧主機之間使用IPv6協(xié)議通信將不再像隧道代理機制那樣通過中繼網(wǎng)關(guān),從而有效的減輕了中繼網(wǎng)關(guān)的壓力;同時,由于在雙棧主機之間建立起了直連的隧道,數(shù)據(jù)傳輸只需要經(jīng)過一次封裝解封裝,比隧道代理機制中通過中繼網(wǎng)關(guān)中繼的方式少一次封裝解封裝,改善了用戶體驗。此外,由于IPv4下雙棧主機訪問純IPv6網(wǎng)絡(luò)使用的是全局IPv6地址,從而也避免了單純使用6to4機制時6to4地址難以做路由聚集的問題。所以,本發(fā)明達到了預(yù)期目的。
權(quán)利要求
1.使用多點接入優(yōu)化IPv4/IPv6應(yīng)用互操作的方法,其特征在于該方法依次含有以下步驟步驟(1),初始化步驟(1.1)處于IPv4網(wǎng)絡(luò)中的雙棧主機擁有全局IPv6地址和6to4地址,其中全局IPv6地址由該IPv4下的雙棧主機接入的IPv6網(wǎng)絡(luò)服務(wù)提供商分配,6to4地址則是由該雙棧主機自己生成的;步驟(1.2),在該雙棧主機的IPv6協(xié)議棧中插入一個薄層,稱之為MI46,該薄層與shim6的位置一樣,置于IP層內(nèi),IP路由子層和IP端系統(tǒng)子層之間,用以實現(xiàn)標(biāo)識主機的標(biāo)識符與網(wǎng)絡(luò)尋址的定位符的映射;步驟(2),該雙棧主機按以下步驟與通信對端通信步驟(2.1),當(dāng)該雙棧主機與另外一臺可能在IPv4網(wǎng)絡(luò)或純IPv6網(wǎng)絡(luò)中的主機使用IPv6協(xié)議發(fā)起初始通信時,使用全局的IPv6地址及相應(yīng)的隧道代理機制;步驟(2.2),該雙棧主機將發(fā)出試探消息來檢測對方是否支持MI46機制,如果對方支持,則發(fā)回響應(yīng)消息,否則,轉(zhuǎn)入步驟(2.7);步驟(2.3),確認(rèn)對方支持MI46后,通信雙方將發(fā)送給對方各自的6to4地址。此時,通信雙方確立起一種對端的全局IPv6地址到6to4地址的映射關(guān)系;步驟(2.4),此后,發(fā)送端發(fā)出的報文,在MI46層以上的源地址、目的地址均填全局的IPv6地址,當(dāng)報文通過發(fā)送端的MI46層以后,該報文的源地址、目的地址將被改寫成6to4地址;步驟(2.5),由于使用了6to4地址,通信雙方建立起直連的6to4隧道進行通信;步驟(2.6),報文到達接收端后,在MI46層以下報文的源地址、目的地址為6to4地址,當(dāng)通過MI46層之后,該報文的源地址、目的地址將被改寫成全局IPv6地址;步驟(2.7),如果該雙棧主機無法收到對端支持MI46的響應(yīng)消息,則說明對端為一臺純IPv6網(wǎng)絡(luò)中的主機,這樣,整個通信過程將使用全局IPv6地址和隧道代理機制;步驟(3),該雙棧主機與對端通信完成之后,將把通信對端的全局IPv6地址與6to4地址的映射關(guān)系保留一段時間。以便該雙棧主機下次與通信對端通信時就可以查閱該映射關(guān)系直接使用6to4地址進行通信,不必再使用MI46對每個通信報文進行映射轉(zhuǎn)換,提高處理效率。
全文摘要
本發(fā)明屬于網(wǎng)絡(luò)互聯(lián)技術(shù)。其特征在于該方法結(jié)合了多點接入技術(shù)綜合隧道代理和6to4隧道兩種方案。IPv4網(wǎng)絡(luò)下的雙棧主機同時擁有全局IPv6地址和6to4地址,當(dāng)訪問IPv6網(wǎng)絡(luò)時,使用全局IPv6地址和隧道機制;當(dāng)和IPv4網(wǎng)絡(luò)中的另一臺雙棧主機進行IPv6通信時則采用6to4地址和6to4隧道機制。這樣,IPv4下雙棧主機之間使用IPv6協(xié)議通信將不再通過中繼網(wǎng)關(guān),有效的減輕了中繼網(wǎng)關(guān)的壓力并改善了用戶體驗。而IPv4下雙棧主機訪問純IPv6網(wǎng)絡(luò)也避免了6to4地址難以做路由聚集的問題。本方法取長補短,形成了一種更優(yōu)的IPv4下主機使用IPv6應(yīng)用的方法。
文檔編號H04L29/06GK1988491SQ20061014401
公開日2007年6月27日 申請日期2006年11月24日 優(yōu)先權(quán)日2006年11月24日
發(fā)明者畢軍, 吳建平, 解利忠 申請人:清華大學(xué)