計算機網絡文章_第1頁
計算機網絡文章_第2頁
計算機網絡文章_第3頁
計算機網絡文章_第4頁
計算機網絡文章_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、P2P技術原理及應用摘要:對等網絡(P2P)有3種主要的組織結構:分布式哈希表(DHT)結構、樹形結構、網狀結構。P2P技術已經延伸到幾乎所有的網絡應用領域,如分布式科學計算、文件共享、流媒體直播與點播、語音通信及在線游戲支撐平臺等方面?,F在人們已經開始將重心轉入到覆蓋層網絡的節點延時聚集研究、覆蓋網之間(Inter-Overlay)優化研究、P2P支撐平臺研究以及P2P安全研究等方面。關鍵詞:對等網絡;分布式哈希表;覆蓋層網絡     Abstract:ThePeer-to-peer(P2P)network has three main structu

2、res: Distributed Hash Table (DHT) structure, tree structure, and mesh structure. P2P technology has been extended to almost all areas of network applications, including distributed scientific computing, file sharing, streaming media on-demand and live broadcast, voice communications, and online gami

3、ng support platform. Now, study areas such as node latency aggregation for overlay network, Inter-Overlay optimization, P2P supporting platform, and P2P security are receiving more attention.Keywords:P2P;distributedHash table; overlay network1  P2P技術原理什么是對等網絡(P2P)技術?P2P技術屬于覆蓋層網絡(Overlay Network

4、)的范疇,是相對于客戶機/服務器(C/S)模式來說的一種網絡信息交換方式。在C/S模式中,數據的分發采用專門的服務器,多個客戶端都從此服務器獲取數據。這種模式的優點是:數據的一致性容易控制,系統也容易管理。但是此種模式的缺點是:因為服務器的個數只有一個(即便有多個也非常有限),系統容易出現單一失效點;單一服務器面對眾多的客戶端,由于CPU能力、內存大小、網絡帶寬的限制,可同時服務的客戶端非常有限,可擴展性差。P2P技術正是為了解決這些問題而提出來的一種對等網絡結構。在P2P網絡中,每個節點既可以從其他節點得到服務,也可以向其他節點提供服務。這樣,龐大的終端資源被利用起來,一舉解決了C/S模式中

5、的兩個弊端。P2P網絡有3種比較流行的組織結構,被應用在不同的P2P應用中。(1)DHT結構分布式哈希表(DHT)1是一種功能強大的工具,它的提出引起了學術界一股研究DHT的熱潮。雖然DHT具有各種各樣的實現方式,但是具有共同的特征,即都是一個環行拓撲結構,在這個結構里每個節點具有一個唯一的節點標識(ID),節點ID是一個128位的哈希值。每個節點都在路由表里保存了其他前驅、后繼節點的ID。如圖1(a)所示。通過這些路由信息,可以方便地找到其他節點。這種結構多用于文件共享和作為底層結構用于流媒體傳輸2。(2)樹形結構P2P網絡樹形結構如圖1(b)所示。在這種結構中,所有的節點都被組織在一棵樹中

6、,樹根只有子節點,樹葉只有父節點,其他節點既有子節點也有父節點。信息的流向沿著樹枝流動。最初的樹形結構多用于P2P流媒體直播3-4。(3)網狀結構網狀結構如圖1(c)所示,又叫無結構。顧名思義,這種結構中,所有的節點無規則地連在一起,沒有穩定的關系,沒有父子關系。網狀結構5為P2P提供了最大的容忍性、動態適應性,在流媒體直播和點播應用中取得了極大的成功。當網絡變得很大時,常常會引入超級節點的概念,超級節點可以和任何一種以上結構結合起來組成新的結構,如KaZaA6。2  P2P技術應用現狀由于能夠極大緩解傳統架構中服務器端的壓力過大、單一失效點等問題,又能充分利用終端的豐富資源,所以P

7、2P技術被廣泛應用于計算機網絡的各個應用領域,如分布式科學計算、文件共享、流媒體直播與點播、語音通信及在線游戲支撐平臺等方面。(1)分布式科學計算我們知道,許多計算機的CPU資源并不是時刻保持峰值運轉的,甚至很多時候計算機處于“空閑”狀態,比如使用者暫時離開等情況。而P2P技術可以使得眾多終端的CPU資源聯合起來,服務于一個共同的計算。這種計算一般是計算量巨大、數據極多、耗時很長的科學計算。在每次計算過程中,任務(包括邏輯與數據等)被劃分成多個片,被分配到參與科學計算的P2P節點機器上。在不影響原有計算機使用的前提下,人們利用分散的CPU資源完成計算任務,并將結果返回給一個或多個服務器,將眾多

8、結果進行整合,以得到最終結果。世界最著名的P2P分布式科學計算系統非“SETIhome”項目莫屬。SETIhome項目(簡稱為SH或SETI),由美國加利福尼亞大學伯克利分校在1999年發起,是至今最成功的分布式計算項目。SETIhome通過分析從射電望遠鏡傳來的數據來搜尋地外文明,這在不少科幻迷甚至是很多普通大眾眼里都是一個“很酷”的應用。SETI的早期版本截至2005年已經吸引了543萬用戶,分析了大量積壓數據。正如宇宙的浩瀚一般,需要計算的數據(即存在宇宙空間的無數無線電信號)也是海量的。可以說,這幾百萬臺終端組成了一個目前最快的高性能計算機都望塵莫及的“超級計算機”。(2)文件共享要問

9、一百個網友目前中國最流行的文件下載方式,恐怕99個都會回答是“BT”。“BT”是BitTorrent7的簡稱,是一種依賴P2P方式將文件在大量互聯網用戶之間進行共享與傳輸的協議,對應的客戶端軟件有BitTorrent、BitComet和BitSpirit等。由于其實現簡單、使用方便,在中國用戶之間被廣泛使用。BitTorrent中的節點在共享一個文件時,首先將文件分片并將文件和分片信息保存在一個流(Torrent)類型文件中,這種節點被形象地稱作“種子”節點。其他用戶在下載該文件時根據Torrent文件的信息,將文件的部分分片下載下來,然后在其他下載該文件的節點之間共享自己已經下載的分片,互通

10、有無,從而實現文件的快速分發。由于每個節點在下載文件的同時也在為其他用戶上傳該文件的分片,所以整體來看,不會隨著用戶數的增加而降低下載速度,反而下載的人越多,速度越快。BitTorrent是一種無結構的網絡協議。除了BitTorrent之外,還有不少著名的無結構化的P2P文件共享協議,典型的有Gnutella8和KaZaA6。Gnutella協議是一種最典型的完全分布式、無等級結構的P2P網絡模型。網絡中的節點隨機連接若干個其他節點,稱之為“鄰居”。這種結構能夠很好地適應P2P網絡中節點頻繁加入與離開的動態特性,因為任意一個節點都可以被新加入的節點作為“鄰居”而連接,任意一個“鄰居”也可以隨意

11、地離開網絡。同時,這種加入節點和離開節點的選擇是節點間的獨立行為,隨機分布于網絡之中。所以說Gnutella的網絡具有健壯性、實時性、可靠性、負載平衡等優勢。在Gnutella網絡中存在以下問題:冗余消息多,對帶寬的消耗存在一定的浪費。Gnutella網絡協議采用泛洪式(Flooding)消息傳播機制,這種消息傳播機制產生了呈指數級增長的冗余消息。據統計,P2P軟件白天占Internet上運行帶寬的40%70%,晚上有時能達到80%。搜索效率低,可擴展性差。Gnutella網絡的搜索協議將所有資源與節點統一對待,沒有考慮節點的性能差異,也沒有利用查詢成功的歷史經驗,使得搜索效率低下。KaZaA

12、協議中節點大體上也是無結構連接的。但是在KaZaA協議中存在一種“超級節點”。這種“超級節點”其實是來源于各個普通的客戶端節點,但它們一般具有計算能力強、接入帶寬大、在線時間穩定等特點。在KaZaA協議中,超級節點承擔著部分服務器的任務,如管理部分普通節點,負責搜索消息的轉發等。每一個節點上線后會尋找一個超級節點掛靠,并和原先掛靠在該超級節點下的其他普通節點隨機相連,組成一個小的無結構網絡。普通節點的共享文件索引匯報給所掛靠的超級節點。因而,KaZaA網絡大體上可以看作是兩層的無結構網絡,上層是超級節點組成的無結構網絡;下層是普通節點組成的多個無結構網絡,按所掛靠的超級節點分成多個簇。當普通節

