專利名稱:鏈路狀態(tài)協(xié)議控制的網(wǎng)絡(luò)中路由選擇信息的分布式存儲的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及路由選擇信息管理,并且更具體來說,涉及用于鏈路狀態(tài)協(xié)議控制的網(wǎng)絡(luò)中的路由選擇信息的分布式存儲的方法和設(shè)備。
背景技術(shù):
數(shù)據(jù)通信網(wǎng)絡(luò)可包括耦合在一起并且配置成相互傳遞數(shù)據(jù)的各種計算機、服務(wù)器、節(jié)點、路由器、交換機、網(wǎng)橋、集線器、代理和其它網(wǎng)絡(luò)裝置。這些裝置在本文將稱作“網(wǎng)絡(luò)元件”。通過利用一條或多條通信鏈路在網(wǎng)絡(luò)元件之間傳送例如數(shù)據(jù)幀、分組、信元或段等的協(xié)議數(shù)據(jù)單元,經(jīng)由數(shù)據(jù)通信網(wǎng)絡(luò)來傳遞數(shù)據(jù)。當(dāng)特定的協(xié)議數(shù)據(jù)單元(rou)通過網(wǎng)絡(luò)在其源與其目的地之間傳播吋,它可以由多個網(wǎng)絡(luò)元件和交叉的多條通信鏈路來處理。當(dāng)網(wǎng)絡(luò)元件接收到向未知網(wǎng)絡(luò)地址傳送數(shù)據(jù)的請求時,網(wǎng)絡(luò)元件可嘗試獲得到達(dá)該未知網(wǎng)絡(luò)地址所需的路由選擇信息。存在確定PDU的路由選擇信息的若干常見方式。例如,在以太網(wǎng)網(wǎng)絡(luò)中,請求可由網(wǎng)絡(luò)元件廣播到網(wǎng)絡(luò)上,以便查看是否任何其它網(wǎng)絡(luò)元件知道如何到達(dá)該特定地址。當(dāng)廣播網(wǎng)絡(luò)元件接收到應(yīng)答時,它知道如何將以太網(wǎng)幀轉(zhuǎn)發(fā)給預(yù)期的地址。這通常結(jié)合提供商邊緣節(jié)點發(fā)生,所述提供商邊緣節(jié)點需要將特定客戶地址映射到提供商MAC地址,使得幀可被轉(zhuǎn)發(fā)通過提供商網(wǎng)絡(luò)。在這種情況下,提供商邊緣節(jié)點可具有到達(dá)所有其它提供商邊緣節(jié)點的路由選擇信息,但是可能沒有通過所有其它提供商邊緣節(jié)點可得到的所有客戶路由的路由選擇信息。提供商邊緣節(jié)點將需要確定其它提供商邊緣節(jié)點的哪ー個能夠到達(dá)該客戶路由,之后將PDU轉(zhuǎn)發(fā)到那個提供商邊緣節(jié)點上。在所請求地址是IP地址的情況下,查找與該IP地址關(guān)聯(lián)的資源的網(wǎng)絡(luò)位置的常見方式是將請求傳遞到域名服務(wù)(DNS)。DNS系統(tǒng)是ー種分級系統(tǒng),它依靠將更通用的地址緩存到整個網(wǎng)絡(luò)的分布式DNS服務(wù)器上,使得下級服務(wù)器能夠處理許多IP解析請求而無需DNS根服務(wù)器或者分級結(jié)構(gòu)中更高級的那些服務(wù)器涉及到其中。具體來說,具有未知IP地址的節(jié)點將請求傳遞給它的本地DNS服務(wù)器,并且如果那個服務(wù)器不具有必要的信息,那么它將請求進一歩沿分級結(jié)構(gòu)向上傳遞,直至到達(dá)具有所需信息的副本的服務(wù)器。隨著提供商網(wǎng)絡(luò)上的節(jié)點數(shù)量増加,以及通過網(wǎng)絡(luò)可得到的客戶路由數(shù)量増加,通過對所有節(jié)點廣播請求來解析路由請求變得越來越低效。具體來說,廣播請求需要網(wǎng)絡(luò)上的各節(jié)點處理每個請求,這在節(jié)點數(shù)量増加以及請求數(shù)量増加時變得低效。
類似地,隨著IP電話的出現(xiàn),對IP地址的一次性請求的數(shù)量預(yù)計會增加。例如,如果所請求的IP地址與網(wǎng)絡(luò)上所進行的電話呼叫的目的地關(guān)聯(lián),則預(yù)計對與這些IP地址關(guān)聯(lián)的路由選擇信息的請求中的大多數(shù)將是一次性請求,因為不可能許多人始終呼叫電話號碼的同一小集合。隨著對IP地址的一次性請求的比例増加,DNS服務(wù)的分級性質(zhì)的效率可預(yù)計會降低,因為多個請求更加不可能對同一個IP地址進行。具體來說,緩存對IP地址的相對近的請求可預(yù)計不太有價值,其中在特定時間周期內(nèi)將會接收到對同一個IP地址的第二次請求更加不可能。這可預(yù)計增加對DNS根服務(wù)器的需求,并且可能使DNS服務(wù)成為網(wǎng)絡(luò)上的瓶頸。因此,有利的是提供一種使路由選擇信息在網(wǎng)絡(luò)上可得到的新方式。
發(fā)明內(nèi)容
實現(xiàn)分布式哈希表以便存儲網(wǎng)絡(luò)上的路由選擇信息。根據(jù)本發(fā)明的一個實施例,結(jié)合鏈路狀態(tài)路由選擇協(xié)議的實現(xiàn)來交換的節(jié)點ID用作分布式哈希表中的密鑰,并且路由存儲在網(wǎng)絡(luò)上的ー個或多個節(jié)點處。當(dāng)路由被獲知時,對照密鑰集合來處理該路由以便 確定哪些節(jié)點應(yīng)當(dāng)存儲該路由。當(dāng)需要路由時,對照密鑰集合來處理該路由以便確定哪些節(jié)點應(yīng)當(dāng)具有路由信息。對照密鑰集合來處理路由的方式在兩種情況下都是相同的,使得DHT可用于存儲和檢索網(wǎng)絡(luò)上的路由信息。DHT可實現(xiàn)為存儲MAC地址、IP地址、MPLS標(biāo)簽或者其它受關(guān)注信息,以便使路由能夠由網(wǎng)絡(luò)上的網(wǎng)絡(luò)元件存儲和獲知。
通過所附權(quán)利要求書中的詳細(xì)資料來指出本發(fā)明的方面。通過以下附圖中示例來說明本發(fā)明,附圖中相似的參考標(biāo)號表示相似元件。以下附圖公開本發(fā)明的各種實施例,僅用于說明而不是要限制本發(fā)明的范圍。為了簡潔起見,可能不是每一個組件都在每張附圖中標(biāo)記。附圖包括
圖I是可用來實現(xiàn)其中節(jié)點實現(xiàn)DHT的本發(fā)明的一個實施例并且示出路由添加和路由查詢操作的示例網(wǎng)絡(luò)的原理框 圖2是根據(jù)本發(fā)明的一個實施例、可用來實現(xiàn)節(jié)點并且參與DHT的網(wǎng)絡(luò)元件的原理框
圖3是示出根據(jù)本發(fā)明的一個實施例、可用于建立和使用DHT來存儲路由信息的過程的流程 圖4-6是根據(jù)本發(fā)明的一個實施例、可用來實現(xiàn)由諸如圖2的網(wǎng)絡(luò)元件之類的網(wǎng)絡(luò)元件所存儲的表以便使網(wǎng)絡(luò)元件能夠參與DHT的數(shù)據(jù)結(jié)構(gòu);
圖7-8示出根據(jù)本發(fā)明的一個實施例、與將節(jié)點添加到DHT有關(guān)DHT進行變更的方式;
以及
圖9-10示出根據(jù)本發(fā)明的一個實施例、與從DHT刪除節(jié)點有關(guān)DHT進行變更的方式。
具體實施例方式圖I示出示例通信網(wǎng)絡(luò)10,其中網(wǎng)絡(luò)元件12經(jīng)由鏈路14而互連。網(wǎng)絡(luò)元件可定義自主網(wǎng)絡(luò),并且實現(xiàn)諸如中間系統(tǒng)到中間系統(tǒng)(IS-IS)或開放最短路徑優(yōu)先(OSPF)之類的鏈路狀態(tài)路由選擇協(xié)議,以便允許計算網(wǎng)絡(luò)元件12之間的路由。網(wǎng)絡(luò)10上的網(wǎng)絡(luò)元件將交換問候消息以便獲知節(jié)點之間的相鄰性,并且交換鏈路狀態(tài)通告以便使網(wǎng)絡(luò)上的所有節(jié)點能夠構(gòu)建表示網(wǎng)絡(luò)的拓?fù)涞逆溌窢顟B(tài)數(shù)據(jù)庫。雖然結(jié)合描述實施例將提供特別強調(diào),在所述實施例中網(wǎng)絡(luò)是實現(xiàn)鏈路狀態(tài)協(xié)議以便控制以太網(wǎng)網(wǎng)絡(luò)上路由選擇的以太網(wǎng)網(wǎng)絡(luò),但是本發(fā)明并不局限于這種方式,因為網(wǎng)絡(luò)10也可實現(xiàn)為IP網(wǎng)絡(luò)、MPLS網(wǎng)絡(luò)或者另ー種網(wǎng)絡(luò)。通過采用無回路最短路徑轉(zhuǎn)發(fā)(loop-free shortest path forwarding)提供網(wǎng)絡(luò)容量的更有效使用,使用鏈路狀態(tài)協(xié)議來控制以太網(wǎng)網(wǎng)絡(luò)使以太網(wǎng)網(wǎng)絡(luò)能夠從LAN空間縮放(scale)到WAN或提供商網(wǎng)絡(luò)空間。不是通過使用與透明橋接結(jié)合的生成樹協(xié)議(STP)算法來利用各節(jié)點處獲知的網(wǎng)絡(luò)視圖,而是在鏈路狀態(tài)協(xié)議控制的以太網(wǎng)網(wǎng)絡(luò)中,形成網(wǎng)狀網(wǎng)絡(luò)的網(wǎng)橋交換鏈路狀態(tài)通告,以便使各節(jié)點能夠具有網(wǎng)絡(luò)拓?fù)涞耐揭晥D。這經(jīng)由鏈路狀態(tài)路由選擇系統(tǒng)的充分理解的機制來實現(xiàn)。網(wǎng)絡(luò)中的網(wǎng)橋具有網(wǎng)絡(luò)拓?fù)涞耐揭晥D,了解必要的單播和多播連通性,能計算網(wǎng)絡(luò)中任一對網(wǎng)橋之間的最短路徑連通性,并且能 根據(jù)網(wǎng)絡(luò)的所計算視圖單獨裝載(populate)其轉(zhuǎn)發(fā)信息庫(FIB)。在2006年10月2日提交的標(biāo)題為“提供商鏈路狀態(tài)橋接”(“Provider Link StateBridging”)的申請No. 11/537, 775中公開這種性質(zhì)的鏈路狀態(tài)協(xié)議控制的以太網(wǎng)網(wǎng)絡(luò)的ー個示例,由此通過引用將其內(nèi)容結(jié)合到本文中。正如那個申請中更詳細(xì)地描述,鏈路狀態(tài)協(xié)議控制的以太網(wǎng)網(wǎng)絡(luò)中的節(jié)點交換問候消息以便獲知網(wǎng)絡(luò)上的其它節(jié)點的相鄰性,并且傳送鏈路狀態(tài)通告以便使網(wǎng)絡(luò)上的各節(jié)點能夠構(gòu)建鏈路狀態(tài)數(shù)據(jù)庫。鏈路狀態(tài)數(shù)據(jù)庫可用來計算通過網(wǎng)絡(luò)的最短路徑。然后,各節(jié)點裝載轉(zhuǎn)發(fā)信息庫(FIB),它將由節(jié)點用來進行轉(zhuǎn)發(fā)判定,使得以太網(wǎng)幀將通過所計算的最短路徑轉(zhuǎn)發(fā)到目的地。由于到特定目的地的最短路徑將取決于業(yè)務(wù)的源,所以網(wǎng)絡(luò)業(yè)務(wù)可比ー個或多個生成樹被用來攜帯網(wǎng)絡(luò)上的業(yè)務(wù)的情況分布于更大數(shù)量的鏈路。在給定管理域內(nèi),形成以太網(wǎng)網(wǎng)絡(luò)的網(wǎng)絡(luò)元件可基于作為給定管理域的部分的網(wǎng)絡(luò)上網(wǎng)絡(luò)元件的目標(biāo)MAC地址來轉(zhuǎn)發(fā)分組。當(dāng)業(yè)務(wù)到達(dá)網(wǎng)絡(luò)的邊緣時,邊緣網(wǎng)絡(luò)元件將把業(yè)務(wù)映射到服務(wù),并且在通過與服務(wù)關(guān)聯(lián)的網(wǎng)絡(luò)的路徑上轉(zhuǎn)發(fā)業(yè)務(wù)。這可能發(fā)生的一種常見情況是客戶業(yè)務(wù)將通過提供商的以太網(wǎng)網(wǎng)絡(luò)來路由。使用客戶MAC尋址空間來尋址的客戶幀將穿過(traverse)客戶網(wǎng)絡(luò),直至它到達(dá)客戶網(wǎng)絡(luò)的邊緣。當(dāng)幀到達(dá)提供商網(wǎng)絡(luò)時,提供商網(wǎng)絡(luò)將查看目標(biāo)地址(C-MAC地址),并且確定提供商網(wǎng)絡(luò)上的哪ー個節(jié)點能夠到達(dá)那個客戶MAC地址。正如下面更詳細(xì)地進行描述,分布式哈希表可用于存儲提供商一客戶關(guān)聯(lián),使得提供商網(wǎng)絡(luò)元件能夠通過向DHT發(fā)出查詢來獲知這種關(guān)聯(lián)。作為另ー個示例,在IP網(wǎng)絡(luò)中,與IP地址關(guān)聯(lián)的資源的位置可能需要由IP網(wǎng)絡(luò)上的路由器來查找。根據(jù)本發(fā)明的一個實施例,IP地址和網(wǎng)絡(luò)位置可存儲在DHT中,其中網(wǎng)絡(luò)上的節(jié)點實現(xiàn)DHT的部分。作為又ー個示例,在MPLS網(wǎng)絡(luò)中,標(biāo)簽邊緣路由器可能需要獲知哪一個標(biāo)簽將用于在通過網(wǎng)絡(luò)的標(biāo)簽交換路徑上轉(zhuǎn)發(fā)業(yè)務(wù)。標(biāo)簽可存儲在網(wǎng)絡(luò)元件所實現(xiàn)的DHT中,以便允許檢索業(yè)務(wù)流的標(biāo)簽。正如下面更詳細(xì)地進行描述,可形成分布式哈希表,使得網(wǎng)絡(luò)上的各節(jié)點具有形成分布式哈希表中的密鑰的節(jié)點ID。各節(jié)點則配置成存儲路由選擇數(shù)據(jù)總量的子集,其中哈希值充分接近其密鑰。當(dāng)節(jié)點獲知路由時,它存儲該路由的本地副本,并且將路由的副本轉(zhuǎn)發(fā)給網(wǎng)絡(luò)中配置成存儲DHT的那個部分的那些節(jié)點(即,其ID ‘接近’路由的密鑰/ID的節(jié)點)。節(jié)點ID和路由ID可以以一致的方式進行哈希(hash)或者其它處理,使得節(jié)點ID和路由ID占用同一空間。實現(xiàn)鏈路狀態(tài)路由選擇協(xié)議還使所有節(jié)點能夠知道網(wǎng)絡(luò)上所有其它節(jié)點的標(biāo)識。具體來說,作為鏈路狀態(tài)路由選擇協(xié)議的部分,節(jié)點均將傳送包含其節(jié)點ID以及與它們所連接的鏈路相關(guān)的信息的鏈路狀態(tài)通告。這種信息將用來形成鏈路狀態(tài)數(shù)據(jù)庫。正如本文更詳細(xì)地描述,根據(jù)本發(fā)明的一個實施例,結(jié)合鏈路狀態(tài)路由選擇協(xié)議所交換的節(jié)點ID可與分布式哈希表中存儲的路由密鑰進行比較,使得各節(jié)點從其鏈路狀態(tài)數(shù)據(jù)庫了解到哪些節(jié)點負(fù)責(zé)將哪些路由密鑰存儲在DHT中。然后,密鑰可用于以確定性方式存儲以及檢索來自DHT的路由信息。通過使用鏈路狀態(tài)數(shù)據(jù)庫中的節(jié)點信息來確定應(yīng)當(dāng)由那個節(jié)點存儲的DHT的密鑰,能夠簡化密鑰的計算,以便使DHT更易于實現(xiàn)。另外,對LSDB的變更可傳播入DHT,使得DHT成員可在網(wǎng)絡(luò)拓?fù)涓淖儠r自動調(diào)整。分布式哈希表是對等技術(shù),在E. RESC0RLA的標(biāo)題為“分布式哈希表入 門”(“Introduction to Distributed Hash Tables”)的論文以及 P. MAYM0UNK0V 等人的標(biāo)題為“Kademlia :基于 XOR 量度的對等信息系統(tǒng)”(Kademlia:A Peer-to-Peer InformationSystem Based on the XOR Metric)的論文中對它進行了更詳細(xì)地描述,由此通過引用將其內(nèi)容結(jié)合。根據(jù)本發(fā)明的一個實施例,通過使數(shù)據(jù)存儲在分布式哈希表來將這類關(guān)聯(lián)的數(shù)據(jù)均勻地分布于網(wǎng)絡(luò),諸如用戶到提供商地址關(guān)聯(lián)和IP路由選擇信息之類的路由選擇信息可存儲在極大的網(wǎng)絡(luò)中,其中網(wǎng)絡(luò)元件各自承擔(dān)存儲分布式哈希表的一部分的職責(zé)。從LSDB所確定的節(jié)點ID可與DHT中的路由/密鑰進行比較,以便使節(jié)點能夠確定應(yīng)當(dāng)存儲已知路由選擇信息的位置以及可找到未知路由選擇信息的位置。當(dāng)節(jié)點接收到路由信息吋,它將存儲該路由信息,并且使那個信息在請求時可用。通過使各節(jié)點存儲路由選擇信息的一部分,不需要節(jié)點存儲整個路由選擇表,使得對任ー個節(jié)點的存儲要求可降低。通過指定冗余因子,信息的多個副本可存儲在DHT中,使得任一個節(jié)點的故障不會影響其它節(jié)點查找特定路由信息的能力。圖2示出可用于實現(xiàn)本發(fā)明的一個實施例的網(wǎng)絡(luò)元件的ー個示例。如圖2所示,網(wǎng)絡(luò)元件包括數(shù)據(jù)平面50和控制平面60。數(shù)據(jù)平面50 —般包括配置成與網(wǎng)絡(luò)上的鏈路接ロ的輸入/輸出卡、配置成對于通過1/0卡52所接收的數(shù)據(jù)執(zhí)行功能的數(shù)據(jù)卡54以及配置成在數(shù)據(jù)卡/1/0卡之間交換數(shù)據(jù)的交換結(jié)構(gòu)(switch fabric) 56??刂破矫姘幚砥?2,所述處理器62包含配置成實現(xiàn)DHT進程64、消息傳遞進程66和鏈路狀態(tài)路由選擇進程67的控制邏輯。消息傳遞進程可用于例如格式化DHT添加消息和DHT查詢消息、將包含路由選擇信息的DHT條目添加入DHT以及從DHT提取DHT條目。其它進程也可在控制邏輯中實現(xiàn)。與DHT和消息傳遞進程關(guān)聯(lián)的數(shù)據(jù)和指令可作為DHT軟件68存儲在存儲器70中。與鏈路狀態(tài)路由選擇進程67關(guān)聯(lián)的數(shù)據(jù)和指令可作為協(xié)議棧軟件69存儲在存儲器70中。本地數(shù)據(jù)表72、遠(yuǎn)程數(shù)據(jù)表74、成員表76和鏈路狀態(tài)數(shù)據(jù)庫78的示例在本文更詳細(xì)地描述,它們可保存在存儲器70中、保存在網(wǎng)絡(luò)元件16內(nèi)的其它存儲器中或者接ロ到網(wǎng)絡(luò)元件并且存儲在外部存儲器中。圖3示出可用于實現(xiàn)本發(fā)明的一個實施例的進程。圖3提供該進程的概覽;下面結(jié)合圖4-9來闡明附加細(xì)節(jié),圖4-9示出根據(jù)本發(fā)明的一個實施例、可用于實現(xiàn)分布式哈希表(DHT)的部分的示例表的數(shù)據(jù)結(jié)構(gòu)。如圖3所示,節(jié)點交換鏈路狀態(tài)通告(100),以便獲知網(wǎng)絡(luò)上參與DHT的所有節(jié)點的MAC地址。各節(jié)點將使用節(jié)點ID來構(gòu)建DHT成員表(參見圖4),它將使節(jié)點能夠確定節(jié)點的哪ー個應(yīng)當(dāng)用于存儲特定密鑰/路由,以及使節(jié)點能夠確定應(yīng)當(dāng)發(fā)送特定密鑰/路由的查詢的位置。例如,網(wǎng)絡(luò)上的各節(jié)點將具有MAC地址。MAC地址可經(jīng)過哈希以便創(chuàng)建節(jié)點ID,然后可對節(jié)點ID排序(order)以便創(chuàng)建成員表(102)。備選地,節(jié)點MAC地址本身可以是節(jié)點ID。雖然將描述其中節(jié)點MAC地址用于創(chuàng)建節(jié)點ID的本發(fā)明的一個實施例,但是本發(fā)明并不局限于這種方式,因為其它信息可用作DHT的基礎(chǔ)。例如,節(jié)點的IP地址可用來形成節(jié)點的DHT ID的基礎(chǔ)。網(wǎng)絡(luò)上的節(jié)點被連接到客戶LAN,并且獲知的=客戶ー提供商關(guān)聯(lián)(C-MAC至P-MAC對),它們也將被稱作路由。路由與客戶MAC地址(至該對的密鑰)關(guān)聯(lián),所述客戶MAC地址可用于確定路由應(yīng)當(dāng)存儲在分布式哈希表中的位置。
因此,如圖3所示,當(dāng)節(jié)點獲知路由時,節(jié)點對與該路由關(guān)聯(lián)的C-MAC地址執(zhí)行哈希,以便獲得路由/密鑰ID(104)。該哈希函數(shù)與用于創(chuàng)建節(jié)點ID的哈希函數(shù)相同,使得路由ID和節(jié)點ID具有同一格式,并且因此可易于使用XOR過程或其它數(shù)學(xué)過程進行比較。然后,節(jié)點將對路由ID與(102)中找到的節(jié)點ID進行比較,以便確定節(jié)點的哪ー個充分“接近”該路由ID。結(jié)合圖I更詳細(xì)地描述如何執(zhí)行比較的ー個示例。如圖I所示,假定節(jié)點1001獲知它要存儲在分布式哈希表中的〈密鑰,值〉對(本例中為〈C-MAC/P-MAC〉),使得所有節(jié)點能夠有權(quán)訪問〈密鑰,值〉對。例如,假定節(jié)點1001獲知路由〈1100,VI〉。節(jié)點1001將對密鑰(1100)與所有其它節(jié)點ID執(zhí)行XOR運算,以便確定哪些節(jié)點具有最接近該密鑰ID的節(jié)點ID。然后,該節(jié)點根據(jù)所使用的比較算法(本例中為XOR運算)將把〈密鑰,值〉對發(fā)送給最接近的那些節(jié)點,使得它們可存儲該〈密鑰,值〉對。在所示示例中,節(jié)點1101和1110將與1100具有最小XOR距離,因此僅向那些節(jié)點發(fā)送〈1100,VI〉對供存儲。由于向兩個節(jié)點發(fā)送該路由供存儲,所以本例中的復(fù)制因子(replication factor)為2 (K=2)。接收該路由的節(jié)點將在其遠(yuǎn)程數(shù)據(jù)表中存儲〈密鑰,值〉對。如圖3所示,一旦值被存儲,當(dāng)節(jié)點需要獲知路由吋,它將對設(shè)法找到的C-MAC地址執(zhí)行哈希,以便獲得路由/密鑰ID(IOS)。然后,節(jié)點將通過對路由ID與成員表中節(jié)點的節(jié)點ID進行比較,來確定DHT中的節(jié)點的哪ー個應(yīng)當(dāng)用于查詢路由/密鑰ID的路由選擇信息。例如,這可使用上述XOR距離過程來完成。然后,節(jié)點將把對〈密鑰,值〉對的請求傳送給節(jié)點ID最接近高于(immediately higher)路由ID的K個節(jié)點的至少ー個(110)或者傳送給具有被認(rèn)為最接近路由/密鑰ID的節(jié)點ID的k個節(jié)點。接收請求的節(jié)點將從其遠(yuǎn)程數(shù)據(jù)表(參見圖6)提取路由信息,并且以路由條目的路由信息(在這種情況下為所請求 C-MAC 的 P-MAC)響應(yīng)(112)。在圖I所示的示例中,例如假定節(jié)點0011發(fā)現(xiàn)它需要其值的密鑰。具體來說,假定節(jié)點0011發(fā)現(xiàn)密鑰1100,但是沒有與那個密鑰關(guān)聯(lián)的值。密鑰可以是與從客戶LAN所接收的幀關(guān)聯(lián)的哈希C-MAC地址,或者可表示諸如IP地址之類的另ー實際量。節(jié)點將在密鑰與拓?fù)渲械乃衅渌?jié)點ID之間執(zhí)行XOR運算,以便查找兩個最接近已知密鑰的節(jié)點ID。注意,節(jié)點使用如將〈密鑰,值〉對放入DHT時所執(zhí)行的相同值來執(zhí)行同一 XOR距離過程,因此可預(yù)計節(jié)點OOll也將確定節(jié)點1101和1110可能具有那個密鑰的值的副本。節(jié)點0011可向節(jié)點1101和1110傳送請求密鑰1100的值的請求,并且預(yù)計節(jié)點的ー個或兩個將能夠以值Vl響應(yīng)。雖然本文已經(jīng)描述了實施例,在所述實施例中通過在節(jié)點ID與路由ID之間執(zhí)行XOR運算來確定節(jié)點ID與路由ID之間的距離,但是,本發(fā)明并不局限于這種方式,因為對值進行比較以確定節(jié)點ID與路由ID之間的相對距離的其它數(shù)學(xué)方式也可使用。通過使值Vl在DHT中存儲多次(特定數(shù)目取決于復(fù)制因子K),請求節(jié)點可接收多個響應(yīng)。但是,將值存儲在DHT中的ー個以上位置提供針對網(wǎng)絡(luò)中的任一個節(jié)點的故障的彈性(resiliency),因為存儲在該節(jié)點的信息可從形成DHT的其它剩余節(jié)點重新創(chuàng)建和重新分發(fā)。下面結(jié)合圖7-10更詳細(xì)地描述對DHT添加和刪除節(jié)點。由于網(wǎng)絡(luò)元件正運行諸如OSPF或ISIS之類的鏈路狀態(tài)協(xié)議,所以各節(jié)點具有節(jié)點的列表和節(jié)點地址。這種信息可用于確定提供商網(wǎng)絡(luò)中的所有提供商節(jié)點的節(jié)點ID。當(dāng)DHT用于存儲客戶端/提供商關(guān)聯(lián)并且客戶端到提供商節(jié)點關(guān)聯(lián)被獲知吋,完成DHT‘添加” 以便將〈客戶端,提供商 > 信息插入DHT。因此,在這種情況下,該值是其中可找到客戶端路由的提供商節(jié)點,并且客戶端MAC地址是與提供商節(jié)點的節(jié)點ID進行XOR運算以便確定哪ー個提供商節(jié)點應(yīng)當(dāng)存儲〈客戶端,提供商 > 對的密鑰。當(dāng)客戶端首次想要與另ー個客戶端通話時,它通過對照DHT進行查詢來向DHT請求與那個客戶端的提供商關(guān)聯(lián)。具體來說,客戶端值與節(jié)點ID進行XOR運算,以便確定DHT中的哪些節(jié)點應(yīng)當(dāng)存儲那個〈客戶端,提供商 > 地址關(guān)聯(lián),并且然后查詢將被發(fā)送給DHT中被確定存儲那個關(guān)聯(lián)的提供商節(jié)點。DHT中的節(jié)點將以〈客戶端,提供商 > 對響應(yīng),使得客戶端可獲知哪ー個提供商節(jié)點能夠到達(dá)預(yù)計客戶端地址。這樣,DHT添加/查詢操作使用鏈路狀態(tài)拓?fù)湟源_定性方式識別存儲/查詢〈客戶端,提供商 > 關(guān)聯(lián)的少量(K)提供商節(jié)點。通過使用節(jié)點ID作為對DHT的密鑰,密鑰計算過程可極大地簡化。另外,由于所有節(jié)點具有鏈路狀態(tài)數(shù)據(jù)庫的更新副本,所以所有節(jié)點具有在DHT中正被使用的節(jié)點ID的集合的當(dāng)前副本,因此當(dāng)DHT成員/密鑰所有權(quán)隨網(wǎng)絡(luò)拓?fù)涞淖兏兏鼤r,無需附加信令機制來更新節(jié)點。密鑰可以是以太網(wǎng)MAC地址、諸如IPV4或IPv6地址之類的IP地址或網(wǎng)絡(luò)應(yīng)用服務(wù)平臺(NSAP)地址或者包括MPLS標(biāo)簽或其它標(biāo)簽的其它公共或?qū)S械刂?。類似地,要隨特定密鑰一起存儲在DHT中的值也可以是以太網(wǎng)MAC地址、諸如IPV4或IPv6地址之類的IP地址、NSAP地址或者包括MPLS標(biāo)簽或其它標(biāo)簽的其它公共或?qū)S械刂?。一般來說,在所有正使用分級路由選擇系統(tǒng)并且必須存儲映射以便從上級地址映射到下級地址的情況下,與任一個或兩個地址的格式無關(guān),DHT可用于以有效方式來存儲這種關(guān)系。類似地,節(jié)點和路由ID可取自開放式系統(tǒng)互連基本參考模型(OSI)層的同一層,或者可取自不同的層。例如,節(jié)點和路由ID都可以是第2層值(MAC地址)、都可以是第3層值(IP地址)或者可以是它們兩者,即,節(jié)點ID可以是IP地址而路由ID可以是MAC地址,或者相反地,節(jié)點ID可以是MAC地址而路由ID可以是IP地址。圖4-6示出可由網(wǎng)絡(luò)上的節(jié)點的ー個或多個保存以便實現(xiàn)本文所述DHT的示例DHT表。在這些圖中,圖4示出包含節(jié)點ID的列表的DHT成員表的示例。節(jié)點ID可以是如從鏈路狀態(tài)數(shù)據(jù)庫所獲知的網(wǎng)絡(luò)上節(jié)點的地址值,或者備選地可以由這些地址值的哈希來形成。在所示示例中,節(jié)點ID表包含從路由選擇系統(tǒng)獲得的9個值。具體來說,諸如圖I所示的網(wǎng)絡(luò)之類的網(wǎng)絡(luò)上的節(jié)點假定為實現(xiàn)鏈路狀態(tài)路由選擇協(xié)議,其中各節(jié)點交換鏈路狀態(tài)通告以便使網(wǎng)絡(luò)上的各節(jié)點能夠構(gòu)建鏈路狀態(tài)數(shù)據(jù)庫。鏈路狀態(tài)通告和/或鏈路狀態(tài)數(shù)據(jù)庫將包含節(jié)點的地址。參與DHT的那些節(jié)點的節(jié)點地址將用于裝載圖4的DHT成員表。雖然成員表如圖4所示,但是這種信息可作為鏈路狀態(tài)數(shù)據(jù)庫的部分而被包含,因而不需要存儲在獨立的表中。圖5示出可由網(wǎng)絡(luò)上的節(jié)點保存而與DHT無關(guān)的本地數(shù)據(jù)表的示例。具體來說,網(wǎng)絡(luò)上的節(jié)點可從與其附連的客戶設(shè)備獲知路由。這種信息可存儲在本地表中,使得節(jié)點能夠保存通過它是可達(dá)的那些路由的副本。本地表還可用于緩存從DHT所獲知的路由,使得可加速與特定遠(yuǎn)程路由交換數(shù)據(jù)的重復(fù)嘗試。當(dāng)獲知路由吋,將它們添加到本地數(shù)據(jù)表。通過將路由值與節(jié)點ID進行比較(即進行XOR運算),路由也將被傳送給DHT以便查找K個最接近的匹配節(jié)點ID。在圖4和圖5 所示的示例中,復(fù)制因子K(DHT中信息的復(fù)制副本的數(shù)量)設(shè)置為三,使得獲知路由的節(jié)點將把已獲知路由傳送給參與DHT、最接近路由的密鑰值的三個節(jié)點。例如,可將路由發(fā)送給節(jié)點ID高于路由的密鑰值的三個節(jié)點。例如,假定DHT成員表包含IP地址,并且本地節(jié)點獲知了到IP地址的路由。已獲知路由的IP地址可與DHT成員表中的節(jié)點的IP地址進行XOR運算,以便查找IP地址與已獲知IP地址最相似(‘接近’)的那三個節(jié)點。然后可將路由發(fā)送給那三個節(jié)點,以便使那個IP地址的路由信息存儲在分布式哈希表的正確節(jié)點處。當(dāng)然,在比較發(fā)生之前IP地址可經(jīng)過哈?;蛘咂渌幚聿⑶乙部墒褂闷渌愋偷牡刂?,因為IP地址僅用作可使用的一種類型的地址的示例。這個相同過程也可用于查找表中的IP地址。圖6示出可由DHT中的節(jié)點存儲的遠(yuǎn)程數(shù)據(jù)表的示例。如圖6所示,當(dāng)節(jié)點接收到來自網(wǎng)絡(luò)上的其它節(jié)點之一的通告路由時,它將把該路由存儲在其遠(yuǎn)程數(shù)據(jù)表中。該表可按照與路由的地址關(guān)聯(lián)的密鑰來組織,并且可包含與路由關(guān)聯(lián)的節(jié)點的值(即節(jié)點ID)。其它數(shù)據(jù)也可與路由關(guān)聯(lián)。當(dāng)網(wǎng)絡(luò)上的另ー個節(jié)點需要和與路由的地址關(guān)聯(lián)的路由進行通信時,該節(jié)點可將路由地址(路由密鑰)與節(jié)點ID (節(jié)點密鑰)進行比較,以便確定DHT中的哪些節(jié)點應(yīng)該保存該路由。然后,請求節(jié)點可將請求轉(zhuǎn)發(fā)給DHT中的該節(jié)點,以便使該節(jié)點從其遠(yuǎn)程數(shù)據(jù)表檢索路由信息。如圖6的示例遠(yuǎn)程數(shù)據(jù)表所示,遠(yuǎn)程數(shù)據(jù)表包含密鑰的列表以及網(wǎng)絡(luò)上可用于到達(dá)(reach)那些密鑰的節(jié)點ID的列表。例如,密鑰221可經(jīng)由節(jié)點ID 598到達(dá),密鑰245可經(jīng)由節(jié)點ID 384到達(dá),等等。存儲在遠(yuǎn)程數(shù)據(jù)表74中的密鑰集合是使用上述XOR距離計算過程確定為充分接近保存遠(yuǎn)程數(shù)據(jù)表的節(jié)點ID的數(shù)據(jù)的那個集合。當(dāng)網(wǎng)絡(luò)上的另ー個節(jié)點發(fā)現(xiàn)諸如密鑰245之類的密鑰時,它可向保存遠(yuǎn)程數(shù)據(jù)表74的節(jié)點發(fā)送請求,以便獲得路由在網(wǎng)絡(luò)上所在的節(jié)點ID。具體來說,在接收到該請求時,保存遠(yuǎn)程數(shù)據(jù)表74的節(jié)點將獲得值〈密鑰245,節(jié)點ID 384〉以及與該條目關(guān)聯(lián)的無論什么數(shù)據(jù),并且響應(yīng)請求節(jié)點,使得發(fā)現(xiàn)密鑰245的節(jié)點可獲知它能夠經(jīng)由節(jié)點ID 384而到達(dá)與密鑰245關(guān)聯(lián)的路由。在這方面要注意,進入表中的密鑰基于IP地址、以太網(wǎng)MAC地址等,使得DHT中的各節(jié)點在其遠(yuǎn)程數(shù)據(jù)表中存儲與IP地址、以太網(wǎng)MAC地址等的特定集合關(guān)聯(lián)的路由。通過將節(jié)點IP地址或以太網(wǎng)MAC地址與DHT中的那個節(jié)點以確定性方式所存儲的地址集合關(guān)聯(lián),其它節(jié)點在面臨未知地址時可執(zhí)行同一計算,以便確定要查詢哪ー個節(jié)點以獲得那個地址的路由。圖7-8示出根據(jù)本發(fā)明的一個實施例、與將節(jié)點添加到DHT有關(guān)DHT進行變更的方式。如圖7所示,DHT成員表將存儲從網(wǎng)絡(luò)上的其它節(jié)點在獲知路由時傳送給它的數(shù)據(jù)。當(dāng)節(jié)點獲知路由時,它將被存儲在本地數(shù)據(jù)表72中,并且隨后傳送給由節(jié)點通過查看DHT成員表70所識別的其它節(jié)點。根據(jù)復(fù)制因子,路由信息將被發(fā)出一次或多次到識別為需要將路由信息存儲在DHT中的節(jié)點。在所示示例中,復(fù)制因子為三(K=3),因此節(jié)點將發(fā)送路由信息給三個節(jié)點以便存儲在DHT中。因此,在所示示例中,密鑰346 (及其值/路由)將被發(fā)送到節(jié)點351、378和384,而密鑰378 (及其值/路由)將被發(fā)送到節(jié)點384、419和598。這時假定以節(jié)點ID=380將新節(jié)點添加到DHT。這種情況的示例如圖8所示。在將新節(jié)點添加到網(wǎng)絡(luò)時,該節(jié)點將開始發(fā)出鏈路狀態(tài)通告,以便使節(jié)點將該節(jié)點添加到其鏈路狀態(tài)數(shù)據(jù)庫。在鏈路狀態(tài)數(shù)據(jù)庫中包含該節(jié)點將自動使節(jié)點ID被添加到DHT成員表70。但是,在DHT成員表中包含新節(jié)點將影響網(wǎng)絡(luò)上的節(jié)點執(zhí)行路由查詢的方式,因為在確定 尋找具有特定密鑰的路由的位置時將咨詢更新DHT成員表。因此,應(yīng)當(dāng)存儲在那個DHT中的路由應(yīng)當(dāng)傳送給新節(jié)點,使得它在其遠(yuǎn)程數(shù)據(jù)表中具有路由信息的副本。這樣做的ー種方式是使網(wǎng)絡(luò)元件確定哪些路由受到成員表的變更影響,并且使節(jié)點將路由傳送給新節(jié)點,好像它們原本已傳送到那里一樣(if they should originally have been transmittedthere)。這可通過使各節(jié)點基于當(dāng)前DHT成員表來確定其本地數(shù)據(jù)表中哪些密鑰應(yīng)當(dāng)存儲在節(jié)點上,并且使節(jié)點將那些路由傳送給新節(jié)點來完成。因此,例如,圖8中的節(jié)點可確定新節(jié)點380應(yīng)當(dāng)具有密鑰346的路由信息的副本,并且將那個路由傳送給新節(jié)點。該節(jié)點也將確定密鑰377和378也應(yīng)當(dāng)被傳送到節(jié)點380,并且還傳送那些路由的DHT添加消息。由于復(fù)制因子仍然為三,并且節(jié)點384已經(jīng)提供有路由信息的副本,因此,節(jié)點384將具有不會被任何其它節(jié)點請求的額外副本,只要DHT成員表不再變更。因此,可指示節(jié)點384刪除與密鑰346關(guān)聯(lián)的路由,或者節(jié)點384可允許與密鑰346關(guān)聯(lián)的路由超時,并且在特定時間周期它未被請求之后被刪除。圖9-10示出根據(jù)本發(fā)明的一個實施例、與從DHT刪除節(jié)點有關(guān)DHT進行變更的方式。具體來說,圖9示出在結(jié)合圖7和圖8所述的添加操作期間添加節(jié)點380之后的DHT成員表。圖9中,假定如以上結(jié)合圖8所述,復(fù)制過程已經(jīng)使無關(guān)的(extraneous)路由信息被刪除或超時,使得各密鑰存儲在DHT中的三個不同節(jié)點處。如圖10所示,假定從DHT成員表移除節(jié)點380。在移除節(jié)點380時,特定路由僅存儲在DHT中的兩個位置處。為了使那些路由存儲在三個位置,各本地節(jié)點可回顧(review)其本地數(shù)據(jù)表中的信息,以便確定它已經(jīng)使哪些密鑰存儲在那個節(jié)點處的DHT中。對于受影響的那些密鑰,節(jié)點可基于新的DHT成員來確定哪些節(jié)點應(yīng)當(dāng)存儲密鑰,并且將密鑰傳送給那些節(jié)點。備選地,由于遠(yuǎn)程節(jié)點中的一些將已經(jīng)使密鑰存儲在DHT遠(yuǎn)程數(shù)據(jù)表中,所以節(jié)點可以僅向這個過程中確定的最后ー個節(jié)點傳送路由選擇信息。例如,如果復(fù)制因子為K=3,則本地節(jié)點可確定DHT中的第三節(jié)點應(yīng)當(dāng)存儲數(shù)據(jù)的副本,并且僅向第三節(jié)點傳送與那個密鑰關(guān)聯(lián)的路由信息。雖然已經(jīng)描述了一個實施例,其中節(jié)點在DHT成員變更時使用存儲在其本地表中的信息將路由復(fù)制到DHT節(jié)點,但是本發(fā)明并不局限于這種方式,因為實現(xiàn)這個過程的其它方式也可被實現(xiàn)。例如,如果節(jié)點被添加到DHT,則在新節(jié)點的復(fù)制因子之內(nèi)、具有節(jié)點ID的DHT節(jié)點可處理其DHT遠(yuǎn)程數(shù)據(jù)表中的密鑰,以便確定哪些密鑰應(yīng)當(dāng)存儲在新節(jié)點中,并且將那些密鑰傳送給新節(jié)點。作為這個過程的部分,節(jié)點也可確定哪些密鑰不再需要存儲在其遠(yuǎn)程數(shù)據(jù)表中,并且刪除那些路由。類似地,在從DHT移除節(jié)點時,在已經(jīng)移除的節(jié)點的復(fù)制因子之內(nèi)的那些節(jié)點可處理其遠(yuǎn)程數(shù)據(jù)表中的路由,以便確定哪些路由存儲在不再是DHT的部分的節(jié)點中。存儲在舊節(jié)點中的那些路由則可根據(jù)需要傳送給DHT的其它節(jié)點,以便使各路由的復(fù)制因子保持相同。因此,對DHT成員的修改可由DHT節(jié)點來實現(xiàn),而無需已獲知路由信息的節(jié)點每當(dāng)DHT成員變更時將路由信息重新通告到DHT中。如上所述的功能可實現(xiàn)為一組程序指令,它們存儲在計算機可讀存儲器中,并且在計算機平臺上的一個或多個處理器上運行。然而,本領(lǐng)域的技術(shù)人員將明白,本文所述的所有邏輯可使用分立組件、諸如專用集成電路(ASIC)之類的集成電路、與諸如現(xiàn)場可編程門陣列(FPGA)或微處理器之類的可編程邏輯裝置結(jié)合使用的可編程邏輯、狀態(tài)機或者包 括它們的任何組合的其它任何裝置來體現(xiàn)。可編程邏輯能暫時或永久固定在諸如只讀存儲器芯片、計算機存儲器、磁盤或其它存儲介質(zhì)之類的實體介質(zhì)中。可編程邏輯也能固定在以載波體現(xiàn)的計算機數(shù)據(jù)信號中,從而允許可編程邏輯通過諸如計算機總線或通信網(wǎng)絡(luò)之類的接ロ來傳送。所有這類實施例意在落入本發(fā)明的范圍之內(nèi)。應(yīng)當(dāng)理解,附圖中所示以及說明書中所述的實施例的各種變更和修改可在本發(fā)明的精神和范圍之內(nèi)進行。因此,在以上說明書中包含以及附圖中所示的所有事項意在被解釋為說明性而不是限制性的。本發(fā)明僅由以下權(quán)利要求書及其等效物所定義的內(nèi)容來限制。
權(quán)利要求
1.一種網(wǎng)絡(luò)元件,包括 處理器,被配置成實現(xiàn)將路由選擇信息存儲在鏈路狀態(tài)協(xié)議控制的網(wǎng)絡(luò)中的方法,所述方法包括以下步驟 在所述網(wǎng)絡(luò)上實現(xiàn)鏈路狀態(tài)路由選擇協(xié)議,以便使所述網(wǎng)絡(luò)上的多個節(jié)點中的每ー個實現(xiàn)鏈路狀態(tài)數(shù)據(jù)庫;以及 使用從所述鏈路狀態(tài)數(shù)據(jù)庫中的信息所得出的節(jié)點ID作為分布式哈希表中的密鑰,以便基干與路由關(guān)聯(lián)的路由ID和所述節(jié)點ID的比較而確定存儲與所述路由關(guān)聯(lián)的信息的所述網(wǎng)絡(luò)上的所述多個節(jié)點的子集。
2.如權(quán)利要求I所述的網(wǎng)絡(luò)元件,其中,使用節(jié)點ID的所述步驟包括在所述路由ID與所述節(jié)點ID中的每ー個之間執(zhí)行異或XOR過程,以便確定存儲所述路由信息的所述多個節(jié)點的所述子集。
3.如權(quán)利要求I所述的網(wǎng)絡(luò)元件,其中,所述子集基于所述分布式哈希表的復(fù)制因子。
4.如權(quán)利要求I所述的網(wǎng)絡(luò)元件,其中所述處理器還被配置成實現(xiàn)步驟將消息中的與所述路由關(guān)聯(lián)的信息傳送給所述子集中的所述節(jié)點中的每ー個,以便使那些節(jié)點將與所述路由關(guān)聯(lián)的信息存儲在它們的所述分布式哈希表的部分中,供所述網(wǎng)絡(luò)上的其它節(jié)點的后續(xù)檢索。
5.如權(quán)利要求I所述的網(wǎng)絡(luò)元件,其中,所述節(jié)點ID是MAC地址或者從所述網(wǎng)絡(luò)上的所述節(jié)點的MAC地址得出,并且其中,所述路由ID是目標(biāo)MAC地址或者從所述路由的目標(biāo)MAC地址得出。
6.如權(quán)利要求I所述的網(wǎng)絡(luò)元件,其中,所述節(jié)點ID是IP地址或者從所述網(wǎng)絡(luò)上的所述節(jié)點的IP地址得出,并且其中,所述路由ID是目標(biāo)IP地址或者從所述網(wǎng)絡(luò)上的資源的目標(biāo)IP地址得出。
7.如權(quán)利要求I所述的網(wǎng)絡(luò)元件,其中,所述節(jié)點ID是MAC地址或者從所述網(wǎng)絡(luò)上的所述節(jié)點的MAC地址得出,并且其中,所述路由ID是目標(biāo)IP地址或者從所述網(wǎng)絡(luò)上的資源的目標(biāo)IP地址得出。
8.如權(quán)利要求I所述的網(wǎng)絡(luò)元件,其中,所述節(jié)點ID是IP地址或者從所述網(wǎng)絡(luò)上的所述節(jié)點的IP地址得出,并且其中,所述路由ID是目標(biāo)MAC地址或者從所述路由的目標(biāo)MAC地址得出。
9.如權(quán)利要求I所述的網(wǎng)絡(luò)元件,其中,所述節(jié)點ID是第一地址或者從第一OSI尋址層中的第一地址得出,并且其中,所述路由ID是第二地址或者從第二 OSI尋址層中的第二地址得出。
10.一種網(wǎng)絡(luò)元件,包括 處理器,被配置成實現(xiàn)將路由選擇信息存儲在由鏈路狀態(tài)路由選擇協(xié)議控制的網(wǎng)絡(luò)中的方法,所述方法包括以下步驟 由鏈路狀態(tài)路由選擇協(xié)議控制的通信網(wǎng)絡(luò)中的網(wǎng)絡(luò)元件來獲知路由信息, 將與所述路由信息關(guān)聯(lián)的路由ID和與參與分布式哈希表的節(jié)點關(guān)聯(lián)的節(jié)點ID進行比較,所述節(jié)點ID從鏈路狀態(tài)數(shù)據(jù)庫得出,所述鏈路狀態(tài)數(shù)據(jù)庫包含從所述鏈路狀態(tài)路由選擇協(xié)議所指定的協(xié)議交換所獲得的信息;以及將所述路由信息傳送給具有充分接近于所述路由ID的節(jié)點ID的節(jié)點的子集。
11.如權(quán)利要求10所述的網(wǎng)絡(luò)元件,其中,所述路由ID是MAC地址;并且其中所述節(jié)點ID是MAC地址。
12.如權(quán)利要求11所述的網(wǎng)絡(luò)元件,其中,所述路由ID是客戶端MAC地址,并且其中所述節(jié)點ID是提供商MAC地址。
13.如權(quán)利要求10所述的網(wǎng)絡(luò)元件,其中,所述路由ID是IP地址,并且其中所述節(jié)點ID是IP地址。
14.如權(quán)利要求10所述的網(wǎng)絡(luò)元件,其中,將所述路由ID與所述節(jié)點ID進行比較的所述步驟包括執(zhí)行所述路由ID與所述節(jié)點ID的數(shù)學(xué)比較。
15.如權(quán)利要求14所述的網(wǎng)絡(luò)元件,其中,所述數(shù)學(xué)比較是異或XOR運算。
16.如權(quán)利要求10所述的網(wǎng)絡(luò)元件,其中所述處理器還被配置成實現(xiàn)步驟 發(fā)現(xiàn)第二路由ID; 將所述第二路由ID和與參與所述分布式哈希表的節(jié)點關(guān)聯(lián)的所述節(jié)點ID進行比較;以及 將與所述第二路由ID關(guān)聯(lián)的第二路由信息的查詢發(fā)送給具有充分接近于所述第二路由ID的節(jié)點ID的節(jié)點的第二集合。
17.—種網(wǎng)絡(luò)元件,被配置成與多個其它網(wǎng)絡(luò)元件互連并且與所述多個其它網(wǎng)絡(luò)元件交互以形成網(wǎng)絡(luò),該網(wǎng)絡(luò)元件被配置成與所述其它網(wǎng)絡(luò)元件減緩鏈路狀態(tài)路由選擇協(xié)議消息,以實現(xiàn)鏈路狀態(tài)路由選擇協(xié)議,并且該網(wǎng)絡(luò)元件和所述其它網(wǎng)絡(luò)元件被配置成實現(xiàn)包含路由選擇信息的分布式哈希表(DHT),其中,從與所述鏈路狀態(tài)路由選擇協(xié)議關(guān)聯(lián)的交換所得出的節(jié)點ID用于識別存儲在所述DHT中的信息的集合。
18.如權(quán)利要求17所述的網(wǎng)絡(luò)元件,其中,配置成實現(xiàn)所述DHT的所述網(wǎng)絡(luò)元件配置成各自存儲包含參與所述DHT的節(jié)點的節(jié)點ID列表的DHT成員表、包含由該網(wǎng)絡(luò)元件所獲知的路由的本地數(shù)據(jù)表以及包含從來自參與所述DHT的所述其它網(wǎng)絡(luò)元件的消息所獲知的路由的遠(yuǎn)程數(shù)據(jù)表。
19.如權(quán)利要求18所述的網(wǎng)絡(luò)元件,其中,配置成實現(xiàn)所述DHT的所述網(wǎng)絡(luò)元件配置成使用經(jīng)由所述鏈路狀態(tài)路由選擇協(xié)議所傳遞的網(wǎng)絡(luò)拓?fù)渥兏鼇砀滤鼈兊腄HT成員表中它們的節(jié)點ID列表。
20.如權(quán)利要求19所述的網(wǎng)絡(luò)元件,其中,配置成實現(xiàn)所述DHT的所述網(wǎng)絡(luò)元件配置成在發(fā)生網(wǎng)絡(luò)拓?fù)渥兏鼤r重新通告來自它們的本地數(shù)據(jù)表的選擇信息。
21.—種網(wǎng)絡(luò)元件,包括 處理器,配置成實現(xiàn)包括以下步驟的方法實現(xiàn)鏈路狀態(tài)協(xié)議進程,該鏈路狀態(tài)協(xié)議進程被配置成建立鏈路狀態(tài)數(shù)據(jù)庫,所述鏈路狀態(tài)數(shù)據(jù)庫包含與網(wǎng)絡(luò)關(guān)聯(lián)的網(wǎng)絡(luò)拓?fù)湫畔?,在所述網(wǎng)絡(luò)上所述網(wǎng)絡(luò)元件被配置成接收通信, 實現(xiàn)分布式哈希表(DHT)進程,該分布式哈希表(DHT)進程被配置成從所述鏈路狀態(tài)數(shù)據(jù)庫提取信息,以便確定與參與所述DHT的網(wǎng)絡(luò)元件關(guān)聯(lián)的節(jié)點ID,所述DHT被配置成存儲所述網(wǎng)絡(luò)上的路由信息;和實現(xiàn)消息傳遞進程,該消息傳遞進程被配置成接收和傳送包含將存儲在所述DHT中的路由信息的消息。
22.如權(quán)利要求21所述的網(wǎng)絡(luò)元件,還包括存儲器,所述存儲器包含DHT成員表、本地數(shù)據(jù)表和遠(yuǎn)程數(shù)據(jù)表,所述DHT成員表包含參與所述DHT的所述網(wǎng)絡(luò)元件的所述節(jié)點ID,所述本地數(shù)據(jù)表包含所述網(wǎng)絡(luò)元件所獲知的路由信息,所述遠(yuǎn)程數(shù)據(jù)表包含經(jīng)由所述消息傳遞進程從所述其它網(wǎng)絡(luò)元件所獲知的路由信息。
全文摘要
實現(xiàn)分布式哈希表以便存儲網(wǎng)絡(luò)上的路由選擇信息。結(jié)合鏈路狀態(tài)路由選擇協(xié)議的實現(xiàn)來交換的節(jié)點ID用作分布式哈希表中的密鑰,并且路由存儲在網(wǎng)絡(luò)上的一個或多個節(jié)點處。當(dāng)路由被獲知時,對照密鑰集合來處理該路由以便確定哪些節(jié)點應(yīng)當(dāng)存儲該路由。當(dāng)需要路由時,對照密鑰集合來處理該路由以便確定哪些節(jié)點應(yīng)當(dāng)具有路由信息。對照密鑰集合來處理路由的方式在兩種情況下都是相同的,使得DHT可用于存儲和檢索網(wǎng)絡(luò)上的路由信息。DHT可實現(xiàn)為存儲MAC地址、IP地址、MPLS標(biāo)簽或者其它受關(guān)注信息,以便使路由能夠由網(wǎng)絡(luò)上的網(wǎng)絡(luò)元件來存儲和獲知。
文檔編號H04L29/06GK102833329SQ20121029785
公開日2012年12月19日 申請日期2007年11月1日 優(yōu)先權(quán)日2006年11月2日
發(fā)明者P.阿什伍德-史密斯, G.殷, W.麥克科爾米克 申請人:北方電訊網(wǎng)絡(luò)有限公司