- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[1模拟器分类
1 模拟器分类
从层次化的角度来看,网络模拟器可分为底层
网络模拟器(underlying Netw0rk Simulator)和覆盖层
网络模拟器(Overlay Ne 。 Simulator)。
底层网络模拟器在数据包层进行仿真,主要模拟
底层网络的情况,如网络拓扑、数据包延迟、丢包率等。
常见的底层网络模拟器有NS2r ,Omnet++L3 和
SSF1%tl4 等。其中,离散事件模拟器NS2用于对因
特网协议、路由协议以及广播协议进行仿真;基于组
件的仿真环境Omnet抖主要用于通信网络的模拟;
SSF1%t由基于Java和C抖的组件构成,主要用于网
络连通性的仿真。
覆盖层网络是一种构建在物理网络之上的逻辑
网络,用于描述节点之间的逻辑关系。覆盖层网络
模拟器即P2P模拟器,主要用于P2P算法和协议的
正确性验证并对协议的性能进行分析,P2P模拟器
一般忽略底层网络结构,因此可以进行超大规模的
P2P系统仿真。
2 覆盖网络层模拟器
2.1 Names
Narses~5]在Java环境下开发,支持分布式仿真。
Names为进行仿真的应用提供一个用于发送和接收
数据的传输层接13,该接口与UNIX socket接口类
似,使得用户可以方便地将进行仿真的应用移植到
真实的操作系统中去。
Narses提供了一系列不同详细程度的网络模
型。对底层网络模拟越详细,仿真的效率就越低。
用户可以交替地使用不同的模型,在效率与精确性
之间权衡。例如,有一种“naive”的简化模型,它不考
虑流量的影响,用户可先用“naive”模型建立协议的
原型来验证协议的正确性,为了使仿真的结果更接
近真实情况,可以再使用更为详细的网络模型进一
步仿真。
Narses中的简化模型通过对链路、网络与传输
层进行近似地估计来降低仿真的复杂眭。在实现协
议方面,Narses没有实现任何覆盖层网络协议。
2.2 NeuroGrid
NeuroGfid ]是P2P查询协议项目,该项目包含
一个单线程离散事件模拟器,NeuroGfid实现了Neu—
roGfid,Freenet以及Gnutella三种协议,并对这三种协
议进行了对比。
NeuroGfid通过定义若干抽象类再派生新的子
类来实现可扩展的功能。它包括六个基本的抽象
类:Keyword,Document,Message,Node,Network和Mes.
sageHandlero
NeuroGfid工作在覆盖层,支持结构化和非结构
化网络的仿真。运行时的模拟参数是可调的,如网
络模拟的节点数目、每个节点的初始连接个数及查
询次数等,仿真结果会保存到文件中。
NeuroGfid的不足之处主要有:①没有提供集成
其他网络覆盖或拓扑生成器的接口。②没有提供一
个请求集合产生器,即缺乏请求分布构件,每次循环
随机选择请求结点和请求文件,因此不能模拟实际
环境的请求分布特征。③没有提供基于Gnutella的
经验模型。Gnutella是目前应用最广的对等系统之
一
, 因此基于Gnutella的经验模型是模拟实际对等
网络环境的重要模型。④只提供了一个非常简单的
动态网络模型,在模拟过程中结点只能增加而不能
减少。
2.3 PeerSim
PeerSimI7]在Java环境下开发,支持结构化及非
结构化网络的仿真,该模拟器的结构是基于组件的,
可以快速搭建协议原型。
PeerSim支持两种仿真模式,循环模式和事件模
式。循环模式比较简单,具有良好的扩展性,可模拟
lO个节点的P2P网络,但循环模式忽略了实际网络
中的一些细节,比如并发与传输层仿真等,节点之间
直接进行通讯并且周期性地对节点进行控制;事件
模式则考虑了网络中的实际情况,但该模式的仿真
效率较低,扩展性不好。
PeerSim中有一个网络拓扑生成器,产生一个简
单的网络拓扑模型——FKP模型 ,并可打印出该
模型的度分布情况。
PeerSim仿真的大体过程是:首先要确定网络的
大小(节点的数量);然后选择要进行仿真的协议并
进行初始化;接着选择所关心的属性,对其进行监
控,并可通过配置文件配置一些参数(如,网络的大
小,协议的内部状态等),最后调用类Simulator运行
仿真。
循环模式仿真的过程如下:首先,以命令行的方
式读取配置文件,配置文件是普通的ASCII码文本文
件,由一系列键值对组成;然后,模拟器初始化网络中
的节点和节点中的协议;初始化结束后,循环驱动机
制在每次循环时调用所有的组件(协议和控制器)一
次,直到达到特定的循环次数或仿真结束为止。
在PeerSim 中,所有在仿真过程中创建的对象都
是实现一个或多个接口的类的对象,其中主要的接口
有:Node,CDProtocol,Linikable以及Control。P2P网络
是
文档评论(0)