Zigbee路由算法AODVjr分析

2020-08-04 11:22何智勇
数码世界 2020年7期
关键词:报文数据包路由

何智勇

摘要:Zigbee技术作为物联网关键技术之一,在无线传感器网络中得到广泛的应用,ZigBee 网络节点主要是依靠电池供电,路由算法是Zigbee协议栈核心部分,Zigbee路由协议AODVjr作为经典的路由算法,本文对路由过程进行具体分析。

关键词:Zigbee网络  AODVjr路由

1引言

随着无线通信技术的发展,Zigbee技术凭借低功耗、构架简单和通信高效优势在无线网络中应用广泛,作为物联网核心技术Zigbee,在工业领域应用广泛,由于该技术主要针对低速率和低功耗的无线传感器网络进行设计,在网络的部署过程中,节点主要通过电池进行供电,由于电池容量的限制,对于长期使用的网络而言,降低节点的功耗是最重要的内容,降低节点功耗的方法主要是通过减少节点上无效数据包的转发来实现,在Zigbee网络中,降低节点功耗主要是针对网络协议进行优化,优化路由发现过程中数据包的转发过程,降低网络中高层节点的负担一直是Zigbee技术研究的热点。在Zigbee路由协议的实现过程中,通过Cluster-Tree和AODVjr 算法实现网络路由功能,Cluster-Tree通过节点间的树型结构来进行网络中数据包的转发,网络中节点在加入网络时,对节点进行分类,父节点主要负责维护子节点的数据转发,父节点在收到发现路由报文的过程中,按节点记录信息,对数据进行转发。AODVjr 路由是一种按需路由机制。

AODVjr算法是AODV路由算法的简化版本,是一个轻量级的AODV路由算法,在AODV相比算法基础上改进的AODVjr路由算法与传统的AODV算法相比,不使用目的节点序列号,对最先到达节点的请求报文RREQ进行响应,这样大大简化了网络中路由发现过程,对路由表结构进行优化,当网络中由于节点能量耗尽等发生链路中断,AODVjr启动本地修复机制来进行修复路由,大大提高了故障修复响应速度,减少向网络中广播发现报文对有限节点无用的能量消耗,有效控制链路开销。

2 AODVjr路由分析

Zigbee网络中的路由技术主要是为网络中的数据包提供最优化路径,数据包通过网络发送到目的节点,在网络层实现路由功能,实现网络中节点路径发现。在网络传输过程中,为了实现源节点和目的节点之间的协同,路由协议是Zigbee网络中不可缺少的一部分,在网络中充当中非常重要的角色,它的主要作用是实现网络中路由发现和路由信息维护,当网络拓扑结构发生变化,负责网络中节点路由的重新发现,建立新的路由,为源节点和目的节点进行数据转发,Zigbee网络是一种低功耗的网络,协议中主要提供两种经典的网络路由协议:按需距离矢量路由和树型网络结构路由。在ZigBee网络结构采用树状网络,网络中节点可以使用Cluster-Tree来进行路由选择和数据转发,每一个节点在收到数据包后都把数据转发给对应的子节点,节点通过路由算法判断节点是不是自己的后裔节点,如果不是自己的后代节点,数据会转发给上一级的父节点,由上一级节点进行数据转发处理,启动路由发现算法,把数据转发到目的节点,Cluster-Tree路由算法通过节点本身来判断数据的转发方向,实现网络中的路由功能,但是Cluster-Tree路由算法效率不高,对网络中核心节点的数据转发功能没有做到有效保护,网络中节点都承担相同的转发功能,对于一些处在网络核心高频率节点而言,频繁的数据转发,节点的能量有限,很容易把自己身的能量消耗尽,形成网络中断和孤岛出现,网络中数据转输的效率下降。

