P2P技術概要

 

      P2P(Peer to Peer)也就是 對等網絡,即對等計算機網絡,是一種在對等者(Peer)之間分配任務和工做負載的分佈式應用架構[1]   ,是對等計算模型在應用層造成的一種組網或網絡形式。「Peer」在英語裏有「對等者、夥伴、對端」的意義。所以,從字面上,P2P能夠理解爲對等計算或對等網絡。國內一些媒體將P2P翻譯成「點對點」或者「端對端」,學術界則統一稱爲對等網絡(Peer-to-peer networking)或對等計算(Peer-to-peer computing),其能夠定義爲:網絡的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲能力、網絡鏈接能力、打印機等),這些共享資源經過網絡提供服務和內容,能被其它對等節點(Peer)直接訪問而無需通過中間實體。在此網絡中的參與者既是資源、服務和內容的提供者(Server),又是資源、服務和內容的獲取者(Client)[2]   。
 
      在P2P網絡環境中,彼此鏈接的多臺計算機之間都處於對等的地位,各臺計算機有相同的功能,無主從之分,一臺計算機既可做爲服務器,設定共享資源供網絡中其餘計算機所使用,又能夠做爲工做站,整個網絡通常來講不依賴專用的集中服務器,也沒有專用的工做站。網絡中的每一臺計算機既能充當網絡服務的請求者,又對其它計算機的請求作出響應,提供資源、服務和內容。一般這些資源和服務包括:信息的共享和交換、計算資源(如CPU計算能力共享)、存儲共享(如緩存和磁盤空間的使用)、網絡共享、打印機共享等。
  
      對等網絡是一種網絡結構的思想。它與目前網絡中佔據主導地位的客戶端/服務器(Client/Server)結構(也就是WWW所採用的結構方式)的一個本質區別是,整個網絡結構中不存在中心節點(或中心服務器)。在P2P結構中,每個節點(peer)大都同時具備信息消費者、信息提供者和信息通信等三方面的功能。從計算模式上來講,P2P打破了傳統的Client/Server (C/S)模式,在網絡中的每一個節點的地位都是對等的。每一個節點既充當服務器,爲其餘節點提供服務,同時也享用其餘節點提供的服務。
 
P2P有別於傳統的計算機網絡結構,以常見的下載服務爲例:
1.對於傳統的服務器下載,在同一時刻下載的人數越多,下載速度越慢,由於服務器的帶寬是固定的,人數越多,每一個人所分得的帶寬就越小
2.而P2P網絡,在同一時刻下載的人越多,下載速度越快,由於在P2P網絡中每個下載的用戶充起到了服務器的做用
 
P2P技術的常見應用:

1.BitTorrent介紹

   BitTorrent(比特洪流)就是咱們常說的BT,它使用的就是P2P通訊方式。緩存

   它將文件劃分爲256KB的chunk(塊)服務器

   在節點加入torrent(索引):沒有chunk,可是會逐漸積累網絡

                                                       向tracker註冊以得到節點清單,與某些節點創建鏈接架構

    在下載的同時,節點須要向其它節點上傳chunk分佈式

    其中節點可能加入或離開,不會一直在線。計算機網絡

    

 

 

2.磁力連接

磁力連接,簡單的說(Magnet URI scheme):相似下面這樣以「magnet:?xt=urn:btih:」開頭的字符串,就是一條磁力連接;確切的說:「磁力連接」的主要做用是識別【可以經過「點對點技術(即:P2P)」下載的文件】。這種連接是經過不一樣文件內容的Hash結果生成一個純文本的「數字指紋」,來識別文件的。而不是基於文件的位置或者名稱。翻譯

衆所周知, BT下載速度不夠穩定,當中斷種時則沒法完整下載。可是,這還不是最嚴重的。從2009年開始,BT下載遭遇到了「更大的困難」——不少的BT服務器被關,不只不少種子文件沒法找到,BT Tracker服務器也斷開解析工做,這就使得BT下載成爲很大的難題。磁力連接很好地解決了這個問題。磁力連接的問世與大行其道,標誌着BT 1.0時代已通過去,BT 2.0 時代已經到來。
 
深入理解磁力連接
簡單地說,磁力連接是一種特殊連接,可是它與傳統基於文件的位置或名稱的普通連接(如http://xxx)不同,它只是經過不一樣文件內容的Hash結果生成一個純文本的「數字指紋」,並用它來識別文件。它相似於生活消費品包裝上常見的條碼,不一樣的是這個「數字指紋」能夠被任何人從任何文件上生成,這也就註定了磁力連接不須要任何「中心機構」的支持(例如:BT Tracker服務器),且識別準確度極高。所以任何人均可以生成一個Magnet 連接並確保經過該連接下載的文件準確無誤。
 

3.P2P搜索信息

   P2P的索引:信息到節點位置(IP地址+端口號)的映射設計

   文件共享(電驢):索引

   

   即時消息(QQ):資源

  

4.集中式索引

    Napster最先採用這種設計:一切都要通過中央,一切決定都需中央制定。

    

5.洪泛式查詢

   洪範式查詢=Query flooding

   採用徹底分佈式架構,每一個節點對它共享的文件進行索引,且只對它共享的文件進行索引。

   查詢消息經過已有的TCP鏈接發送,收到消息的節點若無其所查詢的內容,則轉發查詢消息,

           若是查詢命中則利用反向路徑發回給查詢節點。

   

6.層次式覆蓋網絡

   它是介於集中式索引和洪範式查詢之間的一種方法。

   每一個節點或者是一個超級節點,或者被分配到一個超級節點。

   

  超級節點負責跟蹤子節點的內容。

  這種結構屬於小區域集中管理,大區域分佈管理。

 
 
總結:
P2P網絡提及來的簡單,可是你們要考慮P2P網絡中計算機是如何通信的,可能這一臺計算機有防火牆,或者說這一臺計算機在某一個內網中,如何訪問這臺計算機纔是是P2P技術實現的關鍵
 
在後面會詳細介紹P2P技術
相關文章
相關標籤/搜索