一种空间DTN网络的组播路由方法与流程

文档序号:16245630发布日期:2018-12-11 23:33阅读:157来源:国知局
一种空间DTN网络的组播路由方法与流程

本发明属于卫星通信技术领域,更具体地,涉及一种空间dtn网络的组播路由方法。

背景技术

随着航天技术的发展,如何利用航天器组网及时准确地获取、处理和分发空间信息成为技术关键。dtn(delaytolerantnetworks,即时延容忍网络)网络的结构特征和空间航天器组网的特征高度契合,适合于空间航天器组网并与地面多种多样的网络互联,从而形成空间dtn网络。空间dtn网络有着传统dtn网络长延时、间歇性连接、高误码率等特点,此外由于星上设备使用宇航级芯片,空间dtn网络中节点的存储资源十分受限。因此,需要设计在空间环境下特定的路由方案。

当前dtn网络组播路由研究主要是针对机会网络这样的应用背景的,而关于空间dtn网络组播路由的研究则很少。在机会网络环境下,节点的移动轨迹不可预测,也就是说,节点的移动性模型不具有确定性。与此相反的是,在空间dtn网络中,其节点移动性模型具有确定性,即使某些空间节点由于随机性移动而导致网络拓扑变化过程发生改变,但由于空间节点运动具有周期性规律,所形成的新的网络拓扑变化过程同样也具有确定性,即空间节点的移动性模型是具有一定随机性的确定性节点移动性模型。

空间dtn网络路由方法的研究一般基于其拓扑变化是一个确定的过程。sushant等人最早展开了面向确定链路调度的空间dtn网络路由方法的研究工作,对确定性空间dtn网络进行了形式化描述,并研究了基于零知识的首次接触路由方法、基于部分知识的路由方法和基于全局信息的线性规划路由方法等3种不同的路由方法。sushant等人的研究表明,随着信息量的增加,上述3种路由方法在时延和分组递送率方面性能表现出优势。burleigh等人提出的接触图路由方法cgr(contactgraphrouting)是一个有代表性的非常经典的空间dtn网络路由方法,其路由计算过程根据接触图(contactgraph)进行。但是sushant和burleigh的研究都没有涉及空间dtn网络的组播问题。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种空间dtn网络的组播路由方法,其目的在于充分利用空间节点移动轨迹周期性并且可预知的特征得到节点之间的接触起止时间等信息,并根据dtn网络特有的存储-携带-转发机制,提出节点之间的最小时序路径算法,并通过不断迭代最小时序路径算法,并利用组播路径中的公共节点,构建组播树,由此解决空间dtn网络的组播路由的技术问题。

为实现上述目的,本发明提供了一种空间dtn网络的组播路由方法,所述方法包括以下步骤:

(1)初始化空间dtn网络的组播树t为空,时移起始时刻ts=0;由空间dtn网络中两点之间的接触信息确定两节点间的时序距离,进一步推算空间dtn网络中源节点s到所有目的节点di的最小时序距离和最小时序路径p(s,di)(i=1,2,...,m);其中,目的节点集合d={di|i=1,2,...,m},m为目的节点总数;

(2)按所述路径p(s,di)(i=1,2,...,m)的跳数hop(p(s,di))的降序对所有路径排序,设hop(p(s,d1))≥hop(p(s,d2))≥…≥hop(p(s,dm));

(3)将最大跳数的路径p(s,d1)加入到组播树t中,即t=t∪{p(s,d1)},且i=2;

(4)分别计算源节点s和组播树t中各节点tj之间的最小时序距离dist[tj],并以dist[tj]作为时移起始时刻计算节点tj和节点di之间的最小时序路径p(tj,di);其中,j=1,2,...,|t|,|t|表示组播树中节点数量;

(5)在路径集合{p(tj,di)|tj∈t,j=1,2,...,|t|}中,若路径p(tk,di)包含了组播树t中的节点,且和组播树t的公共节点数最多,则将路径p(tk,di)作为源节点s通过节点tk到达目的节点di的中间路径,并加入到组播树t中,即t=t∪{p(tk,di)};

