◆史磊
視頻流傳輸中擁塞控制策略的研究
◆史磊
(陜西機電職業技術學院電子與信息學院 陜西 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)