陈德全
(重庆幼儿师范高等专科学校,重庆 404047)
水下传感网络(underwater sensor networks,UWSNs)在近海和海上领域有广泛的应用,如环境监测、深海挖掘、海洋勘察、水下开发。在WSNs中,位于水域内的传感节点收集环境数据,再将数据传输至水面的汇聚节点(sink),sink 再将数据传输至控制中心。
由于水域独特的特性,如环境噪声、信号衰减,低声速,多径传播,UWSNs 完全不同于陆地传感网络。这些特性导致低速率、高传播时延,差的网络连通以及高能耗,它们也对数据传输性能有破坏性影响。此外,由于水的潮汐,位于水域内的节点并非是静态的。
因此,如何有效地将数据包传输到水面的sink成为UWSNs 研究热点。目前,研究人员针对UWSNs的水域特性,提出不同的路由算法。其中,地理位置路由受到广泛关注。地理位置路由只需局部节点位置信息决策路由。节点无需维持全局网络拓扑信息。例如文献[4]针对水下传感网络提出基于深度的路由(depth-based routing,DBR),它通过节点深度决策路由。但是DBR 路由没有考虑到能量信息。
相比于陆地上的传感网络,UWSNs 内的节点在信号传输阶段消耗了更多能量。因此,能量效率也是设计UWSNs 路由必须考虑的因素。例如,文献[5]提出基于模糊逻辑的节点深度路由(fuzzy logic depth-based routing,FLDR),它在决策路由不仅考虑了节点位置信息,还考虑了节点能量。
此外,文献[6]提出基于能效多径地理位置路由(energy-efficient multi-path geographical routing,EMGR),它采用多条路径传输数据包,提高传输数据包的可靠性。但是执行EMGR 路由较复杂,增加了网络能耗。文献[7]提出了基于功效路由(power efficient-based routing,PEBR)协议。PEBR 路由利用距离、两个邻居节点间的夹角以及节点剩余能量选择下一跳转发节点。
尽管上述路由策略改善了路由性能,但是它们在选择下一跳转发节点并没有考虑链路质量。为此,本文提出基于节点权重的地理位置路由(weight of node-based routing,WNBR)。WNBR 路由利用节点的能量因子、距离因子和链路质量因子构建节点权重,再依据节点权重择优选择下一跳转发节点。仿真结果表明,提出的WNBR 路由有效地提高了能量效率,降低了数据包传输时延。
考虑三维的水下传感网络。N个sink 浮在水表面,这些sink 收集水下传感节点感测的数据。令S表示第i 个sink 的ID,且i=1,2,…,N。将水下传感节点分为两类:锚节点和转发节点。
所谓锚节点就是随机部署在海床上的节点,这些节点的位置信息已知。锚节点感测环境数据,再转发至下一跳节点。锚节点利用声通信链路传输数据。假定网络内部署了N个锚节点。令A表示第k个锚节点的ID,且k=1,2,…,N。由于锚节点产生感测数据,下文也将锚节点称为源节点。
转发节点用于帮助锚节点向信宿转发数据。换而言之,转发节点收集来自源节点的数据,然后转发至下一跳节点。假定网络内有N个转发节点。令F表示第j 个转发节点的ID,且j=1,2,…,N。
所有节点的最大通信范围为R。每个节点周期地传输Hello 消息,其包含节点消息的序列号,节点的ID 号、节点位置坐标和剩余能量。此外,网络内节点知晓所有sink 位置坐标。
图1 给出网络模型的平面图。位于海底的锚节点感测环境数据,并利用声通信链路向sink 传输数据。sink 通过RF 通信链路向控制中心传输数据。
图1 网络模型
式中,SNR(d,f)为信噪比,且SNR(d,f)=(P(f)/Γ(d,f)/N(f)),其中,P(f)表示节点在频率f 上传输一个数据包所需的功率,N(f)表示噪声。
所有节点的初始能量相同。节点传输数据和接收数据均消耗能量。令E(A)表示转发节点A所消耗的能量:
式中,h表示源节点A表示离水面的深度;h表示转发节点F表示离水面的深度,如图2 所示。
图2 距离因子示例
?
最后,选择具有最大权重的转发节点作为自己的下一跳节点。选择过程如算法2 所示。B表示下一跳转发节点。
?
首先,进行网络初始化。节点广播Hello 包,使节点交互Hello 包,构建自己一跳邻居节点集。依据算法1 候选下一跳转发节点集。再依据式(10)计算节点的权重值,最终选择具有最大权重节点作为下一跳转发节点。数据包的传输过程如下页图3所示。
图3 WNBR 路由数据包转发流程图
利用MATLAB 软件分析WNBR 路由性能。考虑500 m×500 m×1 000 m 三维立体区域。在区域内部署4 个sink,50 个~350 个节点。采用文献[14]的水下水声调制解调器—LinkQuest UWM1000。具体的仿真参数如表1 所示,总的仿真时间1 000 s。运行50 次,取平均值作为最终的仿真数据。
表1 仿真参数
此外,选择文献[4]提出的DBR、文献[5]提出的FLDR、文献[6]提出的EMGR 路由和文献[7]提出的PEBR 路由作为参照,并分析数据包传输率、端到端时延和能耗。
3.2.1 数据包传输率
首先,分析节点数对数据包传输率的影响,其中节点数从50 至350 变化,如图4 所示。
图4 数据包传递率
从图4 可知,数据包传递率随节点数的增加而上升。原因在于:节点数的增加,提高了网络连通率,最终,提升了数据包传递率。当然,数据包传递率并非与节点数的增加而呈线性增长。从图4中可知,在节点数从50 增加至200 阶段,节点数的增加迅速提升了数据包传递率。但是,当节点数从200 增加至350 阶段时,数据包传递率随节点数的增加而保持缓慢增长,增长速度相当缓慢。这主要因为:当节点数增加到一定数量后,若继续增加节点密度,容易导致网络拥塞,抑制了数据包传递率的增加。
相 比 于DBR、FLDR、EMGR 和PEBR 路 由,WNBR 路由的数据包传递率得到提高。在节点密度较高阶段,PEBR 路由和WNBR 路由的数据包传递率相近。但是在节点密度稀疏阶段,WNBR 路由的数据包传递率优于PEBR 路由。
相比于EMGR 路由,FLDR 路由和DBR 路由,PEBR 路由具有更好的数据包传递率。由于EMGR路由采用多路径传输,它的数据包传递率优于FLDR 路由和DBR 路由。但是EMGR 路由消耗了更多能量。
3.2.2 端到端传输时延
本节分析节点数对WNBR 路由的端到端传输时延的影响,如下页图5 所示。从图5 可知,节点数的增加降低了传输数据包的时延。相比于PEBR 路由、EMGR 路由、FLDR 路由和DBR 路由,WNBR 路由减少了端到端传输时延。原因在于:WNBR 路由缓解了终端隐藏问题,源节点依据节点权重选择下一跳转发节点,提高路径的稳定性。
图5 端到端传输时延
PEBR 路由的端到端时延与WNBR 路由的端到端时延相近。此外,尽管EMGR 路由利用多条短路径降低了时延,但是其端到端时延仍高于WNBR路由。
3.2.3 网络能量消耗
分析WNBR 路由的网络的能量消耗,如图6 所示。从图6 可知,节点数的增加,提高了网络能耗。原因在于:节点数的增加,增加了网络内需要传输的数据包数,增加了节点需要传输的数据包数,这导致了节点的能耗增加。
图6 网络能量消耗
相比于DBR 路由、FLDR 路由、EMGR 路由和PEBR 路由,WNBR 路由在能量消耗方面仍保持优势。这归功于:WNBR 路由利用节点能量、距离因子和链路质量构建路径,提升了路由的稳定性。
针对UWSNs 的数据传输问题,提出基于节点权重的地理位置路由WNBR。WNBR 路由从节点能量、距离以及链路质量3 方面的信息决策下一跳转发节点,构建稳定的数据传输路径。仿真结果表明,WNBR 路由在能量消耗、数据包传递率方面均具有较好的性能表现。后继将机器学习算法引入路由,进一步优化算法的性能。