題 BitTorrent客戶端是否有可能只向也在播種的leechers提供播種偏好?


我對協議/技術水平的BitTorrent不太熟悉。

客戶是否有可能 比較喜歡 播種(提供更多帶寬,或者只提供連接)給那些是誰的leechers  播種他們下載的任何部分? (例如,作為一種獎勵或僅提供給那些同時分享而不僅僅是吸吮的人的方式。)或者該協議使得不可能知道另一個用戶(一個leecher's)的播種活動。

我問,因為有時候當我刪除上傳上限和種子時,我的下載速度會快得多 - 是否有另一種現象解釋? - 我想像的事情?


4
2017-11-04 07:12


起源




答案:


是的,實際上這是大多數bittorrent客戶端的默認行為。最常用於此行為的術語是“公平”,大多數客戶不允許您打開和關閉它。


3
2017-11-04 14:55



+1 - 謝謝; “公平”這個詞讓我得到了正式答案(見我自己的答案)。 - Andrew Cheong


我接受了@ ScottChamberlain的回答,因為搜索“公平”一詞使我得到了另一套術語,“窒息”和“解開”,這反過來又讓我得到了一個明確的答案。 BitTorrent協議規範 (科恩,布拉姆。2012年10月20日。)

窒息有幾個原因。當一次發送多個連接時,TCP擁塞控製表現很差。此外,窒息讓每個同伴使用針鋒相對的算法來確保他們獲得一致的下載速率。

下面描述的阻塞算法是當前部署的算法。 [...]

目前部署的窒息算法通過僅改變每十秒鐘窒息一次的人來避免顫動。 它通過解除對其具有最佳下載速率並且感興趣的四個對等方來實現往復和上傳數量的限制。 擁有更高上傳率但不感興趣的同行不會被解僱,如果他們感興趣,最糟糕的上傳者會被窒息。如果下載程序具有完整文件,則使用其上載速率而不是其下載速率來決定取消掛載的權限。

那麼,新的leechers如何下載,因為他們沒有要上傳的作品? 樂觀的unchoking:

對於樂觀的unchoking,在任何時候都有一個單獨的對等體,無論其上傳速率如何都是未被阻塞的(如果感興趣的話,它將被視為四個允許的下載者中的一個。)哪個對等體樂觀地未被阻止每30秒旋轉一次。為了給他們一個很好的機會獲得一個完整的片段上傳,新的連接的開始時間是當前樂觀的unchoke的三倍,與旋轉中的其他任何地方一樣。

我找到了另一份標題為的文件 BitTorrent協議版本1.0 (Fonseca,J.,Reza,B。和Fjeldsted,L。2005年4月。)更詳細地描述了協議的這個方面(儘管基於舊版本的協議)。

本節描述了建議用於選擇與之交換片段的鄰居對等體的阻塞算法。 實現可以自由地實施任何策略 只要遵守6.1節中的指導原則。

[...]

所有連接都根據其為客戶端提供更好下載速率的能力進行定期評級。 評級可以考慮諸如遠程對等方在一定時間段內維持與客戶端的未連接連接的意願,遠程對等方向客戶端上傳速率以及其他實現定義的標準等因素。

[...]

上述算法中唯一缺少的元素是能夠確保新對等方有可能下載一個片段,即使它們在上述模式中評估不佳。一種簡單的方法是確保定期選擇隨機對等體,而不管它如何評估。由於這個過程以循環方式重複,因此它確保最終甚至新的同伴都有可能被解除。

該文件強烈建議該協議的早期版本沒有明確規定“公平”方案 - 僅“指南”(上文稱為“第6.1節”),其中包括:

該算法的構建目的不應該是為了減少與下載相比上傳的數據量。至少一個對等體應該上傳它下載的相同數量。

在處理剛剛加入群體的遠程對等體時,該算法不應使用嚴格的針鋒相對模式,因此無法提供任何部分。


8
2017-11-04 16:17





據我所知,種子不可能知道誰在分享他們下載的東西,所以種子通常上傳到隨機的leechers。

但是,當選擇上傳他們已經擁有的部分的人時,其他的leechers會優先考慮那些給予他們最多的部分,因此刪除上傳上限可能會使其在其他leechers的先前任務列表中排名更高,從而提高下載速度。


3
2017-11-04 07:37



+1 - 謝謝;你是對的;然而斯科特的答案包括一個幫助我找到官方規格的術語;對不起我只能接受一個答案。 - Andrew Cheong