一种基于AODV以及链路故障类型的路由修复方法技术

技术编号:3541620 阅读:300 留言:0更新日期:2012-04-11 18:40
基于AODV以及链路故障类型的路由修复方法,要求移动节点在关闭前广播一条关闭通知消息;断开链路处的上游节点发起本地修复过程:首先,所述上游节点在一跳范围内广播路由请求分组,如果上游节点收到过下游节点的关闭通知消息,则上游节点尝试建立到达它的下两跳节点或数据分组的目的节点的路由;如果上游节点没有收到过下游节点的关闭通知消息,则上游节点尝试建立到达它的下一跳节点或数据分组的目的节点的路由。其次,如果第一次路由修复失败,则所述的上游节点在网络范围内广播路由请求分组,尝试建立到达数据分组的目的节点的路由。本发明专利技术的方法能够减少链路断开后的路由修复时间,降低路由修复所需的控制分组开销,提高了Ad Hoc网络的性能。

【技术实现步骤摘要】

本专利技术涉及一种Ad Hoc网络的路由修复方法,尤其涉及一种基于AODV以及链路故障类型的路由修复方法,本专利技术对网络规模没有严格的限定,尤其适用于拓扑结构频繁变化的Ad Hoc网络。
技术介绍
路由协议是近年来无线Ad Hoc网络研究的重要技术之一。路由协议负责路由的建立和维护工作,路由协议必须能够适应Ad Hoc网络拓扑的快速变化,为节点提供准确的路由信息,同时最大限度地减少控制分组开销以提高网络性能。AODV(Ad hoc On Demand Distance Vector,Ad Hoc按需距离矢量)是Ad Hoc网络中典型的按需路由协议,它根据需要动态地维护路由表,每个移动节点只建立和维护自己所需目的节点的路由,而不是维护自己到网络中所有其他节点的路由。虽然路由建立过程会带来一定的延时,但可以节约有限的无线网络资源,并且可以满足节点移动频繁随时更新路由的情况。在AdHoc网络中,由于节点的移动性和无线环境的不稳定性,会造成相邻节点间链路断开,从而可能造成路由故障。AODV使用两种方法进行路由修复。方法之一,由源节点发起路由修复过程,当链路断开时,断开链路处的上游节点沿着反向路径发送RERR(Route Error)分组至源节点,源节点收到后将发起路由修复过程,以数据分组的目的节点为路由搜索条件广播RREQ(Route Request)分组,目的节点或者有到达目的节点路由的节点收到RREQ后返回RREP(Route Reply)分组,源节点收到RREP分组后路由修复过程结束。方法之二,由断开链路处的上游节点发起本地修复过程,当链路断开时,如果上游节点到目的节点的距离(跳数)小于或等于上游节点到源节点-->的距离,则满足AODV的本地修复条件,上游节点不发送RERR分组通知源节点,而是作为修复节点发起本地修复过程,以数据分组的目的节点为路由搜索条件广播RREQ分组,修复过程对源节点是不可见的。所述的上游节点广播RREQ分组并等待RREP分组返回,在此期间修复节点将缓存数据分组,如果上游节点在有效时间内没有收到RREP分组,则上游节点将广播RERR分组以通知其他节点链路断开。如果收到了RREP分组,则路由修复成功,所述的上游节点将缓存中的数据分组依次取出发送。AODV的本地修复避免了由源节点重新发起路由建立过程,从而缩短了路由建立时间,减少了控制分组的开销。但是,当修复节点与目的节点的距离较长时,路由建立时间和控制开销仍会较大。通常情况下,在节点间的链路断开时,断开链路处的下游节点(下一跳或下两跳节点)仍具有到达目的节点的路由,且下游节点相对于目的节点,都会更加靠近修复节点,在小范围内广播RREQ分组就能够建立修复节点到下游节点的路由,这样相当于修复节点到目的节点的路由也建立了。《自组网AODV路由协议中断链修复的改进》(电子科技大学学报,2003年10月第32卷第5期)提出的路由修复方法是,在链路断开时,由断开链路处的下游节点广播一条链路修复分组给链路的上游节点,省略了上游节点广播RREQ分组的过程。该方法的缺点是,如果由于下游节点的软硬件故障或关闭退网而造成链路断开,则上游节点不能收到链路修复分组,这样本地修复的效率会更低,产生更长的路由建立时间和数据分组时延。《保存下两跳节点策略在AODV路由算法中的应用》(计算机科学,2005年第32卷第4期)提出了基于保存下两跳节点的本地修复方法,当节点间链路断开时,断开链路处的上游节点广播以它的下两跳节点为路由搜索条件的RREQ分组,建立修复节点到下两跳节点的路由,从而完成路由修复。该方法的缺点是,一方面它忽视了小范围RREQ广播也可以建立到目的节点路由的可能性,另一方面,它假设下两跳节点仍具有到达目的节点的路由,如果下两跳节点-->到目的节点的路由失效,则本地修复的效率会更低。
技术实现思路
本专利技术的目的在于提供一种能够减小链路断开后的路由建立时间,降低路由修复的控制分组开销,从而提高Ad Hoc网络的性能的基于AODV以及链路故障类型的路由修复方法。为达到上述目的,本专利技术采用的技术方案是基于AODV本地修复,对AODV本地修复做出了适当的改进。该方法包括:a)首先对链路断开处的上游节点检查是否满足AODV本地修复条件,即上游节点到达路由目的节点的距离小于或者等于上游节点到达路由始发节点的距离,若满足本地修复条件,则上游节点启动路由故障的本地修复,若不满足本地修复条件,则上游节点向始发节点发送RERR分组,通知始发节点链路断开情况,由始发节点发起路由建立过程;b)所述的上游节点确定下游节点的状态;为了能够使上游节点确定下游节点的状态,本专利技术的方法规定,Ad Hoc网络中的移动节点在关闭时要广播一个关闭通知消息给它的邻居节点。需要说明的是,在Ad Hoc网络中,节点关闭会导致该节点与相邻节点之间的链路断开,以往的技术方案中并没有考虑节点的状态改变。本专利技术提出的改进方法中,要求节点在关闭时广播RERR(Route Error)分组,其中的不可达节点地址为节点本身的IP地址,本专利技术把该RERR称为关闭通知消息。如果邻居节点收到的RERR分组的不可达节点地址与RERR分组的始发地址相同,就认为收到了关闭通知消息,说明发送关闭通知消息的节点将要关闭。改进的目的是让路由协议能更好地适应实际网络,同时,关闭通知消息为本专利技术的本地修复方法提供了操作依据,即若上游节点在链路断开前收到了下游节点的关闭通知消息,则上游节点在启动本地修复时,不需要尝试建立到达下一跳节点的路由,而是尝试建立到-->达下两跳节点或数据分组目的节点的路由,从而减少了不必要的网络开销;若上游节点在链路断开前没有收到下游节点的关闭通知消息,则上游节点在启动本地修复时,尝试建立到达下一跳节点或数据分组目的节点的路由。需要说明的是,本专利技术对节点状态改变所造成的链路故障进行分类,链路故障分类的目的是为改进的本地修复技术提供依据,当链路断开后,链路断开处的上游节点分析故障原因,根据链路故障的类型选择不同的本地修复方法。本专利技术将链路断开的原因归纳为下面三类,分别对应三种链路故障:1)节点之间的相对移动,造成节点间链路中断;2)节点自身的故障,包括硬件和软件的故障,使故障节点的上游和下游的链路同时中断;3)节点的主动关闭,包括人为关闭或能耗殆尽关闭等,使得节点的上游和下游链路中断。c)若上游节点启动路由故障的本地修复,首先,所述的上游节点在一跳范围内(TTL=1,TTL:Time To Live)广播RREQ分组,等待RREP分组响应;需要说明的是,本专利技术改进了AODV协议在本地修复在第一次广播RREQ分组时采用的RREQ分组,改进的内容是在RREQ分组中增加了路由搜索条件,具体地说,路由搜索条件不仅包括数据分组的目的节点IP地址,也包括链路断开处的下游节点IP地址。这种方法的益处是,小范围内广播RREQ分组,既可以建立到下游节点的路由,也可以建立到目的节点的路由,从而弥补了以单一节点地址作为路由搜索条件的不足。需要说明的是,本专利技术要求节点在路由表项中保存下两跳节点地址。节点路由表的路由表项存放着节点到达其他节点的路由信息,传统AODV的路由表项中包括下一跳节点地址和目的节点地址,并不包括下两跳节点地址,本文档来自技高网
...

【技术保护点】
一种基于AODV以及链路故障类型的路由修复方法,其特征在于: a)首先对链路断开处的上游节点检查是否满足AODV本地修复条件,即上游节点到达路由目的节点的距离小于或者等于上游节点到达路由始发节点的距离,若满足本地修复条件,则上游节点启 动路由故障的本地修复,若不满足本地修复条件,则上游节点向始发节点发送RERR分组,通知始发节点链路断开情况,由始发节点发起路由建立过程; b)上游节点确定下游节点的状态:Ad Hoc网络中的移动节点在关闭时要广播一个关闭通知消息给它 的邻居节点; 在Ad Hoc网络中,节点关闭会导致该节点与相邻节点之间的链路断开,要求节点在关闭时广播RERR(Route Error)分组,其中的不可达节点地址为节点本身的IP地址,把该RERR分组称为关闭通知消息,如果邻居节点 收到的RERR分组的不可达节点地址与RERR分组的始发地址相同,则认为收到了关闭通知消息,发送关闭通知消息的节点将要关闭;若上游节点在链路断开前收到了下游节点的关闭通知消息,则上游节点在启动本地修复时,建立到达下两跳节点或数据分组目的节点的路由;若上游节点在链路断开前没有收到下游节点的关闭通知消息,则上游节点在启动本地修复时,建立到达下一跳节点或数据分组目的节点的路由; c)若上游节点启动路由故障的本地修复,首先,所述的上游节点在一跳范围内(TTL=1,TTL:Time  To Live)广播RREQ分组,等待RREP分组响应; d)上游节点的邻居节点收到RREQ分组后,检查是否有到下游节点或目的节点地址的路由,如果有路由,则返回RREP分组;否则,丢弃RREQ分组; e)在第一次广播RRE Q分组后,若上游节点收到RREP分组,则更新路由表,将缓存的数据分组取出后依次发送; f)在第一次广播RREQ分组后,若上游节点等待RREP分组超时,则启动第二次本地修复过程,在网络范围内广播RREQ分组,路由搜索条件仅为数据分组的目 的节点地址; g)在第二次广播RREQ分组后,若上游节点收到RREP分组,则更新路由表,将缓存的数据分组取出后依次发送; h)在第二次广播RREQ分组后,若上游节点等待RREP分组超时,则本地修复失败,上游节点广播RERR分组, 将链路断开的情况通知给其他节点。...

【技术特征摘要】
1、一种基于AODV以及链路故障类型的路由修复方法,其特征在于:a)首先对链路断开处的上游节点检查是否满足AODV本地修复条件,即上游节点到达路由目的节点的距离小于或者等于上游节点到达路由始发节点的距离,若满足本地修复条件,则上游节点启动路由故障的本地修复,若不满足本地修复条件,则上游节点向始发节点发送RERR分组,通知始发节点链路断开情况,由始发节点发起路由建立过程;b)上游节点确定下游节点的状态:Ad Hoc网络中的移动节点在关闭时要广播一个关闭通知消息给它的邻居节点;在Ad Hoc网络中,节点关闭会导致该节点与相邻节点之间的链路断开,要求节点在关闭时广播RERR(Route Error)分组,其中的不可达节点地址为节点本身的IP地址,把该RERR分组称为关闭通知消息,如果邻居节点收到的RERR分组的不可达节点地址与RERR分组的始发地址相同,则认为收到了关闭通知消息,发送关闭通知消息的节点将要关闭;若上游节点在链路断开前收到了下游节点的关闭通知消息,则上游节点在启动本地修复时,建立到达下两跳节点或数据分组目的节点的路由;若上游节点在链路断开前没有收到下游节点的关闭通知消息,则上游节点在启动本地修复时,建立到达下一跳节点或数据分组目的节点的路由;c)若上游节点启动路由故障的本地修复,首先,所述的上游节点在一跳范围内(TTL=1,TTL:Time To Live)广播RREQ分组,等待RREP分组响应;d)上游节点的邻居节点收到RREQ分组后,检查是否有到下游节点或目的节点地址的路由,如果有路由,则返回RREP分组;否则,丢弃RREQ分组;e)在第一次广播RREQ分组后,若上游节点收到RREP分组,则更新路由表,将缓存的数据分组取出后依次发送;f)在第一次广播RREQ分组后,若上游节点等待RREP分组超时,则启动第二次本地修复过程,在网络范围内广播RREQ分组,路由搜索条件仅为数据分组的目的节点地址;g)在第二次广播RREQ分组后,若上游节点收到RREP分组,则更新路由表,将缓存的数据分组取出后依次发送;h)在第二次广播RREQ分组后,若上游节点等...

【专利技术属性】
技术研发人员:曲桦赵季红张鹏赵季中
申请(专利权)人:西安交通大学
类型:发明
国别省市:87[中国|西安]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1