大范围内P2P网络中传播的热点文件之memeTracker做法

郑昀 2010.10

话题关键词:

  • DHT网络爬虫
  • KAD DHT
  • P2P网络主动测量
  • memeTracker

简单原理:
    如果你利用 P2P 现有各种工具,如BT、电骡、迅雷、脱兔等这些支持DHT(动态哈希表)分布式存储方式的工具,这种网络不需要中心节点服务器,而是每个客户端负责一个小范围的路由,并负责存储一小部分数据, 从而实现整个 DHT 网络的寻址和存储。
    那么据国外这几年的研究(国内是中科院计算所在做),可以登入 KAD 网络后,从附近节点开始查询,查它自己维护的邻居节点( KAD 网络会给每个客户端分配一个唯一的 ID 值,然后对不同的 ID 值进行异或来得到两个客户之间的“距离”。每一个节点都会维护一个桶( bucket ),“距离”越近的用户桶里的数量会越多,节点定期对桶里的用户进行清理,以保持其有效性),这样一圈一圈向外快速遍历,直至获取几万乃至几十万节点以及它维护的资源列表(也就是下载种子和查询词)。
    这样,就可以在某一个普通的网络接入处,探测到大范围内短时间内下载最多的文件名和hash值,据此生成热榜,进一步根据 hash 值判断哪些文件是重点追踪对象,以及是谁上传到网络中的。

搜索关键词:

  • DHT Crawler
  • KAD Crawler

    这种相关技术在国外一个用途是,版权所有者要追踪盗版者在无服务器状态下的BT网络中分发行为以提起诉讼。所以如果有效率高超的 DHT Crawler ,版权所有者就不用在什么电信机房总出口处捕获 P2P 流量了,而是在各个地方都可以收集信息。对于国内来说,用这个原理玩信息聚合和热点追踪(memeTracker)还是可以的。

    这方面有大量英文论文,按前面列的搜索关键词搜索即可,中文的可以读读《eMule系统中的非均匀性分布》,它基本已经把原理说清楚了:
   『使用 KAD 协议中的查询原语对 eMule 系统进行抓取。修改一个 eMule 客户端。首先让它连上 KAD 网络.然后对该客户端所知道的邻居节点发送
查询请求.收到请求的邻居节点会响应它所知道的另外一些节点的信息.将这些新节点加人本地列表,然后对这些新得到的节点进行查询,如此反复,
对整个网络进行了一次广度优先搜索 该方法与 Steinert3J 的方法是一致的。在此之后,向节点发出“共享文件信息”查询请求,并将结果记录于数据库。』

 

资源参考:

SharkyPy

Entangled - DHT and Tuple Spa

是两个Python开源的DHT实现。

 

p.s.:

你如果做过这块研发,不妨与我聊聊。:D

 

赠图一枚:

http://ww2.sinaimg.cn/large/4766f95cjw6ddb7gipwm4j.jpg

 

我的推特流:

1、

"@花花cyu:今天早上在北京西站,一位连续五天四点钟来售票厅排队却最终没买到票的哥们,在离开售票大厅时,愤怒地对着电子显示屏高喊道:“每年拿国家那么多钱,却让老百姓连家都回不了。铁道部,我Cao 你祖宗!!”说罢嚎啕大哭。刹那间,挤满人的售票大厅一片寂静,片刻后掌声雷动"。

2、

没有玩聚SR了是挺不方便的,差点错过纯银下午的这篇:http://is.gd/MKJLqL 《为什么不创新》

3、

腾讯向右走,做团购平台,自己只负责流量和C,其他网站负责B;GroupOn向左走,计划在4个月内招1000人做到全国第一,招聘方和猎头都像打了鸡血一样:http://is.gd/6P2BOf

4、

推特和微博上:实名PK实名,公开对战,避免私下(Email和IM)沟通;实名PK匿名,避免做转发式批判,直接论述你的道理,但尽量避免提及对方id。

5、

人们总会以为只有自己家周围的半夜时分才弥漫着一股浓重的煤烟味,其实你只要搜索“北京 夜里 烟味”就知道这是北京普遍现象:http://is.gd/1ESRGX 老北京人会说,北京的不分白天黑夜的堵车让人心脏不好,北京的空气污染让人肺也糟了。

6、

我们中学时有一个规律是,学习成绩优异且稳定的学生多是教师子弟。这反映了对于中国的中学应试,只要固定学习时间和频率即可搞定,从而在初中时就形成自己的学习方法。也就是说,就现在中学阶段那点可怜的知识点,学习成绩与家境(别窘迫到打工助学就行)无关。现在教育什么情况我就不清楚了。

-完-

原文地址:https://www.cnblogs.com/zhengyun_ustc/p/dht.html