13、點發起文件搜索請求時,將請求消息發給所掛靠的超級節點,超級節點從自己存儲的共享文件索引信息中查找區域內符合條件的文件,同時將搜索請求轉發給若干個其他超級節點,由它們返回其區域內搜索結果。如果需要,這個轉發過程可以執行多步以獲得更大范圍內的搜索結果。這樣的混合式結構對異構的終端節點“分而治之”,可以充分利用一些能力較強的終端節點來擔任“小”服務器的角色,可謂是“人盡其才,物盡其用”。除了這些無結構的P2P文件共享協議之外,幾乎所有的DHT網絡都可以并已經用來實現文件共享的應用,如Chord、Pastry、KAD、CAN等應用。(3)流媒體直播曾經人們以為P2P做文件共享最合適,但現在大家發現P2

14、P模式是如此適合于流媒體直播,以至于研究熱點在很短的時間內迅速轉移到P2P的流媒體上來。中國最早的P2P流媒體直播軟件應該算香港科技大學計算機系研究的Coolstreaming5、華中科技大學集群與網格計算湖北省實驗室研究的AnySee9以及清華大學的Gridmedia等系統。Coolstreaming是一款基于網狀無結構網絡拓撲的流媒體直播軟件,中文名叫做“酷流”。在Coolstreaming中,每個節點通過登錄服務器(BS)進入網絡,并得到一些鄰居列表。每個節點和鄰居之間共享媒體數據。Coolstreaming中節點共享媒體數據是基于一種稱作“數據驅動”的機制。首先,對于節點緩沖區內所擁有

15、的數據,使用一種“緩沖映射表”(Buffer Map)來進行標記:對于每一秒的媒體內容,如果節點已經從節目源或鄰居處獲取,則標記該秒數據為“1”,否則標記為“0”。這樣,一個80秒長度的緩沖區就對應一個80位長度的緩沖映射表。其次,節點之間以“心跳”(Heartbeat)方式定期交換各自的緩沖映射表,通過比對得到自己沒有而鄰居擁有的數據位,然后根據數據調度算法,選擇合適的鄰居,請求得到相應的數據。Coolstreaming采取全網狀結構組織網絡中的節點,每個節點連接20個左右的鄰居,在定期交換緩沖映射表的同時,還要交換自己的鄰居列表。這樣,在一個鄰居離開時,可以從它最近提供的鄰居列表中選擇一個

16、連接數沒有達到上限的鄰居作為“替補”鄰居進行連接。最早期的Coolstreaming是采取隨機選取鄰居的策略,即從BS上隨機返回一些當前在線的節點列表,然后隨機從中選擇一些節點進行連接,在選擇“替補”鄰居時也是隨機的。這樣做同時又可以達到一定程度的負載平衡效果,因為每個節點連接的鄰居數基本是均勻的。但是這樣做的缺點也是明顯的,兩個距離很遠、連接很差的節點也可能被調度成為鄰居,大大影響的系統的服務質量。華中科技大學集群與網格計算湖北省重點實驗室是中國最早研究P2P流媒體直播的小組之一,它所研發的AnySee軟件期望能夠使得用戶在網上任何時候任何地點都能觀看多媒體直播節目。AnySee的第一個版本

17、基于樹狀結構:節目源是一個多播樹的根節點,之后的節點被調度為其“兒子”或子樹。每個節點向其父節點索要數據,并將數據提供給多個子節點。這樣的結構可以使得節點快速加入到網絡中,并且可以根據IP鄰近原則構建起一棵IP多播樹,使得節點加入位置都是和自己IP鄰近的節點,從而優化服務質量。之后AnySee推出第二個版本,結合了原有的樹狀結構和流行的網狀結構,使得“控制數據走樹,媒體數據走網”,既能幫助節點快速定位到加入點,又能實現一定程度的負載均衡,并緩解了原有純樹狀結構中底層節點和頂層節點之間播放時差較大的問題。最近的AnySee版本已經取消了樹的結構,演化成了優化的網狀結構(如圖2所示),即每個節點維

