APP下载

无线传感器网络的RPL路由协议研究

2017-04-08綦声波吴学英

电脑知识与技术 2017年5期
关键词:无线传感器网络

綦声波 吴学英

摘要:在无线传感器网络中,节点的处理能力、存储能力和能量都受硬件限制較大。RPL路由协议是由IETF RoLL工作组专门为低功耗有损网络提出的IPv6路由协议。该文详细介绍了RPL路由协议的拓扑结构、路由构建及安全机制。最后通过Contiki自带的Cooja仿真工具对路由协议进行模拟仿真,验证了该路由协议在无线传感器网络中的高效性。

关键词:无线传感器网络;RPL路由协议;Cooja仿真工具

中图分类号:TN92 文献标识码:A 文章编号:1009-3044(2017)05-0211-03

Abstract: In Wireless Sensor Networks,the nodes processing capability,storage capacity and energy are limited by the hardware.The RPL routing protocol is an IPv6 routing protocol proposed by the IETF RoLL working group and specifically designed for Low-power and Lossy Networks.This paper introduces the RPL routing protocol topology,routing construction and security mechanisms. Finally,the routing protocol is simulated by Cooja simulation tool,and the efficiency of the routing protocol in wireless sensor network is verified.

Key words: Wireless Sensor Network; RPL routing protocol; Cooja

传统上基于现场总线传输网络的监测技术存在着设备搭建复杂度高、拓展性受地域影响较大等缺点。基于6LoWPAN技术搭建的无线传感器网络(Wireless Sensor Network,WSN),借由物联网的概念以全IP的方式实现传感器节点与互联网互联,具有易于布置、易于维护、易于拓展等优点。

无线传感器网络是由许多散布于工作区的节点组成,在监测地域自组织的构成网络。设备受体积所限,普遍具有处理能力差、传输速率低、能量储备有限等问题,网络连接也存在高丢包率、低数据传输和不稳定等特性。为了减少组网开销,维护网络拓扑结构稳定,IETF RoLL工作组提出了RPL路由协议。RPL路由协议通过交换距离矢量构造一个有向无环图(Directed Acyclic Graph,DAG),节点通过广播方式与其余节点互相交换信息,计算最优路径,有效防止路由环路问题。

本文详述了无线节点通过RPL路由协议组网的拓扑结构,路由的建立过程,安全机制等,最后通过Contiki系统的Cooja工具模拟无线网络环境,进行了仿真并验证其性能。

1 简述

RPL是基于Ipv6而设计的距离矢量路由协议。基于有向无环图的拓扑概念,通过使用目标函数(Object Function,OF)和度量集合构建以目的节点为导向的有向无环图(Destination Oriented Directed Acyclic Graph,DODAG)。最优路径依赖于目标函数的约束条件和度量。

1.1 无线网络拓扑结构

与日常有线网络的点到点传输不同的是,无线传感器网络受地域环境限制,一般没有预先设定好的拓扑结构,无线节点必须自己去发现其他的节点并根据RPL规则建立通信。RPL路由把网络内的所有无线节点向外的信道汇集到一个或者多个指定的出入口,外部的信息也从这些出入口分发到网络里面的节点。因此,整个无线网络被视为一个DAG图,RPL路由协议将这个DAG图分割为多个DODAG图,每个DODAG图含有一个root节点(出入口,可以接收或发送外网信息)。

2.1 DODAG的形成和向上路由的建立

在节点上电开始工作之前,根据实际应用环境指定不同的节点分别作为root节点和node节点。上电之后,root节点会向临近的所有节点广播DIO消息,不同的root节点可能同时广播DIO消息,有时会造成一个节点同时收到多个DIO消息,这时接收节点会根据DIO消息中携带的信息,通过比对Rank值、目标函数以及根据路由选择度量标准量化的ETX值选择是否加入该DODAG图。当节点加入该DODAG图后,root节点随即成为这个节点的父节点。当父节点确定之后,该节点会对自己DIO消息中的路由方面的信息进行修改,然后将含有新路由消息的DIO消息向临近自己的其他节点发送。如此循环,其他的节点也会收到许多DIO消息,通过同样方法确定自己的父节点。在路由建立时,节点的下一跳都为其父节点,至此向上的路由建立起来。

2.2 向下路由的建立

向下路由的构建存在着两种模式:Storing Mode和Non-Storing Mode。在构建过程中node节点可以保留向下的路由信息的模式为Storing Mode,而只有root节点能保存的模式为Non-Storing Mode。

在Storing Mode下,节点通过比较上一级多个节点发送的DIO消息,确定自己的父节点,会对父节点发送DAO消息进行回复。父节点收到DAO消息,处理其前缀信息,并在路由表上加入一条路由项,从而更新了整个路由表。当这个父节点完成该步骤后,它会向自己上一级的父节点发送DAO消息包,如此循环直至整个向下路由建立起来。

而在Non-Storing Mode下,节点处理DIO消息后向root节点直接回复DAO消息,而其父节点不会接收这些消息,只是这些消息要经父节点转发。最后当root节点收到所有节点发过来的DAO消息后,就会建立到所有节点的路由表。

