APP下载

基于时间竞争的海洋物联网性能优化策略*

2020-10-17窦金凤王丽娟瞿常睿曹家宝

关键词:中继数据包路由

窦金凤,王丽娟,瞿常睿,初 蕾,曹家宝

(1.中国海洋大学信息科学与工程学院,山东 青岛 266100; 2.青岛朗讯科技通信设备有限公司,山东 青岛 266010)

自2016年以来,物联网(Internet of Things, IoT)每年以21%的速度迅速增长,给人们的生活带来巨大的变化。随着人们对海洋资源的逐渐重视,物联网的概念被扩展到海洋环境,促进了海洋物联网(Internet of Marine Things, IoMaT)的产生与发展。IoMaT是一种受各国研究者认可的开发海洋资源并进行实时海洋环境监测的技术。目前IoMaT已经实现了越来越多的应用,例如执行沉船发现、海啸迹象探测,也可以用于观察海洋动物及其栖息地,根据水温判断气候等[1]。

图1描绘了loMaT的三层组成架构,分别是海洋感知层、网络层、应用层。海洋感知层也就是数据采集层,它包括海面和海洋无线网络中的所有智能传感器节点,这些部署在深海或浅海的智能传感器节点可以监测海洋环境的温度、盐度、压力等信息,并通过声学链路进行通信,将数据汇总到海面的汇聚节点Sinks(海面声纳浮标、轮船或者AUV(Autonomous Underwater Vehicle, AUV))。网络层的作用是获取或者处理从感知层接收到的数据,它是由互联网、云平台以及各种有线和无线连接组成的融合网络。应用层由前端应用程序组成,用于分析所收到的感知信息,用户可以通过个人电脑或手持移动设备查询这些信息。

图1 IoMaT体系架构

其中,采用水声信道通信[2]的IoMaT感知层网络,通常会受到复杂的海洋环境噪声和声信号传播损失等影响,在部署和使用IoMaT的过程中,出现“热区”问题[3]。这些热区节点一部分由于被频繁选择为中继节点,导致能量消耗过快而过早死亡,容易形成路由空洞使网络过早失效,影响其所在区域的数据监测和传输;另一部分节点由于过度参与路径传输,转发的信息量过大,造成局部通信负载过重而引起网络拥塞和信息碰撞,降低了数据包的传输效率,增加了传输时延和网络开销,极大的影响了网络的通信性能。“热区”问题,使IoMaT常常面临带宽及能量受限,网络拥塞,有效信息交付率低,链路可靠性低,高延迟等挑战。目前已经有许多研究使用有效的通信协议来协助IoMaT节点之间的通信,优化部分网络通信性能,例如机会路由。

机会路由在提高无线传感器网络传输可靠性和网络吞吐量方面有着良好的优势[4]。在机会路由中,每个数据分组通常被广播到由几个邻居组成的转发集中,这些节点根据它们到目的节点的度量(Metric)来确定优先级。优先级最高的那个节点再次广播数据分组给另外一组节点。如此一来数据分组经由不同的路径转发至目的地,有助于提高数据传输成功率。

在基于位置的机会路由协议研究中,文献[5]提出了一种基于向量的转发协议(VBF),它使用每个节点的位置信息计算源节点到目的节点的“路由管道”,且只有管道中的节点能转发数据以限制冗余数据的传输。文献[6]提出逐跳的基于向量的转发协议(HHVBF),它在从源节点到目的节点的每一跳中都计算“路由管道”以减少节点部署稀疏情况对VBF的影响。文献[7]提出了基于矢量的能量平衡转发协议,根据剩余能量定义期望因子,并根据期望因子为每轮传输定义适应时间以实现能量平衡和减少数据冲突。文献[8]中提出了一种基于随机游走模型的最小化路由冲突概率算法,根据网络节点度值和负载,采用随机游走模型进行源到Sinks的路径选择。在以上基于位置的转发协议中,每个节点都要知道自己和目的节点的位置信息,并需要在数据包中携带位置信息,会产生额外的开销。而且这些协议都面临节点的定位问题,而由于海洋环境的特殊性,获取节点的位置信息仍存在较大困难。

