论文部分内容阅读
P2P网络是当前比较热门的研究领域,在分布式计算、协同工作、搜索引擎、文件交换中起着越来越重要的作用。其中资源定位算法又是P2P网络的一个重点和热点,泛洪和随机漫步是非结构化的P2P系统中的两种主要定位技术,而分布式哈希(DHT)表算法是近来出现的一种新的结构化资源定位方式。分布式哈希表(DHT)实际上是一个由广域范围大量结点共同维护的巨大散列表,散列表被分割成不连续的块,每个结点被分配给一个属于自己的散列块,并成为这个散列块的管理者。DHT算法的特点是高效、可扩展性强,已经成为许多面向Internet应用的基础。
目前国外研究者们提出了多种不同的DHT算法,主要有Chord、Pastry,Tapestry和Kademlia等。不过和其他DHT算法比较,Kademlia通过独特的以异或算法(XOR)为距离度量基础,建立了一种全新的DHT拓扑结构,大大提高了路由查询速度。
本文仔细研究了各种DHT算法,并对分布式路由算法Kademlia的路由表K桶机制进行了改进,提出了双K桶机制,缓存了备份节点,在不增加网络负载的情况下,提高了有效节点的利用率。最后在此基础上实现了一个BT文件共享系统KBT,它减少了对中心服务器的依赖,实现了真正意义上的P2P下载。
本文的研究工作主要分以下三部分:
(1) 介绍了P2P网络的基本概念,P2P网络的分类和一些现在较流行的P2P文件共享系统,接下来重点分析了几种结构化资源定位模型:Chord,CAN,Pastry和Kademlia,并对其进行了性能对比,发现它们各有优势和不足。
(2) 实现了分布式路由算法Kademlia,并对其路由表k桶机制进行了改进,实现了双k桶机制,缓存了备份节点,提高了有效节点的利用率。
(3) 将Kademlia算法结合BT协议,实现了基于Kademlia分布路由算法的文件共享系统KBT,并对其主要模块进行了详细的分析。在Internet上对其进行功能测试,结果显示其下载速度迅速,性能优异。