APP下载

ZigBee簇状网的OMNeT++仿真模型

2012-08-18牟杰蔡自兴刘丽珏

智能系统学报 2012年1期
关键词:路由表网络层路由器

牟杰,蔡自兴,刘丽珏

(中南大学信息科学与工程学院,湖南长沙 410083)

ZigBee簇状网的OMNeT++仿真模型

牟杰,蔡自兴,刘丽珏

(中南大学信息科学与工程学院,湖南长沙 410083)

最新版的ZigBee 2007协议规范允许在一个网络中部署64 000个节点以上,但目前市场和技术尚未完全成熟,国内仍无大规模节点部署的实例.为了给大规模部署Zigbee节点的研究提供参考模型,通过OMNeT++仿真环境,围绕Zigbee 2007协议中定义的网络结构及AODV路由算法进行了大规模节点的组网和路由仿真.仿真实验表明,该模型具有Zigbee 2007网络层和介质访问控制层的组网和路由功能,成功实现了大规模节点的自组网和数据传输,可用于大规模部署ZigBee节点的可行性研究.

ZigBee;OMNeT++;AODV;大规模节点网络;仿真模型

无线传感器网络,尤其是成百上千个节点的网络研究必须依赖于仿真模型.通常,仿真模型要尽可能接近实际情况,同时易于修改和扩展.文献[1]针对少数节点的星型无线传感器网络进行了仿真建模,文献[2]建立的模型使用全局拓扑结构控制和GEAR路由.前者不符合大规模网络的要求,后者不符合外设资源有限的无线传感器节点网络的实际条件.文献[3]基于Worldsens的一部分WSNet建立了大规模节点模型XS-WSNet,但是Worldsens扩展性能不理想.文献[4]基于TinyOS的仿真组件TOSSIM建立了一个具有能量约束的分布式仿真模型,根据文献[5]对仿真工具的对比分析,TOSSIM的使用比较复杂并且仅适用于MICA节点平台,不利于后续的开发.文献[5-6]均指出 OMNe T++是一款流行的、扩展性能极好且运行效率高的网络仿真工具.故基于文献[5-6]的分析,本文使用OMNeT++仿真工具,根据最新的无线传感器网络协议 ZigBee 2007建立一个大规模节点网络的仿真模型,该模型具有自组网和点对点路由功能,基于模块和面向对象的设计便于后续开发者使用,为研究现实中部署大规模传感器节点,如土地监测等应用,提供可靠的参考模型.

1 OMNeT++简介

OMNeT++是一个优秀的网络仿真IDE(integrated development environment),其开发界面类似于开发JAVA常用的ECLIPSE,平台使用C++和NED(network description)作为开发语言.NED语言用于定义一个模块,通过几个简单的向导例子就能轻松掌握.模块分为简单模块和组合模块,简单模块的功能由用户的C++代码实现,组合模块由简单模块组合而成.

OMNeT++是基于离散事件驱动的,一个事件即一个消息,仿真中的节点在接收到消息后进行相关操作,当整个网络中不再有消息传递时仿真停止运行.OMNeT++中的图形接口称为Tkenv,它可以出色地显示网络连接的各种事件和状态(比如收发消息、节点之间的连接状态等),并能对事件及数据进行记录和统计.

2 通信协议简介

IEEE 802.15.4-2003 协议[7]将设备分为全功能设备(full-function device,FFD)和简单功能设备(reduced-function device,RFD),全功能设备根据在网络中的角色又可分为网络协调器(personal area network coordinator,PAN coordinator)和协调器(coordinator).在IEEE 802.15.4-2003标准中,簇状网是一个多子网(cluster,也称为簇)构成的网络,如图1所示.图1中的连线表示父设备与子设备的关系,不表示信息流.每个子网呈树形展开,由一个簇头(cluster head)负责与其他子网通信和维护本子网通信.簇头在子网内的16 bit短地址(short address)为0,在子网内的其他设备的短地址由簇头分配.

图1 IEEE 802.15.4-2003定义的簇状网Fig.1 Cluster-tree network defined by IEEE 802.15.4-2003

