天天看點

P2P網絡介紹

Peer-To-Peer 綜述

第 1 章 Peer-To-Peer 介紹

羅傑文

中科院計算技術研究所

        最近幾年,Peer-to-Peer (對等計算,對等網絡,簡稱P2P) 迅速成為計算機界關注的熱門話題之一,财富雜志更将P2P列為影響Internet未來的四項科技之一。

     “Peer”在英語裡有“對等者”和“夥伴”的意義。是以,從字面上,P2P可以了解為對等網際網路。國内的媒體一般将P2P翻譯成“點對點”或者“端對端”,學術界則統一稱為對等計算。P2P可以定義為:網絡的參與者共享他們所擁有的一部分硬體資源(處理能力、存儲能力、網絡連接配接能力、列印機等),這些共享資源通過網絡提供服務和内容,能被其它對等節點(Peer)直接通路而無需經過中間實體。在此網絡中的參與者既是資源(服務和内容)提供者(Server),又是資源擷取者(Client)。

        P2P 網絡

        給定一個現有的網絡, 如果任意兩個節點能夠使用該網絡的通信線路直接通信, 那麼, 這些節點組成一個新的網絡, 稱為 P2P 網絡.

        P2P 應用

       給定某些資源及其處理方式, 如果任意一個節點都擁有向其他某個節點請求和被請求資源以及對這些資源進行處理的能力, 那麼, 這些節點的行為稱為 P2P 應用.P2P 應用一般建立在 P2P 網絡之上.

       客觀地說,這種計算模式并不是什麼新技術,自從上個世紀70年代網絡産生以來就存在了,隻不過當時的網絡帶寬和傳播速度限制了這種計算模式的發展。90年代末,随着高速網際網路的普及、個人計算機計算和存儲能力的提升,P2P技術重新登上曆史舞台并且帶來了一場技術上的革命。許多基于P2P技術的殺手級應用應運而生,給人們的生活帶來了極大的便利。

從計算模式上來說,P2P打破了傳統的Client/Server (C/S)模式,在網絡中的每個結點的地位都是對等的。每個結點既充當伺服器,為其他結點提供服務,同時也享用其他結點提供的服務。P2P與C/S模式的對比如下圖所示:

P2P網絡介紹

圖1 Client/Server模式

P2P網絡介紹

圖2 Peer to Peer 模式

P2P技術的特點展現在以下幾個方面[1]:

  • 非中心化:網絡中的資源和服務分散在所有結點上,資訊的傳輸和服務的實作都直接在結點之間進行,可以無需中間環節和伺服器的介入,避免了可能的瓶頸。P2P的非中心化基本特點,帶來了其在可擴充性、健壯性等方面的優勢。
  • 可擴充性:在P2P網絡中,随着使用者的加入,不僅服務的需求增加了,系統整體的資源和服務能力也在同步地擴充,始終能比較容易地滿足使用者的需要。理論上其可擴充性幾乎可以認為是無限的。例如:在傳統的通過FTP的檔案下載下傳方式中,當下載下傳使用者增加之後,下載下傳速度會變得越來越慢,然而P2P網絡正好相反,加入的使用者越多,P2P網絡中提供的資源就越多,下載下傳的速度反而越快。
  • 健壯性:P2P架構天生具有耐攻擊、高容錯的優點。由于服務是分散在各個結點之間進行的,部分結點或網絡遭到破壞對其它部分的影響很小。P2P網絡一般在部分結點失效時能夠自動調整整體拓撲,保持其它結點的連通性。P2P網絡通常都是以自組織的方式建立起來的,并允許結點自由地加入和離開。
  • 高成本效益:性能優勢是P2P被廣泛關注的一個重要原因。随着硬體技術的發展,個人計算機的計算和存儲能力以及網絡帶寬等性能依照摩爾定理高速增長。采用P2P架構可以有效地利用網際網路中散布的大量普通結點,将計算任務或存儲資料分布到所有結點上。利用其中閑置的計算能力或存儲空間,達到高性能計算和海量存儲的目的。目前,P2P在這方面的應用多在學術研究方面,一旦技術成熟,能夠在工業領域推廣,則可以為許多企業節省購買大型伺服器的成本。
  • 隐私保護: 在P2P網絡中,由于資訊的傳輸分散在各節點之間進行而無需經過某個集中環節,使用者的隐私資訊被竊聽和洩漏的可能性大大縮小。此外,目前解決Internet隐私問題主要采用中繼轉發的技術方法,進而将通信的參與者隐藏在衆多的網絡實體之中。在傳統的一些匿名通信系統中,實作這一機制依賴于某些中繼伺服器節點。而在P2P中,所有參與者都可以提供中繼轉發的功能,因而大大提高了匿名通訊的靈活性和可靠性,能夠為使用者提供更好的隐私保護。
  • 負載均衡: P2P 網絡環境下由于每個節點既是伺服器又是客戶機,減少了對傳統C/S結構伺服器計算能力、存儲能力的要求,同時因為資源分布在多個節點,更好的實作了整個網絡的負載均衡。

        與傳統的分布式系統相比,P2P技術具有無可比拟的優勢。同時,P2P技術具有廣闊的應用前景。目前,Internet上各種P2P應用軟體層出不窮,使用者數量急劇增加。據統計,自2001年以來,大量P2P軟體的使用者使用數量從幾十萬、幾百萬到上千萬急劇增加,給Internet帶寬帶來巨大沖擊。如圖3所示,在全球最大的開源網站Sourceforge[2]的下載下傳排名中,前十名中有七個項目是基于P2P技術。其中eMule的下載下傳量超過2億次,Azureus的下載下傳量超過1億次。這個網站上的工程項目下載下傳量,往往反映當今軟體技術的前沿熱點。令人矚目的是,微軟公司在新一代作業系統Windows Vista中也加入了P2P技術以用來加強協作和應用程式之間的通訊[3]。

P2P網絡介紹

圖3 Sourceforge的工程下載下傳排名(資料截止到2006年8月23日)

目前,P2P計算技術正不斷應用到軍事領域,商業領域,政府資訊,通訊等領域。根據具體應用不同,可以把P2P分為大緻以下這些類型:

  • 檔案内容共享和下載下傳,例如Napster、Gnutella、eDonkey、eMule、Maze、BT等;
  • 計算能力和存儲共享,例如[email protected]、Avaki、Popular Power等;
  • 基于P2P技術的協同與服務共享平台,例如JXTA、Magi、Groove等;
  • 即時通訊工具,包括ICQ、QQ、Yahoo Messenger、MSN Messenger等;
  • P2P通訊與資訊共享,例如Skype、Crowds、Onion Routing等;
  • 基于P2P技術的網絡電視:沸點、PPStream、 PPLive、 QQLive、 SopCast等。

參考文獻

  • [1] 羅傑文 Peer to Peer 綜述 http://www.intsci.ac.cn/users/luojw/papers/p2p.htm
  • [2] 開源網站Sourceforge www.sourceforge.net
  • [3]http://msdn.microsoft.com/windowsvista/prodinfo/what/connected/default.aspx