CN112954764A - 一种移动自组网络中的基于路径状态的多径分流路由方法 - Google Patents
一种移动自组网络中的基于路径状态的多径分流路由方法 Download PDFInfo
- Publication number
- CN112954764A CN112954764A CN202110201715.3A CN202110201715A CN112954764A CN 112954764 A CN112954764 A CN 112954764A CN 202110201715 A CN202110201715 A CN 202110201715A CN 112954764 A CN112954764 A CN 112954764A
- Authority
- CN
- China
- Prior art keywords
- node
- path
- rreq
- weight
- packet
- 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
Images
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
- H04W40/023—Limited or focused flooding to selected areas of a network
-
- 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/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
- H04W40/10—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/246—Connectivity information discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明公开了网络通信技术领域的一种移动自组网络中的基于路径状态的多径分流路由方法,该方法包括以下步骤:启动路由发现、接收处理RREQ包、接收处理RREP包、数据分流传输、多路径维护。本发明通过根据路径中节点的剩余能量率、接口队列可用率和路径的跳计数计算出每条路径的综合状态权重,按照分配规则给每条路径赋予相应的流量权值,每条路径按照分配的流量权值分别承担相应的传输任务,从而均衡了流量负载。本发明方法还利用限定不能转发RREQ的技术和延时转发RREQ的技术,以便保护能量较低的节点和负载较重的节点,从而均衡了节点能量和负载。
Description
技术领域
本发明涉及无线网络通信技术领域,具体为一种用于移动自组织网络中的路由方法。
背景技术
在移动自组网络(简称MANET)中,由于其节点具有移动性、自组织性、多跳性、能量受限等特征,节点之间能否取得良好的网络性能和通信质量,跟节点所采用的移动路由技术紧密相关。
在MANET中,典型的基于距离矢量的路由协议有AODV协议和AOMDV协议。
AODV协议,采用最短路径进行数据转发,如果是应用在能量受限的网络中,部分节点很可能会因为能量消耗过快而“死亡”,结果导致网络分裂和传输失败。另外,如果是应用于流量较大的网络中使用一条路径进行传输,也会造成部分节点产生拥塞,最后导致网络整体投递率下降和平均时延增加。
AOMDV协议是AODV的改进协议,虽然可以找到多条到达目的节点的路径,但它也是基于最短路径,选择最先建立的路径转发数据,其他路径作为备用来实现的。尽管在路由发现频率和路由控制开销方面,AOMDV优于AODV,但是在能量消耗和负载均衡的问题上还是没有得到较好的解决。例如,在寻找路径时,AOMDV并没有考虑节点自身的剩余能量和拥塞情况,只要收到RREQ就进行转发,这样会导致能量较低或负载较重的节点参与到路径建立中。另外,在传输数据时,只要主路径不断裂,AOMDV就会一直使用,这样会导致主路径上的节点,能量消耗过快,且负载较重,最终导致某些节点过早死亡或过于拥塞,对网络的整体性能都会产生一定负面的影响。
发明内容
本发明的目的在于提供一种移动自组网络中的基于路径状态的多径分流路由方法,以解决上述背景技术中提出的AOMDV在发现多路径时没有考虑到节点的剩余能量和拥塞情况,以及只有当主路径断裂后才启用备用路径的不足。
为实现上述目的,本发明提供如下的技术方案。
一种移动自组网络中的基于路径状态的多径分流路由方法,包括以下步骤:
S1、启动路由发现;在源节点检测到不存在有效路由且源点需要和目的点进行通信时,产生一个RREQ包,以洪泛的方式广播出去;
S2、接收和处理RREQ包;当前的节点接收到源节点发出的RREQ包以后进行处理;
S3、接收和处理RREP包;当前的节点接收到并处理回传给源节点的RREP包;
S4、数据分流传输;当源节点收到RREP包后进行数据传输;
S5、多路径维护。
进一步地,在步骤S1中,更具体的步骤为:
S11,源节点检测是否存在有效路由;当存在有效路由时维持当前的路由表,当不存在有效路由时则执行以下步骤;
S12,源节点生成一个RREQ包并进行洪泛;RREQ包内含有节点状态权重域,用于记录所经过路径中所有节点的节点状态权重的最小值;节点状态权重根据节点的剩余能量率、接口队列可用率进行计算;
其中:
节点的剩余能量率ERi(t),定义为某一节点剩余可用的能量与该节点的初始能量之比,它反映的是任一节点,在某一时刻的剩余能量状况,其计算如公式(1)所示:
i表示节点编号,Emax表示节点i的初始能量,Ei(t)表示节点i在t时刻的剩余能量;
节点的接口队列可用率QRi(t),定义为某一节点中剩下可用的接口队列长度与节点的初始接口队列的长度之比,其计算方法如公式(2)所示:
Lmax表示节点i接口队列的初始长度,Li(t)表示节点i在t时刻已用的队列长度;
节点的状态权重NSWi(t),定义为节点i的剩余能量率和接口队列可用率这两个量的加权平均值,其计算如公式(3)所示:
NSWi(t)=α×ERi(t)+(1-α)×QRi(t) (3)
α为加权系数且α∈(0,1)。
进一步地,在步骤S2中,更具体的步骤为:
S21,当前的节点判断是否已经接收过该RREQ包;如果不是,则在该节点的广播ID列表中记录下该RREQ分组的标识信息<SRC IP,BCAST ID>;如果是,则无需记录,但需要将限制泛洪标记设置为True,从而不再继续转发该RREQ包;
S22,在当前的节点的路由表中查找是否有到源节点的反向路由条目;如果没有,则添加一个反向路由条目到路由表中;如果有,则维持已有的路由表;
S23,该节点会根据路由信息和权重信息更新准则,通过比较序列号的大小来更新路由表中的反向路由信息;如果符合路由信息和权重信息更新准则的条件,则进行路由更新操作;如果不符合路由信息和权重信息更新准则的条件,则丢弃该RREQ包;
S24,完成反向路由更新工作后,如果当前节点是目的节点,则会产生一个RREP包来单播回传给源节点;如果当前节点是中间节点并且该中间节点的路由表中存有到达目的节点的有效路由,则根据链路不相交来选择一条未回复使用过的反向路径,生成一个RREP包,单播传回给源节点;如果中间节点没有到达目的节点的有效路由,且已经开启了限制泛洪标志为True,则不再转发RREQ,若未开启,则进一步判断该节点的剩余能量是否低于预先设定的能量阈值;如果低于能量阈值,则丢弃RREQ;如果高于能量阈值,则比较当前节点的状态权重与RREQ中的节点状态权重,并将两者之中较低的权重写入RREQ包中,保证RREQ包记录的是所经过的路径中所有节点权重的最小值,然后根据预先设置好的延时函数,将RREQ延时广播出去,其中延时函数如公式(8)所示:
D设置为转发时间,NSWi(t)为节点i在某时刻t的状态权重,γ为设定的介于0和1之间的临界值。
进一步地,所述路由信息和权重信息更新准则为:
当源节点启动路由发现过程时,源节点会把一个状态最大值写入到路由请求包RREQ的节点状态权重域中并发送RREQ,为了确保每条路径的最小节点状态权重是该路径中所有中间节点的最小状态权重,所以源节点和目的节点不参与到节点状态权重的比较中;当中间节点接收到RREQ时,首先进行反向路由信息的比较和更新;节点会将自己反向路由的序列号和广告跳数与RREQ中的值进行比较,比较方法为:
如果反向路由的序列号比RREQ中的源序列号小,则表示该节点路由表中的路由信息比较陈旧,这时需要更新路由信息,在更新过程中,节点会删除陈旧的路径,将新的路径及其路径中最小节点状态权重一起插入到路径列表里,其中插入的过程要按计算出来的路径的综合状态权重的降序方式插入;
如果反向路由的序列号等于RREQ中的源序列号,并且广告跳数比RREQ中的跳数要大,则表示该节点之前接收过此RREQ包的拷贝,但是由于之前记录的广告跳数较大,所以当前找到的路径可能更短些,因此也要将此条不相交路径插入到路径列表中,或者更新路由表中已有的路径信息;
在更新路由信息完毕之后,中间节点会将自己的状态权重与RREQ包中记录的节点权重进行比较,并将较小的值写入RREQ包,即保证RREQ包记录的是路径中的所有节点权重的最小值,然后RREQ等待一定时延后被转发出去;其他中间节点收到RREQ后,则需要进行上面给出的同样的更新过程;如果某个中间节点存有到达目的节点的有效路由,则该节点会产生一个RREP包,并且RREP包中的节点状态权重域填写当前节点的状态权重与RREQ中携带的节点状态权重的较小值,然后将RREP单播回传给源节点;当RREQ包到达目的点后,目的节点也要更新自己的反向路由信息,但目的点不需要将自己的状态权重与RREQ中的节点状态权重比较,而是将一个状态最大值写入RREP中的节点状态权重域,然后将RREP单播回传给源节点;在回传过程中RREP同样要记录所经过路径的所有中间节点的最小状态权重,并且要更新正向路由及其路径中的最小节点状态权重;
进一步地,在步骤S23中,符合路由信息和权重信息更新准则的更新条件的情况有两种:
1、如果反向路由的序列号比RREQ中携带的源序列号小,则节点会将反向路由的序列号设置为RREQ中的源序列号,广告跳数设置为无穷大,删除所有陈旧路径,将新的路径及其路径的最小节点状态权重一起插入到反向路径列表里,其中插入的过程要按计算出来的路径综合状态权重的降序方式插入;
其中,路径的最小节点状态权重PNSWk为:在多径路由中每条路径path上有若干个节点node,每个节点有一个状态权重,选择最小的节点状态权重为该路径的状态权重分量之一,其计算如公式(4)所示:
PNSWk=min{NSWj(t)|nodej∈pathk} (4)
k表示路径的编号,j表示路径k中的任意一个节点的编号;
路径的长度权重PLWk为:在寻找到的多条路径中,某条路径的跳计数越大,说明该路径的长度越大,在传输数据分组时的用时可能会越长,将路径的长度权重作为该路径的状态权重分量之二,计算如公式(5)所示:
HopCountk表示路径k的跳计数即路径长度;
路径的综合状态权重计算如公式(6)所示:
PSWk=β×PNSWk+(1-β)×PLWk (6)
β和(1-β)表示两个路径状态权重分量在路径综合状态权重中所占的比重系数,β∈(0,1);
2、如果反向路由的序列号等于RREQ中的源序列号,并且广告跳数比RREQ中的跳数要大,则需要根据链路是否不相交来进一步判断:如果当前节点能够构成新的不相交路径,则将新路径及其路径的最小节点状态权重一起插入到路径列表中,并且按降序方式插入;如果当前节点构成的不相交路径已经存在,则只需更新已存在路径的有效时间和最小节点状态权重等信息,然后进行降序排列;之后还要更新反向路由的广告跳数为路径列表中的最大跳数。
进一步地,在步骤S3中,更具体的步骤为:
S31,当某个节点接收到回传的RREP包时,先在该节点的路由表中查找是否有到目的节点的正向路由条目;如果没有,则添加一个正向路由条目到路由表中,然后根据路由信息和权重信息更新准则,通过比较正向路由的序列号与RREP中携带的目的序列号,来更新该节点的正向路由信息;如果符合更新条件,则插入或更新正向路由,并将最小节点权重写入路径信息中,降序排列路径;如果不符合更新条件,则丢弃RREP包;
S32,在完成正向路由更新工作后,判断该节点是否为源节点;如果不是,则根据链路不相交找到一条未用过的反向路径,单播转发RREP包;如果是,则丢弃该RREP包。
进一步地,步骤S4更具体的为:
当源节点收到RREP时,判断是否是第一次收到RREP,如果是,则使用第一条正向路径发送数据分组;如果不是,则按照路径排序与流量分配原则,让每条路径都承担一定的数据传输任务;
路径排序与流量分配原则为设定在一次路由发现过程中,对于发现的多条路径,根据路径综合状态权重的降序进行排列,并且进行编号,然后赋予每条路径相应的流量权值,接下来节点按照流量权值给每条路径分配传输任务,流量权值的计算如公式(7)所示:
path_nums表示某个路由条目中路径的数目,n表示每条路径的编号,路径权重最小的编号为1,路径权重最大的编号为path_nums,对应的函数f(n)的取值表示分配给这条路径的流量权值,流量权值即为待传输的分组个数。
进一步地,在步骤S5中更具体的步骤为:
各节点通过周期性地交互HELLO报文检测传输的路径是否断裂;当所有路径均断裂时,则回到步骤S1重启路由发现过程;当所有路径未全部断裂时,则广播路由出错包RERR通知所有受到影响的节点,删除路由表中已断开的路径,停止使用断开路径发送数据,将断裂路径上的传输任务按照路径排序与流量分配原则进行流量分配以切换到未断裂的路径上。
上文所述的方法,均使用路由器来实现整个过程,该方法通过由路由器的数据处理单元、内存单元、缓存单元和通信接口构成的系统整体来执行。
与现有技术相比,本发明的有益效果是:
本发明的方法既能根据节点的剩余能量和拥塞情况发现多条路径,也能按照分配规则使用多条路径进行分流传输。在能量受限的自组网中,本发明的方法具有更高的投递率和吞吐量、更长的网络生存时间以及更小的路由开销,相比于AOMDV协议,在网络拓扑变化较快或者网络流量较大的情况下,在投递率、吞吐量、路由开销、网络生存时间、能量不为零的节点数方面,都比AOMDV表现得更优。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的路由信息和权重信息更新流程图;
图2为本发明的接收和处理RREQ包流程图;
图3为本发明的接收和处理RREP包流程图;
图4为本发明的数据分流传输流程图;
图5为本发明方法的整体流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为更好的说明本实施例的原理与实现过程,首先对本路由方法所涉及到的各个参数和转发规则进行如下的说明:
1、节点的剩余能量率ERi(t),定义为某一节点剩余可用的能量与该节点的初始能量之比,它反映的是任一节点,在某一时刻的剩余能量状况,该值越大,就说明节点的能量状态越好,间接说明节点的能量消耗较慢,其计算如公式(1)所示:
其中,i表示节点编号,Emax表示节点i的初始能量,Ei(t)表示节点i在t时刻的剩余能量。特别地,当节点i的剩余能量率低于指定的门限值时,拒绝转发RREQ,从而保护能量很低的节点不参与到路径的建立中;
2、节点的接口队列可用率QRi(t),定义为某一节点中剩下可用的接口队列长度与节点的初始接口队列的长度之比,它反映的是节点在任意时刻的队列拥塞情况,该值越大,说明该节点的负载越轻,其计算方法如公式(2)所示:
其中,Lmax表示节点i接口队列的初始长度,Li(t)表示节点i在t时刻已用的队列长度;
3、节点的状态权重NSWi(t),为了更合理地反映出节点i的综合状态,选取了剩余能量率和接口队列可用率这两个量的加权平均值,定义为节点i的状态权重,它可以反映出节点i的剩余能量和拥塞程度的综合状况,其计算如公式(3)所示:
NSWi(t)=α×ERi(t)+(1-α)×QRi(t) (3)
其中,α为加权系数且α∈(0,1),α越大说明节点的状态权重越偏重于节点的剩余能量率,反之,越偏重于节点的接口队列可用率;当节点i的状态权重低于某个指定值时(将该情况称为“节点的状态不好”),按照后文的延时转发函数(公式(8)),等待一个与自身权重相关的时间量后再转发RREQ包,目的是为了让该节点延时参与到路径的建立中;
4、路径的最小节点状态权重PNSWk,在多径路由中每条路径path上有若干个节点node,每个节点有一个状态权重,选择最小的节点状态权重为该路径的状态权重分量之一,该值越大,说明该条路径上所有节点的状态水平较好,其计算如公式(4)所示;
PNSWk=min{NSWj(t)l|nodej∈pathk) (4)
其中,k表示路径的编号,j表示路径k中的任意一个节点的编号;
5、路径的长度权重PLWk,在寻找到的多条路径中,某条路径的跳计数越大,说明该路径的长度越大,在传输数据分组时的用时可能会越长,故将路径的长度权重作为该路径的状态权重分量之二,路径的长度权重计算如公式(5)所示:
其中,HopCountk表示路径k的跳计数即路径长度;
6、路径的综合状态权重PSWk,综合考虑路径k中节点的剩余能量率、接口队列可用率和路径的跳计数三个因素,计算出每条路径k的综合状态权重,其计算如公式(6)所示:
PSWk=β×PNSWk+(1-β)×PLWk (6)
其中,β和(1-β)表示两个路径状态权重分量在路径综合状态权重中所占的比重系数,β∈(0,1);
7、路径排序与流量分配原则,设定在一次路由发现过程中,对于发现的多条路径,根据路径综合状态权重的降序进行排列,并且进行编号,然后赋予每条路径相应的流量权值,接下来节点会按照流量权值,给每条路径分配传输任务,让每条路径得到充分利用,流量权值的计算如公式(7)所示:
其中,path_nums表示某个路由条目中路径的数目,n表示每条路径的编号,路径权重最小的编号为1,路径权重最大的编号为path_nums,对应的函数f(n)的取值表示分配给这条路径的流量权值,流量权值即为待传输的分组个数;
8、RREQ延时转发原则,为了均衡网络中节点的能量和负载,在路由发现过程中,通过设置延时转发RREQ,让状态较好的节点快速参与建立路径,让状态较差的节点延时参与建立路径,从而缓解了网络拥塞和能量消耗不均的情况,根据节点的状态权重来计算转发RREQ的延时时间,其计算如公式(8)所示。
其中,D设置为转发时间,NSWi(t)为节点i在某时刻t的状态权重,γ为设定的介于0和1之间的临界值,当节点状态权重大于γ时,表示该节点的剩余能量和可用队列的综合状态好,不需要改变转发时间;当节点状态权重小于或等于γ时,表示节点的综合状态进入不好的水平,需要等待较大的时延才能转发RREQ;
9、能量阈值设定原则,每个节点在接收到RREQ后,检测自身的能量是否低于设定的能量阀值,若是则节点停止转发RREQ,从而降低RREQ泛洪数量并优化网络开销;
10、路由信息和权重信息更新准则;在更新正反路由信息的过程中,根据节点的能量信息和队列信息,找到节点综合状态较好的路径,更新最小的节点状态权重和降序排列的路径;具体的更新准则为:当源节点启动路由发现过程时,源节点会把一个状态最大值(如1.0)写入到路由请求包RREQ的节点状态权重域中并发送RREQ,为了确保每条路径的最小节点状态权重是该路径中所有中间节点的最小状态权重,所以源节点和目的节点不参与到节点状态权重的比较中;当中间节点接收到RREQ时,首先进行反向路由信息的比较和更新;如附图1,节点会将自己反向路由表中的序列号(seqno)和广告跳数(advertised_hops)与RREQ中的值进行比较,比较方法为:如果反向路由的序列号比RREQ中的源序列号小,则表示该节点路由表中的路由信息比较陈旧,这时需要更新路由信息,在更新过程中,节点会删除陈旧的路径,将新的路径及其路径中最小节点状态权重一起插入到路径列表里,其中插入的过程要按计算出来的路径的综合状态权重的降序方式插入;如果反向路由的序列号等于RREQ中的源序列号,并且广告跳数比RREQ中的跳数要大,则表示该节点之前接收过此RREQ包的拷贝,但是由于之前记录的广告跳数较大,所以当前找到的路径可能更短些,因此也要将此条不相交路径插入到路径列表中,或者更新路由表中已有的路径信息;在更新路由信息完毕之后,中间节点会将自己的状态权重与RREQ包中记录的节点状态权重进行比较,并将较小的值写入RREQ包,即保证RREQ包记录的是路径中的所有节点权重的最小值,然后RREQ等待一定时延后被转发出去;其他中间节点收到RREQ后,则需要进行上面给出的同样的更新过程;当RREQ包到达目的点后,目的节点也要更新自己的反向路由信息,但目的点不需要将自己的状态权重与RREQ中的最小节点状态权重比较,而是将一个状态最大值(如1.0)写入RREP中的节点状态权重域,然后将RREP单播回传给源节点;在回传过程中RREP同样要记录所经过路径的最小节点状态权重,并且要更新正向路由及其路径中最小节点权重,过程类似于传送RREQ包。
请参阅图1-5。在前文已经说明的本实施例所涉及到的参数及路由规则的基础上,本实施例的一种移动自组网络中的基于路径状态的多径分流路由方法包括如下文的步骤。
第一步,启动路由发现。在源节点检测到不存在有效路由且源点需要和目的点进行通信时,产生一个RREQ包,以洪泛的方式广播出去。其中,更具体的步骤为:
第一小步,源节点检测到是否存在有效路由;当存在有效路由时维持当前的路由,当不存在有效路由时则执行下一小步;
第二小步,源节点生成包含有节点状态权重域的RREQ包并进行洪泛。
第二步,接收和处理RREQ包,如附图2所示。当前的节点接收到源节点发出的RREQ包以后,执行以下流程:
第一小步,当前的节点判断是否已经接收过该RREQ包;如果不是,则在该节点的广播ID列表中记录下该RREQ分组的标识信息<SRC IP,BCAST ID>;如果是,则无需记录,但需要将限制泛洪标记(kill_request_propagation)设置为True,从而不再继续转发该RREQ包;
第二小步,在当前节点的路由表中查找是否有到源节点的反向路由条目;如果没有,则添加一个反向路由条目到路由表中;如果有,则维持已有的路由表;
第三小步,该节点会根据前述的路由信息和权重信息更新准则,通过比较序列号的大小来更新路由表中的反向路由信息;如果符合路由信息和权重信息更新准则的条件,则进行路由更新操作;如果不符合路由信息和权重信息更新准则的条件,则丢弃该RREQ包;符合路由信息和权重信息更新准则的更新条件的情况有两种:
1、如果反向路由的序列号比RREQ中携带的源序列号小,则节点会将反向路由的序列号设置为RREQ中的源序列号,广告跳数设置为无穷大,删除所有陈旧路径,将新的路径及其路径的最小节点状态权重(按上述公式(3),通过比较当前节点的状态权重与RREQ中记录的节点状态权重,得出路径的最小节点状态权重)一起插入到反向路径列表里,其中插入的过程要按计算出来的路径综合状态权重(按公式(6),根据路径的最小节点状态权重和长度权重计算得出)的降序方式插入;
2、如果反向路由的序列号等于RREQ中的源序列号,并且广告跳数比RREQ中的跳数要大,则需要根据链路是否不相交来进一步判断:如果当前节点能够构成新的不相交路径,则将新路径及其路径的最小节点状态权重一起插入到路径列表中,并且按降序方式插入;如果当前节点构成的不相交路径已经存在,则只需更新已存在路径的有效时间和最小节点状态权重等信息,然后进行降序排列;之后还要更新反向路由的广告跳数为路径列表中的最大跳数;
第四小步,完成反向路由更新工作后,如果当前节点是目的节点,则会产生一个RREP包来单播回传给源节点;如果当前节点是中间节点并且该中间节点的路由表中存有到达目的节点的有效路由,则根据链路不相交来选择一条未回复使用过的反向路径,生成一个RREP包,单播传回给源节点;如果中间节点没有到达目的节点的有效路由,且已经开启了限制泛洪标志(值为True),则不再转发RREQ,若未开启,则进一步判断该节点的剩余能量是否低于预先设定的能量阈值(按上述(9)能量阈值设定原则);如果低于能量阈值,则丢弃RREQ;如果高于能量阈值,则比较当前节点的状态权重与RREQ中的节点状态权重,并将两者之中较低的权重写入RREQ包中,保证RREQ包记录的是所经过的路径中所有节点权重的最小值,然后根据预先设置好的延时函数(按公式(8)),将RREQ延时广播出去。
第三步,接收和处理RREP包,如图3。具体步骤为:
第一小步,将RREP包回传给源节点的过程:当某个节点接收到回传的RREP包时,先在该节点的路由表中查找是否有到目的节点的正向路由条目;如果没有,则添加一个正向路由条目到路由表中,然后根据路由信息和权重信息更新准则,通过比较正向路由的序列号与RREP中携带的目的序列号,来更新该节点的正向路由信息;如果符合更新条件,则插入或更新正向路由,并将最小节点权重写入路径信息中,降序排列路径;如果不符合更新条件,则丢弃RREP包;
第二小步,在完成正向路由更新工作后,判断该节点是否为源节点,如果不是,则根据链路不相交找到一条未用过的反向路径,单播转发RREP包;如果是,则丢弃该RREP包。
第四步,数据分流传输,如图4。当源节点收到RREP包时,判断是否是第一次收到RREP,如果是,则使用第一条正向路径发送数据分组;如果不是,则按照路径排序与流量分配原则(按公式(7)),在经过排序后的多条路径上进行数据分流传输,让每条路径都承担一定的数据传输任务。
第五步,多路径维护。各节点通过周期性地交互HELLO报文检测传输的路径是否断裂;全部路径均断裂时,则回到第一步重启路由发现过程;当所有路径未全部断裂时,则广播路由出错包RERR通知所有受到影响的节点,删除路由表中已断开的路径,停止使用断开路径发送数据,将断裂路径上的传输任务重新进行流量分配以将传输任务切换到未断裂的路径上。
本实施例的方法存储于移动自组网络各节点的路由器设备中,由对应设备的数据存储单元和数据处理单元执行该实施例,并由对应的路由器通信装置实现各节点之间的通信链路控制。
与现有技术相比,本实施例的有益效果在于,本实施例根据路径中节点的剩余能量率、接口队列可用率和路径的跳计数三个因素计算出每条路径的综合状态权重,并且按照路径权重从大到小的顺序排列各条路径,最后按照相应的分配规则给每条路径赋予相应的流量权值,每条路径按照分配的流量权值分别承担相应的传输任务,从而均衡了流量负载。本实施例还利用限定不能转发RREQ的技术和延时转发RREQ的原则,实现了保护能量较低的节点和负载较重的节点的效果,进而均衡了节点能量和负载。在网络拓扑变化较快,或者网络流量较大的情况下,本实施例的方法在投递率、吞吐量、路由开销、网络生存时间、能量不为零的节点数方面,均比AOMDV协议表现效果更优。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (8)
1.一种移动自组网络中的基于路径状态的多径分流路由方法,其特征在于,包括以下步骤:
S1、启动路由发现;在源节点检测到不存在有效路由且源点需要和目的点进行通信时,产生一个RREQ包,以洪泛的方式广播出去;
S2、接收和处理RREQ包;当前的节点接收到源节点发出的RREQ包以后进行处理;
S3、接收和处理RREP包;当前的节点接收到并处理回传给源节点的RREP包;
S4、数据分流传输;当源节点收到RREP包后进行数据传输;
S5、多路径维护。
2.根据权利要求1所述的移动自组网络中的基于路径状态的多径分流路由方法,其特征在于,在步骤S1中,更具体的步骤为:
S11,源节点检测是否存在有效路由;当存在有效路由时维持当前的路由表,当不存在有效路由时则执行以下S12步骤;
S12,源节点生成一个RREQ包并进行洪泛;RREQ包内含有节点状态权重域,用于记录所经过路径中所有节点的节点状态权重的最小值;所述节点状态权重根据节点的剩余能量率、接口队列可用率进行计算;
其中:
节点的剩余能量率ERi(t)为某一节点剩余可用的能量与该节点的初始能量之比,其计算如公式(1)所示:
i表示节点编号,Emax表示节点i的初始能量,Ei(t)表示节点i在t时刻的剩余能量;
节点的接口队列可用率QRi(t)为节点i中剩下可用的接口队列长度与节点的初始接口队列的长度之比,其计算方法如公式(2)所示:
Lmax表示节点i接口队列的初始长度,Li(t)表示节点i在t时刻已用的队列长度;
节点的状态权重NSWi(t)为节点i的剩余能量率和接口队列可用率这两个量的加权平均值,其计算如公式(3)所示:
NSWi(t)=α×ERi(t)+(1-α)×QRi(t) (3)
α为加权系数且α∈(0,1)。
3.根据权利要求1所述的移动自组网络中的基于路径状态的多径分流路由方法,其特征在于,在步骤S2中,更具体的步骤为:
S21,当前的节点判断是否已经接收过该RREQ包;如果不是,则在该节点的广播ID列表中记录下该RREQ分组的标识信息<SRC IP,BCAST ID>;如果是,将限制泛洪标记设置为True不再继续转发该RREQ包;
S22,在当前节点的路由表中查找是否有到源节点的反向路由条目;如果没有,添加一个反向路由条目到路由表中;如果有,维持已有的路由表;
S23,当前节点根据路由信息和权重信息更新准则,比较序列号的大小来更新路由表中的反向路由信息;如果符合路由信息和权重信息更新准则的更新条件,则进行路由更新操作;如果不符合路由信息和权重信息更新准则的更新条件,则丢弃该RREQ包;
S24,完成反向路由更新工作后,如果当前节点是目的节点,则会产生一个RREP包来单播回传给源节点;如果当前节点是中间节点且该中间节点的路由表中存有到达目的节点的有效路由,则根据链路不相交来选择一条未回复使用过的反向路径,生成一个RREP包单播传回给源节点;如果中间节点没有到达目的节点的有效路由且已经开启了限制泛洪标志为True,则不再转发RREQ,若未开启,则进一步判断该节点的剩余能量是否低于预先设定的能量阈值;如果低于能量阈值,则丢弃RREQ包;如果高于能量阈值,则比较当前节点的状态权重与RREQ中的节点状态权重,并将两者之中较低的权重写入RREQ包中;然后根据延时函数,将RREQ包延时广播出去,延时函数的计算如公式(8)所示:
D设置为转发时间,NSWi(t)为节点i在某时刻t的状态权重,γ为设定的介于0和1之间的临界值。
4.根据权利要求3所述的移动自组网络中的基于路径状态的多径分流路由方法,其特征在于,步骤S23中所述路由信息和权重信息更新准则的过程为:
当源节点启动路由发现过程时,源节点把一个状态最大值写入到路由请求包RREQ的节点状态权重域中并发送RREQ;当中间节点接收到RREQ时,首先进行反向路由信息的比较和更新;节点将自己反向路由表中的序列号和广告跳数与RREQ中的值进行比较,比较方法为:
如果反向路由的序列号比RREQ中的源序列号小,则表示该节点路由表需要更新路由信息,节点删除陈旧的路径,将新的路径及其路径中最小的节点状态权重一起插入到路径列表里,其中插入的过程按计算出来的路径的综合状态权重的降序方式插入;
如果反向路由的序列号等于RREQ中的源序列号,且广告跳数比RREQ中的跳数要大,则将此条不相交路径插入到路径列表中或者更新路由表中已有的路径信息;
在更新路由信息完毕后,中间节点将自己的状态权重与RREQ包中记录的节点权重进行比较,并将较小的值写入RREQ包,然后RREQ等待一定时延后被转发出去;
当RREQ包到达目的点或某个存有到达目的点有效路由的中间节点时,该节点会产生一个RREP包;如果是目的节点,则将一个状态最大值写入RREP中的节点状态权重域;如果是中间节点,则将当前节点的状态权重和RREQ包中携带的节点状态权重两者中的较小值写入RREP包的节点状态权重域;然后将RREP单播回传给源节点;在回传过程中RREP记录所经过路径的最小节点状态权重,并且更新正向路由及其路径的最小节点状态权重。
5.根据权利要求3所述的移动自组网络中的基于路径状态的多径分流路由方法,其特征在于,在步骤S23中,符合路由信息和权重信息更新准则的更新条件的情况有两种:
第一种,如果反向路由的序列号比RREQ中携带的源序列号小,则节点将反向路由的序列号设置为RREQ中的源序列号,广告跳数设置为无穷大,删除所有陈旧路径,将新的路径及其路径的最小节点状态权重一起插入到反向路径列表里,插入的过程按计算出来的路径综合状态权重的降序方式插入;
其中,路径的最小节点状态权重PNSWk计算如公式(4)所示;
PNSWk=min{NSWj(t)lnodej∈pathk} (4)
k表示路径的编号,j表示路径k中的任意一个节点的编号;
路径的长度权重PLWk计算如公式(5)所示:
HopCountk表示路径k的跳计数即路径长度;
路径的综合状态权重计算如公式(6)所示:
PSWk=β×PNSWk+(1-β)×PLWk (6)
β和(1-β)表示两个路径状态权重分量在路径综合状态权重中所占的比重系数,β∈(0,1);
第二种,如果反向路由的序列号等于RREQ中的源序列号,并且广告跳数比RREQ中的跳数要大,则根据链路是否不相交来进一步判断:如果当前节点能够构成新的不相交路径,则将新路径及其路径的最小节点状态权重一起插入到路径列表中,并按降序方式插入;如果当前节点构成的不相交路径已经存在,则更新已存在路径的有效时间和最小节点状态权重等信息,然后进行降序排列;接着更新反向路由的广告跳数为路径列表中的最大跳数。
6.根据权利要求1所述的移动自组网络中的基于路径状态的多径分流路由方法,其特征在于,在步骤S3中,更具体的步骤为:
S31,当某个节点接收到回传的RREP包时,先在该节点的路由表中查找是否有到目的节点的正向路由条目;如果没有,则添加一个正向路由条目到路由表中,然后根据路由信息和权重信息更新准则,比较正向路由的序列号与RREP中携带的目的序列号,更新该节点的正向路由信息;如果符合更新条件,则插入或更新正向路由,并将最小节点权重写入路径信息中,降序排列路径;如果不符合更新条件,则丢弃RREP包;
S32,在完成正向路由更新工作后,判断该节点是否为源节点;如果不是,则根据链路不相交找到一条未用过的反向路径,单播转发RREP包;如果是,则丢弃该RREP包。
7.根据权利要求1所述的移动自组网络中的基于路径状态的多径分流路由方法,其特征在于,步骤S4更具体的为:
当源节点收到RREP时,判断是否是第一次收到RREP,如果是,则使用第一条正向路径发送数据分组;如果不是,则按照路径排序与流量分配原则,让每条路径都承担一定的数据传输任务;
所述路径排序与流量分配原则为在一次路由发现过程中,对于发现的多条路径,根据路径综合状态权重的降序进行排列,并且进行编号,然后赋予每条路径相应的流量权值,接下来节点按照流量权值给每条路径分配传输任务,流量权值的计算如公式(7)所示:
path_nums表示某个路由条目中路径的数目,n表示每条路径的编号,路径权重最小的编号为1,路径权重最大的编号为path_nums,对应的函数f(n)的取值表示分配给这条路径的流量权值,流量权值即为待传输的分组个数。
8.根据权利要求1所述的移动自组网络中的基于路径状态的多径分流路由方法,其特征在于,在步骤S5中更具体的步骤为:
各节点通过周期性地交互HELLO报文检测传输的路径是否断裂;
当所有路径均断裂时,则回到步骤S1重启路由发现过程;
当所有路径未全部断裂时,则广播路由出错包RERR通知所有受到影响的节点删除路由表中已断开的路径,接着将断裂路径上的传输任务按照路径排序与流量分配原则进行流量分配切换到未断裂的路径上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110201715.3A CN112954764B (zh) | 2021-02-23 | 2021-02-23 | 一种移动自组网络中的基于路径状态的多径分流路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110201715.3A CN112954764B (zh) | 2021-02-23 | 2021-02-23 | 一种移动自组网络中的基于路径状态的多径分流路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112954764A true CN112954764A (zh) | 2021-06-11 |
CN112954764B CN112954764B (zh) | 2022-12-06 |
Family
ID=76245592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110201715.3A Active CN112954764B (zh) | 2021-02-23 | 2021-02-23 | 一种移动自组网络中的基于路径状态的多径分流路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112954764B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827013A (zh) * | 2022-07-04 | 2022-07-29 | 广东电网有限责任公司佛山供电局 | 配电网站域式快速保护系统数据冗余发送方法及相关装置 |
CN115002021A (zh) * | 2022-04-08 | 2022-09-02 | 杭州电子科技大学 | 一种高效的空间网络路由策略 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070286097A1 (en) * | 2004-02-16 | 2007-12-13 | Davies Christopher M | Network Architecture |
KR20090044771A (ko) * | 2007-11-01 | 2009-05-07 | 한국전자통신연구원 | 무선 센서 네트워크에서의 다중 경로 라우팅 방법 |
CN103260211A (zh) * | 2013-04-27 | 2013-08-21 | 北京交通大学 | 一种改进的aomdv路由方法 |
CN106686659A (zh) * | 2017-02-14 | 2017-05-17 | 重庆邮电大学 | 一种基于aomdv的能量感知节点不相交多路径路由算法 |
CN108449271A (zh) * | 2018-04-13 | 2018-08-24 | 吉林大学 | 一种监测路径节点能量和队列长度的路由方法 |
CN109548112A (zh) * | 2019-01-14 | 2019-03-29 | 三峡大学 | 一种基于多维度路径质量因子的无线传感网分布式路由方法 |
-
2021
- 2021-02-23 CN CN202110201715.3A patent/CN112954764B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070286097A1 (en) * | 2004-02-16 | 2007-12-13 | Davies Christopher M | Network Architecture |
KR20090044771A (ko) * | 2007-11-01 | 2009-05-07 | 한국전자통신연구원 | 무선 센서 네트워크에서의 다중 경로 라우팅 방법 |
CN103260211A (zh) * | 2013-04-27 | 2013-08-21 | 北京交通大学 | 一种改进的aomdv路由方法 |
CN106686659A (zh) * | 2017-02-14 | 2017-05-17 | 重庆邮电大学 | 一种基于aomdv的能量感知节点不相交多路径路由算法 |
CN108449271A (zh) * | 2018-04-13 | 2018-08-24 | 吉林大学 | 一种监测路径节点能量和队列长度的路由方法 |
CN109548112A (zh) * | 2019-01-14 | 2019-03-29 | 三峡大学 | 一种基于多维度路径质量因子的无线传感网分布式路由方法 |
Non-Patent Citations (1)
Title |
---|
陈文广等: "基于改进AOMDV路由协议的WSNs拥塞控制和能耗均衡策略", 《计算机工程与科学》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002021A (zh) * | 2022-04-08 | 2022-09-02 | 杭州电子科技大学 | 一种高效的空间网络路由策略 |
CN115002021B (zh) * | 2022-04-08 | 2024-03-29 | 杭州电子科技大学 | 一种高效的空间网络路由策略 |
CN114827013A (zh) * | 2022-07-04 | 2022-07-29 | 广东电网有限责任公司佛山供电局 | 配电网站域式快速保护系统数据冗余发送方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112954764B (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8432820B2 (en) | Radio and bandwidth aware routing metric for multi-radio multi-channel multi-hop wireless networks | |
Nandiraju et al. | Multipath routing in wireless mesh networks | |
Kumaran et al. | Early congestion detection and adaptive routing in MANET | |
US7450521B2 (en) | Cost-based routing using backoff scheme | |
CN104080112B (zh) | 一种提高无线自组织网络业务可靠性的方法 | |
WO2007053141A1 (en) | Method for determining a route in a wireless mesh network using a metric based on radio and traffic load | |
Tekaya et al. | Multipath routing with load balancing and QoS in ad hoc network | |
CN108449271B (zh) | 一种监测路径节点能量和队列长度的路由方法 | |
CN112954764B (zh) | 一种移动自组网络中的基于路径状态的多径分流路由方法 | |
CN107846706A (zh) | 一种拥塞避免的编码感知无线mesh网络多路径路由方法 | |
Tran et al. | Routing with congestion awareness and adaptivity in mobile ad hoc networks | |
CN113891399A (zh) | 一种面向负载均衡的多径加权调度olsr路由方法 | |
Wannawilai et al. | AOMDV with sufficient bandwidth aware | |
Rani et al. | Energy efficient load balancing approach for multipath routing protocol in ad hoc networks | |
Mbarushimana et al. | Congestion avoidance routing protocol for QoS-Aware MANETs | |
Bhoge et al. | Cross-layer approach for energy & communication efficient protocol of mobile ad hoc networks | |
Srinivasan et al. | Stability and energy aware multipath routing for mobile ad hoc networks | |
EP1564938A1 (en) | A cost-based routing using backoff scheme | |
Kumar et al. | An energy and traffic aware routing approach as an extension of aodv | |
Puri et al. | Congestion avoidance and load balancing in AODV-multipath using queue length | |
Tang et al. | MP-MAODV: A MAODV-based multipath routing algorithm | |
Thanthry et al. | EM-AODV: Metric based enhancement to AODV routing protocol | |
Patel et al. | Energy efficient routing using residual energy and stability in mobile ad-hoc network | |
Johansson et al. | An analysis of the fisheye routing technique in highly mobile ad hoc networks | |
Alleema et al. | Cooperative and fresher encounter algorithm for reducing delay in MANET |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |