dht相关内容

查询 DHT 服务器

我正在尝试对 DHT 服务器进行简单查询. 我正在尝试做一个简单的示例来测试对服务器的查询,但我没有得到服务器以任何形式的响应... 小例子: $socket = fsockopen("udp://router.bittorrent.com", 6881, $errno, $errstr, 3);fwrite($socket, 'p');$Head = fread($socket, ..
发布时间:2022-01-22 17:26:43 PHP

在 torrent kademlia 路由表上实现查找节点

我已经查看了许多关于此主题的文件,但有一些不太清楚.例如比特流文件 (http://www.bittorrent.org/beps/bep_0005.html) 状态 路由表被细分为“桶",每个桶覆盖一个空间的一部分.一个空表有一个带 ID 空间的桶最小值=0,最大值=2^160 的范围.当一个 ID 为“N"的节点插入到表,它被放置在具有 min 一切都已经在桶里了.即使我们使用 bit ..
发布时间:2022-01-02 11:34:47 其他开发

在 Kademlia 中,为什么建议使用 160 位节点 ID 和密钥而不是 128 位?

Kademlia 论文指出,节点被分配了随机的 160 位 ID 和密钥.这是严格的限制吗?如果我觉得足够好,我还能继续使用 128 位密钥空间吗? 解决方案 选择长度是因为 SHA1,用作哈希表键的哈希函数,输出 160 位,这是当时使用最广泛的哈希函数. 路由算法本身不需要特定的长度才能工作,它只需要足够大的密钥空间以避免随机选择的 ID 中的冲突.128 位 ID 将提供 64 ..
发布时间:2021-06-13 19:44:53 其他开发

如何解释DHT响应中的“节点"?

我正在阅读 BEP-0005 ,但我不太了解节点ID转换为(IP,端口)对.考虑以下代码: import bencode import random import socket import pprint # Generate a 160-bit (20-byte) random node ID. rand = lambda: ''.join([chr(random.randint(0, ..
发布时间:2020-06-11 19:24:08 Python

Java的Kademlia实现

我想建立一个Kademlia网络来连接对等点并建立一个p2p网络.我将分配网络内节点的处理能力.对于网络,我发现此Kademlia Java从git实现了安装程序. https://github.com/JoshuaKissoon/Kademlia 我想知道如何设置它并用于实现网络. 我发现了 JKademliaNode kad1 = new JKademliaNode("Node1", ..
发布时间:2020-06-11 19:24:05 Java开发

本线字典中的主线DHT未指定条目

我在BitTorrent生成的DHT流量的本字典中找到了一个条目,我不理解,也无法在 http://bittorrent.org/beps/bep_0005.html . 使用wireshark进行数据包查询和响应的示例: query = {"a":{"id":".=...4...R..%..s~..;"}, "q":"ping", "t":"..oo", "v":"UThK", "y ..
发布时间:2020-06-11 19:24:03 其他开发

Bittorrent KRPC-为什么节点ID的大小是info_hash的一半,并使用每个字符a-z?

这严重困扰了我. 原始的Kademlia提议出于明显的原因,应使用类似于sha1的160位十六进制: 在搜索与信息哈希相关的对等节点时,您可以简单地搜索nodeID,因为它们应该与sha1信息哈希相同的系统. 但请阅读以下内容: http://www.bittorrent.org/beps/bep_0005.html id为abcdefghi0123456789,即: 1)一半大 ..
发布时间:2020-06-11 19:24:01 其他开发

有人可以了解一下这种奇怪的DHT响应的含义吗?

有时我会收到其他节点的奇怪回应.交易ID与我的请求交易ID以及远程IP都匹配,因此我倾向于认为节点对此进行了响应,但它看起来像是响应和请求的组合 d1:q9:find_node1:rd2:id20:.éV0özý.?tj­N.?.!2:ip4:DÄ.^7:nodes.v26:.ï?M.:iSµLW.Ðä¸úzDÄ.^æCe1:t2:..1:y1:re 最糟糕的是它格式不正确.看7:no ..
发布时间:2020-06-11 19:23:53 其他开发

是否可以在无追踪程序的torrent文件中包含同位体?

我可以不使用跟踪器,打开跟踪器,dht和对等交换来生成已经在内部包含对等项的torrent文件吗? 如果是,我该怎么做? / p> 我要这样做的原因是,我想通过DHT获得对等端,并将该对等端传递给不支持DHT或对等端交换且不能 我发现了这一点,但我不知道什么是节点,以及我是否在寻找它。 http://www.bittorrent.org/beps/bep_0005 .html# ..
发布时间:2020-06-11 19:23:49 其他开发

bittorrent DHT详细规格

在我的新周末项目中,我决定从头开始编写一个bittorrent客户端,根本不准备使用库.在寻找文档两天后,我已经准备放弃:smile:.我知道有 BEP ,但它们远远不足以理解所有规范.阅读更多内容后,我认为跟踪器和对等协议似乎已经过时并且易于理解/实现(是的,我知道,要编写一个具有平衡,对等选择,优化的良好代码,这并不像我刚才所说的那样容易,但是我要做的只是做基础学习,而不是与数十个好的客户竞争 ..
发布时间:2020-06-11 19:23:45 其他开发

ThePirateBay如何知道其种子的种子数量?

ThePirateBay.org等网站如何工作?我听说跟踪器的时代已经结束,所以我猜想它们是从DHT提取数据的。我写了一个简单的DHT刮板,但是查询服务器的速度很慢-TPB是否有自己嗅探的DHT节点?他们是否验证对等方是否确实有数据? 解决方案 我不是TPB(或任何其他洪流索引站点)的工作人员并且没有确切的信息,但是我最大的猜测是,他们经常从(工作)跟踪器中获取完全刮擦,该跟踪器位于现场。 ..
发布时间:2020-06-11 19:23:40 其他开发

为什么Kademlia使用UDP?

为什么 Kademlia分布式哈希表使用UDP作为其网络传输协议,即使它是不可靠? 解决方案 主要原因是您快速查询了许多以前从未建立过联系的节点,并且在查找过程中可能再也看不到. Kademlia查找是迭代的,即不会转发请求.转发DHT更适合于长期的TCP连接. 即很大一部分流量由网络节点之间的短暂请求和响应交换组成,可能在数以百万计的范围内.快速建立数千个TCP连接的开销将令 ..
发布时间:2020-06-11 19:23:37 其他开发

洪流DHT udp

我正在尝试访问Torrent DHT网络,并且很难确定如何访问DHT中的“入口"节点. 如何在Bittorent客户端中获取DHT "bootstrapped"? 描述可以在端口6881(UDP)上运行的router.bittorrent.com和router.utorrent.com使用几个标准入口节点. AND http://www.bittorrent.org/beps/bep_ ..
发布时间:2020-06-11 19:23:33 其他开发

查询DHT服务器

我正在尝试对DHT服务器进行简单的查询. 我正在尝试制作一个简单的示例来测试对服务器的查询,但是我没有从服务器获得任何形式的响应... 小例子: $socket = fsockopen("udp://router.bittorrent.com", 6881, $errno, $errstr, 3); fwrite($socket, 'p'); $Head = fread($soc ..
发布时间:2020-06-11 19:23:31 PHP

最新的bittorrent DHT实施建议是什么?

我正在努力实现另一个bittorrent客户端,目前正与DHT进行斗争.它是根据此规范 http://www.bittorrent.org/beps/bep_0005.html ,但开始调试它时,我注意到网络上其他节点的响应有所不同. 例如,应该使用find_node返回目标节点信息或8个最近的节点.大多数节点会回复最近的34个节点,通常只有34个节点中的1-3个能够成功回复随后的ping请 ..
发布时间:2020-06-11 19:23:24 其他开发

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

如果我的洪流中没有任何跟踪程序,并且我刚刚启动了一个痛苦的客户端,所以我还没有同龄人...我怎么知道谁首先要与DHT联系?看来我必须至少知道DHT中的一个节点才能开始...。 解决方案 何时使用BitTorrent客户端连接到DHT,那里有一个寻找对等对象的初始位置。使用原始的BitTorrent客户端,有一个指向bitorrent.com的URL,它将帮助您开始工作。我尝试查找参考,但找 ..
发布时间:2020-06-11 19:23:21 其他开发

如何将Kademlia路由表表示为数据结构

kademlia纸讨论了水桶的组织, 简洁和条款. §2.2讨论了一组固定的160个存储桶,每个存储桶覆盖了键空间的固定子集.但是后面的章节将涉及覆盖键空间不同部分的其他拆分和存储桶.不太适合固定列表 组织存储桶的正确方法是什么? 元:由于困惑反映在许多问题中,部分信息分散在许多答案中,因此本问答集旨在提供易于链接的说明 解决方案 混淆源于纸张的不同版本 平面布局 ..
发布时间:2020-06-11 19:23:19 其他开发

节点的Kademlia树如何与种子文件的信息哈希相关?

我试图了解Kademlia在寻找资源方面的工作方式.现在有很好的描述来构建最接近自身节点的节点树,如何查找节点之间的距离,如何启动过程等.我不了解的是文件infohash如何适合此图片.所有描述都告诉我们如何发挥作用,并构建自己的分布式哈希表部分,但事实并非如此.我们这样做是为了实际找到资源,即具有特定信息哈希值的文件.它是如何存储在此节点树中的?或者有单独的树?查找具有此信息哈希并因此具有文件的 ..
发布时间:2020-06-11 19:23:16 其他开发

DHT路由表-为什么要使用存储桶而不是映射?

我认为最接近的问题。 构造路由表的一种显而易见的方法是简单地维护 a文字表。 Map(XOR,Node) Kademlia讨论了“ Bucket”的用法,这些桶由XOR的最高有效位组织。 “存储桶”的实际用途是什么? 当我们只需将“实际” XOR用作地图中的键时,为什么会搞混“最长前缀”? 显然,地图可能会大2 ^ 160,但是我们可以使用一些试探法来限制地图的大小,而不是实 ..
发布时间:2020-06-11 01:34:03 其他开发