论文摘要
随着信息技术的迅猛发展,P2P(Peer-to-Peer)技术逐渐成为业界研究与关注的焦点,它以其特有的自组织性、分布性,在互联网上迅速发展,已经成为互联网网络不可分割的部分。P2P技术的研究涉及诸多方面,包括内容分发、数据资源缓存、网格计算、分布式计算、数据部署、自组织网络等等。在P2P技术的研究领域,激励机制、流量引导等算法备受关注,但对于这些算法的性能测试却缺乏一个有效的平台,在条件有限的情况下使用仿真软件成为一个很好的选择。正是由于这一点,本文提出了一个基于OverSim的P2P仿真系统。OverSim是基于OMNET++(一个C++开源仿真器)的重叠网络仿真架构,使用离散事件仿真来仿真网络信息的交换和处理。本文中设计和实现的系统采用P2P典型的非结构化模型,采用BitTorrent协议模拟在P2P系统中常见的文件分享功能。Tracker服务器负责回复Peer的下载请求,以peerlist的形式通知该Peer去向相应的Peer进行下载。在模拟文件分享功能时,系统依据BT协议进行peer selection和piece selection以及下载时的阻塞算法。通过仿真大规模网络节点,验证了该系统的性能,在下载时间和网络规模等方面达到了理想水平。本论文首先介绍了P2P系统的组成和相关的技术背景,然后依据OverSim的框架进行仿真系统的设计,从基本模块设计、message消息传递流程入手,完成Tracker服务器和Client主机的复合设计,然后通过C++代码实现操作,最后配置ini文件,完成整个仿真系统的搭建。在运行的过程中节点的产生依靠节点生成器Churn实现,而节点的个数也是动态可配置的,以此保证了网络的仿真规模。系统在一些方面还不完善,仅就基于BT协议的P2P系统做了简单的基础研究,并没有考虑更多复杂场景,包括添加信用机制来保证激励作用等。关于后期工作,主要集中在以下几个方面:第一,加入激励机制以实现公平;第二,对于下行带宽进行分配以保证更优的效率,第三,增加不同的域,实现域间流量的控制,模拟真实环境,以期达到网络流量优化的目的。