CN105025545A - 基于竞争转发的适用于无线网络的路由方法 - Google Patents
基于竞争转发的适用于无线网络的路由方法 Download PDFInfo
- Publication number
- CN105025545A CN105025545A CN201510305213.XA CN201510305213A CN105025545A CN 105025545 A CN105025545 A CN 105025545A CN 201510305213 A CN201510305213 A CN 201510305213A CN 105025545 A CN105025545 A CN 105025545A
- Authority
- CN
- China
- Prior art keywords
- node
- frame
- jumping
- competition
- broadcast
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/22—Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供基于竞争转发选择下一跳中间节点的方法,以及基于该节点选择方法的适用于无线网络的路由方法。本发明在邻居收到数据后再由邻居自身情况去竞争转发权,通过设置退避时间以及退避时间的延长规则,到根节点跳数大的节点在竞争转发数据时退避时间将变得更长,让更优的节点拥有更高的优先级。本发明的路由方法只维护根节点与普通节点的双向路由,由于采用竞争转发机制,根节点与普通节点间存在多条链路,稳定性增强。在数据流产生时利用数据发送机制中目的节点单向广播的方法使全网了解到目的节点路由信息。本发明能更优选择下一跳节点,传输性能更好,路由开销更小。
Description
技术领域
本发明涉及无线网络技术领域,特别是涉及一种无线网络的机会路由技术。
背景技术
无线移动自组网是一个由移动节点的集合临时和动态形成的多跳无线网络,它不需要使用任何现有的网络基础设施或中心化管理,广泛应用于救灾、分布式协作计算和战场自动化等场合。自组织、快速部署和无需任何固定基础设施的特点,使自组网作为一个重要的和有前途的研究领域受到极大关注。然而由于节点移动、信号干扰和功率损耗等因素的影响,在自组网中本质上难以得到准确的链路状态信息和网络拓扑信息。另一方面,繁重的业务流量、频繁的链路中断和网络分离将引发传输中断,造成数据包的延迟和丢失。无线网络可以有效地增大了覆盖范围,增强了性能,覆盖范围的扩大对于解决目前运营商基站之间覆盖盲区或者集中热点接入能力不足等问题是大有益处的。无线网络可以适用于多种接入技术,不同应用技术对应于不同的应用场景,小到家庭宽带网络和小区网络,大到企业网和城域网,无线网络技术均十分适用。
麻省理工大学的研究者提出了机会路由策略,它是一种用于无线多跳网络的路由协议,充分利用无线网络的广播特性能进行数据传输。机会路由协议的基本思想:源节点向目的节点发送一个数据包,首先发送给一个候选节点组A,根据某一度量,再从该节点组A中选出最优节点a,a把数据包广播给另外一组候选节点B,而A组中除a以外的其它节点并不广播此数据包.然后再从B组中选取最优节点b,b把该数据包广播给下一组节点C,如此重复直到目的节点接收到数据包。机会路由协议从源节点到目的节点发送的数据包并不是按一条固定的最佳路径传输,也就是说每次转发的数据包并不是单播给某一个节点,而是充分利用无线网络的广播传输特性,每次数据包都转发给一组节点,这些节点根据它们到目的节点的度量(Metric)来确定它们优先级,选择优先级最高的那个节点再次转发数据包给另外一组节点,如此重复直到目的节点。
机会路由算法中每个节点需要掌握全网拓扑信息,网络路由维护开销大,控制帧比例大。数据转发过程中发送数据的中间节点根据过去掌握的邻居的信息情况主动选择最优下一跳中间节点,即选择邻居中到根节点路径参数metric小的中间节点转发,在邻居收到数据前就确定了转发节点。
发明内容
本发明所要解决的技术问题是,提供一种根据自身信息竞争数据转发权的下一跳中间节点选择方法,以及基于该节点选择方法的一种开销小的路由方法。
本发明为解决上述技术问题所采用的技术方案是,基于竞争转发选择下一跳中间节点的方法,包括以下步骤:
1)当前中间节点接收到需转发的帧,将接收到帧的单跳广播至所有邻居节点;
2)各邻居节点接收到帧后查看帧内跳数数值,如果邻居节点自身到目的地址的跳数小于等于该跳数数值,则该邻居节点成为转发竞争节点,转发竞争节点开始计时;
3)转发竞争节点计时到达退避时间T后,判断退避时间内是否接收到CACK竞争转发帧,如是,进入步骤4),如否,进入步骤5);
4)转发竞争节点放弃本次的转发竞争,查看CACK竞争转发帧中包含的CREQ中的跳数数值,当自身到目的地址的跳数大于CREQ中的跳数数值,根据转发竞争节点自身到目的地址的跳数与CREQ中的跳数数值的差值延长退避时间T,返回步骤2);
5)转发竞争节点向所述当前中间节点发送CREQ,设置自身到目的地址的跳数为CREQ中的跳数数值;
6)当前中间节点接收到CREQ后,选择发送该CREQ的转发竞争节点为下一跳中间节点,单跳广播CACK竞争转发帧至所有邻居节点,CACK中包含有CREQ中的跳数数值;
7)下一跳中间节点接收到CACK后确认自身为转发数据的当前中间节点,当前中间节点将接收到帧的单跳广播至所有邻居节点,返回步骤2)。
本发明体现了自学习的思想,通过设置退避时间以及退避时间的延长规则,到根节点跳数大的节点在竞争转发数据时退避时间将变得更长,多个转发竞争节点中最开始时到目的节点跳数最小的节点没有优势,但随着转发的进行该节点有一次竞争到转发权则以后将以更大概率获得转发权,让更优的节点拥有更高的优先级。与现有方式转发数据的思想不同,本发明是在邻居收到数据后再由邻居自身情况去竞争转发权,转发数据的中间节点只是被动确认而已,这种方法实时性更强,更容易选择最优的转发节点,避免相同数据被中间节点重复转发的问题,配合跳数作为路由度量比使用metric参数更利于之后的路由方法发挥优势。另外,通过邻居节点发送CREQ来选择下一跳节点能避开失效或负载过重的邻居节点,相比根据本地路由表主动选择下一跳节点的现有方法,本发明能在网络拓扑发生变化时自然完成自愈。
具体的,延长退避时间T的方法是:
其中,t转发竞争节点设置的退避时间的初始值范围最大值,d为转发竞争节点自身到根节点的跳数,c为CREQ中的跳数数值,m为调节系数,L为CREQ大小,v为物理层传输速率,β为大于1的常系数。
各转发竞争节点设置的退避时间T的初始值可以为一固定值,更优选的,为了尽量使竞争等待小的同时也使因隐藏终端而发生CREQ碰撞的概率降到足够低,各转发竞争节点初始设置的退避时间T为0到t范围内的随机值,α为加权值。
另外,本发明提供了一种基于上述竞争转发的适用于无线网络的路由方法,包括以下步骤:
1)根节点路由建立:
为全网设置一个固定的根节点;
根节点周期向全网周期性广播PP通告帧,全网各节点建立到根节点的单向路由;
在每一个广播周期,网络中各节点收到PP后将PREP路径回应帧以单跳广播方式传输至根节点,根节点根据接收到的PREP更新本地路由表;单跳广播过程中通过如权利要求1所述竞争转发的方式选择下一跳中间节点;这里,根节点地址作为单跳广播的目的地址;经多个广播周期之后,根节点建立到达全网各节点的多条路由;根节点没有一次建立到普通节点的多条链路,而是在多个广播周期中积累掌握多条链路;
2)数据发送:
当源节点未建立到目的节点的单向路由时,源节点先将数据帧以单跳广播方式传输至根节点;单跳广播过程中通过竞争转发的方式选择下一跳中间节点;这里,根节点地址作为单跳广播的目的地址;
根节点接收到来自源节点的数据帧后,查找本地路由表,将数据帧单播至目的节点;
目的节点接收到来自源节点的数据帧后,判断数据帧是否经根节点转发,如是,目的节点向全网广播PREQ广播路径请求帧至源节点,源节点接收到PREQ后,以单跳广播方式将之后的数据帧传输至目的节点,这里,目的节点地址作为单跳广播的目的地址,如否,则源节点直接以单跳广播方式将数据帧传输至目的节点;单跳广播过程中通过竞争转发的方式选择下一跳中间节点。
本发明的路由方法解决现有机会路由算法中普遍采用的每个节点需要掌握全网拓扑信息而造成的路由维护开销大的问题,本方法只维护根节点与普通节点的双向路由,由于采用竞争转发机制,根节点与普通节点间存在多条链路,稳定性增强。在数据流产生时利用数据发送机制中目的节点单向广播的方法使全网了解到目的节点路由信息,避免了现有方式中源节点广播后目的节点再广播的两次广播方式,也无需在平时维护全网路由信息,减小了路由开销。
本发明的有益效果是,能更优选择下一跳节点,传输性能更好,路由开销更小。
附图说明
图1为实施例中根节点的广播流程;
图2为实施例中广播回应流程图;
图3为实施例中数据发送过程中源节点将数据发往根节点流程图;
图4为实施例中数据发送过程中根节点转发数据到目的节点流程图;
图5为实施例中数据发送过程中目的节点广播PREQ广播路径请求帧的流程图。
图6为实施例的网络拓扑图。
具体实施方式
本发明路由方法建立在根节点与普通节点拥有双向路径的基础上;在有数据发送时全网建立并维护各节点到目的节点路由;在数据发送过程中采用下一跳节点根据自身情况竞争数据转发权,上一跳节点给予确认的数据转发方式。
以下给出无线网络的路由方法的一个实施例:
1)为全网设置一个固定的根节点;
2)根节点周期向全网周期性广播PP(ProactivePath)通告帧,全网各节点建立到根节点的单向路由;根节点广播具体流程如图1所示:
根节点广播PP,其中包含根节点地址、当前发送节点地址、到根节点跳数和帧标号等字段。各节点收到广播信息后,查看帧标号,若是首次接收以根节点为目的地址、广播帧中到根节点跳数数值加一为跳数信息、发送该帧的节点为上一跳节点地址,存储于本地路由表中,继续广播转发该广播帧;若已经接收过该广播帧则查看本地路由表中跳数数值是否大于广播帧中跳数数值加一,若大于则使用广播帧中信息更新路由表,以根节点为目的地址、广播帧中到根节点跳数数值加一为跳数信息、发送该帧的节点为上一跳节点地址,存储于本地路由表中,然后丢弃该帧,否则直接丢弃该帧。达到广播帧定时时间后,所有节点丢弃广播帧。
通过上述广播流程,全网各节点掌握到达根节点的跳数信息和相应上一跳地址,通过该信息可以建立全网节点到该根节点的单向路由。
3)广播回应机制如图2所示:
每个节点收到根节点广播的PP报文后上传路径回应帧PREP,其中包含源节点地址、当前发送节点地址、到源节点跳数等字段。如果路由表中目的地址为根节点表项中的跳数数值为1,则直接以根节点为目的地址发送PREP,如果跳数数值不为1,则将该数值存储于PREP相应字段,单跳广播PREP。单跳广播采用本发明提出的竞争转发方式来选择下一跳节点:
所有邻居节点接收到数据帧后查看帧内跳数数值,如果自身到根节点的跳数小于等于该数值,则该节点成为数据转发竞争节点。首次竞争时各竞争节点均在0到t的时间范围内取随机值,退避该随机时间后向发送节点发送竞争请求帧CREQ。其中
L为CREQ帧大小,单位为比特,v为物理层传输速率,单位为bit/s,α为加权值,这样设计在尽量使竞争等待小的同时也使因隐藏终端而发生CREQ碰撞的概率降到足够低。
CREQ中包含自身到达根节点跳数信息,退避时间最短的节点首先发送CREQ,其自身跳数数值为c,其余竞争节点如果收到CREQ则放弃本次转发竞争并查看CREQ中跳数信息,如果自身跳数d大于c,则在下次竞争转发数据时将退避时间范围定为t+(d-c)*m,若该点已经推迟过退避时间,则以最小的跳数c来计算新的退避时间T。
L为CREQ帧大小,单位为比特,v为物理层传输速率,单位为bit/s,β为大于1的常系数。到根节点跳数大的节点在竞争转发数据时退避时间更长,使到根节点跳数小的节点有更大概率竞争到数据转发权。
发送节点收到CREQ后发送竞争确认帧CACK给所有邻居其中包含发送CREQ的节点到根节点的跳数信息,其它竞争节点收到CACK后放弃本次竞争并查看CACK内跳数信息,若自身到根节点跳数数值大于CACK内跳数数值,则按照公式(2)重新确定退避时间范围。最先回复CREQ的节点收到CACK后,提取PREP中源节点地址和到源节点跳数信息,将源节点地址作为目的地址,到源节点跳数加一作为跳数信息,发送节点地址作为上一跳地址一起加入本地路由表中,同时继续以相同流程广播数据帧,直到到达根节点。根节点提取PREP中源节点地址为目的地址、跳数数值加一为跳数信息,发送该PREP节点为上一跳地址存储于本地路由表中。这样根节点便掌握了一条到达源节点的路由,由于根节点周期广播PP,普通节点作为源节点回复PREP,多个周期之后由于普通节点回复的PREP路径不固定,根节点便掌握了到达每个普通节点的多条链路。
该机制多处处理方式体现了自学习的思想:一是多个转发竞争节点中最开始时到目的节点跳数最小的节点没有优势,但随着转发的进行该节点有一次竞争到转发权则以后将以更大概率获得转发权;二是根节点没有一次建立到普通节点的多条链路,而是在正常流程中积累掌握多条链路。
每一个广播周期,网络中各节点收到PP后将PREP路径回应帧以单跳广播方式传输至根节点,根节点根据接收到的PREP更新本地路由表;单跳广播过程中通过如权利要求1所述竞争转发的方式选择下一跳中间节点;这里,根节点地址作为单跳广播的目的地址;经多个广播周期之后,根节点建立到达全网各节点的多条路由;
本发明算法运行过程中有两种情况会向全网发送广播消息:一是根节点周期广播全网通告帧PP,只有在这种情况其它节点接收到该广播帧后才启动广播回应机制;二是数据目的节点接收到通过根节点转发的数据帧后触发广播机制运行,这种情况下其它节点接收到该广播帧后知执行广播机制相关操作,不启动广播回应机制。
4)数据信息发送:目的节点为网外节点的数据流发送流程与目的节点为根节点的数据流发送流程一致,这里不再重复叙述,只介绍目的节点是网内节点数据流发送机制。网内节点数据流发送机制可分为四个部分:一是源节点将数据发往根节点;二是根节点转发数据到目的节点;三是目的节点发送广播帧;四是源节点直接将数据发往目的节点。下面一一叙述。
4-1)源节点将数据发往根节点,如图3所示:
数据开始发送时,源节点首先查询本地路由表项中是否存在到达目的点的路由信息,如果存在,直接以目的点为目的节点发送,如果不存在,查询是否有到达根节点的路由信息,如不存在到根节点的路由,则周期发送以根节点为目的节点的跳数请求帧HREQ,其中包含自身地址、请求了解的目的地址的信息。邻居节点收到HREQ后查看路由表是否有到达根节点路由信息,如果没有继续发送HREQ至邻居节点直到发现有节点拥有到根节点路由信息或根节点周期广播PP。根节点广播PP过程不再叙述,拥有根节点路由信息的节点收到HREQ后回复跳数回应征HREP,其中包含自身地址、目的地址为根节点和到根节点跳数的信息。发出HREQ的节点接收到HREP后以根节点为目的地址、HREP中跳数数值加一为跳数信息、发送节点为上一跳地址加入自身路由表中。直到源节点掌握到达根节点的路由,向源节点发送数据帧,其中包含第一目的地址为根节点、第二目的地址为目的节点、第一源地址为源节点、第二源地址为当前发送节点、到根节点跳数和数据帧标识等信息。
4-2)根节点将数据发往目的节点,如图4所示:
根节点接收到数据帧后提取第二目的地址信息,查看本地路由表,若无该表项则发往网外,若有该表项则说明是网内通信,修改数据帧标识后发往目的节点。
4-3)目的节点发送广播帧,如图5所示:
目的节点接收到该数据帧后提取第一、第二源地址,发现地址不同判断该数据帧是经根节点转发,源节点没有掌握到达目的节点路由,全网广播PREQ,过程中其它节点接收到广播帧后不会回复PREP,因为目的节点此时不需要掌握到达其它节点的路由信息。
4-5)源节点直接发送数据帧到目的节点
源节点接收到PREQ后将相应信息存储于本地路由表中,开始直接向目的节点单跳广播发送数据。
如图6所示的网络拓扑中,node R为根节点。骨干网节点上电后,先由根节点node R周期发起通告广播消息,其中包含根节点地址、当前发送节点地址、到根节点跳数和帧标号等字段。该全网通告帧发送周期取决于全网拓扑变化程度,由于本发明路由算法中普通节点有多条路径到达根节点,网络鲁棒性增强,全网广播通告帧周期设置可比传统算法要长,从而减少控制帧比例增强网络性能,这里广播周期为5s。各节点收到广播信息后,查看帧标号,若是首次接收以根节点为目的地址、广播帧中到根节点跳数数值加一为跳数信息、发送该帧的节点为上一跳节点地址,存储于本地路由表中,继续广播转发该广播帧;若已经接收过该广播帧则查看本地路由表中跳数数值是否大于广播帧中跳数数值加一,若大于则使用广播帧中信息更新路由表,以根节点为目的地址、广播帧中到根节点跳数数值加一为跳数信息、发送该帧的节点为上一跳节点地址,存储于本地路由表中,然后丢弃该帧,否则直接丢弃该帧。Node D收到根节点node R直接广播的广播帧后,查看帧标号发现是首次收到该广播帧,以该广播帧内消息更新本地路由表相关表项,然后继续广播该广播帧。之后又收到node C发送的广播帧,查看帧标号发现之前已经接收到过该广播帧,查看帧内跳数数值为2,不小于本地路由表中到根节点跳数数值1,直接丢弃该帧。网络中所有节点都按照上述流程操作,达到广播帧定时时间后,所有节点丢弃广播帧。这样网络中各个MAP便掌握了到达Root节点的跳数信息,以便于后续与根节点通信。
每个节点收到根节点广播的PP报文后上传路径回应帧PREP,其中包含源节点地址、当前发送节点地址、到源节点跳数等字段。如果路由表中目的地址为根节点表项中的跳数数值为1,则直接以根节点为目的地址发送PREP。如node E接收到广播帧并作出相应处理后,向根节点发送路径回应帧PREP,在本地路由表中发现到根节点跳数数值为1,直接单播发送PREP到根节点。如果跳数数值不为1,则将该数值存储于PREP相应字段,单跳广播PREP。所有邻居节点接收到数据帧后查看帧内跳数数值,如果自身到根节点的跳数小于等于该数值,则该节点成为数据转发竞争节点。首次竞争时各竞争节点均在0到t的时间范围内取随机值,退避该随机时间后向发送节点发送竞争请求帧CREQ。如node F单跳广播PREP后,它的邻居如node I接收到PREP后查看帧中跳数为2,本地路由表到根节点跳数为3,不小于帧中跳数数值,所以直接丢弃该帧不参与该帧的转发竞争。能够参与该帧转发竞争的节点为node C、D、E、G、H。它们成为转发竞争节点后,随机退避0到t时间范围内某一时间,然后向发送节点发送竞争请求帧CREQ。其中由公式(1)
L为CREQ帧大小,单位为比特,L=160bit,v为物理层传输速率,单位为bit/s,v=54Mbit/s,α为加权值,α=20,这样计算得t约为56us,平均等待时间约为28us,设计在尽量使竞争等待小的同时也使因隐藏终端而发生CREQ碰撞的概率降到足够低。
CREQ中包含自身到达根节点跳数信息,退避时间最短的节点如node D首先发送CREQ,其自身跳数数值为c=1,其余竞争节点node C、E、G、H如果收到CREQ则放弃本次转发竞争并查看CREQ中跳数信息,如果自身跳数d大于c,则在下次竞争转发数据时将退避时间范围按照公式(2)定为
其中β为大于1的常系数,这里β=40。Node G、H接收到CREQ后自身跳数d=2大于c=1,则根据公式(2)重新计算退避时间范围T=162us。到根节点跳数大的节点在竞争转发数据时退避时间更长,使到根节点跳数小的节点有更大概率竞争到数据转发权。这里node C、E不需要调整退避时间范围。
发送节点node F收到CREQ后提取其中跳数信息,发送竞争确认帧CACK给所有邻居,其它竞争节点node C、E、G、H收到CACK后放弃本次竞争,虽然CACK内跳数数值比nodeG、H自身跳数数值小,但node G、H以推迟过退避时间范围至T,而且CACK内跳数数值并不比上次推迟比较的c=1小,所以不再重新推迟退避时间。最先回复CREQ的节点node D收到CACK后,提取PREP中源节点地址和到源节点跳数信息,将源节点地址作为目的地址,到源节点跳数加一作为跳数信息,发送节点地址作为上一跳地址一起加入本地路由表中,同时继续以相同流程广播数据帧,直到到达根节点。根节点提取PREP中源节点地址为目的地址、跳数数值加一为跳数信息,发送该PREP节点为上一跳地址存储于本地路由表中。这样根节点便掌握了一条到达源节点node F的路由,由于根节点周期广播PP,普通节点作为源节点回复PREP,多个周期之后由于普通节点回复的PREP路径不固定,如路由F-D-R、F-C-R、F-E-R,根节点便掌握了到达每个普通节点的多条链路。
该机制多处处理方式体现了自学习的思想:一是多个转发竞争节点中最开始时到目的节点跳数最小的节点没有优势,但随着转发的进行该节点有一次竞争到转发权则以后将以更大概率获得转发权;二是根节点没有一次建立到普通节点的多条链路,而是在正常流程中积累掌握多条链路。
该机制还有一个重要的与传统方式差别极大的思想,传统方式是发送过程中发送节点根据过去掌握的邻居的信息情况主动选择最优节点,及选择邻居中到根节点metric小的节点转发,在邻居收到数据前就确定了转发节点。本发明发送数据的思想是在邻居收到数据后再由邻居自身情况去竞争转发权,发送节点只是被动确认而已,这种方法实时性更强,更容易选择最优的转发节点,配合跳数作为路由度量比使用metric更利于本算法发挥优势。
以图6为例对网外数据传输的运作流程进行详细描述。对于网外数据传输来说,由于Root节点的周期广播通告消息,各个MAP节点均以掌握到达Root根节点的跳数信息。现有数据源节点node F需要发送数据到网外地址,首先node F查看自身路由表有无到达目的地址的路由,发现没有后准备将数据发往根节点。查看路由表存在到达根节点的路由和跳数,只要跳数不为数值1则广播该数据帧,帧中包含发送节点到根节点的跳数,本例中为2,node F的邻居node G、C、D、E、H、I、J、K接收到数据帧后查看发送节点到根节点的跳数,如果自身到根节点的跳数小于等于发送节点到根节点的跳数,则该节点成为数据转发竞争节点,本例中node C、D、E、G、H成为竞争节点。首次竞争时各竞争节点均在0到t的时间范围内取随机值,t由公式(1)计算,这里不再重复计算。退避该随机时间后向node F发送竞争请求帧CREQ。
CREQ中包含自身到达根节点跳数信息,不妨设首次竞争node C的退避时间最短而首先发送CREQ,跳数为c=1,其余竞争节点如node D、G收到CREQ后则放弃本次转发竞争并查看CREQ中跳数信息,node G自身跳数d大于c,则在下次竞争转发数据时将退避时间范围根据公式(2)定为T,这里不再重复计算。
发送节点node F收到CREQ后提取其中跳数信息,发送竞争确认帧CACK给所有邻居,CACK中包含提取出的跳数信息。Node C最先回复CREQ到node F,收到CACK后继续以相同流程广播数据帧,直到到达根节点。其它竞争节点收到CACK后放弃本次竞争,并查看其中跳数信息,node H根据公式(2)调整下次竞争退避时间范围。
在首次竞争数据转发权时,到根节点跳数更小的竞争节点没有立刻获得竞争优势,但多次转发后到根节点跳数更小的节点竞争到转发权后,其它节点都会根据公式(2)增加退避时间范围,通过这样自学习的过程简化了竞争机制,提高了传输效率。
当数据到达根节点Root节点后,Root节点查询本地路由表,可知目的节点node X位于该网外,直接将数据直接转发出网。
对于网内传输数据来说,node F源节点需要传输数据给目的节点node A,node F查看自身路由表不包含目的节点node A路由,会首先根据上文所述流程将数据传输到根节点R,nodeR接收到数据后,查询自身路由表信息,判断node A位于网内节点后,修改数据帧标识,该字段在传统数据帧头基础上添加的字段,表示该数据帧是经根节点将数据发送到达目的节点,需要目的节点进行广播路径请求帧PREQ来完成后续操作。
node A接收到发送广播帧PREQ,其中包含node A节点地址、当前发送节点地址、到nodeA跳数和帧标号等字段。各节点收到广播信息后,查看帧标号,若是首次接收以node A为目的地址、广播帧中到node A跳数数值加一为跳数信息、发送该帧的节点为上一跳节点地址,存储于本地路由表中,继续广播转发该广播帧;若已经接收过该广播帧则查看本地路由表中跳数数值是否大于广播帧中跳数数值加一,若大于则使用广播帧中信息更新路由表,以nodeA为目的地址、广播帧中到node A跳数数值加一为跳数信息、发送该帧的节点为上一跳节点地址,存储于本地路由表中,然后丢弃该帧,否则直接丢弃该帧。达到广播帧定时时间后,所有节点丢弃广播帧。
接收到该广播PREQ消息的节点不需要回复PREP,因为数据传输不需要目的节点了解到其它节点的路由。当源节点node F收到目的节点node A广播的PREQ后,同样记录到nodeA的最小跳数和相应上一跳地址,并停止向根节点发送数据帧,直接向目的节点node A发送数据帧。
数据帧中包含源节点地址、当前发送节点地址、到源节点跳数等字段。如果路由表中目的地址为根节点表项中的跳数数值为1,则直接以根节点为目的地址发送数据帧。如果跳数数值不为1,则将该数值存储于数据帧相应字段,单跳广播数据帧。所有邻居节点接收到数据帧后查看帧内跳数数值,如果自身到目的节点node A节点的跳数小于等于该数值,则该节点成为数据转发竞争节点。首次竞争时各竞争节点均在公式(1)定义的0到t的时间范围内取随机值,退避该随机时间后向发送节点发送竞争请求帧CREQ。node F单跳广播数据帧后,它的邻居如node I接收到数据帧后查看帧中跳数为2,本地路由表到根节点跳数为3,不小于帧中跳数数值,所以直接丢弃该帧不参与该帧的转发竞争。能够参与该帧转发竞争的节点为node C、D、E、G、H。它们成为转发竞争节点后,随机退避0到t时间范围内某一时间,然后向发送节点发送竞争请求帧CREQ。
CREQ中包含自身到达目的节点跳数信息,退避时间最短的节点如node D首先发送CREQ,其自身跳数数值为c=1,其余竞争节点node C、E、G、H如果收到CREQ则放弃本次转发竞争并查看CREQ中跳数信息,node G、E、H到node A的跳数d=2大于c=1,则在下次竞争转发数据时将退避时间范围根据公式(2)定为T。node C不需要调整退避时间范围。
发送节点node F收到CREQ后发送竞争确认帧CACK给所有邻居,其它竞争节点收到CACK后放弃本次竞争,由于CACK中跳数数值不比上次推迟退避时间范围比较的c更小,所以node E、G、H不再重复推迟T。最先回复CREQ的节点node D收到CACK后,继续以相同流程广播数据帧,直到到达目的节点。
通过上述介绍,以根节点与普通节点可互相通信为基础,对网内、网外链接加以区分,以本发明路由方式实现数据帧控制帧传输,达到多路由无缝切换,有效提升传输性能。
当目的节点为root根节点时,算法流程不变。
Claims (5)
1.基于竞争转发的下一跳中间节点选择的方法,其特征在于,包括以下步骤:
1)当前中间节点接收到需转发的帧,将接收到帧的单跳广播至所有邻居节点;
2)各邻居节点接收到帧后查看帧内跳数数值,如果邻居节点自身到目的地址的跳数小于等于该跳数数值,则该邻居节点成为转发竞争节点,转发竞争节点开始计时;
3)转发竞争节点计时到达退避时间T后,判断退避时间内是否接收到CACK竞争转发帧,如是,进入步骤4),如否,进入步骤5);
4)转发竞争节点放弃本次的转发竞争,查看CACK竞争转发帧中包含的CREQ中的跳数数值,当自身到目的地址的跳数大于CREQ中的跳数数值,根据转发竞争节点自身到目的地址的跳数与CREQ中的跳数数值的差值延长退避时间T,返回步骤2);
5)转发竞争节点向所述当前中间节点发送CREQ,设置自身到目的地址的跳数为CREQ中的跳数数值;
6)当前中间节点接收到CREQ后,选择发送该CREQ的转发竞争节点为下一跳中间节点,单跳广播CACK竞争转发帧至所有邻居节点,CACK中包含有CREQ中的跳数数值;
7)下一跳中间节点接收到CACK后确认自身为转发数据的当前中间节点,当前中间节点将接收到帧的单跳广播至所有邻居节点,返回步骤2)。
2.如权利要求1所述基于竞争转发的下一跳中间节点选择的方法,所述延长退避时间T的方法是:
其中,t转发竞争节点设置的退避时间的初始值范围最大值,d为转发竞争节点自身到根节点的跳数,c为CREQ中的跳数数值,m为调节系数,L为CREQ大小,v为物理层传输速率,β为大于1的常系数。
3.如权利要求2所述基于竞争转发的下一跳中间节点选择的方法,各转发竞争节点设置的退避时间T的初始值为一固定值。
4.如权利要求2所述基于竞争转发的下一跳中间节点选择的方法,各转发竞争节点初始设置的退避时间T为0到t范围内的随机值,α为加权值。
5.一种应用权利要求1的适用于无线网络的路由方法,其特征在于,包括以下步骤:
1)根节点路由建立:
为全网设置一个固定的根节点;
根节点周期向全网周期性广播PP通告帧;
在每一个广播周期,网络中各节点收到PP后将PREP路径回应帧以单跳广播方式传输至根节点,根节点根据接收到的PREP更新本地路由表;单跳广播过程中通过如权利要求1所述竞争转发的方式选择下一跳中间节点;
2)数据发送:
当源节点未建立到目的节点的单向路由时,源节点先将数据帧以单跳广播方式传输至根节点;单跳广播过程中通过竞争转发的方式选择下一跳中间节点;
根节点接收到来自源节点的数据帧后,查找本地路由表,将数据帧单播至目的节点;
目的节点接收到来自源节点的数据帧后,判断数据帧是否经根节点转发,如是,目的节点向全网广播PREQ广播路径请求帧至源节点,源节点接收到PREQ后,以单跳广播方式将之后的数据帧传输至目的节点;如否,则源节点直接以单跳广播方式将数据帧传输至目的节点;单跳广播过程中通过竞争转发的方式选择下一跳中间节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510305213.XA CN105025545B (zh) | 2015-06-05 | 2015-06-05 | 基于竞争转发的适用于无线网络的路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510305213.XA CN105025545B (zh) | 2015-06-05 | 2015-06-05 | 基于竞争转发的适用于无线网络的路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105025545A true CN105025545A (zh) | 2015-11-04 |
CN105025545B CN105025545B (zh) | 2018-10-16 |
Family
ID=54415150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510305213.XA Expired - Fee Related CN105025545B (zh) | 2015-06-05 | 2015-06-05 | 基于竞争转发的适用于无线网络的路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105025545B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763443A (zh) * | 2016-04-28 | 2016-07-13 | 西安电子科技大学 | 混合无线网状协议hwmp双路由协作方法 |
CN106332213A (zh) * | 2016-08-24 | 2017-01-11 | 河海大学 | 一种减少ZigBee无线传输网络路由跳数的方法 |
CN108092707A (zh) * | 2017-12-21 | 2018-05-29 | 广东工业大学 | 一种基于无人机自组网的数据传输方法及装置 |
CN111314954A (zh) * | 2018-12-12 | 2020-06-19 | 华为技术有限公司 | 数据传输方法和装置 |
WO2021196616A1 (zh) * | 2020-04-02 | 2021-10-07 | 深圳创维-Rgb电子有限公司 | 一种消息上报方法及装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1347601B1 (en) * | 2002-03-18 | 2005-09-14 | Nec Corporation | Multi-hop network for transmission of packets whose size is determined by hop count number |
CN101489308A (zh) * | 2008-12-30 | 2009-07-22 | 中国人民解放军国防科学技术大学 | 用于无线自组网流内竞争的主动等待传输方法 |
CN102131269A (zh) * | 2011-04-29 | 2011-07-20 | 南京邮电大学 | 无线网状网络中基于地理位置的路由方法 |
CN103179633A (zh) * | 2012-12-28 | 2013-06-26 | 重庆邮电大学 | 一种联合信道分配的认知无线电网络路由方法 |
CN103781145A (zh) * | 2012-10-25 | 2014-05-07 | 上海交通大学 | 认知无线传感网络中多信道机会路由协议的设计方法 |
-
2015
- 2015-06-05 CN CN201510305213.XA patent/CN105025545B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1347601B1 (en) * | 2002-03-18 | 2005-09-14 | Nec Corporation | Multi-hop network for transmission of packets whose size is determined by hop count number |
CN101489308A (zh) * | 2008-12-30 | 2009-07-22 | 中国人民解放军国防科学技术大学 | 用于无线自组网流内竞争的主动等待传输方法 |
CN102131269A (zh) * | 2011-04-29 | 2011-07-20 | 南京邮电大学 | 无线网状网络中基于地理位置的路由方法 |
CN103781145A (zh) * | 2012-10-25 | 2014-05-07 | 上海交通大学 | 认知无线传感网络中多信道机会路由协议的设计方法 |
CN103179633A (zh) * | 2012-12-28 | 2013-06-26 | 重庆邮电大学 | 一种联合信道分配的认知无线电网络路由方法 |
Non-Patent Citations (1)
Title |
---|
李元振等: "一种基于竞争转发的城市场景车载Ad Hoc 网络路由算法", 《电子学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763443A (zh) * | 2016-04-28 | 2016-07-13 | 西安电子科技大学 | 混合无线网状协议hwmp双路由协作方法 |
CN106332213A (zh) * | 2016-08-24 | 2017-01-11 | 河海大学 | 一种减少ZigBee无线传输网络路由跳数的方法 |
CN106332213B (zh) * | 2016-08-24 | 2019-07-12 | 河海大学 | 一种减少ZigBee无线传输网络路由跳数的方法 |
CN108092707A (zh) * | 2017-12-21 | 2018-05-29 | 广东工业大学 | 一种基于无人机自组网的数据传输方法及装置 |
CN111314954A (zh) * | 2018-12-12 | 2020-06-19 | 华为技术有限公司 | 数据传输方法和装置 |
WO2021196616A1 (zh) * | 2020-04-02 | 2021-10-07 | 深圳创维-Rgb电子有限公司 | 一种消息上报方法及装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105025545B (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100591029C (zh) | 一种基于分区树的多跳无线自组织网络构建方法 | |
US20040018839A1 (en) | Protocol and structure for mobile nodes in a self-organizing communication network | |
CN102291448B (zh) | 移动自组织网络中基于地理位置的ip地址自动分配方法 | |
CN105025545A (zh) | 基于竞争转发的适用于无线网络的路由方法 | |
CN102413542B (zh) | 一种无线网状网路由方法和无线网状网 | |
CN101951655B (zh) | 无线传感器网络中一种基于地理信息的反应式路由协议 | |
CN104936249B (zh) | 一种适用于无线网络的路由自愈方法 | |
CN106231646B (zh) | 一种时隙复用的无线链式多跳跨层方法 | |
CN104410997A (zh) | 一种用于无线传感器网络的层次型拓扑结构构建方法 | |
CN103095577B (zh) | 上下文相关的非均匀分簇路由算法 | |
CN103781144A (zh) | 一种交互邻居表模式的Zigbee网络树型路由方法 | |
WO2015083506A1 (en) | Method for transmitting packets in wireless network including node, method for transmitting packets in low power and lossy network, and node for forming wireless network | |
CN104735743B (zh) | 嵌入式无线自组织网络的路由优化方法 | |
CN103476086A (zh) | 基于节点拥塞度预测的动态多径aodv路由方法 | |
CN102083164A (zh) | 基于能量感知的无线传感器网络机会路由方法 | |
CN105072586A (zh) | 嵌入式无线自组织网络中对广播消息的转发的管理方法 | |
CN109803342A (zh) | 一种面向能量均衡高可靠传输的无人机自组织网络路由方法 | |
JPWO2014181379A1 (ja) | 無線通信システム及び無線通信方法 | |
CN110996266B (zh) | 自组网系统的多播组数据传输方法 | |
CN101471864B (zh) | 一种无线自组织网络中基于接收者路由的数据转发方法 | |
Fradj et al. | Comparative study of opportunistic routing in wireless sensor networks | |
Chaudhary et al. | Energy efficiency and latency improving protocol for wireless sensor networks | |
KR101610108B1 (ko) | 고온 회피를 위한 애드혹 네트워크 시스템 및 라우팅 경로 설정 방법 | |
Long et al. | Energy-aware routing scheme in industrial wireless sensor networks for Internet of Things systems | |
CN103702370A (zh) | ZigBee网状拓扑路由方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181016 Termination date: 20210605 |