一種基于可信調(diào)度的改進隊列調(diào)度算法
【專利摘要】本發(fā)明公開了一種基于可信調(diào)度的改進隊列調(diào)度算法,所提出的隊列調(diào)度算法主要由兩部分組成:流量控制器和分組調(diào)度器。流量控制器采用區(qū)分服務(wù)網(wǎng)絡(luò)最常用的令牌桶算法,主要用來控制EF?PHB業(yè)務(wù)的流量以控制高優(yōu)先級業(yè)務(wù)的調(diào)度,防止長時間服務(wù)高優(yōu)先級隊列造成低優(yōu)先級隊列餓死。分組調(diào)度器則通過在加權(quán)循環(huán)調(diào)度算法基礎(chǔ)上的改進算法DWRRI和優(yōu)先級算法基群速率接口相結(jié)合來實現(xiàn)。
【專利說明】—種基于可信調(diào)度的改進隊列調(diào)度算法【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別設(shè)計一種基于可信調(diào)度的改進隊列調(diào)度算法。
【背景技術(shù)】
[0002]區(qū)分服務(wù)正是IETF工作組為了改進之前提出的集成業(yè)務(wù)模型的可擴展性差而提出的一種IP Q0S模型,它簡化了信令,對業(yè)務(wù)流的分類顆粒度更粗,業(yè)界普遍認為區(qū)分服務(wù)模型是一種未來可行的IP QoS模型。區(qū)分服務(wù)模型實施的特點是采用流聚合機制將具有相同特性的若干業(yè)務(wù)流聚合起來,為整個聚合流提供服務(wù),而不再面向單個流。因此,處在區(qū)分服務(wù)網(wǎng)絡(luò)邊界上的路由器保持每流狀態(tài)信息,而核心路由器只負責轉(zhuǎn)發(fā)數(shù)據(jù)包而不保持狀態(tài)信息,因而擴展性較好,可使用于大型網(wǎng)絡(luò)中。
[0003]區(qū)分服務(wù)網(wǎng)絡(luò)中,一個網(wǎng)絡(luò)有多個不同的區(qū)分服務(wù)域,不同的區(qū)分服務(wù)域能夠提供不同的區(qū)分服務(wù)業(yè)務(wù)。在典型區(qū)分服務(wù)網(wǎng)絡(luò)中,每個邊緣路由器都與其他的區(qū)分服務(wù)域的路由器相連,負責對匯聚業(yè)務(wù)流的整形和策略,也提供流狀態(tài)信息的保存。各個DS域之間,通常也是運營商之間的連接,可以進行服務(wù)質(zhì)量等級SLA之間的協(xié)商。根據(jù)實施的QoS機制來區(qū)分每一類通信,在邊緣路由器處根據(jù)業(yè)務(wù)服務(wù)要求對其進行分類及流量控制,并對各個業(yè)務(wù)提供服務(wù),包括帶寬分配預留和隊列調(diào)度等。核心路由器一般位于區(qū)分服務(wù)自治域內(nèi),一般只負責數(shù)據(jù)包的高速轉(zhuǎn)發(fā),這是區(qū)分服務(wù)與集成服務(wù)的一個重大區(qū)別。集成服務(wù)為單個流提供服務(wù),但區(qū)分服務(wù)將具有相同特性業(yè)務(wù)的流進行匯聚,且與業(yè)務(wù)狀態(tài)沒有關(guān)系,這樣就大大減少了調(diào)度算法所處理的隊列數(shù),因此對路由資源的消耗也大大降低,具有比集成業(yè)務(wù)更好的擴展性。核心路由器里定義了一組或多組每跳路由,主要根據(jù)DSCP值的不同選擇特定調(diào)度策略進行轉(zhuǎn)發(fā),在每一傳輸段逐段保證每跳路由行為。
[0004]用戶經(jīng)由區(qū)分服務(wù)網(wǎng)絡(luò)進行通信,需經(jīng)過以下的過程:
[0005]1.用戶首先向自身相連的邊界節(jié)點發(fā)送數(shù)據(jù),邊界節(jié)點負責在網(wǎng)絡(luò)邊緣進行業(yè)務(wù)分類和流量調(diào)整,業(yè)務(wù)分類可以基于DS域也可以基于其他特征,流量調(diào)整則使用測量、標記、丟棄、整形等手段實現(xiàn);
[0006]2.邊界節(jié)點識別出業(yè)務(wù)后,根據(jù)業(yè)務(wù)類型在IP首部DSCP字段打上標記,根據(jù)不同DSCP值為各種業(yè)務(wù)定義每跳路由行為,然后向本DS域內(nèi)的核心節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù),DS區(qū)域的服務(wù)提供策略由PHB決定,DS節(jié)點根據(jù)PHB屬性轉(zhuǎn)發(fā),并且只是將具有相同DSCP值的大量業(yè)務(wù)流匯聚成少數(shù)的聚合流根據(jù)與DSCP對應的PHB對報文實行簡單轉(zhuǎn)發(fā)。
[0007]3.若需要經(jīng)由不同Diffserv網(wǎng)絡(luò)轉(zhuǎn)發(fā),則內(nèi)部核心節(jié)點轉(zhuǎn)發(fā)至本DS域邊界節(jié)點后,邊界節(jié)點與其他Diffserv網(wǎng)絡(luò)邊界節(jié)點傳遞信息,由于不同的DS域可有不同的PHB,以實現(xiàn)不同的服務(wù)提供策略,邊界節(jié)點之間需要通過協(xié)商來提供跨區(qū)域服務(wù),SLA是服務(wù)等級協(xié)定,協(xié)商關(guān)于業(yè)務(wù)流在網(wǎng)絡(luò)中傳遞時所應當獲得的待遇,TCA是流量調(diào)整協(xié)定,協(xié)商關(guān)于業(yè)務(wù)分類準則、業(yè)務(wù)模型及相應處理。
[0008]4.經(jīng)過多次轉(zhuǎn)發(fā)之后,數(shù)據(jù)包由目標網(wǎng)絡(luò)所聯(lián)Diffserv網(wǎng)絡(luò)邊界節(jié)點轉(zhuǎn)發(fā)至目標網(wǎng)絡(luò)。
【發(fā)明內(nèi)容】
[0009]本發(fā)明所解決的技術(shù)問題是:
[0010]本發(fā)明主要研究在區(qū)分服務(wù)體系下QoS的調(diào)度策略,提出一種基于可信調(diào)度的改進隊列調(diào)度算法??尚耪{(diào)度模型中的分組調(diào)度算法是以加權(quán)輪循算法為基礎(chǔ),針對DffRR(Deficit weighted Round Robin)算法存在權(quán)值固定的缺點,提出了一種改進的算法DffRRI (DWRR Improvement),它針對網(wǎng)絡(luò)中數(shù)據(jù)包的流速來改變賦予其的權(quán)值,從而實現(xiàn)付出少量代價保證DWRR優(yōu)點的同時彌補其不足。
[0011]為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:
[0012]基于可信調(diào)度的改進隊列調(diào)度算法,該隊列調(diào)度算法主要由兩部分組成:流量控制器和分組調(diào)度器。流量控制器采用區(qū)分服務(wù)網(wǎng)絡(luò)最常用的令牌桶算法,主要用來控制EFPHB業(yè)務(wù)的流量以控制高優(yōu)先級業(yè)務(wù)的調(diào)度,防止長時間服務(wù)高優(yōu)先級隊列造成低優(yōu)先級隊列餓死。分組調(diào)度器則通過在WRR算法基礎(chǔ)上的改進算法DWRRI和優(yōu)先級算法PRI相結(jié)合來實現(xiàn)。當業(yè)務(wù)流分組到達時,首先進入邊緣路由器,若分組被標記為EF業(yè)務(wù),則它必須先通過令牌桶的過濾,如果符合流量要求就會被轉(zhuǎn)入高優(yōu)先級隊列進行轉(zhuǎn)發(fā),否則將被重新標記轉(zhuǎn)到其他隊列接收DWRRI算法的調(diào)度等待轉(zhuǎn)發(fā)。如果到達的分組被標記為AF業(yè)務(wù),它首先要接受DWRRI隊列調(diào)度算法調(diào)度,然后發(fā)送給低優(yōu)先級的隊列排隊等待被轉(zhuǎn)發(fā)。這樣結(jié)合,可以充分利用輪循和優(yōu)先級算法的優(yōu)點,克服各自的缺點,盡可能的滿足時延和公平性,更好地支持區(qū)分服務(wù)。
[0013]本發(fā)明的有益效果是:
[0014]本算法首先保證高優(yōu)先級業(yè)務(wù)的運行,然后讓其他業(yè)務(wù)爭用帶寬,當某類業(yè)務(wù)速率超過其規(guī)定的最高速率時,算法降低賦予其的權(quán)值,從而降低其對帶寬的占用,此外,可以充分利用輪循和優(yōu)先級算法的優(yōu)點,克服各自的缺點,盡可能的滿足時延和公平性,更好地支持區(qū)分服務(wù)。
【專利附圖】
【附圖說明】
[0015]圖1是本發(fā)明在流量控制器設(shè)計中令牌桶的處理過程。
[0016]圖2是本發(fā)明在分組調(diào)度器設(shè)計中DWRR算法調(diào)度示意圖。
[0017]圖3是本方法在分組調(diào)度器設(shè)計中DWRR算法功能框圖。
[0018]圖4是本發(fā)明中基于可信調(diào)度的改進隊列調(diào)度算法的策略示意圖。
【具體實施方式】
[0019]下面將結(jié)合說明書附圖,對本發(fā)明作進一步的說明。
[0020]流量控制器和分組調(diào)度器的設(shè)計與實現(xiàn)如下:
[0021]1.流量控制器
[0022]流量監(jiān)管是監(jiān)督進入網(wǎng)絡(luò)的某一流量的規(guī)格,把它限制在一個合理的范圍之內(nèi),或者對超出限制的流量進行懲罰,以保護網(wǎng)絡(luò)資源和運營商的利益。通常的做法是使用CAR (Committed Access Rate:約定訪問速率)來限制某類報文的流量。CAR利用令牌桶進行流量控制,對于進入令牌桶的流量如果符合流量要求就繼續(xù)正常轉(zhuǎn)發(fā)處理,如果令牌桶中已經(jīng)沒有足夠的令牌用以發(fā)送報文,則丟棄報文。這樣通過不斷產(chǎn)生的令牌來實現(xiàn)對某類報文的流量控制。本文中,對于到達時令牌桶已經(jīng)沒有令牌用以發(fā)送的流量不是采用直接丟棄的原則,而是對這些流量進行DSCP值的重新標記,將其從EF流量標記為AF類流量,讓這些流量和普通優(yōu)先級業(yè)務(wù)的流量競爭網(wǎng)絡(luò)資源,這樣就限制了高優(yōu)先級業(yè)務(wù)的最高流量同時也避免了因直接丟棄超出流量的包而造成的延遲。
[0023]圖1顯示的是令牌桶的工作過程。令牌的產(chǎn)生速率可以根據(jù)用戶的需求來設(shè)定,令牌桶的容量也可以設(shè)置,當令牌產(chǎn)生到一定程度超出桶的容量時,令牌量不再增加,分組通過令牌桶處理后,如果桶內(nèi)有足夠的令牌可以用以發(fā)送分組,則分組將被繼續(xù)發(fā)送,相應地,桶中令牌數(shù)按處理的分組長度做相應減少,當桶中令牌太少不能再發(fā)送分組時,分組將被重新標記,桶內(nèi)令牌數(shù)不變。這樣就限制了高優(yōu)先級業(yè)務(wù)最多只能被允許發(fā)送桶中所有令牌數(shù)量的分組數(shù),當高優(yōu)先級業(yè)務(wù)突發(fā)性不大時,桶中令牌數(shù)量足夠用來發(fā)送數(shù)據(jù),當高優(yōu)先級業(yè)務(wù)突發(fā)性過大或有惡意流搶占資源時,最多只允許發(fā)送桶中所有令牌表示的分組數(shù),令牌用完后只有等到新的令牌生成才可以繼續(xù)發(fā)送,這樣就實現(xiàn)了控制EF業(yè)務(wù)流的發(fā)送速度小于等于令牌生成速度,達到限制高優(yōu)先級的EF業(yè)務(wù)流量的目的。
[0024]這里介紹一下令牌桶的兩個主要參數(shù):
[0025]CIR(Committed Information Rate):承諾信息速率,表示向令牌桶中投放令牌的速率,即長時間的端口平均速率。
[0026]CBS (Committed Burst Size):承諾突發(fā)尺寸,該參數(shù)決定在流量超出CIR之前的最大突發(fā)流量,亦即令牌桶的容量。該參數(shù)必須設(shè)置大于報文的最大長度。
[0027]其實還有一個隱含的參數(shù)TI (Time Interval),該值為CBS/CIR,它主要定義了向令牌桶中加入令牌的時間間隔。每隔TI時間就會有新的令牌加入到令牌桶中,加入的數(shù)量是CBS的大小。
[0028]對于承諾信息速率CIR,在任意類型的接口上最小粒度都是8000bit,單位是bit/s,即最小的速率只能限制到8000bit/s。對于承諾突發(fā)流量CBS,單位為bit,不應小于報文的最大長度。因此將CIR設(shè)置為100Kbit/s,CBS則設(shè)置為2000kbyte??梢栽O(shè)想令牌桶為一水桶,它的容量是2000L,底部出水流速為200L/S,上部進水流速為100L/S,顯然入不敷出。20s內(nèi)桶內(nèi)水流完,這時出水流速變?yōu)閘OOL/s,而20s前流速一直保持200L/s,這就是突發(fā)。通過設(shè)置令牌桶的CBS參數(shù)就可以控制突發(fā)流量。
[0029]2.分組調(diào)度器
[0030]DWRR算法由WRR算法改進而來,WRR主要適合于分組長固定的網(wǎng)絡(luò)中,調(diào)度時根據(jù)設(shè)定的權(quán)值大小來決定分組的發(fā)送順序,一個輪循周期中,必須嚴格按照被分配到的權(quán)值來傳輸數(shù)據(jù)包。在ATM這樣的固定分組長度的網(wǎng)絡(luò)中可以達到完全公平,但在區(qū)分服務(wù)網(wǎng)絡(luò)中,各隊列之間的數(shù)據(jù)包是匯聚流,業(yè)務(wù)都是基于IP傳輸,數(shù)據(jù)包大小正常范圍在64-1518字節(jié),長度越長的分組占用的帶寬越多,從而影響公平性。DWRR引入了差值計數(shù)器的概念,將調(diào)度時由轉(zhuǎn)發(fā)分組變成以字節(jié)為單位,不管分組長度如何每次調(diào)度能轉(zhuǎn)發(fā)的分組大小固定,克服了分組變長帶來的不公平性。
[0031]舉一個例子說明:如圖2所示,隊列調(diào)度算法有三個待調(diào)度隊列,權(quán)值分別為200,300,100,第一個隊列有三個數(shù)據(jù)包待發(fā)送,長度分別為100、100,單位為字節(jié);第二個隊列有兩個數(shù)據(jù)包待發(fā)送,長度分別為200、150字節(jié);第三個隊列有三個數(shù)據(jù)包待發(fā)送,長度分別為50、100、100字節(jié)。隊列被服務(wù)時,首先將權(quán)值加到DCi上,依次輪循各個隊列。隊列O權(quán)值為200,此時DCtl為200,隊列頭部數(shù)據(jù)長為100字節(jié)小于DCtl故調(diào)度器轉(zhuǎn)發(fā)數(shù)據(jù),同時DCtl變成100,大于0,第二個數(shù)據(jù)包長100剛好等于DCtl繼續(xù)轉(zhuǎn)發(fā),隊列O為空,輪循隊列I。隊列I頭部數(shù)據(jù)包長200小于DC1,轉(zhuǎn)發(fā),同時DC1變成100,大于0,但第二個數(shù)據(jù)包長度為150大于DC1,不發(fā)送該數(shù)據(jù)包,輪循隊列2,同樣轉(zhuǎn)發(fā)頭部數(shù)據(jù)包DC2變成50,然后不再發(fā)送后面的數(shù)據(jù)包,開始第二輪循環(huán)。第二輪輪循時,由于隊列O已為空,不再對其調(diào)度,其余隊列權(quán)值加到DCi上,此時DCi = 400,DC2 = 150,隊列I可以完成調(diào)度,而隊列2則剩余100字節(jié)的數(shù)據(jù)包必須等待下次輪循發(fā)送。
[0032]由上例可以看出,DWRR將數(shù)據(jù)包的輸出大小大致使用權(quán)值來約束,保證了公平性,同時由于轉(zhuǎn)發(fā)的數(shù)據(jù)單位為字節(jié),因此支持變長數(shù)據(jù)包,使得調(diào)度更加精確。但同樣缺點也很明顯,在上例中,隊列I在一輪調(diào)度后只剩一個數(shù)據(jù)包待發(fā)送,但分配給它的權(quán)值依然很大,自適應性很差,對于網(wǎng)絡(luò)資源的分配不夠靈活。本文提出的DWRRI改進算法正是為了改進這一缺點在DWR的基礎(chǔ)上增加了一個權(quán)值更新模塊,使其在付出一定復雜性代價基礎(chǔ)上盡量保證優(yōu)點的同時避免缺陷。
[0033]DffRRI的基本思想是給調(diào)度算法增加一個測量器和判決器,根據(jù)測量器的結(jié)果來動態(tài)地改變相應隊列的權(quán)值。其整體模塊圖如圖3所示。該模塊由測量器、判決器、隊列權(quán)值表以及普通的輪循隊列調(diào)度組成。
[0034]DffRRI算法框圖中,每到一個分組(該分組已經(jīng)過前面DSCP標記模塊標記并分類,此處經(jīng)過該模塊的分組僅為AF1-AF4類業(yè)務(wù)及BE業(yè)務(wù)),根據(jù)分類的結(jié)果測量對應服務(wù)類別的數(shù)據(jù)到達率,同時將該分組插入到相應的子隊列中,將測量器的結(jié)果發(fā)送到判決器,供判決器決定如何改變隊列權(quán)值表中各服務(wù)類別對應的權(quán)值,從而影響調(diào)度行為。
[0035]Qffi代表子隊列i的初始化權(quán)值,每一次調(diào)度完成,QWi作為下一次調(diào)度時子隊列i的實際權(quán)值Wi。定義SWi為分配給隊列的固定權(quán)值,Affi表示相對于固定權(quán)值的增量,由判決器根據(jù)測量結(jié)果決定,QWi = Sff^AffijRmini表示子隊列速率的下限,可以根據(jù)實際網(wǎng)絡(luò)情況決定,相應地,Rfflaxi為隊列速率上限。
`[0036]1、確定 QWi;
[0037]當一個分組到達時,首先根據(jù)分組的DSCP值將分組插入相應的隊列中,然后測量器測量該類業(yè)務(wù)到達的速率R,判決器根據(jù)R值進行如下動作:
【權(quán)利要求】
1.一種基于可信調(diào)度的改進隊列調(diào)度算法,其特征在于:這種可信調(diào)度的改進隊列調(diào)度算法主要由兩部分組成:流量控制器和分組調(diào)度器,流量控制器采用區(qū)分服務(wù)網(wǎng)絡(luò)最常用的令牌桶算法,用來控制EF PHB業(yè)務(wù)的流量以控制高優(yōu)先級業(yè)務(wù)的調(diào)度,防止長時間服務(wù)高優(yōu)先級隊列造成低優(yōu)先級隊列餓死,分組調(diào)度器則通過在加權(quán)循環(huán)調(diào)度算法基礎(chǔ)上的改進算法DWRRI和優(yōu)先級算法基群速率接口相結(jié)合來實現(xiàn),當業(yè)務(wù)流分組到達時,首先進入邊緣路由器,若分組被標記為EF業(yè)務(wù),則它必須先通過令牌桶的過濾,如果符合流量要求就會被轉(zhuǎn)入高優(yōu)先級隊列進行轉(zhuǎn)發(fā),否則將被重新標記轉(zhuǎn)到其他隊列接收DWRRI算法的調(diào)度等待轉(zhuǎn)發(fā)。如果到達的分組被標記為AF業(yè)務(wù),它首先要接受DWRRI隊列調(diào)度算法調(diào)度,然后發(fā)送給低優(yōu)先級的隊列排隊等待被轉(zhuǎn)發(fā)。
【文檔編號】H04L12/813GK103888379SQ201310641733
【公開日】2014年6月25日 申請日期:2013年12月3日 優(yōu)先權(quán)日:2013年12月3日
【發(fā)明者】洪智 申請人:江蘇達科信息科技有限公司