移动场景下的节点高效寻路RPL路由算法优化

2021-03-13 06:00姚玉坤朱克兰
小型微型计算机系统 2021年2期
关键词:网络拓扑链路时延

姚玉坤,满 巧,朱克兰

(重庆邮电大学 通信与信息工程学院,重庆 400065)

(重庆邮电大学 移动通信技术重庆市重点实验室,重庆 400065)

1 引 言

无线传感器网络(WSNs)是由大量低成本、低功耗的传感器设备组成.这些传感器设备监测环境并获取数据,但是传感器节点之间的通信链路的丢包率较高.网络中部署根节点来收集数据,根节点在能量、计算和存储方面具有更高的容量.在无线传感器网络中,传感器之间的通信不仅仅可以采用传统的点对点通信,它们还可以采用点对多点和多点对点通信.针对无线传感器网络设计的传统路由协议不适用于低功耗有损网络[1].为了克服这些限制,国际互联网工程任务组的ROLL工作组设计了低功耗有损网络IPv6路由协议(routing protocol for Low Power and Lossy Networks,RPL)[2].自2012年以来,该协议已成为标准.

传感器网络主要由静态传感器组成,静态RPL主要从负载均衡[3]和拥塞控制[4]方面进行研究.然而,在智能家居、智能交通、医疗监控和工业自动化等诸多新兴应用领域[5],移动性支持正成为一种需求.如在医疗领域中,患者配备了身体传感器来测量葡萄糖率、脉搏率、呼吸率等生理指标.移动传感器收集到的数据随后被转发到根节点,医生可以对其进行检查,并迅速做出适当的决策来治疗患者[6].在炼油厂,为了监测工人在危险环境中的健康状况,配备在工人身上的移动传感器对工人的生命体征进行连续监测.

然而由于移动传感器在随机移动的场景下,与静态传感器之间的链路频繁地断开,这会增加数据包丢失和重传的概率,从而耗尽传感器的电池能量并缩短网络寿命.在这一背景下,许多研究将重点放在增强RPL路由协议以适应移动无线传感器网络[7].

本文提出了一种基于移动场景高效寻路的RPL路由算法优化(MSE-RPL),它是一种适用于移动场景下的RPL路由协议.MSE-RPL的主要目标是提高移动场景下移动节点通信链路的稳定性,从而有利于数据包快速高效的传输.

2 相关工作及问题描述

近年来,RPL在移动性支持方面取得了一定的进展.文献[8]提出了一种考虑移动节点(mobile node,MN)随机轨迹的自适应计时器算法(Overview of the modified RPL protocol,Mod-RPL),该算法根据移动节点离开父节点通信范围的剩余时间动态调整溪流计时器的时间间隔.然而Mod-RPL从备选父节点集(candidate parent node sets,CPNs)中选择最优父节点(preferred parent node,PPN)的目标函数仅仅只考虑了代表移动节点与其父节点之间链路质量的期望传输次数(Expected Transmission Count,ETX)和接收信号强度指示(Received Signal Strength Indication,RSSI)值,没有考虑到节点的移动性.同时,自适应计时器算法仅适用于MN,PPN以及MN的移动方向均在同一条水平线上的特殊移动方向的移动场景.并且在面向目的地有向无循环图(Destination Oriented Directed Acyclic Graph,DODAG)目的地通告消息(Destination Advertisement Object,DAO)的帧格式中添加了用于计算节点之间距离的4bit位置字段(Position),增加了不必要的开销.

文献[9]作者提出一种移动感知父节点选择算法(Mobi- lity-Aware Parent Selection for Routing Protocol,MAP-RPL).MAP-RPL算法根据平均RSSI值和黑名单机制构建备选父节点集,然后根据跳数选择PPN.该算法通过对比MN到根节点的跳数与相邻节点到根节点的平均跳数来判断MN的移动方向,从而选择PPN,但该算法仅仅只适用于相邻节点到根节点的跳数不同的场景,同时对于MN在入网时选择PPN无法做出有效决策.

文献[10]提出一种用于无线传感器网络的增强型移动路由协议,MN基于移出CPN通信范围的最短时间选择PPN,未考虑到移动方向的随机性,且需要MN频繁的计算最短时间,增大了MN的能耗.文献[11]提出一种RPL移动管理框架,其目标函数考虑流量,rank值等度量值选择PPN,同样适用于静态场景下PPN选择,并没有结合节点的随机移动性.文献[12]提出一种基于多度量的目标函数,综合考虑节点剩余能量RE、节点间的距离Dist,节点间的距离变化Dist_var选择PPN.但入网时刻的DODAG信息对象消息(DODAG Information Object,DIO)发送频繁,发送间隔为最小值,极短时间内的节点间距离变化值无法有效选择通信链路稳定的父节点.

文献[13]提出了一种基于RSSI值、rank值和动态控制消息管理相结合的RPL增强机制(multiple,RSSI,Rank and dynamic,MRRD+).该算法根据RSSI值预测节点移动方向,还更改了溪流计时器.但是MRRD+仅仅只考虑了MN远离或靠近PPN的两种移动方向,不能适用于移动节点移动方向随机的场景,也没有考虑当MN即将移出当前PPN通信范围后的重新入网的情况.

现有文献在RPL移动性支持方面存在以下4个方面的问题:

1)MN发送的控制消息的种类和帧格式都存在冗余.

2)所有RSSI大于阈值的相邻节点均加入备选父节点集,增加了MN的处理时延和能耗.

3)网络场景不具有普适应,仅仅只适用部分特殊移动场景.

4)MN与当前PPN链路中断后再发送DODAG信息请求消息(DODAG Information Solicitation,DIS)以寻路,导致丢包率较大.

为了解决现有文献在RPL移动性支持方面存在的问题,本文提出一种基于移动场景高效寻路的RPL路由算法优化MSE-RPL,本算法精简了MN发送的控制消息,在建立备选父节点集时引入了自适应黑名单机制,同时提出了基于移动速度和方向的目标函数.采用DIS计时器在MN和当前PPN链路断开前就及时通告DIS消息寻路,降低了丢包率.最后,对MSE-RPL算法进行理论分析和仿真验证.

3 网络模型

MSE-RPL算法考虑移动节点MN只能作为叶子节点,不能作为中继节点的网络场景.移动传感器配置为DODAG中的叶子节点.因此,不允许其发送DIO消息.位于移动节点附近的所有传感器均不允许选择其作为父节点.网络的部署方式是在移动节点移动过程中附近至少有一个静态节点(static node,SN),其网络拓扑模型如图1所示,移动节点随机移动,但始终被部署在建筑物内部的静态节点包围.

图1 网络拓扑模型Fig.1 Network topology model

1)所有无线传感器节点均部署在一个云形监测区域内,其他传感器节点的数据包都最终汇聚到根节点,由根节点与Internet进行通信.

2)根节点位于监测区域左上方,一直处于工作状态.根节点的能量可以无限制补充,网络中其余无线传感器节点的能量均不能补充,由电池提供能量.

3)中继节点:中继节点既能够产生数据包,又可以转发其他节点的数据包.中继节点为静态节点,故此部分的路由构建与标准RPL[2]一致.休眠时间均较短,在通信范围内都能够监听到邻居节点的工作状态.

4)叶子节点:叶子节点包含两种节点,静态节点和移动节点.但移动节点只能作为叶子节点加入网络.注意,若某节点作为叶子节点加入网络,则此节点没有子树,叶子节点与节点所处位置无关.

5)网络拓扑初始化时,所有无线传感器节点的性能和参数保持一致,即节点的初始能量、传输功率、内存大小和数据处理能力等均相同.

4 MSE-RPL算法

针对LLN中现有的移动性支持路由算法存在的问题,MSE-RPL算法的改进如下:

1)修改DIS和DAO消息的帧格式,以区分移动节点和静态节点发送的控制消息,在不增加额外控制消息的前提下,实现了与标准RPL的兼容性.

2)采用自适应黑名单机制建立备选父节点集,降低了MN的处理时延和能耗.

3)基于MN的移动速度和方向计算MN移出CPN通信范围的预估时间,从而选出最优PPN.

4)设定DIS计时器,以便于MN在和当前父节点断开链路前及时切换到新的PPN,降低了丢包率.

4.1 精简控制消息

在MN作为中继节点的网络场景下,当MN移出当前PPN的通信范围而断开链路时,MN的子树也会重新选择PPN,这样不但会增大子树节点重新入网而频繁发送控制消息带来的开销,还会增大子树节点的能耗,同时也会导致网络拓扑的不稳定.并且MN作为中继节点在移动过程中断开链路后,rank值变为无穷大,此时有可能在移动过程中选择其子树作为下一跳父节点,产生路由环路.故本算法MN只能为叶子节点加入DODAG,故MN不发送DIO和DODAG目的地通告消息确认消息(Destination Advertise ment Object Acknowledgement,DAO-ACK),因此图2只修改DIS和DAO消息的帧格式,不再修改另外两种控制消息.

