当前位置: 首页 > 专利查询>常州大学专利>正文

一种对RPL协议规避路由环路的方法技术

技术编号:12347573 阅读:101 留言:0更新日期:2015-11-18 19:37
本发明专利技术公开了一种对RPL协议规避路由环路的算法,属于无线传感网技术领域。在出现一致性事件时,先持续传输Vcon次,若仍然处于一致性,则在每两次传输间隔之间增加Q×Imin次,以此加强节点的信息交流,降低当一方节点出现链路质量恶化而不能及时通知另一方节点的情况,降低环路出现的几率。在出现不一致事件时,先持续传输Vcon次,若仍然处于不一致性,则在每两次持续传输中循环添加传输中断,传输中断通过Crand控制,Crand每被使用一次就递增1,而传输中断的时间为最小传输间隔Imin与[0,Crand]之间的随机值的乘积,依次类推,当Crand的值与P相等,重置变量,重新开始不一致事件的控制。改进了目前Trickle算法在一致性与不一致性事件时的传输间隔,降低了路由环路的几率。

【技术实现步骤摘要】

本专利技术属于无线传感网
,具体涉及一种对RPL协议规避路由环路的算 法。
技术介绍
低功耗有损网络(LowpowerandLossynetworks,LLN)是由功率、存储空间、处 理能力等资源受限的嵌入式设备所组成的网络,其网络设备之间通过多种不同的链路连 接,例如IEEE802. 15. 4、蓝牙、电力线通信、低功率Wi-Fi等等,在建筑自动化、城市传感器 网络(包括智能电网应用)、自动化家居以及工业自动化都有广泛的应用,其特点具有节点 资源少,报文传输易丢失,传输距离有限等。 低功耗有损网络路由协议(IPv6RoutingProtocolforLow-PowerandLossy Networks,RPL)是由互联网工程任务组(InternetEngineeringTaskForce,IETF)的 R0LL(RoutingOverLowpowerandLossynetworks)工作组,专门针对低功耗有损网络 (LowpowerandLossynetwork)新提出来的路由协议。每个RPL路由中的节点都具有对于 根节点的距离矢量(即Rank)。离根节点越近则Rank越小,另外RPL还具有上行路由和下 行路由,上行路由的建立通过根节点先多播DI0(D0DAGInformationObject)报文给周围 的节点,DI0报文中包含有根节点的Rank,当接收到根节点DI0报文后,根据0F0 (0bjective FunctionZero)计算其自身的Rank。 当一个RPL节点加入D0DAG后检测邻居节点的链路质量(ETX),从而获得最优父节 点,这个过程与节点报文的发送频率、是否有DA0报文有关。当前RPL路由协议主要使用控 制发送频率的算法为涓流算法,其基本原理为当节点间DI0报文传输一致时加大节点间的 传输间隔,以此节约传输功耗;若节点间DI0报文传输出现不一致,则使传输间隔设为最快 频率,重新寻找最优节点,构建拓扑网络。但根据实验发现,当网络中节点处于一致性事件, 则节点间减少传输次数,节约能耗。若网络中出现不一致事件,则节点将频繁的发送信息, 以重新组建网络。如果节点间长期处于一致性事件,则节点间传输次数则会以2 X指数形式 递减,若突然出现不一致事件,则无法立刻发现并采取措施,将会导致相关节点丢失或父子 节点关系混乱等问题。 另一方面,若节点间出现不一致事件(如路由环路),则节点间将长时间频繁的发 送信息,导致节点能耗过大,不利于节点的长期使用。假设该节点为N,其父节点为P,则在 Contiki操作系统的RPL路由协议设置中可以根据公式(1)和公式(2)计算: RankInc=MetricLinkXHnin (1) Rank(N) =Rank (P) +RankInc (2) 式(1)中H_表示父节点信息发送给子节点信息时,子节点关于它的父节点的 Rank值增加的最小值。MetricLink为链路ETX(ExpectedTransmissionCount)的相关参 数。 当节点发现自己的Rank值相较与其他节点最小,则就把根节点作为自己的最优 父节点。当节点选择出最优父节点并且该节点并非目标节点则该节点将继续发送DIO报文 寻找自己的子节点,以此建立上行路由。 在RPL路由网络中,由于链路质量的恶化以及RPL协议缺少检查非父非子节点的 机制,节点会选择自己的子节点作为自己的最优父节点,形成两个节点互为父节点的环路。 假设有节点A、B、C、D,节点A是B的最优父节点,节点C是B的一个子节点,节点D是B- 个邻居节点。 设节点A的Rank值为Rank(A),节点B与A之间的链路ETX为MA,节点B与C之 间的链路ETX为Me,则B和C的Rank值计算如公式(3)和(4)所示: Rank (B) = Rank (A) +MA X Hnin (3) Rank(C) =Rank(B)+MCXHnin (4) 因为ETX和H_都为正数,根据上述公式可得公式(5): Rank (A)〈Rank (B)〈Rank (C) (5) 由于节点D是节点B的一个邻居节点,所以有公式(6): Rank(A) <Rank(D) (6) 当节点B重新选择自己的最优父节点时会多播DIO信息给邻居节点,有计算公式 (7)、(8)、(9)如下: Rank(BA) =Rank(A)+MAXHnin (7) Rank(Bc) =Rank(C)+McXHnin (8) Rank(BD) =Rank(D)+MDXHmin (9) 若如之前假设则有公式(10)和(11): Rank (BA)〈Rank (Bc) (10) Rank (Ba)〈Rank (Bd) (11) 节点B将选择A作为最优父节点。 但此时,若是出现某些链路质量恶化,Rank(A)SMa会增加。当恶化致一定程度, 致使Rank(BA) >Rank(Be),而此时由于节点DI0报文的发送运用TA若与之前发送信息一致, 并不会在链路质量恶化后立刻将节点信息发送出去,致使节点间交流延迟。另一方面,若 Rank(BD)>Rank(Be),则此时C的Rank值最小,节点13就会将C作为自己的最优父节点,但是 C的最优父节点就是节点B。当出现这种情况就会出现导致两个节点互为父节点,形成路由 环路。 当出现路由环路,环路内向根节点发送的信息将会丢失,并且造成信息路由可靠 性降低。为了修复环路,节点将会使用TA频繁的发送DI0报文,使得RPL网络中局部通信 更加频繁,将会造成某些链路质量下降,形成新的环路,造成恶性循环,甚至会出现路由风 暴现象,导致节点能源消耗殆尽。 尤其需要指出的是,像在农田、山区等长期无人看管的无线网络,节点需要有较长 的寿命来维持无线路由拓扑结构,所以需要有一个更好的算法进行改进。
技术实现思路
为了解决TA(TrickleAlgorithm,涓流算法)在实际运用时会出现路由环路 的缺陷,尤其是在大型无人看管环境下导致的不良后果,本专利技术在涓流算法TA(Trickle Algorithm)基础上提出一种新的间隔更新算法IUTA(IntermittentUpdateTrickle Algorithm),采用的技术方案如下: -种对RPL协议规避路由环路的算法,技术原理为:在RPL路由中的节点出现一致 性事件时,所述RPL路由中的节点先持续传输&。"次,若仍然处于一致性,则在RPL路由中 的节点每两次传输间隔之间增加(^1_次传输;在RPL路由中的节点出现不一致事件时, 所述RPL路由中的节点先持续传输(。"次,若仍然处于不一致性,则所述RPL路由中的节点 在每两次连续传输中增加CMnd传输间隔; 其中,V_为初始传输控制值,Q为一致性事件中控制发送的量,I_为当前时间区 间I的取值下限值,Crand为不一致事件中间隔控制中随机取值计数; 具体实现步骤包括: (1)设置RPL路由中的节点的当前时间区间I的值为区间中的值,并开 始第一个时间区间;其中1_为当前时间区间I的取值上限值; (2)当RPL路由中的节点的一个时间区间开始时,使控制一致性事件计数C为0, 并且置当前时间区间I内的一个时刻t为之间的随机数本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/CN105071955.html" title="一种对RPL协议规避路由环路的方法原文来自X技术">对RPL协议规避路由环路的方法</a>

