kademlia

    3热度

    1回答

    在BEP5中表示 节点的联系信息被编码为一个26字节的字符串。也称为“压缩节点信息”,网络字节顺序中的20字节节点ID将压缩的IP地址/端口信息连接在一起。 和 当节点接收到一个find_node查询时,它应该用包含目标节点或K个紧凑的节点信息的字符串的一个关键“节点”和值响应(8)它自己的路由表中最接近的好节点。 在My find_node响应的java中,Compact节点的info字节不是2

    1热度

    1回答

    我将来自router.bittorrent.com的find_node响应的节点解码为字符串,并向解码的“节点”发送了find_node请求,但是我从未修改过来自该“节点”的find_node响应,我怀疑解码“节点”是错误的,这是代码: byte[] nodesBytes = ((String)nodes).getBytes(); ByteBuffer buffer = ByteBu

    2热度

    1回答

    工作在bep44实现上,我使用定义的kademlia算法找到给定散列id的最近的好节点。 使用我的程序我做go run main.go -put "Hello World!" -kname mykey -salt foobar2 -b public并获得存储在一百个节点(良好)的值。 现在,当我连续多次运行它时,由put请求写入的ip集很难相交。 这是一个问题,因为当我尝试执行get请求时,查询的

    0热度

    1回答

    我想建立一个Kademlia网络来连接对等点并构建一个p2p网络。我将分配网络中节点的处理能力。对于网络,我发现这个Kademlia Java从git实现了安装程序。 https://github.com/JoshuaKissoon/Kademlia 我想知道如何设置和使用来实现网络。 我发现 JKademliaNode kad1 = new JKademliaNode("Node1", new

    1热度

    1回答

    节点:DHT网络上的客户端。 同行:试图下载特定资源的客户端。 假设DHT网络是一个连通图,但没有节点可以访问所有其他节点(与DHT网络覆盖的互联网完全连接的常见看法相反)。 DHT网络上覆盖的对等网络仍然是连通图吗?为什么?

    5热度

    1回答

    在Kademlia的纸,节末段2.4的状态,为了妥善处理高度不平衡的树木...... Kademlia网络节点保持在大小的子树的所有有效接触的即使这需要拆分节点自己的 ID不驻留的桶。 然而,本文的前面部分似乎指出,如果一个k桶已经有k个要素,即任何进一步添加到该K桶需要除去stalest节点(第一侦测它,以查看是否它的存活)或以其他方式缓存该添加,直到在该k桶中可用的时隙为止。 该论文似乎与这两

    2热度

    2回答

    我写了一个simple script,查找给定info_hash的示例对等IP。我在BEP-0005中看不到这类信息:我如何从DHT中提取torrent文件?

    2热度

    1回答

    有时我会收到来自其他节点的奇怪回应。事务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

    2热度

    1回答

    给定目标ID x ... 19x,让我们考虑程序运行递归查询,建立一个表格,一旦没有更多的节点留下询问,它会发现最接近的结果节点小于8的情况。 我怎样才能扩大搜索范围,使表返回至少8个节点的任何给定的ID? 我可以简单地使用目标ID(信息哈希)并搜索info_hash + 1/info_hash-1吗? 如果是这样,在编程方面,如何增加/减少以这种形式给出的ID“afe0 ...”? 如果没有,可

    0热度

    1回答

    如果一个节点想要参与Kademlia网络,它将查找bootstrap node作为引导过程的一部分。实际上,这个Java implementation似乎也是这样做的。 在比特币协议中,一个节点也会查找知道,谁是其他对等节点。而且,首选模式似乎是DNS种子。从此引用answer, 比特币核心客户端和其他许多实现现在依赖DNS种子上的 。 DNS种子是特殊的DNS服务器,配置为 从网络中返回一些随机