專利名稱:建立連接的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在對等網(wǎng)絡(luò)中建立連接的方法,以及一種對等端, 一種包括對等網(wǎng)絡(luò)的電信基礎(chǔ)設(shè)施,以及一種用以執(zhí)行所述方法的計(jì)算 才幾程序產(chǎn)品。
背景技術(shù):
網(wǎng)絡(luò)經(jīng)營者(運(yùn)營商和企業(yè))極度需要具有最小CAPEX/OPEX的 輕量級解決方案以保持竟?fàn)幮砸约办柟炭蛻魵w屬(CAPEX =資本開銷; OPEX-運(yùn)營開銷)。
具有最小集中式基礎(chǔ)設(shè)施的低OPEX系統(tǒng)通常在覆蓋網(wǎng)絡(luò)中使用高 度分布的數(shù)據(jù)庫。覆蓋網(wǎng)絡(luò),例如對等(=P2P)網(wǎng)絡(luò),是在現(xiàn)有IP網(wǎng) 絡(luò)(IP -因特網(wǎng)協(xié)議)的上層的虛擬網(wǎng)絡(luò)。現(xiàn)代的P2P系統(tǒng),如Chord, 用圖(節(jié)點(diǎn)和邊的結(jié)構(gòu))來組織參與對等端。節(jié)點(diǎn)代表參與對等端而邊 代表兩個(gè)對等端之間的鄰居關(guān)系。在一個(gè)覆蓋中的每個(gè)對等端具有唯一 的標(biāo)識符(對等端ID或節(jié)點(diǎn)ID),該標(biāo)識符限定了其在該覆蓋中的位置 (ID-標(biāo)識符/識別符)。作為鄰居的對等端經(jīng)由直接IP連接相連。良好 構(gòu)建的覆蓋對于有效^^由和查找^4"而言是必須的。可以在不知道目的 地對等端的IP地址的條件下經(jīng)由覆蓋來向其他對等端發(fā)送消息。
網(wǎng)絡(luò)地址翻譯(=NAT)路由器給P2P網(wǎng)絡(luò)中的連接建立帶來公知 的問題P2P覆蓋中的每個(gè)參與方(對等端)可以位于公共IP地址范圍 內(nèi)或者位于一個(gè)或多個(gè)NAT設(shè)備后面的私有IP地址范圍內(nèi)。假設(shè)高百 分比的用戶因特網(wǎng)節(jié)點(diǎn)位于NAT路由器之后。私有范圍中的對等端不能 從公共范圍或者從不同的私有范圍直接到達(dá)。因?yàn)橄嚓P(guān)NAT設(shè)備的協(xié)作 不能被保證,所以需要NAT穿越(traversal )解決方案,其依賴于對NAT 行為的預(yù)測而不是NAT設(shè)備的協(xié)作。
發(fā)明內(nèi)容
本發(fā)明的目的是改善具有NAT的P2P網(wǎng)絡(luò)中的連4妄建立。 本發(fā)明的目的通過一種在對等網(wǎng)絡(luò)中的第 一地址范圍內(nèi)的第 一對等 端與該對等網(wǎng)絡(luò)中的第二地址范圍內(nèi)的第二對等端之間建立連接的方法 來實(shí)現(xiàn),其中該方法包括步驟在該對等網(wǎng)絡(luò)中發(fā)現(xiàn)阻止在第一對等端 與第二對等端之間的直接連接的網(wǎng)絡(luò)地址翻譯,確定該對等網(wǎng)絡(luò)中的第 三對等端作為中繼對等端,以及由中繼對等端在第一對等端和第二對等 端之間中繼連接。本發(fā)明的目的還通過一種對等網(wǎng)絡(luò)中的對等端來實(shí)現(xiàn), 這種對等網(wǎng)絡(luò)包括在該對等網(wǎng)絡(luò)中的第 一地址范圍內(nèi)的 一個(gè)或多個(gè)對等 端以及在該對等網(wǎng)絡(luò)中的第二地址范圍內(nèi)的一個(gè)或多個(gè)對等端,其中所 述對等端包括發(fā)現(xiàn)裝置,其適于在對等網(wǎng)絡(luò)中發(fā)現(xiàn)阻止該對等端與另 一地址范圍內(nèi)的對等端之間的直接連接的網(wǎng)絡(luò)地址翻譯;確定裝置,其 適于確定對等網(wǎng)絡(luò)中的一個(gè)對等端作為中繼對等端;中繼裝置,其適于 支持所述對等網(wǎng)絡(luò)中的第一地址范圍內(nèi)的第一對等端與所述對等網(wǎng)絡(luò)中 的第二地址范圍內(nèi)的第二對等端之間的連接的中繼;以及傳輸裝置,其 適于在對等網(wǎng)絡(luò)中傳輸信息,特別是連接信息。以及本發(fā)明的目的通過 一種包括對等網(wǎng)絡(luò)的電信基礎(chǔ)設(shè)施來實(shí)現(xiàn),該對等網(wǎng)絡(luò)具有該對等網(wǎng)絡(luò) 中的第一地址范圍內(nèi)的第一對等端和該對等網(wǎng)絡(luò)中的第二地址范圍內(nèi)的 第二對等端,其中該電信基礎(chǔ)設(shè)施還包括阻止在第 一對等端與第二對等 端之間的直接連接的網(wǎng)絡(luò)地址翻譯,以及對等網(wǎng)絡(luò)中的第三對等端,其 中該第三對等端被確定作為適于在第一對等端和第二對等端之間中繼連 接的中繼對等端。此外,本發(fā)明的目的還通過一種用于在對等網(wǎng)絡(luò)中建 立連接的計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn),該對等網(wǎng)絡(luò)包括對等網(wǎng)絡(luò)中的第 一地 址范圍內(nèi)的一個(gè)或多個(gè)對等端和對等網(wǎng)絡(luò)中的第二地址范圍內(nèi)的一個(gè)或 多個(gè)對等端,其中該計(jì)算機(jī)程序產(chǎn)品當(dāng)被該對等網(wǎng)絡(luò)中的對等端執(zhí)行時(shí) 執(zhí)行步驟在對等網(wǎng)絡(luò)中發(fā)現(xiàn)阻止在第 一對等端與另 一地址范圍中的第 二對等端之間的直接連接的網(wǎng)絡(luò)地址翻譯;確定對等網(wǎng)絡(luò)中的第三對等 端作為中繼對等端;支持在對等網(wǎng)絡(luò)中的第 一地址范圍內(nèi)的第一對等端與對等網(wǎng)絡(luò)中的第二地址范圍內(nèi)的第二對等端之間的連接的中繼;以及 在對等網(wǎng)絡(luò)中傳輸信息,特別是連接信息。
本發(fā)明^是供一種用以解決P2P網(wǎng)絡(luò)中的NAT穿越問題的新的可能 方式。像穿洞(Hole Punching )、 STUN、 TURN和ICE這樣的現(xiàn)有技術(shù) 的解決方案需要中央服務(wù)器部件,因此帶來嚴(yán)重的缺陷,因?yàn)橹醒氩考?不隨著P2P網(wǎng)絡(luò)中的對等端的數(shù)量一起縮放并且中央部件增加了服務(wù)提 供商的OPEX (STUN-通過網(wǎng)絡(luò)地址翻譯的用戶報(bào)文協(xié)議的簡單穿越; TURN =使用中繼NAT的穿越;ICE =交互連接性建立)。
與前面所提及的公知的現(xiàn)有技術(shù)的解決方案相反,本發(fā)明通過使用 徹底的NAT穿越解決方案來增強(qiáng)結(jié)構(gòu)化的P2P覆蓋網(wǎng)絡(luò),使對中央服 務(wù)器部件的需求達(dá)到最小。
使對中央服務(wù)器部件的需求達(dá)到最小帶來了若干好處。首先,其對 于服務(wù)提供商而言意味著較低的OPEX,因?yàn)閰⑴c用戶的資源被用于提 供所需要的服務(wù)。其次,獲得了更好的縮放性,因?yàn)殡S著覆蓋中具有更 多的參與者,提供所需要的服務(wù)的對等端的數(shù)目也在增長。第三,使用 本發(fā)明的P2P網(wǎng)絡(luò)增強(qiáng)了抵抗拒絕服務(wù)攻擊的魯棒性,因?yàn)椴淮嬖诳杀?作為目標(biāo)的中央實(shí)例。
然而,前面所提及的現(xiàn)有技術(shù)的解決方案沒有考慮結(jié)構(gòu)化的P2P覆 蓋(例如Chord)的特殊需求和可能性,本發(fā)明通過允許私有地址范圍 內(nèi)的對等端能夠穿越它們的NAT并參與到覆蓋中,從而增強(qiáng)了結(jié)構(gòu)化的 P2P覆蓋網(wǎng)絡(luò)。
此外,本發(fā)明在每個(gè)對等端上管理一個(gè)IP地址。因?yàn)镻2P網(wǎng)絡(luò)中 的對等端常常僅具有一個(gè)IP地址,所以這意味著與STUN服務(wù)器以及 TURN服務(wù)器相比的極大的簡化一 一 因?yàn)門URN是STURN的擴(kuò)展一 一 STUN服務(wù)器和TURN服務(wù)器需要兩個(gè)IP地址用于檢測NAT的行為。 由此,將本發(fā)明集成進(jìn)普通P2P網(wǎng)絡(luò)是清楚和簡單的。
根據(jù)本發(fā)明,當(dāng)一個(gè)對等端加入覆蓋時(shí),該對等端與多個(gè)對等端交 互以探測其"連接信息"。該連接信息包括NAT行為、公共端點(diǎn)和私有 端點(diǎn)。雖然為了探測該連接信息,使用了與STURN相類似的協(xié)議,但
8是卻不需要第二個(gè)IP地址。通過這種方式,覆蓋中的位于公共范圍內(nèi)的 每個(gè)對等端都可以提供這種服務(wù)。
根據(jù)本發(fā)明,當(dāng)一個(gè)對等端希望與另一對等端建立連接時(shí),它們兩 者經(jīng)由覆蓋來交換它們的連接信息。通過這種方式,不需要集合
(rendezvous)服務(wù)器。利用交換的連接信息,這兩個(gè)對等端嘗試基于 穿洞(Hole Punching)機(jī)制來建立直接連接。
還未加入覆蓋的對等端不能接收它對應(yīng)的連接方的連接信息。該連 接信息經(jīng)由覆蓋進(jìn)行路由并且僅能在已經(jīng)加入覆蓋的對等端處進(jìn)行尋 址。由此,正在加入的對等端需要已經(jīng)加入覆蓋的對等端的幫助。該對 等端中繼用于在正在加入的對等端與覆蓋之間建立連接所需的消息。
根據(jù)本發(fā)明,如果直接連接嘗試失敗,則希望建立連接的兩個(gè)對等 端請求第三對等端的幫助,第三對等端將在這兩個(gè)對等端之間中繼消息。 這兩個(gè)對等端建立到中繼對等端的直接連接。優(yōu)選地,中繼對等端已經(jīng) 建立到這兩個(gè)對等端中的一個(gè)的直接連接。重用已經(jīng)建立的直接連接有 助于使連接建立的努力減到最小。
其他優(yōu)點(diǎn)通過各從屬權(quán)利要求所指示的本發(fā)明的實(shí)施例來實(shí)現(xiàn)。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例,對所述網(wǎng)絡(luò)地址翻譯的發(fā)現(xiàn)是基于對等 網(wǎng)絡(luò)的拓樸和連接信息的。P2P網(wǎng)絡(luò)中的每個(gè)對等端具有特定于該對等 端的自己的連接信息??梢越?jīng)由連接信息到達(dá)已經(jīng)被集成進(jìn)P2P網(wǎng)絡(luò)的 覆蓋的對等端。優(yōu)選地,對等端特定的連接信息包括指明與該對等端相 關(guān)聯(lián)的NAT的NAT類型、 一個(gè)或多個(gè)自察覺的端點(diǎn)以及一個(gè)或多個(gè) UNSAF推導(dǎo)出的端點(diǎn)(UNSAF =單方自地址確定)。優(yōu)選地,對等端特 定的連接信息還包括一個(gè)或多個(gè)中繼候選者。
NAT類型由映射行為(沒有映射、EIM、 ADM、 PDM)、過濾行為 (EIF、 ADF、 PDF )和U形(hairpin)翻譯(可能、不可能)來表示(EIM =不基于端點(diǎn)的映射;ADM-基于地址的映射;PDM-基于地址和端 口的映射;EIF-不基于端點(diǎn)的過濾;ADF-基于地址的過濾;PDF =基 于地址和端口的過濾)。自察覺的端點(diǎn)是IP地址和端口的元組,其是通 過使用本地操作系統(tǒng)的方法發(fā)現(xiàn)的。UNSAF推導(dǎo)出的端點(diǎn)是IP地址和端口的元組,其是經(jīng)由UNSAF機(jī)制(例如STUN)發(fā)現(xiàn)的。如果對等 端未被NAT,也即不是位于NAT設(shè)備的后面,則UNSAF推導(dǎo)出的端點(diǎn) 與自察覺的端點(diǎn)是相同的。中繼候選者表示P2P網(wǎng)絡(luò)中提供中繼服務(wù)的 對等端。候選者是通過這種對等端中的對等端ID和用于對中繼候選者 進(jìn)行排名的一組啟發(fā)值來標(biāo)識的。
優(yōu)選地,對所述網(wǎng)絡(luò)地址翻譯的發(fā)現(xiàn)是基于連接信息的,該連接信 息包括對所發(fā)現(xiàn)的網(wǎng)絡(luò)地址翻譯的行為的說明、與第一地址范圍內(nèi)的第
一對等端相關(guān)聯(lián)的端點(diǎn)以及與第二地址范圍內(nèi)的第二對等端相關(guān)聯(lián)的端點(diǎn)。
根據(jù)本發(fā)明的另 一優(yōu)選實(shí)施例,第 一對等端和第二對等端經(jīng)由對等 網(wǎng)絡(luò)中的一個(gè)或多個(gè)其他對等端用一跳接一跳路由的方式在第一對等端 和第二對等端之間交換它們各自的連接信息。
如果需要在兩個(gè)對等端之間建立連接,則兩個(gè)對等端都需要交換先 前所收集的連接信息。連接信息是經(jīng)由P2P覆蓋來交換的。為了確保對 網(wǎng)絡(luò)的影響最小,僅有兩種消息被發(fā)送連接請求和連接響應(yīng)。連接請 求消息包含請求對等端(也即第一對等端)的連接信息和連接ID。連接 ID被用于識別屬于這個(gè)建立連接的嘗試的消息。連接響應(yīng)需要包含與連 接請求相同的連接ID。通常,連接響應(yīng)包含^L出響應(yīng)的對等端(也即第 二對等端)的連接信息。如果連接響應(yīng)沒有包含響應(yīng)對等端(也即第二 對等端)的連接信息,則連接響應(yīng)必須被解釋成拒絕該連接請求。如果 出于某種原因(例如因?yàn)轫憫?yīng)對等端正離開P2P網(wǎng)絡(luò)或者已經(jīng)到達(dá)它的 連接極限)該響應(yīng)對等端不能建立連接,則連接請求可纟皮拒絕。
根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,經(jīng)由中繼對等端在第一對等端和第 二對等端之間建立中繼連接是通過以下步驟來執(zhí)行的。第一步是由第一 對等端向中繼對等端發(fā)送包含第 一對等端的連接信息的中繼連接請求。 下一步包括由中繼對等端向第一對等端發(fā)送包含中繼對等端的連接信息 的中繼連接響應(yīng)。下一步包括如果在第一對等端和中繼對等端之間還沒 有建立任何直接連接,則在第 一對等端和中繼對等端之間建立直接連接。 如果在第一對等端和中繼對等端之間已經(jīng)建立直接連接,則跳過在第一對等端和中繼對等端之間建立直接連接的步驟,因?yàn)椴恍枰诘?一對等 端和中繼對等端之間重新建立直接連接。
下一步包括由第 一對等端向第二對等端發(fā)送中繼發(fā)現(xiàn)消息,其包括 中繼對等端的對等端標(biāo)識符。下一步包括由第二對等端向中繼對等端發(fā) 送中繼連接請求,其包括第二對等端的連接信息。下一步包括由中繼對 等端向第二對等端發(fā)送中繼連接響應(yīng),其包括中繼對等端的連接信息。 并且下一步包括如果在第二對等端與中繼對等端之間還沒有建立任何直 接連接,則在第二對等端與中繼對等端之間建立直接連接。如果在第二 對等端與中繼對等端之間已經(jīng)建立直接連接,則跳過在第二對等端與中 繼對等端之間建立直接連接的步驟,因?yàn)椴恍枰诘诙Φ榷伺c中繼對 等端之間重新建立直接連接。
在優(yōu)選的實(shí)施例中,第一對等端和/或第二對等端提供包含一個(gè)或多 個(gè)中繼候選者的列表。中繼對等端是從該列表中選出的。該選擇可以基
于以下步驟中的一個(gè)或多個(gè)選擇在對等網(wǎng)絡(luò)中已經(jīng)建立的一個(gè)或多個(gè) 直接連接可以被重用于第一對等端與第二對等端之間的中繼連接的中繼 候選者;并且優(yōu)先選擇相比其他中繼候選者承擔(dān)較少中繼連接的中繼候 選者。在建立中繼連接時(shí)對現(xiàn)有直接連接的重用減少了為了創(chuàng)建和維護(hù) 覆蓋網(wǎng)絡(luò)所必須的保持激活流量。
根據(jù)本發(fā)明的另 一優(yōu)選實(shí)施例,該方法包括向?qū)Φ染W(wǎng)絡(luò)中的公共可 達(dá)地址范圍內(nèi)的一個(gè)對等端發(fā)送自舉請求的步驟,該自舉請求包括第一 對等端的連接信息,其中對等網(wǎng)絡(luò)中的公共可達(dá)地址范圍內(nèi)的這個(gè)對等 端充當(dāng)自舉對等端。下一步包括由自舉對等端中繼在第一對等端與第二 對等端之間交換的消息。
優(yōu)選地,終止中繼連接包括以下步驟第一步包括通過由第一對等 端向中繼對等端發(fā)送釋放中繼消息來終止中繼連接,該釋放中繼消息聲 明中繼連接是不必要的。下一步包括由中繼對等端將從第一對等端接收 到的釋放中繼消息轉(zhuǎn)發(fā)給第二對等端。下一步包括由第二對等端向中繼 對等端發(fā)送釋放中繼消息。下一步包括由中繼對等端將從第二對等端接 收到的釋放中繼消息轉(zhuǎn)發(fā)給第一對等端。以及下一步包括在第一對等端處接收到轉(zhuǎn)發(fā)來的釋放中繼消息之后終止中繼連接。
通過結(jié)合附圖閱讀以下對目前優(yōu)選的示例性實(shí)施例的詳細(xì)描述,本
發(fā)明的這些以及其他特征和優(yōu)點(diǎn)將被更好地理解。其中 圖1是根據(jù)本發(fā)明的實(shí)施例的對等網(wǎng)絡(luò)的框圖; 圖2是根據(jù)本發(fā)明的實(shí)施例的對等網(wǎng)絡(luò)中的自舉服務(wù)的示圖; 圖3是在根據(jù)本發(fā)明的實(shí)施例的對等網(wǎng)絡(luò)中建立直接連接的示圖; 圖4是在根據(jù)本發(fā)明的實(shí)施例的對等網(wǎng)絡(luò)中終止直接連接的示圖; 圖5是根據(jù)本發(fā)明的實(shí)施例的中繼候選者的有序列表; 圖6是在根據(jù)本發(fā)明的實(shí)施例的對等網(wǎng)絡(luò)中建立中繼連接的示以及
圖8是在對等網(wǎng)絡(luò)中根據(jù)本發(fā)明的實(shí)施例的對等端的框圖。
具體實(shí)施例方式
圖1示出P2P網(wǎng)絡(luò)100,例如表示像SIP網(wǎng)絡(luò)這樣的電信基礎(chǔ)設(shè)施。 P2P網(wǎng)絡(luò)100包括在該P(yáng)2P網(wǎng)絡(luò)100中的公共地址范圍101內(nèi)提供 UNSAF服務(wù)的第一對等端1和在該P(yáng)2P網(wǎng)絡(luò)IOO中的私有地址范圍102 內(nèi)的第二對等端2。 NAT設(shè)備21,例如帶有NAT的家鄉(xiāng)路由器,將私 有地址范圍102與公共地址范圍IOI分隔開。第二對等端2是位于NAT 后面的對等端(也即所謂的NAT對等端)并且從公共地址范圍101僅可 經(jīng)由NAT設(shè)備21來到達(dá)。
UNSAF服務(wù)允許對等端請求UNSAF服務(wù)以探測在它們與提供 UNSAF服務(wù)的對等端之間是否存在任何NAT設(shè)備。如果存在NAT設(shè)備, 則可以探測其行為以及由NAT設(shè)備分配給請求UNSAF服務(wù)的對等端的 公共端點(diǎn)。這種UNSAF服務(wù)可以被看成輕便版本的STUN:當(dāng)探測NAT 行為時(shí),在交換中因?yàn)檩^低的準(zhǔn)確度的原因而不需要第二IP地址。僅駐 留在公共地址范圍內(nèi)的對等端可提供UNSAF服務(wù)。提供這種服務(wù)的對等端必須在預(yù)定端口上監(jiān)聽UNSAF請求。
在一個(gè)對等端可以參與P2P網(wǎng)絡(luò)100的覆蓋網(wǎng)絡(luò)之前,它需要探測 其連接信息(=CI),其包括NAT行為(behaviour)、 7>共端點(diǎn)、私有端 點(diǎn)和中繼候選者列表。對CI的探測開始于私有端點(diǎn)。端點(diǎn)由IP地址和 端口號來表示。IP地址可以從操作系統(tǒng)中獲取,端口號可以由對等端來 選擇。第二對等端必須知道提供UNSAF服務(wù)的至少一個(gè)第一對等端的 端點(diǎn)。僅僅作為后退(fallback)解決方案,第二對等端可參考中央服務(wù) 器以獲取這種端點(diǎn)。
第二對等端2從第二對等端的端點(diǎn)(=私有端點(diǎn))發(fā)送UNSAF請 求201給第一對等端1的UNSAF端點(diǎn)。當(dāng)該UNSAF請求201通過NAT 設(shè)備21時(shí),在UNSAF請求201中被指明為源端點(diǎn)的私有端點(diǎn)由NAT 設(shè)備21的端點(diǎn)(-被分配的端點(diǎn))所替代。這與位于NAT后面的基本 思想是一致的。提供UNSAF服務(wù)的第一對等端1處理接收到的UNSAF 請求201。第一對等端1從UNSAF請求201中提取源端點(diǎn)(也即NAT 設(shè)備21的端點(diǎn))(=被分配的端點(diǎn))。第一對等端1生成對UNSAF請求 201的UNSAF響應(yīng)202并且在UNSAF響應(yīng)202中將所提取的源端點(diǎn)(= 被分配的端點(diǎn))寫成目的地端點(diǎn)。換言之,第一對等端1將UNSAF響 應(yīng)202編址到被分配的端點(diǎn),也即NAT設(shè)備21的端點(diǎn)。當(dāng)UNSAF響 應(yīng)202通過NAT21時(shí),在UNSAF響應(yīng)202中所指明的目的地端點(diǎn)(也 即被分配的端點(diǎn))被第二對等端2的私有端點(diǎn)替代。但是UNSAF響應(yīng) 202的有效載荷仍然包含被分配的端點(diǎn)。
這意味著UNSAF響應(yīng)202在有效載荷中包含第一對等端1從 UNSAF請求201中提取的源端點(diǎn)。第二對等端2接收UNSAF響應(yīng)202 并且檢查有效載荷中的這個(gè)源端點(diǎn)是否與第二對等端2發(fā)送UNSAF請 求201的私有端點(diǎn)相同。如果該源端點(diǎn)與第二對等端2發(fā)送UNSAF請 求201的私有端點(diǎn)相同,則可以得出第二對等端2位于公共地址范圍101 內(nèi)的結(jié)論。否則,UNSAF請求201通過NAT設(shè)備21。因此,第二對等 端2位于私有地址范圍102內(nèi)并且需要查明它的NAT設(shè)備21的行為。
UNSAF響應(yīng)202還包含提供UNSAF服務(wù)的第一對等端1所已知的
13其他對等端的端點(diǎn)列表。通過這種方式,第二對等端2可針對不同對等
端重復(fù)該UNSAF過程。
本發(fā)明依賴于在建立連接之前在兩個(gè)對等端之間交換連接信息 (CI)。 CI是通過經(jīng)由覆蓋發(fā)送的消息來交換的。但是這些消息僅能夠 到達(dá)已經(jīng)被集成進(jìn)覆蓋中的對等端。如果新的對等端準(zhǔn)備加入覆蓋,則 它需要已經(jīng)被集成進(jìn)該覆蓋的對等端的幫助?;旧?,這可以是通過公 共地址可到達(dá)的任何對等端。提供自舉服務(wù)的對等端在加入對等端和覆 蓋之間中繼消息。僅位于公共范圍內(nèi)的對等端可以提供自舉服務(wù)。提供 自舉服務(wù)的對等端必須在預(yù)定端口上監(jiān)聽自舉請求。
圖2示出具有自舉對等端BP、鄰居對等端22和多個(gè)其他對等端220 -223的P2P網(wǎng)絡(luò)的覆蓋120。自舉對等端BP和鄰居對等端22已經(jīng)全 部集成進(jìn)P2P覆蓋120中并且能夠經(jīng)由覆蓋120接收消息。加入對等端 11還未集成進(jìn)P2P覆蓋120中。當(dāng)加入對等端11正加入該覆蓋網(wǎng)絡(luò)120 時(shí),以下兩個(gè)步驟需要被執(zhí)行。加入對等端11已經(jīng)探測它的CI并且準(zhǔn) 備加入覆蓋120。由此,加入對等端11需要與一個(gè)對等端(例如對等端 22)建立連接,通過該對等端,加入對等端ll將共享DHT職責(zé),如P2P 協(xié)議要求的那樣(DHT-分布式哈希表)。
加入對等端11發(fā)送自舉請求210給在探測CI期間聯(lián)系的多個(gè)對等 端中的一個(gè),例如自舉對等端BP。自舉請求消息210包含加入對等端 11的CI和加入對等端11的對等端ID,對等端ID確定加入對等端11 在覆蓋120中的未來的位置。因此,消息210可以;陂編址到鄰居對等端 22。自舉對等端BP經(jīng)由覆蓋120中的其他對等端220-223中的一個(gè)或 多個(gè)通過一跳接一跳的路由211將加入對等端11的CI經(jīng)由覆蓋120轉(zhuǎn) 發(fā)給鄰居對等端22。鄰居對等端22接收加入對等端11的CI并且生成 包含鄰居對等端22的CI的響應(yīng)。該響應(yīng)被經(jīng)由覆蓋120中的其他對等 端220 - 223中的一個(gè)或多個(gè)通過一跳接一跳的路由212發(fā)送給自舉對等 端BP。 一旦來自鄰居對等端22的響應(yīng)被自舉對等端BP接收到,則自 舉對等端BP將自舉響應(yīng)消息213發(fā)送回加入對等端11,自舉響應(yīng)消息 213包含鄰居對等端22的CI。在這些步驟之后,加入對等端11被全部集成進(jìn)覆蓋120中。
圖3示出具有第一對等端31、第二對等端32和多個(gè)其他對等端320 -323的P2P網(wǎng)絡(luò)的覆蓋130。第一對等端31希望與第二對等端32建 立連接。為了在第一對等端31與第二對等端32之間建立直接連接,需 要執(zhí)行以下步驟第一對等端31經(jīng)由覆蓋130中的其他對等端320 - 323 中的一個(gè)或多個(gè)通過一跳接一跳路由的方式發(fā)送連接請求消息310給第 二對等端32,其中連接請求消息310包含第一對等端31的CI。在接收 到連接請求310之后,第二對等端32經(jīng)由覆蓋130中的其他對等端320 -323中的一個(gè)或多個(gè)通過一跳接一跳^各由的方式發(fā)送連4妻響應(yīng)消息 311給第一對等端31,連接響應(yīng)消息311包含第二對等端32的CI。接 著,對等端31、對等端32 二者都知道彼此的CI。對等端31、對等端32 二者都需要評估已交換的CI以確定最優(yōu)連接途徑。如果直接連接是可能 的話,則它依賴于所涉及的NAT設(shè)備的行為。評估結(jié)果是三種可能結(jié)果 中的一個(gè)
I) 這兩個(gè)對等端位于相同的私有范圍內(nèi),可以通過使用私有 端點(diǎn)來建立直接連接。
II) 這兩個(gè)對等端能夠通過使用公共端點(diǎn)來建立直接連接。
III) 所涉及的NAT設(shè)備的行為阻止直接連接。需要找到提供中 繼服務(wù)的第三對等端。在下面可以找到關(guān)于建立中繼連接 的更多細(xì)節(jié)。
為了建立中繼連接,UNSAF導(dǎo)出的端點(diǎn)或者自察覺出的端點(diǎn)都可 以被使用。
如果使用私有端點(diǎn)來建立直接連接的嘗試失敗了 ,則嘗試使用公共 端點(diǎn)來建立直接連接。如果使用公共端點(diǎn)來建立中繼連接的嘗試失敗了 , 則建立中繼連接。
圖3描述可以建立直接連接的情況。直接連接可以經(jīng)由公共端點(diǎn)或 者經(jīng)由私有端點(diǎn)來建立,其在評估階段被確定。每個(gè)對等端31、對等端 32開始發(fā)送連接消息312、 323給其他對等端31、對等端32中的相應(yīng)端 點(diǎn)。當(dāng)對等端31、對等端32 二者都已經(jīng)接收到至少一個(gè)連接消息時(shí),連接被建立。如果對等端31、對等端32中的一個(gè)在多次嘗試之后仍不 能接收連接消息,則嘗試失敗。 一旦建立直接連接,則需要定期在雙方 向上發(fā)送保持激活消息以刷新NAT映射和過濾規(guī)則。
圖4說明直接連接的終止。圖4示出具有第一對等端31和第二對等 端32的P2P網(wǎng)絡(luò)的覆蓋130。 一旦在第一對等端31與第二對等端32之 間的直接連接410不再需要,則它可以被終止以釋放P2P網(wǎng)絡(luò)的資源。 一個(gè)連接在P2P協(xié)議需要它或者在這個(gè)連接是中繼的一部分的條件下是 必須的。第一對等端31通過發(fā)送釋放消息411來通知第二對等端32連 接410是不必要的。作為替代,第一對等端31通過發(fā)送分配消息來通知 第二對等端32連接410是必須的(未示出)。當(dāng)?shù)诙Φ榷?2已經(jīng)從第 一對等端31接收到釋放消息411并且明白了連接410不再需要時(shí),第二 對等端32也發(fā)送釋放消息412給第一對等端。對等端31、對等端32二 者都認(rèn)為這個(gè)連接410是不必要的,由此它被終止。如果對等端31、對 等端32 二者都認(rèn)為連接410是不必要的,則連接被終止。
如果對等端31、對等端32中的一個(gè)準(zhǔn)備離開覆蓋130,則它發(fā)送終 止消息給另一個(gè)以關(guān)閉連接410。如果對于特定持續(xù)時(shí)間沒有接收到任 何保持激活消息,則連接410也被終止。
在某些情況下,在兩個(gè)對等端之間的直接連接不能被建立。于是, 兩個(gè)對等端需要在這個(gè)兩個(gè)對等端之間中繼連接的第三對等端的幫助 (中繼連接建立)。從第一對等端到第二對等端的中繼連接由從第一對等 端到中繼對等端的直接連接和從第二對等端到中繼對等端的直接連接構(gòu) 成,其中中繼對等端是提供中繼服務(wù)的對等端。每個(gè)對等端維持中繼候 選者的列表。對等端必須滿足某種要求以變成中繼候選者這個(gè)對等端 必須不位于具有ADM、 PDM或PDF行為的NAT后面。當(dāng)一個(gè)對等端 建立到另一對等端的直接連接并且其他對等端滿足前面所述的要求時(shí), 這個(gè)其他對等端被添加到中繼候選者列表。當(dāng)建立連接時(shí),這個(gè)列表與 CI 一起被交換。
當(dāng)在兩個(gè)對等端之間需要中繼連接時(shí),首先需要發(fā)現(xiàn)最優(yōu)中繼。在 交換連接信息的過程中,兩個(gè)對等端還交換中繼候選者,作為連接信息
16的一部分。這兩個(gè)對等端的交換CI中的每個(gè)均包含中繼候選者列表。這 兩個(gè)對等端的兩個(gè)列表被合并。由此,被集成進(jìn)覆蓋的每個(gè)對等端必須 知道至少一個(gè)中繼候選者。并且準(zhǔn)備加入覆蓋的對等端知道自舉對等端, 自舉對等端必須位于公共范圍內(nèi)。同樣,為了發(fā)現(xiàn)提供中繼服務(wù)的對等
端,后退解決方案可能是必須的。在交換連接信息之后,兩個(gè)對等端都 具有相同的中繼候選者列表。
在該列表上的每個(gè)中繼候選者被排名以確定哪一個(gè)中繼候選者應(yīng)當(dāng) 被首先聯(lián)系。優(yōu)選地,列表上的中繼候選者用啟發(fā)值來排名。兩個(gè)合適
的用于排名的值是重用和集中(concentration):
重用現(xiàn)有連接的值是基于優(yōu)化網(wǎng)絡(luò)流量的目標(biāo)。為了最小化對網(wǎng)絡(luò) 的壓力,最佳的是重用已經(jīng)建立的直接連接作為中繼連接的一部分。已 經(jīng)建立的連接應(yīng)當(dāng)被重用。如果兩個(gè)對等端都已經(jīng)建立了到中繼候選者 的連接,則那個(gè)對等端將是最優(yōu)的并且對連接的重用將被最大化。如果 對等端中的一個(gè)已經(jīng)建立了連接,則它也將是附帶的好處。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例,如果本地對等端具有到中繼候選者的激 活的直接連接,則重用值是1。如果在交換連接信息之后知道兩個(gè)對等 端都具有到相同中繼候選者的激活的連接,則它是2。因此已經(jīng)與兩個(gè) 對等端都建立直接連接的中繼候選者相對于僅具有到兩個(gè)中的一個(gè)的直 接連接的中繼候選者而言是優(yōu)選的。
中繼連接的集中值與多樣化有關(guān)。如果一個(gè)對等端建立的所有連接 需要經(jīng)由相同中繼對等端的中繼并且該中繼對等端離開網(wǎng)絡(luò),則所有連 接都必須重新建立。由此,優(yōu)選的是將中繼連接分散在多個(gè)對等端上, 也即將中繼連接散布在不同中繼對等端上。因此,具有較少的激活的中 繼連接的中繼候選者優(yōu)于具有較多連接的中繼候選者。根據(jù)本發(fā)明的優(yōu) 選實(shí)施例,集中值等于已經(jīng)經(jīng)由該中繼候選者建立的且是激活的中繼連 接的數(shù)目。
對于信令中繼,像反應(yīng)時(shí)間或帶寬之類的值是不相關(guān)的,因?yàn)樾帕?流量不同于媒體流量,既不是時(shí)間要求嚴(yán)格的也不費(fèi)帶寬。 一旦確定需 要建立中繼連接,則請求對等端的任務(wù)是從列表中選擇合適的中繼候選者。該列表包括來自請求對等端的連接信息的中繼候選者和響應(yīng)對等端 的中繼候選者的聯(lián)合。
優(yōu)選地,該列表通過使用啟發(fā)值來排序重用是最主要的排序標(biāo)準(zhǔn), 緊隨的是集中。重用值越高,中繼候選者在列表中的排名就越高。集中 值越低,排名就越高。在圖5中示出了已排序的列表的例子。列表50 包括四列51到54和五行511到515。列51給出五個(gè)中繼候選者的對等 端ID。列52給出歸因于五個(gè)中繼候選者的重用值。列53給出歸因于五 個(gè)中繼候選者的集中值。列54給出五個(gè)中繼候選者中的每個(gè)的排名,最 高排名的中繼候選者位于頂部。
請求對等端接著試圖與行511中的最高排名的候選者建立中繼連 接。如果失敗了 (例如,中繼候選者拒絕該請求或者根本沒有響應(yīng)),則 列表50被一行一行地向下處理直到連接可以建立。這意味著請求對等端 試圖與行512中的排名第二的候選者、行513中的排名第三的候選者等 等建立中繼連接,直到連接可以建立為止。
一旦請求對等端已經(jīng)對中繼候選者進(jìn)行了排名并且選擇了合適的候 選者,則需要聯(lián)系中繼候選者。中繼連接的建立與直接連接相類似。
圖6示出具有第一對等端61、第二對等端62、由第一對等端61選 擇作為最高排名的中繼候選者的中繼對等端R以及多個(gè)其他中繼候選者 RC和其他對等端620、 621的P2P網(wǎng)絡(luò)的覆蓋160。第一對等端61和第 二對等端62 二者位于不同的私有地址范圍內(nèi)。它們已經(jīng)-波完全集成進(jìn) P2P覆蓋160中,并且可以經(jīng)由一跳接一跳的路由與P2P覆蓋160中的 其他對等端交換消息。中繼對等端R可以位于私有地址范圍內(nèi)或者位于 公共地址范圍內(nèi),只要中繼對等端R滿足作為中繼的要求就行。 一旦從 中繼候選者列表中選擇了中繼候選者,則第一對等端61和第二對等端 62 二者都需與中繼對等端R建立直接連接。
第一對等端61經(jīng)由對等網(wǎng)絡(luò)160中的一個(gè)或多個(gè)其他中繼候選者 RC和/或其他對等端620、 621,用一跳接一跳^各由的方式,經(jīng)由P2P覆 蓋160發(fā)送中繼連接請求610給中繼對等端R。中繼連接請求610包含 第一對等端61的連接信息和在第一對等端61與第二對等端62之間的連接信息交換中被使用的相同連接ID。中繼對等端R用中繼連接響應(yīng)611 來進(jìn)行應(yīng)答,該中繼連接響應(yīng)611被經(jīng)由對等網(wǎng)絡(luò)160中的一個(gè)或多個(gè) 其他中繼候選者RC和/或其他對等端620、 621,用一跳接一跳;洛由的方 式發(fā)送給第一對等端61。中繼連接響應(yīng)611包含中繼對等端R的連接信 息和連接ID。通過發(fā)送它的連接信息,中繼對等端R發(fā)信號通知它接受 中繼請求610。如果中繼連接響應(yīng)611僅包含ID,則請求610被中繼對 等端R拒絕。如果中繼對等端R否決/拒絕第一對等端61的中繼連接請 求610,則第一對等端61將需要尋找新的中繼候選者。
在中繼對等端R發(fā)信號通知它接受中繼請求610之后,第一對等端 61和中繼對等端R試圖通過向彼此,也即向它們各自的交換端點(diǎn),發(fā)送 連接消息612、 613來在4皮此間建立直接連接。如果第一對等端61不能 建立到中繼對等端R的直接連接,則第一對等端61需要尋找新的中繼 候選者。
假設(shè)已經(jīng)成功地在第一對等端61與中繼對等端R之間建立直接連 接,則第一對等端61需要通知第二對等端62已經(jīng)找到中繼候選者,也 即中繼對等端R已經(jīng)接受履行作為中繼對等端的功能。這是通過經(jīng)由對 等網(wǎng)絡(luò)160中的一個(gè)或多個(gè)其他中繼候選者RC和/或其他對等端620、 621,用一跳接一跳路由的方式,經(jīng)由P2P覆蓋160發(fā)送中繼發(fā)現(xiàn)消息 614來實(shí)現(xiàn)的。中繼發(fā)現(xiàn)消息614包含中繼對等端R的對等端ID和連接 ID。在接收到中繼發(fā)現(xiàn)消息614之后,第二對等端62試圖用上面所描 述的方式建立到中繼對等端R的直接連接第二對等端62發(fā)送中繼連 接請求615給中繼對等端R,中繼連接請求615包含第二對等端62的連 接信息。響應(yīng)于中繼連接請求615,中繼對等端R發(fā)送包含中繼對等端 R的連接信息的中繼連接響應(yīng)616給第二對等端62。在第二對等端62 和中繼對等端R之間交換連接信息之后,每個(gè)對等端62、 R開始發(fā)送連 接消息給另一對等端R、 62的相應(yīng)端點(diǎn)。當(dāng)對等端62、 R二者都已經(jīng)接 收至少一個(gè)連接消息時(shí),在第二對等端62與中繼對等端R之間建立了 直接連接617。如果在第二對等端62與中繼對等端R之間還沒有建立任 何直接連接,則直接連接617被唯一建立。因此,基本上,兩個(gè)對等端(作為請求方的第一對等端61和作為響 應(yīng)方的第二對等端62)都需要發(fā)起到中繼對等端R的連接嘗試。通過這 種方式,中繼對等端R不能被用在對另一對等端的攻擊中,因?yàn)樵趶牡?二對等端62接收到中繼連接請求615之前沒有任何消息被發(fā)送給第二對 等端62。中繼對等端R通過已發(fā)送的連接ID來識別中繼連接請求。一 旦能夠建立到對等端61 、62 二者的直接連接,則連接需要被邏輯地鏈接, 從而正確地轉(zhuǎn)發(fā)從第一對等端61發(fā)送給第二對等端62的消息,反之亦 然。
如果在第一對等端61和中繼對等端R之間或者在第二對等端62與 中繼對等端R之間的直接連接已經(jīng)建立,則該過程可以被部分地跳過。 在這種情況下,中繼連接請求和響應(yīng)仍然必須被交換以通知中繼對等端 R該連接現(xiàn)在是中繼的一部分,但是直接連接不需要被重新建立。對于 中繼對等端R,建立中繼連接等價(jià)于邏輯地鏈接兩個(gè)直接連接。出于兩 個(gè)目的,這種鏈接是必須的
I) 為了保持跟蹤兩個(gè)直接連接的連接狀態(tài),目的是在與第一 對等端61的連接被丟失的情況下,通知第二對等端62。
II) 為了保持跟蹤兩個(gè)直接連接的必要性。 鏈接對于路由覆蓋消息而言不是必須的。每個(gè)覆蓋消息包含目的地
對等端ID,其用于確定路由中的下一跳。路由算法處理直接連接的列表 并且選擇使得最靠近目的地ID的那個(gè)直接連接。因此,鏈接被用于保 持直接連接是激活的,而不是用于路由。
如果中繼對等端R拒絕第二對等端62的中繼連接請求615,則第二 對等端62必須發(fā)送中繼連接失敗消息給第一對等端61,從而第一對等 端61可以試圖尋找新的中繼候選者。如果第二對等端62不能建立到中 繼對等端R的直接連接,則第二對等端62需要發(fā)送中繼連接失敗消息 給第一對等端61,從而第一對等端61可以試圖尋找新的中繼候選者。
一旦中繼連接不再被需要,它可以被終止。至于直接連接,在末端 的兩個(gè)對等端但不是中繼對等端可以通過發(fā)送釋放中繼消息來聲明連接 是不必要的。
20相應(yīng)地,分配中繼消息聲明連接是必要的。當(dāng)兩個(gè)對等端都已經(jīng)聲 明連接不必要時(shí),中繼連接被終止。如果三個(gè)對等端中的一個(gè)對等端離 開覆蓋,則中繼連接也被終止。在終止中繼之后,必須評估作為中繼的 一部分的兩個(gè)直接連接是否仍是必要的。
圖7說明示出具有第一對等端61、第二對等端62和中繼對等端R 的P2P網(wǎng)絡(luò)的覆蓋160的過程。在第一對等端61和第二對等端62之間 建立中繼連接710。中繼連接710包括第一對等端61與中繼對等端R之 間的直接連接710a和在第二對等端62與中繼對等端R之間的直接連接 710b。
第一對等端61發(fā)送釋放中繼消息711給中繼對等端R,聲明中繼連 接710不必要。中繼對等端R將第一對等端61發(fā)送的釋放中繼消息711 轉(zhuǎn)發(fā)712給第二對等端62。在某個(gè)時(shí)間之后,第二對等端62還發(fā)送釋 放中繼消息713給中繼對等端R。中繼對等端R將第二對等端62發(fā)送 的釋放中繼消息713轉(zhuǎn)發(fā)714給第一對等端61。因?yàn)榈谝粚Φ榷?1和 第二對等端62中的任何一個(gè)都認(rèn)為中繼710不必要,所以中繼連接710 -波終止。直4妾連接710a、 710b中的每個(gè)的必要性必須;陂評估。
圖8示出包括第一對等端81和中繼對等端83以及第二對等端82 的對等網(wǎng)絡(luò)800,第一對等端81和中繼對等端83 二者都在對等網(wǎng)絡(luò)800 的第 一地址范圍內(nèi),而第二對等端82位于對等網(wǎng)絡(luò)800的第二地址范圍 內(nèi)。第一對等端81希望與第二對等端82建立連接。
由于第二對等端82在位于第一地址范圍與第二地址范圍之間的邊 界處的NAT設(shè)備例如防火墻(未示出)的后面,在第一對等端81和第 二對等端82之間的直接連接是不可能的,所以在第一對等端81與第二 對等端82之間的中繼連接是經(jīng)由中繼對等端83建立的。
對等端81、 82、 83中的每個(gè)均包括一個(gè)或若干個(gè)互相鏈接的計(jì)算機(jī) (也即硬件平臺)、基于該硬件平臺的軟件平臺和由軟件和硬件平臺形成 的系統(tǒng)平臺所執(zhí)行的若干應(yīng)用程序。對等端81、 82、 83中的每個(gè)的功能 是通過執(zhí)行這些應(yīng)用程序來提供的。這些應(yīng)用程序或者這些應(yīng)用程序中 的被選擇的部分組成了 一種計(jì)算機(jī)軟件產(chǎn)品,其在系統(tǒng)平臺上執(zhí)行時(shí)提供上述連接建立服務(wù)。此外,這種計(jì)算機(jī)軟件產(chǎn)品由存儲這些應(yīng)用程序 或應(yīng)用程序的所述被選擇部分的存儲介質(zhì)來組成。
優(yōu)選地,對等端81、 82、 83都是獨(dú)立的網(wǎng)絡(luò)節(jié)點(diǎn),例如位于不同物 理位置并經(jīng)由電信網(wǎng)絡(luò)(例如電話或媒體傳送網(wǎng)絡(luò)或者因特網(wǎng))彼此相 連的各個(gè)個(gè)人計(jì)算機(jī)。
從功能角度看,第一對等端81包括發(fā)現(xiàn)單元811,其用于在對等網(wǎng) 絡(luò)800中發(fā)現(xiàn)阻止在第一對等端81和第二對等端82之間的直接連接的 網(wǎng)絡(luò)地址翻譯。此外,第一對等端81包括確定單元812,其用于確定對 等網(wǎng)絡(luò)800中的第三對等端作為中繼對等端83。而且,第一對等端81 包括中繼單元813,其用于支持在第一對等端81與第二對等端82之間 的連接的中繼。以及,第一對等端81包括傳輸裝置814 (例如收發(fā)器接 口 ),其用于在對等網(wǎng)絡(luò)800內(nèi)傳輸信息。另外,第一對等端81包括存 儲器單元815,其用于存儲計(jì)算機(jī)軟件產(chǎn)品,該計(jì)算機(jī)軟件產(chǎn)品當(dāng)被第 一對等端81中的CPU執(zhí)行時(shí)完成第一對等端81的功能(CPU-中央處 理單元)。
優(yōu)選地,發(fā)現(xiàn)單元811、確定單元812、中繼單元813以及傳輸裝置 814是控制第一對等端81的功能的控制單元810中的軟件部件和/或硬 件部件。還可能是,發(fā)現(xiàn)單元811、確定單元812、中繼單元813以及傳 輸裝置814是連接到控制單元810的分立單元。優(yōu)選地,控制單元810 還包括所述CPU。
與第一對等端81的設(shè)計(jì)類似,第二對等端82和中繼對等端83也包 括各自的發(fā)現(xiàn)單元821和831、各自的確定單元822和832、各自的中繼 單元823和833、各自的傳輸裝置824和834、以及各自的存儲器單元 825和835。在另一情形下,P2P網(wǎng)絡(luò)800內(nèi)的對等端81、 82、 83的角 色可能發(fā)生變化。例如,中繼對等端83可代表響應(yīng)對等端、第一對等端 81可代表中繼對等端、而第二對等端82可代表請求對等端。由此,對 等端81、 82、 83中的每個(gè)都包括所提及的全部功能部件。
權(quán)利要求
1. 一種在對等網(wǎng)絡(luò)(160)中的第一地址范圍內(nèi)的第一對等端(61)與所述對等網(wǎng)絡(luò)(160)中的第二地址范圍內(nèi)的第二對等端(62)之間建立連接的方法,其特征在于,該方法包括步驟在所述對等網(wǎng)絡(luò)(160)中發(fā)現(xiàn)阻止在所述第一對等端(61)與所述第二對等端(62)之間的直接連接的網(wǎng)絡(luò)地址翻譯;確定所述對等網(wǎng)絡(luò)(160)中的第三對等端作為中繼對等端(R);以及由所述中繼對等端(R)在所述第一對等端(61)和所述第二對等端(62)之間中繼連接。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法包括步驟基于所述對等網(wǎng)絡(luò)(160)的拓樸和連接信息來發(fā)現(xiàn)所述網(wǎng)絡(luò)地址翻譯,所述連接信息包括對所述網(wǎng)絡(luò)地址翻譯的行為的說明、與所述第—地址范圍內(nèi)的第一對等端(61 )相關(guān)聯(lián)的端點(diǎn)以及與所述第二地址范圍內(nèi)的第二對等端(62)相關(guān)聯(lián)的端點(diǎn)。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法包括步驟經(jīng)由所述對等網(wǎng)絡(luò)(160)中的一個(gè)或多個(gè)其他對等端,用一跳接一跳路由的方式,在所述第一對等端(61)與所述第二對等端(62)之20間交換所述第一對等端(61 )和所述第二對等端(62 )各自的連接信息。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法包括步驟由所述第一對等端(61)向所述中繼對等端(R)發(fā)送中繼連接請求(610),其包含所述第一對等端(61)的連接信息;由所述中繼對等端(R)向所述第一對等端(61)發(fā)送中繼連接響應(yīng)(611),其包含所述中繼對等端(R)的連接信息;如果在所述第一對等端(61)與所述中繼對等端(R)之間還沒有建立任何直接連接,則在所述第一對等端(61 )與所述中繼對等端(R)之間建立直接連接(612、 613);由所述第一對等端(61 )向所述第二對等端(62)發(fā)送中繼發(fā)現(xiàn)消 息(614),其包含所述中繼對等端(R)的對等端標(biāo)識符,由所述第二對等端(62)向所述中繼對等端(R)發(fā)送中繼連接請 求(615),其包含所述第二對等端(62)的連接信息;由所述中繼對等端(R)向所述第二對等端(62)發(fā)送中繼連接響 應(yīng)(616),其包含所述中繼對等端(R)的連接信息;以及如果在所述第二對等端(62)與所述中繼對等端(R)之間還沒有 建立任何直接連接,則在所述第二對等端(62)與所述中繼對等端(R) 之間建立直接連接(617)。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法包括步驟 從一個(gè)或多個(gè)中繼候選者(RC)構(gòu)成的列表(50)中選擇所述中繼對等端(R),所述列表(50)由所述第一對等端(61)和/或所述第 二對等端(62)提供,其中所述選擇基于以下步驟中的一個(gè)或多個(gè)選擇中繼候選者(RC),其中所述對等網(wǎng)絡(luò)(160)中已經(jīng)建立的 一個(gè)或多個(gè)直接連接可被重用于所述第一對等端(61 )與所述第二對等 端(62)之間的中繼連接;以及優(yōu)先選擇比其他中繼候選者(RC)承擔(dān)較少中繼連接的中繼候選 者(RC )。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括步驟向所述對等網(wǎng)絡(luò)(120 )中的公共可到達(dá)的地址范圍內(nèi)的對等端(BP ) 發(fā)送自舉請求(210),其包含所述第一對等端(11)的連接信息,其中 所述對等網(wǎng)絡(luò)(120)中的公共可到達(dá)的地址范圍內(nèi)的所述對等端(BP) 充當(dāng)自舉對等端;以及由所述自舉對等端(BP)中繼在所述第一對等端(11)與所述第二 對等端(22 )之間交換的消息。
7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括步驟通過由所述第一對等端(61)向所述中繼對等端(R)發(fā)送釋放中繼消息(711)來終止中繼連接(710),所述釋放中繼消息(711)聲明 所述中繼連接(710)為不必要;由所述中繼對等端(R)將從所述第一對等端(61)接收到的釋放 中繼消息(711)轉(zhuǎn)發(fā)(712)給所述第二對等端(62);由所述第二對等端(62)向所述中繼對等端(R)發(fā)送釋放中繼消 息(713);由所述中繼對等端(R)將從所述第二對等端(62)接收到的釋放 中繼消息(713)轉(zhuǎn)發(fā)(714)給所述第一對等端(61);以及在所述第一對等端(61)處接收到轉(zhuǎn)發(fā)的釋放中繼消息(714)之 后,終止所述中繼連接(710)。
8. —種對等網(wǎng)絡(luò)(800)中的對等端(81、 82、 83),所述對等網(wǎng) 絡(luò)(800)包括在所述對等網(wǎng)絡(luò)(800)中的第一地址范圍內(nèi)的一個(gè)或多 個(gè)對等端(81),以及在所述對等網(wǎng)絡(luò)(800)中的第二地址范圍內(nèi)的一 個(gè)或多個(gè)對等端(82),所述對等端(81、 82、 83)的特征在于所述對等端(81、 82、 83)包括發(fā)現(xiàn)裝置(811、 821、 831,其 適于在所述對等網(wǎng)絡(luò)(800)中發(fā)現(xiàn)阻止所述對等端(81)與另一地址 范圍內(nèi)的對等端(82 )之間的直接連接的網(wǎng)絡(luò)地址翻譯;確定裝置(812、 822、 832),其適于確定所述對等網(wǎng)絡(luò)(800)的一個(gè)對等端(83)作為 中繼對等端;中繼裝置(813、 823、 833 ),其適于支持在所述對等網(wǎng)絡(luò) (800)中的第一地址范圍內(nèi)的第一對等端(81 )與所述對等網(wǎng)絡(luò)(800) 中的第二地址范圍內(nèi)的第二對等端(82)之間的連接的中繼;以及傳輸 裝置(814、 824、 834),其適于在所述對等網(wǎng)絡(luò)(800)中傳輸信息, 特別是連接信息。
9. 一種包括對等網(wǎng)絡(luò)(160)的電信基礎(chǔ)設(shè)施,所述對等網(wǎng)絡(luò)(160) 具有所述對等網(wǎng)絡(luò)(160)中的第一地址范圍內(nèi)的第一對等端(61)和 所述對等網(wǎng)絡(luò)(160)中的第二地址范圍內(nèi)的第二對等端(62),所述電 信基礎(chǔ)設(shè)施的特征在于所述電信基礎(chǔ)設(shè)施還包括阻止在所述第一對等端(61)與所述第二 對等端(62)之間的直接連接的網(wǎng)絡(luò)地址翻譯,以及所述對等網(wǎng)絡(luò)(160)中的第三對等端,其中所述第三對等端被確定作為適于在所述第 一對等端(61)和所述第二對等端(62)之間中繼連接的中繼對等端(R)。
10. —種用于在對等網(wǎng)絡(luò)(800)中建立連接的計(jì)算機(jī)程序產(chǎn)品, 所述對等網(wǎng)絡(luò)(800)包括所述對等網(wǎng)絡(luò)(800)中的第一地址范圍內(nèi)的 一個(gè)或多個(gè)對等端(81)和所述對等網(wǎng)絡(luò)(800)中的第二地址范圍內(nèi) 的一個(gè)或多個(gè)對等端(82),所述計(jì)算機(jī)程序產(chǎn)品的特征在于所述計(jì)算機(jī)程序產(chǎn)品當(dāng)被所述對等網(wǎng)絡(luò)(800)中的對等端(81、 82、 83)執(zhí)行時(shí),執(zhí)行以下步驟在所述對等網(wǎng)絡(luò)(800)中發(fā)現(xiàn)阻止在所述第一對等端(81)與另 一地址范圍內(nèi)的第二對等端(82)之間的直接連接的網(wǎng)絡(luò)地址翻譯;確定所述對等網(wǎng)絡(luò)(800)中的第三對等端(83)作為中繼對等端;以及支持在所述對等網(wǎng)絡(luò)(800 )中的第一地址范圍內(nèi)的第一對等端(81 ) 與所述對等網(wǎng)絡(luò)(800)中的第二地址范圍內(nèi)的第二對等端(82)之間 的連接的中繼;以及在所述對等網(wǎng)絡(luò)(800)中傳輸信息,特別是連接信息。
全文摘要
本發(fā)明提供了一種建立連接的方法。本發(fā)明涉及一種在對等網(wǎng)絡(luò)(160)中建立連接的方法,以及一種對等端,一種包括該對等網(wǎng)絡(luò)(160)的電信基礎(chǔ)設(shè)施,以及一種用以執(zhí)行所述方法的計(jì)算機(jī)程序產(chǎn)品。在該對等網(wǎng)絡(luò)(160)中的第一地址范圍內(nèi)的第一對等端(61)與該對等網(wǎng)絡(luò)(160)中的第二地址范圍內(nèi)的第二對等端(62)之間建立連接。在該對等網(wǎng)絡(luò)(160)中,網(wǎng)絡(luò)地址翻譯被發(fā)現(xiàn),其阻止該第一對等端(61)與該第二對等端(62)之間的直接連接。確定對等網(wǎng)絡(luò)(160)中的第三對等端作為中繼對等端(R)。該中繼對等端(R)在該第一對等端(61)和該第二對等端(62)之間中繼連接。
文檔編號H04L29/08GK101459689SQ20081018710
公開日2009年6月17日 申請日期2008年12月12日 優(yōu)先權(quán)日2007年12月13日
發(fā)明者A·赫爾特勒, M·托姆蘇, M·皮雷爾 申請人:阿爾卡特朗訊