无线Ad-hoc网络的关键技术之路由

Elenore 2010-03-18

对于无线Ad-hoc网络的一些相关介绍呢,以前已经有很多相关的文章了。那么,接下来,主要是介绍关于无线Ad-hoc网络技术之一无线Ad-hoc网络的路由技术。接下来请具体看文章吧。

无线Ad-hoc网络的路由技术

在Ad-hoc网络里,移动节点通过多跳无线链路实现相互间的通信。整个网络没有固定的基础设施,比如基站。网内每一个节点都可作为路由器,向其它节点转发数据分组。开发一种能有效地找到节点间路由的动态路由协议就成为无线Ad-hoc网络设计的关键。Ad-hoc路由协议需要能够实现以下的功能:

(1)能感知网络拓扑结构的变化

Ad-hoc路由协议要能够检测到网络拓扑的动态变化。因为Ad-hoc网络需要进行多跳通信,所以路由协议必须确保路径中的链路具有很强的连接性。Ad-hoc网络中的节点必须知道它的周围环境和可以与它直接进行通信的节点。Ad-hoc网络里提供网络连接的方法主要有两种:平面路由网络结构和分层路由网络结构(见图2)。在平面路由网络结构中,所有的节点都是平级的,分组的路由是基于对等的连接。但是在分层路由结构中,较低层至少要有一个节点作为与高层联系的网关。

无线Ad-hoc网络的关键技术之路由

图2 平面和分层路由网络结构

(2)维护网络拓扑的连接

因为每个移动主机都可以随时改变位置,所以网络拓扑是频繁变化的。这样,Ad-hoc路由协议为了维持节点之间的链路具有较强的连接性,它必须动态更新链路状态和对自己重新配置。如果采用中心控制的路由算法,为把节点链路状态的改变传送到所有的节点,就会消耗过多的时间和精力,显然是不适合的。所以要采用一种全分布式的路由算法。

(3)高度自适应的路由

相对于有线网络里的静态节点,无线Ad-hoc网络要求一个高度自适应的路由机制,来处理快速的拓扑变化。而传统的路由协议,如距离矢量和链路状态算法,要求在指定路由器间交换大量路由信息,因此在无线Ad-hoc网络里都不能有效地工作。所以针对无线Ad-hoc网络的特点,提出了新的路由算法。总的来说,这些路由算法可以分为3种类型:表驱动算法、需求驱动算法、表驱动和需求驱动算法相混合的算法。

表驱动路由协议采用周期性的路由分组广播,来交换路由信息。每个节点维护去往全网所有节点的路由。主动路由的优点是当节点需要发送一个去往其他节点的数据分组时,只要路由存在,发送分组的延时就很小;缺点是表驱动路由协议需花费较高代价(如带宽、电源、CPU资源等),使路由表能够跟上当前网络拓扑结构的变化,但动态变化的拓扑结构又可能使高价得来的路由表中内容变成无效信息,路由协议始终处于不收敛状态。目前,这种类型的无线Ad-hoc网络路由协议已提出了几种机制,用以改善这些方面的性能。

需求驱动路由协议是根据发送节点的需要,按需进行路由发现过程,网络拓扑结构和路由表内容也是按需建立的,所以其内容可能仅仅是整个网络拓扑结构信息的一部分。按需路由的优点是不需要周期性的广播路由信息,节省了一定的网络资源;缺点是在发送数据分组时,因没有去往目的节点的路由,要临时启动路由发现过程来寻找路由,所以数据分组需要等待一定时间的延时,并且由于路由发现过程通常采用全网泛洪机制进行搜索,这在一定程度上也抵消了按需机制带来的好处。

目前,国内外的研究人员基于各种不同的角度提出了许多针对无线Ad-hoc网络的路由协议,其中一部分也提交到无线Ad-hoc网工作小组成为RFC草案。下面列举一些典型的自组网路由协议:

DSDV(Destination-Sequenced Distance-Vector)协议

WRP(Wireless Routing Protocol)

DSR(Dynamic Source Routing)协议

ABR(Associativity Based Routing)协议

ZRP(Zone Routing Protocol)

AODV(Ad-hoc on Demand Distance Vector Routing)协议