论文部分内容阅读
在过去的几年中,对等网络(Peer-to-Peer Network,简称P2P)的迅速发展引起了计算机界的关注,根据Peer-to-Peer Working Group Committee的定义,P2P在商业上的应用主要有文件共享、边界服务、分布式计算,但文件共享是目前最重要的一个应用。如何实现资源的定位是文件共享的关键问题。Gnutella网络模型被认为是存粹的P2P系统的代表,目前世界上使用用户最多的文件共享软件都基于Gnutella网络模型,Gnutella网络的主要问题是使用“扩散”方式搜索、发现网络节点及共享信息,随着网络规模的增长,不仅搜索消息的比率在增长,而且由每一条消息产生的潜在流量也在大幅增长。其中包括了许多不必要的重复包流量。因此,应该研究和改进Gnutella网络的资源定位机制。 现有的定向广度优先搜索方法只是从动态变化的网络中寻找某一段时间内具有某些特定性质的节点,只对这些节点进行资源查找,忽略了大量有用的节点,而本地索引法中节点建立的索引大小与共享文件的大小成正比,导致索引空间过大。本文针对这两个问题,借鉴TCP/IP协议中网络路由的思想,提出了路由表查找法。采用动态路由方法来捕获网络中发生的变化,克服了定向广度优先搜索法只搜索特征点的缺点,采用路由表指示查找的方向,从而使得路由表的大小与邻节点的数量成正比,而不是与共享文件数量成正比,减少了网络中的流量。本文工作如下: 1.根据P2P系统中路径选择和互联网中路由器的路由行为的相似性,将每一个转发消息的节点都看成一个路由器,因此P2P网络节点的路由问题可看成是路由器的路由问题,在每个节点建立路由表进行路由选择; 2.网络中某一段时间内具有某些特定性质的节点,作为特征点,把网络中的特性点信息作为默认值,保存在节点的路由表的默认值项中; 3.根据网络具有动态变化的特性,用两种动态路由方法:集成路由表法和跳数路由表法,主动捕获网络中发生的变化,并把系统中发生的变化进行更新,存储到路由表中,为进行动态路由提供信息; 本文先对集成路由表和跳数路由表方法进行了实验比较,然后将路由表查找方法与定向广度优先搜索方法进行了实验比较,并得出结论:对比开销和查找性能的提高,可以看出路由表查找方法是一个比较好的查找方法。