應用層:P2P文件分發

學習原則: 無實踐不學習理論。 P2P文件分發根本沒見過,就先不學。

概念介紹
對等方:成對間歇連接的主機

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

追蹤器(tracker):每個洪流具有一個基礎設施結點

鄰近對等方:成功創建一個TCP連接的對等方

P2P體系結構的拓展性
客戶端-服務器體系結構與P2P體系結構比較,得出如下結論:

客戶端-服務器體系下,分發時間隨着對等方數量線性增加
P2P體系下,分發時間呈線性增長而趨向一個常數,若F表示分發的文件比特數量,u表示所有對等方具有的相同上傳速率,則這個常數爲F/u。
最爲流行的P2P協議是BitTorrent,迅雷的種子下載就屬此列。

BitTorrent
當一個對等方加入某洪流時,它向追蹤器註冊自己,並週期性地通知追蹤器它仍在該洪流中。

工作過程
假設有一個新的對等方Alice加入一個洪流

追蹤器隨機地從參與對等方的集合中選擇對等方的一個子集(比如50個)並將這50個對等方的IP地址發送給Alice,Alice擁有了一個IP地址的列表
Alice與列表上的所有對等方創建TCP連接,成爲鄰近對等方
Alice週期性的詢問每個鄰近對等方他們所具有的塊列表。
對當前自身沒有的塊信息,Alice發送請求獲取(最稀缺的塊,優先級最高請求)
向哪些向她請求的塊的鄰居發送鄰居沒有的而自己有的塊信息。如何決定響應哪個鄰居的請求?BitTorrent使用了一種對換算法。
該對換算法的基本思想是Alice根據當前能夠以最高速率向她提供數據的鄰居,給出其優先權。

操作過程如下:

Alice對於她的每個鄰居持續的測試接收到比特的速率,並確定以最高速率流入的4個鄰居
每過10秒,她重新計算該速率並可能修改這4個對等方的集合
每隔30秒,Alice要隨機選擇另外一個鄰居並向其發送塊,也即Alie隨機選擇一名新的對換伴侶。
這種效果是對等方能夠趨於找到彼此的協調的速率上載。隨機選擇鄰居也允許新的對等方得到塊,因此他們能夠具有對換的東西,除了上訴5個對等方,其它對等方均被阻塞。
————————————————
版權聲明:本文爲CSDN博主「sugaryaruan」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/sugaryaruan/article/details/51824249

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章