ned 文件:用于描述网络拓补或者定义模块或组件的文件。必须有的定义文件。
如果package下有多个同名的ned文件,打开项目时会报找不到该文件之类的错误,在遇到此类错误时,仔细看看就可以排除。
大框架划分:
omnetpp + inet + oversim
omnet 模拟基本的离散事件
inet 是在omnet的基础上实现了基本网络协议的实现,包括了TCP、UDP、IP等网络协议的实现。
oversim 是在inet的基础上,对应用层协议的一个模拟实现,现在有chord,p2p等。在oversim里,每个节点被分为三层:Underly, Overlay和application
underlay 又有inet(真实网络包),simplenet(简单模拟),singlehost,三种模式可以选择
oversim提供了lookup机制和RPC接口(发现机制,p2p可用,其他也可以用吧)。
P2PSim 软件的劣势: 用c++实现了7种常用的p2p协议,由于有许多不同的底层网络模型,所以他们建立在一个相当抽象的层次,所以当在上面模拟一个覆盖层时非常的困难,它又没有文档化,扩展很困难。
OverlayWeaver 是一个用java写成的peer-to-peer的覆盖层的构造工具集,可以用来进行简单的开发、测试新的覆盖层协议和应用。工具集中包含一个所谓的 离散环境模拟器 ,这个模拟器在一个主机上可以调用和服务多个Java应用。这个模拟器最多可以允许模拟4000个节点。由于模拟必须运行在真正的现实时间上,并且没有统计输出,所以他被用作一个覆盖层网络的模拟器是非常受限制的。
PlantSim是一个用java编写的用在覆盖层网络和服务的模拟架构。它有结构定义良好,具有模块化结构,并且充分利用了普通的API
论文中说oversim的使用simple模式平均每个node使用35k内存,而inet模式平均每个node使用70kb内存。
WATCH(variable_name)要放在initialize()里,否则影响仿真效率