论文部分内容阅读
对等计算(P2P:Peer-to-Peer)是目前信息技术领域的热点问题之一,吸引了工业界和学术界的共同关注。然而,P2P网络结构复杂、规模大和动态性强等特点,使得针对P2P的研究和开发成果难以找到合适的网络环境加以验证。为此,必须借助于具有一定仿真规模的P2P仿真系统,来开展各项研究工作。现有P2P仿真系统最大的不足在于仿真规模小和仿真真实度差,为了解决这两方面的问题,本文基于分布式仿真思想,开展了大规模P2P仿真技术的研究工作。本文首先全面深入地综述了P2P仿真技术的相关研究工作,介绍了分布式P2P仿真系统的设计原则和拟解决的关键技术,设计了分布式P2P仿真网络环境。在此基础上,提出了双引擎分布式P2P仿真系统(DEDPS:Double Engines basedDistributed P2P Simulator)体系结构和基于度序列和广度优先搜索的网络拓扑k划分算法(DBPA:Degree-sequence and Bandwidth-first based Partition Algorithm)。双引擎分布式P2P仿真系统体系结构包括节点仿真引擎和网络仿真引擎。节点仿真引擎主要负责本地仿真节点的运行控制,而网络仿真引擎主要负责仿真信息交互相关操作。在这种体系结构下,仿真系统的仿真运行结构和通用支撑结构被隔离开,使仿真系统具有良好的可扩展性。同时,节点仿真引擎能够利用仿真应用计算机支持一定规模的P2P仿真,再利用网络仿真引擎对其进行扩展,使仿真信息能够以网络数据包的形式发送到其他仿真应用计算机或外界真实P2P应用,不仅能够扩大仿真规模,而且能够提高仿真的真实度。此外,本文还对节点仿真引擎和网络仿真引擎中涉及到的关键技术进行了研究和分析,提出了相关标准和相应的技术解决方案。DBPA算法主要适用于TFSL(Topology First,Simulation Last)仿真运行方式下的分布式P2P仿真系统负载均衡。本文通过大量的实验,研究分析了采用该算法对服从随机分布和幂率分布的网络拓扑的划分效果。通过对负载平衡度λ、边切割平衡度β、边切割率γ和时间复杂度的实验分析,以及与其他划算算法的比较分析,验证了该算法的性能、效率以及可行性等。最后,本文根据所提出的双引擎分布式P2P仿真系统体系结构以及相关关键技术的解决方案,具体设计并实现了一个双引擎分布式P2P仿真系统。通过对Gnutella协议的仿真设计与实验,从仿真规模和仿真真实度两个方面对双引擎分布式P2P仿真系统进行了测试。测试结果表明,本文所提出的双引擎分布式P2P仿真系统具有仿真规模大、真实度高等特点。