Bittorent 客户端中的 DHT 如何“引导”?

发布于 2024-07-28 22:24:01 字数 118 浏览 10 评论 0原文

如果我有一个没有任何跟踪器的 torrent,并且我刚刚启动了一个 bittorent 客户端,所以我还没有对等点...我如何知道在 DHT 中首先与谁连接? 看来我必须至少知道 DHT 中的一个节点才能开始......

If I have a torrent w/o any trackers in it, and I just started a bittorent client so I have no peers yet...how do I know who to first connect with in the DHT? It seems like I would have to know at least ONE node in the DHT to get started....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

憧憬巴黎街头的黎明 2024-08-04 22:24:01

主线 DHT 引导节点是 router.utorrent.com 及其 CNAME router.bittorrent.com。 端口6881

The mainline DHT bootstrap nodes are router.utorrent.com and a CNAME to it, router.bittorrent.com. Port 6881.

冷了相思 2024-08-04 22:24:01

当 BitTorrent 客户端连接到 DHT 时,它会首先去寻找对等点。 在最初的 BitTorrent 客户端中,有一个指向 bitorrent.com 的 URL,可以帮助您开始工作。 我尝试查找参考资料,但找不到。 一旦您与其他客户端建立了连接,您就可以在 DHT 网络上进行公告,以找到您正在寻找的 torrent 的对等点。

以下是讨论 DHT 的 BitTorrent 规范 的链接。

无跟踪器的 torrent 字典可以
没有“通知”键。 相反,一个
trackerless torrent 有一个“nodes”键。
该键应设置为 K
torrent 中最近的节点
生成客户端的路由表。
或者,该键可以设置为
已知良好的节点,例如运行的节点
由生成 torrent 的人。
请不要自动添加
“router.bittorrent.com”到 torrent
文件或自动添加此节点
到客户端路由表。

When a BitTorrent client connects to DHT, there is an initial place that it goes to find peers. With the original BitTorrent client, there was a url to bitorrent.com that would help get things started. I tried looking up the reference but I couldn't find it. Once you've established connections with other clients, then you can do an announce on the DHT network to find peers for the torrent you're looking for.

Here's a link to the BitTorrent specs that discuss DHT.

A trackerless torrent dictionary does
not have an "announce" key. Instead, a
trackerless torrent has a "nodes" key.
This key should be set to the K
closest nodes in the torrent
generating client's routing table.
Alternatively, the key could be set to
a known good node such as one operated
by the person generating the torrent.
Please do not automatically add
"router.bittorrent.com" to torrent
files or automatically add this node
to clients routing tables.

薄荷梦 2024-08-04 22:24:01

DHT 监控项目 站点底部的图表显示

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

作为引导节点

the graph at the bottom of this DHT monitoring project site shows

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

as bootstrapping peers

淡淡的优雅 2024-08-04 22:24:01

在 BiTTorrent 中,您有三个主要选项:

  • Torrent 文件:一些 torrent 文件可以嵌入节点供您链接到 DHT(事实上,在制作 torrent 时建议这样做)文件)
  • 硬编码:一些 torrent 客户端硬编码一些引导节点(如 stk 提到的那些)。 这些通常由拥有长期运行服务器的公司和组织运行。
  • PEX/同行对话:您通常可以向您下载其他种子的人索要 DHT 节点(如果您的客户能够理解彼此的语言,即某些版本不兼容)。

In BiTTorrent, you have three main options:

  • Torrent File: some torrent files can embed nodes for you to link into the DHT with (in fact, it's recommended when making a torrent file)
  • Hardcoding: Some torrent clients hard code a few bootstrap nodes (like the ones mentioned by stk). These are usually run by companies and organizations with long-running servers.
  • PEX / Peer Conversations: You can usually ask for DHT nodes from the people you are downloading other torrents from (if your clients understand eachothers language. ie some versions are incompatible).
甩你一脸翔 2024-08-04 22:24:01

Transmission 使用硬编码引导节点< /a> 对于 dht,如果没有其他方法来获取对等点:

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

我猜每个 torrent 客户端都使用自己的引导节点。

Transmission uses a hardcoded bootstrap node for dht if there is no other way to get peers:

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

I guess each torrent client uses their own bootstrap node.

浅沫记忆 2024-08-04 22:24:01

根据记录,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',
    ]
)

For the record, Deluge also uses hardcoded boostrap nodes:

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',
    ]
)
金兰素衣 2024-08-04 22:24:01

客户端可以通过与其他支持 DHT 的节点的交互来了解它们。 节点对 DHT 的支持在其握手中得到了宣传。 一旦客户端发现至少一个良好的、连接良好的 DHT 对等点,它就可以导航 DHT 以找到更多、更近的 DHT 对等点。 它将在软件重新启动之间记住这些对等点(DHT 中称为节点),并在运行时持续维护/更新列表。 在最糟糕的情况下,客户端不知道任何具有 DHT 功能的良好对等点,它将要求您下载基于跟踪器的 torrent,以便它可以希望联系通过跟踪器了解的一些具有 DHT 功能的良好对等点。

更新:
对于它的 DHT 对等点的初始列表,正如 @Seppo 指出的那样,torrent 客户端可以使用一个或多个硬编码的 DNS 名称来查找知名对等点的地址,并且它还可能包括硬编码的对等点列表,如也是最后的后备。 然而,DNS 的一个限制是它没有提供端口信息,因此通常假定默认端口为 6881,而其他方法则支持在不同端口上运行的对等点。

A client can learn about other DHT-capable peers through it's interactions with them. A peer's support for DHT is advertised in it's Handshake. Once a client discovers at least one good, well-connected DHT peer, it can navigate the DHT to find more and closer DHT peers. It will remember these peers, called nodes in DHT-speak, between restarts of the software and maintain/update the list continuously while it is running. In the worse case where a client knows of no good DHT-capable peers, it will require you to download a tracker-based torrent so it can hopefully contact a few good DHT-capable peers it learns about through the tracker.

Update:
For it's initial list of DHT peers, as @Seppo points out, a torrent client can use one or more hard-coded DNS names to find the addresses for well-known peers, and it may also include a hard-coded list of peers as a final fallback as well. One limitation of DNS, however, it no port information is provided so a default port of 6881 is generally assumed whereas other means support peers operating on different ports.

不美如何 2024-08-04 22:24:01

这是我遇到的主要节点。

dht.transmissionbt.com 6881
router.bittorrent.com  6881
router.bitcomet.com    6881
dht.aelitis.com        6881
bootstrap.jami.net     4222

Here are the primary nodes I've come across.

dht.transmissionbt.com 6881
router.bittorrent.com  6881
router.bitcomet.com    6881
dht.aelitis.com        6881
bootstrap.jami.net     4222
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文