SCPS-TP协议研究和性能分析

2012-09-21 08:41卞春江
载人航天 2012年1期
关键词:误码延时报文

陈 宇,孟 新,卞春江,张 磊,周 海

(中国科学院空间科学与应用研究中心,北京100190)

1 引言

随着航天技术的发展,研究并建设天地一体化航天互联网势在必行[1]。互联网技术应用于载人航天工程,能为长期留轨的航天员与地面工作人员、朋友、家人进行交流沟通提供更便捷的服务,也为科学家在地面实验室直接操作空间站上的仪器进行交互式的空间科学实验操作提供了强有力的技术手段。目前地面互联网上98%的数据传输使用TCP/IP协议栈,但由于卫星网络的一些特性,如传播延时长、误码率高的和带宽不对称性等造成了基于地面网络开发的TCP协议在空间链路中的性能严重下降[2]。为了解决该问题,空间数据系统咨询委员会专为空间通信“量身定制”了空间通信协议传输协议SCPS-TP(Space Communications Protocol Specification-Transport Protocol,SCPS-TP)[3]。SCPS-TP 通过对 TCP 的扩展,提高了航天通信网空间链路中TCP协议的传输性能。

本文研究SCPS-TP对TCP的改进方法,搭建空间通信仿真环境,并对SCPS-TP和TCP在高误码高延时的仿真环境中的传输性能进行仿真和对比分析。

2 SCPS-TP对TCP的改进方法分析

为了克服空间链路对TCP性能的影响,SCPSTP协议针对空间通信中误码率高、传输时延长、链路带宽不对称、间断性连接等问题,改进了标准TCP协议中的部分机制。下面详细介绍SCPS-TP改进方法。

2.1 SCPS-TP针对数据丢失的改进

在空间通信中,导致数据丢失的三个原因是网络拥塞、误码、链路中断。SCPS-TP提高TCP性能的关键在于识别数据丢失原因并进行相应的处理操作。SCPS-TP对数据丢失原因的识别方法和相应处理操作如下。

2.1.1 SCPS-TP对网络拥塞的识别和处理

SCPS-TP利用RFC3168[4]定义的主动队列管理(Active Queue Management,AQM)和显式拥塞通知机制(explicit congestion notification,ECN)来识别网络是否处于拥塞状态。AQM检查队列是否将要溢出,以此判断网络是否即将发生拥塞。在拥塞即将出现时,ECN在尚未丢失数据报文的情况下通知SCPS-TP发送端网络即将出现拥塞。ECN路由器在数据报文的IP首部中设置特殊标志并把该数据报文向前发送,在收到有特殊标志的数据报文后,接收端SCPS-TP利用ACK把拥塞信号回送到发送端SCPS-TP。收到该拥塞信号的SCPS-TP使用Vegas拥塞控制算法来降低丢包率并设置较大的通信窗口,快速恢复网络。

2.1.2 SCPS-TP对误码的识别和处理

空间通信中导致数据丢失的主要原因是误码。SCPS-TP将数据丢失的默认处理方式设置为针对误码的处理方式。

SCPS-TP针对误码的识别和处理过程分为四个阶段:识别、通知、响应、终止识别。空间链路的接收终点即地面接收器执行下行链路的识别操作。地面接收器从链路层获取接收到的受损帧的个数(如通过CRC校验)。地面接收器维护一个最近接收分组目的地址的缓存器,并根据受损帧总数计算受损帧加权流动平均值。当该平均值超过门限值时,地面接收器进入链路出错状态,接收器的网络层调用空间网络控制报文协议SCMP(类似于TCP/IP中的ICMP协议)向使用该空间链路的终端主机发送标示为“链路已出错”的SCMP报文。终端主机接收到该SCMP报文后,立即通过ACK报文(报文首部包含链路出错选项)向其对应的SCPS-TP数据源发送数据损坏消息。当SCPS-TP数据源接收到该ACK后,不启动拥塞控制,也不减小拥塞窗口,发送速率和重传间隔时间保持不变,直到发送端接收到未带有链路出错信息的ACK时,进入终止识别阶段。

2.1.3 SCPS-TP对链路中断的识别和处理

在处理链路中断过程中,有类似处理误码的四个阶段:识别、通知、响应、终止识别。识别链路中断的方法,是和具体链路有关的。通常,地面站检测到载波同步信号丢失或者检测到接收信号强度低于某一门限值时,认为链路中断。一旦地面站(或航天器)检测到链路中断,它会向链路同一侧的所有主机发送“链路中断”SCMP报文,它包括丢失包的SCPS-TP首部。发送端SCPS-TP对链路中断信号的响应是:进入持续模式,停止发送新数据,停止重传定时器,周期发送嗅探报文检查链路是否恢复。SCPS-TP在收到链路恢复SCMP报文或者嗅探报文顺利到达接收端并被确认时,回到正常工作模式。发送端SCPSTP会根据先前收到的链路中断SCMP报文中的SCPS-TP首部中的序号,来决定数据流从何处恢复传输。

2.2 SCPS-TP针对带宽容量有限的改进

针对空间链路带宽容量有限而使网络性能受限的情况,SCPS-TP提供两种改善机制:头部压缩技术和选择性否定确认(SNACK)选项。

2.2.1 SCPS-TP头部压缩技术

SCPS-TP的头部压缩技术[6]在传输层实现端到端操作。SCPS-TP头部压缩将头部减少了大约50%,极大节约了确认报文的开销。SCPS-TP头部压缩技术将连接期间不变化的信息进行摘要处理。经过压缩的SCPS-TP头部是可变长的,但必须包含连接标识符、用以指明哪些可选字段被使用和哪些标志位被置位的比特域,还要包含校验和。SCPS-TP仅压缩SCPS-TP头部而不压缩IP头部。

2.2.2 SCPS-TP的SNACK选项

传统的TCP使用ACK报文进行确认,一个ACK报文最多能够识别接收缓冲区中的一个缺失数据块。SNACK允许SCPS-TP接收方通知发送方在接收方队列有一个或一个以上的缺失数据块。这样,SNACK选项可以加速丢失数据的重传并避免了发送方达到窗口极限。

2.3 针对长往返延迟的改进

SCPS-TP中,通过两个技术措施解决长往返延迟(RTT)对数据传输所带来的影响:窗口缩放和定时器修改。

2.3.1 SCPS-TP的窗口缩放

窗口缩放功能[7]允许SCPS-TP处理多于64K字节的未收到应答的数据。在数据丢失主要是由误码造成的情况下,采用更大的窗口尺寸有助于提高网络性能,这样就可以在恢复丢失期间不断地传送新的数据。

2.3.2 SCPS-TP的定时器修改

SCPS-TP修改了TCP定时器的超时时间,允许往返延迟从秒级增加到小时级,符合深层空间传输往返延时实际情况。在建立连接时,SCPS-TP将重传定时器设置成一个合适的往返延时估计值,从而避免在连接的开始阶段就出现多次重传超时。另外,SCPS-TP协议利用TCP时间戳选项,有助于比较精确地估计在有分组丢失情况下的RTT值。

2.4 针对链路带宽不对称的改进

信道的宽度不对称性导致反向链路上TCP的ACK报文拥塞,进而使TCP通信的链路利用率降低。SCPS-TP采用两种改善方法:降低确认应答频率、速率控制。

2.4.1 降低确认应答频率

TCP协议规定每接收一个数据报文时向发送端至少回应一个确认报文,并且规定当出现接收数据报文乱序时对每个数据报文立即给予确认,SCPS-TP取消了以上两项规定,而是改成了SCPS-TP接收方以固定速率给予确认,减轻了对确认信道的带宽压力。

2.4.2 SCPS-TP的速率控制

SCPS-TP采用开环速率控制机制以避免过度占用链路带宽。开环速率控制机制允许在每个端点上基于每个SCPS-TP连接,配置传输速率参数。该机制在整个传输过程中把分组的发送速率控制在用户指定值并限制突发传输数据的尺寸。

3 性能分析

3.1 仿真环境配置

为了进行协议性能验证和比较,本文利用信道仿真器,对空间环境中的TCP和SCPS-TP通信进行仿真。如图1所示,使用2台主机和1台信道仿真器搭建仿真环境,在不同误码和延时条件下对TCP协议和SCPS-TP协议的数据传输吞吐量进行测试,并进行比较分析。其中,两台主机安装两个应用测试程序:用于测试TCP性能的测试工具Linux TTCP、用于测试SCPS-TP性能的测试工具SCPS TTCP。主机和信道仿真器配置百兆网卡。信道仿真器设置下行链路带宽为100Mbps,上行链路带宽为10Mbps。

