ZigBee网络路由算法设计

ZigBee技术是一种低功耗、低成本、低速率的无线通信技术。目前在工业领域、医学领域、军事领域、智能家居、道路监测、家庭自动化等方面有着良好的应用前景。ZigBee网络常用的路由算法有Cluster-Tree算法、AODVjr算法和Cluster-Tree&AODVjr算法。其中AODVjr是AODV算法的简化版本。

本文借助Matlab的Truetime1.5工具箱搭建了ZigBee网络的仿真平台,在此平台上实现了对AODV路由算法的设计。该设计可以分为以下几个模块来实现:初始化、路由发现及维护、节点收发数据、节点移动、显示及时钟模块。重点分析介绍了AODV路由发现及维护模块。分析了一种基于路由发现过程的改进方案。该方案通过增加反向的RREQ分组和备用路由表来降低网络阻塞的概率和数据丢失率。

通过设计节点的移动来模拟真实网络中节点失效的情况。通过测试,在该平台上,可以实现AODV路由的发现、建立、维护、收发数据等功能。

网络层提供了保证MAC子层正常工作的功能及为应用层的服务提供接入点。要和应用层通信,网络层的概念包括两个服务实体,数据实体(NLDE,Network Layer Data Entity)和管理实体(NLME,Network Layer Mannger Entity)。如图2.1所示[5]。数据实体的主要任务是为上层提供所需要的常规数据服务,而管理实体则提供访问内部层参数、配置、管理数据、组网等机制。NWK层数据实体通过其相关的SAP来提供相关的服务。NIME使用NLDE来获得它的一些管理任务,而且还维护一个叫做网络信息库(NIB)的数据库,。

 

ZigBee网络路由算法设计_第1张图片

 

图2.1  ZigBee网络层结构

本次实验成功地对基于ZigBee网络平台的AODV路由协议进行了仿真。结果表明在matlab环境下,借助TrueTime1.5工具箱搭建仿真平台,可以模拟真实网络环境。针对本次实验,目前还存在以下不足:

①真实的ZigBee网络中的节点是用电池供电的,节点剩余的能量对于整个网络的影响非常大。本次实验中只是简单地对节点移动导致的路由失效情况进行了仿真,没有更深入地模拟出由于节点能量消耗过多而导致的路由失效问题;

②在路由失效,源节点没有收到RERR报文而继续发送数据导致的数据丢失问题,本设计分析了在不同的HELLO报文发送周期下丢失数据的对比。同时针对由于路径断开而导致的数据丢失问题提出了改进方案,但是没有进行效果的验证与比对。

你可能感兴趣的:(MATLAB,板块5:网络通信)