內(nèi)蒙古商貿(mào)職業(yè)學(xué)院 李占平
P2P是英文peer-to-peer的縮寫,peer在英語里有“同等者”、“同事”和“伙伴”等意義。P2P可以理解為“伙伴對伙伴”的意思,或稱為對等互聯(lián)。國內(nèi)的媒體一般將P2P翻譯成“端對端”或者“點對點”。P2P是一種技術(shù),但更多的是一種思想,它有著改變整個互聯(lián)網(wǎng)基礎(chǔ)的潛能。它的核心思想是:上網(wǎng)用戶之間自由的、不受主服務(wù)器控制的信息交流。P2P使得網(wǎng)絡(luò)上的溝通變得容易、更直接共享和交互,真正地消除中間商。因此,P2P這種網(wǎng)絡(luò)應(yīng)用模式已經(jīng)深入人心,在Napster之后各種各樣的P2P軟件就層出不窮了:eMule,KaZaA(可多任務(wù)搜索:P2P軟件Kazaa新版發(fā)布),ezPeer,Shareaza,eDonkey,BT(BT軟件的前世今生全面窺視)等文件交換軟件;ICQ,QQ,MSN Messenger,Yahoo通等即時通信軟件還有以Skype(在線通話新選擇Skype軟件閃亮登場)為代表的語音通信軟件。
P2P計算并非一種全新的技術(shù)。雖然P2P這個術(shù)語是現(xiàn)在才發(fā)明的,但P2P本身的基本技術(shù)的存在時間卻至少和USENET、FidoNet這兩種非常成功的分布式對等網(wǎng)絡(luò)技術(shù)一樣長,甚至更長些。關(guān)鍵在于,在最初的P2P應(yīng)用出現(xiàn)時,許多使用該技術(shù)的人們甚至不會使用計算機(jī)。
USENET產(chǎn)生于1979年,是一種分布式系統(tǒng),能夠為各個地方提供新聞組。USENET最早的雛形由是兩名研究生Tom Truscott和Jim Ellis實現(xiàn)的。當(dāng)時并沒有任何類似于互聯(lián)網(wǎng)上“隨選”信息的概念,文件只能通過電話線批量傳送,且常常選在長途費用比較低的夜間進(jìn)行。因此,當(dāng)時的USENET若采用集中式的控制管理方法將效率低下,自然而然地就提出了一種分散、分布式的管理方法。
早期P2P應(yīng)用另一個杰出的代表則是FidoNet。它和USENET類似,也是一個分散、分布的信息交換系統(tǒng)。Tom Jennings于1984年創(chuàng)建了FidoNet系統(tǒng),來讓不同BBS系統(tǒng)中的用戶們互相交換信息。這種符合人們需要的技術(shù),迅速成長起來,并一直沿用到今天。
USENET和FidoNet都是值得探究的系統(tǒng),因為它們在多年前就遇到并解決了許多當(dāng)今P2P技術(shù)所面臨的同樣問題,同時也還存在著安全性以及其他一些問題。為了開發(fā)成功的P2P計算系統(tǒng),首先必須了解這些P2P技術(shù)的發(fā)展歷史。
其次的是,Napster,這個名字你一定要記住。就是它讓P2P回到了人們的視野之中,讓P2P回到了舞臺的中央。Napster是一個音樂共享軟件,開創(chuàng)性地在互聯(lián)網(wǎng)上推出了音樂交換服務(wù)。利用它,用戶可以搜索、下載彼此計算機(jī)里存儲的MP3文件。由于這種方式免費而且方便,所以在短短的時間內(nèi)Napster就產(chǎn)生了巨大的影響力。但免費下載歌曲觸犯了版權(quán)法,所以也是在短短的時間內(nèi)Napster就被告上了法庭。
早期的計算機(jī)使用的是眾多用戶共享大型計算機(jī),后來個人計算機(jī)得以發(fā)展,使得應(yīng)用模式從集中走向了分布模式。在互聯(lián)網(wǎng)上也存在著類似的情況,起先采用客戶機(jī)(瀏覽器)-服務(wù)器方式,用戶使用網(wǎng)站上集中的服務(wù)器,進(jìn)一步將逐步發(fā)展為走向分布式,集中的服務(wù)器變成分布的,即每一個用戶終端一個結(jié)點。結(jié)點既是客戶機(jī)又是服務(wù)器,這就是P2P對等連接模式。
在P2P模式中,每一個結(jié)點可以存儲內(nèi)容,也擁有計算力。通過在互聯(lián)網(wǎng)上對等連接這些結(jié)點,用戶可以共享內(nèi)容和計算力。以共享下載文件為例,在下載同一個文件的眾多用戶中,每一個用戶終端只需要下載文件的一個片段,然后互相交換,最終每個用戶都得到完整的文件,即實現(xiàn)了共享內(nèi)容。網(wǎng)格就是一個共享計算力的例子。
實現(xiàn)P2P的第一步是在互聯(lián)網(wǎng)上進(jìn)行檢索,找到擁有所需內(nèi)容和計算力的結(jié)點的地址,第二步是通過互聯(lián)網(wǎng)實現(xiàn)對等連接。為了充分發(fā)揮互聯(lián)網(wǎng)無所不在的優(yōu)勢,P2P不能對互聯(lián)網(wǎng)協(xié)議進(jìn)行任何修改,因而解決的方法是在基礎(chǔ)的互聯(lián)網(wǎng)上架設(shè)一個P2P重疊網(wǎng)。
JXTA是為了構(gòu)建P2P網(wǎng)絡(luò)而制訂的一組協(xié)議,是處理構(gòu)建P2P網(wǎng)絡(luò)所碰到的問題的解決方法。JXTA致力于為P2P應(yīng)用提供一個P2P平臺基礎(chǔ)。其中包括一系列獨立于語言,平臺和網(wǎng)絡(luò)技術(shù)之外的協(xié)議(假設(shè)并不知道網(wǎng)絡(luò)的下層實現(xiàn))。這些協(xié)議解決了P2P應(yīng)用的基本需求。協(xié)議的設(shè)計目標(biāo)是簡單并且低成本,引用JXTA目標(biāo)聲明的話就是“每一個設(shè)備都有一個數(shù)字心跳”(every device with a digital heartbeat)。
JXTA將會成為P2P應(yīng)用的地層開發(fā)平臺。現(xiàn)在的JXTA還處在初級階段,未來它會逐漸成熟提供一個強(qiáng)壯的,可靠的框架給P2P計算。由于Java是構(gòu)建異構(gòu)環(huán)境下應(yīng)用的首選所以它也是建立P2P應(yīng)用的自然選擇。我希望這篇文章能夠帶給您啟發(fā),幫助您開始探索JXTA和P2P世界。
(1)Peer Discovery Protocol(PDP)對等點發(fā)現(xiàn)協(xié)議
Peer使用這個協(xié)議來發(fā)現(xiàn)被發(fā)布出來的Jxta資源。由于廣告就是代表著發(fā)布的資源,所以PDP的主要工作就是幫助peer來其它peer的廣告。作為最低級別的發(fā)現(xiàn)協(xié)議,PDP提供發(fā)現(xiàn)的最基本機(jī)制。應(yīng)用程序可以選擇使用其它更高級別的發(fā)現(xiàn)機(jī)制。PDP可以作為低基本的協(xié)議為其它高級別協(xié)議提供服務(wù)。
(2)Peer Resolver Protocol(PRP)對等點解析協(xié)議
在通常情況下,peer向其它peer發(fā)送查詢消息來定位服務(wù)或者內(nèi)容。Peer Resolver Protocol會將查詢的格式標(biāo)準(zhǔn)化。使用這個協(xié)議,peer可以發(fā)送通用的查詢并接收回復(fù)。
(3)Peer Information Protocol(PIP)對等點信息協(xié)議
PIP可以被用來在Jxta環(huán)境中對一個peer發(fā)出ping消息。當(dāng)一個peer接收到一個peer消息的時候可以有幾種選擇:可以選給出一個簡單的回復(fù),回復(fù)當(dāng)中僅包含peer的運(yùn)行時間。Peer也可以選擇發(fā)送一個完全的回復(fù),當(dāng)中包含它自身的廣告信息?;蛘咚部梢赃x擇忽略這個ping消息。
(4)Peer Membership Protocol(PMP)對等點成員協(xié)議
對等點使用對等點成員協(xié)議來加入和離開peer group。
(5)Pipe Binding Protocol(PBP)管道綁定協(xié)議
在Jxta環(huán)境當(dāng)中,peer使用管道來連接服務(wù)。一個peer可以動態(tài)的將綁定pipe的一端連接服務(wù)。Peer可以新建pipe,把它綁定到現(xiàn)存的pipe上,或是取消對pipe的綁定。在這些情況下,peer使用管道綁定協(xié)議。
(6)Endpoint Routing Protocol(ERP)終點路由協(xié)議
這個協(xié)議幫助peer將消息路由至目的地。ERP幫助peer路由器查詢其它peer路由器用于傳遞消息的有效路由。
從編寫P2P應(yīng)用程序的角度而言,可以簡單地劃分上述協(xié)議的主要用途:
● Peer Discovery——搜索資源
● Peer Resolver——一般查詢服務(wù)
● Peer Information——監(jiān)控
● Pipe Binding——可尋址的消息傳遞
● Rendezvous——消息傳播
● PeerEndpoint——路由
帶寬和計算能力繼續(xù)增長,P2P平臺能利用這些能力去完成人們感興趣的應(yīng)用,結(jié)構(gòu)將更自治可擴(kuò)展,提供更多的資源,展開更多的應(yīng)用。
但是,也存在3個方面的問題:
(1)版權(quán)問題
如果人們大肆在網(wǎng)上利用P2P的文件交換功能的話,的確給個人帶來了很多的便利,需要什么軟件或者文件都可以直接用P2P軟件索取,但是由此帶來的版權(quán)問題的確非常令人頭痛。例如文件交換的先驅(qū)Napster很長時間都是官司纏身,因為Napster專門用作在網(wǎng)上交流傳遞MP3,可是歌曲都是有版權(quán)的,這樣的任意流通對唱片商和媒體公司造成非常大的損失。所以在網(wǎng)上運(yùn)用P2P功能的話,一定要注意不能侵犯別人的版權(quán)。
(2)管理問題
因為P2P崇尚自由,每一個peer都是獨立的,既可以充當(dāng)原來客戶的角色,又可以充當(dāng)服務(wù)器的角色,所以沒有人知道對方有些什么內(nèi)容。在網(wǎng)上這個自由空間里,用戶雖然可以充分享受自由,但是不能排除有些人利用這一點傳播不健康的或者是反社會的東西。而且,許多P2P公司原本是想通過P2P網(wǎng)絡(luò)進(jìn)行電子商務(wù)的,但是付費問題、流量計算、商品價值的驗證等等都是現(xiàn)實難以解決的困難。
(3)垃圾信息充斥P2P網(wǎng)絡(luò)
但P2P網(wǎng)絡(luò)用戶眾多,而且在P2P網(wǎng)絡(luò)上的搜索引擎可以查找到更多的匹配的目標(biāo),所以如果用戶在其上進(jìn)行查找的話,可以想象,會出現(xiàn)非常多的結(jié)果,但是其中卻又有一小部分是有用的,其他的就是垃圾信息。這樣,用戶實際上還要在這些垃圾中再尋找自己想要的東西,效率并沒有提高多少,因此,必須設(shè)計更好的算法,再配合以人工智能等技術(shù)解決這個問題。
但P2P網(wǎng)絡(luò)畢竟是個新生的事務(wù),所以在很長一段時間內(nèi),必定都有很多的問題等待解決,相信P2P網(wǎng)絡(luò)一定逐漸健壯起來。
近年來,互聯(lián)網(wǎng)上的對等連接(P2P)應(yīng)用發(fā)展迅速,MP3和視頻文件共享下載所引起的P2P流已經(jīng)成為寬帶用戶流量的主體。基于P2P的即時通信和互聯(lián)網(wǎng)電話發(fā)展迅速,對等廣播正在興起,P2P協(xié)同計算和網(wǎng)格也正方興未艾。網(wǎng)絡(luò)通信的對象正在從人—人、人—機(jī)發(fā)展到機(jī)—機(jī),從家庭網(wǎng)絡(luò)和傳感器/執(zhí)行器網(wǎng)絡(luò)發(fā)展到軍事網(wǎng)絡(luò)中心戰(zhàn)的全球信息網(wǎng)格(GIG)。但NGN是從以人—人為主的傳統(tǒng)通信模式、體驗和需求演化來的,不能有效地支持這種概括起來可以稱之為無所不在的互聯(lián)網(wǎng)的新應(yīng)用模式。
目前,中國實施的中國下一代互聯(lián)網(wǎng)(CNGI)計劃大規(guī)模布設(shè)了IPv6骨干網(wǎng),這為發(fā)展P2P應(yīng)用、建立誠信安全具有分布管理能力的網(wǎng)絡(luò)環(huán)境提供了機(jī)會。一方面,在CNGI的IPv6網(wǎng)上一開始就可以實行實名制建立網(wǎng)絡(luò)新秩序;另外一方面,在CNGI上以無縫和持續(xù)演進(jìn)的方式建立智能結(jié)點重疊網(wǎng),以支持P2P應(yīng)用并且提供分布式管理。
P2P在技術(shù)層面上并非高深莫測,但正是這個看似簡單的技術(shù)卻蘊(yùn)藏著無窮的創(chuàng)造力。一項新技術(shù)的誕生往往伴隨著一股經(jīng)濟(jì)浪潮的涌動。P2P的誕生,使得不少IT企業(yè)都把目光投向了P2P,希望能利用它發(fā)揮最大的用途,搶占該市場的首席地位。
目前,全球各種與P2P有關(guān)的研究項目層出不窮,應(yīng)用熱潮也一浪高過一浪。而且人們對P2P寄予厚望的原因,正是P2P身后所蘊(yùn)藏著的無比的創(chuàng)造力,只有P2P才是自由的網(wǎng)絡(luò)世界最好的搭配。雖然就技術(shù)而言,P2P想在各個層面大規(guī)模應(yīng)用起來還需要克服解決上述種種問題,但是在可以預(yù)見的未來,隨著對P2P研究的進(jìn)一步深入和關(guān)注P2P的企業(yè)逐漸增多,P2P必將消除障礙,進(jìn)入一個飛速發(fā)展的新時期。
[1]張雪梅,方敏.網(wǎng)絡(luò)環(huán)境下的文獻(xiàn)信息資源共享[J].淮陰工學(xué)院學(xué)報,2011(1).
[2]邵金俠,劉延申,王維虎.對等網(wǎng)絡(luò)結(jié)構(gòu)及其資源定位技術(shù)研究[J].中國水運(yùn)(學(xué)術(shù)版),2010(5).
[3]張阿敏,劉強(qiáng).P2P網(wǎng)絡(luò)模型探究[J].株洲工學(xué)院學(xué)報,2010(6).
[4]郭晨霞.網(wǎng)絡(luò)環(huán)境下圖書館文獻(xiàn)信息資源共享[J].內(nèi)蒙古科技與經(jīng)濟(jì),2011(9).
[5]徐永麗,李秀英.資源共享:圖書館發(fā)展的必由之路[J].內(nèi)蒙古科技與經(jīng)濟(jì),2011(21).
[6]李建東,李勃,宋艷芳.基于P2P技術(shù)的分布式數(shù)據(jù)庫系統(tǒng)的研究[J].沈陽理工大學(xué)學(xué)報,2009(5).
[7]毛薇,姚青,李濤.P2P系統(tǒng)發(fā)現(xiàn)技術(shù)的研究與實現(xiàn)[J].武漢理工大學(xué)學(xué)報(交通科學(xué)與工程版),2010(06).
[8]李英壯,王守彥,張建華.基于非結(jié)構(gòu)化P2P網(wǎng)絡(luò)資源檢索的自組織研究[J].大連理工大學(xué)學(xué)報,2009(S1).