亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種路由器的擁塞避免方法及裝置制造方法

文檔序號(hào):8004911閱讀:531來源:國(guó)知局
一種路由器的擁塞避免方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種路由器的擁塞避免方法及裝置,涉及網(wǎng)絡(luò)傳輸控制領(lǐng)域,所述方法包括:根據(jù)待處理報(bào)文的隊(duì)列號(hào),得到當(dāng)前正在對(duì)該隊(duì)列進(jìn)行緩存的基本存儲(chǔ)單位;將所述待處理報(bào)文的報(bào)文長(zhǎng)度轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到基本存儲(chǔ)單位模式下的報(bào)文;利用所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄判決處理和隊(duì)列深度調(diào)整處理。本發(fā)明能夠使維護(hù)的隊(duì)列深度與緩存中存儲(chǔ)的實(shí)際隊(duì)列深度保持一致,有效改善擁塞避免的性能,提高整個(gè)系統(tǒng)緩存的利用率。
【專利說明】一種路由器的擁塞避免方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)傳輸控制領(lǐng)域,特別涉及路由器擁塞避免方法和相關(guān)裝置。

【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)的發(fā)展,數(shù)據(jù)流量的快速增長(zhǎng),使得網(wǎng)絡(luò)擁塞日益嚴(yán)重。而網(wǎng)絡(luò)擁塞會(huì)造成延遲和吞吐量等如3性能指標(biāo)下降,是影響帶寬、系統(tǒng)緩存等資源利用率的關(guān)鍵因素。有效的擁塞避免機(jī)制對(duì)于提高路由器性能具有重要意義。
[0003]擁塞避免是根據(jù)隊(duì)列或內(nèi)存緩沖區(qū)的使用情況,在擁塞有加劇的趨勢(shì)時(shí),主動(dòng)丟棄報(bào)文,通過調(diào)整網(wǎng)絡(luò)的流量來解除網(wǎng)絡(luò)過載。簡(jiǎn)而言之,就是根據(jù)緩存(即隊(duì)列深度)來判斷報(bào)文是否丟棄。因此,隊(duì)列深度和報(bào)文長(zhǎng)度是擁塞避免的最根本依據(jù)。
[0004]現(xiàn)有的隊(duì)列深度是根據(jù)進(jìn)入系統(tǒng)的報(bào)文和調(diào)度出去的報(bào)文長(zhǎng)度進(jìn)行計(jì)算和更新的。
[0005]以尾部丟棄10算法為例,如圖1所示,新進(jìn)入系統(tǒng)的報(bào)文成1111,報(bào)文長(zhǎng)度為3,當(dāng)前隊(duì)列的隊(duì)列深度為11611,丟棄閾值為1:11:11。若11611+&大于1:11:11,則判斷該報(bào)文丟棄,隊(duì)列深度保持不變;否則,判斷該報(bào)文入隊(duì),并更新隊(duì)列深度為當(dāng)有報(bào)文成I0機(jī)要調(diào)度出去,報(bào)文長(zhǎng)度為13,當(dāng)前隊(duì)列的隊(duì)列深度為^16??!,則更新隊(duì)列深度為報(bào)文長(zhǎng)度的單位為字節(jié),為了方便說明,本發(fā)明稱之為字節(jié)模式。
[0006]在實(shí)際應(yīng)用中,由于存儲(chǔ)介質(zhì)和報(bào)文調(diào)度效率等情況,系統(tǒng)在使用緩存空間存儲(chǔ)報(bào)文時(shí),并不是基于字節(jié)存儲(chǔ)和調(diào)度的,而是按照分塊8104存儲(chǔ)的。對(duì)于長(zhǎng)度不足1個(gè)8104的短包和報(bào)文尾切片,均需要占用1個(gè)8104來存儲(chǔ)。8104大小不定,可以是256806,512806或者1此”6等等。例如,一個(gè)新進(jìn)入的報(bào)文,報(bào)文長(zhǎng)度為25713”6。經(jīng)過丁0算法判斷,該報(bào)文可以入隊(duì)。此時(shí),8104大小為2561306。系統(tǒng)維護(hù)的隊(duì)列深度為1611+257,而實(shí)際存儲(chǔ)的緩存中,該報(bào)文需要占用2個(gè)8104,即51213”6。這樣,系統(tǒng)緩存實(shí)際的隊(duì)列深度為(1-16=+5120因此,就會(huì)出現(xiàn)隊(duì)列實(shí)際占用的緩存空間大于隊(duì)列深度所反映的緩存空間占用量。
[0007]基于以上的原因,在存儲(chǔ)包長(zhǎng)不足8104長(zhǎng)度的短包和長(zhǎng)包尾切片時(shí),就會(huì)產(chǎn)生不可用的緩存碎片。除了包長(zhǎng)恰好為8104的整數(shù)倍之外的其它包長(zhǎng)時(shí),都不可能用完全部的系統(tǒng)緩存。而實(shí)際的報(bào)文長(zhǎng)度都是隨機(jī)的,所以緩存碎片必然會(huì)存在。
[0008]用戶在配置每個(gè)隊(duì)列的丟棄閾值時(shí)是針對(duì)系統(tǒng)支持的最大緩存空間按隊(duì)列進(jìn)行劃分。假設(shè)系統(tǒng)總緩存為1七仏,可支持~個(gè)隊(duì)列,所有隊(duì)列共享系統(tǒng)緩存。若每個(gè)隊(duì)列的丟棄閾值設(shè)置的較大,例如大于或等于1/?七仏,則在擁塞判斷時(shí)沒有超過丟棄閾值,但每個(gè)隊(duì)列占用的緩存都很大,實(shí)際已經(jīng)超出了門限值,導(dǎo)致隊(duì)列之間相互搶占緩存空間,甚至出現(xiàn)緩存溢出問題。若每個(gè)隊(duì)列的丟棄閾值設(shè)置的較小,例如遠(yuǎn)遠(yuǎn)小于1/隊(duì)則在擁塞判斷時(shí)會(huì)遠(yuǎn)小于丟棄閾值,每個(gè)隊(duì)列實(shí)際占用的緩存都很小,從而使系統(tǒng)總緩存得不到充分利用,緩存利用率較低。
[0009]可見,現(xiàn)有的基于字節(jié)模式的擁塞避免機(jī)制在解決擁塞問題上不夠合理,不能夠根據(jù)實(shí)際隊(duì)列深度判斷報(bào)文丟棄,會(huì)導(dǎo)致?lián)砣麃G棄判斷無效,隊(duì)列之間搶占緩存空間和緩存利用率低下等問題。


