关学忠 张新城 尹廷武 王文峰 张 璐
(东北石油大学电气信息工程学院,黑龙江 大庆 163318)
ZigBee路由算法及其在油田安全监测中的应用
关学忠 张新城 尹廷武 王文峰 张 璐
(东北石油大学电气信息工程学院,黑龙江 大庆 163318)
对比分析AODV路由协议、Cluster-Tree路由协议、基于AODV路由协议与Cluster-Tree路由改进算法三者的区别,并对ZigBee技术在油田安全监测中的应用进行说明。
ZigBee网络 无线局域网 AODV路由协议 Cluster-Tree路由协议 改进算法
随着无线网络技术的不断发展,无线产品已逐渐进入到人们的日常生活中[1]。具有IEEE802.15.4标准的ZigBee网络与其他无线网络相比具有组网能力强、适应面广、可靠性高及节能性好等突出优点[2]。现有的ZigBee路由协议算法有AODV路由协议和Cluster-Tree路由协议,两种路由协议各有优缺点,组合在一起的ZigBee路由协议还需改进和完善。
利用ZigBee无线数据传输的特点可以通过无线方式更加方便地传输生产过程中所测得的装置运行数据和人员定位信息,分析和研究ZigBee路由算法可以让油田安全监测中的大规模数据能够安全有效地进行无线传输。
无线传感器网络(Wireless Sensor Networks,WSN)技术是传感器技术、无线通信技术、计算机技术及信息处理技术等的交叉融合,是当前国际学术界和产业界共同关注的前沿研究热点[3]。许多功能上有差异的传感器节点组成了无线传感器网络,每个传感器节点都是由采集部分、处置部分、控制部分、通信和电源部分组成。不同的节点在网络中扮演着不同的角色,有数据的采集,有数据的转发和接收。在ZigBee无线传感器网络中,节点分3种类型:主节点、路由节点和终端节点[4]。ZigBee收发机必须进行组网并作为网络节点,才能通过ZigBee协议实现各模块节点之间的无线数据传输[5]。
ZigBee的媒体访问控制层和物理层都是基于IEEE802.15.4协议,应用层和网络层则都根据ZigBee联盟制定。每层会向其上一层提供管理服务和数据服务。网络对各层之间帧交换的方式和格式则由IEEE802.15.4/ZigBee协议规范,各层实际上都根据协议实现各项服务。对于在网络中各层间传递的数据帧,上下层传输时都会去掉本层的首尾帧,然后把载荷传递给上一层。ZigBee路由算法主要有网络层支持的AODV算法及簇树算法等[6]。ZigBee的网络层次可以分为物理层(PHY)、媒体访问控制层(MAC)、网络层(NWK)和应用层(APL),如图1所示。
图1 ZigBee的网络架构
当前的路由算法种类繁多,适用于ZigBee技术的却相对较少。ZigBee网络层主要实现节点加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能,但没有给出组网的路由协议,这样就为用户提供了更为灵活的组网方式[7]。
2.1Cluster-Tree簇树路由算法
路由算法网络的调配运用分布式地址分配的方式,一个新的网络被协调器建立后,其分配的网络地址为0,深度Depth0=0。当参与网络的节点为i,且与k节点相连,则k节点为i节点的父节点。依据Ak本身的地址和它的深度Depthk,k节点将为节点i调配地址Ai和深度Depthi=Depthk+1。和网络地址分配有关的参数有:nwkMaxChildren(Cm)代表协调器和路由器对于相应网络所允许拥有的最多子设备的数量;nwkMaxRouters(Rm)代表子节点中最多的路由器个数;nwkMaxDepth(Lm)代表最大的网络深度。由此3个参数能够计算出兄弟节点间地址的距离Cskip(d):
一个没有路由功能的采集节点i,和协调器结合在一起作为协调器的第n个子节点。依据公式Ai=Ak+Cskip(d)·Rm+n,1≤n≤(Cm-Rm)和其深度d,k节点为i节点调配网络地址。
对于新的路由器子节点,k父节点依据公式Ai=Ak+1+Cskip(d)·(n-1)为其调配网络地址。
具备树形拓扑结构的路由简化成上行路由或下行路由。将DestAddr作为目的地址由一个路由器向其发送数据包,且路由器地址是LocalAddr,深度是d,有:
LocalAddr (1) 如果式(1)成立,则目的节点为自己的后代,也就是下行路由,相反为上行路由。对于能够确定目的节点是自身的后代,则下一跳节点地址为: 相反,下一跳节点是其父节点。 Cluster-Tree簇树路由适合于节点静止或者移动较少的情况,属于静态路由。 2.2AODV路由算法 AODV是反应式路由协议,源节点只有在目的节点发送数据包的情况下才会在网络中发起路由寻找。对于常见的比较成熟的因特网路由协议大部分为先验式,它们不会通过路径上节点的发送数据包查找对应的路由,通常是每个节点都会拥有一个到达除本身之外节点的路由信息表。通常会经常性地变换本身的路由表信息,才可以按时按照网络拓扑结构的变化而发生对应的改变,用来保持统一的、精确的和快速的路由信息。 在没有建立连接的请求时AODV路由算法中的网络是动态变化的。当节点需要建立连接会发送请求包,除此节点外会发送本请求的消息,同时记录返回到源节点的临时路由。接收连接请求的节点把捕获的到达目的节点的路由信息按照记录的路径信息发回至源节点。查找到的这个拥有最佳路径的路由就可以被源节点利用,从而完成路由的连接。 2.3AODVjr算法 AODVjr算法是针对AODV算法的改进,考虑到节能及应用方便性等因素,简化了AODV的一些特点,但仍然保持了AODV的原始功能[8]。具体的方法是传播路由包然后据此记录发起路由查找。两个节点间在发送和接收路由包时,两个节点中最短并且能量损耗最低的路径将被记录到路由表。节点在查找路由表之后,如果存在最优路径,则会按照此路径进行数据传递,相反则会启动AODVjr查找模式,发出RREQ包查找路由。如果收到目标节点的RREP包,则最优路径存在,就可以通过此路径发送数据包。图2为使用AODVjr算法时查找路由的模式,可以看到RREQ广播和RREP回复的过程。 图2 AODVjr查找路由的模式 为了实现低成本、低功耗与较高可靠性的目的,ZigBee路由算法采取了Cluster-Tree和AODVjr路由算法相结合的模式,分别结合了两种算法各自的优点。通过对两种算法的比较可知:Cluster-Tree网络结构的优点在于可以增加网络的覆盖范围,对于数据聚合非常有效[9]。ZigBee网络主要支持AODVjr算法[10],在ZigBee路由算法中,节点寻找相应的数据传送路径时依据的是Cluster-Tree算法,当一个节点接收的数据分组并不是发送到自己的数据分组时,则该节点只可以把数据转发至其父或子节点。减去了路由发现这个历程,进而减少了路由节点能量的消耗和其路由的开销,从而节省了资金的投入。 单一的路由算法也有一定的劣势,即由Cluster-Tree路由算法建立的路径很可能不是最佳的。通常会造成分组传输时延的增加,对于较小深度的网络节点,就是离ZigBee协调器近的节点,业务量会非常得大,对于那些较大深度的节点,它们的业务量又相对较小,这样就会造成网络中的通信流量分配不均匀。ZigBee网络中可以让那些具备路由功能的节点利用AODVjr路由发现算法,让那些具备路由功能的节点绕过依据父子关系的发送方法,直接把信息发送到它可以连接到的范围之内的具有路由功能的节点,从而找到到达目的节点的最优路径。 图3、4分别为ZigBee路由算法在NS2上的仿真结果,设置的仿真场景为长宽分别为1 000、50m的移动场景区域,仿真时间300s,最大移动速度20m/s,节点的有效传输距离为15m。对10个和20个cbr业务源轻载和重载两种情况分别进行仿真实验。 图3 ZigBee路由算法的分组投递率和归一化路由开销仿真结果 图4 ZigBee路由算法的路由发起频率和平均延时的仿真结果 目前,自动控制在油田中的应用越来越广泛,油田开发环境复杂多变,钻井设备和采油设备的安全就极为重要。随着油田现代化管理水平与技术的不断提高和发展,对油田井场数据监控提出了新的要求[11,12]。各种设备复杂程度比较高,所以监测其运行安全的参数也比较多,在油田环境中用ZigBee无线通信技术构建油田安全监测系统优势突出。ZigBee无线传感器网络具有部署方便、成本较低、结构灵活及抗毁性强等优点。图5为基于ZigBee的油田安全监测系统示意图,系统由采集节点、协调器、Ethernet/3G网络和监测指挥中心组成。 许多采集节点分布在油田的各个检测区域,它们通过ZigBee技术组成相应的无线通信网络,采集节点采集油田设施的各项运行数据,当危险发生时尽可能地将事发地点的详细数据和人员的定位发送到监测指挥中心,相比于正常运行,危险发生时需要将更多的数据准确而且及时地传输到指挥中心。大量的紧急数据要准确传输,网络层的路由协议起着非常关键的作用。这时ZigBee技术就发挥了其强大的数据传输功能。目前,ZigBee网络普遍采用Cluster-Tree和AODVjr相结合的路由算法,在兼顾传输效率的同时还消耗相对较少的能量,更适合在野外对各个节点的布置。 图5 油田安全监测系统示意图 [1] Meng S P,Yu C T.Quick Convergencast in ZigBeeBeacon-enabled Tree-based Wireless Sensor Networks [J].Computer Communications,2008,(31):999~1011. [2] 朱向庆,王建明.ZigBee网络路由算法测试方案[J].电子测量技术,2006,29(5):142~147. [3] 于海斌,曾鹏.分布式无线传感器网络协议研究[J].通信学报,2004,25(10):102~110. [4] 朱斌,唐勇,谭勇,等.基于ZigBee的工控网数据采集传输系统设计[J].化工自动化及仪表,2010,37(4):81~85. [5] 钱丹浩,刘萍萍.基于ZigBee的工业现场数字温度无线采集系统设计[J].化工自动化及仪表,2011,38(9):1119~1121. [6] 刘市生,张贤华.ZigBee网络层的设计与实现[J].无线电工程,2008,38(11):7~9. [7] 蒋挺,赵成林.紫蜂技术及其应用[M].北京:北京邮电大学出版社,2006:50~100. [8] 顾瑞红,张宏科.低速无线个域网中的IPv6路由实现[J].北京交通大学学报,2005,29(5):36~39. [9] 刘湘雯,侯惠峰,张霞,等.基于群树结构的IPv6无线传感器网络的组网及路由协议[J].计算机科学,2007,34(5):28~31. [10] Chakeres I D,Klein-Berndt.AODVjr,AODV Simplified[J].Mobile Computing and Communication Review,2002,6(3):100~101. [11] 毛玉蓉.基于ZigBee技术的无线传感器网络研究[J].化工自动化及仪表,2010,37(10):91~94. [12] 周武斌,罗大庸.ZigBee路由协议的研究[J].计算机工程与科学,2009,31(6):12~14. TH865 B 1000-3932(2016)01-0089-04 2015-04-28(修改稿)3 当前ZigBee使用的路由算法
4 ZigBee路由算法在油田安全监测中的应用
5 结束语