專利名稱:基于擁塞辨識的路由器隊列控制系統(tǒng)及其控制方法
技術領域:
本發(fā)明涉及的是一種網(wǎng)絡工程技術領域的系統(tǒng)及控制方法,具體是一種基于擁塞辨識的路由器隊列控制系統(tǒng)及其控制方法。
背景技術:
目前,計算機網(wǎng)絡擁塞控制技術受到了廣泛關注。傳統(tǒng)的TCP擁塞控制機制,作 用于終端系統(tǒng),在數(shù)據(jù)流量控制中所發(fā)揮的作用終究有限,所以必須讓網(wǎng)絡層參與到網(wǎng)絡 擁塞控制中。1998年,互聯(lián)網(wǎng)工程任務組(IETF)建議在路由器中采用主動隊列控制方法 (AQM),目的是從中間節(jié)點為終端提供更準確、更有效的擁塞信息。AQM的技術手段是把路 由器中的隊列長度控制在一個比較小的范圍內(nèi),并保持小幅抖動,從而減小傳輸時延及其 抖動,維持較高的鏈路利用率。比較著名的AQM控制方法有RED、BLUE、PI、PID、AVQ, REM等。RED (隨機早期檢 測)由S. Floyd等人提出,成功地實現(xiàn)了 AQM的技術目標。但是深入的研究發(fā)現(xiàn),RED存在 諸多的設計缺陷,主要是由于RED單純采用路由器平均隊列長度作為擁塞指示,無法快速 地反映瞬時隊列長度變化,所以其穩(wěn)態(tài)性能差,對負載敏感,同時,參數(shù)的設定也面臨很多 困難,始終無法在大范圍網(wǎng)絡環(huán)境中提供令人滿意的服務質(zhì)量。BLUE方法的設計思路是利 用網(wǎng)絡中的丟包事件以及鏈路空閑事件檢測擁塞狀況。但是,其采用的擁塞度量存在明顯 的信息滯后,不能夠避免隊列溢出和排空現(xiàn)象的頻繁發(fā)生,無法提供穩(wěn)定的路由器隊列長 度。PI和PID是基于隊列長度的AQM控制方法。這種方法的缺陷是很明顯的,那就是它們 的隊列調(diào)整速度較慢,期間會經(jīng)歷比較大的超調(diào),嚴重時隊列會溢出路由器緩存,或者隊列 出現(xiàn)排空現(xiàn)象,導致數(shù)據(jù)鏈路空閑。AVQ是完全基于數(shù)據(jù)流速的AQM方法,雖然能夠維持較 低的隊列長度,但是卻大大犧牲了帶寬的鏈路利用率。REM方法同時采用路由器帶寬和數(shù)據(jù) 包流速來探測網(wǎng)絡擁塞,具有良好的實用性,但是其缺點是探測擁塞的能力不足,參數(shù)固定 不變,環(huán)境適應性差。綜上,大部分AQM方法都面臨著各種缺點,其原因是它們采用的擁塞信息不能夠 全面地反映擁塞程度,所以產(chǎn)生了諸如路由器隊列響應慢,隊列不穩(wěn)定,環(huán)境適應性差等 問題。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術存在的上述不足,提供一種基于擁塞辨識的路由器隊列控制 系統(tǒng)及其控制方法,利用路由器中提供的隊列長度和數(shù)據(jù)流速,能夠有效辨識擁塞狀態(tài),提 高網(wǎng)絡性能。NS2平臺中的實驗表明,本發(fā)明能夠及時準確地辨識擁塞程度,有效提高路由 器中的隊列響應速度,增強隊列穩(wěn)定性,減小隊列抖動,減少數(shù)據(jù)丟包;在動態(tài)網(wǎng)絡中,取得 良好的適應性和魯棒性。本發(fā)明是通過以下技術方案實現(xiàn)的本發(fā)明涉及一種基于擁塞辨識的路由器隊列控制系統(tǒng),包括數(shù)據(jù)采集模塊、信息處理模塊、擁塞辨識模塊和隊列控制模塊,其中數(shù)據(jù)采集模塊與信息處理模塊相連接并將采集所得的隊列長度和數(shù)據(jù)流速等數(shù)據(jù)輸入信息處理模塊,信息處理模塊與擁塞辨識模塊 相連接并將經(jīng)過處理的信息作為擁塞辨識模塊的輸入用于辨識當前的擁塞狀態(tài),擁塞辨識 模塊與隊列控制模塊相連接并將當前的擁塞辨識結果傳遞給隊列控制模塊,從而選擇對應 的隊列控制策略。本發(fā)明涉及上述系統(tǒng)的控制方法包括以下步驟步驟一,數(shù)據(jù)采集模塊每隔一個采樣周期T,分別從路由器、網(wǎng)關或無線通信節(jié)點 的緩存中讀取當前時刻的數(shù)據(jù)包隊列長度q(k),同時在數(shù)據(jù)輸入端口,測量數(shù)據(jù)包流速 x(k);步驟二,數(shù)據(jù)采集模塊將測量所得的隊列長度q(k)和數(shù)據(jù)流速x(k)輸入信息處 理模塊。信息處理模塊進行如下處理將數(shù)據(jù)包隊列長度q(k)除以設定的隊列目標值q*(k),即依照下式計算隊列比值 Rq(k)Rq (k) = q(k)/q*(k);將數(shù)據(jù)包流速x(k)除以鏈路帶寬c(k),即依照下式計算流速比值Rx(k)Rx (k) = χ (k) /c (k);將隊列比值Rq(k)與1進行比較,如果Rq(k) > 1,則將預先定義的標志位flagq 置1 ;否則,置0 ;將流速比值Rx (k)與1進行比較,如果Rx (k) > 1,則將預先定義的標志位flagx 置1 ;否則,置0 ;步驟三,在路由器、網(wǎng)關或無線通信節(jié)點中,建立擁塞辨識模塊。它根據(jù)標志位 flagq和flagx以判斷網(wǎng)絡擁塞狀態(tài)。具體如下①當flagq = 0, flagx = 1時,表明隊列處于調(diào)整狀態(tài);從低于設定值的位置往上 升,將這種狀態(tài)記為Pl ;②當flagq = 1,flagx = 1時,表明此時擁塞加劇,導致隊列長度的急增,將這種 狀態(tài)記為P2 ;③當flagq = 1,flagx = 0時,表明隊列處于調(diào)整狀態(tài),從高于設定值的位置向下 降,將這種狀態(tài)記為P3;④當flagq = 0,flagx = 0時,表明控制過于強烈,造成隊列長度的驟降,將這種 狀態(tài)記為P4 ;步驟四,建立隊列控制模塊,根據(jù)擁塞辨識模塊獲得的信息,采用相應的控制方法 以調(diào)整隊列長度,具體如下①當狀態(tài)從P4轉移至Pl或者狀態(tài)從P2轉移至P3時,采用如下的控制方法u (k) =u (k-Ι) +η α {(1- λ ) [flagq (k) _1] + λ [flagx (k)-1]};其中,u為隊列控制器的輸出,α為控制步長,η為調(diào)整系數(shù),λ為加權系數(shù),取值 范圍為0 1。②當狀態(tài)從Pl轉移至Ρ2或者狀態(tài)從Ρ3轉移至Ρ4時,采用如下的控制方法u(k) = u(k-l)+na [flagq (k) _1];其中,調(diào)整系數(shù)η在每個采樣周期中減1。
③當狀態(tài)從Pl轉移至P4或者狀態(tài)從P3轉移至P2時,采用如下的控制方法u(k) = u(k-l)+na [flagx (k)-l];其中,調(diào)整系數(shù)η在每個采樣周期中加1。步驟五,根據(jù)隊列控制器的輸出u (k),按下式計算數(shù)據(jù)包的標記概率
權利要求
1.一種基于擁塞辨識的路由器隊列控制系統(tǒng),其特征在于,包括數(shù)據(jù)采集模塊、信息 處理模塊、擁塞辨識模塊和隊列控制模塊,其中數(shù)據(jù)采集模塊與信息處理模塊相連接并將 采集所得的隊列長度和數(shù)據(jù)流速等數(shù)據(jù)輸入信息處理模塊,信息處理模塊與擁塞辨識模塊 相連接并將經(jīng)過處理的信息作為擁塞辨識模塊的輸入用于辨識當前的擁塞狀態(tài),擁塞辨識 模塊與隊列控制模塊相連接并將當前的擁塞辨識結果傳遞給隊列控制模塊,從而選擇對應 的隊列控制方法。
2.一種根據(jù)權利要求1所述系統(tǒng)的控制方法,其特征在于,包括以下步驟步驟一,數(shù)據(jù)采集模塊每隔一個采樣周期T,分別從路由器、網(wǎng)關或無線通信節(jié)點的緩 存中讀取當前時刻的數(shù)據(jù)包隊列長度q(k),同時在數(shù)據(jù)輸入端口,測量數(shù)據(jù)包流速x(k);步驟二,數(shù)據(jù)采集模塊將測量所得的隊列長度q(k)和數(shù)據(jù)流速x(k)輸入信息處理模 塊,信息處理模塊進行如下處理將數(shù)據(jù)包隊列長度q(k)除以設定的隊列目標值q*(k),即依照下式計算隊列比值 Rq(k)Rq (k) =q(k)/q*(k);將數(shù)據(jù)包流速x(k)除以鏈路帶寬c(k),即依照下式計算流速比值Rx (k) Rx (k) = x(k)/c(k);將隊列比值Rq(k)與1進行比較,如果Rq(k) > 1,則將預先定義的標志位flagq置1 ; 否則,置0;將流速比值Rx (k)與1進行比較,如果Rx (k) > 1,則將預先定義的標志位flagx置1 ; 否則,置0;步驟三,在路由器、網(wǎng)關或無線通信節(jié)點中,建立擁塞辨識模塊,該擁塞辨識模塊根據(jù) 標志位flagq和flagx以判斷網(wǎng)絡擁塞狀態(tài);步驟四,建立隊列控制模塊,根據(jù)擁塞辨識模塊獲得的信息,采用相應的控制方法以調(diào) 整隊列長度;步驟五,根據(jù)隊列控制器的輸出u (k),按下式計算數(shù)據(jù)包的標記概率 = +1)];其中R為回路往返時間,T為采樣周期。
3.根據(jù)權利要求1所述的控制方法,其特征是,所述的步驟三具體包括以下步驟3. 1)當flagq = 0,flagx = 1時,表明隊列處于調(diào)整狀態(tài);從低于設定值的位置往上 升,將這種狀態(tài)記為Pl ;3. 2)當flagq = Lflagx = 1時,表明此時擁塞加劇,導致隊列長度的急增,將這種狀 態(tài)記為P2 ;3. 3)當flagq = 1,flagx = 0時,表明隊列處于調(diào)整狀態(tài),從高于設定值的位置向下 降,將這種狀態(tài)記為P3;3.4)當flagq = 0, flagx = 0時,表明控制過于強烈,造成隊列長度的驟降,將這種狀 態(tài)記為P4。
4.根據(jù)權利要求1所述的控制方法,其特征是,所述的步驟四具體包括以下步驟 4. 1)當狀態(tài)從P4轉移至Pl或者狀態(tài)從P2轉移至P3時,采用如下的控制方法 u(k) = u (k-1)+η α {(1-λ)[flagq(k)-1] + λ [flagx(k)-1]};其中,u為隊列控制器的輸出,α為控制步長,η為調(diào)整系數(shù),λ為加權系數(shù),取值范圍 為 1 ;·4. 2)當狀態(tài)從Pl轉移至Ρ2或者狀態(tài)從Ρ3轉移至Ρ4時,采用如下的控制方法 u(k) =u(k-l)+na [flagq(k)-l];其中調(diào)整系數(shù)η在每個采樣周期中減1 ; 4. 3)當狀態(tài)從Pl轉移至Ρ4或者狀態(tài)從Ρ3轉移至Ρ2時,采用如下的控制方法 u(k) = u(k-l)+na [flagx(k)-l];其中調(diào)整系數(shù)η在每個采樣周期中加1。
全文摘要
一種網(wǎng)絡工程技術領域的基于擁塞辨識的路由器隊列控制系統(tǒng)及其控制方法,包括數(shù)據(jù)采集模塊、信息處理模塊、擁塞辨識模塊和隊列控制模塊,該系統(tǒng)在每個采樣周期內(nèi),由數(shù)據(jù)采集模塊測量當前路由器的隊列長度q(k)和數(shù)據(jù)包流速x(k)。信息處理模塊計算隊列比值Rq(k)和流速比值Rx(k),并將隊列比值和流速比值與1進行比較,標記相應的標志位。擁塞辨識模塊根據(jù)標志位組合而成的4種不同狀態(tài)進行擁塞辨識,并將辨識結果提供給隊列控制模塊,從而采取相應的隊列控制方法,計算數(shù)據(jù)丟棄或者標記概率。本發(fā)明能辨識擁塞狀態(tài)并提供準確的隊列控制方法;能加快路由器隊列的收斂速度,減小抖動,減少數(shù)據(jù)丟包;同時適用于拓撲結構復雜的網(wǎng)絡環(huán)境以及參數(shù)時變的動態(tài)網(wǎng)絡。
文檔編號H04L12/56GK101997776SQ20101054843
公開日2011年3月30日 申請日期2010年11月18日 優(yōu)先權日2010年11月18日
發(fā)明者李榮先, 汪浩, 王紅雨, 田作華, 錢華新 申請人:無錫源清高新技術研究所有限公司;上海交通大學