第7卷第1期 智能系统学报 Vol.7 No.1 2012年2月 CAAI Transactions on Intelligent Systems Feh.2012 D0I:10.3969/i.issn.16734785.201107001 网络出版t地址:htp://www.cnki.net/kcma/detail/23.1538.TP.20120210.1640.001.html ZigBee簇状网的OMNeT+仿真模型 牟杰,蔡自兴,刘丽珏 (中南大学信息科学与工程学院,湖南长沙410083) 摘要:最新版的ZigBee2007协议规范允许在一个网络中部署64000个节点以上,但目前市场和技术尚未完全成 熟,国内仍无大规模节点部署的实例.为了给大规模部署Zighee节点的研究提供参考模型,通过OMNT++仿真环 境,围绕Zig-e20O7协议中定义的网络结构及AODV路由算法进行了大规模节点的组网和路由仿真.仿真实验表 明,该模型具有Zgbe2007网络层和介质访问控制层的组网和路由功能,成功实现了大规模节点的自组网和数据传 输,可用于大规模部署Z乙igBee节点的可行性研究. 关键词:ZigBee:OMNeT++;AODV;大规模节点网络;仿真模型 中图分类号:TP393文献标志码:A文章编号:16734785(2012)01005605 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) Abstract: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. Keywords:ZigBee;OMNeT++;AODV;large-scale network;simulation model 无线传感器网络,尤其是成百上千个节点的网 建立了一个具有能量约束的分布式仿真模型,根据 络研究必须依赖于仿真模型.通常,仿真模型要尽可 文献[5]对仿真工具的对比分析,TOSSIM的使用比 能接近实际情况,同时易于修改和扩展.文献[1]针 较复杂并且仅适用于MICA节点平台,不利于后续 对少数节点的星型无线传感器网络进行了仿真建 的开发.文献[56]均指出OMNe T++是一款流行 模,文献[2]建立的模型使用全局拓扑结构控制和 的、扩展性能极好且运行效率高的网络仿真工具,故 GEAR路由.前者不符合大规模网络的要求,后者不 基于文献[56]的分析,本文使用OMNeT+仿真工 符合外设资源有限的无线传感器节点网络的实际条 具,根据最新的无线传感器网络协议ZigBee2007 件.文献[3]基于Worldsens的一部分WSNet建立了 建立一个大规模节点网络的仿真模型,该模型具有 大规模节点模型XS-WSNet,但是Worldsens扩展性 自组网和点对点路由功能,基于模块和面向对象的 能不理想.文献[4]基于Tiny0S的仿真组件TOSSIM 设计便于后续开发者使用,为研究现实中部署大规 模传感器节点,如土地监测等应用,提供可靠的参考 收稿日期:20110703.网络出版时间:201202-10. 模型 基金项目:国家自然科学基金资助项目(90820302,61175064) 通信作者:牟杰.E-mail:JoeccMou@csu.edu.cn
第1期 牟杰,等:ZigBee簇状网的OMNeT+仿真模型 ·57 ZigBee协议]是ZigBee联盟根据IEEE802, 1 OMNeT+简介 15.4-2003标准制订的低速率、低功耗、全双工的无 OMNeT++是一个优秀的网络仿真IDE(inte 线通信协议,最新的ZigBee2007(下文均称为Zig grated development environment),其开发界面类似于 Bee Specification)是目前惟一获得ZigBee联盟董事 开发JAVA常用的ECLIPSE,平台使用C+和NED 会许可的版本. (network description)作为开发语言.NED语言用于 ZigBee Specification将设备分为协调器(ZigBee 定义一个模块,通过几个简单的向导例子就能轻松 coordinator)、路由器(ZigBee router)和终端设备 掌握.模块分为简单模块和组合模块,简单模块的功 (ZigBee enddevice).ZigBee协调器即IEEE802.l5. 能由用户的C+代码实现,组合模块由简单模块组 4-2003的网络协调器,ZigBee路由器即EEE802. 合而成。 15.4-2003的路由器,ZigBee协调器和ZigBee路由 OMNeT+是基于离散事件驱动的,一个事件 器都是全功能设备,两者的角色是可以互相转换的 即一个消息,仿真中的节点在接收到消息后进行相 ZigBee终端设备即EEE802.15.4-2003的简单功 关操作,当整个网络中不再有消息传递时仿真停止 能设备,简单功能设备之间不能直接进行通信,要通 运行.OMNeT++中的图形接口称为Tkenv,它可以 过其父节点(全功能设备)进行通信.ZigBee Specifi- 出色地显示网络连接的各种事件和状态(比如收发 cation描述的通信过程不涉及网间通信,即ZigBee 消息、节点之间的连接状态等),并能对事件及数据 网络仅仅描述图1中网络协调器所在的子网而不涉 进行记录和统计. 及其他子网. 在本文中,ZigBee簇状网指ZigBee Specification 2 通信协议简介 中的对等网络(mesh network),把每个路由器及其 EEE802.15.4-2003协议7将设备分为全功能 子设备看成一个簇,如图2所示 设备(ful-function device,FD)和简单功能设备(re duced-function device,RFD),全功能设备根据在网络 中的角色又可分为网络协调器(personal area network coordinator,PAN coordinator)和协调器(coordinator). 在EEE802.15.4-2003标准中,簇状网是一个多子网 (cluster,也称为簇)构成的网络,如图1所示.图1中 。ZigBee协调器 的连线表示父设备与子设备的关系,不表示信息流 ®LigBeeh路由器与终 端设备构成的簇 每个子网呈树形展开,由一个簇头(cluster head)负责 OZigBeel路中器FFD) 与其他子网通信和维护本子网通信.簇头在子网内的 o ZigBees终端设备(RD) 16bit短地址(short address)为0,在子网内的其他设 图2 ZigBee Specification定义的对等网络 备的短地址由簇头分配. Fig.2 Mesh network defined by ZigBee Specification 3 ZigBee簇状网的仿真模型设计 本模型设计的主要目的是实现大规模ZigBee 子网1 节点的自组网和点对点路由,为研究ZigBee节点部 署提供参考依据,故模型包含了介质访问控制层和 0 网络层的组网和点对点路由功能,如图3所示,应用 子网0 层仅用于产生净载荷。 子网2 通常,建立模型前需要提出一些假设条件,本模 型做如下假设:1)信道是无损、无延迟的理想信道; 头2 ●网络协调器 2)鉴于ZigBee路由器与ZigBee协调器的角色可以 ● 。簇头 相互转换,认为所有ZigBee路由器都可作为潜在的 O设备(D成RD) ZigBee协调器,模型中不单独设计ZigBee协调器; 图1EEE802.15.4-2003定义的簇状网 3)网内通信使用16bi短地址,且短地址为静态分 Fig.1 Cluster-tree network defined by IEEE 82.15.4-2003 配,使用OMNeT++给模块分配的D号作为短地
58 智能系统学报 第7卷 址;4)广播消息不设置重发.在以上假设条件下,仿 表3网络层帧头 真模型设计如下. Table 3 NWK header router 数据类型 域名 含义 enddevice uint8 frameType 帧类型 uint8 sequenceNumber 帧序号 uint16 sourceAddress NWK源地址 uint16 destinationAddress NWK目的地址 表4连接请求消息的网络层载荷 Table 4 Payload field of the connection request command 数据类型 域名 含义 uint8 commandFramelD 命令D uint8 deviceType 设备类型 表5连接确认消息的网络层载荷 Table 5 Payload field of the connection confirm command 图3 ZigBee节点模型 数据类型 域名 含义 Fig.3 Node model of ZigBee 3.1参数 uint8 commandFramelD 命令ID bool isSuccess 是否成功连接 网络节点个数可以选取任意值,出于仿真时间 成本的考虑,总共使用500个节点,具体网络参数见 表6路由请求消息的网络层载荷 Table 6 Payload field of the routing request command 表1. 表1网络关键参数 数据类型 域名 含义 Table 1 Parameters of the network uint8 commandFramelD 命令D uint8 routeRequestID 路由请求D 参数名 值 uint16 destAddress 请求的目的地址 数据传输速率/(Khit·s) 250 uint8 pathcost 代价 MAC应答等待时间/ms 4.08 表7路由应答消息的网络层载荷 路由发现等待时间/s 10 Table 7 Payload field of the routing reply command 应用层发送数据间隔/s 10 数据类型 节点通信半径/m 域名 含义 100 uint8 commandFramelD ZigBee路由器的个数 100 命令D uint8 routeRequestID 路由请求D ZigBee终端设备的个数 400 uint16 originatorAddress 请求的源地址 3.2帧格式 uint16 responderAddress 应答地址 关于帧格式的细节请查阅文献[89],本文对帧 uint8 pathCost 代价 格式做了适当简化:数据包(packet)包括MAC层帧 3.3自组网 头(如表2所示)和网络层消息.网络层消息有4 由文献[8]得知2.4 GHz ZigBee模块CC2430 种,包括连接请求消息、连接确认消息、路由请求消 的传输距离约为100m.组网过程中,ZigBee终端设 息和路由应答消息,网络层消息由网络层帧头和网 备向其通信半径内最近的ZigBee路由器发出连接 络层载荷组成,如表3~7所示。 请求,ZigBee路由器之间也互相发送连接请求,请求 表2MAC层帧头 成功后相互将对方添加到自己的邻居表中.网络节 Table 2 MAC header 点随机均匀分布在750m×750m的区域内,连接过 数据类型 域名 含义 程可用伪代码表示为: uint8 frameType 帧类型 if Router(I)与Router(2)的距离Router(2)(同级,sibling); uint8 sequenceNumber 帧序号 if(EndDevice(1)与Router((1)的距离Router(1)(Router(1) 是EndDevice(I)的父节点)
第1期 牟杰,等:ZigBee簇状网的OMNeT+仿真模型 ·59 这里需要说明的是,“”在NED语言中表 路由发现表 示2个门(gates)之间互连,门即消息传递的接口. 3.4路由算法 routeRequesID1 sourceAddress ZigBee协议规范使用的路由算法是经典的 路由表 AODV(Ad hoc on-demand distance vector)算法io,该 算法依赖于2个表一路由发现表(oute discovery 惟一的 routeRequestID 映射 destAddress table)和路由表(route table),分别如表8~9所示. sourceAddress3 表8路由发现表 Table 8 Route discovery table sourceAddress 数据类型 域名 uint8 routeRequestID 图4路由发现表与路由表的对应关系 uint16 sourceAddress Fig.4 The relationship between route discovery ta- uint16 senderAddress ble and route table uint16 forwardCost 3.5净载荷(goodput) uint16 residualCost 组网完成后,在终端设备上每10s随机产生一 double expiredTime 个地址,若该地址与自己的地址相同,则终端设备生 成一个数据包(data),并随机挑选一个ZigBee路由 表9路由表 器作为目的节点、 Table 9 Route table 数据类型 域名 4仿真结果 uint8 status ZigBee簇状网的局部网络放大后如图5所示, uint16 nextHopAddress 图中连线表示2个设备成功连接,end表示endde- uint16 destAddress vice,rte表示router. end 55 启动路由发现后,ZigBee路由器向通信距离内 DATA P 的其他路由器广播路由请求,发起或转播路由请求 的ZigBee路由器均建立以上2个表.其中路由发现 表记录了路由请求D、发起路由的源地址、转发路 由请求节点的地址、前向代价(路由请求消息中的 end[346 pathCost)、后向代价(路由应答消息中的pathCost) 以及路由发现超时时间.路由表中记录了路由请求 的目的地址、路由的下一跳地址和路由状态 当先后抵达ZigBee路由器的2个路由请求的 图5路由器将终端设备的数据包暂存 route RequestID和sourceAddress均相同时,路由器只 Fig.5 The data packet temporary storage in routers 转播前向代价最小的请求,同时更新路由发现表.当 图5中,end[346]要给rte[84]发送1个数据 多个路由请求均指向同一个目的地址时,路由器在 包,先将数据包发给其父节点te[39],由于rte[39] 其路由表中仅建立一个与目的地址相应的记录,同 不是数据包的目的节点,目的节点te[84]不是te 时在其路由发现表中建立几个不同的路由请求记 [39]的邻居,并且rte[39]没有rte[84]的相应路由 录,如图4所示。 记录,所以rte[39]只能将数据包暂存并为该数据包 当目的节点接收到路由请求,它就给发送路由 寻找路由 当te[39]成功收到路由应答后,它先更新路由 请求的邻居回发一个路由应答.在接收到路由应答 表,然后从数据队列中取出数据包,将数据包的目的 后,ZigBee路由器更新路由表的nextHopAddress,使 地址与路由表中的目的地址比对,若相同且路由表 之成为最小后向代价的应答消息的发送者.最后,从 状态为ACTIVE,则将数据包发给路由表中nextHo- 路由表中的nextHopAddress可确定一条从路由源地 pAddress对应的邻居.邻居继续沿路由表中对应的 址到目的地址的代价最小路径. nextHopAddress转发下去,最后rte[84]成功接收到
60 智能系统学报 第7卷 end[346]发给它的数据包,如图6所示 vanced Information Networking and Applications.Singa- 035 pore,2011:820-825. nd5形96 [6]EYANGELIA K,VASSILIOS V.Assessment of network simulators for real world WSNs in forest environments end 204 [C]//2011 International Conference on Networking,Sens- ing and Control.Delft,Netherlands,2011:427-432. end[107 end 366 end 343] [7]LAN/MAN Standards Committee of the IEEE Computer So- end(142 ciety.SS95127 Part 15.4:wireless medium access control end288 cce DATA pdet (MAC)and physical layer (PHY)specifications for low- ed26] rate wireless personal area networks LR-WPANS)[S]. New York,USA:The Institute of Electrical and Electronics 图6数据包成功路由到目的地址 Engineers Inc,2003:29-160. Fig.6 The data packet has been successfully routed to [8]ZigBee-Alliance.ZigBee specification:document 053474r17 its destination [S].San Ramon,CA,USA:ZigBee-Alliance Inc,2008: 259-418. 5结束语 [9]郭宏福,白丽娜,郭志华.2.4 GHz Zigbee数传模块传输 为研究大规模无线传感器网络的部署提供参 距离的估算方法[J].西安电子科技大学学报,2009,36 (4):691695. 考,通过分析EEE802.15.4和ZigBee2007协议,运 GUO Hongfu,BAI Li'na,GUO Zhihua.Estimation method 用开源、构件化、面向对象设计的网络仿真工具OM for the transmission distance for the 2.4 GHz Zigbee appli- NeT+建立了大规模ZigBee节点的网络仿真模型. cation[J].Journal of Xidian University,2009,36(4): 仿真结果表明,该模型具有大规模节点的自组网和 691-695. 路由功能,为研究现实中部署ZigBee节点提供了可 [10]CHARLES E,ELIZABETH M.Ad-hoc on-demand dis- tance vector routing[C]//Proceedings of the Second IEEE 靠友好的仿真环境.后续的工作可以分3个方向: Workshop on Mobile Computing Systems and Applications. 1)继续完善本模型,如增加节点移动性能,改进信 New Orleans,USA,1999:90-100. 道模型,增加传感模块和能量模块等,实现网络覆 作者简介: 盖、能量效率、安全加密等功能,以满足部署ZigBee 牟杰,男,1987年生,硕士研究生, 节点的研究需要;2)加入不同的无线传感器通信协 主要研究方向为无线传感器网络。 议,比较不同协议之间的性能;3)基于不同的仿真 工具开发仿真模型,比较各个模型的性能,为不同的 应用场合提供量材定制的仿真环境。 参考文献: [1]FENG Chen,FALKO D.A simulation model of IEEE 802. 蔡自兴,男,1938年生,教授,博士 15.4 in OMNeT++[C]//Proceedings of the 6th GI/ITG 生导师,首届国家级教学名师奖、宝钢 KuVS Fachgesprach Drahtlose Sensornetze.Aachen,Ger- 教育基金优秀教师特等奖和徐特立教 many,2007:35-38. 育奖获得者,国际导航与运动控制科学 [2]CHEN Jiming,ZHANG Jianhui,XU Weiqiang,et al.The 院院士、纽约科学院院士,任中国人工 development of a realistic simulation framework with OMNeT 智能学会第5届理事会副理事长及智 ++[C]//Second International Conference on Future Gener- 能机器人专业委员会主任、中国自动化 ation Communication and Networking.Sanya,China,2008: 学会理事、中国计算机学会模式识别与人工智能专委会委员 497500. 等.主要研究方向为智能系统、人工智能、智能控制、智能机 [3]ALI A,SEBASTIEN T.XS-WSNet:extreme scale wireless 器人等.主持并完成包括国家自然科学基金重点项目在内的 sensor network simulation [C]//2010 IEEE International 科教研究项目30余项,其中获国际奖励2项、国家级奖励2 Symposium on a World of Wireless Mobile and Multimedia 项、省部级等奖励15项.发表学术论文660余篇,出版专著、 Networks.Montreal,Canada,2010:1-9. 教材32部. 4]MINA J,JAE C.SWARM-eTOSSIM:a simulator for dis- tributed energy-constrained tiny devices [C]//2011 Tenth 刘丽珏,女,1973年生,副教授,主要 International Symposium on Autonomous Decentralized Sys- 研究方向为人工智能、智能计算、传感器 tems.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 Intemational Conference on Ad-