图2 修改后的DIS(a)和DAO(b)帧格式Fig.2 Modified DIS(a) and DAO(b) frame format

本算法中的DIS控制消息主要用于以下两种情况:1)MN初次入网:在静态节点拓扑构建完成后,当移动的MN需要加入DODAG时,广播DIS控制消息,RSSI>阈值的相邻节点接收到该DIS消息后,便向其回复DIO消息,在MN选出PPN后便加入到DODAG中;2)路由故障修复:当MN移出先前PPN的通信范围后,网络中出现链路故障,MN通过广播DIS消息重新申请加入到DODAG中.

本算法在存储模式下的DAO控制消息主要用于构建下行路由,MN从CPNs中选出PPN后,将携带自身地址前缀的DAO控制消息单播到选择的PPN,用于请求ACK消息,一旦MN接收到PPN发送的ACK消息后,MN入网完成,开启数据传输阶段.

为了区分移动节点和静态节点发送的控制消息,保证MSE-RPL算法的向后兼容性以及避免发送额外控制消息带来的开销,修改了DIS消息和DAO消息的帧格式.

如图2所示,取DIS和DAO帧格式中的标志字段(Flags)的第一比特设置为F字段,该字段用于区分静态节点和移动节点.如果F=0,则表明此消息是由静态节点发出的.否则,表明此消息是从移动节点发出的.

本算法精简了移动节点的控制消息,只允许MN发送DIS和DAO消息,同时以最小比特修改DIS和DAO的帧格式,使所有的RPL中除了根节点之外的静态节点和移动节点均能够通告和接收DIS和DAO消息,而不需要添加额外的支持节点移动的控制消息.

4.2 自适应黑名单机制

本算法采用自适应黑名单机制,MN自适应维护黑名单列表,无需将RSSI>阈值的每个相邻节点均加入备选父节点集.假定通过对路由器节点发送的多普勒频率应用边带滤波,偏移载波解调,同相/正交解调等方法来测量移动方向,从而获知MN移动方向与CPN的夹角θ.如图3所示,若θ>90°,则移动节点正在远离此相邻节点,MN在此节点的通信范围内的时间会很短,故此时无论MN与此节点距离如何,均将此节点的ID号记录在黑名单列表.

图3 移出通信范围的剩余距离计算Fig.3 Calculation of remaining distance out of communication range

最初,在MN的CPNs中没有备选父节点,因此也没有PPN,故MN向网络广播DIS消息申请加入到DODAG中.在相邻节点接收到DIS消息之后,如果RSSI值大于阈值,则将携带有多普勒频率和RSSI值的DIO消息发送到移动节点.这是由于RSSI值大于阈值的相邻节点,即在MN的实际通信范围内,其与MN的当前链路质量才可靠.RSSI值指示节点和相邻节点之间链路的信号强度,通过读取无线电CC2420芯片上内置的RSSI寄存器来测量RSSI值.MN收到DIO消息后,将θ>90°的相邻节点加入到黑名单列表中,将θ≤90°的相邻节点添加到备选父节点列表中.

以图3为例,MN的RSSI>阈值的相邻节点有节点1,2,3,4.移动节点将θ>90°的节点3和节点4的ID记录在黑名单列表,而只考虑节点1和节点2作为备选父节点,即使节点4距离MN比节点2更近.这样是为了避免MN将RSSI>阈值的每一个相邻节点均加入备选父节点集,降低了MN的处理时延和能耗.

随着MN持续移动,此黑名单列表需要持续更新.当MN即将移出当前PPN时,MN开启发现阶段,此时MN基于新的移动位置和变化的相邻节点需要自适应的更新黑名单列表.

自适应黑名单机制只能根据θ大致判断移动节点与相邻节点的相对方向,无法为MN准确的选择最优PPN.例如图3中节点1与节点2的θ相等,此时需要进一步的判断.在4.3节基于移动速度和移动方向计算出移动节点移出各个CPN的通信范围的预估时间(estimated time,ET)来选择PPN.

4.3 最优父节点选择

MN从CPNs中选择PPN时,需要综合考虑MN的移动方向,移动速度等因素.因此,提出的目标函数综合考虑了各个度量值,计算出移动节点移出各个CPN的通信范围的预估时间.由于MN移动速度和方向的随机性,ET并非精确时间,而是依据MN当前移动速度和方向预估的移出CPN通信范围的估算时间.ET的计算如下.

4.3.1 计算MN的移动速度

假设移动节点的移动速度是Vm,移动节点和父节点之间的角度是θ,电磁波的速度是c,fd是多普勒频率,接收到的频率是fr,路由器节点发送的频率为ft.

故移动节点的速度,如公式(1)所示:

(1)

4.3.2 计算MN移出CPN通信范围的剩余距离

如图3所示,当MN接近或远离父节点时,MN必须移动一段距离de.为了获得距离de,需要df的值,df是移动节点和父节点之间的距离,根据接收信号强度指标RSSI值估计df.根据RSSI值随节点间距离的变化规律来估计该距离,通过从相邻路由器节点发送一个固定强度的信号,利用移动节点接收到的衰减信号的强度来估计.

两个节点之间的距离是根据接收信号强度指示RSSI值确定的.然而无线电传播路径损耗如房屋障碍、多径传播、波的衍射等给RSSI值的测量带来比较大的影响,从而影响了距离计算的精度.为了解决RSSI在传播过程中产生的测量误差,采用高斯滤波法优化RSSI值[14,15].即对多次测量的RSSI值进行滤波优化,筛选出最优的RSSI值,进而提高测距的精度,有效改善了测距的抗干扰性和稳定性.在接收的RSSI数据中,某些数值必然是小概率事件,而大部分的数值还是在合理区间内波动.公式(2)采用高斯滤波法筛选出这些大概率数值.

(2)

(3)

再采用对数正态传输模型利用滤波后的RSSI估算值计算距离d.信号的强度与距离成反比,RSSI值在低功耗设备中计算距离如公式(4)所示:

(4)

其中A为1m处接收信号强度,n为路径损耗指数因子,d为节点间距离.故MN与PPN的距离,如公式(5)所示:

(5)

由于线段df,r和角度θ是已知的,因此MN移出CPN通信范围的剩余距离de,可以通过应用余弦的第二定律获得,其中r是CPN的通信半径.

剩余距离de的计算如公式(6)所示:

(6)

4.3.3 预估时间的计算与使用

利用多普勒频率来测量移动节点的移动速度,通过信号强度来测量移动节点与备选父节点之间的距离.

公式(7)根据MN移出CPN通信范围的剩余距离de与移动节点的移动速度Vm之比来计算MN移出CPN通信范围的预估时间ET.

(7)

当接收到来自相邻节点的DIO消息后,MN提取DIO消息中包含的多普勒频率和信号强度RSSI值,然后计算移动节点MN移出某个CPN通信范围所需时间ET,最后从CPN中选择这个ET值最大的节点作为PPN.

4.4 DIS计时器

在网络拓扑维护阶段,移动节点MN在选择了PPN之后继续移动,此时为了预测移动节点与当前PPN的链路断开时间,以便于MN在和当前PPN断开链路前及时切换到新的PPN,启用了DIS计时器.

最初,移动节点还没有入网时,它必须快速选择父节点以加入到DODAG.此时设置DIS计时器间隔为Imin,最小化DIS间隔以快速加入网络拓扑.

在入网完成后,当MN收到选择的PPN 发送的DAO-ACK消息,此时重置DIS消息的发送间隔为Imax,Imax本应该为MN移出PPN通信范围所需的时间ET.但由于移动节点的速度和方向的随机性,ET可能会出现时间差,一旦MN比预估时间更早的移出PPN的通信范围,由于无法及时切换到新的PPN,会导致丢包率较高的问题.为了克服这个问题,本算法将最大间隔Imax设置为[ET/2,ET]范围内的随机数.节点继续移动,当计时器到期,由于移动速度和方向的随机性,MN极有可能没有按照预估时间移出PPN通信范围.故MN重新基于新的速度和方向计算ET,从而计算最大间隔Imax.若此间隔Imax大于阈值,则等待计时器到期后再重新计算新的Imax.直到Imax小于阈值,此时 MN即将移出PPN的通信范围,MN立即广播DIS消息以寻路.在收到相邻节点发送新的DIO消息之前,DIS计时器最小化为Imin.

