技术领域
[0001] 本
发明涉及通信技术领域,涉及深空文件传输方法,用于解决在
深空网络中由于通信时延和链路切换所导致的文件传输性能的下降。
背景技术
[0002] 随着各国对外层空间资源的探索、开发和利用,深空通信技术及其互联技术的研究和开发受到越来越多的重视,大量的数据文件需要在深空网络中向地面站进行传输。由于深空链路具有大传输时延,高链路切换率的特点,现有运输层协议TCP以及UDP在深空网络中性能低下,链路吞吐量大幅下降。
[0003] 为了解决深空网络中由于大时延以及高切换率带来的性能下降,深空数据传输委员会CCSDS提出了CCSDS文件传输协议CFDP,来解决深空网络中的文件传输问题。该方案将文件分割为协议数据单元PDU并进行传送,其提供可靠传输模式及不可靠传输模式。不可靠传输模式仅适用于信令的传输,数据文件的传输采用可靠传输模式。在可靠传输模式下,通信对端省略了握手过程,探测端首先向接收端发送一个控制信息协议单元MPDU,该单元包含本次传送文件名称、大小、源和目的ID等信息,通知接收端文件传输开始,紧接着,探测端进行文件传送,传送固定数目的PDU后,探测端发送发送文件结束标志EOF停止传输,等待接收端的回应;当传输数据出现错误时,接收端会发送否定应答NAK,对未收到PDU部分
请求探测端重传;随后,探测端会进行重传,并再次等待接收端NAK,重传过程持续进行,直到接收端收到文件;最后,接收端向探测端发送接收文件结束标志FIN,探测端再次应答EOF,表示本次文件传输结束,进行下次文件传输。
[0004] CFDP通过否定应答和延迟
回执提高了深空文件传输性能。但是仍然存在一些问题。首先,该协议在等待接收端回执时依然会引入很大的传输时延,这样,深空网络吞吐量会下降;同时,文件传输时间会增加;其次,在深空链路切换时,由于通信链路时延的存在,文件传输时接收端不能完整的接收整个文件,在切换时,会造成接收端丢弃已收到的PDU,浪费深空链路资源,降低协议的实用性。发明内容,
[0005] 本发明的目的在于解决CFDP中由于链路切换以及等待应答信息导致的文件传输协议性能下降的问题,提供一种基于否定应答的深空网络文件传输协议,以尽量减少由于等待应答信息以及链路时延对深空链路吞吐量及文件传输时间的影响,实现对深空链路资源的最大化利用,提高协议的实用性。
[0006] 实现本发明目的的技术方案是:充分利用每一次重传过程来减少链路时延对深空网络吞吐量及文件发送时间的影响,具体步骤如下:
[0007] (1)探测端向地球传输数据文件,接收方接收到文件后进行应答,为探测端提供未收到文件单元部分的信息;
[0008] (2)接收端接收到应答后,若此时有新文件等待传输,探测端将前一个文件中未收到的文件数据单元与当前等待传输文件联合发送至接收端,并在存储空间中删除前一文件,进入步骤(3);
[0009] 若此时没有新文件等待传输,探测端根据应答进行重传,接收端接收到重传文件单元后发送文件结束标志,探测端收到该结束标志后回复应答标志,结束文件传输过程;
[0010] (3)接收端收到联合发送的文件后,向探测端发送应答,探测端收到应答后,将探测端与接收端之间的深空链路进行更新切换,切换时,探测端保留前一个文件的应答信息,并等待新的链路建立成功;
[0011] (4)在深空链路切换成功后,探测端根据其保留的应答信息,将出错文件单元与新的待传文件单元组合在一起,并向接收端进行连续发送,发送完毕后,将重传文件从存储单元中删除;
[0012] (5)接收端接收到新的待传文件后,向探测端发送应答,探测端与接收端返回步骤(2)。
[0013] 上述所涉及的数据文件,包括至少两个文件,每个文件设有文件号,每个文件分为等长的文件单元,每一个文件单元设有单元号。
[0014] 上述所涉及的接收方接收到文件后进行应答,是接收端将文件传输过程中由于链路差错而导致未正常接收的文件单元信息向探测端发送,其内容包括出现传输错误的文件单元的文件号和单元号。
[0015] 上述所涉及的联合发送,是探测端检测到此时有新文件等待传输时,先将其拆分为文件单元,并为其分配文件号和单元号,对文件进行标识;再将需要重传的文件单元与待传输的新文件单元组合在一起,向接收端连续发送。
[0016] 本发明与
现有技术相比,具有如下优点:
[0017] 本发明由于在接收端进行否定应答的
基础上,采用将重传文件与待传的新数据文件联合发送的方法,使得深空网络文件传输更紧凑,减小了深空网络文件传输时间,并有效的改善了深空网络的链路利用率,极大的提高了深空网络文件传输的性能;同时由于本发明采用了探测端保留应答以及延迟重传的方法,使得深空链路切换过程对上层透明,解决了深空网络文件传输过程中频繁链路切换带来的深空链路利用率急剧下降的问题,提高了深空文件传输协议的实际通信性能。仿真结果表明,本发明在深空链路时延为1秒,发送十个数据文件时,比现有深空文件传输方法减少了深空文件传输时间约15秒,深空链路利用率提高了约70%。
附图说明
[0019] 图2是本发明的基本应用场景图;
[0020] 图3是采用现有CFDP进行文件传输的传输时间结果仿真图;
[0021] 图4是采用现有CFDP进行文件传输的网络吞吐量结果仿真图;
[0022] 图5是采用本发明进行文件传输的传输时间结果仿真图;
[0023] 图6是采用本发明进行文件传输的的网络吞吐量结果仿真图。
具体实施方式
[0024] 参照图1,本发明的实施步骤如下:
[0025] 步骤1,探测端发送数据文件,接收端否定应答。
[0026] 探测端要发送至少两个文件,每个文件设有文件号,首先,探测端将本次要发送的文件F1分成多个等长的传输协议单元PDU,并为每个PDU分配文件单元号,然后向接收端发送,数据发送完后,探测端发送传输结束标志EOF至接收端;随后,接收端收到EOF,根据已收到的PDU信息,向探测端发送否定应答NA K,为探测端提供未收到PDU的信息。
[0027] 步骤2,接收端应答。
[0028] 首先,探测端检查是否有新文件等待传输,若此时有新文件F2等待传输,探测端将F2拆分为等长的PDU,并为每一个PDU分配文件单元号;随后,探测端根据NAK信息,将需重传的PDU,与待传文件F2进行组合,连续发送至接收端,如图1中线段所示的RT1+F2;然后在存储空间中删除文件F1,进入步骤(3);
[0029] 若此时没有新文件等待传输,探测端根据NAK进行重传,接收端接收到重传文件单元RT1后发送文件结束标志FIN,探测端收到该结束标志后回复应答标志EOF(FIN),结束文件传输过程;
[0030] 步骤3,链路切换。
[0031] 首先,接收端收到联合发送的文件后,将文件F1完整的组合,并向接收端上层成功交付,然后向探测端发送否定应答NAK;随后,接收端收到NAK后,探测端与接收端之间的深空链路进行更新切换,切换时,探测端保留数据文件F2的应答NAK,并等待新的链路建立成功。
[0032] 步骤4,探测端续传。
[0033] 深空链路切换成功后,探测端根据其保留的应答信息NAK,将出错文件单元RT2与新的待传文件F3组合在一起,向接收端进行连续发送,发送完毕后,将重传文件F2从存储单元中删除;接收端接收到新的待传文件后,向探测端发送NAK,探测端与接收端返回步骤(2),检查是否有新文件等待传输,并进行必要的重传。
[0034] 本发明的效果可以通过以下仿真进一步说明:
[0035] 图2所示为基本深空网络场景,探测端与接收端进行数据文件的交互,以图1所示的本发明工作流程对其分析,N表示一个文件中的PDU数目,TPDU与Tprop分别代表PDU传输时间和深空链路时延,NRT表示在特定BER下需要重传的PDU数目,X代表传输文件数目,由图1可得:
[0036] Tinitial=N·TPDU+Tprop
[0037] Tcycle=(N+NRT(1))·TPDU+2Tprop
[0038] Tclose=NRT·TPDU+2Tprop
[0039] Tfin=2Tprop
[0040] 传输X个文件共需时间为:
[0041] TRFDP=Tinitial+Tcycle·(X-1)+Tclose+Tfin
[0042] 深空链路利用率为:
[0043]
[0044] 传统CFDP协议中,传输X个数据文件,其文件传输时间与链路利用率计算如下:
[0045]
[0046]
[0047] 此时应用CFDP协议的深空文件传输时间为
[0048] TCFDP=Tcycle·X
[0049] 链路利用率LU为
[0050]
[0051] 依照深空网络特征对相应参数进行设定,N=1000,PDU大小为1KB,深空链路传输速率为2Mbps,可得TPDU为0.0016s,通信对端Tprop为1s,按照这些参数,得出用现有CFDP方法进行深空文件传输时,深空文件传输时间如图3所示,用现有CFDP方法进行深空文件传输时,深空网络链路利用率如图4所示;用本发明进行深空文件传输时,深空文件传输时间如图5所示,用本发明进行深空文件传输时,深空网络链路利用率如图6所示[0052] 从图3和图4可见,在采用现有CFDP协议进行深空文件传输时,深空文件传输时间较长,链路利用率较低。协议性能较差
[0053] 从图5和图6可见,采用本发明在深空网络中进行文件传输,传输时间明显减少,深空网络吞吐量明显上升,并且随着文件数目的增多,深空链路利用率仍有提高,文件传输性能有明显的改善
[0054] 符号说明:
[0055] PDU:协议数据单元。
[0056] MPDU:控制信息协议单元。
[0057] EOF:文件结束标志。
[0058] NAK:否定应答。
[0059] FIN:文件结束标志。
[0060] EOF(FIN)文件结束应答标志。
[0061] F1:传输文件。
[0062] RT1:重传文件单元。
[0063] N:一个文件中的PDU数目。
[0064] TPDU:PDU传输时间。
[0065] Tprop:深空链路传输时延。
[0066] NRT:重传的PDU数目。
[0067] X:传输文件数目。