无线传感器网络 与 OMNET++学习笔记(一)

无线传感器网络的仿真,研究人员设计开发了许多的仿真平台(或在现有平台建立无线传感器网络模型),包括NS-2, OPNET,  SensorSim, EmStar, OMNet++, G1oMoSim, TOSSIM, PowerTOSSIM等。   

1 NS-2

NS-2 (Network Simulator-2)是著名的用于网络研究的离散事件仿真工具,里面包括了大量的用于在有线或无线、本地连接或通过卫星连接进行TCP协议、路由算法、多播协议仿真的网络协议、调度器和工具。NS-2主要致力于OSI模型的仿真,包括物理层的行为。NS-2可以对仿真进行详细的跟踪并用仿真工具“网络动画播放器”C Network Animator (NAM)进行回放。NS-2是开放源码的自由软件,可以免费下载。有一些研究小组对NS-2进行了扩展,使它能支持无线传感器网络的仿真,包括传感器模型、电池模型、小型的协议栈、混合仿真的支持和场景工具等。由于NS-2对数据包级进行非常详细的仿真,接近于运行时的数据包数量,使得其无法进行大规模网络的仿真。

2 OPNET

OPNET建模工具是商业化的通信网络仿真平台。OPNET采用网络、节点和过程三层模型实现对网络行为的仿真。其无线模型是采用基于流水线的体系结构来确定节点间的连接和传播,用户可指定频率、带宽、功率和包括天线增益模式和地形模型在内的其它特征。OPNET提供了很多的模型,包括TCP/IP, 802.1 1 , 3G等。并已有一些研究人员在OPNET上实现对TinyOS的NesC程序的仿真。 但要实现无线传感器网络的仿真,还需要添加能量模型,而OPNET本身似乎更注重于网络QoS的性能评价。

3 SensorSim

SensorSim是建立在NS-2的一个采用DSR的802.11网络模型上的。SensorSim是用于WINS平台的,需要用SensorWare Tel脚本进行设计。SensorSim在仿真时跟踪了节点的能量使用情况,其能量模型来自WINS节点,使得其无法用于Mote平台的仿真。另外,SensorSim已经停止开发和支持,也无法下载到程序代码。

4 EmStar

EmStar提供了在仿真和基于iPAQ的运行Liunx的节点之间灵活切换的环境,用户可以选择在一个主机上运行多个虚拟节点进行仿真,也可以在一个主机上运行多个与真实的节点进行桥接的虚拟节点。EmSta:可以将无线传感器网络部署在一个友好的基于Linux的环境中,并进行跟踪和调试程序。EmTOS是用于在EmStar中进行TinyOS程序仿真的工具。 EmStar虽然不是一个真正意义上的无线传感器网络仿真工具,但却是一个很有用的用于对传感器网络的应用程序进行测试的环境。

5 GloMoSim

GloMoSim (Global Mobile Information Systems Simulation Library )是一个可扩展的用于无线和有线网络的仿真系统,根据OSI进行分层的建模设计。应用层、传输层、网络层、数据链路层、数据包接收模型、无线电模型和无线电波传播模型等不同的层次之间采用标准的APIs进行仿真。GIoMoSim采用Parsec进行设计开发,提供了对并行离散时间仿真的支持。G1oMoSim目前仅支持纯无线网络的协议仿真,可用于仿真传感器网络中的物理信道特征和数据链路协议的时延等特性。

6 TOSSIM

TOSSIM (TinyOS mote simulator)是用于对采用TinyOS的Motes进行bit级的仿真的工具。TOSSIM将TinyOS环境下的NesC代码直接编译为可在PC环境下运行的可执行文件,提供了不用将程序下载的真实的Mote节点上就可以对程序进行测试的一个平台。TOSSIM还提供了用于显示仿真情况的用户界面TinyViz.。TOSSIM的缺点是没有提供能量模型,无法对能耗有效性进行评价。

7 PowerTOSSIM

PowerTOSSIM是对TOSSIM的扩展,采用实测的MICA2节点的能耗模型对节点的各种操作所消耗的能量进行跟踪,从而实现无线传感器网络的能耗性能评价。PowerTOSSIM的缺点是。所有节点的程序代码必须是相同的,而且无法实现网络级的抽象算法的仿真。

8 OMNET++

主要由六个部分组成:

  • 仿真内核库(simulation kernel library,简称Sim)
  • 网络描述语言的编译器(network description compiler, nedc)
  • 图形化的网络编辑器(graphical network description editor,GNED)
  • 仿真程序的图形化用户接口-Tkenv
  • 仿真程序的命令行用户接口-Cmdenv
  • 图形化的输出工具-Plove和Scalar

结构:

猜你喜欢

转载自www.cnblogs.com/codinghard/p/11079479.html