用于大规模无线分布式网络的协同路由方法转让专利

申请号 : CN200910021908.X

文献号 : CN101521926B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 盛敏蒲刚李建东史琰张琰徐扬

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种用于大规模无线分布式网络的协同路由方法,它涉及AdHoc网络的路由协议。其过程为:在分群的无线自组网中,群内维护主动式路由表;群外维护若干远端朋友节点,朋友节点所在的群和本群互为朋友群;业务发送时,先在群内路由表和路径缓存表中查找路径,若未找到则向朋友节点发包查询,查询过程采用协同传输方式;听到查询信息的节点若有到达目的节点的路由则立即返回给源节点;未达到查询深度时,由朋友节点选择其它朋友继续查询路径;找到路径后采用协同传输方式发送业务信息。本发明通过引入分群和小世界现象改善大规模网络路由开销过大的问题,利用协同传输优化路由和缩短传输时延,明显改善了网络性能,可用于大规模分布式网络。

权利要求 :

1.一种用于大规模无线分布式网络的协同路由方法,包括如下步骤:

(1)在分群的大规模无线分组网中,群内用DSDV协议维护主动式的路由表,群间的通信通过网关节点维护自己的邻节点表完成;

(2)每个群的几个网关节点寻找若干不同群的节点作为远端的朋友节点,该远端的朋友节点所在群作为朋友群,当寻找到朋友群后,将新朋友群的信息包含在DSDV更新消息中,使每个网关节点维护与其他网关节点互不重复的朋友群信息;

(3)当有业务要发送时,先在DSDV路由表和通过偷听到信息所建立的缓存表中查找路径,如找到路径,按该路径直接发送业务数据,如未找到路径,将组播路径请求信息给各个网关节点,每个网关节点在所拥有的朋友节点中任意选择一个,并按照到该朋友节点的路径以协同传输方式发送一个包含请求目的地址和查询深度的信息;

(4)发送请求目的地址和查询深度的信息的过程中,凡听到该信息的节点如果拥有到目的节点的路径,将立即通过协同传输方式返回该到目的节点的路径给源节点,在返回给源节点的过程中,如果其它网关节点偷听到拥有到目的节点的路径信息,将据此建立缓存表缓存该偷听到的路径信息,源节点收到包含路径的返回信息后,以协同传输方式发送包含源路由的业务数据包;

(5)若发送的请求目的地址和查询深度的信息到达朋友节点时仍未能找到目的节点的路径,并且查询深度大于0,则将查询深度减1,另外选择一个朋友节点,重复步骤(4),继续寻路过程,直到查询深度减小到零为止。

(6)若经过寻路过程最终仍未能找到目的节点,按照网络业务的要求,若允许丢掉该包,则选择放弃查找,报告丢包,若不允许丢掉该包,则加大查询深度继续查找;

(7)若维护朋友路径时发现路由失效,先在失效处发起局部重新寻找朋友的过程,若局部重新寻找失败,再重复步骤(2),由源节点发起全局重新寻找朋友节点的过程。

2.根据权利要求1所述的路由方法,其中步骤(2)所述的每个群的几个网关节点寻找若干不同群的节点作为远端的朋友节点,按如下步骤进行:(2a)由网关节点构造朋友请求包,该包中包含已成为本群朋友的群号列表和请求包生存时间,在邻节点表中随机选择一个邻节点并发送该请求包,节点收到请求包后,若节点所在群在已成为朋友群的群号列表中,则一定不作为朋友节点,继续转发给自己的邻节点;

(2b)若节点所在群不在已有朋友列表中,按概率p=(d-2R)/(r-2R)决定备选节点是否可以作为朋友,其中2R是距离初始节点的跳数,d和r分别为所要找的朋友节点应满足的最短跳数和最长跳数限制;

(2c)若到达网络边界仍未找到朋友节点时,按原路径回朔一跳,选择其它下一跳节点并发出包,继续进行概率判断是否作为朋友节点。

3.根据权利要求1所述的路由方法,其中步骤(3)所述的每个网关节点在所拥有的朋友节点中任意选择一个,并按照维护的到该朋友节点的路径发送请求目的地址和查询深度的信息,按如下步骤进行:(3a)在DSDV路由表中查找到各网关节点的路由,按该路由组播给各网关节点;

(3b)由各网关节点随机选择一个朋友节点,各个网关节点同时向所选朋友节点发送路径请求信息,进行并行查找目的节点。

4.根据权利要求1中所述的路由方法,其中步骤(3)所述的按照到该朋友节点的路径以协同传输方式发送一个包含请求目的地址和查询深度的信息,按如下步骤进行:(4a)待发送节点随机选择几个一跳邻节点邀请其协同,同意参加协同的节点将协同发送信息,该信息内包含路径上几跳之内节点地址;

(4b)协同传输获得更长的传输路径,使得路径上几跳之内的节点都能收到信息,收到后查找请求目的地址的路径,若找到路径则立即返回ACK信息给发送节点;

(4c)路径上收到信息的节点若没有找到目的地址的路径,则启动与距发送节点跳数成反比的定时,定时时间为2-i×k,其中i是距离发送节点的跳数,k是根据网络情况,发送功率选择的一个常量,以确保路径上正确收到包的距发送节点跳数最多的节点最先回送ACK信息;

(4d)待发送节点收到ACK信息后,将待发送的包含请求目的地址和查询深度的信息发给最先返回ACK信息的节点。

5.根据权利要求1中所述的路由方法,其中步骤(4)所述的听到发送请求目的地址和查询深度的信息的节点如果拥有到目的节点的路径,立即通过协同传输方式返回给源节点,按如下步骤进行:(5a)待发送节点随机选择几个一跳邻节点邀请其协同,同意参加协同的节点将协同发送信息,该信息内包含返回路径上几跳之内节点地址;

(5b)协同传输获得更长的传输路径,使得路径上几跳之内的节点都能收到信息,收到信息的节点启动与距发送节点跳数成反比的定时,定时时间为2-i×k,其中i是距离发送节点的跳数,k是根据网络情况,发送功率选择的一个常量,以确保路径上正确收到包的距发送节点跳数最多的节点最先返回ACK信息;

(5c)待发送节点收到ACK信息后将找到的到目的节点路径的信息发给最先返回ACK信息的节点。

6.根据权利要求1中所述的路由方法,其中步骤(4)所述的以协同传输方式发送包含源路由的业务数据包,按如下步骤进行:(6a)待发送节点随机选择几个一跳邻节点邀请其协同,同意参加协同的节点将协同发送信息,该信息内包含源路由路径上几跳之内节点地址;

(6b)协同传输获得更长的传输路径,使得路径上几跳之内的节点都能收到信息,收到信息的节点启动与距发送节点跳数成反比的定时,定时时间为2-i×k,其中i是距离发送节点的跳数,k是根据网络情况,发送功率选择的一个常量,以确保路径上正确收到包的距发送节点跳数最多的节点最先回送ACK信息;

(6c)待发送节点收到ACK信息后将业务数据包发给最先返回ACK信息的节点。

说明书 :

技术领域

本发明涉及无线通信技术领域,具体的说是一种协同路由方法,可用于大规模无线分布式网络。

背景技术

在无线自组网中,要解决路由的问题,通常有主动式,被动式和地理位置信息辅助的路由等几种策略。然而当网络的规模增长时,路由信息的交互或者广播寻址的方法将会很快耗尽网络资源。
区域路由协议ZRP是一种混合使用主动路由策略和被动路由策略的自组网路由协议。网络中的所有节点都有一个以自己为中心的虚拟区域,区域内的节点数目与设定的区域半径有关,因此ZRP的区域重叠程度很高。这也是ZRP与显式分群路由的区别。在区域内使用先验式路由算法,中心节点使用主动路由协议维护一张到区域内其他成员节点的路由表。对于区域外节点的路由则使用被动路由策略。
该方法存在以下不足:
(1)在群外通信时由于要采用广播的方式,仍很容易耗尽网络资源,适应网络增长的性能较差。
(2)对分群的大小比较敏感,当网络规模增大时,分群过大则协议性能退化为和主动式路由相当,分群过小则协议性能退化为和被动式路由相当。
要解决大规模网络的广播问题,文献“Contact-based architecture for resourcediscovery in large scale MANets”中提出了一种基于小世界现象的资源发现策略。据研究大规模网络中存在着六度分隔现象,即任何两个人平均都可以通过不超过六个朋友相互认识。这样只需对网络中每个节点维护几个远端的朋友节点,而不需要主动式的维护全网所有节点的信息。在路由发现阶段,查询工作将不通过广播,而是通过维护的已有路径向朋友节点进行查询,当未能获得所需路由时由朋友节点再向自己的其它朋友查询,根据小世界理论平均六跳几乎肯定能找到目的节点。获得路由后就可以发送业务信息了。
该方法存在以下不足:
(1)由于小世界现象毕竟只是理想抽象,它适用于关系网络,而在空间网络中由于缺乏对于长连接的支持,到朋友节点的一跳可能成为大规模网络中的很多跳的路径,造成时延性能较差。
(2)由于没有广播和全网拓扑,只能获得次优路径,在网络规模增大时很容易造成路径环绕和冗长等问题,且路径上节点过多,路由失效概率增加,鲁棒性较差。
(3)在网络中节点数增加时,必须限制通过朋友节点的个数和查询的时延,此时目的节点的查找概率将会降低。

发明内容

本发明的目的是针对传统路由方法的不足,提出一种用于大规模无线分布式网络的协同路由方法,以更有效的在时延性能和路由开销之间折衷,减小路由失效概率和时延,提高目的节点的查找概率以适应大规模网络的需求。
实现本发明的目的的技术方案包括如下步骤:
(1)在分群的大规模无线分组网中,群内用DSDV协议维护主动式的路由表,群间的通信通过网关节点维护自己的邻节点表完成;
(2)每个群的几个网关节点寻找若干不同群的节点作为远端的朋友节点,该远端的朋友节点所在群作为朋友群,当寻找到朋友群后,将该新朋友群的信息包含在DSDV更新消息中,使每个网关节点维护与其他网关节点互不重复的朋友群信息;
(3)当有业务要发送时,先在DSDV路由表和通过偷听到信息所建立的缓存表中查找路径,如找到路径,按该路径直接发送业务数据,如未找到路径,将组播路径请求信息给各个网关节点,每个网关节点在所拥有的朋友节点中任意选择一个,并按照到该朋友节点的路径以协同传输方式发送一个包含请求目的地址和查询深度的信息;
(4)发送请求目的地址和查询深度的信息的过程中,凡听到该信息的节点如果拥有到目的节点的路径,将立即通过协同传输方式返回该到目的节点的路径给源节点,在返回给源节点的过程中,如果其它网关节点偷听到拥有到目的节点的路径信息,将据此建立缓存表缓存该偷听到的路径信息,源节点收到包含路径的返回信息后,以协同传输方式发送包含源路由业务数据包;
(5)若发送的请求目的地址和查询深度的信息到达朋友节点时仍未能找到目的节点的路径,并且查询深度大于0,则将查询深度减1,另外选择一个朋友节点,重复步骤(4),继续寻路过程,直到查询深度减小到零为止。
(6)若经过寻路过程最终仍未能找到目的节点,按照网络业务的要求,若允许丢掉该包,则选择放弃查找,报告丢包,若不允许丢掉该包,则加大查询深度继续查找;
(7)若维护朋友路径时发现路由失效,先在失效处发起局部重新寻找朋友的过程,若局部重新寻找失败,再重复步骤(2),由源节点发起全局重新寻找朋友节点的过程。
本发明与现有技术相比,具有如下优点:
1)本发明根据大规模网络的特点,基于小世界现象维护远端朋友节点,寻路时向远端朋友节点请求路径,可以规避广播问题,在保证一定的概率的寻路成功率的同时,大大降低了网络开销。
2)本发明引入分群策略,对局部的业务通过查找DSDV路由表直接发送,对群外的业务先利用缓存表信息查找路径,失败时再由多个网关同时寻路,使得路由获得的时延更短。
3)本发明在群外寻路过程中查找目的节点可以利用分群信息按群进行查找,查找目的节点路径的成功概率大大增加。
4)本发明针对小世界路由中可能存在的时延过长和路径环绕等现象,通过引入协同传输方式,一方面环绕非最优路径通过协同可成为更长的一跳,另一方面协同本身也有助于减小传输时延,能够起到路径优化和缩小时延的效果。
5)本发明使用的协同传输能够达到更远的传输范围,使得更多的节点可以偷听到寻路以及返回的路径信息,增加找到目的节点的概率。

附图说明

图1是本发明的整体流程图;
图2是本发明节点寻找朋友的工作流程图;
图3是本发明节点协同传输的工作流程图;
图4是本发明基于小世界现象的传播路径示意图;
图5是本发明中协同传输对路径的改善示意图。

具体实施方式

参照图1,本发明的具体实现步骤如下:
步骤1,进行群内、群间通信。
在大规模无线分组网中,先对节点进行分群。每个群有一个群地址,由于是分布式网络,不能保证两个群地址绝对不同,用对群内节点地址进行散列的方法保证群地址不相同。群内采用DSDV协议维护主动式的路由表,DSDV是一个基于传统的Bellman-Ford路由选择机制的驱动算法,它在相邻节点间通过定期交互更新信息来获得网络的拓扑并计算相应的路由,群内每个节点都知道群内所有节点的路由信息。每个群中能与其它群进行通信的边界节点被选为网关节点,网关节点维护自己的邻节点表,其中包括能够通信的其它群的节点地址和群号,邻节点表通过听到的定期更新的DSDV更新消息进行更新。在群间通信时必须经过网关节点,由它们选择邻节点表中需要通信的群的相应节点进行通信。
步骤2,寻找远端朋友节点。
参照图2,寻找远端朋友节点的步骤如下:
(2a)寻找朋友时,由网关节点构造朋友请求包,该包中包含已成为本群朋友的群的群号列表和请求包生存时间,在邻节点表中随机选择一个邻节点并发送该请求包。节点收到请求包后,若节点所在群在已成为朋友群的群号列表中,则肯定不作为朋友节点,若不在已成为朋友群的群号列表中,则按照概率p=(d-2R)/(r-2R)决定是否作为朋友节点,其中2R是距离初始节点的跳数,d和r分别为所要找的朋友节点应满足的最短跳数和最长跳数限制。若不作为朋友,则首先更新超时时间,将自己地址附在路径后面,然后在本群内选择一个网关节点,向该网关节点发出请求包继续上面的寻找过程;
(2b)当到达网络边界仍未成功选择到朋友节点时,按原路径回朔一跳,并选择其它下一跳节点并发出包,继续进行概率判断是否作为朋友节点。这样最终可以选定一个朋友节点,或者包生存时间超过设定的生存期,包被丢弃;
(2c)找到朋友群后该群记录发起寻找的源群为自己的朋友并记录整条路径到朋友路由表中,同时给源群返回一个消息以确认相互之间朋友身份。源群收到后也在朋友路由表中记录整条路径,之后定期发送消息维护这个路由;
(2d)发起朋友寻找过程的网关节点在得到远端朋友的信息后,在下一次群内发送DSDV路由更新信息时,将这个远端朋友包含到更新包内。群内其它网关节点收到更新消息,将这个已找到的群记录下来,以后不会再找相同的群作为自己的朋友群,以使得网关节点总是拥有不同的朋友群。
步骤3,业务数据发送。
(3a)当有业务产生时,先查找DSDV路由表以确定是否目的节点就在群内,若在群内可以由DSDV路由表获得路径直接发送。若不是,查找路径缓存表,若能获得路径则直接发送;
(3b)若未能找到路径,在DSDV路由表中查找到达各网关节点的路径,用组播方式发送一个包含所请求目的节点地址和查询深度的信息给网关节点。每个网关节点收到该信息后,将在所拥有的远端朋友节点中任意选择一个并向其发送路由查询包。设一个群内有m个网关节点,每个网关节点有n个朋友,m个节点中的每一个都会在n个朋友中任选一个朋友来发送,此时将会有m个请求信息并行的发出进行并行查询;
步骤4,协同传输进行路径查找。
参照图3,协同传输进行路径查找的步骤如下:
(4a)进行查找时,待发送节点随机选择几个一跳邻节点邀请其协同,同意参加协同的节点将协同发送信息,该信息内包含小世界路径上几跳之内节点地址;
(4b)协同传输获得更长的传输路径,使得路径上几跳之内的节点都能收到信息,其它非路径上的节点也能偷听到该信息。凡收到信息的节点查找请求目的地址的路径是否在自己的群内,若找到时将自己的地址附在上一跳发送节点后,并截断源路由,立即返回找到的路径。没有搜寻到目的节点路径的非路径上的节点不再转发包,简单的将其丢弃,避免了网络中的泛洪广播;
(4c)在路径上收到信息的节点若没有找到目的地址的路径,则启动与距发送节点跳数成反比的定时,定时时间为2-i×k,其中i是距离发送节点的跳数,k是根据网络情况,发送功率选择的一个常量。定时到后即发送ACK信息,而距离发送节点较近的节点由于收到较远节点到ACK信息将不再发送。这样确保路径上正确收到包,且距发送节点跳数最多的节点最先回送ACK信息;
(4d)待发送节点收到ACK信息后,将待发送的含有请求目的地址和查询深度的包发给最先返回ACK信息的节点。发送过程为先进行一跳范围的发送,协同节点收到该信息后协同发送该请求目的地址和查询深度的信息,目的地址为最先返回ACK信息的节点。该节点收到信息后继续重复步骤4,直到找到目的节点或者到达远端朋友节点。
步骤5,到达朋友节点,继续查找过程。
当到达朋友节点时仍然没有找到目的节点,朋友节点先判断查询深度,如果查询深度大于零,则将查询深度减1,并选择自己的另外一个朋友节点,重复步骤4继续向该重新选择的朋友进行查询。根据小世界理论,朋友节点再向自己的朋友进行查询,只要经过六次几乎总是能找到目的节点。如果查询深度等于零,则丢弃包,这个朋友未能帮助查找到目的节点。当所有的朋友都未能帮助查找到目的节点时,源节点按照网络业务的要求,若允许丢掉该包,则选择放弃查找,报告丢包,若不允许丢掉该包,则加大查询深度继续查找。
步骤6,找到路径,返回给源节点。
(6a)找到路径后,获得路径的节点将从自己到目的节点的路径附在从源节点到自己的路径后,并按原路径返回,原路径即作为返回路径;
(6b)待发送节点随机选择几个一跳邻节点邀请其协同,同意参加协同的节点将协同发送信息,该信息内包含返回路径上几跳之内节点地址;
(6c)协同传输获得更长的传输路径,使得路径上几跳之内的节点都能收到信息,收到信息的节点启动与距发送节点跳数成反比的定时,定时时间为2-i×k,其中i是距离发送节点的跳数,k是根据网络情况,发送功率选择的一个常量,定时到后即发送ACK信息,而距离发送节点较近的节点由于收到较远节点到ACK信息将不再发送。这样确保路径上正确收到包的距发送节点跳数最多的节点最先回送ACK信息;
(6d)待发送节点收到ACK信息后,将找到的到目的节点路径的信息发给最先返回ACK信息的节点,直到该信息最后到达发起寻路过程的源节点。
(6e)返回路径的过程中凡听到返回信息的节点,将听到的路径信息与自己缓存表中的条目进行比较。若缓存表条目未达到条目数上限则缓存该路径信息,若已经达到上限则删除缓存表中超时的条目,并记录最新偷听到达路径信息。若所有条目都未超时则删掉含有节点数最少的路径,记录最新偷听到的路径信息。这样建立和更新的缓存表可以使得直接获得目的节点路由的概率增加。
步骤7,路由维护过程。
(7a)进行朋友关系维护时若发现路由失效,则下一跳节点不可达,这时将在局部先展开维护过程。该维护过程为:失效处的节点将需要送达的下一跳节点地址告诉可达的一跳邻节点,收到信息的邻节点如果有到达该需要送达的下一跳节点的路径则将信息发送给该需要送达的下一跳节点。收到信息后,该下一跳邻节点与失效处节点重新建立联系,并将其之间通过的节点增加到路径中,即路由恢复完成。
(7b)在路由恢复的过程中,寻路过程由于采用协同传输方式,可以获得更长的路径,所以很大概率上失效节点与需要送达的下一跳节点仍能相互通信,协同传输使得路由的鲁棒性增加。参照图4,如果传输时初始路径中A到H失效,但是A仍然可以通过A,F,L,P的路径将包送达目的节点,协同传输可以避免小范围路由失效的影响。
(7c)如果局部恢复失败,则重复步骤2,由源节点重新发起寻找远端朋友的过程。
参照图5,本发明在寻路和业务发送过程中采用的协同传输方式可以有效的优化路径,降低时延。在图5中,采用该方式前路径为A,B,C,D,E,F,G,H,由于协同传输使得一跳可达到距离增大,改善后的路径为A可直接发送业务到H,缩短了路由的跳数,降低了时延。
术语解释
ZRP:Zone Routing Protocol,区域路由协议;
MANET:Mobile Ad hoc network,移动自组织网络;
DSDV:Destination-Sequenced Distance-Vector,目的节点序列距离矢量协议;
ACK:ACKnowledge Character,确认字符。