【技术实现步骤摘要】
一种水下无线多跳网络拓扑发现方法
本专利技术涉及自组织无线传感器网络
,尤其是一种水下网络拓扑发现方法,适合于水声多跳网络各种无线自组织传感器网络系统。
技术介绍
网络拓扑发现是水声多跳网络的支撑技术之一。对于水声多跳网络,在网络部署的初始阶段,将传感器节点随机布放于待检测区域,当节点布置完毕后,除了自身的信息外,对周围相邻节点的信息毫无所知,此时网络处于无结构状态,在这种情况下,网络无法进行信息采集与处理,因此需要进行网络拓扑发现过程,形成最初的网络结构,使得网络MAC(MediaAccessControl媒体访问控制)层协议能在初始结构下很快搭建,从而网络能够运行。有效的网络拓扑发现方法有利于形成良好的最初网络拓扑结构,不仅能够提高路由协议和MAC层协议的效率,为数据融合、时间同步和目标定位等任务的实现提供网络基础,而且可以延长整个网络的使用时间,对网络运行有至关重要的作用。现已提出的水下网络拓扑发现方法大致可分为两类:基于分布式网络拓扑发现和基于分层式网络拓扑发现。基于分布式网络拓扑发现,RobertoPetroccia提出一种自主分配节点ID(IDentity)的DIVE(distributedIDassignmentandtopologydiscovery分布式地址分配和拓扑发现)方法,该方法将节点布放下去,节点自主产生随机数作为该节点的ID,之后各节点根据本地计时器时间开始广播发现邻居节点HELLO包,生成全网拓扑信息后结束拓扑发现过程,进入后台运行状态。这种方法节点ID自主分配,但是完成拓扑发现的开销较大,而且全网节点自主随机开始广播H ...
【技术保护点】
1.一种水下无线多跳网络拓扑发现方法方法,其特征在于包括下述步骤:步骤1:G=(V,L)为待发现网络,G是一个多跳网络,其中V表示该网络中的所有节点集合,L表示网络中所有链路的集合,本专利技术采用树形拓扑结构来完成未知网络的拓扑发现和ID分配;在树形拓扑结构中,指定节点T为根节点,第一跳节点中的节点a对第二跳节点中的节点d发包,节点a指向节点d的有序节点对(a,d)表示节点d为节点a的邻节点,且a是d的父节点,d为a的子节点;节点d的子节点以及与节点d相连通的向下延伸到网络边缘的所有节点称为节点a的子孙节点;没有子节点的节点称为叶子节点;网络中除了根节点,所有节点有唯一的父节点,根据目前现有的树形多跳网络拓扑结构,所有节点分层为根节点、第1层节点、第2层节点,…第n层节点;网络中共有发现的节点数目为N,Ni为节点i的子孙节点的数目,Ci为节点i的子节点的数目,Nei为节点i的邻居节点数目;i=1,2....N;步骤2:拓扑发现流程主要包括如下三个阶段并依次执行:1)、hello包传输阶段:hello包格式为
【技术特征摘要】
1.一种水下无线多跳网络拓扑发现方法方法,其特征在于包括下述步骤:步骤1:G=(V,L)为待发现网络,G是一个多跳网络,其中V表示该网络中的所有节点集合,L表示网络中所有链路的集合,本发明采用树形拓扑结构来完成未知网络的拓扑发现和ID分配;在树形拓扑结构中,指定节点T为根节点,第一跳节点中的节点a对第二跳节点中的节点d发包,节点a指向节点d的有序节点对(a,d)表示节点d为节点a的邻节点,且a是d的父节点,d为a的子节点;节点d的子节点以及与节点d相连通的向下延伸到网络边缘的所有节点称为节点a的子孙节点;没有子节点的节点称为叶子节点;网络中除了根节点,所有节点有唯一的父节点,根据目前现有的树形多跳网络拓扑结构,所有节点分层为根节点、第1层节点、第2层节点,…第n层节点;网络中共有发现的节点数目为N,Ni为节点i的子孙节点的数目,Ci为节点i的子节点的数目,Nei为节点i的邻居节点数目;i=1,2....N;步骤2:拓扑发现流程主要包括如下三个阶段并依次执行:1)、hello包传输阶段:hello包格式为<Type(包类型),Ki,Fi,Li>,其中,包类型为hello、disc和IDA,Ki为随机产生的Ki值,Ki∈[0,...,64],Fi为父亲节点的Ki值,Li为节点i的层次编号即节点i在网络中所属的跳数;2)、disc包传输阶段:disc包格式为<Type,Fi,Ki,Li,Ni>,其中,Ni为子孙节点的个数;3)、IDA包传输阶段:IDA包格式为<Type,IDi,Li,LIST(子节点信息列表{Kj,Nj}})>,其中,IDi为节点ID;具体拓扑发现的步骤如下:步骤2.1、根节点T,令Ki=0,Fi=0,Li=0,按照网络发现数据包格式生成hello包<Type(包类型),Ki,Fi,Li>,并依据Ki,将Ki除以100得出的数值作为计时器Tx_Timer的值,计时器Tx_Timer超时后发送hello包,之后根节点依据式(1)和公式(2)开启计时器Wait_Timerx:Wait_Timerleaf=2Tp+2Tc+Tx_Timermax(1)其中Tp,Tc分别为最大单跳传播时延和传输时延,Tx_Timermax为网络中Tx_Timer的最大值;若节点i不为叶子节点,则x=Li,那么为节点i的计时器;若节点i为叶子结点,则x=leaf,那么Wait_Timerleaf为节点i的计时器;网络拓扑发现过程开始;步骤2.2、网络中第1跳节点i收到来自根节点的hello包后,将父节点的层次号加1作为其层次编号Li,生成节点i的hello包;依据Ki,将Ki除以100得出的数值作为计时器Tx_Timer的值,开启计时器Tx_Timer,计时器超时后发送hello包,之后,节点i如步骤2.1中所述依据式(1)和式(2)开启Wait_Timerx;步骤2.3、网络中第2,3......n跳节点依次执行步骤2.2的操作完成hello包的发送,从根节点出发到网络的叶子节点,依此类推直至全网节点完成hello包的发送;若一个节点在发送hello包之前收到来自多个节点的hello包,将最先到达的hello包的发送节点作为其父节点,将其它节点作为其邻节点;网络中节点i发送hello包后开启Wait_Timerx,在收到的hello包中统计父节点等于Ki的不同K值的个数,得到节点i的子节点个数Ci,将子节点的Ki加入到子节点列表,并将同层次不互为父子且相连通的节点K值添加到邻节点列表{Kj};步骤2.4、若节点i的Ci=0,则判断节点i为叶子节点,然后按照网络发现数据包格式生成disc包<Type,Fi,Ki,Li,Ni>,发送给父节点,报告i节点的disc包中的信息;对于任意非叶子节点i,若Wait_Timerx超时也就是等于式(2)的值后,收到其所有子节点的disc包,则计算其子孙节点的数目Ni,Ni为i节点收到的来自子节点的disc包中Ni的总和加上i节点的Ci,并生成disc包发送给父节点;已经在hello包传输阶段中得到了每个节点的子节点总数,若Wait_Timerx超时后,节点i收到其部分子节点的disc包,则根据网络发现数据格式形成disc_req包<Typ...
【专利技术属性】
技术研发人员:赵瑞琴,刘媛,申晓红,
申请(专利权)人:西北工业大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。