复杂深空通信网络的LTP 传递时延建模及验证*
2022-11-09董振兴
余 果 董振兴 朱 岩
1(中国科学院国家空间科学中心 北京 100190)
2(中国科学院大学 北京 100049)
0 引言
随着深空探测的日益兴起,为执行深空探测任务的空间飞行器提供可靠、高效的通信服务成为亟待解决的事情。延迟/中断容忍网络(Delay/Disruption Tolerant Network, DTN)由于能够解决深空探测所面临的路径损失、巨大的时延、链路中断等深空通信问题,成为深空通信网络的主要协议体系架构[1–3]。1998 年,美国喷气推进实验室(Jet Propulsion Laboratory, JPL)为了推进行星际互联网(InterPlaNetary Internet, IPN)的研究,提出了延迟容忍网络的框架。2004 年初,美国国防高级研究计划局(Defense Advanced Research Projects Agency, DARPA)提出中断容忍网络的概念,与延迟容忍网络融合,成为延迟/中断容忍网络DTN。
为了提供可靠、高效的空间通信数据传输服务,随着DTN 的提出,一些相关的DTN 协议也相继提出。其 中LTP(Licklider Transmission Protocol,Licklider 传输协议)是针对具有极长的传播延迟且存在中断的点到点连接而设计的,适用于深空通信。对于LTP,已有一些实验及理论研究成果。文献[4,5]分别针对一跳、两跳通信场景建立了LTP 的文件传输时间理论模型并对其进行了验证。文献[6]对一跳通信场景中存在中断情况下的LTP 传输机制进行了理论分析,建立基于BP(Bundle Protocol)/LTP 协议传输数据排队时间的理论模型。文献[7]用马尔可夫链的计算方式给出LTP block 在一跳上传输时间的精确和近似两种计算模型,并验证了其正确性以及优越性。以上研究大多是在一至两跳的简化场景下,对深空通信网络的LTP 传输机制进行分析,这样的研究结论在存在多个中继节点的复杂场景下可能并不适用。文献[8]虽是对复杂场景下的LTP 文件传递时延进行了理论模型的建立,但其基于的是bundle 保管开启状态下的数据传输机制。Bundle Protocol Version 7[9]规定,如果下层协议具有可靠的传输机制,则BP 的保管机制关闭,BP 层的可靠传输责任交由下层协议来完成。因此,文献[8]所研究的数据传输方式在以LTP 为传输协议的深空通信中并不适用。
针对以上问题,本文在基于DTN 的复杂深空通信网络中,分析LTP 在bundle 保管关闭状态下的多跳数据传输机制,建立复杂深空通信网络的LTP 传递时延模型,为未来深空通信网络的数据传输性能预测提供理论依据。
1 LTP 传输机制分析
LTP 的核心设计思想来源于CCSDS(Consultative Committee for Space Data Systems)文件传输协议(CCSDS File Transfer Protocol, CFDP),是为具有高延迟且断续连接特点的网络而设计的传输层协议,其既可以运行于用户数据报协议(User Datagram Protocol, UDP)之上,也可直接运行于CCSDS 的数据链路层协议之上。LTP 以聚合在LTP block 中的红绿数据段区分,提供可靠及非可靠两种传输机制,红色数据段代表该段数据采用可靠传输模式,绿色数据段代表该段数据采用非可靠传输模式[10]。
LTP 在一跳上的数据传输过程可以分为发送和重传两个阶段。在发送阶段,发送端以block 为传输单元,被分割为多个segment,向接收端发送数据。block 中可能包含红绿两种segment,红色segment 全部排在绿色segment 之前。在最后一个红色segment 上 带 有EORP(End of Red Part)和CP(Check Point)标识,表示红色segment 已发送完毕并向接收端请求红色segment 的确认信息,在最后一个segment 上标有EOP(End of Part)标识,表示一个block 中的所有数据(包括红绿两种segment)发送完毕,至此发送阶段结束。在重传阶段,当接收端收到带有CP 的segment 时,检查当前已经接收到的block 中的segment,然后向发送端发送RS(Report Segment),告知发送端有哪些segment 未成功接收;当发送端收到RS 后,向接收端发送RA(Report Acknowledgment),然后重发丢失的数据并在最后一个segment 上标识CP。重复以上重传阶段的传输过程,直到全部红色segment 均传输成功。RS 和CP 均基于超时重传机制,若定时器超时仍未收到对端相应的回应,则会发起重传。
以上分析了一跳的简单场景中单个block 的数据传输过程。然而在实际的深空通信中,由于距离较远,源端与目的端之间可能需要多个中继,整个通信显然不是一跳的数据传输可以完成,而这源端和目的端以及中间的所有中继就构成了一个复杂通信场景。LTP 在传输一个文件时,可能会分成多个block 进行传输,且在LTP 中可以同时开启多个session,一个session 传输一个block,则在多跳数据传输的复杂通信场景中,传输由多个block 组成的文件时,其传输过程更为复杂。图1 给出了在复杂场景下的LTP 传输过程。
图1 复杂深空通信网络LTP 详细传输过程Fig. 1 Detailed transmission process of LTP in a complex deep space network
如图1 所示,一个由5 个block 组成的文件由源端经三跳传递到目的端,用红、橙、黄、绿、蓝依次表示第1~5 个block,为了表述方便,将其编号为1~5。由于RA 的发送以及因RA 的丢失而引起的重传不会对整个文件传递时间产生影响。因此,图1 中并未显示出RA 的传递情况。如图1 所示,数据在第一跳传输时,block 2, 3, 5 经过1 次重传,block 1, 4 经过2 次 重 传。其 中,block 2 因CP 丢 失 一 次,则该block 的传输时延还包括重传CP 时等待定时器到期的时间,block 5 因丢失的RS 是数据传输完成后的确认RS,则重传该RS 时等待定时器到期的时间不包括在该block 的传输时延中,则在第一跳上,block 的到达次序依次是block 3, 5, 1, 2, 4。第二跳为整个数据传输中单程时延最长的一跳,且每个block 在该跳的发送时间也是最长的。在第三个block 到达第二跳的发送节点,开启整个文件在第二跳的传输之后,block 5, 1, 2, 4 依次发出,但因每个block 到达第二跳的时间不同,且block 3, 5 和block 2, 4 的到达时间间隔大于一个block 在第二跳的发送时间,因此5 个block 在第二跳发送时,其间存在空闲时间;又因block 在第二跳的发送时间大于部分block 到达第二跳发送节点的到达时刻间隔,因此存在block 在第二跳的发出时刻晚于在第一跳的交付完成时刻的情况。在第三跳发送节点上,因第三跳上单个block 的发送时间最小,则每个block 的发送时刻之间均存在空闲时间;又因第三跳的链路时延远小于第二跳,则该跳上block 的到达次序与发送次序相同。至此,整个文件完成了在复杂深空通信网络中多跳场景下的LTP 文件传输。
2 LTP 传递时延建模
经过以上分析可知,文件在复杂深空通信网络中传输时,除了在第一跳上block 可以接连发出外,其余每一跳上的block 发送均会存在不等的空闲时间间隔,且可能出现在上一跳已经完成交付的block 在当前跳无法立刻发出的情况。另外,数据在复杂网络中传输时以单个block 为单位而非以整个文件为单位,使得文件在每一跳上的总传输时延之间存在时间重叠。因此,对于多跳场景下的复杂深空通信网络,其LTP 传递时延并不能以各跳上的LTP 传递时延的简单加和来计算。
由对图1 的LTP 文件传输过程分析可知,整个文件在多跳场景下的复杂深空通信网络中由源端到目的端的传递时延,可由下式计算得到:
由此可知,Tfile_multihop主要由三部分组成:(1)在具有最长单程时延的那一跳(假设为第q跳)上,最后完成交付的那个block(为了后续表述方便,将该block 表述为 blockfinal)在该跳上的传递时延为Tblock_q_final; (2)文件开始传输时至 blockfinal在具有最长单程时延的那一跳上开始传输前,所消耗的时间为Tformer; (3)b lockfinal在具有最长单程时延的那一跳上完成传输时,至最后整个文件在最后一跳上完成传输时,所消耗的时间为Tlatter。由此可列LTP 文件传递总时延Tfile_multihop的计算式为
首先计算Tformer, 将其按照前(q-1)跳的跳数分割 为Tformer_1,Tformer_2, ··· ,Tformer_a, ··· ,Tformer_q-1共(q-1)个部分,其中每部分均包含某一个block 的传播时间、在该block 之前发送的所有block 的传输时间以及这期间由于CP 或RS 丢失导致定时器过时而额外增加的时间。
对Tformer_q-1的 计算进行分析。令Nblock表示组成待发送文件的block 个数,b lockq_final可 能是第(q-1)跳 上 第nblock( 1 ≤nblock≤Nblock) 个 完 成 传 输的block(记为b lockq-1_nb) ,则b lockq-1_nb在 第(q-1)跳上的传播时间可能最大,也可能最小,因此对于Tformer_q-1的传播时间,这里取单个block 传播时间的平均值。由于传播时间主要受到传播回合数的影响,因此将求取单个block 传播时间的平均值转换为求取单个block 完成传输时所经历的传递回合数的平均值kmean,即
其中,kmin为仅传递一个block 时经历的传递回合数,kmax为传递整个文件时经历的传递回合数。
对传递一个block 时经历的传递回合数kmin的值进行计算。由于block 被分割为多个segment 进行传输,因此一个block 传输所经历的传输回合数由该block 中所有segment 经历的传输回合数的最大值决定,即Gblock=Gseg_max, 本文以Gblock的期望来计算kmin。假设一个block 的红色数据占比为f,令Lseg_payload表 示segment 的 负 载 尺 寸,Lblock表示block 的 尺 寸, 则 该block 由Nseg=(Lblock×f)/Lseg_payload-1个 红色segment 组成,由此计算kmin, 有
一个block 被拆分为多个segment 进行传输,假设一个segment 在传输时服从几何概率分布,则第m次传输成功的概率Pseg_m=psegm-1×(1-pseg),由此可以计算出每个segment 的传输总次数的期望值
Ttrans表示传输单个block 时发送所有数据所耗时间。令Rdata表示下行数据发送速率,则对于每一个segment, 每 次 的 发 送 时 间 均 为(Lseg_frame/Rdata)Byte·s–1, 一 个block 中 包 含NR=(Lblock×f)/Lseg_payload个 红 色segment ,NG=(Lblock×(1-f))/Lseg_payload个绿色segment,其中红色数据采用可靠传输机制,绿色数据采取不可靠传输机制,则一个block 的总传输时间Ttrans可由式(8)计算得到:
对 于Tformer_q-1中 的block 传 输 时 间, 由 于blockq_final在 第(q-1)跳的发送次序不定,则取该传输时间的均值进行计算, 即
其中,Ttrans_q-1表 示第(q-1)跳上一个block 的传输时间,Lseg_frame_q-1表 示第(q-1)跳上的segment 帧长度,Lseg_payload_q-1表 示第(q-1)跳上的segment 应用数据长度,Rdata_q-1表 示第(q-1)跳上的下行数据传输速率,pseg_q-1表 示第(q-1)跳上的segment 丢失概率。
CP 段或RS 丢失会导致相应定时器到期而引起CP 段或RS 的重传,定时器到期所消耗的时间(即定时器设置的到期时间)会使整个传输时间额外增加。假设定时器到期时间为Tex,为了防止过早地重传,Tex应 大于2 倍的Tdelay, 则Tex=2Tdelay+β,其中β为定值,且至少包含RS 的发送时间。这里假设pCP、pRS分别表示CP段和RS的丢失概率,pCP=1-(1-pber)8×LCP_frame,pRS=1-(1-pber)8×LRS_frame,其中LCP_frame表示CP 段在物理信道上传输时的尺寸;则CP 段 或RS 丢 失 的 概 率pCP_RS=1-(1-pCP)×(1-pRS)。由此可以计算每个CP 段和RS 传输次数之和的期望值
接下来,计算Tblock_q_final。Tblock_q_final包含传输时间Ttrans_q_final、 传播时间Tprop_q_final和额外增加时间Tex_time_q。 对于Tprop_q_final,需要求取最后完成传输的block 的传播时间,因此该block 完成传递经历的传递回合数取kmax。对于Ttrans_q_final, 由于 blockfinal在第q跳上的发送次序不定,因此Ttrans_q_final取发送一半文件所消耗的时间。由此可列Tblock_q_final的计算式为
对于Tlatter, 同样可以按照后(n-q)跳的跳数,将其分割为Tlatter_q+1,Tlatter_q+2, ···,Tlatter_a, ···,Tlatter_n共(n-q)个部分,其中每部分同样包含传输时间、传播时间和额外增加时间。对于传播时间,由于Tlatter是从blockq_final在第q跳上完成传输起至整个文件被目的节点接收完毕止所消耗的时间,且后面(n-q)跳的链路时延均小于第q跳的链路时延,则每个Tlatter_a中包含的传播时间,均为相应每一跳上最后发送同时也是最后完成传输的block,在该跳上传输时的传播时间。又因最后发送的block 并不一定是传递回合数最多的那个,因此对于每个Tlatter_a的传播时间及额外增加时间,与其相关的单个block 完成传输所经历的传递回合数取kmean, 对于每个Tlatter_a的传输时间,取整个文件发送所消耗时间。则Tlatter计 算式如下:
将式(12)~(14)代入式(2),可以计算出复杂深空通信网络中LTP 传递时延Tfile_multihop的值。在复杂深空通信网络的多跳数据传输场景中,LTP 文件传输的吞吐率为
3 实验验证与结果分析
3.1 复杂深空通信网络场景及实验平台搭建
为了对以上提出的复杂深空通信网络的LTP 文件传递时延模型进行验证,需要搭建复杂深空通信网络场景。以当前国际研究热点火星探测任务为例,选择中国科学院国家空间科学中心Wu 等[11]提出的通用行星际通信网络(Universal Interplanetary Communication Network, UNICON)作为中继星座,搭建基于UNICON 的复杂深空通信网络(Complex Deep Space Network based on UNICON, UNICON-CDSN)的地火通信仿真场景。UNICON 星座由均匀部署在地火轨道之间的日心轨道上的6 颗通信卫星组成,为金星轨道至主小行星带范围内不同深空探测器提供平等的中继通信和测控服务。以UNICON 为中继星座设计地火通信场景为:火星-UNICON-GEO(Geostationary Orbit)-地球,选择1 个火星探测器、6 颗UNICON 卫星、1 颗GEO 卫星和1 个地面站作为通信节点,依据文献[11]的通用型空间通信网络测试平台(Universal Space Communication Network Test-bed, USCNT)搭建方式,搭建基于UNICON-CDSN 的仿真验证平台。
为以上搭建的复杂深空通信网络配置LTP 协议部署方案,即每个通信节点均配置LTP 协议栈BP/LTP/UDP/IP/Ethernet。平台将以太网传输通道配合交换机的实现,视为对深空网络物理层的模拟,BP、LTP 协议均用ion-3.7.0 实现,UDP 和IP 协议都是raspbiangnu/linux9 的协议实现。
3.2 模型验证
利用3.1 节搭建的仿真场景及实验平台,设计不同链路通信环境下的实验,对复杂深空通信网络的LTP 文件传递时延模型进行正确性验证。经卫星工具包(Satellite Tool Kit, STK)仿真得知,基于UNICON-CDSN 的地火通信场景的数据传输路径只有三种情况,分别为只经一颗UNICON 卫星转发、经两颗UNICON 卫星转发和经三颗UNICON 卫星转发。令NU表示数据传输途经的UNICON 卫星数,将以上三种传输路径情况分别用NU= 1,NU= 2,NU= 3 表示,则实验仿真时的数据传输情况选取NU= 1,NU= 2,NU= 3 三种场景。在仿真实验中,每条链路的链路环境如无特殊说明,均为相同设置,每条链路上的LTP 参数配置均为相同设置。仿真实验参数如表1 所示,其中误码率中的mul 表示混合误码率,即在整个网络中每条链路的误码率并不相同,具体设置如表1 所示,以数组形式呈现,从左到右依次为源节点到目的节点途经链路的误码率设置。
表1 模型验证的实验参数配置Table 1 Experiment parameter settings for model verification
对于三种数据传输路径(NU=3,NU=2,NU=1),分别在误码率为10–7, 10–6, 10–5, mul 以及信道速率比为1∶1, 100∶1, 500∶1 的情况下进行仿真实验。图2 即为不同链路环境下仿真实验与模型计算的结果对比,其中图2(a)表示信道速率比为500∶1时,在三种传输路径下,误码率分别为10–7、10–6、10–5, mul 时仿真实验与模型计算的对比结果,图2(b)表示在NU=2的传输路径中,4 种误码率条件下信道速率比分别为1∶1, 100∶1, 500∶1 时仿真实验与模型计算的对比结果。
图2 不同链路环境下仿真结果与模型计算结果对比Fig. 2 Comparison of simulation results and model calculation results with different link environments
由图2 可以看出,模型计算结果与仿真实验结果吻合得较好,因此可以证实复杂深空通信网络中的LTP 文件传递时延模型的正确性。而当误码率较低时,模型的计算结果相比真实情况误差增大,这是因为链路误码率越低,完成数据交付经历的传递回合数越接近1,模型中以均值思想求得的传递回合数与实际值的偏差就越大,而传输回合产生的时延在深空通信中是LTP 文件传递时延最重要的组成部分,因此造成误码率较低时模型与实验结果偏差增大的现象。
3.3 模型优势
文献[4]和文献[7]建立了较为经典的两种LTP数据传输模型,但二者均是在简化后的一至两跳通信网络场景下建立的。以平均绝对百分误差(Mean Absolute Percentage Error, MAPE)作为评判标准,比较本文所提出的模型(以下称为proposed)和以上两种文献中提到的模型(model 1[4]和model 2[7])对多跳场景下LTP 数据传输的预测情况,说明本文所提模型的优势。由于model 1 和model 2 均是在简化场景下建立的,因此将本文的多跳场景以每跳链路时延相加的方式进行简化,再代入model 1 和model 2 进行计算。在不同链路通信环境下对三个模型的MAPE 进行对比,bundle 和segment 尺寸分别设置为50 kByte, 1400 Byte,1 个block 包 含1 个bundle,链路参数设置和相应的实验标号列于表2。
表2 计算MAPE 的实验参数设置Table 2 Parameter settings of experiments for calculating MAPEs
三个模型的MAPE 比较结果如图3 所示。由图3 可以看出,对于复杂深空通信网络,proposed 预测的LTP 文件传递时延结果比model 1 和model 2 预测得更加接近仿真实验结果,proposed 的平均MAPE 是8%,而model 1 和model 2 的 分 别为21%和15%,由此说明proposed 比model 1 和model 2 预测精度更高。此外,对于多跳场景中各链路环境不同(例如数据传输途经的各条链路的误码率不同)的情况,proposed 同样能够进行LTP 数据传输情况的预测,而model 1 和model 2 均未给出这种场景下的LTP 文件传递时间预测计算方式。综上所述,对于复杂深空通信网络中多跳场景下的LTP传递时延的预测计算,本文所提出的理论模型比model 1 和model 2 更为适用。
图3 三种理论模型在不同链路环境下的MAPE 对比Fig. 3 MAPE comparison of three theoretical models with different communication environments
4 结论
针对基于DTN 的复杂深空通信网络,分析了LTP 在多跳场景下的数据传输机制,据此建立了复杂深空通信网络的LTP 文件传递时延理论模型,在基于UNICON-CDSN 的深空通信网络仿真验证平台上,仿真分析了本文提出的理论模型的正确性及其优势。结果表明,在复杂深空通信网络的不同链路通信环境下,该模型均能够较为准确地计算出LTP 传递时延,且比简化场景下建立的模型精确度更高,更适用于复杂深空通信网络。复杂深空通信网络LTP 传递时延模型的提出,无需进行耗时的仿真实验即可分析预测复杂深空通信网络的数据传输性能,克服了简化场景下建立的理论模型不能直接套用于复杂通信场景的不足,为应用LTP 协议的未来深空通信网络的数据传输性能分析工作提供了理论依据。
未来将基于所建立的复杂深空通信网络的LTP 传递时延模型,针对各种深空通信环境及不同探测器的优化目标,研究LTP 主要参数的优化设计方案,提升LTP 的传输性能。将其研究成果应用于多任务依托同一复杂深空通信网络的场景,进一步研究各个任务的资源消耗及路径选择问题。