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

用于多輸入單輸出的網(wǎng)絡(luò)流量整形和帶寬分配的方法

文檔序號:7597365閱讀:425來源:國知局
專利名稱:用于多輸入單輸出的網(wǎng)絡(luò)流量整形和帶寬分配的方法
技術(shù)領(lǐng)域
本發(fā)明涉及可變長的包交換網(wǎng)絡(luò)中QoS服務(wù)的一種帶寬控制方法,具體地說,是一種可以應(yīng)用在數(shù)據(jù)通信網(wǎng)絡(luò)中多用戶接入的QoS服務(wù)流量整形及帶寬分配方法。
背景技術(shù)
當前的網(wǎng)絡(luò)帶寬分配大多采用保證帶寬分配方法對某個用戶專門提供帶寬,其他用戶不能使用這段帶寬,即使該用戶的數(shù)據(jù)沒有達到該帶寬,例如當調(diào)度到某個輸入一流發(fā)送包時,那么如果該隊列沒有包存在,則該次調(diào)度時間輪空。
質(zhì)量服務(wù)QoS的一個重要問題是整形,整形是指對輸入的突發(fā)性流量進行緩沖延緩其輸出以防止路由器內(nèi)阻塞和輸出鏈路的阻塞。大多數(shù)流量整形方法采用傳統(tǒng)的漏桶算法,如圖4所示的,其應(yīng)用系統(tǒng)包括多個輸入鏈路1~n,分別連接有對應(yīng)的整形器1~n,然后連接輸出鏈路;所述輸入鏈路、整形器通訊連接一由帶寬控制器控制的讀控制器。所述漏桶算法的流量整形方法的一般過程是采用一個計數(shù)器設(shè)置初值,該計數(shù)器定期的更新為最大值。每過一預(yù)定時間間隔發(fā)送不超過該計數(shù)器的包的總長隊列前面的幾個包,每發(fā)送一個包計數(shù)器減去包長,如果包長超出了剩余計數(shù)器,則等待下一時鐘間隔計數(shù)器重新初始化最大值再來發(fā)包。每個流設(shè)有一個輸入緩沖隊列,隊列滿了則進行丟棄。這種方法通過限制計數(shù)器防止短時間內(nèi)大量包過來的突發(fā)流輸出導致網(wǎng)絡(luò)或路由器緩沖區(qū)擁塞。但是這種方法只能限制輸出帶寬,而不能有效的調(diào)節(jié)帶寬和保證帶寬。
對其他帶寬控制方法分析,如附圖4所示,其他帶寬控制也有采用漏桶算法的,能夠近似的分配帶寬。采取近似于帶寬狀態(tài)方法的,通過帶寬控制器計算出應(yīng)該給哪個隊列分配帶寬。但是大多數(shù)采用硬件的方法,缺乏足夠的用戶數(shù)目增加的靈活性,不易滿足大量的用戶的使用。又因為其設(shè)置計數(shù)器不夠靈活,不能夠有效地衡量帶寬,這種現(xiàn)有技術(shù)的方式不能實時反應(yīng)用戶帶寬的實際情況,擴展和伸縮性比較差。
還有的帶寬控制是根據(jù)鏈路狀態(tài)來控制帶寬資源的使用,但不能保證用戶的有效帶寬。因此這種帶寬分配方法一般用在中心節(jié)點的控制,而不是網(wǎng)絡(luò)接入的地方。
因此,現(xiàn)有技術(shù)存有缺陷,而有待于改進和發(fā)展。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于多輸入單輸出的網(wǎng)絡(luò)流量整形和帶寬分配的方法,針對以上現(xiàn)有技術(shù)的缺點,提出一種新的改進的帶寬控制方法和流量整形方法,保證每個輸入用戶的最小輸出帶寬并且限制其最大輸出帶寬,當最小帶寬都得到滿足時讓每個用戶根據(jù)其最小保證帶寬大小按比例分配剩余帶寬。
本發(fā)明的技術(shù)方案如下一種多輸入單輸出鏈路的帶寬分配的方法,其包括以下步驟a)針對每一輸入鏈路,設(shè)置與之連接的緩沖隊列及包長緩沖隊列,所述的輸入鏈路將其包長信息發(fā)送到一隊列號選擇模塊;b)所述隊列號選擇模塊通過比較帶寬狀態(tài)與最小帶寬的差額,選擇最大差額的輸入鏈路作為輸出,至少每個用戶分配到最小帶寬后,然后根據(jù)每個用戶多出帶寬的大小進行調(diào)度,選擇多出帶寬的余數(shù)為最小值的輸入鏈路作為輸出,保證剩余帶寬分給各個用戶;c)所述隊列號選擇模塊選擇需要發(fā)送的隊列號,輸出給所述輸出鏈路;d)所述輸出鏈路在輸出數(shù)據(jù)包后將剛剛發(fā)送的包長和隊列號發(fā)送給一帶寬狀態(tài)維護模塊。
所述的方法,其中,所述帶寬狀態(tài)維護模塊狀態(tài)維護時包括以下步驟e)維護每個隊列的帶寬計數(shù)器,該計數(shù)器每過一較小時鐘周期減少一定數(shù),每到的一較大時鐘周期開始發(fā)送包;f)對于帶寬狀態(tài)維護模塊中每個隊列對應(yīng)的帶寬計數(shù)器減少的速率等于給隊列設(shè)定的最小帶寬為準;g)當發(fā)送包時間到時,首先檢查發(fā)送包的上次發(fā)送的隊列號,得到上次發(fā)送的隊列號和包的長度之和,該隊列的帶寬計數(shù)器就增加發(fā)送的包長度之和,然后通知調(diào)度模塊發(fā)送包;h)當所述調(diào)度模塊收到所述帶寬狀態(tài)維護模塊的發(fā)包命令時,根據(jù)各個輸入流的帶寬狀態(tài)來選擇隊列發(fā)包。
所述的方法,其中,所述調(diào)度模塊還讀取每一輸入鏈路對應(yīng)的帶寬計數(shù)器,并對每一輸入鏈路的帶寬計數(shù)器與最大可允許帶寬進行比較;如果帶寬計數(shù)器不大于最大可允許帶寬,設(shè)定對于每個輸入流,將其帶寬計數(shù)器減去最小帶寬,得到差額如果小于零則將差額賦值為0,如果不小于0則差額保持不變;當帶寬計數(shù)器大于最大允許帶寬時,將設(shè)置差額設(shè)定為總帶寬減去最小帶寬。
所述的方法,其中,所述輸出鏈路在輸出鏈路發(fā)包的時候,選擇輸入隊列后,根據(jù)每個用戶事先設(shè)置的權(quán)重確定發(fā)送包的量;每個隊列預(yù)先設(shè)定最大突發(fā)值Mb,發(fā)送滿足包長之和<=權(quán)重<=Mb。
所述的方法,其中,所述輸入鏈路包括g1)所述輸入鏈路有一寫控制器用于檢測數(shù)據(jù)包緩沖隊列的狀態(tài)是否已滿,如果已經(jīng)滿了,則將包丟棄;如果隊列未滿,則寫入包,并將包長放到包長緩沖隊列;g2)在每個輸入接口進來的包如果存放在一個單獨的包緩沖隊列上,所述輸入鏈路具有計算包長的能力,將包長放進相應(yīng)的包長緩沖隊列中,以供調(diào)度模塊發(fā)送包時計算要發(fā)送的包的量,以保證每次發(fā)送的流量不超過權(quán)重.
本發(fā)明所提供的一種用于多輸入單輸出的網(wǎng)絡(luò)流量整形和帶寬分配的方法,通過設(shè)定用戶分配的最小帶寬,然后對剩余帶寬進行分配,保證了各個用戶分配的帶寬不低于最小帶寬,同時又能夠利用剩余帶寬,從而避免了帶寬的浪費;本發(fā)明的帶寬控制方法既防止了突發(fā)串造成網(wǎng)絡(luò)擁塞,又能夠控制用戶帶寬的上限同時提高了控制方法的靈活性,通過設(shè)定時間間隔能有效提高發(fā)送效率,滿足了每個用戶的發(fā)送權(quán)重和之間的公平性,從而大大提高了服務(wù)質(zhì)量。


