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 ...
随机推荐
- /etc/passwd详解
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/n ...
- Power Apps 创建响应式布局
前言 我们都知道Power Apps作为低代码平台,最大的优势就是各个设备之间的兼容性,尤其是自带的响应式布局,非常好用. 这不,我们就为大家分享一下,如何使用Power Apps画布应用,创建响应式 ...
- Java 基础02
参照:https://www.cnblogs.com/ZXF6/p/11530009.html 类和对象 /** * java 中的类和对象 * * 一.局部变量的作用域. * * 二.面向对象的概述 ...
- attachEvent
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- java基础之设计模式之单例模式
关于单例模式: 单例,即单一实例.因为在一些情况下,某些类的对象,我们只需要一个就可以了,所以我们要用到单例模式. 单例模式的目的是使得一个类中的一个静态对象成为系统中的唯一实例,提供一个访问该实例的 ...
- Block基本概念
1.什么是Block Block是iOS中一种比较特殊的数据类型 Block是苹果官方特别推荐使用的数据类型, 应用场景比较广泛 动画 多线程 集合遍历 网络请求回调 Block的作用 用来保存某一段 ...
- python日志装饰器实现
问题出自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143184355 ...
- Shell编程之循环语句与echo的用法
Shell编程之循环语句与echo的用法 目录 Shell编程之循环语句与echo的用法 一.echo用法 1. echo常用选项 2. 常用的转义字符 3. 特殊符号%.#的用法 二.循环语句 1. ...
- docker | jenkins 实现自动化部署项目,后端躺着把运维的钱挣了!(上)
前言 背景 最近在帮学校导师写项目,团队有4个人,项目前后端分离.如果是选择瀑布式开发:(在约定好接口的情况下)A.B同学写前端,C.D同学写后端,然后约定一个时间统一联调,最后将项目交付安装到客户机 ...
- Git重命名远程分支
一.重命名本地分支 将hot_fix分支重命名为bug_fix git branch -m hot_fix bug_fix 二.推送重命名后的本地分支到远程仓库 git push origin bug ...