P2P文件分發(fā)

P2P文件分發(fā)

概念介紹

對等方:成對間歇連接的主機

鄰近對等方:成功創(chuàng)建一個TCP連接的對等方

洪流(torrent):參與一個特定文件分發(fā)的所有對等方的集合

追蹤器(tracker):每個洪流具有一個基礎(chǔ)設(shè)施結(jié)點

P2P體系結(jié)構(gòu)的拓展性

客戶端-服務(wù)器體系結(jié)構(gòu)與P2P體系結(jié)構(gòu)比較,得出如下結(jié)論:

  1. 客戶端-服務(wù)器體系下,分發(fā)時間隨著對等方數(shù)量線性增加
  2. P2P體系下,分發(fā)時間呈線性增長而趨向一個常數(shù),若F表示分發(fā)的文件比特數(shù)量,u表示所有對等方具有的相同上傳速率,則這個常數(shù)為F/u。

最為流行的P2P協(xié)議是BitTorrent,迅雷的種子下載就屬此列。

BitTorrent

當(dāng)一個對等方加入某洪流時,它向追蹤器注冊自己,并周期性地通知追蹤器它仍在該洪流中。

工作過程

假設(shè)有一個新的對等方Alice加入一個洪流

  1. 追蹤器隨機地從參與對等方的集合中選擇對等方的一個子集(比如50個)并將這50個對等方的IP地址發(fā)送給Alice,Alice擁有了一個IP地址的列表
  2. Alice與列表上的所有對等方創(chuàng)建TCP連接,成為鄰近對等方
  3. Alice周期性的詢問每個鄰近對等方他們所具有的塊列表。
  4. 對當(dāng)前自身沒有的塊信息,Alice發(fā)送請求獲?。ㄗ钕∪钡膲K,優(yōu)先級最高請求)
  5. 向哪些向她請求的塊的鄰居發(fā)送鄰居沒有的而自己有的塊信息。如何決定響應(yīng)哪個鄰居的請求?BitTorrent使用了一種對換算法。

該對換算法的基本思想是Alice根據(jù)當(dāng)前能夠以最高速率向她提供數(shù)據(jù)的鄰居,給出其優(yōu)先權(quán)。

操作過程如下:

  1. Alice對于她的每個鄰居持續(xù)的測試接收到比特的速率,并確定以最高速率流入的4個鄰居
  2. 每過10秒,她重新計算該速率并可能修改這4個對等方的集合
  3. 每隔30秒,Alice要隨機選擇另外一個鄰居并向其發(fā)送塊,也即Alie隨機選擇一名新的對換伴侶。

這種效果是對等方能夠趨于找到彼此的協(xié)調(diào)的速率上載。隨機選擇鄰居也允許新的對等方得到塊,因此他們能夠具有對換的東西,除了上訴5個對等方,其它對等方均被阻塞。


參考文獻

計算機網(wǎng)絡(luò) 自頂向下方法 James F.Kurose & Keith W.Rose

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容