?
2002年第4期 重庆邮电学院学报 CUPT
RREP 消息使用。
此外,中间节点也可以使用路由缓存技术(Routing Cache 来对协议作进一步优化。DSR 的优点: 节点仅需要维护与之通信的节点的路由,减少了协议开销; 使用路由缓存技术减少了路由发现的耗费; 一次路由发现过程可能会产生多条到目的点的路由。DSR 的缺点: 每个数据报文的头部都需要携带路由信息,数据包的额外开销较大; 路由请求消息采用洪泛方式,相邻节点路由请求消息可能发生传播冲突并可能会产生重复广播; 由于缓存,过期路由会影响路由选择的准确性。NS 实现的DSR 协议中,采用DSR 的节点与其它移动节点有些不同,在DSR 节点中,所有分组被送到路由代理,路由信息可通过数据分组进行捎带确认。
2.3 临时按序路由算法(TORA
TORA 是一个基于链路反转方法的自适应的分布式路由算法,主要用于高速动态的多跳无线网络。作为一个由源端发起的按需路由协议,它可以找到从源到一个目的节点的多条路由。T ORA 的主要特点是:当拓扑发生改变时,控制消息只在拓扑发生改变的局部范围传播。因此,节点只需维护相邻节点的路由信息。协议由3部分构成:路由产生、路由维护和路由删除。初始化时,目的节点的高度(即传播序列号被置为0。然后由源端广播一个含有目的节点ID 的QRY 分组,一个高度不为0的节点响应一个UPD 分组。收到UPD 分组的节点的高度将比产生该UPD 分组的节点的高度大1,并且具有较大高度值的节点被规定为上游节点。通过这种方式能够创建一个从源到目的节点的一个有向无环路图(DAG 。当节点移动时,路由需要重建。在路由删除阶段,T ORA 通过广播一个CLR 分组来删除无效的路由。TORA 存在的一个问题是当多个节点同时进行选路和删除路由时会产生路由振荡现象。NS 中,每个节点为所有可能的目的节点运行一个分离的TORA 进程。T ORA 运行在IM
EP(IMEP:Inter-net MANET Encapsulation Protocol之上,IM EP 主要用来提供路由消息的可靠传送并可以向邻居节点通知链路的改变。
2.4 Ad hoc 按需距离矢量路由协议(AODV
AODV [6]
是DSDV 算法的改进,但它与DSDV
的区别在于它是反应式路由协议。为了找到通往目的节点的路由,源端将广播一个路由请求分组,邻居节点依次向周围节点广播此分组直到该分组被送到一个知道目的节点路由信息中间节点或目的节点本身。一个节点将丢弃重复收到的请求分组,路由请求分组中的序列号用来防止路由环路,并能判断中间节点是否响应了相应的路由请求。当节点转发路由请求分组时,它会将其上游节点的标志ID 录入路由表,从而能够构建一条从目的节点到源节点的反向路由。当源端移动时,它会重新发起路由发现算法;如果中间节点移动,那么与其相邻的节点会发现链路失效并向其上游节点发送链路失效消息并一直传到源节点,而后源节点根据情况重新发起路由发现过程。NS 中,AODV 的实现组合DSR 和DSDV 协议。它既具有DSR 协议的路由发现和路由维护功能,同时又使用了DSDV 采用的逐跳路由、序列号和Beacon 消息。
3 模拟试验和性能比较
模拟工具采用第2节介绍的NS2网络仿真器,无线仿真开始时,需要定义每个网络功能组件的类型,包括天线的类型、电磁波的传输模式和移动节点使用的Ad hoc 路由选择协议等。试验中,网络初始拓扑结构见图1,该模型由3个移动节点(节点0,1
图1 初始时刻无线Ad h oc 网络的拓扑结构 Fi g.1Topology of wireless Ad hoc netw ork at initial time
和2构成,并在670m ×670m 的范围内按以下预定的移动模式移动。3个节点初始坐标为:节点0(83,239、节点1(257,345、节点2(591,199。模拟开始运行后,在33s 时节点0以19m /s 速度向目标坐标(89,283移动,在50s 时节点2以3.37m /s 的速度向目标坐标(369,173移动,在51s 时节点1开始以14.90m/s 速度向目标坐标(221,80移动。
?
75?王海涛,等:移动Ad h oc 网络路由协议及其性能比较
在节点0和节点2之间建立固定比特率(CBR 业务流,CBR 的分组大小为512字节,发送间隔为4s 。并且在127s 时,节点0开始向节点2发送CBR 数据包,模拟的总时间设为400s 。图2给出了在时间235s 时网络的拓扑结构,此时3个节点已到达各自的目标,并且节点0正通过节点1向节点2发送CBR
数据包。
图2 235秒时无线Ad hoc 网络的拓扑结构
Fig.2T opology of w ireless Ad hoc netw ork in 235seconds
在试验中,分别使用第3节介绍的4种Ad hoc 路由协议在相同的网络环境下进行试验,而后对模拟产生的数据进行分析来比较4种路由协议下CBR 应用的性能。试验的具体分析如下。
(1采用DSDV 协议的情况。模拟开始时节点0和节点1由于距离较近可以交换message 路由消息,而节点2和其它2个节点距离较远而无法交互路由消息。在时间94s 左右,节点1和节点2开始交换路由消息,并且节点0也可以通过节点1获得节点2的路由信息。在127s 时,节点0开始向节点2发送CBR 分组,最初CBR 分组由于缓存空间不足或地址解析出错等原因而被节点0丢弃,直到188s 时节点1才收到第一个CBR 分组并将其转发给节点2。在此次模拟中,三个节点总共发送了71条路由控制消息,节点0共发送了71个CBR 包,并丢弃了15个CBR 包。
(2使用DSR 协议。由于DSR 是按需路由协议,模拟开始时节点之间不交互路由消息,直到节点0向节点2发送CBR 包需要选路时才发送DSR 消息。在整个模拟中,3个节点共发送了3条DSR 路由控制消息,节点0共发送了68个CBR 包,并丢弃了0个CBR 包。