李少宾,张亚生,宋春晓
(中国电子科技集团公司第五十四研究所,石家庄050081)
我国航天测控通信最初采用不同的独立载波系统完成遥测、遥控和通信,目前已发展为单载波的统一S频段测控通信系统,多数航天任务中天地信息传输采用点到点链路,使用简化的HDLC协议,测控数据和有效载荷数据采用不同的物理信道传输,遥测遥控数据多采用PCM格式,部分高速有效载荷的数据传输采用了CCSDS(空间数据系统咨询委员会)建议。
随着我国载人航天、深空探测等航天任务和活动的增多,传统的测控通信系统已很难满足当前及未来的需求。天地间交互式操作增多,有效载荷数量增加,执行任务呈现多样化和长期化趋势,对天地通信提出了更高的要求。因此,天地一体化信息传输系统的研究和建设对我国航天任务中天地通信起着至关重要的作用。
当前空间通信的发展趋势是与地面网融合,建立天地一体化的信息传输系统,实现空间通信网与地面通信网的综合利用。但目前空间通信和地面通信为两个相互独立的网络,运行着各自的通信协议,由于体系结构和通信协议的不一致给天地一体化信息传输带来了诸多障碍,而未来的空间任务需要端到端天地一致的网络通信协议。TCP/IP协议已成为地面通信网事实上的标准,若空间通信采用此协议,可使天地间的通信系统从网络层开始采用基本一致的协议实现一体化的端到端通信,不但可以有效利用现有的互联网设施,而且可以利用现有的地面网技术和产品,使空间任务的成本大幅度降低。天地一体化信息传输系统需要在地面网与空间通信网中部署IP over CCSDS网关以实现IP协议与CCSDS协议间的相互转换以及地面网和空间通信网间的互联互通。
本文在借鉴IP over CCSDS Space Links等相关CCSDS建议草案[1]的基础上,提出一种IP over CCSDS协议转换的实现方法,并在Linux操作系统内核的网络协议栈中实现了在CCSDS空间数据链路之上传输IP数据包,并通过试验对IP over CCSDS网关进行了测试与验证,给出了工程应用的实现建议。
图1为本文所假设的未来天地一体化信息传输系统在天地测控通信中的典型应用场景,空间站或其他航天器可直接与地面测控通信网通信,也可通过中继星与地面测控通信网通信,后者适用于远距离数据传输。如图2所示,IP over CCSDS网关可部署在空间通信网和地面测控通信网间,其中空间通信网可为空间站的内部网,也可为多航天器组成的空间通信网,空间通信网和地面测控通信网均为TCP/IP网。
天地一体化信息传输系统中地面通信网与空间通信网间IP over CCSDS协议转换主要有两种实现思路:一种是基于CCSDS,修改相关的协议使之适应IP数据包的传输[10,11];一种是将空间特性尽可能地压缩到CCSDS的物理层和链路层,在网络层和链路层间实现IP和CCSDS的协议转换,网络层及其以上各层沿用地面网协议。前者要求对现有协议进行修改,限制了其适应性。后者的典型代表是CCSDS提出的IP over CCSDS Space Links红皮书建议草案[1],此建议为航天器和地面系统间实现在CCSDS空间数据链路之上传输IP数据包提供了指南,具有广泛的适应性,本文的研究遵循该建议草案。
本文所提出的IP over CCSDS网关工作于网络层和数据链路层之间,其数据传输和协议转换是双向的,由IP数据包到CCSDS空间链路数据帧的转换过程,CCSDS空间链路数据帧到IP数据包的转换过程以及路由寻址机制三个主要过程组成。网关间通过同步接口连接射频调制子系统,通过射频调制子系统进行点到点的天地链路传输,将IP和ARP数据包直接封装到CCSDS数据帧中通过网关进行传输,地面测控通信网和空间站内部网均为TCP/IP网络,由IP over CCSDS网关实现IP协议与CCSDS空间通信协议间的相互转换以及空间通信网与地面通信网间的路由寻址,以实现空间通信网和地面测控通信网间的一体化数据传输。
图1 天地一体化信息传输系统应用场景
图2 IP over CCSD网关部署示意图
为在CCSDS空间链路之上传输IP包,IP over CCSDS Space Links建议[1]提出了两种方法:①将无压缩的IPv4数据包直接放入到CCSDS传输帧中进行传输(见图3中的方法1)。②使用CCSDS封装服务,将压缩的或无压缩的IPv4或IPv6数据包放入到CCSDS封装分组中(见图3中的方法2)进行传输。本文的研究采用前一种方法。
图3 在CCSDS空间链路之上的传输IP数据包
天地一体化信息传输系统中,需要IP over CCSDS网关实现IP协议和CCSDS空间数据链路协议的转换以及空间通信网和地面通信网间的路由寻址。如图4所示,由于网关间进行点到点的数据传输,因此可将IP和ARP数据包直接封装到CCSDS数据帧中通过网关进行传输。地面通信网和空间通信网均为TCP/IP网络,其中LINK指TCP/IP网的链路层协议,PHY指TCP/IP网的物理层协议。由于将ARP数据包直接封装到CCSDS帧中,由ARP协议实现网间的路由寻址对网关是透明的,因此关键在于实现IP协议和CCSDS空间链路协议的相互转换。
图4 天地一体化信息传输系统的协议层次图
CCSDS定义了四类空间数据链路协议:遥测(TM)、遥控(TC)、高级在轨系统(AOS)和临近空间(Prox-1)数据链路协议。CCSDS各类空间数据链路协议均有自己适用的场合,AOS适用于高速的上行和下行链路,可服务于空—空和空—地测控通信系统,同时双向传输数据、语音、图像、视频、实验数据、遥控、遥测等不同信息,满足高速率、大容量、多用户的数据处理、数据传输要求。AOS逐渐成为大部分空间任务的主要选择,各航天大国都在逐步采用AOS空间链路协议,国际空间站亦已部分采用了AOS业务。构建天地一体化高速信息传输系统,需要使用AOS空间数据链路协议。因此,本文的研究主要关注于CCSDS AOS空间数据链路之上IPv4数据包的传输。
本文中所采用的AOS传输帧结构如图5所示,传输帧的长度为1115个字节(由同步和信道的编码方式确定[8][9])。其中传输帧主首部为6字节,由主通道标识符(10位,包含传输帧版本号(TFVN)和航天器标识符(SCID)两个部分),虚通道标识符(6位,VCID),虚通道帧计数(3字节)和信令字段组成(1字节)组成;传输帧的数据字段紧跟在主首部之后,包括复用协议数据单元(M_PDU)首部(2字节)和复用协议数据单元分组区(1105字节)两个部分。采用AOS空间数据链路的分组服务,不支持插入服务,传输帧中无插入区域字段;不支持帧首部差错控制字段,使用帧差错控制字段保护整个传输帧。
利用虚通道分组(VCP)服务在CCSDS AOS空间链路之上传输被封装到AOS帧中的IP包,虚通道分组服务通过全局虚通道标识符(GVCID=TFVN+SCID+VCID)寻址,而网络层IP的寻址需要进行地址转换,TCP/IP网中IP地址和链路层地址的转换通过ARP和RARP协议进行,需要将ARP数据包封装到AOS帧中在CCSDS AOS空间链路之上进行传输,以便于接收端根据ARP进行网络层的地址转换和寻址。
图5 AOS传输帧结构
在Linux内核的网络层和数据链路层之间,将来自网络层的ARP和IPv4数据包封装到CCSDS AOS帧中进行传输。ARP数据包的长度通常比IPv4数据包的长度小,ARP请求和应答的数据包数量相对也要少。与IPv4数据包相比,ARP数据包是低速数据;另外,为方便网关中AOS帧的封装和拆封,在实现上,ARP和IPv4放入不同的虚通道进行传输。例如,ARP数据包的传输占用一个固定的0号虚通道,直接封装到AOS帧进行传输。IPv4数据包在其他虚通道中进行传输。
在发送端,采用skb(套接字缓冲区)队列实现IP包和CCSDS AOS帧间从变长数据包到定长数据帧的转换,将承载IPv4数据包的skb入队,并由定时器控制skb的出队成帧过程,通过拼接和分割将IPv4数据包封装到CCSDS AOS传输帧中。如图6(a)所示,IP数据包到CCSDS AOS空间链路数据帧的转换过程包括以下步骤:
①初始化定时器和数据帧发送计数器,数据帧发送计数器初始值置为0,定时器的初始值设置为合适的阈值,以降低协议转换过程对传输的延时影响;
②不间断地将来自网络层的IP数据包放入到缓冲区队列中进行排队;
③在定时器时间到时,从缓冲区队列中取出IP包,按照CCSDS AOS数据帧的数据区长度对IP包进行分割和拼接以形成定长的数据块;
④将定长数据块作为CCSDS AOS数据帧的有效载荷放入到数据区,将帧发送计数器的值作为虚通道帧计数字段的值;帧发送计数器的值按递增顺序依次累加,达到计数器最大值时从0重新开始计数;
⑤为CCSDS AOS数据帧的其他字段赋值,计算CRC校验和作为数据帧差错控制字段的值,组装成完整的CCSDS AOS帧,并将CCSDS数据帧传递给网关的同步接口进行发送;
⑥重复②,③,④,⑤直到缓冲区队列为空,并重置定时器。
若在⑥中处理到缓冲区队列为空时,仍然有剩余IP包数据,可将剩余数据放入到CCSDS AOS帧的数据区,并对不够长度的数据区进行填充。
在接收端,从网关的同步接口接收CCSDS AOS数据帧,并由同步口驱动程序将CCSDS AOS数据帧承载到内核的skb结构中,并将接收到的CCSDS AOS数据帧放入到缓冲区中排队,不断扫描缓冲区拆封出IP包。如图 6(b)所示,CCSDS AOS空间链路数据帧到IP数据包的转换过程包括以下步骤:
图6 IP包到CCSDS AOS帧的相互转换过程
①初始化本地数据帧接收计数器,将其初始值置为0;
②不间断从同步接口接收CCSDS AOS数据帧;
③计算数据帧校验和,并与帧差错控制字段比较,若校验不一致,则说明CCSDS AOS数据帧出错,则丢弃;否则,进行下一步骤。
④本地帧接收计数器的值按递增顺序依次累加,达到最大值时从0重新开始计数;从CCSDS AOS数据帧中提取虚通道帧计数字段值作为数据帧编号与本地的帧接收计数器值进行比较:若帧号小于本地帧计数,说明接收到了重复帧,丢弃;若帧号大于本地帧计数,说明传输过程中帧丢失,则修复本地接收帧计数器的值,将其置为当前所接收帧的编号值;
⑤拆封CCSDS AOS帧,将数据区的有效载荷放入到接收缓存区队列;
⑥扫描接收缓存区,从中不断解析出IP包,并向网络层递交IP包;
⑦不断重复过程②,③,④,⑤,⑥。
将来自IP网的ARP数据包直接封装到CCSDS空间链路数据帧中并通过同步接口传递到对端网关;在对端网关,直接拆封出ARP数据包;过程类似于IP数据包和CCSDS空间链路数据帧的相互转换过程,但无需对ARP数据包执行拼接和分割过程,而是直接进行封装和拆封,因此CCSDS数据帧的数据区需要填充。CCSDS空间链路数据帧在网关间是点到点传输的,ARP协议所实现的地址翻译和路由寻址对网关是透明的。
本文的IP over CCSDS网关在PowerPC MPC8548嵌入式硬件平台上实现,网关对外提供千兆以太网接口,网关间用高速同步接口互连。使用斯伯伦Test Center网络测试仪进行RFC2544吞吐率测试,1500字节的单向IP传输吞吐率可达600Mbps,46字节的单向IP传输吞吐率可达200Mbps。
试验表明,对于网关间短时失步和少量丢帧,可通过虚通道帧计数器重新同步。通常情况下,空间数据链路的丢帧或误码对协议转换和网关间的同步带来的影响可以忽略不计,但严重情况下会对网络层及其上层数据的传输带来冲击,例如当连续丢帧时,仅仅依靠虚通道帧计数器很难重新快速同步,会导致IP丢包效应扩大化。分析如下:假设到来的IP包长度较短,则在一个CCSDS帧中会被封装多个连续的IP包,若当前第i个CCSDS帧丢失,如图7所示:
图7 AOS传输帧示意图
则在接收端,无法恢复出第k个IP包,同时第k+1个IP包被丢弃,则第k+2个IP包也无法恢复出来,间接影响到第i-1和i+1个AOS帧的正确拆封,不能正确拆封的数据帧必须主动丢弃,因此多个IP包的接收会受到影响。
网关间高速可靠的数据传输依赖于低层的编码同步和纠错机制,链路信道质量恶化时,会导致大量丢帧继而出现IP丢包效应扩大化的现象。另外,当IP包突发数据量超出网关同步接口的设计能力时,网络发生拥塞,网关不能及时进行协议转换和数据转发而导致连续丢帧时,容易出现IP丢包效应扩大的现象。为此,建议在网关同步接口设计速率固定的情况下,对协议转换过程中从以太网接口转给同步接口的的数据流量作出限制,防止出现拥塞;尽可能提高信道的质量,CCSDS建议由物理信道误码造成的帧差错概率低于1×10-7,在此物理信道传输,误码丢帧的概率非常低,误码丢帧通常是可以快速恢复的,带来的影响也是可以忽略不计的。
在CCSDS空间数据链路之上传输IP数据包的方法要求网关对IP包进行分割和拼接以组成CCSDS数据帧,并在接收到CCSDS数据帧之后进行拆封,从而实现变长的IP数据包和定长的CCSDS数据帧之间的转换,此过程实际上会将多个连续的IP包关联起来,使它们之间形成了依赖关系。在发送端,对于长度较短的IP数据包,需要等待以拼接成一个CCSDS帧;对于长度较长的IP包,需要进行分割,一个IP包分散到多个CCSDS帧中。在接收端,可能需要等待多个传输帧才能拆封出一个完整的IP包。发送端和接收端对IP包的分割和拼接处理过程不可避免会对端到端的传输性能带来影响,这是由IP over CCSDS协议转换本身所决定的。
假设 IP包到达的频率为 f,IP包长度为 x,CCSDS帧长为y(忽略帧开销,假定帧长为数据区的长度),假定排队待转换成CCSDS帧的IP包在一次调度中能完成,则转换的CCSDS帧数目z=[fx/y],在队列调度时延阈值时间范围内一次调度协议转换能够处理完队列中所有的IP包。理论上,若帧长固定,到来的IP包频率越高,包长越长,则转换的CCSDS帧越多,相应的转换速率就越大;若帧长固定,到来的IP包频率越低,包长越短,转换的CCSDS帧就越少,相应地需要排队等待的IP包就越多,帧中填充开销就越大。在时延阈值T范围内,若帧长越短,则转换的CCSDS帧数目就越多,相应的转换速率就越大。
上述分析忽略了网关的同步接口速率和硬件平台的协议处理能力。当转换的CCSDS帧数越多时,组帧和拆帧的处理开销就越大,所带来的时延就越大,容易超出一次调度的时延阈值。分析和测试表明,当选择的CCSDS帧长与到来的IP包长接近时较为合理,当x接近y时,最好是一个CCSDS帧刚好存放下一个IP包,帧填充开销较小,协议转换对IP包进行分割拼接以及CCSDS组帧和拆帧的处理开销相应地就较小,协议转换的速率就越接近以太网口IP包的发送速率。
实际的通信网中IP包到达的频率和包长是随机的,不同业务应用产生的IP包的频率和包长没有固定的模式,因此CCSDS帧长的选择没有一致的准则。但在一次航天测控通信任务中,业务的种类和信息速率产生的模式通常是可预测的,CCSDS帧长度可选择接近IP包的长度。另外,在网关中可区分不同业务的IP流,每类IP流对应一个协议转换的处理过程,通过协议转换过程的并发操作来提高协议转换的吞吐率。例如,对于实时性要求高的IP流,可设置较小的时延阈值,以减少协议转换处理所带来的时延;而对于时延不敏感的非实时性IP流协议,可设置相对较大的时延阈值,以等待多个IP包组装成CCSDS帧,以降低CCSDS组帧的填充开销。
本文主要针对天地一体化信息传输系统中IP over CCSDS网关中的协议转换技术开展研究,参考了IP over CCSDS Space Links等相关建议,在Linux内核的网络协议栈中实现了IP协议与CCSDS AOS空间数据链路协议的相互转换,并通过试验对在AOS空间数据链路之上进行IP传输进行测试与验证,表明了利用IP over CCSDS网关构建天地一体化信息传输系统的可行性,工程应用中可以IP over CCSDS Space Links建议作为IP协议和CCSDS空间链路协议转换的实现依据。
诸多因素会影响IP over CCSDS协议转换的吞吐率,工程应用的设计和实现可从以下几个方面做出选择以提高协议转换的效率:①设计尽可能高的同步接口速率,至少确保同步口接口的信息速率不低于网关的以太网接口速率,否则对来自以太网的接口速率作出限制以避免拥塞造成的影响;②采用处理能力尽可能强的硬件平台,降低协议转换和组帧、拆帧所带来的时延影响;③根据航天测控通信任务执行过程中业务的特点,选择合理的CCSDS帧长度以提高协议转换的帧效率,减少帧开销;④区分不同种类业务的IP流,将同一类业务的IP包分配到同一虚通道上,不同的虚通道上协议转换并行处理,以降低IP包和CCSDS帧协议转换过程中分割和拼接的时间开销,减少不同类IP包间的关联性,提高协议转换的吞吐率;⑤CCSDS空间链路的底层采用编码和纠错机制以提供信道传输的质量,减少误码带来的影响。◇
[1]IP over CCSDS Space Links.Draft Recommended Practice,CCSDS 702.1-R-3.Red Book.Issue 3.Washington, D.C.:CCSDS,2008,9.
[2] Information Technology—Open SystemsInterconnection—Basic Reference Model:The Basic Model.International Standard,ISO/IEC 7498-1.2nd ed.Geneva:ISO,1994.
[3]Overview of Space Communications Protocols.Informational Report.CCSDS 130.0-G-2.Green Book.Issue 2.2007 12.
[4]Space Data Link Protocols—Summary of Concept and Rationale.Report Concerning Space Data System Standards,CCSDS 130.2-G-1.Green Book.Issue 1.Washington,D.C.:CCSDS,2007,12.
[5]Overview of Space Link Protocols.Report Concerning Space Data System Standards,CCSDS 130.0-G-1.Green Book.Issue 1.Washington,D.C.:CCSDS,2001,6.
[6]AOS Space Data Link Protocol.Recommendation for Space Data System Standards,CCSDS 732.0-B-2.Blue Book.Issue 2.Washington,D.C.:CCSDS,2006,7.
[7] Advanced Orbiting Systems, Networks and Data Links:Architectural Specification.Recommendation for Space Data System Standards,CCSDS 701.0-B-3.Blue Book.Issue 3.Washington,D.C.:CCSDS,2001,6.
[8] TM Synchronization and Channel Coding.Recommendation for Space Data System Standards,CCSDS 131.0-B-1.Blue Book.Issue 1.Washington,D.C.:CCSDS,2003,9.
[9]TM Synchronization and Channel Coding—Summary of Concept and Rationale.ReportConcerningSpace Data System Standards,CCSDS 130.1-G-1.Green Book.Issue 1.Washington,D.C.:CCSDS,2006,6.
[10]李英玉.IP与CCSDS交换机制探讨[D].中国科学院空间科学与应用研究中心,2002.
[11]杨晓剑.IP协议与CCSDS协议的转换[D].南京理工大学,2006.