本发明涉及eer协议技术领域,特别是一种基于历史接触信息和ttl的eer路由协议。
背景技术:
容迟容断网络(delay/disruptiontolerantnetwork,dtn)是一种应急式通信网络,可应用于许多场景。在dtn中,由于节点呈无规则运动,使得基于持续稳定端到端路径的传统路由协议不再适用于容迟容断网络。dtn的每对相遇节点间可能是间断性连接,将导致网络拓扑结构随着时间发生不可预知的变化。目前的dtn路由协议趋向于仅依靠节点的历史接触信息做出路由决策,导致此方法得到的网络性能不够高。
dtn可应用于干扰因素较多、任务条件恶劣的通信环境中,因此设计高效率的dtn路由协议具有较高的学术研究价值及较好的工程应用前景。
技术实现要素:
本发明的目的是克服现有技术的上述不足而提供一种网络性能高,消息投递率高的基于历史接触信息和ttl的eer路由协议。
本发明的技术方案是:一种基于历史接触信息和ttl的eer路由协议,包括以下步骤:
s1:多副本分布阶段:dtn网络的每个节点维持一系列滑动窗口用来存储历史接触信息,基于节点间的历史接触信息计算期望相遇节点数eev,当任意两个节点相遇时,根据在未来某段时间区间内估计的期望相遇节点数进行消息副本成比例分配,保证至少有一个消息副本在消息的生存时间ttl内到达目的节点;
s2:单副本转发阶段:利用每个节点的历史接触信息预测一跳相遇延迟,再估计多跳相遇延迟,即到目的节点的最小期望相遇延迟,最后通过比较到目的节点的最小期望相遇延迟值来决定是否将消息转发给当前相遇节点。
进一步,s1中,基于节点间的历史接触信息计算期望相遇节点数eev包括:时刻t时,节点vi在时间区间(t,t+τ)内的eev通过以下公式获得:
式中,mij=|mij|,
进一步,s1中,消息副本的分配包括:假定每个消息的初始副本数为λ,将每个消息的λ个副本传播给λ个不同的节点;这λ个不同的节点各自独立地将单副本消息传输至目的节点。
进一步,消息副本的分配具体包括:假设节点vi携带mk(mk>1)个消息mk的副本,当前消息的生存时间ttl为ttlk,节点vj中没有消息mk的副本。节点vi和vj在t时刻相遇,在交换更新路由信息之后,节点vi传输
进一步,s2中,预测两相遇节点间的一跳相遇延迟emd通过以下公式获得:在时刻t时,节点vi和vj间的emd为:
式中,
进一步,s2中,预测多跳相遇延迟包括:当任意两个节点相遇时,更新各自的相遇间隔历史接触信息并计算最新的平均相遇间隔,然后两个节点相互交换各自的相遇间隔矩阵mi以统一mi;如果两节点中有任意节点需要传送消息,则两节点基于相遇间隔矩阵mi和一跳相遇延迟预测建立各自的期望相遇延迟矩阵md。
进一步,相遇间隔矩阵mi通过以下公式获得:
式中,iij表示节点vi和vj间平均相遇间隔,并随着节点vi的相遇情况的变化而更新。
进一步,期望相遇延迟矩阵md通过以下公式获得:
式中,dij表示节点vi和vj间的期望相遇延迟emd,并随着节点vi的相遇情况的变化而更新。
进一步,所述dtn网络的网络模型为:假定dtn网络中有n个节点,vi表示节点i,vj表示节点j,每个节点在网络中都装备着一个通信范围为r的全方位天线设备;两个节点vi和vj只有在进入通信范围内才能在时刻t时能相互通信,即:|xi(t)-xj(t)|≤r,其中,xi(t)和xj(t)分别表示vi和vj在时刻t的位置;用
其中,eer协议(expectedencounterroutingprotocol)由多副本分布阶段和单副本转发阶段组成。每个消息的副本数在初始化时已经定义,且会随着每次节点间的接触而发生变化。当某节点的消息副本多于1时,进入多副本分布阶段。节点与其他节点相遇时,按比例传输副本给相遇节点直至副本数降至1,而后进入单副本转发阶段。
本发明的有益效果:
(1)dtn路由协议通过依靠节点的历史接触信息和消息生存时间做出路由决策,在副本分布、转发过程中,综合考虑了消息生存时间与节点历史交换信息对分配决策的影响,控制了短寿命消息的无效传播,进而减少了网络拥塞,大大提高了网络性能;
(2)当任意两个节点相遇时,采取一种积极的消息传输策略:根据在未来某段时间区间内估计的期望相遇节点数进行消息副本成比例分配,将尽可能多的副本交给与其他节点相遇更频繁的节点转发,有利于消息更迅速、更大范围的扩散,保证至少有一个消息副本在消息的生存时间ttl内到达目的节点,能够大大提高消息投递率。
(3)利用每个节点的历史接触信息预测一跳相遇延迟,再估计多跳相遇延迟,即到目的节点的最小期望相遇延迟,最后通过比较到目的节点的最小期望相遇延迟值来决定是否将消息转发给当前相遇节点,有利于交换相遇间隔信息,且随着相遇到越来越多的节点,每个节点维持的关于全网连接的信息越来越多。
具体实施方式
以下将结合具体实施例对本发明做进一步详细说明。
首先,本实施例先对本发明的dtn网络模型进行具体说明:
假定dtn网络中有n个节点。vi表示节点i,vj表示节点j,每个节点在网络中都装备着一个通信范围为r(节点的通信范围半径)的全方位天线设备。两个节点vi和vj只有在进入通信范围内才能在时刻t时能相互通信,即:|xi(t)-xj(t)|≤r,其中,xi(t)和xj(t)分别表示vi和vj在时刻t的位置。用
基于dtn网络模型,本实施例的eer路由协议具体包括以下步骤:
步骤1:多副本分布。在多副本分布阶段,为了取得较高的消息投递率,节点尽可能传播消息副本至其他不同节点,因此,当任意两个节点相遇时,根据在未来某段时间区间内估计的期望相遇节点数(eev)进行消息副本成比例分配。具体包括:
第1步:基于节点间的历史接触信息计算eev。为了计算出eev,每个节点需要存储该节点与其他相遇节点的相遇时间。每个节点维持一系列滑动窗口用来存储历史接触信息,以节点与其他相遇节点的过去的相遇间隔来表示。节点vi和vj间的已记录的过去相遇间隔集为
其中,
第2步:分布副本。假定每个消息的初始副本数为λ,只要保证至少有一个消息副本在ttl(消息的生存时间)内到达目的节点,就表明消息成功传输。因此,为了得到较高的消息递交率,首先将每个消息的λ个副本传播给λ个不同的节点;然后这λ个不同的节点各自独立地将单副本消息传输至目的节点。假设节点vi携带mk(mk>1)个消息mk的副本,当前ttl为ttlk,节点vj中没有消息mk的副本。节点vi和vj在t时刻相遇,在交换更新路由信息之后,节点vi传输
步骤2:单副本转发。在单副本转发阶段,每个节点需要决定是否将其所携带的消息转发给当前相遇节点。为解决这一问题,可以利用其历史接触信息预测一跳相遇延迟(expectedmeetingdelay,emd),再估计多跳相遇延迟,即到目的节点的最小期望相遇延迟memd,最后通过比较到目的节点的memd值来决定是否将消息转发给当前相遇节点。具体包括:
第1步:预测两相遇节点间的一跳相遇延迟。在时刻t时
其中
第2步:预测多跳相遇延迟。计算多跳相遇延迟前,每个节点需要先预测一跳相遇延迟并将其与相遇节点交换,因此,随着相遇到越来越多的节点,每个节点维持的关于全网连接的信息越来越多。
在eer协议中,每个节点维持一个n×n的相遇间隔矩阵mi,定义式如下:
其中,iij代表节点vi和vj间平均相遇间隔并随着节点vi的相遇情况的变化而更新。iij的计算方法如下:
为了便于交换相遇间隔信息,每个节点必须存储相应于其mi每一行的最近一次的更新时间,当两节点相遇时,根据每一行最近一次更新时间来交换和更新矩阵mi。同时,为了更好地预测相遇延迟,每个节点需要建立一个n×n的期望相遇延迟矩阵md(expectedmeetingdelaymatrix),其定义式如下:
其中,dij为节点vi和vj间的期望相遇延迟emd并随着节点vi的相遇情况的变化而更新。dij的计算方法如下:
dij可通过公式(4)计算而得,节点vi很难直接计算得到vj和vk间的emd(j≠i,k≠i),即:djk,此时可用矩阵mi中的ijk近似代替djk。通过建立矩阵md,节点vi可使用dijkstra算法计算出多跳相遇延迟。
eer算法的具体过程如下所示。
上述算法流程具体为:当节点vi与vj相遇时,更新各自的相遇间隔历史接触信息并计算最新的平均相遇间隔,然后节点vi与vj相互交换各自的矩阵mi以统一mi。如果两节点中有任意节点需要传送消息,则两节点基于矩阵mi和一跳相遇延迟预测建立各自的md矩阵。对于节点vi携带而vj没有携带的消息mk,且mk的副本个数为mk(mk>1),节点vi转发