PEX协议(磁链路)如何找到它的第一个IP?

时间:2012-06-12 15:24:39

标签: bittorrent dht magnet-uri

我试图了解磁链路如何工作,因为我读过他们使用DHT和PEX来获取对等端,但如果我是网络中的新节点,我怎么能找到只有文件的哈希值?!它是否总是需要链接到已知主机?

由于

1 个答案:

答案 0 :(得分:24)

bittorrent DHT可以通过多种方式进行自举。它只需要任何其他可到达的DHT节点的IP和端口。

目前的客户通常使用以下几种策略:

  • 来自前一会话的长期节点缓存的引导程序
  • 使用DNS A / AAAA记录映射到具有已知端口的已知节点(例如router.bittorrent.com或dht.transmissionbt.com)
  • 使用节点embedded in a .torrent file
  • 通过其他方式建立的bittorrent连接检索DHT port from a bittorrent client,例如传统的跟踪器。
  • 通过LSD
  • 进行多播邻居发现
  • 从IPv4到IPv6 DHT的交叉聊天,反之亦然(如果需要)

其他方式,例如用户可配置的引导程序列表,DNS SRV记录循环映射到活动节点或 - 如果其他一切都失败 - 手动添加朋友的IP工作。

一旦节点加入网络,上面提到的第一个策略就会启动,它不太可能再次引导。

因此,虽然为了方便起见,大多数实现都依赖于单个/几个进入网络的点,但协议本身也足够灵活,可以分散入口点。

仅供强调: DHT中的任何节点都可用于加入网络。专用引导节点是一个实现细节,不是协议的一部分,如有必要,可以用其他发现机制替换。