◆史磊
視頻流傳輸中擁塞控制策略的研究
◆史磊
(陜西機(jī)電職業(yè)技術(shù)學(xué)院電子與信息學(xué)院 陜西 721001)
網(wǎng)絡(luò)帶寬的拓展及因特網(wǎng)服務(wù)的多樣性使視頻流得到了廣泛的應(yīng)用,同時(shí)為保證網(wǎng)絡(luò)傳輸?shù)目煽啃院头€(wěn)定性,對(duì)視頻流的擁塞控制也提出了一定的要求。在研究視頻流傳輸特點(diǎn)和擁塞控制機(jī)制的基礎(chǔ)上,提出了一種更適合視頻流傳輸?shù)膿砣刂扑惴?,并通過實(shí)驗(yàn)對(duì)其在速率變化平滑性、傳輸有效性及延遲抖動(dòng)等方面進(jìn)行驗(yàn)證,可以作為對(duì)傳輸質(zhì)量和穩(wěn)定性要求較高的視頻流服務(wù)的擁塞控制策略。
視頻流傳輸;擁塞控制;延遲抖動(dòng);往返時(shí)間抖動(dòng)
通信技術(shù)和多媒體技術(shù)的不斷發(fā)展,使視頻流的應(yīng)用越來越廣泛。但是互聯(lián)網(wǎng)“盡力而為”的特性卻制約著視頻流應(yīng)用的發(fā)展,網(wǎng)絡(luò)突發(fā)狀況的不可預(yù)測(cè)性,使局部網(wǎng)絡(luò)擁塞經(jīng)常發(fā)生,有時(shí)甚至造成網(wǎng)絡(luò)崩潰。與傳輸控制協(xié)議(Transmission Control Protocol,TCP)流相比,視頻流傳輸卻對(duì)網(wǎng)絡(luò)擁塞更為敏感[1]。因此,不斷地研究一種擁塞控制機(jī)制,使視頻流既能與TCP流和平地共享帶寬,又能更適合視頻流的傳輸是迫在眉睫的。
TCP友好速率控制(TCP-Friendly Rate Control, TFRC)算法,是眾多與TCP友好的擁塞控制算法中,使用較廣泛的一種。它是基于模型的擁塞控制機(jī)制,使用丟失事件率來判斷網(wǎng)絡(luò)的當(dāng)前狀態(tài)[2]。目前在擁塞控制方面,已經(jīng)有一些研究:Sathiaseelan[3]等提出TCP相應(yīng)函數(shù)的修改將利用顯式擁塞通知信號(hào),擁塞窗口在收到擁塞通知信號(hào)后,緩慢減小。Shahriar[4]等發(fā)現(xiàn)慢響應(yīng)擁塞控制機(jī)制的性能主要由分組丟失模式?jīng)Q定,并且他們認(rèn)為TFRC在利用新獲得的帶寬以及帶寬消耗平穩(wěn)性方面能表現(xiàn)出比慢響應(yīng)擁塞控制機(jī)制更好的性能。
TFRC是通過公式(1)來計(jì)算數(shù)據(jù)包的傳輸速率[5]。
TFRC協(xié)議運(yùn)行的主要階段包括慢啟動(dòng)和擁塞避免兩個(gè)階段。在慢啟動(dòng)初期,發(fā)送端以較低的速率發(fā)送數(shù)據(jù),然后在之后的每個(gè)RTT時(shí)間內(nèi)速率倍增,直到發(fā)生第一個(gè)數(shù)據(jù)包丟失時(shí)進(jìn)入擁塞避免階段。同時(shí)為了合理利用帶寬,當(dāng)反饋計(jì)時(shí)器超時(shí)后,TFRC也將進(jìn)入擁塞避免階段。進(jìn)入擁塞避免階段后,發(fā)送速率由公式(1)確定[6]。
為了快速地探測(cè)到網(wǎng)絡(luò)的可用帶寬,TFRC在慢啟動(dòng)階段的每個(gè)RTT時(shí)間內(nèi)發(fā)送速率都成倍增加,這樣在慢啟動(dòng)后期很容易出現(xiàn)網(wǎng)絡(luò)承載能力低于傳輸速率而產(chǎn)生數(shù)據(jù)包丟失的現(xiàn)象。同時(shí)退出慢啟動(dòng)階段的標(biāo)識(shí)為出現(xiàn)數(shù)據(jù)包丟失或超時(shí),沒有綜合考慮其他能標(biāo)識(shí)網(wǎng)絡(luò)狀態(tài)的因素,這樣會(huì)導(dǎo)致發(fā)送速率的調(diào)整將滯后當(dāng)前網(wǎng)絡(luò)狀況[7]。
在擁塞避免階段,發(fā)送速率的調(diào)整由公式(1)決定,在此公式中只將RTT作為反饋因素,發(fā)送速率只會(huì)因RTT的增大而減小,卻沒有考慮相鄰RTT的變化對(duì)最終發(fā)送速率的影響,同時(shí)說明TFRC缺乏對(duì)往返時(shí)間抖動(dòng)的有效控制[8]。
根據(jù)視頻流傳輸?shù)奶攸c(diǎn)及TFRC協(xié)議在慢啟動(dòng)和擁塞避免階段的不足,提出了TFRC的改進(jìn)算法—I-TFRC(Improved-TFRC)算法。
網(wǎng)絡(luò)的狀態(tài)可以通過數(shù)據(jù)包在網(wǎng)絡(luò)節(jié)點(diǎn)的排隊(duì)等待時(shí)間反映,即數(shù)據(jù)包的延遲抖動(dòng)可以間接反映網(wǎng)絡(luò)擁塞狀況。因此,可以將延遲抖動(dòng)也作為標(biāo)識(shí)網(wǎng)絡(luò)狀態(tài)的因素,與是否發(fā)生數(shù)據(jù)包丟失共同作為反饋標(biāo)識(shí),及時(shí)調(diào)整發(fā)送速率,改善TFRC在慢啟動(dòng)階段的不足[9]。數(shù)據(jù)包的延遲抖動(dòng)(Jitter,J)將通過公式(2)計(jì)算:
其中()為相鄰數(shù)據(jù)包的延遲差,為加權(quán)因子(0<<1),由實(shí)驗(yàn)結(jié)果表明,當(dāng)取0.2時(shí)可以得到最好的效果。
相鄰?fù)禃r(shí)間變化的穩(wěn)定性也能標(biāo)識(shí)網(wǎng)絡(luò)的狀態(tài),因此可以通過在TFRC的吞吐量公式中加入往返時(shí)間抖動(dòng)因子來修正當(dāng)前計(jì)算的發(fā)送速率,使數(shù)據(jù)包的傳輸更平穩(wěn)[10]。假設(shè)用表示相鄰兩次RTT的變化與前一次RTT的比值,則的計(jì)算如公式(5)所示:
因此,在I-TFRC的擁塞避免階段,將按照公式(7)計(jì)算出的值對(duì)發(fā)送速率進(jìn)行調(diào)整。
為了驗(yàn)證I-TFRC算法在速率控制方面的各種性能,利用NS2網(wǎng)絡(luò)仿真軟件進(jìn)行驗(yàn)證,在仿真過程中采用的是圖1所示的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
圖1 仿真拓?fù)浣Y(jié)構(gòu)參數(shù)值圖
在s2和k2之間首先運(yùn)行TFRC協(xié)議,然后用I-TFRC協(xié)議代替TFRC進(jìn)行數(shù)據(jù)傳輸。在整個(gè)仿真過程中丟包率變化情況如表1所示。
表1 TFRC與I-TFRC前1秒內(nèi)丟包率變化情況
經(jīng)過實(shí)驗(yàn),I-TFRC協(xié)議在慢啟動(dòng)后期可以使發(fā)送速率的變化更加平穩(wěn),從表1中可以看出,采用I-TFRC后,丟包率明顯降低了,例如在前0.5秒內(nèi),丟包率由5.8%降低為4.7%,同比下降了約19%。因此,改進(jìn)后的算法可以有效預(yù)防由于發(fā)送速率增長過快而引起丟包率過大的現(xiàn)象的出現(xiàn),即提高了數(shù)據(jù)包在網(wǎng)絡(luò)中的傳輸質(zhì)量[11]。
仿真過程采用的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)與前文相同,仿真持續(xù)5秒。傳輸過程中的平均時(shí)延和平均延遲抖動(dòng)的對(duì)比如表2所示。
表2 TFRC與I-TFRC平均時(shí)延和平均延遲抖動(dòng)對(duì)比
由表2可以看出,I-TFRC在平均時(shí)延和平均延遲抖動(dòng)方面較TFRC都有所下降,發(fā)送速率的波動(dòng)降低了,傳輸過程更加穩(wěn)定,使I-TFRC更加適合對(duì)延遲和抖動(dòng)要求較高的視頻流業(yè)務(wù)[12]。
本文提出的基于視頻流的新的擁塞控制算法I-TFRC,其對(duì)于TFRC針對(duì)視頻流數(shù)據(jù)在傳輸過程中存在的不足進(jìn)行改進(jìn),改進(jìn)后的算法在慢啟動(dòng)后期使發(fā)送速率的變化更加平穩(wěn),丟包率降低;在擁塞避免階段通過修正原有的TFRC吞吐量公式,達(dá)到降低發(fā)送速率波動(dòng)性的效果,從而提高視頻流傳輸?shù)姆€(wěn)定性。最后通過實(shí)驗(yàn)證明了I-TFRC算法的可實(shí)施性,使其更加適合對(duì)數(shù)據(jù)傳輸質(zhì)量,延遲和抖動(dòng)要求較高的視頻流服務(wù)。
[1]張斌.基于RTP/RTCP的空間多媒體通信音視頻同步算法[J].工業(yè)技術(shù)創(chuàng)新,2018,05(02):10-12.
[2]JintingLin,LinCui,YuxiangZhang,F(xiàn)ung 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]潘力策. 基于改進(jìn)TFRC協(xié)議的流媒體終端的設(shè)計(jì)與實(shí)現(xiàn)[D].浙江工業(yè)大學(xué),2015.
[7]賴文君. 一種改進(jìn)的流媒體TFRC擁塞控制算法[J]. 微型機(jī)與應(yīng)用,2014(7):51-53.
[8]李洪林. 異構(gòu)網(wǎng)絡(luò)中TCP擁塞控制算法的研究與改進(jìn)[D].北京郵電大學(xué),2019.
[9]趙飛,仉樹軍,郭勝楠,洪波.基于網(wǎng)絡(luò)自適應(yīng)擁塞控制技術(shù)的視頻處理系統(tǒng)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2019,45(16):56-58.
[10]譚志勇,趙甫哲.延遲抖動(dòng)在TFRC擁塞控制策略中的應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,2018(05):116-120.
[11]史磊. 視頻流自適應(yīng)傳輸中擁塞控制策略的研究[D]. 陜西:西安科技大學(xué),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年度陜西省教育廳科學(xué)研究計(jì)劃項(xiàng)目(名稱:基于視頻流傳輸中網(wǎng)絡(luò)擁塞控制的研究,編號(hào)18JK0074)