專利名稱::基于實時路由器緩存占有率的主動隊列管理方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種與路由器當前緩存占有率相關(guān)聯(lián)的主動隊列管理方法,更具體地說,本發(fā)明涉及一種基于實時路由器緩存占有率的主動隊列管理方法。
背景技術(shù):
:在基于TCP/IP協(xié)議的以太網(wǎng)絡(luò)中,數(shù)據(jù)包是傳輸?shù)臄?shù)據(jù)單元。本發(fā)明中所有的數(shù)據(jù)傳輸單元一般都稱作數(shù)據(jù)包。由于以太網(wǎng)的搭建方法簡單、實施成本低,所以成為普遍應(yīng)用的網(wǎng)絡(luò)類型。而以太類網(wǎng)絡(luò)在面對高速網(wǎng)絡(luò)傳輸時存在以下問題(1)路由器存儲空間相對不足。(2)網(wǎng)絡(luò)帶寬容量不足。(3)路由器處理能力相對較弱。本發(fā)明主要關(guān)注路由器存儲空間相對不足的問題。因為路由器存儲空間不足的問題從而導(dǎo)致了網(wǎng)絡(luò)擁塞現(xiàn)象發(fā)生。一般來說,當網(wǎng)絡(luò)中存在過多的數(shù)據(jù)包時,網(wǎng)絡(luò)的性能就會下降,這種現(xiàn)象稱為擁塞。在網(wǎng)絡(luò)發(fā)生擁塞時,會導(dǎo)致吞吐量下降,嚴重時會發(fā)生"擁塞崩潰"現(xiàn)象。為了解決這種擁塞現(xiàn)象所帶來的吞吐量急劇下降、丟包率過高等網(wǎng)絡(luò)性能下降的問題,現(xiàn)在網(wǎng)絡(luò)路由器中普遍采用"棄尾方法"。當路由器因緩沖區(qū)不能及時處理接收的數(shù)據(jù)包時,會對暫時未能處理的數(shù)據(jù)包進行排隊。按照棄尾方法將隊列長度相關(guān)的參數(shù)進行預(yù)先設(shè)定,并將隊列長度的參數(shù)與預(yù)定的閾值進行比較,若大于閾值,則開始丟棄大于閾值之后的數(shù)據(jù)包。"棄尾"的意思即從隊列尾部開始丟棄。但是棄尾方法存在導(dǎo)致某個數(shù)據(jù)流進入死鎖狀態(tài),讓路由器緩存長期處于滿隊列狀態(tài),引起TCP流全局同步等問題。因此,為了要防止全局同步的出現(xiàn),有學者提出預(yù)見式地丟棄數(shù)據(jù)包,即主動隊列管理方法。在意見征詢(RequestforComment(RFC))2309提出了隨機早期;險測(RED)的方法,該方法后來被業(yè)內(nèi)認為是主動隊列管理方法中的經(jīng)典方法,并被廣泛使用。RFC2309提出的RED方法是路由器通過檢測路由器緩存中隊列的平均長度來探測擁塞。一旦路由器發(fā)現(xiàn)即將擁塞,就隨機選擇源端,并通知源端當前網(wǎng)絡(luò)發(fā)生擁塞,使它們在隊列擁塞之前降低發(fā)送數(shù)據(jù)速率,起到緩解網(wǎng)絡(luò)擁塞的作用,實驗證明該方法是有效的,并被廣泛應(yīng)用于高端路由器中。RED方法主要由兩個部分組成第一部分計算平均隊列長度,該平均隊列長度為RED方法所特殊規(guī)定的參數(shù),用來描述網(wǎng)絡(luò)中允許流量擁塞的程度;第二部分計算數(shù)據(jù)包丟棄/標記的概率,以決定在當前擁塞程度下路由器對數(shù)據(jù)包進行丟棄/標記的概率。這兩部分中權(quán)值^和閾值的設(shè)置最為關(guān)鍵。RED方法也引起了很多學者的興趣,由于RED方法有不完善的之處,所以針對RED方法的改進方法也有^艮多。中國專利公開號CN1716914,公開日為2006年1月4日,專利申請?zhí)枮?00510081707.0,
專利名稱:為"用于業(yè)務(wù)混合的公平加權(quán)隨機早期檢測"。描述了一種加權(quán)隨機早期檢測(WRED)方法。該WRED方法對通信系統(tǒng)的緩沖器中的響應(yīng)TCP和無響應(yīng)UDP業(yè)務(wù)提供了公平處理的機制。由于TCP業(yè)務(wù)針對擁塞的發(fā)生作出響應(yīng),而UDP業(yè)務(wù)并不對其作出響應(yīng),因此如果不進行控制,UDP將獨占緩沖器帶寬。該發(fā)明通過將擁塞控制方法分別應(yīng)用于TCP和UDP業(yè)務(wù)而解決了所述問題。針對UDP業(yè)務(wù)的丟棄閾值以這樣的方式被動態(tài)地修改將UDP業(yè)務(wù)限制于所述緩沖器的可用帶寬的被供給的百分比,而傳統(tǒng)的WRED方法被應(yīng)用于TCP業(yè)務(wù)。中國專利公開號CN1874299,公開日為2006年12月6日,專利申請?zhí)枮?00610012141.0,
專利名稱:為"基于滑模變結(jié)構(gòu)控制的路由主動隊列管理方法"。該發(fā)明屬于路由器隊列管理和擁塞控制領(lǐng)域,其特點在于在設(shè)定的激活的會話數(shù)、隊列長度目標值、鏈路容量、往返時延范圍內(nèi)的小隊列長度情況下,采用比例控制和恒值控制相結(jié)合的、滑模參數(shù)w=2的滑模變結(jié)構(gòu)控制系統(tǒng)來控制分組丟棄概率。該發(fā)明具有適應(yīng)性、魯棒性比PI控制器強、在實現(xiàn)主動隊列管理時可保證較高鏈路利用率的同時減小端到端延時的特點。中國專利公開號CN101175031,公開日為2008年5月7日,專利號申請?zhí)枮?00710034960.X,
專利名稱:為"一種基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法,,。該發(fā)明公開了一種基于二階最優(yōu)模型和自適應(yīng)計算的路由器主動隊列管理方法,包括以下步驟在路由器上建立一個自適應(yīng)的比例控制器;測量路由器的分組丟失率;根據(jù)路由器分組丟失率計算路由器的加權(quán)平均分組丟失率;根據(jù)路由器的加權(quán)平均分組丟失率計算路由器的分組丟棄概率,根據(jù)分組丟棄概率丟棄分組。本發(fā)明具有適應(yīng)性強、魯棒性高、方法實現(xiàn)簡單的優(yōu)越性能,在實現(xiàn)主動隊列管理時可保證較高的鏈路利用率,同時減小了排隊延時。中國專利公開號CN101388833,公開日為2009年3月18日,專利號申請?zhí)枮?00810029581.6,
專利名稱:為"基于自適應(yīng)閾值機制的網(wǎng)絡(luò)控制方法"?;谧赃m應(yīng)閾值機制的網(wǎng)絡(luò)控制方法(簡稱ATRED)是一種在路由器上實施的主動隊列管理方法。在ATRED中,最大閾值和最小閾值能夠才艮據(jù)當前的擁塞狀態(tài)在線調(diào)整,從而使方法的自適應(yīng)性和魯棒性增強,與傳統(tǒng)的尾丟棄和早期隨機檢測方法RED相比,ATRED方法能夠?qū)﹃犃袑嵤娏τ行У目刂疲龟犃姓袷帨p6小、更加平穩(wěn),從而改善系統(tǒng)性能,提供更加穩(wěn)定的網(wǎng)絡(luò)服務(wù)質(zhì)量。但是,目前對于RED方法的閾值設(shè)定主要依靠經(jīng)驗,并且設(shè)置為靜態(tài)參數(shù),這并不有利于RED方法應(yīng)對不同的網(wǎng)絡(luò)環(huán)境實施良好的網(wǎng)絡(luò)擁塞控制。所以,本發(fā)明結(jié)合路由器中的當前緩存占有率的實時變化,來自適應(yīng)調(diào)節(jié)參數(shù),從而完善了RED方法存在的其參數(shù)對網(wǎng)絡(luò)環(huán)境過于敏感的不足,而且也提高了RED方法估計擁塞的速度。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是克服了RED方法的閾值設(shè)定主要依靠經(jīng)驗,并且設(shè)置為靜態(tài)參數(shù),這并不有利于RED方法應(yīng)對不同的網(wǎng)絡(luò)環(huán)境實施良好的網(wǎng)絡(luò)擁塞控制的問題,提供了一種基于實時路由器緩存占有率的主動隊列管理方法(BORED)。為解決上述技術(shù)問題,本發(fā)明是采用如下技術(shù)方案實現(xiàn)的基于實時路由器緩存占有率的主動隊列管理方法,包括如下步驟相關(guān)參數(shù)的定義以及初始化;對于計算平均隊列的權(quán)值動態(tài)調(diào)整;等待至新的數(shù)據(jù)包到達準備進行下一步計算;根據(jù)當前緩存占有率的實時變化來調(diào)整參數(shù)和計算丟棄概率并以丟棄概率丟棄數(shù)據(jù)包。所述的才艮據(jù)當前緩存占有率的實時變化來調(diào)整參數(shù)包括如下步驟1.判斷42個數(shù)據(jù)包<緩存區(qū)的大小<100個數(shù)據(jù)包是否為真?如果為真,轉(zhuǎn)入當前緩存占有率〈0.6是否成立的判斷步驟2,如果不為真,則轉(zhuǎn)入緩存區(qū)的大小>100個數(shù)據(jù)包是否成立的判斷步驟3。2.判斷當前緩存占有率<0.6是否為真?如果為真,轉(zhuǎn)入計算最小閾值的另一種解的步驟4,如果不為真,則轉(zhuǎn)入計算最小閾值的一種解的步驟5。3.判斷緩存區(qū)的大小>100個數(shù)據(jù)包是否為真?如果為真,轉(zhuǎn)入判斷當前緩存占有率復(fù)6是否為真的步驟6,如果不為真,則轉(zhuǎn)入計算最小閾值的一種解的步驟5。4.計算最小閾值的另一種解,釆用公式m&40.6XB廠(5,X100)]/3計算得到,其中Bf為緩存區(qū)的大小,然后轉(zhuǎn)入判斷最小閾值的另一種解〈最小閾值的一種解是否為真的步驟8。5.計算最小閾值的一種解,采用公式a,,=(,argW血/ayx[C/(8x柳ea"—£,)]}/2計算得到,其中meaiv由t為平均數(shù)據(jù)包的大小,targetdela^為目標延遲時間,C為網(wǎng)絡(luò)鏈路容量,然后轉(zhuǎn)入判斷最小閾值的另一種解〈最小閾值的一種解是否為真的步-驟8。6.判斷當前緩存占有率<0.6是否為真?如果不為真,則轉(zhuǎn)入計算最小閾值的一種解的步驟5;如果為真,轉(zhuǎn)入計算最小閾值的另一種解的步驟7。7.計算最小閾值的另一種解,采用公式<formula>formulaseeoriginaldocumentpage8</formula>計算得到,其中Bf為緩存區(qū)的大小,Br為當前緩存占有率,然后轉(zhuǎn)入判斷最小閾值的另一種解〈最小閾值的一種解是否為真的步驟8。8.判斷最小閾值的另一種解〈最小閾值的一種解是否為真?如果為真,轉(zhuǎn)入計算平均隊列長度的最小閾值的步驟9,如果不為真,則轉(zhuǎn)入計算平均隊列長度的最小閾值的步驟IO。9.計算平均隊列長度的最小閾值,平均隊列長度的最小閾值等于最小閾值的一種解,然后轉(zhuǎn)入計算丟棄概率并以丟棄概率丟棄數(shù)據(jù)包的步驟。10.計算平均隊列長度的最小閾值,平均隊列長度的最小閾值等于最小闊值的另一種解,然后轉(zhuǎn)入計算丟棄概率并以丟棄概率丟棄數(shù)據(jù)包的步驟。技術(shù)方案中所述的對于計算平均隊列的權(quán)值(Wq)動態(tài)調(diào)整包括如下步驟1.判斷計算平均隊列的權(quán)值有沒有被設(shè)置初始值,計算平均隊列的權(quán)值沒有被設(shè)置初始值,則轉(zhuǎn)入給計算平均隊列的權(quán)值賦值的步驟2,當已被設(shè)置初始值時,則轉(zhuǎn)入計算平均隊列的柏J直是否為0的判斷步驟3。2.設(shè)置計算平均隊列的權(quán)值等于0,然后轉(zhuǎn)入計算計算平均隊列的權(quán)值的值的步驟4。3.判斷計算平均隊列的權(quán)值是否為0,計算平均隊列的權(quán)值為0,則轉(zhuǎn)入計算計算平均隊列的權(quán)值的值的步驟4。計算平均隊列的權(quán)值不為0,則轉(zhuǎn)入計算平均隊列的權(quán)值是否為-1的判斷步驟5。4.計算計算平均隊列的權(quán)值的值,采用^^式<formula>formulaseeoriginaldocumentpage8</formula>計算得到,其中Br為當前緩存占有率,C為網(wǎng)絡(luò)鏈路容量,exp為以e為底的指數(shù)函數(shù),e近似等于2.71828,然后轉(zhuǎn)入等待至新的數(shù)據(jù)包到達,準備進行下一步計算的步驟。5.判斷計算平均隊列的權(quán)值是否為-1,計算平均隊列的4又值為-1,則轉(zhuǎn)入計算計算平均隊列的權(quán)值的值的步驟6。計算平均隊列的權(quán)值不為-1,則轉(zhuǎn)入計算平均隊列的權(quán)值是否為-2的判斷步驟7。6計算計算平均隊列的權(quán)值的值,采用公式<formula>formulaseeoriginaldocumentpage8</formula>其中rtt為往返時間,C為網(wǎng)絡(luò)鏈路容量,exp為以e為底的指數(shù)函數(shù),e近似等于2.71828,然后轉(zhuǎn)入等待至新的數(shù)據(jù)包到達,準備進行下一步計算的步驟。7.判斷計算平均隊列的權(quán)值是否為-2,計算平均隊列的權(quán)值為-2,則轉(zhuǎn)入計算計算平均隊列的權(quán)值的值的步驟8。計算平均隊列的權(quán)值不為-2,則轉(zhuǎn)入等待至新的數(shù)據(jù)包到達,準備進行下一步計算的步驟。8.計算計算平均隊列的權(quán)值的值,采用公式Wq=(1.0-eXp(—/c))x(1/Br)計算得到,其中C為網(wǎng)絡(luò)鏈路容量,exp為以e為底的指數(shù)函數(shù),e近似等于2.71828,Br為當前緩存占有率。技術(shù)方案中所述的計算丟棄概率并以丟棄概率丟棄數(shù)據(jù)包包括如下步驟1.判斷平均隊列長度是否滿足平均隊列長度的最小闊值《平均隊列長度《平均隊列長度的最大閾值的條件,滿足則轉(zhuǎn)入計算臨時丟棄概率的步驟2,不滿足則轉(zhuǎn)入是否滿足平均隊列長度的最大闊值〈平均隊列長度《緩存區(qū)的大小條件的判斷步驟3。2.計算臨時丟棄概率,采用公式0—附/7PA=P^~~^計算得到,omaxwaXj—/w力,其中P,為最大丟棄概率,minth為平均隊列長度的最小閾值,maxth為平均隊列長度的最大閾值,(U為平均隊列長度,然后轉(zhuǎn)入計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)的步驟6。3.判斷平均隊列長度是否滿足平均隊列長度的最大閾值<平均隊列長度<緩存區(qū)的大小的條件,滿足則轉(zhuǎn)入計算臨時丟棄概率的步驟4,不滿足則轉(zhuǎn)入計算臨時丟棄概率的步驟5。4.計算臨時丟棄概率,臨時丟棄概率等于1,然后轉(zhuǎn)入計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)的步驟6。5.計算臨時丟棄概率,臨時丟棄概率等于0,然后轉(zhuǎn)入計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)的步驟6。6.計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù),每一個新的數(shù)據(jù)包到來時就在連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)的值上加1,然后轉(zhuǎn)入計算丟棄概率的步驟7。7.計算丟棄概率,采用公式P=Pb/(l-countxpb)計算得到,其中Pb為臨時丟棄概率,count為連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù),然后將數(shù)據(jù)包按照丟棄概率來丟棄達到擁塞控制。與現(xiàn)有技術(shù)相比本發(fā)明的有益效果是1.隨機早期檢測(RED)方法并沒有與路由器的緩存管理相結(jié)合,本發(fā)明所述的基于實時路由器緩存占有率的主動隊列管理方法(BORED),將隨機早期檢測(RED)方法與緩存管理方法相結(jié)合。2.RED方法的關(guān)鍵參lt配置為靜態(tài)參數(shù),本發(fā)明所述的BORED方法將其改善為參數(shù)可以依據(jù)網(wǎng)絡(luò)情況而自適應(yīng)調(diào)整。3.對比RED方法,本發(fā)明所述的BORED方法,在沒有影響實際到達數(shù)據(jù)包的情況下,降低了丟包率,節(jié)約了網(wǎng)絡(luò)資源,改善了網(wǎng)絡(luò)通信質(zhì)量。參閱圖5,為了檢驗本發(fā)明所述的BORED方法的性能,把本發(fā)明所述的BORED方法加載到NS-2仿真平臺上。仿真使用2.33版本的NS-2平臺,4喿作系統(tǒng)為RedHat9.0。圖中所表示的為在NS-2仿真平臺上搭建的模擬網(wǎng)絡(luò)擁塞的網(wǎng)絡(luò)環(huán)境,其中Sn表示實驗中采取n個業(yè)務(wù)源,包括n-m個FTP業(yè)務(wù)源和m個CBR業(yè)務(wù)源來模擬實際應(yīng)用中網(wǎng)絡(luò)通信的情況,所有業(yè)務(wù)源與路由器R,之間的鏈路容量為10Mbps,延遲時間為Oms到8ms之間;瓶頸鏈路位于路由器R!與路由器R2之間,鏈路容量為4.5Mbps,延遲時間為2ms;所有發(fā)送的韻:據(jù)均送往目的端與路由器R2之間的鏈路容量為10Mbps,延遲時間為2ms。使用以下一系列的實驗來說明本發(fā)明所述的BORED方法在不減少到達數(shù)據(jù)包個數(shù)的情況下,對于降低丟包率具有明顯的改善。實驗的前提為預(yù)設(shè)實驗的方法為兩種,觀察兩種方法在同樣網(wǎng)絡(luò)環(huán)境條件下的性能參數(shù)。路由器與目的端的鏈路帶寬為10M;最大丟棄概率P^=0.02;平均數(shù)據(jù)包的大小設(shè)置為1000個字節(jié)。實驗組1RED方法與本發(fā)明所述的BORED方法的過渡性能比較參數(shù)設(shè)置RED方法的參數(shù)設(shè)置計算平均隊列的權(quán)值w。=0.002;minth=13;maxth=39;路由器的緩存大小設(shè)置為P個數(shù)據(jù)包。由于本發(fā)明所述的BORED方法可以依據(jù)網(wǎng)絡(luò)環(huán)境的改變而自動配置并調(diào)節(jié)參^:,所以本發(fā)明所述的BORED方法不需要初始設(shè)置Wq,maxth和minth。仿真實驗持續(xù)時間為10秒。實驗組1里包含2個實驗,構(gòu)成1組對比實驗。由實驗組例1可以得到圖6與圖7,分別是RED方法與本發(fā)明所述的BORED方法的瞬時隊列長度和平均隊列長度的變化曲線,可以發(fā)現(xiàn)本發(fā)明所述的BORED方法的平均隊列曲線更加平滑,而且沒有RED方法在仿真實^r剛剛啟動時的上沖過程。而且在接下來的仿真時間里本發(fā)明所述的BORED方法的平均隊列長度更為平滑,幾乎沒有強烈的抖動。其相關(guān)的丟包率、到達數(shù)據(jù)包個數(shù)和平均延遲時間的數(shù)據(jù)在表l中??梢钥吹剑瑑煞N方法到達目的端的數(shù)據(jù)包是一致的,并且本發(fā)明所述的BORED方法的丟包率最低,盡管犧牲了一定的平均延遲時間。表1丟包率、到達數(shù)據(jù)包個數(shù)與平均延遲時間<table>tableseeoriginaldocumentpage10</column></row><table>實驗組2RED方法與本發(fā)明所述的BORED方法在不同網(wǎng)絡(luò)環(huán)境中加入突發(fā)流條件下的性能比專交參數(shù)設(shè)置RED方法的參數(shù)設(shè)置wq=0.002;由于本發(fā)明所述的BORED方法可以依據(jù)網(wǎng)絡(luò)環(huán)境的改變而自動配置并調(diào)節(jié)參數(shù),所以本發(fā)明所述的BORED方法不需要初始設(shè)置w,,maxth和minth。實驗組2里包含10個實—驗,構(gòu)成5組對比實—驗。環(huán)境設(shè)置設(shè)置網(wǎng)絡(luò)通信鏈接為4個,突發(fā)流6個,突發(fā)流中,F(xiàn)TP業(yè)務(wù)流4個,CBR業(yè)務(wù)流2個。實驗(a)突發(fā)流發(fā)送時間從6.1秒至6.6秒之間依次開始至10秒停止。實驗(b)突發(fā)流發(fā)送時間從40.1至40.6秒之間依次開始至70秒停止。實驗(c)突發(fā)流發(fā)送時間為每10秒一個循環(huán),每個循環(huán)中的第6.1秒至10秒之間發(fā)送突發(fā)流,第90秒至100秒之間不設(shè)突發(fā)流。實驗(d)突發(fā)流發(fā)送時間為每10秒一個循環(huán),第一個循環(huán)中的第6.1秒至10秒之間發(fā)送突發(fā)流;從第二個循環(huán)開始,每個循環(huán)中的第3.1秒至4.3秒之間、第6.1秒至10秒之間發(fā)送突發(fā)流,第95秒至100秒之間不設(shè)突發(fā)流。實驗(e)突發(fā)流為2次,第一次發(fā)送時間為從6.1秒至6.6秒之間依次開始至10秒停止;第二次為18.1秒至18.6秒依次開始至23秒結(jié)束。表2實驗參數(shù)配置<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table>其中,實驗(a)可以得到圖8與圖9,分別是RED方法與本發(fā)明所述的BORED方法在實驗(a)環(huán)境下的瞬時隊列長度和平均隊列長度的變化曲線??梢园l(fā)現(xiàn),本發(fā)明所述的BORED方法的瞬時隊列長度抖動次數(shù)少于RED方法,而且,其平均隊列曲線更為平滑。實驗(b)至實驗(e)中RED方法與BORED方法所表現(xiàn)的瞬時隊列長度和平均隊列長度的曲線變化趨勢與實驗(a)中是一致的,故不再重復(fù)。實驗組2的相關(guān)的丟包率、到達數(shù)據(jù)包個數(shù)和平均延遲時間的數(shù)據(jù)在表3中。由表3可以看出,實驗組2由實驗(a)至實驗(e)的實驗,表現(xiàn)了BORED方法在不同網(wǎng)絡(luò)環(huán)境中,不同的突發(fā)流的網(wǎng)絡(luò)環(huán)境中,都表現(xiàn)出了良好的特性??梢钥闯鯞ORED方法改善了RED方法參數(shù)過于敏感的不足,具有自適應(yīng)調(diào)節(jié)參數(shù)的功能,并起到了降低丟包率,節(jié)約網(wǎng)絡(luò)資源的效果。上述兩組實驗分別檢驗了本發(fā)明所述的BORED方法的性能,實驗組1主要檢驗了RED方法與本發(fā)明所述的BORED方法在10秒仿真時間內(nèi),該方法的過渡性能,驗證了本發(fā)明所述的BORED方法的啟動時間略快于RED方法,其平均隊列沒有上沖過程,且更平滑;實驗組2主要驗證了RED方法與本發(fā)明所述的BORED方法在不同網(wǎng)絡(luò)環(huán)境中加入突發(fā)流條件下的性能比較??梢钥吹?,本發(fā)明所述的BORED方法控制得到的丟包率明顯降低,但延遲時間略長于RED方法。實驗數(shù)據(jù)表明,不論在相對較短時間(25s)還是相對較長時間(100s)的仿真實驗中,本發(fā)明所述的BORED方法在沒有減少數(shù)據(jù)包到達數(shù)量的同時,降低了網(wǎng)絡(luò)丟包率,很好的避免了網(wǎng)絡(luò)擁塞,節(jié)約了網(wǎng)絡(luò)資源,其表現(xiàn)的綜合性能要優(yōu)于RED方法。其中,實驗組2中的實驗(e)主要驗證了當緩存大于IOO個數(shù)據(jù)包的情況。通過上述兩組實驗可以得出本發(fā)明所述的BORED方法在網(wǎng)絡(luò)突發(fā)的環(huán)境下,在不同網(wǎng)絡(luò)環(huán)境以及不同仿真條件下均取得了降低丟包率,提高網(wǎng)絡(luò)通信質(zhì)量的良好的性能。本發(fā)明所述的BORED方法達到了本發(fā)明的設(shè)計目標,該方法的參數(shù)根據(jù)網(wǎng)絡(luò)環(huán)境自適應(yīng)調(diào)整參數(shù)設(shè)置,而不是像其他方法由靜態(tài)參數(shù)配置調(diào)節(jié)方法控制網(wǎng)絡(luò)擁塞,并取得了良好的效杲,可以證明本發(fā)明所述的BORED方法具有自適應(yīng)、動態(tài)調(diào)整的能力,且其性能優(yōu)良。下面結(jié)合附圖對本發(fā)明作進一步的說明圖1為本發(fā)明所述的基于實時路由器緩存占有率的主動隊列管理方法(BORED)的功能流程示意框圖2為本發(fā)明所述的基于實時路由器緩存占有率的主動隊列管理方法中的對于參數(shù)Wq動態(tài)調(diào)整步驟的分解功能流程示意框圖3為本發(fā)明所述的基于實時路由器緩存占有率的主動隊列管理方法中的根據(jù)Br的實時變化來調(diào)整參數(shù)步驟的分解功能流程示意框圖4為本發(fā)明所述的基于實時路由器緩存占有率的主動隊列管理方法中的計算丟棄概率p并以丟棄概率P丟棄數(shù)據(jù)包步驟的分解功能流程示意框圖5為本發(fā)明所述的基于實時路由器緩存占有率的主動隊列管理方法在NS-2網(wǎng)絡(luò)仿真平臺下的網(wǎng)絡(luò)拓樸圖6為隨機早期檢測(RED)方法的實驗組1的瞬時隊列與平均隊列曲線圖7為本發(fā)明所述的基于實時路由器緩存占有率的主動隊列管理方法(BORED)的實—瞼lE1的瞬時隊列與平均隊列曲線圖。圖8為隨機早期檢測(RED)方法的實驗組2中實驗(a)的瞬時隊列與平均隊列曲線圖9為本發(fā)明所述的基于實時路由器緩存占有率的主動隊列管理方法(BORED)的實—驗組2中實驗(a)的瞬時隊列與平均隊列曲線圖。具體實施例方式下面結(jié)合附圖對本發(fā)明作詳細的描述盡管和"棄尾方法,,相比,RED是一種更為有效的擁塞控制機制,但其仍然存在下面一些不足。1.RED方法的參數(shù)對網(wǎng)絡(luò)變化過于敏感。根據(jù)RED方法的發(fā)起者SallyFloyd的指導(dǎo)意見可以得知,RED方法性能的好壞由該方法預(yù)先設(shè)置的參數(shù)wminth和maXth決定的。其參數(shù)的微小變化都會給RED的總體性能帶來很大的影響。如果一組RED參數(shù)和當前網(wǎng)絡(luò)環(huán)境匹配,那么RED也會獲得很好的控制效果。但由于現(xiàn)實網(wǎng)絡(luò)中所發(fā)生的事件是隨機的、動態(tài)變化的,當網(wǎng)絡(luò)中數(shù)據(jù)流的數(shù)量及網(wǎng)絡(luò)負載的改變而導(dǎo)致網(wǎng)絡(luò)環(huán)境的變化時,那么該組RED參數(shù)也會給擁塞管理帶來不好的效果。2.RED方法不能快速、有效的估計擁塞的嚴重性。3.由于權(quán)值Wa很小,因此平均隊長的變化很小,容易產(chǎn)生全局同步現(xiàn)象。4.RED方法目前還未考慮關(guān)于發(fā)送數(shù)據(jù)流的公平性問題。為了解決上述問題,產(chǎn)生了很多RED的改進方法。這些方法減弱了RED方法參數(shù)的敏感性,增強了RED方法的健壯性,但其參數(shù)調(diào)整的效果并不十分理想,仍需有待加強。本專利主要解決第1個問題,附帶解決第2個問題。本發(fā)明提供了一種能夠依據(jù)網(wǎng)絡(luò)環(huán)境自適應(yīng)調(diào)整計算平均隊列的權(quán)值wq、平均隊列長度的最小閾值minth以及平均隊列長度的最大閾值maxth的基于RED方法的基于實時路由器緩存占有率的主動隊列管理方法(BORED)。該方法依次含有如下步驟1.相關(guān)參數(shù)的定義1)w,為計算平均隊列的權(quán)值;2)Q^為平均隊列長度;3)minth為平均隊列長度的最小閾值;4)maxth為平均隊列長度的最大閾值;5)Pb為臨時丟棄概率;6)P,為最大丟棄概率;7)P為丟棄概率;8)count為連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù),初始值為-l;9)Bf為(路由器對應(yīng)RED方法所分配的)緩存區(qū)的大?。?0)Br為(路由器Bf的)當前緩存占有率(或使用率);11)C為網(wǎng)絡(luò)鏈路容量;12)rtt為往返時間;13)Qt,t為最小閾值的一種解;14)min為最小閾值的另一種解;15)meanw為平均數(shù)據(jù)包的大小;16)targetdelay為目#示延遲時間;17)q為(瞬時隊列長度也稱)當前隊列長度。2.在路由器加載(裝入以計算機程序所體現(xiàn)的)本發(fā)明所述的BORED方法,設(shè)置最大丟棄概率P瞎,緩存區(qū)的大小Bf,目標延遲時間targetdelay和平均數(shù)據(jù)包的大小mearwt的初始值。鑒于路由器位于擁塞的發(fā)生點,因此在路由器處進行擁塞控制是非常有效且有意義的。當然,前提條件是不影響到路由器的復(fù)雜度和效率。所以,由路由器來解決端到端的擁塞采用如下方式1)向各源端發(fā)送擁塞信號當發(fā)生或者即將發(fā)生擁塞時,路由器可以給網(wǎng)絡(luò)中(發(fā)送數(shù)據(jù)包)的源端發(fā)送擁塞信號,如丟棄數(shù)據(jù)包、在數(shù)據(jù)包中標記、給源端發(fā)送顯示擁塞標記等。2)進行緩存管理路由器一方面分配緩存的一定空間,用于平時接收數(shù)據(jù)包和處理突發(fā)時接收的大量數(shù)據(jù)包;另一方面,路由器需要確定何時發(fā)送擁塞信號,如果確定了,還要進一步確定哪個數(shù)據(jù)包需要丟棄/標記。這兩個問題都是由路由器的緩存管理算法來確定。一個好的緩存管理為端到端的擁塞控制的實現(xiàn)提供一個好的配合機制。3)進行隊列調(diào)度當多個連接共享一個路由器時,先發(fā)送哪個數(shù)據(jù)包,這就需要由路由器來調(diào)度決定。因為,路由器的緩存管理機制可以更好的輔助解決擁塞控制問題,并且,路由器當前緩存占有率Br也能直觀地反映當前網(wǎng)絡(luò)的負載變化。當Br較小時,反映當前網(wǎng)絡(luò)負載較輕,沒有形成網(wǎng)絡(luò)擁塞;當Br較大時,反映當前網(wǎng)絡(luò)負載較重,容易產(chǎn)生網(wǎng)絡(luò)擁塞或已經(jīng)產(chǎn)生網(wǎng)絡(luò)擁塞。所以本專利的以下步驟將路由器的緩存管理機制與本發(fā)明所述的BORED方法的參數(shù)設(shè)置相結(jié)合起來,對RED方法進行了完善,改進了RED方法對于參數(shù)的敏感性。3.對于計算平均隊列的權(quán)值Wq的動態(tài)調(diào)整參閱圖2,因為計算平均隊列的權(quán)值Wq是一個非常重要的參數(shù),對于網(wǎng)絡(luò)擁塞控制的效果有很大影響。所以本發(fā)明所述的BORED方法將計算平均隊列的權(quán)值Wa的計算方法做了進一步完善工作。本發(fā)明所述的BORED方法將計算平均隊列的權(quán)值Wq的設(shè)置完善為可自適應(yīng)調(diào)整的參數(shù),才艮據(jù)不同情況,調(diào)整當前計算平均隊列的權(quán)值w的計算公式。由于RED方法主要由兩個部分組成第一部分計算平均隊列長度Q;第二部分計算數(shù)據(jù)包丟棄/標記的概率。第一部分的平均隊列長度Qw的計算與計算平均隊列的權(quán)值Wq有關(guān),其計算式為Qavg=(1-wQ)xQavg+w。xq(1)其中q為(瞬時隊列長度也稱)當前隊列長度,可以看出在計算平均隊列長度(U的公式(1)中,計算平均隊列的權(quán)值W相當于低通濾波器的時間常數(shù),它決定了路由器對輸入流量變化的反映程度,因此對計算平均隊列的權(quán)值Wq的大小選擇非常重要。如果計算平均隊列的權(quán)值Wq過大,RED方法將不能有效地過濾短暫的擁塞;如果計算平均隊列的權(quán)值w,太小,平均隊列長度CU會對實際隊列長度的變化反映過慢,不能合理地反映擁塞狀況,在這種情況下,路由器將不能有效4全測到早期擁塞。根據(jù)RED方法的工作原理推導(dǎo)及實驗檢驗,如果當前緩存占有率Br較低的時候,計算平均隊列的權(quán)值Wq被增大,算法讓平均隊列長度Q^更敏感于瞬時隊列的變化,期望更多的數(shù)據(jù)包進入到緩存中,提高緩存的利用率。如果當前緩存占有率Br偏高,計算平均隊列的權(quán)值Wq被增大,算法讓平均隊列長度Qavg不太^:感于瞬時隊列的變化,期望讓較少的^:據(jù)包進入到緩存中,降低緩存的利用率,使路由器更高效的工作。得出結(jié)論,計算平均隊列的權(quán)值w。與當前緩存占有率Br之間成反比關(guān)系有利于本發(fā)明所述的BORED方法獲得更好的網(wǎng)絡(luò)控制效果。對于計算平均隊列的權(quán)值wq的調(diào)整包括如下步驟1)判斷計算平均隊列的權(quán)值W。有沒有被設(shè)置初始值?部分有經(jīng)驗的網(wǎng)絡(luò)工程師,會依據(jù)經(jīng)驗來設(shè)置計算平均隊列的權(quán)值Wa的值。如果計算平均隊列的權(quán)值Wq沒有被設(shè)置,則轉(zhuǎn)入給計算平均隊列的權(quán)值W,賦值的步驟2)將計算平均隊列的權(quán)值W,賦值,當已纟皮i殳置初始值時,則轉(zhuǎn)入"計算平均隊列的權(quán)值W,是否為0"的判斷步驟3);2)f武值計算平均隊列的權(quán)值w,等于0,即WfO,然后轉(zhuǎn)入計算計算平均隊列的權(quán)值w。的值的步驟4);3)判斷計算平均隊列的權(quán)值Wa是否為0。如果計算平均隊列的權(quán)值Wq為0,則轉(zhuǎn)入計算計算平均隊列的權(quán)值Wq的值的步驟4),計算平均隊列的權(quán)值w。不為0,則轉(zhuǎn)入"計算平均隊列的權(quán)值Wq是否為-l"的判斷步驟5);4)計算計算平均隊列的權(quán)值Wq的值,當計算平均隊列的權(quán)值w。的數(shù)值沒有被設(shè)置時,需要按照當前的網(wǎng)絡(luò)情況對Wq進行設(shè)置。為了依據(jù)網(wǎng)絡(luò)環(huán)境的實時變化來調(diào)整方法的參li,本發(fā)明所述的BORED方法將計算平均隊列的斥又值^的計算式進一步完善,已有的RED方法的計算平均隊列的權(quán)值w。的計算式為wq=(l.0-expH°/e)),其中Wq為計算平均隊列的權(quán)值,C為網(wǎng)絡(luò)鏈路容量。所以當計算平均隊列的權(quán)值Wq的數(shù)值為0時,本發(fā)明所述的BORED方法采用計算式w4=(l.0-eXpw°/Q)x(1/B》計算得到,其中Br為當前緩存占有率,C為網(wǎng)絡(luò)鏈路容量,exp為以e為底的指數(shù)函數(shù)(e近似等于2.71828),然后轉(zhuǎn)入等待至新的數(shù)據(jù)包到達,準備進行下一步計算的步驟;5)當網(wǎng)絡(luò)往返時間rtt的值大于100ms時,即網(wǎng)絡(luò)路由器之間的距離相對較遠時,可以將計算平均隊列的權(quán)值w,的值設(shè)置為-1。此步驟判斷計算平均隊列的權(quán)值Wq是否為-l。若計算平均隊列的權(quán)值w。為-1,則轉(zhuǎn)入計算計算平均隊列的權(quán)值Wq值的步驟6),計算平均隊列的權(quán)值w,不為-l,則轉(zhuǎn)入"計算平均隊列的權(quán)值Wq是否為-2"的判斷步驟7);6)計算計算平均隊列的權(quán)值w。的值,采用公式其中rtt為往返時間,C為網(wǎng)絡(luò)鏈路容量,exp為以e為底的指數(shù)函數(shù)(e近似等于2.71828),然后轉(zhuǎn)入等待至新的數(shù)據(jù)包到達,準備進行下一步計算的步驟;7)判斷計算平均隊列的權(quán)值Wq是否為-2。若計算平均隊列的權(quán)值Wq為-2,則轉(zhuǎn)入計算計算平均隊列的權(quán)值wq的值的步驟8),計算平均隊列的權(quán)值w4不為-2,則轉(zhuǎn)入等待至新的數(shù)據(jù)包到達,準備進行下一步計算的步驟;8)計算計算平均隊列的權(quán)值Wq的值,采用公式計算得到其中Br為當前緩存占有率,C為網(wǎng)絡(luò)鏈路容量,exp為以e為底的指數(shù)函數(shù)(e近似等于2.71828);為了依據(jù)網(wǎng)絡(luò)環(huán)境的實時變化來調(diào)整方法的參數(shù),本發(fā)明所述的BORED方法將計算平均隊列的權(quán)值w,的計算式進一步完善,已有RED方法的計算平均隊列的權(quán)值Wq的計算式為wq=(l.0-exp(i,)。所以當計算平均隊列的權(quán)值w,的數(shù)值為-2時,本發(fā)明所述的BORED方法使用計算式w^(1.0-expH°°/e))x(1/B》進行計算,之后轉(zhuǎn)入等待至新的數(shù)據(jù)包到達,準備進行下一步計算的步驟。4.按照已經(jīng)設(shè)置的參數(shù),進行初始化并等待至新的數(shù)據(jù)包到達,準備進行下一步計算。5.根據(jù)(路由器Bf的)當前緩存占有率Br的實時變化來調(diào)整參數(shù)參閱圖3,設(shè)置平均隊列長度的最小闊值minth和平均隊列長度的最大閾值maxth是本發(fā)明所述的BORED方法得到更好的控制效果的關(guān)鍵點。本發(fā)明所述的BORED方法主要是實時調(diào)整平均隊列長度的最小閾值minth參數(shù),同時設(shè)置平均隊列長度的最大閾值maxth為平均隊列長度的最小閾值minth的3倍,使平均隊列長度的最大閾值maxth與平均隊列長度的最小閾值minth聯(lián)動變化。本發(fā)明通過路由器的當前緩存占有率Br來反映網(wǎng)絡(luò)負載的變化,將平均隊列長度的最小閾值minth和平均隊列長度的最大閾值maxth的設(shè)置與路由器的(路由器Bf的)當前緩存占有率Br建立聯(lián)系,使本發(fā)明所述的BORED方法依據(jù)網(wǎng)絡(luò)負載的變化而自適應(yīng)的調(diào)整平均隊列長度的最小闊值minth和平均隊列長度的最大閾值maxth的設(shè)置。從而達到改善RED方法依據(jù)經(jīng)驗值設(shè)定,使用靜態(tài)參數(shù)不能與網(wǎng)絡(luò)負載變化相符的不足。首先,定義Qe為當前路由器中隊列長度,Br為(路由器Bf的)當前緩存占有率,Bf為(路由器的)緩存區(qū)的大小,Br=Q£/Bf。平均隊列長度的最小閾值的計算公式如下max(最小閾值的一種;平均隊列長度的最小閾值minth的另一種解min)即<formula>formulaseeoriginaldocumentpage17</formula>(3)本專利對于公式(3)只取正整數(shù)解。算法中設(shè)置平均隊列長度的最大閾值maxth3倍于平均隊列長度的最小閾值minth。根據(jù)大量的實驗發(fā)現(xiàn),當前緩存占有率Br大多數(shù)工作在小于60。/。的情況下,所以設(shè)置緩存區(qū)的大小Bf條件值為0.6。同時,也發(fā)現(xiàn)將緩存區(qū)的大小Bf的參數(shù)值設(shè)為0.6,可以很好地平衡丟包率和高的延遲時間。當當前緩存占有率Br大于0.6時,平均隊列長度的最小閾值minth被設(shè)置為最小閾值的一種解Qu一的值。當平均隊列長度的最小閾值minth低于最小閾值的一種解Qt,t時,即被賦為最小閾值的一種解Qu,的值。="argefrfe/c^x[C《8x)]}/2(4)其中Qu輛是公式(4)的計算結(jié)果,targetdelay為目標延遲時間在仿真實驗初始化的時候被設(shè)置,raeaiVk。t為平均數(shù)據(jù)包的大小,C為網(wǎng)絡(luò)鏈路容量。根據(jù)(路由器Bf的)當前緩存占有率Br的實時變化來調(diào)整參數(shù)的步驟如下1)判斷緩存區(qū)的大小Bf是否大于42個凄t據(jù)包并小于100個數(shù)據(jù)包,即42個數(shù)據(jù)包〈緩存區(qū)的大小Bf<100個數(shù)據(jù)包是否為真?如果為真,轉(zhuǎn)入當前緩存占有率Br<0.6是否成立的判斷步驟2),如果不為真,則轉(zhuǎn)入緩存區(qū)的大小Bf>100個數(shù)據(jù)包是否成立的判斷步驟3);2)判斷當前緩存占有率Br<0.6是否為真?如果為真,轉(zhuǎn)入計算最小閾值的另一種解min的步驟4),如果不為真,則轉(zhuǎn)入計算最小閾值的一種解Qtarget的步驟5);3)判斷緩存區(qū)的大小B一100個數(shù)據(jù)包是否為真?如果為真,轉(zhuǎn)入判斷當前緩存占有率B,O.6是否為真的步驟6),如果不為真,則轉(zhuǎn)入計算最小閾值的一種解Q一。,的步驟5);4)計算最小閾值的另一種解rain,采用^^式脂力40.6X5廣(S/X100)]/3計算得到,其中Bf為i爰存區(qū)的大小,然后轉(zhuǎn)入判斷最小閾值的另一種解mirK最小閾值的一種解Qt,t是否為真的步驟8);5)計算最小閾值的一種解Qw,采用公式a豐=Vargx[C/(8x附e。。如)]}/2計算得到,其中mearipa^t為平均數(shù)據(jù)包的大小,targetdelay為目標延遲時間,C為網(wǎng)絡(luò)鏈路容量,然后轉(zhuǎn)入判斷最小閾值的另一種解min〈最小閾值的一種解Qtarget是否為真的步驟8);6)判斷當前緩存占有率B,O.6是否為真?如杲不為真,則轉(zhuǎn)入計算最小閾值的一種解Qt,t的步驟5);如果為真,轉(zhuǎn)入計算最小閾值的另一種解min的步驟7);7)計算最小閾值的另一種解min,采用^^式mz"40.6XB,-CS/XA)]/3計算得到,其中Bf為緩存區(qū)的大小,Br為當前緩存占有率,然后轉(zhuǎn)入判斷最小閾值的另一種解min〈最小閾值的一種解Qu輛是否為真的步驟8);8)判斷最小閾值的另一種解min〈最小閾值的一種解Qw是否為真?如果為真,轉(zhuǎn)入計算平均隊列長度的最小閾值miruh的步驟9),如果不為真,則轉(zhuǎn)入計算平均隊列長度的最小闊值minth的步驟10);9)計算平均隊列長度的最小閾值minth,平均隊列長度的最小閾值minth等于最小閾值的一種解Qu^t,即minth=Qtaiget,然后轉(zhuǎn)入計算丟棄概率P并以丟棄概率P丟棄數(shù)據(jù)包的步驟;10)計算平均隊列長度的最小閾值minth,平均隊列長度的最小閾值minth等于最小閾值的另一種解min,即min^min,然后轉(zhuǎn)入計算丟棄概率P并以丟棄概率P丟棄數(shù)據(jù)包的步驟。6.計算丟棄概率P并以丟棄概率P丟棄數(shù)據(jù)包參閱圖4,為了反映擁塞狀況本發(fā)明所述的BORED方法需要按照公式Qavg=(liq)xQavg+Wqxq(1)先計算平均隊列長度Qavg,根據(jù)擁塞的程度來計算丟棄概率P,從而有效地控制平均隊列長度Q^。RED方法有兩個和平均隊列長度相關(guān)的閾值平均隊列長度的最小閾值minth和平均隊列長度的最大閾值maxth。當有數(shù)據(jù)包到ii^由器時,RED方法計算出平均隊列長度Qavg。若平均隊列長度Q^小于平均隊列長度的最小閾值minth,則沒有數(shù)據(jù)包需要丟棄;當平均隊列長度的最小閾值minth《平均隊列長度(U《平均隊列長度的最大閾值maxth時,即minth《Qavg《tnaxth時,計算出丟棄概率P,并以此丟棄概率P丟棄數(shù)據(jù)包;當平均隊列長度的最大閾值maXth〈平均隊列長Qavg《緩存區(qū)的大小Bf時,即maxth<Qavg《Bf時,所有的數(shù)據(jù)包都被丟棄。由于該方法使用的是基于時間的平均隊列長度Q^,就有可能會發(fā)生實際隊列長度大于平均隊列長度的情況,如果隊列已滿,則隨后到達的數(shù)據(jù)包只能被丟棄。計算丟棄概率P的方法如下0(OUmin,J尺戶腦,~5-r~(附Sgav《S)(5J—附1(max,Jg。J萬,)P=Pb/(1_countxpb)(6)公式中,Pb是臨時丟棄概率,P證為最大丟棄概率,Bf是緩沖區(qū)的大小,P是丟棄概率。丟棄概率P不僅和平均隊列長度Qavg有關(guān),而且還和從上一次丟包開始到現(xiàn)在連續(xù)成功傳輸進入隊列的^t據(jù)包的數(shù)量count有關(guān)。隨著連續(xù)成功傳輸進入隊列的數(shù)據(jù)包數(shù)count的增加,下一個數(shù)據(jù)包被丟棄的可能性也在緩慢增加。這主要是為了能在到來的數(shù)據(jù)包之間均勻間隔地丟包,從而避免對突發(fā)流的偏見和產(chǎn)生全局同步現(xiàn)象。計算丟棄概率P并以丟棄概率P丟棄數(shù)據(jù)包包括如下步驟1)判斷平均隊列長度(U是否滿足大于等于平均隊列長度的最小閾值minth并小于等于平均隊列長度的最大閾值max",即是否滿足minth《(U《maxth的條件,如果滿足則轉(zhuǎn)入計算臨時丟棄概率Pb的步驟2),如杲不滿足則轉(zhuǎn)入判斷平均隊列長度Q^是否滿足大于平均隊列長度的最大闊并小于等于緩沖區(qū)的大小Bf條件,即轉(zhuǎn)入是否滿足maxth〈Qavg《Bf的判斷步驟3);2)計算臨時丟棄概率Pb,采用公式其中P駆為最大丟棄概率,minth為平均隊列長度的最小閾值,maxth為平均隊列長度的最大閾值,(U為平均隊列長度,然后轉(zhuǎn)入計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)count的步驟6);3)判斷平均隊列長度Q^是否滿足大于平均隊列長度的最大閾值maxth并小于等于緩沖區(qū)的大小Bf的條件,即是否滿足maxth<Qavg<Bf,如果滿足則轉(zhuǎn)入計算臨時丟棄概率Pb的步驟4),如果不滿足則轉(zhuǎn)入計算臨時丟棄概率Pb的步驟5);4)計算臨時丟棄概率Pb,臨時丟棄概率Pb等于l,然后轉(zhuǎn)入計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)count的步驟6);5)計算臨時丟棄概率Pb,臨時丟棄概率Pb等于G,然后轉(zhuǎn)入計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)count的步驟6);6)計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)count,每一個新的凄t據(jù)包到來時就在連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)count的值上加1,然后轉(zhuǎn)入計算丟棄概率P的步驟7);7)計算丟棄概率P,采用公式P=PJ(1-countxpb)計算得到,其中Pb為臨時丟棄概率,count為連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù),然后將數(shù)據(jù)包按照丟棄概率P來丟棄,最終達到擁塞控制的目的。加g'計算得到,權(quán)利要求1.一種采用計算機程序的基于實時路由器緩存占有率的主動隊列管理方法,包括如下步驟相關(guān)參數(shù)的定義以及初始化;對于計算平均隊列的權(quán)值(wq)動態(tài)調(diào)整;等待至新的數(shù)據(jù)包到達準備進行下一步計算和計算丟棄概率(P)并以丟棄概率(P)丟棄數(shù)據(jù)包,其特征在于基于實時路由器緩存占有率的主動隊列管理方法還包括根據(jù)當前緩存占有率(Br)的實時變化來調(diào)整參數(shù)的步驟;所述的根據(jù)當前緩存占有率(Br)的實時變化來調(diào)整參數(shù)包括如下步驟1)判斷42個數(shù)據(jù)包<緩存區(qū)的大小(Bf)<100個數(shù)據(jù)包是否為真?如果為真,轉(zhuǎn)入當前緩存占有率(Br)<0.6是否成立的判斷步驟2),如果不為真,則轉(zhuǎn)入緩存區(qū)的大小(Bf)≥100個數(shù)據(jù)包是否成立的判斷步驟3);2)判斷當前緩存占有率(Br)<0.6是否為真?如果為真,轉(zhuǎn)入計算最小閾值的另一種解(min)的步驟4),如果不為真,則轉(zhuǎn)入計算最小閾值的一種解(Qtarget)的步驟5);3)判斷緩存區(qū)的大小(Bf)≥100個數(shù)據(jù)包是否為真?如果為真,轉(zhuǎn)入判斷當前緩存占有率(Bf)<0.6是否為真的步驟6),如果不為真,則轉(zhuǎn)入計算最小閾值的一種解(Qtarget)的步驟5);4)計算最小閾值的另一種解(min),采用公式min=/3計算得到,其中Bf為緩存區(qū)的大小,然后轉(zhuǎn)入判斷最小閾值的另一種解(min)<最小閾值的一種解(Qtarget)是否為真的步驟8);5)計算最小閾值的一種解(Qtarget),采用公式Qtarget={targetdelay×[C/(8×meanpacket)]}/2計算得到,其中meanpacket為平均數(shù)據(jù)包的大小,targetdelay為目標延遲時間,C為網(wǎng)絡(luò)鏈路容量,然后轉(zhuǎn)入判斷最小閾值的另一種解(min)<最小閾值的一種解(Qtarget)是否為真的步驟8);6)判斷當前緩存占有率(Br)<0.6是否為真?如果不為真,則轉(zhuǎn)入計算最小閾值的一種解(Qtarget)的步驟5);如果為真,轉(zhuǎn)入計算最小閾值的另一種解(min)的步驟7);7)計算最小閾值的另一種解(min),采用公式min=/3計算得到,其中Bf為緩存區(qū)的大小,Br為當前緩存占有率,然后轉(zhuǎn)入判斷最小閾值的另一種解(min)<最小閾值的一種解(Qtarget)是否為真的步驟8);8)判斷最小閾值的另一種解(min)<最小閾值的一種解(Qtarget)是否為真?如果為真,轉(zhuǎn)入計算平均隊列長度的最小閾值(minth)的步驟9),如果不為真,則轉(zhuǎn)入計算平均隊列長度的最小閾值(minth)的步驟10);9)計算平均隊列長度的最小閾值(minth),平均隊列長度的最小閾值(minth)等于最小閾值的一種解(Qtarget),然后轉(zhuǎn)入計算丟棄概率(P)并以丟棄概率(P)丟棄數(shù)據(jù)包的步驟;10)計算平均隊列長度的最小閾值(minth),平均隊列長度的最小閾值(minth)等于最小閾值的另一種解(min),然后轉(zhuǎn)入計算丟棄概率(P)并以丟棄概率(P)丟棄數(shù)據(jù)包的步驟。2.按照權(quán)利要求1所述的基于實時路由器緩存占有率的主動隊列管理方法,其特征在于所述的對于計算平均隊列的權(quán)值(Wq)動態(tài)調(diào)整包括如下步驟1)判斷計算平均隊列的權(quán)值(w4)有沒有被設(shè)置初始值,計算平均隊列的權(quán)值(wq)沒有被設(shè)置初始值,則轉(zhuǎn)入給計算平均隊列的權(quán)值(wq)賦值的步驟2),當已被設(shè)置初始值時,則轉(zhuǎn)入計算平均隊列的權(quán)值(w。)是否為0的判斷步驟3);2)設(shè)置計算平均隊列的權(quán)值(wq)等于0,然后轉(zhuǎn)入計算計算平均隊列的權(quán)值(wq)的值的步驟4);3)判斷計算平均隊列的權(quán)值(wq)是否為0,計算平均隊列的權(quán)值(wj為0,則轉(zhuǎn)入計算計算平均隊列的權(quán)值(wq)的值的步驟4);計算平均隊列的權(quán)值(wQ)不為0,則轉(zhuǎn)入計算平均隊列的權(quán)值(wq)是否為-1的判斷步驟5);4)計算計算平均隊列的權(quán)值(w4)的值,采用公式Wq=(L0-exp(—1,)x(1/Br)計算得到,其中Br為當前緩存占有率,C為網(wǎng)絡(luò)鏈路容量,exp為以e為底的指數(shù)函數(shù),e近似等于2.71828,然后轉(zhuǎn)入等待至新的數(shù)據(jù)包到達,準備進行下一步計算的步驟;5)判斷計算平均隊列的權(quán)值(w。)是否為-1,計算平均隊列的權(quán)值(wQ)為-1,則轉(zhuǎn)入計算計算平均隊列的權(quán)值(wq)的值的步驟6);計算平均隊列的權(quán)值(wq)不為-1,則轉(zhuǎn)入計算平均隊列的權(quán)值(Wq)是否為-2的判斷步驟7);6)計算計算平均隊列的權(quán)值(wq)的值,采用公式Wq=l.0-exp——""計算得到,其中rtt為往返時間,C為網(wǎng)絡(luò)鏈路容量,exp為以e為底的指數(shù)函數(shù),e近似等于2.71828,然后轉(zhuǎn)入等待至新的數(shù)據(jù)包到達,準備進行下一步計算的步驟;7)判斷計算平均隊列的權(quán)值(Wq)是否為-2,計算平均隊列的權(quán)值(Wq)為-2,則轉(zhuǎn)入計算計算平均隊列的權(quán)值(Wq)的值的步驟8);計算平均隊列的權(quán)值(w。)不為-2,則轉(zhuǎn)入等待至新的數(shù)據(jù)包到達,準備進行下一步計算的步驟;8)計算計算平均隊列的權(quán)值(wj的值,采用公式Wq=(1.0-exp(-",)x(1/Br)計算得到,其中C為網(wǎng)絡(luò)鏈路容量,exp為以e為底的指數(shù)函數(shù),e近似等于2.71828,Br為當前緩存占有率。3.按照權(quán)利要求1所述的基于實時路由器緩存占有率的主動隊列管理方法,其特征在于所述的計算丟棄概率(P)并以丟棄概率(P)丟棄數(shù)據(jù)包包括如下步驟1)判斷平均隊列長度((U)是否滿足平均隊列長度的最小閾值(minth)<平均隊列長度(Q^)《平均隊列長度的最大閾值(maxth)的條件,滿足則轉(zhuǎn)入計算臨時丟棄概率(Pb)的步驟2),不滿足則轉(zhuǎn)入是否滿足平均隊列長度的最大閾值(maxth)〈平均隊列長度(Qavg)《緩存區(qū)的大小(Bf)條件的判斷步驟3);2)計算臨時丟棄^f既率(Pb),采用^^式Q—附/,PA=P^^計算得到,其中P,為最大丟棄概率,minth為平均隊列長度的最小閾值,maxth為平均隊列長度的最大閾值,Q^為平均隊列長度,然后轉(zhuǎn)入計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)(count)的步驟6);3)判斷平均隊列長度(Qavg)是否滿足平均隊列長度的最大閾值(maxth)<平均隊列長度(Qw)《緩存區(qū)的大小(Bf)的條件,滿足則轉(zhuǎn)入計算臨時丟棄概率(Pb)的步驟4),不滿足則轉(zhuǎn)入計算臨時丟棄概率(Pb)的步驟5);4)計算臨時丟棄概率(Pb),臨時丟棄概率(Pb)等于1,然后轉(zhuǎn)入計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)(count)的步驟6);5)計算臨時丟棄概率(PJ,臨時丟棄概率(Pb)等于0,然后轉(zhuǎn)入計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)(count)的步驟6);6)計算連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)(count),每一個新的數(shù)據(jù)包到來時就在連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù)(count)的值上加1,然后轉(zhuǎn)入計算丟棄概率(P)的步驟7);7)計算丟棄概率(P),采用公式P=Pb/(1-countxPb)計算得到,其中Pb為臨時丟棄概率,count為連續(xù)成功傳輸?shù)臄?shù)據(jù)包數(shù),然后將數(shù)據(jù)包按照丟棄概率(P)來丟棄達到擁塞控制。全文摘要本發(fā)明公開了一種采用計算機程序的基于實時路由器緩存占有率的主動隊列管理方法。該方法包括的步驟有相關(guān)參數(shù)的定義以及初始化;對于計算平均隊列的權(quán)值(w<sub>q</sub>)動態(tài)調(diào)整;等待至新的數(shù)據(jù)包到達準備進行下一步計算;根據(jù)當前緩存占有率(B<sub>r</sub>)的實時變化來調(diào)整參數(shù)和計算丟棄概率(P)并以丟棄概率(P)丟棄數(shù)據(jù)包。其中采用w<sub>q</sub>=(1.0-exp<sup>(-1.0/C)</sup>×(1/B<sub>r</sub>)計算計算平均隊列的權(quán)值(w<sub>q</sub>)的值。尤其是能夠依據(jù)網(wǎng)絡(luò)負載的變化而自適應(yīng)的調(diào)整平均隊列長度的最小閾值(min<sub>th</sub>)和平均隊列長度的最大閾值(max<sub>th</sub>)的設(shè)置。從而達到改善RED方法依據(jù)經(jīng)驗值設(shè)定,使用靜態(tài)參數(shù)不能與網(wǎng)絡(luò)負載變化相符的不足。文檔編號H04L12/56GK101562566SQ20091006705公開日2009年10月21日申請日期2009年6月4日優(yōu)先權(quán)日2009年6月4日發(fā)明者張麗娟,楊曉萍,萍王,王海波,虹陳,彥馬,駱赟祺申請人:吉林大學