ChinaUnix.net
相关文章推荐:

dht协议分析 资源下载 prjDowncom

自从有了dht之后, 只要有种子特征码就可以下载文件(从而免去通过HTTP/FTP下载种子文件的步骤)的技术被广泛的用于各个客户端之间。不过很可惜, 不同的客户端之间并不兼容, 好好的dht应用就这样被糟蹋了。目前支持这个应用的客户端有 utorrent, bitorrent 6.0+ (实际上是utorrent的一个变种), bitcomet, bitsprit, Libtorrent (boost写的那个)。 utorrent的连接方式为(这个比较标准, 有RFC的参考): magnet:?xt=urn:btih:97eee1284516...

by pagx - 网络技术文档中心 - 2008-12-12 23:49:19 阅读(902) 回复(0)

相关讨论

1. 通信协议应该与逻辑分离 虽说find_node, get_peers在通信层上是递归操作, 但是这点对逻辑处理上应该是透明的, 也就find_node操作应该执行到发现最近的节点为止, 而不应该中途中断(虽然说可以节省本分带宽)。或者编写接口的时候就不应该导出这些控制方法。 2. 结果的截断。 find_node以及get_peers只关心最终的K(K=8)个节点。所以每次只需要保留K个节点。至于那些K节点之外应该裁掉。并且结果是允许模糊的。 3. ping的时...

by pagx - 网络技术文档中心 - 2008-11-03 11:09:10 阅读(1095) 回复(0)

谁能介绍几个实现好点的dht库啊?

by isnowran - C/C++ - 2007-11-10 13:14:52 阅读(1526) 回复(4)

BEP:5 Title:dht Protocol Version:11031 Last-Modified: 2008-02-28 16:43:58 -0800 (Thu, 28 Feb 2008) Author:Andrew Loewenstern Status:Draft Type:Standards Track Created:31-Jan-2008 Post-History: Contents Overview Routing Table BitTorrent Protocol Extension Torrent File Extensions KRPC Protocol Contact Encoding Queries Responses Errors dht Queries ping find_node get_peers announce_pee...

by rockylinux - 网络技术文档中心 - 2008-12-10 17:04:12 阅读(907) 回复(0)

今天大致的完成了dht的boot strap工作。 完成之后得到的路由表如下 不过没法确认是否正确, 根据推算, 网络上大概有50万的节点 myid: 33d56b843ee392dab0ac284a59fb1bcdaa1ce535 ------------------------------------------------- 0x00: eeb0b07ff08871c0793954c33dab6ad5f3664eba 0x00: e885d38b90b9d73ba7d8fb049e0b67ec1ca32a86 0x00: aa32a45e6c43aadc828c6b07fc700c7ccf9cd677 0x00: be97b9c112d0b5...

路由器

by pagx - 网络技术文档中心 - 2008-10-15 11:13:22 阅读(1023) 回复(0)

1、路由表初始化。 2、get_peers可以执行。 以下没有完全遵循dht的一些实现规范。 1、超时请求被再发送一次。 2、节点失效应该是连续5次请求没有响应。 以后会修正这些问题的。 另外建议使用 Full Cone NAT的路由器。 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/69656/showart_1308343.html

by pagx - 网络技术文档中心 - 2008-10-15 22:27:22 阅读(758) 回复(0)

进入dht的节点都是很自由的。 很难保证每个节点都遵守dht的游戏规则。 所以很难保证以下情况不会出现: 1、多个主机争用同一个ID。 以下属于正常情况: 1) 一个客户端的网络断开(ADSL重新拨号), 然后重新进入dht网络。 2) 两个客户端随机生成了两个相同的ID。 3) 一个恶意客户端不断使用不同的ID, 试图跟其他节点产生冲突, 因为可以知道每个ID是否存在于网络。 2、同一个主机使用多个不同的ID。 1) 客户端的重新启动, 生成了不同...

by pagx - 网络技术文档中心 - 2008-10-13 14:28:24 阅读(808) 回复(0)

参照utorrent的行为,对比文档中的区别有: 1、支持的请求是: ping get_peers find_node announce_peer { "d1:ad2:id20:abcdefghij0123456789e1:q4:ping1:t1:P1:y1:qe" }; {“d1:ad2:id20:abcdefghij01234567896:target20:abcdefghij0123456789e" "1:q9:find_node1:t4:FFFF1:y1:qe" } { "d1:ad2:id20:000000000000000000009:info_hash" "20:mnopqrstuvwxyz1234564:porti6882e5:token20:00000000000000000000...

by pagx - 网络技术文档中心 - 2009-09-05 22:55:43 阅读(762) 回复(0)

以下是完整的源代码, 可以在linux以及FreeBSD下面编译通过。其他平台没测试过。 文件:BitStormGui-0.2.3p_dht.tar.gz 大小:344KB 下载: 下载 有空还会继续修改的。感兴致可以下载测试下。 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/69656/showart_1657845.html

by pagx - BSD文档中心 - 2008-11-22 01:58:07 阅读(1149) 回复(0)

前些天大致看了khashmir的代码。对于网络down掉之后, 又再重新恢复, 将会对dht产生什么影响呢? 具体的不是很清楚。 我的理解是: down掉之后所有的dht节点失效, 重新恢复之后这些 dht节点会被新的节点代替, 也就是说很多本来是好的节点被从路由表中删除了。这似乎违背dht的原则。我想到处理的方法估计是down掉的检测和延迟节点替换。 对付网络down掉的处理方式是: 可以认为收到数据报的前10s网络是好的。把所有的这期间超时...

网络技术

by pagx - 网络技术文档中心 - 2008-11-16 18:53:54 阅读(819) 回复(0)

我正在研究BT的下载原理,刚刚知道怎么从tracker服务器读取http活着udp的信息...这两项花了我半年的时间 哭... 我现在在学习怎样读取dht网络中的某一个种子有哪些用户在下载,我查阅了我能够早到的所有的dht或者Kademlia的资料,有了一点头绪,我 认为查找dht网络中正在下载某一种子用户信息的过程是这样的: 1.取得种子的info_hash 2.先从路由表中的存在的K桶查找出3个与拥有info_hash最近"米制距离"id的节点(node) 3.使用...

by dianker - C/C++ - 2012-01-09 17:25:30 阅读(2418) 回复(5)