999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于網(wǎng)絡(luò)環(huán)境感知的P2P通信方案設(shè)計

2011-09-07 10:17:02韓新超馬永強鄭秋生
計算機工程與設(shè)計 2011年8期
關(guān)鍵詞:環(huán)境設(shè)備

韓新超, 馬永強, 鄭秋生

(1.中原工學(xué)院計算機學(xué)院河南省鄭州市網(wǎng)絡(luò)安全評估重點實驗室,河南鄭州450007;2.河南理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院,河南焦作454000)

0 引 言

P2P(Peer to Peer)通信技術(shù)即對等網(wǎng)絡(luò)[1-5],是近年來發(fā)展的一種新的獲取信息的方式,是一種主機不經(jīng)過中繼設(shè)備直接交換數(shù)據(jù)或服務(wù)的技術(shù)。在P2P通信模式中,通信節(jié)點之間通過直接通信實現(xiàn)信息的交換和資源的共享,這使得用戶之間的溝通和交互變得更直接、更便捷。然而,由于網(wǎng)絡(luò)環(huán)境的復(fù)雜性,在某些情況下,無法直接在兩個對等點之間建立P2P會話以便完成通信和資源共享。例如,在目前的網(wǎng)絡(luò)IPv4環(huán)境中,由于NAT(network address translator)設(shè)備的廣泛存在,使得處于不同內(nèi)部私有網(wǎng)絡(luò)中的主機直接進行通信變得很困難甚至不可能[6-8]。NAT技術(shù)旨在解決IPv4網(wǎng)絡(luò)中地址匱乏的問題[9-11],位于NAT設(shè)備后的主機的地址通常為私有地址,這些地址不能在因特網(wǎng)絡(luò)中路由,因此,NAT設(shè)備后的設(shè)備節(jié)點往往不能直接通信,需要借助中間服務(wù)器完成P2P會話的建立。即使在IP地址比較充裕的IPv6網(wǎng)絡(luò)中,由于IPv4和IPv6隧道的存在,為了在不同網(wǎng)絡(luò)中在IPv4和IPv6地址之間進行切換,NAT設(shè)備也將在很長一段時間存在[12-13]。因此,針對這些復(fù)雜的網(wǎng)絡(luò)環(huán)境,本文提出了一種具有網(wǎng)絡(luò)環(huán)境感知能力的P2P通信方案并予以實現(xiàn),該方案旨在對P2P通信中的兩個Peer環(huán)境進行感知,并根據(jù)感知的網(wǎng)絡(luò)環(huán)境采用最優(yōu)的P2P方案進行通信,以提高P2P會話的建立成功的連接率,提高端到端延時性能,同時盡可能的減小協(xié)議引入的開銷。

1 P2P會話連接建立技術(shù)

現(xiàn)有P2P會話連接技術(shù)主要分為以下3種:服務(wù)器中轉(zhuǎn)技術(shù)、反向連接技術(shù)、UDP打洞技術(shù)[14-15],各種技術(shù)的特點如表1所示。

表1 P2P會話連接技術(shù)比較

2 具有網(wǎng)絡(luò)環(huán)境感知能力的P2P通信方案的設(shè)計和實現(xiàn)

2.1 通信方案描述

假定通信雙方為peerA和Peer B。由于A和B所處的網(wǎng)絡(luò)環(huán)境可能非常復(fù)雜,而且A和B可能無法直接通信(例如A和B均位于一個私有網(wǎng)絡(luò)中),因此在實現(xiàn)中我們必須采用一個中間服務(wù)器ServerC服務(wù)P2P會話的建立。首先,peerA和Peer B向Server C注冊。其次,當Peer A向Server C發(fā)起連接請求,請求連接PeerB。最后,ServerC根據(jù)PeerA和PeerB所處的網(wǎng)絡(luò)環(huán)境為peerA和PeerB選擇最優(yōu)的通信方案。必要時,中間服務(wù)器將作為中轉(zhuǎn)服務(wù)器為peer A和Peer B之間的通信進行中轉(zhuǎn)。

2.2 具體方案實現(xiàn)

具有網(wǎng)絡(luò)環(huán)境感知能力的P2P通信方案的設(shè)計分為兩部分:服務(wù)器部分和對等點客戶端部分,其目的在需要通信的對等點之間建立直連的P2P會話,會話建立過程根據(jù)感知的網(wǎng)絡(luò)環(huán)境借助中間服務(wù)器完成。其實現(xiàn)算法分為以下幾個步驟:

(1)部署中間服務(wù)器。首先,server C在某個UDP端口和某個公網(wǎng)地址上監(jiān)聽,等待來自peer客戶端的連接。

