◆史磊
视频流传输中拥塞控制策略的研究
◆史磊
(陕西机电职业技术学院电子与信息学院 陕西 721001)
网络带宽的拓展及因特网服务的多样性使视频流得到了广泛的应用,同时为保证网络传输的可靠性和稳定性,对视频流的拥塞控制也提出了一定的要求。在研究视频流传输特点和拥塞控制机制的基础上,提出了一种更适合视频流传输的拥塞控制算法,并通过实验对其在速率变化平滑性、传输有效性及延迟抖动等方面进行验证,可以作为对传输质量和稳定性要求较高的视频流服务的拥塞控制策略。
视频流传输;拥塞控制;延迟抖动;往返时间抖动
通信技术和多媒体技术的不断发展,使视频流的应用越来越广泛。但是互联网“尽力而为”的特性却制约着视频流应用的发展,网络突发状况的不可预测性,使局部网络拥塞经常发生,有时甚至造成网络崩溃。与传输控制协议(Transmission Control Protocol,TCP)流相比,视频流传输却对网络拥塞更为敏感[1]。因此,不断地研究一种拥塞控制机制,使视频流既能与TCP流和平地共享带宽,又能更适合视频流的传输是迫在眉睫的。
TCP友好速率控制(TCP-Friendly Rate Control, TFRC)算法,是众多与TCP友好的拥塞控制算法中,使用较广泛的一种。它是基于模型的拥塞控制机制,使用丢失事件率来判断网络的当前状态[2]。目前在拥塞控制方面,已经有一些研究:Sathiaseelan[3]等提出TCP相应函数的修改将利用显式拥塞通知信号,拥塞窗口在收到拥塞通知信号后,缓慢减小。Shahriar[4]等发现慢响应拥塞控制机制的性能主要由分组丢失模式决定,并且他们认为TFRC在利用新获得的带宽以及带宽消耗平稳性方面能表现出比慢响应拥塞控制机制更好的性能。
TFRC是通过公式(1)来计算数据包的传输速率[5]。
TFRC协议运行的主要阶段包括慢启动和拥塞避免两个阶段。在慢启动初期,发送端以较低的速率发送数据,然后在之后的每个RTT时间内速率倍增,直到发生第一个数据包丢失时进入拥塞避免阶段。同时为了合理利用带宽,当反馈计时器超时后,TFRC也将进入拥塞避免阶段。进入拥塞避免阶段后,发送速率由公式(1)确定[6]。
为了快速地探测到网络的可用带宽,TFRC在慢启动阶段的每个RTT时间内发送速率都成倍增加,这样在慢启动后期很容易出现网络承载能力低于传输速率而产生数据包丢失的现象。同时退出慢启动阶段的标识为出现数据包丢失或超时,没有综合考虑其他能标识网络状态的因素,这样会导致发送速率的调整将滞后当前网络状况[7]。
在拥塞避免阶段,发送速率的调整由公式(1)决定,在此公式中只将RTT作为反馈因素,发送速率只会因RTT的增大而减小,却没有考虑相邻RTT的变化对最终发送速率的影响,同时说明TFRC缺乏对往返时间抖动的有效控制[8]。
根据视频流传输的特点及TFRC协议在慢启动和拥塞避免阶段的不足,提出了TFRC的改进算法—I-TFRC(Improved-TFRC)算法。
网络的状态可以通过数据包在网络节点的排队等待时间反映,即数据包的延迟抖动可以间接反映网络拥塞状况。因此,可以将延迟抖动也作为标识网络状态的因素,与是否发生数据包丢失共同作为反馈标识,及时调整发送速率,改善TFRC在慢启动阶段的不足[9]。数据包的延迟抖动(Jitter,J)将通过公式(2)计算:
其中()为相邻数据包的延迟差,为加权因子(0<<1),由实验结果表明,当取0.2时可以得到最好的效果。
相邻往返时间变化的稳定性也能标识网络的状态,因此可以通过在TFRC的吞吐量公式中加入往返时间抖动因子来修正当前计算的发送速率,使数据包的传输更平稳[10]。假设用表示相邻两次RTT的变化与前一次RTT的比值,则的计算如公式(5)所示:
因此,在I-TFRC的拥塞避免阶段,将按照公式(7)计算出的值对发送速率进行调整。
为了验证I-TFRC算法在速率控制方面的各种性能,利用NS2网络仿真软件进行验证,在仿真过程中采用的是图1所示的网络拓扑结构。
图1 仿真拓扑结构参数值图
在s2和k2之间首先运行TFRC协议,然后用I-TFRC协议代替TFRC进行数据传输。在整个仿真过程中丢包率变化情况如表1所示。
表1 TFRC与I-TFRC前1秒内丢包率变化情况
经过实验,I-TFRC协议在慢启动后期可以使发送速率的变化更加平稳,从表1中可以看出,采用I-TFRC后,丢包率明显降低了,例如在前0.5秒内,丢包率由5.8%降低为4.7%,同比下降了约19%。因此,改进后的算法可以有效预防由于发送速率增长过快而引起丢包率过大的现象的出现,即提高了数据包在网络中的传输质量[11]。
仿真过程采用的网络拓扑结构与前文相同,仿真持续5秒。传输过程中的平均时延和平均延迟抖动的对比如表2所示。
表2 TFRC与I-TFRC平均时延和平均延迟抖动对比
由表2可以看出,I-TFRC在平均时延和平均延迟抖动方面较TFRC都有所下降,发送速率的波动降低了,传输过程更加稳定,使I-TFRC更加适合对延迟和抖动要求较高的视频流业务[12]。
本文提出的基于视频流的新的拥塞控制算法I-TFRC,其对于TFRC针对视频流数据在传输过程中存在的不足进行改进,改进后的算法在慢启动后期使发送速率的变化更加平稳,丢包率降低;在拥塞避免阶段通过修正原有的TFRC吞吐量公式,达到降低发送速率波动性的效果,从而提高视频流传输的稳定性。最后通过实验证明了I-TFRC算法的可实施性,使其更加适合对数据传输质量,延迟和抖动要求较高的视频流服务。
[1]张斌.基于RTP/RTCP的空间多媒体通信音视频同步算法[J].工业技术创新,2018,05(02):10-12.
[2]JintingLin,LinCui,YuxiangZhang,Fung Po Tso,Quanlong Guan. Extensive evaluation on the performance and behaviour of TCP congestion control protocols under varied network scenarios[J]. Computer Networks,2019,163.
[3]ArjunaSathiaseelan,GorryFairhurst. TCP-Friendly Rate Control(TFRC)for bursty media flows[J]. Computer Communications,2011,34(15).
[4]Shahriar A Z M,Atiquzzaman M,Ivancic W D, et al. A sender-based TFRC for Saratoga:A rate control mechanism for a space-friendly transfer protocol[C].IEEE Aerospace Conference. IEEE Computer Society,2011:1-12.
[5]Conway Ashlee J,Brown Fiona C,RankGerhard,Kile Benjamin T,Morton Craig J,Jane Stephen M,Curtis David J. Characterization of Tfrc -mutant mice with microcytic phenotypes.[J]. Blood advances,2018,2(15).
[6]潘力策. 基于改进TFRC协议的流媒体终端的设计与实现[D].浙江工业大学,2015.
[7]赖文君. 一种改进的流媒体TFRC拥塞控制算法[J]. 微型机与应用,2014(7):51-53.
[8]李洪林. 异构网络中TCP拥塞控制算法的研究与改进[D].北京邮电大学,2019.
[9]赵飞,仉树军,郭胜楠,洪波.基于网络自适应拥塞控制技术的视频处理系统[J].计算机与网络,2019,45(16):56-58.
[10]谭志勇,赵甫哲.延迟抖动在TFRC拥塞控制策略中的应用[J].计算机与现代化,2018(05):116-120.
[11]史磊. 视频流自适应传输中拥塞控制策略的研究[D]. 陕西:西安科技大学,2016.
[12]Wang Jiashuai,YangXiaoping,LiuYing,QianZhihong. A Contention-Based Hop-By-Hop Bidirectional Congestion Control Algorithm for Ad-Hoc Networks.[J]. Sensors (Basel, Switzerland),2019,19(16).
2018年度陕西省教育厅科学研究计划项目(名称:基于视频流传输中网络拥塞控制的研究,编号18JK0074)