APP下载

面向物联网应用的节点移动感知路由*

2019-08-14谢英辉李跃飞

传感器与微系统 2019年8期
关键词:数据包路由消息

谢英辉, 李跃飞

(1.长沙民政职业技术学院 软件学院,湖南 长沙 410004;2.湖南信息学院 电子信息学院,湖南 长沙 410104)

0 引 言

多类物联网(Internet of things,IoT)应用[1]均能提供不同服务,而点到点(point-to-point,P2P)通信的流量数是这些应用的关键,并且移动也是这些应用的基本特性。在节点移动的动态环境中,维持可靠链路,防止数据包丢失存在较大挑战。由于节点的能量有限,物联网中的路由必须考虑节点能效问题。

作为低功耗易损网络(low power and lossy network,LPN),面向物联网的路由得到广泛研究。文献[2]基于LPN提出了IPV6路由(RPL)。RPL利用四类控制消息构建并维持拓扑图,但该路由并不适合于P2P数据流的传输。文献[3]基于LPN提出先应式的点到点路由协议(reactive discovery of point-to-point,P2P-RPL),但协议的能耗较高,并没有考虑到节点的移动问题。文献[4]提出考虑移动增强的RPL协议(mobility enhanced RPL,ME-RPL),在考虑节点移动问题的同时,优先选择静态节点非移动节点作为父节点,进而构建稳定链路,但其没有考虑节点能耗问题。文献[5]提出能量有效路由ER-RPL,其提供了可靠、最优P2P路由。ER-RPL路由建立了目标的导向的有向无环图(destination oriented directed acyclic graph,DODAG),维持网络拓扑,进而优化多点对一点(multipoint-to-point)通信,但并不支持移动环境。

本文以ER-RPL协议为基础,对ER-RPL协议进行扩展,并提出基于移动感知的能效路由(mobility aware energy efficient routing,MAEER)。MAEER路由提高了能量效率,并改进路由机制,进而支持移动环境。本文的主要工作可归纳两点:1)最小化移动影响:针对目标导向的有向无环图(destination oriented directed acyclic graph,DODAG),MAEER路由在信息目标(DODAG information object,DIO)消息和消息请求目标(message request object,MRO)消息中添加了移动标志。这些标志使节点能感知到邻居节点的移动状态。2)维持移动设备至网络的连接:利用动态的DODAG 信息收集(DODAG information solicitation,DIS)和DIO 传播管理维持节点的连接。仿真实验数据表明,提出的MAEER路由有效地降低能耗,并提高了数据包传递率。

1 ER-RPL路由概述

ER-RPL协议是面向静态节点而提出的路由,其将整个网络划分为区,如图1所示。并利用区信息发现P2P路由。它利用RPL的控制消息和Trickle定时器[6]维持DODAG。

图1 区划分示意

为了收集区信息和发现P 2P路由,ER-RPL路由引用控制信息:区形成目标(region formation object,RFO)和消息请求目标(message request object,MRO)。

同时,ER-RPL路由考虑两类节点:参考节点(reference nodes,RN)和普通节点(normal nodes)。RNs知晓它们的位置,同时,RNs通过发送RFO消息将网络划分不同区。利用这些信息,节点就计算离RNs的逻辑距离,并引用分布式自区算法[5]决定自己的区。每个区由区编码(region code,RC)识别,将RC矩阵称为RC矩阵(RCM)。

对于P 2P路由请求,ER-RPL协议先确认现存的RPL路由的成本。如果路由成本在应用限制内,就启动P 2P路由发现。依据源节点和目的节点区域信息,仅选择一些区参数路由发现。通过这种方式,构建临时DODAG。源节点建立离目的节点路由,依据此路由传输数据。

为了使ER-PRL路由能够应用于移动场景,需对ER-RPL路由进行扩展。

2 MAEER路由

MAEER路由基于ER-RPL进行扩展,通过增加一些机制使ER-RPL路由能适应于移动环境,并发现邻近最优的P2P路由,同时降低能量消耗。MAEER路由的框架如图2所示。

图2 MAEER协议框架

MAEER协议的坐标计算、欧氏距离计算、自区算法的工作类似于ER-RPL协议。最初,RNs在协调计算阶段发送RFOs,再通过欧氏距离计算将节点划分不同区域。然后,每个节点利用分布式自区算法[5]计算自己区。

为了支持MAEER协议的移性能,MAEER协议增添了动态DIS管理、DIO管理和区域决策阶段和DODAG更新。

2.1 系统模型

假定n个节点密集在分布于m2区域。移动节点数远小于静态节点数。令TR为节点的传输半径,且TR≪m。网络内有N个RNs,且N≪n。节点分布密度为ρ。在网络内,除RNs外的其他节点不知道节点位置信息。

2.2 动态DIS管理

MAEER利用RPL维持拓扑结构。一个移动节点通过与其他节点的通信,连通网络。在RPL协议中,当移动节点移动至新的位置时,由于父节点的不一致,能够检测节点的移动性。因此,移动节点就重启DIO定时器,一旦定时器结束,移动节点就传输DIO消息。

节点通过发送DIS消息收集信息。MAEER协议依据节点是否发生移动动态调整DIS消息发送率。两个连续的DIS传输时期的间隔称为DIS时期。具体而言,若节点移动,就对DIS时期减半,即增加DIS消息的传输时期;反之,若节点未移动时,则扩展DIS时期,随即又降低DIS传输率。以此动态地调整DIS传输率。

2.3 DIO消息的扩展

为了降低能量消耗,应尽可能地选择静态节点而不是移动节点构建链路,进而提高链路稳定性。为此,对DIO控制消息进行扩展,增添了2个字段:移动标志和区域编码,如图3所示[5]。

图3 DIO消息格式

通过添加这两个字段,所有节点能够感知其邻居节点移动状态和区编码信息。利用邻居节点的移动标志,节点即可从多个节点中选择一个静态节点作为父节点。而DIO消息内的RC信息允许协议充分利用了节点的区信息。通过设置这两个字段,MAEER协议能够依据移动节点位置动态地调整,进而降低能耗。

2.4 动态DIS和DIO管理

在ER-RPL协议中,目标节点作为P2P路径发现的根节点。根节点没有父节点,但有孩子节点。一旦根节点移动,就具有新的节点成为孩子节点。因此,可依据DIS时期内的新孩子数判断节点的移动性[6]。如果新增加的孩子节点数超过预定的最小新增加孩子的门限值时,就增加DIS传输和DIO传输率,具体过程如算法1所示。

图4 算法1的伪代码

具体而言,用child_added表示新增的孩子数。用Min_child_added表示child_added的最小值(门限值)。同时,引用布尔变量new_child_added。若节点的new_child_added=1,则说明该节点成为移动节点的新孩子节点。此时,child_added就需加1。Min_DIS_I和Max_DIS_I分别表示DIS时期的最小值和最大值。而Min_DIO_I和Max_DIO_I分别表示最小DIO时期和最大DIO时期。

2.5 DODAG更新

通过更新DODAG,使得要根节点能够为每一对通信实体选择最优的路由[7,8],这与P2P-RPL协议和ER-RPL协议类似。然而,P2P-RPL协议和ER-RPL协议是利用期望传输次数(expected transmission count,ETX)选择节点作为它的父节点,这存在不足。当节点移动,已不在孩子的通信范围内时,路径就无效。

为此,必须考虑节点是否移动。MAEER路由协议对RFO消息进行扩展,在RFO内添设了移动标志[9],如图5所示。MAEER路由是先是选择静态节点,然后再在静态节点中选择具有最小ETX的节点作为父节点,通过这种方式,降低因节点移动而导致的路由断裂问题。

图5 RFO格式的扩展

3 数值仿真

3.1 仿真环境

为了更好地分析MAEER性能,选用Tmote Sky物联网平台。假定100个节点随机分布于180 m×180 m区域。同时,网络内有4个RNs。对于90s的流量,随机选择节点作为源节点和目的节点。实验中,10~40个P2P流量进行分析。节点传输半径为35 m,数据包尺寸为512字节,整个仿真时间为100 s。

同时,选RPL、P2P-RPL和ME-RPL协议作为参照,并分析数据包传递率(packet delivery ratio,PDR)、每成功传输一个数据包所消耗的能量(energy consumption per data packet successfully delivered,ECPD)和平均跳数(average hop count,AHC)的性能。

3.2 数据分析

首先分析P2P流量数对ECPD的性能影响,仿真数据如图6所示。

图6 ECPD随P2P流量数的变化曲线

从图6可知,提出的MAEER协议的ECPD最低。例如在P2P流量数为10,25和40时,MAEER协议比P2P-RPL协议的ECPD分别下降了近22 %,24 %和10 %。原因在于:P2P-RPL协议要求网络内每个节点参与P2P路由,这就使得在整个仿真时间内,节点均在消耗能量。而提出的MAEER协议在进行P2P路由发现时,只影响已选择区的能量消耗,而未选择区中的节点能量就得到了保护。

图7 数据包传递率

分析各协议的PDR性能,如图7所示。从图7可知,提出的MAEER协议的PDR最高。与P2P-RPL协议相比,MAEER协议的PDR在P2P流量数为10,25和40时,分别提高了近5 %,15 %和13.6 %。是由于当节点一旦检测到不一致时,MAEER协议就更新路由。而RPL和ME-RPL协议需要通过根节点更新路由,这必然造成拥塞和数据包丢失。

分析平均跳数AHC随P2P流量数的变化情况如图8所示。

图8 平均跳数随P2P流量的变化曲线

从图8可知,提出的MAEER协议与P2P-RPL协议的平均跳数相近,并且优于RPL和ME-RPL协议。原因在于:MAEER协议与P2P-RPL协议在构建更新DODAG方式相似。

4 结 论

针对物联网应用中的数据传输问题,展开了分析。先讨论了ER-RPL协议的不足,随后提出改进路由MAEER路由。MAEER路由考虑了节点的移动问题,并引用移动标志。并且在选择路由时,先考虑节点的移动性,然后选择具有最低ETX的节点作为父节点。仿真数据表明,提出的MAEER路由有效地降低能效,并提高了数据包传递率。

猜你喜欢

数据包路由消息
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
铁路数据网路由汇聚引发的路由迭代问题研究
一张图看5G消息
一种基于虚拟分扇的簇间多跳路由算法
SmartSniff
探究路由与环路的问题
基于预期延迟值的扩散转发路由算法
消息
消息