《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 一種改進(jìn)的流媒體TFRC擁塞控制算法
一種改進(jìn)的流媒體TFRC擁塞控制算法
來(lái)源:微型機(jī)與應(yīng)用2014年第7期
賴文君
(江西理工大學(xué) 信息工程學(xué)院,,江西 贛州 341000)
摘要: 為了解決流媒體傳輸擁塞控制機(jī)制的不足,,提出了一種基于鏈路延遲抖動(dòng)趨勢(shì)的TFRC改進(jìn)算法。對(duì)傳統(tǒng)的TFRC擁塞控制算法以及鏈路延遲抖動(dòng)變化趨勢(shì)進(jìn)行了分析,,采用對(duì)鏈路擁塞狀況進(jìn)行預(yù)測(cè)的策略,,引入抖動(dòng)因子來(lái)修正TFRC的吞吐量公式,,由鏈路延遲抖動(dòng)的趨勢(shì)自適應(yīng)地調(diào)整發(fā)送速率。仿真實(shí)驗(yàn)結(jié)果表明,,改進(jìn)算法在保持TCP友好性的前提下,,有效提高了流媒體數(shù)據(jù)傳輸?shù)钠交院头€(wěn)定性。
Abstract:
Key words :

摘  要: 為了解決流媒體傳輸擁塞控制機(jī)制的不足,,提出了一種基于鏈路延遲抖動(dòng)趨勢(shì)的TFRC改進(jìn)算法,。對(duì)傳統(tǒng)的TFRC擁塞控制算法以及鏈路延遲抖動(dòng)變化趨勢(shì)進(jìn)行了分析,采用對(duì)鏈路擁塞狀況進(jìn)行預(yù)測(cè)的策略,,引入抖動(dòng)因子來(lái)修正TFRC的吞吐量公式,,由鏈路延遲抖動(dòng)的趨勢(shì)自適應(yīng)地調(diào)整發(fā)送速率。仿真實(shí)驗(yàn)結(jié)果表明,,改進(jìn)算法在保持TCP友好性的前提下,,有效提高了流媒體數(shù)據(jù)傳輸?shù)钠交院头€(wěn)定性。
關(guān)鍵詞: 擁塞控制,;流媒體,;TFRC;TCP友好性

 對(duì)流媒體數(shù)據(jù)傳輸?shù)膿砣刂蒲芯烤哂兄匾饬x,在提高流媒體傳輸QoS中起關(guān)鍵性作用,。隨著信息化,、網(wǎng)絡(luò)化和多媒體技術(shù)的發(fā)展,網(wǎng)絡(luò)傳輸?shù)奈募兊迷絹?lái)越大,,早期將文件下載到本地再播放的方式已成為網(wǎng)絡(luò)發(fā)展的一個(gè)障礙,。在這種情形下對(duì)流媒體技術(shù)的研究成為多媒體技術(shù)領(lǐng)域的一個(gè)熱點(diǎn)。流媒體業(yè)務(wù)對(duì)速率抖動(dòng)和延遲的敏感特性決定了傳統(tǒng)的TCP擁塞控制機(jī)制對(duì)它并不適用,;而通常作為流媒體音視頻傳輸層協(xié)議的UDP只能保證盡力傳輸,,缺乏相應(yīng)的擁塞控制機(jī)制,一旦發(fā)生網(wǎng)絡(luò)擁塞,,UDP與TCP競(jìng)爭(zhēng)的不公平性可能導(dǎo)致TCP流的“饑餓”甚至擁塞崩潰的發(fā)生,。
 針對(duì)上述問題,人們通過引入類似TCP速率控制機(jī)制的TCP友好性(TCP Friendly)機(jī)制來(lái)實(shí)現(xiàn)流媒體數(shù)據(jù)流與TCP流共同分享可用帶寬,。TFRC(TCP-Friendly Rate Control)便是其中最具代表性的一種TCP友好協(xié)議,。從HANDLEY M等提出TFRC尤其是2003年IETF發(fā)布文檔RFC3448以來(lái)[1],眾多學(xué)者以此為參考對(duì)流媒體擁塞控制算法進(jìn)行了研究和改進(jìn),。參考文獻(xiàn)[2]指出TFRC在網(wǎng)絡(luò)狀況好的情況下表現(xiàn)得過于保守,,導(dǎo)致帶寬利用率不高,提出利用模糊邏輯擁塞控制策略(FLC)來(lái)調(diào)整視頻發(fā)送速率,,并用遺傳算法優(yōu)化模糊控制規(guī)則,,以提高擁塞控制性能;但模糊化的不確定性和模糊控制規(guī)則的選取都會(huì)很大程度地對(duì)控制效果產(chǎn)生很大的影響,。參考文獻(xiàn)[3]提出一種基于概率偏差計(jì)算超時(shí)重傳時(shí)間(RTO)的算法,,以實(shí)際丟包事件概率與最優(yōu)丟包事件概率之間的偏差為依據(jù),對(duì)實(shí)時(shí)的RTO值進(jìn)行放大或縮小,,使其更接近當(dāng)前TCP流的RTO來(lái)實(shí)現(xiàn)更好的TCP友好性,。參考文獻(xiàn)[4]提出對(duì)TFRC計(jì)算公式中丟包率的不同冪級(jí)引入權(quán)重系數(shù),根據(jù)網(wǎng)絡(luò)的擁塞程度在網(wǎng)絡(luò)擁塞嚴(yán)重時(shí)加大發(fā)送速率,,在擁塞較輕時(shí)減少發(fā)送速率,,以保證流媒體數(shù)據(jù)傳輸?shù)姆€(wěn)定,增加了對(duì)不同網(wǎng)絡(luò)環(huán)境下如何來(lái)確保吞吐率穩(wěn)定性的考慮,。
 本文在對(duì)TFRC擁塞控制機(jī)制分析研究的基礎(chǔ)上,,提出一種基于鏈路延遲抖動(dòng)趨勢(shì)的TFRC改進(jìn)算法TFRC-DJT(TFRC-Delay Jitter Trend),通過對(duì)抖動(dòng)延遲的計(jì)算分析,,并引入抖動(dòng)因子對(duì)吞吐率估值進(jìn)行調(diào)整,,對(duì)鏈路中的擁塞狀況作早期的預(yù)測(cè)以提高傳輸?shù)钠椒€(wěn)度和TCP友好性。
