現(xiàn)有p2p協(xié)議分類與簡(jiǎn)介
(一) 常用p2p協(xié)議
1、napster:世界上第一個(gè)大型的p2p應(yīng)用網(wǎng)絡(luò);中央集中式,倒閉了。
napster,這是當(dāng)時(shí)很火的一種共享服務(wù),主要用于查找mp3,它有一個(gè)服務(wù)器用于存儲(chǔ)mp3文件的鏈接位置并提供檢索,而真正的mp3文件則存放在
千千萬萬的個(gè)人電腦上,搜索到的文件通過p2p方式直接在個(gè)人電腦間傳播共享。這種方式的缺點(diǎn)就是需要一臺(tái)服務(wù)器,在mp3文件版權(quán)之爭(zhēng)火熱的年
代,napster很快就成為眾矢之的,被眾多唱片公司訴訟侵犯版權(quán)而被迫關(guān)閉。當(dāng)然服務(wù)器一關(guān)napster也就不復(fù)存在。
2、gnutella和gnutella2(gnutella2是對(duì)gnutella的改進(jìn)和擴(kuò)展):開源的;第一個(gè)真正非中心的無結(jié)構(gòu)p2p網(wǎng)絡(luò),文件查詢采用洪泛方式。
gnutella吸取了napster的失敗教訓(xùn),將p2p的理念更推進(jìn)一步:它不存在中樞目錄服務(wù)器,所有資料都放在個(gè)人電腦上。用戶只要安裝了該軟
件,就將自己的電腦立即變成一臺(tái)能夠提供完整目錄和文件服務(wù)的服務(wù)器,并會(huì)自動(dòng)搜尋其它同類服務(wù)器,從而聯(lián)成一臺(tái)由無數(shù)pc組成的超級(jí)服務(wù)器網(wǎng)絡(luò)。傳統(tǒng)網(wǎng)
絡(luò)的server和client在它的面前被重新定義。
3、fasttrack:
第一個(gè)客戶端是kazaa。協(xié)議與gnutella類似。02-03年的最大用戶網(wǎng),05年退至第三名。衰退原因是這個(gè)網(wǎng)絡(luò)無法應(yīng)對(duì)眾多用戶同時(shí)使用,而且有版權(quán)擁有者pollution的行為,以及間諜軟件的問題。
imesh也是以fasttrack為協(xié)議的。
4、edonkey,overnet,kad:
自私的人們?cè)诶胮2p軟件的時(shí)候大多只愿“獲取”,而不愿“共享”,p2p的發(fā)展遇到了意識(shí)的發(fā)展瓶頸。不過,一頭“驢”很快改變了游戲規(guī)則,這就是電驢-edonkey,它引入了強(qiáng)制共享機(jī)制。
edeonkey將網(wǎng)絡(luò)節(jié)點(diǎn)分成服務(wù)器層和客戶層,并且將文件分塊以提高下載速度。edonkey網(wǎng)絡(luò)下最普及的p2p客戶端程序是
edonkey2000和emule。emule是edonkey的后繼,但是更出色,采用了dht來構(gòu)建底層網(wǎng)絡(luò)拓?fù)洌壳胺浅A餍械膒2p文件共享軟
件。
overnet設(shè)計(jì)的目的是取代edonkey,它沒有中心服務(wù)器,但用戶數(shù)少于edonkey。
kademlia 協(xié)議,在這里叫做kad網(wǎng)絡(luò),采用udp方式通信。很類似于overnet,幾乎只有edonkey用戶使用它。
5、bittorrent:借助分散式服務(wù)器提供共享文件索引的混合式p2p網(wǎng)絡(luò),文件分片下載。
下載速度高,沒有查找功能,種子具有時(shí)效性。它將中心目錄服務(wù)器的穩(wěn)定性同優(yōu)化的分布式文件管理結(jié)合起來。
BitTorrent的意思就是pnp下載,也叫變態(tài)下載。bt下載是p2p下載,pp下載的擴(kuò)展。pnp中的兩個(gè)p都是指網(wǎng)民的個(gè)人電腦,在網(wǎng)上抽象為一個(gè)點(diǎn)point。n是之1,2,3,……n中的n就是無限的意思。pnp就是說個(gè)人電腦和個(gè)人電腦通過網(wǎng)絡(luò)連接,多對(duì)多連接的意思。bt下載為什么俗稱變態(tài)下載呢?這是因?yàn)檫@種下載方式和傳統(tǒng)的單單依靠網(wǎng)站服務(wù)器作為下載源的方式不同,它采用的是人人電腦都是服務(wù)器的思想,下載的人越多,共享的人越多,下載的速度也越快。 BitTorrent 下載工具軟件可以說是一個(gè)最新概念 P2P 的下載工具、它采用了多點(diǎn)對(duì)多點(diǎn)的原理,一般簡(jiǎn)稱 BT(BitTorrent) 也就是大家所說的變態(tài)下載。該軟件相當(dāng)?shù)奶厥猓话阄覀兿螺d檔案或軟件,大都由 HTTP 站點(diǎn)或FTP 站臺(tái)下載,若同時(shí)間下載人數(shù)多時(shí),基于該服務(wù)器頻寬的因素,速度會(huì)減慢許多,而該軟件卻不同,恰巧相反,同時(shí)間下載的人數(shù)越多你下載的速度便越快,因?yàn)樗捎昧硕帱c(diǎn)對(duì)多點(diǎn)的傳輸原理。
6、direct connect:
一種常用在小的網(wǎng)絡(luò)和大學(xué)內(nèi)部網(wǎng)絡(luò)中的協(xié)議,適用于小網(wǎng)絡(luò)環(huán)境中,dc++是常見客戶端。
7、ares:類似gnutella網(wǎng)絡(luò)。
(二) 現(xiàn)有p2p技術(shù)主要涉及的領(lǐng)域和發(fā)展方向
(1)提供文件和其它內(nèi)容共享的p2p網(wǎng)絡(luò),例如napster、gnotella、freenet、can、edonkey、emule、bittorrent等。
(2)基于p2p方式的協(xié)同處理與服務(wù)共享平臺(tái),例如jxta、magi、groove、.netmy service等。
(3)即時(shí)通訊交流,包括icq、oicq、yahoo messenger等。
(4)安全的p2p通訊與信息共享,利用p2p無中心的特性可以為隱私保護(hù)和匿名通訊提供新的技術(shù)手段。例如cliquenet、crowds、onion routing等。
(5)語音與流媒體:由于p2p技術(shù)的使用,大量的用戶同時(shí)訪問流媒體服務(wù)器,也不會(huì)造成服務(wù)器因負(fù)載過重而癱瘓。skype與coolstream是其中的典型代表。
(6)網(wǎng)格計(jì)算,挖掘p2p分布計(jì)算能力。使用p2p技術(shù)以集中那些聯(lián)接在網(wǎng)絡(luò)上的電腦的空閑的cpu時(shí)間片斷、內(nèi)存空間、硬盤空間來替代“超級(jí)計(jì)算機(jī)
”。例如seti@home、avaki、popular
power、distributed.net等。網(wǎng)格計(jì)算的宗旨是:將遍布全球的數(shù)以萬計(jì)的計(jì)算節(jié)點(diǎn)通過高速internet連接并組織成一個(gè)巨系統(tǒng),使
其能夠透明、高效地完成復(fù)雜計(jì)算任務(wù)。
(7)ibm、微軟、ariba也在合作開展一個(gè)名為uddi的項(xiàng)目以將b2b電子商務(wù)標(biāo)準(zhǔn)化
(8)eazel正在建立下一代的linux桌面。
(9)jabber已經(jīng)開發(fā)了一種基于xml、開放的即時(shí)訊息標(biāo)準(zhǔn),jabber被認(rèn)為是建立了未來使用p2p數(shù)據(jù)交換的標(biāo)準(zhǔn)。
(10)lotus notes的開發(fā)者創(chuàng)建的groove試圖“幫助人們以全新的方式溝通”。
(11)英特爾也在推廣它的p2p技術(shù)以幫助更有效地使用芯片的計(jì)算能力。
(三) p2p資源定位方式
p2p網(wǎng)絡(luò)中進(jìn)行資源定位是首先要解決問題。一般采用三種方式:
(1)集中方式索引
每一個(gè)節(jié)點(diǎn)將自身能夠提供共享的內(nèi)容注冊(cè)到一個(gè)或幾個(gè)集中式的目錄服務(wù)器中。查找資源時(shí)首先通過服務(wù)器定位,然后兩個(gè)節(jié)點(diǎn)之間再直接通訊。例如早期的napster。這類網(wǎng)絡(luò)實(shí)現(xiàn)簡(jiǎn)單,但往往需要大的目錄服務(wù)器的支持,并且系統(tǒng)的健壯性不好。
(2)廣播方式
沒有任何索引信息,內(nèi)容提交與內(nèi)容查找都通過相鄰接節(jié)點(diǎn)直接廣播傳遞。例如gnutella。一般情況下,采取這種方式的p2p網(wǎng)絡(luò)對(duì)參與節(jié)點(diǎn)的帶寬要求比較高。
(3)動(dòng)態(tài)哈希表的方式
上述兩種定位方式可以依據(jù)不同的p2p應(yīng)用環(huán)境進(jìn)行選擇,但是人們普遍看好dht(distributed hash
table,分散式雜湊表)方式。基于dht的p2p網(wǎng)絡(luò)在一定程度上可以直接實(shí)現(xiàn)內(nèi)容的定位。一個(gè)矛盾的問題是:如果一個(gè)節(jié)點(diǎn)提供共享的內(nèi)容表示越復(fù)
雜,則哈希函數(shù)越不好選擇;相應(yīng)的,網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)就越復(fù)雜。而如果內(nèi)容表示簡(jiǎn)單,則又達(dá)不到真正實(shí)現(xiàn)依據(jù)內(nèi)容定位的能力。目前大多數(shù)dht方式的p2p
網(wǎng)絡(luò)對(duì)節(jié)點(diǎn)所提供共享內(nèi)容的表示都很簡(jiǎn)單,一般僅僅為文件名。
參考資料:
http://hi.baidu.com/yrworld/blog/item/18e2d8fc4d8656fcfd037f5e.html
http://www.chinadv.com/tech/153534/
http://zixiaoruixue731.blog.163.com/blog/static/3366060200711103495214/
http://my.donews.com/yishuai/2006/04/23/p2p%e6%b1%a1%e6%9f%93%e5%88%9d%e6%8e%a2/
http://ausun-net.spaces.live.com/blog/cns!b9153878b5ef5882!1624.entry
http://dolf.cn/articles/knowledge-sharing-on-p2p-networks-and-implementation.html
http://hi.baidu.com/lifi007/blog/item/9c5e12cbe6105f1dbe09e68a.html
http://www.divmy.com/
本文來自博客園-陳國立:http://www.xubaihui.com 原文地址:http://www.cnblogs.com/cgli/archive/2012/05/11/2496027.html