亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        韓新超, 馬永強(qiáng), 鄭秋生

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

        0 引 言

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

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

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

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

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

        2.1 通信方案描述

        假定通信雙方為peerA和Peer B。由于A和B所處的網(wǎng)絡(luò)環(huán)境可能非常復(fù)雜,而且A和B可能無法直接通信(例如A和B均位于一個私有網(wǎng)絡(luò)中),因此在實(shí)現(xiàn)中我們必須采用一個中間服務(wù)器ServerC服務(wù)P2P會話的建立。首先,peerA和Peer B向Server C注冊。其次,當(dāng)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之間的通信進(jìn)行中轉(zhuǎn)。

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

        具有網(wǎng)絡(luò)環(huán)境感知能力的P2P通信方案的設(shè)計分為兩部分:服務(wù)器部分和對等點(diǎn)客戶端部分,其目的在需要通信的對等點(diǎn)之間建立直連的P2P會話,會話建立過程根據(jù)感知的網(wǎng)絡(luò)環(huán)境借助中間服務(wù)器完成。其實(shí)現(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的信息進(jìn)行網(wǎng)絡(luò)環(huán)境感知。首先,Peer A確定其自身及其Peer B所處的網(wǎng)絡(luò)環(huán)境:如果其自身的本地地址和服務(wù)器返回地址相同,則表明該P(yáng)eer位于公網(wǎng)內(nèi);否則,則表明該P(yáng)eer位于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信息和認(rèn)證等信息。

        (6)等待連接消息響應(yīng)。Peer A向2個socket對發(fā)送連接消息后,將在一定時間等待連接響應(yīng)。通過響應(yīng)的socket對可以進(jìn)一步確定兩個 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ù)的進(jìn)行P2P通信中轉(zhuǎn)。

        2.3 實(shí)驗(yàn)結(jié)果及分析

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

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

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

        表2 P2P會話拓?fù)浞诸?/p>

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

        表3 連接建立成功率對比

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

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

        在拓?fù)?中,這種優(yōu)勢更加明顯。這是由于第3種拓?fù)涫亲顝?fù)雜的拓?fù)?,同時在P2P通信中也是最常見的拓?fù)?。例如,在迅雷下載或者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種拓?fù)渲校覀冇謱煞N拓?fù)浞謩e進(jìn)行了測試。第一種情況下,Peer A和Peer B位于同一個私有網(wǎng)絡(luò)中,在這種情況下,我們的通信方案感知到這種網(wǎng)絡(luò)環(huán)境后,能在Peer和PeerB建立之間的通信會話并能在它們之間建立高速的傳輸通道,其傳輸效率非常高。在第二種情況中,Peer A和Peer B位于不同的NAT設(shè)備之后,也就是說Peer A和Peer B無法利用私有地址進(jìn)行通信,其會話建立過程必須借助中間服務(wù)器。在20%的情況下,PeerA和PeerB無法建立直連的通信信道,其通信借助Server C完成??傮w上來說,網(wǎng)絡(luò)感知方案最終建立的P2P會話的成功率高達(dá)99.8%,可以不受這種網(wǎng)絡(luò)環(huán)境的限制,而其它幾種連接建立P2P會話的成功率較低。

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

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

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

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

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

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

        3 結(jié)束語

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

        [1]徐向陽,韋昌法.基于NAT穿越技術(shù)的P2P通信方案的研究與實(shí)現(xiàn)[J].計算機(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].計算機(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)負(fù)載均衡方法[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è)計與實(shí)現(xiàn)[J].計算機(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ù)基本原理及其在實(shí)際中的應(yīng)用[J].西安郵電學(xué)院學(xué)報,2009,14(1):91-95.

        [13]姚政.NAT技術(shù)原理探究及在校園網(wǎng)上的應(yīng)用實(shí)例[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é)習(xí)的虛擬仿真環(huán)境
        孕期遠(yuǎn)離容易致畸的環(huán)境
        不能改變環(huán)境,那就改變心境
        基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
        環(huán)境
        孕期遠(yuǎn)離容易致畸的環(huán)境
        基于MPU6050簡單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        亚洲专区路线一路线二网| 亚洲乱码中文字幕在线| 国产午夜精品av一区二区麻豆| 国产精品538一区二区在线| 久久精品人人做人人爽| 曰韩精品无码一区二区三区 | 乱码一二三入区口| 国产精品久免费的黄网站| 亚洲国产福利精品一区二区| 被驯服人妻中文字幕日本| 国产精品日本一区二区三区| 久久青青草原一区网站| 国产性自爱拍偷在在线播放| 特级做a爰片毛片免费看无码| 亚洲成a人片在线网站| 国产喷白浆精品一区二区豆腐| av在线观看一区二区三区| 男女性杂交内射妇女bbwxz| 99久久国语露脸精品国产| 韩国三级大全久久网站| 国产自拍精品在线免费观看| 久久99精品久久久久久清纯| 东北老女人高潮大喊舒服死了| 久久亚洲精品成人av| 亚洲一区二区欧美色妞影院| 国产91久久精品成人看网站| 丰满人妻被两个按摩师| 国产无套护士在线观看| 无码啪啪人妻| 国产性虐视频在线观看| 激情综合色综合久久综合| 久久99精品国产99久久| 狠狠亚洲婷婷综合久久久 | 久久精品日本美女视频| 亚洲香蕉av一区二区三区| 日韩日韩日韩日韩日韩日韩| 国产又色又爽无遮挡免费动态图| 亚洲国产一区二区三区,| 国内自拍愉拍免费观看| 亚洲а∨天堂久久精品2021| 亚洲高清中文字幕精品不卡|