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++进行一个总览:
- 一个OMNET++ model是用一些组合模块构造的,这些模块之间通过交换信息进行交流。一些模块可以组合到一块构成一个Compound Module。创建模型时,我们需要把我们的系统映射到层次性的通信模块中。
- 用NED语言定义模块结构。我们可以在两个地方编辑NED程序——1)文本编辑器中;2)图形编辑器中;这两个在IDE中分别是Design与Source

模型中各模块的逻辑活动需要在cpp文件中通过C++编程实现,使用各种仿真核心类库;
- 在omnetpp.ini中进行OMNET++的网络配置和参数设置。一个配置文件可以同时描述多个具有不同参数的仿真网络的运行;
- 构建仿真程序并运行。我们需要将OMNET++仿真核心中实现的代码和OMNET++提供的用户界面相链接。用户界面分为命令行、交互性、图形用户界面三种。
- 仿真结果将被写入输出向量和输出文件中去。我们可以用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。
待续
omnet++:官方文档翻译总结(一)的更多相关文章
- omnet++:官方文档翻译总结(三)
翻译总结自:Turning it Into a Real Network - OMNeT++ Technical Articles 接官方文档翻译总结(二),本节主要是真实网络的搭建 Part 4 - ...
- omnet++:官方文档翻译总结(二)
这一部分是官方案例介绍 1.Introduction 学习自:Introduction - OMNeT++ Technical Articles 本教程是基于Tictoc的仿真案例,这些案例我们可以在 ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)中一些知识点
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Flume官方文档翻译--Flume 1.7.0 User Guide (unr ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(二)
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Logging raw data(记录原始数据) Logging the raw ...
- 蓝牙4.0——Android BLE开发官方文档翻译
ble4.0开发整理资料_百度文库 http://wenku.baidu.com/link?url=ZYix8_obOT37JUQyFv-t9Y0Sv7SPCIfmc5QwjW-aifxA8WJ4iW ...
- GreenDao官方文档翻译(上)
笔记摘要: 上一篇博客简单介绍了SQLite和GreenDao的比较,后来说要详细介绍下GreenDao的使用,这里就贴出本人自己根据官网的文档进行翻译的文章,这里将所有的文档分成上下两部分翻译,只为 ...
- Aircrack-ng官方文档翻译[中英对照]---Airdecap-ng
Aircrack-ng官方文档翻译---Airdecap-ng Description[简介] With airdecap-ng you can decrypt WEP/WPA/WPA2 capt ...
- Aircrack-ng官方文档翻译[中英对照]---Airmon-ng
Aircrack-ng官方文档翻译---Airmon-ng Description[简介] This script can be used to enable monitor mode on wire ...
- Aircrack-ng官方文档翻译[中英对照]---Aireplay-ng
Aircrack-ng官方文档翻译---Aireplay-ng[90%] Description[简介] Aireplay-ng is used to inject frames. Aireplay- ...
- Salt Stack 官方文档翻译 - 一个想做dba的sa - 博客频道 - CSDN.NET
OSNIT_百度百科 Salt Stack 官方文档翻译 - 一个想做dba的sa - 博客频道 - CSDN.NET Salt Stack 官方文档翻译 分类: 自动运维 2013-04-02 11 ...
随机推荐
- Vue3中的响应式对象Reactive源码分析
Vue3中的响应式对象Reactive源码分析 ReactiveEffect.js 中的 trackEffects函数 及 ReactiveEffect类 在Ref随笔中已经介绍,在本文中不做赘述 本 ...
- Td 内容不换行,超过部分自动截断,用...表示
转载请注明来源:https://www.cnblogs.com/hookjc/ <table width="200px" style="table-layout:f ...
- 【收藏】Supervisor的作用与配置
原文链接:https://www.jianshu.com/p/0226b7c59ae2 supervisor supervisor管理进程,是通过fork/exec的方式将这些被管理的进程当作supe ...
- ittun.com的使用方法
[如果这篇文章对你有所作用,请加关注哦!] 步骤一: 进入官网http://ittun.com/ Windows 64位下载http://ittun.com/upload/17.2/ittun_win ...
- CSS:第1课
CSS选择器有:id选择器.派生选择器 1.id选择器 id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式. id 选择器以 "#" 来定义. #red {colo ...
- HEAAN新版学习
本篇文章对最新版的HEAAN库进行研究,老版的介绍见 HEAAN库学习 主要参考:slide-HEAAN.pdf HEAAN介绍 HEAAN是一个支持在加密的复数数组之间进行操作的库,方案的安全性取决 ...
- 解决"Uncaught (in promise) Error: Navigation cancelled from "/" to "/login" with a new navigation"报错处理
Uncaught (in promise) Error: Navigation cancelled from "/" to "/login" with a ne ...
- 数值分析:最小二乘与岭回归(Pytorch实现)
Chapter 4 1. 最小二乘和正规方程 1.1 最小二乘的两种视角 从数值计算视角看最小二乘法 我们在学习数值线性代数时,学习了当方程的解存在时,如何找到\(\textbf{A}\bm{x}=\ ...
- 使用 Sa-Token 解决 WebSocket 握手身份认证
前言 相比于 Http 的单项通信方式,WebSocket 可以从服务器向浏览器主动推送消息,这一特性可以帮助我们完成诸如 订单消息推送.IM实时聊天 等一些特定业务. 然而 WebSocket 本身 ...
- 有序取出Map集合的元素
最近写到一个程序,返回了map,但是经过查阅资料,map是没有顺序的,各种查阅资料无果,最后自己写了这个方法.. 1,通过map集合的keySet()方法,获取到一个包含map所有key的Set集合 ...