图1 SCPS-TP、TCP性能测试仿真环境

在测试中,使用测试工具利用SCPS-TP和TCP传输文件,文件大小为100M。两台主机上SCPS-TP参数配置见表1。

3.2 仿真结果

使用信道仿真器,测试SCPS-TP和TCP在不同延时和误码条件下的吞吐量,仿真结果列于表2。

3.3 仿真结果分析

通过表2中仿真结果可以看出:

(1)当误码率小于10-8并且单向延时小于5ms时,SCPS-TP和TCP的性能差别很小。

(2)当误码率大于10-7或单向延时大于5ms时,SCPS-TP的传输性能明显优于TCP。随着误码率和传输时延的增大,SCPS-TP和TCP的传输性能差距加大,SCPS-TP的优势越来越明显。

表1 SCPS-TP参数配置

表2 不同时延和误码率条件下的SCPS-TP和TCP吞吐量(单位:Mbps)

3.4 载人空间站和地面互联网之间SCPS-TP通信的仿真结果分析

载人空间站和地面互联网的连接方式分两种情况:

(1)载人空间站和地面互联网之间直接通信。载人空间站和地球之间距离为400km左右,传输单向延时为1.5ms。

(2)载人空间站和地面互联网通过中继星通信。中继星和地球之间距离为36000km,载人空间站通过中继星和地面互联网通信的传输单向延时约为250ms。

从表2中单向时延1.5ms和单向时延250ms对应数据可以看出,载人空间站接入地面互联网时,SCPS-TP的传输性能明显优于TCP。

4 结论

空间链路的高误码、高延时、不对称等特性,导致TCP传输性能下降。SCPS-TP针对空间链路特性对TCP进行了改进,有效提高了TCP传输性能。本文利用信道仿真器搭建空间通信的仿真环境,测试SCPS-TP和TCP在高误码高延时的空间链路中的吞吐量性能。仿真结果表明在空间链路中SCPS-TP比TCP具有明显优势。在空间站和地面互联网之间通信环境中,在空间链路上使用SCPS-TP能够很大程度增强传输性能,具体有两种应用方式:①地面终端和空间站终端安装SCPS协议栈;②地面终端和空间站终端安装TCP/IP协议栈,空间站和地面分别安装TP-TCP协议转换网关,在两个网关之间的空间链路传输层使用SCPS-TP。

综上所述,SCPS-TP协议适用于空间链路传输。特别是在载人空间站与地面互联网之间的空间通信中,在SCPS-TP协议的基础上进行传输协议研究具有十分重要的意义。 ◇

[1]沈荣骏.我国天地一体化航天互联网构想.中国工程科学,2006年10月第8卷第10期.

[2]吴诗其,李兴.卫星通信导论.电子工业出版社,2002.

[3]CCSDS 714.0-B-2 Space Communications Protocol Specification(SCPS)—Transport Protocol(SCPS-TP).Recommendation for Space Data System Standards [S].Blue Book,Issue 2,Washington,DC:CCSDS,October 2006.

[4]K.Ramakrishnan.The Addition of Explicit Congestion Notification(ECN)to IP.IETF RFC3168,September 2001.

[5]Jacobson V.Congestion Avoidance and Control[C].Proceedings of ACM SIGCOMM’88,Stanford,CA,August 1988:314—329.

[6]Jacobson V.compressing TCP/IP Headers for Low-Speed Serial Links.RFC 1144 Berkeley:LBL,February 1990:4—12.

[7] Borman D.,Braden R.,Jacobson V..TCP extensions for high performance.IETF RFC l323,l992.

猜你喜欢
误码延时报文
基于J1939 协议多包报文的时序研究及应用
低轨星座短报文通信中的扩频信号二维快捕优化与实现
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
日光灯断电关闭及自动延时开关设计
SDH传输设备信号传输过程中误码问题的分析
一种基于CAN总线的误码测试方法
基于CD4060 的室内换气系统延时关机电路设计
宋湘延时答妙对
潘小芳(太原铁路局太原通信段网管中心,太原 030012)