第五章路由协议路由协议主要负责建立源节点与目的节点之间的一条消息传输路径,即实现路由功能。
路由协议包含了两个方面功能:寻找源节点-目的节点间的最优路径,并将数据分组沿该路径正确转发。
传统的Ad hoc网络、无线局域网等网络的首要目标是提高服务质量和公平高效地利用网络带宽资源。
这些网络路由协议的优化目标通常是网络延时最小化,而能量问题通常不作为一个最主要的优化目标。
而在陆地无线传感器网络中,由于节点能量有限,因此路由协议需要高效利用能量,同时,由于传感器网络规模一般较大,节点通常不具有全网拓扑信息,因此传感器网络的路由协议需要在已知局部网络信息的基础上选择合适的路径。
但是,当前陆地网络的路由协议由于受到种种方面的限制,均不能有效地直接应用于水下网络中,复杂的水下环境给网络层路由协议的设计带来了全新的挑战。
水下传感器节点通信半径和覆盖面积相对于整个网络的规模较小,同时由于水声链路的高度时空动态特性,事先在源节点和目的节点之间建立一条完整且固定的通信路径是不现实的,因此水下传感器网络一方面主要采用多跳传输的路由机制,另一方面路由表需要以一定的频率更新以适应网络的动态变化。
多跳传输方式需要借助中继节点转发信息,该方式要求多个节点共同协作完成消息从源节点到目的节点的传输,这就涉及中间节点选择的问题,如何选择中间节点从而有效降低传输延迟、提高数据传输率是路由协议主要解决的问题。
此外,水下後感器显络迪路由协议还要具备以下特性:①可扩展性,由于水下传感器网络中的节点受部署环境的影响造成部分节点或部分链路失效,因此能有效地检测和处理节点失效或移动造成的链路中断,适应不断变化的网络柘朴是水下一隹感器网络路由协议需要解决的一个主要问题;②节能性,在水下传感器网络中,节点大都是以电池供电的,电量十分有限,且电池的更换耗时耗力,同时水声信号发射功率相对较大,因此,提高能量效率是对水下传感器网络设计的另一主要目标;③容错性和鲁棒性,在水下感器网络中,节点的失效是很难避免的,造成节点失效的原因主要包括环境因素,此外,水声信道的通信质量也很难保证,这就要求路由协议具有较好的鲁棒性,能有效避免部分节点的失效或链路的中断给整个网络造成影响;④快速收敛特性,由于水下传感器网络的拓扑结构动态变化,节点能量和水声频谱带宽资源严重受限,因此要求路由算法可以做到快速收敛,以适应网络拓扑结构的动态变化,减小通信协议开销,提高信息传输效率。
5.1 水下传感器网络路由协议分类与陆地多跳传感器网络类似,水下网络的路由协议也可分为主动路由和按需路由。
对于主动路由协议,在这种路由协议中,网络中每个节点都要建立并维护一个路由表,记录该节点到网络中其他所有节点的路由信息,并根据网络当前状态实时进行更新,所以又称为表驱动(table-driven)路由。
这些路由信息(如距离向量)主要是从基站周期性广播的控制包中获得的。
这种路由协议在路由第一次建立以及由于节点移动或节点失效导致路由重新建立是会造成较大的网络开销,这是因为基站需要广播最新的拓扑信息给每一个节点。
主动路由协议主要包括DSDV(destination sequenced distance vector),WRP(wireless routing protocol)和OLSR(optimized link state routing)等协议。
这种协议实现起来较为简单,传输质量较高,能有效地避免网络拥塞。
但是路由表的建立和维护会造成巨大的网络开销,节点的频繁移动、网络拓扑的动态变化更是会加剧这种状况,这对于资源有限的水下传感器网络来说是不现实的。
当这些协议应用于水下环境时,水下网络的动态拓扑结构使得路由开销相当巨大。
而按需路由协议不同于主动路由协议,网络节点无需建立并维护去往其他节点的路由信息,而是根据通信需要临时建立路由,所以又称为被动(反应)式路由。
只有当源节点要向目的节点发送消息时,源节点才进行路由的查找和建立。
路由建立之后,将由一个专门的路由维护程序[1,2]进行维护,直至该路由失去作用。
按需路由协议主要包括DSR,AODV和TORA等协议。
在按需路由协议中,路由表根据通信需要临时建立,基站不需要周期性的广播路由信息,此外,建立好的路由会保存在缓存中供后续通信使用,而无需节点维护,这大大降低了网络开销,减少了网络资源的浪费,相较于主动路由更适用于拓扑动态变化的网络。
但是,路由发现和建立的过程是不可预知的,这使得路由延迟更加多变和难以预测。
按需路由都对消息泛洪有一定程度的依赖,这在大规模网络中的开销也十分巨大,过大的路由开销对于水下的有限带宽是一个严峻的挑战。
此外,研宄表明,这两种路由协议在上下行通信链路对称的网络中性能较好,而水下传感器网络由于水声信道的频率依赖特性往往并不满足这一点。
1.基于地理信息路由在传感器网络中,节点通常需要获取自身的位置信息,这样它釆集的数据才有意义。
地理位置路由假设节点知道自己的路由信息及目的节点的地理信息,依靠网络中节点的地理位置信息来建立[3]。
GFG[4]和PTKF(partial topologyknowledge forwarding)[5]是两种常见的基于地理位置的路由协议。
目前,节点的定位技术主要有三种:全球定位系统(GPS)、基于测距的定位和基于非测距的定位。
源节点在获得了目的节点的地理位置后,可以轻松地选择最优的邻居节点作为下一跳,有效避免消息泛洪带来的网络开销,提高消息传输的效率。
但是,对于不能使用GPS的水下传感器网络,要对节点进行精确定位是很困难的,如何获取水下节点位置信息是建立地理路由的关键。
2.能量感知路由水下网络路由协议需要考虑的首要因素是能量受限,能量路由是最早针对传感器网络提出的路由机制之一。
它根据节点的可用能量或传输路径上的能量需求选择转发路径。
节点的可用能量就是节点的当前剩余能量。
能量感知路由协议包括路径建立、数据传播和路由维护三个过程,其中路径建立是核心。
每个节点需要知道到达目的节点的所有下一跳节点,并计算选择每个下一跳节点的数据传输的“代价”。
因为每个节点到达目的节点的路径有可能不止一条,所以该“代价值”是各个路径的加权平均值。
Shah等[6]提出了一种能量多径路由方案,通过在源节点和目的节点之间建立多条路径,根据路径上节点的通信消耗和节点能量剩余情况,给每条路径赋予选择概率,使数据传输均衡消耗整个网络能量。
文献[7]针对UWSN中一些关键节点能量过早耗尽的问题,提出一种动态路由控制新方法。
它通过周期性预测出节点的信息产生率,同时根据节点当前剩余能量,估计出釆用不同路由时节点的生命值;以网络节点的最小生命值为目标函数,通过遗传算法周期寻找与最大目标函数对应的路由。
该路由算法可以做到平衡各节点能量。
3.基于轨迹路由协议将Adhoc网络中的源路由与笛卡儿转发算法相结合,Niculescu等提出了TBF 路由算法[8],在TBF算法中,转发路径称为轨迹。
这个轨迹可以表示成函数或方程。
轨迹路由是一种针对传感器网络特点提出的路由方案,但对于应用在UWSN 中,有两个主要的问题需要解决:①轨迹相关的计算十分复杂,而水下传感器节点计算能量有限;②表示轨迹的开销很大,占用了过多的带宽资源。
5.2 水下网络路由协议研宄现状5.2.1基于矢量转发路由协议VBF在VBF协议中,每一个数据包中携带了源节点、目的节点和转发节点的位置信息。
转发路径是由源节点和目的节点连线构成的矢量。
一旦某一个节点收到数据包,它首先计算它与转发节点之间的距离以及信号的到达角度(AoA)。
同理,所有接收到数据包的节点都计算各自位置。
如果某个节点通过计算发现其离路由矢量足够近(小于某个预先设定门限),它就将自己位置写入数据包中并转发该数据包;否则对数据包做丢弃处理。
通过这种方式,所有参与转发该数据包的节点构成“路由管道”,图5.1展示了VBF路由的基本思想。
图中s1是源节点,s0是目的节点,矢量s1-s0为路由矢量,图中路由管道半径为预设的W,所有在该管道内的节点参与转发。
距离矢量远的节点不参与转发图5.1 VBF路由思想从上述描述可以看出,VBF是一个源路由协议,每一个转发节点仅需要维护简单的路由信息。
但是仅通过上述转发策略,那么VBF在大规模筒密度布放的网络场景中的应用会面临过多转发节点参与转发的问题。
过多节点参与转发不仅造成不必要的能耗而且也会导致网络中冲突增加,降低网络容量与效率。
为解决上述问题,在VBF协议中,XiePeng设计了一种自适应选择节点的方法。
该方法利用不同位置节点在转发数据时等候时间的区别实现了最优位置节点最快转发及尽量少的节点参与路由的结果。
本书给出了关键参数desirableness factor的定义:α=p/W+(r-d×cosθ)/R式中,R是节点的信号传播距离,W是虚拟通道半径,d是两跳节点间距,p和θ分别是下一条节点与路由矢量的距离和夹角(图5.2)。
有了α参数就可以定义前传节点的等待时间:T adaption=√α×T delay+R−d/v0式中,T delay为两点间传播延时,v0为声信号传播速度。
通过本书中的仿真数据可以看出VBF能较好地支持中低速(1〜3m/s)节点移动的同时已经能做到较好的节能。
相对于简单泛洪协议,VBF显著减小网络中的业务流因此减小了能耗,同时其也对网络动态变化有较好鲁棒性,并且协议的计算开销较小。
但是,VBF 协议也面临如下两个主要缺点:①由于VBF 协议严重依赖源节点与目的节点的路由矢量,协议中虚拟路由管道的建立对不同节点布放密度有很大影响。
如果某区域的节点布放较为稀疏,有可能管道内没有节点参与转发,造成路由空洞。
②协议性能受到管道半径设置影响,不同管道半径设置对协议影响较大。
针对不同网络场景需要建立合适的管道半径。
该结论不利于真实网络场景的应用。
图5.2 VBF 转发算法示意图此后,在VBF 的基础上,研究人员提出进一步改进方案以完善其性能。
其中Hop-by-hopVBF (HHVBF )便是其中之一。
与VBF 不同,HHVBF 在每一跳过程中建立一个虚拟路由管道。
该管道建立依赖的路由矢量为当前转发节点到目的节点。
通过该方式,HHVBF 建立了自适应的路由通道。
该路由协议的主要优势有如下两点:①由于每个节点有自身对应的路由管道,因此最大管道半径可以设置为最大传输距离。
换而言之,该协议没有必要为了增强协议性能而设置一个大于最大传输距离的管道半径。
②在稀疏网络中,尽管可以用于中继的节点较少,但是如果网络中存在这样一个可用中继节点,HHVBF 总能将其找到。
因此,相对于VBF ,HHVBF 增加了数据包投递率。
图5.3示意了HHVBF 的工作过程。