用于卫星通信系统的空间通信协议网关设计❋
2013-03-24牛明涛冯振明
张 涛,,牛明涛,冯振明
(1.总参信息化部驻航天科技集团军事代表室,北京100015;2.北京大学信息科学技术学院卫星通信研究中心,北京100871;3.清华大学电子学系卫星导航技术实验室,北京100083)
用于卫星通信系统的空间通信协议网关设计❋
张 涛1,❋❋,牛明涛2,冯振明3
(1.总参信息化部驻航天科技集团军事代表室,北京100015;2.北京大学信息科学技术学院卫星通信研究中心,北京100871;3.清华大学电子学系卫星导航技术实验室,北京100083)
针对卫星通信系统中传输控制协议(TCP)传输性能不理想的问题,设计并实现了一种基于空间通信协议的网关。在网关设计中,优化了Vegas拥塞控制算法的参数,并通过空间通信协议连接表实现了对多连接的支持。卫星通信模拟系统中的测试结果表明,当卫星链路具有高误码率和大传输延时(大于1 000ms)情况下,该网关的性能与直接使用TCP相比,平均吞吐量提高比达10∶1,且多连接情况下各连接之间竞争带宽的公平性表现较为满意。
卫星通信;空间通信协议;参数优化;多连接
1 引 言
传输控制协议(Transmission Control Protocol,TCP)作为互联网中的核心协议,在地面互联网中得到了广泛的应用。但由于卫星通信环境误码率高、传输延时长、前返向链路带宽不对称等特点,TCP协议直接应用到卫星通信中性能并不理想[1]。20世纪末,空间数据系统咨询委员会针对空间通信的特点,提出了一套空间通信协议(Space Communication Protocol Specification,SCPS)[2]。SCPS传输层(SCPSTP)应用的主要实现方式为传输层的双网关方式[3],以此来互联地面通信网和卫星通信网。用户现有的基于TCP协议的应用程序不需要改变,同时可以在卫星链路中获得更好的传输性能。
我国对SCPS协议的研究起步较晚,目前的研究工作多集中于协议分析和基于NS或OPNET平台的仿真分析[4-5],而实际的SCPS网关产品较少。文献[6]中实现了一种面向深空的SCPS网关。这些SCPS网关和直接使用TCP相比,在小传输延时(小于250ms)情况下的性能增强值大致为8∶1到10∶1的范围[7],且对多连接的支持并不完善。针对大传输延时的情况,我们尝试对SCPS网关Vegas算法的参数配置进行优化来进一步提高网关性能,并通过对连接表的设计来完善多连接情况下的网关性能。
通过高仿真的卫星通信链路平台进行测试,本SCPS网关的性能与直接使用TCP相比,在大传输延时情况下(大于1 000ms)性能增强值达到10∶1,且多连接情况下各连接之间竞争带宽的公平性较好。
2 Vegas拥塞控制算法的优化
拥塞控制算法是SCPS协议的核心技术之一。与标准TCP中使用的Van Jacobson拥塞控制算法不同,SCPS采用更适应卫星通信环境的Vegas拥塞控制算法。相对于Van Jacobson算法,Vegas算法采用了一种更有效的带宽估计策略,根据由往返延时(Round Trip Time,RTT)计算得出的期望吞吐量与实际吞吐量之间的差值来估计当前网络瓶颈处的可用带宽[8]。Vegas算法的机制对网络拥塞有一定预测能力,能够主动进行调整,但Vegas算法以RTT为主要参数来控制发送窗口变化的方法也存在一定的问题。在卫星通信系统中网络拓扑结构易发生变化,这同样会导致RTT变化,而Vegas算法本身并不能区分RTT的增大是由网络拥塞造成的还是由路径变化造成的。
我们在Vegas算法中对参数优化采用了近年来研究较多的非线性记忆(Nonlinear Auto-Regressive Moving Average,NARMA)模型[9],此模型可以准确并快速地对含有非线性特性和记忆效应的信号变换进行计算,并且可以加入自适应机制来更新当前最小往返延时(BaseRTT),从而制定拥塞窗口的调整策略。此外,在优化方案中引入概率执行方式,即对模型的预测结果,在执行时乘以概率因子p,以应对网络变化的随机性,p可根据网络状况自行调节,取值范围在0.8~1.0。优化后的Vegas算法通过NARMA模型计算出下一个RTT的期望值ExpectRTT。图1显示了拥塞控制策略的流程。
图1 Vegas算法参数优化流程图
3 SCPS-TP连接表的设计
SCPS-TP连接表用于支持多连接。SCPS-TP是面向连接的协议,每个连接可以打开很长时间。为了控制这些连接,使用一个结构体(tp-socket)来保持每一个连接的相关信息,包括连接状态、收发缓冲区指针、收发包序列号、RTT时间等。由于任何时候都可能有多个连接,因此以表的形式来保存tpsocket的数组。在网关接收到数据包后,会在连接表中查找相应的tp-socket,若未找到,则创建新的tp-socket,然后进行协议转换等操作并设置tp-socket,最后将tp-socket更新到SCPS-TP连接表中。图2描述了连接表的设计逻辑。
图2 SCPS-TP连接表更新流程图
4 SCPS网关的设计结构
在分析SCPS协议的基础上,将SCPS网关划分为9个模块和一个SCPS-TP连接表,如图3所示。
图3 SCPS网关软件模块划分图
主要模块的设计与实现方法如下。
(1)网关调度主模块
整个SCPS网关软件的控制核心,负责网关数据处理的总体调度,利用其他模块实现协议转换、连接状态控制、流量控制等功能。其调度基本原理是:首先进行SCPS初始化工作,然后启动主服务线程tp,此线程是一个循环等待处理线程,当接收到网络包时,tp线程会进行相应处理,并维护连接状态。
(2)SCPS-TP处理模块
用于提供端到端之间的面向连接的数据传输。需要实现SCPS-TPSocket的一般发送、连接、读写等命令的接口函数。
(3)SCPS-NP处理模块
用于收发网络数据包和包路由控制。
(4)SCPS-SP处理模块
用于提供端到端之间的安全保护服务。
(5)ACK处理模块
用来处理确认信息,其中核心的处理包括Vegas拥塞控制算法和SNACK机制两部分。Vegas算法中最佳往返传输延时值(rttbest)的更新方法:通过接收端对上个窗口发送数据的ACK,发送端可以获得上个RTT的一组样本,取其中最小者作为新的rttbest的值。SCPS-TP的选择性否定确认机制(SNACK)要求收发双方均支持SNACK选项。在连接建立的前两个包(即SYN包和SYN-ACK包)中发送方和接收方分别表明是否支持SNACK选项。在具体实现过程中,考虑到卫星通信环境特点,数据包错序的情况有一定概率发生,为了给未按顺序到达的数据包留更多时间到达,采用了SNACK延迟发送的机制。
5 SCPS网关的测试
为了验证使用SCPS网关对卫星通信环境中TCP性能的改善效果,在高仿真卫星链路模拟系统中进行了性能测试。
5.1 测试环境
根据SCPS网关在卫星通信系统中的应用示意图构建测试系统。这里使用高仿真的卫星信道模拟器代替卫星信道部分,可通过配置来模拟卫星前返向信道的误码率、延时、带宽、抖动等参数信息。与实际卫星信道的对比测试表明,卫星信道模拟器可较好地模拟真实卫星通信环境特点。具体测试系统框架如图4所示。
图4 SCPS网关测试系统框图
5.2 误码率对传输性能的影响
图5显示了卫星信道模拟器前向信道带宽50 Mb/s,返向信道带宽0.5 Mb/s,往返传输延时1 100ms,测试信道误码率分别为10-8、10-7、10-6、10-5、10-4时,使用SCPS网关和直接使用TCP时的信道平均吞吐量的对比。
图5 平均传输速率随误码率变化曲线图
由图5可见:无论是SCPS-TP还是TCP,随着误码率的增高,平均传输速率都下降。在相同误码率下,使用SCPS网关时的平均传输速率明显高于直接使用TCP时的平均传输速率。特别是传输延时1 100ms情况下,使用网关相对于直接使用TCP性能提升比可达到10∶1,接近其他文献中小传输延时情况下的表现[7,10]。
考察相同误码率下使用SCPS-TP和TCP时吞吐量的稳定性。图6分别是误码率为10-7时,使用SCPS-TP和TCP时的吞吐量变化曲线图。
图6 使用TCP和SCPS-TP时吞吐量变化曲线
由图6可见:使用SCPS-TP时吞吐量波动范围较小,而使用TCP时吞吐量的波动范围很大。这是因为当出现误码导致错包、丢包时,TCP根据Van Jacobson拥塞控制算法会立即将拥塞窗口减半,这样的处理会使拥塞窗口大小波动较大,进而影响吞吐量。SCPS-TP使用Vegas拥塞控制算法此时并不会立即减小拥塞窗口,而是根据RTT来判断,即使需要减小拥塞窗口,也只是减小1个最大分段长度(MSS),这样可以使拥塞窗口的大小相对稳定,进而使吞吐量相对稳定。相对于文献[11],我们设计的SCPS-TP网关在大传输延时情况下的表现在吞吐量的稳定性更好。
5.3 多连接时各连接间竞争带宽的公平性
在连接表的设计中考虑了多连接的性能。在高仿真卫星链路系统的测试中,SCPS网关可同时支持至少1 000个连接。为了定量的考察多连接时各连接之间竞争带宽的公平性,分别测试连接数为4时使用SCPS网关和直接使用TCP时的传输性能。
在估算各个连接之间竞争带宽的公平性,使用如下公平性评价方法:比例公平性。比例公平性基本思想:共有n条数据流通过一条链路,每个流应该占用总带宽的1/n。设数据流i在t时刻实际占用xi(t)带宽,那么在t时刻的公平度C可以用下面的等式来定义[12]:
从方程(1)可以看出,当xi(t)相同时,C取到最大值。使用SCPS网关时,C=0.988,直接使用TCP时,C=0.907。可见使用SCPS网关时比直接使用TCP时各连接之间竞争带宽的公平性更好。测试结果如图7所示。
图7 使用SCPS-TP网关和直接使用TCP时各连接平均传输速率对比图
6 结论
本文针对TCP在高误码率、长传输延时的卫星通信环境中性能不理想的问题,在分析SCPS协议基础上,设计实现了一种SCPS网关软件,并搭建测试系统进行传输性能测试。实验结果表明,使用基于SCPS-TP协议的SCPS网关时相对于直接使用TCP传输时抗误码性能更好,更适应卫星通信环境传输延时长的特点。总之,使用SCPS网关对卫星通信环境中的TCP性能有较好的改善效果。
目前,我国对SCPS协议的研究相对落后,研究工作多集中于协议分析和协议仿真,缺少高质量的研究成果和成熟的SCPS产品,所以更应该加大对空间通信协议的研究力度,这项工作是非常有意义的,一方面,可以切实改善卫星通信环境中的TCP性能,从而推动我国的卫星通信事业和航天事业的发展;另一方面,也在空间通信技术方面更好地与国际接轨,从而使我国的卫星通信技术走向国际化。
[1]Zhang SL,Liu SQ,Wang F,etal.Improving TCP over Geostationary Satellite Links[C]//Proceedings of the 1st International Conference on Information Science and Engineering.Nanjing:IEEE,2009:4030-4033.
[2]王恒,续欣,刘爱军.SCPS协议在卫星通信中的应用[J].科技信息,2009(34):244-246.WANG Heng,XU Xin,LIU Ai-jun.Application of SCPSProtocol in Satellite Communication[J].Science&Technology Information,2009(34):244-246.(in Chinese)
[3]黄展,李陆,弥宪梅,等.空间通信协议(SCPS)及其应用:现状、问题与展望[J].电讯技术,2007,47(6):7-11.HUANG Zhan,LILu,MIXian-mei,etal.Space Communication Protocol Specification(SCPS)and Application:Status,Problem and Prospect[J].Telecommunication Engineering,2007,47(6):7-11.(in Chinese)
[4]万鹏,王瑞军,黄薇,等.空间信息传输TCP扩展协议研究与性能分析[J].飞行器测控学报,2010,29(3):11-16.WAN Peng,WANG Rui-jun,HUANGWei,et al.Analysis of the Performance of TCP and Its Extension Protocol for Space Communication[J].Journal of Spacecraft TT&C Technology,2010,29(3):11-16.(in Chinese)
[5]郑伟明,范永宏,王玉文,等.基于OPNET的SCPS-NP协议仿真设计空间信息传输[J].通信技术,2011,44(2):48-52.ZHENGWei-ming,FAN Yong-hong,WANG Yu-wen,et al.Simulation Design of SCPS-NPBased on OPNET[J].Communications Technology,2011,44(2):48-52.(in Chinese)
[6]李瑞萍,张煜杰,许宁.面向深空的SCPS网关设计探讨[J].电子设计工程,2011,19(15):129-132.LIRui-ping,ZHANG Yi-jie,XU Ning.Research of the SCPSgateway for deep-space design[J].Electronic Design Engineering,2011,19(15):129-132.(in Chinese)
[7]张磊,孟新,卞春江,等.空间站SCPS-TP协议转换网关的设计和实现[J].载人航天,2012,18(2):40-44.ZHANG Lei,MENG Xin,BIAN Chun-jiang,et al.Design and Implementation of SCPS-TPProtocol Converter on Space Station[J].Manned Spaceflight,2012,18(2):40-44.(in Chinese)
[8]Wang R,Aryasomayajula N C,Ayyagari A,et al.An Experimental Performance Evaluation of SCPS-TP over Cislunar Communications Links[C]//Proceedings of 2007 IEEE Wireless Communications and Networking Conference.Kowloon:IEEE,2007:2603-2607.
[9]Schreurs D,Droma OM,Goacher A,etal.RF power amplifier behavioralmodeling[M].Cambridge,United Kingdom:Cambridge University Press,2010.
[10]陈宇,孟新,卞春江,等.SCPS-TP协议研究和性能分析[J].载人航天,2012,18(1):68-72.CHEN Yu,MENG Xin,BIAN Chun-jiang,et al.Analysis of Protocol and Performance of SCPS-TP[J].Manned Spaceflight,2012,18(1):68-72.(in Chinese)
[11]陈明玉,程子敬.SCPS-TP在卫星链路上的性能测试及改进策略[J].航天器工程,2010,19(3):96-101.CHEN Ming-yu,CHENG Zi-jing.Performance Test and Improvementof SCPS-TP on Real Satellite Link[J].Spacecraft Engineering,2010,19(3):96-101.(in Chinese)
[12]Kelly FP,Mauloo A K,Tan DK.Rate control for communication networks:shadow prices,proportional fairness and stability[J].Journal of the Operational Research Society,1998,49(3):237-252.
张涛(1983—),男,河北保定人,2005年于解放军理工大学获理学学士学位,现为总参信息化部驻航天科技集团军代表室工程师,主要研究方向为卫星通信系统;
ZHANG Tao was born in Baoding,Hebei Province,in 1983.He received the B.S.degree from PLA University of Science and Technology in 2005.He isnow an engineer.His research concerns satellite communications systems.
Email:junzhongtaozai@163.com
牛明涛(1986—),男,河北保定人,2009年于北京大学获理学学士学位,现为北京大学卫星通信研究中心研究生,主要研究方向为卫星通信系统中的网络技术;
NIUMing-taowasborn in Baoding,HebeiProvince,in 1986.He received the B.S.degree from Peking University in 2009.He is now a graduate student.His research concerns networking technology of satellite communications systems.
冯振明(1946—),男,1970年、1981年和1985年分别于清华大学电子工程系获理学学士学位、硕士学位和博士学位,现为教授、博士生导师、IEEE高级会员,主要研究方向为卫星导航和定位技术。
FENG Zhen-ming was born in 1946.He received the B.S.degree,the M.S.degree and the Ph.D.degree from Tsinghua University in 1970,1981 and 1985,respectively.He is now a professor and also the Ph.D.supervisor,an IEEE senior member.His research concerns navigation and positioning technology in satellite communications systems.
Design of SCPSGateway in Satellite Comm unications System
ZHANG Tao1,NIU Ming-tao2,FENG Zhen-ming3
(Military Delegate Office in CASTC,ITDepartment,PLA Headquarters of the General Staff,Beijing 100015,China;
2.Satellite Communications Research Centre,School of Electronics Engineering and Computer Science,Peking University,Beijing 100871,China;3.Satellite Navigation Laboratory,Departmentof Electronics,Tsinghua University,Beijing 10080,China)
Due to the unsatisfactory transmission performance of TCP in satellite communications systems,a Space Communication Protocol Specification(SCPS)based gateway is designed and realized.In the design,the parameters are optimized in Vegas algorithm,and also the support ofmulti-connection is realized by using SCPS connection form.Test in a simulated satellite communications system showswhen the channel is set to be a high bit error rate and large transmission delay(>1000ms),the designed SCPS based gateway′s throughput increases by 10 times compared with TCPgateway,and the fairness among various connections is satisfactory inmulti-connectionmode.
satellite communications;SCPS;parameter optimization;multi-connectionmode
TN927;TN915
A
1001-893X(2013)03-0335-06
10.3969/j.issn.1001-893x.2013.03.021
2012-08-01;
2012-11-14 Received date:2012-08-01;Revised date:2012-11-14
❋❋通讯作者:junzhongtaozai@163.com Corresponding author:junzhongtaozai@163.com