另一类是无位置的路由协议。文献[9]提出一种基于深度的机会路由协议(DBR),主要通过压力传感器获取深度信息并贪婪地将数据分组转发到深度较浅的节点,直至传到Sinks。但其并未考虑中继节点的优先级轮换和能量均衡的问题,导致某些节点能量消耗过快而过早死亡。为提高DBR能源效率,文献[10]提出节能的基于深度的协议,采用基于深度信息和剩余能量的加权的方式计算转发节点优先级,保证较大剩余能量的节点具有较高的转发优先级以平衡节点能耗,同时还限制转发节点的数量以降低通信负载。但是该算法需要维护邻居信息表,因此会产生额外的开销并增加了端到端时延。文献[11]提出一种平衡能量自适应路由(BEAR)将网络划分为扇区,并利用混合路由和成本函数选择中继节点以延长网络寿命。但所有的节点在数据传输过程中都要共享和传递每个节点的剩余能量和深度信息,增加了较多的开销。文献[12]提出的能量平衡路由协议(EnOR)采用机会路由通过度量剩余能量和链路可靠性等因素轮流改变节点的优先级,均衡节点能量消耗,避免部分节点过早耗尽能量。但是整个过程需要不断广播信标分组来获取邻居信息,会造成较多的整体网络能量消耗。文献[13]提出一种空洞避免机会路由(OVAR),根据数据包传递概率和深度选择转发集,并在每个节点上构建邻接图来排除转发集中的隐藏节点以实现空洞避免。

上述机会路由协议在选择中继节点和协调转发时需要进行大量的控制信息交换,加重了网络负载和网络开销,同时没有考虑IoMaT感知网络的综合通信性能优化。

本文设计了一种基于时间竞争的简单机会路由策略(Time-competition based Simple Opportunistic Routing Strategy, TSOR),主要贡献如下:

(1)简化机会路由协议,构建分层网络模型。避免节点之间定期交换彼此的位置、剩余能量信息,使中继节点的选择在本地进行,减少控制信息的传输。同时,以“层”限制中继节点数,建立有效区域,进一步减少冗余数据包的传输。

(2)构建时间竞争模型,各个节点根据权重因子,综合考虑剩余能量信息和深度信息,通过时间差异来体现候选中继节点的优先级,并根据剩余能量实现节点的优先级轮转。避免因某些节点负载过重而造成路由空洞问题,同时也避免中继节点过多造成数据冲突、拥挤问题。

本文通过上述策略,降低IoMaT感知层的网络开销和通信负载,减少冗余数据的转发,提高能源使用效率,避免网络拥塞,进一步优化IoMaT的性能,缓解“热区”问题。

1 系统模型

下面介绍了本文中所采用的IoMaT网络模型和节点的跨层转发模型。

1.1 网络模型

如图1所示,在IoMaT感知层,传感器节点被部署在海洋中,假设监测区域为圆柱形,根据深度将圆柱形区域划分为多个分层。这些传感器节点从其周围区域中感知并收集数据,再通过多跳方式发送到Sinks。Sinks负责从传感器网络中收集数据,然后将数据通过无线电信道发送至云端或监测中心。

本文对所提出的网络模型做出了一些合理的假设:

(1)所有节点都可以使用功率控制来改变传输功率的大小,每个节点都有计算能力来支持不同的MAC协议并执行信号处理功能。

(2)每个传感器节点具有唯一的标识、层号(Layer ID),并通过深度传感器获取自己的深度信息。

(3)每个传感器节点在每轮中均匀感知并生成l位数据。

1.2 节点跨层转发模型

为了降低IoMaT的网络负担,减少网络的通信负载,本文在分层网络的基础上构建了节点跨层转发模型,并规定每层数据包的转发都交由发送节点上层的节点负责。图2中描述了节点的跨层转发模型,为了保证位于每层边界附近的节点也能实现跨层通讯,提高数据包转发率,以Layer1中下边界点O为例,设置节点的传输半径r与层高hi的关系为r=2hi,那么如图2中所示,存在如下关系如公式(1):

dAB=rsinθ=2hisinθ。

(1)

其中:dAB表示点A到点B的距离;θ表示边OB与OA的夹角。

则可以设置圆柱形监测区域的半径R为:

R=2dAB。

(2)

2 基于时间竞争的简单机会路由(TSOR)

针对IoMaT感知层存在的“热区”问题,TSOR通信提出了简单机会路由,即不需要节点之间定期交换剩余能量、深度等邻居信息,也不需要在数据包头部中携带候选中继节点的信息。源节点只是简单地以Sinks为最终目标来广播其产生的数据包,这样不仅减少了数据冗余、数据负载,还由于中继节点的轮流选择平衡了能量消耗,提高了数据包的交付率。

2.1 TSOR优化数据包

为了减少IoMaT感知层网络中的报头开销,本文简化了数据包结构。本文设计的数据包结构包括Sender ID,表示源节点ID;Packet ID,表示包序列号;Layer ID,表示层号;Data,为要发送的数据。其中,Sender ID和Packet ID共同保证了数据包的唯一性。在整个数据包头部中,只有Layer ID需要逐跳更新,其他字段在转发过程中保持不变,减少了控制信息的传递。

TSOR在产生或收到数据包时,通过传输数据分组启动路由,数据分组通过中间节点机会性地转发至目的节点。

2.2 有效区域

根据第1.2节介绍的节点跨层转发模型,定义当前发送节点i的有效区域Deffective(i)为其传输范围R内的上层区域。当节点收到数据包后根据公式(3)判断自己是否位于有效区域内:

(3)

式中Layerj和Layeri分别表示接收节点与发送节点所在层的层号。当Def(j)=1时,说明节点j位于Deffective(i)中,是合格的候选中继节点。如果Def(j)=0,则节点j不在Deffective(i)中,它将丢弃所接收的数据包。通过这种方式,尽可能避免相同的数据包被众多节点重复转发,减少网络中的冗余数据包。

2.3 时间竞争模型

当数据包到达有效区域内的接收节点时,每个接收节点根据自己的剩余能量和深度按比例持有数据包一段时间。具有较高剩余能量和较浅深度的接收节点优先级越高,那么它持有数据包的时间越短,越早参与转发。持有时间根据公式(4)计算:

t=λ·τ/Er+(1-λ)·Dj/C。

(4)

式中:λ表示权重因子;τ为可调节的系统参数;Er表示节点的剩余能量;Dj表示接收节点的深度(节点到海平面的距离);C表示声速。定义合适的权重因子λ可以适应不同应用对剩余能量和深度因素的不同要求;选择合适的可调节系统参数τ可以进一步避免多个节点同时转发和较大的路由延迟。

另外,部署在海洋中的3D网络,由于节点分布在不同的深度,受环境影响,数据传输速度也会有差异。在浅海信道,由于受到太阳强烈照射,声速随着深度单调下降;而在深度大于1 km的深海信道,声速随深度线性增加。这里采用Mackenzie九项方程式计算不同深度处的声速C[14],如公式(5):

C=1 448.96+4.591T+2.374×10-4T3-5.304×10-2T2+1.340(S-35)+1.63×10-2D-1.025×10-2T(S-35)+1.675×10-7D2-7.139×10-13×TD3。

(5)

式中:T为温度,单位为℃;S为盐度,单位为ppt;D为深度,单位为m。式(5)的适用范围为0≤T≤30 ℃,30ppt≤S≤40ppt,0 ≤D≤8 000 m。

节点持有数据包的时间由剩余能量和深度共同决定,这样可以避免由多个节点持有时间相近而引起的冗余数据包传输。