【技术保护点】
一种对RPL协议规避路由环路的算法,其特征在于,在RPL路由中的节点出现一致性事件时,所述RPL路由中的节点先持续传输Vcon次,若仍然处于一致性,则在RPL路由中的节点每两次传输间隔之间增加Q×Imin次传输;在RPL路由中的节点出现不一致事件时,所述RPL路由中的节点先持续传输Vcon次,若仍然处于不一致性,则所述RPL路由中的节点在每两次连续传输中增加Crand传输间隔;其中,Vcon为初始传输控制值,Q为一致性事件中控制发送的量,Imin为当前时间区间I的取值下限值,Crand为不一致事件中间隔控制中随机取值计数;具体实现步骤包括:(1)设置RPL路由中的节点的当前时间区间I的值为区间[Imin,Imax]中的值,并开始第一个时间区间;其中Imax为当前时间区间I的取值上限值;(2)当RPL路由中的节点的一个时间区间开始时,使控制一致性事件计数C为0,并且置当前时间区间I内的一个时刻t为[I/2,I]之间的随机数,时间区间在I时结束;(3)若检测到RPL路由中的节点中有一个一致性事件发生,则使控制一致性事件计数C的值增加1,不一致事件初始传输的次数Cstart的值增加1;(4)若不一致事件初始传输的次数Cstart大于初始传输控制值Vcon时,使不一致事件间隔控制中随机取值计数Crand的值增加1,并使不一致事件中每次传输中断的长度Vrand为区间[0,Crand]的一个随机值,使标识符判断传输计数Cflag的值增加1;(5)若标识符判断传输计数Cflag等于不一致事件中每次传输中断的长度Vrand并且一致性事件计数C小于冗余控制参数k时,使Cflag的值为0,使不一致事件间隔控制中随机取值计数Crand的值为1,不一致事件中发送数据标识符F的值取反;若F的值为1,则启动发送,若不一致事件间隔控制中随机取值计数Crand的值与控制量不一致事件中控制发送的量P相等时,则使不一致事件初始传输的次数Cstart为0;(6)若RPL路由中的节点的当前时间区间I到期,则使当前时间区间I加倍,并使I的暂存值Itemp的值为I,一致性事件计数C的暂存值Ctemp的值为C,则时间区间增大计数值CI增加1,若当前时间区间I大于当前时间区间I的取值上限值Imax,则使Imax的值为I;(7)在时间区间增大计数值CI小于一致事件中控制发送的量Q时,重置定时器,使当前时间区间I的值为Imin,一致性事件计数C的值为0,时间区间增大计数值CI的值0;若时间区间增大计数值CI大于一致事件中控制发送的量Q时,并且I的暂存值Itemp的值不为0,并且C的暂存值Ctemp的值也不为0,则使I的值为Itemp,C的值为Ctemp;(8)若RPL路由中的节点中检测到不一致事件时,并且当前时间区间I的值大于Imin,则重置定时器,使I的值为Imin,C的值为0。...

【技术特征摘要】

【专利技术属性】
技术研发人员:郇战陶亚辉范伟伟
申请(专利权)人:常州大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1