自组网路由协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-11-07 14:33 183人阅读评论(0) 收藏举报
与单跳的无线网络不同,自组网节点之间需通过多跳数据转发机制进行数据交换,每个节点都可能充当其它节点的路由器。无线信道质量的不规则变化,节点的移动、加入和退出等均会引起网络拓扑结构的动态变化。自组网路由协议的作用就是在这种环境中,监控网络拓扑结构的变更,交换路由信息,定位目的节点位置,产生、维护和选择路由,提供网络的连通性。路由协议是移动节点互相通信的基础。
常规的路由协议,如路由信息协议(RIP)[29]和开放式最短路径互连(OSPF)[30]是为有线网络而设计的,它们的拓扑结构相对固定,不会出现大的网络结构变化。自组网结构则是动态变化的,若仍使用常规路由协议,则将会在路由发现和维护上付出很大的代价,而全网路由也可能始终处于不收敛状态。除此之外,自组网不能采用常规路由协议还包含如下几种方面的原因:
(1)自组网中主机间的无线信道可能是单向的;
(2)若仍使用常规路由,则无线信道的广播特性将产生许多冗余链路;
(3)常规路由协议路由信息的周期性广播更新报文会消耗大量的网络带宽。由于无线信道本身的物理特性,它所能提供的网络带宽相对有线信道要低得多。此外,考虑到竞争共享无线信道产生的碰撞、信号衰减、
噪音干扰、信道间干扰等多种因素,节点可得到的实际带宽是远远小于理论上的最大带宽值;
(4)无线移动终端的局限性。移动终端在带来移动性、灵巧、轻便等好处的同时,其固有的特性,例如采用电池一类可耗尽能源提供电源,内存较小,CPU性能较低等要求路由算法简单有效,实现的程序代
码短小精悍,需要考虑如何节省能源等。而常规路由协议通常基于高性能路由器作为运行的硬件平台,没有上述的限制。
由于自组网路由协议对自组网的重要性,它便成了研究的一个热点。到目前为止,已经有相当多的标准和草案推出。当前提出的自组网路由协议可依两种标准进行分类,一是以触发时机进行分类,一是以网络拓扑结构进行分类。
2.1依据触发时机分类
根据路由触发原理,目前的路由协议可分为三类:
1)基于路由表驱动(Table Driven)的路由协议
2)按需驱动(On-Demand Driven)的路由协议
3)表驱动和按需驱动的混合
2.1.1表驱动路由
表驱动路由(又称先验路由、主动路由)继承了传统的路由算法,但在消除路由环路和已过时路由等方面进行了适应于自组网特性的改进。传统有线网络的经典路由算法包括链路状态协议和距离矢量两种。链路状态协议中每个节点都要保存整个网络的拓扑信息以及每条链路的开销,为了使所有节点中保存的路由保持一致,每个节点必须周期性地广播其与周围邻居节点的路由信息,其它节点在收到这些信息时更新网络拓扑,以最短路径算法来计算到达目的节点的下一跳节点。然而,某些节点保存的路由可能因为传播的延迟等原因与实际网络中的状态不一致,这时就可能会在网络中生成路由环路。距离矢量算法也会导致路由环路的生成。路由环路问题在无线环境下表现地更为明显,所以继承传统路由协议的表驱动路由协议需在此方面进行了改进。
表驱动路由协议中无论路由是否被用到,每个节点都要进行周期性地路由信息交换以维护路由表。表驱动路由协议的优点是在有信息传送时不需要等待建立路由,源节点一旦要发送报文,可以立即获得到达目的节点的路由。而其在无需通信节点之间的路由维护则浪费了大量的网络带宽。常见的表驱动路由协议有DSDV[31],HSR[32],GSR[33],WRP[34],FSR[35]等。
DSDV(Destination-Sequenced Distance-Vector Routing)协议通过修改RIP协议而得到,它基于
Bellman-Ford算法。DSDV在每条路由信息中加人由目的节点产生的序列号,以避免路由环。
在DSDV协议中,每个节点周期性地广播它当前的路由表(路由信息包括对应于每个目的节点的距离及最大序列号,还包含发送者自身的序列号,每广播一次就自动加1)。每个收到该广播报文的节点将报文中的对应各目的节点的序列号与自身路由表中相应表项比较,如果报文中的序列号较高,则更新自己的路由表,将发送者指定为下一跳,并将距离增加一跳。在序列号相等但是报文中路由距离更小的情况下,节点也要更新自己的路由表。
当一个节点发现链路失效时,它将所有通过该节点转发的路由的距离设为无穷并将其序列号加1。由于更新了序列号,因此这一消息会传播到整个网络。这样所有这些目的路由指向的目的节点都有效地与此节点断开,直到有新的序列号产生并包含新的路由信息。
HSR(Hierarchical State Routing)是一种用于分级网络的路由协议,高级节点保存它所有子孙节点的位置信息,沿从最高级的根节点到最低级的叶节点的路径为节点分配逻辑序列地址,可以用序列地址进行节点寻址。
GSR(Global State Routing)协议的工作原理与DSDV协议类似,在该算法中,每个节点维护邻居列表、拓扑表、下一跳节点表和距离表。邻居列表记录所有能侦听到该节点信息的节点列表。对于每个目标节点,拓扑表记录链路状态信息和该信息的时间戳(timestamp),下一跳节点表记录分组转发的下一跳节点,而距离表则记录到达目的节点的最短路径。当链路的状态发生变化时,通过比较报文与本地拓扑表中的目的节点路由序列号大小,决定网络拓扑表的修改,若拓扑表发生变化则广播给其它节点。
GSR协议中,较长的路由修改报文会浪费相当大的网络带宽,针对这一缺陷,FSR(Fisheye State Routing)对GSR进行了修改,FSR的路由信息报文中并不包含所有节点的信息,因此可大大缩短报文的大小。与中心节点的距离越近,信息交换越频繁,每个节点都可获得其邻近节点准确详尽的信息;而随着与中心节点距离的加大,交换频率开始减小,超过节点的鱼眼范围时,信息的准确性降低,但并不影响路由的正确选择。通过这种算法,可大大降低路由修改信息对网络的负荷。这种算法的拓扑组织结构像鱼的眼睛,所以称之为FSR。
WRP(Wireless Routing Protocol) 是一种距离向量路由算法,每个节点维护距离表、路由表、链路开销表和信息重传列表。信息重传节点列表记录信息更新报文中需要传送的信息序列以及需要对该信息更新报文作出确认的节点列表。节点周期性或者在链路状态改变的情况下交换路由表,信息更新报文中反馈节点列表中的节点需要确认其接收。如果从上次广播更新报文后节点没有新的路由信息需广播,则其需发送HELLO报文,以确认节点之间的连通性。如果节点没有发送HELLO信息,则认为节点的链路信息无效。当节点收到来自邻居节点的信息更新报文后,修改自身的距离表依据该报文寻找更好的路由。如果某个移动节点收到了新节点的HELLO信息,则把新节点信息填入路由表,并且把它自己的路由表发给新节点。
2.1.2按需驱动路由
与表驱动路由相反,源始发的按需驱动路由(又称反应路由)认为在动态变化的自组网环境中,没有必要维护去往其它所有节点的路由。按需驱动路由因其更适合自组网特性,近些年来更被关注。按需路由一般分为路由建立和路由维护两个过程。它仅在需要给目的节点发送报文而又没有去往目的节点路由的时候才按需进行路由发现。因此,路由表是按需建立的,它可能仅仅是整个拓扑结构信息的一部分。它的优点是不需要周期性的路由信息广播,节省了一定的网络资源。缺点是发送数据分组时,如果没有去往目的节点的路由,数据分组需要等待因路由发现引起的延时,不适合于实时性要求高的应用。
常用的按需驱动路由协议有DSR[36],AODV[37],TORA[38],LAR[39]等。