追蹤器(tracker)
發布時間:2014/10/30 19:12:44 訪問次數:1695
BT的協議相當復雜[W-BT]。下面討論其基本機制。
每一個洪流都有一個基礎設施結點,LNK364DN叫做追蹤器(tracker)。當一個對等方加入洪流時,必須向追蹤器登記,并周期性地通知追蹤器它仍在洪流中。追蹤器因而就跟蹤了洪流中的對等方。一個洪流中可以擁有數百或數千個對等方。
我們用圖10-19來進一步說明BT的工作原理。當一個新的對等方A加入洪流時,追蹤器就隨機地從參與的對等方集合中選擇一些對等方(例如,30個),并將這些對等方的1P地址告訴A。于是A就和這些對等方建立了TCP連接。我們稱所有與A建立了TCP連接
的對等方為“相鄰對等方”(neighboring peers)。在圖10-19中我們畫出了三個相鄰對等方(實際上會有很多的)。這些相鄰對等萬的數目是動態變化的,有的離開了,有的又是新加入的。
在任何時刻,每一個對等方可能只擁有某文件的文件塊的一個子集,而不同的對等方所擁有的文件塊子集也不會完全相同。對等方A將通過TCP連接周期性地向其相鄰對等方索取它們擁有的文件塊列表。根據收到的文件塊列表,A就知道了應當請求哪一個相鄰對等方把哪些自己缺少的文件塊發送給自己。
然而A必須做出兩個重要決定:一是哪些文件塊是首先需要向其相鄰對等方請求的?另一個是,在很多向A請求文件塊的相鄰對等方中,A應當向哪些相鄰對等方發送所請求的文件塊?
對于第一個問題,A要使用叫做最稀罕的優先(rarest first)的技術。我們知道,凡是A所缺少的而正好相鄰對等方已擁有的文件塊,都應當去索取。可能其中的某些文件塊,很多相鄰對等方都有(即文件塊的副本很多),這就是“不稀罕的”文件塊,以后可慢慢請求。如果A所缺少的文件塊在相鄰對等方中的副本很少,那就是“很稀罕的”。因此,A首先應當請求副本最少的文件塊(即最稀罕的)。否則,j旦擁有最稀罕文件塊的對等方退出了洪流,就會影響A對所缺文件塊的收集。
對于第二個問題,BT采用了一種更加機靈的算法,其基本思想就是:凡當前以最高數據率向A傳送文件塊的相鄰對等方,A就優先把所請隸的文件塊傳送給這些相鄰對等方。具體來說,A持續地測量從其相鄰對等方接收數據的速率,并確定速率最高的4個鄰近對等方。接著,A就把文件塊發送給這4個鄰近對等方。每隔10秒鐘,A還要重新計算數據率,然后可能修改這4個對等方。在BT的術語中,這4個對等方叫做無障礙的(unchoked)對等方。更重要的是,每隔30秒,A要隨機地找一個另外的相鄰對等方B,并向其發送文件塊。這樣,A有可能成為B的前4位上傳文件塊的提供者。在此情況下,B也有可能向A發送文件塊。如果B發送文件塊的速率足夠快,那么B也有可能進入A的前4位上傳文件塊的提供者。這樣做的結果是,這些對等方相互之間都能夠以令人滿意的速率交換文件塊。
BT的協議相當復雜[W-BT]。下面討論其基本機制。
每一個洪流都有一個基礎設施結點,LNK364DN叫做追蹤器(tracker)。當一個對等方加入洪流時,必須向追蹤器登記,并周期性地通知追蹤器它仍在洪流中。追蹤器因而就跟蹤了洪流中的對等方。一個洪流中可以擁有數百或數千個對等方。
我們用圖10-19來進一步說明BT的工作原理。當一個新的對等方A加入洪流時,追蹤器就隨機地從參與的對等方集合中選擇一些對等方(例如,30個),并將這些對等方的1P地址告訴A。于是A就和這些對等方建立了TCP連接。我們稱所有與A建立了TCP連接
的對等方為“相鄰對等方”(neighboring peers)。在圖10-19中我們畫出了三個相鄰對等方(實際上會有很多的)。這些相鄰對等萬的數目是動態變化的,有的離開了,有的又是新加入的。
在任何時刻,每一個對等方可能只擁有某文件的文件塊的一個子集,而不同的對等方所擁有的文件塊子集也不會完全相同。對等方A將通過TCP連接周期性地向其相鄰對等方索取它們擁有的文件塊列表。根據收到的文件塊列表,A就知道了應當請求哪一個相鄰對等方把哪些自己缺少的文件塊發送給自己。
然而A必須做出兩個重要決定:一是哪些文件塊是首先需要向其相鄰對等方請求的?另一個是,在很多向A請求文件塊的相鄰對等方中,A應當向哪些相鄰對等方發送所請求的文件塊?
對于第一個問題,A要使用叫做最稀罕的優先(rarest first)的技術。我們知道,凡是A所缺少的而正好相鄰對等方已擁有的文件塊,都應當去索取。可能其中的某些文件塊,很多相鄰對等方都有(即文件塊的副本很多),這就是“不稀罕的”文件塊,以后可慢慢請求。如果A所缺少的文件塊在相鄰對等方中的副本很少,那就是“很稀罕的”。因此,A首先應當請求副本最少的文件塊(即最稀罕的)。否則,j旦擁有最稀罕文件塊的對等方退出了洪流,就會影響A對所缺文件塊的收集。
對于第二個問題,BT采用了一種更加機靈的算法,其基本思想就是:凡當前以最高數據率向A傳送文件塊的相鄰對等方,A就優先把所請隸的文件塊傳送給這些相鄰對等方。具體來說,A持續地測量從其相鄰對等方接收數據的速率,并確定速率最高的4個鄰近對等方。接著,A就把文件塊發送給這4個鄰近對等方。每隔10秒鐘,A還要重新計算數據率,然后可能修改這4個對等方。在BT的術語中,這4個對等方叫做無障礙的(unchoked)對等方。更重要的是,每隔30秒,A要隨機地找一個另外的相鄰對等方B,并向其發送文件塊。這樣,A有可能成為B的前4位上傳文件塊的提供者。在此情況下,B也有可能向A發送文件塊。如果B發送文件塊的速率足夠快,那么B也有可能進入A的前4位上傳文件塊的提供者。這樣做的結果是,這些對等方相互之間都能夠以令人滿意的速率交換文件塊。
上一篇:eMule使用了專門定義的文件夾
上一篇:P2P文件分發的分析