论文部分内容阅读
P2P网络从诞生至今一直都是学术领域研究的热点,在它的发展过程中其拓扑结构一共经历了从中心拓扑结构到全分布式非结构化拓扑结构,再到全分布式结构化拓扑结构,最后到半分布式拓扑结构的四次变革。有关于P2P网络的应用也越来越广泛。本文以全分布式非结构化拓扑结构为基础,采用Gnutella协议,提出了一种的P2P网络优化模型——IGP2P。它以Small World为理论基础,将分组的理念引入到Gnutella模型中,以用户的兴趣为分组标准,将整个P2P网络分成多个兴趣组,每个兴趣组由一个中心节点来负责管理本组内用户的加入和退出。在IGP2P网络模型中搜索策略被分成了组内搜索和跨组搜索两种。组内搜索主要是指节点对本组内资源进行的搜索;而跨组搜索是在组内搜索失败或者节点搜索的资源类型非本组资源类型时才会发生。其基本的搜索方式都是洪泛式搜索,这一点继承了Gnutella的方法,只是IGP2P网络模型中的搜索的针对性更强,成功率更高,而且还在搜索的过程中引入了Cache策略,使得短时间内多次相同的搜索所产生的网络流量大大的降低了,这非常适合于存在热点资源的网络环境。为了防止由于节点的频繁加入和退出所造成的网络“抖动”现象的出现,在IGP2P网络中,节点的加入采用了中心节点注册的策略,而对于节点的退出则提出了备用中心节点策略SCNS,有效降低了单点失效的出现概率。为了验证IGP2P的性能,本文做了大量的测试工作,主要分成三个部分进行测试:第一部分是δ测试,用于确定组内搜索失败后是否需要进行跨组搜索的参数δ的临界值;第二部分为Cache测试,主要是为了测试增加Cache策略后对网络性能的影响;第三部分是与Gnutella网络模型的比较测试,主要从资源查找成功率、节点处理分包量和网络延迟等三个方面进行了比较测试,通过测试结果可以看出IGP2P网络的性能要远远的优于Gnutella模型。