为了避免某个数据包被同一节点多次接收,还规定,如果有效区域Deffective(i)内的一个接收节点已经转发了上一跳的数据包,那么该接收节点传输范围内的其他接收过该数据包的邻居节点将会被抑制转发,进一步降低能量消耗和数据包冲突的概率。

例如在图2中,阴影区域Deffective(S)和Deffective(n3)分别表示节点S和节点n3的有效区域。当节点n1,n2,n3,n4收到来节点S的数据包PS时,由于n2,n3,n4位于Deffective(S)中,它们为合格的候选中继节点,根据各自的剩余能量与深度“持有”数据包一段时间t。而位于Deffective(S)外的节点n1将丢弃数据包。此时,若节点n3具有最高的优先级,那么它“持有”数据包PS的时间t最先结束,将优先进行转发。而位于Deffective(n3)内的n4节点在其持有数据包PS的期间内可能会再次收到节点n3发来的数据包PS,那么该重复的数据包将会被丢弃。

2.4 节点的机会竞争转发

根据1.2节中的节点跨层转发模型,Layer1为最底层,节点只发送自身产生的数据而不需要扮演中继节点的角色;位于其上方的Layer 2…Layern中的节点,不仅需要发送自己产生的数据,还需要充当下层节点的中继节点。因此对于Layer 2…Layern层的节点,需执行转发算法1。TSOR通过时间竞争模型来实现候选中继节点的机会转发和节点优先级轮转,并通过有效区域抑制冗余传输。

算法 1 : Layer 2 …Layern的节点数据转发算法

Algorithm 1:The data transmission algorithm of nodes in Layer 2 … Layern.

INPUT:Sensor nodes, Sinks, Initial energy, Packet, Depth,Layer ID,r

OUTPUT:The execution of a node(节点的执行动作)

1whilenodesin Layerigenerate the packetPido

Broadcast the packet now

2endwhile

//当节点产生数据包后,立即广播

3whilenodes receive the packet(Pi)from the last hopdo

//当节点收到来自上一跳发送节点的数据包Pi

4Get the Packet ID ofPi

5Get theLayer ID ofPi

//从数据包Pi中获取Packet ID和Layer ID

6ifnodesjinDeffective(i)

//如果节点j位于上一跳发送节点的有效区域

7Check the forwarding buffer

//检查节点j的转发缓冲区

8ifPacket ID of is equal to the Packet ID ofPjin forwarding bufferthen

//如果节点j转发缓冲区已经存在数据包Pj的Packet ID与数据包Pj的Packet ID相同

9Remove the packetPjfrom forwarding buffer

//从节点j的转发缓冲区移除数据包Pj

10endif

11Drop the packetPi

//并丢弃数据包Pi

12return

13endif

14Check the history buffer

//检查历史缓冲区

15ifthe Packet ID ofPiis in history bufferthen

//如果历史缓冲区存在与Pi相同的Packet ID

16Drop the packetPi

//丢弃数据包Pi

17return

18endif

19Update the Layer ID

//更新数据包的Layer ID

20Compute the holding timetaccordingtoformula(4)

//根据公式(4)计算持有时间t

21Add the packet into forwarding buffer

//将数据加入转发缓冲区

22Forward the packet at the end oft

//t结束后转发数据包

23endwhile

3 实验仿真分析

本节通过实验仿真分析了本文所提出的TSOR对缓解IoMaT“热区”现象引起网络通信性能问题的影响,将TSOR与经典的基于深度的路由协议DBR[9]及BEAR[11]协议进行了比较。实验中,传感器节点被随机部署在一个圆柱形的区域内,在区域顶部部署多个Sinks。实验采用Sozer等人提出的能量消耗模型[15]来量化节点的能量消耗。实验定义:(1)网络负载定义为每个周期内网络中通信的数据量;(2)网络的生命周期定义为不同数目节点死亡时网络所运行的轮次;(3)数据包的交付率定义为Sinks收到的有效数据包数目与网络中各节点实际发送的数据包数目之比。实验仿真图采用MATLAB R2018a,PyCharm2019等工具绘制。具体的实验参数如表1。

