节点交换
此条目的引用需要清理,使其符合格式。 (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).