CN109525494A - 基于消息下一跳动态规划的机会网络路由机制实现方法 - Google Patents
基于消息下一跳动态规划的机会网络路由机制实现方法 Download PDFInfo
- Publication number
- CN109525494A CN109525494A CN201910021927.6A CN201910021927A CN109525494A CN 109525494 A CN109525494 A CN 109525494A CN 201910021927 A CN201910021927 A CN 201910021927A CN 109525494 A CN109525494 A CN 109525494A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- information
- hop
- dynamic programming
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/127—Shortest path evaluation based on intermediate node capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- 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/248—Connectivity information update
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于消息下一跳动态规划的机会网络路由机制实现方法。为提高信息转发的有效性,降低网络开销,提出消息成熟度和节点负载度概念。当两节点相遇,综合待转发消息的成熟度和相遇节点的负载度确定是否转发消息,有效控制网络开销。同时,提出下一跳动态规划算法(NH‑OPA),该算法针对成熟度过高的消息优化规划下一跳,提高消息转发效率。本发明能够有效增加信息的投递成功率,降低网络开销以及信息跳数,提高网络性能和信息安全性。
Description
技术领域
本发明涉及无线网络通信领域,特别涉及一种基于消息下一跳动态规划的机会网络路由机制实现方法。
背景技术
传统无线自组织网络的源端和目的端至少存在1条完整的通信链路,以手机、PAD、PC等为代表的短距离无线通信智能设备构成的自组织网络,由于受节点移动性、信号阻碍、恶劣环境、能量受限等因素的影响,源端和目的端很难时刻维持一条完整的通信路径。为克服上述无线网络的缺陷,机会网络应运而生。
机会网络数据传输的主要工作方式为“存储-携带-转发”,如何选择转发时机和转发中继节点是机会网络路由算法主要解决的问题。节点携带信息的交互方式大致可以分为极端交互和信息认证交互,见图1。
基于极端交互提出的机会网络路由算法历史较为久远,包括Epidemic、FirstContact、Spray and Wait和Direct Delivery算法。根据节点之间信息的交互方式,极端交互可以分为两种:一种极端交互方式为仅在相遇节点为目的节点时才将数据分组转发相遇节点,最具有代表性的协议为Direct Delivery算法和Spray and Wait算法的Wait阶段,源节点所携带的信息只发送给目的节点,对于链路中的其他相遇节点将不会建立链路转发消息,由此带来较高的传输延迟;另一种极端交互方式却截然相反,每当网络中的节点和其他节点相遇时,不论相遇节点是否为目的节点,该节点所携带的消息都会得到转发,具有代表性的算法为Epidemic和First Contact算法。在Epidemic算法中,每个节点都维护一个缓冲区,缓冲区中存放本节点或者源于其他节点需要本节点来转发的数据,当两个节点相遇时,缓冲区的数据便会得到复制,并转发给相遇节点,最大可能地使消息得到了转发,提高了传输成功率,但由于主要优点在多次复制消息,使网络中存在大量副本报文,在一定程度上增加了网络的开销率。而在First Contact算法中,源节点的数据分组将会转发给相遇的第一个节点,基于转发策略,虽然节点的数据分组不会被复制,网络开销率较低,但数据在两个节点之间转发时缺乏必要的信息辅助,由此带来较低的传输成功率。
发明内容
为了解决目前机会网络路由算法传输延迟过高、网络开销大或者传输成功率低的技术问题,本发明提供一种能够有效增加信息的投递成功率,降低网络开销以及信息跳数,提高网络性能和信息安全性的基于消息下一跳动态规划的机会网络路由机制实现方法。
为了实现上述技术目的,本发明的技术方案是,
一种基于消息下一跳动态规划的机会网络路由机制实现方法,包括以下步骤:
步骤一,为每个路由路径上的节点建立一个用于存储该节点的历史信息的信息表,历史信息包括该节点和其他节点的历史相遇信息以及历史相遇次数;
步骤二,每个节点维护一张路由规划表,用来存储动态规划机制计算得出的消息的下一跳转发节点信息;
步骤三,当某节点A与B相遇时,建立两个节点间的信道,查询节点A的规划表中是否存在节点B的信息,如果存在,节点A将需要转发的对应消息转发给节点B,然后断开信道并返回步骤三循环执行,否则进入步骤四。其中路由规划表中记录了消息和动态规划取得的节点ID队列,他们以“消息—节点ID”的键值对形式存放,当需要某个键或某个值时,可以实现快速查找的功能。此处的对应消息是指如果在节点A的规划表中存在节点B的消息,就在A的路由规划表中根据相遇节点ID去反向查找动态规划分配给此节点的消息。
步骤四,节点A获取B信息表中的数据,计算用于评估节点信息负载量的转发评估值,并与阈值比较,如果转发评估值超过阈值则进入步骤五,否则跳转步骤六;
步骤五,基于动态规划机制来动态规划合适的下一跳节点队列,并记录在节点A的路由规划表中,然后返回步骤三循环执行;
步骤六,节点A转发消息给B,并返回步骤三循环执行。
所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,所述的步骤一中,所述的历史信息在两个节点相遇时进行计数,若相遇节点的信息表中存在本节点,则将表中相遇次数加1,若不存在,则将本节点信息加入相遇节点的信息表中,并将相遇次数设置为1。
所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,所述的步骤二中,所述的每个节点维护一张路由规划表的过程为:通过动态规划机制计算出下一跳转发节点信息后,节点将该节点信息和对应的消息信息一起存入节点规划表中,一个消息对应至少一个下一跳转发节点信息。动态规划会把转发评估值超过阈值的消息进行规划,获得该消息对应的节点队列,消息以及对应的节点ID会以键值对形式存放在规划表中。此处的对应消息为进行动态规划的当前消息,它会和动态规划得到的节点信息一起存放在规划表中。
所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,所述的存入节点规划表中与节点信息对应的消息信息是正在进行动态规划的需要由路由节点进行转发的当前消息。
所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,所述的步骤三中,节点A将对应消息转发给节点B中所述的对应消息,是在节点A的路由规划表中根据节点B的ID去反向查找动态规划分配给此节点的消息。
所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,所述的步骤四中,所述的转发评估值为:
对于节点A中的消息x,综合考虑消息x的成熟度和节点B的负载度做出转发决策,定义E(A,B,x)为转发评估值:
E(A,B,x)=fA(x)×d(B)(1)
fA(x)表示节点A的消息队列中存在消息x的成熟度,表达式为:
其中gA(x)表示消息x所经过的跳数,h(x)表示消息x在网络中的存在时间与其最大存活时间之比,α和β为两部分的权重系数且α+β=1;
d(B)表示相遇节点B的负载度,假设节点B的发送队列中有m个消息,消息i的等待时间为ti,则节点B的负载度d(B)定义为下式:
所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,所述的步骤五中,基于动态规划机制来动态规划合适的下一跳节点队列包括以下步骤:
(1)将本节点信息表T中的所有节点构成局部优先队列,这些节点的顺序由相遇次数t值从小到大排列,t值相等的节点就按照节点信息携带量m由小到大排列,形成一个优先队列L1;
(2)在L1中采用二分法选取中间点,假设L1中存在N1、N2、N3、...Nd个节点,中间点为Ni,选取规则如下:
其中g(x)是获取节点相遇次数t的函数,R(x)是通过节点相遇次数t返回节点索引r的函数;
(3)将L1中相遇次数小于中间点Ni相遇次数的节点选出,组成新队列L2;
(4)将L2中的所有节点按照节点信息携带量m由小到大排列,在m相同的前提下再按照节点携带信息总跳数n由小到大的顺序排列,形成一个优先队列L3;
(5)按照n的大小将L3划分为若干区间,n值越大,节点所获得的区间长度越大,通过随机函数产生一颗随机种子,该种子随机落在L3的某个区间中并由区间长度决定随机种子落在相应区间的可能性,种子落在的区间对应的节点即为阈值节点,然后利用这个阈值节点的信息携带量exp_m作为样例阈值;
(6)在队列L3中,将m值小于阈值节点的节点选取出;
(7)将这些选取出来的节点重新形成一个新的临时优先队列L4,然后在L4中按照节点携带信息总跳数n排序,如果节点的n值相等,那么就按照t值由小到大的顺序排列;
(8)根据预先设定的规划值大小,取出L4中相应规模的节点作为动态规划获得的节点队列Le,并记录在本节点的规划表中;
(9)当携带有这些规划节点记录的节点与某个规划节点相遇时,则会向规划节点转发消息。
本发明的技术效果在于,提出消息成熟度和节点负载度概念,当两节点相遇,综合待转发消息的成熟度和相遇节点的负载度确定是否转发消息,有效控制网络开销,并在转发评估值的基础上对成熟度过高的消息动态规划下一跳,增大消息的传输成功率。
下面结合附图对本发明作出进一步说明。
附图说明
图1为机会网络信息交互方式分类示意图;
图2为信息度评估流程示意图;
图3为OPA规划流程示意图;
图4为随机种子落在L3的某个区间的示意图;
图5为整个NHOP-Routing的综合流程图;
图6为节点规模对不同算法的消息传输成功率影响结果示意图;
图7为节点规模对不同算法的信息平均跳数影响结果示意图;
图8为节点数量对不同算法的网络开销率影响结果示意图;
图9为消息生存周期对传输成功率的影响图;
图10为消息生存周期对消息平均跳数的影响图;
图11为消息生存周期对消息平均跳数的影响图;
图12为评估阈值Degree对传输成功率、传输延迟、网络开销率的影响图。
具体实施方式
在本发明中,每个节点维护一张信息表和路由规划表,利用信息表存储该节点的历史信息,利用路由规划表存储动态规划机制计算得出的消息的下一跳转发节点信息。当两个节点相遇时,相互获取其信息表中的数据,计算各自消息的转发评估值,对于转发评估值超过某一阈值的消息,基于动态规划机制规划合适的下一跳节点,并将消息和规划节点记录在节点的路由规划表中,之后如果和规划节点相遇则转发消息;而对于那些未达到阈值的消息则进行转发,以此在网络中寻找一种跳出局部最优的信息传输策略。
本文提出的路由算法中,每个节点维护一张信息表,信息表结构如表1所示,主要存放相遇节点标识(ID)和相遇次数。信息表中的数据需要得到不断维护更新。具体实现原理为:每个节点维护一张信息表,表中记录着该节点和其他节点的历史相遇信息以及历史相遇次数。假设某一时刻,节点A与另一节点B相遇,两节点将相互获取对方的信息表,若A的信息表中存在B节点信息,那么A将其信息表中与B的相遇次数增加1;否则,A把B节点信息加入自己的信息表中,并将其相遇次数设置为1。同理,节点B按上述方式更新其信息表。
表1信息表结构
同时,每个节点维护一张路由规划表用来存储动态规划机制(NH-OPA)计算得出的消息的下一跳转发节点信息。针对某条消息,当节点与其下一跳节点相遇时则直接转发该消息。规划表存放消息标识(ID)及其下一跳节点,下一跳节点可能存在多个,如表2所示,W6、P7、C1等均为消息1可选择的下一跳节点。当两个节点相遇时,相互从其路由规划表中搜索相遇节点是否为所携带消息的规划下一跳节点,如果是,则将消息转发给相遇节点。
表2规划表结构
消息ID | 下一跳1 | 下一跳2 | 下一跳3 | ... |
消息1 | W<sub>6</sub> | P<sub>7</sub> | C<sub>1</sub> | ... |
消息2 | P<sub>22</sub> | W<sub>2</sub> | W<sub>9</sub> | ... |
... | ... | ... | ... | ... |
我们认为网络中传播的消息有其生命周期,消息自从源节点发出后,希望在经过中间节点的有限次转发后能够达到目的节点,以保证时延不会太长。当消息经过较多次数的转发仍然没有到达目的节点,说明该消息有很大的概率没法送达目的节点,继续在网络中传播只会增加网络开销。因此,我们定义消息成熟度以描述消息在其生命周期所处的位置。同时,消息转发需要考虑接收节点的负载情况,如果负载过重则不宜转发,以免进一步影响接收节点的服务性能。因此,我们定义节点负载度用以衡量节点的负载状况。两节点相遇,综合考虑消息成熟度和对方的负载状况决定是否转发消息。
定义1:消息成熟度
假设节点A的消息队列中存在消息x,消息x的成熟度fA(x)如式(1)所示。
其中gA(x)表示消息x所经过的跳数,h(x)表示消息x在网络中的存在时间与其最大存活时间之比,α和β为两部分的权重系数且α+β=1。由式(1)可见,消息所经过的跳数和网络中存在时间越大,其成熟度越大。
定义2:节点负载度
节点负载状况可以通过发送队列缓存中消息的平均等待时间来衡量,假设节点B的发送队列中有m个消息,消息i的等待时间为ti,则节点B的负载度d(B)定义为式(2)。
如果节点A与B相遇,对于节点A中的消息x,节点A需要综合考虑消息x的成熟度和节点B的负载度做出转发决策,定义E(A,B,x)为转发评估值,节点A将根据E(A,B,x)值确定是否转发消息x给节点B。E(A,B,x)如式(3)所示,从中可见消息x成熟度和节点B的负载度均与E(A,B,x)成正比。
E(A,B,x)=fA(x)×d(B)(3)
我们认为消息如果经过较多次数转发后还没有到达目的节点,那么之后的转发能够送达目的节点的概率较小;同时,把消息转发给负载重的节点加重了接收节点的负担,并可能造成网络局部性能恶化。针对这些因素,我们给出了如下两条消息转发规则。
假设某时刻节点A与B相遇,1)如果节点B为节点A路由规划表关于消息x的下一跳节点,则节点A向B转发消息x;否则,2)如果E(A,B,x)≤γ,则节点A向B转发消息x。γ为给定阈值,当转发评估值超过γ时不转发消息x。节点相遇处理与消息转发流程见图2。
当转发评估值超过γ时,通过节点动态规划选取下一跳节点。将本节点信息表中的所有节点组成一个优先队列L1,节点次序按照相遇次数t由小到大排序,在t相同的前提下再按照节点信息携带量m由小到大的顺序排列。在这个优先队列中,采用二分法选取中间点,将L1中所有相遇次数小于中间点的节点选出,组成新队列L2。L2中存放的节点均为相遇次数相对较少的下跳候选节点,有效地跳出了局部最优。在组成的新队列L2中,对每一个节点按照节点信息携带量m由小到大排列,在m相同的前提下再按照节点携带信息总跳数n由小到大的顺序排列。在这个优先队列中,通过基于大概率的随机函数选取一个节点的m值作为标记exp_m,这个就是样例节点,是本算法的关键,这个样例节点是随着每次选取节点的变化而不断变化,并且它主要用来做阈值规划,因此称为动态阈值节点。为了使消息传播能够有更多机会突破局部最优状态,这个阈值必须要动态选择,增加跳出局部最优的概率。把队列L2中凡是m值小于阈值exp_m的点取出来,重新形成另外一个队列L3。由于重新得到的队列L3是临时存在,而且随着不同的阈值的不同而不断变化的,因此这里称为临时优先队列,取出队列相应规模的节点组成队列即是动态规划的下一跳节点队列Le,由于参考节点的动态变化,导致形成的优先队列和选择的最优节点队列也随之发生变化。NH-OPA算法的流程如图3所示。
NH-OPA算法的基本描述如下:
(1)将本节点信息表T中的所有节点构成局部优先队列,这些节点的顺序由相遇次数t值从从小到大排列,t值相等的节点就按照节点信息携带量m由小到大排列,形成一个优先队列L1。
(2)在L1中采用二分法选取中间点,假设L1中存在N1、N2、N3、...Nd个节点,中间点为Ni,选取规则如下:
其中g(x)获取节点相遇次数t的函数,R(x)是通过节点相遇次数t返回节点索引r的函数。
(3)将L1中所有相遇次数小于中间点Ni相遇次数的节点选出,组成新队列L2。
(4)将L2中的所有节点按照节点信息携带量m由小到大排列,在m相同的前提下再按照节点携带信息总跳数n由小到大的顺序排列,形成一个优先队列L3。
(5)如图4所示按照n的大小将L3划分为若干区间,n值越大,节点所获得的区间长度越大。通过随机函数产生一颗随机种子,该种子随机落在L3的某个区间中。由于区间长度决定随机种子落在每个区间的可能性,故区间长度较大的节点,会有较大概率获得随机种子,则该区间对应的节点即为阈值节点,于是利用这个阈值节点的信息携带量exp_m作为样例阈值,为后面的算法提供服务。
(6)在队列L3中,将凡是节点的m值小于这个阈值的节点选取出。
(7)将这些选取出来的节点重新形成一个新的临时优先队列L4,然后在L4中按照节点携带信息总跳数n排序,如果节点的n值相等,那么就按照t值由小到大的顺序排列。
(8)根据预先设定的规划阈值大小,取出L4中相应规模的节点作为动态规划获得的节点队列Le,并记录在本节点的规划表中。
(9)当携带有这些规划节点记录的节点与某个规划节点相遇时,则会向规划节点转发消息。
动态规划下一跳节点的设定,不一定能保证算法找到全局最优规划节点,但是通过这样选取节点的方式并且经过多次执行之后可以增加节点从局部最优状态跳出的概率。
基于下一跳路由规划,本文提出了一种路由机制,称为NHOP-Routing。该机制中,两个节点相遇时相互交换信息并更新信息表,计算转发评估值,按上述消息转发规则确定是否转发消息。同时,针对节点中的消息,应用NH-OPA算法进行下一跳路由规划。图5是整个NHOP-Routing的综合流程图。
下面将采用仿真实验工具平台ONE(opportunistic network environment)[16],将NHOP-Routing与Epidemic、Prophet和DRAFT进行比较。将选用传输成功率、消息平均跳数和路由开销三个指标来衡量路由算法的优劣。仿真参数设置如表2所示。
表2主要仿真参数
节点数量对路由算法的影响
1)消息传递成功率
节点规模对不同算法的消息传输成功率影响结果如图6所示。
由图6可知,在节点规模为[0,60]时,随着节点规模的增加,ITPM、Propthet、Epidemic和DRAFT的传输成功率均呈上升趋势,这是因为随着节点数量的增加,网络中充满了消息副本报文,消息得到传输的概率会变大。其中在节点数为[30,60]时,Epidemic和Propthet传输成功率大致相同,并且高于ITPM和DRAFT。但随着节点规模的增大,在节点规模达到60之后,ITPM的传输成功率上升趋势较为明显,而Epidemic、Propthet和DRAFT均保持均衡状态。当节点数增加到210后,ITPM的传输成功率上升到45%,其根本原因是由于信息度评估机制,减少了消息的无效传递,在一定程度上增加了消息从源节点到目的节点的传输概率;DRAFT在节点数达到90后处于较不稳定状态,传输成功率忽高忽低,但整体波动变化不大;而Propthet和Epidemic则是在节点数达到180后分别出现了不同程度的下降,这是因为随着网络中节点数的增多,缺乏必要的节点信息评估机制,从而使传输成功率下降。
2)信息平均跳数
节点规模对不同算法的信息平均跳数影响结果如图7所示。
由图7可知,当节点数在[0,30]时,Epidemic和Propthet的信息平均跳数基本相同,DRAFT和ITPM的信息平均跳数略低于其他算法。当节点规模达到30后,随着节点规模的增加,ITPM的信息平均跳数基本在[1,1.5]上小幅度波动,而Epidemic、Propthet和DRAFT的信息平均跳数大幅度增长,当节点规模达到300时,ITPM的平均跳数为1.5,是Epidemic的3/16,是Propthet的3/11,是DRAFT的5/7,这是因为随着网络中节点数量的增多,Epidemic和Propthet缺少必要的评估机制去评价相遇节点,而会带来消息的投递冗余,DRAFT簇内节点数量不断增加,不可避免地带来较高的消息跳数,而ITPM的OPA动态规划机制可以准确地动态规划下一跳节点,可以保证一定范围内的消息投递成功率,从而降低了信息的平均跳数,符合信息传递的安全性需求。
3)网络开销率
图8给出了节点数量对不同算法的网络开销率影响结果。网络开销率的计算公式如下:
由图8可知,在节点规模为[0,60]时,随着节点数量的增加,Epidemic、Propthet和DRAFT三种算法的网络的开销率有所增大,这是因为随着消息生存时间的增加,网络中会充斥着大量的消息副本报文,从而导致交换的信息包数量增加。在节点规模超过30时,Epidemic、Propthet和DRAFT的网络开销率开始高于ITPM,主要是因为ITPM存在HAMS机制,可以在消息生存周期达到MaxValue/2时,重新将那些信息度较高的节点所携带的信息轮询分配给信息度较低节点,在一定程度上使得网络中每个节点的信息负载量达到均衡状态,降低了网络负载率。当节点规模达到60之后,Epidemic算法的开销率上升趋势较为显著,Propthet小幅度上升,DARFT略微上升,而ITPM却保持相对平稳;当节点数量达到300时,Epidemic的开销率为ITPM的600倍。这是由于Epidemic协议的“极端”特性,“随遇随传随存”的工作模式网络中的节点需要不停地把消息传递给相遇节点,导致高负载,而Propthet和DRAFT的网络开销率分别为ITPM的450倍和200倍,当节点规模较多时,ITPM的优势较为显著。
通过对Epidemic、Propthet和ITPM算法在节点数量低和高的环境下的仿真结果分析可知,当节点数较少时,Epidemic和Propthet的传输成功率优于ITPM,而在消息平均跳数和网络开销方面,ITPM则略胜一筹。但随着节点数量的不断增加,ITPM的传输成功率增加较为显著,网络开销相对于Epidemic、Propthet和DRAFT小,根本原因在于当节点数量较少时,网络中不存在拥塞现象且数据信息量较少,所以3种算法的性能指标基本相似。但当网络中的节点数量增加时,Epidemic算法就会出现信息过于泛滥、过度计算使得传输成功率减少,开销增大,而Propthet基于概率策略,当网络中的节点频繁相遇时,很难依靠转发概率来准确投递消息,DRAFT基于社会关系进行分簇,但随着节点规模的增大,社会关系较为复杂,因此只适合节点规模较少的情况。而ITPM具有动态规划机制,保证了数据信息的传递一直存在于较为精准的网络通信链路,所以ITPM在节点数量较大时体现出其优越性。
消息生存周期对路由算法的影响
固定节点规模为150个,在不同消息生存周期的情况下进行了算法仿真对比。图9-11是随着网络中消息生存周期的增加各路由算法的传输成功率、消息平均跳数、网络开销率的变化趋势。
图9表示消息生存周期对传输成功率的影响图,当消息生存周期为[0,120]时,Epidemic、Propthet和DRAFT的传输成功率都高于ITPM,在节点数为60时,Epidemic的传输成功率比ITPM高10%,这是因为ITPM的HAMS机制和消息生存周期密切相关,当消息生存周期较小时,网络中的大量消息还未找到合适的存储节点,未能跳出局部最优,由此导致较低的传输成功率。消息生存周期达到120后,HAMS机制的优势开始凸显,ITPM的传输成功率大幅度上升,而Epidemic、Propthet和DRAFT却小幅度下降,这是因为ITPM中的大部分消息已经存储在相应的后继结点上,跳出了局部最优,从而使得传输成功率上升。从整体上来看,当消息生存周期较大时,ITPM的优势较为显著。
图10表示消息生存周期对消息平均跳数的影响,当消息生存周期为[0,30]时,3种算法的消息平均跳数均大幅度上升。而当消息生存周期达到30之后,ITPM的消息平均跳数开始逐渐减少,而Propthet、Epidemic和Epidemic均逐渐增加,并且高于ITPM。当消息生存周期达到300时,ITPM的消息平均跳数是Propthet的3/8,是Epidemic的3/10,是DRAFT的6/13。
如图11所示,在消息生存周期在[0,30]时,3种算法的网络开销率均大幅度上升,在[30,60]时均有所下降。而当消息生存周期达到60时,Epidemic、Propthet和DRAFT的网络开销率开始上升,而ITPM却继续保持下降,这是因为随着消息生存周期的增加,节点携带的消息数量逐渐增多,节点负载开始增大,而ITPM的HAMS机制的负载均衡在一定程度上降低了网络的开销率。
通过对Epidemic、Propthet、DRAFT和ITPM算法在消息生存周期低和高的环境下的仿真结果分析可知,ITPM算法在数据传递的过程中网络开销率达到最小,并且保证了较高的传输成功率和较低的消息跳数。
评估阈值对路由算法的影响
评估阈值Degree对传输成功率、传输延迟、网络开销率的影响如图12所示,当Degree为6时,整个网络拥有最高的传输成功率30.48;而当Degree为12时,取得最小的传输延迟,5023.151;随着Degree的增大,网络开销率逐渐增大,这是因为评估阈值较小时,信息传播过程将会进入到OPA机制动态选择下一跳节点,不会对消息进行复制转发,由此带来较低的开销率。而随着评估阈值的增大,越来越多的节点将会选择直接发送消息给相遇节点,由此造成了网络中充斥着大量的消息报文副本,增加了网络开销。所以,从网络开销率角度定义,评估阈值在较小时,仿真实验取得较好的结果。
Claims (7)
1.一种基于消息下一跳动态规划的机会网络路由机制实现方法,其特征在于,包括以下步骤:
步骤一,为每个路由路径上的节点建立一个用于存储该节点的历史信息的信息表,历史信息包括该节点和其他节点的历史相遇信息以及历史相遇次数;
步骤二,每个节点维护一张路由规划表,用来存储动态规划机制计算得出的消息的下一跳转发节点信息;
步骤三,当某节点A与B相遇时,建立两个节点间的信道,查询节点A的规划表中是否存在节点B的信息,如果存在,节点A将需要转发的对应消息转发给节点B,然后断开信道并返回步骤三循环执行,否则进入步骤四;
步骤四,节点A获取B信息表中的数据,计算用于评估节点信息负载量的转发评估值,并与阈值比较,如果转发评估值超过阈值则进入步骤五,否则跳转步骤六;
步骤五,基于动态规划机制来动态规划合适的下一跳节点队列,并记录在节点A的路由规划表中,然后返回步骤三循环执行;
步骤六,节点A转发消息给B,并返回步骤三循环执行。
2.根据权利要求1所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,其特征在于,所述的步骤一中,所述的历史信息在两个节点相遇时进行计数,若相遇节点的信息表中存在本节点,则将表中相遇次数加1,若不存在,则将本节点信息加入相遇节点的信息表中,并将相遇次数设置为1。
3.根据权利要求1所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,其特征在于,所述的步骤二中,所述的每个节点维护一张路由规划表的过程为:通过动态规划机制计算出下一跳转发节点信息后,节点将该节点信息和对应的消息信息一起存入节点规划表中,一个消息对应至少一个下一跳转发节点信息。
4.根据权利要求3所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,其特征在于,所述的存入节点规划表中与节点信息对应的消息信息是正在进行动态规划的需要由路由节点进行转发的当前消息。
5.根据权利要求1所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,其特征在于,所述的步骤三中,节点A将对应消息转发给节点B中所述的对应消息,是在节点A的路由规划表中根据节点B的ID去反向查找动态规划分配给此节点的消息。
6.根据权利要求1所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,其特征在于,所述的步骤四中,所述的转发评估值为:
对于节点A中的消息x,综合考虑消息x的成熟度和节点B的负载度做出转发决策,定义E(A,B,x)为转发评估值:
E(A,B,x)=fA(x)×d(B)(1)
fA(x)表示节点A的消息队列中存在消息x的成熟度,表达式为:
其中gA(x)表示消息x所经过的跳数,h(x)表示消息x在网络中的存在时间与其最大存活时间之比,α和β为两部分的权重系数且α+β=1;
d(B)表示相遇节点B的负载度,假设节点B的发送队列中有m个消息,消息i的等待时间为ti,则节点B的负载度d(B)定义为下式:
7.根据权利要求1所述的一种基于消息下一跳动态规划的机会网络路由机制实现方法,其特征在于,所述的步骤五中,基于动态规划机制来动态规划合适的下一跳节点队列包括以下步骤:
(1)将本节点信息表T中的所有节点构成局部优先队列,这些节点的顺序由相遇次数t值从小到大排列,t值相等的节点就按照节点信息携带量m由小到大排列,形成一个优先队列L1;
(2)在L1中采用二分法选取中间点,假设L1中存在N1、N2、N3、...Nd个节点,中间点为Ni,选取规则如下:
其中g(x)是获取节点相遇次数t的函数,R(x)是通过节点相遇次数t返回节点索引r的函数;
(3)将L1中相遇次数小于中间点Ni相遇次数的节点选出,组成新队列L2;
(4)将L2中的所有节点按照节点信息携带量m由小到大排列,在m相同的前提下再按照节点携带信息总跳数n由小到大的顺序排列,形成一个优先队列L3;
(5)按照n的大小将L3划分为若干区间,n值越大,节点所获得的区间长度越大,通过随机函数产生一颗随机种子,该种子随机落在L3的某个区间中并由区间长度决定随机种子落在相应区间的可能性,种子落在的区间对应的节点即为阈值节点,然后利用这个阈值节点的信息携带量exp_m作为样例阈值;
(6)在队列L3中,将m值小于阈值节点的节点选取出;
(7)将这些选取出来的节点重新形成一个新的临时优先队列L4,然后在L4中按照节点携带信息总跳数n排序,如果节点的n值相等,那么就按照t值由小到大的顺序排列;
(8)根据预先设定的规划值大小,取出L4中相应规模的节点作为动态规划获得的节点队列Le,并记录在本节点的规划表中;
(9)当携带有这些规划节点记录的节点与某个规划节点相遇时,则会向规划节点转发消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910021927.6A CN109525494B (zh) | 2019-01-10 | 2019-01-10 | 基于消息下一跳动态规划的机会网络路由机制实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910021927.6A CN109525494B (zh) | 2019-01-10 | 2019-01-10 | 基于消息下一跳动态规划的机会网络路由机制实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109525494A true CN109525494A (zh) | 2019-03-26 |
CN109525494B CN109525494B (zh) | 2021-05-07 |
Family
ID=65798800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910021927.6A Active CN109525494B (zh) | 2019-01-10 | 2019-01-10 | 基于消息下一跳动态规划的机会网络路由机制实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109525494B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110913451A (zh) * | 2019-12-18 | 2020-03-24 | 中国民航大学 | 一种机坪弱连通网络的机会路由优化方法 |
CN113207155A (zh) * | 2021-04-28 | 2021-08-03 | 河南科技大学 | 飞行自组网中基于网络连通性的副本自适应转发路由方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030076842A1 (en) * | 2000-12-01 | 2003-04-24 | Per Johansson | Flexible inter-network communication scheduling |
US20110261692A1 (en) * | 2010-04-21 | 2011-10-27 | Josep Maria Pujol Serra | Method for balancing loads in mobile wireless ad-hoc networks |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970725B (zh) * | 2012-11-30 | 2014-04-09 | 北京理工大学 | 一种基于多层社区分组的移动机会网络路由方法 |
CN104394236B (zh) * | 2014-12-18 | 2017-11-07 | 重庆邮电大学 | 节点与消息状态联合感知的分布式协作缓存方法 |
CN105704777B (zh) * | 2016-03-31 | 2017-02-01 | 陕西师范大学 | 一种面向机会网络的路由方法 |
CN108183865B (zh) * | 2017-12-31 | 2021-07-13 | 南京邮电大学 | 一种基于节点位置余弦相似度的机会网络转发方法 |
-
2019
- 2019-01-10 CN CN201910021927.6A patent/CN109525494B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030076842A1 (en) * | 2000-12-01 | 2003-04-24 | Per Johansson | Flexible inter-network communication scheduling |
US20110261692A1 (en) * | 2010-04-21 | 2011-10-27 | Josep Maria Pujol Serra | Method for balancing loads in mobile wireless ad-hoc networks |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110913451A (zh) * | 2019-12-18 | 2020-03-24 | 中国民航大学 | 一种机坪弱连通网络的机会路由优化方法 |
CN110913451B (zh) * | 2019-12-18 | 2023-06-27 | 中国民航大学 | 一种机坪弱连通网络的机会路由优化方法 |
CN113207155A (zh) * | 2021-04-28 | 2021-08-03 | 河南科技大学 | 飞行自组网中基于网络连通性的副本自适应转发路由方法 |
CN113207155B (zh) * | 2021-04-28 | 2022-07-26 | 河南科技大学 | 飞行自组网中基于网络连通性的副本自适应转发路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109525494B (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jain et al. | Routing in a delay tolerant network | |
CN107094115B (zh) | 一种基于sdn的蚁群优化负载均衡路由算法 | |
CN104394236B (zh) | 节点与消息状态联合感知的分布式协作缓存方法 | |
CN105765928B (zh) | 用于处理网络分组的方法和网络设备 | |
CN105515987B (zh) | 一种基于sdn架构面向虚拟光网络的映射方法 | |
CN102362470B (zh) | 路径设置服务器和路径设置方法 | |
Yao et al. | Improved ant colony optimization for seafood product delivery routing problem | |
CN105323166B (zh) | 一种面向云计算的基于网络能效优先的路由方法 | |
CN105262833B (zh) | 一种内容中心网络的跨层缓存方法及其节点 | |
CN103327564A (zh) | 基于蚁群算法的无线传感器网络路由方法 | |
CN104917659B (zh) | 一种基于虚拟网络连接特性的虚拟网络映射方法 | |
CN108600103A (zh) | 面向多层级网络的多QoS路由约束的蚁群算法 | |
CN106533733A (zh) | 基于网络分簇和哈希路由的ccn协同缓存方法及装置 | |
CN104166630A (zh) | 一种面向内容中心网络中基于预测的最优化缓存放置方法 | |
CN104301305A (zh) | 信息中心网络下兴趣包转发的方法和转发终端 | |
CN106210024B (zh) | 信息中心网络中基于流行度的多态蚁群算法来实现的方法 | |
CN109525494A (zh) | 基于消息下一跳动态规划的机会网络路由机制实现方法 | |
CN116390164A (zh) | 一种低轨卫星网络可信负载均衡路由方法、系统、设备及介质 | |
CN108259387A (zh) | 一种通过交换机构建的交换系统及其路由算法 | |
Lv et al. | ACO-inspired ICN routing mechanism with mobility support | |
CN114979014B (zh) | 数据转发路径规划方法、装置以及电子设备 | |
CN107454630A (zh) | 负载均衡方法及负载均衡路由器 | |
Gitzenis et al. | Asymptotic laws for content replication and delivery in wireless networks | |
CN110535705A (zh) | 一种自适应用户时延要求的服务功能链构建方法 | |
Lv et al. | A smart ACO‐inspired named data networking forwarding scheme with clustering analysis |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230821 Address after: No. 2413-2415, Building T4, Binjiang Financial Center, No. 112 Chazi East Road, Guanshaling Street, Yuelu District, Changsha City, Hunan Province, 410000 Patentee after: Hunan Jintongtu Technology Co.,Ltd. Address before: Yuelu District City, Hunan province 410083 Changsha Lushan Road No. 932 Patentee before: CENTRAL SOUTH University |
|
TR01 | Transfer of patent right |