APP下载

利用改进型命名数据网络的物联网大数据高效转发策略

2020-07-13罗少甫

计算机应用与软件 2020年7期
关键词:接收器数据源报文

罗少甫 陈 磊

1(重庆航天职业技术学院基础学科部 重庆 400021)2(重庆大学大数据与软件学院 重庆 400044)

0 引 言

物联网(Internet of Things,IoT)作为实现海量传感器、通信设备和异构通信系统互联互通的关键技术,其主要功能为实时收集并共享传感器采集到的海量状态信息,通过先进大数据分析技术提取蕴含价值,进而服务于各类高级应用场景,如决策分析、智能服务、智慧城市等[1-3]。

考虑到部署建设物联网的经济技术成本,物联网中传感器节点的电池能量、存储容量、计算速度和通信带宽等一般是有限的。故其数据处理与通信能力十分有限,从而决定了在物联网网络中应用的所有解决方案都必须考虑到资源约束的限制[4]。然而,随着传感器节点部署规模、数据类型以及异构网络规模不断增加,人们对物联网高效、稳定、可靠的数据传输要求越来越高,因此,研究设计适用于物联网的数据路由转发策略受到了学术界和工业界的广泛关注。

基于内容/位置数字化寻址,以主机为中心的传统TCP/IP转发机制由于高度依赖数据存储标识而存在移动性、可扩展性和安全性差等缺点,故而不适用于海量物联网数据的传输转发[5]。近年来,以数据为中心的命名数据网络(Named Data Network,NDN)转发策略受到了众多学者的广泛关注[6]。NDN技术框架下,物联网中的数据转发不再以IP寻址,而是通过引入Interest报文和Data报文的方式实现数据转发,请求节点和路由节点的请求、查询等操作均以报文的名称而不是报文的地址进行,由于不依赖IP,NDN转发机制也被认为是解决IP地址资源有限的有效技术手段之一。

现有基于NDN的转发策略研究主要以有线场景和无约束限制的无线场景展开,而对于能量和网络资源受限的无线物联网数据转发策略的研究尚处于起步阶段。例如:文献[7]提出了一种基于接口等级的NDN自适应路由转发策略,对NDN中的未决请求表(Pending Interest Table,PIT)、转发信息库(Forwarding Information Base,FIB)以及内容存储库(Content Store,CS)进行了细化和扩展,但其假设通信节点的网络资源和能量是不受限的,无法直接应用于无线物联网场景;文献[8]借鉴蚁群优化技术,提出了针对NDN的蚁群QoS感知转发策略,将Interest报文和Data报文分别视为前向和后向蚂蚁探测实时网络QoS参数更新网络接口排序,但文中同样没有考虑通信节点网络资源和剩余能量约束,且蚁群优化算法存在计算量较大、求解时间长的缺陷。文献[9]针对车辆网这一无线传感器网络典型应用场景,为提升数据传输实时性,提出了面向车载命名数据网络的数据转发模型,设计了路间节点算法和路口节点算法来判断节点自身是否适合转发Interest报文,从而有效降低了数据端到端平均延时,并均衡了整个车联网的传输能力,但文中同样没有考虑到通信节点的能量约束。

针对现有NDN转发策略存在的缺点,本文提出了一种考虑邻节点空间信息和能量信息的新型NDN路由转发策略,提升NDN网络对各类物联网应用场景的适应性。主要的创新点总结如下:

1) 现有NDN转发策略往往由某一节点发出Interest报文开始触发,然而实际应用场景中,大量监测数据存在周期性主动上报的情形。因此,本文提出的NDN转发策略将涵盖这两种报文转发模式,故而可扩展性和适用性更强。

2) 现有NDN转发策略大多未曾考虑到计算节点的能量资源约束,故网络能耗较高而生命周期较短。而本文提出的改进NDN转发策略则主动对传感器节点的剩余能量和节点空间信息考虑在内实现路由策略优化设计,从而提高了物联网的生命周期。

1 基于NDN的物联网大数据转发模型

1.1 NDN通信技术简介

如图1所示,NDN中数据包的转发交互通过Interest报文和Data报文实现[10]。通信节点为接收数据,首先向NDN路由器发送包含有所需数据名称的Interest报文,每个Interest报文仅能匹配一个数据包,从而保证数据内容的唯一性。

