28/11/2009

點對點技術

點對點技術(peer-to-peer, 簡稱P2P)又稱對等網際網路技術,是一種網路新技術,依賴網路中參與者的運算能力和頻寬,而不是把依賴都聚集在較少的幾台伺服器上。P2P網路通常用於透過Ad Hoc連線來連線節點。這類網路可以用於多種用途,各種檔案分享軟體已經得到了廣泛的使用。P2P技術也被使用在類似VoIP等實時媒體業務的資料通訊中。

純點對點網路沒有客戶端或伺服器的概念,只有平等的同級節點,同時對網路上的其它節點充當客戶端和伺服器。這種網路設計模型不同於客戶端-伺服器模型,在客戶端-伺服器模型中通訊通常來往於一個中央伺服器。
有些網路(如Napster, OpenNAP, 或IRC @find)的一些功能(比如搜尋)使用客戶端-伺服器結構,而使用P2P結構來實作另外一些功能。類似GnutellaFreenet的網路則使用純P2P結構來實作全部的任務。
一般報章都稱P2P是點對點技術,但其實是錯的,實為解作群對群(Peer-to-Peer)。在虛擬私人網路VPN (Virtual Private Network)中,也有P2P這個名稱,它才是真正解作點對點(Point-to-Point)。

依中央化程度

純P2P:
雜P2P:
  • 有一個中心伺服器保存節點的資訊並對請求這些資訊的要求做出響應。
  • 節點負責發布這些資訊(因為中心伺服器並不保存檔案),讓中心伺服器知道它們想共享什麼檔案,讓需要它的節點下載其可共享的資源。
  • 路由終端使用位址,透過被一組索引引用來取得絕對位址。
  • 如最原始的Napster
混合P2P:
  • 同時含有純P2P和雜P2P的特點。
  • Skype

依網路拓撲結構

結構P2P:
  • 點對點之間互有連結資訊,彼此形成特定規則拓撲結構。
  • 需要請求某資源時,依該拓撲結構規則尋找,若存在則一定找得到。
  • ChordCAN
無結構P2P:
  • 點對點之間互有連結資訊,彼此形成無規則網狀拓撲結構。
  • 需要請求某資源點時,以廣播方式尋找,通常會設TTL,即使存在也不一定找得到。
  • Gnutella
鬆散結構P2P:
  • 點對點之間互有連結資訊,彼此形成無規則網狀拓撲結構。
  • 需要請求某資源時,依現有資訊推測尋找,介於結構P2P和無結構P2P之間。
  • Freenet