AODVjr路由时一种按需分配,在节点路由启动RREQ过程中,网络中节点在收到数据报文之后进行解析,并且查看节点的路由表是否为数据包的目的地址,对于数据包中目的地址不是路由表中记录的节点信息,重新启动路由发现过程,对数据的实时传输要求不高,AODVjr路由算法,网络中节点在发现路由时,会向网络中广播大量的RREQ发现报文,由由于是向Zigbee全网进行发现报文广播,会发送大量冗余的报文在网络中出现,增加网络的负担,在网络的运行过程中,需要尽量控制网络中无效的数据报的转发,因为网络中节点的能量有限,节省网络中节点的能量尤其重要,有利于延长网络使用寿命。由于Zigbee网络基于树型结构,网络中高层节点需要负责网络中所有子节点数据和路由报文的转发,还要负责自身节点的相关数据的转发,当高层节点的能量消耗尽,网络会出现分割,影響网络运行效率。

因此AODVjr路由算法在ZigBee网络中应用非常广泛。AODVjr路由算法的路由建立主要由以下三个步骤组成:

第一步:路由发现。

第二步:反向路由建立。

第三步:正向路由的建立。

经过以上路由建立的三个步骤,节点通过RREQ路由请求过程,在源节点和目的节点之间建立一条通信的路由,网络中传输的数据包可以通过建立的路由来进行发送, AODVjr路由算法通过RREQ路由请求、RREP路由回复、RERR路由错误来控制实现的。

(1)路由发现过程

在数据包发达的过程中,网络中间节点收到RREQ报文时,会去查询自身维护的路由表信息,在路由表中查询到对应的路由信息,通过路由表中的信息进行数据的发送,如果路由表中没有对应地址信息,则通过向网络中广播RREQ来进行路由发现过程。如果该节点是第一次收到路由发现报文RREQ,检查数据包中的目的地址是否为自己,目的地址不是自己的时候,保留信息建立反向路由。

(2)反向路由建立过程

在Zigbee网络中,网络中节点在数据转发过程中,中间节点通过RREQ消息存储相关反向路由信息,可以维护目的节点到源节点的路由相关信息,节点维护的反向路由信息将会维持一定时间,让节点返回的确认报文RREP。

(3)正向路由建立过程

在网络路由维护过程中,节点通过反向路由信息,可以为节点与目的节点之间建立一条通路,当源节点收到确认报文RREP,路由建立过程完成,源节点到目的节点的数据发送可以通过已建立路由进行传送。

按建立网络路由主要步骤,网络中路由Zigbee网络中节点分为3类,负责路由协调器、路由节点;在加入网络时,作为高层节点来分配地址,而终端节点为网络中传感器的加载节点,是网络中的基础节点,主要负责全网数据转发,自身不具备路由功能。为了减少Zigbee网络中高层节点的死亡率,在启动路由发现的过程中,可以对节点进行分类和引入能量平衡机制,按节点剩余能量的水平进行划分区域,保护能量低的节点,主要负责网络中核心发现路由启动过程。对于能量充足的节点,进行数据转发,在路由发现的过程中,尽量避免选择能量不足的节点来进行数据转发,在数据转发的过程中,节点在启动发现路由过程中,可以首先按Cluster-Tree 路由算法,按节点间的父子关系,首先判断RREQ发现报文方向,可以不采用泛洪的方式在全网中进行数据的转发,特别是对没有父子关系的节点进行转发,有效避免节点向相反方向进行数据报文的发送进行路由的发现过程,减少网络中无效的数据报文在网络中出现。

3 结束语

Zigbee技术作为一种常见的无线传输方式,在工业界得到广泛的应用,路由算法AODVjr作为Zigbee技术的核心内容,分析AODVjr路由算法的的详细过程是非常有实际意义的。

参考文献

[1]王宁.ZigBee无线传感网中AODVjr路由协议研究[J].计算机数字与工程,2018,3:552-554.

项目编号

南京工业职业技术学院学校科研基金项目(YK17-02-04)

猜你喜欢
报文数据包路由
海法新港一期自动化集装箱码头电子数据交换报文系统设计与实现
满足法规要求的车载终端数据包加密方案分析
基于报文类型的限速值动态调整
数据通信中路由策略的匹配模式
一种用于6LoWPAN的多路径路由协议
OSPF外部路由引起的环路问题
C#串口高效可靠的接收方案设计
用户设备进行组播路径追踪的方法及系统
网络数据包的抓取与识别