本算法的DIS计时器优点如下:1)Imax设置为[ET/2,ET]范围内的随机数,考虑了预估时间与实际移出通信范围时间的时间差,在MN即将移出却还没有断开链路时就开始寻找新的父节点,当寻找到了新的父节点再从当前PPN切换到新PPN,而不是链路断开后MN再开始寻路,有效地降低了丢包率;2)在Imax设置到期后,以最小间隔Imin发送DIS消息,有助于快速寻找新PPN.

5 MSE-RPL算法的操作步骤

MN的移动轨迹示例如图4所示.

图4 MN的移动轨迹示例Fig.4 Example of MN′s movement trajectory

步骤1.在T1时刻,MN没有PPN.它的备选父节点列表也为空.MN开启发现阶段,于是MN以Imin为间隔广播DIS消息.

步骤2.在T2时刻,MN选择PPN.MN监听到了来自RSSI值大于阈值的相邻节点4、节点5的DIO消息,由于θ≤90°,将相邻节点4、节点5均加入到CPNs中.然后MN从DIO消息中提取多普勒频率和RSSI值并计算移出各个CPN通信范围的预估时间ET.MN选择ET值最大的CPN(节点5)为PPN.MN单播回复 DAO消息给PPN.在从MN接收到DAO消息之后.PPN向MN发送一个DAO-ACK确认消息.于是MN在收到DAO-ACK后重置DIS计时器间隔为Imax,开启数据传输阶段.

步骤3.在T3时刻,MN更新PPN.DIS计时器到期,MN即将移出节点5的通信范围.MN仍使用当前PPN传输数据包,同时MN以Imin为间隔广播DIS消息以重新入网.此时MN收到RSSI>阈值的相邻节点1、2、6、sink发送的DIO消息.由于MN的移动方向与节点1、6的角度θ>90°.则MN把节点1、6加入到黑名单列表中.而把节点2、sink加入备选父节点列表.然后MN根据计算节点2、sink的ET,选择ET最大的sink作为PPN.然后断开与节点5的链路,切换到sink并重置DIS计时器为Imax,进入数据传输阶段.

步骤4.在T4时刻,随着MN持续移动,DIS计时器到期,MN开启发现阶段以重新寻路.在MN持续移动过程中,按照本算法不断交替进行数据传输阶段和发现阶段,直至移出所有节点的通信范围.

6 仿真验证

本算法使用OPNET14.5软件进行网络模型的搭建和仿真,改变网络拓扑的节点密度,从平均端到端时延、移动节点能耗、丢包率方面,将本算法与标准RPL,Mod-RPL,MAP -RPL进行对比和分析[16].

6.1 仿真参数

在仿真中,考虑了一个面积为120×120m2的模拟仿真区域,仿真参数设置如表1所示.假定移动节点在区域内自由移动,与之相连的静态节点每隔3s(20p/m)向根节点发送一次数据.考虑了移动节点速度在0.6-2.1m/s,这也是人类正常行走速度.研究节点速度的变化对平均端到端时延、移动节点能耗、丢包率的影响.与此同时,网络拓扑中部署了1个根节点(SINK),6个移动节点(MN),为了研究改变节点密度对于移动场景下RPL路由算法性能的影响,分别部署24和35个静态节点(SN),即固定节点(SINK+SN)总数为25和36,固定节点呈网格拓扑分布.其中每次仿真重复10次,最终取平均值作为仿真结果.

表1 仿真参数设置Table 1 Simulation parameter settings

6.2 性能指标

6.2.1 平均端到端时延

平均端到端时延(Avg_E2E_Delay)是数据包成功地从源节点到达目的节点所花费的平均时间.可以使用公式(8)进行计算,其中ATi是数据包到达时间,STi是数据包发送时间,n是数据包总数.

(8)

6.2.2 移动节点能耗

能耗对移动节点的寿命有着重要的影响.基于功耗计算移动节点的能耗,功耗是节点运行所需的功率,它主要涉及发送状态、接收状态、处理状态(CPU)和空闲状态(LPM)等4种状态.其中PCPU、PLPM、PRX、PTX分别为节点在有源、低功耗、发射、接收阶段的功耗.TCPU、TLPM、TRX、TTX分别4种状态下花费的时间.故EMN为移动节点在仿真时间内的总能耗.

EMN=TCPU×PCPU+TLPM×PLPM+

TRX×PRX+TTX×PTX