【發(fā)明內(nèi)容】

[0010]本發(fā)明的目的在于提供一種路由器的擁塞避免方法及裝置,能更好地解決根據(jù)實(shí)際隊(duì)列深度判斷報(bào)文丟棄的問題。
[0011]根據(jù)本發(fā)明的一個(gè)方面,提供了一種路由器的擁塞避免方法,包括:
[0012]根據(jù)待處理報(bào)文的隊(duì)列號(hào),得到當(dāng)前正在對(duì)該隊(duì)列進(jìn)行緩存的基本存儲(chǔ)單位;
[0013]將所述待處理報(bào)文的報(bào)文長(zhǎng)度轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到基本存儲(chǔ)單位模式下的報(bào)文;
[0014]利用所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄判決處理和隊(duì)列深度調(diào)整處理。
[0015]優(yōu)選地,通過將所述待處理報(bào)文的報(bào)文長(zhǎng)度與所述基本存儲(chǔ)單位相除,并向上取整,得到基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度。
[0016]優(yōu)選地,根據(jù)所述待處理報(bào)文的隊(duì)列號(hào),得到該隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,并利用所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度、所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,進(jìn)行丟棄判決處理,根據(jù)處理結(jié)果,確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄還是存儲(chǔ)。
[0017]優(yōu)選地,通過尾部丟棄10算法和/或加權(quán)隨機(jī)早期檢測(cè)胃即0算法,進(jìn)行報(bào)文丟棄判決處理。
[0018]優(yōu)選地,當(dāng)確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行存儲(chǔ)時(shí),將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別加上所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,否則,保持所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度不變。
[0019]優(yōu)選地,當(dāng)對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文調(diào)度出隊(duì)時(shí),利用所述報(bào)文的隊(duì)列號(hào),得到所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,并將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別減去所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度。
[0020]根據(jù)本發(fā)明的另一方面,提供了一種路由器的擁塞避免裝置,包括:
[0021]存儲(chǔ)單位獲取單元,用于根據(jù)待處理報(bào)文的隊(duì)列號(hào),得到當(dāng)前正在對(duì)該隊(duì)列進(jìn)行緩存的基本存儲(chǔ)單位;
[0022]報(bào)文長(zhǎng)度轉(zhuǎn)換單元,用于將所述待處理報(bào)文的報(bào)文長(zhǎng)度轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到基本存儲(chǔ)單位模式下的報(bào)文;
[0023]擁塞避免處理單元,用于利用所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄判決處理和隊(duì)列深度調(diào)整處理。
[0024]優(yōu)選地,所述報(bào)文長(zhǎng)度轉(zhuǎn)換單元通過將所述待處理報(bào)文的報(bào)文長(zhǎng)度與所述基本存儲(chǔ)單位相除,并向上取整,得到基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度。
[0025]優(yōu)選地,所述擁塞避免處理單元包括:
[0026]丟棄判決子單元,用于利用通過所述待處理報(bào)文的隊(duì)列號(hào)得到的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度、所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,進(jìn)行丟棄判決處理,根據(jù)處理結(jié)果,確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄還是存儲(chǔ)。
[0027]優(yōu)選地,所述擁塞避免處理單元還包括:
[0028]隊(duì)列深度維護(hù)子單元,用于當(dāng)確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行存儲(chǔ)時(shí),將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別加上所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,否則,保持所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度不變,并當(dāng)對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文調(diào)度出隊(duì)時(shí),利用所述報(bào)文的隊(duì)列號(hào),得到所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,并將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別減去所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度。
[0029]與現(xiàn)有技術(shù)相比較,本發(fā)明的有益效果在于:
[0030]本發(fā)明根據(jù)緩存隊(duì)列的基本存儲(chǔ)單位,轉(zhuǎn)換擁塞判斷的出隊(duì)和入隊(duì)報(bào)文的報(bào)文長(zhǎng)度,并利用轉(zhuǎn)換后的報(bào)文長(zhǎng)度和隊(duì)列深度做丟棄判斷,從而使擁塞避免維護(hù)的隊(duì)列深度與緩存空間存儲(chǔ)的實(shí)際隊(duì)列深度保持一致,既可有效的進(jìn)行擁塞丟棄判斷,解決隊(duì)列之間相互搶占緩存空間問題,又盡量保證系統(tǒng)緩存得到充分利用,提高了緩存利用率。

