卫星网络环境下TFRC与窗口协议的比较
2016-03-21江波胡谷雨金凤林吴兆峰
江波 胡谷雨 金凤林 吴兆峰
摘 要: 为了比较传输控制协议在卫星网络环境下的性能,研究了传统的基于窗口的协议和基于速率中使用最广泛的TFRC(TCP Friendly Rate Control,TCP友好速率控制)协议,在卫星网络应用环境下,通过仿真实验比较了窗口协议与TFRC。仿真实验表明,TFRC协议的性能要优于传统的基于窗口的传输控制协议。
关键词: 卫星网络; 拥塞控制; 窗口协议; 传输友好速率控制
中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2016)03-31-05
Comparison between TFRC and window-based protocols in satellite network
Jiang Bo, Hu Guyu, Jin Fenglin, Wu Zhaofeng
(PLA University of Science and Technology, Academy of Command Information System, Nanjing, Jiangsu 210007, China)
Abstract: In order to compare the performance of the transmission control protocol in satellite network environment, the traditional window-based protocols and the most widely used rate-based protocol TFRC (TCP Friendly Rate Control) are studied and applied to a satellite network environment, and through the simulation experiments compared the window-based protocols with TFRC. The simulation experiments show that the performance of TFRC protocol is better than the traditional window-based transmission control protocols.
Key words: satellite network; congestion control; window-based protocol; TFRC
0 引言
目前网络的数据量处于持续上升阶段,特别是网络中多媒体业务流在大量的增加。如何做到在网络中高效传输多媒体数据同时又不影响网络的稳定性,是目前需要解决的问题。
网络在世界范围内使用,网络需求呈多样化,其中卫星网络成为人们使用的一大需求。网络中流量持续增加,特别是多媒体业务流比重增多,网络中主要使用的TCP协议在应用到卫星网络环境下,出现性能的下降。
对于上述问题,已有众多学者和研究机构提出了多种传输多媒体的拥塞控制机制。在这些解决方案中,被认为传输多媒体数据最好的方案是基于速率拥塞控制机制的TFRC协议。目前TFRC已经形成相关的RFC文档[2]。本文换个角度去分析在卫星网络环境下存在的问题,将基于速率的拥塞控制机制与传统的窗口协议比较,找出其存在的问题并进行分析,为下一步工作打好基础。
1 卫星网络环境下TCP的相关研究
1.1 TCP相关介绍及卫星网络环境下TCP存在的问题
TCP协议被设计的时候就是考虑到了链路的低比特错误率(低于10-8),TCP数据丢失或出现差错主要是由于网络拥塞造成的。这些前提条件在卫星网络中已经不成立。卫星信道所具有的特性使得其能够降低TCP的性能,这些特性包括高传播时延(静止轨道卫星信道的往返时延大概在550ms左右)、高带宽不对称、高比特误码率以及由于遮挡和同移动相关的多径衰减链路而产生的突发错误,这些特性对TCP的影响是巨大的。
1.2 针对TCP在卫星网络环境下存在的问题,提出的部分解决方法
1.2.1 加速传输
TCP-Peach[8], 在每个连接的开始,采用突发开始算法,该算法基于假的报文段。为了探测可用的带宽,假的报文段不携带任何新的信息,并且以低优先级在网络中传输。多个TCP连接方法[14],采用N个TCP连接能够从下面几个方面提高吞吐量。性能增强代理(PEP)[17],能够区分卫星链路和陆地链路,且能够在任意协议实现。对于卫星链路来说,PEP能够缓解大的端到端时延和链路出错所带来的影响。
1.2.2 调整ACK的反馈
周期性ACK[6],接收方并不对每个数据包发送确认。在RTT的基础上,ACK以一定的速率发送。分析了协议在不同的不对称链路下的性能,并确定了最佳ACK频率。ACK的拥塞控制[14,21],TCP接收端维持一个动态可变的延迟ACK因子d,通过改变d的值来控制ACK的发送频率。文献[14]和文献[15]分别提出了AF和AR两种机制, AF机制在瓶颈链路的路由器实现,用于丢弃冗余的ACKs。为了保持一个恒定的速率,AR机制在报文段离开慢的反向链路的路由器上实现,用于重建ACKs。
1.2.3 传输差错进行区分
显式拥塞通知(ECN)[14]。通过在IP数据包头部设置ECN比特位,路由器能够通知发送端中间发生的拥塞。因此发送端收到拥塞通知,发送速率就减少,否则发送速率不会发生变化。文献[16]提出了一种发送方算法,该算法采用了固定大小的窗口,以解决卫星网络由于随机和突发错误产生的丢包。TCP Westwood[18]协议最明显的特征是它是TCP拥塞窗口算法的发送方的改进,发送端不断地监测ACKs的接收速率,估计当前的可用带宽。在发送端监测到丢包或者传输超时的情况下,发送端用其估计值设置cwnd和ssthresh值的大小。
2 TFRC的相关介绍
TFRC为了可以和TCP流公平的竞争网络流量,TFRC采用了TCP的流量方程,方程大概描述了TCP发送速率和时间丢失率、往返时延、数据片段大小等之间的关系。TFRC的功能模块(如图1所示)简要反应发送方与接受方的功能,TFRC的工作过程分以下几个步骤:①接收端估算丢失事件率并将其反馈给发送端;②发送端通过得到的反馈估算环回时间RTT;③发送端将丢失事件率与环回时间代入拥塞控制等式计算出当前的适当的发送速率;d.发送端依据计算出来的速率调整实际发送速率。
TFRC拥塞控制中的TCP吞吐率公式即:
具体参数意义:x为吞吐率(bytes/s);S为数据包大小(bytes);R为往返时间RTT(s);p为丢包率,值在[0,1]内;t_RTO为重传时钟;b为TCP接收端一次确认的包数。
TFRC发送方数据包信息如下:序列号、时间戳、发送端估计的当前链路往返时延、发送端的当前发送速率。
TFRC接收方的反馈数据包信息如下:序列号、时间戳、时延。估计的丢失事件率、估计的接收速率。
TFRC的数据包头部如图2所示。
[序列号\&时间戳\&往返时延\&…\&数据\&][序列号\&时间戳\&时延\&丢失事件率\&接收速率\&][发送方][接收方]
图2 TFRC的数据包头部
3 仿真和分析
本文采用NS2进行仿真。在传统的基于窗口的传输协议方面,本文采用了使用广泛的TCP-Reno、TCP-NewReno、SACk、XCP协议,从正向链路、反向链路、传输时间、丢失率、突发丢失率等多个方面进行仿真,通过全面的比较,然后进行分析。
我们采用了文献[3]网络仿真环境,如图3所示,在此环境中,两个地面站通过GEO卫星传输用户数据。地面站的网关复用N条数据流,其缓存大小是50个数据包。用户和卫星站之间的链路大小为10Mbits/s,地面站和卫星之间双向链路的容量大小分别为10Mbit/s。卫星链路的往返时延大小为550ms,地面链路的往返时延大小为10ms,报文段大小为1000bytes,窗口协议的默认拥塞窗口rwnd大小为64个报文段。
3.1 无错误情况下,性能的仿真
图4所示为各协议在前向链路上的吞吐量。由于窗口协议受到拥塞窗口大小64的限制,所以单个连接的吞吐量最大只能约为0.898Mbit/s(计算的方法是最大传输数据除传输时间即64*1000*8/(0.57*106))。当N<10时,所有的协议的吞吐量随着N的增大而增大,当N>10时,由于最大输出的输入数据速率大于输出数据速率,地面站1开始发生拥塞,除TFRC、XCP外,其他协议的吞吐量会有所下降。
反向链路的带宽如图5所示。当N<10时,TCP等窗口协议需要的反向链路带宽增长速度比TFRC快。当N>10时,TCP等窗口协议的带宽逐渐地保持在300Kbit/s。由于TFRC是采用NACK(对错误的数据包发送确认)机制,反向链路的带宽不会很大,所以TFRC本身对带宽的不对称有较好的处理。
如图6,为了比较各协议在传输不同大小文件的传输时间,我们仿真了N=1的场景。可以看出在传输小文件的过程中,XCP所需时间最短,TCPs次之,TFRC最长。产生这样的结果主要原因是TFRC的慢启动阶段速率增长的比较缓慢。从表1中可以看出在传输大文件时耗时是最短的,其原因在图4的比较分析中可知TFRC的吞吐量最大。
3.2 具有随机错误情况下性能的仿真
在N=1的情况下吞吐量如图7所示,这种情况,链路不会发生拥塞,错误是丢包的惟一原因。当丢包率低于10-4的时候,基于窗口的协议可以保持在比较稳定的吞吐量,虽然TFRC的吞吐量高,但随着错误率的增加,TFRC的吞吐量下降严重。在相同的试验场景下,反向链路的带宽如图8所示。可以看出,TFRC反向链路需要的带宽非常少,原因是TFRC采用的NACK反馈机制,同时也可以看出,TFRC反向链路的吞吐量与前向链路的吞吐量不成比例或者可以说是相互独立。
具有随机错误的链路上的吞吐量
具有随机错误的反向链路上的吞吐量
为了在链路出现拥塞和随机错误的情况下评价不同协议的性能,我们在有随机错误的链路上设置了20个连接,图9显示的是前向链路的吞吐量。TFRC和基于窗口的协议在错误率低时<10-4,可以保持一定的吞吐量,当错误率增大>10-3,几个协议都受到严重的影响。图10与图8不同的地方在于,图10是在多个连接数的情况下,可以看出TFRC在反向链路上具有一定的优势,即使在多个连接的和高错误率的情况下,反向链路还是保持比较低的吞吐量。
具有随机错误的链路上的吞吐量
具有随机链路错误的反向链路上的吞吐量
3.3 具有突发错误的情况下性能的仿真
为了仿真突发错误的情况,本为使用了文献[11]所描述的模型,文献[11]用二个状态的马尔科夫模型研究卫星通信系统中在突发错误或信号中断情况下的链路。Dg和Db分别表示信道在两个状态中的平均持续时间。在信道较差的情况下,数据会在链路上丢失,而在信道好的情况下,数据就能够到达接收端。在本文仿真中,Dg的持续时间为1000个数据包,而Db的持续时间为0-100个数据包。仿真结果如图11到图12所示,每幅图是10次试验的平均值。
具有突发错误的链路上的吞吐量
具有突发错误的反向链路上的吞吐量
为了在有拥塞和突发错误情况下评估各种协议的性能,我们在二个状态的马尔科夫错误模型的卫星链路上设置了20条连接。在图11中,实验表明窗口协议,随着Db的增加,吞吐量会迅速的减少,而TFRC受到的影响比较小。
图12显示的是在有拥塞和突发错误情况下各个协议在反向链路上占用的带宽的大小,从图中可以看出,TFRC所受的影响最小。
4 总结与展望
本文将地面网络中传输多媒体数据的TFRC协议应用到了卫星网络的环境下,并通过实验比较得出以下结论。TFRC的优势方面有:TFRC的速率变化比较平缓适于传输对媒体,当网络拥塞是可以保持一定的吞吐量,前向链路的带宽比较高,反向链路的带宽使用比较少,使用NACK的反馈方式反向链路对于链路错误的有很好的处理,对于突发错误有较好的处理。但TFRC在应用到卫星网络环境下也存在多种问题,这也正是我下一步改进的地方,如:慢启动阶段速率增长比较缓慢,随机错误对其性能影响比较大,和TCP一样认为所有的丢失都是拥塞没有丢失区分的算法。
参考文献(References):
[1] Floyd S. Congestion control principles[J],2000.
[2] Handley M, Floyd S, Padhye J, et al. TCP friendly rate
control (TFRC): Protocol specification[R],2002.
[3] Jiong L, Zhigang C, Junaid K M. TP-Satellite: a new
transport protocol for satellite IP networks[J]. Aerospace and Electronic Systems, IEEE Transactions on,2009.45(2):502-515
[4] 孙伟.TCP友好性流媒体传输速率控制协议中若干问题研究[D].
东北大学,2010.
[5] 邹军.VoIP中音频编解码选择与QoS研究[D].北京邮电大
学,2006.
[6] Akyildiz, I. F. Research issues for transport protocols in
satellite IP networks[J]. IEEE Personal Communications,2011.8(3):44-48
[7] 徐伟.TCP协议的性能建模研究[D].中国科学技术大学,
2012.
[8] Akyildiz I F, Morabito G, Palazzo S. TCP-Peach: a new
congestion control scheme for satellite IP networks[J]. IEEE/ACM Transactions on Networking (ToN),2001.9(3):307-321
[9] Padmanabhan V N, Katz R H. TCP fast start: A technique
for speeding up web transfers[J],1998.
[10] Glover D, Allman M. Enhancing TCP over satellite
channels using standard mechanisms[J],1999.
[11] Lutz E, Werner M, Jahn A. Satellite systems for personal
and broadband communications[M]. Springer Science & Business Media,2012.
[12] 岳鹏.因特网拥塞控制机制若干问题的研究[D].西安电子科
大,2006.
[13] 刘拥民.下一代Internet拥塞控制策略研究[D].中南大学,
2009.
[14] Allman, M., Dawkins, S., Glover, D., et al. Ongoing TCP
research related to satellites (No. RFC 2760),2000.
[15] Balakrishnan H, Padmanabhan V N, Katz R H. The
effects of asymmetry on TCP performance[J]. Mobile Networks and applications,1999.4(3):219-241
[16] Minei I, Cohen R. High-speed Internet access through
unidirectional geostationary satellite channels[J]. Selected Areas in Communications, IEEE Journal on,1999.17(2):345-359
[17] Border J, Griner J, Montenegro G, et al. Performance
enhancing proxies intended to mitigate link-related degradations[J],2001.