CN111416669B - 一种基于距离向量的水声传感器网络多浮标机会路由方法 - Google Patents
一种基于距离向量的水声传感器网络多浮标机会路由方法 Download PDFInfo
- Publication number
- CN111416669B CN111416669B CN202010166179.3A CN202010166179A CN111416669B CN 111416669 B CN111416669 B CN 111416669B CN 202010166179 A CN202010166179 A CN 202010166179A CN 111416669 B CN111416669 B CN 111416669B
- Authority
- CN
- China
- Prior art keywords
- node
- data packet
- water surface
- packet
- underwater
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B13/00—Transmission systems characterised by the medium used for transmission, not provided for in groups H04B3/00 - H04B11/00
- H04B13/02—Transmission systems in which the medium consists of the earth or a large mass of water thereon, e.g. earth telegraphy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明属于水声传感器网络领域,涉及一种基于距离向量的水声传感器网络多浮标机会路由方法,包括:S1、若干个水面浮标节点均向水下节点周期性广播查询包;S2、水下中继节点转发查询包,建立距离向量;S3、水下源节点接收查询包后,获取最小距离向量,以广播的方式发送数据包;S4、水下中继节点转发数据包;S5、重复S4步骤,直到任意水面浮标接收到数据包;S6、水面浮标节点接收到数据包以后,进行多水面浮标节点之间的协调,最终向汇聚节点传输数据包。本发明水下传输仅利用距离向量信息而不是节点的深度信息或者位置信息,能够很好地解决空白区域和“绕远路”问题,同时,适用于部署了多个水面浮标节点的水域。
Description
技术领域
本发明属于水声传感器网络领域,涉及一种基于距离向量的水声传感器网络多浮标机会路由方法。
背景技术
水声传感器网络是探索水域环境中十分重要的技术,已经有了非常广泛的应用,例如地震检测、油田开发、海洋观测和水下导航。在水声传感器网络中有一个控制和部署中心,用于收集各个水下传感器节点的数据信息,从而形成一个传感网络。因此,从水下传感器节点到水面浮标节点的路由机制设置和数据传输对水下应用来说是重要的辅助技术。
由于水下声学环境的独有特性,水声传感器网络面临许多挑战。水声信道会产生严重的信号衰弱,复杂的多径效应,这些影响会带来高误码率。另外,水声通信的带宽很窄,时延是电磁波通信五个数量级以上。这些特点也会使得传统陆面通信的路由协议不能直接应用到水下环境中,需要重新设计能够应对水声环境特点的有效路由和数据转发机制。
一些传统路由协议,通过路由表的建立形成了确定的数据转发路径,而机会路由使得符合转发要求的候选节点集内的节点均有转发的机会,因此可能存在多条路径到达目的节点,从而大大提高数据到达目的节点的传输机会。机会路由恰好也能利用水声信道的广播特性,尤其在水声信道环境不理想的情况下,水下节点有多条转发路径能到到达水面目的节点,提高了数据传输成功率。
现有的水声传感器网络机会路由方法常基于深度信息或者地理位置信息进行转发判断,一方面增加了设备的复杂性,另一方面无法避免空白区域问题。尽管已存在针对空白区域问题的一些解决措施,但信令交互开销增大,同时使用具有局限性。
发明内容
针对现有技术的不足,本发明提供一种基于距离向量的水声传感器网络多浮标机会路由方法。
本发明采用如下技术方案实现:
一种基于距离向量的水声传感器网络多浮标机会路由方法,包括:
S1、水面部署多个水面浮标节点,任意水面浮标节点均周期性向水下中继节点广播查询包,不同水面浮标节点发送的查询包ID号不同;
S2、水下中继节点根据接收到查询包内的信息判断是否接收该查询包,是否转发该查询包;具体地:水下中继节点本地缓存中记录了关于多个水面浮标节点的信息,由k个三维向量构成,用Su(t)表示,Su(t)={ns1,ns2,...,nsk},其中,nsi为三维向量(a,b,c),a代表水面浮标节点的ID号,b代表水面浮标节点a对应的最大查询包序号seq,c代表水下中继节点距离相应水面浮标节点的最小距离向量值;向量nsi表明水下中继节点能够与水面浮标节点a进行通信,最小距离向量为c;
水下中继节点收到查询包后,首先将接收到的查询包内的ID号与Su(t)内所有ID号进行比较,若Su(t)内没有相同的ID号,表明水下中继节点第一次接收该ID号的水面浮标节点发送的查询包,直接更新Su(t),添加一个三维向量,三维向量中ID号和seq号与查询包内ID号和seq号一致,距离向量为查询包内距离向量值加1;若已有相同的ID号,则判断查询包内的seq是否大于Su(t)内相同的ID号对应的seq号,若查询包内seq较大,则需要更新Su(t)中此ID号对应的距离向量值为查询包内距离向量值加1,且同时更新seq号为查询包内的seq号;若两者的seq号相同,则需要比较查询包内距离向量值加1与Su(t)中此ID号对应的距离向量值,取其中较小值覆盖Su(t)中此ID号对应的距离向量值;
只有Su(t)发生了更新的情况才会转发查询包,其他情况下,丢弃该查询包;若转发查询包,查询包内的ID号和seq号均不变,距离向量值为查询包内原始值加1;
S3、最终源节点收到查询包,源节点以广播的方式发送数据包;
S4、水下中继节点接收到数据包后,判断是否转发该数据包,且节点不是立即转发该数据包,而是设置一段等待时延,同时监听信道,若等待时延结束且在此期间未监听到有其他相同数据包的传输,则节点转发该数据包;
S5、重复S4步骤,直到任意一个水面浮标节点接收到数据包;
S6、水面浮标节点接收到数据包以后,进行多水面浮标节点之间的协调,最终向汇聚节点传输数据包。
优选地,步骤S1中,查询包内储存有水面浮标节点ID号、查询包序列号seq和距离向量信息,其中:水面浮标节点ID号是为水面浮标节点设置的固定编号,在转发过程中始终不变,不同水面浮标节点的ID号不同;任意水面浮标节点发送的第一个查询包的序列号为1,发送的第n个查询包序列号为n,序列号呈递增趋势,最新产生的查询包拥有最大的查询包序列号seq;距离向量表明查询包的发送端到该浮标节点的最小距离向量。
优选地,步骤S1中,不同水面浮标节点的查询包初始发送时间为一个设定区间范围内产生的随机数,发送周期也为在设定区间范围内产生的随机数。
优选地,步骤S3中,水下源节点发送数据包前,获取源节点本地Su(t)中最小的距离向量,添加至数据包包头中,同时,在数据包包头内添加GID号。
优选地,步骤S4中,水下中继节点本地缓存中记录了待转发和已转发的数据包GID号,若接收到的数据包的GID号,与本地缓存中已转发的GID号相同,则不转发该数据包直接丢弃;若接收到的数据包的GID号与本地缓存中待转发的GID号相同,且数据包内的距离向量值小于本地Su(t)中最小的距离向量,则不转发该数据包且同时删除待转发GID号,在已转发缓存中添加此GID号;只有该节点收到数据包的GID号与本地缓存中待转发和已转发的GID号都不相同,才可能转发此数据包,进一步判断水下中继节点是否属于候选节点集,是否有资格转发该数据包。
优选地,水下中继节点是否属于候选节点集的判断标准为:
其中:Si(t)代表水下节点可达水面浮标节点的集合,sv代表可达的多个水面浮标节点中的一个浮标节点,D(sv)为根据节点本地缓存的Su(t)中得到的到达水面浮标节点sv的最短距离向量,N代表数据包内储存的距离向量;只有水下中继节点可达的水面浮标节点集合中,存在至少一个水面浮标节点与该水下中继节点的距离向量小于数据包内的距离向量,该水下中继节点才属于候选节点集。
优选地,步骤S4中,若水下中继节点判断自己处于候选节点集内,则会设置等待时延t,等待时延t的计算公式为:
t=(int)rand(0,CW)*tslot*[Ni-np+2]+ (2)
其中:CW为退避窗口的大小;tslot为单位退避时间,其值等于传感节点之间最大通信距离除以声波在水中的传播速度;Ni表示节点的Su(t)内最小距离向量;np表示接收到的数据包中储存的关于上一跳中继节点的最小距离向量,运算符号[a]+代表a与0中取最大值;(int)rand(0,CW)表示取一个随机整数;
当等待时延t结束,水下中继节点以广播的方式转发更新距离向量后的数据包;若水下中继节点在等待期延内监听到其他水下中继节点有相同GID号的数据包传输,则停止等待,不再转发相同GID号的数据包。
优选地,步骤S6中,如果水面浮标节点本地缓存中已有相同GID的数据包,则水面浮标节点直接丢弃该数据包;若水面浮标节点通过水下链路接收到数据包且本地缓存中未记录过该数据包的GID号,则立即通过无线的方式继续广播数据包,数据包包头中再添加此水面浮标节点的地理位置信息;若水面浮标节点通过无线的方式接收到数据包且本地缓存中未记录过该数据包的GID号,则根据数据包中的地理位置信息判断是否具有转发资格,具有转发资格的水面浮标节点成功转发该数据包后,将数据包的GID添加到本地缓存中;不具有转发资格的水面浮标节点在本地缓存中添加此数据包的GID号,该水面浮标节点之后不需要再转发此GID号的数据包。
优选地,水面浮标节点是否具有转发资格的判断方法包括:
根据公式(3)判断Dpi是否为正,若Dpi为正,则表明水面浮标节点比上一跳水面浮标节点距离汇聚节点更近,水面浮标节点具有转发资格;
Dpi=D(Np,Ns)-D(Ni,Ns) (3)
其中:D(a,b)表示节点a与节点b之间的距离,Ni是需要进行判断的水面浮标节点,Ns是汇聚节点,Np是上一跳水面浮标节点。
优选地,水声传感器网络多浮标机会路由方法还包括:若某个水面浮标节点在一个周期内通过水下链路接收数据包的个数超过设定阈值,则此水面浮标节点在下一个周期发送的查询包中的距离向量的初始值设为1;没有超过阈值的水面浮标节点发送的查询包的距离向量的初始值依旧为0。
与现有技术相比,本发明具有如下优点和有益效果:
1、本发明能够较好地弥补水声信道特点带来的不利影响,采用距离向量信息衡量节点在候选节点集内的优先级,而不是深度信息,能够解决常规由于节点位置产生的空白区域问题和“绕远路”问题;同时,该路由方法适用于水面多浮标节点的使用情景,能够实现水下源节点以最短路径到达某个水面浮标节点,能够适用于更加广阔的海域。
2、本发明适用于声电协同合作的水声传感网络,在水声和无线链路中,都在最大努力寻找最短路径,探寻全网的最短路径。
3、本发明的水声传感网络机会路由方法,不需要辅助设备的支撑,能够用较少的信令交互,避免各类的空白区域问题,在各种场景下均能够实现成功传输。
附图说明
图1为本发明一个实施例中机会路由方法的所应用的一个具体网络结构示意图;
图2为本发明机会路由方法流程简图;
图3为本发明一个实施例中机会路由方法模拟示意图之一;
图4为本发明一个实施例中机会路由方法模拟示意图之二。
具体实施方式
下面结合实例以及附图对本发明作进一步更为详细的描述,但本发明的实施方式不限于此。
本发明的基于距离向量的水声传感器网络多浮标机会路由方法所应用的水声传感器网络如图1、2所示,共有三类传感节点:水面浮标节点、水下中继节点和水下源节点。整个方法包括建立距离向量过程和传输数据过程。
具体地,一种基于距离向量的水声传感器网络多浮标机会路由方法,包括:
S1、水面部署多个水面浮标节点,任意水面浮标节点均周期性向水下节点广播查询包,不同浮标节点发送的查询包ID号不同。
查询包内储存有浮标节点ID号、查询包序列号seq和距离向量信息。ID号是为浮标节点设置的固定编号,在转发过程中始终不变,不同浮标节点的ID号不同;任意浮标节点发送的第一个查询包的序列号为1,发送的第n个查询包序列号为n,序列号呈递增趋势,最新产生的查询包拥有最大的查询包序列号seq。距离向量在默认情况下初始值为0,表明查询包的发送端到该浮标节点的最小距离向量。
由于水面不同浮标节点应尽量避免在同一时刻发送查询包,因此查询包初始发送时间为一个设定区间范围内产生的随机数,发送周期也为在设定区间范围内产生的随机数。
S2、水下中继节点根据接收到查询包内的信息判断是否接收该查询包,是否转发该查询包。
每个水下中继节点本地缓存中记录了关于水面多个浮标节点的信息,由k个三维向量构成,用Su(t)表示,Su(t)={ns1,ns2,...,nsk},其中,nsi为三维向量(a,b,c),a代表水面浮标节点的ID号,b代表a浮标节点对应的最大查询包序号seq,c代表此水下中继节点距离相应浮标节点的最小距离向量值。因此,向量nsi表明此水下中继节点能够与水面浮标节点a进行通信,最小距离向量为c。
水下中继节点收到查询包后,首先将接收到的查询包内的ID号与Su(t)内所有ID号进行比较,若Su(t)内没有相同的ID号,表明节点第一次接收该ID号的水面浮标节点发送的查询包,直接更新Su(t),添加一个三维向量,ID号和seq号保持不变,距离向量为查询包内距离向量值加1;若已有相同的ID号,则判断查询包内的seq是否大于Su(t)内此ID号对应的seq号,若查询包内seq较大,则需要更新Su(t)中此ID号对应的距离向量值为查询包内距离向量值加1,且同时更新seq号为查询包内的seq号;若两者的seq号相同,则需要比较查询包内距离向量值加1与Su(t)中此ID号对应的距离向量值,取其中较小值覆盖Su(t)中此ID号对应的距离向量值。只有Su(t)发生了更新的情况才会转发查询包,其他情况下,丢弃该查询包。若转发查询包,查询包内的ID号和seq号均不变,距离向量值为查询包内原始值加1。
S3、最终源节点收到查询包,源节点以广播的方式发送数据包。
水下源节点发送数据包前,获取源节点Su(t)中最小的距离向量,添加至数据包包头中,表明数据包发送端到达不同浮标节点的距离向量中最小的距离向量,除此之外,数据包包头内还需要添加GID号(包括源节点ID号和数据包ID号),用于识别数据包,避免相同数据包的重复转发。
S4、水下中继节点接收到数据包后,判断是否转发该数据包,且节点不是立即转发数据包,而是设置一段等待时延,同时监听信道,若等待时延结束且在此期间未监听到有其他相同数据包的传输,则节点转发该数据包。
水下中继节点本地缓存中记录了待转发和已转发的数据包GID号,若接收到的数据包的GID号,与本地缓存中已转发的GID号相同,则不转发该数据包直接丢弃;若接收到的数据包的GID号与本地缓存中待转发的GID号相同,且数据包内的距离向量值小于本地Su(t)中最小的距离向量,则不转发该数据包且同时删除待转发GID号,在已转发缓存中添加此GID号;只有该节点收到数据包的GID号与本地缓存中待转发和已转发的GID号都不相同,才可能转发此数据包,进一步判断水下中继节点是否属于候选节点集,是否有资格转发该数据包。
水下中继节点候选节点集的判断标准为:
其中Si(t)代表水下节点可达水面浮标节点的集合,sv代表可达的多个水面浮标节点中的一个浮标节点,D(sv)为根据节点本地缓存的Su(t)中得到的到达水面浮标节点sv的最短距离向量,N代表数据包内储存的距离向量;只有水下中继节点可达的水面浮标节点集合中,存在至少一个水面浮标节点与该中继节点的距离向量小于数据包内的距离向量,该水下中继节点才属于候选节点集。
水下中继节点判断自己处于候选节点集内,将会设置等待时间t,等待时间t的计算公式为:
t=(int)rand(0,CW)*tslot*[Ni-np+2]+ (2)
其中:CW为退避窗口的大小;tslot为单位退避时间,其值等于传感节点之间最大通信距离除以声波在水中的传播速度;Ni表示节点的Su(t)内最小距离向量;np表示接收到的数据包中储存的关于上一跳中继节点的最小距离向量,运算符号[.]+代表.与0中取最大值;(int)rand(0,CW)表示取一个随机整数,与tslot单位退避时间的乘积,保证不同节点的等待时间是单位退避时间的整数倍。在随机值不同的情况下,节点的等待时间足够监听到通信范围内的其他节点的转发情况,避免相同数据包的重复转发。
当等待时间结束,水下中继节点以广播的方式转发更新距离向量后的数据包,更新的距离向量为该节点的Su(t)内到达任意水面浮标节点的最小距离向量。若中继节点在等待期间监听到其他中继节点有相同GID号的数据包传输,则停止等待,节点不再转发此GID号的数据包。
S5、重复S4步骤,直到水面多个浮标节点中任意一个浮标节点浮标接收到数据包。
多个水面浮标节点均已知自身的地理位置信息,且任意一个浮标节点均可通过水声链路和无线链路接收或者转发数据包。水面浮标节点无论通过水下链路接收到数据包还是通过无线的方式接收到的数据包,如果该节点本地缓存中已有相同GID的数据包,则节点直接丢弃该数据包;若该节点通过水下链路接收到数据包且本地缓存中未记录过该数据包的GID号,则立即通过无线的方式继续广播数据包,数据包包头中再添加此水面浮标节点的地理位置信息;若水面浮标节点通过无线的方式接收到的数据包且本地缓存中未记录过该数据包的GID号后,则根据数据包中的地理位置信息判断是否该浮标节点比数据包的上一跳节点距离汇聚节点更近,如果更近则该节点具有转发资格,直接转发,若节点成功转发该数据包后,将数据包的GID添加到本地缓存中。如果更远则在该节点本地缓存中添加此数据包的GID号,表明已经有距离汇聚节点更近的其他浮标节点转发了此数据包,该浮标节点之后不需要再转发此GID号的数据包。
水面浮标节点根据式(3)判断Dpi是否为正,Dpi为正表明该水面浮标节点比上一跳水面浮标节点距离汇聚节点更近,该水面浮标节点才具有转发资格。
Dpi=D(Np,Ns)-D(Ni,Ns) (3)
其中:D(a,b)表示节点a与节点b之间的距离,Ni是需要进行判断的水面浮标节点,Ns是汇聚节点,Np是上一跳水面浮标节点。
若某个水面浮标节点在一个周期内通过水下链路接收数据包的个数超过设定阈值,则此水面浮标节点在下一个周期发送的查询包中的距离向量的初始值设为1。没有超过阈值的水面浮标节点发送的查询包的距离向量的初始值依旧为0。
S6、浮标节点接收到数据包以后,均可以通过水面无线通信进行多浮标节点之间的协调,最终向汇聚节点传输数据包。
下面以一具体实例操作上述步骤:
S1、构建一个如图3所示的水声通信网络,水面部署了3个水面浮标节点D1、D2、D3,岸边部署了汇聚节点,水下部署了多个水下传感节点。
S2、水面浮标节点周期性发送查询包,查询包内储存有:浮标节点ID号、查询包序列号seq和距离向量信息,例如水面浮标节点D1在某时刻发送的查询包为(1,1,0),表明ID号为1的水面浮标节点此时发送的查询包序列号为1,距离向量为0;水面浮标节点D2在某时刻发送的查询包为(2,2,0),表明ID号为2的浮标节点此时发送的查询包序列号为2,距离向量为0。
S3、在某一时刻,水下传感节点E的Su(t)内记录的信息为(1,1,2),(3,1,3)表明水下传感节点E可达的有ID号为1、3的水面浮标节点,且对应的距离向量分别为2、3。在目前这个时刻,水下传感节点E到达水面的最小距离向量为2。若此时刻,E节点收到了信息为(2,1,1)的查询包,通过查询水下传感节点E的Su(t)内并没有储存水面浮标节点ID号为2的相关信息,因此直接在水下传感节点E的Su(t)内添加(2,1,2),并同时转发,转发的距离向量为查询包内距离向量值加1,即转发的查询包信息为(2,1,2)。若E节点收到了信息为(1,2,2)的查询包,经过查询水下传感节点E的Su(t)内已经储存水面浮标节点ID号为1的相关信息,通过比较查询包内Seq序号(2)与Su(t)内此ID号对应的Seq序号(1),发现查询包内Seq序号更大,说明此时的查询包承载更新的网络拓扑情况,需要更新Su(t)内相应的信息为(1,2,3),并转发查询包(1,2,3)。若E节点收到的查询包信息为(3,1,1),经过比较发现已有相同ID号和相同Seq序号,此时,由于查询包内距离向量加1为2,小于Su(t)内记录的3,因此也更新Su(t)内此条信息为(3,1,2),并转发查询包(3,1,2)。
S4、经过上述各水下传感节点查询包的转发过程,最终水下源节点S接收到查询包,同时图中N代表某次实验某个周期中,各水下传感节点到达各水面浮标节点距离向量中最小的距离向量。
S5、当S节点要发送数据包,假设数据包GID为121,数据包内记录的上一跳节点的距离向量为4,S将此数据包以广播的方式发送。
S6、假设A、B均能接收到S发送的数据包。首先,A、B节点通过数据包内GID号与本地缓存中的GID号进行比较,判断自身是否转发过该数据包或者已经收到且即将转发该数据包。若A、B节点未收到过S节点发送的数据包,则判断自己是否属于数据候选转发集内,判断方法为该节点可达的水面浮标节点集合中,是否存在距离向量小于数据包内的距离向量的水面浮标节点,只有存在,该节点才属于候选节点集。此时,A、B节点的最小距离向量为3,小于数据包中的上一跳节点距离向量4,A、B节点均属于候选节点集。因此,A、B节点设置等待时延。根据公式(2),A、B最小距离向量与数据包中上一跳节点距离向量的差值都为1,但由于退避窗口中随机选值不同,假设A节点生成的随机数较小,则A等待时延较短,优先发送。B在等待期间,监听到了A发送相同GID的数据包,取消此次发送。C节点在查询包阶段无法与S节点进行通信,但由于水声环境的多变性,C节点有可能此时能接收到S节点发送的数据。根据公式(2),距离向量差值为2以上,等待时延为0,因此C节点能够立即转发数据包。
S7、依照上述转发流程,直到水面浮标节点接收到数据。如图2虚线所示,数据包经过某条水下转发路径到达节点D2,D2未接收过此数据包,因此通过无线网络以广播的形式接着转发该数据包。D1通过无线接收到数据包,并经过距离判断,应该转发该数据包,同时,D3接收到D2的数据包,不转发该数据包,并也不再接收转发相同GID的数据包。
S8、如果网络拓扑情况如图4所示,数据包会一直沿着S、A、B、D2的路径转发。因此,D2在一个周期内通过水下链路接收到的数据包会高于设定阈值,此时,在下一个周期内,由D2发送的查询包内距离向量的初始值会设为1。新产生的查询包序列号大,会更新节点A、B的本地缓存,增大最短距离向量,同时水下源节点的最短距离向量也增大了。此时,节点C将会属于节点S的候选节点集,也具有转发的机会,因此数据包的转发路径可能会沿着S、C、D、E、D3进行转发。在这种情况下,由于有多条路径随机参与转发,D2在该周期内通过水声链路接收到的数据包个数可能不会高于阈值,因此下一个周期发送查询包距离向量的初始值又置为0。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种基于距离向量的水声传感器网络多浮标机会路由方法,其特征在于,包括:
S1、水面部署多个水面浮标节点,任意水面浮标节点均周期性向水下中继节点广播查询包,不同水面浮标节点发送的查询包ID号不同;
S2、水下中继节点根据接收到查询包内的信息判断是否接收该查询包,是否转发该查询包;具体地:水下中继节点本地缓存中记录了关于多个水面浮标节点的信息,由k个三维向量构成,用Su(t)表示,Su(t)={ns1,ns2,...,nsk},其中,nsi为三维向量(a,b,c),a代表水面浮标节点的ID号,b代表水面浮标节点a对应的最大查询包序号seq,c代表水下中继节点距离相应水面浮标节点的最小距离向量值;向量nsi表明水下中继节点能够与水面浮标节点a进行通信,最小距离向量为c;
水下中继节点收到查询包后,首先将接收到的查询包内的ID号与Su(t)内所有ID号进行比较,若Su(t)内没有相同的ID号,表明水下中继节点第一次接收该ID号的水面浮标节点发送的查询包,直接更新Su(t),添加一个三维向量,三维向量中ID号和seq号与查询包内ID号和seq号一致,距离向量为查询包内距离向量值加1;若已有相同的ID号,则判断查询包内的seq是否大于Su(t)内相同的ID号对应的seq号,若查询包内seq较大,则需要更新Su(t)中此ID号对应的距离向量值为查询包内距离向量值加1,且同时更新seq号为查询包内的seq号;若两者的seq号相同,则需要比较查询包内距离向量值加1与Su(t)中此ID号对应的距离向量值,取其中较小值覆盖Su(t)中此ID号对应的距离向量值;
只有Su(t)发生了更新的情况才会转发查询包,其他情况下,丢弃该查询包;若转发查询包,查询包内的ID号和seq号均不变,距离向量值为查询包内原始值加1;
S3、最终源节点收到查询包,源节点以广播的方式发送数据包;
S4、水下中继节点接收到数据包后,判断是否转发该数据包,且节点不是立即转发该数据包,而是设置一段等待时延,同时监听信道,若等待时延结束且在此期间未监听到有其他相同数据包的传输,则节点转发该数据包;
S5、重复S4步骤,直到任意一个水面浮标节点接收到数据包;
S6、水面浮标节点接收到数据包以后,进行多水面浮标节点之间的协调,最终向汇聚节点传输数据包;
步骤S3中,水下源节点发送数据包前,获取源节点本地Su(t)中最小的距离向量,添加至数据包包头中,同时,在数据包包头内添加GID号;
步骤S4中,水下中继节点本地缓存中记录了待转发和已转发的数据包GID号,若接收到的数据包的GID号,与本地缓存中已转发的GID号相同,则不转发该数据包直接丢弃;若接收到的数据包的GID号与本地缓存中待转发的GID号相同,且数据包内的距离向量值小于本地Su(t)中最小的距离向量,则不转发该数据包且同时删除待转发GID号,在已转发缓存中添加此GID号;只有该节点收到数据包的GID号与本地缓存中待转发和已转发的GID号都不相同,才可能转发此数据包,进一步判断水下中继节点是否属于候选节点集,是否有资格转发该数据包;
水下中继节点是否属于候选节点集的判断标准为:
其中:Si(t)代表水下节点可达水面浮标节点的集合,sv代表可达的多个水面浮标节点中的一个浮标节点,D(sv)为根据节点本地缓存的Su(t)中得到的到达水面浮标节点sv的最短距离向量,N代表数据包内储存的距离向量;只有水下中继节点可达的水面浮标节点集合中,存在至少一个水面浮标节点与该水下中继节点的距离向量小于数据包内的距离向量,该水下中继节点才属于候选节点集。
2.根据权利要求1所述的水声传感器网络多浮标机会路由方法,其特征在于,步骤S1中,查询包内储存有水面浮标节点ID号、查询包序列号seq和距离向量信息,其中:水面浮标节点ID号是为水面浮标节点设置的固定编号,在转发过程中始终不变,不同水面浮标节点的ID号不同;任意水面浮标节点发送的第一个查询包的序列号为1,发送的第n个查询包序列号为n,序列号呈递增趋势,最新产生的查询包拥有最大的查询包序列号seq;距离向量表明查询包的发送端到该浮标节点的最小距离向量。
3.根据权利要求1所述的水声传感器网络多浮标机会路由方法,其特征在于,步骤S1中,不同水面浮标节点的查询包初始发送时间为一个设定区间范围内产生的随机数,发送周期也为在设定区间范围内产生的随机数。
4.根据权利要求1所述的水声传感器网络多浮标机会路由方法,其特征在于,步骤S4中,若水下中继节点判断自己处于候选节点集内,则会设置等待时延t,等待时延t的计算公式为:
t=(int)rand(0,CW)*tslot*[Ni-np+2]+ (2)
其中:CW为退避窗口的大小;tslot为单位退避时间,其值等于传感节点之间最大通信距离除以声波在水中的传播速度;Ni表示节点的Su(t)内最小距离向量;np表示接收到的数据包中储存的关于上一跳中继节点的最小距离向量,运算符号[a]+代表a与0中取最大值;(int)rand(0,CW)表示取一个随机整数;
当等待时延t结束,水下中继节点以广播的方式转发更新距离向量后的数据包;若水下中继节点在等待时延内监听到其他水下中继节点有相同GID号的数据包传输,则停止等待,不再转发相同GID号的数据包。
5.根据权利要求1所述的水声传感器网络多浮标机会路由方法,其特征在于,步骤S6中,如果水面浮标节点本地缓存中已有相同GID的数据包,则水面浮标节点直接丢弃该数据包;若水面浮标节点通过水下链路接收到数据包且本地缓存中未记录过该数据包的GID号,则立即通过无线的方式继续广播数据包,数据包包头中再添加此水面浮标节点的地理位置信息;若水面浮标节点通过无线的方式接收到数据包且本地缓存中未记录过该数据包的GID号,则根据数据包中的地理位置信息判断是否具有转发资格,具有转发资格的水面浮标节点成功转发该数据包后,将数据包的GID添加到本地缓存中;不具有转发资格的水面浮标节点在本地缓存中添加此数据包的GID号,该水面浮标节点之后不需要再转发此GID号的数据包。
6.根据权利要求5所述的水声传感器网络多浮标机会路由方法,其特征在于,水面浮标节点是否具有转发资格的判断方法包括:
根据公式(3)判断Dpi是否为正,若Dpi为正,则表明水面浮标节点比上一跳水面浮标节点距离汇聚节点更近,水面浮标节点具有转发资格;
Dpi=D(Np,Ns)-D(Ni,Ns) (3)
其中:D(a,b)表示节点a与节点b之间的距离,Ni是需要进行判断的水面浮标节点,Ns是汇聚节点,Np是上一跳水面浮标节点。
7.根据权利要求1所述的水声传感器网络多浮标机会路由方法,其特征在于,水声传感器网络多浮标机会路由方法还包括:若某个水面浮标节点在一个周期内通过水下链路接收数据包的个数超过设定阈值,则此水面浮标节点在下一个周期发送的查询包中的距离向量的初始值设为1;没有超过阈值的水面浮标节点发送的查询包的距离向量的初始值依旧为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010166179.3A CN111416669B (zh) | 2020-03-11 | 2020-03-11 | 一种基于距离向量的水声传感器网络多浮标机会路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010166179.3A CN111416669B (zh) | 2020-03-11 | 2020-03-11 | 一种基于距离向量的水声传感器网络多浮标机会路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111416669A CN111416669A (zh) | 2020-07-14 |
CN111416669B true CN111416669B (zh) | 2022-03-29 |
Family
ID=71494326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010166179.3A Active CN111416669B (zh) | 2020-03-11 | 2020-03-11 | 一种基于距离向量的水声传感器网络多浮标机会路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111416669B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827930B (zh) * | 2022-03-25 | 2024-04-26 | 华南理工大学 | 水声传感网中基于中继接入mac协议的数据采集方法 |
CN115529567A (zh) * | 2022-06-30 | 2022-12-27 | 哈尔滨工程大学 | 一种极地跨冰层无线网络通信系统及方法 |
CN115665756A (zh) * | 2022-10-24 | 2023-01-31 | 天津大学 | 面向海洋环境的水下无线传感器网络中继节点部署方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101305567A (zh) * | 2005-09-13 | 2008-11-12 | Iwics公司 | 无线网络中移动站点的位置确定 |
KR20180104453A (ko) * | 2017-03-13 | 2018-09-21 | 강릉원주대학교산학협력단 | 수중 센서 데이터의 손실 감소 및 복구 방법 |
CN109088674A (zh) * | 2018-10-29 | 2018-12-25 | 湖北大学 | 水下组网方法、装置及通信设备 |
CN109873677A (zh) * | 2019-03-08 | 2019-06-11 | 哈尔滨工程大学 | 一种水声传感器网络机会路由候选集生成方法 |
CN110519822A (zh) * | 2018-05-21 | 2019-11-29 | 天津科技大学 | 一种低能耗的机会路由候选中继选择算法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107509233A (zh) * | 2017-09-30 | 2017-12-22 | 深圳市智慧海洋科技有限公司 | 一种基于矢量的水下传感器网络转发方法及系统 |
CN110519818B (zh) * | 2019-07-31 | 2022-07-12 | 西北工业大学 | 基于簇型拓扑的水声传感器网络机会路由协议实现方法 |
-
2020
- 2020-03-11 CN CN202010166179.3A patent/CN111416669B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101305567A (zh) * | 2005-09-13 | 2008-11-12 | Iwics公司 | 无线网络中移动站点的位置确定 |
KR20180104453A (ko) * | 2017-03-13 | 2018-09-21 | 강릉원주대학교산학협력단 | 수중 센서 데이터의 손실 감소 및 복구 방법 |
CN110519822A (zh) * | 2018-05-21 | 2019-11-29 | 天津科技大学 | 一种低能耗的机会路由候选中继选择算法 |
CN109088674A (zh) * | 2018-10-29 | 2018-12-25 | 湖北大学 | 水下组网方法、装置及通信设备 |
CN109873677A (zh) * | 2019-03-08 | 2019-06-11 | 哈尔滨工程大学 | 一种水声传感器网络机会路由候选集生成方法 |
Non-Patent Citations (1)
Title |
---|
《水声网络可靠组网与传输技术》;陈伟琦;《中国博士学位论文全文数据库信息科技辑》;20200115(第01期);I136-132 * |
Also Published As
Publication number | Publication date |
---|---|
CN111416669A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111416669B (zh) | 一种基于距离向量的水声传感器网络多浮标机会路由方法 | |
Wei et al. | Reliable data collection techniques in underwater wireless sensor networks: A survey | |
Guan et al. | Distance-vector-based opportunistic routing for underwater acoustic sensor networks | |
Coutinho et al. | GEDAR: Geographic and opportunistic routing protocol with depth adjustment for mobile underwater sensor networks | |
Coutinho et al. | DCR: Depth-Controlled routing protocol for underwater sensor networks | |
US5303207A (en) | Acoustic local area networks | |
Basagni et al. | Channel-aware routing for underwater wireless networks | |
CN111901088B (zh) | 水下传感器自组网多路径传输纠删编码块分配方法和装置 | |
CN109362113A (zh) | 一种水声传感器网络合作探索强化学习路由方法 | |
Goetz et al. | GUWMANET—Multicast routing in underwater acoustic networks | |
JP2002368789A (ja) | メッセージの経路指定システムおよび方法 | |
CN112969210B (zh) | 一种飞行器协同组网网络层路由协议处理装置及实现方法 | |
CN110519818B (zh) | 基于簇型拓扑的水声传感器网络机会路由协议实现方法 | |
CN111641990B (zh) | 高数据包投递率与能量有效性的水声传感器网络传输方法 | |
CN112235845B (zh) | 一种应用于水声传感器网络的地理路由协议方法 | |
Baranidharan et al. | Clustered geographic-opportunistic routing protocol for underwater wireless sensor networks | |
CN109729557A (zh) | 一种无线组网的方法和终端 | |
CN115022228B (zh) | 基于蚁群算法的声电协同网络的自适应路由系统及方法 | |
KR101286736B1 (ko) | Aodv 기반 라우팅 방법 | |
CN113708953B (zh) | 一种基于节点重要性均衡的水声传感器网络抗毁方法 | |
KR101058931B1 (ko) | 노드 이동에 의한 링크 라이프타임을 반영한 멀티홉 라우팅장치 및 방법 | |
Carlson et al. | Location‐aware source routing protocol for underwater acoustic networks of AUVs | |
Chen et al. | A Self-Adaptive Cooperative Routing Protocol for underwater acoustic sensor networks | |
Morozs et al. | Network Protocols for Simultaneous Underwater Acoustic Communication and Target Detection | |
CN110620622B (zh) | 一种适用于多浮标水声网络的洪泛路由设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |