用于提供覆蓋網(wǎng)絡的路由選擇體系結(jié)構(gòu)的方法和系統(tǒng)的制作方法
【專利摘要】提出一種能夠根據(jù)平面標識符進行路由選擇的鏈路狀態(tài)覆蓋路由選擇協(xié)議?;谄矫鏄俗R符的5路由選擇所存在的很基本的問題在于,標識符空間不能聚合。所有現(xiàn)有的路由選擇基于分級結(jié)構(gòu)和IP地址到網(wǎng)絡地址的聚合,即所謂的子網(wǎng)化。所提出的路由選擇協(xié)議能夠判定到目的地的最佳路徑,其中考慮了不同的可能參數(shù)(例如往返時間)。通過不根據(jù)單個終端節(jié)點標識符進行判定、而是根據(jù)網(wǎng)絡標識符進行路由選擇判定,來解決10協(xié)議的可縮放性。
【專利說明】用于提供覆蓋網(wǎng)絡的路由選擇體系結(jié)構(gòu)的方法和系統(tǒng)
[0001]相關(guān)申請的交叉引用
[0002]本申請要求2006年11月27日提交的標題為“覆蓋網(wǎng)絡的路由選擇體系結(jié)構(gòu)”的美國臨時申請序號60/867347的權(quán)益。上面提及的申請的內(nèi)容通過引用結(jié)合到本文中。
【技術(shù)領(lǐng)域】
[0003]一般來說,本申請涉及網(wǎng)絡,而具體來說,涉及異構(gòu)第3層網(wǎng)絡。更具體來說,本申請涉及異構(gòu)第3層網(wǎng)絡的覆蓋路由選擇體系結(jié)構(gòu)。
【背景技術(shù)】
[0004]過去幾年來,覆蓋網(wǎng)絡已在學術(shù)界以及在工業(yè)中得到關(guān)注。各種覆蓋應用通過因特網(wǎng)擴展,使它普遍存在并且被終端用戶大量使用。覆蓋網(wǎng)絡能夠改進現(xiàn)有基礎(chǔ)設施網(wǎng)絡的可靠性、性能以及可用性。覆蓋網(wǎng)絡提供解決若干組網(wǎng)問題的優(yōu)良方式,特別是在不應當對現(xiàn)有網(wǎng)絡進行變更并且網(wǎng)絡為異構(gòu)時。
[0005]目前,在文獻中很少找到解決在構(gòu)建于平面標識符(flat identifier)之上的覆蓋網(wǎng)絡中的分組路由選擇的問題的解決方案。基于平面標識符的路由選擇所存在的基本問題在于,平面標識符空間不能聚合?,F(xiàn)有路由選擇的大多數(shù)基于分級結(jié)構(gòu)和因特網(wǎng)協(xié)議(IP)地址到網(wǎng)絡地址的聚合,即所謂的子網(wǎng)化(sub-netting)。將子網(wǎng)掩碼應用于IP地址允許你來識別地址的網(wǎng)絡和節(jié)點部分。
[0006]文件共享覆蓋應用通常根據(jù)平面標識符來構(gòu)建。這種類型的覆蓋應用依靠分布式哈希表(DHT),以便找到給定資源。DHT是一種類型的分散分布式數(shù)據(jù)結(jié)構(gòu)。參與DHT的各節(jié)點具有一個唯一的覆蓋標識符,通常為平面標識符。但是,標識符不用于數(shù)據(jù)分組路由選擇;它們用于路由查找給定資源(例如文件)的消息。這些覆蓋網(wǎng)絡中的會話通信建立通過將(資源的)覆蓋標識符解析為(資源持有者的)基礎(chǔ)(underlay)地址來實現(xiàn),然后完全在基礎(chǔ)級進行數(shù)據(jù)分組路由選擇。因此,數(shù)據(jù)分組路由選擇依靠基礎(chǔ)網(wǎng)絡的路由選擇機制(例如IPv4)。這種解決方案是適當?shù)?,因為僅假定一個同構(gòu)基礎(chǔ)網(wǎng)絡。注意,這要求用于參與覆蓋網(wǎng)絡的所有節(jié)點的一個唯一同構(gòu)第3層技術(shù)。但是,當異構(gòu)第3層網(wǎng)絡(或域)共存時,節(jié)點的網(wǎng)絡地址對另一個對等體可能無意義。
[0007]在過去數(shù)年已經(jīng)提出實現(xiàn)DHT的概念的若干協(xié)議,例如CAN、Chord、Pastry和Tapestry協(xié)議。雖然這些協(xié)議具有某些差異,但是它們都利用相同的原理;密鑰通常通過對文件名進行哈希來產(chǎn)生。生成的密鑰用于在作為DHT的成員的節(jié)點所形成的覆蓋網(wǎng)絡中存儲或查找文件的定域性(locality)信息。
[0008]DHT內(nèi)部路由選擇算法、即用于路由存儲和查找消息的機制是DHT協(xié)議的中心。成員節(jié)點形成覆蓋網(wǎng)絡,其中各節(jié)點具有作為相鄰節(jié)點的一組其它節(jié)點。當繼續(xù)進行給定密鑰的查找時,消息通過覆蓋網(wǎng)絡路由到負責那個密鑰的節(jié)點。系統(tǒng)的整體可縮放性和性能與路由選擇算法效率直接關(guān)聯(lián)。
[0009]為了分發(fā)處理和存儲負荷,各節(jié)點處理哈??臻g的一部分,并因此負責某個密鑰范圍。在給定密鑰的情況下,所有節(jié)點可有效地將消息路由到負責那個密鑰的唯一節(jié)點。DHT提供例如分散化、可縮放性、負荷平衡、容錯性和自修復等性質(zhì)。分散化通過節(jié)點分發(fā)密鑰,以及發(fā)生系統(tǒng)的組織而沒有任何中央?yún)f(xié)調(diào)。沒有節(jié)點比任何其它節(jié)點更重要??煽s放性允許系統(tǒng)處理甚至具有高變動(churn)的大量節(jié)點(頻繁地加入和離開結(jié)構(gòu)的節(jié)點)。一般來說,查找過程的成本隨節(jié)點數(shù)量的對數(shù)增長。
[0010]使用一致哈希函數(shù)的負荷平衡使密鑰范圍遍布于具有高概率的節(jié)點,從而提供進行負荷平衡的固有方式。系統(tǒng)的容錯甚至在發(fā)生一些節(jié)點的故障時也提供可靠性。自修復實現(xiàn)系統(tǒng)的自動重組,從而反映新加入、離開或者出故障的節(jié)點。
[0011]DHT節(jié)點可加入或離開網(wǎng)絡。協(xié)議必須解決這個問題,以便使系統(tǒng)保持一致(consistent)。通過在節(jié)點加入或離開網(wǎng)絡時適當?shù)馗侣酚蛇x擇表來確保一致性。基本結(jié)構(gòu)圍繞抽象平面密鑰空間構(gòu)建,它按照密鑰空間分區(qū)方案在參與節(jié)點之間劃分。各實現(xiàn)使用一致哈希的某種變體將對象(例如文件名)映射到密鑰。一致哈希意味著高變動率僅影響相鄰節(jié)點擁有的密鑰集合,所有其它節(jié)點未受影響。存儲對象從一個節(jié)點到另一個節(jié)點的移動的最小化減少重組時間,從而允許系統(tǒng)中的節(jié)點的高到達和離開率。這與其中一個哈希桶(hash bucket)的添加或刪除需要整個密鑰空間的再映射的常規(guī)哈希表形成對照。
[0012]關(guān)鍵問題是如何以查找過程變得有效的方式來組織節(jié)點。此外,查找過程的效率取決于復制數(shù)據(jù)的位置和數(shù)量、取決于所使用的高速緩存機制以及取決于如何進行密鑰的搜索。在接收到查找查詢時,節(jié)點檢查與所搜索的密鑰對應的數(shù)據(jù)是否本地存儲。在那種情況下,返回數(shù)據(jù),并且搜索結(jié)束。如果情況不是那樣,則節(jié)點選擇更接近存儲數(shù)據(jù)的位置的對等體,并且向此節(jié)點轉(zhuǎn)發(fā)查詢?!案咏睂Φ润w的定義是協(xié)議相關(guān)的。節(jié)點保存DHT路由選擇表,以便幫助查找(或存儲)查詢轉(zhuǎn)發(fā)的判定。該過程與IP分組路由選擇相似一如果路由器不能直接傳遞分組,則它選擇更接近最終目的地的另一個路由器。DHT中的路由選擇針對向其中存儲密鑰的節(jié)點發(fā)送查詢。路由選擇表保存相鄰節(jié)點的集合。相鄰關(guān)系除了別的以外還可基于物理接近、節(jié)點標識符接近、后繼和前導關(guān)系。
[0013]圖1示出Chord環(huán),它可能是最熟知的DHT協(xié)議。Chord協(xié)議使用快速一致哈希函數(shù),該哈希函數(shù)使用例如MD5等密碼哈希函數(shù)向各節(jié)點分配m位標識符。節(jié)點通過對它自己的IP地址進行哈希來接收標識符。圖1中,m = 3,陰影圓圈表示節(jié)點,以及密鑰1、2和6分別存儲在節(jié)點1、3和O中。標識符空間可示為以升序順時針設置的模2m的圓。將密鑰k分配給其標識符在標識符空間中等于或跟隨k的第一節(jié)點。這個節(jié)點又稱作密鑰k的后繼節(jié)點。
[0014]公認的知識是目前兩種功能性使IP地址過負荷:定位符,因為IP地址用于在網(wǎng)絡中路由分組;以及識別碼,因為IP地址也用于指定接口卡。IP地址中的兩種功能性的過負荷是使節(jié)點的移動性成為難題的方面之一。可連接自主管理的異構(gòu)第3層網(wǎng)絡,但是目的地的網(wǎng)絡地址對另一個節(jié)點可能無意義。
[0015]因此,本領(lǐng)域需要用于與異構(gòu)第3層網(wǎng)絡相關(guān)聯(lián)的覆蓋網(wǎng)絡的可縮放、可靠且有彈性的路由選擇體系結(jié)構(gòu)。
【發(fā)明內(nèi)容】
[0016]在一個方面,本發(fā)明提供一種在覆蓋網(wǎng)絡中路由數(shù)據(jù)分組的方法,該覆蓋網(wǎng)絡構(gòu)建于異構(gòu)第3層域。該方法包括以下步驟:定義唯一的自生成平面標識符并且將其與第3層域中的第3層網(wǎng)絡地址關(guān)聯(lián);利用用于將通信會話綁定(bind)到平面標識符而不是第3層網(wǎng)絡地址的傳輸協(xié)議;利用能夠在覆蓋網(wǎng)絡以及在第3層網(wǎng)絡中進行路由的覆蓋路由器(Overlay Router);適合在不同的第3層協(xié)議之間進行轉(zhuǎn)換的覆蓋路由器;向適合在異構(gòu)第3層域中進行工作的分級分布式哈希表登記終端節(jié)點;以及在覆蓋網(wǎng)絡中經(jīng)由覆蓋路由器在已登記終端節(jié)點之間路由數(shù)據(jù)分組,利用包含網(wǎng)絡標識符而不是終端節(jié)點標識符的數(shù)據(jù)分組中的覆蓋路由器報頭。
[0017]在另一個方面,本發(fā)明提供一種用于構(gòu)建于異構(gòu)第3層域的覆蓋網(wǎng)絡的路由選擇體系結(jié)構(gòu)。該體系結(jié)構(gòu)包括:用于定義唯一的自生成平面標識符并且將其與第3層域中的第3層網(wǎng)絡地址關(guān)聯(lián)的部件;用于將通信會話綁定到平面標識符而不是第3層網(wǎng)絡地址的傳輸協(xié)議;適合在覆蓋網(wǎng)絡以及在第3層網(wǎng)絡中進行路由的至少一個覆蓋路由器,覆蓋路由器適合在不同的第3層協(xié)議之間進行轉(zhuǎn)換;用于向適合在異構(gòu)第3層網(wǎng)絡中進行工作的分級分布式哈希表登記終端節(jié)點的登記部件;以及用于在覆蓋網(wǎng)絡中在已登記終端節(jié)點之間路由數(shù)據(jù)分組、利用包含網(wǎng)絡標識符而不是終端節(jié)點標識符的數(shù)據(jù)分組中的覆蓋路由器報頭的覆蓋路由器。
[0018]在又一個方面,本發(fā)明提供合并異構(gòu)網(wǎng)絡域中的DHT環(huán)的方法,其中各域包括DHT環(huán)。該方法包括:確定節(jié)點是第一和第二 DHT環(huán)所共有的,第一和第二 DHT環(huán)是兄弟環(huán)(sibling ring);通過經(jīng)由公共節(jié)點建立間接鏈路來啟動第一 DHT環(huán)中的節(jié)點與第二 DHT環(huán)中的節(jié)點之間的鏈路;創(chuàng)建第一與第二 DHT環(huán)之間的間接鏈路,第一和第二 DHT環(huán)處于相同的分級等級,并且具有公共的至少一個覆蓋路由器;創(chuàng)建到設置在DHT環(huán)分級結(jié)構(gòu)中更高級的DHT環(huán)的虛擬鏈路,直到將所有DHT環(huán)合并到單個邏輯環(huán)中。
[0019]在又一個方面,本發(fā)明提供一種用于在構(gòu)建于異構(gòu)第3層域的覆蓋網(wǎng)絡中路由數(shù)據(jù)分組的覆蓋路由器。覆蓋路由器包括接收器部件,用于接收來自向適合在異構(gòu)第3層域中進行工作的分級分布式哈希表登記的終端節(jié)點的包含平面標識符的消息。覆蓋路由器還包括用于將平面標識符與第3層域中的第3層網(wǎng)絡地址關(guān)聯(lián)的部件以及用于利用將通信會話綁定到平面標識符的傳輸協(xié)議的部件。覆蓋路由器包括用于在不同的第3層協(xié)議之間進行轉(zhuǎn)換以及用于在覆蓋網(wǎng)絡中路由消息的部件。
【專利附圖】
【附圖說明】
[0020]圖1 示出 Chord 環(huán);
[0021]圖2示出根據(jù)本發(fā)明的實施例的數(shù)據(jù)分組格式;
[0022]圖3示出根據(jù)本發(fā)明的實施例的覆蓋網(wǎng)絡;
[0023]圖4示出基于根據(jù)本發(fā)明的實施例的平面標識符的尋址方案;
[0024]圖5示出根據(jù)本發(fā)明的實施例、不同的域中安裝的分級DHT的高級框圖;
[0025]圖6是根據(jù)本發(fā)明的優(yōu)選實施例的DHT合并過程的高級框圖;
[0026]圖7示出對于根據(jù)本發(fā)明的實施例的網(wǎng)絡基礎(chǔ)設施所應用的HDHT ;
[0027]圖8示出根據(jù)本發(fā)明的實施例、其中駐留在不同的第3層域中的兩個環(huán)需要合并的環(huán)境;以及[0028]圖9示出使用根據(jù)本發(fā)明的實施例的覆蓋路由器進行通信的過程。
【具體實施方式】
[0029]在以下詳細描述中,提出大量具體細節(jié),以便提供對本發(fā)明的透徹了解。但是,本領(lǐng)域的技術(shù)人員會理解,即使沒有這些具體細節(jié),也可實施本發(fā)明。在其它情況下,沒有詳細描述眾所周知的方法、過程、組件和電路,以免使本發(fā)明難懂。
[0030]以下詳細描述的一些部分根據(jù)對計算機存儲器中的數(shù)據(jù)位或二進制數(shù)字信號的操作的算法和符號表示來呈現(xiàn)。這些算法描述和表示可以是電信領(lǐng)域的技術(shù)人員用于向本領(lǐng)域的其他技術(shù)人員傳達其工作實質(zhì)的技術(shù)。
[0031]下面是將在詳細描述通篇使用的縮寫詞、首字母縮寫詞、定義和假設:
[0032]DHT-分布式哈希表,是一種數(shù)據(jù)結(jié)構(gòu),它分布在網(wǎng)絡的一些節(jié)點中,而不是僅集中在一個機器中。屬于DHT的各節(jié)點負責密鑰的完整空間的范圍。如任何公共哈希表中那樣,各密鑰可具有向其分配的一個(或多個)值。
[0033]HDHT-分級分布式哈希表
[0034]HIP-主機標識協(xié)議
[0035]NodeID-自生成終端節(jié)點標識符。這個標識符可以是密碼的,例如公鑰的哈希。
[0036]Layer-3-第3層表示開放式系統(tǒng)互連(OSI)模型的網(wǎng)絡層。路由器是第3層裝置,以及因特網(wǎng)協(xié)議(IP)地址是第3層地址。
[0037]NetworkID-自生成網(wǎng)絡標識符。這個標識符可以是密碼的,例如公鑰的哈希。
[0038]OR-覆蓋路由器,是網(wǎng)絡中能夠在網(wǎng)絡的覆蓋級進行路由的特殊節(jié)點。這個節(jié)點具有密碼平面標識符(稱作RouterID),并且可附連到異構(gòu)第3層網(wǎng)絡,在IPV4、IPv6和專用IP網(wǎng)絡(采用私有IP地址構(gòu)建)之間轉(zhuǎn)換分組。
[0039]RouterID-密碼的自生成覆蓋路由器標識符。這個標識符是公鑰的哈希。
[0040]RTT-往返時間,從向給定節(jié)點發(fā)送分組直至在始發(fā)節(jié)點接收到響應的時間來測量。
[0041]域或網(wǎng)絡域由具有公共第3層尋址和內(nèi)部路由選擇協(xié)議的終端節(jié)點和路由器的集合組成。
[0042]分支由核心的邊界中通過覆蓋路由器附連在一起的不同的第3層網(wǎng)絡域的集合組成。
[0043]對于DHT的各級,使用Chord協(xié)議。
[0044]覆蓋路由選擇體系結(jié)構(gòu)基于鏈路狀態(tài)協(xié)議,其中鏈路的性能通過在對等體(覆蓋路由器)之間發(fā)送探測消息來測量。所測量的參數(shù)可包括(但不限于)往返時間、吞吐量和丟失率。
[0045]分級分布式哈希表(HDHT)用于異構(gòu)第3層域,它是HDHT的使用的新環(huán)境。此外,路由選擇在異構(gòu)第3層域中解決,并且緩解第3層網(wǎng)絡和終端節(jié)點的移動性。覆蓋路由選擇體系結(jié)構(gòu)為構(gòu)建于平面標識符的覆蓋網(wǎng)絡創(chuàng)建可縮放和有彈性的路由選擇體系結(jié)構(gòu)。覆蓋路由選擇協(xié)議能夠在提供路由的彈性(resilience)和快速匯聚的同時進行縮放。
[0046]在分級DHT(HDHT)中,對等體根據(jù)定域性組織成組,并且各組具有其自主組內(nèi)覆蓋網(wǎng)絡和查找服務。分級DHT具有優(yōu)于平面標識符方式的多個優(yōu)點:例如,它們減少查找中的對等跳的平均數(shù);它們在相同組的對等體在拓撲結(jié)構(gòu)上接近并且在組內(nèi)使用協(xié)作高速緩存時顯著減少查找等待時間;它們?yōu)榉旨壗Y(jié)構(gòu)的每一級提供管理自主性;以及它們促進對等(P2P)查找的大規(guī)模部署。
[0047]覆蓋網(wǎng)絡通過對于第3層網(wǎng)絡地址定義平面標識符來創(chuàng)建。與主機標識協(xié)議(HIP)相似,平面標識符是自生成的經(jīng)過哈希處理的密碼密鑰,并且不具有任何種類的結(jié)構(gòu)或分級結(jié)構(gòu)。這樣,當前在IP地址中過負荷的位置和識別碼(identity)的功能性在兩個不同的層中分離。傳輸協(xié)議將通信會話綁定到自生成的平面標識符而不是綁定到第3層地址。這樣,增加了終端節(jié)點的移動性,因為標識符由終端節(jié)點生成,并且終端節(jié)點的標識符在它移動時不應當改變。同樣的情況適用于網(wǎng)絡移動,即,網(wǎng)絡標識符在整個網(wǎng)絡移動時不應當改變。因此,可能使異構(gòu)第3層域共存并且進行通信,假定某些條件適用:各節(jié)點應當具有全局唯一自生成標識符;覆蓋路由器用于在不同的第3層協(xié)議之間進行轉(zhuǎn)換;覆蓋路由器能夠在覆蓋以及在基礎(chǔ)(第3層)級中進行路由;以及向HDHT數(shù)據(jù)結(jié)構(gòu)登記終端節(jié)點,以便向其它節(jié)點提供全局“可達性”(在一個實施例中,向HDHT數(shù)據(jù)結(jié)構(gòu)登記終端節(jié)點)。
[0048]雖然準許異構(gòu)第3層網(wǎng)絡域共存,但是假定同構(gòu)核心網(wǎng)絡的存在,以便緩解解決方案的部署,因為核心可能是IPv4因特網(wǎng)。這樣,移動性和覆蓋路由選擇限制到核心的邊界中的節(jié)點和網(wǎng)絡(以下稱作“分支”)。所公開的本發(fā)明沒有改變已經(jīng)部署且靜態(tài)的IPv4核心和主干。
[0049]負責在不同的第3層網(wǎng)絡之間進行轉(zhuǎn)換的實體、即覆蓋路由器(OR)具有唯一平面自生成的密碼標識符。覆蓋路由選擇協(xié)議由覆蓋路由器運行,以便分發(fā)虛擬鏈路性能的拓撲結(jié)構(gòu)信息和測量。虛擬鏈路是覆蓋路由器之間的邏輯連接,在第3層建立的路由器的連接。這個連接可穿過域內(nèi)的若干第3層路由器;但是,覆蓋路由器在邏輯上被看作是鄰域。覆蓋網(wǎng)絡利用網(wǎng)格結(jié)構(gòu),并且拓撲結(jié)構(gòu)信息消息被創(chuàng)建和分發(fā),以便使覆蓋路由器能夠創(chuàng)建網(wǎng)絡分支的準確圖。不是根據(jù)終端節(jié)點標識符進行路由,而是使用NetworkID-密碼網(wǎng)絡標識符-采用鏈路狀態(tài)路由選擇來實現(xiàn)覆蓋路由選擇。
[0050]為了與節(jié)點進行通信,需要獲得節(jié)點在那時與其附連的域的網(wǎng)絡標識符。將這個信息插入分組,分組根據(jù)網(wǎng)絡標識符來路由。還采用作為一個分支中針對全局網(wǎng)絡中的其它分支的最后一個路由器的核心覆蓋路由器來獲得核心覆蓋路由器標識符。標識符與定位符之間的映射在各域中由本地部件來進行,并且不同的域可選擇使用不同方式來進行映射。
[0051]圖2示出根據(jù)本發(fā)明的實施例的數(shù)據(jù)分組格式。IP分組包括覆蓋報頭,其中主機標識協(xié)議(HIP)用于端對端安全性。主機標識協(xié)議(HIP)只是可用于端對端安全性的一個協(xié)議。覆蓋報頭200包括自生成標識符,其中包含源標識符202、目的地標識符204、網(wǎng)絡標識符206和核心覆蓋路由器標識符208。
[0052]數(shù)據(jù)分組路由選擇最初在網(wǎng)絡的樹的分支中進行,以及如果目的地是在相同的分支中,貝1J分組將僅在那個分支中路由(根據(jù)NetworkID)。如果目的地節(jié)點是在當前分支外部,則將分組路由到當前分支的核心覆蓋路由器。核心覆蓋路由器是與網(wǎng)絡中的特定分支關(guān)聯(lián)的覆蓋網(wǎng)絡路由器。然后,這個節(jié)點將分組路由到目的地節(jié)點的核心覆蓋路由器(這個信息存在于分組中)。目的地分支中的路由選擇根據(jù)目的地NetworkID來進行。
[0053]重要的是要注意,覆蓋路由器本質(zhì)上是無狀態(tài)的(stateless)。雖然它們需要保存登記信息(存儲在HDHT中并且與OR并存),但是當分組在網(wǎng)絡中發(fā)送時不存在會話建立階段。如果需要可靠性,則它應當由更上層協(xié)議(例如TCP)來提供。
[0054]該體系結(jié)構(gòu)提供用于采用平面標識符所構(gòu)建的覆蓋網(wǎng)絡的路由選擇解決方案。平面標識符的優(yōu)點是標識符分配的自主性,即,無需具有負責分配標識符的中立管理實體。為了修正系統(tǒng)的可縮放性,路由選擇基于網(wǎng)絡標識符而不是終端節(jié)點標識符。
[0055]圖3示出根據(jù)本發(fā)明的實施例的覆蓋網(wǎng)絡。在覆蓋級,路由選擇算法定義到達目的地網(wǎng)絡的下一跳覆蓋路由器(next Overlay Router hop)。在網(wǎng)絡域的每一個內(nèi)部,分組路由選擇通過現(xiàn)有的第3層路由選擇協(xié)議來進行。
[0056]覆蓋路由器能夠根據(jù)網(wǎng)絡標識符(NetworkID)將分組路由到給定目的地。網(wǎng)絡標識符屬于其中當前連接目的地節(jié)點的網(wǎng)絡。嘗試與另一個終端節(jié)點(目的地)進行通信的一個終端節(jié)點(始發(fā)方)應當能夠發(fā)現(xiàn)目的地節(jié)點當前與其連接的網(wǎng)絡。在一個示范實施例中,這個信息可經(jīng)由分級分布式哈希表(HDHT)來獲得。分級解決方案改進網(wǎng)絡設計的可縮放性,因為它允許聚合。重要的是要強調(diào),HDHT結(jié)構(gòu)是用于名稱解析過程的選項。給定節(jié)點標識符,HDHT將采用節(jié)點當前與其附連的網(wǎng)絡的標識符進行應答。這個信息稍后插入數(shù)據(jù)分組,以便進行路由的目的。
[0057]圖4示出基于根據(jù)本發(fā)明的實施例的平面標識符的尋址方案。定義三種標識符類型,第一種具有終端節(jié)點402的范圍,第二種具有覆蓋路由器406的范圍,以及最后一種具有網(wǎng)絡域404的范圍。標識符以十六進制格式來表示。標識符是公鑰的哈希,并且沒有呈現(xiàn)任何種類的結(jié)構(gòu)。在這個示例中,標識符為40位長(10個十六進制數(shù)位)。
[0058]覆蓋路由器(OR)從其它OR通告的信息構(gòu)建其路由選擇表。通告消息用于通知連通性,并且使覆蓋路由器之間的會話保持為活動。由于網(wǎng)絡的動態(tài)性,所以覆蓋路由器之間的相鄰關(guān)系的維持也是動態(tài)的。通告消息包含覆蓋路由器與其附連的網(wǎng)絡標識符的集合以及它自己的標識符。此外,它包含使用洪泛機制從第三路由器所接收的連通性信息。這個數(shù)據(jù)的傳播的范圍限制到網(wǎng)絡的一個分支,即,傳播沒有穿越核心網(wǎng)絡,而是停留在覆蓋的一個分支中。與核心網(wǎng)絡附連的覆蓋路由器沒有將這個信息擴展到核心中。覆蓋路由器向系統(tǒng)登記,通知關(guān)于它屬于頂層。這樣,各覆蓋路由器具有它所屬的網(wǎng)絡分支的完全圖。進行通告的頻率是實現(xiàn)相關(guān)的。它越快,則路由選擇協(xié)議將越快匯聚。
[0059]覆蓋路由器發(fā)送性能消息,該消息用于通告給定虛擬鏈路的當前條件,例如當前RTT (往返時間)。運行于各OR的過程不斷測量虛擬鏈路的性能參數(shù)-這稱作探測過程。網(wǎng)絡探測僅在相鄰OR之間發(fā)送。參數(shù)的強制集合必須由每一個OR實現(xiàn),而附加參數(shù)可設計用于特定應用。如果在會話超時之前沒有發(fā)送其它消息,則可只發(fā)送“Hello”消息以便使會話保持為活動。通過選擇例如具有最短RTT的路徑,性能消息用于幫助路由選擇計算。這樣,路由選擇協(xié)議能夠應用業(yè)務工程技術(shù)。
[0060]圖5示出根據(jù)本發(fā)明的實施例、不同的域中安裝的分級DHT節(jié)點的高級框圖(又參照圖7,因為它是相同網(wǎng)絡的不同視圖)。HDHT中不存在檢索信息的高速緩存,因為節(jié)點和網(wǎng)絡可移動,這將使任何高速緩存的數(shù)據(jù)失效。例如,網(wǎng)絡可完全移動,并因此網(wǎng)絡中包含的所有節(jié)點也移動(例如火車或飛機上的嵌入網(wǎng)絡)。單個節(jié)點(例如膝上型電腦、掌上電腦、移動電話等)也可從網(wǎng)絡X移動到網(wǎng)絡Y。
[0061]各網(wǎng)絡域具有DHT環(huán)。網(wǎng)絡的一個分支中的環(huán)應當合并,以便生成更高級的結(jié)構(gòu)。為了提供數(shù)據(jù)定域性,HDHT內(nèi)的節(jié)點的登記存儲在本地DHT環(huán)中(其中當前附連節(jié)點)。數(shù)據(jù)存儲在本地環(huán)中,但是分級結(jié)構(gòu)中的其它級可有權(quán)對它訪問。換言之,存儲域?qū)⑹冀K是本地環(huán),而訪問域可改變。常見情況是希望全球訪問域,即,節(jié)點可在世界的所有其它部分本地化。但是,如果終端節(jié)點僅希望是在分級結(jié)構(gòu)的較小部分可訪問的,則那也是可能的。例如,終端用戶通常希望計算機或裝置是全球可訪問的。當他們訪問歐洲的網(wǎng)頁但他們物理上位于美國時,他們希望具有全球連通生。但是,假定某個人在辦公室具有不應當從外部世界訪問的膝上型電腦。因此該人將僅在辦公室DHT環(huán)中登記該膝上型電腦,從而不允許登記傳播。
[0062]圖6是根據(jù)本發(fā)明的優(yōu)選實施例的域合并過程的高級框圖。DHT環(huán)根據(jù)用于構(gòu)建分級結(jié)構(gòu)的自底向上方式來合并,否則系統(tǒng)可能進入不一致狀態(tài)(環(huán)與其它級中已經(jīng)合并的環(huán)進行合并)。另一方面,結(jié)構(gòu)不是剛性的(rigid),并且環(huán)可加入和離開系統(tǒng)。
[0063]分級DHT必須適合在異構(gòu)環(huán)境中進行工作。到其它DHT環(huán)的鏈路適合于指向附連到與目的地DHT節(jié)點相同的網(wǎng)絡域的0R。這樣,創(chuàng)建了間接鏈路。由于各OR具有OR所在的分支的完整圖(map)的事實,所以這是可能的。它可通過間接鏈路將查找/存儲消息轉(zhuǎn)發(fā)給最接近目的地DHT節(jié)點的一個0R。
[0064]節(jié)點C屬于存在于網(wǎng)絡域A和B中的環(huán)。DHT節(jié)點C是兩個域之間的公共節(jié)點。DHT路由選擇表存在于兩個域的節(jié)點的每一個中。因此,節(jié)點C包括兩個路由選擇表。間接鏈路通過節(jié)點C進行路由,節(jié)點C包括A和B域路由選擇表,具有充分信息以在兩個環(huán)中路
由消息。
[0065]隨著網(wǎng)絡增長,網(wǎng)絡功能性的調(diào)整是可能的。為各DHT節(jié)點提供附加性能鏈路,以便實現(xiàn)更好的性能。性能鏈路的建立基于使用量很高的節(jié)點的收集信息。如果存在節(jié)點或網(wǎng)絡移動,則由于該解決方案允許移動性,所以刪除生能鏈路。
[0066]定義與不成功搜索關(guān)聯(lián)的最大搜索時間參數(shù)。在一些情況下,搜索功能由于節(jié)點中尚未更新的“陳舊”拓撲結(jié)構(gòu)信息而沒有完成。這些情況是暫時的,因為路由選擇協(xié)議將向鄰域傳播拓撲結(jié)構(gòu)變化。
[0067]HIP基本交換(HIP Base Exchange)是用于在系統(tǒng)中提供端對端安全性和終端節(jié)點鑒權(quán)的選項?;窘粨Q可生成會話密鑰,它可通過與HIP相同的方式用于密碼協(xié)議(例如封裝安全協(xié)議)。此外,HDHT中的終端節(jié)點登記可使用提供原始鑒權(quán)的安全連接來進行。HDHT節(jié)點將僅允許插入其起源經(jīng)過適當檢驗的數(shù)據(jù)(如果與公鑰匹配的私鑰的擁有不能進行,則不登記節(jié)點)。
[0068]圖7不出對于根據(jù)本發(fā)明的實施例的網(wǎng)絡基礎(chǔ)設施所應用的HDHT。各立方體表不一個網(wǎng)絡域中安裝的一個DHT環(huán)。所示的網(wǎng)絡域在拓撲結(jié)構(gòu)上如圖5所示組織。域的級和DHT環(huán)的級定義為到達核心所需的覆蓋路由器的最小數(shù)量加I。例如,如果從一個網(wǎng)絡到核心的最短路徑穿越3個覆蓋路由器,則這種域的級為4。兄弟環(huán)定義為相同級中具有至少一個公共覆蓋路由器的環(huán)。作為規(guī)則,兄弟環(huán)應當合并。如果不存在兄弟環(huán),則該環(huán)應當與其上級環(huán)合并。DHT環(huán)X、Y、Z和W處于第4級,并且經(jīng)過合并以便創(chuàng)建抽象環(huán)XYZW(在邏輯上定義為屬于第3級)。抽象環(huán)XYZW與環(huán)K具有一個公共覆蓋路由器,并因此它們應當合并。根據(jù)第2級的定義,這種合并創(chuàng)建抽象環(huán)XYZWK。這個過程重復進行,直到一個分支中的所有環(huán)都加入HDHT ;在這個示例中為第2級的抽象環(huán)XYZWKQ。[0069]圖8示出根據(jù)本發(fā)明的實施例、其中駐留在不同的第3層域中的兩個DHT環(huán)需要合并的環(huán)境。兩個實際DHT環(huán)(環(huán)802和環(huán)804)應當合并,以便生成更高級的結(jié)構(gòu)。根據(jù)規(guī)則,環(huán)802和環(huán)804是兄弟環(huán)并且應當合并。系統(tǒng)中的一個節(jié)點參與兩個環(huán);這是節(jié)點Y2(環(huán)802)和XlO (環(huán)804),它們在物理上是相同節(jié)點。按照合并規(guī)則,節(jié)點Υ8決定建立到節(jié)點Χ12的鏈路。Χ12的網(wǎng)絡地址對Υ8是未知的。但是,Υ8知道要到達Χ12,它應當經(jīng)過Υ2 (與XlO相同)。因此,它建立間接鏈路,并且送往Χ12的所有DHT消息將轉(zhuǎn)發(fā)給Υ2,Υ2隨后將消息傳遞給Χ12(虛線表示間接鏈路,而實線表示消息沿用(follow)的實際路徑)。在合并發(fā)生之后,創(chuàng)建邏輯環(huán)806 (環(huán)XY)。箭頭808和810指明環(huán)802和804中的物理與邏輯節(jié)點之間的關(guān)系。
[0070]在本發(fā)明的一個實施例中,各覆蓋路由器托管DHT節(jié)點(未示出),以便幫助DHT的不同級之間的通信。不同的第3層技術(shù)可用于系統(tǒng)中,并且覆蓋路由器是可在異構(gòu)域之間轉(zhuǎn)發(fā)業(yè)務的唯一實體。因此,與網(wǎng)絡域連接的所有OR是DHT或Chord環(huán)的部分。OR被認為非常穩(wěn)定,因為它們沒有用于任何其它計算過程。
[0071]圖9示出使用根據(jù)本發(fā)明的實施例的覆蓋路由器進行通信的過程。當終端用戶X想要與終端用戶Y進行通信時,該過程通過發(fā)送文件開始(步驟702)。終端用戶X具有帶有IP地址(IPv4、IPv6或私有IP地址)的計算機。終端用戶(Y)具有帶有另一個IP地址的計算機,并且該計算機在域名服務器(DNS)中登記(FQDN-完全合格域名-與NodeID之間的關(guān)聯(lián))。終端用戶Y已經(jīng)在HDHT中登記其NodelD、核心RouterID和NetworkID。
[0072]終端用戶X通過在DNS中進行查找開始通信,以便解析終端用戶Y的FQDN(URL地址)并且獲得該資源的NodeID (步驟704)。目的地節(jié)點的目的地NetworkID和核心RouterID可經(jīng)由HDHT獲得。請求首先發(fā)送給最接近的DHT環(huán)(步驟706);如果它能解決所請求計算機的NodeID (步驟708),則該過程完成(步驟710)。如果不能,則將請求轉(zhuǎn)發(fā)給分級結(jié)構(gòu)中的下一級(步驟712)。如果已經(jīng)到達頂級,則該過程轉(zhuǎn)移到步驟716,并且確定節(jié)點不存在。如果尚未到達頂級,則該過程轉(zhuǎn)移到步驟714,并且請求被轉(zhuǎn)發(fā)給分級結(jié)構(gòu)中的下一級,以及步驟708重復進行,直至到達頂級。
[0073]級數(shù)取決于網(wǎng)絡的結(jié)構(gòu);極限通常是在搜索達到頂級時。例如,在本地搜索的情況下,還可限制搜索范圍。這種搜索情況沒有向上傳播。指定最大搜索時間也可限制搜索。
[0074]在完成名稱解析的所述步驟之后,終端用戶X能夠經(jīng)由覆蓋路由器向終端用戶Y發(fā)送數(shù)據(jù)。分組包含終端用戶Y的NetworkID、NodeID和核心RouterlD。通過使用這個信息,覆蓋路由器能夠?qū)⒎纸M傳遞到目的地。
[0075]上述示范實施例意在所有方面均是對本發(fā)明的示例說明而不是限制。因此,本發(fā)明能夠在詳細實現(xiàn)中進行許多變更,該變更可由本領(lǐng)域技術(shù)人員從本文所包含的描述中得出。所有這類變更和修改均被認為在如以下權(quán)利要求書所定義的本發(fā)明的范圍和精神之內(nèi)。
【權(quán)利要求】
1.一種合并異構(gòu)網(wǎng)絡域中DHT環(huán)的方法,其中每個域包括DHT環(huán),所述方法特征在于: 確定節(jié)點為第一和第二 DHT環(huán)所共有; 通過建立經(jīng)由所述公共節(jié)點的間接鏈路,啟動所述第一 DHT環(huán)中的節(jié)點與所述第二DHT環(huán)中的節(jié)點之間的鏈路; 創(chuàng)建所述第一與第二 DHT環(huán)之間的間接鏈路,所述第一和第二 DHT環(huán)在相同分層級上并且具有公共的至少一個覆蓋路由器;以及 創(chuàng)建到在DHT環(huán)分層結(jié)構(gòu)中安置得更高的DHT環(huán)的虛擬鏈路,直到所有DHT環(huán)被合并為單個邏輯環(huán)。
2.如權(quán)利要求1所述的方法,其中,創(chuàng)建所述第一與第二DHT環(huán)之間的間接鏈路,所述方法特征還在于使DHT環(huán)之間的鏈路適合指向附連到與目的地DHT節(jié)點相同的網(wǎng)絡域的覆蓋路由器。
3.如權(quán)利要求1所述的方法,其中,DHT路由表存在于所述DHT環(huán)的每個的每一個節(jié)點中,以及對兩個DHT環(huán)所共有的所述節(jié)點包括來自兩個DHT環(huán)的表。
4.如權(quán)利要求1所述的方法,其中,域的所述級和DHT環(huán)的所述級定義為到達核心網(wǎng)絡所需的覆蓋路由器的最小數(shù)量加I。
5.如權(quán)利要求4所述的方法,其中,如果不存在相同分層級上的環(huán),則當存在為特定DHT環(huán)和下一個更高DHT環(huán)所共有的至少一個覆蓋路由器時,所述特定DHT環(huán)可與所述DHT環(huán)分層結(jié)構(gòu)的所述級中下一個更高的DHT環(huán)合并。
6.一種用于在構(gòu)建于異構(gòu)第3層域的覆蓋網(wǎng)絡中路由數(shù)據(jù)分組的覆蓋路由器,所述覆蓋路由器特征在于: 用于確定節(jié)點為第一和第二 DHT環(huán)所共有的部件; 用于通過建立經(jīng)由所述公共節(jié)點的間接鏈路啟動所述第一 DHT環(huán)中的節(jié)點與所述第二 DHT環(huán)中的節(jié)點之間的鏈路的部件; 用于創(chuàng)建所述第一與第二 DHT環(huán)之間的間接鏈路的部件,所述第一和第二 DHT環(huán)在相同分層級上并且具有公共的至少一個覆蓋路由器;以及 用于創(chuàng)建到在DHT環(huán)分層結(jié)構(gòu)中安置得更高的DHT環(huán)的虛擬鏈路的部件。
7.如權(quán)利要求6所述的覆蓋路由器,其中,所述創(chuàng)建部件特征在于使DHT環(huán)之間的鏈路適合指向附連到與目的地DHT節(jié)點相同的網(wǎng)絡域的覆蓋路由器。
8.如權(quán)利要求6所述的覆蓋路由器,其中,域的所述級和DHT環(huán)的所述級被定義為到達核心網(wǎng)絡所需的覆蓋路由器的最小數(shù)量加I。
9.如權(quán)利要求8所述的覆蓋路由器,其中,用于創(chuàng)建到在DHT環(huán)分層結(jié)構(gòu)中安置得更高的DHT環(huán)的虛擬鏈路的所述部件特征在于:僅在不存在相同分層級上的環(huán)時并且在存在為特定DHT環(huán)和下一個更高DHT環(huán)所共有的至少一個覆蓋路由器時,創(chuàng)建到在所述DHT環(huán)分層結(jié)構(gòu)中安置得更高的DHT環(huán)的虛擬鏈路。
【文檔編號】H04L12/773GK103546372SQ201310528517
【公開日】2014年1月29日 申請日期:2007年11月23日 優(yōu)先權(quán)日:2006年11月27日
【發(fā)明者】A.韋林, V.索扎 申請人:艾利森電話股份有限公司