吴海涛 梁迎春
肇庆学院,广东 526061
深空通信是深空探测活动的重要保障手段之一。与陆地通信及卫星通信相比,深空通信支撑的空间活动更为复杂,遭受的干扰、损耗及衰减尤为多变,复杂多变的环境给深空通信带来了很多挑战[1]。目前,提高载波频率、降低噪声温度等常用的物理手段及传输技术已无法有效提升传输性能,难以满足未来深空通信的传输需求[2]。为支撑未来的深空探测活动,需采用网络化传输,通过改进协议传输机制来提高数据传输效率。
当前,用于深空通信的3种网络协议体系为:空间IP协议体系、CCSDS(Consultative Committee for Space Data Systems)协议体系及DTN(Delay /Disruption-Tolerant Network)协议体系[3]。空间IP协议体系主要用于近地段通信,无法适用于大时延、大衰减及链路断续的深空环境。CCSDS协议体系包含一系列从物理层到应用层的协议,其虽已得到成功应用,但缺少路由算法,需根据不同场景人工配置相应协议。DTN协议体系克服了深空通信中长时延、断续连接等问题,实现了异构网络间的互连、互操作及数据可靠传输[4]。
如今,DTN协议体系架构虽已确立,但仅包含BP(Bundle Protocol)、LTP(Licklider Transmission Protocol)少数协议[5-6],拥塞控制、路由、同步及安全等有关协议还在研究制定中。BP协议是DTN协议体系的核心,采用保管传输确保了端到端可靠性。LTP协议是DTN协议体系中的另一重要协议,是专为深空极长链路设计的点对点传输协议,可提供基于重传的可靠服务。作为BP层的一种汇聚协议,LTP继承并发扬了CFDP(CCSDS File Delivery Protocol)的设计思路,通过会话(Session)以数据块(Block)形式进行传输,不仅能提供类似TCP的可靠服务,还可实现犹如UDP的不可靠服务。
目前,对LTP协议的性能分析及改进方面取得了一些研究成果。文献[7-8]在上下行链路非对称地月场景中,利用实验测试平台对比分析了LTP、TCP及UDP等汇聚层协议的性能。文献[9-10]将编码引入LTP协议,分别与Reed-Solomon码、喷泉码联合设计新的传输协议,并对文件传递时间、吞吐量等做了性能分析。文献[11-12]对LTP协议传递时延建模,在地火中继场景中仿真了会话传递时延等性能。文献[13-14]通过BP/LTP跨层联合优化,给出了数据单元的优化方案及发送算法。
可见,虽然上述研究取得了一些有价值的结果或结论,但是缺乏对LTP会话模型的理论验证,未见对其重传机制的优化分析。
目前,作者对CFDP协议做了较为深入的研究,提出了一种改进策略,进行了仿真验证[15-17];并对LTP单会话传输时延做了理论分析,给出了异步触发加速重传的初步想法[18],设计了一种多会话数据聚合传输策略。本文在前期研究成果的基础上,对LTP单会话传输时延建模并仿真验证,通过优化重传机制,提出一种改进的异步加速重传策略,并仿真验证了其传输性能。
以一个会话为例描述数据块的传输过程。首先,LTP根据链路层的最大传输单元大小,将要传输的数据块分割成一定数量的数据段(Segments)。一般地,分割后的数据段包含可靠传输的红数据段与不可靠传输的绿数据段。有时按照传输需求,会话数据块也可仅含红数据或绿数据。然后,按照红数据在前、绿数据在后的顺序依次发送。数据传输过程中,最后一个红数据段被标记为EORP(End of Red-Part),表示红数据传输完毕,并将其视为检查点(CheckPoint, CP),接收端一旦收到EORP须立刻回复一个接收报告(Report Segment, RS)。同时,发送端在发出EROP后,随之启动一个定时器,以供定时器超时情况下的EORP自动重传。数据块中的最后一个数据段被标记为EOB(End of Block),表示会话数据传输结束。
在会话过程中,假如未发生数据错误或丢失,接收端在收到EORP后立刻回复RS,并启动一个定时器,以备发送端无应答时自动重传RS。当收到RS后,发送端关闭EORP定时器,并回复一个应答报告(Report-Acknowledgment segment, RA)。接收端收到RA随即关闭RS定时器,结束会话。如果会话中有除EORP外的红数据丢失,就会触发重传过程。发送端根据收到的接收报告,回复RA并重传相应的数据段,最后一个重传数据段也被标记为CP。在收到RA后,接收端关闭RS定时器。接收端收到CP后,统计数据的接收情况,如果仍有数据未收到,需重复上述重传过程,直至所有数据被成功接收,会话结束。
下面对LTP会话过程建模,分析文件传输时间,并进行仿真验证。
为了理论分析方便,将传输信道视为AWGN(Additive White Gaussian Noise)信道并假设如下:
1)链路是全双工的;
2)所有的红数据段和绿数据段长度相等;
3)每一segment出现的错误概率相同(除EORP/CP);
4)链路中发生的错误事件是统计独立的;
5)忽略RS和RA的传输时间;
6)EORP、CP、RS及RA错误概率为0。
文中记号规定见表1。
表1 符号定义
定义文件传输时间为从会话数据的第1比特开始,直到所有红数据段成功到达接收端的时刻,如图1所示。整个文件传输时间分为2个阶段:初次发送阶段和重传阶段,不包含收发两端最后的RS-RA确认过程。这里,Tprop为单向传播时延,TR和TG分别表示红、绿数据段的发送时间。
易知,初次发送阶段所用时间为Tprop+TR+Tmar,注意表1中的Tmar设置,根据RFC5325中的有关建议,需用一个裕量来综合考虑处理、排队等因素,Tmar通常被默认设置为2s。
重点考虑重传阶段,定义随机变量Si为第i个红数据段直到初次被成功接收所需的重传次数。在上述信道假设条件下,Si具有几何分布特性,并且它总是非负的,因为在经过初次发送阶段后,已有部分红数据段可能成功到达接收端。重传一直重复到所有红数据段被成功接收,定义随机变量SM=max(S1,S2,…,SNR),表示直至所有红数据段成功被接收端接收所需的重传次数。
如图1所示情形,当接收端回复的RS到达发送端时,绿数据已全部发送完毕。发送端回复RA后,可立刻传输需要重传的红数据段。如果RS到达发送端时,绿数据仍未发送完毕,由于红数据相对于绿数据而言并无更高优先级,那么重传的红数据只能排队于绿数据之后。基于以上分析,第1个重传回合所需时间为:
图1 LTP会话传输过程
TR1=T1+RT1+2Tmar
(1)
其中,
(2)
易知,在一次会话中传输整个数据块所需时间为:
(3)
式中,后2项之和为整个重传阶段所需的时间,其期望值为:
(4)
式(4)中,
(5)
(6)
基于以上分析,一次会话中文件传输时间的期望值为:
当TG≤2Tprop时,
(7)
当TG>2Tprop时,
(8)
进一步化简式(7)和(8)可得:
当TG≤2Tprop时,
(9)
当TG>2Tprop时,
(10)
其中,
(11)
结合以上理论分析,利用Matlab工具对LTP会话的平均文件传输时间进行了随机仿真验证,对比结果如图2所示。
图2 随机仿真与数值分析对比
可以看出,不管在地月还是地火场景中,随机仿真结果与数值分析曲线都非常吻合,仿真实验中设置Block大小为20MB,数据段长度为2KB,红数据所占比例为0.5,数据传输速率为2Mbit/s,蒙特卡洛仿真次数为100。
深空通信环境下,极长时延、链路断续、高误码率及节点稀疏等特点决定了链路资源非常珍贵。在LTP会话中,只有收到红数据传输结束(EORP)才启动重传的传输机制,极大浪费了可用传输链路,严重制约着数据传输效率。因此,须考虑加速启动重传,提高链路利用率,提升数据传输效率。
为提高LTP会话的数据传输效率,可取的解决方案是在EORP发出之前触发重传,以便丢失的数据及早恢复。其一,发送端将EORP之前的任一红数据段额外地标记为CP;其二,接收端在红数据初次接收过程中异步产生RS。2种方法中的CP及RS都是由收发两端自由设定的。前者是由发送端“善意”提醒而发起的,类似于CFDP提示型模式;后者是由接收端根据接收情况主动或受到外部事件而触发的,类似于CFDP异步型模式。文中选择后者,并将其命名为异步加速重传策略。注意,接收端在红数据初次接收阶段内的触发时刻及触发频次,以及对重传数据的处理方式等都会影响异步加速重传的性能。
一般地,深空通信中的往返传输时延远大于一个会话时间,也即当RS到达发送端时,会话数据已传输完毕,如图3所示。为方便起见,假设在红数据初次发送阶段,接收端仅异步触发重传1次,且对于异步重传的数据仍按LTP协议规定的常规方式处理。
图3 异步加速重传过程
下面分析异步加速重传过程,推导异步加速重传时的平均文件传输时间。
由图3可见,在红数据初次发送过程中,当传输到γ·NR个红数据段时异步触发,γ表示异步触发点的位置,满足γ∈[0,1]。当异步产生的RS到达发送端时,绿数据早已发送完成,也即满足(1-γ)·TR+TG≤2Tprop。发送端在回复RA后,根据收到的RS立刻组织重传。依据链路的丢包情况,接收端在收到EORP前,已收到(1-Pef)·γ·NR个红数据段。接收端在收到EORP并进入重传阶段时,因异步重传数据仍未到达接收端,仅需对异步触发剩余的(1-γ)·NR个初次发送的红数据段,及Pef·γ·NR个需异步重传的红数据段进行丢包统计,即共需统计[1-(1-Pef)·γ]·NR个红数据段的接收情况。基于以上分析,一个会话数据块的传输时间为:
(12)
(13)
可知,存在如下关系:
(14)
(15)
这里,
(16)
可得,传输一个数据块所需时间的期望值:
当RTR≤(1-γ)TR时,
(17)
当RTR>(1-γ)TR时,
(18)
下面结合上述数学分析过程,利用Matlab工具仿真对比分析异步加速重传策略的性能,仿真参数设置见表2,仿真结果如图4和5所示。
表2 仿真场景参数设置
仿真中,红数据比例τ设置为0.5,下行数据传输速率仍为2Mbit/s。图4仿真了在地月、地火场景中,平均文件传输时间随Segment错误概率、数据段数目及异步触发点等不同条件下的变化情况。可见,采用异步加速重传策略完成一个会话的平均文件传输时间,相对于LTP协议建议的传输时间,会随着异步触发点的右移而不断减小。
由仿真实验发现,当异步触发点为0.2时,异步加速重传策略性能与LTP标准协议相差无几,这主要是因为接收端需要提前重传的红数据量少,所以为了图4清晰,将异步触发点为0.2时的传输曲线近似为LTP标准协议的传输曲线。
图4 不同异步触发点处的传输性能
可见,随着异步触发点不断后移,异步加速重传策略性能逐渐凸显。特别地,当异步触发点后移到0.8时,采用异步加速重传策略完成一个会话传输,在地月场景中比LTP标准协议可节省2.5~5s的传输时间,而在地火场景中可减少1.5~3.8个天文单位a.u.(astronomical unit,1a.u.=480s)的传输时间。
图5仿真了在不同Segment错误概率情况下,在地月、地火场景中,采用异步加速重传策略带来的性能提升。这里,性能提升指采用异步加速重传策略后平均文件传输时间的减少量,即:
(19)
图5 不同错误概率情况下的传输性能
由图5可知,异步加速重传策略带来的性能提升,不但会随异步触发点的右移而逐渐变大,而且会随Segment错误概率的增大而升高。当Segment错误概率为0.5时,因为重传回合数与单向传播时延统治了文件传输时间,其变化几乎趋于线性。特别地,当异步触发点位于红数据传输结束时,采用改进策略完成一个会话,在地月、地火场景中带来的性能提升分别可达6.7s和5个天文单位。
未来深空通信中业务类型的多样化、科学数据的海量化及数据传输的网络化等特点,对深空环境下的数据传输提出了更高的要求。本文通过改进LTP协议的传输机制,提出一种面向未来深空通信的LTP异步加速重传策略,缩短了会话时间,提升了数据传输效率,可为我国航天任务中的深空文件传输协议设计提供参考。下一步将结合网络节点存储空间受限等情况,优化数据传输过程中异步触发点的位置,对深空环境下的LTP异步加速重传策略进行更深入的研究。