張小瑋
摘 要:隨著無(wú)線網(wǎng)絡(luò)多媒體的發(fā)展,網(wǎng)絡(luò)中充斥著許多流媒體應(yīng)用。而當(dāng)在傳輸過(guò)程中,網(wǎng)絡(luò)帶寬無(wú)法滿足用戶需求的時(shí)候,網(wǎng)絡(luò)中會(huì)存在一定的擁塞,那么本文根據(jù)TFRC機(jī)制能夠有效地解決網(wǎng)絡(luò)擁塞問(wèn)題,作出此機(jī)制的研究綜述。
關(guān)鍵詞:TFRC;擁塞控制機(jī)制;無(wú)線網(wǎng)絡(luò)
1 TFRC吞吐量模型
無(wú)線網(wǎng)絡(luò)流媒體傳輸過(guò)程中網(wǎng)絡(luò)容易存在網(wǎng)絡(luò)擁塞的狀況,解決網(wǎng)絡(luò)擁塞的方法必須要滿足以下幾個(gè)條件:a傳輸過(guò)程中保持網(wǎng)絡(luò)的穩(wěn)定,b要有足夠高的帶寬利用率,c傳輸速率必須具有平滑性。在同樣的網(wǎng)絡(luò)條件下,當(dāng)網(wǎng)絡(luò)中存在TFRC[1]以及TCP兩種流的情況下,TFRC具有帶寬公平特性。但是對(duì)于TFRC在發(fā)送端的發(fā)送速度,學(xué)者研究發(fā)現(xiàn)仍然會(huì)存在抖動(dòng),這樣使得傳輸效率大幅降低。TFRC機(jī)制的吞吐量公式如公式(1)所示。
其中V代表TFRC吞吐量的速度,S表示傳輸數(shù)據(jù)的包大小值,R就是RTT,tRTO則是超時(shí)時(shí)間。
2 TFRC協(xié)議工作過(guò)程
TFRC擁塞控制機(jī)制包含發(fā)送端和客戶端,具體工作過(guò)程如圖1所示:
圖1 ?TFRC機(jī)制工作過(guò)程
在TFRC發(fā)送端側(cè)的數(shù)據(jù)主要包含以下幾種信息:a數(shù)據(jù)發(fā)送時(shí)間節(jié)點(diǎn),b數(shù)據(jù)的序列號(hào),c根據(jù)數(shù)據(jù)傳輸估算的RTT,d估算的RTO值。而在TFRC客戶端也就是我們通常所說(shuō)的接收端存在反饋數(shù)據(jù),其包含以下幾種信息:a數(shù)據(jù)的序列號(hào),b發(fā)送反饋數(shù)據(jù)開始至讀取現(xiàn)在時(shí)間節(jié)點(diǎn),客戶端估算的速率值,c丟包率p的值,d數(shù)據(jù)發(fā)送時(shí)間節(jié)點(diǎn)。
3 TFRC機(jī)制運(yùn)行的主要階段
TFRC擁塞控制機(jī)制主要存在以下幾種主要階段:a慢速啟動(dòng),b避免網(wǎng)絡(luò)擁塞階段。在第一個(gè)階段中,此時(shí)網(wǎng)絡(luò)傳輸速度較慢,因?yàn)門FRC擁塞控制機(jī)制需要對(duì)網(wǎng)絡(luò)中帶寬的有效值進(jìn)行估算,因此,在整個(gè)網(wǎng)絡(luò)試探過(guò)程中,必然會(huì)影響TFRC機(jī)制中客戶端數(shù)據(jù)質(zhì)量,同時(shí),如果網(wǎng)絡(luò)發(fā)生多個(gè)丟包事件,那么網(wǎng)絡(luò)會(huì)在一段時(shí)間內(nèi)不斷丟包,會(huì)使得發(fā)送速度減小。
當(dāng)網(wǎng)絡(luò)處于試探階段時(shí),如果在傳輸流媒體過(guò)程中存在多個(gè)丟包事件,TFRC將會(huì)進(jìn)入擁塞避免環(huán)節(jié):①當(dāng)客戶端接收到來(lái)自發(fā)送端的數(shù)據(jù)后,得到p的計(jì)算數(shù)值,然后通過(guò)反饋通道發(fā)送至發(fā)送端;②反饋信息到達(dá)發(fā)送端,得到RTT以及RTO的計(jì)算數(shù)值;③發(fā)送端根據(jù)反饋得到的參數(shù)進(jìn)行速度更新,并對(duì)前一個(gè)接收的速度兩倍值進(jìn)行對(duì)比,取兩者中小的那個(gè)數(shù)值作為下一步的數(shù)據(jù)發(fā)送速度[2]。
4 TFRC機(jī)制吞吐量公式參數(shù)計(jì)算
合理的參數(shù)設(shè)置計(jì)算必然影響著網(wǎng)絡(luò)的吞吐性能。對(duì)于參數(shù)的計(jì)算手段,我們?nèi)缦逻M(jìn)行描述。
4.1 往返時(shí)延值RTT以及重傳數(shù)據(jù)超時(shí)值RTO ?我們?cè)贜S2網(wǎng)絡(luò)仿真軟件中編寫TFRC源程序,假定客戶端通過(guò)反饋通道發(fā)送數(shù)據(jù)的時(shí)間節(jié)點(diǎn)為,而反饋數(shù)據(jù)中存在2個(gè)數(shù)值即和。那么前者表示發(fā)送端通過(guò)反饋通道收到的最后數(shù)據(jù)的時(shí)間節(jié)點(diǎn)值,而后者表示時(shí)間延時(shí)的值,因此整個(gè)計(jì)算定義如公式(2)所示:
4.2 丟包事件概率的計(jì)算 在無(wú)線網(wǎng)絡(luò)流媒體的傳輸中,我們對(duì)網(wǎng)絡(luò)的要求很高,例如,視頻流是連續(xù)性的數(shù)據(jù),那么必須要進(jìn)行丟包事件的統(tǒng)計(jì)。我們?cè)赥FRC擁塞控制機(jī)制中,在客戶端進(jìn)行丟包事件的概率統(tǒng)計(jì),并通過(guò)反饋通道將其發(fā)送給發(fā)送端。TFRC規(guī)定如果網(wǎng)絡(luò)中存在丟包,那么前后丟包的時(shí)間間隔小于一個(gè)時(shí)間循環(huán)值,我們認(rèn)為丟包的事件是同一個(gè)。傳統(tǒng)意義的丟包事件間隔為時(shí)間差,但是在TFRC中則認(rèn)為其是序列號(hào)的差值。
以視頻流數(shù)據(jù)為代表的流媒體傳輸數(shù)據(jù)要求在網(wǎng)絡(luò)的傳輸中發(fā)送速度有盡可能小的抖動(dòng),那么我們也要求丟包事件率的值也是如此。那么學(xué)者通常運(yùn)用加權(quán)平均來(lái)對(duì)丟包事件率進(jìn)行更新[3],即如公式(3)所示:
并且關(guān)于加權(quán)平均計(jì)算方法中的參數(shù)
我們發(fā)現(xiàn)加權(quán)平均法中參數(shù)n的值影響著網(wǎng)絡(luò)的響應(yīng)速度,認(rèn)為n取8是最合理的。而丟包事件間隔也就是丟包數(shù)據(jù)的序列號(hào)差值,因而對(duì)于差值的計(jì)算必須要準(zhǔn)確合理,這樣才能改善網(wǎng)絡(luò)擁塞情況。
5 總結(jié)
本文重點(diǎn)討論了TFRC機(jī)制的吞吐量模型、TFRC模型的工作過(guò)程以及參數(shù)的整定計(jì)算等內(nèi)容,從中我們可以知道,合理的參數(shù)決定了網(wǎng)絡(luò)的優(yōu)化程度,但是TFRC協(xié)議仍然存在許多改進(jìn)的地方,例如其發(fā)送速度仍然會(huì)存在一定的抖動(dòng),這也為我們今后的深入研究提供了一個(gè)很好的突破口。
參考文獻(xiàn):
[1] Xiao fu, Wang RuChuan, Sun Lijuan, Yu JianPing, Hu Ting.“A Novel Video Transmission Evaluation Framework based on TCP-Friendly Congestion Control Mechanism”, International Journal of Computer Network and Information Security, Vol.2, No.2, PP.19-25, December 2010.
[2] Heekyoung Woo, Jong-won Lee and Seongho Cho. “ATFRC: Adaptive TCP Friendly Rate Control Protocol”, International Conference on Information Networking (ICOIN), volume 2662, page 171-180, January 2003.
[3] F. Amjad, C. Zou, B. Aslam.Transparent cross-layer solutions for throughput boost in cognitive radio networks, in: Proc. IEEE CCNC,January 2013.