最近幾年,Peer-to-Peer (對等計算,簡稱P2P) 迅速成為計算機界關注的熱門話題之一,財富雜志更將P2P列為影響Internet未來的四項科技之一。
“Peer”在英語里有“對等者”和“伙伴”的意義,因此,從字面上,P2P可以理解為對等互聯(lián)網(wǎng)。國內(nèi)的媒體一般將P2P翻譯成“點對點”或者“端對端”,學術界則統(tǒng)一稱為對等計算。P2P可以定義為:網(wǎng)絡的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲能力、網(wǎng)絡連接能力、打印機等),這些共享資源通過網(wǎng)絡提供服務和內(nèi)容,能被其它對等節(jié)點(Peer)直接訪問而無需經(jīng)過中間實體。在此網(wǎng)絡中的參與者既是資源(服務和內(nèi)容)提供者(Server),又是資源獲取者(Client)。
客觀地說,這種計算模式并不是什么新技術,自從上個世紀70年代網(wǎng)絡產(chǎn)生以來就存在了,只不過當時的網(wǎng)絡帶寬和傳播速度限制了這種計算模式的發(fā)展。90年代末,隨著高速互聯(lián)網(wǎng)的普及、個人計算機計算和存儲能力的提升,P2P技術重新登上歷史舞臺并且?guī)砹艘粓黾夹g上的革命。許多基于P2P技術的殺手級應用應運而生,給人們的生活帶來了極大的便利。
從計算模式上來說,P2P打破了傳統(tǒng)的Client/Server (C/S)模式,在網(wǎng)絡中的每個節(jié)點的地位都是對等的。每個節(jié)點既充當服務器,為其他節(jié)點提供服務,同時也享用其他節(jié)點提供的服務。P2P與C/S模式的對比如下圖所示:

圖1 Client/Server模式

圖2 Peer to Peer 模式
P2P技術的特點體現(xiàn)在以下幾個方面:
▲ 非中心化:網(wǎng)絡中的資源和服務分散在所有節(jié)點上,信息的傳輸和服務的實現(xiàn)都直接在節(jié)點之間進行,可以無需中間環(huán)節(jié)和服務器的介入,避免了可能的瓶頸。P2P的非中心化基本特點,帶來了其在可擴展性、健壯性等方面的優(yōu)勢。
▲ 可擴展性:在P2P網(wǎng)絡中,隨著用戶的加入,不僅服務的需求增加了,系統(tǒng)整體的資源和服務能力也在同步地擴充,始終能比較容易地滿足用戶的需要。理論上其可擴展性幾乎可以認為是無限的,例如:在傳統(tǒng)的通過FTP的文件下載方式中,當下載用戶增加之后,下載速度會變得越來越慢,然而P2P網(wǎng)絡正好相反,加入的用戶越多,P2P網(wǎng)絡中提供的資源就越多,下載的速度反而越快。
▲ 健壯性:P2P架構天生具有耐攻擊、高容錯的優(yōu)點。由于服務是分散在各個節(jié)點之間進行的,部分節(jié)點或網(wǎng)絡遭到破壞對其它部分的影響很小。P2P網(wǎng)絡一般在部分節(jié)點失效時能夠自動調(diào)整整體拓撲,保持其它節(jié)點的連通性。P2P網(wǎng)絡通常都是以自組織的方式建立起來的,并允許節(jié)點自由地加入和離開。
▲ 高性價比:性能優(yōu)勢是P2P被廣泛關注的一個重要原因。隨著硬件技術的發(fā)展,個人計算機的計算和存儲能力以及網(wǎng)絡帶寬等性能依照摩爾定理高速增長。采用P2P架構可以有效地利用互聯(lián)網(wǎng)中散布的大量普通節(jié)點,將計算任務或存儲資料分布到所有節(jié)點上,利用其中閑置的計算能力或存儲空間,達到高性能計算和海量存儲的目的。目前,P2P在這方面的應用多在學術研究方面,一旦技術成熟,能夠在工業(yè)領域推廣,則可以為許多企業(yè)節(jié)省購買大型服務器的成本。
▲ 隱私保護: 在P2P網(wǎng)絡中,由于信息的傳輸分散在各節(jié)點之間進行而無需經(jīng)過某個集中環(huán)節(jié),用戶的隱私信息被竊聽和泄漏的可能性大大縮小。此外,目前解決Internet隱私問題主要采用中繼轉發(fā)的技術方法,從而將通信的參與者隱藏在眾多的網(wǎng)絡實體之中。在傳統(tǒng)的一些匿名通信系統(tǒng)中,實現(xiàn)這一機制依賴于某些中繼服務器節(jié)點。而在P2P中,所有參與者都可以提供中繼轉發(fā)的功能,因而大大提高了匿名通訊的靈活性和可靠性,能夠為用戶提供更好的隱私保護。
▲ 負載均衡: P2P 網(wǎng)絡環(huán)境下由于每個節(jié)點既是服務器又是客戶機,減少了對傳統(tǒng)C/S結構服務器計算能力、存儲能力的要求,同時因為資源分布在多個節(jié)點,更好地實現(xiàn)了整個網(wǎng)絡的負載均衡。
與傳統(tǒng)的分布式系統(tǒng)相比,P2P技術具有無可比擬的優(yōu)勢,同時,P2P技術具有廣闊的應用前景。目前,Internet上各種P2P應用軟件層出不窮,用戶數(shù)量急劇增加。據(jù)統(tǒng)計,自2001年以來,大量P2P軟件的用戶使用數(shù)量從幾十萬、幾百萬到上千萬急劇增加,給Internet帶寬帶來巨大沖擊。如圖3所示,在全球最大的開源網(wǎng)站Sourceforge的下載排名中,前十名中有七個項目是基于P2P技術。其中eMule的下載量超過2億次,Azureus的下載量超過1億次。這個網(wǎng)站上的工程項目下載量,往往反映當今軟件技術的前沿熱點。令人矚目的是,微軟公司在新一代操作系統(tǒng)Windows Vista中也加入了P2P技術,以用來加強協(xié)作和應用程序之間的通訊。
目前,P2P計算技術正不斷應用到軍事、商業(yè)、政府信息、通訊等領域。根據(jù)具體應用不同,可以
把P2P分為大致以下這些類型:
▲ 文件內(nèi)容共享和下載,例如Napster、Gnutella、eDonkey、eMule、Maze、BT等;
▲ 計算能力和存儲共享,例如SETI@home、Avaki、Popular Power等;
▲ 基于P2P技術的協(xié)同與服務共享平臺,例如JXTA、Magi、Groove等;
▲ 即時通訊工具,包括ICQ、QQ、Yahoo Messenger、MSN Messenger等;
▲ P2P通訊與信息共享,例如Skype、Crowds、Onion Routing等;
▲ 基于P2P技術的網(wǎng)絡電視:沸點、PPStream、 PPLive、 QQLive、 SopCast等。