(2)登陸的peer向中間服務(wù)器注冊。Peer在登錄時向中間服務(wù)器注冊,注冊時將本地端口和本地地址攜帶在登錄消息中。服務(wù)器收到某peer的注冊消息后,從注冊消息體中獲取該peer的本地地址和本地端口號 (以下簡稱私有端口和私有地址),同時調(diào)用getsockname獲取該peer客戶端的真正端口號、真正的地址(以下簡稱為公有地址和公有端口號)。注意公有地址和公有端口號可能是私有地址和私有端口經(jīng)過NAT設(shè)備轉(zhuǎn)換后得到的地址和端口號。

(3)Peer A向Server C請求連接Peer B。

(4)Server C分別向Peer A和Peer B返回其對等體的網(wǎng)絡(luò)信息。返回的網(wǎng)絡(luò)環(huán)境信息包括其通信Peer的私有地址、私有端口、公有地址和公有端口等信息。

(5)PeerA根據(jù)其自身和PeerB的信息進行網(wǎng)絡(luò)環(huán)境感知。首先,Peer A確定其自身及其Peer B所處的網(wǎng)絡(luò)環(huán)境:如果其自身的本地地址和服務(wù)器返回地址相同,則表明該Peer位于公網(wǎng)內(nèi);否則,則表明該Peer位于NAT設(shè)備之后。其次,根據(jù)Peer A其自身所處的網(wǎng)絡(luò)環(huán)境和Peer B所處的網(wǎng)絡(luò)環(huán)境,發(fā)起直接連接請求。其連接請求的socket端口對分為兩種情況:(peer A本地地址和本地端口、Peer B本地地址和本地端口)、(peer A本地地址和本地端口、Peer B公網(wǎng)地址和公網(wǎng)端口)。如果PeerA位于NAT設(shè)備之后,則經(jīng)過NAT設(shè)備之后,socket端口連接又被轉(zhuǎn)化為(peer A公網(wǎng)地址和公網(wǎng)端口、Peer B本地地址和本地端口)、(peerA公網(wǎng)地址和公網(wǎng)端口、peerB公網(wǎng)地址和公網(wǎng)端口)。PeerA分別向這2個socke對t發(fā)送連接消息,連接信息中包含的請求的Peer ID信息和認證等信息。

(6)等待連接消息響應(yīng)。Peer A向2個socket對發(fā)送連接消息后,將在一定時間等待連接響應(yīng)。通過響應(yīng)的socket對可以進一步確定兩個 Peer所處的網(wǎng)絡(luò)環(huán)境。若響應(yīng)是來自socket對(peerA本地地址和本地端口、PeerB本地地址和本地端口),則表明Peer A和Peer B可以通過本地網(wǎng)絡(luò)直接通信,PeerA和PeerB應(yīng)該位于同一局域網(wǎng)內(nèi),PeerA和PeerB建立的P2P通話應(yīng)該以本地通道優(yōu)先。若響應(yīng)消息來自(peerA本地地址和本地端口、Peer B公網(wǎng)地址和公網(wǎng)端口),則表明的PeerA和PeerB不在同一局域網(wǎng)環(huán)境中,則P2P會話通道必須通過NAT設(shè)備。同時,在這種情況,通過比較PeerB的公網(wǎng)地址和PeerB的私有地址情況判斷PeerB是否位于某一私有網(wǎng)絡(luò)中。需要注意的時候,有可能在一定的時間都不會受到連接響應(yīng)消息,這是由于某些NAT設(shè)備不兼容性,導(dǎo)致UDP打洞失敗,最終無法建立P2P會話。在這種情況下,通信方案將采用服務(wù)器中轉(zhuǎn)技術(shù)的進行P2P通信中轉(zhuǎn)。

2.3 實驗結(jié)果及分析

在P2P通信的過程中,能感知P2P的相對網(wǎng)絡(luò)環(huán)境并采用最優(yōu)的方式進行通信,具有十分重要的意義,這對于節(jié)省網(wǎng)絡(luò)帶寬,提高傳輸效率具有十分重要的意義。為此,設(shè)計出一個通用的P2P即時通信驗證平臺,并對實現(xiàn)方案進行驗證。仿真開發(fā)環(huán)境為Linux操作系統(tǒng),開發(fā)語言為c語言,采用基于UDP的socket程序?qū)崿F(xiàn)。利用Vmware模擬各種NAT網(wǎng)絡(luò)拓撲以便對實現(xiàn)的方案的可用性進行測試。為了驗證提出方案的完整性,將網(wǎng)絡(luò)環(huán)境抽象為如表2所示的3種情況,并用Vmware模擬了各種網(wǎng)絡(luò)并對提出的方案進行了測試。測試的結(jié)論及其分析如下:

針對各種拓撲結(jié)構(gòu),從3個方面比較各種P2P會話連接技術(shù)的協(xié)議性能。首先,針對會話連接建立成功率來比較,其實驗結(jié)果如圖1所示,其對應(yīng)的具體值如表3所示。

從圖1以及表3可以看出,在各種拓撲情況下,本文提出的網(wǎng)絡(luò)感知P2P方案的連接建立成功率和服務(wù)器中轉(zhuǎn)技術(shù)的成功率幾乎等同。

表2 P2P會話拓撲分類

圖1 各種P2P方案連接建立成功率對比

表3 連接建立成功率對比

在拓撲1環(huán)境測試中,由于Client A和Client B均具有公有地址,Client A和Client B能快速的建立P2P會話。在這種情況下,Peer A和Peer B均位于公共網(wǎng)絡(luò)中,在對我們的方案測試中,P2P建立連接率為100%。需要注意的是,由于IP地址的匱乏,這種拓撲方案在現(xiàn)實情況中比較少見。

在拓撲2中,反向連接技術(shù)和UDP打洞技術(shù)由于網(wǎng)絡(luò)環(huán)境的局限性,其連接建立的成功概率均相對較低,而對于本文提出的具有網(wǎng)絡(luò)環(huán)境感知的P2P會話方案,其連接建立率可以達到99.7%。

在拓撲3中,這種優(yōu)勢更加明顯。這是由于第3種拓撲是最復(fù)雜的拓撲,同時在P2P通信中也是最常見的拓撲。例如,在迅雷下載或者BT下載中,兩個下載的用戶大多數(shù)情況下都位于私有網(wǎng)絡(luò)中,也就是位于NAT設(shè)備之后。在測試中,我們發(fā)現(xiàn),99.8%左右的情況下,PeerA和PeerB能成功直接建立直連的P2P會話。其它的0.2%情況下,Peer A和Peer B之間的通信需要ServerC中轉(zhuǎn)。這是由于某些NAT設(shè)備不兼容的原因。在第3種拓撲中,我們又對兩種拓撲分別進行了測試。第一種情況下,Peer A和Peer B位于同一個私有網(wǎng)絡(luò)中,在這種情況下,我們的通信方案感知到這種網(wǎng)絡(luò)環(huán)境后,能在Peer和PeerB建立之間的通信會話并能在它們之間建立高速的傳輸通道,其傳輸效率非常高。在第二種情況中,Peer A和Peer B位于不同的NAT設(shè)備之后,也就是說Peer A和Peer B無法利用私有地址進行通信,其會話建立過程必須借助中間服務(wù)器。在20%的情況下,PeerA和PeerB無法建立直連的通信信道,其通信借助Server C完成。總體上來說,網(wǎng)絡(luò)感知方案最終建立的P2P會話的成功率高達99.8%,可以不受這種網(wǎng)絡(luò)環(huán)境的限制,而其它幾種連接建立P2P會話的成功率較低。

其次,比較了各種連接的信令開銷性能,其實驗結(jié)果如圖2所示。

圖2 協(xié)議信令開銷與傳輸數(shù)據(jù)對比

從圖2可以看出,在各種拓撲測試中,服務(wù)器中轉(zhuǎn)技術(shù)具有最高的協(xié)議開銷,而具有網(wǎng)絡(luò)感知的P2P方案的協(xié)議開銷最小。這是因為服務(wù)器中轉(zhuǎn)技術(shù)需要對所有的數(shù)據(jù)的進行中轉(zhuǎn),故其開銷永遠都為100%,這也是服務(wù)器中轉(zhuǎn)技術(shù)很少采用的原因之一。而具有網(wǎng)絡(luò)感知的P2P方案僅僅在會話建立初期需要產(chǎn)生某些信令開銷,一旦會話建立成功,會話的對等體之間就可以直接通信,不會產(chǎn)生其它的信令開銷。同時可以看出,拓撲3產(chǎn)生的信令開銷要比拓撲2和拓撲1產(chǎn)生的信令開銷要大,這是由于P2P方案為了感知網(wǎng)絡(luò)環(huán)境所產(chǎn)生的額外開銷。

