專利名稱:一種基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法。
背景技術(shù):
實踐證明,在網(wǎng)絡(luò)中大部分業(yè)務(wù)流為響應(yīng)性流的情況下,TCP端到端擁塞控制機(jī)制能夠有效地防止擁塞崩潰現(xiàn)象的發(fā)生。然而,在網(wǎng)絡(luò)擁塞的情況下,非響應(yīng)性流(如UDP流)并不會降低其發(fā)送速率來響應(yīng)擁塞,從而侵占更多的網(wǎng)絡(luò)帶寬,造成擁塞長時間得不到解除。因此,傳統(tǒng)的端到端擁塞控制機(jī)制在公平性、延時和丟包率保證以及發(fā)生擁塞后恢復(fù)正常的響應(yīng)性等問題上效率低下,更不用說提供網(wǎng)絡(luò)服務(wù)質(zhì)量的支持。為解決這些問題,主動隊列管理(ActiveQueue Management,AQM)被推薦部署在網(wǎng)絡(luò)中間節(jié)點來增強端到端擁塞控制。
AQM的主要技術(shù)目標(biāo)包括如下四個方面(1)降低路由器的分組丟失率;(2)提供高吞吐量和低延時及延時抖動;(3)增強算法魯棒性和響應(yīng)性;(4)簡單、有效,擴(kuò)展性好,能部署到實際網(wǎng)絡(luò)中。
在現(xiàn)有的AQM方法中,鏈路的擁塞通常通過隊列長度、業(yè)務(wù)流的輸入速率等擁塞測度來估計。(平均)隊列長度被廣泛用于RED及其變種算法。一些研究者們從理論分析和仿真實驗兩個方面對RED算法進(jìn)行了性能評價。幾乎所有的研究表明RED在參數(shù)配置方面存在嚴(yán)重的缺陷。針對這些不足,F(xiàn)loyd和其它的研究者們在RED參數(shù)配置方面做出了很多的努力,提出了gentle-RED,ARED和SRED等算法。不幸的是,這些針對RED參數(shù)配置問題所提出來的算法本身也存在這方面的問題,而且在特定的網(wǎng)絡(luò)環(huán)境下仍然會出現(xiàn)嚴(yán)重的隊列震蕩,造成低吞吐量和高排隊延時。Hollot依據(jù)TCP動態(tài)非線性流量模型的啟發(fā)為AQM設(shè)計了PI控制器,但PI控制器的概率調(diào)節(jié)過分依賴于緩存,并存在響應(yīng)性能差的缺點。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明提供一種基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法。本發(fā)明非常適用于網(wǎng)絡(luò)時變特性特點,并且響應(yīng)性能好。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案包括如下步驟 在路由器上建立一個自適應(yīng)的比例控制器; 測量路由器的分組丟失率; 根據(jù)路由器分組丟失率計算路由器的加權(quán)平均分組丟失率; 根據(jù)路由器的加權(quán)平均分組丟失率計算路由器的分組丟棄概率,根據(jù)分組丟棄概率丟棄分組。
上述的基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法中,所述路由器的分組丟失率為 上式中l(wèi)(k)為第k次的分組丟失率,它是第k次的分組丟失率等于前M個測量周期時間內(nèi)被丟失的數(shù)據(jù)總量與到達(dá)的數(shù)據(jù)總量的比值;D(i)為第i個周期丟失的數(shù)據(jù)包的個數(shù);A(i)為第i個周期到達(dá)的數(shù)據(jù)包的個數(shù)。
上述的基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法中,所述路由器的加權(quán)平均分組丟失率為 l(k)=w*l(k-1)+(1-w)*l(k) 上式中w是加權(quán)系數(shù)。
上述的基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法,所述路由器的分組丟棄概率為 p(t)=l(k)+γ(·)(q(t)-q0) q(t)為路由器當(dāng)前的緩沖隊列長度;q0為預(yù)先設(shè)定的目標(biāo)隊列長度;γ(·)為比例控制參數(shù)。
本發(fā)明的技術(shù)效果在于本發(fā)明根據(jù)當(dāng)前測量到的路由器平均分組丟失率來計算激活的TCP連接數(shù),采用簡單的比例控制器和基于二階最優(yōu)控制模型的極點配置法自適應(yīng)的調(diào)整分組丟棄概率,以此調(diào)整路由器主動隊列長度。本發(fā)明具有適應(yīng)性強、魯棒性高、算法實現(xiàn)簡單的優(yōu)越性能,在實現(xiàn)主動隊列管理時可保證較高的鏈路利用率,同時減小了排隊延時的特點。
下面結(jié)合附圖對本發(fā)明作進(jìn)一步的說明。
圖1為本發(fā)明的AQM控制框圖; 圖2為本發(fā)明的流程圖; 圖3為本發(fā)明的仿真實驗拓?fù)鋱D; 圖4為本發(fā)明控制的隊列變化; 圖5為本發(fā)明中平均隊長隨TCP流數(shù)的變化; 圖6為本發(fā)明中隊列變化標(biāo)準(zhǔn)差隨TCP流數(shù)的變化; 圖7為本發(fā)明控制的隊列變化(FTP流、UDP流、HTTP流共存)。
具體實施例方式 參見圖1,圖1為實現(xiàn)本發(fā)明的AQM控制框圖。本發(fā)明應(yīng)用二階系統(tǒng)最優(yōu)模型為主動隊列管理(AQM,Active Queue Management)設(shè)計了一種稱為AOPC(Adaptive Optimized Proportional Controller)的隊列管理方法。圖中的控制器G1(s)指路由器中使用的AQM方法,G2(s)是受控制的TCP/AQM系統(tǒng)的傳遞函數(shù),這一函數(shù)描述了控制器是如何通過改變控制量p(t)來影響q(t)的。圖1描述的控制系統(tǒng)是二階線性系統(tǒng)。AOPC周期性地測量最近M個周期內(nèi)的平均分組丟失率l(k)并在每個分組到達(dá)路由器時更新分組的丟棄概率。
首先測量最近M個周期的分組丟失率l(k) k為當(dāng)前的測量時間點,T為測量周期,l(k)為第k次的分組丟失率,它是第k次的分組丟失率等于前M個測量周期時間內(nèi)被丟失的數(shù)據(jù)總量與到達(dá)的數(shù)據(jù)總量的比值;D(i)為第i個周期丟失的數(shù)據(jù)包的個數(shù);A(i)為第i個周期到達(dá)的數(shù)據(jù)包的個數(shù)。
通過加權(quán)滑動平均方法計算平均的分組丟失率l(k),計算方法如下 l(k)=w*l(k)+(1-w)*l(k) 其中,w為加權(quán)系數(shù)。
AOPC能夠根據(jù)測量到的分組丟失率自適應(yīng)地調(diào)整比例控制參數(shù),這樣能夠解決很多AQM算法參數(shù)調(diào)節(jié)不靈活和改善對網(wǎng)絡(luò)流量動態(tài)變化不適應(yīng)的缺點。AOPC在每個新的分組到達(dá)后采用如下方程計算分組的丟棄概率 p=l(k)+γ(q-q0)(1) 其中,γ是根據(jù)當(dāng)前網(wǎng)絡(luò)狀況調(diào)整的可變參數(shù),l(k)是測量到的分組丟失率。
將測量到的分組丟失率l(k)近似地看作當(dāng)前網(wǎng)絡(luò)狀態(tài)下穩(wěn)定的分組丟棄概率p0,即l(k)≈p0。AOPC在每次測量完分組丟失率之后,基于TCP吞吐量模型來估計TCP的連接數(shù)N,進(jìn)而根據(jù)二階系統(tǒng)最優(yōu)模型來調(diào)節(jié)控制參數(shù),使系統(tǒng)能夠工作在動態(tài)變化的網(wǎng)絡(luò)環(huán)境中,并且具有優(yōu)化的性能。
AOPC通過引入分組丟失率來反應(yīng)動態(tài)網(wǎng)絡(luò)的負(fù)載信息,通過建立控制參數(shù)與分組丟失率之間的函數(shù)關(guān)系,設(shè)計了用于AQM控制的自適應(yīng)控制律。AOPC有兩個重要的組件(1)網(wǎng)絡(luò)負(fù)載預(yù)估器,在每次測量完分組丟失率之后估計TCP的連接數(shù)目,用于消除控制參數(shù)對網(wǎng)絡(luò)變量的依賴性;(2)參數(shù)優(yōu)化器,基于二階系統(tǒng)最優(yōu)模型對TCP/AOPC聯(lián)合控制系統(tǒng)的參數(shù)進(jìn)行優(yōu)化計算。下面具體描述了兩個組件的工作原理。
(1)網(wǎng)絡(luò)負(fù)載預(yù)估器 假設(shè)單個TCP流的端到端分組丟棄概率為p0,已有文獻(xiàn)建立單個TCP流吞吐量與RTT和分組丟失率之間的函數(shù)關(guān)系,用公式表示如下 Ri(t)為TCP流的往返延時,Xi為單個TCP流吞吐量。
現(xiàn)在來考慮一條鏈路同時被N個TCP流共享,令y=∑xi(i=1,...,N)為總發(fā)送速率。假設(shè)該條鏈路的服務(wù)速率(鏈路容量)為C,緩存容量足夠大能保證鏈路完全被利用。并假設(shè)總發(fā)送速率大于鏈路的服務(wù)速率,即y>C,因此,丟棄概率p0滿足如下關(guān)系式 (1-p0)y=C(3) 那么,由(2)和(3),可知 令 其中,Req為N個TCP流RTT的調(diào)和平均值。
從(4)和(5),可以得到 由于測量到的分組丟失率可以近似地視為最近時段內(nèi)穩(wěn)定的分組丟棄概率,即l(k)≈p0,令則方程(6)可以改寫為 N=ReqCf(l(k)) (7) 這里,將f(·)稱為計算分組丟棄概率的調(diào)節(jié)因子。
方程(7)表明,要估計TCP連接數(shù)N,只需要知道N個TCP流的RTT的調(diào)和平均值Req, 而不需要知道單個TCP流的RTT。如果Req的值可以事先測量出來并且始終在某個穩(wěn)定值附近緩慢地變化,那么,可以忽略Req的時變性質(zhì)而估計出TCP連接數(shù)。
(2)參數(shù)優(yōu)化器 本二階系統(tǒng)的閉環(huán)傳遞函數(shù)為 上式中K是靜態(tài)靈敏度,τ是時間常數(shù),ζ是阻尼系數(shù)。
阻尼系數(shù)ζ影響二階系統(tǒng)的輸出。工程上把ζ<1,ζ=1,和ζ>1的系統(tǒng)分別稱為欠阻尼、臨界阻尼和過阻尼系統(tǒng)。ζ太大則過渡過程時間太長,不利于控制;但ζ太小則振蕩劇烈,過渡過程時間也隨之變長,同樣不利于控制。因此ζ值的選擇就很重要。通常把ζ=0.707的情況稱為二階最優(yōu)模型。對于ζ<1,系統(tǒng)的階躍響應(yīng)為 從控制的角度來看,當(dāng)t→∞,y(t)→1時,系統(tǒng)的靜態(tài)誤差趨近于0。假設(shè)在比例AQM控制中總能滿足K≤1的條件(在后面將看到這個假設(shè)實際上是恒成立的),令y(∞)=1,那么系統(tǒng)的靜態(tài)誤差ess和過渡過程時間ts(允許誤差為2%,|y(ts)-y(∞)|=0.02y(∞))分別為 ess=1-K(9) 系統(tǒng)靜態(tài)誤差反應(yīng)了系統(tǒng)控制的精度,過渡過程時間刻畫了系統(tǒng)的響應(yīng)速度。
據(jù)圖1所示的TCP/AQM控制系統(tǒng)框圖,用γ表示比例AOPC控制器的控制參數(shù),則我們可以得到TCP/AOPC控制系統(tǒng)的閉環(huán)傳遞函數(shù)為 其中,靜態(tài)靈敏度K,時間常數(shù)τ,阻尼系數(shù)ζ分別為 TCP/AOPC的參數(shù)優(yōu)化原理則是基于二階最優(yōu)模型,通過調(diào)節(jié)控制系數(shù)γ來保證系統(tǒng)的阻尼系數(shù)ζ=0.707。這種方法在控制理論里面稱為極點配置法。
由可以得到在網(wǎng)絡(luò)負(fù)載預(yù)估模塊中,我們得到了激活的TCP連接數(shù)N的估計方法,將方程(7)代入上式,得到 方程(12)給出TCP/AOPC控制系統(tǒng)的控制律。AOPC控制參數(shù)γ的調(diào)節(jié)依賴于網(wǎng)絡(luò)負(fù)載預(yù)估組件測量到的平均分組丟失率。另外,盡管單個TCP流的RTT變化可能會出現(xiàn)很大的波動,但是從整個網(wǎng)絡(luò)來看,所有TCP流的調(diào)和平均值是緩慢時變的,不會出現(xiàn)很大的震蕩。從式(12)中可以看到調(diào)和平均值Req對控制參數(shù)γ的影響很小。例如,假設(shè)當(dāng)前測量到的分組丟失率l(k)=0.01,鏈路容量為2500分組數(shù)/秒,當(dāng)Req=0.2秒時,參數(shù)γ=2.625(10)-4,當(dāng)Req=0.15秒時,γ=3.5(10)-4。該例表明控制參數(shù)γ不敏感于實際網(wǎng)絡(luò)中RTT的擾動。
參見圖2,圖2本發(fā)明的流程圖。其具體步驟如下 步驟(1)在路由器上建立一個自適應(yīng)的比例控制器,該控制器采用測量平均分組丟失率來實時調(diào)節(jié)控制器參數(shù)以適應(yīng)動態(tài)變化的網(wǎng)絡(luò)流量。
步驟(2)初始化參數(shù)和變量。
步驟(3)判斷當(dāng)前系統(tǒng)時刻是否達(dá)到lastTime+T,如果已到達(dá),則執(zhí)行步驟(4),否則執(zhí)行步驟(9); 步驟(4)測量當(dāng)前的分組丟失率l(k), 步驟(5)計算平均分組丟失率l(k),l(k)=w*l(k)+(1-w)*l(k); 步驟(6)計算控制器調(diào)節(jié)因子f, 步驟(7)更新控制器參數(shù)γ, 步驟(8)把lastTime賦值為當(dāng)前系統(tǒng)時刻; 步驟(9)等待新分組的到來,如果有新的分組到達(dá),則執(zhí)行步驟(10),否則重復(fù)執(zhí)行步驟(3); 步驟(10)執(zhí)行比例控制器,獲得當(dāng)前的路由器隊列長度q(t),計算分組的丟棄概率p(t),p(t)=l(k)+γ(·)(q(t)-q0); 步驟(11)以概率p(t)丟棄該分組; 步驟(12)轉(zhuǎn)到步驟(3),重復(fù)執(zhí)行步驟(3)至步驟(11),直至結(jié)束。
我們在NS2(Network Simulator,Version 2)網(wǎng)絡(luò)仿真軟件上實現(xiàn)了AOPC主動隊列管理方法,并對它的性能進(jìn)行了詳細(xì)的測試。NS2網(wǎng)絡(luò)仿真軟件是一種通用的多協(xié)議網(wǎng)絡(luò)模擬軟件,它是在互聯(lián)網(wǎng)上公開發(fā)布的(http://www-mash.cs.berkeley.edu/ns/),目前已被網(wǎng)絡(luò)研究者們廣泛使用。采用圖3所示的拓?fù)浣Y(jié)構(gòu),S1~Sn為發(fā)送結(jié)點,D1~Dn為接收結(jié)點,R1、R2為路由器,Si~R1和R2~Di的傳輸延遲均勻分布在區(qū)間[10ms,50ms]上。R1→R2的鏈路構(gòu)成瓶頸,其鏈路容量為10Mbps。分組的平均大小為500字節(jié),目標(biāo)隊列長度設(shè)為50個分組大小,瓶頸路由器的緩存大小為200個分組。
為模擬AOPC在存在突發(fā)業(yè)務(wù)情況下的響應(yīng)性和穩(wěn)定性,我們在突然加重負(fù)載的情況下對AOPC進(jìn)行了檢驗。開始啟動100個FTP流,50秒后再次啟動100個FTP流來檢查各算法對突發(fā)業(yè)務(wù)的響應(yīng)性。AOPC的隊列長度變化過程分別如圖4所示。從圖4中可以看出,在突然加重負(fù)載的情況下,AOPC能夠在很快的時間內(nèi)將隊列穩(wěn)定在預(yù)先設(shè)定的隊列長度附近。
為了進(jìn)一步驗證和定量分析AOPC的隊列穩(wěn)定性,我們在不同TCP連接數(shù)情況下,統(tǒng)計出AOPC的平均隊列長度和隊列變化的標(biāo)準(zhǔn)差,并和已有的REM、PID、LRED和PIP等AQM控制器進(jìn)行了比較。圖5和圖6分別給出平均隊列長度和瞬時隊列長度標(biāo)準(zhǔn)差隨TCP連接數(shù)的變化圖。仿真實驗表明AOPC的性能超過了所有比較的算法,獲得了穩(wěn)定的隊列長度,并且隊列抖動很小。小的隊列抖動不僅意味著低延時抖動,還可以保證高的鏈路利用率。
最后,為模擬實際網(wǎng)絡(luò)流量,采用四種類型的網(wǎng)絡(luò)流基于TCP Reno的長期FTP流和短期HTTP流,基于UDP的CBR流和服從指數(shù)分布的ON/OFF流。其中,F(xiàn)TP會話存活于整個仿真過程中。HTTP流生命期較短,它請求的平均時間間隔為1秒,請求的頁面大小為1000字節(jié)。CBR流的分組大小為500字節(jié),發(fā)送間隔為0.08秒,其處于ON和OFF狀態(tài)的時間分別為2秒和1秒,處于ON狀態(tài)下的發(fā)送速率為64Kbps。仿真時間為100秒。隊列的變化過程如圖7所示。仿真結(jié)果表明,在存在Web流的高度動態(tài)的網(wǎng)絡(luò)情景下,AOPC仍能表現(xiàn)出優(yōu)越的穩(wěn)定性能。
權(quán)利要求
1.一種基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法,包括以下步驟
在路由器上建立一個自適應(yīng)的比例控制器;
測量路由器的分組丟失率;
根據(jù)路由器分組丟失率計算路由器的加權(quán)平均分組丟失率;
根據(jù)路由器的加權(quán)平均分組丟失率計算路由器的分組丟棄概率,根據(jù)分組丟棄概率丟棄分組。
2.根據(jù)權(quán)利要求1所述的基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法,所述路由器的分組丟失率為
上式中l(wèi)(k)為第k次的分組丟失率,它是第k次的分組丟失率等于前M個測量周期時間內(nèi)被丟失的數(shù)據(jù)總量與到達(dá)的數(shù)據(jù)總量的比值;D(i)為第i個周期丟失的數(shù)據(jù)包的個數(shù);A(i)為第i個周期到達(dá)的數(shù)據(jù)包的個數(shù)。
3.根據(jù)權(quán)利要求2所述的基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法,所述路由器的加權(quán)平均分組丟失率為
上式中w是加權(quán)系數(shù)。
4.根據(jù)權(quán)利要求1所述的基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法,所述路由器的分組丟棄概率為
上式中q(t)為路由器當(dāng)前的緩沖隊列長度;q0為預(yù)先設(shè)定的目標(biāo)隊列長度;γ(·)為比例控制參數(shù)。
全文摘要
本發(fā)明公開了一種基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法,包括以下步驟在路由器上建立一個自適應(yīng)的比例控制器;測量路由器的分組丟失率;根據(jù)路由器分組丟失率計算路由器的加權(quán)平均分組丟失率;根據(jù)路由器的加權(quán)平均分組丟失率計算路由器的分組丟棄概率,根據(jù)分組丟棄概率丟棄分組。本發(fā)明具有適應(yīng)性強、魯棒性高、算法實現(xiàn)簡單的優(yōu)越性能,在實現(xiàn)主動隊列管理時可保證較高的鏈路利用率,同時減小了排隊延時。
文檔編號H04L12/56GK101175031SQ200710034960
公開日2008年5月7日 申請日期2007年5月21日 優(yōu)先權(quán)日2007年5月21日
發(fā)明者王建新, 亮 榮 申請人:中南大學(xué)