節點交換

節點交換(英語:Peer exchange,簡稱PEX;或稱對等端交換)是一個增強BitTorrent文件共享協議的通信協議,它使一組用戶(或對等端)能更加快速和高效地共享特定的文件。

在BitTorrent文件共享協議的原始設計中,一個文件共享組(也稱swarm)中的對等端(用戶)依賴一個稱為Tracker的中心化跟蹤服務器來找到其他人和維持群組。PEX則極大降低了對等端對Tracker的依賴,允許每個對等端直接更新群組中的對等端參與信息。通過降低對集中式跟蹤服務器的依賴,PEX提升了速度、效率和BitTorrent協議的健壯性。

描述

節點交換不能用在將一個新對等端介紹到一個swarm。要初始化與swarm的接觸,每個對等端必須使用一個「.torrent」文件連接到tracker,或者使用名為bootstrap node的路由計算機來找到一個描述了對等端swarm列表的DHT。對於大多數BitTorrent用戶而言,DHT和PEX將在BitTorrent客戶端啟動並打開一個.torrent文件後開始工作。另一點值得注意的是「私有種子」,它不會公開可用,且通常將禁用DHT。

節點交換慣例

根據Azureus與µTorrent的開發者之間達成的一致,任何實現上述兩者(之一)機制的客戶端在發送PEX消息時應遵守以下限制:[1]

  • 提供的任何PEX消息中應該不添加超過50個或移除超過50個對等端。
  • 對等端交換消息的發送頻率不應超過每分鐘一次。

一些客戶端可能選擇強制實施這些限制,並且放棄忽視這些規則的客戶端的連接。[1]

DHT

為創建一個PEX協議,提供均勻分布的對等端選擇,其中一個可以對種子形成一個小的DHT本地網絡。 For each desired new peer one would look up a (uniformly) random key, and use the node responsible for the key as a new peer.這在概念上很簡單,但也需要不小的開銷。[來源請求]

版本

共有三個互不兼容的PEX實現(形成非互通的網絡群組)[來源請求]

  • Vuze – 在Azureus中引入
  • BitComet – 專有 – 在BitComet中引入
  • MainLine – 在µTorrent中引入

支持對等端交換的客戶端

下列客戶端的特定版本已實現對等端交換:

參考資料

  1. ^ 1.0 1.1 BitTorrentPeerExchangeConventions - Theory.org Wiki. wiki.theory.org. [2016-12-20]. (原始內容存檔於2016-07-23). 
  2. ^ 存档副本. [2015-03-29]. (原始內容存檔於2015-04-02). 
  3. ^ utorrent PEX in Vuze.. Vuze Wiki website. [2010-08-15]. (原始內容存檔於2017-06-15). 
  4. ^ PEX in BitComet.. BitComet Wiki website. [2010-02-23]. (原始內容存檔於2021-03-01). 
  5. ^ Release notes for BitComet.. BitComet official website. [2010-02-23]. (原始內容存檔於2010-12-17). 
  6. ^ Bitflu configuration example. [2007-03-30]. (原始內容存檔於2011-08-12). 
  7. ^ BitTorrent User Manual - Appendix A: The BitTorrent Interface - Miscellaneous - Torrent Properties - General - Other Settings - Peer Exchange 網際網路檔案館存檔,存檔日期2014-07-06.
  8. ^ What's new in 2.1?. KTorrent official website. [2007-03-30]. (原始內容存檔於2006-04-02). 
  9. ^ Deluge 0.5.1 Beta 1 changes. [2007-09-11]. (原始內容存檔於2008-12-25). 
  10. ^ qBittorrent official website. [2007-05-14]. (原始內容存檔於2015-11-23). 
  11. ^ MooPolice official website. [2007-03-30]. (原始內容存檔於2021-01-18). 
  12. ^ μTorrent 1.4.1 beta and 1.4.2 beta changes. [2007-09-11]. (原始內容存檔於2006-11-25). 
  13. ^ Opera 9.5 BitTorrent support. [2007-09-04]. (原始內容存檔於2014-03-02). 
  14. ^ Details of qBittorrent package. Debian Packages. [2011-04-15]. (原始內容存檔於2016-12-21). μTorrent-compatible Peer eXchange (PeX) 
  15. ^ libTorrent 0.11.8 and rTorrent 0.7.8 Changelog. [2007-09-11]. (原始內容存檔於2007-11-03). 
  16. ^ NEWS (rev 1579). Transmission SVN. [2007-03-30]. (原始內容存檔於2007-08-24). 
  17. ^ Xtorrent P2P (for Mac OS X). [2016-12-20]. (原始內容存檔於2021-04-22). 

外部連結