基于网络编码和中继缓存辅助的DTN数据传输方法与流程

文档序号:18465059发布日期:2019-08-17 02:22阅读:270来源:国知局
基于网络编码和中继缓存辅助的DTN数据传输方法与流程

本发明涉及通信技术领域,尤其基于网络编码和中继缓存辅助的dtn数据传输方法。



背景技术:

延迟容忍网络(delay/disruptiontolerantnetwork,dtn)是一种存在高延迟或频繁断开现象的端到端传输的网络架构,在很多领域都有重要的运用,如星际网络、车联网、军事网络等。

kevinfall在2008年提出了dtn协议,并将其描述为“延迟/中断网络”,主要用于提供长延迟空间通信的端到端可靠传输。捆绑层协议(bp)的存储转发机制可以克服链路上的高丢包率和不同网络之间的异构互连导致的数据拥塞。dtn还可以解决行星间互联网(ipn)中可靠传输的问题。但是,随着数据量和数据源数量的增加,中继的利用效率降低。如何提高多源中继通信中的利用效率dtn场景已成为亟待讨论的问题。



技术实现要素:

本发明提供了一种基于网络编码和中继缓存辅助的dtn数据传输方法,包括建立中继通信网络,中继通信网络包括中继节点r、目的节点d、以及至少两个信源节点,两个信源节点为信源节点s1和信源节点s2,信源节点s1和信源节点s2通过中继节点r将信息传送到目的节点d;

bp协议定义了dtn协议的传输单元为集束包(bundle),bundle由基本块和有效载荷块构成,基本块中包含控制信息,自定义bundle包的优先级,有效载荷块中是实际传输的数据,整个bundle大小可变;

bp协议使用存储-转发机制:信源节点s1和信源节点s2将bundle传输给中继节点r,当中继节点r接收到bundle时会将它存储在永久非易失的内存中,只有在中继节点r接收到目的节点d传回的确认信息或者该bundle包指定的生命周期过期时才会从中继节点r的存储空间中删除bundle;

高、低两种不同优先级的bundle从信源节点s1和信源节点s2同时发送到中继节点r,中继节点r在时刻i分别接收到ai和bi两个来自信源节点s1和信源节点s2的bundle,并分别存储在两个存储器中;在i时刻之前中继节点r接收到的其余bundle将实时传输到目的节点d,不需要等待信源节点的bundle全都传输到中继节点r再统一进行转发;

利用中继节点r的存储能力,实现在低误码率信道条件下利用高发低存,在高误码率信道条件下利用高低融合转发、高低异或转发方案,将高优先级bundle优先送入转发队列,低优先级数据暂存或者合并进高优先级bundle以降低传输到目的节点的bundle数量;

dtn:延迟容忍网络,bp协议:捆绑层协议。

作为本发明的进一步改进,该dtn数据传输方法还包括优先转发策略,所述优先转发策略:假设信源节点s1和信源节点s2发送到中继节点r的bundle由中继节点r的两个存储器分别接收,产生两个到达队列,为了保证高优先级数据尽可能多的送达目的节点,不考虑链路的误码率高低,直接将队列中的高优先级数据送入转发队列;如果两个高优先级数据同时到达,随机将它们依次送入转发队列;在文件中的高优先级数据没有全部传输完成期间,队列中的低优先级数据会被赋予一个计时器并送入中继节点r的专用缓存空间,如果中继节点r的专用缓存空间不足,从计时器最小的低优先级数据开始删除,防止出现拥塞;当高优先级数据全部传输完毕后,将中继节点r中的低优先级bundle送入转发队列进行传输。

作为本发明的进一步改进,该dtn数据传输方法还包括bundle合并策略,在低误码率链路状态下,使用优先转发策略,将高优先级数据送入转发队列,低优先级数据暂存于中继节点r的缓存区中;在高误码率链路状态下,使用bundle合并策略,所述bundle合并策略:低优先级bundle被存储进缓存区中,高优先级bundle和存储区队列中的低优先级数据合并成为新的混合bundle送入转发队列。

作为本发明的进一步改进,该dtn数据传输方法还包括网络编码策略,在低误码率链路状态下,使用优先转发策略,将高优先级数据送入转发队列,低优先级数据暂存于中继节点r的缓存区中;在高误码率链路状态下,使用网络编码策略,所述网络编码策略:使用网络编码的方式将高优先级数据和低优先级数据结合。

作为本发明的进一步改进,在所述网络编码策略中,当高优先级bundle到达中继节点r后,从缓存区队列最前端依次取出存储的低优先级bundle,用于异或编码;将高优先级信息暂存于中继节点r中,将两个用于编码的bundle包头和后面的信息分离,包头中包含对bundle的操作指令,如果用于编码的两个bundle来自不同的节点将高优先级的bundle的包头作为编码后编码包的包头,通过网络编码将bundle的信息位异或得到编码包的信息位。

本发明的有益效果是:本发明建立了dtn协议框架下多源多业务的中继通信网络,在此基础上,将网络编码技术和bp协议相结合,提出了在中继节点中将高低优先级业务编码传输方案,并将其与优先转发策略和bundle合并策略比较。通过在地月场景下的仿真分析,发现网络编码方案有效地提升了中继通信网络的传输效益。

附图说明

图1是bp协议的基本架构、协议栈以及保管传输流程图;

图2是具有高优先级和低优先级服务的多源中继网络模型图;

图3是优选转发策略图;

图4是bundle合并策略图;

图5是网络编码策略图;

图6是三种策略文件传输总时延对比图;

图7是三种策略高优先级bundle传输时延对比图;

图8是三种策略高优先级bundle交付率对比图。

具体实施方式

众所周知,在多源单中继网络中,网络编码(nc)可以通过中继节点中的编码操作提高吞吐量,并广泛应用于各种网络场景的中继节点处理协议中,以提高系统效率。近年来,一些研究发现流行路由和随机线性网络编码(rlnc)的结合可以提高dtn的吞吐量。但是,只有一项研究考虑了中继节点的具体转发方案。为了解决这个问题,我们提出了一种结合nc和dtn的bp协议来提供缓冲数据处理和排序能力的方法,它可以在多源和多优先级场景中释放中继节点的压力。

dtn协议主要用于应对有巨大端到端时延和频繁链接中断的异构网络互联问题,是一种面向消息的覆盖层网络体系结构。它与tcp/ip协议的区别在于引入了位于应用层和传输层之间的集束层bp协议,这一协议层是实现保管传输机制的核心。

bp协议的研究主要集中在其基本传输单元和存储转发机制上。一方面,bp协议将基本传输单元定义为bundle。bundle大小会影响传输延迟和吞吐量。发明人使用bp协议和ltp协议来完成月球通信中的文件传输。发明人发现段大小对开销有很大影响,而bundle大小对缓冲区的使用和释放有很大影响。另一方面,存储转发机制在接收到来自下一个节点的确认信号后使中继节点清除缓冲区。发明人建立了一个分析模型来估计深空bp传输对缓冲区占用的动态影响。发明人在基于中继的深空通信架构中开发了bp协议的性能分析模型。他们关注不对称上行/下行链路和频繁中断的影响。

nc的基本思想是对中继节点中的多径数据执行简单的编码处理。与传统方案相比,它可以同时将信息单元传输到多个目的地。发明人将流行的路由形式(如prophet,maxprop和rapid)与rlnc结合起来,以提高dtn协议的传输性能,特别是在带宽和缓冲区受限制的情况下。此外,发明人在空间通信网络中使用rlnc并设计最佳解决方案以提高吞吐量]。发明人研究了在dtn中使用非反馈分段nc并以封闭形式获得数据流的最大持续吞吐量。发明人证明nc在单播通信的情况下可以利用多个机会路径。与现有文献不同,nc应用于具有多源和一个继电器的中继通信网络中。中继节点根据数据的高优先级和低优先级执行编码操作,以提高整个网络的吞吐量。

模型建立:

构建中继转发系统:

首先建立了中继通信网络,包含四个通信节点:信源节点s1和s2,中继节点r以及目的节点d。s1、s2只能通过中继节点r将信息传送到目的节点,如图1所示。

图1中展示了bp协议的基本架构和在基本协议栈中的位置,它提供端到端的数据交付服务,同时允许跨高度异构的网络进行互操作。这一协议定义了dtn协议的传输单元为bundle,它由基本块和有效载荷块构成,基本块中包含控制信息,可以自定义bundle包的优先级,有效载荷块中是实际传输的数据,整个bundle大小可变。其次,tcp\ip协议中当信息从节点传输出去之后会立即将节点处的bundle删除,但bp协议使用了存储-转发机制,s1和s2将bundle传输给r,当r接收到bundle时会将它存储在永久非易失的内存中,只有在该节点接收到目的节点d传回的确认信息或者该bundle包指定的生命周期过期时才会从中继节点的存储空间中删除bundle。

在图1的基本中继转发模型中,随着信源传输业务的多样化,数据产生了不同的优先级。另外,我们假设r-d的信道条件是时变的,因此转发系统变得更加复杂。我们需要考虑如何利用单中继节点在时变信道下更好地传输不同信源节点的不同优先级bundle。精细转发模型如图2所示,四个节点形成y网络。s1和s2将信息发送到r到d,并且每个节点都有自己的缓冲区。

从图2中可以看出,两种不同优先级的bundle从s1和s2同时发送到r,中继节点在时刻i分别接收到ai和bi两个来自s1和s2的bundle,并分别存储在两个存储器中。在i时刻之前中继节点接收到的其余bundle将实时传输到目的节点,不需要等待源节点的bundle全都传输到中继节点再统一进行转发。由于r-d的链路相对于s-r距离长、环境复杂,我们将其简化成两种好差信道状态。如果当前是误码率低的好信道,将有1-q的概率在下一时刻保持同样的状态并有q的概率转移成为误码率高的差信道,同理差信道在下一时刻保持的概率为1-p,转移概率为p。因此信道状态可以用半马尔科夫过程的过度矩阵p表示。

不同的信道状态转移会影响ai和bi在中继节点的处理方式。通过使用bp协议进行bundle传输,中继节点将被赋予存储能力,到达中继的ai和bi有四种不同的高低优先级组合结果:{00,10,01,11},利用中继的存储能力,我们可以实现在好信道条件下利用高发低存,在差信道条件下利用高低融合转发,高低异或转发等方案,将高优先级bundle优先送入转发队列,低优先级数据暂存或者合并进高优先级bundle以降低传输到目的节点的bundle数量。

中继转发策略:

如图3所示,优先转发策略。假设s1和s2发送到中继的bundle由节点的两个存储器分别接收,产生两个到达队列,为了保证高优先级数据尽可能多的送达目的节点,不考虑链路的误码率高低,直接将队列中的高优先级数据送入转发队列。如果两个高优先级同时到达,随机将他们依次送入转发队列。在文件中的高优先级数据没有全部传输完成期间,队列中的低优先级数据会被赋予一个计时器(rto)并送入r的专用缓存空间,如果缓存空间不足,从rto最小的低优先级数据开始删除,防止出现拥塞。当高优先级数据全部传输完毕后,将r中的低优先级bundle送入转发队列进行传输。

给出优先转发策略的算法表:

优先转发策略算法表

如图4所示,bundle合并策略:在低误码率链路状态下,使用优先转发策略,将高优先级数据送入转发队列,低优先级数据暂存于r的缓存区中。在高误码率链路状态下,保证高优先级数据交付能力的同时,尽可能多的传递信息给d。因此,我们将高优先级数据和低优先级数据的包头进行合并,整个文件所要传输的bundle数量将大大减少。如图中所示,虚线框代表了高误码率链路状态。虚线框内的低优先级bundle被存储进缓存区中,高优先级bundle和存储区队列中的低优先级数据合并成为新的混合bundle送入转发队列。

接下来给出bundle合并策略的具体算法表:

bundle合并策略算法表

如图5所示,网络编码策略:首先在低误码率链路状态下,bundle使用传统的bp协议被优先转发策略证明是很有效的,所以我们延续优先转发策略;而在高误码率的链路中,不同于bundle合并策略,我们将使用网络编码的方式将高优先级数据和低优先级数据结合,这样不仅与bundle合并策略一样提升了数据的整体交付率,还能通过网络编码的特性缩小了融合后的bundle大小,进一步降低传输时延。决策方案如下图所示:

图5中虚线部分依旧代表了高误码率链路状态,当高优先级bundle到达中继节点后,从缓存区队列最前端依次取出存储的低优先级bundle,用于异或编码。同时为了之后在d能够解码出信息,我们将高优先级信息暂存于r中,当链路恢复低误码率状态时把原始高优先级bundle传送至d,本发明不考虑这部分的影响。将两个用于编码的bundle包头和后面的信息分离。包头中包含对bundle的操作指令,如果用于编码的两个bundle来自不同的节点将高优先级的bundle的包头作为编码后编码包的包头。通过网络编码将bundle的信息位异或得到编码包的信息位。

网络编码策略的具体算法表如下所示:

网络编码策略算法表

理论分析:

由于本发明提到的决策方案在中继节点进行了高低优先级的存储、bundle合并和网络编码等操作,总体传输时延,包大小都会发生改变,接下来我们将分析不同方案对时延带来的影响。

表3-1传输时延参数定义表

假设一个文件包含n个bundle,想要在规定的k次重传中全部传输到目的节点,就需要在第k+1次剩下的bundle个数小于1,通过bundle和确认信号的丢包率我们可以得出最小k值的通用公式。

nk+1=[pbundle+pca×(1-pbundle)]k×n<1(3-1)

其中,我们可以通过lbundle得出pbundle的公式。

由于重传次数必须为整数,所以最后的公式如下所示。

我们定义拥有n个bundle的文件传输完成所需要的时间包含以下几个部分,1)前n-1个bundle在一次传输中的时间t(1,n-1);2)最后一个bundle在k次重传中所花费的总时延3)最后一个bundle的重传计时器在k-1次重传时所花费的时间综上整个文件的传输时延能够表示为

分别对上式中三个时延进行展开最终得到如下的时延通用公式。

首先我们定义了好差两种信道不同的bundle和确认信号ca的丢包率,以及重传计时器长短,具体数据会在下一章中列出。

在优先转发策略的中继传输方案中,文件总体传输时延公式与通用公式一致,但是由于我们将高优先级bundle先于低优先级bundle传输到目的节点,高低优先级的时延公式出现差异。假设n个bundle中有m个高优先级bundle,那么高优先级bundle的时延公式只需要改变传输的bundle数据量即可。另一方面,低优先级bundle必须在一个文件中的高优先级bundle全部传输完成后才进行传输,传输时延如下。

在bundle合并策略的传输方案中在信道条件好的情况下延续优先转发策略的方案。在信道差的条件下,将高低优先级bundle进行了合并,假设高优先级bundle个数要少于低优先级bundle个数,需要传输的bundle个数将减少,假设整个文件都在差信道条件下传输,只需要传输n-m个bundle。同时,经过bundle合并,lbundle的大小不同于原始的bundle,通过改变通用公式中的n、rto、p和lbundle即可得到整个文件和高优先级bundle的时延。然而,低优先级bundle不再需要等待高优先级数据全部传完,所以总体时延公式变化如下。

网络编码策略的方案相对于bundle合并策略方案的不同之处在于,使用网络编码将两个bundle异或产生的编码包与一个包大小相当,优化了第二种方案在差信道条件下发送的bundle包相对较大的问题,文件总时延公式和高低优先级分别的时延公式可以沿用bundle合并策略方案的推导结果。

仿真分析:

在本节中,我们以地月中继通信网络为仿真场景,两个源节点分别为月球背面的探测车和宇航员,中继节点为地月l2点halo轨道中继卫星,目的节点为地球地面站,由于月球自转与绕地球公转的速度一致,两个源节点与目的节点不可见只能通过中继卫星将数据转发回地球,与我们所构建的中继通信网络条件一致。

优化文件总时延:

在图6中,假设每个传输bundle的大小介于4k到64k之间。拉格朗日点中继卫星与地面站之间的距离会产生变化,通过空间误码率与距离的关系,将r-d的信道在条件好的情况下误码率定为10-6,传输速率为300k/s;差的情况下误码率定为5x10-6,传输速率为150k/s。根据信道条件的马尔科夫状态转移矩阵,我们规定每传输100个bundle信道条件会发生一次转移。两个信源高优先级bundle分别占总bundle量的30%。根据上一节的公式,我们可以得到三种不同策略的时延。从图中可以看出,网络编码策略方案更好的降低了r-d文件传输总时延,这是因为中间节点将高低优先级bundle通过网络编码合并后降低了传输的bundle总量。

降低高优先级bundle时延:

在图7中,我们将高优先级数据的传输时延单独提取出来,从图中可以看出虽然bundle合并策略方案降低了文件传输总时延,但由于传统的bundle叠加会导致包大小增加,相对于优先转发策略方案传输相同数量的高优先级bundle时延有所增加,但网络编码策略通过网络编码在降低传输bundle总量减少的前提下,保证了每个编码包相较于原始一个bundle包的大小变化在允许范围内。同时可以看出随着传输数据量的不断增长优化的效果也逐渐变大。

通过图6和图7可以看出将高低优先级bundle融合能够降低总体文件传输时延,但是将传统bundle结合会导致包增大,相应的通过三种策略的优先传输机制高优先级bundle的整体传输时延增加,因此我们将网络编码和bp协议结合,通过编码的方式减小了bundle的尺寸,在保证总体文件传输时延降低的基础上,提升了高优先级bundle的交付率。

提升高优先级bundle交付率:

我们选择每个节点的bundle包数量为900个的传输场景,图8展示了相同时间内三种转发策略中高优先级bundle的交付率,从图8中可以看出bundle合并策略方案由于传输bundle尺寸的增加高优先级bundle交付率明显低于另外两种,优选转发策略和网络编码策略由于传输包尺寸相近,交付率基本一致。

在面对大量的多源多优先级数据时,dtn网络中继节点传输效率低下,针对这样的问题,本发明建立了dtn协议框架下多源多业务的中继通信网络,在此基础上,我们将网络编码技术和bp协议相结合,提出了在中继节点中将高低优先级业务编码传输的方案,并将其与优先转发策略和bundle合并策略比较。通过在地月场景下的仿真分析,我们发现网络编码方案有效地提升了中继通信网络的传输效益。

本发明还公开了一种基于网络编码和中继缓存辅助的dtn数据传输系统,包括中继节点r,bp协议定义了dtn协议的传输单元为bundle,bundle由基本块和有效载荷块构成,基本块中包含控制信息,自定义bundle包的优先级,有效载荷块中是实际传输的数据,整个bundle大小可变;

bp协议使用存储-转发机制:信源节点s1和信源节点s2将bundle传输给中继节点r,当中继节点r接收到bundle时会将它存储在永久非易失的内存中,只有在中继节点r接收到目的节点d传回的确认信息或者该bundle包指定的生命周期过期时才会从中继节点r的存储空间中删除bundle;

高、低两种不同优先级的bundle从信源节点s1和信源节点s2同时发送到中继节点r,中继节点r在时刻i分别接收到ai和bi两个来自信源节点s1和信源节点s2的bundle,并分别存储在两个存储器中;在i时刻之前中继节点r接收到的其余bundle将实时传输到目的节点d,不需要等待信源节点的bundle全都传输到中继节点r再统一进行转发;

利用中继节点r的存储能力,实现在低误码率信道条件下利用高发低存,在高误码率信道条件下利用高低融合转发、高低异或转发方案,将高优先级bundle优先送入转发队列,低优先级数据暂存或者合并进高优先级bundle以降低传输到目的节点的bundle数量;

dtn:延迟容忍网络,bp协议:捆绑层协议。

该dtn数据传输系统还包括优先转发模块,在所述优先转发模块中,假设信源节点s1和信源节点s2发送到中继节点r的bundle由中继节点r的两个存储器分别接收,产生两个到达队列,为了保证高优先级数据尽可能多的送达目的节点,不考虑链路的误码率高低,直接将队列中的高优先级数据送入转发队列;如果两个高优先级数据同时到达,随机将它们依次送入转发队列;在文件中的高优先级数据没有全部传输完成期间,队列中的低优先级数据会被赋予一个计时器并送入中继节点r的专用缓存空间,如果中继节点r的专用缓存空间不足,从计时器最小的低优先级数据开始删除,防止出现拥塞;当高优先级数据全部传输完毕后,将中继节点r中的低优先级bundle送入转发队列进行传输。

该dtn数据传输系统还包括bundle合并模块,在低误码率链路状态下,使用优先转发模块,将高优先级数据送入转发队列,低优先级数据暂存于中继节点r的缓存区中;在高误码率链路状态下,使用bundle合并模块,在所述bundle合并模块中,低优先级bundle被存储进缓存区中,高优先级bundle和存储区队列中的低优先级数据合并成为新的混合bundle送入转发队列。

该dtn数据传输系统还包括网络编码模块,在低误码率链路状态下,使用优先转发模块,将高优先级数据送入转发队列,低优先级数据暂存于中继节点r的缓存区中;在高误码率链路状态下,使用网络编码模块,在所述网络编码模块中,使用网络编码的方式将高优先级数据和低优先级数据结合。

在所述网络编码模块中,当高优先级bundle到达中继节点r后,从缓存区队列最前端依次取出存储的低优先级bundle,用于异或编码;将高优先级信息暂存于中继节点r中,将两个用于编码的bundle包头和后面的信息分离,包头中包含对bundle的操作指令,如果用于编码的两个bundle来自不同的节点将高优先级的bundle的包头作为编码后编码包的包头,通过网络编码将bundle的信息位异或得到编码包的信息位。

在本发明中,我们使用中继缓冲器和nc来提高dtn协议框架下多源和多优先级中继通信网络中的bp传输效率,本发明的技术优势如下:

1)本发明构建了一个基于dtn协议框架的中继网络模型。该模型描述了多个源使用一个中继节点将bundle返回到目标的场景。首先,不同来源的bundle具有高优先级和低优先级。其次,中继和目的地之间的信道呈现出时变状态,具有良好或不良的切换。最后,中继节点具有两个不同的协议束缓冲区,用于两个源。

2)我们针对来自不同来源的多个优先级bundle提出了3种不同的中继存储-转发决策:优先转发策略;bundle合并策略:网络编码策略。优先转发策略我们将来自不同源的高优先级数据优先放入转发队列中,依旧使用传统的bp协议传输。bundle合并策略通过在差信道条件下组合高优先级和低优先级bundle来减少bundle的总量。而网络编码策略在bp协议中引入了网络编码,通过信息位异或的方法,降低合并后bundle的长度,减少高优先级数据传输时延。

3)为了验证提出决策的可行性,我们以传统dtn协议传输时延公式为基础,分别推导出三种决策的时延模型。考虑到信道条件、bundle长度、重传次数等因素的影响,通过仿真实验证明了网络编码策略能够在一定程度上降低bundle传输时延,提升高优先级数据的交付率和吞吐量。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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