節點交換
此條目的引用需要清理,使其符合格式。 (2017年5月4日) |
節點交換(英語: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中引入
支持對等端交換的客戶端
下列客戶端的特定版本已實現對等端交換:
- Ares Galaxy[來源請求]
- aria2,支持µTorrent PEX[2]
- Vuze,舊稱Azureus,以及基於它的客戶端[需要解釋](Vuze PEX僅與Transmission客戶端兼容。其他客戶端的PEX已在Vuze及Azureus 3.0.4.3及以上版本中實現)[3]
- BitComet的舊版本中支持使用專有協議的PEX。[4]從v.1.19開始,它也添加了µTorrent/Mainline實現的基於擴展協議的PEX。[5]
- Bitflu[6]
- BitTorrent[7]
- KTorrent在2.1 RC1中已實現完整的µTorrent PEX支持。[8]
- libtorrent及基於它的客戶端(Deluge[9]、qBittorrent[10]、MooPolice[11])與µTorrent兼容
- Tixati
- µTorrent[12]
- Opera 9.5,支持µTorrent PEX[13]
- qBittorrent,支持µTorrent PEX[14]
- rTorrent[15]
- Transmission(μTorrent和Vuze的實現均兼容)[16]
- XTorrent基於Transmission的源代碼,因此在其1.0 (v40)版本中同樣兼容Vuze和µTorrent的實現[17]
參考資料
- ^ 1.0 1.1 BitTorrentPeerExchangeConventions - Theory.org Wiki. wiki.theory.org. [2016-12-20]. (原始內容存檔於2016-07-23).
- ^ 存档副本. [2015-03-29]. (原始內容存檔於2015-04-02).
- ^ utorrent PEX in Vuze.. Vuze Wiki website. [2010-08-15]. (原始內容存檔於2017-06-15).
- ^ PEX in BitComet.. BitComet Wiki website. [2010-02-23]. (原始內容存檔於2021-03-01).
- ^ Release notes for BitComet.. BitComet official website. [2010-02-23]. (原始內容存檔於2010-12-17).
- ^ Bitflu configuration example. [2007-03-30]. (原始內容存檔於2011-08-12).
- ^ BitTorrent User Manual - Appendix A: The BitTorrent Interface - Miscellaneous - Torrent Properties - General - Other Settings - Peer Exchange 網際網路檔案館的存檔,存檔日期2014-07-06.
- ^ What's new in 2.1?. KTorrent official website. [2007-03-30]. (原始內容存檔於2006-04-02).
- ^ Deluge 0.5.1 Beta 1 changes. [2007-09-11]. (原始內容存檔於2008-12-25).
- ^ qBittorrent official website. [2007-05-14]. (原始內容存檔於2015-11-23).
- ^ MooPolice official website. [2007-03-30]. (原始內容存檔於2021-01-18).
- ^ μTorrent 1.4.1 beta and 1.4.2 beta changes. [2007-09-11]. (原始內容存檔於2006-11-25).
- ^ Opera 9.5 BitTorrent support. [2007-09-04]. (原始內容存檔於2014-03-02).
- ^ Details of qBittorrent package. Debian Packages. [2011-04-15]. (原始內容存檔於2016-12-21).
μTorrent-compatible Peer eXchange (PeX)
- ^ libTorrent 0.11.8 and rTorrent 0.7.8 Changelog. [2007-09-11]. (原始內容存檔於2007-11-03).
- ^ NEWS (rev 1579). Transmission SVN. [2007-03-30]. (原始內容存檔於2007-08-24).
- ^ Xtorrent P2P (for Mac OS X). [2016-12-20]. (原始內容存檔於2021-04-22).