ZigBee协议[8]是 ZigBee 联盟根据IEEE 802.15.4-2003标准制订的低速率、低功耗、全双工的无线通信协议,最新的ZigBee 2007(下文均称为Zig-Bee Specification)是目前惟一获得ZigBee联盟董事会许可的版本.

ZigBee Specification将设备分为协调器(ZigBee coordinator)、路由器(ZigBee router)和终端设备(ZigBee enddevice).ZigBee协调器即IEEE 802.15.4-2003的网络协调器,ZigBee路由器即IEEE 802.15.4-2003的路由器,ZigBee协调器和ZigBee路由器都是全功能设备,两者的角色是可以互相转换的.ZigBee终端设备即IEEE 802.15.4-2003的简单功能设备,简单功能设备之间不能直接进行通信,要通过其父节点(全功能设备)进行通信.ZigBee Specification描述的通信过程不涉及网间通信,即ZigBee网络仅仅描述图1中网络协调器所在的子网而不涉及其他子网.

在本文中,ZigBee簇状网指ZigBee Specification中的对等网络(mesh network),把每个路由器及其子设备看成一个簇,如图2所示.

图2 ZigBee Specification定义的对等网络Fig.2 Mesh network defined by ZigBee Specification

3 ZigBee簇状网的仿真模型设计

本模型设计的主要目的是实现大规模ZigBee节点的自组网和点对点路由,为研究ZigBee节点部署提供参考依据,故模型包含了介质访问控制层和网络层的组网和点对点路由功能,如图3所示,应用层仅用于产生净载荷.

通常,建立模型前需要提出一些假设条件,本模型做如下假设:1)信道是无损、无延迟的理想信道;2)鉴于ZigBee路由器与ZigBee协调器的角色可以相互转换,认为所有ZigBee路由器都可作为潜在的ZigBee协调器,模型中不单独设计ZigBee协调器;3)网内通信使用16 bit短地址,且短地址为静态分配,使用OMNeT++给模块分配的ID号作为短地址;4)广播消息不设置重发.在以上假设条件下,仿真模型设计如下.

图3 ZigBee节点模型Fig.3 Node model of ZigBee

3.1 参数

网络节点个数可以选取任意值,出于仿真时间成本的考虑,总共使用500个节点,具体网络参数见表1.

表1 网络关键参数Table 1 Parameters of the network

3.2 帧格式

关于帧格式的细节请查阅文献[8-9],本文对帧格式做了适当简化:数据包(packet)包括MAC层帧头(如表2所示)和网络层消息.网络层消息有4种,包括连接请求消息、连接确认消息、路由请求消息和路由应答消息,网络层消息由网络层帧头和网络层载荷组成,如表3~7所示.

表2 MAC层帧头Table 2 MAC header

表3 网络层帧头Table 3 NWK header

表4 连接请求消息的网络层载荷Table 4 Payload field of the connection request command

表5 连接确认消息的网络层载荷Table 5 Payload field of the connection confirm command

表6 路由请求消息的网络层载荷Table 6 Payload field of the routing request command

表7 路由应答消息的网络层载荷Table 7 Payload field of the routing reply command

3.3 自组网

由文献[8]得知2.4GHz ZigBee模块 CC2430的传输距离约为100 m.组网过程中,ZigBee终端设备向其通信半径内最近的ZigBee路由器发出连接请求,ZigBee路由器之间也互相发送连接请求,请求成功后相互将对方添加到自己的邻居表中.网络节点随机均匀分布在750 m×750 m的区域内,连接过程可用伪代码表示为:这里需要说明的是,“<-->”在NED语言中表示2个门(gates)之间互连,门即消息传递的接口.

3.4 路由算法

ZigBee协议规范使用的路由算法是经典的AODV(Ad hoc on-demand distance vector)算法[10],该算法依赖于2个表——路由发现表(route discovery table)和路由表(route table),分别如表8~9所示.

表8 路由发现表Table 8 Route discovery table

表9 路由表Table 9 Route table

启动路由发现后,ZigBee路由器向通信距离内的其他路由器广播路由请求,发起或转播路由请求的ZigBee路由器均建立以上2个表.其中路由发现表记录了路由请求ID、发起路由的源地址、转发路由请求节点的地址、前向代价(路由请求消息中的pathCost)、后向代价(路由应答消息中的pathCost)以及路由发现超时时间.路由表中记录了路由请求的目的地址、路由的下一跳地址和路由状态.

当先后抵达ZigBee路由器的2个路由请求的routeRequestID和sourceAddress均相同时,路由器只转播前向代价最小的请求,同时更新路由发现表.当多个路由请求均指向同一个目的地址时,路由器在其路由表中仅建立一个与目的地址相应的记录,同时在其路由发现表中建立几个不同的路由请求记录,如图4所示.

当目的节点接收到路由请求,它就给发送路由请求的邻居回发一个路由应答.在接收到路由应答后,ZigBee路由器更新路由表的nextHopAddress,使之成为最小后向代价的应答消息的发送者.最后,从路由表中的nextHopAddress可确定一条从路由源地址到目的地址的代价最小路径.

图4 路由发现表与路由表的对应关系Fig.4 The relationship between route discovery table and route table

3.5 净载荷(goodput)

组网完成后,在终端设备上每10 s随机产生一个地址,若该地址与自己的地址相同,则终端设备生成一个数据包(data),并随机挑选一个ZigBee路由器作为目的节点.

4 仿真结果

ZigBee簇状网的局部网络放大后如图5所示,图中连线表示2个设备成功连接,end表示enddevice,rte表示 router.

图5 路由器将终端设备的数据包暂存Fig.5 The data packet temporary storage in routers

图5中,end[346]要给 rte[84]发送 1 个数据包,先将数据包发给其父节点 rte[39],由于 rte[39]不是数据包的目的节点,目的节点rte[84]不是rte[39]的邻居,并且 rte[39]没有 rte[84]的相应路由记录,所以rte[39]只能将数据包暂存并为该数据包寻找路由.

当rte[39]成功收到路由应答后,它先更新路由表,然后从数据队列中取出数据包,将数据包的目的地址与路由表中的目的地址比对,若相同且路由表状态为ACTIVE,则将数据包发给路由表中nextHopAddress对应的邻居.邻居继续沿路由表中对应的nextHopAddress转发下去,最后rte[84]成功接收到end[346]发给它的数据包,如图6所示.

图6 数据包成功路由到目的地址Fig.6 The data packet has been successfully routed to its destination

5 结束语

为研究大规模无线传感器网络的部署提供参考,通过分析IEEE 802.15.4和ZigBee2007协议,运用开源、构件化、面向对象设计的网络仿真工具OMNeT++建立了大规模ZigBee节点的网络仿真模型.仿真结果表明,该模型具有大规模节点的自组网和路由功能,为研究现实中部署ZigBee节点提供了可靠友好的仿真环境.后续的工作可以分3个方向:1)继续完善本模型,如增加节点移动性能,改进信道模型,增加传感模块和能量模块等,实现网络覆盖、能量效率、安全加密等功能,以满足部署ZigBee节点的研究需要;2)加入不同的无线传感器通信协议,比较不同协议之间的性能;3)基于不同的仿真工具开发仿真模型,比较各个模型的性能,为不同的应用场合提供量材定制的仿真环境.

[1]FENG Chen,FALKO D.A simulation model of IEEE 802.15.4 in OMNeT++[C]//Proceedings of the 6th GI/ITG KuVS Fachgesprach Drahtlose Sensornetze.Aachen,Germany,2007:35-38.

[2]CHEN Jiming,ZHANG Jianhui,XU Weiqiang,et al.The development of a realistic simulation framework with OMNeT++[C]//Second International Conference on Future Generation Communication and Networking.Sanya,China,2008:497-500.

[3]ALI A,SEBASTIEN T.XS-WSNet:extreme scale wireless sensor network simulation[C]//2010 IEEE International Symposium on a World of Wireless Mobile and Multimedia Networks.Montreal,Canada,2010:1-9.

