摘要:Internet優(yōu)秀的可測量性和魯棒性部分的源于Internet擁塞控制中端到端的本質(zhì)。但是,單獨(dú)的端到端的擁塞控制卻無法阻止擁塞崩潰和網(wǎng)絡(luò)應(yīng)用中非響應(yīng)流的不公平行為,從而在網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)中產(chǎn)生了一種新的機(jī)制,主動(dòng)隊(duì)列管理(AQM)。這種包調(diào)度機(jī)制成功的使IP層參與到擁塞控制中來,通過主動(dòng)早期標(biāo)記“盡力傳輸”網(wǎng)絡(luò)擁塞狀況,改善了網(wǎng)絡(luò)質(zhì)量并使延遲和丟包率降低。
關(guān)鍵詞:擁塞控制;主動(dòng)隊(duì)列管理;服務(wù)質(zhì)量
1 隨機(jī)早期檢測算法
(Random Early Detection,RED)
AQM的研究動(dòng)議是由IETF在1998年提的,但與其密切相關(guān)RED(Random Early Detection)算法早在1993年就被提了出來。在提出AQM研究的時(shí)候,RED是唯一能夠?qū)崿F(xiàn)其目標(biāo)的算法,因此RFC2309將其推薦為AQM的唯一候選算法。
1.1 RED的工作原理
最早提出來主動(dòng)隊(duì)列機(jī)制就是隨機(jī)早期檢測RED方法,RED的主要思想就是監(jiān)視輸出隊(duì)列,根據(jù)平均隊(duì)列長度和最大、最小閾值的大小關(guān)系來隨機(jī)的選擇數(shù)據(jù)包進(jìn)行丟棄。RED對數(shù)據(jù)包的當(dāng)前平均隊(duì)列長度的計(jì)算是按照EWMA(exponentially weighted moving average)方法來計(jì)算的,它在每個(gè)包到來時(shí)按公式(1)計(jì)算。
其中q為當(dāng)前隊(duì)列長度;和分別為當(dāng)前和過去的平均隊(duì)列長度;wq 為權(quán)重常數(shù),它決定了當(dāng)前隊(duì)列長度對于計(jì)算平均隊(duì)列長度的影響程度。
當(dāng)一個(gè)包到來時(shí),它是否被丟棄則依賴于平均隊(duì)列長度qavg和兩個(gè)門限值minth,maxth的關(guān)系。在RED算法中,主要的配置參數(shù)有: minth,maxth ,wq 和maxP 。其工作方式如圖1所示。
圖1 RED算法中丟棄概率與平均隊(duì)列長度的關(guān)系
由minth和maxth把橫坐標(biāo)分成3段區(qū)間,分別對應(yīng)正常工作、擁塞避免和擁塞控制三個(gè)階段。具體函數(shù)如下:
其中,minth和maxth分別表示最小門限值和最大門限值,Pb表示平均丟包率,Pa是 P的變量,count則表示q在兩個(gè)閾值之間時(shí)有多少數(shù)據(jù)包排隊(duì)(沒有被丟棄)。
隨著count的增加,P緩慢增加,因此隨著上次丟棄發(fā)生以來時(shí)間的增加,丟棄的可能性也在增加。如果沒有計(jì)算P的這一步,包的丟棄就不會隨時(shí)間較均勻地分布,而是傾向于成簇地發(fā)生。由于從一個(gè)連接來的包可能以突發(fā)方式到來,這種成簇丟棄會引起同一個(gè)連接的多個(gè)包丟失。而多個(gè)丟失不會像在一個(gè)RTT內(nèi)僅丟失一個(gè)包那樣僅僅會使發(fā)送窗口減少,而且會讓發(fā)送重新進(jìn)入慢啟動(dòng),這樣就會降低TCP傳輸?shù)男省.?dāng)平均隊(duì)列長度超過maxth時(shí),所有到來的數(shù)據(jù)包都被丟棄掉。
1.2 RED的優(yōu)點(diǎn)和缺點(diǎn)
RED算法比去尾Drop Tail算法有兩個(gè)優(yōu)點(diǎn):首先,隊(duì)列緩沖總是預(yù)留了一定的緩沖空間,這樣可以更好的應(yīng)付通信量的突發(fā)性。其次,能夠保持較短的隊(duì)列長度,這樣可以更好地支持實(shí)時(shí)應(yīng)用。
RED的有效性經(jīng)過了一些實(shí)踐的驗(yàn)證,但依舊存在一些缺陷,譬如:RED算法的性能敏感于設(shè)計(jì)參數(shù)和網(wǎng)絡(luò)狀況,在特定的網(wǎng)絡(luò)負(fù)載狀況下依然會導(dǎo)致多個(gè)TCP的同步,造成隊(duì)列振蕩,吞吐量降低和時(shí)延抖動(dòng)加劇。RED算法的公平性和穩(wěn)定性也存在問題。在網(wǎng)絡(luò)嚴(yán)重?fù)砣麜r(shí),RED往往失去對隊(duì)列的控制能力,帶來的問題甚至比尾部丟棄嚴(yán)重。
2 RED參數(shù)實(shí)驗(yàn)研究
當(dāng)前許多關(guān)于參數(shù)優(yōu)化的研究給出了當(dāng)前廣泛使用的參數(shù)配置方案,其中因?yàn)闄?quán)值wq太小,不能及時(shí)探測擁塞,被從0.001增加到0.002。又因?yàn)樽畲蠓謥G失率不足以迫使多個(gè)TCP業(yè)務(wù)源有效的減小它們的窗口,0.002的maxP被0.1替代了。
本文研究了RED參數(shù)maxth與丟包率、鏈路利用率和平均隊(duì)列延時(shí)的關(guān)系,并給出適應(yīng)性RED算法的特定規(guī)則。
對于給定的緩沖尺寸,平均隊(duì)列延時(shí)直接依賴于平均隊(duì)列長度。對于等尺寸的隊(duì)列,AQM是影響平均隊(duì)長的主要原因。
仿真試驗(yàn)由NS2網(wǎng)絡(luò)仿真器來完成。網(wǎng)絡(luò)拓?fù)溆蓤D2所示,來仿真不同的網(wǎng)絡(luò)場景。TCP源端數(shù)量N發(fā)生變化可以產(chǎn)生不同的網(wǎng)絡(luò)負(fù)載。RED路由的緩沖尺寸保持在50包,仿真等隊(duì)長的包。
圖2 等尺寸隊(duì)列網(wǎng)絡(luò)拓?fù)?/p>
本實(shí)驗(yàn)中,我們研究模型中的重要參數(shù)maxth在wq= 0.002和wq= 0.005對于網(wǎng)絡(luò)性能的影響。在4種不同網(wǎng)絡(luò)負(fù)載(源端數(shù)目)的作用下,根據(jù)RED模型(2),我們首先將maxP設(shè)置為0.1, wq設(shè)為0.002。
在RED路由和瓶頸鏈路中,maxth與丟包率的關(guān)系如圖3所示。不同的曲線表示不同的源端數(shù)目。
圖3 maxth與丟包率關(guān)系
丟包率隨著最大門限值maxth的變化而變化。曲線清晰的表明隨著maxth的增加,丟包率下降;隨著網(wǎng)絡(luò)負(fù)載增加,丟包率上升。
圖4所示平均隊(duì)列延時(shí)與maxth的關(guān)系。所有曲線均單調(diào)遞增。
圖4 maxth與平均隊(duì)列延時(shí)關(guān)系
圖5所示鏈接利用率隨maxth,的變化情況。曲線表明在重載時(shí),連接利用率基本上與maxth獨(dú)立,另一方面,maxth在輕載時(shí)不能小于特定值(約為15)以保證鏈路利用率不受影響。而且當(dāng)maxth>l5時(shí),丟包率也基本上與maxth獨(dú)立,如圖5所示。
圖5maxth與鏈路利用率的關(guān)系
我們又令wq=0.005,來研究丟包率和鏈路利用率與maxth的關(guān)系,如圖6,圖7所示,研究發(fā)現(xiàn)參數(shù)maxth對于網(wǎng)絡(luò)性能的影響與 wq=0.002時(shí)相比未有顯著變化。
文中實(shí)驗(yàn)結(jié)果表明,隨著maxth的增加,丟包率下降;隨著網(wǎng)絡(luò)負(fù)載增加,丟包率上升。為了獲得較低的平均隊(duì)列延時(shí),maxth應(yīng)盡可能小一些;但平均隊(duì)列延時(shí)隨網(wǎng)絡(luò)負(fù)載變化不大(尤其當(dāng) maxth<= 0.5 buffer size)。在重載時(shí),連接利用率基本上可以忽略 maxth的影響。并且權(quán)值wq= 0.002是對于結(jié)果充分的。
圖6maxth與丟包率的關(guān)系(wq= 0.005)
圖7maxth與鏈路利用率的關(guān)系(wq= 0.005)
3 結(jié)論
自RED被首次提出來之后,它的參數(shù)配置就是一個(gè)沒有徹底解決的問題。有關(guān)RED的最初文獻(xiàn)中表述了配置參數(shù)對性能的影響,并給出了合理設(shè)置參數(shù)的建議。本文從實(shí)驗(yàn)的角度驗(yàn)證了網(wǎng)絡(luò)QoS算法中的參數(shù)對于網(wǎng)絡(luò)性能的實(shí)際影響,并給出上述結(jié)論。
參考文獻(xiàn)
[1]簡貴胃,葛寧等.基于測量的主動(dòng)隊(duì)列管理算法[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,44(4):522-529.
[2]Mohammad Hossein Yalunaee. ImProving the Loss Peroformance of Random Early Detection Gateway Using Fuzzy LogieControl.0- 7803-8623-x,IEEE,2004:927-932.