結束本系列關於 BitTorrent 協議的文章 我們將研究支配他們行為的規則。 下面我將列出一些可用於 Linux 的客戶端。
關於 BitTorrent 協議及其工作原理
選擇文件的部分
我們曾在 前面的文章 當seeder第一次上傳一個文件時,它會被分成幾個部分,分佈在不同的leechers之間,以確保完整的文件總是可用的。 如果缺少某個部分,則整個 swarm 的下載都會失敗。 磷為此,實施了一種選擇算法,該算法將確定每個時刻將下載哪個。
有不同的選擇:
- 隨機選擇:任何可用的部件都分配給您,以便您可以開始共享它
- 最少共享部分:首先分配迄今為止最少共享的部分。 這通常在原始文件不再可用時完成。
- 嚴格政策:我從英文直譯。 當這些部分依次被分成更小的部分時,首先下載的子部分將導致相關子部分被下載重建並使其可用於群的其餘部分。
- Endgame 模式:當文件幾乎完全下載時適用。 為防止下載時間由於最後部分只能從低帶寬源獲得而不必要地延長,特別允許請求群的所有成員。
互惠機制
一種互惠機制用於實現一致的加載速度。 這意味著對等點將對它們所連接的對等點執行的操作做出反應。 在連接期間,每個對等點將與其他四個對等點共享其文件部分。 選擇是基於它們與所述對共享的下載速度進行的。 這些下載速率是根據 20 秒的連續平均值計算的,客戶每 10 秒重新計算一次。
但是,會出現以下異常:
- 無論下載速度如何,它每 30 秒就會連接到一個額外的對,以找到可能比當前連接更好的未使用連接。 這通常是尚未開始共享的新連接的 leechers 的情況。
- 當一個對等點沒有從它所連接的對等點收到任何東西時,它會嘗試建立一個以上的連接,如上一點所述。
- 如果 leecher 已經下載了它的整個文件,成為了一個播種者,它會優先考慮那些沒有人與之共享文件的同行。
適用於 Linux 的 BitTorrent 客戶端
與 ED2K 和 Kademlia 網絡不同的是,BitTorrent 網絡有多個客戶端可以在 Linux 中使用. 一般來說,最流行的 Linux 發行版都預裝了一個。 傳輸電子n 那些基於 GNOME 桌面和 KTorrent 在基於 KDE 的。 勇敢的瀏覽器帶來客戶端 Web托倫特 內置,這也可以用作桌面應用程序。
其他選擇
qBitTorrent
Es 一個客戶 受著名的 µTorrent 啟發的開源多平台。 合我口味 擁有最好的搜索引擎,儘管您必須手動配置它 過程有點繁瑣。 除了安排私人種子和通過加密連接外,我們還可以使用磁力鏈接並使用 DHT 和 PEX 協議。
洪水
另一個客戶 跨平台,支持 DHT、本地對等發現 (LSD)、對等交換 (PEX)、UPnP 和 NAT-PMP。 它支持使用代理,並且可以通過網絡通過遠程連接使用。
霜絲
在這種情況下,我們不僅僅是一個簡單的 BitTorrent 客戶端。 和 霜絲 我們不僅可以在 BitTorrent 網絡中搜索我們感興趣的文件,還可以在各種在線資源來源中搜索. 此外,它還具有內置播放器和媒體管理器,可以輕鬆定位下載的文件。