图1 NDN中Interest报文处理过程

对于NDN路由转发节点而言,则需要进行如图2所示三个方面的维护工作:

1) 未决请求表(Pending Interest Table,PIT):用于跟踪转发的Interest报文;

2) 转发信息库(Forwarding Information Base,FIB):将Interest报文请求的内容转发给该通信节点;

3) 内容存储库(Content Store,CS):用于缓存Interest报文请求的内容以便后续通信节点对该数据的请求。

图2 NDN数据结构

当NDN路由转发节点收到Interest报文时,首先在其CS上查找,若CS中已缓存有所需的Data报文,则在同一接口上传输该Data报文;若CS中没有Interest报文匹配的内容,则将Interest存储在PIT中并创建包含有Interest报文名称的条目,且为其预留一组接口一遍接收匹配的Data报文。随后,Interest报文将基于FIB继续转发至上游邻点进行查询。当在上游NDN节点中查询到匹配的Data报文时,将该数据转发到下游PIT接口中后删除该PIT条目,并将数据缓存在CS中。若最终不存在匹配的PIT条目,则将该Interest数据包丢弃。

1.2 传统转发策略

目前,广泛应用在物联网的NDN转发策略为基于盲洪泛路由算法的法定向扩散NDN策略(Directed Diffusion-NDN,DD-NDN)[11-12]。其转发策略的基本步骤为:

1) 汇聚节点无目的(即盲转发方式)地将Interest报文广播到其覆盖范围内的所有传感器节点。当节点收到Interest报文时,启动计时器功能,若接收节点在计时器设定范围内没有从邻节点侦听到相同的Interest报文,则将该报文转发,否则将丢弃该报文。

2) 当Interest报文到达内容的提供方时,返回的Data报文将包含一个附加字段,该字段携带转发Data报文的节点的标识符ID,该ID将存储在一个名为下一跳表(Next Hop Table,NHT)的表中。

3) 在盲转发阶段之后,当汇聚节点在发送另一个Interest报文之前,首先检查NHT中是否存在可能的下一跳。若存在匹配项,则将Interest报文中包含该ID,且只具有该ID的节点才能转发该Interest报文;否则DD-NDN协议将回退到盲转发算法。

分析传统DD-NDN算法可知,由于引入了NHT,该方案最大限度地减少了参与转发过程的节点数量。传统DD-NDN转发方法忽略了周期性数据向通信节点发送的情形。此外,由于随着物联网中通信节点和数据量的增大,使用盲洪泛法将显著增加网络能耗,不利于延长其整体生命周期[13]。

2 方法设计

2.1 应用场景

考虑如下部署物联网以监测物理设备或外部环境的应用场景:监控区域可以是单个的建筑物甚至整个智能城市,被监测的对象包含有自动化系统以控制相关参数(如温度、湿度、能耗等)。传感器节点通过采集控制目标的状态生成传感数据。

为不失一般性,设传感器网络中部署的接收器的数量为n,满足n∈{1,2,…,N}。实际工程中,传感器和接收器之间将采用两种传输模式:

1) 基于推送(push)的模式(第一种传输模式):传感器节点周期性地发送数据,而不从接收器接收先前的显式Interest报文。

2) 基于拉动(pull)的模式(第二种传输模式):接收器可以发出Interest报文以查询特定参数的相关数据。

此外,设传感器节点是静止的,其位置以及汇聚节点的位置是已知的。

2.2 考虑空间与能量信息的物联网大数据转发策略

物联网大数据的典型工作模式是将数据从多个传感器节点(即数据源)发送到接收器,而不是在任何一对节点之间进行通信。而NDN中不依赖于地址的通信模式自然适合于以数据为中心的物联网。实际上,如前述分析,NDN通信模型自然支持pull模式的通信传输方式,即除非请求节点明确发送Interest报文以请求相关Data报文,否则传感器节点不会主动发送数据。此种传输模式虽然能够显著减少不必要的数据传输量以延长物联网的生命周期,但由于传感器节点无法主动上报数据,故传统DD-NDN转发策略不能支持各种高级应用,如状态信息更改上报或紧急情况预警等。然而,若使NDN网络支持push传输模式,则会带来数据量上升和网络能耗过大的缺陷。因此,本文设计了一种考虑邻节点空间信息和能量信息的改进NDN转发策略,实现物联网大数据的高效转发,NDN网络支持采用push传输模式的如下两个应用目标:

1) 传感器节点将数据直接传输到接收器节点,而无须事先发送Interest报文;

2) 传感器节点通知其对汇聚节点的存在。

2.2.1转发策略总体设计

本文采用具有能量意识的贪婪转发策略将消息传输到内容请求方。具体内容为:汇聚节点覆盖范围内的邻节点通过发送“Hello包”的方式来发送该节点的身份、位置和剩余能量信息。为最小化网络拥塞,“Hello包”的发送仅在邻节点发现阶段进行一次。此后,每个传感器节点将使用发现阶段中基于push的Interest报文将其坐标和对应生成的数据类型发送到接收器节点。最后,本文转发策略中的每个节点都拥有自己的邻节点和数据源节点列表。每当一个接收节点请求特定数据内容时,本文转发策略总是试图寻找与该接收节点最近的、剩余能量更大的邻居,并将该Data报文通过该节点转发,此过程称为数据交换阶段。为保持最低功耗的同时维持每个节点的邻节点列表动态更新,在传感器节点传输Data报文时附加该节点的能量信息,而不是在邻节点之间定期交换。

综上,本文转发策略包含以下4个环节:1) 数据命名;2) 邻节点发现;3) 数据源节点发现;4) 数据交换。

2.2.2数据命名方案

作为NDN通信技术中最重要环节之一,数据命名方案的优劣性直接影响了路由转发策略的性能。因此,数据命名方案必须准确地描述数据传感任务,即:1) 完全表达自己所需信息的接收器;2) 用于准确描述传感数据的传感器。数据命名方案包含两个环节:

1) 数据源节点的命名方案。数据源节点的命名规则如下所示:

/汇聚节点ID/位置/数据源节点坐标/数据前缀

其中:

汇聚节点ID——数据源节点返回作为对Interest报文响应的Data报文的前缀。

位置——传感器所在的地理区域标识符,可采用GPS坐标、逻辑名称等进行唯一性标识。例如,在建筑物中,房间可以具有特定的唯一名称,例如room10或area-5。

数据源节点坐标——数据源节点的地理坐标标识符。

数据前缀——数据源节点从接收器接收Interest报文时响应的数据名称。

例如,当为特定区域area-1温度监测的传感器想要宣告其数据内容存在于宿源(即汇聚节点)S0时,将发送如下数据包:

/S0/AREA1/X/Y/Z//area1/temperature

2) 数据交换的命名方案。图3(a)和(b)分别为push和pull传输模式下数据源节点和接收器之间的数据交换过程。根据2.1节所述的数据传输方式,需要定义两种不同的命名方案。

(a) 基于拉动的数据 (b) 基于推送的数据图3 数据包在消费者(C)和生产者(P)之间的流动

push模式:此种模式下,传感器通过将特定的Interest报文推送到汇聚节点来自动传播收集数据。命名方案设计如下:

/位置/类型/接收器坐标/数据

其中:类型指的是传感任务的名称,例如温度、湿度等。

pull模式:此种模式下,传感器在收到Interest报文前不会主动发送收集到的数据。命名方案设计如下:

/位置/类型/数据源节点坐标

2.2.3邻节点发现机制设计

在邻节点发现阶段,每个节点将仅用于交换位置和剩余能量信息的“Hello包”广播到其邻节点。该交换过程仅作为配置并存储邻节点信息的列表的第一步且仅进行一次,创建的邻节点列表包含以下字段:邻节点ID、位置和剩余能量。为此,“Hello包”对应的Interest报文需添加两个名为Interest REnergy和Interest SenderID的新字段,从而收集邻节点的剩余能量信息。

图4为“Hello包”的广播流程。节点A希望通过发送一个限制为1跳(可由特殊字段进行制定)的“Hello包”向其邻点宣告其存在,该数据包包含其ID、位置和剩余能量。收到该数据包的每个节点将在其配置的邻节点列表中创建包含节点A的相关信息的条目。

图4 Hello数据包广播

为最大限度地降低功耗,所设计的转发策略将不定期广播“Hello包”,如果节点收到Interest报文,且此报文发送者ID与邻节点列表中任何条目都不对应,或传感器将Interest报文推送到接收器且邻节点列表为空时,该节点将启动邻居发现机制。