[4]MINA J,JAE C.SWARM-eTOSSIM:a simulator for distributed energy-constrained tiny devices[C]//2011 Tenth International Symposium on Autonomous Decentralized Systems.Kobe,Japan,2011:17-24.

[5]MUHAMMAD Z,BOB A,FAYCAL B,et al.Limitations of simulation tools for large-scale wireless sensor networks[C]//2011 Workshops of International Conference on Advanced Information Networking and Applications.Singapore,2011:820-825.

[6]EYANGELIA K,VASSILIOS V.Assessment of network simulators for real world WSNs in forest environments[C]//2011 International Conference on Networking,Sensing and Control.Delft,Netherlands,2011:427-432.

[7]LAN/MAN Standards Committee of the IEEE Computer Society.SS95127 Part 15.4:wireless medium access control(MAC)and physical layer(PHY)specifications for lowrate wireless personal area networks(LR-WPANS) [S].New York,USA:The Institute of Electrical and Electronics Engineers Inc,2003:29-160.

[8]ZigBee-Alliance.ZigBee specification:document 053474r17[S].San Ramon,CA,USA:ZigBee-Alliance Inc,2008:259-418.

[9]郭宏福,白丽娜,郭志华.2.4 GHz Zigbee数传模块传输距离的估算方法[J].西安电子科技大学学报,2009,36(4):691-695.

GUO Hongfu,BAI Li’na,GUO Zhihua.Estimation method for the transmission distance for the 2.4 GHz Zigbee application[J].Journal of Xidian University,2009,36(4):691-695.

[10]CHARLES E,ELIZABETH M.Ad-hoc on-demand distance vector routing[C]//Proceedings of the Second IEEE Workshop on Mobile Computing Systems and Applications.New Orleans,USA,1999:90-100.

牟杰,男,1987年生,硕士研究生,主要研究方向为无线传感器网络.

蔡自兴,男,1938年生,教授,博士生导师,首届国家级教学名师奖、宝钢教育基金优秀教师特等奖和徐特立教育奖获得者,国际导航与运动控制科学院院士、纽约科学院院士,任中国人工智能学会第5届理事会副理事长及智能机器人专业委员会主任、中国自动化学会理事、中国计算机学会模式识别与人工智能专委会委员等.主要研究方向为智能系统、人工智能、智能控制、智能机器人等.主持并完成包括国家自然科学基金重点项目在内的科教研究项目30余项,其中获国际奖励2项、国家级奖励2项、省部级等奖励15项.发表学术论文660余篇,出版专著、教材32部.

刘丽珏,女,1973年生,副教授,主要研究方向为人工智能、智能计算、传感器网络、多机器人等.

A simulation of the ZigBee cluster-tree network in OMNeT++

MOU Jie,CAI Zixing,LIU Lijue
(Institute of Information Science and Engineering,Central South University,Changsha 410083,China)

ZigBee 2007 offers full wireless mesh networking capable of supporting more than 64,000 devices on a single wireless sensor network.Due to immature markets and technology,a deployment with hundreds of thousands of nodes does not exist at present.By using the OMNeT++simulation IDE,a simulation model of a large-scale network according to the ZigBee 2007 protocol was created which aimed at providing a reference model for deploying a large-scale sensor network.The model implemented the networking and routing functions of the network layer and medium access control layer according to the ZigBee 2007 protocol,and successfully established an ad-hoc network while transmitting data internally.For these reasons,it can be used for the study of deploying a large-scale ZigBee network.

ZigBee;OMNeT++;AODV;large-scale network;simulation model

TP393

A

1673-4785(2012)01-0056-05

10.3969/j.issn.1673-4785.201107001

http://www.cnki.net/kcms/detail/23.1538.TP.20120210.1640.001.html

2011-07-03. 网络出版时间:2012-02-10.

国家自然科学基金资助项目(90820302,61175064).

牟杰.E-mail:JoeccMou@csu.edu.cn.

猜你喜欢

路由表网络层路由器
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
基于OSPF特殊区域和LSA的教学设计与实践
研究路由表的查找过程
论物联网安全威胁及其应对策略
物联网技术在信息机房制冷系统中的应用
Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
IP 路由技术与RIP 协议探析