目录
1. 介绍
在DSR协议中,用于路由发现的路由请求消息可能会在整个网络中泛洪发送,全网络范围内泛洪会占用无线信道资源,降低网络资源利用率。
LAR协议就是利用位置信息来减少路由发现的广播,使得路由请求消息在局部洪泛。依靠GPS技术,发送源节点可以很容易知道目的节点的位置,另用己知的网络的位置信息,划定洪泛的范围,使得洪泛在局部范围内进行,从而降低了广播报文的开销。
2. 两个重要概念
2.1 一些假设前提
- 当前时刻:t1
- 源节点:S
- 目的节点:D
- 目的节点在过去某个时刻t0的位置:X
- 源节点S预先知道D在t0时刻的位置X
2.2 预期区域 (Expected zone )
在当前时刻t1,目的节点D可能存在于区域Y中的任意一个位置,如图1中圆形阴影部分所示。
图1 LAR协议中的预期预期和请求区域
源节点S通过在t0时刻节点D的位置X和平均移动速率V来判定节点D的预期区域Y。预期区域Y的半径为r,有
预期区域Y即是以X为圆心,以r为半径的圆形区域。
2.3 请求区域 (Request zone)
请求区域是包含了源节点S和预期区域Y的区域,如图1中的矩形框部分所示。其主要用于限定源节点泛洪路由请求消息的范围。
3 路由转发策略
3.1 前提
- 每条路由请求消息的头部都包含请求区域的信息
- 网络中所有节点的都知道自己当前的物理位置(由GPS获得)
3.2 路由发现过程
- 当某个节点收到来自邻居节点转发来的一条路由,首先它会判断它自己是否在上游节点的请求区域内。
- 如果不在请求区域内,该节点不会再转发该路由请求消息。
- 如果在请求区域内,则该节点会将该路由请求消息转发给它的邻居节点们。
- 当目的节点D收到了路由请求信息,D会向源节点S发送路由响应消息。
- 当源节点S收到路由响应消息,它会沿着已发现的路由开始发送数据包。
如图2所示,源节点S试图建立到目的节点D的路由,于是会先向其邻节点A和B发送路由请求消息。节点A收到请求后,由于其不在请求区域内,所以不再转发路由请求消息。
图2 LAR的转发策略
通过引入预期区域和请求区域,LAR协议可以限制路由请求消息的泛洪区域,沿着正确的方向转发路由请求消息。
3.3 某些糟糕的情况
在某些不太妙的情况下,源节点到目的节点的路由不能只通过请求区域来获得,如图3所示。
如果节点B是源节点S通往目的节点的唯一路由中的一个节点,而节点S和节点B之间不能直接通信,必须通过节点A进行消息转发。但是节点A不在请求区域中,因此S发送的路由请求消息不会被转发到D,也就不会收到任何路由响应消息。对此困境,S应该扩展其请求区域并重新发送路由请求消息。
图3 某些糟糕情况下的LAR转发策略
在某些极端情况下,请求区域可能扩展到整个网络,此时的路由发现过程和DSR协议一致。
4 一些拓展
4.1 自适应请求区域
4.1.1 传统的LAR协议
在上文介绍的基本LAR协议中,请求区域取决于源节点的位置和目的节点的预期区域,并在整个路由发现过程中保持不变。
4.1.2 自适应请求区域
每当中间节点收到一条路由请求消息后,它会根据它自身的位置、目的节点的位置和平均移动速率重新计算请求区域,并修改路由请求消息头部的请求区域字段的信息。
如图4所示,在源节点S处,请求区域是外围的实线矩形框。然后S向邻节点B发送路由请求消息,在节点B处,请求区域调整为内侧的虚线矩形框。
图4 自适应请求区域的转发策略
与源节点S相比,节点B距离目的节点D更近,其请求区域也更小。因此,通过一次次调整请求区域,我们可以减小路由请求消息的泛洪范围并使得请求沿着更准确的方向传播。
4.2 基于距离的转发策略
4.2.1 传统的LAR协议
在传统的LAR协议中,某个中间节点收到路由请求消息后,如何决定是否转发该条消息呢?取决于该节点是否处在请求区域内(前文提到过,传统的请求区域在整个路由发现过程中保持不变)。
4.2.2 基于距离的转发策略
不同于传统LAR协议,基于距离的转发策略通过比较当前节点到目的节点的距离来判断是否进行消息转发。
(1)上游节点:I
当上游节点I向其邻节点J转发路由请求消息时,它会在路由消息中增加某些特定信息,包括目的节点在t0时刻的位置(x0, y0)以及节点I和目的节点间的距离DISTi。
(2)当前节点:J
在收到来自上游节点I转发来的路由请求消息后,节点J首先会计算它自己到目的节点的距离DISTj。然后,J会通过比较DISTi和DISTj的大小来决定是否转发。
- 如果DISTi+δ<DISTj (δ ≥ 0),则J不再继续转发路由请求消息
- 如果DISTi+δ ≥ DISTj,则J会修改路由请求消息的距离字段,并转发至其邻节点
DISTi+δ ≥ DISTj意味着J到目的节点的距离至多比I到目的节点的距离大δ,采用变量δ主要是因为在某些糟糕情况下,发现路由需要经过间接的转发(如图3所示)。
5 特性
5.1 优点
与DSR协议相比,LAR协议的主要优点是其可以利用地理位置信息来限制路由请求消息泛洪的范围,一定程度上减少了路由发现过程的开销。
5.2 不足
- 为获得位置信息,网络中的每个节点都需要配备相应的设备模块(GPS),彼此间位置信息的交互过程也会增多。
- 节点的位置信息只能反映当前物理坐标,而不能表征现实中各节点间的可达性。即使有两个节点的位置很接近,但如果节点间存在障碍物等,这两个节点也有可能无法直接通信。
- LAR协议的路由发现,路由维护和路由缓存过程都和DSR协议类似,在某些特殊的网络环境下,LAR协议可能需要多次发起路由发现过程来找到一条合适的路由。因此,LAR协议的时延和路由发现的开销等不一定比DSR好。
6 一点小改进
6.1 位置信息的获取方式
对于地理定位辅助路由协议而言,协议的性能很大程度上取决于节点物理位置信息的准确性。目前大多数获得位置信息的算法都基于GPS系统,但GPS有诸多不足,比如GPS信号在经过干扰后会严重衰弱,导致定位错误。同时GPS信号在室内、水下或者地下场景都精度不高。卫星的数量和信号多径传输也会影响定位的精度。
有很多其他定位技术可以用来代替GPS。比如超宽带(UWB)技术,其是一种无线载波通信技术,有着极高的抗干扰性和定位精度。我们可以利用UWB技术来获得节点的位置信息。
或者可以采用一些无锚协议来代替通过GPS获得的经纬度,只需通过简历节点间的相对坐标系就可以获得节点的定位。
6.2 LAR协议的性能分析
正如在概述1中提到的,LAR是一类位置辅助的路由协议,但并不是一类完全的基于位置的路由协议。LAR协议是基于DSR协议的基本流程,在传统的反应式路由协议中,通过请求区域限制了路由请求消息的泛洪范围。整个网络仍需要在正式发送数据报之前获得完整路由并保存路由表。
另一类基于位置信息的路由协议则不需要在发起路由发现之前就获得完整路由或者保存路由表。当收到路由请求消息时,每个节点直接根据当前的位置信息决定是否转发请求消息。诸如此类常见的路由协议包括贪婪路由协议(GPSR、GEFIR和GRA等),定向泛洪路由协议(DREAM)和层次路由协议(Terminodes和GRID等)。