轻量级自组网按需距离矢量路由的建立方法

文档序号:7625601阅读:230来源:国知局
专利名称:轻量级自组网按需距离矢量路由的建立方法
技术领域
本发明涉及的是无线数据通信网络,具体是一种轻量级自组网按需距离矢量路由的建立方法。
背景技术
现有的Ad hoc按需距离矢量(AODV,ad hoc on-demand distance vector)路由协议能够在无线网络的各个节点之间动态、自启动地建立逐跳路由。该协议主要有两部分组成路由发现和路由维护。①路由发现。当源节点要发送数据报文给目的节点时,如果它不知道到达目的节点的路由或者到达目的节点的路由已经过期,源节点将广播路由请求报文(RREQ),邻居节点依次向周围的节点广播此报文直到报文被送到一个知道目的节点路由信息的中间节点或目的节点本身。此时,该节点会产生一个路由回复报文(RREP)。当RREP报文到达源节点时,也就完成了一条路由的建立。②路由维护。AODV通过周期性地广播Hello报文来监视链路状态变化。如果节点检测到邻居链路断开,它将从路由表中删除包含该链路的路由,并发送路由出错报文(RERR)通知使用该路由的节点将对应路由项从路由表中删除。其中,周期性地广播Hello报文极大增加网络的开销,浪费网络节点的功耗,且占用了大量的网络带宽,增加了网络的时延。而且在传统协议中,引入序列号来维护最新的路由,防止路由环的产生,但这增加了控制报文长度,与其它报文的冲突可能性也大为增加,同时也加大了协议执行的复杂度。还有在传统AODV协议中,路由表中通过前驱列表项(Precursor lists)记录下本节点用于转发报文的活跃邻居节点,从而跟踪使用某条路由的所有节点。当到达某一目的节点的链路出现问题时,可以向前驱列表中的节点转发RERR,通知利用这条路径的所有节点。但前驱列表的使用,增加了路由表结构的复杂性和网络节点的存储开销。高密度的自组网络中,活跃邻居节点数较多,会对网络节点的存储能力造成很大的负担。

发明内容
本发明的目的是提供一种轻量级自组网按需距离矢量路由的建立方法,该路由的建立方法复杂度低,执行效率高,造成的网络开销少,所占网络节点内存空间小,十分适合于存储空间和能量有限的自组网节点。为了达到上述发明目的,本发明采用了下述的发明构思利用数据端到端的可靠性包确认机制来检测链路状态。当源节点在对同一数据包传输一定的次数内仍没有接收到目的节点的数据包确认(ACK)信号,则认为这条路由路径发生了断路,使源节点路由表中该路径路由项无效,重新发送路由请求,启动路由发现过程。在此过程中,传统AODV协议中的Hello报文、RERR和前驱列表也不再需要,由此可使网络开销大为减少,前驱列表的去除简化了路由表的数据结构,节省了节点的存储空间。另外,采用只有目的节点才响应RREQ发送RREP的策略来防止产生路由环,从而避免在报文中使用序列号,缩短了控制报文长度,减少了报文碰撞的可能性,由此网络节点接收控制报文时,序列号比较不再作为路由更新的条件,减少了协议执行的复杂度。
根据上述的发明构思,本发明采用下述的技术步骤一种轻量级自组网按需距离矢量路由的建立方法,其特征在于利用数据端到端的可靠性包确认机制来检测链路状态,完成路由的建立,步骤为S1-1目的节点接收从源节点发送来的一数据报文;S1-2目的节点发送接收到的数据报文对应的确认(ACK)报文;S1-3源节点判断是否接收到其所发数据报文对应的ACK报文;S1-4源节点接收到其所发数据报文对应的ACK报文,则表明该路由链路通信正常,结束;S1-5源节点没有接收到其所发数据报文对应的ACK报文,则把所对应的计数Num值加1;S1-6判断源节点对应的计数Num值是否大于3;S1-7源节点对应的计数Num值是不大于3,则源节点重新发送该数据报文,结束;S1-8源节点对应的计数Num值是大于3,则表明该路由链路中断;S1-9源节点重新发送路由请求(RREQ)报文,重新发送路由请求过程。
上述的轻量级自组网按需距离矢量路由的建立方法,还有一个特征是其特征在于采用只有目的节点才响应RREQ发送路由回复报文(RREP)的策略来防止产生路由环。
在上述的防止产生路由环的策略中,节点处理RREQ报文的步骤为S3-1节点接收RREQ报文;S3-2根据RREQ报文中的源节点地址(Originator IP Address)和RREQ身份标识(RREQ ID)来判断是否已接收处理过同一RREQ报文;
S3-3如果节点已接收处理过同一RREQ报文,则丢弃该报文,结束;S3-4如果节点没有处理过同一RREQ报文,则更新路由请求表;S3-5判断该节点路由表中有没有到达源节点的有效路由;S3-6该节点路由表中没有到达源节点的有效路由,则创建相关路由表项,下一步骤为S3-10;S3-7该节点路由表中已有到达源节点的有效路由,则比较RREQ报文和相对应路由表项中跳数的大小;S3-8如果RREQ报文中跳数较大,下一步骤为S3-10;S3-9如果RREQ报文中跳数小于等于相对应路由表项中跳数,则更新相对应的路由表项,S3-10判断该节点是否为目的节点;S3-11该节点是为目的节点,则发送RREP报文响应,结束;S3-12该节点不是目的节点,则转发该RREQ报文。
在上述的防止产生路由环的策略中,节点处理RREP报文的步骤为S5-1节点接收RREP报文;S5-2判断该节点路由表中有没有到达目的节点的有效路由;S5-3该节点路由表中没有到达目的节点的有效路由,创建相对应的路由表项,下一步骤为S5-7;S5-4该节点路由表中有到达目的节点的有效路由,则比较RREP报文和相对应路由表项中跳数的大小;S5-5RREP报文中跳数没有相对应路由表项中跳数的大,刷新相对应的路由表项,下一步骤为S5-7;S5-6RREP报文中跳数较大,丢弃RREP报文,到此结束;S5-7判断该节点是否为源节点;S5-8该节点不是源节点,则单播转发RREP报文,结束;S5-9该节点是源节点,则路由创建完成。
本发明与现有的技术相比较,具有如下显而易见的突出实质性特点和显著优点本发明中利用数据端到端的可靠性确认机制来检测链路状态,完成路由的维护,与传统的AODV协议比较,网络开销大为减少,节省节点的存储空间;采用只有目的节点才响应RREQ发送RREP的策略防止路由环,减少协议执行复杂度,执行效率高,十分适合能量有限的自组网节点。


图1是本发明中的自组网链路维护流程图2是RREQ报文格式图3是节点接收处理RREQ报文流程图4是RREP报文格式图5是节点接收处理RREP报文流程具体实施方式
本发明的一个优选实例结合附图详述如下如图1所示,本轻量级自组网按需距离矢量路由建立方法中自组网维护步骤为S1-1目的节点接收从源节点发送来的一数据报文;S1-2目的节点发送接收到的数据报文对应的ACK报文;S1-3源节点判断是否接收到其所发数据报文对应的ACK报文;S1-4源节点接收到其所发数据报文对应的ACK报文,则表明该路由链路通信正常,结束;S1-5源节点没有接收到其所发数据报文对应的ACK报文,则把所对应的计数Num值加1;S1-6判断源节点对应的计数Num值是否大于3;S1-7源节点对应的计数Num值是不大于3,则源节点重新发送该数据报文,结束;S1-8源节点对应的计数Num值是大于3,则表明该路由链路中断;S1-9源节点重新发送RREQ报文,重新发送路由请求过程。
如图2所示,本轻量级的自组网按需距离矢量路由建立方法中的RREQ报文与传统AODV协议相比,去除了目的节点序列号(Destination Sequence Number)项和源节点序列号(Originator Sequence Number)项。
如图3所示,本轻量级自组网按需距离矢量路由建立方法中间节点对接收到的RREQ报文的处理流程步骤为S3-1节点接收RREQ报文;S3-2根据RREQ报文中的源节点地址(Originator IP Address)和RREQ身份标识(RREQ ID)来判断是否已接收处理过同一RREQ报文;
S3-3如果节点已接收处理过同一RREQ报文,则丢弃该报文,结束;S3-4如果节点没有处理过同一RREQ报文,则更新路由请求表;S3-5判断该节点路由表中有没有到达源节点的有效路由;S3-6该节点路由表中没有到达源节点的有效路由,则创建相关路由表项,下一步骤为S3-10;S3-7该节点路由表中已有到达源节点的有效路由,则比较RREQ报文和相对应路由表项中跳数的大小;S3-8如果RREQ报文中跳数较大,下一步骤为S3-10;S3-9如果RREQ报文中跳数小于等于相对应路由表项中跳数,则更新相对应的路由表项,S3-10判断该节点是否为目的节点;S3-11该节点是为目的节点,则发送RREP报文响应,结束;S3-12该节点不是目的节点,则转发该RREQ报文。
如图4所示,本轻量级自组网按需距离矢量路由建立方法中的RREP报文与传统AODV协议相比,去除了目的节点序列号(Destination Sequence Number)项。
如图5所示,本轻量级自组网按需距离矢量路由建立方法中间节点对接收到的RREP报文的处理流程主要步骤为S5-1节点接收RREP报文;S5-2判断该节点路由表中有没有到达目的节点的有效路由;S5-3该节点路由表中没有到达目的节点的有效路由,创建相对应的路由表项,下一步骤为S5-7;S5-4该节点路由表中有到达目的节点的有效路由,则比较RREP报文和相对应路由表项中跳数的大小;S5-5RREP报文中跳数没有相对应路由表项中跳数的大,刷新相对应的路由表项,下一步骤为S5-7;S5-6RREP报文中跳数较大,丢弃RREP报文,到此结束;S5-7判断该节点是否为源节点;S5-8该节点不是源节点,则单播转发RREP报文,结束;S5-9该节点是源节点,则路由创建完成。
权利要求
1.一种轻量级的自组网按需距离矢量路由的建立方法,其特征在于利用数据端到端的可靠性包确认机制来检测链路状态,完成路由的建立,步骤为S1-1目的节点接收从源节点发送来的一数据报文;S1-2目的节点发送接收到的数据报文对应的确认(ACK)报文;S1-3源节点判断是否接收到其所发数据报文对应的ACK报文;S1-4源节点接收到其所发数据报文对应的ACK报文,则表明该路由链路通信正常,结束;S1-5源节点没有接收到其所发数据报文对应的ACK报文,则把所对应的计数Num值加1;S1-6判断源节点对应的计数Num值是否大于3;S1-7源节点对应的计数Num值是不大于3,则源节点重新发送该数据报文,结束;S1-8源节点对应的计数Num值是大于3,则表明该路由链路中断;S1-9源节点重新发送路由请求(RREQ)报文,重新发送路由请求过程。
2.根据权利要求1所述,轻量级自组网按需距离矢量路由的建立方法,其特征在于采用只有目的节点才响应RREQ发送路由回复报文(RREP)的策略来防止产生路由环。
3.根据权利要求2所述的轻量级自组网按需距离矢量路由的建立方法,其特征在于节点处理RREQ报文的步骤为S3-1节点接收RREQ报文;S3-2根据RREQ报文中的源节点地址(Originator IP Address)和RREQ身份标识(RREQ ID)来判断是否已接收处理过同一RREQ报文;S3-3如果节点已接收处理过同一RREQ报文,则丢弃该报文,结束;S3-4如果节点没有处理过同一RREQ报文,则更新路由请求表;S3-5判断该节点路由表中有没有到达源节点的有效路由;S3-6该节点路由表中没有到达源节点的有效路由,则创建相关路由表项,下一步骤为S3-10;S3-7该节点路由表中已有到达源节点的有效路由,则比较RREQ报文和相对应路由表项中跳数的大小;S3-8如果RREQ报文中跳数较大,下一步骤为S3-10;S3-9如果RREQ报文中跳数小于等于相对应路由表项中跳数,则更新相对应的路由表项,S3-10判断该节点是否为目的节点;S3-11该节点是为目的节点,则发送RREP报文响应,结束;S3-12该节点不是目的节点,则转发该RREQ报文。
4.根据权利要求2所述的轻量级自组网按需距离矢量路由的建立方法,其特征在于节点处理RREP报文的步骤为S5-1节点接收RREP报文;S5-2判断该节点路由表中有没有到达目的节点的有效路由;S5-3该节点路由表中没有到达目的节点的有效路由,创建相对应的路由表项,下一步骤为S5-7;S5-4该节点路由表中有到达目的节点的有效路由,则比较RREP报文和相对应路由表项中跳数的大小;S5-5RREP报文中跳数没有相对应路由表项中跳数的大,刷新相对应的路由表项,下一步骤为S5-7;S5-6RREP报文中跳数较大,丢弃RREP报文,到此结束;S5-7判断该节点是否为源节点;S5-8该节点不是源节点,则单播转发RREP报文,结束;S5-9该节点是源节点,则路由创建完成。
全文摘要
本发明涉及一种轻量级自组网按需距离矢量路由的建立方法,它涉及的是无线数据通信网络。本发明能在不需发送周期性广播报文的情况下,利用数据端到端的可靠性包确认机制维护链路状态,完成路由的建立。本发明还利用只有目的节点才响应路由请求报文(RREQ)报文的方法,达到去除序列号,缩短控制报文的目的,且本路由所消耗网络节点的内存和能量少。
文档编号H04L1/08GK1822566SQ20051011193
公开日2006年8月23日 申请日期2005年12月23日 优先权日2005年12月23日
发明者沈明华, 陈聪, 冯玉林 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1