CN104185243B - 一种快速邻居发现方法 - Google Patents
一种快速邻居发现方法 Download PDFInfo
- Publication number
- CN104185243B CN104185243B CN201410471518.3A CN201410471518A CN104185243B CN 104185243 B CN104185243 B CN 104185243B CN 201410471518 A CN201410471518 A CN 201410471518A CN 104185243 B CN104185243 B CN 104185243B
- Authority
- CN
- China
- Prior art keywords
- node
- message
- neighbor
- channel
- time
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种用于MANET初始化过程中的邻居发现方法,从减少碰撞,使用多重确认机制减少发送总量,重复利用空闲时时间等方面对邻居发现的时间进行优化。其内容包括:使用信道监听的方式将邻居发现过程分为发送阶段和帧间间隔两个阶段,从而将碰撞限制在帧内,避免连续的碰撞;发现报文附带对前几个发现报文的确认,收到确认的节点则认为自身已被发现退出竞争以减少发送报文总量;节点竞争信道采用以一定概率随机的方式,当没有节点发送报文时,监听一段时间后开始第二次随机竞争。本发明适合用于没有任何基础设施需要立即部署运行的MANET。
Description
技术领域
本发明涉及MANET(Mobile ad-hoc network)中邻居发现方法,主要用于在网络初始化阶段加快MANET中邻居节点的发现速度。
技术背景
随着人们对随时随地都可以进行自由通信的渴望不断增加,近几年来无线网络通信迅猛发展,使得人们可以通过配有无线接口的便携机或个人数字助理来实现移动中的通信。MANET适合于无法或不便预先铺设网络设施的场合以及需要快速自动组网的场合。其主要应用于军事、紧急救援、传感网络、物联网、个人局域网、汽车自组织网络等领域。但在一些需要立即部署的网络中已有的邻居发现方式已经不能满足其时间要求,人们迫切需要一种成熟的,能应用于无线自组网中的快速邻居发现算法。
无线自组网中由于通常都没有预先的通信基础设施,如基站、中心节点等。因此,在无线自组网的初始化阶段有很多常见的通信协议是无法运行的。所以目前也没有有效手段来应对大量节点有组网需求而产生的碰撞情形。另外,一些移动自组织网络通常部署于未知环境,同时所处环境也在不断变化。如何能使得在恶劣通信条件下,网络初始化阶段的邻居发现能顺利进行也是急需解决的问题。
IETF给出了一种移动自组网的邻居发现协议,但协议并非专门针对网络初始化专门设计。其完成邻居发现时间很大程度依赖于发送发现报文的频率和MAC层协议如何处理碰撞。常见的邻居发现报文的发送形式分为两大类,即随机发送和确定发送。随机发送即发送前以一定概率决定是否发送。而确定发送则是以一定调度来发送,通常运行于时间同步的网络。但即时部署的自组织网络通常都没有时间同步,显然随机发送更适合于自组织网络。随机发送的最优概率,已经有人证明了为1/n(n为节点总数)。但这种随机发送的模式在异步情况下依然会出现很多碰撞,并且在邻居发现后期找到新邻居的概率越来越小。同时这种以概率发送的方式也并没有充分利用时间。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种快速邻居发现方法,依赖条件较少,只要网络中的节点有信道监听功能就可以运行。
本发明技术解决方案:一种快速邻居发现方法,从三个方面提高邻居发现速度:一是,使用监听功能将邻居发现分成几个阶段,使碰撞只会发生在一个阶段内部。二是,邻居发现报文同时也对之前的报文进行确认,得知自己已被邻居发现的节点自动退出竞争。三是,及时监听信道,在确认信道空闲后再次组织对信道的竞争。
本发明实现步骤如下:
(1)通过信道监听将邻居发现过程分为帧间间隔阶段和发送阶段;在信道由忙变闲时即进入帧间间隔阶段,在帧间间隔阶段结束后即进入发送阶段;发送阶段开始时节点以概率pi发送发现报文,各个节点开始竞争信道;
(2)使用多重确认机制告知节点已被发现使其退出竞争,从而加速邻居发现过程的收敛;节点收到发现报文后,如在内容中发现自身ID,节点就退出竞争,在网络初始化阶段不再发送发现报文;
(3)通过监听检测上一次竞争是否有节点发送报文,如果没有则开始二次竞争。
所这方法适用于MANET,对网络初始化过程中邻居发现时间要求短的网络。
所述帧间间隔阶段时间为δ,δ必须保证所有节点在这个时间之内进入接受状态。
所述概率pi的取值为pi=1/(n-mi),其中n为节点总数,mi为当前节点邻居列表长度。
当节点未在发送阶段开始时发送发现报文,则等待时间2τ后,如信道为空闲则再次以概率pi发送发现报文。
所述发现报文报头包括源节点ID目的节点ID即为广播ID,报文内容包括不多于k个节点的ID信息。
所述k个节点ID的选取,采用滑窗方式选取从邻居列表末尾加入列表的不超过k个的节点ID,k的值为4。
所述邻居列表的创建方式为:先建立表头,收到发现报文后,源地址如果为新的ID则加在邻居列表后面,报文内容中如果有新的节点ID则从表头插入邻居列表,增加列表长度时mi实时更新。
本发明与现有技术相比的优点在于:
(1)时间被划分成发送阶段和帧间间隔阶段后,碰撞就会限制在每个发送阶段内,其时间复杂度的计算方式也就跟时间同步网络的情形一样了,而帧间隔只是一段很小的时间所以邻居发现的时间会大大减少。
(2)报文附带对之前报文的确认可以使已经成功发送报文即时退出竞争,而附带多个确认可以使该方法适用于通信条件比较差的环境而不损失交多性能。报文中的多个ID也能使接受到的节点一次发现多个邻居,从而加速邻居发现的过程。
(3)当每个节点即使用最优概率1/n来竞争信道,也会有大于三分之一的概率出现没有节点发送报文的情况。使用监听确认没有节点发送报文后再次竞争信道,可以使发送阶段为空闲的概率降低到七分之一以下。
附图说明
图1为本发明的实现流程图;
图2是信道变空闲后等待时间δ的报文发送情况;
图3是邻节点列表的组织方式和操作示意;
图4是等待2τ时间后二次竞争时的情形;
图5是报文结构;
图6是报文处理流程图;
图7是节点运行流程图。
具体实施方式
以下对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,假设节点总数为n,mi(1≤i≤n-1)为第i个节点发现的邻居数目。具体改进方式如下:
1)节点在监听到信道由忙变空闲时,等待时间δ。如果当前节点需要发送发现报文,则以一定概率pi(i=1,2,n…)发送,如图2所示。时间δ主要由节点的性能决定,由于收到报文后需要时间来处理才能再次接受报文,而发送节点也需要时间从发送状态切换到就接受状态,δ就是其中的最大值。这样邻居发现过程就分为报文发送阶段和帧间间隔阶段,而碰撞只会出现在发送阶段。
2)发现报文除了必要的报头外,报文内容还包括自身邻节点列表后k个节点的地址信息。在节点收到报文后,如报文的源地址不在自身邻居列表中则将源地址加在邻居列表最后,再查看报文内容,将不存在自身邻节点列表中的地址从邻节点表头插进表中,如图3所示,如在报文内容中发现自身地址,则退出竞争,在网络初始化阶段不再发送邻居发现报文。这样需要发送报文的节点就会越来越少,整个邻居发现过程就会加快收敛。在节点退出竞争之前,每发现一个新邻居节点概率pi就适当增大。另外报文内容中的k个节点的地址也是一种信任机制和冗余措施,保证在较差的通信环境下节点也能陆续退出竞争。k值的选取与通信质量有关。本发明取值为4。
3)节点以一定概率发送报文会出现没有节点发送的情况,为了减少这种情况的发生可以让节点等待时间δ后再等待一段时间2τ,再次监听信道是否空闲。τ为网络中最大的传播时延,因此在等待2τ时间后就可以确定之前是否有节点发送报文。如果信道为空闲就可以开始二次竞争,需要发报文的节点以概率pi发送,如图4所示。这样就会减少空闲时间的比例,增大时间利用率。
根据以上改进,本发明具体描述如下:
(1)发现报文报头中包含目的节点ID和源节点ID,报文内容中包含滑窗所包括的节点的ID,滑窗最大为k,初始化后为0,当有新的ID从列表后加入列表滑窗就向后增长滑动。
(2)节点在未确认自己被发现时,每次监听到信道变为空闲则等待时间δ再次监听信道,如果仍为空闲则以概率p=1/(n-mi)发送报文,mi为自身邻节点列表长度。如果自身未发送报文则继续监听2τ时间,2τ时间后如果信道仍未空闲,则再次以概率p=1/(n-mi)发送报文。
(3)节点在收到发现报文后,先检查源节点ID,如不在自身邻节点列表中则将ID加在列表后面,同时滑窗向后移,mi加一。然后再检查报文内容,如发现ID不在自身邻节点列表中,则将ID从表头插入列表,mi加一。如发现自身ID,则认为自己已经被发现,节点退出竞争在初始化阶段不再发送发现报文。
下面结合实施例对本发明进一步详细说明。
本发明实例用于展示n个节点的网络中,单个节点在网络初始化的邻居发现阶段的数据组织形式和运行流程。本发明实施例中节点地址即为节点ID。
1)报文说明
报文结构如图4所示,本示例仅用于表示本方法报文中至少应包含的要素,并非用于限定各要素的排列顺序和数目。
报文报头部分包含源地址(发送节点ID),目的地址(接受节点ID),报文类型。报文内容中包含ID列表长度说明和ID列表。ID列表来自邻居列表中滑窗所包含部分。
2)邻节点列表组织形式
邻节点列表为带头节点的单链表,有一指针指向列表尾部,另有一滑窗用于标记列表后k个ID信息,m用来记录邻居个数。此处滑窗只是用于阐释,并非用于限定标记后k个ID信息的形式,如用最大长度为k的队列同样可以进行标记。
3)邻节点列表操作形式
邻节点列表的操作形式如图3所示。从列表末尾插入的ID只能是源地址,从表头插入的ID只能来自报文内容。滑窗初始大小为0,当从邻节点末尾添加ID后才开始向后增长滑动,当大小为k时不再增长只滑动。
4)报文处理流程
无线通信中,接受到数据报通常是一次中断事件,一般由中断服务程序对数据报进行处理。即,报文到来后,系统中断当前运行流程跳转至中断服务程序,中断服务程序执行完后再回到中断之前的流程。但在基于操作系统的平台时,有时中断服务程序只起到接受数据的作用,然后再通知其他任务对收到数据进行处理。下面是对数据报处理流程的描述,流程图如图6所示,报文处理流程通过flag标志告知节点运行流程自身已被发现。
①当数据报接受完成时,检查报文源地址,看是否在自身邻节点列表中,如在则执行③,否则执行②。
②将源地址加入到邻节点列表末尾,m加一。
③去报文内容中取第一个ID。
④在邻节点列表中查找此ID,如在,则执行⑥,否则执行⑤。
⑤如此ID为自身ID,则令flag=1,否则将ID从表头插入邻节点列,m加一。
⑥取下一个ID,如没有则退出流程,否则执行④。
5)节点运行流程
节点的运行流程主要是用来协调个节点之间发送信息的冲突。流程中用到的变量有发送概率p,被发现标记flag,上次是否发送标记lastflag,等待时间δ和τ,解释如下:
p:p=1/(n-m),每次要发送报文时都不是百分百发送,而是以一定概率发送。
flag:用于标记自身是否被其他节点发现。
lastflag:用于标记上一次是否发送过报文。
δ:δ时间长度是保证任何节点能在这个时间长度内从任何状态切换到接受状态。比如,δ时间内节点能处理完收到的报文并进入准备接受状态。
τ:τ为网络中最大的传播时延。
流程描述如下,流程图如图7所示,其中在非发送状态时,有报文来后即进入中断状态执行4)中流程。
①开机,初始化各变量,令m=0,flag=0,lastflag=0。
②检查m是否小于n-1,如大于或等于则退出发现阶段。
③监听信道,如信道忙,则执行②。
④延迟时间δ,再次监听信道,如信道忙,则执行②。
⑤验证条件:flag==0&&lastflag==0是否为真,如为真则以概率p=1(n-m)发送报文。
⑥如发送了报文,则令lastflag=1,执行②,如未发送报文,则令lastflag=0并延迟时间2τ。
⑦监听信道,如信道忙,则执行②。
⑧验证条件:flag==0&&lastflag==0是否为真,如为真则以概率p=1/(n-m)发送报文,执行②。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
Claims (5)
1.一种快速邻居发现方法,其特征在于实现步骤如下:
(1)通过信道监听将邻居发现过程分为帧间间隔阶段和发送阶段;在信道由忙变闲时即进入帧间间隔阶段,在帧间间隔阶段结束后即进入发送阶段;发送阶段开始时节点以概率pi发送发现报文,各个节点开始竞争信道;发现报文报头中包含目的节点ID和源节点ID,报文内容中包含滑窗所包括的节点的ID,滑窗最大为k,初始化后为0,当有新的ID从列表后加入列表滑窗就向后增长滑动;
节点在未确认自己被发现时,每次监听到信道变为空闲则等待时间δ再次监听信道,如果仍为空闲则以概率pi=1/(n-mi)发送报文,mi为自身邻节点列表长度,如果自身未发送报文则继续监听2τ时间,2τ时间后如果信道仍未空闲,则再次以概率pi=1/(n-mi)发送报文;
(2)使用多重确认机制告知节点已被发现使其退出竞争,从而加速邻居发现过程的收敛;节点在收到发现报文后,先检查源节点ID,如不在自身邻节点列表中则将源节点ID加在列表后面,同时滑窗向后移,mi加一,然后再检查报文内容,如发现节点ID不在自身邻节点列表中,则将节点ID从表头插入列表,mi加一,如发现自身ID,则认为自己已经被发现,节点退出竞争,在网络初始化阶段不再发送发现报文;
(3)通过监听检测上一次竞争是否有节点发送报文,如果没有则开始二次竞争;
所述帧间间隔阶段时间为δ,δ必须保证所有节点在这个时间之内进入接收状态;
所述概率pi的取值为pi=1/(n-mi),其中n为节点总数。
2.根据权利要求1所述邻居发现方法,其特征在于:所述方法适用于MANET,对网络初始化过程中邻居发现时间要求短的网络。
3.根据权利要求1所述邻居发现方法,其特征在于:所述发现报文报头包括源节点ID、目的节点ID即为广播ID,报文内容包括不多于k个节点的ID信息。
4.根据权利要求3所述邻居发现方法,其特征在于:所述k个节点ID的选取,采用滑窗方式选取从邻节点列表末尾加入列表的不超过k个的节点ID,k的值为4。
5.根据权利要求4所述邻居发现方法,其特征在于:所述邻节点列表的创建方式为:先建立表头,收到发现报文后,源节点ID如果为新的ID则加在邻节点列表后面,报文内容中如果有新的节点ID则从表头插入邻节点列表,增加列表长度时mi实时更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410471518.3A CN104185243B (zh) | 2014-09-16 | 2014-09-16 | 一种快速邻居发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410471518.3A CN104185243B (zh) | 2014-09-16 | 2014-09-16 | 一种快速邻居发现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104185243A CN104185243A (zh) | 2014-12-03 |
CN104185243B true CN104185243B (zh) | 2018-05-01 |
Family
ID=51965901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410471518.3A Active CN104185243B (zh) | 2014-09-16 | 2014-09-16 | 一种快速邻居发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104185243B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109089324B (zh) * | 2018-09-10 | 2021-06-11 | 北京中科晶上超媒体信息技术有限公司 | 一种自组织网络的邻居发现方法 |
CN111163454B (zh) * | 2019-12-16 | 2021-09-03 | 西安电子科技大学 | 一种车联网邻节点发现方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4503533A (en) * | 1981-08-20 | 1985-03-05 | Stanford University | Local area communication network utilizing a round robin access scheme with improved channel utilization |
CN103428821A (zh) * | 2013-07-24 | 2013-12-04 | 上海傲蓝信息科技有限公司 | 一种异步邻居发现方法 |
CN103686611A (zh) * | 2013-12-18 | 2014-03-26 | 中国电子科技集团公司第五十四研究所 | 一种基于定向天线的新型邻居发现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060209772A1 (en) * | 2005-03-15 | 2006-09-21 | University Of Florida Research Foundation, Inc. | Coordinated directional medium access control in a wireless network |
-
2014
- 2014-09-16 CN CN201410471518.3A patent/CN104185243B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4503533A (en) * | 1981-08-20 | 1985-03-05 | Stanford University | Local area communication network utilizing a round robin access scheme with improved channel utilization |
CN103428821A (zh) * | 2013-07-24 | 2013-12-04 | 上海傲蓝信息科技有限公司 | 一种异步邻居发现方法 |
CN103686611A (zh) * | 2013-12-18 | 2014-03-26 | 中国电子科技集团公司第五十四研究所 | 一种基于定向天线的新型邻居发现方法 |
Non-Patent Citations (2)
Title |
---|
Efficient Algorithms for Neighbor Discovery in Wireless Networks;Sudarshan Vasudevan等;《IEEE/ACM TRANSACTIONS ON NETWORKING》;20130228;第21卷(第1期);第III节E部分、第IV节 * |
基于P-坚持CSMA提高RFID系统吞吐率的改进算法;李宝山等;《计算机测量与控制》;20131231(第12期);第1-2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN104185243A (zh) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6388995B2 (ja) | 近隣認識ネットワークデータリンクにおけるトラフィックの告知およびスケジューリング | |
RU2378779C2 (ru) | ПРОТОКОЛ РАССЫЛКИ СИГНАЛОВ-МАЯКОВ ДЛЯ ad-hoc СЕТЕЙ | |
JP6367459B2 (ja) | 近隣認識ネットワークデータリンクにおけるトラフィックの告知およびスケジューリング | |
US8885630B2 (en) | TDMA communications system with configuration beacon and associated method | |
US8254290B2 (en) | Method and apparatus for constructing synchronous sensor network | |
CN1333563C (zh) | 媒体存取控制协议组件及用于传送/接收该组件的方法 | |
KR102372061B1 (ko) | 스케일러블 계층적 아키텍처를 포함하는 낮은 레이턴시 무선 통신을 위한 방법 및 시스템 | |
EP2925047B1 (en) | Method for transmitting and receiving data | |
WO2004102887A1 (ja) | 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム | |
JP2009518967A (ja) | アドホックモードの802.11ネットワーク用の最適atimサイズセットアップの方法及び装置 | |
US11546096B2 (en) | Method and system for data transfer in a Bluetooth low energy network | |
US7450553B2 (en) | System and method for selecting beacon transmission starting point in communication system | |
US20110007678A1 (en) | Hierarchy for group addressed frames delivery | |
US20160286388A1 (en) | Method, apparatus, and computer program product for service anonymity | |
CN104185243B (zh) | 一种快速邻居发现方法 | |
CN105072586B (zh) | 嵌入式无线自组织网络中对广播消息的转发的管理方法 | |
US9538365B2 (en) | Method for transmitting and receiving data | |
US20190104467A1 (en) | Slotted channel access in communications network | |
EP1636944B1 (en) | Method and arrangement for reducing the average time needed for a communication unit to connect to a communication network | |
EP3755018B1 (en) | Method and system for data transfer in a bluetooth low energy network | |
JP3740995B2 (ja) | 無線通信ネットワークにおける通信制御方法 | |
Hsu et al. | A multi-channel mac protocol using maximal matching for ad hoc networks | |
Karabulut et al. | CoMACAV: Cooperative MAC Protocol for Autonomous Vehicles | |
KR100896986B1 (ko) | 저속 무선 사설망에서 히든 노드 충돌을 효과적으로복구하는 방법 | |
Kang et al. | A fast ad-hoc neighbor discovery algorithm based on a friend trust mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |