断续联通深空网络数据存储与传输方法与流程

文档序号:14522453阅读:302来源:国知局

本发明涉及深空卫星测控网络通信协议技术领域,具体涉及一种可用于断续联通深空测控网络中数据的存储与高效传输,在应用层协议中数据传输方法。



背景技术:

随着星上计算机功能的日益强大,越来越多的通信传输任务在星上自动完成,目前还没有一个统一的应用层空间通信协议来支持这些任务。ftp(filetransferprotocol)作为tcp/ip系统中最常用的地面应用层通信协议,被多次改进后应用于空间通信,取得了一定的成功。但由于其底层tcp/ip协议不能完全满足空间通信的要求,ftp在诸多空间应用环境中工作表现不佳,尤其是面对多跳传输和卫星拓扑结构不定的通信任务。ccsds文件传输协议cfdp(ccsdsfiledeliveryprotocol)支持端到端的文件传输,这些端可以是卫星、地面站或中继星。在端与端相互不可见时,文件传输可以通过一个或多个中继点(中继星或地面中继站)和多跳连接实现。用户只需决定文件传输的时间和目的地,ccsds文件传输协议cfdp负责随端到端的连接变化进行动态路由。ccsds文件传输协议cfdp完全建立在一个存储转发通信模型上,当航天器在地球到火星的轨道上进行文件传送时,且航天器在地球的后面飞行时,传输两端的实体会将协议数据单元(pdu)存储在非易失性的内存中,直到航天器重新出现,可以继续传送文件。这个存储转发模型在很大程度上最大的优点是可以把用户应用程序从特定的通讯系统隔离出来,有仪器可以记录文件中的观察到的数据,可以被立即传输到地球,不用考虑在物理层能不能被传输,也就是说提交给cfdp实现端到端传输。其具有如下特征:

(1)断续联通:深空卫星测控网络中,节点的运动性和工作时间的低占空比导致端到端的路径可能较长的时间处于不连通状态。网络的间断性连通一类为可预测,如星际网络的节点依轨道运动,具有周期性,其运动状态可查阅星历表获得,并根据设备的通信范围即可得到链路的连通状态。布置在某些特殊环境中的节点由于功率有限,只在很短的时间内开启工作,工作时间预先设定,其链路的通断状态可预测;另一类是由于节点的随机运动,距离超出了通信范围,或物体的遮挡造成的链路断开,此类间断性连通为不可预测。

(2)长且可变时延:网络中的时延通常包括四个部分:传输时延、传播时延、处理时延和排队时延。端到端的时延为路径上各跳链路的时延总和。传输时延与传播时延受网络传输介质的影响,如水下传感器网络节点的速率仅有10kbps。时延非常大可能达到1秒或几秒,在星际网络中链路的传播时延可能达到分钟级。此外,由于节点的运动造成节点间通信距离的不断变化,从而导致时延的变化。除以上特征外,中断容忍网络还具有高误码率、节点资源受限等特点。而卫星测控网络链路变化有自身特点,与地面有线通信网络链路变化不同。地面有线网络中链路变化虽然不会频繁变化,但变化情况是随机变化,不可提前预知。

从内核结构上讲,ccsds文件传输协议cfdp包括两部分协议:

核心文件传输协议cftp(corefiletransferprotocol)和扩展文件传输协议eftp(extendedfiletransferprotocol)。其中核心文件传输协议(cftp)负责文件的发送以及接收,并负责所传数据的可靠性、有效性和及时性,确保文件在深空网络中的点到点的传输;扩展文件传输协议(eftp)主要提供存储转发功能,它们是文件传输的核心实现部分,共享一个信息管理库mib(managementinformationbase),其中储存了地址、路由和其他协议管理信息,负责查找要发送文件的目的地址。要存储由探测器所探测到的关键科学数据及文件,用户通过协议实体对文件进行各项操作;底层通信协议为空间通信网络中的下层传输协议,其包括空间网络层,数据链路层以及物理层协议,共同为上层提供数据传输服务,实现空间网络的传输功能。

在ccsds文件传输协议cfdp中,引入了“事务”(transaction)的概念,每一次事务代表一次文件传输过程。cfdp协议在需要发送数据时,每次发送一组数据,即在每次事务中发送固定数目的协议数据单元(pdu:protocoldataunit)。发送方首先发送元数据包mpdu(metapdu),内含本次事务id号、源文件名、目的文件名、文件大小和id等参数,通知接收方开始传输文件。与pdu相同,mpdu无确认信息,即使没有成功被接收方正确接收,发送方同样可继续传输文件数据pdu。即发送方和接收方不需要握手便可开始传输文件。如果接收方接收到了一个标有新的id的文件数据单元,就代表一个新的文件传输开始了,cfdp中的每一个pdu都含有一个特殊的域,它标明这个pdu所携带的文件内容的起始位和终止位,接收方通过检查已经接收到的pdu序列就可以确定哪些pdu发送失败了。在可靠传输方式中需要进行重传来保证信息的可靠性。

