注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 科普系列之-使用Windows的..
 帮助

P2P系统仿真: oversim+INET+omnetPP


2008-02-18 17:31:36
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nathanxu.blog.51cto.com/50836/62378
来香港半年多了,啥事情没折腾出来,就折腾了p2p的仿真了。 P2P的仿真软件很多, 测量软件也很多,但是挑选了半天,我还是选择了omnetPP + INet + OverSim来做为我的仿真平台。 这里我也只是做个简单的介绍而已, 有兴趣的朋友可以自己去找些资料看看了。

OmnetPP是一个跨平台的离散时间事件仿真程序, 功能蛮强大的,而且还开源。但是我看了一下他的许可证,他并不是基于GPL的。 估计作者希望将来能把这个东西做大盈利,但是目前来看只要不是商业使用,就完全开源和免费,这是很不错的。 同类的仿真软件还有NS2,但是NS2对于p2p的仿真似乎一直没有专门的团队来支持,需要自己付出大量的工作,所以意义不大。其次,OmnetPP的一个吸引我的地方是图形界面和实时显示能力,这个是NS2所没有, NS2是基于仿真结果数据来显示仿真状况,属于电影回放playback类型,而omnetPP是属于现场直播Live, 很适合在早期发现设计中的错误。 OmnetPP只是一个通用的网络仿真软件, 在其上需要对计算机网络进行仿真,需要INET模块。

INET模块是一个独立的计算机通信网络协议集在OmnetPP上的实现, 包括从物理层到应用层的网络协议,真让人叹为观止。 而且这个模块有专门的团队负责维护, 文档方面非常完备。就这点我就没理由不用它了。 INET模块主要用于互联网的仿真, 由于我只是希望对P2P这类特定应用进行仿真,所以INET的细节方面并不是我所关注的,它只是我所需要的Oversim模块所必须的下层模块,所以在这里提一下。

Oversim模块根据他的名字就看出他主要是用于Overlay类型的应用层网络仿真所设计的。 但是在实际的开发中,他却主要用在目前主要的那些P2P应用协议的仿真上了。 Oversim的底层是建立在一套简化的UDP协议之上(依靠了INET里面的实现),在其上,他定义了一套层次框架,由下至上为 Overlay Applicatoin Tier1 Applicatoin Tier2 Applicatoin Tier3 . 根据其设计的说明, Overlay层用于包括通用的底层Overlay协议的实现。而上层具体的应用,可以一层一层的叠加上去,作为Tier1 Tier2 Tier3。拿P2P的仿真来举例,通用的Pastry协议的实现就是放在Overlay这层的,而可以利用Pastry的各种应用,比如p2p存储, 聊天,媒体播放功能可以作为Tier1层堆叠上去。 各个层次的对上层接口都由Oversim定义,也可以自己扩充(我就扩充了一套专门用于媒体数据传输的接口)。 可以说Oversim提供了一个很不错的P2P设计的程序框架的参考。

本文出自 “Nathan的技术空间” 博客,请务必保留此出处http://nathanxu.blog.51cto.com/50836/62378



上一篇 SPI 总线初体验 



    文章评论
 
2008-02-18 17:46:04
最近也在看P2P 一起学

2008-02-26 17:47:55
关于仿真可以请教吗?
12242653

2008-04-09 09:44:36
你好,我最近也在用这一套仿真系统,但是遇到的问题的不知怎样对于自己添加的代码进行GDB调试,所以想请教请教,谢了
QQ:358410211

2008-04-20 10:09:06
你好,我最近也用这套仿真,我在Chord内添加了一段自己的代码,但是在运行OverSim例子的时候,它好像还是运行的没改的程序,请问这是什么原因?谢谢
QQ:286961007,希望可以向你请教

2008-06-15 12:03:43
你好,看了你的文章最近在用这套组合来研究P2P的问题。希望能得到你的帮助,加你为好友,我的QQ:17104108

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: