一种单跳网络下基于反馈信息的网络邻居发现方法.pdf

上传人:b*** 文档编号:668512 上传时间:2018-03-02 格式:PDF 页数:12 大小:1.38MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410454116.2

申请日:

2014.09.05

公开号:

CN104202792A

公开日:

2014.12.10

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04W 40/24申请日:20140905|||公开

IPC分类号:

H04W40/24(2009.01)I

主分类号:

H04W40/24

申请人:

总装备部工程设计研究总院

发明人:

朱沿旭; 尚国强; 左超; 王坚; 李超; 王黎明; 曹廷友; 贾佳; 顾建

地址:

100028 北京市朝阳区左家庄12号大院

优先权:

专利代理机构:

北京安博达知识产权代理有限公司 11271

代理人:

徐国文

PDF下载: PDF下载
内容摘要

一种单跳网络下基于反馈信息的网络邻居发现方法,所述网络中每个节点包括报文发送模块、报文接收模块和邻居发现主模块,其中所述报文发送模块用于不同报文的组装,报文分为DISCOCERY报文和SUCCESS报文;所述报文接收模块用于接收报文;所述邻居发现主模块分为时间片管理模块、邻居信息模块、节点信息模块。在网络节点间时间片同步时,对于网络节点总数n已知的情形,设置节点发送概率为1/(n-b),b为已经发现的邻居节点个数。经过本发明方案的处理,可以使得上述邻居发现方法的运行复杂度为Θ(n)。

权利要求书

1.  一种单跳网络下基于反馈信息的运行时间是Θ(n)的邻居发现方法,所述网络中节点总数n已知,节点间时间片为同步,其中每个节点包括报文发送模块、报文接收模块和邻居发现主模块,其中所述报文发送模块用于不同报文的组装,报文分为DISCOVERY报文和SUCCESS报文;所述报文接收模块用于接收报文;所述邻居发现主模块分为时间片管理模块、邻居信息模块、节点信息模块。所述方法包括:
步骤101:在邻居信息模块中初始化已发现邻居节点个数b=0,初始化邻居节点列表NbrList,在节点信息模块中设置标志flag=0,执行步骤102;
步骤102:判断flag=1并且b=n-1是否为真,如果是则结束邻居发现过程,否则跳转到步骤103;
步骤103:设置当前节点报文发送模块发送概率是1/(n-b),执行步骤104;
步骤104:判断当前节点的标志flag是否等于零,等于零表示当前节点未被邻居节点发现,不等于零表示该节点已被邻居节点发现,如果当前节点未被邻居节点发现则跳转到步骤105,否则跳转到步骤108;
步骤105:当前节点时间片管理模块把当前时间片分为两个子时间片,并且控制报文发送模块在第一个子时间片内按照1/(n-b)的概率发送DISCOVERY报文,如果DISCOVERY报文发送成功则跳转步骤106,否则跳转步骤108;
步骤106:判断当前节点报文接收模块在当前时间片的第二个子时间片内信道是否空闲,如果是空闲的,即跳转到步骤102,否则跳转到步骤107;
步骤107:当前节点已被邻居发现,不再发送DISCOVERY报文,设置节点信息模块中的标志flag=1,跳转到步骤102;。
步骤108:判断当前节点是否成功收到其它邻居节点在当前时间片的第一个子时间片内发送的DISCOVERY报文,如果成功接收了DISCOVERY报文,则跳转到步骤109,否则跳转到步骤102;
步骤109:在当前时间片的第二个子时间片内当前节点通过报文发送模块发送反馈SUCCESS报文,同时将已接收到DISCOVERY报文的源节点MAC地址加入到邻居节点列表NbrList中,设置已发现邻居节点个数b=b+1,并返回到步骤102。

2.
  如权利要求1所述的方法,其特征在于,其中所述所述时间片管理模块用于把邻居发现过程的分为若干个时间片,在某个具体的时间片,由邻居发现主模块协调报文发送模块和报文接收模块处理报文;邻居信息模块维护邻居节点列表和已发现邻居节点个数,邻居节点列表包括已发现邻 居节点MAC地址一个字段;节点信息模块维护自身信息,包括是否已被邻居节点发现的标志flag和节点自身地址。

3.
  如权利要求1所述的方法,其特征在于,其中步骤108中,所述当前节点没有成功接收DISCOVERY报文时,表明没有任何节点发送DISCOVERY报文。或两个或者两个以上邻居节点同时发送DISCOVERY报文导致冲突发生。

说明书

一种单跳网络下基于反馈信息的网络邻居发现方法
技术领域
本发明涉及无线通信技术领域,尤其涉及一种单跳网络下基于反馈信息的网络邻居发现方法。
背景技术
无线自组织网络(Wireless ad hoc networks)是由大量的静止或移动的节点以自组织单跳或者多跳方式构成的无线网络,它不需要固定通信设备的支持,各节点之间自行组网。例如,立即部署时,节点不知道它的通信范围内有哪些节点,需要先发现邻居节点,然后才能和被发现的节点进行通信。邻居发现是无线自组织网络初始化中不可缺少的第一步,MAC(media access control),路由协议以及拓扑控制算法都需要知道邻居信息,才能有效工作。
邻居发现方法可分为两类:随机邻居发现和确定邻居发现。在随机邻居发现中,每个节点传输的次数是随机的,并在一定时间内以极大概率发现所有邻居。在确定邻居发现中,每个节点按照事先确定的策略进行传输,并在一定时间内以概率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)的单跳网络邻居发现方法分为两种:基 本邻居发现方法适用于节点间时间片是同步的情况,而异步的邻居发现方法适用于节点间时间片异步的情况。
一种单跳网络下基于反馈信息运行时间是Θ(n)的基本邻居发现方法,网络节点总数n是已知的,而且节点时间片是同步的,包括以下步骤:
(1)网络节点邻居发现主模块把每个时间片分为两个部分;在第一个子时间片内,未被邻居发现节点(即flag标志为0)通过报文发送模块以概率1/(n-b)随机发送DISCOVERY报文,n是网络中节点总数,b是已经发现的邻居节点个数,b由邻居信息模块获得;随着已发现邻居节点个数b的增加,未被邻居发现节点发送DISCOVERY报文的概率逐渐增大,以此提高未被邻居发现节点被发现的概率。
(2)在每个时间片的第一个子时间片内,如果当前节点报文接收模块成功接收到DISCOVERY报文(在同一个子时间片内当前节点只能成功接收一条DISCOVERY报文),则当前节点向DISCOVERY报文的源节点发送SUCCESS报文,说明当前节点成功发现源节点。
(3)在每个时间片的第二个子时间片内,如果当前节点的报文接收模块不空闲(成功接收到一条SUCCESS报文或者侦听到有冲突发生),则说明当前节点成功被邻居节点发现。
附图说明
图1示出了单跳网络下邻居发现系统示意图;
图2-1示出了节点间时间片是同步的情况下,网络节点总数n已知时单跳网络下基于反馈信息的基本邻居发现方法流程图;
图2-2示出了节点间时间片是同步的情况下,网络节点总数n未知时单跳网络下基于反馈信息的基本邻居发现方法流程图;
图3示出了DISCOVERY报文和SUCCESS报文的具体格式。
具体实施方式
下面结合实施例对本发明的技术方案进行具体说明。
邻居发现方法是针对整个网络中的全部节点部署实施的方案,即所有节点运行同样的程序,包括同步邻居发现方法及异步邻居发现方法,对于同步邻居发现方法又分为网络节点总数已知和未知两种情形,下面将分别进行描述。
1、网络节点总数n已知的同步邻居发现方法
如图2-1所示,为单跳网络下基于反馈信息运行时间是Θ(n)的基本邻居发现方法(网络节点总数n已知),包括以下几个步骤:
步骤101:在邻居信息模块中初始化已发现邻居节点个数b=0,初始化邻居节点列表NbrList,在节点信息模块中设置标志flag=0。
步骤102:判断flag=1并且b=n-1是否为真,如果是则结束邻居发现过程,否则跳转到步骤103。flag=1代表当前节点已经被邻居节点发现,b=n-1代表当前节点已经成功发现所有邻居节点。
步骤103:设置节点报文发送模块发送概率是1/(n-b)。
步骤104:判断当前节点的标志flag是否等于零,等于零表示当前节点未被邻居节点发现,不等于零表示该节点已被邻居节点发现,如果节点未被邻居发现则跳转到步骤105,否则跳转到步骤108。
如果当前节点未被邻居节点发现,则当前节点才会进入发送DISCOVERY报文的步骤(步骤105);否则,当前节点进入接收来自邻居节点DISCOVERY报文的步骤(步骤108)。
步骤105:当前节点时间片管理模块把当前时间片分为两个子时间片,并且控制报文发送模块在第一个子时间片内按照1/(n-b)的概率发送DISCOVERY报文,如果DISCOVERY报文发送成功则跳转步骤106,否则跳转步骤108;
DISCOVERY报文发送成功意味着当前时间片的第一个子时间片内只有当前节点发送DISCOVERY报文,其它邻居节点接收DISCOVERY报文,当前节点进入等待邻居节点发送反馈SUCCESS报文的步骤(步骤106);DISCOVERY报文发送不成功代表两种情况:第一,由于概率的作用,当前节点没有发送DISCOVERY报文,此时当前节点进入接收邻居节点DISCOVERY报文的步骤(步骤108);第二,当前节点与邻居节点同时发送DISCOVERY报文,造成冲突发生,此时当前节点和邻居节点同时进入接收DISCOVERY报文的步骤(步骤108)。
步骤106:判断当前节点报文接收模块在当前时间片的第二个子时间片内信道是否空闲,如果是空闲的,即跳转到步骤102,否则意味着当前节点成功接收到一个邻居节点的SUCCESS报文或者多个邻居节点的SUCCESS报文产生了冲突,即当前节点被一个或者多个邻居节点发现,跳转到步骤107。
步骤107:当前节点已被邻居发现,不再发送DISCOVERY报文,设置节点信息模块中的标志flag=1,跳转到步骤102。
步骤108:判断当前节点是否成功收到其它邻居节点在当前时间片的第一个子时间片内发送的DISCOVERY报文,如果成功接收了DISCOVERY报文,则跳转到步骤109,否则跳转到步骤102判断是否继续进行邻居发现过程。 当前节点没有成功接收DISCOVERY报文代表两种情况:第一,没有任何节点发送DISCOVERY报文;第二,两个或者两个以上邻居节点同时发送DISCOVERY报文导致冲突发生。
步骤109:在当前时间片的第二个子时间片内当前节点通过报文发送模块发送反馈SUCCESS报文,同时将已接收到DISCOVERY报文的源节点MAC地址加入到邻居节点列表NbrList中,设置已发现邻居节点个数b=b+1,并返回到步骤102判断是否继续进行邻居发现过程。
2、网络节点总数n未知的同步邻居发现方法
如图2-2所示,为单跳网络下基于反馈信息运行时间是Θ(n)的基本邻居发现方法(网络节点总数n未知),包括以下几个步骤:
步骤201:在邻居信息模块中初始化已发现邻居节点个数b=0,初始化节点邻居列表NbrList,在节点信息模块中设置标志flag=0。
步骤202:当前节点的时间片管理模块把运行时间分为多个阶段,其中第r个阶段持续2r+1e个时间片,设置r的初值为1。
步骤203:判断当前节点是否已经被邻居节点发现(flag=1代表当前节点已经被邻居节点发现)同时已经成功发现所有邻居节点,如果是则结束邻居发现过程,否则跳转到步骤204。
判断当前节点是否已经成功发现所有邻居节点的方法是:在一个给定的时间段内,当前节点的报文发现模块没有收到任何DISCOVERY报文,则说明当前节点已经成功发现所有邻居节点。所述“给定的时间段”可以定义为:如果节点的报文发送时间为t,则给定的时间段可以是at(a=2,3,...,n)。
利用“给定时间段”判断的机理为,同步情况下当前节点的n-1个邻居节点发送DISCOVERY报文的概率分别为p1,p2,…,pn-1,那么给定at时间内所有邻居节点都没有发送DISCOVERY报文的概率是p=(1-p1)*(1-p2)*…*(1-pn-1),也就是如果保证at时间段内p极小,那就是说在at时间段内,所有邻居节点同时不发报文的事件是小概率事件,那么如果出现所有邻居节点都没有发送报文的情况,说明邻居节点确实没有发送Discovery报文(邻居节点都已经被发现了)。
步骤204:判断第r个阶段是否结束,即判断第个r阶段持续的2r+1e个时间片是否结束,如果结束,跳转到步骤212,否则跳转到步骤205。
步骤205:设置节点报文发送模块发送概率是1/(2r-b)。
步骤206:判断当前节点的标志flag是否等于零,等于零表示当前节点未被邻居节点发现,不等于零表示该节点已被邻居节点发现,如果节点未被邻居发现并且则跳转到步骤207,否则跳转到步骤208。
如果当前节点未被邻居发现,我们要按照概率发送报文,否则,节点的报文接收模块接收来自其它节点的报文。
步骤207:当前节点时间片管理模块把当前阶段当前时间片分为两个子时间片,并且控制报文发送模块在第一个子时间片内以概率1/(2r-b)发送DISCOVERY报文用来进行邻居发现,如果成功发送DISCOVERY报文则跳转步骤210,否则跳转步骤208。
DISCOVERY报文发送成功意味着当前阶段当前时间片的第一个子时间片内只有当前节点发送DISCOVERY报文,其它邻居节点接收DISCOVERY报文,当前节点进入等待邻居节点发送反馈SUCCESS报文的步骤(步骤210);DISCOVERY报文发送不成功代表两种情况:第一,由于概率的作用,当前节点没有发送DISCOVERY报文,此时当前节点进入接收邻居节点DISCOVERY报文的步骤(步骤210);第二,当前节点与邻居节点同时发送DISCOVERY报文,造成冲突发生,此时当前节点和邻居节点同时进入接收DISCOVERY报文的步骤(步骤208)。
步骤210:报文接收模块在当前阶段当前时间片的第二个子时间片内信道是否空闲,如果是空闲的,则跳转到步骤204,否则意味着当前节点成功接收到了一个邻居节点发送的SUCCESS报文或者多个邻居节点发送的SUCCESS报文产生了冲突,即当前节点被一个或者多个邻居节点发现,跳转到步骤211。
步骤211:当前节点已被邻居节点发现,不再发送DISCOVERY报文,设置节点信息模块中的标志flag=1,跳转到步骤204。
步骤208:判断当前节点是否成功收到其它邻居节点在当前阶段当前时间片的第一个子时间片内发送的DISCOVERY报文,如果成功接收了DISCOVERY报文,则跳转到步骤209,否则跳转到步骤204继续判断r阶段是否结束。当前节点没有成功接收DISCOVERY报文代表两种情况:第一,没有任何节点发送DISCOVERY报文;第二,两个或者两个以上邻居节点同时发送DISCOVERY报文导致冲突发生。
步骤209:在当前阶段当前时间片的第二个子时间片内当前节点通过报文发送模块发送反馈报文SUCCESS,同时将已接收到DISCOVERY报文的源节点MAC地址加入到邻居节点列表NbrList中,设置已发现邻居节点个数b=b+1,并返回到步骤204。
步骤212:设置阶段r=r+1,跳转步骤203再次进行邻居发现是否完毕的判断及其后续各步骤。
从以上步骤中可以看出我们的邻居发现方法的核心思想是:把每个时间片分为两个子时间片,在第一个子时间片内节点(假设节点i)按概率发送报文DISCOVERY,然后在第二个子时间片节点i接收邻居节点发送的反馈SUCCESS报文,这时可能会产生冲突,节点i的接收模块根据信道是否空闲来判断它是否被邻居发现:如果信道是非空闲的则说明节点i成功接收一个邻居节点发送的反馈SUCCESS报文,或者多个邻居节点的反馈SUCCESS报文造成了冲突,即节点i在第一个子时间片内发送的DISCOVERY报文成功被邻居节点接收,即节点i被邻居节点发现了。然后逐渐增大网络中其它未发现的节点发送报文的概率,继续邻居发现过程,直至每个节点发现所有邻居(每个节点被所有邻居发现)。
为了说明我们的基本邻居发现方法更加高效,下面分别证明了在网络节点总数n已知和未知的情况下,在此提及的基本邻居发现方法的运行复杂度为Θ(n)。
1)网络节点总数n已知:
为了方便描述,我们用W表示每个节点发现它所有n-1邻居的时间。我们把邻居发现分成多个阶段,其中第m个阶段的持续时间为Wm,0≤m≤n-1,Wm从第m个邻居被发现开始,到第m+1邻居被发现结束。因此因为在第n-1个阶段,只有一个邻居没被发现,这时只包括一个时间片。一般地,在第m个阶段,有n-m个节点未被发现,每个节点发送报文的概率为1/(n-m)。该阶段报文被成功接收的概率pm为:
pm=1n-m(1-1n-m)n-m-1,∀mn-2]]>
可以证明:
1(n-m)epm2(n-m)e,∀mn-2---(1)]]>
注意到Wm服从几何分布,均值是1/((n-m)pm),则:
E[W]=Σm=0n-2E[Wm]+1=Σm=0n-21(n-m)pm+1---(2)]]>
把(1)式带入(2)式并简化得:
ne2E[W]ne]]>
定义1:当满足条件时P(X≥x)≥P(Y≥x),我们说一个随机变量X随机支配另一个随机变量Y。
我们引入随机变量随机支配变量W,定义如下:其中服 从几何分布,均值为e。由于Wm服从均值1/((n-m)pm)≤e的几何分布,因此:
P(W>t)P(W~>t)]]>
注意到是一个帕斯卡变量,参数是n,均值是1/e,引入随机变量Xt~Binomial(t,1/e),则Xt有如下关系:
{W~>t}&DoubleLeftRightArrow;{Xt<n}]]>
这是因为表示直到n个事件成功的等待时间,而Xt表示在t个时间片内成功的事件数。因此我们有
P(W~>t)=P(Xt<n)]]>

设置t=2ne,ε=1/2,我们有:
P(W~>2ne)=P(Xt<n)<e-n/4&RightArrow;0,]]>当n→∞时。
由于即我们得到W以极大概率≤2ne。同理可证,W以极大概率≥ne/2,因此W以极大概率满足如下不等式:
ne2W2ne---(3)]]>
即运行时间W的复杂度为Θ(n)。
2)网络节点总数n未知
当n未知时,我们把算法分为多个阶段,其中第r个阶段维持2r+1e个时间片,每个未被发现的邻居节点在该阶段内以概率1/(2r-b)发送报文DISCOVERY,其中b表示已经被当前节点发现的邻居节点个数。例如,在第个阶段,还有n-b个邻居节点没被当前节点发现,则以1/(n-b)的概率发送报文。
类似于上述1)中的分析,每个节点在内发现所有邻居节点的概率接近于1。因此每个节点发现所有邻居节点的运行时间为:

即运行时间W的复杂度为Θ(n)。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。

一种单跳网络下基于反馈信息的网络邻居发现方法.pdf_第1页
第1页 / 共12页
一种单跳网络下基于反馈信息的网络邻居发现方法.pdf_第2页
第2页 / 共12页
一种单跳网络下基于反馈信息的网络邻居发现方法.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《一种单跳网络下基于反馈信息的网络邻居发现方法.pdf》由会员分享,可在线阅读,更多相关《一种单跳网络下基于反馈信息的网络邻居发现方法.pdf(12页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104202792A43申请公布日20141210CN104202792A21申请号201410454116222申请日20140905H04W40/2420090171申请人总装备部工程设计研究总院地址100028北京市朝阳区左家庄12号大院72发明人朱沿旭尚国强左超王坚李超王黎明曹廷友贾佳顾建74专利代理机构北京安博达知识产权代理有限公司11271代理人徐国文54发明名称一种单跳网络下基于反馈信息的网络邻居发现方法57摘要一种单跳网络下基于反馈信息的网络邻居发现方法,所述网络中每个节点包括报文发送模块、报文接收模块和邻居发现主模块,其中所述报文发送模块用于不同报文的组装,。

2、报文分为DISCOCERY报文和SUCCESS报文;所述报文接收模块用于接收报文;所述邻居发现主模块分为时间片管理模块、邻居信息模块、节点信息模块。在网络节点间时间片同步时,对于网络节点总数N已知的情形,设置节点发送概率为1/NB,B为已经发现的邻居节点个数。经过本发明方案的处理,可以使得上述邻居发现方法的运行复杂度为N。51INTCL权利要求书1页说明书7页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书7页附图3页10申请公布号CN104202792ACN104202792A1/1页21一种单跳网络下基于反馈信息的运行时间是N的邻居发现方法,所述网络中节点总数N。

3、已知,节点间时间片为同步,其中每个节点包括报文发送模块、报文接收模块和邻居发现主模块,其中所述报文发送模块用于不同报文的组装,报文分为DISCOVERY报文和SUCCESS报文;所述报文接收模块用于接收报文;所述邻居发现主模块分为时间片管理模块、邻居信息模块、节点信息模块。所述方法包括步骤101在邻居信息模块中初始化已发现邻居节点个数B0,初始化邻居节点列表NBRLIST,在节点信息模块中设置标志FLAG0,执行步骤102;步骤102判断FLAG1并且BN1是否为真,如果是则结束邻居发现过程,否则跳转到步骤103;步骤103设置当前节点报文发送模块发送概率是1/NB,执行步骤104;步骤104。

4、判断当前节点的标志FLAG是否等于零,等于零表示当前节点未被邻居节点发现,不等于零表示该节点已被邻居节点发现,如果当前节点未被邻居节点发现则跳转到步骤105,否则跳转到步骤108;步骤105当前节点时间片管理模块把当前时间片分为两个子时间片,并且控制报文发送模块在第一个子时间片内按照1/NB的概率发送DISCOVERY报文,如果DISCOVERY报文发送成功则跳转步骤106,否则跳转步骤108;步骤106判断当前节点报文接收模块在当前时间片的第二个子时间片内信道是否空闲,如果是空闲的,即跳转到步骤102,否则跳转到步骤107;步骤107当前节点已被邻居发现,不再发送DISCOVERY报文,设置。

5、节点信息模块中的标志FLAG1,跳转到步骤102;。步骤108判断当前节点是否成功收到其它邻居节点在当前时间片的第一个子时间片内发送的DISCOVERY报文,如果成功接收了DISCOVERY报文,则跳转到步骤109,否则跳转到步骤102;步骤109在当前时间片的第二个子时间片内当前节点通过报文发送模块发送反馈SUCCESS报文,同时将已接收到DISCOVERY报文的源节点MAC地址加入到邻居节点列表NBRLIST中,设置已发现邻居节点个数BB1,并返回到步骤102。2如权利要求1所述的方法,其特征在于,其中所述所述时间片管理模块用于把邻居发现过程的分为若干个时间片,在某个具体的时间片,由邻居发。

6、现主模块协调报文发送模块和报文接收模块处理报文;邻居信息模块维护邻居节点列表和已发现邻居节点个数,邻居节点列表包括已发现邻居节点MAC地址一个字段;节点信息模块维护自身信息,包括是否已被邻居节点发现的标志FLAG和节点自身地址。3如权利要求1所述的方法,其特征在于,其中步骤108中,所述当前节点没有成功接收DISCOVERY报文时,表明没有任何节点发送DISCOVERY报文。或两个或者两个以上邻居节点同时发送DISCOVERY报文导致冲突发生。权利要求书CN104202792A1/7页3一种单跳网络下基于反馈信息的网络邻居发现方法技术领域0001本发明涉及无线通信技术领域,尤其涉及一种单跳网络。

7、下基于反馈信息的网络邻居发现方法。背景技术0002无线自组织网络WIRELESSADHOCNETWORKS是由大量的静止或移动的节点以自组织单跳或者多跳方式构成的无线网络,它不需要固定通信设备的支持,各节点之间自行组网。例如,立即部署时,节点不知道它的通信范围内有哪些节点,需要先发现邻居节点,然后才能和被发现的节点进行通信。邻居发现是无线自组织网络初始化中不可缺少的第一步,MACMEDIAACCESSCONTROL,路由协议以及拓扑控制算法都需要知道邻居信息,才能有效工作。0003邻居发现方法可分为两类随机邻居发现和确定邻居发现。在随机邻居发现中,每个节点传输的次数是随机的,并在一定时间内以极。

8、大概率发现所有邻居。在确定邻居发现中,每个节点按照事先确定的策略进行传输,并在一定时间内以概率1发现所有邻居。然而,在分布式环境下,确定性往往是以增加运行时间为代价的,由于确定邻居发现存在上述缺点和不足,我们选择随机邻居发现作为参考提出我们的方法。0004目前,邻居发现方法面临着如下问题00051邻居发现需要处理冲突,也就是既要保证冲突的可能性降到最低同时也要保证用的时间是最少;00062在许多实际情况下,由于网络节点总数未知,进一步加大了算法处理冲突的难度;00073当全局时钟未知的情况下,要求节点能够异步工作同时能有效的发现所有邻居;00084在异步条件下,节点可能在不同时间开始邻居发现,。

9、可能会错过其它节点传输数据;00095当邻居个数未知时,节点不知何时终止邻居发现。0010由于传统的邻居发现方法面临着上述5个问题,需要提出一个能有效解决这些问题的邻居发现方法。0011在当前申请的方案中考虑如下的网络模型0012用GV,E表示一个单跳无线网络,其中V是N个节点的集合,是G中无向边的集合。节点I和节点J之间存在一条边是指节点J和节点I相互在对方的传输范围内。节点I和节点J存在一条边,节点J和节点I也存在一条边,即如果I,JE,则J,IE,并且I,J和J,I表示同一条边。0013对单跳无线网络G,作如下假设00141节点ID是唯一的,即任意两个节点的ID不相同,ID可以设置为节点。

10、的MAC地址或者节点的位置;说明书CN104202792A2/7页400152半双工收发器模型,每个节点都有一个接收器和发送器,节点可以发送或接收报文,但不能同时工作;00163冲突模型,当两个或者更多节点同时发送报文的时候会产生冲突,节点能够侦听冲突。00174不考虑报文丢失的情况,即如果没有冲突发生,那么一个节点发送的报文一定被另外的节点接收。0018N个节点部署在一个区域中且不知道网络G的信息,定义节点I在时间T内从节点J收到一条或多条信息,则称节点I在时间T内发现节点J。0019我们将在上述网络模型和条件下阐述本发明的技术方案。发明内容0020本发明设计了一种基于反馈信息运行时间是N的。

11、单跳网络邻居发现方法,适用于无线自组织网络中的网络节点进行邻居发现。网络节点能够侦听冲突,即能够区分一个空闲的时间片和一个有冲突的时间片。本方法解决了标准冲突信道模型下邻居发现面临的上述问题。0021无线自组织网络中的一个节点包括报文发送模块、报文接收模块和邻居发现主模块。报文发送模块用于不同报文的组装,报文分为DISCOVERY报文和SUCCESS报文。报文接收模块用于接收报文。邻居发现主模块分为时间片管理模块、邻居信息模块、节点信息模块,其中,时间片管理模块用于把邻居发现过程的分为若干个时间片,在某个具体的时间片中,由邻居发现主模块协调报文发送模块和报文接收模块处理报文;邻居信息模块维护邻。

12、居节点列表和已发现邻居节点个数,其中邻居节点列表包括已发现邻居节点地址和被发现标识两个字段;节点信息模块维护自身信息,包括是否已被所有邻居发现的标志FLAG和节点自身地址。0022基于反馈信息运行时间是N的单跳网络邻居发现方法分为两种基本邻居发现方法适用于节点间时间片是同步的情况,而异步的邻居发现方法适用于节点间时间片异步的情况。0023一种单跳网络下基于反馈信息运行时间是N的基本邻居发现方法,网络节点总数N是已知的,而且节点时间片是同步的,包括以下步骤00241网络节点邻居发现主模块把每个时间片分为两个部分;在第一个子时间片内,未被邻居发现节点即FLAG标志为0通过报文发送模块以概率1/NB。

13、随机发送DISCOVERY报文,N是网络中节点总数,B是已经发现的邻居节点个数,B由邻居信息模块获得;随着已发现邻居节点个数B的增加,未被邻居发现节点发送DISCOVERY报文的概率逐渐增大,以此提高未被邻居发现节点被发现的概率。00252在每个时间片的第一个子时间片内,如果当前节点报文接收模块成功接收到DISCOVERY报文在同一个子时间片内当前节点只能成功接收一条DISCOVERY报文,则当前节点向DISCOVERY报文的源节点发送SUCCESS报文,说明当前节点成功发现源节点。00263在每个时间片的第二个子时间片内,如果当前节点的报文接收模块不空闲成功接收到一条SUCCESS报文或者侦。

14、听到有冲突发生,则说明当前节点成功被邻居节点发现。说明书CN104202792A3/7页5附图说明0027图1示出了单跳网络下邻居发现系统示意图;0028图21示出了节点间时间片是同步的情况下,网络节点总数N已知时单跳网络下基于反馈信息的基本邻居发现方法流程图;0029图22示出了节点间时间片是同步的情况下,网络节点总数N未知时单跳网络下基于反馈信息的基本邻居发现方法流程图;0030图3示出了DISCOVERY报文和SUCCESS报文的具体格式。具体实施方式0031下面结合实施例对本发明的技术方案进行具体说明。0032邻居发现方法是针对整个网络中的全部节点部署实施的方案,即所有节点运行同样的程。

15、序,包括同步邻居发现方法及异步邻居发现方法,对于同步邻居发现方法又分为网络节点总数已知和未知两种情形,下面将分别进行描述。00331、网络节点总数N已知的同步邻居发现方法0034如图21所示,为单跳网络下基于反馈信息运行时间是N的基本邻居发现方法网络节点总数N已知,包括以下几个步骤0035步骤101在邻居信息模块中初始化已发现邻居节点个数B0,初始化邻居节点列表NBRLIST,在节点信息模块中设置标志FLAG0。0036步骤102判断FLAG1并且BN1是否为真,如果是则结束邻居发现过程,否则跳转到步骤103。FLAG1代表当前节点已经被邻居节点发现,BN1代表当前节点已经成功发现所有邻居节点。

16、。0037步骤103设置节点报文发送模块发送概率是1/NB。0038步骤104判断当前节点的标志FLAG是否等于零,等于零表示当前节点未被邻居节点发现,不等于零表示该节点已被邻居节点发现,如果节点未被邻居发现则跳转到步骤105,否则跳转到步骤108。0039如果当前节点未被邻居节点发现,则当前节点才会进入发送DISCOVERY报文的步骤步骤105;否则,当前节点进入接收来自邻居节点DISCOVERY报文的步骤步骤108。0040步骤105当前节点时间片管理模块把当前时间片分为两个子时间片,并且控制报文发送模块在第一个子时间片内按照1/NB的概率发送DISCOVERY报文,如果DISCOVERY。

17、报文发送成功则跳转步骤106,否则跳转步骤108;0041DISCOVERY报文发送成功意味着当前时间片的第一个子时间片内只有当前节点发送DISCOVERY报文,其它邻居节点接收DISCOVERY报文,当前节点进入等待邻居节点发送反馈SUCCESS报文的步骤步骤106;DISCOVERY报文发送不成功代表两种情况第一,由于概率的作用,当前节点没有发送DISCOVERY报文,此时当前节点进入接收邻居节点DISCOVERY报文的步骤步骤108;第二,当前节点与邻居节点同时发送DISCOVERY报文,造成冲突发生,此时当前节点和邻居节点同时进入接收DISCOVERY报文的步骤步骤108。0042步骤。

18、106判断当前节点报文接收模块在当前时间片的第二个子时间片内信道是否空闲,如果是空闲的,即跳转到步骤102,否则意味着当前节点成功接收到一个邻居节点说明书CN104202792A4/7页6的SUCCESS报文或者多个邻居节点的SUCCESS报文产生了冲突,即当前节点被一个或者多个邻居节点发现,跳转到步骤107。0043步骤107当前节点已被邻居发现,不再发送DISCOVERY报文,设置节点信息模块中的标志FLAG1,跳转到步骤102。0044步骤108判断当前节点是否成功收到其它邻居节点在当前时间片的第一个子时间片内发送的DISCOVERY报文,如果成功接收了DISCOVERY报文,则跳转到步。

19、骤109,否则跳转到步骤102判断是否继续进行邻居发现过程。当前节点没有成功接收DISCOVERY报文代表两种情况第一,没有任何节点发送DISCOVERY报文;第二,两个或者两个以上邻居节点同时发送DISCOVERY报文导致冲突发生。0045步骤109在当前时间片的第二个子时间片内当前节点通过报文发送模块发送反馈SUCCESS报文,同时将已接收到DISCOVERY报文的源节点MAC地址加入到邻居节点列表NBRLIST中,设置已发现邻居节点个数BB1,并返回到步骤102判断是否继续进行邻居发现过程。00462、网络节点总数N未知的同步邻居发现方法0047如图22所示,为单跳网络下基于反馈信息运行。

20、时间是N的基本邻居发现方法网络节点总数N未知,包括以下几个步骤0048步骤201在邻居信息模块中初始化已发现邻居节点个数B0,初始化节点邻居列表NBRLIST,在节点信息模块中设置标志FLAG0。0049步骤202当前节点的时间片管理模块把运行时间分为多个阶段,其中第R个阶段持续2R1E个时间片,设置R的初值为1。0050步骤203判断当前节点是否已经被邻居节点发现FLAG1代表当前节点已经被邻居节点发现同时已经成功发现所有邻居节点,如果是则结束邻居发现过程,否则跳转到步骤204。0051判断当前节点是否已经成功发现所有邻居节点的方法是在一个给定的时间段内,当前节点的报文发现模块没有收到任何D。

21、ISCOVERY报文,则说明当前节点已经成功发现所有邻居节点。所述“给定的时间段”可以定义为如果节点的报文发送时间为T,则给定的时间段可以是ATA2,3,N。0052利用“给定时间段”判断的机理为,同步情况下当前节点的N1个邻居节点发送DISCOVERY报文的概率分别为P1,P2,PN1,那么给定AT时间内所有邻居节点都没有发送DISCOVERY报文的概率是P1P11P21PN1,也就是如果保证AT时间段内P极小,那就是说在AT时间段内,所有邻居节点同时不发报文的事件是小概率事件,那么如果出现所有邻居节点都没有发送报文的情况,说明邻居节点确实没有发送DISCOVERY报文邻居节点都已经被发现了。

22、。0053步骤204判断第R个阶段是否结束,即判断第个R阶段持续的2R1E个时间片是否结束,如果结束,跳转到步骤212,否则跳转到步骤205。0054步骤205设置节点报文发送模块发送概率是1/2RB。0055步骤206判断当前节点的标志FLAG是否等于零,等于零表示当前节点未被邻居节点发现,不等于零表示该节点已被邻居节点发现,如果节点未被邻居发现并且则跳转到步骤207,否则跳转到步骤208。说明书CN104202792A5/7页70056如果当前节点未被邻居发现,我们要按照概率发送报文,否则,节点的报文接收模块接收来自其它节点的报文。0057步骤207当前节点时间片管理模块把当前阶段当前时间。

23、片分为两个子时间片,并且控制报文发送模块在第一个子时间片内以概率1/2RB发送DISCOVERY报文用来进行邻居发现,如果成功发送DISCOVERY报文则跳转步骤210,否则跳转步骤208。0058DISCOVERY报文发送成功意味着当前阶段当前时间片的第一个子时间片内只有当前节点发送DISCOVERY报文,其它邻居节点接收DISCOVERY报文,当前节点进入等待邻居节点发送反馈SUCCESS报文的步骤步骤210;DISCOVERY报文发送不成功代表两种情况第一,由于概率的作用,当前节点没有发送DISCOVERY报文,此时当前节点进入接收邻居节点DISCOVERY报文的步骤步骤210;第二,当。

24、前节点与邻居节点同时发送DISCOVERY报文,造成冲突发生,此时当前节点和邻居节点同时进入接收DISCOVERY报文的步骤步骤208。0059步骤210报文接收模块在当前阶段当前时间片的第二个子时间片内信道是否空闲,如果是空闲的,则跳转到步骤204,否则意味着当前节点成功接收到了一个邻居节点发送的SUCCESS报文或者多个邻居节点发送的SUCCESS报文产生了冲突,即当前节点被一个或者多个邻居节点发现,跳转到步骤211。0060步骤211当前节点已被邻居节点发现,不再发送DISCOVERY报文,设置节点信息模块中的标志FLAG1,跳转到步骤204。0061步骤208判断当前节点是否成功收到其。

25、它邻居节点在当前阶段当前时间片的第一个子时间片内发送的DISCOVERY报文,如果成功接收了DISCOVERY报文,则跳转到步骤209,否则跳转到步骤204继续判断R阶段是否结束。当前节点没有成功接收DISCOVERY报文代表两种情况第一,没有任何节点发送DISCOVERY报文;第二,两个或者两个以上邻居节点同时发送DISCOVERY报文导致冲突发生。0062步骤209在当前阶段当前时间片的第二个子时间片内当前节点通过报文发送模块发送反馈报文SUCCESS,同时将已接收到DISCOVERY报文的源节点MAC地址加入到邻居节点列表NBRLIST中,设置已发现邻居节点个数BB1,并返回到步骤204。

26、。0063步骤212设置阶段RR1,跳转步骤203再次进行邻居发现是否完毕的判断及其后续各步骤。0064从以上步骤中可以看出我们的邻居发现方法的核心思想是把每个时间片分为两个子时间片,在第一个子时间片内节点假设节点I按概率发送报文DISCOVERY,然后在第二个子时间片节点I接收邻居节点发送的反馈SUCCESS报文,这时可能会产生冲突,节点I的接收模块根据信道是否空闲来判断它是否被邻居发现如果信道是非空闲的则说明节点I成功接收一个邻居节点发送的反馈SUCCESS报文,或者多个邻居节点的反馈SUCCESS报文造成了冲突,即节点I在第一个子时间片内发送的DISCOVERY报文成功被邻居节点接收,即。

27、节点I被邻居节点发现了。然后逐渐增大网络中其它未发现的节点发送报文的概率,继续邻居发现过程,直至每个节点发现所有邻居每个节点被所有邻居发现。0065为了说明我们的基本邻居发现方法更加高效,下面分别证明了在网络节点总数N已知和未知的情况下,在此提及的基本邻居发现方法的运行复杂度为N。00661网络节点总数N已知0067为了方便描述,我们用W表示每个节点发现它所有N1邻居的时间。我们把邻居说明书CN104202792A6/7页8发现分成多个阶段,其中第M个阶段的持续时间为WM,0MN1,WM从第M个邻居被发现开始,到第M1邻居被发现结束。因此因为在第N1个阶段,只有一个邻居没被发现,这时只包括一个。

28、时间片。一般地,在第M个阶段,有NM个节点未被发现,每个节点发送报文的概率为1/NM。该阶段报文被成功接收的概率PM为00680069可以证明00700071注意到WM服从几何分布,均值是1/NMPM,则00720073把1式带入2式并简化得00740075定义1当满足条件时PXXPYX,我们说一个随机变量X随机支配另一个随机变量Y。0076我们引入随机变量随机支配变量W,定义如下其中服从几何分布,均值为E。由于WM服从均值1/NMPME的几何分布,因此00770078注意到是一个帕斯卡变量,参数是N,均值是1/E,引入随机变量XTBINOMIALT,1/E,则XT和有如下关系00790080。

29、这是因为表示直到N个事件成功的等待时间,而XT表示在T个时间片内成功的事件数。因此我们有008100820083设置T2NE,1/2,我们有0084当N时。0085由于即我们得到W以极大概率2NE。同理可证,W以极说明书CN104202792A7/7页9大概率NE/2,因此W以极大概率满足如下不等式00860087即运行时间W的复杂度为N。00882网络节点总数N未知0089当N未知时,我们把算法分为多个阶段,其中第R个阶段维持2R1E个时间片,每个未被发现的邻居节点在该阶段内以概率1/2RB发送报文DISCOVERY,其中B表示已经被当前节点发现的邻居节点个数。例如,在第个阶段,还有NB个邻。

30、居节点没被当前节点发现,则以1/NB的概率发送报文。0090类似于上述1中的分析,每个节点在内发现所有邻居节点的概率接近于1。因此每个节点发现所有邻居节点的运行时间为00910092即运行时间W的复杂度为N。0093最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。说明书CN104202792A1/3页10图1图21说明书附图CN104202792A102/3页11图22说明书附图CN104202792A113/3页12图3说明书附图CN104202792A12。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1