如何在Bittorent客户端DHT得到“自举”?(How does a DHT in a Bitt

2019-06-26 18:27发布

如果我有一个洪流W / O在它的任何跟踪,我刚开始bittorent客户,所以我没有同伴又......我怎么知道谁用在DHT第一连接? 好像我必须知道在DHT至少一个节点上手....

Answer 1:

当BT客户端连接到DHT,还有就是它去找到同行的初始位置。 与原来的BitTorrent客户端,有一个网址,以bitorrent.com,这将有助于得到的东西开始。 我试图寻找了参考,但我找不到它。 一旦你建立了与其他客户端的连接,那么你可以做一个announce的DHT网络上找到你要找的洪流同行。

下面是该链接BitTorrent的规格是讨论DHT。

无跟踪洪流的字典里没有一个“宣布”键。 相反,跟踪服务的洪流有一个“节点”键。 此键应设置在洪流生成客户端的路由表中的K个最接近节点。 可替换地,键可以被设置为一个已知的良好节点诸如一个通过产生洪流该人操作。 请不要自动添加“router.bittorrent.com”到torrent文件或自动将此节点添加到客户的路由表。



Answer 2:

主线DHT引导节点router.utorrent.com和CNAME它, router.bittorrent.com 。 端口6881



Answer 3:

该图在这个底部DHT监测项目现场展示

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

为引导同行



Answer 4:

在BitTorrent,您有三个主要选项:

  • torrent文件:一些torrent文件可以嵌入nodes为你链接到与DHT(事实上,它的制作torrent文件时推荐)
  • 硬编码:有些洪流客户硬代码的一些引导节点(如通过STK提到的那些)。 这些通常是由公司和组织长时间运行的服务器上运行。
  • PEX /同伴对话 :你平时可以要求从您从下载其他种子的人DHT节点(如果你的客户了解eachothers语言即一些版本不兼容)。


Answer 5:

Transmission采用的是硬编码的引导节点的DHT如果没有其他的方式来获得同伴:

bootstrap_from_name( "dht.transmissionbt.com", 6881, bootstrap_af(session) );

我想每一个Torrent客户端使用自己发起节点。



Answer 6:

客户可以了解通过它与它们的互动等DHT功能的同龄人。 对等对DHT支持它的握手被公布。 一旦客户发现至少一个良好的,以及连接DHT同行,它可以浏览DHT找到更多和更密切的DHT同行。 它会记住这些同龄人,称为DHT-说话节点,该软件的重新启动之间和维护/更新它在运行时不断名单。 在客户知道没有好DHT-能够同行的最坏的情况下,它会要求你下载一个基于跟踪洪流,因此可以希望联系一些好的DHT功能的同行就会学到更多通过跟踪。

更新:对于它的DHT的同龄人初步名单,作为@Seppo指出,一个BT客户端可以使用一个或多个硬编码的DNS名称找到知名同行的地址,也可以包括硬编码的列表同行作为最终的后备为好。 DNS的一个限制,然而,它没有端口信息被设置的一个6881默认端口通常假设,而其它装置支持在不同的端口操作对等体。



Answer 7:

为了记录在案, 洪水还采用硬编码的自举节点 :

        self.session.add_dht_router("router.bittorrent.com", 6881)
        self.session.add_dht_router("router.utorrent.com", 6881)
        self.session.add_dht_router("router.bitcomet.com", 6881)


Answer 8:

你需要从其他同行的洪流,说说话。 正如你说你没有这些,你没有太多的去用....



文章来源: How does a DHT in a Bittorent client get “bootstrapped”?