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