(6)i=i+1;

(7)重复步骤(4)~(6),直到所有目的节点di都加入到组播树t中,由此得到空间dtn网络的组播路由方法。

进一步地,所述步骤(1)中由所述网络中两点之间的接触信息确定两节点间的时序距离具体为:预测空间dtn网络中节点之间的接触信息,计算消息从一个节点通过多个接触传到另一个节点所需的时间,得到两节点间的时序距离。

进一步地,所述两点之间的接触信息是根据空间dtn网络中节点移动性模型来预测得到。

进一步地,所述两节点间的时序距离具体为:

dist(s,v)=min{ci(s,v).ts|ci(s,v).ts≥ts,i=1,2,…,n}

其中,dist(s,v)表示为节点s到节点v的时序距离;ci(s,v)表示节点s和节点v间的第i个接触,n表示节点s和节点v之间接触的总数,接触表示为四元组:ci(s,v)=(s,v,ts,te),ts为接触i开始时刻,te为接触i终止时刻;ts为时移起始时刻;若节点s到节点v之间没有接触,则dist(s,v)=∞。

进一步地,所述步骤(1)中进一步推算空间dtn网络中源节点s到所有目的节点di的最小时序距离具体为:

(11)初始化集合s={s},其中,s为所述网络中已求出最小时序距离的节点集合;s为所述网络的源节点;

(12)从所述网络中选取一个节点w,若满足:

w∈u且dist(s,w)=min{dist(s,v)|v∈u}

则s到w的最小时序距离dist[w]=dist(s,w);将节点w加入到集合s中,即s=s∪{w},u=u-{w};其中,u为网络中尚未确定最小时序距离的节点集合;

(13)设u中与节点w有接触的节点为v,更新dist(s,v)值:

dist(s,v)=min{dist(s,v),min{ci(v,w).ts|ci(v,w).ts≥dist[w],i=1,2,…,k}}其中,集合u中的节点v和节点w之间有k个接触,k≥1;

(14)重复步骤(22)~(23),直到网络中所有节点都合并到集合s中,计算得到所述网络中源节点到其他所有节点的最小时序距离。

进一步地,所述步骤(1)中进一步推算空间dtn网络中源节点s到所有目的节点di的最小时序路径具体为:最小时序距离所经过的节点所组成的路径即为最小时序路径。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下技术特征及有益效果:

本发明方法充分利用空间节点移动轨迹周期性并且可预知的特征得到节点之间的接触起止时间等信息。并根据dtn网络特有的存储-携带-转发机制,提出节点之间的最小时序路径算法,并通过不断迭代最小时序路径算法,并利用组播路径中的公共节点,构建组播树,通过本发明方法构建的组播路由能很好的应对空间dtn网络空间组网长时延、高误码率、间歇性连接和网络资源受限的特点,保障网络的递送率,提高网络资源利用率。

附图说明

图1是本发明方法实施流程图;

图2是本发明方法的典型应用环境网络节点接触时序图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

令空间dtn网络中组播源节点为s,目的节点集合d={di|i=1,2,..,m},源节点s到目的节点di的路径为p(s,di),路径p(s,di)的跳数为hop(p(s,di))。构建空间dtn网络组播树t(s,d)主要过程步骤如如图1所示,包括以下步骤:

(1)初始化,组播树t←φ,时移起始时刻ts←0,根据最小时序距离算法,源节点s计算它到所有目的节点di的最小时序路径p(s,di)(i=1,2,...,m);

(2)根据路径p(s,di)(i=1,2,...,m)的跳数按照降序将所有路径排序,不失一般性,设hop(p(s,d1))≥hop(p(s,d2))≥…≥hop(p(s,dm)),即源节点s到目的节点d1经过的跳数最大,而到目的节点dm经过的跳数最小;

(3)选择最大跳数的路径p(s,d1)加入到组播树t中,即t←t∪{p(s,d1)},且i←2;

(4)选择下一个目的节点di,根据最小时序距离算法,分别以组播树t中各个节点tj(j=1,2,...,|t|)的dist[tj]作为时移起始时间计算tj到di的最小时序路径p(tj,di);

(5)在最小时序路径集合{p(tj,di)|tj∈t,j=1,2,...,|t|}中,若组播树t的节点tk(1≤k≤|t|)到di的最小时序路径p(tk,di)包含组播树t中的节点,且公共节点数最多,则将该最小时序路径作为源节点s通过节点tk到达目的节点di的路径,并加入到组播树t中,即t←t∪{p(tk,di)};

(6)i=i+1;

(7)重复步骤(4)~(6),直到所有目的节点di都加入到组播树t中,由此得到空间dtn网络的组播路由方法。

其中,在接触时序图中,将时序观察时刻称为时移起始时刻,记作ts。如果节点u和节点v在时间区间[ts,te]有一个接触,则节点u和节点v的接触c(u,v)可记为一个四元组,即c(u,v)=(u,v,ts,te),其中ts为接触开始时刻,te为接触终止时刻。定义时序距离为消息从一个节点通过多个接触传到另一个节点所需的时间,则利用下述我们所提出的最小时序距离算法可求出源节点到网络中其他所有节点的最小时序距离,相应的具有最小时序距离的时序路径即为最小时序路径。

令s为源节点,v为网络的节点集合,s为已求出最短路径的节点集合,u为尚未确定最短路径的节点集合,dist(s,v)表示源节点s到节点v的时序距离,dist[v]表示源节点s到节点v的最小时序距离。最小时序距离算法具体包括以下步骤:

(1)初始化:令s←{s},则u=v-s。若u中的节点v和s之间有n(n≥1)个接触,则源节点s到节点v的时序距离dist(s,v)←min{ci(s,v).ts|ci(s,v).ts≥ts,i=1,2,…,n};否则,dist(s,v)←∞;

(2)选取一个节点w,满足:w∈u且dist(s,w)=min{dist(s,v)|v∈u},将w加入到s中,即s←s∪{w},u←u-{w}。此时,源节点s到节点w的最小时序距离dist[w]←dist(s,w);

(3)更新所有u中与节点w有接触的节点v的原有dist(s,w)值:若u中的节点v和节点w之间有k(k≥1)个接触,则dist(s,v)←min{dist(s,v),min{ci(v,w).ts|ci(v,w).ts≥dist[w],i=1,2,…,k}};

(4)重复步骤2、3,直到所有节点都合并到s中为止。

现结合如图2所示实施例,对本发明进行进一步的详细说明:

(1)根据最小时序距离算法,可以得出源节点a到各目的节点的最小时序路径分别为:a→b→d、a→l→m→k、a→f→g→j→i;每条最小时序路径的跳数分别为:hop(p(a,d))=2,hop(p(a,k))=3,hop(p(a,i))=4;

(2)把跳数按照降序排列:hop(p(a,i))≥hop(p(a,k))≥hop(p(a,d)),源节点a到节点i最小时序路径的跳数最大,把路径p(a,i)加入到组播树t中;

(3)选择下一个目的节点为k,此时组播树中的节点包括源节点a、中间节点f、g、j和目的节点i;节点f、g、j到目的节点k的最小时序路径分别为p(f,k):f→g→k、p(g,k):g→k、p(j,k):j→g→k;为了避免造成环路,在计算最小路径过程中,舍弃经过路径p(a,i)中本节点的上游节点,因而路径p(j,k)不可用;同时这三条路径与组播树中公共节点最多的路径为p(f,k),因此把路径p(f,k)加入到组播树t中,即p(f,k)为源节点a经过节点f到目的节点k的最小时序路径;

(4)以此类推,直到所有目的节点均加入到组播树t中。

以上内容本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1