P2P技術(shù)在互聯(lián)網(wǎng)中的應(yīng)用和分析
P2P (Peer—to—Peer)又稱為對等網(wǎng),是近幾年非常流行的一種網(wǎng)絡(luò)技術(shù),和傳統(tǒng)的客戶機/服務(wù)器模式不同,P2P技術(shù)依賴網(wǎng)絡(luò)中所有參與者的處理能力和信息共享,它改變了人們部署網(wǎng)絡(luò)硬件資源的方式,為網(wǎng)絡(luò)的發(fā)展提供了一種新的思路。P2P技術(shù)具有良好的擴展性和健壯性,性價比較高,P2P網(wǎng)絡(luò)是建立的基礎(chǔ)是IP網(wǎng)絡(luò),網(wǎng)絡(luò)中所有安裝特定軟件的客戶端構(gòu)成一個邏輯P2P網(wǎng)絡(luò),網(wǎng)絡(luò)中的資源和應(yīng)用分布在所有客戶端上,各用戶之間的數(shù)據(jù)傳輸無需服務(wù)器的介入就能夠直接通信,通過這樣的方式,大量的客戶資源能夠充分得到利用,降低硬件成本和,簡化了復(fù)雜性。
P2P網(wǎng)絡(luò)的結(jié)構(gòu)主要有三種模式:中央式P2P網(wǎng)絡(luò)、無中心結(jié)構(gòu)P2P網(wǎng)絡(luò)和混合式P2P網(wǎng)絡(luò)。
2.1 中央式P2P
中央式P2P網(wǎng)絡(luò)在硬件部署上有一個中心服務(wù)器,主要負責維護共享資源信息以及對客戶端查詢信息作出回應(yīng)。根據(jù)中心服務(wù)器提供的功能,又可分為以下三類:
服務(wù)器提供資源的發(fā)現(xiàn),查詢和存儲。這種模式與傳統(tǒng)的C/S模型中一樣,所有資源都存放在服務(wù)器上,客戶端從服務(wù)器上獲取信息,但客戶端之間并不具有信息交換能力。服務(wù)器提供發(fā)現(xiàn)和查詢。在這種結(jié)構(gòu)中,客戶端存儲共享資源信息,服務(wù)器則提供索引信息,服務(wù)器與客戶端、客戶端與客戶端都可以進行數(shù)據(jù)信息交互。服務(wù)器僅提供發(fā)現(xiàn)功能。在這種方式下,服務(wù)器僅提供在客戶端的列表信息,客戶端彼此之間建立連接和通信。如果某個用戶需要獲取某個資料文件,會根據(jù)服務(wù)器提供的列表清單,依次查詢所有的客戶端,直到找到所需的資源,如果沒有找到,則返回錯誤信息。
2.2 無中心控制P2P網(wǎng)絡(luò)
無中心控制P2P網(wǎng)絡(luò)又稱為分布式P2P網(wǎng)絡(luò)。在中央式結(jié)構(gòu)模式的P2P模式下,網(wǎng)絡(luò)的穩(wěn)定性主要取決于中心服務(wù)器的性能,一旦中心服務(wù)器出現(xiàn)故障,可能導(dǎo)致整個網(wǎng)絡(luò)性能急劇下降。而無中心控制P2P網(wǎng)絡(luò)不需要中心服務(wù)器,每一個Peer地位是完全平等的。無中心控制的P2P網(wǎng)絡(luò)又可以分為兩類:f11非結(jié)構(gòu)化網(wǎng)絡(luò)。這種方式可以克服對服務(wù)器的依賴,配置較為簡單。但由于拓撲不確定,無法保證查找的準確性從而漏掉網(wǎng)絡(luò)中的某些資源。(2)結(jié)構(gòu)化的P2P網(wǎng)絡(luò)。這種方式利用高度結(jié)構(gòu)化實現(xiàn)信息進行資源查詢。比較典型的有Bloom Filter以及其改進算法、分布式哈希表DHT算法。
2.3 混合式P2P模式
混合式P2P網(wǎng)絡(luò)結(jié)合了上述兩種方式的優(yōu)點,避免了中心服務(wù)器可能帶來的影響,同時保留了中心服務(wù)器的優(yōu)勢,在網(wǎng)絡(luò)控制和處理能力上都更有優(yōu)勢。在這種結(jié)構(gòu)下,節(jié)點被劃分為用戶節(jié)點、搜索節(jié)點和索引節(jié)點,突破了純P2P方式的限制,對環(huán)境條件的高度適應(yīng)性更高,也很好的解決了動態(tài)和異構(gòu)P2P網(wǎng)絡(luò)應(yīng)用中出現(xiàn)的不兼容問題。但這種模式增加了復(fù)雜性。
目前,P2P網(wǎng)絡(luò)技術(shù)主要服務(wù)于文件資源共享、視頻直播、分布式計算、信息檢索等網(wǎng)絡(luò)應(yīng)用中。
3.1 文件資源共享
在校園網(wǎng)或企業(yè)內(nèi)部網(wǎng)中,通過P2P技術(shù)可以使兩臺計算機不需要服務(wù)器,直接共享文本、音樂或視頻多媒體等文件資源。而在傳統(tǒng)方式中,實現(xiàn)文件交換必須將文件上傳到特定文件服務(wù)器,流媒體服務(wù)器上面,用戶登陸該服務(wù)器后再進行下載,這種方式會造成服務(wù)器壓力過大,甚至某些用戶不能下載。在P2P網(wǎng)絡(luò)中,用戶通過多種查詢機制,搜尋網(wǎng)絡(luò)中擁有所需資源的其他客戶端,然后直接建立連接并進行下載。
3.2 分布式計算
英特爾公司把P2P計算定義為“通過系統(tǒng)間的直接交換所達成的計算機資源與信息的共享”,是屬于分布式計算的一種方式,它允許用戶使用網(wǎng)絡(luò)集中的處理能力,幫助相關(guān)組織處理非常艱巨和龐大且復(fù)雜的繁重計算工作,這一點與網(wǎng)格計算和云計算機機制類似,例如將密碼破解任務(wù)分配到到成千上萬個人計算機,用來計算密鑰和破譯位數(shù)很長的密碼。
3.3 流媒體直播與點播
由于P2P的工作原理及其傳輸特性,研究者發(fā)現(xiàn)除了文件資源共享之外,P2P技術(shù)也非常適合流媒體應(yīng)用。根據(jù)對數(shù)據(jù)存儲和共享方式的不同,P2P流媒體技術(shù)可分為視頻直播和視頻點播兩種。在視頻直播方式中,用戶一邊下載流媒體數(shù)據(jù),一邊將數(shù)據(jù)直接緩沖到內(nèi)存進行播放,下載的流媒體數(shù)據(jù)并不保存在硬盤上,也就是說,共享資源是在內(nèi)存中。而在視頻點播方式下,首先使用某種調(diào)度算法將流媒體文件下載到客戶機的硬盤上進行存放,在文件下載完畢后進行播放。相比傳統(tǒng)的流媒體系統(tǒng),P2P技術(shù)在可以使充分利用網(wǎng)絡(luò)的信道和帶寬,降低成本,同時可以獲得清晰的影響畫面,提高用戶的觀看體驗。
P2P技術(shù)的發(fā)展不斷地改變著人們的生活,目前雖然P2P應(yīng)用已較為成熟,但仍然有許多需要解決的問題。例如怎樣在技術(shù)上支持合法文件的分發(fā),如何在P2P網(wǎng)絡(luò)中進行數(shù)據(jù)安全存取、用戶身份認證和身份管理都需要進一步研究,此外如何控制P2P應(yīng)用帶來的龐大流量對網(wǎng)絡(luò)本身的影響,同時利用P2P技術(shù)提高網(wǎng)絡(luò)性能值得技術(shù)人員進一步進行探索和研究