1 TFRC擁塞控制算法
 現(xiàn)網(wǎng)中數(shù)據(jù)大部分都為TCP或者UDP的流,,由于受Internet異構(gòu)性的影響,,早期的TCP協(xié)議在網(wǎng)絡(luò)擁塞控制方面存在許多不足,。為此,對(duì)TCP協(xié)議擁塞控制的研究從20世紀(jì)80年代初開始就未停止過,,從最初的RFC793(TCP-Tahoe)提到擁塞避免算法以來(lái),,TCP協(xié)議歷經(jīng)TCP-Reno、TCP-Vegas,、FAST-TCP和TCP-New-Reno等版本,,擁塞控制算法被不斷改進(jìn)和完善。尤其是慢啟動(dòng)和擁塞避免的提出,,以及后來(lái)快速重傳和快速恢復(fù)的引入使得TCP協(xié)議的可靠傳輸成為可能[5],。但與此同時(shí),可靠傳輸是以犧牲時(shí)延作為代價(jià)的,,較大的傳輸延時(shí)使其無(wú)法直接應(yīng)用于許多像流媒體這樣的實(shí)時(shí)性業(yè)務(wù)中,。
1.1 流媒體的擁塞控制機(jī)制
傳統(tǒng)的流媒體傳輸方式是基于UDP的,并不具有TCP友好性,。UDP流在瓶頸鏈路上容易造成嚴(yán)重的資源不公平占用,甚至出現(xiàn)嚴(yán)重的擁塞,,導(dǎo)致數(shù)據(jù)交付延遲,、吞吐量下降以及丟棄概率增加等現(xiàn)象的發(fā)生。在TCP流大約占90%通信量的Internet,,流媒體應(yīng)用必須具備一定的擁塞控制機(jī)制來(lái)達(dá)到TCP友好性[6],。此外,流媒體數(shù)據(jù)的傳輸會(huì)隨著網(wǎng)絡(luò)狀態(tài)的變化而改變,,導(dǎo)致其傳輸狀態(tài)在擁塞的起始狀態(tài)和穩(wěn)定狀態(tài)之間不斷變化,,較好的擁塞控制方案還必須考慮應(yīng)對(duì)網(wǎng)絡(luò)變化時(shí)數(shù)據(jù)傳輸?shù)氖諗刻匦约皞鬏數(shù)钠椒€(wěn)性,以避免大幅波動(dòng),。
現(xiàn)行的大多數(shù)流媒體應(yīng)用的傳輸都是基于C/S和P2P這兩種方式,,其中,P2P的通信按端點(diǎn)的傳輸方式又可以分為單播和組播兩種,。組播是一種有效的單點(diǎn)到多點(diǎn)的數(shù)據(jù)傳輸方式,,但由于缺乏合適的擁塞控制機(jī)制,而無(wú)法得到ISP(Internet Service Provisor)的廣泛應(yīng)用[7],。單播的擁塞控制一般都是基于源端的,,可分為基于模型和基于探測(cè)兩種類型?;谔綔y(cè)的方案通過模仿TCP的AIMD行為實(shí)現(xiàn)擁塞控制,,發(fā)送端不斷探測(cè)網(wǎng)絡(luò)的可用帶寬,將丟包率與某一閾值比較來(lái)調(diào)節(jié)發(fā)送速率,;但該方法容易導(dǎo)致速率在短期內(nèi)出現(xiàn)與TCP類似的鋸齒形波動(dòng)變化,?;谀P偷姆桨父鶕?jù)TCP流量模型進(jìn)行擁塞控制,其目的是在對(duì)擁塞有響應(yīng)的前提下,,保持平滑的速率變化,,因此較適合流媒體的傳輸。
1.2 TFRC算法
 TFRC是一種基于模型,、通過控制發(fā)送速率的端到端單播TCP友好協(xié)議,。TFRC的目標(biāo)是使流媒體數(shù)據(jù)與TCP共同競(jìng)爭(zhēng)的網(wǎng)絡(luò)傳輸流(如實(shí)時(shí)流媒體數(shù)據(jù)流)具有適度的公平性。在同等條件下,,TFRC在網(wǎng)絡(luò)中的發(fā)送速率和TCP的發(fā)送速率應(yīng)基本相同,;并且,通過接收端丟包率的反饋調(diào)整使TFRC具有相對(duì)比TCP更好的平滑性,,更適合流媒體對(duì)發(fā)送速率平滑性有較高要求的應(yīng)用[8],。TFRC一般具有固定的數(shù)據(jù)包大小,只需調(diào)整發(fā)送速率來(lái)響應(yīng)當(dāng)前擁塞情況,。
 TFRC保持對(duì)TCP友好性是通過使用Reno-TCP協(xié)議的吞吐量計(jì)算公式來(lái)實(shí)現(xiàn)的,,即:

 



    (1)由式(3)計(jì)算最新的延遲抖動(dòng)值ΔDk,并對(duì)前一次計(jì)算的平均延遲抖動(dòng)值J(k-1)進(jìn)行保存操作,。
    (2)由式(4)計(jì)算本次的平均抖動(dòng)延遲J(k),。
    (3)將本次平均抖動(dòng)延遲J(k)與延遲門限值threshold進(jìn)行比較,如果J(k)≥threshold,,則按式(5)計(jì)算吞吐量估值,,即Tk=(1-α)Tx;如果J(k)<threshold,,則Tk=βTx(k)+(1-β)Tx(k-1)(β取0.875),。
    (4)根據(jù)計(jì)算的吞吐量估值Tk,調(diào)整發(fā)送速率,。
    (5)接收下一個(gè)包,,并重復(fù)上述步驟,直至流媒體分組發(fā)送完成,。
