第十二章无线传感器网络的仿真技术网络仿真概述无线传感器网络仿真研究现状与发展常用的仿真软件仿真软件比较第十二章无线传感器网络的仿真技术网络仿真概述无线传感器网络是由部署在监测区域内大量的微型传感器节点组成,通过随机自组织无线通信方式形成的网络系统。传感器节点有限的处理能力、存储能力、通信能力以及能量问题,决定了无线传感器网络在真实环境大规模部署前,必须对其性能、运行稳定性等因素进行测试,通过整合网络资源以使网络最优化。WSN的仿真方法必须具备以下五项关键特性:可伸缩性完整性可信性桥梁作用具有能量模型网络仿真概述无线传感器网络仿真研究现状与发展基于无线传感器网络的自身特点,无线传感器网络仿真模拟技术主要解决完整性、能耗模拟、大规模节点网络、可扩展性、高效性、异构性等问题。(1)完整性:无线传感器网络高度的应用相关性,使网络没有严格的层次划分,要求模拟器必须对节点的执行进行完整模拟。(2)能耗模拟:要求模拟器能对能量供应源、消耗源进行建模,支持能量仿真,对能耗有效性进行评价。(3)大规模节点网络:要求模拟器能同时模拟尽可能多的节点执行情况,适应大规模网络部署的需要。(4)可扩展性:模拟器能够根据不同的需要、应用环境进行功能扩展。(5)高效性:即仿真效率,要求模拟器用较短的时间、较少的内存占用量实现尽可能大规模的网络模拟。(6)异构性:传感器节点应该根据目标任务的不同来运行不同的应用,因此要求模拟器应具备模拟异构网络的功能。无线传感器网络仿真研究现状与发展主流的仿真平台分为两种:1.通用性的仿真平台主要包括OPNET、NS2和OMNET,其中NS2是一个开源软件,所有代码都是公开的,OMNET仿真工具容易入门,但对无线传感器网络传输层来说,OMNET的仿真效果不如其他仿真软件好。2.基于TinyOS的仿真平台TinyOS是一种无线传感器网络的操作系统,其复杂度和学习难度比通用型的要大得多常用的仿真软件--OPNETOPNET是一种优秀的图形化、支持面向对象建模的大型网络仿真软件,它具有强大的仿真功能,几乎可以模拟任何网络设备、支持各种网络技术,能够模拟固有通信模型、无线分组网模型和卫星通信网模型;同时,OPNET在对网络规划设计和现有网络分析中也表现较为突出。此外,OPNET还提供交互式的运行调试工具和功能强大、便捷、直观的图形化结果分析器以及能够实时观测模型动态变化的动态观测器。2.三层建模机制OPNETModeler采用三层建模机制,分别是进程域建模、节点域建模和网络域建模,建模顺序由下到上。下面就简要介绍一下OPNET的建模机制。1)网络建模网络建模是指通过链路将设备互联形成网络级的网络,它需要对网络有正确的拓扑描述。网络域包括了在其他建模域中定义的所有对象,因此网络模型描述了整个仿真系统。网络模型包括三个基本对象:子网、节点和链路。常用的仿真软件--OPNET2)节点建模互联进程级对象可形成节点级的设备,每一个节点模型其实就是一个网络对象(链路除外),它由一个或多个模块(Module)组成,每一个模块能够生成、发送或从别的模块接收数据包以完成它在节点内的功能。在节点级,模块都是黑匣子,内部结构对用户不可见,但用户可以通过配置其属性的方式来控制模块的行为。3)进程建模进程建模是建模机制的最底层,进程模型使用有效状态机(FSM)来描述进程的逻辑行为——协议;通过状态转移图(STD)的状态和转移两个方面来描述模块的行为。常用的仿真软件--OPNET常用的仿真软件–NS-2NS-2是面向对象、离散事件驱动的网络环境模拟器,它支持众多的协议,并提供了丰富的测试脚本,主要用于解决网络研究方面的问题,它本身有一个虚拟时钟,所有的仿真都由离散事件驱动。使用NS2进行网络仿真的方法和一般过程(1)开始编写OTCL脚本。首先配置模拟网络拓扑结构,此时可以确定链路的基本特性,如延迟、带宽和丢失策略等。(2)建立协议代理,包括端设备的协议绑定和通信业务量模型的建立。(3)配置业务量模型的参数,从而确定网络上的业务量分布。(4)设置Trace文件。NS2通过Trace文件来保存整个模拟过程。在仿真结束后,用户可以对Trace文件进行分析研究。(5)编写其他的辅助过程,设定模拟结束时间,至此OTCL脚本编写完成。(6)用NS2解释执行刚才编写的OTCL脚本。(7)对Trace文件进行分析,得出有用的数据。(8)调整配置拓扑结构和业务量模型,重新进行上述模拟过程。常用的仿真软件--TOSSIM1.TinyOSWSN嵌入式操作系统TinyOS以及编程语言nesC由伯克利分校开发并维护,TinyOS面向组件,基于事情驱动。一个TinyOS程序可以用组件图表示,每个组件具有私有变量,组件有三个计算抽象:命令、事件和任务。命令和事件实现组件间的通信,任务体现了组件间的并行性。命令是组件的某种服务请求,如初始化传感器读操作;事件是服务请求完成的信号,事件可以是异步的,如硬件中断或消息的到来。命令和事件不能被阻塞,命令立即返回,经过一定时间,标志服务请求完成的信号到来。命令和事情立即执行,而命令和事件的处理程序可以发布任务,任务的执行由TinyOS调度,这样的机制实现命令和事件立即返回,同时把计算任务发布出去。常用的仿真软件--TOSSIM仿真系统结构仿真软件比较--OPNETVSNS2OPNET可以对分组的到达时间分布、分组长度分布、网络节点类型和链路类型等进行详细的设置,通过不同厂家提供的网络设备和应用场景来设计自己的仿真环境,用户也可以方便地选择库中已有的网络拓扑结构;NS2在这方面的选择不如OPNET丰富,只能根据实际仿真的环境通过脚本建立逻辑的网络结构,而查看结果则需要其他软件的辅助。在操作易用性方面,OPNET的优越性是毋庸置疑的,它可以使用比较少的操作得到较详尽和真实的仿真结果;而NS2则要通过编写脚本和C++代码来实现网络仿真,而且用这种方式建立复杂的网络则变得非常困难。NS2与TOSSIM相比较而言,NS2工作在网络数据包级,允许一定范围内的异构网络仿真,决定误包率的复杂模型用OTCL和C语言编写,和协议实现了分离;而TOSSIM则提供了网络模型的TinyOS仿真器。仿真软件比较--NS2VSTOSSIM