为了评估TSOR对IoMaT感知层的网络通信负载的影响,图3比较了三个协议在不同网络规模下单位运行轮次内网络中的负载。可以看出,在不同节点个数的网络规模下,TSOR的网络负载要低于BEAR和DBR。一方面,因为TSOR作为一种轻量级路由协议,不需要定期与邻居交换控制信息,减轻了网络负载。而BEAR需要定期在网络中传递Hello包和ACK等控制信息,因此具有最大的网络负载。另一方面,TSOR与DBR都采用了冗余数据包控制机制,降低了网络负载。

图3 不同网络规模下的网络负载

为了评估TSOR对IoMaT感知层的能源使用效率影响,实验比较了在不同网络规模下网络的生命周期(运行轮次)。图4(a)和图4(b)分别模拟了产生第一个死亡节点和产生50%死亡节点时的网络运行轮次。在两种情况下,TSOR均具有更长的生命周期,一方面因为TSOR通过减少控制信息和冗余数据包的传输以降低网络中节点的开销,另一方面TSOR采用基于时间的竞争策略来实现各个节点的优先级轮转,平衡了网络的能耗,避免节点过早耗尽能量。

图4 网络生命周期

图5统计了在50%节点死亡的情况下不同运行轮次内产生的死亡节点的数目。可以看出,TSOR的死亡节点数目在网络不同运行轮次下都远低于DBR和BEAR,从而验证了TSOR对避免产生“热区节点”的作用。

图5 不同运行轮次下死亡节点的数量

为了验证TSOR对IoMaT感知层网络的可靠性的影响,实验比较了不同网络规模下使用TSOR及BEAR与DBR采集IoMaT温度数据的交付率。结果如图6所示,TSOR的交付率高于DBR,略低于BEAR。这是因为BEAR采用了直传与多跳相结合的方式,增加了数据的交付率。但是选择直传的代价是增加了更多的能耗,缩短了网络的使用寿命。而TSOR通过设置有效区域来决定候选中继节点集,既解决了冗余传输的问题,同时保证了数据包的交付率,减少了不必要的网络开销。从两方面综合来看,TSOR协议均衡了能耗与交付率的关系。

图6 不同网络规模下的数据包交付率

为了验证TSOR跨层转发模型对IoMaT的能源消耗的影响。实验对比了TSOR在分别产生1个,30%,50%死亡节点时各个节点的剩余能量分布情况。图7显示,随着死亡节点数目的增多,位于下层的节点剩余能量要高于上层节点,因此,未来可以考虑根据通信负载设置异构网络以实现全局的能耗平衡,解决全局的“热区”问题。

图7 不同死亡节点数目下的节点剩余能量分布

4 结语

本文针对IoMaT的特性,设计了一种基于时间竞争的简单机会路由策略,该策略综合考虑了IoMaT感知层存在的“热区”问题对IoMaT通信性能的影响,将时间竞争模型与分层网络的跨层转发模型相结合,根据节点的剩余能量与分层等因素来选择一条较优的传输路径。

IoMaT与IoT不同,其感知终端通信环境面临许多的挑战。TSOR改进了传统的机会路由策略,在降低通信负载、网络开销和提高网络寿命和交付率方面取得了进步。但是我们发现,所采用的网络模型在全局能量平衡问题上仍有可以进步的空间,未来可以根据不同深度节点的通信负载与能耗的关系,全面地考虑实现高效且可靠的路由策略。

猜你喜欢

中继数据包路由
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于Alamouti 码的OFDM 协作系统中继选择算法
自适应多中继选择系统性能分析
路由选择技术对比
路由重分发时需要考虑的问题
C#串口高效可靠的接收方案设计
基于AODV 的物联网路由算法改进研究
一种基于无线蜂窝网络的共享中继模型
空基Ad Hoc路由协议研究