3 實(shí)驗(yàn)仿真與分析
 在網(wǎng)絡(luò)仿真軟件NS-2.34下分別對(duì)TCP,、TFRC和TFRC-DJT進(jìn)行仿真實(shí)驗(yàn),以驗(yàn)證改進(jìn)效果,。在NS2目錄下添加TFRC-DJT協(xié)議(需添加5個(gè)文件:tfrc_djt.h,、tfrc_djt.cc、tfrc_djt_packet.h,、tfrc_djt_rtable.h和tfrc_djt_rtable.cc),,修改makefile文件,并用make重新編譯NS2,。仿真實(shí)驗(yàn)采用啞鈴型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),,如圖1所示,。

 由表1可知,TFRC算法的TFRC流與共存的TCP流的吞吐率比值為2.15,,TFRC-DJT算法的TFRC流與共存的TCP流的吞吐率比值為2.13,,表明TFRC-DJT算法較好地保持了對(duì)TCP業(yè)務(wù)流的友好性;TFRC算法的帶寬占用率為68.3%,,TFRC-DJT算法的帶寬占用率為68.1%,,兩者具有相似的帶寬占用率;但TFRC-DJT算法的單向傳輸延遲抖動(dòng)均值比TFRC算法下降了13.97%,。
 從圖2可以看出,,TFRC-DJT算法的TFRC流吞吐率及其平滑性均優(yōu)于TFRC算法。
 本文針對(duì)TFRC存在的不足提出了一種基于鏈路延遲抖動(dòng)趨勢(shì)的TFRC改進(jìn)算法,,算法對(duì)鏈路中的擁塞狀況進(jìn)行預(yù)測(cè),,引入抖動(dòng)因子對(duì)TFRC吞吐量公式進(jìn)行修正,利用鏈路延遲抖動(dòng)趨勢(shì)來(lái)調(diào)整發(fā)送速率,,并使用類似TCP的加權(quán)平均方案來(lái)提高其平穩(wěn)性,,在保持TCP友好性的同時(shí)提高了流媒體數(shù)據(jù)傳輸?shù)钠交裕垢倪M(jìn)的TFRC算法更適合于實(shí)時(shí)流媒體業(yè)務(wù)傳輸?shù)囊蟆?br/>參考文獻(xiàn)
