專利名稱:一種基于速率和隊列長度的無線路由器主動隊列管理方法
技術(shù)領域:
本發(fā)明屬于路由器隊列管理和擁塞控制領域,涉及一種基于速率和隊列長度的無線路由器主動隊列管理方法。
背景技術(shù):
網(wǎng)絡擁塞控制是近十幾年來一個熱門的研究話題。經(jīng)過實踐證明,在傳統(tǒng)網(wǎng)絡環(huán)境下,TCP端到端擁塞控制機制能夠有效的防止擁塞崩潰現(xiàn)象的發(fā)生。然而傳統(tǒng)的端到端擁塞控制機制在公平性、端到端延時、鏈路利用率以及發(fā)生擁塞后恢復正常工況的響應性等指標等方面效率低下,網(wǎng)絡服務質(zhì)量也得不到很好的保證。所以主動隊列管理(ActiveQueue Management, AQM)被推薦部署在網(wǎng)絡中間節(jié)點(如路由器)上來增強端到端擁塞控制機制性能。 主動隊列管理方法的主要技術(shù)要求包括(I)提供高的網(wǎng)絡吞吐量,提高網(wǎng)絡帶寬利用率;(2)降低網(wǎng)絡端到端時延;(3)保證較高的魯棒性和響應性;(4)方法簡單高效,便于推廣和擴展,能部署到實際網(wǎng)絡中并可以適應不同的網(wǎng)絡環(huán)境?,F(xiàn)有的主動隊列管理方法中,由S.Floyd最早提出的隨機早期檢測(RED)方法應用最廣泛,在征求意見文件Request for Comment (RFC) 2309中被推薦為AQM唯一候選算法。但是隨著實驗研究的深入,人們逐漸發(fā)現(xiàn)RED算法本身存在著很多不完善的地方,如穩(wěn)定性不理想,對參數(shù)選取敏感等。所以針對RED算法有著很多改進的版本,比如self-configuring RED (自配置 RED)、ARED (自適應 RED)、loss ratio based RED (基于丟包速率的RED)。這些改進的RED算法在一定程度上提升了 RED算法在不同網(wǎng)絡情形下的性能。C. V. Hollot等人在TCP流量控制動態(tài)非線性模型基礎上提出了包含PI (比例積分)控制器的AQM。雖然PI控制器能夠克服RED的部分局限,但是PI控制器魯棒性較差,不適應復雜多變的網(wǎng)絡環(huán)境。目前AQM方法有兩個主要的問題尚未得到完滿解決(1)大多數(shù)現(xiàn)有AQM方法是針對有線網(wǎng)絡環(huán)境設計的,在無線網(wǎng)絡環(huán)境下會導致網(wǎng)絡服務質(zhì)量下降;(2)大多數(shù)現(xiàn)有AQM方法沒有自適應性,尤其算法中的參數(shù)多為靜態(tài)參數(shù),需要經(jīng)過在經(jīng)驗基礎上的選擇才能夠滿足特定的網(wǎng)絡環(huán)境。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)的不足,提供一種能夠保證高鏈路利用率和低傳輸時延的基于速率和隊列長度的無線路由器主動隊列管理方法,能夠適應高誤碼率和網(wǎng)絡容量變化的動態(tài)復雜有線-無線異構(gòu)網(wǎng)絡環(huán)境。基于速率和隊列長度的無線路由器主動隊列管理方法,共分為入隊模塊,更新模塊,丟棄模塊和出隊模塊四個模塊,方法的步驟如下步驟(I):初始化,等待新的數(shù)據(jù)分組到達;步驟(2):當新的數(shù)據(jù)分組到達后,如果現(xiàn)有緩存區(qū)隊列長度Q(t)小于緩存區(qū)最大隊列長度QMax,轉(zhuǎn)到步驟(3);如果現(xiàn)有緩存區(qū)隊列長度Q(t)等于緩存區(qū)最大隊列長度Qtfa,轉(zhuǎn)到步驟(11);步驟(3):數(shù)據(jù)分組入隊,更新當前路由器緩存區(qū)隊列長度Q(t);步驟(4):根據(jù)下面公式rin(t) = (l-e^T/K)l/AT+e^T/Krin(tpre)估計緩存區(qū)入隊速率,其中e是自然常數(shù),rin(t)為入隊速率估計值,Λ T是更新時間,K為調(diào)節(jié)常數(shù),tpre為前一次估計算法執(zhí)行時刻;步驟(5):判斷當前系統(tǒng)時間和前一次丟棄概率更新時間的差值是否大于AT,是則轉(zhuǎn)到下一步,否則轉(zhuǎn)到步驟(8);
·
步驟(6):根據(jù)下面公式計算當前更新時間= Te^1' ⑴_r—(0 丨其中e是自然常數(shù),T為平均的往返時間Round-Trip Time, δ為更新時間調(diào)整常數(shù),rin(t)和Irat⑴為入隊速率和出隊速率估計值;步驟(7):根據(jù)下列公式P(t) = I- Θ I⑴P (t) =p (tpre) + y [ I rin (t) -rout (t) | +Qmax/Q (t) -I]計算分組丟棄概率,其中P (t)為t時刻緩存區(qū)分組丟棄概率,Θ和Y為調(diào)節(jié)丟棄概率變化的常數(shù);步驟(8):隨機產(chǎn)生一個服從(0,I)上均勻分布的隨機變量P,如果轉(zhuǎn)到步驟(9);否則轉(zhuǎn)到步驟(11);步驟(9):數(shù)據(jù)分組出隊,根據(jù)下列公式rout (t) = (Ι-e—碟)I/Δ T+e_域rout (tpre)估計此時刻緩存區(qū)出隊速率,轉(zhuǎn)到步驟(12),其中e是自然常數(shù),Irat (t)為出隊速率估計值,AT是當前更新時間,K為調(diào)節(jié)常數(shù),tpre為前一次估計算法執(zhí)行時刻;步驟(10):更新當前路由器緩存區(qū)隊列長度Q(t);步驟(11):丟棄該數(shù)據(jù)分組;步驟(12):轉(zhuǎn)到步驟(2),重復步驟(2)到步驟(11),直至結(jié)束。本發(fā)明具有高適應性和高魯棒性,在動態(tài)復雜的有線-無線異構(gòu)網(wǎng)絡環(huán)境下,具備在保證較高的鏈路利用率的條件下減小端到端時延的特點。
圖I為本發(fā)明的模塊示意圖;圖2為本發(fā)明的軟件流程圖;圖3為本發(fā)明的仿真實驗拓撲圖;圖4為本發(fā)明中二態(tài)馬爾科夫錯誤模型示意圖;圖5為本發(fā)明中鏈路利用率隨時間的變化圖;圖6為本發(fā)明中端到端時延隨時間的變化圖。
具體實施方式
本發(fā)明為一種無線路由器主動隊列管理方法,可稱之為基于速率和隊列長度的主動隊列管理方法(NRAQM)。目的是得到一種能夠有效適應有線-無線異構(gòu)網(wǎng)絡環(huán)境的主動隊列管理方法。仿真實驗結(jié)果表明,這種主動隊列管理方法能夠有效適應有線-無線網(wǎng)絡的時變特性,有良好的綜合性能?;谒俾屎完犃虚L度的無線路由器主動隊列管理方法,共分為入隊模塊,更新模塊,丟棄模塊和出隊模塊四個模塊,模塊示意圖如圖I所示。本發(fā)明的軟件流程如圖2所示,其中具體步驟如下步驟(I):初始化,等待新的數(shù)據(jù)分組到達; 步驟(2):當新的數(shù)據(jù)分組到達后,如果現(xiàn)有緩存區(qū)隊列長度Q(t)小于緩存區(qū)最大隊列長度Qlax,轉(zhuǎn)到步驟(3);如果現(xiàn)有緩存區(qū)隊列長度Q(t)等于緩存區(qū)最大隊列長度Qtfa,轉(zhuǎn)到步驟(11);步驟(3):數(shù)據(jù)分組入隊,更新當前路由器緩存區(qū)隊列長度Q(t);步驟(4):根據(jù)下面公式rin(t) = (l-e^T/K)l/AT+e^T/Krin(tpre),估計緩存區(qū)入隊速率,其中e是自然常數(shù),rin(t)為入隊速率估計值,Λ T是更新時間,K為調(diào)節(jié)常數(shù),tpre為前一次估計算法執(zhí)行時刻;步驟(5):判斷當前系統(tǒng)時間和前一次丟棄概率更新時間的差值是否大于AT,是則轉(zhuǎn)到下一步,否則轉(zhuǎn)到步驟(8);步驟(6):根據(jù)下面公式計算當前更新時間
AJ1 = j^U)-。⑴丨其中e是自然常數(shù),T為平均的往返時間Round-Trip Time, δ為更新時間調(diào)整常數(shù),rin(t)和Irat⑴為入隊速率和出隊速率估計值;步驟(7):根據(jù)下列公式P(t) = I- Θ I⑴P (t) =p (tpre) + y [ I rin (t) -rout (t) | +Qmax/Q (t) -I]計算分組丟棄概率,其中P (t)為t時刻緩存區(qū)分組丟棄概率,Θ和Y為調(diào)節(jié)丟棄概率變化的常數(shù);步驟(8):隨機產(chǎn)生一個服從(0,I)上均勻分布的隨機變量P,如果轉(zhuǎn)到步驟(9);否則轉(zhuǎn)到步驟(11);步驟(9):數(shù)據(jù)分組出隊,根據(jù)下列公式rout (t) = (1-θ_δτ/κ) I / Δ T+e^T/Kr0Ut(tpre)估計此時刻緩存區(qū)出隊速率,轉(zhuǎn)到步驟(12),其中e是自然常數(shù),Irat (t)為出隊速率估計值,AT是當前更新時間,K為調(diào)節(jié)常數(shù),tpre為前一次估計算法執(zhí)行時刻;步驟(10):更新當前路由器緩存區(qū)隊列長度Q(t);步驟(11):丟棄該數(shù)據(jù)分組;步驟(12):轉(zhuǎn)到步驟(2),重復步驟(2)到步驟(11),直至結(jié)束。本主動隊列管理方法的核心是通過利用估計的緩存器入隊速率和出隊速率、以及緩存器隊列實時長度來控制調(diào)整數(shù)據(jù)分組丟棄概率,并同時利用估計的緩存區(qū)入隊速率和出隊速率來調(diào)整數(shù)據(jù)分組丟棄概率更新的時間,來有效地提升網(wǎng)絡的性能。本主動隊列管理方法主要分為四個模塊入隊模塊、更新模塊、丟棄模塊和出隊模塊。其中具體各個模塊功能如下所述入隊模塊主要功能是更新當前路由器緩存區(qū)隊列長度和估計緩存區(qū)入隊速率,主要包含上述步驟(2),步驟(3),步驟(4);更新模塊是本發(fā)明的核心模塊,主要包含上述步驟(5),步驟(6),步驟(7);丟棄模塊主要功能是以P(t)的概率對緩存區(qū)內(nèi)的數(shù)據(jù)分組做丟棄操作,主要包含上述步驟(8),步驟(11);出隊模塊主要功能是當數(shù)據(jù)分組出隊后更新隊列長度和估計緩存區(qū)出隊速率,主要包含上述步驟(9),步驟(10)。實施例本實施例在NS2 (Network Simulator, Version2)網(wǎng)絡仿真軟件上實現(xiàn)了一種基于速率和隊列長度的主動隊列管理方法(NRAQM),并對它的性能進行了詳細測試。NS2網(wǎng)絡仿真軟件由UC Berkeley大學開發(fā)而成,是針對網(wǎng)絡技術(shù)應用測試的開源免費軟件模擬平臺。同時NS2是目前學術(shù)界廣泛使用的一種網(wǎng)絡模擬軟件,通過該平臺所得出的研究結(jié)果也是被學術(shù)界所普遍認可的。采用典型的杠鈴型拓撲結(jié)構(gòu),如圖3所示。其中η條數(shù)據(jù)流共用一條瓶頸鏈路。W (1),…,W(n)為發(fā)送節(jié)點,M (1),…,M(n)為接收節(jié)點,R和BS為路由器。數(shù)據(jù)發(fā)送端ff(l),ff(2), -,ff(n)到R之間均為有線鏈路。數(shù)據(jù)接收端M(1),M(2),···,M(n)和基站BS之間均為無線鏈路。在實施例中以TCP-Reno為缺省傳輸層協(xié)議。瓶頸鏈路緩存區(qū)隊列長度為20個數(shù)據(jù)包。所有有線鏈路的帶寬設置為10Mbps。所有鏈路傳輸時延設置為10ms。為了驗證本發(fā)明在復雜網(wǎng)絡情形下的魯棒性。將仿真的環(huán)境設置為一個包含流量變化、誤碼率變化和帶寬變化的復雜情形。整個仿真實驗持續(xù)60秒。開始10秒鐘內(nèi),基于TCP的FTP業(yè)務流數(shù)目從O增加到100,同時每個FTP流持續(xù)時間為50秒,所有基于TCP的FTP業(yè)務流在實驗開始60秒鐘后都停止。無線鏈路帶寬會在2Mbps和IlMbps之間隨機變化。同時為了更準確的表現(xiàn)無線鏈路的誤碼率變化特點,采用了二態(tài)馬爾科夫錯誤模型,如圖3所示。其中平均誤碼率P可由下列公式計算
權(quán)利要求
1.一種基于速率和隊列長度的無線路由器主動隊列管理方法,其特征在于共分為入隊模塊,更新模塊,丟棄模塊和出隊模塊四個模塊,方法的步驟如下 步驟(I):初始化,等待新的數(shù)據(jù)分組到達; 步驟(2):當新的數(shù)據(jù)分組到達后,如果現(xiàn)有緩存區(qū)隊列長度Q(t)小于緩存區(qū)最大隊列長度QMax,轉(zhuǎn)到步驟(3);如果現(xiàn)有緩存區(qū)隊列長度Q(t)等于緩存區(qū)最大隊列長度QMax,轉(zhuǎn)到步驟(11); 步驟(3):數(shù)據(jù)分組入隊,更新當前路由器緩存區(qū)隊列長度Q(t); 步驟(4):根據(jù)下面公式 rJt) = (l~e-ATiK)/AT+e^Kr!n(tiJ^ 估計緩存區(qū)入隊速率,其中e是自然常數(shù),rin(t)為入隊速率估計值,AT是更新時間,K為調(diào)節(jié)常數(shù),tpre為前一次估計算法執(zhí)行時刻; 步驟(5):判斷當前系統(tǒng)時間和前一次丟棄概率更新時間的差值是否大于ΛΤ,是則轉(zhuǎn)到下一步,否則轉(zhuǎn)到步驟(8); 步驟出)根據(jù)下面公式計算當前更新時間 AJ" 二及-⑴ ⑴I 其中e是自然常數(shù),T為平均的往返時間Round-Trip Time, δ為更新時間調(diào)整常數(shù),rin(t) rout (t)為入隊速率和出隊速率估計值; 步驟(7):根據(jù)下列公式 P(t) = I- Θ -p(t) p(t) = p (tpre) + y [|rin(t)-rout(t) I+Q眶/Q (t)-I] 計算分組丟棄概率,其中P(t)為t時刻緩存區(qū)分組丟棄概率,Θ和γ為調(diào)節(jié)丟棄概率變化的常數(shù); 步驟(8):隨機產(chǎn)生一個服從(0,1)上均勻分布的隨機變量P,如果轉(zhuǎn)到步驟(9);否則轉(zhuǎn)到步驟(11); 步驟(9):數(shù)據(jù)分組出隊,根據(jù)下列公式 raJt) = (l-e^K)VAT+e-^\it(tpJ, 估計此時刻緩存區(qū)出隊速率,轉(zhuǎn)到步驟(12),其中e是自然常數(shù),Iwt(t)為出隊速率估計值,AT是當前更新時間,K為調(diào)節(jié)常數(shù),tpre為前一次估計算法執(zhí)行時刻; 步驟(10):更新當前路由器緩存區(qū)隊列長度Q(t); 步驟(11):丟棄該數(shù)據(jù)分組; 步驟(12):轉(zhuǎn)到步驟(2),重復步驟⑵到步驟(11),直至結(jié)束。
全文摘要
本發(fā)明公開了一種基于速率和隊列長度的無線路由器主動隊列管理方法。本發(fā)明共包括四個模塊入隊模塊,出隊模塊,更新模塊和丟棄模塊,根據(jù)緩存器入隊速率和出隊速率估計值,以及緩存器隊列實時長度來控制調(diào)整數(shù)據(jù)分組丟棄概率,并同時利用緩存區(qū)入隊速率和出隊速率估計值來調(diào)整數(shù)據(jù)分組丟棄概率更新時間。本發(fā)明具有高適應性和高魯棒性,在動態(tài)復雜的有線-無線異構(gòu)網(wǎng)絡環(huán)境下,具備在保證較高的鏈路利用率的條件下減小端到端時延的特點。
文檔編號H04L12/863GK102932840SQ20121045896
公開日2013年2月13日 申請日期2012年11月14日 優(yōu)先權(quán)日2012年11月14日
發(fā)明者徐正國, 尹翔, 孫優(yōu)賢 申請人:浙江大學