最后,比較了各種連接技術(shù)的端到端時延性能,其實驗結(jié)果如圖3所示。從圖中看出,在各種測試拓撲中,具有網(wǎng)絡(luò)感知的P2P技術(shù)方案時延性能最好,而服務(wù)器中轉(zhuǎn)技術(shù)的時延性能最差。具有網(wǎng)絡(luò)感知的 P2P技術(shù)方案在拓撲1的情況下,其平均時延為220ms左右。隨著拓撲結(jié)構(gòu)復(fù)雜性提高,其時延性能降低。例如在拓撲3的情況下,具有網(wǎng)絡(luò)感知的P2P技術(shù)方案其平均時延約為240ms。同理,其它幾種技術(shù)方案在拓撲1的情況下其時延性能最好,在拓撲3的情況下其平均時延最長。其原因主要是由于隨著網(wǎng)絡(luò)拓撲結(jié)構(gòu)的復(fù)雜性提高,P2P報文的處理時間變長,平均時延性能降低。例如在拓撲1的情況下,由于Peer A和PeerB均位于公網(wǎng)中,P2P報文不需要經(jīng)過NAT設(shè)備的處理。而在拓撲3的情況下,由于Peer A和Peer B均位于NAT設(shè)備后,P2P報文需要經(jīng)過至少兩個NAT設(shè)備的處理,使得端到端的延時性能降低。相對于其它3種P2P通信方案,具有網(wǎng)絡(luò)感知的P2P方案的端到端延時性能最好。這是由于,這種方案能對Peer A和Peer B所處的網(wǎng)絡(luò)環(huán)境進行感知,然后利用最優(yōu)的方案在Peer A和Peer B進行P2P通信,最優(yōu)的方案使得端到端之間的時延降到最低。在所有的方案中,服務(wù)器中轉(zhuǎn)技術(shù)的端到端延時性能最低,這是由于這種方案不考慮Peer A和Peer B所處的相對網(wǎng)絡(luò)環(huán)境,所有的P2P報文均通過服務(wù)器中轉(zhuǎn),導(dǎo)致端到端延時增加。

圖3 協(xié)議端到端延時對比

通過上述的實驗,有如下結(jié)論:在P2P通信的絕大多數(shù)環(huán)境下,本文的方案能夠在PeerA和PeerB之間建立直連的P2P通信,而且相對于其它P2P會話建立技術(shù)而言,具有更高的會話建立連接率,具有更少的信令開銷,其端到端延時性能優(yōu)于其它P2P通信方案。

3 結(jié)束語

本文提出了一種具有網(wǎng)絡(luò)環(huán)境感知的P2P通信方案并予以實現(xiàn),取得了良好的效果,方案能對各種網(wǎng)絡(luò)拓撲進行很好的感知,而且,在80%的情況下能夠建立直連的P2P會話,而在其它20%左右的情況,也能通過中轉(zhuǎn)進行P2P通信。同時提出的方案相對于其它常用的方案而言,具有更少的通信協(xié)議開銷,其端到端延時性能更好。但是,需要指出的是,在算法的設(shè)計過程中沒有考慮多個P2P對等點通信的情況,對于如何利用感知的網(wǎng)絡(luò)環(huán)境在多個對等點之間,有效的進行信息的傳遞和分析是未來需要研究的內(nèi)容。同時,本文提出的算法在對等點間無法建立直連會話時,需要利用中轉(zhuǎn)服務(wù)器進行中轉(zhuǎn),當這種情況比較多時,服務(wù)器的負擔將較重,因此,如何在這種情況下利用P2P中的其它對等點進行信息中轉(zhuǎn)對于改善該算法的可擴展性具有十分重要的意義,也是未來的研究工作的重點內(nèi)容。

[1]徐向陽,韋昌法.基于NAT穿越技術(shù)的P2P通信方案的研究與實現(xiàn)[J].計算機工程與設(shè)計,2007,28(7):1559-1561.

[2]臧雪柏,郭睿,叢玉良,等.面向即時通信系統(tǒng)的P2P網(wǎng)絡(luò)模型[J].吉林大學(xué)學(xué)報(工學(xué)版),2010,40(增刊):310-314.

[3]王嵩賀,董馨熒.基于P2P模型的安全即時通信軟件的研究與開發(fā)[J].計算機光盤軟件與應(yīng)用,2010(9):140-141.

[4]侯孟書,盧顯良,周旭,等.非結(jié)構(gòu)化P2P系統(tǒng)的路由算法[J].電子科技大學(xué)學(xué)報,2005,34(1):105-108.

[5]熊偉,謝冬青,焦炳旺,等.一種結(jié)構(gòu)化P2P協(xié)議中的自適應(yīng)負載均衡方法[J].軟件學(xué)報,2009,20(3):66-70.

[6]Guclu Hasan,Yuksel Murat.Scale-free overlay topologies with hard cutoffs for unstructured peer-to-peer networks[C].Toronto:Proceedings of the 27th International Conference on Distributed Computing Systems,2007:32-33.

