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

2024-04-27

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

Thanks


Bittorrent DHT 可以通过多种方式启动。它只需要任何其他可访问的 DHT 节点的 IP 和端口。

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

  • 从上一个会话的长寿命节点的缓存中引导
  • 使用 DNS A/AAAA 记录映射到具有已知端口的已知节点(例如 router.bittorrent.com 或 dht.transmissionbt.com)
  • 使用节点嵌入到 .torrent 文件中 http://bittorrent.org/beps/bep_0005.html#torrent-file-extensions
  • retrieve the DHT port from a bittorrent client http://bittorrent.org/beps/bep_0005.html#bittorrent-protocol-extension over a bittorrent connection established through other means, e.g. a conventional tracker.
    • 如果一个同伴是嵌入磁力链接 http://bittorrent.org/beps/bep_0009.html#magnet-uri-format还可以通过端口消息搭载 DHT 引导程序
  • 多播邻居发现通过LSD http://bittorrent.org/beps/bep_0014.html
  • 从 IPv4 到 IPv6 DHT 的交叉聊天,反之亦然(如果需要)

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

一旦节点加入网络,上述第一个策略就会启动,并且不太可能需要再次引导。

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PEX协议(磁力链接)如何找到它的第一个IP? 的相关文章

  • 用C语言开发一个BT下载软件 (四) ------ 代码实现-1-种子文件解析模块

    parse metafile h ifndef PARSE METAFILE define PARSE METAFILE 保存从种子文件中获取的tracker的URL typedef struct Announce list char an
  • DHT11解析

    一 DHT11工作原理 1 获取数据 DHT11包括一个电阻式感湿元件和一个NTC测温元件 这两个获取温湿度数据的方式都差不多 利用湿 温 敏元件的电气特性 如电阻值 随湿 温 度的变化而变化的原理进行湿 温 度测量 2 数据发送 数据格式
  • [Tracker] linux 搭建 BitTorrent

    虚拟机 vmware 15 虚拟机系统 ubuntu 20 04 本机系统 win10 注 所有操作都在 root 下进行 Ubuntu 搭建 BitTorrent 本文是在虚拟机中搭建 bitrtorrent 和 web 平台 生成BT种
  • BitTorrent协议规范(BitTorrent Protocol Specification)系列之B编码(Bencoding)-第一部分

    鉴定 BitTorrent是由布莱姆 科恩设计的一个端对端 peer to peer 文件共享协议 此协议使多个peers通过不可信任的网络的文件传输变得更容易 目的 此规范的目的是详细介绍 BitTorrent 协议规范 v1 0 Bra
  • Ruby BitTorrent 库 [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我正在考虑用 ruby 编写定制的 torrent 客户端 我找到了以下库 正如马特下面指出的那样 它们相当古老 不过 我想听听我可能错过的任何图书馆 并且我很想听听社区对以下图书馆的
  • 如何将从 sha1 字节数组生成的字符串返回到该字节数组?

    首先很抱歉英语不好 好吧 我想从 torrent 文件中读取片段哈希信息 目前 我正在使用https github com hyPiRion java bencode这个 Bencode 库来解码信息 但我的问题是当我想将片段字符串转换为字
  • 在 Python 中使用 Rasterbar libtorrent 挑选同级

    有谁知道是否可以选择使用 libtorrent 进行连接的对等点 也就是说 在跟踪器返回对等 IP 和端口的列表后 只有选定的几个将根据某些定义的标准进行连接 Thanks 您可以使用以下命令从集合中删除对等点set ip filter 您
  • 在 Kademlia 中,为什么建议使用 160 位节点 ID 和密钥而不是 128 位?

    Kademlia 论文指出 节点被分配了随机的 160 位 ID 和密钥 这是一个严格的限制吗 如果我觉得足够好 我还可以继续使用 128 位密钥空间吗 选择这个长度是因为用作哈希表键的哈希函数的 SHA1 输出 160 位 这是当时使用最
  • 创建 torrent 哈希信息

    如何在 torrent 文件上生成 torrent 哈希信息 我一直在看这个例子 如何使用 Java 计算 torrent 的哈希值 https stackoverflow com questions 3436823 how to calc
  • BitTorrent 扩展协议

    我正在尝试用java编写自己的bittorrent客户端 这是一个make work项目来刷新我的java技能 我一直停留在开发的某个阶段 尽管有一些用于 BitTorrent 开发的论坛 但它们似乎并不十分活跃 到目前为止我可以执行以下操
  • 当 DHT 中的节点死亡时,数据会发生什么?

    问题取自这里 https groups google com forum topic byu cs 460 computer networking hpESI0NapmY https groups google com forum topi
  • 打开磁力链接而不失去焦点

    javascript 或其他 有没有办法在浏览器失去焦点的情况下处理磁力链接 这有点像在后台打开一个选项卡而不离开当前页面 我最近遇到了类似的问题 并且能够通过在页面上创建命名框架并将其用作目标来解决该问题window open windo
  • Bittorrent 协议如何处理数据块?

    BitTorrent 协议中如何处理数据块 当客户想要下载时 例如Linux 发行版中 跟踪器是否返回对等点列表 然后客户端连接到该列表并向每个对等点请求块 或者跟踪器是否返回对等点列表以及哪个对等点具有哪些数据的信息 数据块在哪里管理或处
  • 使用 libtorrent-python 下载 Torrent

    我有以下 python 代码 import libtorrent as lt import time ses lt session ses listen on 6881 6891 params save path home download
  • 种子中的 DHT

    我正在编写一个 P2P 实现 我希望将其去中心化 然而我在掌握如何做时遇到了一些困难DHT https en wikipedia org wiki Distributed hash table在像 BitTorrent 这样的协议中是有效的
  • 在 Python 中使用 Rasterbar libtorrent 加载 Magnet LINK

    如何通过 rasterbar libtorrent python 绑定加载 Magnet 链接 import libtorrent as lt import time ses lt session params save path home
  • PEX协议(磁力链接)如何找到它的第一个IP?

    我试图了解磁力链接如何工作 因为我读过他们使用 DHT 和 PEX 来获取对等点 但如果我是网络中的新节点 如何才能找到仅具有哈希值的对等点文件 它不是总是需要一个到已知主机的链接吗 Thanks Bittorrent DHT 可以通过多种
  • BitTorrent DHT 详细规范

    在我的新周末项目中 我决定从头开始编写一个 BitTorrent 客户端 根本没有准备好使用库 经过两天寻找文档后 我已经准备放弃了 smile 我知道有BEPs http www bittorrent org index html 但它们
  • 向Kademlia添加新节点,构建Kademlia路由表

    我无法完全理解 Kademlia DHT 的加入过程 我在网上看过一些教程和演示文稿 但它们似乎都以相同的方式说事 并且所有伪代码等在大多数情况下都是相同的 实际复制 粘贴 有人可以对此进行高水平的演练吗 我假设您已经阅读过木兰纸 http
  • 为什么 Kademlia 使用 UDP?

    为什么Kademlia 分布式哈希表 http en wikipedia org wiki Kademlia使用 UDP 作为其网络传输协议 即使它不可靠 主要原因是您快速查询了许多以前从未建立过联系并且可能在查找过程中永远不会再看到的节点

随机推荐