如图5所示,节点B将Interest报文传输到其传输范围内的所有节点(如节点A和节点G)。若节点A发现节点B为在其邻节点列表中列出,节点A将广播“Hello包”而接收该包的每个节点将验证节点A的信息是否在邻节点列表中列出。若“Hello包”发送方的ID已存在于接收节点的邻节点表中,则该数据包将被忽略;否则该节点将继续向邻节点广播“Hello包”。上述过程表示在图6中,其中节点B接收节点A的“Hello包”,验证得知节点A的ID并未在其邻节点列表中列出,故而节点B发送“Hello包”以宣告其存在于节点A中。

图5 接收来自未知邻点的兴趣

图6 来自节点A的Hello数据包广播和回复

2.2.4数据源节点发现机制设计

传统基于盲洪泛算法的DD-NDN路由转发策略显然存在网络能耗过高的缺点,故采用基于push的Interest报文传输模式使数据源节点向接收器节点宣布其存在。当邻节点发现过程完成后,每个节点都有关于其邻节点的信息列表,此时数据源节点会向接收器发送Interest报文,以贪婪转发的方式通知其位置和数据内容,而接收器则将数据越节点发送的信息存储在一个名为Producers的列表中。

图7为数据源节点的发现过程,其中节点P想要将其数据前缀告知宿节点(S0)。节点P将数据前缀通知宿节点S0,它发送一个下一跳ID的Interest报文,下一跳节点采用类似的转发过程最终传输到汇聚节点S0,在S0存储在Producers列表中。

图7 数据源节点发现过程

2.2.5数据交换机制设计

在预设的静态物联网场景中,一旦数据源节点将其信息传输到接收器,便触发数据查询过程。如图8所示,为减少通信过程涉及到的节点数量,接收器首先选择与之空间距离最近的数据源节点,然后通过选择满足特定条件的邻节点来发送Interest报文。当传感器节点接收到Interest报文时,它执行下一跳检查以验证它是否被选择为转发器。若节点不是预期的转发器,则丢弃该Interest报文。反之,如果选择传感器节点作为转发器,则检查Interest报文请求的数据内容,如果收到的Interest报文是pull模式,则转发过程继续;如果Interest报文是push模式,则从报文中提取数据,并在继续转发过程之前将其添加到内容存储库CS中。

图8 Interest报文处理过程

图9为节点A向节点D发送Interest报文的过程。考虑到节点B是A的所有邻点中与D最近的节点,为支持更高效的数据转发并平衡通信节点之间的能耗,转发节点的选择应综合考虑通信节点之间的空间距离与能耗,选择的判据为如下目标函数取最大值:

(1)

式中:Ji为第i个候选转发节点的目标函数值;β∈[0,1]为权重系数;Ei和Eini分别为第i个候选节点的剩余能量和节点初始剩余能量;LΣ分别为接收节点与数据源节点之间的总距离;Lio为第i个候选转发节点与接收节点之间的距离。显然,β接近于0时,更靠近接收节点的节点被选择转发Interest报文的概率更高。随着β的增加,节点剩余能量在传输节点的选择中将发挥更大的作用,从而有助于降低网络能耗。

图9 贪婪转发示例

为更好地解释所提的转发方案,考虑如图10所示的示例,接收节点C具有如表1所示的邻节点列表。

图10 Interest报文转发过程

表1 接收节点邻节点列表

令Eini=10 J,LΣ=25 m,β=0.7,根据式(1),FA=0.32,FB=0.412,故而选择节点A作为转发器,然后C广播一个包含所选转发节点ID的Interest报文,名称格式为:

/room1/temperature/Producer Coordinates

当节点A收到Interest报文时,它将检查下一跳是否与其ID相对应。若不是,Interest报文将被丢弃;否则,A将验证数据报文类型并将其转发到下一跳。如果C没有听到相同的Interest报文,节点A的ID将从C的邻节点表中删除,并且将重新传输Interest报文。

3 仿真实验

3.1 仿真环境

在NDNSim仿真环境下进行实验,为验证提出的转发策略的可行性与优越性,将其与文献[12]提出的DD-NDN转发策略进行对比。同时设置两个场景进行适应性分析,如图11所示,场景1中N个传感器节点分布在500 m×500 m的晶格拓扑上,而场景2中,传感器节点通过均匀分布随机部署,接收节点则位于拓扑的中间。仿真参数如表2所示,仿真结果以20次独立运行结果的平均值为准。

(a) 晶格拓扑 (b) 随机拓扑图11 网络拓扑

表2 模拟参数

续表2

设汇聚节点定期发送特定任务的Interest报文,间隔时间为60 s。为了评估仿真中的能耗,采用如下能耗模型[14]。

发送过程能耗:

(2)

接收过程能耗:

REi=αelek

(3)

式中:TEi,j为节点i向节点j发送一个k比特数据包所消耗的能量;αele表示节点接收或发送数据时电路单位比特耗能,取αele=50 μJ/bit;αamp为发送节点放大器所消耗能量系数,取αamp=100 pJ/(bit·m2)。

为衡量转发策略的优劣性,选用文献[15]中的5个性能指标进行评估:

1) 网络能量消耗——传感器节点的总功耗;

2) 网络生命周期——第一个传感器节点剩余能量为0时网络的运行时长;

3) 丢包数——丢弃的Interest报文和Data报文的总数;

4) 跳数——接收节点和数据源节点之间必须通过的中间节点数;

5) 数据检索延迟——接收节点发送Interest报文到数据源节点返回Data报文的时间。

3.2 仿真结果与讨论

3.2.1跳数、数据检索延迟和丢包性能

图12和图13为晶格拓扑网络和随机拓扑网络下汇聚节点数量为1和4时,节点总数量从60变化到120时平均跳数的变化情况。结果表明,本文转发策略比DD-NDN的平均跳数至少下降了11.11%。类似地,图14和图15为相同仿真条件下的平均检索延迟随监测任务数量的变化情况,可以发现,本文转发策略相较于DD-NDN方案缩短了20.40%以上。由于本文转发策略在每一跳转发节点的选择上都选择更靠近接收节点的邻节点,故而在跳数和检索延迟上具有更明显的优势。

图12 晶格网络拓扑下平均跳数

图13 随机网络拓扑下平均跳数

图14 晶格拓扑中的平均检索延迟

图15 随机拓扑中的平均检索延迟

此外,图16和图17为两种转发策略下,两个网络拓扑场景的丢包数量随监测任务数量的变化情况。可以看出,当监测任务从1变化到16时,本文转发策略的丢包数增幅较DD-NDN转发策略慢82.14%以上。结果表明,本文方案在数据包从源到目的节点的传输过程具有更高的可靠性。

图16 晶格网络拓扑下丢包数

图17 随机网络拓扑下丢包数

3.2.2网络能耗与生命周期性能

图18-图21为不同网络拓扑所提转发策略和DD-NDN转发策略在网络能耗与网络生命周期方面的性能随着监测任务数量的变化趋势。显然,更多的监测任务需要传输更多的Interest报文和Data报文,即网络能耗和监测任务数量呈正相关的关系。当任务量由1增加到16时,本文转发策略的网络能耗增幅比DD-NDN转发策略下降了72.97%以上,而网络生命周期则延长了24.14%以上。这说明,与DD-NDN相比,本文转发策略在总能耗和网络寿命方面具有更好的性能。

图18 晶格拓扑中总能耗

图19 晶格拓扑中的网络生命周期

图20 晶格拓扑中总能耗

图21 随机拓扑中的网络生命周期

4 结 语

传统的基于定向扩散的命名数据网络(DD-NDN)转发策略未考虑数据转发过程中的网络能耗问题,不能完全适用于能量受限的物联网大数据传输。因此,本文提出了考虑邻节点能量和空间信息的改进物联网大数据转发策略,其在数据检索效率、传输可靠性、网

络能耗与网络生命周期方面具有更好的性能。未来将进一步考虑节点的移动、休眠等更为实际的场景下的数据转发策略研究。

猜你喜欢

接收器数据源报文
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
基于报文类型的限速值动态调整
浅谈一种新型的25Hz相敏轨道电路微电子接收器
浅析反驳类报文要点
图表中的交互 数据钻取还能这么用
奇奇小笨探秘海洋世界(六)
无线充电器
基于Excel的照片查询系统开发与应用
再谈利用邮件合并功能批量生成准考证