论文部分内容阅读
近年来,关于分布式哈希表(DHT)的研究非常多,有通过模拟仿真、理论分析等方法的,也有从实际测量角度出发的。eMule中基于Kademlia算法的KAD网络是当前最大规模的DHT实现,任何时刻同时在线节点数保持在几百万级别,因此尤其受到大家关注。本文在对KAD DHT进行主动测量的基础上,对KADDHT的网络特征与节点行为进行了测量研究。
采用主动测量的方法是设计爬虫程序,在尽量短的时间内抓取KAD中尽量多的在线节点信息。本文设计了KAD爬虫程序,并着重从提高抓取节点的查重效率、种子节点的选取、快速获取路由表中节点、提高发送接收速度等方面对爬虫程序进行优化,获得了较高的KAD节点抓取速度。在优化过程中设计了模拟普通KAD节点的种子程序,并发现当KAD节点的路由表在1-2小时稳定后,其保存的节点个数保持在700-800左右,最大层数保持在19-20左右。
主动测量包括2次全局抓取测量和每5分钟一次共持续4天的有代表性的某区域进行抓取测量。通过对KAD进行全局抓取和区域抓取,建立了丰富的测量数据集,为相关研究提供了分析依据。
全局抓取测量获得了节点的地理分布、KAD ID的地址空间分布,并发现了KAD中存在的2种异常现象,初步探讨了形成原因。区域抓取测量描绘了节点的到达与离开率,发现其满足负二项式分布;描绘了节点的会话长度,发现其满足对数正态分布和Weibull Distribution;描绘了节点的在线时间和离线时间,发现在线时间满足Weibull Distribution:描绘了节点的每天在线比率与每天上线次数;并对同一节点的会话长度之间、在线时间之间、每天在线比率之间与每天上线次数之间的相关性进行了分析。通过这些测量指标对节点的动态行为进行了深入研究,发现了蕴含其中的数学规律并探讨了形成原因。
最后,根据测量结果对设计与实现新KAD给出了帮助与建议。论文的测量分析结果为研究人员更好地理解KAD DHT的网络特征与节点行为提供了有益的参考数据,对研究人员进一步完善KAD具有较好的参考价值。