(9)

6.2.3 丢包率

丢包率(Packet Loss Rate, PLR)为仿真中所丢失数据包数量占源节点发送数据包数量的比率.如公式(10)所示,其中XR为源节点发送的数据包个数,XT为目的节点成功接收的数据包个数.

(10)

6.3 仿真结果及分析

6.3.1 平均端到端时延

图5显示了在24个和35个静态节点(SN)组成的网络拓扑中移动节点速度的变化对平均端到端时延的影响.

图5 平均端到端时延对比Fig.5 Comparison of average end-to-end delay

结果表明,随着移动节点速度的增加,平均端到端时延明显上升.这是由于随着移动速度的增加,MN极易移出当前PPN的通信范围,从而增加了MN链路断开后进行计算和做出决策的处理时延以及丢包后的重传时延.故平均端到端时延随着MN速度增加而上升.

在24个和35个静态节点组成的网络拓扑中MSE-RPL算法的平均端到端时延分别为372.3ms和324.8ms,与MAP-RPL算法相比,MSE-RPL的平均端到端时延分别下降了8.7%和10.8%,相比于Mod-RPL算法分别下降了9.4%和11.4%.MSE-RPL的平均端到端时延得以明显改善.这是因为标准RPL、Mod-RPL、MAP-RPL的目标函数度量均过于单一,未考虑到MN的移动速度和方向的随机性,仅适用于特殊移动场景.如当移动速度为0.6~1.2m/s,MAP-RPL的平均端到端时延分别为374.3ms和329ms,低于Mod-RPL.然而当1.5~2.1m/s,MAP-RPL的平均端到端时延相比于Mod-RPL分别上升了2.3%和2.5%.这是由于MAP-RPL基于跳数选择PPN,平均端到端时延受跳数影响较大,该算法不具有普适性.而MSE-RPL算法MN基于移动速度和方向计算移出PPN通信范围的预估时间,选择通信链路连接时间最长的PPN作为下一跳,有效维护了网络拓扑的稳定性,减少了链路断开后做出决策的处理时延和丢包后的重传时延.且利用DIS计时器使MN在链路断开前及时寻路,降低了切换时延.故MSE-RPL的平均端到端时延得以明显改善.

同时相比于24个静态节点的网络场景,35个静态节点构成的网络拓扑下的4种算法的平均端到端时延均有明显改善,MSE-RPL算法的平均端到端时延由372.3ms下降到324.8ms,性能提升了12.8%.标准RPL,Mod-RPL,MAP-RPL算法的性能分别提升了10.7%、10.8%以及11.3%.这是由于在相同的场景面积下,35个静态节点的网络场景的节点密度更大,移动节点在发现阶段寻路的过程中,其通信范围内的相邻节点数目更大,从而构建更优的CPNs,有利于移动节点选择更优的PPN,有效的维护了网络拓扑的稳定性,减少了移动节点的入网时延和切换时延.

6.3.2 移动节点能耗

图6显示了在24个和35个静态节点(SN)组成的网络拓扑中移动节点速度的变化对移动节点累计能耗的影响.

图6 移动节点能耗对比Fig.6 Comparison of energy consumption of mobile nodes

从仿真结果可以得知,随着移动速度的增加,能耗呈上升趋势.这是由于随着移动速度的增加,MN移出当前PPN通信范围的预估时间越短,MN需要发送更多的控制消息以重新入网,且MN需要重新计算预估时间ET以选择PPN,故MN的能耗随着移动速度的增加而上升.

而如图6所示,35个静态节点组成的网络拓扑中MSE-RPL、MAP-RPL、Mod-RPL、标准RPL的移动节点平均能耗分别为60.2mJ、64.6mJ、62mJ和59.4mJ.因此,MSE-RPL的平均能耗比MAP-RPL、Mod-RPL显著降低,但比标准RPL高约1.3%.这是因为标准RPL的MN无需维护黑名单列表,且使用未修改帧格式的控制消息,能耗较小.Mod -RPL需要在数据传输阶段频繁检测并计算剩余时间来调整溪流计时器以快速做出决策.MAP-RPL的MN的黑名单列表没有更新机制,开启新的发现阶段均会有新的节点加入黑名单列表,故MN的能耗较大.而MSE-RPL只需在发现阶段计算部分相邻节点移出CPN的预估时间ET,同时精简了MN的控制消息的帧格式.采用自适应黑名单机制,MN定期更新黑名单列表,降低了MN维护较大的黑名单而带来的能耗.故MSE-RPL的性能明显优于其它3种算法.

同时相比于24个静态节点的网络场景,35个静态节点构成的网络拓扑下的4种算法的移动节点能耗均有明显改善,MSE-RPL算法的移动节点能耗由65.9mJ下降到60.2mJ,性能提升了8.6%.标准RPL,Mod-RPL,MAP-RPL算法的性能分别提升了7.1%、7.8%以及8.5%.这是由于节点密度更大的网络场景下移动节点通信范围内相邻节点的数目更大,由于MSE-RPL算法的自适应黑名单机制,移动节点无需对所有相邻节点均加入CPNs以计算目标函数值,故发现阶段的能耗不会显著增加.且有利于移动节点选择最优的PPN,选择通信链路连接时间最长的PPN作为下一跳,有效的维护了网络拓扑的稳定性,降低了由于网络拓扑不稳定移动节点频繁断开链路后重新寻路所产生的能耗.

6.3.3 丢包率

图7显示了在24个和35个静态节点(SN)组成的网络拓扑中移动节点速度的变化对丢包率的影响.

图7 丢包率对比Fig.7 Comparison of Packet loss rate

从仿真结果可以得知,随着移动速度的增加,丢包率呈上升趋势.这是由于随着移动速度的增加,MN移出当前PPN通信范围的预估时间越短,网络拓扑不稳定导致MN更频繁的切换PPN,在切换过程中极易造成丢包,故丢包率随着移动速度的增加而上升.

而如图7所示,35个静态节点组成的网络拓扑中MSE-RPL、MAP-RPL、Mod-RPL、标准RPL中移动节点的平均丢包率分别为1.3%、2.7%、3.8%和6.5%.因此,MSE-RPL的平均丢包率得以有效改善.这是由于MAP-RPL基于跳数选择PPN,选择的PPN均非最优,导致当前通信链路不稳定而增大了丢包率,且Mod-RPL发送DIS消息给PPN断开链接后再开始寻找新的父节点,容易造成丢包.而MSE-RPL基于预估时间ET选择PPN,通信链路更稳定.且设定DIS计时器,以便于MN在和当前父节点断开链路前及时切换到新的父节点,有效地降低了丢包率.

同时相比于24个静态节点的网络场景,35个静态节点构成的网络拓扑下的4种算法的丢包率均有明显改善,MSE-RPL算法的丢包率由3.7%下降到1.3%,MAP-RPL和Mod-RPL算法的丢包率分别由6.4%和7.8%下降到2.7%和3.8%.这是由于在相同的场景面积下,35个静态节点的网络场景的节点密度更大,移动节点在发现阶段寻路的过程中,其通信范围内的相邻节点数目更大,从而构建更好的CPNs,有利于移动节点从CPN中选择更优的PPN,有效的维护了网络拓扑的稳定性,有效缓解了由于通信链路频繁断开后数据包未能及时切换到新的PPN导致的数据包丢失.

7 结束语

本文针对现有的无线传感器网络中移动性RPL路由协议存在控制消息冗余,应用场景不具有普适应,丢包率较大,移动节点能耗较高等问题,提出MSE-RPL算法.本算法精简了移动节点的控制消息,并引入了自适应黑名单机制,减少了CPNs中的节点数量,降低了MN的能耗.其次基于移动节点的移动速度和方向计算MN移出PPN的通信范围的预估时间ET,从而选出连接时间最长的CPN作为PPN,提高了路由稳定性,从而有效降低了平均端到端时延.最后在链路中断前,利用DIS计时器及时广播DIS消息寻路,有效降低了丢包率.仿真结果表明,MSE-RPL算法在降低平均端到端时延、移动节点能耗、丢包率等方面均优于对比算法.在今后的工作中,将从节能方面改进RPL路由协议移动性算法,从而更适用于实际应用中.

猜你喜欢
网络拓扑链路时延
一种移动感知的混合FSO/RF 下行链路方案*
天空地一体化网络多中继链路自适应调度技术
计算机网络总时延公式的探讨
计算机网络总时延公式的探讨
基于物联网的IT运维可视化管理系统设计与实现
《舍不得星星》特辑:摘颗星星给你呀
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
电网运行风险评估与辅助决策系统的应用
自动化控制系统设计方法探索
数据中心网络拓扑结构研究