OMNet++概述

  • 1. OMNeT++是一个可扩展的、模块化的、基于组件的C++仿真库和框架,主要用于构建网络模拟器。
    • 优势:
    • 1)OMNeT++提供了一个强大的GUI。这种强大的 GUI 使跟踪和调试比使用其他模拟器容易得多。
    • 2)虽然最初的OMNeT++不支持专门用于WSN模拟的模块库,但在支持团队的有意识贡献下,现在OMNeT++有一个移动框架。此模拟器可以支持 MAC 协议以及 WSN 中的一些本地化协议。人们可以使用OMNeT++来模拟WSN中的通道控制。
    • 3)OMNeT++可以模拟WSN中的功耗问题。
    • 弊端:降低复杂性、提高可维护性,并确保高效的系统运行。
    • 1)可用协议的数量不够大。
    • 2)由于各个研究小组单独开发模型,兼容性问题将上升,这使得模型的组合变得困难,并且程序可能具有很高的概率报告错误。
  • Veins是一款用于车载移动环境下无线通信仿真的开源框架,其对于车载无线网的底层结构,如物理层、MAC层等基于802.11p协议已基本开发完善,因此在此基础上进行二次开发,如改进MAC层协议或者路由协议等研究都是非常便携的。甚至如果是进行应用层上的研究,如车联网环境下的车辆自动驾驶、编队行驶、路径规划、信号灯区域协调等则更加方便,因为底层的结构可以直接使用,不必再浪费时间精力在这些并不是需要主要研究但却又对仿真结果影响重大的部分
  • OMNeT++提供了一种额外的机制来记录值和事件。 任何模型都可以发出可以携带值或对象的信号。模型编写只需要决定发出什么信号,附加什么数据 给他们以及何时发射它们。最终用户可以将“侦听器”附加到这些 可以处理或记录这些数据项的信号。这样模型代码不必包含特定于统计信息的任何代码集合和最终用户可以自由添加其他统计信息,而无需甚至查看C++代码。
  • 2 使用omnet仿真的一般步骤
  • 使用ned(network description)定义网络拓扑结构
  • 利用C++编写实现网络的各种行为
  • 编写配置文件指定网络参数, 利用配置文件启动项目
  • 3.Module的概念
  • 最低层的模块称为 简单模块(simple Module)
  • 模块可以添加到复合模块(compound module)中
  • 模块之间可以相互嵌套, 嵌套的层级没有限制
  • 模块之间可以定义继承关系
  • 04-Channel(信道)
  • 在ned文件中, 我们可以定义信道。我们也可以直接在connections中直接写出信道的属性, 省去了定义信道的步骤在定义不同
  • 1 omnet仿真原理
  • 01-离散事件模拟
  • 离散事件系统(Discrete Event System)是指事件发生在时间线中离散的部分, 对于计算机网络而言正像是如此
  • 离散事件模拟系统通过在称为FES (Future Event Set) or FEL (Future Event List) 的 数据结构中保存未来事件的集合来实现
  • omnet++底层使用了 二叉堆实现的优先级队列 和事件循环(Eventloop) 来实现了这一套模拟机制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值