单跳网络中基于异步时间片的邻居发现方法技术

技术编号:10982244 阅读:113 留言:0更新日期:2015-01-30 19:16
一种节点数已知单跳网络中基于异步时间片的邻居发现方法,所述网络中每个节点包括报文发送模块、报文接收模块和邻居发现主模块,其中所述报文发送模块用于不同报文的组装,报文分为DISCOVERY报文和SUCCESS报文;所述报文接收模块用于接收报文;所述邻居发现主模块分为时间片管理模块、邻居信息模块、节点信息模块。在网络间时间片异步时,对于网络节点n已知的情形,设置当前节点的报文发送模块中发送概率λ是1/(2κ(n-b)),其中κ设置为固定的时间段τ和一个反馈时间段σ之和,同时时间片管理模块设置侦听时间段为Exp(1/λ)。经过本发明专利技术方案的处理,可以使得上述邻居发现方法的运行复杂度为Θ(n)。

【技术实现步骤摘要】
单跳网络中基于异步时间片的邻居发现方法
本专利技术涉及无线通信
,尤其涉及一种节点数已知单跳网络中基于异步时间片的邻居发现方法。
技术介绍
无线自组织网络(Wirelessadhocnetworks)是由大量的静止或移动的节点以自组织单跳或者多跳方式构成的无线网络,它不需要固定通信设备的支持,各节点之间自行组网。例如,立即部署时,节点不知道它的通信范围内有哪些节点,需要先发现邻居节点,然后才能和被发现的节点进行通信。邻居发现是无线自组织网络初始化中不可缺少的第一步,MAC(mediaaccesscontrol),路由协议以及拓扑控制算法都需要知道邻居信息,才能有效工作。邻居发现方法可分为两类:随机邻居发现和确定邻居发现。在随机邻居发现中,每个节点传输的次数是随机的,并在一定时间内以极大概率发现所有邻居。在确定邻居发现中,每个节点按照事先确定的策略进行传输,并在一定时间内以概率1发现所有邻居。然而,在分布式环境下,确定性往往是以增加运行时间为代价的,由于确定邻居发现存在上述缺点和不足,我们选择随机邻居发现作为参考提出我们的方法。目前,邻居发现方法面临着如下问题:(1)邻居发现需要处理冲突,也就是既要保证冲突的可能性降到最低同时也要保证用的时间是最少;(2)在许多实际情况下,由于网络节点总数未知,进一步加大了算法处理冲突的难度;(3)当全局时钟未知的情况下,要求节点能够异步工作同时能有效的发现所有邻居;(4)在异步条件下,节点可能在不同时间开始邻居发现,可能会错过其它节点传输数据;(5)当邻居个数未知时,节点不知何时终止邻居发现。由于传统的邻居发现方法面临着上述5个问题,需要提出一个能有效解决这些问题的邻居发现方法。在当前申请的方案中考虑如下的网络模型:用G=(V,E)表示一个单跳无线网络,其中V是n个节点的集合,是G中无向边的集合。节点i和节点j之间存在一条边是指节点j和节点i相互在对方的传输范围内。节点i和节点j存在一条边,节点j和节点i也存在一条边,即如果(i,j)∈E,则(j,i)∈E,并且(i,j)和(j,i)表示同一条边。对单跳无线网络G,作如下假设:(1)节点ID是唯一的,即任意两个节点的ID不相同,ID可以设置为节点的MAC地址或者节点的位置;(2)半双工收发器模型,每个节点都有一个接收器和发送器,节点可以发送或接收报文,但不能同时工作;(3)冲突模型,当两个或者更多节点同时发送报文的时候会产生冲突,节点能够侦听冲突。(4)不考虑报文丢失的情况,即如果没有冲突发生,那么一个节点发送的报文一定被另外的节点接收。n个节点部署在一个区域中且不知道网络G的信息,定义节点i在时间t内从节点j收到一条或多条信息,则称节点i在时间t内发现节点j。我们将在上述网络模型和条件下阐述本专利技术的技术方案。
技术实现思路
本专利技术设计了一种基于反馈信息运行时间是Θ(n)的单跳网络邻居发现方法,适用于无线自组织网络中的网络节点进行邻居发现。网络节点能够侦听冲突,即能够区分一个空闲的时间片和一个有冲突的时间片。本方法解决了标准冲突信道模型下邻居发现面临的上述问题。无线自组织网络中的一个节点包括报文发送模块、报文接收模块和邻居发现主模块。报文发送模块用于不同报文的组装,报文分为DISCOVERY报文和SUCCESS报文。报文接收模块用于接收报文。邻居发现主模块分为时间片管理模块、邻居信息模块、节点信息模块,其中,时间片管理模块用于把邻居发现过程的分为若干个时间片,在某个具体的时间片中,由邻居发现主模块协调报文发送模块和报文接收模块处理报文;邻居信息模块维护邻居节点列表和已发现邻居节点个数,其中邻居节点列表包括已发现邻居节点地址和被发现标识两个字段;节点信息模块维护自身信息,包括是否已被所有邻居发现的标志flag和节点自身地址。基于反馈信息运行时间是Θ(n)的单跳网络邻居发现方法分为两种:基本邻居发现方法适用于节点间时间片是同步的情况,而异步的邻居发现方法适用于节点间时间片异步的情况。一种节点数已知单跳网络中基于异步时间片的邻居发现方法,包括如下几个步骤:(1)时间片管理模块设置一个侦听时间段t,其中时间t服从均值为1/λ的指数分布,λ=1/(2κ(n-b)),在侦听时间段内,节点不发送DISCOVERY报文,只接收DISCOVERY报文并发送反馈SUCCESS报文,;(2)在侦听时间段t内执行如下操作:节点报文接收模块侦听DISCOVERY报文,如果成功接收DISCOVERY报文,说明发现了某一个邻居节点,则通过报文发送模块发送反馈SUCCESS报文,如果没有成功接收DISCOVERY报文,则说明由于冲突或者概率因素没有任何邻居节点发出DISCOVERY报文,继续进行邻居发现过程;(3)当侦听时间段结束以后,未被邻居发现节点通过报文发送模块按照概率1/(2κn(-b))发送DISCOVERY报文,如果反馈时间段内成功接收SUCCESS,当前节点在成功发现某一个邻居节点的同时也成功被该邻居节点发现,如果没有成功接收SUCCESS报文,说明当前节点没有被所有邻居节点发现,即至少存在一个邻居节点没有发现当前节点,则继续进行邻居发现过程;(4)不断执行上述步骤直到所有节点成功发现所有邻居节点同时也被所有邻居节点发现。可以证明,上述异步邻居发现方法的运行时间仍为Θ(n)。附图说明图1示出了单跳网络下邻居发现系统示意图;图2示出了节点间时间片是异步的情况下,单跳网络下基于反馈信息的异步邻居发现方法流程图;图3示出了DISCOVERY报文和SUCCESS报文的具体格式;图4示出了单跳网络下基于反馈信息的异步邻居发现方法的时序图。具体实施方式下面结合实施例对本专利技术的技术方案进行具体说明。邻居发现方法是针对整个网络中的全部节点部署实施的方案,即所有节点运行同样的程序,包括同步邻居发现方法及异步邻居发现方法,对于同步邻居发现方法又分为网络节点总数已知和未知两种情形,下面将主要对网络节点总数已知的网络中基于异步时间片对网络邻居进行发现的方法进行描述。网络节点总数n已知的异步邻居发现方法网络中每个节点执行的异步邻居方法如图2所示,主要包括以下几个步骤:步骤301:在邻居信息模块中初始化已发现邻居节点个数b=0,初始化邻居节点列表NbrList,在节点信息模块中设置标志flag=0,跳转步骤302。所述邻居节点列表NbrList主要包括两个字段:已发现邻居节点MAC地址和当前节点是否被该邻居节点发现标识。已发现邻居节点MAC地址用来记录当前节点已经发现的邻居节点;当前节点是否被该邻居节点发现标识与已发现邻居节点MAC地址是一一对应的,代表当前节点是否被对应邻居节点发现,置1代表被发现,置0代表没有被发现。所述标志flag是用来判断当前节点是否被邻居节点列表中所有邻居节点发现,假设邻居节点列表中记录了m个MAC地址(MAC1,MAC2,…,MACm),表示当前节点已经发现m个邻居节点,对应m个被发现标识(BD1,BD2,…BDm),表示当前节点是否被这m个邻居节点发现,那么fla=BD1∧BD2∧…∧BDm,当且仅当BD1=BD2=…=BDm=1时flag=1,否则flag=0。步骤302:判断flag=1并且b=n-1是否为真,如果是则本文档来自技高网
...
单跳网络中基于异步时间片的邻居发现方法

【技术保护点】
一种节点数已知单跳网络中基于异步时间片的邻居发现方法,所述网络中节点总数n已知,节点间时间片为异步,其中每个节点包括报文发送模块、报文接收模块和邻居发现主模块,其中所述报文发送模块用于不同报文的组装,报文分为DISCOVERY报文和SUCCESS报文;所述报文接收模块用于接收报文;所述邻居发现主模块分为时间片管理模块、邻居信息模块、节点信息模块;所述方法包括:步骤301:在邻居信息模块中初始化已发现邻居节点个数b=0,初始化邻居节点列表NbrList,在节点信息模块中设置标志flag=0,执行步骤302;步骤302:判断当前节点是否已经被所有邻居节点发现同时已经发现所有邻居节点,如果是则结束邻居发现过程,否则跳转到步骤303;步骤303:设置当前节点的报文发送模块中发送概率λ是1/(2κ(n‑b)),其中κ设置为固定的时间段τ和一个反馈时间段σ之和,同时时间片管理模块设置侦听时间段为Exp(1/λ),执行步骤304;步骤304:判断当前节点是否在侦听时间段内并且b不等于n‑1,如果是则跳转到步骤305,否则跳转到步骤310;步骤305:当前节点的报文接收模块侦听DISCOVERY报文,执行步骤306;步骤306:判断当前节点的报文接收模块是否成功收到DISCOVERY报文,如果是则跳转到步骤307,否则跳转到步骤304;步骤307:当前节点的报文发送模块发送SUCCESS报文,执行步骤308;步骤308:判断已收到DISCOVERY报文的源节点MAC地址是否已经存在于邻居节点列表NbrList中,如果是则跳转步骤304,否则跳转步骤309。步骤309:当前节点把已收到DISCOVERY报文的源节点MAC地址加入邻居节点列表NbrList中,设置已发现邻居节点个数b=b+1,之后跳转步骤304,继续判断是否在侦听时间段内。步骤310:判断当前节点的标志flag是否等于零,如果等于零,跳转到步骤311,否则跳转到步骤302;步骤311:当前节点报文发送模块以概率λ发送DISCOVERY报文,跳转步骤312;步骤312:判断当前节点报文接收模块在反馈时间段内是否成功收到SUCCESS报文,如果是则跳转到步骤313,否则跳转到步骤311。步骤313:判断已接收SUCCESS报文的源节点MAC地址是否已经存在于邻居节点列表NbrList中,如果是则跳转步骤315,否则跳转步骤314。步骤314:把已收到SUCCESS报文的源节点MAC地址加入邻居节点列表NbrList中,同时将该地址对应的被发现标识置为1,跳转步骤302。步骤315:判断邻居节点列表NbrList中已存在MAC地址对应的被发现标识是否为1,如果是则跳转步骤302,否则跳转步骤316;步骤316:把邻居节点列表NbrList中已存在MAC地址对应的被发现标识置为1,跳转步骤302。...

