秦斌
摘要:该文主要针对TC-TFRC中可容忍计时器固定设置所存在的缺陷,通过引入速率差来判断网络拥塞状况,并以此动态设置可容忍暂态计时器的计时时间。通过实验表明,在网络轻微拥塞时,改进的ETFRC策略能够以流媒体最低播放速率传输数据,在保证不引发更严重的网络拥塞的情况下,保证流媒体的正常播放;当网络发生严重拥塞时,ETFRC通过对网络现状的检测,在更短的时间内终止了低于流媒体最低播放速率的无效数据传输,避免造成个更大的网络拥塞,比TC-TRFC具有更好的TCP友好性。
关键词:TCP友好;拥塞控制;TC-TFRC;ETFRC
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)08-1819-04
目前大部分网络上大部分的流媒体都采用UDP协议传输,UDP这种非可靠性、面向非连接的机制缺乏拥塞控制,因此当网络拥塞时,UDP并不会像遵守拥塞控制的TCP流一样减少发送的数据,使得网络中的TCP流越来越少,而UDP流越来越多,加重网络拥塞,甚至造成网络崩溃。UDP这这种非TCP用好的带宽占用机制也限制了UDP协议在流媒体传输中的进一步发展。人们也把即满足流媒体传输需求,又能和TCP流公平共享带宽的数据传输协议中,对数据流发送速率的控制称之为TCP友好拥塞控制。
1 TFRC简介
TCP友好拥塞控制机制根据网络负载的方式,可以分成基于窗口的TCP友好拥塞控制机制和基于速率的TCP友好拥塞控制机制两大类,而TFRC(TCP-Friendly Rate Control)目前被公认的较好的基于速率的TCP友好拥塞控制机制。基于TCP吞吐量公式的TFRC是Floyd等人所提出来的。其主要的思想就是,通过公式(1)来进行控制,在保持较为稳定的数据发送速率的同时,响应网络拥塞。
[rtcp=Mtrtt2Dl3+toutmin1,33Dl8l1+32l2] (1)
其中,[M]表示发送数据包大小;[tout]是数据重传的超时时间,一般设置为4倍[trtt];[l]是数据包丢失率;[D]是接收端确认的数据包接收个数,一般设置为1.
因为发送速率是由发送端调整的,为了能按照吞吐量公式计算可行的发送速率,发送端需要获取公式中所有参数的值,其中最主要的是[l]和[trtt]。在 TFRC 中,[trtt]是由发送端计算,而[l]则是由接收端计算后再反馈给发送端的。发送端每次收到接收端的反馈信息就使用吞吐量公式重新计算发送速率[rtcp],如果当前实际发送速率比[rtcp]小就增加发送速率,否则,如果当前实际发送速率比[rtcp]大,就降低发送速率至[rtcp]。
理论分析和实验结果表明,TFRC 不会侵略性的抢占带宽,而是根据丢失事件率的减小平滑的增加发送速率,并且,它也不会因为单个包的丢失而将发送速率迅速减少造成抖动,只会在多个连续的丢失事件后才将发送速率减半。使用TFRC 得到的发送速率更加适合流媒体传输使用。
2 TC-TFRC存在的问题
实验结果证明,一方面,采用TCP吞吐量公式来对数据发送速率进行调整,体现TCP友好性;另一方面,在网络轻微拥塞的情况下,仍然能够保证流媒体数据的正常播放。既不想UDP协议一样完全非TCP友好;同时,在网络轻微拥塞时,可以保证流媒体的正常播放,解决了TFRC的问题。但TC-TFRC任然存在如下的个方面的不足。
TC-TFRC采用可容忍暂态计时器来保证TCP友好性,但是固定的时间设置方法,导致在网络严重拥塞情况下的可容忍暂态计时器的计时时间,与在网络轻微拥塞情况下的可容忍暂态计时器的计时时间相同,从而会导致发送数据过多,可能会造成网络拥塞状况的进一步恶化。
TC-TFRC在TFRC的基础上,增加了流媒体数据播放最低传输速率的阈值,从而在网络发生轻微拥塞时,也能够保证流媒体数据的正常播放,而且TC-TFRC中的可容忍暂态计时器也保证了TCP友好性。可容忍暂态计时器的设置要求TC-TFRC处于Min Rate状态下的时间T在一个适度的范围之内,如果T设置的时间过长,那么当网络发生拥塞时,在T时间内仍然按照最大速率发送数据,从而占用较多的带宽,破坏了TC-TFRC的TCP友好性;如果T设置的时间过段,T 3 TC-TFRC的改进研究 在TC-TFRC中的可容忍暂态计时器设置,由于没有考虑网络拥塞程度的影响,从而导致在网络严重堵塞时会进一步恶化网络拥塞情况。针对这种情况本文在TC-TFRC的基础上,提出一种ETFRC(Enhanced TCP-Friendly Rate Control)机制来进行改进。 ETFRC主要是对TC-TFRC中的可容忍暂态计时器计时时间进行改进,改进的基本思路如下所示:当检测到网络中的数据传输速率[rtcp]小于流媒体的最低播放速率[rmin]时,发送端开始进入Min Rate状态,并且根据网络中的拥塞情况,动态设置可容忍暂态计时器的时间。 在ETFRC中主要通过数据传输时延间隔、RTT或者丢包率来确定网络的具体拥塞现状,根据公式(1)和流媒体的最低播放速率[rmin]来计算[rtcp]的差值[rdif]。当[rtcp]小于流媒体的最低播放速率[rmin]时认为数据传输网络发生了拥塞,因此如果[rdif]的值越大,表明网络拥塞越严重。除此之外,在ETFRC中还使用了[Tlong]来表示最长的“可容忍”时间,并且令[Tlong=10]。通过公式(2)和公式(3)来计算计时时间[Tlast]。
从公式(2)和公式(3)可以看出在ETFRC中的[Tlast]根据网络中流媒体数据的实际传输速率来进行动态设置的。当[rdif]较小时,表明[rmin]和[rtcp]相差不大,网络发生轻微堵塞,则[Tlast]与[Tlong]接近;当[rdif]较大时,表明[rmin]和[rtcp]相差较大,网络发生严重堵塞,则[Tlast]会很小;如果[rdif]比[rtcp]更大,说明[rtcp]小于[rmin2],网络严重拥塞,应该马上停止流媒体数据的传播,等待网络拥塞恢复。同时,为了避免网络中瞬时突发流的干扰,应该在至少接收到一个来自接收端的反馈后,再进行控制,因此令[Tlast=1.2×RTT]。
ETFRC中的可容忍计时器时间设计算法如下所示:
其中,[RcvPktHdr]表示接收端反馈包头;[p]为数据包丢失率;[AvgRTT]表示RTT平均时间,[AvgRTO]表示平均超时重传时间;[rnow]表示数据当前发送速率;[MinRateTimer]表示可容忍计时器。其中算法1-3行为收集计算所需要的参数;第4行计算下数据的下一次发送速率;第5行为条件判断;6-12行为TFRC状态下,按照TFRC算法调整数据发送速率;14-22行表示在Min Rate状态下,按照最低速率发送数据。
4 性能实验分析
1)实验环境设置
为了严重改进后的ETFRC的性能,通过三次模拟实验来观察在不同程度的网络拥塞情况下,ETFRC的数据发送速率,和TCP友好性。模拟实验网络拓扑结构如图1所示。
在两次实验中,网络拥塞都是由新加入的多媒体数据流所引起的。三次实验所引发的网络拥塞程度依次加重。第一次实验中,网络轻微拥塞,但是TC-TFRC和ETFRC都没有中断数据发送;在第二次实验中,网络拥塞严重,并且TC-TFRC和ETFRC都中断了数据的发送。
在实验过程中,采用文献[2]中的TCP友好因子[Fr]来检测TC-TFRC和ETFRC的TCP友好性。
[Fr=TiTj] (4)
其中,[Ti]表示平均吞吐量,[T]表示TCP流的平均吞吐量。
2)性能實验
① 轻微拥塞模拟
在[t=0]时刻发送正常的TCP流和TFRC(或TC-TFRC,或ETFRC)数据流,在[t=60]时刻发送一个速率为4Mbps的CBR数据流,20秒后停止CBR数据流的发送。本次实验的结果如下所示:
如图2所示,在[t=60]的时刻,TFRC、TC-TFRC、ETFRC数据发送速率都有降低,都已接近于[rmin]的数据传输速率发送数据,在[t=100]的时间后,TFRC、TC-TFRC、ETFRC数据发送速率变为正常。并且在[[60,80]]时间内,TCP流的平均吞吐量并没有收到太大的影响,表明ETRC与TFRC和TC-TFRC一样具有较好的TCP友好性。
② 严重拥塞模拟
在[t=0]时刻发送正常的TCP流和TFRC(或TC-TFRC,或ETFRC)数据流,在[t=60]时刻发送一个速率为8Mbps的CBR数据流,20秒后停止CBR数据流的发送。本次实验的结果如下所示:
从图4和图5可以看出,在[t=60]的时刻,由于网络拥塞严重,TFRC、TC-TFRC、ETFRC数据都以最低速率发送数据,但是在[[60,80]]时间内TFRC仍然以低于流媒体最低播放速度进行传输,形成了无效传输,并且影响了TCP数据的传输,延迟了网络拥塞解决时间,即TFRC的TCP友好性较差;TC-TFRC和ETFRC都设置了可容忍计时器时间为10秒,由于慢启动机制,TC-TFRC在可容忍计时器时间结束之后的两秒内停止数据的发送,而ETFRC则根据网络实际的数据传输效率在网络严重拥塞后的11秒时停止了数据的传输,表明ETFRC的TCP友好性要优于TC-TFRC机制的TCP友好性。
5 总结
本文针对UDP流媒体数据传输协议的非TCP友好性进行研究。并针对Floyd等人提出的TFRC和陈明、王东所提出的的TFRC改进机制—TC-TFRC机制进行研究,指出TC-TFRC机制在可容忍暂态计时器设计方面所存在的不足,并且针对其中所存在的不足,提出ETFRC机制。通过对网络拥塞情况的动态监控,更快的终止传输速率持续低于流媒体数据播放最低速度的无效数据发送,从而有利于更快恢复网络拥塞,具有更好的TCP友好性。
通过引入速率差来判断网络拥塞状况并以此动态设置“可容忍暂态计时器”的计时时间。实验结果表明改进后的控制机制能解决 TC-TFRC 固定时间设置方式带来的多发送数据的问题,在网络拥塞越严重的情况下改进效果越好,有利于网络拥塞的解决。
参考文献:
[1] 陈明,王东,基于阈值限定的流媒体 TCP 友好拥塞控制协议[J].计算机工程,2004,30 (11):1184-86.
[2] 杨传栋,余镇危,王行刚,等.端到端的流媒体传输控制技术研究综述[J].计算机工程与应用,2005(8):26-30.
[3] 邸春红,逢瀛,于淑玲.流媒体网络传输中基于速率的控制方法[J].计算机应用,2004,24(3): 31-33.
[4] 闫友彪,陈元琰,罗晓曙,等.Internet 拥塞控制研究的最新进展分析与展望[J].计算机应用研究,2005(2):8-13.
[5] 吴东,陈元琰,罗晓署,等.具有最小速率的 TCP 友好速率控制机制[J].计算机应用研究,2004, 24(3):31-33.
[6] 卢利琼,吴东,罗晓署,等.高带宽长时延乘积网络中的拥塞控制端算法研究[J].计算机应用研究,2006,23(3).