P2P是peer-to-peer的縮寫,peer在英語里有“(地位、能力等)同等者”、“同事”和“伙伴”等意義。因此,P2P也就可以理解為“伙伴對伙伴”的意思,或稱為對等聯(lián)網(wǎng)。P2P技術(shù)自面市以來一直受到廣泛的關(guān)注。最近幾年,P2P技術(shù)更是發(fā)展迅速。目前,業(yè)界對P2P的定義還沒有一個標(biāo)準(zhǔn)的說法,Intel將P2P技術(shù)定義為“通過系統(tǒng)間的直接交換達(dá)成計(jì)算機(jī)資源與信息的共享”,這些資源與服務(wù)包括信息交換、處理器時鐘、緩存和磁盤空間等。IBM則對P2P賦予了更廣闊的定義,把它看成是由若干互聯(lián)協(xié)作的計(jì)算機(jī)構(gòu)成的系統(tǒng)并具備如下若干特性之一:系統(tǒng)依存于邊緣化(非中央式或串口服務(wù)器)設(shè)備的主動協(xié)作,每個成員直接從其他成員而不是從服務(wù)器的參與中受益;系統(tǒng)中成員同時扮演服務(wù)器與客戶端的角色;系統(tǒng)應(yīng)用的用戶能夠意識到彼此的存在而構(gòu)成一個虛擬或?qū)嶋H的群體。
簡單地說,P2P技術(shù)是一種用于不同PC用戶之間、不經(jīng)過中繼設(shè)備直接交換數(shù)據(jù)或服務(wù)的技術(shù),其網(wǎng)絡(luò)通信方式如圖一所示。它打破了傳統(tǒng)的Client/Server模式,在對等網(wǎng)絡(luò)中,每個節(jié)點(diǎn)的地位都是相同的,具備客戶端和服務(wù)器雙重特性,可以同時作為服務(wù)使用者和服務(wù)提供者。由于P2P技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)的存儲模式將由目前的“內(nèi)容位于中心”模式轉(zhuǎn)變?yōu)椤皟?nèi)容位于邊緣”模式,改變Internet現(xiàn)在的以大網(wǎng)站為中心的狀態(tài),重返“非中心化”,將權(quán)力交還給用戶。
P2P網(wǎng)絡(luò)有3種比較流行的組織結(jié)構(gòu),被應(yīng)用在不同的P2P應(yīng)用中。
(1)DHT結(jié)構(gòu)分布式哈希表(DHT)是一種功能強(qiáng)大的工具,它的提出引起了學(xué)術(shù)界一股研究DHT的熱潮。雖然DHT具有各種各樣的實(shí)現(xiàn)方式,但是具有共同的特征,即都是一個環(huán)行拓?fù)浣Y(jié)構(gòu),在這個結(jié)構(gòu)里每個節(jié)點(diǎn)具有一個唯一的節(jié)點(diǎn)標(biāo)識(ID),節(jié)點(diǎn)ID是一個128位的哈希值。每個節(jié)點(diǎn)都在路由表里保存了其他前驅(qū)、后繼節(jié)點(diǎn)的ID。如圖1(a)所示。通過這些路由信息,可以方便地找到其他節(jié)點(diǎn)。這種結(jié)構(gòu)多用于文件共享和作為底層結(jié)構(gòu)用于流媒體傳輸。
(2)樹形結(jié)構(gòu)P2P網(wǎng)絡(luò)樹形結(jié)構(gòu)如圖1(b)所示。在這種結(jié)構(gòu)中,所有的節(jié)點(diǎn)都被組織在一棵樹中,樹根只有子節(jié)點(diǎn),樹葉只有父節(jié)點(diǎn),其他節(jié)點(diǎn)既有子節(jié)點(diǎn)也有父節(jié)點(diǎn)。信息的流向沿著樹枝流動。最初的樹形結(jié)構(gòu)多用于P2P流媒體直播。