doi:10.3969/j.issn.1001-893x.2013.03.021
用于卫星通信系统的空间通信协议网关设计
张 涛1,,牛明涛2,冯振明3
(1.总参信息化部驻航天科技集团军事代表室,北京100015;2.北京大学信息科学技术学院卫星通信
研究中心,北京100871;3.清华大学电子学系卫星导航技术实验室,北京100083)
摘 要:针对卫星通信系统中传输控制协议(TCP)传输性能不理想的问题,设计并实现了一种基于空间通信协议的网关。在网关设计中,优化了Vegas拥塞控制算法的参数,并通过空间通信协议连接表实现了对多连接的支持。卫星通信模拟系统中的测试结果表明,当卫星链路具有高误码率和大传输延时(大于1000ms)情况下,该网关的性能与直接使用TCP相比,平均吞吐量提高比达10∶1,且多连接情况下各连接之间竞争带宽的公平性表现较为满意。
关键词:卫星通信;空间通信协议;参数优化;多连接
中图分类号:TN927;TN915 文献标志码:A 文章编号:1001-893X(2013)03-0335-06 Design of SCPS Gateway in Satellite Communications System
ZHANG Tao1,NIU Ming-tao2,FENG Zhen-ming3
(Military Delegate Office in CASTC,IT Department,PLA Headquarters of the General Staff,Beijing100015,China;
2.Satellite Communications Research Centre,School of Electronics Engineering and Computer Science,Pekin g University,
Beijing100871,China;3.Satellite Navigation Laboratory,Department of Electronics,Tsinghua University,Beijing10080,China)
A bstract:Due to the unsatisfactory transmission performance of TCP in satellite communications systems,a Space
Communication Pr otocol Specification(SCPS)based gatewa y is designed and realized.In the design,the param-eters ar e optimized in Vegas algorithm,and also the support of multi-connection is realized by using SCPS con-nection form.Test in a simulated satellite communications system shows when the channel is set to be a high bit error rate and lar ge transmission delay(>1000ms),the designed SCPS based gateway′s throughput increases by10times compar ed with TCP gatewa y,and the fairness among various connections is satisfactory in multi-con-nection mode.
Key words:satellite com munications;SCPS;parameter optimization;multi-connection mode
1 引 言
传输控制协议(Transmission Control Protocol, TCP)作为互联网中的核心协议,在地面互联网中得到了广泛的应用。但由于卫星通信环境误码率高、传输延时长、前返向链路带宽不对称等特点,TCP协议直接应用到卫星通信中性能并不理想[1]。20世纪末,空间数据系统咨询委员会针对空间通信的特点,提出了一套空间通信协议(Space Com munication Pr otocol Specification,SCPS)[2]。SCPS传输层(SCPS-TP)应用的主要实现方式为传输层的双网关方式[3],以此来互联地面通信网和卫星通信网。用户现有的基于TCP协议的应用程序不需要改变,同时可以在卫星链路中获得更好的传输性能。
我国对SCPS协议的研究起步较晚,目前的研究工作多集中于协议分析和基于NS或OPNET平台的
·
335
·
第53卷第3期2013年3月
电讯技术
Telecommunication Engineering
Vol.53 No.3
Mar.2013
通讯作者:junzhongtaozai@ Corresponding author:junz hongtaozai@
收稿日期:2012-08-01;修回日期:2012-11-14 Received date:2012-08-01;Revised date:2012-11-14
仿真分析[4-5],而实际的SCPS网关产品较少。文献[6]中实现了一种面向深空的SCPS网关。这些SCPS网关和直接使用TCP相比,在小传输延时(小于250ms)情况下的性能增强值大致为8∶1到10∶1的范围[7],且对多连接的支持并不完善。针对大传输延时的情况,我们尝试对SCPS网关Vegas算法的参数配置进行优化来进一步提高网关性能,并通过对连接表的设计来完善多连接情况下的网关性能。
通过高仿真的卫星通信链路平台进行测试,本SCPS网关的性能与直接使用TCP相比,在大传输延时情况下(大于1000ms)性能增强值达到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,NAR MA)模型[9],此模型可以准确并快速地对含有非线性特性和记忆效应的信号变换进行计算,并且可以加入自适应机制来更新当前最小往返延时(BaseRTT),从而制定拥塞窗口的调整策略。此外,在优化方案中引入概率执行方式,即对模型的预测结果,在执行时乘以概率因子p,以应对网络变化的随机性,p可根据网络状况自行调节,取值范围在0.8~1.0。优化后的Vegas算法通过NAR-MA模型计算出下一个RTT的期望值ExpectRTT。图1显示了拥塞控制策略的流程
。
图1 Vegas算法参数优化流程图
Fig.1The flowchart of the parameter opti mization
in Vegas algorithm
3 SCPS-TP连接表的设计
SCPS-TP连接表用于支持多连接。SCPS-TP是面向连接的协议,每个连接可以打开很长时间。为了控制这些连接,使用一个结构体(tp-socket)来保持每一个连接的相关信息,包括连接状态、收发缓冲区指针、收发包序列号、RTT时间等。由于任何时候都可能有多个连接,因此以表的形式来保存tp-socket的数组。在网关接收到数据包后,会在连接表中查找相应的tp-socket,若未找到,则创建新的tp-socket,然后进行协议转换等操作并设置tp-sock-et,最后将tp-socket更新到SCPS-TP连接表中。图2描述了连接表的设计逻辑
。
图2 SCPS-TP连接表更新流程图
Fig.2Update flowchart of SCPS-TP connection table
4 SCPS网关的设计结构
在分析SCPS协议的基础上,将SCPS网关划分为9个模块和一个SCPS-TP连接表,如图3所示。
·
336
·
电讯技术 2013年