[1] HANDLEY M,, FLOYD S,, PADHYE J, et al. RFC 3448,, TCP friendly rete control(TFRC):protocol specification[S].2003.
[2] 李紅,沈未名.基于模糊邏輯的Internet視頻流擁塞控制[J].計(jì)算機(jī)應(yīng)用研究,,2009,,26(5):1871-1874.
[3] 羅作民,王竟佳,,李兵.基于概率偏差的TFRC-RTO算法[J].計(jì)算機(jī)工程,,2010,36(21):92-94.
[4] 姜明,,吳春明,,張旻,等.TFRC協(xié)議友好性與平穩(wěn)性改進(jìn)算法研究[J].電子學(xué)報(bào),,2009,,37(8):1723-1727.
[5] 陶洋,杜軍恒,,武俊.一種自適應(yīng)比例系數(shù)的TCP擁塞控制策略[J].微型機(jī)與應(yīng)用,,2011,30(12):58-62.
[6] 肖甫,,王汝傳,,孫力娟,,等.基于TCP友好的無(wú)線網(wǎng)絡(luò)擁塞控制機(jī)制研究[J].計(jì)算機(jī)科學(xué),2010,,37(7):50-53.
[7] 楊云,,周堅(jiān),陸璐,,等.一種TCP-Friendly主動(dòng)分層組播擁塞控制機(jī)制[J].小型微型計(jì)算機(jī)系統(tǒng),,2007,28(10):1774-1778.
[8] 甘泉,,薛質(zhì).控制端到端傳輸延遲抖動(dòng)的改進(jìn)TFRC算法[J].計(jì)算機(jī)工程,,2008,34(10):105-107.
[9] 張冰.流媒體業(yè)務(wù)的寬帶接入與擁塞控制技術(shù)研究[D].西安:西安電子科技大學(xué),,2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。