节点交换

节点交换(英语: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). 

外部链接