3 安全机制

3.1 环路避免和检测

在传统网络中,由于节点位置和拓扑位置不同步,可能导致临时环路的产生。环路可能导致丢失数据包、堵塞链路等问题,因此要求迅速检测出环路。但在无线传感器网络中,环路对整个网络的影响是有限的,相反如果采取较大的措施避免环路反而会导致节点能量消耗与路由混乱。因此RPL协议允许环路的出现,定义了两种基于Rank值的策略来尽量避免环路的出现。

1) 不允许节点选择DODAG图中Rank值更大的节点作为自己的父节点。

2) 不允许节点在DODAG内向更深方向移动(增加Rank),以便增加父代集规模或改善其他度量。

3.2 修复机制

当无线节点出现能量耗尽或因故障不能继续工作时,为了数据正常转发需建立其他路由,RPL路由协议支持两种修复方式:全局修复和局部修复。当监测到链路失效后,节点在向上方向没有父节点,触发一个局部修复以寻找另外父节点;当局部修复发生时,有可能会破坏整个DODAG图的最优模式,或者当root节点失效,该DODAG图就会重建,从而触发全局修复,DODAGVersionNumber的值会加1。

3.3 Trickle Algorithm定时器

4 Cooja平台仿真及分析

Cooja作为Contiki操作系统的自带插件,能够对大量节点进行模拟仿真。本文模拟一仿真环境,存在一个root节点,10个普通节点,设置节点以随机的方式分布在仿真环境中。节点1是root节点,其余节点为普通节点,圆圈表示节点1的通信范围,通信范围外的节点只能通过其他节点转发与节点1通信,仿真环境如图2所示。

在网络拓扑结构第一次稳定之后,如图3所示。但节点不允许选择DODAG图中更深的节点作为自己的父节点,通过比对Rank值与ETX值,节点3重新选择节点5作为自己的父节点,RPL协议发起一个局部修复,根据涓流算法,重置Trickle Timer定时器,提高DIO消息包发送频率,如图4所示。节点3在01:05左右重置定时器,重置DIO消息包发送间隔,直至DODAG拓扑结构稳定,新的拓扑结构如图5所示。

人为挪动节点7、8位置使其相对位置变化导致DODAG拓扑结构发生变化,节点4、6、11重新选择自己的父节点,新的拓扑结构如图6所示。RPL路由协议发起一个局部修复,根据涓流算法(Trickle Algorithm),重置Trickle Timer定时器,提高DIO消息发送频率,待其稳定之后,仍会按照“阶梯”式增长。涓流算法对节点DIO消息发送频率的影响如图所示,从图7中可以看出节点到达一个阶梯上,原因是涓流算法第四步会检测当前积累的一致性的数量是否小于冗余常量,只有满足该条件后才可发送数据包,从而避免了所有节点在检测到不一致现象后同时反应引起的广播风暴。图8为节点4移动后,由于大量的发送DIO消息包导致的功耗急剧上升。

5 结语

RoLL工作组为了解决低功耗有损网络的路由问题,提出了RPL路由协议。该协议利用ICMPv6的控制消息DIO、DIS和DAO来实现路由过程。本文使用Contiki Cooja模拟器模拟了实际仿真环境中的组网过程,同时在网络拓扑结构发生变化时,通过修复机制重置Trickle定时器,有效地控制消息包的发送频率,从而降低路由协议开销。

参考文献:

[1] 李树军. 基于6LoWPAN的RPL路由协议研究[J]. 重庆工商大学学报(自然科学版),2013,08:72-77.

[2] 朱燕,黄明科. 物联网的发展和应用探讨[J]. 电信网技术,2010,11:34-37.

[3] 张宏科,梁露露,高德云. IPv6无线传感器网络的研究及其应用[J]. 中兴通讯技术,2009,05:37-40.

[4] 王靜涵. 基于Contiki操作系统的RPL路由协议能耗均衡的研究[D].兰州大学,2015.

[5] 丘建. 基于Contiki/Cooja平台的IEEE 802.15.4协议实现与改进[D].电子科技大学,2014.

[6] 宋菲,侯乐青. 浅析智能物件网络中的RPL路由技术[J]. 电信网技术,2011,09:23-26.

[7] 于鹏澎. 6LoWPAN网络几个关键技术研究[D].安徽理工大学,2015.

[8] T. Winter, P. Thubert, A. Brandt, J. Hui, R. Kelsey, P. Levis, K. Pister, R. Struick, J. Vasseur, R. Alexander, RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks IETF RFC 6550, 2012.

[9] T. Zhang, X. Li, "Evaluating and analyzing the performance of RPL in contiki", MSCC ‘14 Proceedings of the first international workshop on Mobile sensing computing and communication ACMNewYork, 2014.

[10] O. Gaddour, A. Koubaa, S. Chaudhry, M. Tezeghdanti, R. Chaari, M. Abid, "Simulation and performance evaluation of DAG construction with RPL", 2012 Third International Conference on Communications and Networking (ComNet), March 2012.

猜你喜欢

无线传感器网络
基于无线传感器网络的葡萄生长环境测控系统设计与应用
无线传感器网络技术综述