深空通信具有高复杂性,深空数据链路,类似其他跟踪及数据中继卫星系统(tdrss,trackinganddatarelaysatellitesystem),深空网络具有传输时延大,链路切换频繁,空间长延迟、误码率较高。深空网络的通信信道具有时变衰落特性,加上深空网络通信对端距离遥远,传输损耗较大,链路差错率较高,对于上层协议的回复差错恢复能力要求也较高。导致现有地面成熟tcp/ip网络协议的效率并不高,使得现有网络上层传输协议在深空网络中性能低下。由于深空通信具有巨大传播时延和链路衰减大、带宽不对称、链路断续等特点,导致原有的tcp/ip协议不再适用。为了保证能够有充足的传输时间,深空网络需要不断切换以建立新的可靠物理传输链路,这需要上层协议在下层链路切换频繁的网络环境中。深空通信网络与地面网络在物理环境特性和信息传输业务需求上有着很大的不同,面临着链路可靠性传输以及端到端有效性传输等多方面的挑战。随着深空探测范围的增大、通信传输距离趋近极限,最直接的影响是能量损耗以及传播时延的增加。深空探测通信距离的日益增加,导致路径损耗进一步增大,使用传统的tcp/ip协议的传输效率很低,甚至无法有效建立端到端的tcp连接;同时,巨大的通信传播时延和链路易中断的特点使得基于反馈重传方式的传输协议等待时间较长且频繁中断,严重影响了通信质量。卫星链路并非持续联通网络,链路随着外在环境的变化时断时续,且链路质量容易受到卫星外界环境的影响,需要频繁进行链路切换,重新构建路由。现有协议多建立在具有持续联通的物理传输链路上,这在卫星网络中并不适合。因此卫星网络中的路由协议需要进行较大的改动,以适应网络的传输特征,达到理想的传输性能。由于卫星网络具有传输时延大,链路间断联通,拓扑动态变化、星上处理存储能力受限,如果要在卫星网络中进行大规模的科研数据、测控消息等不同类型文件传输,需要克服很多技术上的难题。要达到高效的可靠传输文件的目的,则必须要克服卫星网络的大时延和间断联通性对现有传输协议族带来的性能下降问题。如何构建可靠,高效的深空网络上层协议,用于断续联通深空测控网络中数据的存储与高效传输协议,满足深空探测任务对数据传输的要求成为亟待解决的问题。



技术实现要素:

本发明的目的是针对现有技术存在的不足之处,为改进测控网络中对前向链路数据的存储与快速传输前向快速服务,提供一种可以快速有效的获取当前连通情况,基于中断容忍测控网络的断续连通测控网络前向链路数据的存储与快速传输方法。以解决深空通信大衰减和大时延条件下可靠、高效通信的问题。

为了实现上述目的,本发明采用的技术方案如下:一种断续联通深空网络数据存储与传输方法,具有如下技术特征:针对断续联通深空网络数据存储与传输的问题,深空网络发送端将端到端的数据传输变为点到点的逐跳传输,发送端节点将数据链路层产生的pdu网络层数据包,通过协议数据单元pdu发送至下一个路点节点,下一路点节点将pdu托管;文件传输协议cfdp单元调度协议数据单元pdu,将协议数据单元pdu,数据链路层的pdu数据帧传递至下一个路点节点;当文件传输协议cfdp单元判断确认ack收到,则完成pdu发送;否,则重传未收到确认ack的pdu,直到所有pdu发送完成。

本发明相比于现有技术的有益效果在于:

1、本发明针对断续联通深空网络数据存储与传输的问题,发送端节点将产生的数据包(packetdataunit,pdu)发送至下一个路点节点;文件传输协议cfdp调度pdu,将pdu传递至下一个路点节点;通过深空测控网络的发送端将数据,产生pdu并发给下一个路点节点;该路点节点会将pdu托管,采用托管解决了链路断开时的数据存储问题。

2、本发明充分使用了断续联通的链路,cfdp协议调度pdu,将pdu传递至下一个路点节点;当cfdp协议单元判断为收到确认ack,则完成pdu发送;否,则重传ack未收到的pdu,直到所有pdu发送完成。通过将端到端的数据传输变为点到点的逐跳传输。解决了现有前向传输针对链路断续连通存储和快速传输的效率不高的问题。

附图说明

图1为本发明断续连通深空测控网络前向链路数据的存储与快速传输流程示意图。

下面将结合附图对本发明作进一步的描述。

具体实施方式

参阅图1。根据本发明,针对断续联通深空网络数据存储与传输的问题,深空网络发送端将端到端的数据传输变为点到点的逐跳传输,深空网络发送端节点将数据链路层产生的pdu网络层数据包(packetdataunit,pdu),通过协议数据单元pdu发送至下一个路点节点,下一路点节点将pdu托管;文件传输协议cfdp单元调度协议数据单元pdu,将协议数据单元pdu,数据链路层的pdu数据帧传递至下一个路点节点;当文件传输协议cfdp单元判断确认为收到,确认ack,则完成pdu发送;否,则重传未收到确认ack的pdu,直到所有pdu发送完成。通过将端到端的数据传输变为点到点的逐跳传输。

源端用户通过使用put.request启动事务传输。源端cfdp协议程序收到通知之后,向源端用户回应传输事务指示,同时,启动循环冗余校验crc(cyclicredundancycheck,crc)流程以及文件拷贝流程,将元数据pdu传输给下一个路点节点。路点节点启动接收元数据pdu程序,进行crc校验流程,开始接收pdu(1),pdu(2),pdu(n),pdu(n+1),pdu(n+2),直到pdu(m)。假设pdu(n+1)接受失败,则在收到eof(noerror)pdu后,路点节点返回eof(noerror)pdu,确认ack(eof)pdu以及nakpdu(n+1)。发送端(源端)文件传输协议cfdp单元收到后,重传协议数据单元pdu(n+1),路点正确收到协议数据单元pdu(n+1)hou,返回finished(noerror)pdu。源端cfdp收到finished(noerror)pdu后,返回给源端用户传输事务交付指示,并传输ack(finished)pdu给路点。最后,启动文件拷贝流程,发送端将接收到的数据从接收缓冲区拷贝到发送缓冲区;接下来,路点启动传输事务,继续向下一个路点传输数据,直到到达目的端cfdp协议程序收到元数据,目的端cfdp协议向目的端用户发送“收到元数据指示”,每收到一个pdu数据,均向目的端用户发送“收到文件分段指示”。最后,当所有数据传输完成,目的端cfdp协议程序向目的端用户发送“传输事务完成指示”。

确认ack又称传输控制字符。

用户产生数据包,发送给下一个路点节点;cfdp协议调度pdu,将pdu直接送到链路层,并传递至下一个路点节点;当cfdp协议单元判断为收到确认ack,则完成该pdu发送;否,则重传未收到ack的pdu,直到所有pdu发送完成。

具体包括如下步骤:

(1)发送端用户通过ccsds文件传输协议cfdp单元将数据打包为pdu,发送到下一个路点;

(2)下一个路点接收数据pdu,并返回确认ack给发送端,直到收到eofpdu;

(3)发送端统计未收到确认ack的pdu,如果否则转(6)路点检查数据目的地是否是本地,是则转(4);

(4)发送端将未收到确认ack的pdu重新发送给下一个路点;

(5)发送端收到finished(noerror)pdu;发送确认ack(finished)pdu给下一个路点,接收完成;

(6)路点检查数据目的地是否是本地,是,则转(12),否,则将数据从接收缓存拷贝到发送缓存中,转(7):

(7)本路点将pdu发送到下一个路点;

(8)下一个路点接收数据pdu,并返回确认ack给本路点,直到收到eof;

(9)本路点统计未收到确认ack的pdu,如果否,则转(12)判断下一个路点检查数据目的地是否是本地,是则转(10);

(10)本路点将未收到确认ack的pdu重新发送给下一个路点;

(11)本路点并收到finished(noerror)pdu;发送确认ack(finished)pdu给下一个路点,接收完成;

(12)接收完成,ccsds文件传输协议cfdp单元下一个路点检查数据目的地是否是本地,是,则转(13),否,则将数据从接收缓存拷贝到发送缓存中,转(7):本路点将pdu发送到下一个路点;

(13)目的端cfdp协议将数据解封装,将元数据提交目的端用户;

(14)结束。

断续连通深空测控网络的端到端路径连通时间段为发送端到全网所有其它节点的端到端的连通时序,连通则用1表示,断开则用0表示。

对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。

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