一种基于备用路径的泛洪路由方法技术

技术编号:22534791 阅读:75 留言:0更新日期:2019-11-13 10:59
本发明专利技术公开了一种基于备用路径的泛洪路由方法,包括步骤:源节点每次发送数据包之前,发送一个Go包;中继节点和目的节点均存储一个到达该节点Go包的优先队列;目的节点把最快到达的Go包的上一跳节点标记为最快到达节点,返回一个Back包回应源节点;根据Go包估计waitingTime;目的节点经过waitingTime后,如果没有收到真实数据包,目的节点判断优先队列内是否有备用的次快到达节点,并将已被使用的最快到达节点弹出优先队列;源节点如果收到Back包,就根据最短路径发送真实数据包。本发明专利技术能有效的降低网络的能量消耗,提高整个网络的生存时间,并且能够有效地避免路由空洞问题,提高数据包投递率,避免传统泛洪路由算法导致的消息“内爆”和“重叠”现象。

A flood routing method based on backup path

The invention discloses a flood routing method based on the backup path, which comprises the following steps: each time the source node sends a go packet before sending a data packet; the relay node and the destination node store a priority queue to reach the node go packet; the destination node marks the last hop node of the fastest arriving go packet as the fastest arriving node and returns a back packet to respond to the source node; according to the go The packet estimation waitingTime; after the destination node passes waitingTime, if it does not receive the real packet, the destination node determines whether there is a standby sub fast arrival node in the priority queue, and pops up the priority queue for the used fastest arrival node; if the source node receives the back packet, it sends the real packet according to the shortest path. The invention can effectively reduce the energy consumption of the network, improve the life time of the whole network, effectively avoid the problem of routing holes, improve the packet delivery rate, and avoid the phenomenon of \Implosion\ and \overlap\ of messages caused by the traditional flooding routing algorithm.

【技术实现步骤摘要】
一种基于备用路径的泛洪路由方法
本专利技术涉及水声通信领域,尤其涉及一种基于备用路径的泛洪路由方法。
技术介绍
传统的泛洪路由算法应用到水声网络时,源节点发送数据包后,网络拓扑上每个能接收到数据包的节点都要进行转发,这使得每发一个数据包,水声网络中就会产生“内爆”现象,即充斥着大量的无用数据包。到达目的节点的数据包也会产生“重叠”现象,即多个中继节点转发同一个数据包到目的节点。这势必造成这个网络资源的大量消耗和大量的信号干扰噪声,降低了信号与干扰和噪声比(SignaltoInterferenceplusNoiseRatio,SINR),容易造成丢包的情况。从水下传感器网络路由协议的角度来看,存在的通信空洞问题可能是最具挑战性的问题。造成空洞的原因有许多,如稀疏的拓扑结构、暂时的障碍物以及不可靠的节点,路由空洞会显著降低网络的性能。由于操作环境的动态性,何时何地可能发生空洞是不可预测的,因此空洞问题更具挑战性。泛洪路由是一种简单易行的传统路由协议。泛洪路由能克服水下路由的空洞问题,然而消息的“内爆”和“重叠”将导致其干扰功率大且能量消耗大。为了克服这些缺陷,有必要对其进行改进以适用于水下复杂环境,水下节点移动性较高导致网络拓扑高动态、网络拓扑强不可靠以及水下硬件设备存储、能量等资源有限的特殊场景。传统的AdHoc无线网络中的典型按需路由动态源路由协议(DynamicSourceRouting,DSR)和无线自组网按需平面距离向量路由协议(AdhocOn-DemandDistanceVectorRouting,AODV)使用了路由保持机制,水下硬件节点存储的数据量将随着网络拓扑复杂度、网络负载的升高而升高,由于水下节点本身的特殊性,容易出现存储、能量资源被耗尽的情况,从而增加了出现路由空洞的概率,降低了网络的生存周期。DSR路由协议在检测到无效路径时需要通过泛洪发送错误信息到源节点来通知源节点删除相应的无效路径,额外增加了网络的资源消耗。DSR路由需要存储源节点到目的节点的动态不定长度的完整有序路由信息,并将这个不定长度的完整有序路由信息加到真实的数据包包头发送,如果网络拓扑比较复杂,那么这个不定长度的完整有序路由信息(包头)将会占用数据包中大量有效数据的存储空间。导致真正可发送的真实数据存储空间被压缩,协议传输的效率显著降低。AODV路由的中继节点只记录首次发送寻路请求的邻接节点信息,后面到达的相同寻路请求直接删除。这对于水下复杂的环境、节点移动性较高导致的网络拓扑高动态性、网络拓扑强不可靠性来说,容易造成保存的首次到达路径信息由于节点移动、节点能量耗尽、通信信道受阻等等原因而失效,从而导致路由空洞问题,重新建路的过程又将增加网络负载和能量消耗。所以,AODV路由只适用于对称链接的网络。因此,针对以上调查所得到的目前现有无线路由协议存在的缺陷,为了能够更有效地将简单易行的传统泛洪路由应用于水声通信网络中,很有必要设计一种既能有效避免泛洪路由带来的消息“内爆”和“重叠”现象,也能有效的降低网络的能量消耗,提高整个网络的生存时间,最后还能有效的避免路由空洞问题的水下通信网络路由算法。
技术实现思路
本专利技术的目的在于提供一种基于备用路径的泛洪路由方法。本专利技术能够有效避免泛洪路由带来的消息“内爆”和“重叠”现象,同时能够有效地降低水声网络的能量消耗,提高整个网络的生存时间,并且能够有效地避免路由空洞问题的水下通信网络路由方法。本专利技术的目的通过以下技术方案实现:一种基于备用路径的泛洪路由方法,包括步骤:源节点每次发送真实数据包之前,发送一个Go寻路数据包;中继节点和目的节点均存储一个到达该节点的Go寻路数据包的优先队列;目的节点把最快到达的Go寻路数据包的上一跳节点标记为最快到达节点,并返回一个同样小的Back寻路数据包回应源节点;并且根据Go寻路数据包中估计接收真实数据包所需要的时间waitingTime(目的节点等待时间);Back寻路数据包在传递到源节点过程中,源节点和中继节点均会存储一个到达该节点的Back寻路数据包的优先队列;目的节点经过waitingTime后,如果没有收到真实数据包,目的节点判断优先队列内是否有备用的次快到达节点,并将已被使用的最快到达节点弹出优先队列;源节点如果收到Back寻路数据包,就根据最短路径发送真实数据包,中继节点接收到真实数据包后,首先判断自己是否为最快到达节点,只有最快到达节点才有资格转发真实数据包。在本专利技术中,寻路过程结束后,节点中存储了两个优先队列,一个是Go寻路数据包的优先队列,用于目的节点和中继节点发送或转发Back寻路数据时填充最快达到节点字段;另一个是Back寻路数据包的优先队列,用于源节点和中继节点发送或转发真实数据包时填充帧头最快到达节点字段;最快到达节点字段的作用是给接收的中继节点判断自己是否为最快达到节点,只有是最快到达节点才有转发资格。具体地,所述中继节点和目的节点的Go寻路数据包的优先队列的大小以及中继节点和源节点的Back寻路数据包的优先队列的大小,均根据水下环境的状态预先设置:如果水下环境恶劣、水流湍急,水下节点移动性较强,前期寻路数据包建立的路径具有较大概率无法使用,此时则需要增大优先队列的长度;反之减小优先队列的长度。具体地,源节点和中继节点存储Back寻路数据包优先队列过程,与中继节点和目的节点均存储一个到达该节点的Go寻路数据包优先队列过程相似,先达到的优先级高,在优先队列越靠前。Back寻路数据包和Go寻路数据包的转发过程主要区别在于,中继节点要判断是否有转发Back寻路数据包的资格,而Go寻路数据包是泛洪的,都会转发。具体地,在使用备用次快到达节点发送Back寻路数据包时,如果目的节点收到真实数据包,则停止等待接收真实数据包的状态。具体地,设定传感器节点的系统时间是同步(误差在1s内)的,waitingTime计算公式:Twait=TBack+Treal_pkt+Tbias其中,TBack表示Back寻路数据包从目的节点发包到源节点最快收包时间,可认为与Go寻路数据包从发包到收包总时间TGo是相等的;Treal_pkt表示真实数据包从源节点发包到目的节点最快收包的时间,Tbias表示一个取值为正值的偏置,为了允许一定的延时增量和时间误差而设定的。TBack的计算方法为:根据目的节点收到最快到达Go寻路数据包的时间和包结构中携带的源发送时间,作差计算得Go寻路数据包从发包到收包总时间TGo,即得到TBack。Treal_pkt的计算公式为:Treal_pkt=Tp+Tsend_real其中,Tp为水下传播时延,Tsend_real为真实数据包的发送时延。由于最快到达目的节点的Go寻路数据包和最快到达源节点的Back寻路数据包,与真实数据包的经过节点序列是一样的(只是Back寻路数据包方向相反),因此认为传播时延Tp是相等的。Tp计算公式为:Tp=TGo-Tsend_Go其中,Tsend_Go为Go寻路数据包的发送时延,利用Go寻路数据包携带的TTL值可以知道Go寻路数据包转发的次数n,将Go寻路数据包的长度除以发送速率再乘以n得到Tsend_Go;通过将真实数据包的长度值除以发送速率得到Tsend_real。具体地,所述目的节本文档来自技高网
...

【技术保护点】
1.一种基于备用路径的泛洪路由方法,其特征在于,包括步骤:源节点每次发送真实数据包之前,发送一个Go寻路数据包;中继节点和目的节点均存储一个到达该节点的Go寻路数据包的优先队列;目的节点把最快到达的Go寻路数据包的上一跳节点标记为最快到达节点,并返回一个Back寻路数据包回应源节点;并且根据Go寻路数据包中估计接收真实数据包所需要的时间waitingTime;Back寻路数据包在传递到源节点过程中,源节点和中继节点均会存储一个到达该节点的Back寻路数据包的优先队列;目的节点经过waitingTime后,如果没有收到真实数据包,目的节点判断优先队列内是否有备用的次快到达节点,并将已被使用的最快到达节点弹出优先队列;源节点如果收到Back寻路数据包,就根据最短路径发送真实数据包,中继节点接收到真实数据包后,首先判断自己是否为最快到达节点,只有最快到达节点才有资格转发真实数据包。

【技术特征摘要】
1.一种基于备用路径的泛洪路由方法,其特征在于,包括步骤:源节点每次发送真实数据包之前,发送一个Go寻路数据包;中继节点和目的节点均存储一个到达该节点的Go寻路数据包的优先队列;目的节点把最快到达的Go寻路数据包的上一跳节点标记为最快到达节点,并返回一个Back寻路数据包回应源节点;并且根据Go寻路数据包中估计接收真实数据包所需要的时间waitingTime;Back寻路数据包在传递到源节点过程中,源节点和中继节点均会存储一个到达该节点的Back寻路数据包的优先队列;目的节点经过waitingTime后,如果没有收到真实数据包,目的节点判断优先队列内是否有备用的次快到达节点,并将已被使用的最快到达节点弹出优先队列;源节点如果收到Back寻路数据包,就根据最短路径发送真实数据包,中继节点接收到真实数据包后,首先判断自己是否为最快到达节点,只有最快到达节点才有资格转发真实数据包。2.根据权利要求1所述的一种基于备用路径的泛洪路由方法,其特征在于,所述中继节点和目的节点的Go寻路数据包的优先队列的大小以及中继节点和源节点的Back寻路数据包的优先队列的大小,均根据水下环境的状态预先设置:如果水下环境恶劣、水流湍急,水下节点移动性较强,前期寻路数据包建立的路径具有较大概率无法使用,此时则需要增大优先队列的长度;反之减小优先队列的长度。3.根据权利要求1所述的一种基于备用路径的泛洪路由方法,其特征在于,源节点和中继节点存储Back寻路数据包优先队列过程以及中继节点和目的节点存储Go寻路数据包优先队列过程中,先达到的优先级高,在优先队列越靠前。4.根据权利要求1所述的一种基于备用路径的泛洪路由方法,其特征在于,在使用备用次快到达节点发送Back数据包时,如果目的节点收到真实数据包,则停止等待接收真实数据包的状态。5.根据权利要求1所述的一种基于备用路径的泛洪路由方法,其特征在于,设定传感器节点的系统时间是同步的,waitingTime计算公式:Twait=TBack+Treal_pkt+Tbias其中,TBack表示Back寻路数据包从目的节点发包到源节点最快收包时间,与Go寻路数据包从发包到收包...

【专利技术属性】
技术研发人员:陈芳炯罗朝辉曾晓辉季飞余华宁更新
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

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

1