P2P模拟器

来源:互联网 发布:sybase数据库常用命令 编辑:程序博客网 时间:2024/04/28 14:48

P2P网络在规模上能够扩展到很大,网络异构性也很高,而且加入p2p网络的计算机在带宽、存储容量、计算能力上有巨大的差异。并且,p2p网络的工作涉及用户计算机、物理网络、应用层覆盖网、P2P协议和最高层的用户,多层得复杂性导致:

  • 如果要在真实环境中实际运行,测试一个p2p网络需要付出巨大的努力,通常是不可取的;
  • 反而,使用模拟的方法忽略掉一些不必要和不关心的细节,在可控的环境中测试、评价一个P2P网络,不仅方便、易实现,且结果常常能更公平(可以基于统一模拟器测试多种p2p协议)。

但长久以来没有得到重视的原因:(这是03年时的论调,仅供参考,现在已经有了很大的变化)

  • P2p大规模的、动态性的覆盖网络,是以前网络没有遇到过的,使其模拟器设计、开发十分困难;
  • 现有经典模拟器NS-2等的存在,使得研究者不远花费大量劳动开发专用P2P模拟器 (实际并非这样,如NS-2,它模拟的网络层次很低,最高到达传输层,但p2p却工作在应用层)
  • 从Napster,P2P一直就是一种"民间的"的Internet应用,开发者往往专注于吸引用户,很少有人真正研究它。
  • 到目前为止,p2p领域的研究者对于大规模分布式应用开发中的模拟工作的效果、目标和过程,都未能达成共识,缺乏一个指引人们去实现的标准。

 

但是现在,已经产生了很多,如:P2P sim,3Ls, GunutellaSim, PeerSim等,还有nb的全球网络服务仿真平台PlanetLab。

 

设计准则:

  • 简洁易用
  • 通用性:适用各种p2p协议
  • 可扩展性:结点规模既能很小,又能扩大到成千上万
  • 分层,可组合:既能工作在网络层,又能工作在应用层(模拟是又可分开,又能组合)
  • 能产生各种必要的事件:至少要产生p2p网络中最基本的各种事件:路由、事件查询、结点加入、结点离开或者失效;
  • 合理的时间、空间开销
  • 合理的同步机制、无死锁
  • 时延设定合理:p2p网络中的很多细节因素,如时延,拥塞队列延迟、带宽和数据包丢失等,让p2p模拟器全部都模拟不合理也不必要,在这么多因素中,时延是不可忽略的,p2p模拟器必须为网络拓扑设定合理的时延。在P2Psim中,网络的时延由拓扑提供,而其值基于对Internet主机的真实测量和分析。
  • 新协议实现简单:尽可能侧重算法,要求p2p模拟器对P2p协议中的许多细节做合理的抽象
  • 模拟信息记录:如协议参数、时间、消息数、查询成功率等。

具体的模拟器介绍,自己google吧…,等我研究一段时间,会写一些体会上来。

【参考书籍:对等网络:结构、应用与设计】

原创粉丝点击