节点交换

节点交换英語:,简称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. . wiki.theory.org. [2016-12-20]. (原始内容存档于2016-07-23).
  2. . [2015-03-29]. (原始内容存档于2015-04-02).
  3. . Vuze Wiki website. [2010-08-15]. (原始内容存档于2017-06-15).
  4. . BitComet Wiki website. [2010-02-23]. (原始内容存档于2021-03-01).
  5. . BitComet official website. [2010-02-23]. (原始内容存档于2010-12-17).
  6. . [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. . KTorrent official website. [2007-03-30]. (原始内容存档于2006-04-02).
  9. . [2007-09-11]. (原始内容存档于2008-12-25).
  10. . [2007-05-14]. (原始内容存档于2015-11-23).
  11. . [2007-03-30]. (原始内容存档于2021-01-18).
  12. . [2007-09-11]. (原始内容存档于2006-11-25).
  13. . [2007-09-04]. (原始内容存档于2014-03-02).
  14. . Debian Packages. [2011-04-15]. (原始内容存档于2016-12-21). μTorrent-compatible Peer eXchange (PeX)
  15. . [2007-09-11]. (原始内容存档于2007-11-03).
  16. . Transmission SVN. [2007-03-30]. (原始内容存档于2007-08-24).
  17. . [2016-12-20]. (原始内容存档于2021-04-22).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.