【專利附圖】

【附圖說明】
[0031]圖1是現(xiàn)有技術(shù)提供的支持10算法的隊(duì)列深度維護(hù)示意圖;
[0032]圖2是本發(fā)明實(shí)施例提供的路由器的擁塞避免方法原理框圖;
[0033]圖3是現(xiàn)有技術(shù)提供的原始的報(bào)文存儲(chǔ)空間映射關(guān)系示意圖;
[0034]圖4是本發(fā)明實(shí)施例提供的改進(jìn)后的報(bào)文存儲(chǔ)空間映射關(guān)系示意圖;
[0035]圖5是本發(fā)明實(shí)施例提供的基于1即0和10機(jī)制的擁塞避免方法流程圖;
[0036]圖6是本發(fā)明實(shí)施例提供的基于1即0和10機(jī)制的擁塞避免裝置結(jié)構(gòu)圖。

【具體實(shí)施方式】
[0037]以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)說明,應(yīng)當(dāng)理解,以下所說明的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0038]本發(fā)明的擁塞避免機(jī)制是根據(jù)系統(tǒng)實(shí)際存儲(chǔ)的基本存儲(chǔ)單位,動(dòng)態(tài)調(diào)整用于擁塞避免的報(bào)文長(zhǎng)度,可調(diào)整的報(bào)文長(zhǎng)度包括入隊(duì)的報(bào)文長(zhǎng)度和出隊(duì)的報(bào)文長(zhǎng)度。通過調(diào)整報(bào)文長(zhǎng)度,獲得與緩存實(shí)際存儲(chǔ)相一致的隊(duì)列深度,更新后的報(bào)文長(zhǎng)度和隊(duì)列深度可以用于但不局限于10算法和1即0算法中的丟棄判斷,其它擁塞避免算法都可以支持該機(jī)制,以下簡(jiǎn)稱8100(機(jī)制。
[0039]圖2是本發(fā)明實(shí)施例提供的路由器的擁塞避免方法原理框圖,如圖2所示,步驟包括:
[0040]步驟201、根據(jù)待處理報(bào)文的隊(duì)列號(hào),得到當(dāng)前正在對(duì)該隊(duì)列進(jìn)行緩存的基本存儲(chǔ)單位。
[0041]步驟202、將所述待處理報(bào)文的報(bào)文長(zhǎng)度轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到基本存儲(chǔ)單位模式下的報(bào)文。
[0042]具體地說,通過將所述待處理報(bào)文的報(bào)文長(zhǎng)度與所述基本存儲(chǔ)單位相除,并向上取整,得到基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度。
[0043]步驟203、利用所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄判決處理和隊(duì)列深度調(diào)整處理。
[0044]具體地說,根據(jù)所述待處理報(bào)文的隊(duì)列號(hào),得到該隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,并利用所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度、所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,進(jìn)行丟棄判決處理,根據(jù)處理結(jié)果,確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄還是存儲(chǔ)。丟棄判決處理可以利用10算法、1即0算法等擁塞避免算法進(jìn)行處理。當(dāng)確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行存儲(chǔ)時(shí),將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別加上所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,否則,保持所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度不變。當(dāng)對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文調(diào)度出隊(duì)時(shí),利用所述報(bào)文的隊(duì)列號(hào),得到所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,并將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別減去所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度。
[0045]圖3是現(xiàn)有技術(shù)提供的原始的報(bào)文存儲(chǔ)空間映射關(guān)系示意圖,如圖3所示,維護(hù)的隊(duì)列深度為報(bào)文0至報(bào)文4的報(bào)文長(zhǎng)度的累加,由于系統(tǒng)在使用緩存空間存儲(chǔ)報(bào)文時(shí)按照610(^存儲(chǔ),因此實(shí)際占用的緩存為5個(gè)基本存儲(chǔ)單位,即5個(gè)404。由圖2所示實(shí)施例原理圖可知,本發(fā)明通過利用轉(zhuǎn)換后的報(bào)文長(zhǎng)度對(duì)隊(duì)列深度進(jìn)行維護(hù),從而使得維護(hù)的隊(duì)列深度與實(shí)際占用緩存相一致。圖4是本發(fā)明實(shí)施例提供的改進(jìn)后的報(bào)文存儲(chǔ)空間映射關(guān)系示意圖,如圖4所示,維護(hù)的隊(duì)列深度與實(shí)際占用緩存均為4個(gè)1310^。
[0046]圖5是本發(fā)明實(shí)施例提供的基于1即0和10機(jī)制的擁塞避免方法流程圖,如圖5所示,根據(jù)系統(tǒng)緩存的存儲(chǔ)情況,判斷緩存的分塊值(即基本存儲(chǔ)單位當(dāng)系統(tǒng)有新的報(bào)文到達(dá)之后,根據(jù)報(bào)文的隊(duì)列號(hào)讀取隊(duì)列深度。然后,根據(jù)分塊值,將報(bào)文長(zhǎng)度轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度。將轉(zhuǎn)換后的報(bào)文長(zhǎng)度和隊(duì)列深度送給10算法或1即0算法等擁塞避免算法,以供按照正常的流程進(jìn)行判斷。若用戶選擇了0算法,則將轉(zhuǎn)換后的報(bào)文長(zhǎng)度與報(bào)文所屬隊(duì)列的隊(duì)列深度相加,如果相加結(jié)果大于丟棄門限“―訪,則丟棄該報(bào)文,否貝0,判斷報(bào)文入隊(duì),并調(diào)整該隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,即在原來的隊(duì)列深度基礎(chǔ)上加上轉(zhuǎn)換后的報(bào)文長(zhǎng)度。若用戶選擇1即0算法,判斷方法與原方法大致相同。唯一區(qū)別的是采用轉(zhuǎn)換后的報(bào)文長(zhǎng)度,不再贅述。當(dāng)收到調(diào)度出隊(duì)的報(bào)文信息后,讀取出隊(duì)報(bào)文所屬隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,同樣地,根據(jù)隊(duì)列號(hào)獲得分塊值,將出隊(duì)報(bào)文的報(bào)文長(zhǎng)度轉(zhuǎn)換為新的報(bào)文長(zhǎng)度,根據(jù)出隊(duì)報(bào)文的報(bào)文長(zhǎng)度和隊(duì)列深度,分別更新隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,即在原來的隊(duì)列深度基礎(chǔ)上減去轉(zhuǎn)換后的報(bào)文長(zhǎng)度。
[0047]具體步驟如下:
[0048]本發(fā)明所述的自適應(yīng)擁塞避免的方法包括以下步驟:
[0049]第一步、新的報(bào)文進(jìn)入系統(tǒng),根據(jù)所述報(bào)文的隊(duì)列號(hào),讀取該隊(duì)列的隊(duì)列深度11611和系統(tǒng)隊(duì)列深度878^^1611。
[0050]第二步、根據(jù)隊(duì)列號(hào),查詢?cè)撽?duì)列在緩存的基本存儲(chǔ)單位,即得到該隊(duì)列的分塊值
1310(^—8:1260
[0051]第三步、新的入隊(duì)包長(zhǎng)計(jì)算。
[0052]將報(bào)文長(zhǎng)度成11611轉(zhuǎn)換成811)0(機(jī)制下的報(bào)文長(zhǎng)度成1^1611」161 (即轉(zhuǎn)換成基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度成1161116?),轉(zhuǎn)換后的報(bào)文長(zhǎng)度成1^1611」161是通過將報(bào)文長(zhǎng)度除以分塊值1310(318126并向上取整得到。也就是說,報(bào)文長(zhǎng)度滿足整數(shù)個(gè)8104的,所述報(bào)文占用的8104的數(shù)量是;報(bào)文長(zhǎng)度不足一個(gè)8104的,按照1個(gè)610(^存儲(chǔ),所述報(bào)文占用的8104的數(shù)量是成1^1611」16^成1:—
1^611/13100^8126+1。
[0053]第四步、根據(jù)轉(zhuǎn)換后的報(bào)文長(zhǎng)度,對(duì)該報(bào)文進(jìn)行丟棄判斷。
[0054]若判斷報(bào)文入隊(duì)(即不丟棄),則更新系統(tǒng)緩存,將隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別加上轉(zhuǎn)換后的報(bào)文長(zhǎng)度,否則,判斷報(bào)文丟棄,不更新隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度。
[0055]第五步、報(bào)文調(diào)度出隊(duì)。
[0056]根據(jù)報(bào)文的隊(duì)列號(hào),讀取該隊(duì)列的隊(duì)列深度11611和系統(tǒng)的隊(duì)列深度878^^1611。
[0057]第六步、根據(jù)報(bào)文的隊(duì)列號(hào),查詢?cè)撽?duì)列獲得的基本存儲(chǔ)單位,即得到該隊(duì)列的分塊值 1310(^—8126。
[0058]第七步、新的出隊(duì)報(bào)文長(zhǎng)度計(jì)算。
[0059]將報(bào)文長(zhǎng)度成11611轉(zhuǎn)換成8104機(jī)制下的報(bào)文長(zhǎng)度成1^1611」161。轉(zhuǎn)換后的報(bào)文長(zhǎng)度成11611」16界是通過將報(bào)文長(zhǎng)度成1:」^611除以分塊值1310(^1^8126并向上取整得至I』。也就是說,報(bào)文長(zhǎng)度滿足整數(shù)個(gè)8104的,所述報(bào)文占用的8104的數(shù)量是成1161116^=1)^1:^611/13100^8126 ;報(bào)文長(zhǎng)度不足一個(gè)8104的,按照1個(gè)610(^出隊(duì),所述報(bào)文占用的 8104 的數(shù)量是成界=成 /1310(^1^8126+10
[0060]第八步、根據(jù)調(diào)整后的報(bào)文長(zhǎng)度,對(duì)該報(bào)文進(jìn)行出隊(duì)更新。將當(dāng)前隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別減去轉(zhuǎn)換后的報(bào)文長(zhǎng)度,得到新的隊(duì)列深度。
[0061]本發(fā)明還提供了一種路由器的擁塞避免裝置,包括:
[0062]存儲(chǔ)單位獲取單元,用于根據(jù)待處理報(bào)文的隊(duì)列號(hào),得到當(dāng)前正在對(duì)該隊(duì)列進(jìn)行緩存的基本存儲(chǔ)單位;
[0063]報(bào)文長(zhǎng)度轉(zhuǎn)換單元,用于將所述待處理報(bào)文的報(bào)文長(zhǎng)度轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到基本存儲(chǔ)單位模式下的報(bào)文,具體地說,所述報(bào)文長(zhǎng)度轉(zhuǎn)換單元通過將所述待處理報(bào)文的報(bào)文長(zhǎng)度與所述基本存儲(chǔ)單位相除,并向上取整,得到基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度;
[0064]擁塞避免處理單元,用于利用所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄判決處理和隊(duì)列深度調(diào)整處理。所述擁塞避免處理單元包括丟棄判決子單元和隊(duì)列深度維護(hù)子單元;其中,所述丟棄判決子單元利用通過所述待處理報(bào)文的隊(duì)列號(hào)得到的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度、所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,進(jìn)行丟棄判決處理,根據(jù)處理結(jié)果,確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄還是存儲(chǔ),當(dāng)確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行存儲(chǔ)時(shí),所述隊(duì)列深度維護(hù)子單元將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別加上所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,否則,保持所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度不變,并當(dāng)對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文調(diào)度出隊(duì)時(shí),利用所述報(bào)文的隊(duì)列號(hào),得到所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,并將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別減去所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度。.
[0065]圖6是本發(fā)明實(shí)施例提供的基于1即0和10機(jī)制的擁塞避免裝置結(jié)構(gòu)圖,如圖6所示,包括811)(?模式檢測(cè)模塊、入隊(duì)計(jì)算模塊和出隊(duì)計(jì)算模塊。
[0066]其中,所述811)(?模式檢測(cè)模塊實(shí)時(shí)監(jiān)控系統(tǒng)緩存的存儲(chǔ)情況,當(dāng)新包進(jìn)入系統(tǒng)或者調(diào)度出系統(tǒng)時(shí),根據(jù)隊(duì)列號(hào),檢測(cè)該隊(duì)列緩存的基本存儲(chǔ)單位。該模塊根據(jù)系統(tǒng)緩存所處區(qū)間,判斷出分塊值(8104 8126),范圍為1?8-1。若1311^8126=1,貝1]表示基本存儲(chǔ)單位為字節(jié),即兼容字節(jié)模式;并通過計(jì)算新包實(shí)際占用的8104,產(chǎn)生分塊有效指示最后,將分塊有效指示和分塊值傳遞給入隊(duì)計(jì)算模塊和出隊(duì)計(jì)算模塊。所述8100(模式檢測(cè)模塊實(shí)現(xiàn)了存儲(chǔ)單位獲取單元的功能。
[0067]入隊(duì)計(jì)算模塊負(fù)責(zé)維護(hù)進(jìn)入系統(tǒng)的報(bào)文長(zhǎng)度和隊(duì)列深度。首先,當(dāng)新包進(jìn)入系統(tǒng)后,該模塊會(huì)讀取當(dāng)前隊(duì)列的隊(duì)列深度[611的卜)和系統(tǒng)的隊(duì)列深度87111611 (8781:6111 0116116。根據(jù) 811)0(模式檢測(cè)模塊送來的 1^11^8126 和將報(bào)文長(zhǎng)度轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,并將轉(zhuǎn)換得到的報(bào)文長(zhǎng)度和隊(duì)列深度送給擁塞避免算法模塊(包括10算法,1^0算法等根據(jù)丟棄判斷的最終結(jié)果,分別更新隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度87111所述入隊(duì)計(jì)算模塊實(shí)現(xiàn)了報(bào)文長(zhǎng)度轉(zhuǎn)換單元和隊(duì)列深度維護(hù)子單元的功能,所述擁塞避免算法模塊實(shí)現(xiàn)了丟棄判決子單元的功能。
[0068]出隊(duì)計(jì)算模塊負(fù)責(zé)維護(hù)從系統(tǒng)調(diào)度出去的報(bào)文長(zhǎng)度和隊(duì)列深度。首先,當(dāng)收到調(diào)度出隊(duì)的報(bào)文信息后,該模塊會(huì)讀取當(dāng)前隊(duì)列的隊(duì)列深度如6116和系統(tǒng)的隊(duì)列深度 87111611 (3781:6111 0116116 。根據(jù) 811)0(模式檢測(cè)模塊送來的 1311^8126和611^71(1,將出隊(duì)報(bào)文長(zhǎng)度轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度。根據(jù)轉(zhuǎn)換后得到的報(bào)文長(zhǎng)度和隊(duì)列深度,分別更新隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度87^(^161^II⑶。所述出隊(duì)計(jì)算模塊實(shí)現(xiàn)了報(bào)文長(zhǎng)度轉(zhuǎn)換單元和隊(duì)列深度維護(hù)子單元的功能。
[0069]所述裝置的工作流程如下:
[0070]第一步、新的報(bào)文進(jìn)入系統(tǒng)后,根據(jù)報(bào)文的隊(duì)列號(hào),讀取該隊(duì)列的隊(duì)列深度^16!!和系統(tǒng)隊(duì)列深度878^^1611。
[0071]第二步、81001(模式檢測(cè)模塊實(shí)時(shí)監(jiān)控系統(tǒng)緩存的存儲(chǔ)情況。
[0072]當(dāng)新的報(bào)文進(jìn)入系統(tǒng)或者報(bào)文調(diào)度出系統(tǒng)時(shí),根據(jù)報(bào)文的隊(duì)列號(hào),檢測(cè)該隊(duì)列緩存的基本存儲(chǔ)單位。該模塊將產(chǎn)生分塊有效指示^116),并根據(jù)該隊(duì)列的緩存所處區(qū)間,判斷分塊值1311^8126(810(^ 8126),將分塊有效指示和分塊值131^8126傳遞給入隊(duì)計(jì)算模塊和出隊(duì)計(jì)算模塊。
[0073]第三步、入隊(duì)計(jì)算模塊維護(hù)進(jìn)入系統(tǒng)的報(bào)文長(zhǎng)度和隊(duì)列深度。
[0074]首先,當(dāng)新包進(jìn)入系統(tǒng)后,該入隊(duì)計(jì)算模塊會(huì)讀取當(dāng)前隊(duì)列的隊(duì)列深度11611 (0116116和系統(tǒng)的隊(duì)列深度 878^^1611 ($781:6111 ¢)116116。
[0075]根據(jù)811)0(模式檢測(cè)模塊傳遞的1^11^8126和將報(bào)文長(zhǎng)度成1161^6叫轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度成1161^6叫」161即:
[0076]611^611^^116^=1)^1:^611^611^/131 ^8126 ;
[0077]不足一個(gè)8104的,需要按照1個(gè)610(^存儲(chǔ),即:
[0078]611^611^^116^=1)^1:^611^611^/131 ^8126+1。
[0079]將轉(zhuǎn)換后的報(bào)文長(zhǎng)度和隊(duì)列深度送給擁塞避免算法模塊,例如10算法、1即0算法等。擁塞避免算法模塊會(huì)根據(jù)轉(zhuǎn)換后的報(bào)文長(zhǎng)度進(jìn)行丟棄判決。
[0080]入隊(duì)計(jì)算模塊根據(jù)判決結(jié)果,更新隊(duì)列的隊(duì)列深度,即:
[0081〕9—1611^116^=^^1611+口垃七—1611—6111^—116 界
[0082]入隊(duì)計(jì)算模塊根據(jù)判決結(jié)果,更新系統(tǒng)的隊(duì)列深度,即:
[0083]878—9—1611—116 界口垃七—1611—6119—116 界
[0084]第四步、出隊(duì)計(jì)算模塊負(fù)責(zé)維護(hù)從系統(tǒng)調(diào)度出去的報(bào)文長(zhǎng)度和隊(duì)列深度。
[0085]首先,當(dāng)收到調(diào)度出隊(duì)的報(bào)文信息后,該模塊會(huì)讀取當(dāng)前隊(duì)列的隊(duì)列深度11611和系統(tǒng)的隊(duì)列深度87111611。
[0086]根據(jù)出隊(duì)報(bào)文的隊(duì)列號(hào),到8100(模式檢測(cè)模塊查詢?cè)撽?duì)列的存儲(chǔ)情況。
[0087]根據(jù)811)(?模式檢測(cè)模塊傳遞的6118126和611^^1(1,將出隊(duì)報(bào)文長(zhǎng)度成乙161^(16(1轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,即:
[0088]成 1:—1611^(16^/131 ^8126
[0089]不足一個(gè)8104的,需要按照1個(gè)610(^存儲(chǔ),即:
[0090]成 1:—1611^(16^^116^=1)^1:^611^(16^/131 ^8126+1
[0091]根據(jù)出隊(duì)報(bào)文長(zhǎng)度和隊(duì)列深度,更新隊(duì)列的隊(duì)列深度,即:
[0092]^^1611^116^=^^1
[0093]根據(jù)出隊(duì)報(bào)文長(zhǎng)度和隊(duì)列深度,更新系統(tǒng)的隊(duì)列深度,即:
[0094]878.(1—1611—116 界=878^^.1611+1)垃 1^1611-(16(1.116 界
[0095]本發(fā)明是根據(jù)緩存的實(shí)際存儲(chǔ)情況,調(diào)整擁塞判斷的報(bào)文長(zhǎng)度和隊(duì)列深度。將轉(zhuǎn)換后的報(bào)文長(zhǎng)度做實(shí)際的丟棄判斷依據(jù),從而使擁塞避免維護(hù)的隊(duì)列深度與緩存中存儲(chǔ)的實(shí)際隊(duì)列深度保持一致。轉(zhuǎn)換后的報(bào)文長(zhǎng)度和隊(duì)列深度可以用于包括但不限于10策略,1^0策略,其它擁塞避免算法均可支持。在報(bào)文入隊(duì)判斷時(shí),將報(bào)文長(zhǎng)度轉(zhuǎn)換成8104機(jī)制下的報(bào)文長(zhǎng)度,從而保證能夠根據(jù)設(shè)置的門限進(jìn)行有效擁塞判斷,避免隊(duì)列間搶占緩存和系統(tǒng)緩存溢出問題;在報(bào)文出隊(duì)時(shí),將報(bào)文長(zhǎng)度轉(zhuǎn)換成8104機(jī)制下的報(bào)文長(zhǎng)度,可以釋放較多的緩存空間,從而保證后續(xù)較多的報(bào)文入隊(duì),充分利用系統(tǒng)緩存。
[0096]綜上所述,本發(fā)明具有以下技術(shù)效果:
[0097]本發(fā)明在處理網(wǎng)絡(luò)擁塞問題上取得了進(jìn)步,達(dá)到了提高擁塞避免性能和系統(tǒng)緩存利用率的效果。
[0098]盡管上文對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,但是本發(fā)明不限于此,本【技術(shù)領(lǐng)域】技術(shù)人員可以根據(jù)本發(fā)明的原理進(jìn)行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應(yīng)當(dāng)理解為落入本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種路由器的擁塞避免方法,其特征在于,包括: 根據(jù)待處理報(bào)文的隊(duì)列號(hào),得到當(dāng)前正在對(duì)該隊(duì)列進(jìn)行緩存的基本存儲(chǔ)單位; 將所述待處理報(bào)文的報(bào)文長(zhǎng)度轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到基本存儲(chǔ)單位模式下的報(bào)文; 利用所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄判決處理和隊(duì)列深度調(diào)整處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過將所述待處理報(bào)文的報(bào)文長(zhǎng)度與所述基本存儲(chǔ)單位相除,并向上取整,得到基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述待處理報(bào)文的隊(duì)列號(hào),得到該隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,并利用所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度、所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,進(jìn)行丟棄判決處理,根據(jù)處理結(jié)果,確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄還是存儲(chǔ)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,通過尾部丟棄TD算法和/或加權(quán)隨機(jī)早期檢測(cè)WRED算法,進(jìn)行報(bào)文丟棄判決處理。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行存儲(chǔ)時(shí),將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別加上所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,否則,保持所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度不變。
6.據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文調(diào)度出隊(duì)時(shí),利用所述報(bào)文的隊(duì)列號(hào),得到所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,并將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別減去所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度。
7.—種路由器的擁塞避免裝置,其特征在于,包括: 存儲(chǔ)單位獲取單元,用于根據(jù)待處理報(bào)文的隊(duì)列號(hào),得到當(dāng)前正在對(duì)該隊(duì)列進(jìn)行緩存的基本存儲(chǔ)單位; 報(bào)文長(zhǎng)度轉(zhuǎn)換單元,用于將所述待處理報(bào)文的報(bào)文長(zhǎng)度轉(zhuǎn)換為基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到基本存儲(chǔ)單位模式下的報(bào)文; 擁塞避免處理單元,用于利用所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄判決處理和隊(duì)列深度調(diào)整處理。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述報(bào)文長(zhǎng)度轉(zhuǎn)換單元通過將所述待處理報(bào)文的報(bào)文長(zhǎng)度與所述基本存儲(chǔ)單位相除,并向上取整,得到基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述擁塞避免處理單元包括: 丟棄判決子單元,用于利用通過所述待處理報(bào)文的隊(duì)列號(hào)得到的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度、所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,進(jìn)行丟棄判決處理,根據(jù)處理結(jié)果,確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行丟棄還是存儲(chǔ)。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述擁塞避免處理單元還包括: 隊(duì)列深度維護(hù)子單元,用于當(dāng)確定對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文進(jìn)行存儲(chǔ)時(shí),將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別加上所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,否則,保持所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度不變,并當(dāng)對(duì)所述基本存儲(chǔ)單位模式下的報(bào)文調(diào)度出隊(duì)時(shí),利用所述報(bào)文的隊(duì)列號(hào),得到所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度,并將所述隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度分別減去所述基本存儲(chǔ)單位模式下的報(bào)文長(zhǎng)度,得到調(diào)整后的隊(duì)列的隊(duì)列深度和系統(tǒng)的隊(duì)列深度。
【文檔編號(hào)】H04L12/823GK104426796SQ201310367452
【公開日】2015年3月18日 申請(qǐng)日期:2013年8月21日 優(yōu)先權(quán)日:2013年8月21日
【發(fā)明者】廖智勇, 廖慶磊, 王馨 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1