国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)的car隊(duì)列管理方法

      文檔序號(hào):7969553閱讀:422來源:國(guó)知局
      專利名稱:一種計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)的car隊(duì)列管理方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)通信和承諾訪問速率Committed Access Rate,簡(jiǎn) 稱CAR,具體涉及一種互聯(lián)網(wǎng)協(xié)議IP網(wǎng)絡(luò)中為實(shí)現(xiàn)服務(wù)質(zhì)量保證而提高轉(zhuǎn) 發(fā)效率和速度的CAR隊(duì)列管理方法。
      背景技術(shù)
      隨著互聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)絡(luò)提供的業(yè)務(wù)功能日趨完善,網(wǎng)絡(luò)的服務(wù)質(zhì) 量成為網(wǎng)絡(luò)運(yùn)營(yíng)商,網(wǎng)絡(luò)設(shè)備制造商以及網(wǎng)絡(luò)用戶關(guān)注的重點(diǎn),也是開發(fā)人 員的研究熱點(diǎn)。
      研究人員已經(jīng)設(shè)計(jì)出多種裝置和調(diào)度算法來保證網(wǎng)絡(luò)的服務(wù)質(zhì)量,各種 裝置包括擁塞避免,報(bào)文分類,擁塞管理,流量整形等,各種裝置的作用體 現(xiàn)在服務(wù)質(zhì)量保證的不同階段,例如擁塞避免是在數(shù)據(jù)入口處對(duì)數(shù)據(jù)包進(jìn)行 過濾以避免發(fā)送隊(duì)列出現(xiàn)擁塞;報(bào)文分類是在接收到數(shù)據(jù)包后,送入隊(duì)列之 前,是隊(duì)列設(shè)計(jì)的基礎(chǔ);擁塞管理是隊(duì)列調(diào)度時(shí)決定以何種方式發(fā)送隊(duì)列中 的數(shù)據(jù)包;流量整形是對(duì)某一網(wǎng)絡(luò)的某一連接的流量進(jìn)行監(jiān)控,以防止流量 的突發(fā)。調(diào)度方法包括公平隊(duì)列Fair Queuing調(diào)度,簡(jiǎn)稱FQ調(diào)度,優(yōu)先級(jí) 隊(duì)列Priority Queuing調(diào)度,簡(jiǎn)稱PQ調(diào)度,定制隊(duì)列Custom Queuing調(diào)度, 簡(jiǎn)稱CQ調(diào)度,加權(quán)公平隊(duì)列Weighted Fair Queuing調(diào)度,簡(jiǎn)稱WFQ調(diào)度 以及基于類的加權(quán)公平隊(duì)列Class Based Weighted Fair Queuing調(diào)度,簡(jiǎn)稱 CBWFQ調(diào)度等。每種調(diào)度方法都針對(duì)不同的網(wǎng)絡(luò)服務(wù)要求,以保證相應(yīng)的 網(wǎng)絡(luò)服務(wù)質(zhì)量。例如公平隊(duì)列調(diào)度給與所有的隊(duì)列相同的調(diào)度機(jī)會(huì);優(yōu)先級(jí) 隊(duì)列調(diào)度將數(shù)據(jù)流根據(jù)優(yōu)先級(jí)進(jìn)行簡(jiǎn)單分級(jí)并實(shí)施基于優(yōu)先級(jí)的隊(duì)列調(diào)度; 定制隊(duì)列調(diào)度根據(jù)用戶對(duì)資源的分配給不同的隊(duì)列分配不同的調(diào)度比例;加 權(quán)公平隊(duì)列調(diào)度是在保證公平的基礎(chǔ)上對(duì)不同優(yōu)先級(jí)業(yè)務(wù)的區(qū)別對(duì)待?;?類的加權(quán)公平隊(duì)列相當(dāng)于CQ, PQ和WFQ的結(jié)合,提供了實(shí)時(shí)調(diào)度隊(duì)列和
      加權(quán)隊(duì)列。每種調(diào)度隊(duì)列都有其優(yōu)點(diǎn)和不足,適用范圍也都有一定的限制, 需要針對(duì)具體的情況進(jìn)行選擇。
      但是現(xiàn)有方法中對(duì)隊(duì)列的管理還沒有給予特別的關(guān)注。 一般路由器中可 以允許用戶配置的服務(wù)質(zhì)量保證隊(duì)列的數(shù)目少至幾十條多至幾百條,如何有 效的管理這些隊(duì)列,對(duì)提高路由器的轉(zhuǎn)發(fā)速度有很大的影響。另外,網(wǎng)絡(luò)流 量都是突發(fā)性的,往往是一段時(shí)間內(nèi)有持續(xù)且大量的流量經(jīng)過,而其他時(shí)間 沒有流量,因此對(duì)服務(wù)隊(duì)列的管理和調(diào)度也不應(yīng)該是一成不變的。
      中國(guó)發(fā)明專利,申請(qǐng)?zhí)朇NOl 117978,"—種適合實(shí)現(xiàn)路由器服務(wù)質(zhì)量 的綜合業(yè)務(wù)中的調(diào)度方法"與本發(fā)明提出的一種隊(duì)列管理方法較為相似。該
      發(fā)明專利隊(duì)列管理的主要技術(shù)內(nèi)容是將數(shù)據(jù)包分類進(jìn)入三種服務(wù)隊(duì)列,包括 盡力而為服務(wù)隊(duì)列,負(fù)栽可控服務(wù)隊(duì)列和保證服務(wù)隊(duì)列,4艮據(jù)入隊(duì)列時(shí)的虛 擬時(shí)鐘計(jì)算出其出隊(duì)列的虛擬時(shí)鐘,同時(shí)考慮到三種隊(duì)列的不同優(yōu)先級(jí)進(jìn)行 區(qū)別調(diào)度,借以提高公平性和效率;這種方法僅提供三種服務(wù)隊(duì)列,可以滿 足的服務(wù)質(zhì)量要求比較少,而且計(jì)算虛擬時(shí)鐘的算法以及調(diào)度方法比較復(fù) 雜,不便于在高速轉(zhuǎn)發(fā)時(shí)使用。

      發(fā)明內(nèi)容
      本發(fā)明需要解決的技術(shù)問題是一種計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)的隊(duì)列管理 方法,在對(duì)隊(duì)列進(jìn)行分類管理的基礎(chǔ)上,進(jìn)一步按簡(jiǎn)單的CAR限速入隊(duì)和 組優(yōu)先級(jí)出隊(duì),從而提高數(shù)據(jù)包的轉(zhuǎn)發(fā)速度和效率、提供高質(zhì)量的網(wǎng)絡(luò)服務(wù)
      質(zhì)量保證。
      本發(fā)明的上述技術(shù)問題這樣解決,提供一種計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)的 CAR隊(duì)列管理方法,入隊(duì)時(shí)采用CAR進(jìn)行速率限制,使用虛擬監(jiān)控組分類 管理存放接收或發(fā)送數(shù)據(jù)包的隊(duì)列,包括以下對(duì)應(yīng)入隊(duì)和出隊(duì)步驟
      A) 入隊(duì)計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)將通過所述速率限制的接收數(shù)據(jù)包放入所屬 隊(duì)列;
      B) 出隊(duì)計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)定時(shí)器或接收的數(shù)據(jù)包觸發(fā),根據(jù)所述虛 擬監(jiān)控組的優(yōu)先級(jí)從其內(nèi)所述隊(duì)列中調(diào)用并轉(zhuǎn)發(fā)數(shù)據(jù)包,首先調(diào)用高優(yōu)先級(jí)
      虛擬監(jiān)控組內(nèi)的隊(duì)列,再調(diào)用優(yōu)先級(jí)較低虛擬監(jiān)控組內(nèi)的隊(duì)列。
      按照本發(fā)明提供的CAR隊(duì)列管理方法,所述虛擬監(jiān)控組分類管理區(qū)分 空閑和可用隊(duì)列,該方法具體包括步驟
      A) 入隊(duì)計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)將將通過所迷速率限制的接收數(shù)據(jù)包放入所 屬可用隊(duì)列或放入所屬空閑隊(duì)列并將隊(duì)列狀態(tài)改為可用,從空閑隊(duì)列鏈移至 可用隊(duì)列;所述虛擬監(jiān)控組定時(shí)檢查所述可用隊(duì)列,根據(jù)其在一定時(shí)間內(nèi)沒 有新的數(shù)據(jù)包被放入,則把該可用隊(duì)列狀態(tài)改為空閑隊(duì)列,從可用隊(duì)列鏈移 至空閑隊(duì)列;
      B) 出隊(duì)計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)定時(shí)器或接收的數(shù)據(jù)包觸發(fā),根據(jù)所述虛 擬監(jiān)控組的優(yōu)先級(jí)從其內(nèi)所述可用隊(duì)列中調(diào)用并轉(zhuǎn)發(fā)數(shù)據(jù)包。
      按照本發(fā)明提供的CAR隊(duì)列管理方法,虛擬監(jiān)控組內(nèi)的隊(duì)列的調(diào)用包 4舌但不限制于以下三種方式
      (-)優(yōu)先級(jí)方式所述出隊(duì)步驟B)還包括進(jìn)一步根據(jù)所述虛擬監(jiān)控組內(nèi) 各隊(duì)列的優(yōu)先級(jí)調(diào)用并轉(zhuǎn)發(fā)數(shù)據(jù)包。
      。輪轉(zhuǎn)方式所述出隊(duì)步驟B)還包括進(jìn)一步輪轉(zhuǎn)調(diào)用所迷虛擬監(jiān)控組 內(nèi)各隊(duì)列的并轉(zhuǎn)發(fā)數(shù)據(jù)包。
      曰優(yōu)先級(jí)與輪轉(zhuǎn)相結(jié)合方式所述出隊(duì)步驟B)還包括進(jìn)一步結(jié)合所述 虛擬監(jiān)控組內(nèi)各隊(duì)列的優(yōu)先級(jí)和輪轉(zhuǎn)順序調(diào)用并轉(zhuǎn)發(fā)數(shù)據(jù)包。
      按照本發(fā)明提供的CAR隊(duì)列管理方法,所述入隊(duì)步驟還包括丟棄超出 所述速率限制的接收數(shù)據(jù)包。
      按照本發(fā)明提供的CAR隊(duì)列管理方法,所述CAR包括字節(jié)令牌或數(shù)據(jù) 包令牌方式。
      按照本發(fā)明提供的CAR隊(duì)列管理方法,若Lasttick小于Nowtick, Token =(Nowtick - Lasttick)*Bandwidth+Lasttoken; Lasttick大于Nowtick, Token = (Lasttick - Nowtick + Oxffffifff)*Bandwidth+Lasttoken;其中,Token是該隊(duì) 列獲得的令牌數(shù),Lasttoken是上次發(fā)包結(jié)束時(shí)該隊(duì)列剩余的隊(duì)列數(shù),Lasttick 是該隊(duì)列上一次收到數(shù)據(jù)包的系統(tǒng)時(shí)間,Nowtick是本次收到數(shù)據(jù)包的系統(tǒng) 時(shí)間;Bandwidth是該隊(duì)列分配的帶寬,如果該隊(duì)列允許統(tǒng)計(jì)復(fù)用,則 Bandwidth是該隊(duì)列分配帶寬與其他隊(duì)列可統(tǒng)計(jì)復(fù)用的帶寬的總和。
      按照本發(fā)明提供的CAR隊(duì)列管理方法,若Lasttick小于Nowtick, Nowtoken = (Nowtick - Lasttick)*Bandwidth; 若Lasttick大于Nowtick, Nowtoken = (Lasttick - Nowtick + Oxffffffff)*Bandwidth;其中Nowtoken是
      該隊(duì)列當(dāng)前所剩余的令牌。
      按照本發(fā)明提供的CAR隊(duì)列管理方法,所述虛擬監(jiān)控組中的所有隊(duì)列 是同一類,包括實(shí)時(shí)隊(duì)列、默認(rèn)隊(duì)列、統(tǒng)計(jì)復(fù)用隊(duì)列和絕對(duì)資源保證隊(duì)列中 的一種或多種。
      按照本發(fā)明提供的CAR隊(duì)列管理方法,所述虛擬監(jiān)控組的分類可以基 于流、基于類或基于轉(zhuǎn)發(fā)方式。
      按照本發(fā)明提供的CAR隊(duì)列管理方法,所述計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)可以是路 由器;所述隊(duì)列即實(shí)隊(duì)列。
      按照本發(fā)明提供的CAR隊(duì)列管理方法,所述虛擬監(jiān)控組管理兩類隊(duì)列, 即空閑隊(duì)列和可用隊(duì)列。 一定時(shí)間內(nèi)沒有數(shù)據(jù)包到達(dá)的隊(duì)列稱為空閑隊(duì)列, 否則稱為可用隊(duì)列。關(guān)于空閑隊(duì)列和可用隊(duì)列的實(shí)現(xiàn)和管理,本發(fā)明申請(qǐng)人 已在另一篇專利申請(qǐng)文檔《一種計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)的隊(duì)列管理方法》中 詳細(xì)介紹。本發(fā)明出現(xiàn)的隊(duì)列指可用隊(duì)列。
      本發(fā)明提供的計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)的CAR隊(duì)列管理方法,入隊(duì)時(shí)采 用承諾訪問速率Committed Access Rate,簡(jiǎn)稱CAR,進(jìn)行速率限制,選取簡(jiǎn) 單的令牌計(jì)算方法,同時(shí)兼顧了網(wǎng)絡(luò)轉(zhuǎn)發(fā)效率,首次提出虛擬監(jiān)控組的概念, 利用虛擬監(jiān)控組管理實(shí)隊(duì)列,在實(shí)施具體轉(zhuǎn)發(fā)之前,實(shí)隊(duì)列不直接面對(duì)調(diào)度 模塊,使調(diào)度更加簡(jiǎn)單快捷,出隊(duì)時(shí)根據(jù)隊(duì)列所屬虛擬監(jiān)控組的優(yōu)先級(jí)以及 隊(duì)列本身的帶寬要求決定數(shù)據(jù)包出隊(duì)的順序和數(shù)量,可以同時(shí)提供低時(shí)延服 務(wù)和帶寬統(tǒng)計(jì)復(fù)用服務(wù),絕對(duì)資源保證服務(wù)和盡力而為服務(wù),充分利用接口
      帶寬。該方法適用面比較廣,可以應(yīng)用于基于流的服務(wù)質(zhì)量保證,基于類的 服務(wù)質(zhì)量保證,點(diǎn)到點(diǎn)或者點(diǎn)到多點(diǎn)的服務(wù)質(zhì)量保證,可以提供實(shí)時(shí)隊(duì)列, 默認(rèn)隊(duì)列,統(tǒng)計(jì)復(fù)用隊(duì)列和絕對(duì)資源保證隊(duì)列。
      附困說明
      下面結(jié)合附圖和具體實(shí)施例進(jìn)一步對(duì)本發(fā)明進(jìn)行詳細(xì)說明。

      圖1為本發(fā)明路由器中各模塊間的關(guān)系示意圖。
      圖2為本發(fā)明路由器中虛擬監(jiān)控組模塊的結(jié)構(gòu)及其與實(shí)隊(duì)列的關(guān)系示意圖。
      圖3為本發(fā)明路由器中接口管理模塊結(jié)構(gòu)與虛擬監(jiān)控組模塊的關(guān)系示 意圖。
      圖4為本發(fā)明的CAR隊(duì)列管理實(shí)現(xiàn)方法的數(shù)據(jù)包進(jìn)入實(shí)隊(duì)列的處理流 程圖。
      圖5為本發(fā)明的CAR隊(duì)列管理實(shí)現(xiàn)方法的隊(duì)列調(diào)度處理流程圖。
      具體實(shí)施例方式
      按照本發(fā)明提供的CAR隊(duì)列管理方法,所述虛擬監(jiān)控組管理兩類隊(duì)列, 即空閑隊(duì)列和可用隊(duì)列。 一定時(shí)間內(nèi)沒有數(shù)據(jù)包到達(dá)的隊(duì)列稱為空閑隊(duì)列, 否則稱為可用隊(duì)列。關(guān)于空閑隊(duì)列和可用隊(duì)列的實(shí)現(xiàn)和管理,本發(fā)明申請(qǐng)人 已在另一篇專利申請(qǐng)文檔《一種計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)的隊(duì)列管理方法》中 詳細(xì)介紹。本發(fā)明具體實(shí)施例中出現(xiàn)的隊(duì)列指可用隊(duì)列。
      首先,說明本發(fā)明主要思想本發(fā)明提出一種可以滿足復(fù)雜的網(wǎng)絡(luò)服務(wù) 質(zhì)量要求、用于服務(wù)質(zhì)量保證的計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)裝置和方法,入隊(duì)時(shí)采用承 諾訪問速率Committed Access Rate,簡(jiǎn)單CAR進(jìn)行速率限制,選取簡(jiǎn)單的 令牌計(jì)算方法,同時(shí)兼顧了網(wǎng)絡(luò)轉(zhuǎn)發(fā)效率,首次提出虛擬監(jiān)控組的概念,利 用虛擬監(jiān)控組管理實(shí)隊(duì)列,在實(shí)施具體轉(zhuǎn)發(fā)之前,實(shí)隊(duì)列不直接面對(duì)調(diào)度模 塊,使調(diào)度更加簡(jiǎn)單快捷,出隊(duì)時(shí)根據(jù)隊(duì)列所屬虛擬監(jiān)控組的優(yōu)先級(jí)以及隊(duì) 列本身的帶寬要求決定數(shù)據(jù)包出隊(duì)的順序和數(shù)量,可以同時(shí)提供低時(shí)延服務(wù) 和帶寬統(tǒng)計(jì)復(fù)用服務(wù),絕對(duì)資源保證服務(wù)和盡力而為服務(wù),充分利用接口帶 寬。該方法適用面比較廣,可以應(yīng)用于基于流的服務(wù)質(zhì)量保證,基于類的服 務(wù)質(zhì)量保證,點(diǎn)到點(diǎn)或者點(diǎn)到多點(diǎn)的服務(wù)質(zhì)量保證,可以提供實(shí)時(shí)隊(duì)列,默 i^隊(duì)列,統(tǒng)計(jì)復(fù)用隊(duì)列和絕對(duì)資源保證隊(duì)列。
      第二,說明本發(fā)明提供的計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)裝置,該裝置包括以下模塊 收包模塊,用于從物理接口接收數(shù)據(jù)包;
      分類模塊,用于對(duì)數(shù)據(jù)包進(jìn)行分類,也就是為數(shù)據(jù)包選擇合適的隊(duì)列; CAR模塊,用于對(duì)流量進(jìn)行監(jiān)控,防止某網(wǎng)絡(luò)連接的流量突發(fā)或者限 制其流出網(wǎng)絡(luò)連接的速度;
      令牌計(jì)算模塊,用于計(jì)算某個(gè)流或者某個(gè)類在一段時(shí)間內(nèi)獲得的令牌數(shù)
      目;
      虛擬監(jiān)控組模塊,用于對(duì)具有相同屬性的某些隊(duì)列進(jìn)行統(tǒng)一管理,簡(jiǎn)化
      調(diào)度過程;
      接口管理模塊,用于存儲(chǔ)某個(gè)接口的收發(fā)包統(tǒng)計(jì)數(shù)據(jù),接口下虛擬監(jiān)控 組的配置數(shù)目,該接口最近一次調(diào)用的虛擬監(jiān)控組,該接口的帶寬分配大小, 該接口待發(fā)送的數(shù)據(jù)包數(shù)目,該接口收發(fā)數(shù)據(jù)包的統(tǒng)計(jì)數(shù)據(jù)等。
      實(shí)隊(duì)列模塊,用于存放待發(fā)送的數(shù)據(jù)包,實(shí)隊(duì)列模塊中包含所有根據(jù)用 戶的配置所生成的實(shí)隊(duì)列。
      調(diào)度模塊,用于從隊(duì)列中取出待發(fā)送的數(shù)據(jù)包,并發(fā)送該數(shù)據(jù)包,調(diào)度 模塊針對(duì)用戶不同的配置采用不同的調(diào)度算法。
      其中,所述收包模塊是整個(gè)服務(wù)質(zhì)量保證流程的輔助模塊,分類模塊是 服務(wù)質(zhì)量保證流程的真正的操作入口, CAR模塊是服務(wù)質(zhì)量保證流程的第 一步驟,令牌計(jì)算模塊是CAR模塊的輔助部分,CAR模塊和令牌計(jì)算模塊 和虛擬監(jiān)控組模塊對(duì)實(shí)隊(duì)列進(jìn)行操作,調(diào)度模塊同時(shí)對(duì)虛擬監(jiān)控組4莫塊和虛 擬監(jiān)控組中的實(shí)隊(duì)列進(jìn)行操作。
      進(jìn)一步地,收包模塊根據(jù)不同的物理接口類型對(duì)該接口接收到的數(shù)據(jù)包 進(jìn)行處理,將數(shù)據(jù)包整合成統(tǒng)一的結(jié)構(gòu),方便后面;f莫塊對(duì)數(shù)據(jù)包的統(tǒng)一處理;
      進(jìn)一步地,所述分類模塊可以有多種分類標(biāo)準(zhǔn)和規(guī)則,例如根據(jù)數(shù)據(jù)包 的優(yōu)先級(jí)分類,或者4艮據(jù)數(shù)據(jù)包的目的地址和源地址分類等;
      進(jìn)一步地,CAR是流量整形的一種方法,它規(guī)定了數(shù)據(jù)包以何種速度 進(jìn)入或者離開隊(duì)列,對(duì)超過速度限制的包進(jìn)行丟棄。
      進(jìn)一步地,所述令牌是CAR操作中的一種限速方式,可以分為字節(jié)令 牌和包令牌,使用字節(jié)令牌的CAR僅允許包容量小于令牌大小的數(shù)據(jù)包進(jìn)
      入隊(duì)列,使用包令牌的CAR僅當(dāng)令牌大于0時(shí)才允許數(shù)據(jù)包進(jìn)入隊(duì)列。 進(jìn)一步地,實(shí)隊(duì)列就是真正存儲(chǔ)待發(fā)送數(shù)據(jù)包的隊(duì)列,虛擬監(jiān)控組是某
      些具有相同特征實(shí)隊(duì)列的集合,它本身并不存儲(chǔ)數(shù)據(jù)包,但是它對(duì)屬于本虛
      擬監(jiān)控組的所有實(shí)隊(duì)列中的數(shù)據(jù)包進(jìn)行管理。
      進(jìn)一步地,調(diào)度是指數(shù)據(jù)包的出隊(duì),調(diào)度往往是采用某種算法來決定何
      時(shí)取某個(gè)隊(duì)列的某個(gè)數(shù)據(jù)包。
      第三,說明本發(fā)明用于服務(wù)質(zhì)量保證的所述CAR隊(duì)列管理方法,包括 步驟A.用戶在使用服務(wù)質(zhì)量保證功能之前對(duì)需要服務(wù)質(zhì)量保證的網(wǎng)絡(luò)
      流量進(jìn)行配置,系統(tǒng)根據(jù)用戶的配置預(yù)先生成與各種流量類別相對(duì)應(yīng)的實(shí)隊(duì)
      列;
      進(jìn)一步地,用戶進(jìn)行服務(wù)質(zhì)量保證的配置方法包括網(wǎng)絡(luò)流量分類和帶寬 申請(qǐng),其中網(wǎng)絡(luò)流量分類包括根據(jù)數(shù)據(jù)包的優(yōu)先級(jí)進(jìn)行數(shù)據(jù)包分類,或者根 據(jù)數(shù)據(jù)包的源地址和目的地址進(jìn)行數(shù)據(jù)包分類,又或者根據(jù)數(shù)據(jù)包的某些字 段進(jìn)行數(shù)據(jù)包分類等;帶寬申請(qǐng)是為各個(gè)網(wǎng)絡(luò)流量在網(wǎng)絡(luò)某個(gè)節(jié)點(diǎn)處所允許 的最大帶寬進(jìn)行設(shè)置,網(wǎng)絡(luò)實(shí)際轉(zhuǎn)發(fā)時(shí),該流量的轉(zhuǎn)發(fā)速度不能超過最大帶 寬;
      進(jìn)一步地,接口管理模塊中記錄了接口的帶寬分配信息,如果用戶申請(qǐng) 的帶寬超過接口剩余帶寬的分配能力,用戶的帶寬申請(qǐng)將會(huì)失敗,用戶對(duì)此
      網(wǎng)絡(luò)流量的配置也會(huì)失敗,不會(huì)生成相應(yīng)的實(shí)隊(duì)列;
      步驟B.虛擬監(jiān)控組模塊根據(jù)已配置隊(duì)列的服務(wù)質(zhì)量要求和分類情況實(shí) 時(shí)的調(diào)整已創(chuàng)建的虛擬監(jiān)控組的數(shù)目,以及每個(gè)虛擬監(jiān)控組中包含實(shí)隊(duì)列的 數(shù)目,同時(shí)虛擬監(jiān)控組中還包含該虛擬監(jiān)控組所轄實(shí)隊(duì)列的收發(fā)包統(tǒng)計(jì)數(shù) 據(jù),該虛擬監(jiān)控組最近^皮調(diào)用模塊調(diào)用的實(shí)隊(duì)列,該虛擬監(jiān)控組中所轄實(shí)隊(duì) 列中待發(fā)送的數(shù)據(jù)包的總和,以及該虛擬監(jiān)控組所轄實(shí)隊(duì)列的頭隊(duì)列指針 等。完成用戶配置后就等待數(shù)據(jù)包的到來;
      步驟C.收包模塊從物理接口接收數(shù)據(jù)包;
      步驟D.分類模塊對(duì)接收的數(shù)據(jù)包進(jìn)行分類
      進(jìn)一步地,分類標(biāo)準(zhǔn)可以根據(jù)數(shù)據(jù)包的優(yōu)先級(jí),或者數(shù)據(jù)報(bào)文中的某些 字段進(jìn)行分類,提供基于類的服務(wù)質(zhì)量保證;也可以是根據(jù)數(shù)據(jù)包的源地址,
      目的地址,源端口和目的端口進(jìn)行分類,提供基于流的服務(wù)質(zhì)量保證;還可 以是根據(jù)目的地址和/或源地址進(jìn)行分類,提供點(diǎn)到點(diǎn)或者點(diǎn)到多點(diǎn)的服務(wù) 質(zhì)量保證;
      步驟E.CAR模塊搡作的對(duì)象是各個(gè)實(shí)隊(duì)列,對(duì)于某個(gè)實(shí)隊(duì)列,CAR根 據(jù)該隊(duì)列對(duì)帶寬的要求計(jì)算出需要進(jìn)行限速的上限,操作過程如步驟F,凡 是超過上限的網(wǎng)絡(luò)流量都被丟棄;
      步驟F.在CAR模塊進(jìn)行限速的操作中,需要調(diào)用令牌計(jì)算才莫塊計(jì)算在 某一個(gè)時(shí)刻,某個(gè)隊(duì)列所能接受的網(wǎng)絡(luò)流量的上限。令牌計(jì)算模塊采用以下 算法
      Token = (Nowtick-Lasttick) * Bandwi她+Lasttoken (表達(dá)式l) Token = (Lasttick-Nowtick+Oxfffiffif) * Bandwidth+Lasttoken (表達(dá)式2)
      其中Token是此時(shí)該隊(duì)列獲得的令牌數(shù),Lasttoken是上次發(fā)包結(jié)束時(shí) 該隊(duì)列剩余的隊(duì)列數(shù)。Lasttick是該隊(duì)列上一次收到數(shù)據(jù)包的系統(tǒng)時(shí)間, Nowtick是本次收到數(shù)據(jù)包的系統(tǒng)時(shí)間,如果Lasttick小于Nowtick說明系 統(tǒng)時(shí)間沒有發(fā)生翻轉(zhuǎn),則采用表達(dá)式1;如果Lasttick大于Nowtick說明系 統(tǒng)時(shí)間發(fā)生翻轉(zhuǎn)了,采用表達(dá)式2。 Bandwidth是該隊(duì)列分配的帶寬,如果 該隊(duì)列允許統(tǒng)計(jì)復(fù)用,則Bandwidth是該隊(duì)列分配帶寬與其他隊(duì)列可統(tǒng)計(jì)復(fù) 用的帶寬的總和;
      步驟G.通過CAR模塊限速后的數(shù)據(jù)包,根據(jù)其分類情況選擇進(jìn)入實(shí) 隊(duì)列;漠塊的相應(yīng)隊(duì)列中;
      步驟H.調(diào)度模塊通過定時(shí)器觸發(fā),或者通過收包觸發(fā),從實(shí)隊(duì)列中調(diào) 用并轉(zhuǎn)發(fā)數(shù)據(jù)包。調(diào)度模塊的調(diào)度算法采用基于優(yōu)先級(jí)和帶寬保證的輪轉(zhuǎn)調(diào) 度方法,也就是調(diào)度模塊會(huì)首先保證優(yōu)先級(jí)高的虛擬監(jiān)控組中的數(shù)據(jù)包優(yōu)先 發(fā)送,對(duì)于同屬一個(gè)虛擬監(jiān)控組的實(shí)隊(duì)列采用輪轉(zhuǎn)調(diào)度的方法;
      進(jìn)一步地,各實(shí)隊(duì)列帶寬通過前面的CAR模塊來保證,調(diào)度模塊可以 采用多種調(diào)度方法來調(diào)用并轉(zhuǎn)發(fā)數(shù)據(jù)包,例如WFQ, CQ或者PQ等,在本 發(fā)明實(shí)例中,僅以輪轉(zhuǎn)調(diào)度為例說明調(diào)度的具體過程;
      進(jìn)一步地,調(diào)度模塊首先檢查接口管理模塊中記錄的最近一次做過發(fā)包
      操作的虛擬監(jiān)控組,如果該虛擬監(jiān)控組的優(yōu)先級(jí)最高,調(diào)度^t塊進(jìn)行步驟I; 如杲該虛擬監(jiān)控組的優(yōu)先級(jí)居中,調(diào)度模塊進(jìn)行步驟J;如杲該虛擬監(jiān)控組 的優(yōu)先級(jí)最低,調(diào)度模塊進(jìn)行步驟K;
      步驟I.虛擬監(jiān)控組模塊中記錄了該虛擬監(jiān)控組最近被調(diào)用模塊調(diào)用的 最后一個(gè)實(shí)隊(duì)列,調(diào)用模塊從該實(shí)隊(duì)列開始檢查,如果該隊(duì)列有待發(fā)送的數(shù) 據(jù)包則轉(zhuǎn)發(fā)這些數(shù)據(jù)包,然后繼續(xù)向下檢查其它實(shí)隊(duì)列是否有待發(fā)送的數(shù)據(jù) 包,直到調(diào)用模塊發(fā)送完該虛擬監(jiān)控組中所有后續(xù)實(shí)隊(duì)列的數(shù)據(jù)包。調(diào)度模 塊繼續(xù)按照優(yōu)先級(jí)從高到低的順序檢查并發(fā)送其他優(yōu)先級(jí)的虛擬監(jiān)控組中 待發(fā)送的數(shù)據(jù)包,所有這些調(diào)度轉(zhuǎn)發(fā)的前提是該接口仍有發(fā)送數(shù)據(jù)包的能 力,在調(diào)度過程中實(shí)時(shí)更新虛擬監(jiān)控組模塊和接口管理模塊中的收發(fā)包統(tǒng)計(jì) 數(shù)據(jù)以及待發(fā)送數(shù)據(jù)包的數(shù)目,在此次調(diào)度模塊操作結(jié)束后,更新接口管理 模塊中的最近一次調(diào)度的虛擬監(jiān)控組,和更新最后調(diào)用的虛擬監(jiān)控組中最近 被調(diào)用的實(shí)隊(duì)列;
      步驟J.調(diào)度模塊首先檢查高優(yōu)先級(jí)虛擬監(jiān)控組模塊,如果高優(yōu)先級(jí)虛 擬監(jiān)控組模塊中記錄有待發(fā)送的數(shù)據(jù)包,調(diào)度模塊將更新接口管理模塊中的 最近一次調(diào)度的虛擬監(jiān)控組,改為高優(yōu)先級(jí)的虛擬監(jiān)控組,然后依照步驟H 進(jìn)行調(diào)度轉(zhuǎn)發(fā);
      步驟K.調(diào)度模塊首先檢查高優(yōu)先級(jí)虛擬監(jiān)控組,如果高優(yōu)先級(jí)虛擬監(jiān) 控組中記錄有待發(fā)送的數(shù)據(jù)包,調(diào)度模塊依照步驟I進(jìn)行調(diào)度轉(zhuǎn)發(fā);如果高 優(yōu)先級(jí)虛擬監(jiān)控組中沒有待發(fā)送的數(shù)據(jù)包,調(diào)度模塊檢查中優(yōu)先級(jí)的虛擬監(jiān) 控組,如果中優(yōu)先級(jí)虛擬監(jiān)控組中記錄有待發(fā)送的數(shù)據(jù)包,調(diào)度模塊將更新 接口管理模塊中的最近一次調(diào)度的虛擬監(jiān)控組,改為中優(yōu)先級(jí)的虛擬監(jiān)控 組,然后依照步驟H進(jìn)行調(diào)度轉(zhuǎn)發(fā);
      進(jìn)一步地,通常高優(yōu)先級(jí)的數(shù)據(jù)包對(duì)服務(wù)質(zhì)量的要求是絕對(duì)保證網(wǎng)絡(luò)流 量的帶寬并且實(shí)現(xiàn)低時(shí)延,也就是當(dāng)網(wǎng)絡(luò)流量在帶寬允許范圍內(nèi),只要有高 優(yōu)先級(jí)的數(shù)據(jù)包待發(fā)送,調(diào)度模塊將停止對(duì)中優(yōu)先級(jí)和低優(yōu)先級(jí)虛擬監(jiān)控組 的調(diào)度,轉(zhuǎn)而調(diào)度高優(yōu)先級(jí)虛擬監(jiān)控組;
      進(jìn)一步地,通常中優(yōu)先級(jí)的數(shù)據(jù)包對(duì)服務(wù)質(zhì)量的要求是絕對(duì)保證網(wǎng)絡(luò)流 量的帶寬,但是對(duì)時(shí)延的要求并不是高,有時(shí)也會(huì)要求對(duì)中優(yōu)先級(jí)的所有網(wǎng)
      絡(luò)流量進(jìn)行帶寬的統(tǒng)計(jì)復(fù)用;
      進(jìn)一步地,帶寬的統(tǒng)計(jì)復(fù)用是為了充分利用物理接口的帶寬而提出的一 種帶寬復(fù)用方式,當(dāng)某個(gè)隊(duì)列在某時(shí)刻網(wǎng)絡(luò)流量低于其分配的帶寬時(shí),統(tǒng)計(jì) 復(fù)用原則允許其他隊(duì)列占用該隊(duì)列已經(jīng)申請(qǐng)分配的帶寬;
      進(jìn)一步地,為保證高優(yōu)先級(jí)隊(duì)列中數(shù)據(jù)包的低時(shí)延,分配給高優(yōu)先級(jí)隊(duì) 列的帶寬不被用作統(tǒng)計(jì)復(fù)用;
      進(jìn)一步地,帶寬統(tǒng)計(jì)復(fù)用的實(shí)現(xiàn)在令牌計(jì)算模塊所采用的算法中有體
      現(xiàn);
      最后,結(jié)合本發(fā)明在路由器中的具體實(shí)現(xiàn)進(jìn)一步詳細(xì)說明本發(fā)明方法
      (-)本發(fā)明路由器,結(jié)構(gòu)如圖l所示,包括收包模塊ll,分類模塊12, CAR模塊13,令牌計(jì)算模塊14,虛擬監(jiān)控組模塊15,接口管理模塊16和 調(diào)度模塊17;其中
      收包模塊11,用于從物理接口接收數(shù)據(jù)包,丟棄有錯(cuò)誤的數(shù)據(jù)包,將 有效的數(shù)據(jù)包送往分類模塊。
      分類模塊12,用于根據(jù)用戶事先配置好的分類標(biāo)準(zhǔn)對(duì)收包模塊送來的 數(shù)據(jù)包進(jìn)行分類,判斷該數(shù)據(jù)包所對(duì)應(yīng)的實(shí)隊(duì)列。
      CAR模塊13,用于根據(jù)用戶為某隊(duì)列配置的帶寬對(duì)該隊(duì)列的網(wǎng)絡(luò)流量 進(jìn)行限速,其操作的對(duì)象是各個(gè)實(shí)隊(duì)列。
      令牌計(jì)算模塊14,用于計(jì)算一段時(shí)間內(nèi),某實(shí)隊(duì)列應(yīng)該獲得的令牌數(shù), 算法如下
      若Lasttick〈Nowtick, Nowtoken = (Nowtick - Lasttick"Bandwi她;若 Lasttick〉Nowtick, Nowtoken = (Lasttick - Nowtick + Oxffffffff)*Bandwidth; 其中,Lasttick是該隊(duì)列上一次收到數(shù)據(jù)包的系統(tǒng)時(shí)間,Nowtick是本次收到 數(shù)據(jù)包的系統(tǒng)時(shí)間,如果Lasttick小于Nowtick說明系統(tǒng)時(shí)間沒有發(fā)生翻轉(zhuǎn), 則采用表達(dá)式1;如果Lasttick大于Nowtick說明系統(tǒng)時(shí)間發(fā)生翻轉(zhuǎn)了 ,采 用表達(dá)式2。 Bandwidth是該隊(duì)列分配的帶寬,如果該隊(duì)列允許統(tǒng)計(jì)復(fù)用, 則Bandwidth是該隊(duì)列分配帶寬與其他隊(duì)列可統(tǒng)計(jì)復(fù)用的帶寬的總和;
      虛擬監(jiān)控組模塊15,用于集合具有相同優(yōu)先級(jí)的所有實(shí)隊(duì)列,它包括
      該虛擬監(jiān)控組所轄實(shí)隊(duì)列的收發(fā)包統(tǒng)計(jì)數(shù)據(jù),該虛擬監(jiān)控組所轄實(shí)隊(duì)列的數(shù) 目,該虛擬監(jiān)控組最近被調(diào)用模塊調(diào)用的實(shí)隊(duì)列,該虛擬監(jiān)控組中所轄實(shí)隊(duì) 列中待發(fā)送的數(shù)據(jù)包的總和,亦即所轄實(shí)隊(duì)列的頭隊(duì)列指針等,虛擬監(jiān)控組 方便調(diào)度模塊判斷某一優(yōu)先級(jí)隊(duì)列是否需要調(diào)度處理,并決定采用怎樣的調(diào) 度方式。
      接口管理模塊16,用于存儲(chǔ)某個(gè)接口的收發(fā)包統(tǒng)計(jì)數(shù)據(jù),接口下虛擬 監(jiān)控組的配置數(shù)目,該接口最近一次發(fā)包來自于哪個(gè)虛擬監(jiān)控組,該接口的 帶寬分配情況,該接口待發(fā)送的數(shù)據(jù)包數(shù)目,以及所轄第一個(gè)虛擬監(jiān)控組的 指針等。
      實(shí)隊(duì)列模塊17,用于存儲(chǔ)待發(fā)送的數(shù)據(jù)包,并記錄該實(shí)隊(duì)列的下面一 個(gè)實(shí)隊(duì)列的指針。
      調(diào)度模塊18,用于根據(jù)接口的隊(duì)列配置和當(dāng)前的數(shù)據(jù)包存儲(chǔ)情況決定 采用怎樣的隊(duì)列調(diào)度方式。
      收包模塊11是服務(wù)質(zhì)量保證流程的入口 ,虛擬監(jiān)控組模塊15和接口模 塊16根據(jù)用戶對(duì)網(wǎng)絡(luò)流量的配置預(yù)先生成,并在流程中實(shí)時(shí)更新,CAR模 塊13通過調(diào)用令牌計(jì)算模塊14對(duì)進(jìn)入實(shí)隊(duì)列的網(wǎng)絡(luò)流量進(jìn)行限速,限速后 把待發(fā)送的數(shù)據(jù)包送入實(shí)隊(duì)列模塊17的相應(yīng)實(shí)隊(duì)列中,調(diào)度模塊18實(shí)施對(duì) 數(shù)據(jù)包的調(diào)用和轉(zhuǎn)發(fā)。
      (r)如圖2所示,實(shí)隊(duì)列模塊17是根據(jù)用戶對(duì)網(wǎng)絡(luò)流量的分類和配置實(shí) 時(shí)生成的,數(shù)據(jù)包在實(shí)隊(duì)列中首尾相連的排放。同屬一個(gè)虛擬監(jiān)控組的實(shí)隊(duì) 列按照其加入虛擬監(jiān)控組的先后順序組成一條實(shí)隊(duì)列的鏈,位于鏈頭的實(shí)隊(duì) 列的指針被記錄在虛擬監(jiān)控組中,每個(gè)實(shí)隊(duì)列都記錄它下面一個(gè)實(shí)隊(duì)列的指 針。
      Q如圖3所示,接口管理模塊16中記錄了該接口下根據(jù)用戶配置所生 成的虛擬監(jiān)控組的數(shù)目,第一個(gè)虛擬監(jiān)控組的指針,該接口已經(jīng)分配的帶寬 的大小,該接口所轄虛擬監(jiān)控組待發(fā)送的數(shù)據(jù)包的總和,最近被調(diào)用的虛擬 監(jiān)控組,以及該接口所轄虛擬監(jiān)控組收發(fā)數(shù)據(jù)包的總和。
      卿當(dāng)接收數(shù)據(jù)包進(jìn)入實(shí)隊(duì)列時(shí),本發(fā)明路由器虛擬監(jiān)控組分類和隊(duì)列 CAR限速的處理流程,如圖4所示,具體包括以下步驟
      401)收包模塊從物理端口接收數(shù)據(jù)包。 402 )分類模塊對(duì)數(shù)據(jù)包進(jìn)行分類。
      403) 該數(shù)據(jù)包是否需要進(jìn)行服務(wù)質(zhì)量保證。如果是則跳往步驟405,否 則跳往步驟404。
      404) 直接轉(zhuǎn)發(fā)該數(shù)據(jù)包。
      405) 確定該數(shù)據(jù)包所屬的虛擬監(jiān)控組,根據(jù)虛擬監(jiān)控組中的服務(wù)類型 判斷該數(shù)據(jù)包所屬實(shí)隊(duì)列是否需要進(jìn)行統(tǒng)計(jì)復(fù)用。如果是則跳往步驟407, 否則跳往步驟406。
      406) 確定該數(shù)據(jù)包所屬實(shí)隊(duì)列,讀取實(shí)隊(duì)列中記錄的上一次收到數(shù)據(jù) 包的系統(tǒng)時(shí)間Lasttick,當(dāng)前系統(tǒng)時(shí)間Nowtick,以及該隊(duì)列的帶寬Bandwidth。
      407) 確定該數(shù)據(jù)包所屬實(shí)隊(duì)列,讀取實(shí)隊(duì)列中記錄的上一次收到數(shù)據(jù) 包的系統(tǒng)時(shí)間Lasttick,當(dāng)前系統(tǒng)時(shí)間Nowtick,該隊(duì)列的帶寬Bandwidthl, 以及該接口目前可復(fù)用的帶寬Bandwidth2。該實(shí)隊(duì)列目前總共可用的帶寬為 Bandwidth = Bandwidth 1 + Bandwidth2。
      408) 調(diào)用令牌計(jì)算模塊計(jì)算該實(shí)隊(duì)列當(dāng)前所剩余的令牌Nowtoken。如 果Lasttick〈Nowtick, Nowtoken = (Nowtick - Lasttick)*Bandwidth; 如果 Lasttick〉Nowtick, Nowtoken = (Lasttick - Nowtick + Oxffffffff)*Bandwidth。
      409) 該數(shù)據(jù)包的大小是否大于Nowtoken 如果是則跳往步驟410,否則 跳往步驟411。
      410) 丟棄該數(shù)據(jù)包。
      411 )將該數(shù)據(jù)包放入所屬實(shí)隊(duì)列中,如果實(shí)隊(duì)列中有多個(gè)數(shù)據(jù)包,則 將該數(shù)據(jù)包放在最后面。
      412) 修改該數(shù)據(jù)包所屬虛擬監(jiān)控組的收發(fā)包統(tǒng)計(jì)數(shù)據(jù)。
      413) 驅(qū)動(dòng)調(diào)度4莫塊進(jìn)行數(shù)據(jù)包的調(diào)度。
      414) 結(jié)束數(shù)據(jù)包進(jìn)入實(shí)隊(duì)列的處理流程。
      G5)本發(fā)明路由器按虛擬監(jiān)控組優(yōu)先級(jí)出隊(duì)調(diào)度處理流程,如圖5所示, 具體包括以下步驟
      501) 調(diào)度模塊受到驅(qū)動(dòng),開始調(diào)度流程。
      502) 調(diào)度模塊讀接口控制模塊中的最近一次調(diào)度過的虛擬監(jiān)控組。
      503 )判斷該虛擬監(jiān)控組的優(yōu)先級(jí)是高優(yōu)先級(jí)虛擬監(jiān)控組,中優(yōu)先級(jí)虛 擬監(jiān)控組,和低優(yōu)先級(jí)虛擬監(jiān)控組的哪一組。如果是高優(yōu)先級(jí)虛擬監(jiān)控組則 跳往步驟504,如果是中優(yōu)先級(jí)虛擬監(jiān)控組則跳往步驟512,如杲是低優(yōu)先級(jí) 虛擬監(jiān)控組則跳往步驟515。
      504 )將接口控制模塊中最近一次調(diào)用的虛擬監(jiān)控組更新為高優(yōu)先級(jí)虛 擬監(jiān)控組,讀取高優(yōu)先級(jí)虛擬監(jiān)控組中最近一次調(diào)度的實(shí)隊(duì)列。
      505 )判斷該實(shí)隊(duì)列中是否有待發(fā)送數(shù)據(jù)包,如果是則跳往步驟506,否 則跳往步驟508。
      506 )判斷物理接口是否仍有發(fā)送數(shù)據(jù)包的能力。如果是則跳往步驟507 , 否則跳往步驟520。
      507)將該虛擬監(jiān)控組中最近一次調(diào)度的實(shí)隊(duì)列更新為本實(shí)隊(duì)列,發(fā)送 該實(shí)隊(duì)列中待發(fā)送的數(shù)據(jù)包。返回步驟505繼續(xù)進(jìn)行。
      508 )尋找該虛擬監(jiān)控組所轄實(shí)隊(duì)列鏈中下一個(gè)有待發(fā)送數(shù)據(jù)包的實(shí)隊(duì)列。
      509) 是否找到有待發(fā)送數(shù)據(jù)包的實(shí)隊(duì)列。如果是則跳往步驟506,否則 跳往步驟510。
      510) 將接口管理模塊中最近一次調(diào)度的虛擬監(jiān)控組更新為優(yōu)先級(jí)僅次 于本優(yōu)先級(jí)的下一優(yōu)先級(jí)虛擬監(jiān)控組。如果本虛擬監(jiān)控組是最低優(yōu)先級(jí),則 接口管理模塊中最近一次調(diào)度的虛擬監(jiān)控組更新為最高優(yōu)先級(jí)虛擬監(jiān)控組。
      511) 判斷接口管理模塊中最近一次調(diào)度的虛擬監(jiān)控組是哪一個(gè)虛擬監(jiān) 控組。如果是高優(yōu)先級(jí)虛擬監(jiān)控組則跳往步驟504,如果是中優(yōu)先級(jí)虛擬監(jiān) 控組則跳往步驟512,如果是低優(yōu)先級(jí)虛擬監(jiān)控組則跳往步驟515。
      512) 將接口控制模塊中最近一次調(diào)用的虛擬監(jiān)控組更新為中優(yōu)先級(jí)虛 擬監(jiān)控組,讀取中優(yōu)先級(jí)虛擬監(jiān)控組中最近一次調(diào)度的實(shí)隊(duì)列。
      513 )讀取高優(yōu)先級(jí)虛擬監(jiān)控組中待發(fā)送數(shù)據(jù)包數(shù)目。 514)待發(fā)送數(shù)據(jù)包是否為0。如果是則跳往步驟505,否則跳往步驟504。 515 )將接口控制^t塊中最近一次調(diào)用的虛擬監(jiān)控組更新為低優(yōu)先級(jí)虛 擬監(jiān)控組,讀取中優(yōu)先級(jí)虛擬監(jiān)控組中最近一次調(diào)度的實(shí)隊(duì)列。 516)讀取高優(yōu)先級(jí)虛擬監(jiān)控組中待發(fā)送數(shù)據(jù)包數(shù)目。
      517) 待發(fā)送數(shù)據(jù)包是否為0。如果是則跳往步驟518,否則跳往步驟504。
      518) 讀取中優(yōu)先級(jí)虛擬監(jiān)控組中待發(fā)送數(shù)據(jù)包數(shù)目。
      519) 待發(fā)送數(shù)據(jù)包是否為0。如果是則跳往步驟505,否則跳往步驟512。 520 )停止本次調(diào)度。
      權(quán)利要求
      1、一種計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)的CAR隊(duì)列管理方法,入隊(duì)時(shí)采用CAR進(jìn)行速率限制,其特征在于,使用虛擬監(jiān)控組分類管理存放接收或發(fā)送數(shù)據(jù)包的隊(duì)列,包括以下對(duì)應(yīng)入隊(duì)和出隊(duì)步驟A)入隊(duì)計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)將通過所述速率限制的接收數(shù)據(jù)包放入所屬隊(duì)列;B)出隊(duì)計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)定時(shí)器或接收的數(shù)據(jù)包觸發(fā),根據(jù)所述虛擬監(jiān)控組的優(yōu)先級(jí)從其內(nèi)所述隊(duì)列中調(diào)用并轉(zhuǎn)發(fā)數(shù)據(jù)包。
      2、 根據(jù)權(quán)利要求1所述CAR隊(duì)列管理方法,其特征在于,所述虛擬 監(jiān)控組分類管理區(qū)分空閑和可用隊(duì)列,該方法具體包括步驟A) 入隊(duì)計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)將將通過所述速率限制的接收數(shù)據(jù)包放入 所屬可用隊(duì)列或放入所屬空閑隊(duì)列并將隊(duì)列狀態(tài)改為可用,從空 閑隊(duì)列鏈移至可用隊(duì)列;所述虛擬監(jiān)控組定時(shí)檢查所述可用隊(duì) 歹'J,根據(jù)其在一定時(shí)間內(nèi)沒有新的數(shù)據(jù)包被放入,則把該可用隊(duì) 列狀態(tài)改為空閑隊(duì)列,從可用隊(duì)列鏈移至空閑隊(duì)列;B) 出隊(duì)計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)定時(shí)器或接收的數(shù)據(jù)包觸發(fā),根據(jù)所 述虛擬監(jiān)控組的優(yōu)先級(jí)從其內(nèi)所述可用隊(duì)列中調(diào)用并轉(zhuǎn)發(fā)數(shù)據(jù) 包。
      3、 根據(jù)權(quán)利要求1所述CAR隊(duì)列管理方法,其特征在于,所迷出隊(duì) 步驟B )還包括進(jìn)一步根據(jù)所述虛擬監(jiān)控組內(nèi)各隊(duì)列的優(yōu)先級(jí)調(diào)用并轉(zhuǎn)發(fā)數(shù) 據(jù)包。
      4、 根據(jù)權(quán)利要求1所述CAR隊(duì)列管理方法,其特征在于,所述出隊(duì) 步驟B)還包括進(jìn)一步輪轉(zhuǎn)調(diào)用所述虛擬監(jiān)控組內(nèi)各隊(duì)列的并轉(zhuǎn)發(fā)數(shù)據(jù)包。
      5、 根據(jù)權(quán)利要求2或3所述CAR隊(duì)列管理方法,其特征在于,所述 出隊(duì)步驟B )還包括進(jìn)一步結(jié)合所述虛擬監(jiān)控組內(nèi)各隊(duì)列的優(yōu)先級(jí)和輪轉(zhuǎn)順 序調(diào)用并轉(zhuǎn)發(fā)數(shù)據(jù)包。
      6、 根據(jù)權(quán)利要求1所述CAR隊(duì)列管理方法,其特征在于,所述入隊(duì) 步驟還包括丟棄超出所述速率限制的接收數(shù)據(jù)包。
      7、 根據(jù)權(quán)利要求1所述CAR隊(duì)列管理方法,其特征在于,所述CAR 包括字節(jié)令牌或數(shù)據(jù)包令牌方式。
      8、 根據(jù)權(quán)利要求1或7所述CAR隊(duì)列管理方法,其特征在于,若 Lasttick小于Nowtick, Token = (Nowtick - Lasttick)*Bandwidth+Lasttoken; Lasttick 大于 Nowtick , Token = (Lasttick - Nowtick + Oxffffffff)*Bandwidth+Lasttoken;其中,Token是該隊(duì)列獲得的令牌數(shù), Lasttoken是上次發(fā)包結(jié)束時(shí)該隊(duì)列剩余的隊(duì)列數(shù),Lasttick是該隊(duì)列上一次 收到數(shù)據(jù)包的系統(tǒng)時(shí)間,Nowtick是本次收到數(shù)據(jù)包的系統(tǒng)時(shí)間;Bandwidth 是該隊(duì)列分配的帶寬,如果該隊(duì)列允許統(tǒng)計(jì)復(fù)用,則Bandwidth是該隊(duì)列分 配帶寬與其他隊(duì)列可統(tǒng)計(jì)復(fù)用的帶寬的總和。
      9、 根據(jù)權(quán)利要求1所述CAR隊(duì)列管理方法,其特征在于,所述虛擬 監(jiān)控組中的所有隊(duì)列是同一類,包括實(shí)時(shí)隊(duì)列、默認(rèn)隊(duì)列、統(tǒng)計(jì)復(fù)用隊(duì)列和 絕對(duì)資源保證隊(duì)列中的一種或多種。
      10、 根據(jù)權(quán)利要求9所述CAR隊(duì)列管理方法,其特征在于,所述虛擬 監(jiān)控組的分類可以基于流、基于類或基于轉(zhuǎn)發(fā)方式。
      全文摘要
      本發(fā)明涉及一種計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)的CAR隊(duì)列管理方法,采用CAR速率限制和虛擬監(jiān)控組,包括計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)將通過CAR速率限制的接收數(shù)據(jù)包放入其所屬隊(duì)列;計(jì)算機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)定時(shí)器或接收的數(shù)據(jù)包觸發(fā),根據(jù)所述虛擬監(jiān)控組的優(yōu)先級(jí)從其內(nèi)所述隊(duì)列中調(diào)用并轉(zhuǎn)發(fā)數(shù)據(jù)包。這種方法,選取簡(jiǎn)單的令牌計(jì)算方法,同時(shí)兼顧了網(wǎng)絡(luò)轉(zhuǎn)發(fā)效率,利用虛擬監(jiān)控組管理實(shí)隊(duì)列,使調(diào)度更加簡(jiǎn)單快捷,同時(shí)可以提供低時(shí)延服務(wù)和帶寬統(tǒng)計(jì)復(fù)用服務(wù),絕對(duì)資源保證服務(wù)和盡力而為服務(wù),其適用面廣,可以應(yīng)用于基于流的服務(wù)質(zhì)量保證,基于類的服務(wù)質(zhì)量保證,點(diǎn)到點(diǎn)或者點(diǎn)到多點(diǎn)的服務(wù)質(zhì)量保證。
      文檔編號(hào)H04L12/56GK101179486SQ20061013870
      公開日2008年5月14日 申請(qǐng)日期2006年11月10日 優(yōu)先權(quán)日2006年11月10日
      發(fā)明者顧穎杰 申請(qǐng)人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1