摘要:现有的低功耗有损网络路由协议RPL以跳数为唯一的路径选择度量,这样会导致Sink节点周边位置的节点数据压力过大,从而过早将其电量耗尽。为了更好地平衡网络能耗,缓解Sink周边节点的压力,文章在原路由协议的基础上,提出了考虑节点剩余能量的路径选择策略;即在路径选择时综合跳数和节点能量两方面因素,让数据尽量从能量充裕的节点传输。经计算机仿真验证:改进后的路由协议对平衡网络能耗、延长网络整体的生命长度具有较为显著的改善。
关键词:无线传感网络;RPL;IP;能量路由
0引言
低功耗有损网络路由协议(RPL)是IETF的ROLL(RoutingOverLowpowerandLossynetworks)工作组,专门针对低功耗有损网络LLN(LowpowerandLossynetwork)新提出来的路由协议[1]。低功耗有损网络是由功率、存储空间、处理能力等资源受限的嵌入式设备所组成的网络。它们可以通过多种链路连接,比如IEEE802.15.4、蓝牙、低功率Wi-Fi,甚至低功耗电力线通信(PLC)等等。ROLL将LLN网络的应用主要划分为四个领域[2]:城市网络(包括智能电网应用)、建筑自动化、工业自动化以及家庭自动化,并且分别制定了针对四个应用领域的路由需求[3-6]。由于LLN的独特性,传统的IP路由协议,比如OSPF、IS-IS、AODV、OLSR,无法满足其独特的路由需求,因此ROLL工作组制定了RPL协议,其协议标准RFC6550[1]发布于2012年3月。
本论文首先介绍了RPL的应用场景及基本原理,并在路径选择策略中加入了对节点剩余能量的考虑;最后通过仿真验证了改进后的路由协议的性能。
1RPL协议工作原理
RPL是一个矢量路由协议,通过构建有向非循环图(DAG)来形成拓扑结构,加入DAG中的节点自动形成一条指向根节点的路径。RPL主要为数据汇聚型的场景设计,即数据流量由叶节点指向根节点。当然RPL也扩展支持多点对点(MP2P)和点对点(P2P)的应用场景。
图1所示为典型的DAG结构。其中的每一个节点至少有一条指向根节点的路径。
1.1DODAG的形成
DODAG(DestinationOrientedDirectedAcyclicGraph)是面向目的地的有向非循环图的简称,可以视为物理网络上的逻辑路由拓扑。
RPL中定义了由多种ICMPv6消息来控制拓扑的形成。DIO消息用于通告有关DODAG的参数,例如DODAGID、目标函数(OF)、DODAG版本号等[1]。其中OF规定了拓扑建立及最优父节点的选择方式,规定了节点级别的计算方法,是路径选择的首要参考标准。级别决定了节点在DODAG中的相对位置,主要用于避免回路。DAO消息是用来建立从根节点到叶节点的“向下”的路径。根据节点的存储能力,RPL协议中将节点类型定义为可存储型和非存储型,两者的区别在于是否存储有路由表信息。在图1中,当D节点要和E节点通信时,如果B节点和C节点是非存储型,那么必须先追溯到根节点A,查找路由,即路径为D—C—B—A—B—C—E。若C为可存储型节点,则只需追溯到共同的祖先节点即可找到路由,即路径为D—C—E。DIS消息用于向邻居节点请求DODAG信息。当一个孤立的节点没有收到任何DIO消息的时候,可通过DIS向周围节点请求DODAG信息。收到DIS消息的节点会反馈DIO消息给DIS源节点。
如图1所示,首先A节点通过DIO消息广播自己创建的DODAG信息,收到DIO消息的节点根据OF来决定是否应该加入该DODAG;加入之后然后再向自己周围的节点继续广播DIO消息;这样一层一层地建立拓扑结构。当节点加入DODAG之后,就自动创建一条“向上”汇聚到根节点的路径。“向下”的路径则由DAO消息完成。
1.2定时器管理
RPL中使用细流算法[7]来控制DIO消息的发送。细流算法是一个适应性的机制,用来限制控制协议的开销。与传统IP网络不同,LLN网络有着非常有限的资源,必须尽可能的减少控制协议消息所占的比例,但同时又必须要维护好网络结构。当网络改变时,节点会以较高的频率发送控制包;当网络趋于稳定时,则控制流的速率减少。算法中定义了控制消息发送间隔参数I,当网络很稳定时,则I成倍的增加;而网络有动荡时,则发送间隔迅速降为最小值,高频率的发送控制消息以修复网络。
本文借助Contiki系统中的Cooja模拟器,对RPL协议进行了仿真。图2所示为节点布局图,并在图3中以节点5为例展示了DIO消息的发送控制过程。从图3中可以看到,当网络刚形成逐步趋于稳定的时候,DIO消息发送间隔成倍增加;图3中23:00和01:20附近陡峭的转折点表明此时监测到节点5和网络存在不一致性,迅速将控制消息发送间隔调至最小值以迅速修复网络。
1.3环路避免机制
RPL中规定,在沿着叶节点到根节点的路径上,节点级别必须是递减的[1],即父节点的级别必须小于子节点的级别。当节点在网络中位置发生改变时,必须根据父节点重新计算自己的级别。假设节点N的最优父节点为P,P的级别为R(P),那么N的级别R(N)计算公式为:
R(N)=R(P)+rank_increase
rank_increase为子节点和父节点级别的差值,其算法在OF中有定义。
节点的级别在环路避免中有着重要的意义。RPL协议也通过在包头上设定标志位来附带路由控制数据,以避免数据包被循环转发。
2考虑节点剩余能量的RPL协议
2.1RPL协议原始路由方案
目标函数决定了RPL协议的路径选择方式。目前RPL的官方文件中,只明确定义了零目标函数(OF0)[8],即以跳数(HC)为最佳路径选择的唯一标准,而其他的目标函数则由开发者根据需求灵活定义。比如对链路可靠性要求较高的应用,可将链路质量作为路由选择的首要考虑标准;而对能量受限的环境则可以定义在路径中尽量避开电池供电节点。在文档RFC6551[9]中,提出了多种可供开发者参考的路由度量。
在选择路径时,若只考虑跳数因素,必然会导致Sink周边节点数据压力过大,从而使关键节点能量过早消耗而死亡。文献[10]将网络的生命长度定义为第一个节点死亡的时间。对于能量受限的低功耗有损网络,如何平衡能量消耗,延长网络整体寿命,是协议要考虑的重要因素。
2.2优化之后的RPL路由方案
目前已有多种针对无线传感网络能量优化的路由协议,比如分级能量路由协议LEACH和TEEN,以数据为中心的能量有效路由协议DD和SPIN,还有基于地理位置的路由协议GPSR和GEAR等[11]。但这些协议都很难实现和RPL协议的融合。RPL协议是通过在containermetric中,定义路径选择时所考虑的参数,然后再以一定的方式将所需要考虑的参数相结合,从而确定一个合理的路径选择方案。
本篇论文中采取的是跳数(HC)和节点能量(EN)相结合的方式。结合方式有两种[12],一种是Lex,一种是Add。Lex是指优先考虑跳数,只有在跳数相同的情况下,才考虑节点能量;而Add则是采取两种参数综合考虑的方式,按照一定的比例相结合,即:
其中:
本文对这两种不同的结合方式做了仿真对比。
(www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/
CSSCI核心/医学投稿辅导/职称投稿辅导。
投稿邮箱:fabiaoba365@126.com
在线咨询:
275774677、
1003180928
在线咨询:
610071587、
1003160816
联系电话:18796993035
期刊介绍: 《高校辅导员学刊》是以党和国家关于加强大学生思想政治教育和辅导员队伍...
期刊简介: 《中国牛业科学》china Cattle Science(双月刊)曾用刊名:中国黄牛;中...
期刊简介: 《戏剧文学》DramaLiterature(月刊)曾用刊名:戏剧创作,创刊于1987年,...
期刊介绍: 《中华生物医学工程杂志》创刊于1995年,为中华医学会主办的专业学术期刊...
期刊简介: 《现代畜牧科技》ModernAnimalHusbandryScienceTechnology(月刊)曾用刊...
期刊简介: 《金融教育研究》(双月刊)创刊于1988年,原名为《江西金融职工大学学报...
近来发现有些作者论文投稿存在大量剽窃、抄袭行为,“发表吧”对此类存在大量剽窃、抄袭的论文已经停止编辑、推荐。同时我们也提醒您,当您向“发表吧”投稿时请您一定要保证论文的原创性、唯一性,这既是对您自己负责,更是对他人的尊敬。
此类投稿的论文如果发表之后,对您今后的人生和事业将造成很大的麻烦,后果不堪设想,请您一定要慎重,三思而后行。
如因版权问题引起争议或任何其他原因,“发表吧”不承担任何法律责任,侵权法律责任概由剽窃、抄袭者本人承担。