基于离散事件的OMNeT++,是一个免费的、开源的多协议网络仿真软件,在网络仿真领域中占有十分重要的地位。OMNeT++英文全称是Objective Modular Network Testbed in C++,是近年来在科学和工业领域里逐渐流行的一种基于组件的模块化的开放的网络仿真平台。OMNeT++作为离散事件仿真器,具备强大完善的图形界面接口。
可以实现的功能如下:
.无线电通信网络信道模拟
• 协议模拟
• 模拟队列网络
• 模拟多处理器和其他分布式硬件系统
• 确认硬件结构
• 测定复杂软件系统多方面的性能
• 模拟其他的任何一种合适的离散事件系统
一款OMNeT++模拟器包括一些分层次的嵌入式模型,嵌入式模型的深度是无限的,即允许用户在模拟环境中绘制实际系统的逻辑结构.各模块通过信息的传输进 行通信,其信息可以包括任意复杂的数据结构,各模块均可以通过门或者线路直接发送信息给目标点或者也可以通过预先的路径进行传输.
各个模块可以有自己的参数集,参数集可以被用于定制模块行为,或者可以用于确定模拟拓扑图的参数.
模拟网络最底层的模块可以嵌入行为,这些模块被称为基本模块,它可以利用模拟器的库函数在C++进行编程.
OMNeT ++模拟器可以在根据不同的目的来改变用户接口: 调试、实例和批量执行。高级用户的接口可以把模块透明的交给用户,即允许控制模拟器执行以及可以通过改变模块中的变量/对象来干涉模拟器的执行,这在开发 /调试模拟器工程师非常有用的,用户接口也促进了模块工作的实现。
模拟器的接口和工具都非常轻便:目前得知它可以在Windows和各种UNIX操作系统下利用c++进行编译。
OMNeT ++还支持分布式并行仿真,OMNeT++可以利用多种机制来进行用于几个并联的分布式模拟器之间的通信仿真,比如MPI和指定的通道。这种并行仿真算法 可以很容易的进行扩展,也很容易加入新的模块。各个模块不必须要特定的结构来并行运行,这只是一个配置的问题。OMNeT++甚至还可以被用于并行模拟仿 真算法的多层次描述,因为模拟器可以在GUI下并行运行,这种GUI为运行过程提供了详细的反馈。
OMNEST是OMNeT++的一个商业版本,OMNeT++只在学术和非盈利性活动免费,在进行商业性研究时需要从Global公司获得OMNEST许可证。