CN101568164B - 一种Ad hoc网络机会路由的实现方法 - Google Patents
一种Ad hoc网络机会路由的实现方法 Download PDFInfo
- Publication number
- CN101568164B CN101568164B CN2009100862093A CN200910086209A CN101568164B CN 101568164 B CN101568164 B CN 101568164B CN 2009100862093 A CN2009100862093 A CN 2009100862093A CN 200910086209 A CN200910086209 A CN 200910086209A CN 101568164 B CN101568164 B CN 101568164B
- Authority
- CN
- China
- Prior art keywords
- node
- priority
- packet
- forwarding list
- transferring
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种基于节点优先级的Ad hoc网络机会路由算法。该方法通过路由请求消息和路由应答消息建立源节点到宿节点间的中间节点转发列表,转发列表中的节点根据路由应答消息中距离宿节点的远近进行优先级设定,距离宿节点越近优先级越高,转发列表携带在数据包的头部,位于转发列表中的中间节点均有机会对收到的数据包进行转发,通过设置包的序列号避免广播风暴,通过优先级比较来避免一定数量包的重复转发,通过多于一个的下一跳节点转发节点来提高信息传输的成功率。机会路由机制在信道质量较差的场景中能够充分利用离宿节点较近的转发节点进行转发,能够确保较高的投递率和较小的端到端时延。
Description
技术领域
本发明涉及一种无线多跳自组织网络的路由机制,特别涉及一种机会路由的实现方法。
背景技术
目前Ad hoc网络中出现的典型路由协议包括DSR,AODV,OLSR等。传统路由的实现机制是在源和目的节点间选择一条最好的路径,然后沿着选好的路依次转发数据包。在链路状况比较好的时候,传统的路由机制能够很好的工作。但是,无线信道的不稳定性经常会导致节点传输范围的瞬间变化,并且节点的移动或是开关机也会导致下一跳节点不可达,就会导致频繁的MAC层的确认、重传现象,进而引起路由层路由维护过程或路由更新过程,在无线信道质量变差或者节点间相互距离正好处于临界覆盖范围的情况下这种现象更为严重。这种链路的不可靠性和不稳定性会导致很大的路由维护开销,还会造成上层业务出现很大的时延或大量的丢包现象。
机会路由的方法可以较好地解决上述问题,它使得在无线网络信道质量较差、网络拓扑变化频繁的情况下能够维持较高的投递率和较小的时延,从而更好地支持QoS要求。
机会路由机制中,数据包以广播的方式在转发列表限定的中间节点范围内传送,转发列表是按到目的节点的远近进行优先级排序的,距离目的节点越近优先级越高。所有收到数据包的位于转发列表的节点都有机会对该包进行转发,低优先级的节点不会转发高优先级节点发送的数据包,这样就会迫使数据包向目的节点的方向传。并且每次转发都不止有一个下一跳节点,增加了转发的成功率。机会路由可以充分利用那些很“幸运的”,距离很远的链路。也能够给那些“不幸的”,距离很近的节点新的传送机会。
发明内容
本发明的目的在于提供一种机会转发的路由方法,能够充分利用网络中所有可用的节点资源,尤其是那些距离目的节点较近的节点来转发数据,以达到较高的投递率和较低的时延。为达到上述目的,本发明采取如下步骤实现:
第一步骤:转发列表的构建与维护
当节点有数据要传送时,启动路由请求与应答过程,路由请求消息以泛洪的方式发送,中间节点对于相同的路由请求消息可以转发n次(n根据网络规模大小来定),路由请求消息中记录了它所经过的中间节点,目的节点每收到一个路由请求消息便根据其中记录的中间节点信息获得一个反向路由,单播回复一个路由应答消息。源节点收到路由应答消息后便根据其中的中间节点信息构建转发列表。转发列表是进行过优先级设定的,转发列表根据收到的路由应答消息来动态更新。转发列表被携带到数据包头部同数据包一同转发。
第二步骤:转发列表的优先级设定
路由应答消息中的中间节点信息包含节点地址,并且可以得到每个中间节点到目的节点的跳数,根据到目的节点的跳数大小来设定中间节点的优先级,距离目的节点一跳的节点为最高优先级,两跳的节点为第二优先级,依次类推,共排8个优先级,每个优先级的节点数不超过15。如果后续路由应答消息中出现某个相同的中间节点根据距离目的节点跳数给出不同优先级时,总是取其较高的优先级。
第三步骤:中间节点进行数据转发时的机制
在数据包的头部添加序列号字段和上一跳节点地址字段。中间节点收到一个数据包后,判断自己是否位于转发列表中,如果没有,则丢弃该数据包,如果在,则判断这个包是否是由优先级更高的节点发来的,如果是则丢弃,如果是由优先级相同或更低优先级的节点发来的,则判断该包自己是是否已经转发过,如果是则丢弃,如果不是则将自己地址写入上一跳节点字段继续转发该包。
附图说明
图1为网络拓扑图实例
图2为数据包结构
图3为数据包转发流程
具体实施方式
下面结合实施例对本发明作进一步的描述,但该实施例不应理解为对本发明的限制。
转发列表的建立:当节点有数据要发送时,它就构建路由请求消息RREQ,RREQ中主要包含源IP地址,目的IP地址,RREQ ID。RREQ以泛洪的方式传送,经过的中间节点依次将自己的IP地址写入RREQ中的转发列表字段,中间节点对相同RREQ ID的消息可以转发多次(根据网络规模来设,本发明中的网络示例中此值设为3),这样目的节点就会收到多个RREQ,目的节点每收到一个RREQ就会构建相应的路由应答RREP消息,RREP消息主要包含源IP地址,目的IP地址,转发列表字段。RREP根据RREQ中的转发列表,获得反向路由并单播回源节点。这样,对于相同RREQ ID的RREQ消息,目的节点会回复多个RREP消息,源节点根据多个RREP中的节点信息来建立本地转发列表并设定优先级。
优先级设定过程:在源节点保存一个RREP链表,记录转发列表中的所有节点及其对应的优先级,优先级级数的上限设为8。该链表中有如下内容:节点IP地址和其到目的节点跳数,每次收到一个RREP后便更新此链表。更新过程如下:
如附图1和表1所示,假设源节点在限定时间内共收到七个RREP,收到的第一个RREP中包含的转发节点信息为:{(N4,1hop)(N2,2hop)},赋予优先级时,因为转发列表中还没有条目,因此直接赋予N4和N2优先级分别为1、2;
收到第二个RREP包含的转发节点信息为{(N6,1hop)(N1,2hop)},赋予优先级时先查找转发列表中是否已存在相同节点,如果不存在则按距离目的节点跳数赋予优先级,如果存在,则先按本次RREP中距离目的节点跳数赋予优先级后与转发列表中已赋予的优先级进行比较,如果不同则赋予该节点较高的优先级,由于此时转发列表中不存在N6和N1,因此分别赋予N6和N1优先级为1、2;
收到第三个RREP中的转发节点信息为{(N7,1hop)(N6,2hop)(N4,3hop)},因为转发列表中已经存在节点N6和N4,且其优先级都为最高,因此N6,N4的优先级不变,N7的优先级设为1;
收到第四个RREP中的转发节点信息为{(N7,1hop)(N5,2hop)(N3,3hop)},按优先级排列方法,N7的优先级不变,N5和N3分别赋予优先级为2,3;
收到第五个RREP中的转发节点信息为{(N6,1hop)(N1,2hop)(N2,3hop)},N6,N1,N2的优先级不变;
收到第六个RREP中的转发节点信息为{(N7,1hop)(N5,2hop)(N4,3hop)(N1,4hop)(N2,5hop)(N3,6hop)},按优先级排列方法,这六个节点的优先级取出现过的最高优先级,因此,转发列表中的优先级也不变。
收到第七个RREP中的转发节点信息为{(N7,1hop)(N4,2hop)(N5,3hop)(N3,4hop)(N2,5hop)},按优先级排列方法,这五个节点的优先级取出现过的最高优先级,因此,转发列表中的优先级不变。这时转发列表中的优先级情况为:优先级1:{N4,N6,N7},优先级2:{N2,N1,N5},优先级3:{N3}。
表1转发列表的优先级设定过程
当节点有数据包要发送时,它先查看本地转发列表,如果没有转发节点信息,则发起建立转发列表的过程,这个过程由前两步完成,转发列表的构建有一个超时时间,超过这个时间后,不论是否已经收集完所有的RREP,都要开始数据包的发送过程,数据包发送时把转发列表附加到数据包的头部。
为了避免广播风暴,在转发列表选项头中增加了序列号字段,其中序列号字段范围为0~232-1,循环使用。节点在本地保存一个以(源,目的,序列号)索引的链表,收到一个包后就将该包的(源,目的,序列号)信息保存。为了减少冗余包的数量,保证数据包始终在向离目的节点近的方向转发,在数据包的头部增加了上一跳节点字段,数据包的结构如附图2所示。
数据包转发过程:如附图3所示,节点收到一个数据包后,如果自己不是目的节点,则先判断自己是否位于数据包的转发列表中,如果没有,则丢弃该数据包,如果在,则根据自己在转发列表中的优先级及该包的上一跳节点的优先级来比较该包是不是由比自己的优先级更高的节点发送来的,如果是则丢弃该数据包,并且如果该序列号的数据包在本地的维护缓存中等待处理,则同时删除缓存中的数据包。如果该数据包来自相同优先级或是低优先级节点,则看自己是否收到过此数据包,如果是则将其丢弃,如果没有,将数据包缓存,定时等待,等待的时间大小由其优先级决定,优先级越高等待时间越短,定时期间如果收到更高优先级节点转发的相同序列号的包,则将删除该包,删除定时器。否则定时到时将自己地址写入选项头中的上一跳节点字段,记录该数据包的序列号并把该数据包转发出去。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
以上所述仅为本发明的较佳实施而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种用于Ad hoc网络的机会路由实现方法,其步骤如下:
A)数据包发送期间周期获取网络中源到目的节点间的有效转发节点列表;
B)源节点对收集到的有效转发节点进行优先级的设定,使之按照距离目的节点远近进行优先级排序;
C)源节点把设定优先级的转发列表附加到数据包的头部,然后对数据包进行广播;
D)节点对数据包的转发顺序根据其在转发列表中的优先级进行;
E)数据包头部添加序列号字段来限定节点只能转发一次相同的包。
2.根据权利要求1所述的方法,其特征在于,步骤A进一步包括:节点有数据要发送时才会进行收集中间有效转发节点列表的过程;转发列表根据路由应答消息中包含的中间转发节点来构建;在有数据发送的时候,转发节点列表的获取周期性进行,周期根据不同的场景可以设为不同的值,拓扑相对稳定的场景下这个值可以设得很长——分钟级,拓扑变化频繁的场景下这个值应该设得短一些。
3.根据权利要求1所述的方法,其特征在于,步骤B进一步包括:本地转发列表中的节点是根据路由应答消息中包含的转发节点的跳数来设定优先级的,距离目的节点跳数越少,优先级越高,相同优先级可以有多个节点。
4.根据权利要求1所述的方法,其特征在于,步骤C进一步包括:转发列表是被携带到数据包头部同数据包一同转发的。
5.根据权利要求1所述的方法,其特征在于,步骤D进一步包括:位于转发列表中的节点均有机会对收到的数据包进行转发,其中高优先级的节点对相同优先级或低优先级节点发来的自己没有转发过的数据包进行转发,而低优先 级的节点不再对高优先级的节点发来的数据包进行转发。
6.根据权利要求1所述的方法,其特征在于,步骤E进一步包括:源节点将序列号字段添加到数据包的头部以在网络层唯一标识一个数据包,可以避免广播风暴。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100862093A CN101568164B (zh) | 2009-06-08 | 2009-06-08 | 一种Ad hoc网络机会路由的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100862093A CN101568164B (zh) | 2009-06-08 | 2009-06-08 | 一种Ad hoc网络机会路由的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101568164A CN101568164A (zh) | 2009-10-28 |
CN101568164B true CN101568164B (zh) | 2011-01-05 |
Family
ID=41284042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100862093A Expired - Fee Related CN101568164B (zh) | 2009-06-08 | 2009-06-08 | 一种Ad hoc网络机会路由的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101568164B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102316315B (zh) * | 2010-06-29 | 2013-01-23 | 中国科学院软件研究所 | 一种实时视频传输方法 |
CN102387585B (zh) * | 2010-08-30 | 2015-05-13 | 富士通株式会社 | 用于无线通信网络的通信方法及节点 |
CN101945432B (zh) * | 2010-09-16 | 2016-11-23 | 北京邮电大学 | 一种用于无线mesh网络的多速率机会路由方法 |
CN101969661B (zh) * | 2010-10-27 | 2014-04-23 | 北京握奇数据***有限公司 | 一种移动Ad hoc网络中数据传输方法、装置及*** |
CN102143081B (zh) * | 2011-03-31 | 2014-02-19 | 华为技术有限公司 | 一种报文多次转向方法、装置和*** |
US8681803B2 (en) * | 2011-09-20 | 2014-03-25 | Nec Corporation | Communication system, policy management apparatus, communication method, and program |
CN102740392B (zh) * | 2012-06-01 | 2014-07-23 | 华中科技大学 | 一种机会网络下基于分层地理标签的路由方法 |
CN102932866A (zh) * | 2012-07-06 | 2013-02-13 | 北京邮电大学 | 一种适用于多射频多信道Ad hoc网络的机会路由机制 |
CN104410580B (zh) * | 2014-11-28 | 2018-09-14 | 深圳市华威世纪科技股份有限公司 | 可信安全WiFi路由器及其数据处理方法 |
CN106656956B (zh) * | 2016-09-27 | 2019-10-18 | 河海大学 | 一种规避恶意攻击的Ad hoc网络机会路由方法 |
CN106572166B (zh) * | 2016-11-02 | 2019-07-05 | Oppo广东移动通信有限公司 | 数据传输方法、备份服务器及移动终端 |
CN106793409A (zh) * | 2016-12-30 | 2017-05-31 | 欧普照明股份有限公司 | 照明装置、终端设备及照明*** |
CN110505600B (zh) * | 2018-05-18 | 2022-05-10 | 华为技术有限公司 | 路由方法及装置 |
CN110062301B (zh) * | 2019-01-23 | 2021-12-14 | 中通服咨询设计研究院有限公司 | 路由选择方法、装置、设备以及存储介质 |
CN111065146B (zh) * | 2019-12-19 | 2023-06-06 | 西安邮电大学 | 一种基于链路质量的自组网路由确定方法 |
CN114884899A (zh) * | 2022-07-12 | 2022-08-09 | 之江实验室 | 一种多模态核心网转发和调度方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170560A (zh) * | 2007-11-22 | 2008-04-30 | 复旦大学 | 一种自组织网络中的广播协议 |
-
2009
- 2009-06-08 CN CN2009100862093A patent/CN101568164B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170560A (zh) * | 2007-11-22 | 2008-04-30 | 复旦大学 | 一种自组织网络中的广播协议 |
Also Published As
Publication number | Publication date |
---|---|
CN101568164A (zh) | 2009-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101568164B (zh) | 一种Ad hoc网络机会路由的实现方法 | |
Yuan et al. | An optimized ad-hoc on-demand multipath distance vector (AOMDV) routing protocol | |
CN102148756B (zh) | 一种基于6LoWPAN邻居发现的树状路由方法 | |
CN1645838B (zh) | 完整路由信息的自组网按需距离矢量多路由方法 | |
CN101932062B (zh) | 一种Ad Hoc网络环境下的多路径路由方法 | |
JP4072917B2 (ja) | パケット中継方法、通信経路設定方法及び通信経路設定システム | |
CN102769885B (zh) | 一种在传感器网络中实现路由的方法和传感器网络 | |
CN102447686A (zh) | 一种aodv应用路由协议 | |
CN103260211B (zh) | 一种改进的aomdv路由方法 | |
CN102984781B (zh) | 用于无线自组织网络路由的邻居节点判定方法 | |
WO2020156340A1 (zh) | 一种传输数据的方法及装置 | |
CN101686521B (zh) | 基于网络编码的无线自组网路由查找方法 | |
CN101102283A (zh) | 一种在无线接入点上优化未知单播转发的方法及设备 | |
CN106034322A (zh) | 一种移动自组网中基于链路质量的路由切换方法 | |
CN102170660A (zh) | 一种以aodv为基础的多路径路由的建立方法和*** | |
CN100536429C (zh) | 一种无线网状网中数据传输的方法 | |
CN105007570B (zh) | 一种基于olsr协议的移动自组织网络拥塞控制方法 | |
CN103391595A (zh) | 基于跨层链路状态反馈的矿井应急救援无线网状网路由方法 | |
CN103037436B (zh) | 一种基于HWMP的网络编码感知无线Mesh路由协议 | |
CN105072586A (zh) | 嵌入式无线自组织网络中对广播消息的转发的管理方法 | |
CN104219156B (zh) | 一种适用于层次化空中自组织网络的组播路由方法 | |
Margaryan et al. | Development of an Adaptive Routing Algorithm in MANET | |
Jamali et al. | Comparative analysis of ad hoc networks routing protocols for multimedia streaming | |
Hui et al. | Analysis and research on OLSR protocol for multi-channel assignment of wireless mesh network | |
Jun | The study on multi-path DSDV in Ad Hoc |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110105 Termination date: 20120608 |