【技术特征摘要】
1.一种节点数已知单跳网络中基于异步时间片的邻居发现方法,所述网络中节点总数n已知,节点间时间片为异步,其中每个节点包括报文发送模块、报文接收模块和邻居发现主模块,其中所述报文发送模块用于不同报文的组装,报文分为DISCOVERY报文和SUCCESS报文;所述报文接收模块用于接收报文;所述邻居发现主模块分为时间片管理模块、邻居信息模块、节点信息模块;其中所述时间片管理模块用于把邻居发现过程的分为若干个时间片,在某个具体的时间片,由邻居发现主模块协调报文发送模块和报文接收模块处理报文;邻居信息模块维护邻居节点列表和已发现邻居节点个数,邻居节点列表中包括已发现邻居节点MAC地址和当前节点是否被该邻居节点发现标识两个字段;节点信息模块维护自身信息,包括是否已被邻居节点列表中所有邻居发现的标志flag和节点自身地址,所述方法包括:步骤301:在邻居信息模块中初始化已发现邻居节点个数b=0,初始化邻居节点列表NbrList,在节点信息模块中设置标志flag=0,执行步骤302;步骤302:判断当前节点的邻居列表NbrList中MAC地址对应的被发现标识都为1并且b=n-1是否为真,如果是则判断当前节点已经被所有邻居节点发现同时已经发现所有邻居节点,并结束邻居发现过程,否则跳转到步骤303;步骤303:设置当前节点的报文发送模块中发送概率λ是1/(2κ(n-b)),其中κ设置为固定的时间段τ和一个反馈时间段σ之和,同时时间片管理模块设置侦听时间段为Exp(1/λ),执行步骤304;步骤304:判断当前节点是否在侦听时间段内并且b不等于n-1,如果是则跳转到步骤305,否则跳转到步骤310;步骤305:当前节点的报文接收模块侦听DISCOVERY报文,执行步骤306;步骤306:判断当前节点的报文接收模块是否成功收到DISCOVERY报文,如果是则跳转到步骤307,否则跳转到步骤304;步骤307:当前节点的报文发送模块发送SUCCESS报文,执行步骤308;步骤308:判断已收到DISCOVERY报文的源节点MAC地址是否已经存在于邻居...

【专利技术属性】
技术研发人员:朱沿旭左超尚国强王坚李超王黎明曹廷友贾佳
申请(专利权)人:总装备部工程设计研究总院
类型:发明
国别省市:北京;11

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

1