移动自组织网络协议综述摘要:20世纪90年代见证了对于移动自组织网络研究兴趣的快速增长。
这些网络的无基础设施和动态性质需要应用一组新的网络策略来提供高效的端到端通信。
随着这些网络在许多像战场和灾难恢复等不同的场景中的各种应用,许多不同的组织和机构开始研究移动自组织网络(MANET)。
无线自组网络使用传统的TCP/ IP的结构来提供节点之间的端到端的通信。
然而,由于它们的移动性和无线网络中的资源限制,TCP / IP模型的每一层都需要重新定义或修改以在MANET中有效率的运行。
其中,MANET中的路由是一项具有挑战性的任务,并且获得大量的研究关注。
这促进了MANET中许多不同的路由协议的发展,而且每个提出了各自协议的笔者认为,其提出的策略在给定场景下比其他文献提出的策略有明显改善。
因此,很难决定哪个协议在一些不同的场景下性能最优,比如增加节点密度和流量。
本文提供了对文献中提出来的、比较流行的几种协议的概述,并给出了这几种路由协议的初步性能比较。
1 引言在移动自组织网络中,移动节点通过多跳无线链路实现相互间的通信。
开发一种能有效地找到节点间路由的动态路由协议就成为移动自组织网络设计的关键。
目前为移动自组织网络提出的基于拓扑的路由协议可以分为两大类:先验式路由和反应式路由。
在先验式路由协议中,到所有目的节点(或网络的各个部分)的路径在启动时被确定,并由一个周期性路由更新过程来维护。
而在反应式路由协议中,当使用路由发现程序的源需要时,路径才被确定。
此外,每类路由有许多不同的路由策略,这些策略既可以采用平面结构,也可以采用分层结构。
2 先验式路由协议先验式路由协议又称为表驱动路由协议,在这种路由协议中,每个节点维护一张包含到达其它节点的路由信息的路由表。
当检测到网络拓扑结构发生变化时,节点在网络中发送更新消息,收到更新消息的节点将更新自己的路由表,以维护一致的、及时的、准确的路由信息,所以路由表可以准确地反映网络的拓扑结构。
源节点一旦要发送报文,可以立即获得到达目的节点的路由。
因此这种路由协议的时延较小,但是路由协议的开销较大。
下面介绍了三种典型的先验式路由协议。
2.1 目的序列距离矢量(DSDV)DSDV算[1]是对DBF路由算法的改进。
在DSDV中,每个移动节点都需要维护一个路由表。
路由表表项包括目的节点、跳数和目的地序号,其中目的地序号由目的节点分配,主要用于判别路由是否过时,并可防止路由环路的产生。
每个节点周期性必须与邻节点交换路由信息,当然也可以根据路由表的改变来触发路由更新。
路由表更新有两种方式:一种是全部更新(Full dump),即拓扑更新消息中将包括整个路由表,主要应用于网络变化较快的情况;另一种方式是部分更新(Incremental update), 更新消息中仅包含变化的路由部分,通常适用于网络变化较慢的情况。
在DSDV中只使用序列号最高的路由,如果两个路由具有相同的序列号,那么将选择最优的路由(如跳数最短)。
DSDV路由协议的具体策略如下:一个没有找到路由的分组到达节点后首先被缓存,同时节点发送路由查询消息,直到接收到来自接收端的路由响应消息。
当缓存溢出时,新来的分组将被丢弃。
分组到达目的节点后将直接由地址解复用器送到相应的端口,而后由端口将分组送到目的代理。
但由于需要周期性的更新消息,DSDV要花费大量的开销到网络里,而且这些开销还要以O(N2)的速度增长。
因为网络很大一部分的带宽要用到上面所述的更新过程中,所以该协议不会在大规模网络重使用。
2.2 移动距离效应路由(DREAM)相比到目前为止所提出的路由协议,DREAM路由协议[2]采用了一种不同的路由方法。
在DREAM中,每个节点通过GPS得到它的地理坐标。
这些坐标在每个节点之间周期性地交换,并存储在路由表中(称为位置表)。
交换位置信息的好处是,它比交换完整的链路状态和距离向量信息消耗更少的带宽,这意味着它有很好的可扩展性。
在DREAM路由协议中,可以通过使消息更新的频率要跟移动性和距离影响成比例,进一步减少路由开销。
这也意味着固定节点不需要发送任何更新消息。
2.3 最优链路状态路由协议(OLSR)OLSR [3]是基于传统的链路状态算法的点至点的路由协议。
在这种策略中,每个节点通过定期交换链路状态消息来维护有关网络的拓扑信息。
OLSR的新颖性在于它能最大限度地减少每一个控制消息的大小和用多点重放(MPR)策略更新每个路由的期间转播节点的数目。
要做到这一点,网络中的每个节点在每一个拓扑更新过程中,要选择一组相邻节点并向他们重新传输它的数据包。
这组节点称为该节点的多点继电器。
而不在这组节点中的其它节点可以读取和处理每个数据包,但不进行重传。
为了选择MPR,每个节点要周期性地向它的单跳相邻节点广播Hello message。
从Hello message的节点列表中,每个节点选择一个一跳相邻节点的子集,其中这些一跳相邻节点要涵盖所有它的两跳相邻接点。
例如,在图4中,节点A可以选择节点B,C,K和N作为MPR节点。
由于这些节点覆盖所有两跳距离的节点。
每个节点可以利用它的拓扑信息来确定它到每个已知目标节点的确定最佳路径(就跳数而言),,并在一个路由表中存储该信息。
因此,当开始传输数据时,到每个目标节点的路径都是立即可用的。
2.4 先验式路由协议小结总的来说,大多数平面先验式路由协议其扩展性都不是很好。
这是因为它们的更新过程消耗了大量的网络带宽。
在本节所讨论的平坦路由协议中OLSR可能是表现最好的。
这种扩展性的增加是通过使用多点中继来减少重播节点数量实现的,其中多点中继是只选择一些相邻节点来重播消息。
相比每个节点都重播消息的盲或纯粹的洪泛策略,多点中继有明显减少信道容量和网络中控制包的数量的优势。
由于DREAM路由协议通过交换位置信息而不是完全(或部分)的链路状态信息,因此它显著地减少了通过网络传输的开销,也因此具有可扩展的潜力。
因为分层先验式路由的路由协议引入了一种控制网络中传输开销的结构,所以它们将比大部分的平面路由协议性能会更好一些。
这是通过只允许像簇头那样的选中节点重播控制信息实现的。
但所有的分层协议都有共同缺点:额外需要移动性管理。
移动性管理引入了不必要的网络开销(如集群的形成和维护产生的额外的处理开销)。
3反应式路由协议反应式路由又叫按需路由。
按需路由协议是为了减少先验式路由协议的开销而设计的。
它减少开销的方式是只维护激活路由的信息。
这意味着路由由需要向特定目的节点发送数据的节点进行决策和维护。
路由发现通常以向网络洪泛路由请求包的形式进行。
一旦一个能到达目的节点的节点到达(或目的节点本身),就会沿着指向源节点的反向链路发送一个路由响应,如果路由请求是通过双向链路发送或者非法接入的,就通过洪泛方式发送路由响应数据包。
因此,在反向链路可以建立的场景下,路由发现开销(在最坏的场景下)将以O(N+M)的形式增长,若只有单向链路则以O(2N)的形式增长。
反应式路由可分为两大类:源路由和逐跳路由。
在按需源路由协议中,每个数据包都包含从源节点到目的节点的完整地址。
因此,传递这些数据包的每一个中间节点都维持了每一个数据包的首部相关信息。
这意味着中间节点不需要保留每一条发送到目的节点的路由的最新信息。
此外,节点不需要周期性地发送信标信息以维护与邻居节点的连接。
源路由协议的主要缺点是在大型网络中运作欠佳。
这是因为两方面的原因:首先,随着每一条路由中中间节点数量的增加,路由故障的可能性增加。
其次,随着每一条路由的中间节点数量的增加,每一个数据包的首部的开销也会随之增大。
因此,在多跳、高度移动性的大型网络中,这些协议可能会表现不好。
在逐跳路由(也可称为端到端路由)中,每一个数据包仅含目的节点地址和下一跳地址。
因此,路径中的每一个中间节点通过路由表来到达目的节点。
由于每一个节点都能通过接收到的最新拓扑信息来更新路由表,所以数据包能通过最新的、更好的路径进行发送。
这类协议的优点是路由适用于动态移动环境下的MANET。
能使用最新的路由,这就表明在数据发送过程中,少数路由需要重新进行计算。
因此,这一类路由的缺点是,每一个中间节点都需要存储和维护每一条活跃路径的路由信息,每一个节点都必须通过使用信标信息来了解它们的相邻节点。
下面同样描述了几种典型的反应式路由协议,并进行了初步的性能比较。
3.1 Ad Hoc按需距离矢量(AODV)AODV路由协议[4]基于DSDV和DSR算法[5],它使用了周期性的信标、DSDV进程序列号、以及与DSR相似的路由发现机制。
然而,AODV与DSR有两方面不同。
最大的不同是,在DSR中,每一数据包携带了完整的路由信息,而在AODV中,数据包仅仅携带了目的节点地址。
这意味着AODV比DSR具有更少的路由开销。
另外一个不同点是,DSR协议中的路由暗含着路由中每一个节点的地址,而AODV协议中的路由仅仅包含目的IP地址和序列号。
AODV的优点就是它使用与高度动态的网络。
然而,在路由构建的过程中,节点可能会经历很大的时延,链路故障的时候会初始化路由发现,随着网络的增大会产生额外的时延,占用更多的带宽。
3.2 动态源路由(DSR)如上所述,DSR协议[5]要求每一个数据包都携带从源节点到目的节点的完整地址(包括路由的每一跳)。
这意味着在大型网络中,DSR协议的效率很低,数据包首部开销随着网络直径的增大而持续增长。
于是,在高速移动的大型网络中,大量的开销将会消耗大量的带宽。
然而,此协议与AODV,TORA[6]等路由协议相比,还是具有很大优势的。
首先此协议运行在中小型网络中性能更好;其次这个协议节点能在路由缓存中存储多条路径,这就意味着源节点在初始化路由发现之前就能通过检查自身的路由缓存,找到一条有效的路由,如果找到有效路由,就没必要进行路由发现了。
这个优势在低速移动网络中,表现特别显著。
此外,由于它们的路由存储在路由缓存中,所以有效时间更长。
DSR的另一优势就是它不需要周期性的发送信标(或交换hello消息),节点可以通过进入睡眠状态来节省它们的能量。
同时,这也为网络节约了带宽。
3.3 轻型移动路由(LMR)LMR协议[7]是另一种按需路由协议,它采用了洪泛技术来确定它的路由路径。
LMR中的节点保持多个路径到每个需要的目的节点。
不发起路由发现过程的情况下,通过允许节点选择到一个特定目的节点的下一个可用的路径,可以增加协议的可靠性。
此协议的另一个优点是,每个节点只维持到它们相邻节点的路由信息。
这种方法避免了用于维持完整的路由所需要的额外延迟和存储开销。
然而,LMR可能会产生暂时性的无效路由,这引入了用于确定一个正确的循环所需的额外延迟。
3.4 临时按序路由算法(TORA)TORA[6]是一种基于位置辅助路由(LMR)协议的路由协议。