OverSim - 覆盖网仿真框架


GPLv2
Linux
C/C++

软件简介

OverSim是一个开源的覆盖网仿真框架,它工作在OMNET++/OMNEST仿真环境下。这一P2P仿真器包含了多个P2P协议,例如结构化覆盖网中的chord,Kademilia,Pastry,非结构化覆盖网中的GIA。

OverSim由Telematics (research group Prof. Zitterbart)研究所,Universit?t Karlsruhe
(TH)共同开发, 隶属于ScaleNet项目,由德国联邦政府的教育科研资金支持,它可以运行在Linux,Windows,MAC OS X
和Maemo平台上.

OverSim有如下几个特点:

灵活性:仿真器支持结构化和非结构化覆盖网(目前Chord, Pastry, Bamboo, Koorde, Broose, Kademlia, GIA,
Vast, and Publish-Subscribe for MMOGs已经实现).
模块化设计和通用API的使用使扩展新的特点和协议更加方便。模块行为可以有用户可见的配置文件中自行定制。

交互式GUI:为了验证和测试新的或是已有的覆盖网协议,你可以使用OMNeT++的GUI界面,它使网络拓扑结构,消息和节点状态变化如路由表一般可视化。

可交换的底层网络模块:我们的方针框架有灵活的底层网络模式,一方面提供完全网络拓扑配置—
可实现的带宽、包的延迟、包丢失;另一方面为仿真提供快速的模型性能表现。

可扩展性:Oversim以性能为设计目标,在当前流行配置的一台PC上,一个典型的有10000个节点的chord网络可以实现实时仿真,我们甚至成功仿真了具有100,000个节点的网络。

基层覆盖网类:基层覆盖网类通过为应用提供RPC界面,遗传查找类和通用API关键路由接口使得结构化覆盖网协议的设计非常方便。

不同的路由模式:所有已经实现的KBR协议支持以下路由模式:递归,穷尽递归,半递归,全递归和源路由递归(iterative, exhaustive-
iterative, semi-recursive, full-recursive, and source-routing-recursive).
仿真代码的重用:在实际网络应用中的不同协议实现是可以重用的,因此研究者可以通过于实际网络数据(PlanetLab)的
比较验证仿真结果。因此仿真框架可以处理实际网络包并与其他相同的覆盖网协议通信。

动态流失模型:仿真器支持不同的动态流失模型包含生命动态流失和Pareto动态流失模型。

统计:仿真器收集不同的统计数据例如每个节点的发送、接收、转发数据量,成功或不成功传输的包,以及包的跳数。

应 用:很多覆盖网应用例如DHT,Internet Indirection Infrastructure (i3), Scribe, SimMud,
P2PNS 和 test applications (KBRTestApp, DHTTestApp, and SimpleGameClient)。