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。

 

 待续

 

posted @   ShineLe  阅读(3053)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示