APP下载

基于OPNET的大规模无线传感器网络的建模与仿真∗

2018-11-28

计算机与数字工程 2018年11期
关键词:网络层结点路由

王 健

(广州大学华软软件学院 广州 510990)

1 引言

WSN是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,以协作地感知、采集、处理和传输网络覆盖地理区域内被感知对象的信息,并最终把这些信息发送给网络的所有者。无线传感器网络在救援救灾、环境检测、医疗保健、智能家居、工业生产等多个领域有着广泛的应用前景,得到了学术界和工业界的广泛关注。

仿真技术作为理论研究和实验研究之后的第三种认识和改造世界的重要方法,已成为目前WSN研究的重要科学手段[4]。能够根据应用要求和评价指标设计网络模型,获取在不同网络参数和网络协议下的运行数据,分析并验证网络设计方案,非常适合WSN的研究[5]。一方面,由于WSN具有网络规模大、设备型号各异、仿真耗时长、节点采用分层结构的特点;另一方面,WSN发的展日新月异,新的协议算法层出不穷,并需要与其他系统协同工作才能完成预期目标等特点,对仿真技术提出了更高的要求[1]。在WSN仿真中常用的仿真平台有OPNET、NS2、TinyOS、OMNeT++,鉴于OPNE拥有仿真速度快,内存消耗少等特点[6],因此,本文使用OPENT对WSN进行了建模和仿真,给出了仿真步骤及其仿真实现方法,验证了使用OPENT进行WSN的有效性。

2 OPENT仿真平台

2.1 OPNET简介

OPNET最早在1986年由麻省理工大学的两个博士创建,于1987年实现商业化,企业界如Cisc,运营商如AT&T,均采用OPNET进行各种模拟测试[7],特点是针对研究领域,提供了开放的环境,为用户使用丰富的模型库的同时,也提供了高度灵活的自定义建模方式,为通信协议和路由算法的研究提供了与真实网络相同的环境,具有丰富的统计量收集和分析功能,可直接收集常用的各个网络层次的性能统计参数,能方便编制和输出仿真报告[9]。

2.2 建模机制

从协议间关系的角度来看,模型符合OSI标准的分层概念(业务层→TCP层→IP层→IP封装层→ARP层→MAC层→物理层)[6],从网络层次关系的角度来看,采用了灵活的三层建模机制如图1所示,最低层为进行模型(process),通过状态机来技术协议;中间层为节点层模型(node),由相应的协议模型构成,反映设备的特性;最上层为网络模型,通过结点模型来形成不同的网络拓扑结构。三个层次的模型与实际的网络拓扑、硬件设备、协议层完全对应,能全面地反映网络的相关特性[12]。

图1 OPNET三层建模机制

2.3 仿真机制

OPNET提供矢量统计量和标题统计量,矢量统计量分为本地统计量和全局统计量,本地统计量只针对单个节点,其结果只能反映单个节点的行为;全局统计量针对整个网络模型,关注整个网络的行为和性能,例如:延时、负载和性能。标量统计量由用户自定义完成,一般将仿真属性设置为多个取值,然后运行仿真序列,这样可以针对每个参数设置产生一个仿真结果。

3 基于OPNET的WSN建模

3.1 网络域建模

OPNET提供了方便的图形化网络域建模,但在进行大规模WSN的建模时,特别是几千个节点时,手工部署过于繁琐,因此本文通过编辑EMA文件,使用程序随机化部署的方式来生成网络域,为了保证随机的均匀性,采取了根据当前节点的位置来随机生成下一个节点的位置的方法,在生成节点坐标的过程中,设定了节点最小距离的阈值,避免了各个节点的位置太近,最后生成了一个包含800个节点的网络域模型(效果较好,基本没有出现部分节点簇拥在一起的情况,如图2所示,定义362号节点为源节点,396为目标节点,init为结果收集节点,分别用圆圈标记)。

图2 网络域模型

3.2 节点域建模

