陈明玉 程子敬
(北京卫星信息工程研究所,北京 100086)
卫星通信具有覆盖面广、可扩展性强、用户接入方便和不受地域条件限制等优点,是地面光纤难以铺设或人口稀疏等偏远地区进行长距离宽带网络接入的一种重要补充手段。但是将基于地面互联网(Internet)设计的传输控制协议/网络协议(Transfer Control Protocol/ Internet Protocol, TCP/IP)用于空间通信,存在长传播延时、高误码率、带宽不对称及间歇性连接等情况,链路的信息传输速率非常低,在1Mbit/s 带宽时可能只有几十kbit/s 的速率,远远满足不了越来越大的Internet 海量信息的传输,各种加速方法尤其是传输层加速技术的应用势在必行。
目前TCP 协议传输性能的加速方法,主要有改进的TCP 协议和TCP 加速代理两大类。前者一般通过改变发送端或接收端的TCP 协议参数,如初始启动窗口大小或拥塞控制策略或确认回复机制等来提升TCP 的性能,有TCP New Reno 协议、选择性确认TCP SACK(Selective Acknow ledgment)协议、TCP Vegas 协议、TCP Veno 协议、TCP Hybla协议、TCPW(TCP Westwood)协议等方法[1-6], 不同程度地提高了链路性能;后者一般是设置性能增强代理网关(Performance Enhancement Proxy ,PEP),可以采用链路分段或协议欺骗策略。链路分段策略使TCP 在地面段与空间段相分离,在地面段使用标准TCP 协议,而在空间段使用具加速功能的改进型TCP 协议,如TCP Hybla 协议等;欺骗策略使得网关在数据未到达目的端之前伪装成目的端,提前回复确认消息,从而能使源端提前增大其拥塞窗口而尽快达到较大的值。PEP 方法虽增加了网关设计的复杂性,但可以极大地提高卫星IP 网的传输性能。PEP 方法的一个典型应用是PEPsal 技术,它结合了链路分段和欺骗策略,既保留了源端和目的端的标准TCP 协议端到端的语义,与网络其它终端的协议兼容,又能达到提高链路传输速率的目的[7]。
专门针对卫星通信环境而设计的空间通信协议标准(Space Communication Protocol Standard,SCPS)协议簇, 以TCP/IP 协议栈为模型并基于TCP/IP 协议,针对空间链路往返时延可变、带宽不对称和间断性连接等特点,进行了适当的剪裁与扩充,旨在支持保证尽量压缩成本的空间环境网络通信的可靠传输,满足正在开展的多空间节点任务配置对空间网络选路的需求以及提供空间网络与地面Internet 兼容性[8]。
SCPS 协议簇最重要的应用是空间通信协议标准-传输层协议(SCPS-TP),它对于卫星链路特点定制了多项策略,从而使空间通信网络端到端数据传输性能的改善有较大提高。SCPS-TP 协议支持基于优先级的处理,支持无连接多播,支持面向数据包的应用,通过以扩展选项的形式置于带有S YN 字段的TCP 报头可选域的方法得以实现,因而保证了SCPS-TP 能与商用TCP 协议、UDP 协议兼容[1]。
SCPS-TP 协议对于卫星链路的高误码率、长传输时延、非对称带宽和间歇性连接问题分别采取了多种有效措施。在误码率方面采取了链路降质响应和选择性消极确认(Selective Negative Acknow ledgment,SNACK)措施;长传输时延方面采取了首部压缩、窗口扩展和定时器修改措施;非对称性带宽方面提供了流速控制、降低确认(A cknow ledgment,ACK)频率和首部压缩措施;在间歇性连接方面采取了链路中断支持。此外SCPS-TP 将链路丢包情况分为链路拥塞、链路降质和链路中断,不同情况采取不同措施,因而最大限度地提高链路的传输效率。目前SCPS-TP 协议已经由美国M ITRE 公司实现,其开源参考代码(SCPS Reference Implementation),可在Linux 系统中配置编译后供系统调用并运行。本文在真实卫星链路环境下测试了SCPSTP 协议的传输速率,同时与其它方法速率进行对比,从而验证其性能。
本次实验借用某型号通信卫星带宽,通过测试大数据量文件的传输速率,验证在具有长时延、高误码率、非对称带宽特点的真实卫星链路上SCPS-TP协议、PEPsal 技术及多种改进型TCP 协议的传输性能。测试网络结构如图1 所示。
其中服务端、客户端及加速网关均为Linux 操作系统计算机,内核版本为2.6.18,内核中预装有多种改进型TCP 加速协议模块,如二分增长TCP拥塞控制算法(TCP Binary Increase Congestion Control,TCP bic)、TCP Vegas、TCP Hybla、TCPW等,分别加载各模块即可使用相应方法。此外,服务端和客户端计算机系统中均预装有FTP 客户端软件(gFTP)及FTP 服务端软件(vsftpd),可以利用这些软件实现大数据文件的上传和下载;加速网关计算机配置有100M 的双网卡,还预装有SCPS 协议栈软件模块及PEPsal 实现软件模块,分别经过配置运行后可使该计算机作为相应的加速网关使用[10]。2 个New tec 网络的IP Modem 调制解调器,分别作为上行和下行链路的调制解调器,采用3/4 码率的前向纠错码(Forward Error Correct Code,FEC码)和四相相移键控(Quadrature Phase Shift Keying,QPSK)调制,符号率为1M symbol/s。IP Modem 用作调制器时,将加速网关输出的IP 数据流调制转换为卫星链路协议格式的L 频段中频信号数据流,输出至合路器等设备进行处理;用作解调器时,则反之。中频信号经上变频功率放大器(BUC)进行频率和功率的调整,经卫星地面站天线发射至卫星。数据经卫星进行透明转发至下行天线,然后经下变频器转换为中频信号,再经同轴电缆至IP Modem 解调。本次实验由于条件限制,采用上行和下行链路共用一套室外设备进行信号的发射和接收。
图1 测试网络结构图Fig.1 St ructure of the test network
网络中使用RJ45 网口连接的分段上数据流是双向的,而SM A 接口(Sub-M iniature-A)与F 接口(F-connector)间同轴电缆上的数据流则是单向的,如图1 中箭头指示方向。该网络为可靠的端到端TCP 协议应用提供一个闭环回路,服务端至客户端中频信号经射频设备至卫星链路,而其返向链路中频信号则在地面段经同轴电缆直接接入服务端IP Modem 进行解调。
测试的内容是不同传输时延(Round T rip-Time, RTT)、不同丢包率(Packet Loss Rate,PLR)、不同传输协议情况下文件上传和下载的平均速率。测试项目条件分为3 类:A 类实验,不接入IP M odem 及卫星链路,用网线将两网关直接连接,用于测试网络连通性与极限传输速率;B 类实验,接入IP Modem 但不接入卫星链路,两IP M odem 用同轴电缆双向直连,测试IP M odem 网络连通性;C类实验,服务端至客户端经卫星链路,而其回传链路在IP M odem 间用同轴电缆直接连通,并分别设置不同的IP M odem 输出功率及不同的链路传输协议,用于测试各种条件下的传输速率。此外,为了对比,当使用Linux 系统默认的TCP bic 协议时,还测试了客户端和服务端计算机位置互换情况下的文件传输速率。网络中除SCPS-T P 协议和PEPsal 协议需用加速网关,其它协议均直接在服务端与客户端加载,并将服务端与客户端分别与其IP Modem 用网线直连。
这里称图1 中客户端至服务端的单向链路为前向,其数据传输为上传,而服务器至客户端的单向链路为返向,其数据传输为下载。各项测试结果如表1 所示。其中上传和下载速率均为有效数据(这里有效数据指FTP 协议格式中的内容部分,不包含头尾及地址等信息)的传输速率;传输时延(RT T)和丢包率(PLR)均由ping 命令的网间控制报文协议(Internet Control M essages Protocol,ICM P)测出。
表1 各测试项目及其结果Table 1 Result of all test items
由表1 可知,A1 项测试不经IP M odem 而将两网关直连,在无误码影响(PLR 为0)和无长传输时延影响(RT T 很小可忽略不计)时,上传和下载速度均能达到8 000kByte/s,即64M bit/s。考虑到FTP数据在各层封装的包头及校验部分数据位,可以认为达到了理想情况下100M 网络的有效数据的传输上限。
此外IP M odem 设置符号率为1M symbol/s,由于采用3/4 码率FEC 和QPSK 调制,相当于数据带宽为1.5M bit/s,即传输速率为187.5kByte/s,包括有效的FTP 数据及其在各层封装的包头及校验位。A1 至C6 项测试的上传链路及C7 项的下载链路,由于FTP 数据未经卫星而在地面IP Modem 直接联通,链路时延和误码影响极小,而其ACK 信息数据量相对很小,虽经过卫星链路但基本不受影响,因而有效数据速率均能达到150kByte/s,考虑到包头及校验位,可以认为链路带宽得到了充分应用。反之,大数据量FTP 数据包受卫星链路长时延和高误码环境影响,不同协议传输性能受到不同程度的影响。
轨道高度为H ,无线电传播速度v,则卫星通信链路上单向传播时延为
T =2 ×H/v
通信卫星高度36 000km,则地面天线与卫星间单向链路传输时延为240ms,考虑到路由转发及系统对数据的封装与转发处理, 卫星链路RT T 约300ms。对比表1 中B1,C1 的测试结果可获得在相同PLR 条件下(PLR=0)RT T 对SCPS-TP 传输协议的影响。对比C1、C2 的测试结果可获得在相同RT T 条件下(RTT =300ms)PLR 对SCPS-TP 传输协议的影响。结果如图2 所示。
图2 RT T 和PLR 分别对SCPS-TP 协议性能的影响Fig.2 Effects on SCPS-TP of RT T and PLR respectively
B1 项测试中,当两IP M odem 直连时RT T 为50ms,网络丢包率可以忽略,上传、下载速度均能达到150kbyte/s,可以认为此时完全利用了整个物理带宽。C1 项测试中, 当PLR 近似0 时, RTT 由50ms 升至300ms,卫星链路上拥塞窗口增长需要的时间长,造成平均吞吐量下降,FTP 下载速率下降10%。C2 项测试中,当RT T 为300ms 时,PLR 由0 升至3%,导致传输包出错的几率大大增加,重传数据增加因而FTP 下载速率下降41%。对比B1和C2 的结果可知, RTT 由50ms 升至300ms, 且PLR 由0 升至3%时,SCPS-TP 协议在卫星链路中的性能下降近47%。由于RT T 和PLR 的联合作用,链路质量受到较大影响,因而性能受到的影响也最大。
对比表1 中C2~C6 项测试结果,可以得到不同的传输层协议在相同的卫星链路环境中的性能对比情况,如图3 所示。测试中的卫星链路情况为:RT T =300 ms,PLR=3% 。
下载时在卫星链路上不同的传输层协议表现出不同的性能。其中针对卫星网络制定的SCPS-TP协议性能最好;针对长传输时延链路引入比例因子ρ=RT T/RT T0(RTT0为有线链路参考时延,一般取25ms,RT T 为实际链路时延),使得在慢启动阶段以ρ比例快速增长拥塞窗口的TCP Hybla 协议也获得了较好的传输速率;客户端系统默认的TCP bic 协议在卫星链路中性能最差;加速代理网关技术PEPsal 以及TCP Hybla 协议相结合的情况, 也能获得相对不错的结果,但较单独的TCP Hybla 协议有所下降,这是因为PEPsal 代理网关虽然能将标准TCP 协议在接入卫星链路时转换为其它协议,解决了链路协议的兼容性问题,但其在进行协议转换及数据处理时相对需要更多的开销,从而导致链路性能受到一定的影响。
图3 不同协议的性能对比Fig.3 Performance contrast among different protocols
SCPS-T P 协议虽然采用了多种机制和策略来应对卫星链路上的复杂环境,但其采用的拥塞控制策略是保守的Vegas 拥塞控制算法和Van Jacobson 拥塞控制算法,文献[1,11]的结果均表明改进型TCP 算法TCP Vegas 在卫星链路环境下传输速率性能不及TCPW、TCP Hybla 和增强型TCPW(Enhanced TCPW, E-TCPW)方法,因而SCPS-TP在卫星链路传输性能有待进一步提高。下一步研究可考虑以SCPS-TP 协议为基础,继承SCPS-TP 的SNACK 与TP 包头压缩等优势,对其拥塞控制策略进行改进,比如增加一种更优越的拥塞控制方法,来应对空间链路环境。由于SCPS-TP 协议本身可以区分链路降质的原因,在采取拥塞控制时只需要考虑链路带宽是否充分利用。当处于慢启动阶段,可以采用Hybla 协议慢启动阶段的窗口增长方法;而在拥塞避免阶段,可借鉴TCP Vegas 方法判断带宽是否得到了充分利用,从而决定是否增加或减小拥塞窗口。这样,对于卫星链路长时延的情况,拥塞窗口能快速增大到合适的值,有效地减少慢启动阶段所需要的时间,并且其拥塞避免阶段区分链路可用带宽的利用情况,利用率低时窗口增长快,反之增长慢,当利用率趋于超载时减小拥塞窗口,从而可提高链路的平均吞吐量。
本次实验结果表明,在地面有线网络中,由于丢包率PLR 很低且传输时延RT T 很小可忽略不计时,使用不同的传输协议时,链路传输速率受影响相差不大,但在卫星链路中由于PLR 较高且RTT 较大,不同的传输协议性能分别受到不同程度的影响。其中专门针对卫星链路设计的SCPS-TP 协议受影响最小,针对长RTT 链路而改进的TCP Hybla 协议性能受到影响也较小,基于地面Internet 的TCP bic 及标准TCP 协议受影响较大。基于SCPS-TP协议改进的方法,采用更加有针对性的拥塞控制策略,可以减小平均吞吐量的降低,而在传输效率上可以取得一定程度的提升。
)
[1]Carlo Caini, Rosario Firrincieli.End-to-end TCP enhancements performance on satellite links[C]//Proceedings of the 11th IEEE Symposium on Computers and Communications(ISCC'6),2006:1031-1036
[2]Mathis M , Mahdavi J , et al.RFC 2018:TCP selective acknow ledgment options[S].Sun Microsystem s,Oct 1996
[3]Fu Chengpeng , Liew Soung C.TCP Veno:TCP enhancement for transmission over w ireless access networks[J].IEEE Journal on Selected Areas in Communications, 21(2), Feb.2003
[4]Brakmo L, Perterson L .TCP Vegas:end to end congestion avoidance on a Global Internet[J].IEEE JSAC,1995,13(8):1465-1480
[5]Saverio M ascolo, Claudio Casetti.TCP Westwood:bandwidth estimation for enhanced transport over w ireless links[C]//Proceedings of the 7th Annual International Conference on Mobile Com puting and Networking.New York:ACM Press, 2001:287-297
[6]Carlo Caini, Rosario Firrincieli.TCP Hybla:a TCP enhancement for heterogeneous networks[J].International Journal Satellite Communications and Networking,2004,22:547-566
[7]Daniele Lacamera.PEPsal:A TCP performance enhancing proxy for satellite links[J].Aerospace and Electronic Systems Magazine, IEEE, May/June 2005
[8]CCSDS.Space Communication Prorocol Standards(SCPS):rational, requirements and application notes[S].Draf t Green Book 0.4, N/A:CCSDS 710.0-G-0.4, August,1998
[9]CCSDS.Space Communication Protocol S pecification-Transport Protocol (SCPS-TP)[S].Recommended S tandard, Issue 2.Washington DC:CCSDS 714.0-B-2, Oct,2006
[10]Robert C, Patrick D, Mary Jo.User's Manual for the SCPS reference implementation software[M].Washington C3 Centre MITRE Corporation, Sept, 1997
[11]Thava Iyer, Roksana Boreli, Golam Sarw ar, et al.Data acceleration and reduction technology[C]// Satellite and Space Communications, 2009.IWSSC 2009.Tuscany:429-433