亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種可跨越多級子網(wǎng)的p2p覆蓋網(wǎng)建立方法及系統(tǒng)的制作方法

文檔序號:7972792閱讀:162來源:國知局
專利名稱:一種可跨越多級子網(wǎng)的p2p覆蓋網(wǎng)建立方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法及系統(tǒng)。
(二)
背景技術(shù)
P2P網(wǎng)是"peer—to—peer network"的縮寫,稱為對等網(wǎng)。從網(wǎng)絡(luò)傳輸?shù)?方式上來說,點對點是一種傳輸模式,傳統(tǒng)傳輸方式包括廣播和組播等。對 等網(wǎng)的概念是指在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,存在很多設(shè)備和網(wǎng)絡(luò)主機,只要是以單 個網(wǎng)絡(luò)主機開始到其他單個網(wǎng)絡(luò)主機的數(shù)據(jù)傳輸都稱為是點對點,與具體實 現(xiàn)的軟件、協(xié)議和方式無關(guān)。對等網(wǎng)絡(luò)的非集中結(jié)構(gòu)、良好的自治性及容錯 性等特征,使其可能成為Internet上有效的信息共享模型。然而,內(nèi)容定位問 題仍然是大規(guī)模P2P網(wǎng)絡(luò)中信息共享所面臨的挑戰(zhàn)。
覆蓋網(wǎng)是建立在一個或者多個已存在網(wǎng)絡(luò)之上的網(wǎng)絡(luò),通過增加額外的、 間接的、虛擬的層,來改善下層網(wǎng)絡(luò)部分領(lǐng)域中的一些屬性,提高網(wǎng)絡(luò)的性 能。覆蓋網(wǎng)絡(luò)擴展性好、靈活性強,概念一經(jīng)提出,就引起了人們的重視。 特別是近幾年以來,在現(xiàn)有的Internet傳輸網(wǎng)絡(luò)之上構(gòu)建的完全位于應(yīng)用層的 覆蓋網(wǎng)絡(luò)系統(tǒng)發(fā)展很快。
網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)是用于將一個地址域(如專用Intranet)映射到 另一個地址域(如Internet)的標(biāo)準(zhǔn)方法。NAT允許一個機構(gòu)專用Intranet 中的主機透明地連接到公共域中的主機,無需內(nèi)部主機擁有注冊的(以及越 來越缺乏的)Internet地址。采用的NAT進行地址轉(zhuǎn)換可以是靜態(tài)的,也可以 是動態(tài)的。靜態(tài)轉(zhuǎn)換就是如果用戶在地址轉(zhuǎn)換査找表中配置具體的地址轉(zhuǎn)換 對——將定的內(nèi)部地址靜態(tài)地址映射到指定的外部地址。內(nèi)部地址和外部地 址的靜態(tài)是一對一的,當(dāng)將NAT邊界路由器配置為知道對哪些內(nèi)部地址必須進行轉(zhuǎn)換、可以用哪些合法地址時,就會進行動態(tài)轉(zhuǎn)換。動態(tài)轉(zhuǎn)換可以使 用多個合法外部地址集。
不管是靜態(tài)轉(zhuǎn)換、動態(tài)轉(zhuǎn)換還是內(nèi)部全局地址的復(fù)用,在配置過程都具 有相同的三個步驟第一步定義NAT的內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)。首先需要定
義哪些網(wǎng)絡(luò)需要轉(zhuǎn)換,把網(wǎng)絡(luò)與路由器的連接接口設(shè)置為NAT內(nèi)部接口,然
后確定路由器區(qū)域中出口點的位置,即數(shù)據(jù)包離開路由器區(qū)域后去往其目的
網(wǎng)絡(luò)需要通過的接口,通常情況下數(shù)據(jù)包離開后去往Intemet。第二步確保 目的網(wǎng)絡(luò)與地址池中的地址之間的IP連通性,如果配置的是動態(tài)或靜態(tài)轉(zhuǎn)換 方式,必須確保外部網(wǎng)絡(luò)可以訪問內(nèi)部全局網(wǎng)絡(luò)的子網(wǎng),將內(nèi)部網(wǎng)絡(luò)轉(zhuǎn)換成 公共地址,并確保通過路由選擇協(xié)議或靜態(tài)路由來進行傳播,這是為了保證 外部網(wǎng)絡(luò)可以訪問該子網(wǎng)。第三步對需要進行轉(zhuǎn)換的網(wǎng)絡(luò)進行配置,如果
動態(tài)配置地址池,如靜態(tài)通靜命令來實現(xiàn)轉(zhuǎn)換。
對等網(wǎng)是一種以廣域網(wǎng)和局域網(wǎng)為基礎(chǔ)的覆蓋網(wǎng)。對等網(wǎng)將多個位于廣
域網(wǎng)或局域網(wǎng)中的設(shè)備和網(wǎng)絡(luò)主機通過UDP協(xié)議或TCP協(xié)議連接成一個覆蓋 網(wǎng)。該覆蓋網(wǎng)的拓?fù)浣Y(jié)構(gòu)可以是星形、樹形或環(huán)形。受到現(xiàn)有底層網(wǎng)絡(luò)的限 制,P2P覆蓋網(wǎng)深度只能是兩層,即如果在對等網(wǎng)中有節(jié)點位于多級包含NAT 網(wǎng)關(guān)的子網(wǎng)中,則覆蓋網(wǎng)無法識別該節(jié)點的子網(wǎng)結(jié)構(gòu),只能將其等同于一級 子網(wǎng)中的節(jié)點對待,因而不能建立高效的覆蓋網(wǎng)結(jié)構(gòu)。因此,需要有一種方 法可以對多級的子網(wǎng)結(jié)構(gòu)進行探測,并判斷各個對等網(wǎng)節(jié)點所在位置,并能 夠跨越多級NAT網(wǎng)關(guān)建立連接,組成覆蓋網(wǎng)。

