Bittorent客户端的DHT如何"自举"?

puf*_*pio 68 bittorrent dht

如果我有一个没有任何跟踪器的洪流,我刚刚开始了一个比特的客户端,所以我还没有同行...我怎么知道谁在DHT中首先连接?好像我必须知道DHT中至少有一个节点才能开始....

Mar*_*wis 38

主线DHT引导节点是router.utorrent.com和它的CNAME , router.bittorrent.com. 港口6881.

  • 谢谢!这可能是网络上唯一以纯文本形式提供完整地址的地方. (8认同)
  • 如果您查看DNS,那些解析到router.bittorent.com的同一位置是router.utorrent.com的CNAME.它们是同一个节点. (2认同)

Chr*_*son 36

当BitTorrent客户端连接到DHT时,有一个初始位置可以找到对等点.使用最初的BitTorrent客户端,有一个bitorrent.com的网址可以帮助您开始工作.我试着查找引用但我找不到它.一旦你与其他客户建立了联系,你就可以announce在DHT网络上找到你正在寻找的洪流的同伴.

这是一个讨论DHT 的BitTorrent规范的链接.

无跟踪的torrent字典没有"announce"键.相反,无跟踪的torrent有一个"节点"键.此密钥应设置为torrent生成客户端路由表中的K个最近节点.或者,可以将密钥设置为已知的良好节点,例如由生成洪流的人操作的节点.请不要自动将"router.bittorrent.com"添加到torrent文件或自动将此节点添加到客户端路由表.

  • 你在DHT网络上宣布了吗?我以为你做了一个`get_peers()`甚至是抽象的`get()`来找对手? (4认同)

stk*_*stk 24

DHT监测项目现场底部的图表显示

  • dht.transmissionbt.com
  • router.utorrent.com
  • router.bittorrent.com

作为引导同行

  • BitTorrent发布了源代码,现在您可以运行自己的DHT引导程序机:https://github.com/bittorrent/bootstrap-dht (3认同)
  • @stk 该链接已损坏(首先是错误配置的 ssl,然后是页面丢失)。 (2认同)

gsk*_*gsk 17

在BiT​​Torrent中,您有三个主要选择:

  • Torrent文件:一些torrent文件可以嵌入nodes你的链接到DHT(实际上,它建议在制作一个torrent文件时)
  • 硬编码:一些torrent客户端硬编码一些引导节点(如stk提到的那些节点).这些通常由具有长期运行的服务器的公司和组织运行.
  • PEX/Peer Conversations:您通常可以向正在下载其他种子的人请求DHT节点(如果您的客户了解其他语言.即某些版本不兼容).


Sep*_*älä 10

Transmission如果没有其他方法可以获得对等,则使用硬编码的引导节点作为dht:

bootstrap_from_name( "dht.transmissionbt.com", 6881, bootstrap_af(session) );
Run Code Online (Sandbox Code Playgroud)

我猜每个torrent客户端都使用自己的bootstrap节点.


Mes*_*ion 6

为了记录,Deluge还使用硬编码的 boostrap 节点

dht_bootstraps = set(
    lt_bootstraps.split(',')
    + [
        'router.bittorrent.com:6881',
        'router.utorrent.com:6881',
        'router.bitcomet.com:6881',
        'dht.transmissionbt.com:6881',
        'dht.aelitis.com:6881',
    ]
)
Run Code Online (Sandbox Code Playgroud)