[7]Eppinger J L.TCP connections for P2P apps:A software approach to solving the NAT problem[R].Pittsburgh,PA:Carnegie Mellon University,2005.

[8]魏立峰,劉丹斌,王慶輝.一種媒體流穿越NAT的算法設(shè)計與實現(xiàn)[J].計算機工程,2009,35(24):81-83.

[9]Yung-Li Chang,Hsiang-Kai Liao,Ce-Kuen Shieh,et al.A NAT traversal approach by using protocol behavior analysis[C].IIHMSP,2006:177-180.

[10]何偉.NAT技術(shù)的研究及其應(yīng)用[J].懷化學(xué)院學(xué)報,2008,27(2):64-66.

[11]劉欣,王行建.NAT技術(shù)的研究與應(yīng)用[J].自動化技術(shù)與應(yīng)用,2008,27(7):52-53.

[12]李廣華,朱志祥.NAT技術(shù)基本原理及其在實際中的應(yīng)用[J].西安郵電學(xué)院學(xué)報,2009,14(1):91-95.

[13]姚政.NAT技術(shù)原理探究及在校園網(wǎng)上的應(yīng)用實例[J].電腦知識與技術(shù),2008(12):457-460.

[14]Ford B,Srisuresh P,Kegel D.Peer-to-peer communication across network address translators[C].Proceedings of the USENIX Annual Technical Conference,2005:179-192.

[15]Jennings C.NAT classification results using STUN[S].Internet-Draft,2006.

猜你喜歡
環(huán)境設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
長期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
一種用于自主學(xué)習的虛擬仿真環(huán)境
孕期遠離容易致畸的環(huán)境
不能改變環(huán)境,那就改變心境
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
環(huán)境
孕期遠離容易致畸的環(huán)境
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
500kV輸變電設(shè)備運行維護探討
主站蜘蛛池模板: 精品国产香蕉在线播出| 91免费观看视频| 国产成人一区二区| 激情综合激情| 玖玖精品在线| 国产精彩视频在线观看| 激情六月丁香婷婷四房播| 88av在线| 精品一区二区久久久久网站| 在线观看精品国产入口| 中文字幕在线观看日本| 在线日韩日本国产亚洲| 国产精品亚洲αv天堂无码| 亚洲伊人天堂| 98精品全国免费观看视频| 日本五区在线不卡精品| 欧美h在线观看| 国产人碰人摸人爱免费视频| 有专无码视频| 91精品亚洲| 亚洲国产清纯| 国产成人8x视频一区二区| 欧美激情首页| 午夜a视频| yjizz国产在线视频网| 在线视频亚洲色图| а∨天堂一区中文字幕| 亚洲有码在线播放| 色哟哟色院91精品网站| 一本一道波多野结衣av黑人在线| AⅤ色综合久久天堂AV色综合 | 欧美亚洲综合免费精品高清在线观看 | 亚洲中文字幕97久久精品少妇| 成人在线天堂| 97精品久久久大香线焦| 欧美高清日韩| 伊人久热这里只有精品视频99| 国产亚洲视频在线观看| 欧美一级特黄aaaaaa在线看片| 天天色天天操综合网| 日本草草视频在线观看| 日本精品αv中文字幕| 日韩 欧美 国产 精品 综合| 中文字幕中文字字幕码一二区| 亚洲第一色视频| 91麻豆精品国产91久久久久| 亚洲第一极品精品无码| 免费又爽又刺激高潮网址| 国产日韩精品欧美一区灰| 欧美成人一级| 中文字幕无码电影| 国产精品福利导航| 国产午夜精品鲁丝片| 欧美在线三级| 免费观看亚洲人成网站| 欧美亚洲国产日韩电影在线| 成人久久精品一区二区三区| 亚洲成人网在线观看| 亚洲毛片在线看| 91香蕉国产亚洲一二三区| 亚洲成综合人影院在院播放| 亚洲精品在线影院| 国产乱子伦一区二区=| 草逼视频国产| 亚洲热线99精品视频| 五月婷婷综合在线视频| 日韩AV无码免费一二三区| 亚洲综合色区在线播放2019| 91久久精品日日躁夜夜躁欧美| 99热这里都是国产精品| 四虎亚洲精品| 国产黄色片在线看| 91精品福利自产拍在线观看| 国产欧美亚洲精品第3页在线| 日韩视频免费| 99久久精品国产麻豆婷婷| 亚瑟天堂久久一区二区影院| 97狠狠操| 国产欧美自拍视频| 国产不卡一级毛片视频| 国产白浆视频| 69精品在线观看|