我试图了解磁链接如何工作,因为我已经读到他们使用 DHT 和 PEX 来获取对等体,但如果我是网络中的新节点,我怎么能找到只有文件哈希的对等节点?!它并不总是需要指向已知主机的链接吗?
谢谢
bittorrent DHT可以通过多种方式引导。它只需要任何其他可访问的DHT节点的IP和端口。
当前客户通常使用以下几种策略:
- 从上一个会话中的长期节点缓存引导 使用具有已知
- 端口的已知节点(例如 router.bittorrent.com 或 dht.transmissionbt.com)的 DNS A/AAAA 记录映射
- 使用嵌入在.torrent文件中的节点
- 通过通过其他方式(例如传统跟踪器)建立的bittorrent连接从bittorrent客户端检索DHT端口。
- 如果对等体嵌入在磁力链路中,则还可以通过端口消息在其上搭载DHT引导程序
- 通过 LSD 发现组播邻居
- 从 IPv4 到 IPv6 DHT 的交叉喋喋不休,反之亦然(如果需要)
其他方式,例如用户可配置的引导列表,DNS SRV记录到活动节点的轮询映射,或者 - 如果其他一切都失败了 - 手动添加朋友的IP。
一旦节点加入网络,上面提到的第一个策略就会启动,它不太可能再次引导。
因此,虽然大多数实现都依赖于单个/几个入口点进入网络以方便,但协议本身也足够灵活,可以分散入口点。
只是为了强调:DHT中的任何节点都可以用来加入网络。专用引导节点是一个实现细节,不是协议的一部分,如有必要,可以用其他发现机制替换。