2014年6月Journal on Communications June 2014 第35卷第6期通信学报V ol.35No. 6基于分层的水下传感器网络路由策略
彭舰1,洪昌建1,刘唐1,2 ,张云勇3
(1. 四川大学计算机学院,四川成都 610065;2. 四川师范大学基础教学学院,四川成都 610068;
3. 中国联通研究院平台与云计算研究中心,北京 100032)
摘 要:提出一种基于分层的水下传感器网络路由协议(layered-DBR, layered-depth bad routing)。节点进行一次信息广播后,只允许指定深度范围内的节点进行消息接收,以达到控制网络副本的目的,最终建立与网络冗余相关的网络分层模型。在分层网络中,节点首先需要计算消息转发前后的相对深度距离与相对剩余能量,进而计算出消息的转发概率。同时,建立一种消息队列管理机制,该队列同时具有消息转发管理和历史记录管理的功能,并给出消息的入列和出列方法。仿真实验表明,layered-DBR能够有效地控制网络冗余,与DBR和Flooding算法相比,layered-DBR能有效地减少网络能耗,延长网络寿命。
关键词:水下传感器网络;分层模型;转发概率;消息队列
中图分类号:TP393 文献标识码:A 文章编号:1000-436X(2014)06-0025-07
Strategy of routing bad on layered for
underwater wireless nsor networks
PENG Jian1, HONG Chang-jian1, LIU Tang1,2, ZHANG Yun-yong3
(1. College of Computer Science, Sichuan University, Chengdu 610065, China;
2. College of Fundamental Education, Sichuan Normal University, Chengdu 610068, China
3. Platform and Cloud Computing Rearch Center, China Unicom Rearch Institute, Beijing 100032, China)
Abstract: A layered-depth bad routing protocol was propod for underwater wireless nsor networks (layered-DBR).
After nodes broadcast, message only could be received by nodes in predefined depth in order to control the copies of message and finally a network hierarchy model related to redundancy could be built. In this model, the relative depth be-tween nodes and the resident energy of nodes need to be calculated before and after the message forwarding, and then the message forwarding probability ca
n be obtained. A message queue management machanism was established, with which could manage the message's forwarding and history messages, and then the dequeue and enqueue methods were propod.
Compared with DBR and Flooding by simulation, the layered-DBR algorithm can control the network redundancy, re-duce the network energy consumption, and prolong the network lifetime.
Key words: underwater nsor networks; hierarchy model; forwarding probability; message queue
1引言
随着世界各国对海洋权益的日益重视、发展海洋经济热潮的兴起和陆地无线传感器网络研究的迅速发展,水下无线传感器网络(UWSN, underwater wireless nsor networks)已经成为新的研究热点[1~4]。水下传感器网络将采集到的水下环境数据发送给用户来辅助决策,在环境监测、资源勘探、灾难预警和潜艇探测等民用和军用领域均具有广阔的应用前景[5~8]。
在实际应用中,由于水下传感器网络的特殊网络环境,无线电波在水中衰减迅速,不适用于长距离的数据传输,因而通常采用水声通信。由于GPS 在水下环境中无法使用,节点无法感知全局位置信
收稿日期:2013-08-11;修回日期:2013-12-20
基金项目:国家自然科学基金资助项目(61303204,U1333113)
Foundation Item: The National Natural Science Foundation of China(61303204, 01333113) doi:10.3969/j.issn.1000-436x.2014.06.004
·26·通信学报第35卷
息;同时节点随着水流的运动会在一定范围内移动,造成了网络的间隙连通性。以上水下环境特点均对水下传感器网络的数据传输带来了极大的挑战。关于水下传感器网络的路由策略,研究者做了大量的研究。
HUANG等[9]提出了一种能量有效的水下传感器网络路由算法,该算法利用转发节点选择器来确定下一跳转发节点,同时利用转发树裁剪机制来减少网络冗余;由于转发节点选择器与转发树裁剪机制的实现依赖于节点的全局位置信息,导致该算法具有较大的局限性。
XIE等[10]提出了一种基于向量的数据传输策略VBF(vector-bad forwarding protocol),数据采集节点利用了类似虚拟路由管道向量的思想,所有的分组通过这个管道从源节点转发到目的节点,只有靠近管道的节点才能转发信息。由于传感器节点不需要状态信息且只是和少数路径上的节点进行通信,VBF能够有效地减少网络能耗,延长网络寿命,但是虚拟管道的确定需要水下传感器网络节点提供全
局位置信息。XIE等[11]利用VBF管道的思想提出了一种多跳的数据传输策略HH-VBF(hop-by- hop vector bad forwarding),HH-VBF引入了多跳传输,将长管道划分为多段较短的管道,避免管道过长带来的巨大能量消耗,进一步延长了网络寿命,但是HH-VBF仍然需要获取节点全局位置信息。在实际的水下环境中,节点的全局位置信息无法获取,VBF、HH-VBF和其他基于全局位置信息的水下传感器网络路由算法具有很大的局限性。
YAN等[12]提出了一种基于深度信息的路由(DBR, depth bad routing)算法,该算法通过节点携带的压力传感器获取节点当前的深度值,并保存在数据分组中,数据转发时,只有节点深度小于该深度值时才可以进行转发,否则丢弃。同时DBR利用深度阈值来控制网络副本,但没有具体定义深度阈值的取值。LIU等[13]利用DBR协议的思想,提出了一种基于深度的多跳路由(HH-DBR, hop-by-hop depth bad routing)协议。LEE等[14]基于同样的思想提出了一种基于压强的路由(PR, pres-sure routing)策略,即在所有的邻居节点中,选择压强最低的节点作为数据的转发节点。DBR、HH-DBR、PR等类似算法虽然没有利用节点的全局位置信息,但是同样也未考虑水流移动性给水下传感器网络带来的影响。
通过分析水下传感器网络的拓扑结构,得知水下传感器网络的数据传输具有有向性,即自下向上的数据传输。若引入分层机制,不仅在逻辑上简化水下传感器网络模型,而且能够避免水下传感器网络中同层节点进行数据通信,从而能够有效降低网络的通信能耗;若能提出满足水下传感器网络特性的机
会路由,就能够满足水下传感器网络动态性的特点,使网络变得可靠。同时引入消息队列,可以对网络中的消息副本进行管理,有效降低网络冗余。因此本文综合以上因素,提出一种基于分层的路由策略(layered-DBR),该算法只需获取节点所在的深度信息,当节点进行一次消息广播后,以该节点邻居节点的数量为参数,结合网络中节点的分布特点,计算出可作为转发节点的邻居节点所在的深度范围,即只有处于该深度范围内的节点接收数据。从而,得到节点通信半径与网络分层间距的关系函数,进而确定满足该深度范围的网络分层间距。引入消息队列管理机制,利用数据分组中携带的多种信息参数,仅针对特定深度范围内的节点,计算其转发消息的概率,并给出消息的插入方法和消息丢弃方法。
2网络与能耗模型
2.1网络模型
在网络初始状态,n个传感器节点随机分布在一个M×M×N的长方体内,10个sink节点均匀地分布在监控领域的水面(长方体上表面),如图1所示,并假设水下传感器网络具有以下性质。
图1 水下无线传感器网络模型
1) 水下传感器网络由固定在海底的静态节点、悬浮在水中的动态节点和浮在水面的sink节点构成。
第6期 彭舰等:基于分层的水下传感器网络路由策略 ·27·
2) 所有非sink 节点均具有唯一的ID ,并均匀
地分布在监测区域。
3) 传感器节点采用水声通信进行数据通信,且数据分组传送到任意sink 节点,均表示数据被成功采集。
4) 所有非sink 节点具有相似的处理/通信能力。 5) 节点按照预先设置的功率进行数据通信,一经部署通信功率不再改变。
6) 节点不具有位置感知能力,但能感知深度信息。 7) 节点周期性进行数据采集任务,并始终有数据传送至基站。
8) 网络的生命周期被定义为10%节点死亡的时间[15]。
2.2 能耗模型
本文采用与文献[16]相同的水声通信能耗模型。对于当前的水下传感器网络节点,发送数据产生的能
耗远远地超过节点接收数据产生的能耗,因此本文用节点发送数据产生的能耗来衡量整个网络的能耗,即不考虑数据接收带来的能耗。式(1)给出了水下传感器网络中节点发送数据的能耗模型。
()/10
朱砂玉
o 10k
f d p E P T d ∂= (1) 其中,P o 为数据接收的相关能耗,T p 为传输时延,
d 为传播距离,k 为水声传播模型的相关参数。
能量衰减系数为
2242
22
()0.1144 2.75100.00314100f f f f f f -∂=++⨯+++ (2)
式(2)给出了∂是与频率f 相关的能量衰减系数。
2.3 节点运动模型
水下传感器网络节点通过锚链被锚定,通过调整锚链长度来形成三维网络,节点随着海流做受限的运动[17]。图2给出了节点的运动范围。
双卡双待单通如图2所示,锚链长度为L ,通过对节点受力分析得知,节点受到了水流横向的冲击力F ,水流产生的浮力f 以及锚链对节点的拉力T ,这3种力构成了一组平衡力,夹角度数为β。
于是有tan β=F/f ,节点的运动范围Field =
[L cos β, L ]。
为了模拟水下传感器网络的动态性特点,本文假定节点在运动范围内采用Random Waypoint 运动模型[18]。Random Waypoint 运动模型描述为:传感器节点在运动空间A 内随机生成坐标值产生起始点
S 和目的点D ,节点运动速度在[V min ,V max ]之间随机取值并匀速从S 沿直线运动到D ,再在[T min ,T max ]中随机选取一个时间T pau 保持静止,这样完成一次运动过程。随后节点将本次运动的目的点D 作为下次运动的起始点S ,开始下一次运动过程,如此重复。网络中所有传感器节点均遵循上述运动过程,它们之间相互独立。
图2 受限节点的受力
3 算法设计
3.1 算法设计路线
首先分析水下传感器网络的环境特点,即水
声通信、节点不具有感知全局位置信息的能力、网络高时延、节点移动性等,并建立相关的网络模型。 如图3所示,该算法思想立足于网络冗余,
建立与网络冗余相关的接收节点的深度范围和
网络分层。同时针对特定深度范围内的传感器节
点,建立机会转发的路由机制,从而满足水下传
感器网络的特性。
图3 算法设计路线
酸性氧化物一定是非金属氧化物吗3.2 算法描述 节点将带有当前深度信息的数据分组进行一次广播,接收该数据分组的邻居节点获该发送节点
的深度信息,结合节点通信半径、网络冗余度等信
·28·通信学报第35卷
息计算通信范围D,并检查自己是否在通信范围D
内。如果在,则计算转发概率P;反之,则丢弃该
数据分组。
4分层路由策略
4.1 分层间距d与网络冗余ζ
采用静态分层模型,通过数学分析,预先确定网络的分层间距;该分层模型下,层内节点之间无需进行数据通信,层间通信采用了机会路由;节点i通过感知当前深度信息来确定层号,机会转发带来的极大挑战是网络冗余,本文从网络冗余角度分析,提出分层间距d,该分层间距将依赖于节点的通信半径R和网络的冗余度ζ(每个节点广播后最多存在ζ个节点接收数据)。
在总体积为V U的区域内随机分布n个水下传感器节点,由此构成水下传感器网络。假设该网络的网络冗余度为ζ,为保证层内任意节点的接收范围内最大概率地存在ζ个节点,考虑图4所示的情况。在T时刻,某节点位于图4所示的原点处,节点通信半径R为预设固定值,假设分层间距为d。由于分层网络模型下同层节点无需进行通信,该节点在T时刻的通信范围被限制在区域D ABCD内。
图4 数据转发模型
根据网络冗余度的定义,该节点的通信范围D ABCD内的最大概率存在着ζ个节点来接收数据。对通信范围D ABCD和网络分层间距d做了如下数学分析。
D ABCD的体积可由球锥ABCDO的体积减去圆锥ABCO的体积,求解区域D ABCD的体积V ABCD
()
22
2
000
d d
1
d d sin dπsin cos
3
ABCDO ABCO
ABCD
R
V v v
点与圆的位置关系r r R R
ΩΩ
β
ϕθθββ
π
=-
=-
⎰⎰⎰⎰⎰⎰
⎰⎰⎰
3
2
(22cos cos sin)
3
R
diedβββ
π
=-- (3)
求解区域D ABCD的传感器数量ζ
max
=
ABCD
V
V N
ζ
(4)
因此ζ是一个与通信半径R与β夹角的关系函
数Γ(R,β)
()23
max
,(22cos cos sin)
3
R N
R
V
Γββββ
π
=-- (5)
同时,分层间距d依赖于通信半径R和网络冗
余度ζ。设
()
()
cos,
d R R
βψΓβ
== (6) 在冗余度为ζ的水下传感器网络中,对于任意深
度为h的传感器节点,其所在层(自上而下编号1,
2,…)的层编号为L(h),其通信范围内接收节点的
成年女性尿床深度区间为I(h),其中floor( )函数代表向下取整
()
()
()
()floor/,
L h h R
ψΓβ
= (7)
()
()
,
(,
)
I h h R h R
ψΓβ
⎡⎤
=++
⎣⎦ (8) 通过预先设定节点通信半径R,根据实际的应
用需求给出冗余度ζ,便能计算出相应的网络分层
间距d和任意节点对应的下一跳邻居节点所在的深
度区间I(h),并对水下传感器网络冗余进行初步的
控制。
4.2机会路由中消息转发概率
针对节点位置信息未知的水下传感器网络,结
合网络分层间距和节点的下一跳邻居节点所在的
深度区间,提出一种基于相对深度距离和相对剩余
能量的机会转发路由。
定义1相对深度距离。水下传感器网络中,
任意节点i进行一次数据转发,其下一跳邻居节点
所在的深度范围为[d1,d2],i的相对深度距离为m E。
其中d i为该节点的当前深度信息。
定义2相对剩余能量。水下传感器网络中,
某节点当前剩余能量为E r,节点的平均剩余能量为
E。m E为当前网络状态下节点剩余能量的最小值,
该值可由sink节点周期性全网反馈获得,该节点的
第6期 彭舰等:基于分层的水下传感器网络路由策略 ·29·
相对剩余能量为()/r m m E E E E E ∆=--()。 定义3 消息转发概率。冗余度为ζ(ζ>1)的
水下传感器网络中,某节点进行一次数据转发,ζ
个节点中任意节点i 成为该消息的转发节点的概率
()/i i p d E αβζ=∆+∆。其中,1αβ+=。
梵高的向日葵图片
假设在冗余度ζ的水下传感器网络中,某深度
为h 的节点i 对消息进行了一次消息转发,在深度
区域I (h )内的ζ个邻居节点将接收该消息(见3.1
节)。假定ζ个节点距离节点i 的深度差分别为d 1,
d 2,…,d ζ 。根据定义1可知,ζ个节点中的第j
个节点的相对深度距离为
()()
初中教育()()
,,j j R R R d h d ββψΓψΓ---∆= (9) 根据定义2可知,该节点为转发节点的概率为 ((,))
1((,))j ir j o d R E E P R R E E ψΓβαβΓφζψ⎛⎫--=⨯+ ⎪ ⎪--⎝⎭
(10) 节点随机分布在监控区域内,并在一定范围内
做Random Waypoint 运动,节点的分布特点近似随
机分布,因此某节点通信范围D ABCD 内存在k 个节
点的概率为
max max 1k n k
k ABCD ABCD k n V V P C V V -⎛⎫⎛⎫=- ⎪ ⎪⎝⎭⎝⎭ (11) 节点的移动性会造成一定概率的数据传输失
败,只有当某节点通信范围D ABCD 内所有的节点均未成为其转发节点时,该节点的数据传输失败,数据传输失败的概率为
_max max 1
1(1)k n k
k
k ABCD ABCD i f n i
i V V P C P V V -=⎛⎫⎛⎫=-- ⎪ ⎪⎝⎭⎝
⎭∏ (12)
为了防止出现数据传输中断的现象,当数据传
输失败时,选择该节点通信范围D ABCD 内的邻居节点中具有最大转发概率的节点(P k 值最大的节点)作为消息的转发节点。 4.3 队列管理的实现
队列管理机制工作原理包括消息入列方法和消息出列方法。
图5 队列中消息流
消息入列方法:节点i 收到来自其他节点的消息后,从消息中获取转发节点的深度信息和剩余能量信息,计算该节点转发消息的概率P i (详见4.2节),节点i 以概率P i 将该消息插入消息队列,以1−P i
的概率丢弃该消息,进入消息队列的消息按照P i 值由大到小的先后顺序发送;节点自身采集的信息则立即发送。若某节点的邻居节点均被丢弃时,选择P i 值最大的邻居节点进入队列,防止消息传递过程中出现传递中断的情况。 消息出列方法:某节点的消息队列中若存在多个数据分组,根据数据分组中携带的P i 值大小,节点优先发送P i 值大的数据分组,消息发送后消息标记为已发送,但不立刻丢弃;只有当队列满时,丢
弃在队列中存在时间最久的已发送消息,避免多次
发送同一消息。
5 实验与仿真 本文仿真实现了layered-DBR 、DBR 和Flooding
算法,并从节点周期性采集次数和能量消耗做了性
能比较。在仿真实验中,本文定义1 000个节点随机
分布在1 000 m×1 000 m×5L00 m 的三维区域。网络
中设定10个sink ,它们位于三维区域的上表面位置。
其他网络参数以及相应的缺省值如表1所示。 表1 仿真参数 参数 值
三维区域 1 000 m×1 000 m×500 m
节点数 1 000 通信半径/m
200~250
V min /(m·s −1) 1 V max /(m·s −1) 2 T max /s 0 T min /s 1 P o 3 K
1.5
图6给出了在节点通信半径R =240 m 的条件下,α取值对网络周期性数据采集次数和网络能量消耗的影响。从图6可以看出,当α取值为0.5时,综合网络能耗表现和消息转发次数,网络有较好的性能表现,因此在后续的仿真实验中默认α=0.5。