时间:2024-05-04
姜月秋 郭秦超 关世杰 关启学(沈阳理工大学 辽宁 沈阳 110159)
卫星通信网络具有信息传播距离远、受地理位置因素影响小等特点,如今已经成为重要的无线通信方式之一。尤其在地理偏远、人员稀少以及船只、飞行器通信方面更加不可或缺。但是由于卫星通信中空间、时间中一些因素的影响,导致信息传输中存在着传播延时长、误码率高、往返链路不对称,以及间歇性连接等问题[1]。原始的TCP传输协议以Reno为基础,但其较强的侵略性会导致拥塞窗口的严重震荡,而性能高度依赖于拥塞丢失数据后恢复算法,如快速重传和重传超时,这些因素也限制了吞吐量的增长[2-3]。所以对卫星通信传输层的改进将有助于改善卫星传输效率[4]。最近几年出现比较有名的TCP协议的改进方法:TCP-Hybla将网络传输时延与传输速率独立,TCP-Westwood实时评估网络的带宽,以及美国航天局设计的SCPS协议[5]。这些改进方法都为提高卫星通信效率产生了一定的作用和良好的思路。
(1) 传播数据高误码率 由于卫星通信的长距离传输数据、无线传输的不可靠性以及天气地理等因素的影响,传输数据的误码率通常达到10-7~10-4左右[7]。然而在TCP传输协议中数据的误默认是由于信息窗口的拥塞造成的,故在高误码率的卫星通信中TCP协议将会受到极大影响。
(2) 传播数据高延时 在与GEO卫星或空间站通信中,单向传输延时一般在250 ms~280 ms[8]。较长的传播延时让TCP拥塞窗口变化缓慢,并且长传播延时让信息误码率提高,严重影响TCP协议传输性能。
(3) 传播信道不对称 由于收发天线功率、建立卫星通信网所需成本以及相关的技术要求等问题的限制,卫星正向链路传输带宽要远远大于反向链路传输带宽。这种不对称性会造成确认速度慢、数据突发等问题,从而降低网络吞吐量。
由于地面传输协议TCP协议的慢启动和保守的拥塞控制机制不适合在高带宽、往返时间长的网络中批量传输数据[9],NASA JPL(美国航空航天局喷气动力实验室) 和CCSDS组织共同研究制作一套网络协议,此协议可以用来减小上述问题的发生。这套协议主要分为四个方面,SCPS网络协议(SCPS-NP)、安全协议(SCPS-SP)、传输协议(SCPS-TP)和文件协议(SCPS-FP),其中传输协议SCPS-TP,针对卫星网络带宽不对称、误码率高、延时长等采取了有效措施,在SCPS中是必须使用的。
在整个SCPS协议中,NP支持信息经过的信息传输链路是面向连接和无连接,SP保证了端到端的信息安全性和完整性,FP是对航天器指令以及控制信息下载做优化处理。所以对SCPS-TP的研究与改进是改善整个SCPS协议性能的关键。
SCPS-TP协议中使用了SNACK部分代替ACK帧传输,提高了反向确认帧效率、TP包头压缩、往返延迟估计以及特有的拥塞控制等技术来保证卫星通信过程中数据信息的安全性与时效性。其中拥塞控制方式有Van Jacobson[10]和Vegas两种。
Van Jacobson是基于传统TCP协议的拥塞控制方法,处于慢启动时以每经过一个RTT窗口就增大一倍的指数形式增长,超过阈值后窗口以线性方式增长,出现丢包则认为出现拥塞,窗口回到初始值重新进入慢启动。
Vegas方法在慢启动阶段是每经过两个RTT对窗口进行一次加倍调整,增长频率低。而在连接建立后Vegas会获得一个最小往返时延BaseRTT,得到一个期望吞吐量:
ThE=cwnd/BaseRTT
实际吞吐量:
ThA=cwnd/RTT
用期望吞吐量与实际吞吐量的差值来判断链路的使用情况:
diff=(ThE-ThA)/BaseRTT
并据此调节拥塞窗口的大小:
式中:α和β为定义的2个门限值,并且0<α<β。当diff<α时说明网络状况良好,可以使窗口递增,当在α与β之间时表示有轻微的拥塞,但是数据传输并无大影响,保持窗口,当diff>β时表示已经发生拥塞,需要减小窗口大小以减轻拥塞状况,根据经验值α和β分别为1和3。
SCPC-TP中Vegas是以往返RTT为基础,对拥塞窗口进行控制。但是在卫星网络中存在影响往返延时的因素较多,比如正向链路信息传输状况良好,反向链路产生了拥塞而导致了RTT的增大;或者反向确认帧丢失,使正向计时器超时导致正向链路判定为正向拥塞引起;以及通信时卫星之间多跳传输导致拓扑结构的改变导致延时增加等。由于Vegas并没有良好的判断机制来区别这些非拥塞因素对RTT的影响,所以会默认为正向链路拥塞,从而减小拥塞窗口来减小RTT,实际上却导致在未发生拥塞情况下依然减小拥塞窗口,传输效率难以提高。
针对这种情况,本文对RTT进行新的测算。测算中以单向传输时延(RTT-S)代替往返传输时延作为对拥塞窗口的控制,这样窗口的变化就不再受反向丢包、拥塞、错序等不利因素的影响,能够加大对正向链路的利用效率。
对α和β改进算法有Vegas-H[11]、Vegas-b[12]及控制diff区间的TCP New Vegas[13]等几种算法,都是作用于α和β的值考虑,改变其固定值为可变化值,随着其拥塞窗口的变化小幅调整门限值以提高效率。但是研究发现拥塞窗口的调整方式也是影响传输效率的重要因素,由于窗口的变化只与本次diff的值有关,有时非拥塞因素或可自消化拥塞等都会使窗口变化,这样使得窗口波动大、利用率不高。所以本算法将对下一次窗口调整进行预测调整,使窗口变化更符合实际情况。
主要思想是利用三次单向传输时延RTT-S1、RTT-S2、RTT-S3的变化情况以及变化率幅度因子Z来控制拥塞窗口的变化。根据幅度因子Z与前后RTT-S的变化情况DTR-1(RTT-S1与RTT-S2的差值)和DTR-2(RTT-S2与RTT-S3的差值)将窗口变化分为单线型 和波动型两大类分别处理,可以提前判断拥塞情况是否要到来,从而采取相应措施,使传输速率更加平稳。对拥塞避免阶段窗口调整的阶段频繁度与增长、减小频度因素进行分析后发现,cwnd在每次调整时变化幅度,以及α和β值的大小都会影响传输效率,所以在上述基础上对以下两个方面也进行了相关的改进。
在小于α阶段时,卫星通信状况理论上处于良好状态,在这阶段可以将整个增长阶段分为两部分,在不同的部分依据影响因子加快增长方式。
当diff小于(2/3)×α时,cwnd依据幅度因子将整体分为几种情况,并以窗口数为3×(1-diff)的增长方式作为主要增长,当diff在(2/3)×α与α之间时,cwnd以传统线性增加方式增长窗口数量。
在α和β之间时,如果大于(α+β)/2,窗口基本处于饱和状态,此时每次窗口调整幅度为原来的一半。Vegas_pre算法此处对窗口的预测处理使窗口处于不断调整状态,避免窗口调整进入假死停止状态,提高窗口容纳量。
当diff大于β时,此时窗口已经达到可缓存的饱和状态, 本部分算法将固定的门限值改为可动态调整的门限值。随着不同的幅度因子与窗口阶段的结合,对门限值进行小幅度动态调整。 如图1所示是Vegas_pre算法流程框架。
图1 Vegas_pre 算法的基本流程图
本实验使用Opnet14.5网络仿真软件模拟仿真环境,用以对该算法进行性能验证。仿真模型库为CCSDS协议模型库,采用标准SCPS-TP通信协议,卫星采用GEO卫星单向延时为250 ms,业务为4个FTP流传输,以及如表1所给的仿真参数。仿真中以卫星作为信息源给地面发送信息并接收返回确认,最终仿真实验的网络拓扑结构如图2所示。
图2 实验仿真拓扑结构图
表1 仿真实验参数取值
本实验以误码率作为变量参数,获取吞吐量的性能对比。如图3、图4分别为GEO卫星在10-5、10-6时,两种算法的拥塞窗口比较。
通过对比下图的仿真结果可以看出在误码率不相同的情况下Vegas_pre算法的吞吐量都要优于原始的Vegas算法,并且新算法吞吐量的大小波动要小于Vegas算法。其中误码率为10-6时,和传统的Vegas算法相比,新算法吞吐量提高了62.2%。误码率为10-5的情况下,新算法的吞吐量提高了66%。并且当误码率从10-6变为10-5后,Vegas算法吞吐量降低了33.3%,新算法降低了28.5%,可见新算法的稳定性要高于Vegas算法。通过对两个仿真结果的分析可知,新算法在吞吐量大小以及稳定性方面都有较好的提高,验证了新算法的正确性。
图3 误码率为10-6时吞吐量的变化
图4 误码率为10-5时的吞吐量变化
Vegas_pre算法屏蔽反向传输所存在的不利因素,并且在窗口调整过程用变化幅度因子预测并控制窗口,使窗口调整更加的迅速与精确,提高了卫星网络传输的效率。并通过Opnet仿真验证算法的正确性。本算法复杂度低、效果改进明显。
[1] Hu J L,Wang R H,Sun X,et a1.Memory dynamics for DTN Protocol in deep-space communications[J].Aerospace and Electronic Systems Magazine,2014,29(2):22.
[2] Cheng R S, Deng D J.Congestion control with dynamic threshold adaptation andcross-layer response for TCP Vegas over IEEE802.11 wireless networks[J].International Journal of Communication Systems, 2014, 27(11): 2918- 2930.
[3] Sreekumari P, Chung S H, Lee M, et al. T-DLRP: Detection of Fast Retransmission Losses Using TCP Timestamp for Improving the End-to-End Performance of TCP over Wireless Networks[J]. International Journal of Distributed Sensor Networks, 2013(3):1- 16.
[4] Jamali S, Alipasandi N, Alipasandi B. TCP Pegas: A PSO-based improvement over TCP Vegas[J]. Applied Soft Computing, 2015, 32:164- 174.
[5] 李连强, 朱杰, 杨宇涛, 等.卫星IP网络的TCP拥塞控制算法性能分析[J].上海航天,2016,33(6):109- 114.
[6] 戴帅, 肖楠, 梁俊,等.基于处理时延的卫星网络TCP拥塞控制算法[J].现代防御技术,2014,42(3):127- 134.
[7] 杜龙海, 吴雄君. 基于SCPS-TP的TCP协议加速器的研究与实现[J]. 无线电工程,2017,47(9):12- 15.
[8] 蒋华,黄镜清,王鑫.MANET基于带宽估计的TCP拥塞控制仿真[J].计算机工程与设计,2016,37(1):201- 205.
[9] Jaeobson V. Congestion Avoidance and Control[J]. Acm Sigcomm Computer Communication Review, 1988, 18(4):314- 329.
[10] 刘靖. 基于TCP Vegas的LTE网络拥塞控制算法性能分析[J]. 遥测遥控, 2015, 36(1):70- 74.
[11] 王斌, 陈元琰, 冯伟,等. TCP Vegas-b:TCP Vegas改进算法[J]. 计算机工程与设计, 2011, 32(2):438- 441.
[12] 冯立波, 潘丽静, 杨润标,等. 一种适用于异构网络的TCP New Vegas算法[J]. 大理学院学报, 2014, 13(6):10- 14.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!