發(fā)明內(nèi)容
為了克服已有技術(shù)中P2P覆蓋網(wǎng)不能識別多級NAT網(wǎng)關(guān),不能跨越多級 子網(wǎng),傳輸效率低的不足,本發(fā)明提供一種能識別多級NAT網(wǎng)關(guān),可跨越多級 子網(wǎng),傳輸效率高的一種可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法及系統(tǒng)。
本發(fā)明的技術(shù)方案是
一種可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法,包括以下步驟
(1) 初始化P2P服務(wù)器
(1.1 )初始化P2P服務(wù)器的覆蓋網(wǎng)信息,包括整個覆蓋網(wǎng)包含的節(jié)點數(shù)目, 節(jié)點所在的子網(wǎng)信息、各節(jié)點之間的連接情況;初始狀況下,該覆蓋網(wǎng)信息 為空,隨節(jié)點加入覆蓋網(wǎng)的數(shù)目增加而增加。
(1.2)啟動服務(wù)器,開啟TCP端口連接監(jiān)聽,等待節(jié)點加入;
(2) 節(jié)點探測其所在子網(wǎng)的信息
(2.1) 節(jié)點i收集所在子網(wǎng)的信息,包括IP地址、網(wǎng)絡(luò)掩碼和網(wǎng)關(guān)IP地址;
(2.2) 通過TCP連接向服務(wù)器發(fā)送收集到的信息;
(3) 服務(wù)器査找相似節(jié)點集合
(3.1) 服務(wù)器對已加入覆蓋網(wǎng)的所有節(jié)點進行搜索,査找與節(jié)點i所在子 網(wǎng)最上層的NAT網(wǎng)關(guān)IP地址相同的節(jié)點集合J;
(3.2) 若集合J為空,將節(jié)點i的子網(wǎng)信息加入到覆蓋網(wǎng)信息中;
(3.3) 若集合J不為空,將集合J中的每個子網(wǎng)信息與節(jié)點i的子網(wǎng)信息比 對,若存在與i相同的子網(wǎng)信息,將節(jié)點i加入到覆蓋網(wǎng)中;
(3.4) 若集合J不為空,且節(jié)點i的子網(wǎng)信息不存在集合J中,命令節(jié)點i 與集合J中的每個節(jié)點進行信息交互,根據(jù)單向可連特性確定節(jié)點i所在子網(wǎng) 的深度,并加入覆蓋網(wǎng)信息;
(4) 服務(wù)器計算覆蓋網(wǎng)結(jié)構(gòu)服務(wù)器根據(jù)探測到的子網(wǎng)結(jié)構(gòu),對所有節(jié)點 建立覆蓋網(wǎng)連接,規(guī)則為位于同一個子網(wǎng)中的所有節(jié)點互相直接連接;下 一級子網(wǎng)中僅有一個節(jié)點與上一級子網(wǎng)的節(jié)點連接;
(5) 使用端口反彈跨越NAT網(wǎng)關(guān)建立覆蓋網(wǎng)連接
(5.1)服務(wù)器將更新后的覆蓋網(wǎng)結(jié)構(gòu)發(fā)送給每個節(jié)點,包括節(jié)點之間的連 接結(jié)構(gòu)和子網(wǎng)信息;
(5.2) 下一級子網(wǎng)中的節(jié)點使用基于TCP協(xié)議的端口反彈技術(shù)主動連接上 一級子網(wǎng)中的節(jié)點;
(5.3) 同一級子網(wǎng)中的節(jié)點使用TCP協(xié)議或UDP協(xié)議互連。
一種用所述的可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法構(gòu)筑的系統(tǒng),主要
包括服務(wù)器單元和節(jié)點單元
所述的服務(wù)器單元包括
(1 )服務(wù)器端P2P網(wǎng)絡(luò)通信模塊用于P2P覆蓋網(wǎng)服務(wù)器與節(jié)點之間的 通信,包括接收節(jié)點信息及向節(jié)點發(fā)送覆蓋網(wǎng)結(jié)構(gòu),所述P2P網(wǎng)絡(luò)通信模塊的 輸出端與節(jié)點搜索模塊連接;
(2) 節(jié)點搜索模塊用于査找相似節(jié)點集合,其輸出端與覆蓋網(wǎng)計算模 塊連接
(2.1) 服務(wù)器對已加入覆蓋網(wǎng)的所有節(jié)點進行搜索,査找與節(jié)點i所在 子網(wǎng)最上層的NAT網(wǎng)關(guān)IP地址相同的節(jié)點集合J;
(2.2) 若集合J為空,將節(jié)點i的子網(wǎng)信息加入到覆蓋網(wǎng)信息中;
(2.3) 若集合J不為空,將集合J中的每個子網(wǎng)信息與節(jié)點i的子網(wǎng)信息 比對,若存在與i相同的子網(wǎng)信息,將節(jié)點i加入到覆蓋網(wǎng)中;
(3) 覆蓋網(wǎng)計算模塊用于根據(jù)收集到的各節(jié)點的子網(wǎng)結(jié)構(gòu)及其連接關(guān) 系,計算最優(yōu)覆蓋網(wǎng)拓?fù)浣Y(jié)構(gòu),規(guī)則為位于同一個子網(wǎng)中的所有節(jié)點互相 直接連接;下一級子網(wǎng)中僅有一個節(jié)點與上一級子網(wǎng)的節(jié)點連接;
(4) P2P網(wǎng)絡(luò)信息存儲模塊其輸入端與覆蓋網(wǎng)計算模塊連接,用于存 儲搜集到的底層網(wǎng)絡(luò)信息的模塊;
所述的節(jié)點單元包括-(1 )節(jié)點P2P網(wǎng)絡(luò)通信模塊與所述的服務(wù)器端P2P網(wǎng)絡(luò)通信模塊互聯(lián), 用于覆蓋網(wǎng)中節(jié)點與節(jié)點之間、節(jié)點與服務(wù)器之間的通信;
(2) 子網(wǎng)信息偵測模塊用于節(jié)點對所在網(wǎng)絡(luò)進行偵測,及節(jié)點與節(jié)點 之間的互動偵測,偵測不同一層次的子網(wǎng)結(jié)構(gòu),測定子網(wǎng)的深度與位置,所 述子網(wǎng)信息偵測模塊的輸出端與所述節(jié)點P2P網(wǎng)絡(luò)通信模塊連接;
(3) 跨NAT網(wǎng)關(guān)的覆蓋網(wǎng)連接模塊其輸入端與節(jié)點P2P網(wǎng)絡(luò)通信模塊連接,用于使用端口反彈技術(shù)從低層次子網(wǎng)向高層次子網(wǎng)進行TCP主動連 接,實現(xiàn)下一層子網(wǎng)節(jié)點向上一層節(jié)點連接時跨越NAT網(wǎng)關(guān);
(4) 子網(wǎng)內(nèi)的覆蓋網(wǎng)連接模塊其輸入端與節(jié)點P2P網(wǎng)絡(luò)通信模塊連接,用于使用普通的網(wǎng)絡(luò)連接協(xié)議在同一個子網(wǎng)中對兩個節(jié)點進行互連。
本發(fā)明的工作原理是受到現(xiàn)有底層網(wǎng)絡(luò)的限制,P2P覆蓋網(wǎng)深度只能是兩層,即如果在對等網(wǎng)中有節(jié)點位于多級包含NAT網(wǎng)關(guān)的子網(wǎng)中,則覆蓋網(wǎng)無法識別該節(jié)點的子網(wǎng)結(jié)構(gòu),只能將其等同于一級子網(wǎng)中的節(jié)點對待,因此 不能建立高效的覆蓋網(wǎng)結(jié)構(gòu)。本發(fā)明在每個節(jié)點中加入了對子網(wǎng)信息進行探測的功能,信息包括IP地址、網(wǎng)絡(luò)掩碼和網(wǎng)關(guān)IP地址,P2P服務(wù)器對所有收集到的子網(wǎng)信息進行保存和評價,如果遇到不能直接確定深度的子網(wǎng)則要求 相關(guān)節(jié)點進行聯(lián)合偵測,以判斷某個子網(wǎng)的深度與位置。服務(wù)器根據(jù)收集到 的子網(wǎng)結(jié)構(gòu),對覆蓋網(wǎng)中的每個節(jié)點計算連接結(jié)構(gòu),包括同一級子網(wǎng)和跨多 級子網(wǎng)的情況。最后,覆蓋網(wǎng)中的每個節(jié)點根據(jù)服務(wù)器計算的覆蓋網(wǎng)結(jié)構(gòu)進行連接,連接協(xié)議使用TCP或UDP。如果遇到NAT網(wǎng)關(guān)的情況,則使用端 口反彈技術(shù)進行逆向連接,使用TCP協(xié)議。
本發(fā)明能夠根據(jù)具體的底層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)自動進行重構(gòu),通過在每個節(jié) 點中加入子網(wǎng)信息收集和聯(lián)合子網(wǎng)層次結(jié)構(gòu)偵測的功能,使得P2P服務(wù)器在 計算覆蓋網(wǎng)結(jié)構(gòu)的時候能夠準(zhǔn)確的判斷子網(wǎng)情況,從而計算高效的覆蓋網(wǎng)拓 撲結(jié)構(gòu)。在進行覆蓋網(wǎng)建立的過程中,位于同一子網(wǎng)中的節(jié)點直接采用TCP 或UDP協(xié)議互連,位于不同級子網(wǎng)中的節(jié)點使用端口反彈技術(shù)使用TCP協(xié)議 進行互連,從而穿越多層子網(wǎng)間的NAT網(wǎng)關(guān)。
本發(fā)明所述的一種可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法及系統(tǒng)的有益 效果主要表現(xiàn)在能偵測多級子網(wǎng)結(jié)構(gòu),使用端口反彈技術(shù)連接多層子網(wǎng), 建立多級的覆蓋網(wǎng)拓?fù)洌m應(yīng)級連的NAT網(wǎng)關(guān)組,可跨越多級子網(wǎng),傳輸效 率高。
(四)


