● 摘要
随着P2P应用领域的扩大,P2P相关技术在近几年得到了迅速的发展,P2P的文件下载现在已经成为互联网上最大的单项流量。相对于P2P文件下载技术,P2P资源定位技术的发展相对滞后,目前比较具有代表性的几种资源定位方式各有其不足之处,其中很大一部分制约来自IPv4网络本身所具有的局限性。随着IPv6网络的日益普及,如何利用IPv6的新特点来改进P2P技术,同时也为IPv6找到一种好的应用模式,逐渐受到人们的关注。本文在对现有P2P资源定位算法进行分析的基础上,利用IPv6网络的地址数量大、地址分级结构、对组播支持好等特点,借鉴IPv6网络中的邻节点发现机制,设计并实现一种可扩展性较好、效率较高而且易于部署的资源定位算法,并对算法的性能进行实验分析、验证。资源定位是连接上层应用与底层对等计算机的纽带,本算法将上层应用程序传递的待查询字符串作为输入,以资源拥有者的地址作为输出返回给应用程序。算法通过全局一致的哈希函数对查询报文实现基于IPv6组播的伪单播转发,以组播路由取代P2P路由来保证效率;通过引入缓存机制来增加查询在小范围内完成的概率;通过采用分类机制提高可扩展性。算法的实现基于Fedora Core 4操作系统、MySQL数据库,使用的编程语言是标准C语言。本文对算法性能的测试是在由7台路由器、16台PC机组建的小型的IPv6实验网络上进行的。初步的实验数据显示,算法达到了预期的效果。