18、護一定數量的鄰居成員,并從中選出最合適的“伙伴”節點與之交換數據?;锇榈臄盗考扔猩舷抻钟邢孪蓿诓粷M足下限時,節點會不斷尋找新的合適節點加入伙伴列表;在達到下限時,節點停止主動尋找伙伴的過程,但可以接受其他節點將其加入伙伴列表的請求;在達到上限時,節點不再和新的節點建立伙伴關系。除了學術界對P2P流媒體直播的研究外,中國還涌現了很多成功的P2P流媒體直播商業產品,如PPLive、PPStream、沸點和TVAnts等,其中以PPLive最為有名。PPLive目前擁有數百個頻道,在2006年“超級女聲”決賽期間,頻道觀看人數達到十萬人,可以說是把P2P發揮到了極限。此外,國外也有不少對P2P流媒

19、體直播的研究,如SplitStream10等。(4)流媒體點播由于觀看直播節目時用戶不能選擇觀看指定片段,所以在人們熱烈研究P2P流媒體直播時,已有人開始將目光轉向P2P流媒體點播服務。目前成功推出P2P流媒體點播的機構還不多,典型的有GridCast11系統、PPStream點播系統。GridCast也是一款由華中科技大學集群與網格計算湖北省重點實驗室于2005年12月份成功研發并投入使用的對等視頻點播系統,具有支持多人共享點播片段、跟蹤(Tracker)服務器用戶引導、環狀結構內容組織等特點。由于一個點播頻道的人數往往不會太多,所以在用戶進行視頻錄放(VCR)操作時(即前后拖動播放點、暫停

20、/繼續播放等操作),能否快速將用戶定位到觀看該點節目的其他用戶處就成了P2P點播技術的關鍵。為了實現快速定位,GridCast中采取了一種同心圓環的媒體內容組織結構。在每一個節目頻道里,媒體內容按指數遞增的區間進行劃分,例如一個一個半小時的電影節目,可劃分成0, 5、(5, 15、(15, 35、(35, 75和(75, END=90幾段,其單位為分鐘。每個節點記錄幾個正在觀看各個段之間內容的節點。這樣,在和AnySee類似的網狀結構中,可以定期交換這種分段記錄,從而,在某個用戶拖動觀看點時,可以快速定位到相應段的記錄節點處,并從這些節點當時所觀看的區間內得到大量備用記錄以請求該區間媒體數據。

21、此外,GridCast還根據用戶習慣對數據調度策略進行優化。(5)IP層語音通信IP層語音通信(VoIP)是一種全新的網絡電話通信業務,它和傳統的PSTN電話業務相比有著擴展性好、部署方便、價格低廉等明顯的優點。在全球范圍內的VoIP應用中,由于通信各方可能處于不同的網絡狀況下,所以采取少數幾個服務器來進行話音包中轉不僅存在壓力過大的問題,還可能無法為指定通信雙方提供滿意的通話質量保證。所以采取P2P技術動態自適應地根據通信雙方網絡進行鏈路控制與消息轉發是可行的解決方案。目前風靡全球的Skype12即是一款典型的P2P VoIP軟件。Skype由于能夠提供清晰的語音質量和免費的服務,使用起來又

22、方便快捷,所以吸引了全球數千萬的用戶,每天在線用戶達500萬人,并且注冊用戶數每天增加15萬。基本上,Skype采取類似KaZaA的拓撲結構,在網絡中選取一些超級節點。在通信雙方直連效果不好時,一些合適的超級節點則擔當起其中轉節點的角色,為通信雙方創建中轉連接,并轉發相應的語音通信包。(6)網絡游戲平臺大型網絡在線游戲和網絡對戰游戲是不少“網蟲”的至愛。但由于服務器能力有限,大型網絡在線游戲往往需要限制場景人數或者不斷增加服務器,而網絡對戰游戲也必須局限在局域網內進行或者依賴獨立的服務器端程序及機器實現Internet上的電子競技。目前,已有研究人員將P2P技術引入網絡游戲和網絡游戲支撐平臺中。目前較為成功的P2P游戲平臺是華中科技大學集群與網格計算湖北省重點實驗室推出的PKTown13系統。PKT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論