节点模型分为普通传感器节点和结果收集节点,普通传感器节点模型分层如图3所示。其中应用层(sensor)定期产生数据包来模拟传感器采集到的数据;网络层(network)接收应用层数据,按照给定的路由算法进行发送,这一层普通节点模型设计的重点,可以用来测试各种不同的路由算法;MAC初始化层是在OPNET提供的802.11标准模型上进行修改,作为MAC层和网络层中介;MAC层负责信道共享的处理。结果收集节点只有一个进程,其他进行在需要统计数据时给结果收集进行发送中断,节点收集进行触发相应的状态处理结果,并将运行结果写到文件中。

图3 普通结点模型

3.3 进程域建模

模型运行时根据模型状态流程可以分为三类结点,分别是源节点、目标节点、中间节点,对应着数据的发送、转发和接收这三个动作,这一过程由普通节点根据相应配置来实现,因此进程域建模主要工作就是普通节点的各个层的进行建模。

应用层进程模型如图4所示,Init初始化变量,源节点发送GEN_PKT中断,Generate创建数据包并发送,然后发送自中断,Sink接收网络层发过来的数据包,结束后进行Idle状态,Stop停止发送数据;网络进程模型如图5所示,如果是源节点状态,则发送数据,并在Idle和NotifyAppSendData两个状态之间切换,如果是目标节点状态,则接收数据,在Idle和Sink两个状态之间切换,对于中间节点,则转发数据,在Idle和ChkSeq、GPSR状态之间切换。

图4 应用层进程模型

图5 网络层模型

3.4 结果收集建模

表1 网络层信息统计

整个仿真模型采用一个结果收集节点来收集信息,如图2中右上角所标示的节点,节点中只有一个全局进程模型,其他节点通过对其发送中断的形式来获取统计数据,结果收集节点进程触发状态来进行处理,然后将结果写入磁盘文件。以网络层为例,参数的具体的计算依据如表1所示。

4 GPSR路由协议仿真

4.1 协议原理

GPSR是一种基于地理位置信息的路由算法,采用贪婪算法来建立路由,当源结点S向目标节点D发送数据时,它首先在自己的所有邻居节点中选择一个距节点D最近的节点作为数据分组的下一跳,然后将数据传送给它[14]。在转发过程中,每个转发节点都知道相邻节点的位置,并一直重复上述过程,直到数据分组到达目的节点D或某个最佳主机。图6给出了贪婪转发选取下一跳节点的示例,当节点m接收到一个目标节点为D的数据包时,图中阴影的圆表示节点m的信息覆盖范围,虚线的弧线是以n和D之间距离为半径的圆弧,从图中可知节点节点m是n覆盖范围内最接近D的,所以n是m所选择的下一跳。

图6 GPSR下一跳选择示例

4.2 运行仿真并查看结果

设定仿真时间为120s,设定源节点2与目标节点436的能量为无限,其他普通结点的能量受限,数据发送的路径如图7所示,因为是基于最短路径的路由,所以每次仿真的路由都是同一个路径。

图7 GPSR路由

5 结语

OPNET是一个优秀的可视化离散事件仿真软件。本文在分析WSN路由协议的同时,借助它对GPSR协议进行了仿真。在仿真中的性能表现非常出色,其自身特点使得它完全能够满足无线传感器网络的需求。通过OPENT的仿真将WSN路由协议通过动画形象化地展示,有助于相关研究人员和初学无线传感器仿真的研究人员更容易快捷地分析、掌握和研究无线传感器网络。

猜你喜欢

网络层结点路由
LEACH 算法应用于矿井无线通信的路由算法研究
基于八数码问题的搜索算法的研究
数据通信中路由策略的匹配模式
路由选择技术对比
OSPF外部路由引起的环路问题
路由重分发时需要考虑的问题
论物联网安全威胁及其应对策略
物联网技术在信息机房制冷系统中的应用
浅析TDCS/CTC系统中心网络防火墙的链接