2。2 P2P 网络仿真软件比较
开始我选择的仿真软件并不是 peersim,而是更为流行的 NS2 网络仿真系统,在经历了 一个较长的学习周期后,我开始尝试在 NS2 系统上搭建 P2P 网络,但是很快我发现覆盖网络 上在 NS2 上的搭建过程并不顺利,首先 NS2 由于系统本身使用 C++和 TCL 两种语言编写, 在运行上会略慢一些,特别是在生成多节点的网络拓扑结构时,经常出现电脑系统内存溢出 的情况,并且对 P2P 网络协议的支持也不够好。
经过比较后发现,peersim 更适合针对 P2P 网络的编程,虽然不能像 NS2 那样利用 NAM 程序直观的观察分析整个网络过程,但在搭建 P2P 网络方面,Peersim 提供了更好的支持,并 且能支持更多的节点,所以为了提高之后算法的实验效率,本次毕业设计决定使用 Peersim 网络仿真软件来搭建相关网络并测试相关算法。下面的两个表示一些常见的 P2P 仿真软件的 比较。通过表格 2。2。1 和 2。2。2 也能看出 Peersim 在 P2P 网络模拟仿真方面有一定的优势。
表 2。2。1:不同 P2P 仿真软件基本特性的比较
仿真平台 模式 触发方式
适用范围 开发语言 离散事件 周期
Peersim Narses P2Psim 3LSGPS 是
表 2。2。2:不同 P2P 仿真软件评价参数比较
事件处理方式
仿真软件 功能扩展性 规模扩展性
2。3 Peersim 仿真软件介绍文献综述
PeerSim 仿真系统是用 JAVA 实现的,基于组件的 P2P 网络仿真软件,它很好地支持了 P2P 网络的可扩展性和动态性。Peersim 有两种模型,一种是基于周期的 cycle_driven 模型, 另一种是基于事件的 event_driven 模型。根据官方所发表的一篇最新论文,在内存为 4GB 的 情况下,基于事件的模式最多可以达到支持十万节点的级别,而基于周期的模式则可以达到 支持千万个节点的级别。图 2。3 是 Peersim 模拟器的体系结构图。
图 2。3:Peersim 体系结构图
Peersim 仿真模型的大体流程如下 [17] :1)选取网络规模;2)选取一个或多个协议来测
试及初始化;3)选取一个或多个控制对象((CntrolCntrol))来检测感兴趣的属性,并可以在仿 真期间来调整这些参数;4)读取包含上述消息的配置文件调用仿真器(Simulator class)运行仿 真。
在具体实现中,我选择使用 ED 模式来模拟一个完整的 BT 网络并做出改进。因为比起 CD 模式,ED 模式是基于事件驱动的,可以更加真实地模拟网络过程,对算法的性能和效率 分析都有帮助。
3 相关理论原理
3。1 P2P 网络介绍
P2P 是 peer-to-peer 的简写,翻译为对等网络,是一种位于应用层的网络,即覆盖网络的 一种。P2P 网络的概念主要是与过去的服务器主导的网络相对,在 P2P 网络中,不再区分服 务器端与客户端,而是全部用户都是对等端,对等端之间可以互相共享各类消息资源。比起 过去的 C/S 的架构,P2P 网络更加灵活,并且不会出现客服端过多导致服务器端负载过大而 崩溃的局面,并且 P2P 网络中每个对等端都有很高的自制性和灵活性,本次实验的环境 BT 网络也是 P2P 网络的一种。来`自+优-尔^论:文,网www.youerw.com +QQ752018766-
3。2 BitTorrent 介绍及原理