圖1為本發(fā)明的所述用于多輸入單輸出的網(wǎng)絡(luò)流量整形和帶寬分配的方法中帶寬分配方法的總體運行環(huán)境圖,其中示出了包括多個輸入鏈路,緩存隊列,輸出鏈路,和帶寬狀態(tài)維護模塊,調(diào)度發(fā)送隊列的模塊;圖2為本發(fā)明方法的帶寬狀態(tài)的維護的流程圖,圖中示出了計算帶寬的當前狀態(tài),發(fā)送帶寬狀態(tài)值給調(diào)度隊列模塊;圖3示出的是本發(fā)明的所述方法的利用帶寬狀態(tài)的進行發(fā)送隊列調(diào)度的流程圖,其中示出了計算調(diào)度值,將選出的隊列號發(fā)送給輸出鏈路進行發(fā)包的過程;圖4為現(xiàn)有技術(shù)的帶寬分配結(jié)構(gòu)圖。
具體實施例方式
以下將詳細描述本發(fā)明的較佳實施例,以使本發(fā)明的技術(shù)方案及其有益效果顯而易見。
本發(fā)明方法總的目標是保證各個用戶分配的帶寬不低于最小帶寬,同時又能夠利用剩余帶寬。當總帶寬高于所有用戶最小保證帶寬之和時就會出現(xiàn)剩余帶寬,如果總體帶寬多出所有最小帶寬之和,那么會出現(xiàn)剩余帶寬。這說明所有輸入流的最小帶寬都得到滿足,剩余帶寬將運用輪轉(zhuǎn)法被公平分享給所有的輸入流,而對于輸入數(shù)據(jù)較少的已經(jīng)被發(fā)送完的用戶卻不給其發(fā)送的機會,從而避免帶寬的浪費,這樣的調(diào)度發(fā)送選擇方法能夠達到大家都分享剩余帶寬的目的。這對于同級用戶來說是公平的。針對傳統(tǒng)的帶寬分配方法,本發(fā)明方法避免了其分配的帶寬未用時其他用戶用不了的浪費情況。
本發(fā)明方法中如果總帶寬不夠?qū)醋钚”WC帶寬的比例來分配總體帶寬,最小保證帶寬高的,實際使用的帶寬也要高,一旦用戶超過了最高限制輸出帶寬,將很難獲得發(fā)送機會。直到過了一段時間,帶寬降下來后,該輸入流才有更多機會發(fā)送。
如附圖1所示的,本發(fā)明方法為一個運行在多輸入單輸出的匯聚節(jié)點上的流量整形和帶寬分配方法,其實現(xiàn)可通過軟件,其應(yīng)用系統(tǒng)包括多個輸入鏈路101和102,分別連接對應(yīng)的緩沖隊列1和2,并通過一輸出鏈路或驅(qū)動程序?qū)l(fā)送的包長和隊列號發(fā)送給一帶寬狀態(tài)維護和分配模塊,同時所述的輸入鏈路101和102將其包長信息發(fā)送到一隊列號選擇模塊,即調(diào)度模塊;所述隊列號選擇模塊根據(jù)所述帶寬狀態(tài)維護和分配模塊提供的各輸入隊列的帶寬值,選擇需要發(fā)送的隊列號,輸出給所述輸出鏈路或驅(qū)動程序;所述輸出鏈路或驅(qū)動程序?qū)?yīng)的包輸出給帶寬控制過程。每輸入流量整形功能使用軟件維護計數(shù)器,已經(jīng)不是普通的漏桶算法的整形,整形通過隊列丟棄方法來實現(xiàn)多余的包丟棄,通過帶寬狀態(tài)的維護與比較來限制每輸入的最大出口量;發(fā)送的時候通過帶寬調(diào)度器來選擇最小帶寬的輸入隊列發(fā)包并且平衡最大實際帶寬的發(fā)包。
本發(fā)明方法的實現(xiàn)例子和運行環(huán)境如附圖2所示,所述方法的應(yīng)用系統(tǒng)包括一組輸入鏈路、包緩沖隊列、包長緩沖隊列;有一輸出帶寬狀態(tài)模塊專門維護帶寬狀態(tài);另外有一負責選擇隊列號并負責選擇發(fā)送包的調(diào)度模塊,輸出鏈路負責將發(fā)送包的總大小和隊列號反饋給帶寬狀態(tài)維護模塊。
每個輸入接口進來的包存放在一個單獨的包緩沖隊列上,所述輸入鏈路具有計算包長的能力,將包長放進相應(yīng)的包長緩沖隊列中,以供調(diào)度模塊發(fā)送包時計算包長。
所述輸入鏈路有一寫控制器負責檢測輸入隊列的狀態(tài)是否已滿,如果已經(jīng)滿了,則將包丟棄,也不往包長緩沖隊列中寫包長;如果隊列未滿,則寫入包,并將包長放到包長緩沖隊列。
設(shè)計輸出帶寬狀態(tài)模塊維護每個輸入流的帶寬計數(shù)器bandcount,判斷時鐘是否到達,該計數(shù)器每過一小的時鐘周期減少一定數(shù),每到一大的時鐘周期開始發(fā)送包過程,首先檢查發(fā)送包的結(jié)果隊列,讀取調(diào)度模塊的包的發(fā)送量和隊列號,得到上次發(fā)送的隊列號和包的長度之和,那么該輸入流的bandcount計數(shù)器就增加發(fā)送的包長度之和,該隊列號對應(yīng)的帶寬計數(shù)器按包的發(fā)送量多少增加,然后發(fā)送命令到調(diào)度模塊,通知調(diào)度模塊發(fā)送包,并根據(jù)包的發(fā)送量和隊列號更新相應(yīng)的帶寬計數(shù)器。循環(huán)上述過程。
對于帶寬狀態(tài)維護模塊中每個輸入流對應(yīng)的bandcount減少的量和時間應(yīng)該以最小帶寬為準,當發(fā)送速率達到最小帶寬時,bandcount始終平衡保持在最小帶寬的水平,也就是說bandcount減少的速度與發(fā)送達到最小帶寬的速度基本持平。
設(shè)計發(fā)送隊列調(diào)度模塊的方法步驟當調(diào)度模塊收到帶寬狀態(tài)維護和分配模塊的發(fā)包命令時,將根據(jù)各個輸入流的帶寬狀態(tài)來選擇隊列發(fā)包;選擇輸入隊列后,發(fā)包的時候根據(jù)每個用戶事先設(shè)置的權(quán)重來發(fā)送包的量,如果有三個包的長度和最接近的權(quán)重而這四個包的長度和超過了權(quán)重,那么只發(fā)送前面三個包。由于流量整形的需要每個輸入流有預(yù)先設(shè)定的最大burst值(Mb),因此發(fā)送必須滿足包長之和<=W(權(quán)重)<=Mb(burst)。最后調(diào)度模塊將總長度之和和發(fā)送的隊列號反饋給帶寬狀態(tài)維護模塊,以便維護所述帶寬狀態(tài)維護模塊更新該輸入的對應(yīng)的帶寬狀態(tài),通過這種調(diào)度實現(xiàn)公平分配帶寬,通過發(fā)送鏈路實現(xiàn)輸出流量的整形。
對調(diào)度模塊的隊列選擇方法的補充這個選擇方式是本發(fā)明的關(guān)鍵特征,如圖3所示的,在流程開始,循環(huán)處于等待狀態(tài),直至有命令消息過來;然后讀取所有的帶寬計數(shù)器,并對每一輸入鏈路的帶寬計數(shù)器bandcount與最大可允許帶寬maxband進行比較;如果帶寬計數(shù)器bandcount不大于最大可允許帶寬maxband,設(shè)定差值diff=bandcount-miniband,即對于每個輸入流,將其帶寬計數(shù)器bandcount減去最小帶寬,得到差值diff如果小于零則將差值賦值為0,如果不小于0則差值保持不變;為了限制最大帶寬,當帶寬計數(shù)器bandcount大于最大允許帶寬maxband時,將設(shè)置差值diff設(shè)定為總帶寬(MAX_BOUND)減去最小帶寬(min_band)。
通過該選擇步驟可有效地調(diào)節(jié)每個輸入流的輸出帶寬,既保證每個輸入流的最小帶寬,又能夠公平分享剩余帶寬。
選出那些差值最小且相等的隊列,如果只有一個隊列的差值是最小的,那么選擇該隊列發(fā)送。如果有多個隊列的差值都是最小的,那么從中用輪轉(zhuǎn)法Round robin進行選出其中一個來發(fā)送。另外如果當前帶寬計數(shù)器bandcount大于最大允許帶寬,則將差值設(shè)置為輸出鏈路總帶寬MAXbound減去輸入隊列號的最小保證帶寬min[i](其中i為輸入隊列號),一般來說這樣的差值太大,很能有機會發(fā)包。
根據(jù)權(quán)重計算出發(fā)送包的個數(shù),發(fā)送給輸出驅(qū)動程序,并將包長之和以及隊列號發(fā)送給帶寬狀態(tài)維護和分配模塊;然后循環(huán)上述過程。
所述包的發(fā)送過程為包的緩沖隊列有一讀控制器,收到隊列號、發(fā)包的個數(shù),將要發(fā)送的幾個包讀出來,一個一個發(fā)給輸出鏈路,將包發(fā)送出去即可。
如附圖3所示的,本發(fā)明的所述用于多輸入單輸出的網(wǎng)絡(luò)流量整形和帶寬分配的方法通過比較帶寬狀態(tài)與最小保證指標的差額,根據(jù)最大差額來實現(xiàn)選擇輸入鏈路發(fā)包,實現(xiàn)帶寬分配功能,包括保證每個用戶的最小帶寬得到滿足。
為防止用戶的最小輸出帶寬較高,每個用戶又有最高允許帶寬的約束,如果每個用戶都滿足了最小帶寬,那么根據(jù)每個用戶多出帶寬的大小公平地的調(diào)度,將剩余帶寬分給各個用戶。
發(fā)包時,通過設(shè)置相應(yīng)的限制權(quán)重,可以在一定的范圍內(nèi)一次發(fā)送若干流量的包。通過限制權(quán)重,可以限制突發(fā)性。
本發(fā)明方法主要用于多用戶輸入的網(wǎng)絡(luò)匯聚節(jié)點,例如視頻點播的媒體服務(wù)器多路視頻的入口,可用于運營商的提供SLA服務(wù)。本發(fā)明方法也可以用在網(wǎng)絡(luò)邊緣路由器,將路由器轉(zhuǎn)發(fā)部分取代輸出鏈路,將選擇的輸入隊列的包進行轉(zhuǎn)發(fā)處理。
針對傳統(tǒng)的整形方法,本發(fā)明方法中的帶寬控制方法既防止了突發(fā)串造成網(wǎng)絡(luò)擁塞,又能夠控制用戶帶寬的上限,因此,本發(fā)明提供動態(tài)分配的方法很好的解決了帶寬的優(yōu)化使用問題。
應(yīng)當理解的是,本發(fā)明的上述針對具體較佳實施例的描述過于具體,并不能因此而理解為對本發(fā)明的專利保護范圍的限制,專利保護范圍應(yīng)以所附權(quán)利要求為準。
權(quán)利要求
1.一種多輸入單輸出鏈路的帶寬分配的方法,其包括以下步驟a)針對每一輸入鏈路,設(shè)置與之連接的緩沖隊列及包長緩沖隊列,所述的輸入鏈路將其包長信息發(fā)送到一隊列號選擇模塊;b)所述隊列號選擇模塊通過比較帶寬狀態(tài)與最小帶寬的差額,選擇最大差額的輸入鏈路作為輸出,至少每個用戶分配到最小帶寬后,然后根據(jù)每個用戶多出帶寬的大小進行調(diào)度,選擇多出帶寬的余數(shù)為最小值的輸入鏈路作為輸出,保證剩余帶寬分給各個用戶;c)所述隊列號選擇模塊選擇需要發(fā)送的隊列號,輸出給所述輸出鏈路;d)所述輸出鏈路在輸出數(shù)據(jù)包后將剛剛發(fā)送的包長和隊列號發(fā)送給一帶寬狀態(tài)維護模塊。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述帶寬狀態(tài)維護模塊狀態(tài)維護時包括以下步驟e)維護每個隊列的帶寬計數(shù)器,該計數(shù)器每過一較小時鐘周期減少一定數(shù),每到的一較大時鐘周期開始發(fā)送包;f)對于帶寬狀態(tài)維護模塊中每個隊列對應(yīng)的帶寬計數(shù)器減少的速率等于給隊列設(shè)定的最小帶寬為準;g)當發(fā)送包時間到時,首先檢查發(fā)送包的上次發(fā)送的隊列號,得到上次發(fā)送的隊列號和包的長度之和,該隊列的帶寬計數(shù)器就增加發(fā)送的包長度之和,然后通知調(diào)度模塊發(fā)送包;h)當所述調(diào)度模塊收到所述帶寬狀態(tài)維護模塊的發(fā)包命令時,根據(jù)各個輸入流的帶寬狀態(tài)來選擇隊列發(fā)包。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述調(diào)度模塊還讀取每一輸入鏈路對應(yīng)的帶寬計數(shù)器,并對每一輸入鏈路的帶寬計數(shù)器與最大可允許帶寬進行比較;如果帶寬計數(shù)器不大于最大可允許帶寬,設(shè)定對于每個輸入流,將其帶寬計數(shù)器減去最小帶寬,得到差額如果小于零則將差額賦值為0,如果不小于0則差額保持不變;當帶寬計數(shù)器大于最大允許帶寬時,將設(shè)置差額設(shè)定為總帶寬減去最小帶寬。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述輸出鏈路在輸出鏈路發(fā)包的時候,選擇輸入隊列后,根據(jù)每個用戶事先設(shè)置的權(quán)重確定發(fā)送包的量;每個隊列預(yù)先設(shè)定最大突發(fā)值Mb,發(fā)送滿足包長之和<=權(quán)重<=Mb。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述輸入鏈路包括g1)所述輸入鏈路有一寫控制器用于檢測數(shù)據(jù)包緩沖隊列的狀態(tài)是否已滿,如果已經(jīng)滿了,則將包丟棄;如果隊列未滿,則寫入包,并將包長放到包長緩沖隊列;g2)在每個輸入接口進來的包如果存放在一個單獨的包緩沖隊列上,所述輸入鏈路具有計算包長的能力,將包長放進相應(yīng)的包長緩沖隊列中,以供調(diào)度模塊發(fā)送包時計算要發(fā)送的包的量,以保證每次發(fā)送的流量不超過權(quán)重。
全文摘要
一種用于多輸入單輸出的網(wǎng)絡(luò)流量整形和帶寬分配的方法,涉及可變長的包交換網(wǎng)絡(luò)中QoS服務(wù)的一種帶寬控制方法,其包括設(shè)置與輸入鏈路連接的緩沖隊列及包長緩沖隊列,輸入鏈路將其包長信息發(fā)送到一隊列號選擇模塊;所述隊列號選擇模塊通過比較帶寬狀態(tài)與最小帶寬的差額,選擇最大差額的輸入鏈路作為輸出,然后根據(jù)每個用戶多出帶寬的大小進行調(diào)度,選擇多出帶寬的余數(shù)為最小值的輸入鏈路作為輸出;所述隊列號選擇模塊選擇需要發(fā)送的隊列號,輸出給所述輸出鏈路;所述輸出鏈路在輸出數(shù)據(jù)包后將包長和隊列號發(fā)送給一帶寬狀態(tài)維護模塊。本發(fā)明方法通過設(shè)定用戶分配的最小帶寬,然后對剩余帶寬進行分配,避免了帶寬的浪費;大大提高了服務(wù)質(zhì)量。
文檔編號H04L12/56GK1798087SQ20041007770
公開日2006年7月5日 申請日期2004年12月30日 優(yōu)先權(quán)日2004年12月30日
發(fā)明者游南林, 熊韜, 劉麗娜 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1