圖1是本發(fā)明一種可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法的流程圖。
圖2是本發(fā)明一種可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)系統(tǒng)的結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進一步描述。
實施例一
參見圖l: 一種可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法,包括以下步驟
(1) 初始化P2P服務(wù)器
(1.1 )初始化P2P服務(wù)器的覆蓋網(wǎng)信息,包括整個覆蓋網(wǎng)包含的節(jié)點數(shù)目, 節(jié)點所在的子網(wǎng)信息、各節(jié)點之間的連接情況;初始狀況下,該覆蓋網(wǎng)信息 為空,隨節(jié)點加入覆蓋網(wǎng)的數(shù)目增加而增加。
(1.2)啟動服務(wù)器,開啟TCP端口連接監(jiān)聽,等待節(jié)點加入;
(2) 節(jié)點探測其所在子網(wǎng)的信息
(2.1) 節(jié)點i收集所在子網(wǎng)的信息,包括IP地址、網(wǎng)絡(luò)掩碼和網(wǎng)關(guān)IP地址;
(2.2) 通過TCP連接向服務(wù)器發(fā)送收集到的信息;
(3) 服務(wù)器査找相似節(jié)點集合
(3.1) 服務(wù)器對已加入覆蓋網(wǎng)的所有節(jié)點進行搜索,查找與節(jié)點i所在子 網(wǎng)最上層的NAT網(wǎng)關(guān)IP地址相同的節(jié)點集合J;
(3.2) 若集合J為空,將節(jié)點i的子網(wǎng)信息加入到覆蓋網(wǎng)信息中;
(3.3) 若集合J不為空,將集合J中的每個子網(wǎng)信息與節(jié)點i的子網(wǎng)信息比對,若存在與i相同的子網(wǎng)信息,將節(jié)點i加入到覆蓋網(wǎng)中;
(3.4)若集合J不為空,且節(jié)點i的子網(wǎng)信息不存在集合J中,命令節(jié)點i與集合J中的每個節(jié)點進行信息交互,根據(jù)單向可連特性確定節(jié)點i所在子網(wǎng) 的深度,并加入覆蓋網(wǎng)信息;
(4) 服務(wù)器計算覆蓋網(wǎng)結(jié)構(gòu)服務(wù)器根據(jù)探測到的子網(wǎng)結(jié)構(gòu),對所有節(jié)點建立覆蓋網(wǎng)連接,規(guī)則為位于同一個子網(wǎng)中的所有節(jié)點互相直接連接;下 一級子網(wǎng)中僅有一個節(jié)點與上一級子網(wǎng)的節(jié)點連接;
(5) 使用端口反彈跨越NAT網(wǎng)關(guān)建立覆蓋網(wǎng)連接
(5.1) 服務(wù)器將更新后的覆蓋網(wǎng)結(jié)構(gòu)發(fā)送給每個節(jié)點,包括節(jié)點之間的連接結(jié)構(gòu)和子網(wǎng)信息;
(5.2) 下一級子網(wǎng)中的節(jié)點使用基于TCP協(xié)議的端口反彈技術(shù)主動連接上一級子網(wǎng)中的節(jié)點;
(5.3) 同一級子網(wǎng)中的節(jié)點使用TCP協(xié)議或UDP協(xié)議互連。
本方法的具體步驟如下
第一步初始化P2P服務(wù)器的覆蓋網(wǎng)信息,包括整個覆蓋網(wǎng)包含的節(jié)點 數(shù)目,節(jié)點所在子網(wǎng)信息,和節(jié)點之間的覆蓋網(wǎng)連接情況。
第二步開啟TCP端口進行連接監(jiān)聽,等待節(jié)點的加入。
第三步判斷是否有節(jié)點握手信號,如果有則表示有節(jié)點希望加入覆蓋網(wǎng)。如果沒有檢測到握手信號,則跳轉(zhuǎn)至第二步。
第四步節(jié)點i收集所在子網(wǎng)的信息,包括IP地址、網(wǎng)絡(luò)掩碼和網(wǎng)關(guān)IP 地址。
第五步節(jié)點i通過TCP連接向服務(wù)器發(fā)送收集到的子網(wǎng)信息。
第六步服務(wù)器對已經(jīng)加入覆蓋網(wǎng)的所有節(jié)點進行搜索,査找與節(jié)點i所在子網(wǎng)最上層的NAT網(wǎng)關(guān)IP地址相同的節(jié)點集合J。
第七步判斷査找結(jié)果的節(jié)點集合J是否為空,如果為空則跳轉(zhuǎn)至第十步。
第八步節(jié)點i與節(jié)點集合J中每個節(jié)點的子網(wǎng)信息進行比對,如果相同, 則表示i所在子網(wǎng)己經(jīng)被偵測到;如果沒有相同的子網(wǎng)存在,則表示i來自未 被偵測到的子網(wǎng),節(jié)點i和集合J中的每個節(jié)點進行相互連接,共同偵測節(jié)點 i所在子網(wǎng)的結(jié)構(gòu)。
第九步將偵測到的節(jié)點i的子網(wǎng)結(jié)構(gòu)發(fā)送至服務(wù)器。
第十步服務(wù)器將節(jié)點i的子網(wǎng)信息存儲進覆蓋網(wǎng)。
第十一步服務(wù)器根據(jù)探測到的子網(wǎng)結(jié)構(gòu),對所有覆蓋網(wǎng)中的節(jié)點根據(jù) 其子網(wǎng)特點建立覆蓋網(wǎng)連接。規(guī)則為位于同一個子網(wǎng)中的所有節(jié)點互相直 接連接;下一級子網(wǎng)中僅有一個節(jié)點與上一級子網(wǎng)中的節(jié)點連接。
第十二步節(jié)服務(wù)器將更新后的覆蓋網(wǎng)結(jié)構(gòu)發(fā)送給每個節(jié)點,包括節(jié)點 之間的連接結(jié)構(gòu)和子網(wǎng)信息。下一級子網(wǎng)中的節(jié)點使用基于TCP協(xié)議的端口 反彈技術(shù)主動連接上一級子網(wǎng)中的節(jié)點。同一級子網(wǎng)中的節(jié)點使用TCP協(xié)議或UDP協(xié)議互連。
第十三步服務(wù)器判斷是否所有節(jié)點都在覆蓋網(wǎng)中,如果不是則跳轉(zhuǎn)至 第二步。
第十四步覆蓋網(wǎng)建立完畢。
實施例二
參見圖2: —種用所述的可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法構(gòu)筑的系 統(tǒng),主要包括服務(wù)器單元和節(jié)點單元
所述的服務(wù)器單元包括 (1 )服務(wù)器端P2P網(wǎng)絡(luò)通信模塊用于P2P覆蓋網(wǎng)服務(wù)器與節(jié)點之間的 通信,包括接收節(jié)點信息及向節(jié)點發(fā)送覆蓋網(wǎng)結(jié)構(gòu),所述P2P網(wǎng)絡(luò)通信模塊的 輸出端與節(jié)點搜索模塊連接;
(2) 節(jié)點搜索模塊用于査找相似節(jié)點集合,其輸出端與覆蓋網(wǎng)計算模 塊連接
(2.1) 服務(wù)器對已加入覆蓋網(wǎng)的所有節(jié)點進行搜索,査找與節(jié)點i所在 子網(wǎng)最上層的NAT網(wǎng)關(guān)IP地址相同的節(jié)點集合J;
(2.2) 若集合J為空,將節(jié)點i的子網(wǎng)信息加入到覆蓋網(wǎng)信息中;
(2.3) 若集合J不為空,將集合J中的每個子網(wǎng)信息與節(jié)點i的子網(wǎng)信息 比對,若存在與i相同的子網(wǎng)信息,將節(jié)點i加入到覆蓋網(wǎng)中;
(3) 覆蓋網(wǎng)計算模塊用于根據(jù)收集到的各節(jié)點的子網(wǎng)結(jié)構(gòu)及其連接關(guān) 系,計算最優(yōu)覆蓋網(wǎng)拓?fù)浣Y(jié)構(gòu),規(guī)則為位于同一個子網(wǎng)中的所有節(jié)點互相 直接連接;下一級子網(wǎng)中僅有一個節(jié)點與上一級子網(wǎng)的節(jié)點連接;
(4) P2P網(wǎng)絡(luò)信息存儲模塊其輸入端與覆蓋網(wǎng)計算模塊連接,用于存 儲搜集到的底層網(wǎng)絡(luò)信息的模塊;
各模塊之間的通信依靠服務(wù)器端TCP/UDP通信模塊連接,服務(wù)器端 TCP/UDP通信模塊用于在底層網(wǎng)絡(luò)中進行數(shù)據(jù)交換的模塊,包括基于連接的 TCP接口和基于非連接的UDP接口 。
所述的節(jié)點單元包括 (1 )節(jié)點P2P網(wǎng)絡(luò)通信模塊與所述的服務(wù)器端P2P網(wǎng)絡(luò)通信模塊互聯(lián), 用于覆蓋網(wǎng)中節(jié)點與節(jié)點之間、節(jié)點與服務(wù)器之間的通信;
(2) 子網(wǎng)信息偵測模塊用于節(jié)點對所在網(wǎng)絡(luò)進行偵測,及節(jié)點與節(jié)點 之間的互動偵測,偵測不同一層次的子網(wǎng)結(jié)構(gòu),測定子網(wǎng)的深度與位置,所 述子網(wǎng)信息偵測模塊的輸出端與所述節(jié)點P2P網(wǎng)絡(luò)通信模塊連接;
(3) 跨NAT網(wǎng)關(guān)的覆蓋網(wǎng)連接模塊其輸入端與節(jié)點P2P網(wǎng)絡(luò)通信模 塊連接,用于使用端口反彈技術(shù)從低層次子網(wǎng)向高層次子網(wǎng)進行TCP主動連 接,實現(xiàn)下一層子網(wǎng)節(jié)點向上一層節(jié)點連接時跨越NAT網(wǎng)關(guān);
(4)子網(wǎng)內(nèi)的覆蓋網(wǎng)連接模塊其輸入端與節(jié)點P2P網(wǎng)絡(luò)通信模塊連接, 用于使用普通的網(wǎng)絡(luò)連接協(xié)議在同一個子網(wǎng)中對兩個節(jié)點進行互連。
各模塊之間的通信依靠節(jié)點TCP/UDP通信模塊,節(jié)點TCP/UDP通信模 塊用于在底層網(wǎng)絡(luò)中進行數(shù)據(jù)交換的模塊,包括基于連接的TCP接口和基于 非連接的UDP接口 、以及建立在TCP協(xié)議基礎(chǔ)上的端口反彈接口 。
權(quán)利要求
1. 一種可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法,其特征在于包括以下步驟(1)初始化P2P服務(wù)器(1.1)初始化P2P服務(wù)器的覆蓋網(wǎng)信息,包括整個覆蓋網(wǎng)包含的節(jié)點數(shù)目,節(jié)點所在的子網(wǎng)信息、各節(jié)點之間的連接情況;(1.2)啟動服務(wù)器,開啟TCP端口連接監(jiān)聽,等待節(jié)點加入;(2)節(jié)點探測其所在子網(wǎng)的信息(2.1)節(jié)點i收集所在子網(wǎng)的信息,包括IP地址、網(wǎng)絡(luò)掩碼和網(wǎng)關(guān)IP地址;(2.2)通過TCP連接向服務(wù)器發(fā)送收集到的信息;(3)服務(wù)器查找相似節(jié)點集合(3.1)服務(wù)器對已加入覆蓋網(wǎng)的所有節(jié)點進行搜索,查找與節(jié)點i所在子網(wǎng)最上層的NAT網(wǎng)關(guān)IP地址相同的節(jié)點集合J;(3.2)若集合J為空,將節(jié)點i的子網(wǎng)信息加入到覆蓋網(wǎng)信息中;(3.3)若集合J不為空,將集合J中的每個子網(wǎng)信息與節(jié)點i的子網(wǎng)信息比對,若存在與i相同的子網(wǎng)信息,將節(jié)點i加入到覆蓋網(wǎng)中;(3.4)若集合J不為空,且節(jié)點i的子網(wǎng)信息不存在集合J中,命令節(jié)點i與集合J中的每個節(jié)點進行信息交互,根據(jù)單向可連特性確定節(jié)點i所在子網(wǎng)的深度,并加入覆蓋網(wǎng)信息;(4)服務(wù)器計算覆蓋網(wǎng)結(jié)構(gòu)服務(wù)器根據(jù)探測到的子網(wǎng)結(jié)構(gòu),對所有節(jié)點建立覆蓋網(wǎng)連接,規(guī)則為位于同一個子網(wǎng)中的所有節(jié)點互相直接連接;下一級子網(wǎng)中僅有一個節(jié)點與上一級子網(wǎng)的節(jié)點連接;(5)使用端口反彈跨越NAT網(wǎng)關(guān)建立覆蓋網(wǎng)連接(5.1)服務(wù)器將更新后的覆蓋網(wǎng)結(jié)構(gòu)發(fā)送給每個節(jié)點,包括節(jié)點之間的連接結(jié)構(gòu)和子網(wǎng)信息;(5.2)下一級子網(wǎng)中的節(jié)點使用基于TCP協(xié)議的端口反彈技術(shù)主動連接上一級子網(wǎng)中的節(jié)點;(5.3)同一級子網(wǎng)中的節(jié)點使用TCP協(xié)議或UDP協(xié)議互連。
2、 一種用權(quán)利要求1所述的可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法 構(gòu)筑的系統(tǒng),其特征在于主要包括服務(wù)器單元和節(jié)點單元 所述的服務(wù)器單元包括(1) 服務(wù)器端P2P網(wǎng)絡(luò)通信模塊用于P2P覆蓋網(wǎng)服務(wù)器與節(jié) 點之間的通信,包括接收節(jié)點信息及向節(jié)點發(fā)送覆蓋網(wǎng)結(jié)構(gòu),所述P2P 網(wǎng)絡(luò)通信模塊的輸出端與節(jié)點搜索模塊連接;(2) 節(jié)點搜索模塊用于査找相似節(jié)點集合,其輸出端與覆蓋網(wǎng) 計算模塊連接(2.1)服務(wù)器對已加入覆蓋網(wǎng)的所有節(jié)點進行搜索,査找與節(jié)點 i所在子網(wǎng)最上層的NAT網(wǎng)關(guān)IP地址相同的節(jié)點集合J;(2.2 )若集合J為空,將節(jié)點i的子網(wǎng)信息加入到覆蓋網(wǎng)信息中; (2.3)若集合J不為空,將集合J中的每個子網(wǎng)信息與節(jié)點i的子網(wǎng)信息比對,若存在與i相同的子網(wǎng)信息,將節(jié)點i加入到覆蓋網(wǎng)中;(3) 覆蓋網(wǎng)計算模塊用于根據(jù)收集到的各節(jié)點的子網(wǎng)結(jié)構(gòu)及其 連接關(guān)系,計算最優(yōu)覆蓋網(wǎng)拓?fù)浣Y(jié)構(gòu),規(guī)則為位于同一個子網(wǎng)中的 所有節(jié)點互相直接連接;下一級子網(wǎng)中僅有一個節(jié)點與上一級子網(wǎng)的節(jié)點連接;(4) P2P網(wǎng)絡(luò)信息存儲模塊其輸入端與覆蓋網(wǎng)計算模塊連接, 用于存儲搜集到的底層網(wǎng)絡(luò)信息的模塊; 所述的節(jié)點單元包括(1) 節(jié)點P2P網(wǎng)絡(luò)通信模塊與所述的服務(wù)器端P2P網(wǎng)絡(luò)通信 模塊互聯(lián),用于覆蓋網(wǎng)中節(jié)點與節(jié)點之間、節(jié)點與服務(wù)器之間的通信;(2) 子網(wǎng)信息偵測模塊用于節(jié)點對所在網(wǎng)絡(luò)進行偵測,及節(jié)點 與節(jié)點之間的互動偵測,偵測不同一層次的子網(wǎng)結(jié)構(gòu),測定子網(wǎng)的深 度與位置,所述子網(wǎng)信息偵測模塊的輸出端與所述節(jié)點P2P網(wǎng)絡(luò)通信 模塊連接;(3) 跨NAT網(wǎng)關(guān)的覆蓋網(wǎng)連接模塊其輸入端與節(jié)點P2P網(wǎng)絡(luò) 通信模塊連接,用于使用端口反彈技術(shù)從低層次子網(wǎng)向高層次子網(wǎng)進 行TCP主動連接,實現(xiàn)下一層子網(wǎng)節(jié)點向上一層節(jié)點連接時跨越NAT 網(wǎng)關(guān);(4) 子網(wǎng)內(nèi)的覆蓋網(wǎng)連接模塊其輸入端與節(jié)點P2P網(wǎng)絡(luò)通信 模塊連接,用于使用普通的網(wǎng)絡(luò)連接協(xié)議在同一個子網(wǎng)中對兩個節(jié)點 進行互連。
全文摘要
一種可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法,包括以下步驟(1)初始化P2P服務(wù)器,(2)節(jié)點探測其所在子網(wǎng)的信息,(3)服務(wù)器查找相似節(jié)點集合(3.1)服務(wù)器對已加入覆蓋網(wǎng)的所有節(jié)點進行搜索,將節(jié)點i的子網(wǎng)信息加入到覆蓋網(wǎng)信息中;(4)服務(wù)器建立覆蓋網(wǎng)連接,規(guī)則為同一個子網(wǎng)中的節(jié)點直接連接;下一級子網(wǎng)中僅有一個節(jié)點與上一級子網(wǎng)的節(jié)點連接;(5)使用端口反彈跨越NAT網(wǎng)關(guān)建立覆蓋網(wǎng)連接。及一種用所述可跨越多級子網(wǎng)的P2P覆蓋網(wǎng)建立方法構(gòu)筑的系統(tǒng)。本發(fā)明能偵測多級子網(wǎng)結(jié)構(gòu),使用端口反彈技術(shù)連接多層子網(wǎng),建立多級的覆蓋網(wǎng)拓?fù)?,適應(yīng)級連的NAT網(wǎng)關(guān)組,可跨越多級子網(wǎng),傳輸效率高。
文檔編號H04L12/28GK101207531SQ200610155380
公開日2008年6月25日 申請日期2006年12月21日 優(yōu)先權(quán)日2006年12月21日
發(fā)明者應(yīng)時彥, 鶴 張, 王萬良, 范興剛, 蔣一波, 趙燕偉, 陳培俊 申請人:浙江工業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1