omnet++:官方文档翻译总结(一)


1、什么是omnet++

翻译总结自:What is OMNeT++?

omnet++是用来进行网络仿真的C++库和框架。这里的网络包括有线、无线、on-chip、queueing网络等等。特定领域中的网络,例如ad-hoc网络也包含在这个框架下,并被扩展为独立的工程项目。

虽然omnet++自己不是一个网络仿真器,但是却可以实现网络仿真平台的功能。omnet++提供了组合性的模型架构。各模块用C++编程,然后用NED语言部署成为一个更大的组件和模型。

omnet组件

  • 仿真核心库(C++)
  • NED语言
  • 基于Eclipse平台的仿真IDE
  • 交互性的仿真运行时GUI(Qtenv)
  • 执行仿真过程的命令行接口(Cmdenv)
  • 各种工具(各种creation tool等等)
  • 文档,很多样本等等

Models

目前OMNET++支持的模型包括:

  • queuing
  • resource modeling
  • 互联网协议
  • 无线网络
  • switched LANs
  • p2p网络
  • 流媒体
  • 移动ad-hoc网络
  • mesh网络
  • 无线传感网络
  • 车载网络
  • NoCs
  • 光纤网络
  • HPC系统
  • 云计算
  • SANs
  • 等等

所有的这些模型框架都是开源的,已经发展成为了独立的工程项目了。

 

INET框架可被视为omnet++的标准协议模型库。INET包含了网络栈、多协议、许多组件的模型。其他一些仿真框架也是基于INET的,并且在独特的方向上扩展开来。

2、用omnet++进行仿真

翻译总结自:Simulation with OMNeT++

本节将对如何使用omnet++进行一个总览:

  1. 一个OMNET++ model是用一些组合模块构造的,这些模块之间通过交换信息进行交流。一些模块可以组合到一块构成一个Compound Module。创建模型时,我们需要把我们的系统映射到层次性的通信模块中。
  2. NED语言定义模块结构。我们可以在两个地方编辑NED程序——1)文本编辑器中;2)图形编辑器中;这两个在IDE中分别是DesignSource
  3.  模型中各模块的逻辑活动需要在cpp文件中通过C++编程实现,使用各种仿真核心类库;

  4. omnetpp.ini中进行OMNET++的网络配置参数设置。一个配置文件可以同时描述多个具有不同参数的仿真网络的运行;
  5. 构建仿真程序并运行。我们需要将OMNET++仿真核心中实现的代码和OMNET++提供的用户界面相链接。用户界面分为命令行、交互性、图形用户界面三种。
  6. 仿真结果将被写入输出向量和输出文件中去。我们可以用IDE中的Analysis Tool去将之可视化。结果文件是基于文本的,所有我们也可用R、Matlab和其他语言工具进行处理。

3、omnet++ IDE的总览

这个IDE是基于Eclipse平台的。下图展示了这个IDE的主页面:

 

 ①NED编辑器

NED编辑器可以用图形文本两种方式编辑NED文件,使用者可以在使用时随意切换,通过下图中的Design、Source切换:

 

 在Design模式下,我们可以创建复合模块、信道其它类型的组件。子模块可以用右边的Palette中可用的模块类型创建出来。可视和不可视的属性可以在Properties View或者context menu对话框中进行修改。

 

 

②文本编辑器

 

文本模式允许用户直接使用NED源代码编程。当按下快捷键CTRL+SPACE之后,编辑器提供了可以感知完成上下文的keywords、module、parameter、gate、submodule。

 

 待续

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM