一种适用于多浮标水声网络的洪泛路由设计方法与流程

文档序号:19535362发布日期:2019-12-27 15:49阅读:185来源:国知局
一种适用于多浮标水声网络的洪泛路由设计方法与流程

本发明涉及水声网络和路由设计的领域,具体涉及一种适用于多浮标水声网络的洪泛路由设计方法。



背景技术:

水下定位导航通信网络系统,可固定布放或快速部署到某一海区,形成一定规模的水下网络通信与定位导航能力,为区域内水下有人/无人、固定/移动多类水面水下作业平台提供通信与定位导航服务,相较于传统的水声网络,此种网络通常为多浮标网络,因为水下定位导航主要利用长基线定位原理,利用该原理解算水下移动节点位置时,对于时间同步系统,至少需要3个应答基站参与;对于时间异步系统,至少需要4个应答基站参与,且需满足应答基站不在一条直线上。对于应答基站,需要实时获取当前位置与时间信息,考虑到水下潜标的时钟漂移与位置漂移,应答基站通常采用浮标组成,浮标配置gps或北斗,实时获取当前位置与信息。所以,水下定位导航通信网络通常由多浮标组成,且水下节点通常位于可以与多个浮标通信范围之内。

传统水声网络通常采由固定路由进行数据传输,数据按指定路由进行转发,直至到达目的节点,此类协议,在某一节点受损或通信受阻时,会大大降低数据的传输性能,增加传输延时,降低数据传输速率或丢包。



技术实现要素:

本发明的目的在于克服现有技术存在的不足,而提供一种适用于多浮标水声网络的洪泛路由设计方法。

本发明的目的是通过如下技术方案来完成的:这种适用于多浮标水声网络的洪泛路由设计方法,主要包括以下步骤:

1)源节点生成发送flood+data帧:源节点设置flood帧的源地址为本节点号,设置目的地址为数据需要发往的目的节点号,填入本地发送序列号n,然后更新本地发送序列号为n+1,数据长度填入需要发送的data帧数据长度,最大跳数填入m,转发节点1、转发节点2、转发节点3等填入0,data帧填入发射数据后,生成水声通信包,通过水声换能器发射出去,其它节点接收flood帧;

2)flood帧源地址判断:其它节点收到flood帧后,首先判断flood帧源地址是否为自身,如为自身,则放弃接收,进入空闲状态,如为其它节点,则转至步聚3;

3)发送序列号判断:如果浮标接收到flood帧,对flood帧的帧序列号与本地缓存的此源节点上一次接收flood帧的序列号进行比对,如相同,则放弃接受后续data包,进入空闲状态,如不同,进入步骤4;如果水下节点接收到flood帧,对flood帧的帧序列号与本地缓存的此源节点上一次接收flood帧的序列号进行比对,如相同,则放弃接受后续data包,进入空闲状态,如不同,则转移置步骤5;

4)目的地址节点类型判断:如果目的地址对应节点类型不是浮标,则放弃接收后续data包,进入空闲状态;如为浮标,则转移置步骤8,进行data包接收;

5)跳数超限判断:统计flood帧的转发节点1、转发节点2、转发节点3值不为0的个数m,如果(m+1)大于等于flood帧中的最大跳数m,则转移至步骤6,如果(m+1)小于flood帧中的最大跳数m,转移至步骤7;

6)目的地址判断:如果flood帧的目的地址是本节点地址,缓存该flood帧,转移至步骤8,如不是,则进入空闲状态;

7)路由查询:查询本地路由表,如存在去往flood帧目的地址的路由,则判断该条路由的跳数是否大于(m+1-m),如大于,则转移至空闲状态,如小于等于,则转移至步骤8,如不存在去往flood帧目的地址的路由,同样转移至步骤8;

8)data包接收:如水上节点接收完data帧后,首先更新本地缓存的此源节点的flood帧序列号,然后将接收的数据通过无线电发送至岸/船监控中心,最后进入空闲状态;如水下节点接收完data帧后,首先更新本地缓存的此源节点的flood帧序列号,然后检查该flood帧对应的目的地址是否为自身,如是,则执行对应操作,如不是,则转移至步骤9;

9)转发flood帧+data帧:在前面接收缓存的flood帧字段中转发节点1、转发节点2、转发节点3的第一个0值处填入本节点号后,生成新的flood帧+data帧,随机延时后生成水声通信包,通过水声换能器发射出去。

所述flood帧主要由源地址、目的地址、帧序地址、数据长度、最大跳数、转发节点1、转发节点2、转发节点3构成。

所述flood帧组成中源地址表示数据发送源节点号,目的地址表示数据需要发往的目的节点号,帧序地址为源节点产生的用于代表本次传输的唯一性标识,数据长度指示本次传输的后续data帧长度,最大跳数指示本次数据包最多经过包含源节点在内的几个节点发送,转发节点1、转发节点2、转发节点3表示本次数据传输已经经过的转发节点。

本发明的有益效果为:本发明针对多浮标水声网络的特点,采用指定路径长度的洪泛路由协议,长度可以依据网络拓扑改变,限定数据生存周期,防止数据在网络中泛滥;采用洪泛路由与固定路由相结合,中继节点在转发前查询本地是否有去往目的节点的固定路由,并依据固定路由的跳数来判断是否参与转发洪泛数据,防止数据在网络中泛滥;通过在flood帧中装载转发节点号,可以方便目的节点与中间节点实时统计网络路径通信情况,为选择最佳指定路由提供依据;已在应急通信定位分系统硬件实现,并经过了系统实验室仿真,证明了方案的可行性,可以提高水声网络数据传输的吞吐量与减少丢包。

附图说明

图1为本发明的洪泛路由包组成示意图。

图2为本发明的flood帧组成示意图。

图3为本发明的洪泛接收处理流程示意图。

图4为本发明的水声通信网络示意图。

具体实施方式

下面将结合附图对本发明做详细的介绍:

实施例1:如附图所示,这种适用于多浮标水声网络的洪泛路由设计方法,主要包括以下步骤:

1)源节点生成发送flood+data帧:源节点设置flood帧的源地址为本节点号,设置目的地址为数据需要发往的目的节点号,填入本地发送序列号n,然后更新本地发送序列号为n+1,数据长度填入需要发送的data帧数据长度,最大跳数填入m,转发节点1、转发节点2、转发节点3等填入0,data帧填入发射数据后,生成水声通信包,通过水声换能器发射出去,其它节点接收flood帧;

2)flood帧源地址判断:其它节点收到flood帧后,首先判断flood帧源地址是否为自身,如为自身,则放弃接收,进入空闲状态,如为其它节点,则转至步聚3;

3)发送序列号判断:如果浮标接收到flood帧,对flood帧的帧序列号与本地缓存的此源节点上一次接收flood帧的序列号进行比对,如相同,则放弃接受后续data包,进入空闲状态,如不同,进入步骤4;如果水下节点接收到flood帧,对flood帧的帧序列号与本地缓存的此源节点上一次接收flood帧的序列号进行比对,如相同,则放弃接受后续data包,进入空闲状态,如不同,则转移置步骤5;

4)目的地址节点类型判断:如果目的地址对应节点类型不是浮标,则放弃接收后续data包,进入空闲状态;如为浮标,则转移置步骤8,进行data包接收;

5)跳数超限判断:统计flood帧的转发节点1、转发节点2、转发节点3值不为0的个数m,如果(m+1)大于等于flood帧中的最大跳数m,则转移至步骤6,如果(m+1)小于flood帧中的最大跳数m,转移至步骤7;

6)目的地址判断:如果flood帧的目的地址是本节点地址,缓存该flood帧,转移至步骤8,如不是,则进入空闲状态;

7)路由查询:查询本地路由表,如存在去往flood帧目的地址的路由,则判断该条路由的跳数是否大于(m+1-m),如大于,则转移至空闲状态,如小于等于,则转移至步骤8,如不存在去往flood帧目的地址的路由,同样转移至步骤8;

8)data包接收:如水上节点接收完data帧后,首先更新本地缓存的此源节点的flood帧序列号,然后将接收的数据通过无线电发送至岸/船监控中心,最后进入空闲状态;如水下节点接收完data帧后,首先更新本地缓存的此源节点的flood帧序列号,然后检查该flood帧对应的目的地址是否为自身,如是,则执行对应操作,如不是,则转移至步骤9;

9)转发flood帧+data帧:在前面接收缓存的flood帧字段中转发节点1、转发节点2、转发节点3的第一个0值处填入本节点号后,生成新的flood帧+data帧,随机延时后生成水声通信包,通过水声换能器发射出去。

flood帧主要由源地址、目的地址、帧序地址、数据长度、最大跳数、转发节点1、转发节点2、转发节点3构成。flood帧组成中源地址表示数据发送源节点号,目的地址表示数据需要发往的目的节点号,帧序地址为源节点产生的用于代表本次传输的唯一性标识,数据长度指示本次传输的后续data帧长度,最大跳数指示本次数据包最多经过包含源节点在内的几个节点发送,转发节点1、转发节点2、转发节点3表示本次数据传输已经经过的转发节点。

实施例2:如附图3所示的水下通信网络示意图为例,进行洪泛路由工作过程说明,网络布放3个浮标节点,3个潜标节点,1个auv节点,假设7号节点(auv)有数据需发送至岸基指控中心,对应洪泛路由工作过程如下:

1)7号节点生成发送flood+data帧:设置flood帧的源地址为本节点号7,设置目的地址为1,填入本地发送序列号n,然后更新本地发送序列号为n+1,发送长度填入需要发送的data帧数据长度,最大跳数填入2,转发节点1、转发节点2、转发节点3等填入0,data帧填入待发射数据后,生成水声通信包,通过水声换能器发射出去。

2)其它节点接收flood帧:其它节点接收到flood帧后,首先判断flood帧源地址是不是自身,不是则转至步聚3。

3)如浮标节点1、2、3接收到flood帧,首先对flood帧的帧序列号与本地缓存的7号节点上一次传输时的flood帧帧序列号进行比对,发现两者不同,进入步骤4,水下节点4、5、6接收到该flood帧,对flood帧的帧序列号与本地缓存的7号节点上一次传输时的flood帧帧序列号进行比对,发现不同,转移置步骤5。

4)目的地址判断:浮标节点1、2、3提取该flood帧目的地址,等于1,是浮标地址,转移至步骤7,进入data包接收。

5)最大跳数判断:水下节点4、5、6统计flood帧的转发节点1、转发节点2、转发节点3的非0值为0,(0+1)小于flood帧中的最大跳数2,转移至步骤6,进行路由查询判断。

6)路由查询判断,水下节点4、5、6查询自身去往1号节点的路由,节点4、5查询结果为1跳,满足转发条件,转移至步骤6;节点6查询结果为2跳,不满足转发条件,进入空闲状态。

7)data包接收:如浮标节点接收完data帧后,更新本地缓存的7号节点flood帧帧序列号,然后将接收的数据通过无线电转发至岸基监控中心,最后进入空闲状态;如水下节点4、5接收完data帧后,更新本地缓存的7号节点flood帧帧序列号,然后检查该flood帧对应的目的地址是不是自身,发现不是,转移至步骤8。

8)转发flood帧+data帧:水下节点4、5在前面接收缓存的flood帧字段转发节点1处填入本节点号后,生成新的flood帧+data帧水声通信包,随机延时后,通过水声换能器发射出去。

9)其它节点接收flood帧:以收到节点4转发信号为例,进行说明,如浮标节点1、2、3接收到4号节点转发的flood帧,对flood帧的帧序列号与本地缓存的7号节点上一次接收的flood帧的帧序列号进行比对,发现两者相同,放弃接收data帧,进入空闲状态。水下节点7收到该新flood帧,发现是源节点是自身,进入空闲状态。水下节点5、6接收到该flood帧,对flood帧的帧序列号与本地缓存的7号节点上一次接收的flood帧的帧序列号进行比对,发现两者相同,放弃接收data帧,进入空闲状态。

可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1