[計算機網絡-應用層] P2P應用


首先我們要先來區分一下下面的幾種體系結構:

CS:Client/Server  客戶-服務器結構
BS:Browser/Server  瀏覽器-服務器結構 
P2P:Peer to Peer  對等結構

BS其實是CS方式的一種特例,所以也應算在CS中。 
CS:主機A如果運行客戶端程序,而主機B運行服務端程序,客戶A向服務端B發送請求服務,服務器B向客戶A提供服務,這種情況下,就是以CS的方式進行通信。我們所指的客戶和服務器都是指通信中涉及的兩個應用進程,而不是具體的主機。 

P2P:以對等方式進行通信,並不區分客戶端和服務端,而是平等關系進行通信。在對等方式下,可以把每個相連的主機當成既是主機又是客戶,可以互相下載對方的共享文件。比如迅雷下載就是典型的P2P通信方式。 

BS和CS通信的實質相同,都是客戶端向服務器端發送請求,服務端接收並處理。但是BS相對於CS來說更方便,對電腦配置要求更低,並且易於維護,安全性在某種意義上要好些,CS中容易被反匯編,但是CS對於那種復雜的業務處理要更容易一些。

P2P的特點:

·資源共享

·資源分布

·各結點既是資源的提供者又是資源的使用者

下面是三種特別適合用P2P設計的應用程序:

(1)文件分發 (2)對等方社區中組織並搜索信息 (3)Skype,一種相當成功的P2P因特網電話應用(暫不詳細說明)

1.P2P文件分發

在P2P文件分發中,每個對等方都能夠重新分發其所有的該文件的任何部分,從而協助服務器進行分發。

·P2P體系結構的自擴展性

對足夠大的N(對等方的數量):

客戶機/服務器體系結構的分發時間隨着對等方的數量N線性增加並且沒有界。

P2P體系結構,其最小分發時間曲線與log2N曲線類似,因此最小分發時間遠小於客戶機/服務器體系結構的分發時間。其自擴展性很強。

·BitTorrent

BitTorrent是一種用於文件分發的流行P2P協議。

2.在P2P區域中搜索信息

·集中式索引(初始“Napster”的設計)----P2P和CS的混合體

如下圖所示:

(1)初始時,所有的對等方要將自身的IP和可共享的文件名稱通知集中式索引服務器,該索引服務器從每個活動的對等方那里收集這些信息,從而建立起一個動態索引,將每個文件拷貝映射到一個IP地址集合。

(2)當Alice需要下載一些文件時會將查詢內容發送給索引服務器,服務器將查詢結果返回給Alice(Bob的IP地址)。

(3)Alice根據收到的信息,從Bob處下載資源。

缺點:

·單點故障。·性能瓶頸和基礎設施費用。·侵犯版權。 

·查詢洪泛(建立在“Gnutella”協議基礎上)

查詢洪泛采用完全分布式方法。在查詢洪泛中,索引全面地分布在對等方的區域中。每個對等方索引可供共享的文件而不索引其他文件。

其擴展性差,尤其是為了防止某個對等方發起查詢,該查詢就會傳播到整個覆蓋網絡的每個其他對等方,從而產生大量流量。為解決這個問題,設計者使用了受限查詢洪泛,即限制其傳播的最大跳數。

·層次覆蓋(由FastTrack首創,Kazza和Morpheus也實現了這種文件共享協議)

該方法結合了上述兩種方法的優秀特征,與洪泛查詢類似,層次覆蓋設計不使用專用的服務器(或服務器場)來跟蹤和索引文件。然而,與洪泛查詢不同的是,在層次覆蓋的設計中並非所有對等方都是平等的。

如下圖所示,如果某對等方不是超級對等方,則它就是一個普通對等方,並被指派為一個超級對等方的子對等方。

超級對等方維持着一個索引,該索引包括子對等方正在共享的所有文件的標識符、有關文件的元數據和相應子對等方的IP地址,但與前面的集中式索引不同,這里的超級對等方並不是一台專用服務器,而是普通對等方。超級對等方之間可以相互建立TCP連接,從而形成一個覆蓋網絡。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM