空中自组织网络定向路由方法

文档序号:7552926阅读:124来源:国知局
专利名称:空中自组织网络定向路由方法
技术领域
本发明涉及无线通信技术领域,具体的说是一种空中自组织网络定向路由方法,可用于空中自组织网络。
背景技术
在空中无线自组织网络中,要解决路由的问题,通常有主动式,被动式和地理位置信息辅助式等几种路由策略,其中地理位置信息辅助式路由策略由于利用网络中节点的地理位置信息来寻找路由,路由跳数少,时延低,而且开销相对较小,极大地提高了路由寻找的效率,因而被广泛使用。随着卫星定位技术的发展,节点要想获得自己或网内其它节点的地理位置信息已经越来越容易,但在某些特殊应用领域,对通信的安全性要求很高,在这种情况下,提供定位功能的卫星一旦被干扰或者破坏,其代价往往是无法承受的。而网络中的节点通过周期性发送hello包进行信息交互的方式,收集并维护网络中所有节点的地理位置信息,虽然与卫星定位方式相比要耗费更多的网络资源,但这种方式无疑具有更高的抗毁性,在某些特殊应用领域,有重要的实用意义。传统的自组织网络路由协议,往往采用全向路由,这在节点数较少时可以尽量降低丢包率。但对于节点数较多,节点密度大的自组织网络,全向路由消耗了更多系统资源,且路由路径迂回,效率低下,相对而言,定向路由可以获得更优的路由路径,具有更高的效率。空中自组织网络中,节点间的平均距离以及节点的单跳通信距离往往较长。对于节点移动速度很高的空中自组织网络,节点之间的连接关系变化迅速,有时前一跳节点通过计算位置信息选出了单跳通信距离内的下一跳节点,并向下一跳节点发出数据包,但由于节点间的距离较长,数据包要达到下一跳节点需要经历一个较大的传播时延,而当节点移动速度很大时,在这个传播时延内下一跳节点很有可能已经移动到了前一跳节点的单跳通信距离之外,导致数据包不可达而丢包。另外,由于维护位置信息的hello包是周期性发送的,因而前一跳节点对下一跳节点当前所在位置的判断也存在误差,加大了数据包不可达情况出现的概率。

发明内容
本发明的目的是针对传统空中自组织网络路由方法的不足,提出了一种空中自组织网络定向路由方法,以获得更优的路由路径,降低链路中断率,优先保证高优先级分组的低时延要求,同时提高网络的通过量,从而更好地适应空中自组织网络的路由需求。实现本发明的技术方案是:所有节点通过周期性收发hello包获得其它节点的位置信息;采用定向路由的方式获得更优的路由路径;选择下一跳节点时引入单跳通信距离回退机制,降低链路中断率;通过对低优先级的数据包延迟更长时间后发送,优先保证了高优先级分组的低时延要求;使用具有同时接收多个数据包能力的MAC层提高网络的通过量,从而更好地适应空中自组织网络的路由需求。具体步骤包括如下:实现本发明目的的技术方案包括如下步骤:(I)所有节点周期性地广播包含本节点的IP、地理位置信息以及包序号的hello
包,同时接收并以概率= 转发来自其它节点的hello包,网络中的每个节点ζ以收到
P
的来自所有其它节点的hello包为依据,获得全网所有节点的位置信息,建立并维护本节点的节点位置信息表,其中P为节点密度,k为MAC层最多能同时接收的包的数目,α为可调参数,其值根据网络节点密度P和网络平均业务到达率λ动态调整,P和λ越大,α越小;(2)当前节点u根据节点位置信息表选出下一跳节点η:(2a)当前节点u在有数据包G需要发送到目的节点d时,首先引入单跳通信距离回退机制,计算出回退后的单跳通信距离D' = D-2vT,其中D为网络中所有节点的单跳通信距离,V为当前节点u的移动速度,T为所有节点发送hello包的周期,然后再从自己的节点位置信息表中找出与自己距离小于D,的所有节点,并将这些节点加入到自己的下一跳节点的一级备选集合M中;(2b)当前节点u将自己到目的节点d的连线方向记为方向Γ,并遍历自己的一级备选集合M = Im1, m2,…,mv}中的所有节点m」,I彡j彡v, v为M中的节点数目,依次计算出M中的每个节点1 到自己的连线方向与方向Γ之间的夹角Θ,将所有使夹角Θ小于60°的节点mj加入到自己的下一跳节点的二级备选集合N ;
·
(2c)若二级备选集合N为空,则当前节点u丢弃数据包G,否则,当前节点u遍历二级备选集合N = In1, n2,…,nq}中的所有节点ng, I彡g彡q, q为N中的节点数目,依次计算出二级备选集合N中每个节点ng在当前节点u至目的节点d的连线方向Γ上的投影距离,将投影距离最长的节点ng选为当前节点u的下一跳节点η ;(3)当前节点u根据数据包G的优先级i的大小,将其延迟不同时间后插入到发信机缓存队列的不同位置,其中i e {O, I,…,1},I为网络中数据包的最高优先级;(4)当前节点U检测当前的发信机是否空闲,若发信机空闲,则取出发信机缓存队列中队首位置的包,交由发信机发出,否则,退避0.5t时间后再次执行步骤(4),其中t为数据包的传输时延;(5)当数据包G到达下一跳节点η后,下一跳节点η判断在接收数据包G的过程中,是否存在某个时刻有其它k个或k个以上的包也正在接收,若是,则下一跳节点η无法正确接收数据包G,执行步骤(6),否则,下一跳节点η可以正确接收数据包G,执行步骤(7);(6)下一跳节点η按照该类型数据包的业务要求,若允许丢掉数据包G,则丢弃该包,若不允许丢掉数据包G,则调用重传机制重传该数据包;(7)下一跳节点η判断自己是不是数据包G的目的节点d,若是,则本次路由成功结束,否则,下一跳节点η成为当前节点U,返回步骤(2)。本发明与现有技术相比,具有如下优点:I)网内节点通过周期性收发hello包获取地理位置信息,不依赖定位卫星,抗毁性强,从而提高了网络的安全性,同时hello包的转发概率与网络节点密度以及MAC层的多包接收能力相关联,可以在保证hello包的扩散效果的前提下尽量减小开销。
2)本发明在选择下一跳节点时,引入了单跳通信距离回退机制,很好地解决了由于节点移动速度高、hello包更新位置信息不及时、传播时延大等问题引起的数据包在传输过程中下一跳节点移动到前一跳节点的单跳通信距离之外的情况,从而极大地提高了链路的可靠性,降低了丢包率。3)本发明采用定向夹角小于60°的定向路由机制,与传统的全向路由相比,消耗的系统资源更少,且避免选择到迂回的路由路径,因而具有更高的效率,端到端时延更低。4)本发明通过对低优先级的数据包延迟更长时间后发送,优先保证了高优先级分组的低时延要求,同时还为最高优先级的数据包提供了插队机制,以保证最高优先级的数据包能随时到达随时发送,这对于保证某些具有极低时延要求的特殊业务具有重要意义,同时又避免了低优先级包一直被高优先级包阻断而没有机会发出的情况。5)本发明采用了具有同时接收多个数据包能力的MAC层,降低了无线通信环境下MAC层数据包间的碰撞对 丢包率的限制,从而提高了网络的通过量。


图1是本发明的整体流程图;图2是本发明中当前节点u选择下一跳节点η的子流程图;图3是本发明中当前节点u根据数据包的优先级将其插入发信机队列的子流程图;图4是本发明中下一跳节点η判断数据包是否接收成功的子流程图。
具体实施例方式参照图1,本发明的具体实现步骤如下:步骤1,每个节点获得全网所有节点的位置信息,建立并维护本节点的节点位置信息表。(Ia)所有节点周期性的广播包含本节点的IP、地理位置信息以及包序号的hello
包,同时接收并以概率P = .—转发来自其它节点的hello包,其中P为节点密度,k为MAC
P
层最多能同时接收的包的数目,α为可调参数,其值根据网络节点密度P和网络平均业务到达率λ动态调整,P和λ越大,α越小;(Ib)每个节点ζ收到其它节点发来的hello包后,首先查找缓存中存储的最近一段时间接收过的hello包的节点IP和包序号信息,若新接收到的hello包中包含的节点IP和包序号信息能在缓存中查到,则直接丢弃该hello包,否则,执行步骤(Ic);(Ic)每个节点ζ查找自己的节点位置信息表中是否有hello包中包含的节点IP所对应的表项S,若有,执行步骤(ld),否则,执行步骤(Ie);(Id)每个节点ζ将表项S中的节点位置信息更新为hello包中包含的位置信息;(Ie)每个节点ζ新建一条表项,将hello包中包含的节点IP和位置信息填入该表项,再将该表项插入到每个节点ζ的节点位置信息表。步骤2,当前节点u根据节点位置信息表找出下一跳节点η。参照图2,本步骤的具体实现如下:
(2a)当前节点u在有数据包G需要发送到目的节点d时,首先引入单跳通信距离回退机制,计算出回退后的单跳通信距离D' = D-2vT,其中D为网络中所有节点的单跳通信距离,V为当前节点u的移动速度,T为所有节点发送hello包的周期,然后再从自己的节点位置信息表中找出与自己距离小于D,的所有节点,并将这些节点加入到自己的下一跳节点的一级备选集合M中,由于引入了单跳通信距离回退机制,解决了由于节点移动速度高、hello包更新位置信息不及时、传播时延大等问题引起的数据包在传输过程中下一跳节点移动到前一跳节点单跳通信距离之外的情况,从而提高了链路的可靠性;(2b)当前节点U将自己到目的节点d的连线方向记为方向Γ,并遍历自己的一级备选集合M = Im1, m2,…,mv}中的所有节点m」,I彡j彡v, v为M中的节点数目,依次计算出M中的每个节点mj到自己的连线方向与方向Γ之间的夹角Θ,将所有使夹角Θ小于60°的节点Hij加入到自己的下一跳节点的二级备选集合N,由于采用了定向夹角小于60°的定向路由机制,与传统的全向路由机制相比,消耗的系统资源更少,且避免选择到迂回的路由路径,因而端到端时延更低;(2c)若二级备选集合N为空,则当前节点u丢弃数据包G,否则,当前节点u遍历二级备选集合N = In1, n2,…,nq}中的所有节点ng, I彡g彡q, q为N中的节点数目,依次计算出二级备选集合N中每个节点ng在当前节点u至目的节点d的连线方向Γ上的投影距离,将投影距离最长的节点ng选为当前节点u的下一跳节点η。步骤3,当前节点u根据数据包G的优先级i的大小,将其延迟不同时间后插入到发信机缓存队列的不同位置,其中i e {O, I,…,1},I为网络中数据包的最高优先级。参照图3,本步骤的具体实现如下:(3a)当前节点u判断出数据包G的优先级i的大小,然后延迟t.(l_i)时间后执行步骤(3b),其中i e {O, I,…,1},I为网络中数据包的最高优先级,t为数据包的传输时延,可以看出,数据包G的优先级i越大,数据包G被延迟发送的时间t.(Ι-1)越小,这样便优先保证了高优先级分组的低时延要求;

(3b)如果i = 1,则当前节点u将数据包G插入到自己的发信机缓存队列中从队首位置往后数第一个优先级不为I的数据包之后,否则,i < 1,当前节点u将数据包G直接插入到自己的发信机缓存队列的队尾,这样便为优先级为I的最高优先级数据包提供了插队机制,同时最高优先级的数据包被延迟的时间为t.(1-1) = t.(1-1) = 0,保证了最高优先级的数据包能随时到达随时发送。步骤4,数据包交由发信机发出。当前节点u检测当前的发信机是否空闲,若发信机空闲,则取出发信机缓存队列中队首位置的包,交由发信机发出,否则,退避0.5t时间后再次执行步骤4,其中t为数据包的传输时延。步骤5,在数据包G到达下一跳节点η后,判断下一跳节点η在接收数据包G的过程中是否存在某个时刻有其它k个或k个以上的包也正在接收。参照图4,本步骤的具体实现如下:(5a)下一跳节点η从收信机缓存中查找最近一段时间接收到的其它每个包的开始接收时刻h和结束接收时刻t2 ;(5b)以数据包G的开始接收时刻 和结束接收时刻 力参照,依次判断步骤(5a)中的每一个包的ti时刻和t2时刻,将时刻值落在时间区间[t <]之内的所有时刻和t2时刻加入到待判定时刻队列Q ;(5c)依次判断待判定时刻队列Q中的所有时刻值,如果在Q中的所有时刻值上,下一跳节点η都没有其它k个或k个以上的包正在接收,则判定下一跳节点η在接收该包的过程中不存在某个时刻有其它k个或k个以上的包正在接收,否则,判定下一跳节点η在接收该包的过程中存在某个时刻有其它k个或k个以上的包正在接收。(5d)若下一跳节点η在接收该包的过程中存在某个时刻有其它k个或k个以上的包也正在接收,则下一跳节点η无法正确接收数据包G,执行步骤6,否则,下一跳节点η可以正确接收数据包G,执行步骤7。步骤6,按照该类型数据包的业务要求,对接收失败的数据包进行处理。下一跳节点η按照该类型数据包的业务要求,若允许丢掉数据包G,则丢弃该包,若不允许丢掉数据包G,则调用重传机制重传该数据包。步骤7,根据当前节点u是否是数据包G本次路由的目的节点d,作如下处理:若当前节点u是本次路由的目的节点d,则本次路由成功结束;否则,下一跳节点η成为当前节点U,返回步骤2。以上描述仅是本发明的一个具体实例,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
权利要求
1.一种空中自组织网络定向路由方法,包括: (1)所有节点周期性地广播包含本节点的IP、地理位置信息以及包序号的hello包,同时接收并以概率
2.根据权利要求1所述的路由方法,其中步骤(I)所述的网络中的每个节点ζ以收到的来自所有其它节点的hello包为依据,获得全网所有节点的位置信息,建立并维护本节点的节点位置信息表,按如下步骤进行: (Ia)每个节点ζ收到其它节点发来的hello包后, 首先查找缓存中存储的最近一段时间接收过的hello包的节点IP和包序号信息,若新接收到的hello包中包含的节点IP和包序号信息能在缓存中查到,则直接丢弃该hello包,否则,执行步骤(lb); (Ib)每个节点ζ查找自己的节点位置信息表中是否有hello包中包含的节点IP所对应的表项S,若有,执行步骤(Ic ),否则,执行步骤(Id); (Ic)每个节点ζ将表项S中的节点位置信息更新为hello包中包含的位置信息; (Id)每个节点ζ新建一条表项,将hello包中包含的节点IP和位置信息填入该表项,再将该表项插入到每个节点ζ的节点位置信息表。
3.根据权利要求1所述的路由方法,其中步骤(3)所述的当前节点u根据数据包G的优先级i的大小,将其延迟不同时间后插入到发信机缓存队列的不同位置,按如下步骤进行:(3a)当前节点u判断出数据包G的优先级i的大小,然后延迟f(l-1)时间后执行步骤(3b),其中i e {O, I,…,1},I为网络中数据包的最高优先级,t为数据包的传输时延;(3b)如果i = 1,则当前节点u将数据包G插入到自己的发信机缓存队列中从队首位置往后数第一个优先级不为I的数据包之后,否则,i < 1,当前节点u将数据包G直接插入到自己的发信机缓存队列的队尾。
4.根据权利要求1所述的路由方法,其中步骤(5)所述的判断在接收数据包G的过程中,是否存在某个时刻有其它k个或k个以上的包也正在接收,按如下步骤进行: (5a)下一跳节点η从收信机缓存中查找最近一段时间接收到的其它每个包的开始接收时刻A和结束接收时刻t2 ; (5b)以数据包G的开始接收时刻^和结 束接收时刻^为参照,依次判断步骤(5a)中的每一个包的h时刻和t2时刻,将时刻值落在时间区间[/;\ /]之内的所有h时刻和t2时刻加入到待判定时刻队列Q ; (5c)依次判断待判定时刻队列Q中的所有时刻值,如果在Q中的所有时刻值上,下一跳节点η都没有其它k个或k个以上的包正在接收,则判定下一跳节点η在接收该包的过程中,不存在某个时刻有其它k个或k个以上的包正在接收,否则,判定下一跳节点η在接收该包的过程中,存在某个时刻有其它k个或k个以上的包正在接收。
全文摘要
本发明公开了一种空中自组织网络定向路由方法,主要解决空中自组织网络路由方法中抗毁性差、路由迂回、链路可靠性差、无高优先级业务服务质量保证和网络通过量低的问题。其实现过程为所有节点通过收发hello包获得所有其它节点的位置信息;数据包到达时,当前节点根据单跳通信距离回退机制和定向路由策略找出下一跳节点,并根据优先级将该包延迟不同时间后插入发信机队列,之后将包发出;若下一跳节点在接收该包过程中没有超过MAC层的多包接收能力,则该包接收成功;若本节点不是目的节点,则将本节点作为当前节点,重复上述过程,直至到达目的节点。本发明改善了空中自组织网络的路由性能,可用于空中自组织网络的路由过程。
文档编号H04W40/02GK103200639SQ20131006671
公开日2013年7月10日 申请日期2013年3月3日 优先权日2013年3月3日
发明者盛敏, 任生凯, 张琰, 楚建祥, 周笛, 李建东, 李红艳, 王玺钧, 杨春刚, 薛涛, 高继东, 姜海龙, 周春月 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1