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

擁塞控制方法及網(wǎng)絡(luò)節(jié)點的制作方法

文檔序號:7713680閱讀:143來源:國知局

專利名稱::擁塞控制方法及網(wǎng)絡(luò)節(jié)點的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及網(wǎng)絡(luò)通信
技術(shù)領(lǐng)域
,尤其涉及一種擁塞控制方法及網(wǎng)絡(luò)節(jié)點。
背景技術(shù)
:隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的網(wǎng)絡(luò)應(yīng)用業(yè)務(wù)通過IP網(wǎng)絡(luò)來實現(xiàn)數(shù)據(jù)傳輸。但是,IP網(wǎng)絡(luò)的分組化和無連接特性導(dǎo)致各個網(wǎng)絡(luò)節(jié)點所承載的數(shù)據(jù)流量在時間和空間上都呈現(xiàn)出隨機(jī)性,由此導(dǎo)致網(wǎng)絡(luò)節(jié)點擁塞甚至網(wǎng)絡(luò)擁塞。目前,IP網(wǎng)絡(luò)中的擁塞控制主要分為基于端系統(tǒng)的擁塞控制和基于網(wǎng)絡(luò)自身的擁塞控制?,F(xiàn)有技術(shù)中,隨機(jī)公平早期檢測RED是一種典型的基于網(wǎng)絡(luò)的主動式擁塞控制方法。該方法動態(tài)計算網(wǎng)絡(luò)路由器每個輸出接口中分組緩存隊列的平均隊列長度,在該平均長度4支長時以扭克率方式主動丟棄分組。該方法的核心是通過控制輸出接口的平均隊列長度來控制網(wǎng)絡(luò)節(jié)點接口的負(fù)荷量,進(jìn)而避免網(wǎng)絡(luò)中各個TCP協(xié)議發(fā)送實體同步減小發(fā)送流量或同步增大發(fā)送流量,從而避免網(wǎng)絡(luò)節(jié)點和網(wǎng)絡(luò)發(fā)生擁塞。RED使用最小隊列闊值(minj、最大閾值(max,力)和最大丟棄概率(maxp)等幾個參數(shù),對于每一個到達(dá)某個隊列的分組,RED采用如下的指數(shù)加權(quán)平均方法計算相應(yīng)輸出接口分組隊列的平均隊列長度=(1-w)xflvg。w+《(1)其中,0<w<l,g為真實隊列長度。RED根據(jù)平均隊列長度avg,,計算如下概率;min,A<"vg睛<max^(2)avg,>max^以這個概率p丟棄正在該分組隊列中等待的一個分組,當(dāng)前得到的平均0max化-mir^1隊列長度avg,成為下一次計算平均隊列長度的"Vg。w,如此循環(huán)往復(fù)。發(fā)明人在對現(xiàn)有^支術(shù)的研究過程中發(fā)現(xiàn),現(xiàn)有RED方式對擁塞的處理都采用直接丟棄分組隊列的方式,這種方式導(dǎo)致網(wǎng)絡(luò)中的數(shù)據(jù)轉(zhuǎn)發(fā)效率降低;并且,由于路由協(xié)議可以為一個網(wǎng)絡(luò)節(jié)點計算去往一個目的地的多條最短路徑,但是RED方式對擁塞接口上分組的丟棄導(dǎo)致網(wǎng)絡(luò)中具有相同最小代價的多條路徑轉(zhuǎn)發(fā)資源未得到充分利用。
發(fā)明內(nèi)容本發(fā)明實施例的目的是提供一種擁塞控制方法及網(wǎng)絡(luò)節(jié)點,以解決現(xiàn)有技術(shù)中在擁塞時直接丟棄分組隊列,導(dǎo)致路徑轉(zhuǎn)發(fā)資源無法得到充分利用的問題。為解決上述技術(shù)問題,本發(fā)明實施例提供如下技術(shù)方案一種擁塞控制方法,包括網(wǎng)絡(luò)節(jié)點獲取從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑;計算所述網(wǎng)絡(luò)節(jié)點的每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,每個所述分組優(yōu)先級隊列中包含多條數(shù)據(jù)流;根據(jù)所述擁塞指數(shù)和擁塞容忍度判斷所述各個分組優(yōu)先級隊列是否發(fā)生擁塞;當(dāng)發(fā)生擁塞時,根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列所承載各個數(shù)據(jù)流的目的網(wǎng)絡(luò)節(jié)點從所述多條最小代價路徑對應(yīng)的輸出接口中選擇一個未發(fā)生擁塞的輸出接口;通過所述未發(fā)生擁塞的輸出接口的分組優(yōu)先級隊列傳輸所述發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流。一種兩絡(luò)節(jié)點,包括獲取單元,用于網(wǎng)絡(luò)節(jié)點獲取從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑;計算單元,用于計算所述網(wǎng)絡(luò)節(jié)點的每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,每個所述分組優(yōu)先級隊列中包含多條數(shù)據(jù)流;判斷單元,用于根據(jù)所述擁塞指數(shù)和擁塞容忍度判斷所述各個分組優(yōu)先級隊列是否發(fā)生擁塞;選擇單元,用于當(dāng)所述判斷單元判斷發(fā)生擁塞時,根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列所承載各個數(shù)據(jù)流的目的網(wǎng)絡(luò)節(jié)點從所述多條最小代價路徑對應(yīng)的輸出接口中選擇一個未發(fā)生擁塞的輸出接口;傳輸單元,用于傳輸非擁塞分組優(yōu)先級隊列的數(shù)據(jù)流以及通過所述未發(fā)生擁塞的輸出接口的分組優(yōu)先級隊列傳輸所述發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流??梢?,在本發(fā)明實施例中網(wǎng)絡(luò)節(jié)點獲取從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑,計算每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,根據(jù)擁塞指數(shù)和擁塞容忍度判斷各個分組優(yōu)先級隊列是否發(fā)生擁塞,當(dāng)發(fā)生擁塞時,根據(jù)發(fā)生擁塞的分組優(yōu)先級隊列所承載各個數(shù)據(jù)流的目的網(wǎng)絡(luò)節(jié)點從多條最小代價路徑對應(yīng)的輸出接口中選擇一個未發(fā)生擁塞的輸出接口,通過未發(fā)生擁塞的輸出接口的分組優(yōu)先級隊列傳輸發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流。應(yīng)用本發(fā)明實施例,當(dāng)網(wǎng)絡(luò)節(jié)點的輸出接口傳輸?shù)姆纸M優(yōu)先級隊列發(fā)生擁塞時,不必丟棄該分組優(yōu)先級隊列中的分組,而通過該網(wǎng)絡(luò)節(jié)點到其它網(wǎng)絡(luò)節(jié)點之間的多條最短路徑,為所述發(fā)生擁塞的分組優(yōu)先級隊列選擇另一條最小代價路徑所對應(yīng)的非擁塞輸出接口進(jìn)行傳輸,由此可以充分利用網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)資源,保證了發(fā)生擁塞的分組優(yōu)先級隊列既可以正確進(jìn)行傳輸,又提高了網(wǎng)絡(luò)資源的利用率。為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中需要使用的附圖作筒單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得與本發(fā)明相關(guān)的其他的附圖。圖1是本發(fā)明第一實施例中的擁塞控制方法的流程圖2是應(yīng)用本發(fā)明擁塞控制方法實施例的一種路由器的結(jié)構(gòu)示意圖3是本發(fā)明第二實施例中的擁塞檢測子模塊的執(zhí)行流程圖;圖4是本發(fā)明第三實施例中的擁塞決策子模塊的執(zhí)行流程圖;圖5是本發(fā)明第四實施例中的避繞執(zhí)行子模塊的執(zhí)行流程圖;圖6是本發(fā)明實施例對進(jìn)行擁塞避繞的全部數(shù)據(jù)流進(jìn)行識別的流程圖;圖7是本發(fā)明實施例尋找避繞接口的流程圖;圖8是本發(fā)明網(wǎng)絡(luò)節(jié)點的實施例框圖。具體實施例方式本發(fā)明實施例提供了一種擁塞控制方法及網(wǎng)絡(luò)節(jié)點,該擁塞控制方法是由網(wǎng)絡(luò)節(jié)點實施的主動式擁塞控制方法,也可稱為避繞式擁塞控制方法,其核心是網(wǎng)絡(luò)節(jié)點根據(jù)現(xiàn)有路由協(xié)議計算出它到任一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑,在此基礎(chǔ)上周期地計算本節(jié)點內(nèi)與這些最小代價路徑對應(yīng)的各個輸出接口分組隊列的擁塞指數(shù),再根據(jù)擁塞指數(shù)判斷各個接口分組隊列的擁塞狀態(tài);本發(fā)明為不同等級傳送性能要求的數(shù)據(jù)流賦予不同的擁塞容忍度,當(dāng)一條接口某個分組隊列的擁塞指數(shù)大于該隊列承載的數(shù)據(jù)流的擁塞容忍度(本發(fā)明用分組隊列的擁塞容忍度表示隊列承載的數(shù)據(jù)流的擁塞容忍度)時,就判定該接口分組隊列發(fā)生"擁塞",繼而針對通過該擁塞隊列承載的每一個數(shù)據(jù)流在本地路由器內(nèi)找出另一條等代價路徑所對應(yīng)的非擁塞接口,最后將數(shù)據(jù)流改向(或切換)到該非擁塞接口對應(yīng)的分組隊列。在每一個網(wǎng)絡(luò)節(jié)點將每個數(shù)據(jù)流的傳送性能要求以及實際傳送效果轉(zhuǎn)換為輸出接口的分組隊列狀態(tài),利用多最小代價路徑切換輸出接口使得一個數(shù)據(jù)流的后續(xù)分組序列繞開發(fā)生擁塞的接口,從而將接口的負(fù)荷始終限制在較低水平,最終保證數(shù)據(jù)流在分組級別上的時延性能要求。本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。在介紹本發(fā)明實施例之前,首先對本發(fā)明實施例中涉及的術(shù)語進(jìn)行介紹,本發(fā)明實施例的實施并不限定于具體的IP協(xié)議版本,其中主要以IPv6協(xié)議為背景進(jìn)行描述。1.數(shù)據(jù)流數(shù)據(jù)流可以分為單播數(shù)據(jù)流和多播數(shù)據(jù)流,其中在單播環(huán)境中,一個單播數(shù)據(jù)流指從一個源節(jié)點發(fā)往同一個目的節(jié)點、具有相同端到端傳送時延要求的分組序列,不同數(shù)據(jù)流的端到端傳送時延要求可以不同。在IPv6協(xié)議下,通過分組頭中的"流量類型,,、"流標(biāo)識,,、"源IP地址,,和"目的IP地址"四個字段來標(biāo)識該分組序列所屬的數(shù)據(jù)流,即"流量類型"、"流標(biāo)識"、"源IP地址"和"目的IP地址"具有相同字段編碼的各個分組構(gòu)成一個數(shù)據(jù)流;在多播環(huán)境中,一個多播數(shù)據(jù)流指從一個源節(jié)點發(fā)往多個目的節(jié)點、具有相同端到端傳送時延要求的分組序列,本發(fā)明實施例中為了簡化表示,用多個具有不同"目的IP地址"、具有相同"源IP地址"、"流量類型,,和"流標(biāo)識"的單播數(shù)據(jù)流來表示一個多播數(shù)據(jù)流。需要說明的是,本發(fā)明實施例中并不限制對數(shù)據(jù)流的定義,不排除其它的^:據(jù)流定義。2.數(shù)據(jù)流的傳送時延要求本發(fā)明實施例中將一個數(shù)據(jù)流的傳送質(zhì)量要求指定為該數(shù)據(jù)流的最大端到端傳送時延"(即時延上界)。通過資源預(yù)約協(xié)議RSVP等方式,網(wǎng)絡(luò)節(jié)點可以將該傳送時延D分解為與傳送路徑上節(jié)點個數(shù)"相對應(yīng)的w個"子上界",其中節(jié)點iV,對應(yīng)"子上界"4(戶1,2,…",^+4+...+4z=D),其含義即為該數(shù)據(jù)流的每個分組穿越節(jié)點W,的最大時延不能超過4。3.數(shù)據(jù)流類指經(jīng)同一個網(wǎng)絡(luò)節(jié)點傳送且網(wǎng)絡(luò)節(jié)點時延"子上界"相近的多個凄t據(jù)流。規(guī)定一個數(shù)據(jù)流類的時延子上界是其包含的多個數(shù)據(jù)流中的最小子上界,同一個輸出接口上可以有多個數(shù)據(jù)流類,不同的數(shù)據(jù)流類經(jīng)不同的分組優(yōu)先級隊列承載。需要說明的是,本發(fā)明實施例與數(shù)據(jù)流類的定義無直接關(guān)聯(lián),并不限定數(shù)據(jù)流類的特定劃分方法,另外,沒有時延要求的數(shù)據(jù)流以及數(shù)據(jù)流類不在本發(fā)明實施例的應(yīng)用范圍內(nèi)。4.分組優(yōu)先級隊列網(wǎng)絡(luò)節(jié)點(可以為路由器)在它的每個輸出接口均設(shè)置7V個不同的優(yōu)先級隊列來緩存TV個不同數(shù)據(jù)流類的分組,一個分組優(yōu)先級隊列與一個確定的節(jié)點時延子上界r,相對應(yīng)(也可稱為綁定),該r,是該數(shù)據(jù)流類所包含的多個7V個分組優(yōu)先級隊列時延子上界的關(guān)系為ri<r2<......<^。因此,每個分組優(yōu)先級隊列中包含多條具有相同轉(zhuǎn)發(fā)時延要求(即最小子上界)的數(shù)據(jù)流。需要說明的是,本發(fā)明實施例的實施與優(yōu)先級隊列到時延子上界的綁定方法無直接關(guān)聯(lián),因此,不給出也不限定具體的綁定方法。5.分組、接口、隊列在本發(fā)明實施例中的關(guān)系對于具有最大端到端傳送時延要求的數(shù)據(jù)流,其任一分組進(jìn)入一個網(wǎng)絡(luò)節(jié)點后,網(wǎng)絡(luò)節(jié)點先用其攜帶的目的IP地址為其選擇輸出接口,再根據(jù)其流量類型字段的區(qū)分服務(wù)編碼點(DSCP)使其進(jìn)入保證時延隊列類,最后用源IP地址和流標(biāo)識兩個字^^殳將其置入保^E時延隊列類中的相應(yīng)優(yōu)先級隊列。參見圖1,為發(fā)明第一實施例中的擁塞控制方法的流程步驟101:網(wǎng)絡(luò)節(jié)點獲取從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑。其中,網(wǎng)絡(luò)節(jié)點根據(jù)路由協(xié)議計算到其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑,每條所述最小代價路徑對應(yīng)所述網(wǎng)絡(luò)節(jié)點的一個輸出接口,網(wǎng)絡(luò)節(jié)點為每個輸出接口所傳輸?shù)姆纸M優(yōu)先級隊列的數(shù)據(jù)流建立流狀態(tài)表和流轉(zhuǎn)發(fā)表,所述流狀態(tài)表中包含每個數(shù)據(jù)流的流量類型、流標(biāo)識、源IP地址、目的IP地址、多路徑標(biāo)志、優(yōu)先級、避繞標(biāo)志和所述多條最小代價路徑對應(yīng)的輸出接口,所述流轉(zhuǎn)發(fā)表中包含每個數(shù)據(jù)流的流量類型、流標(biāo)識、源IP地址、目的IP地址和所述分組優(yōu)先級隊列的數(shù)據(jù)流正在使用的當(dāng)前下一跳輸出接口。步驟102:計算網(wǎng)絡(luò)節(jié)點的每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,每個分組優(yōu)先級隊列中包含多條具有相同轉(zhuǎn)發(fā)時延要求的數(shù)據(jù)流。其中,網(wǎng)絡(luò)節(jié)點通過雙重指數(shù)平滑算法對各個分組優(yōu)先級隊列的累計長度進(jìn)行預(yù)測,根據(jù)每個分組優(yōu)先級隊列的累計長度和最大長度,采用輪詢方式定期計算每個分組優(yōu)先級隊列的擁塞指數(shù),將所述分組優(yōu)先級隊列的擁塞指數(shù)寫入對應(yīng)接口的隊列擁塞狀態(tài)表;每個分組優(yōu)先級隊列對應(yīng)的最大分組時延(即分組隊列對應(yīng)的最小子上界),每個分組優(yōu)先級隊列對應(yīng)輸出接口的帶寬和每個分組優(yōu)先級隊列的容量,根據(jù)所述最大分組時延、接口帶寬和隊列容量計算各個分組優(yōu)先級隊列的擁塞容忍度,所述擁塞容忍度用于表示分組優(yōu)先級隊列所允許的最大擁塞程度,將所述分組優(yōu)先級隊列的擁塞容忍度寫入對應(yīng)接口的隊列擁塞狀態(tài)表。步驟103:根據(jù)擁塞指數(shù)和擁塞容忍度判斷各個分組優(yōu)先級隊列是否發(fā)生擁塞。其中,從所述隊列擁塞狀態(tài)表中讀取分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,判斷擁塞指數(shù)是否大于所述擁塞容忍度,若大于則所述分組優(yōu)先級隊列發(fā)生擁塞。步驟104:當(dāng)發(fā)生擁塞時,4艮據(jù)發(fā)生擁塞的分組優(yōu)先級隊列所^^載各個數(shù)據(jù)流的目的網(wǎng)絡(luò)節(jié)點,從多條最小代價路徑對應(yīng)的輸出接口中選擇一個未發(fā)生擁塞的輸出接口。其中,根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列所對應(yīng)的輸出接口標(biāo)識、所述流狀態(tài)表中的每個數(shù)據(jù)流的多路徑標(biāo)志、優(yōu)先級和避繞標(biāo)志查找通過所述發(fā)生擁塞的分組優(yōu)先級隊列傳輸?shù)乃袛?shù)據(jù)流,通過查找所述隊列擁塞狀態(tài)表,獲取除傳輸所述發(fā)生擁塞的分組優(yōu)先級隊列的輸出接口外的其它輸出接口上與所述發(fā)生擁塞的分組優(yōu)先級隊列具有同等優(yōu)先級的分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,從所述流狀態(tài)表中找出所述所有數(shù)據(jù)流中每一個數(shù)據(jù)流的所有非當(dāng)前下一跳接口,根據(jù)所述具有同等優(yōu)先級的分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,以及所述每一個數(shù)據(jù)流的所有非當(dāng)前下一跳接口,獲取一個擁塞指數(shù)小于其自身擁塞容忍度的分組優(yōu)先級隊列對應(yīng)的輸出接n。步驟105:通過未發(fā)生擁塞的輸出接口的分組優(yōu)先級隊列傳輸發(fā)生擁塞的分組優(yōu)先級隊列的凄t據(jù)流。其中,根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流的流標(biāo)識查找所述流轉(zhuǎn)發(fā)表,將所述擁塞指數(shù)小于其自身擁塞容忍度的分組優(yōu)先級隊列對應(yīng)的輸出接口的標(biāo)識寫入所述流轉(zhuǎn)發(fā)表的當(dāng)前下一跳輸出接口字段內(nèi)根據(jù)所述流轉(zhuǎn)發(fā)表傳輸包括所述發(fā)生擁塞的隊列在內(nèi)的各個分組優(yōu)先級隊列的數(shù)據(jù)、*云/"bo為了進(jìn)一步詳細(xì)i兌明本申請實施例,下面對本申請實施例才丸4于具體擁塞控制過程的條件進(jìn)行說明。1.網(wǎng)絡(luò)節(jié)點運行能夠計算多條最小代價路徑的路由協(xié)議對于任一個目的子網(wǎng)或目的節(jié)點,網(wǎng)絡(luò)節(jié)點目前運行的域內(nèi)路由協(xié)議一般只計算一條最小代價路徑,并將與該最小代價路徑對應(yīng)的本地下一跳接口標(biāo)識寫入路由表和轉(zhuǎn)發(fā)表中。但現(xiàn)有路由協(xié)議(如OSPF、IS-IS等)能夠計算出多條最小代價路徑,而不同的最小代價路徑對應(yīng)路由器不同的本地接口。本發(fā)明實施例中路由協(xié)議可以計算多條最小代價路徑。2.網(wǎng)絡(luò)節(jié)點使用相同的傳送服務(wù)質(zhì)量要求的標(biāo)準(zhǔn)鑒于支持端到端傳送時延要求屬于網(wǎng)絡(luò)的整體功能而非個別網(wǎng)絡(luò)節(jié)點的功能,因此本發(fā)明實施例可以在網(wǎng)絡(luò)中廣泛部署。對于具有最大端到端傳送時延要求的一個數(shù)據(jù)流而言,其各個分組中標(biāo)識所在數(shù)據(jù)流的"流量類型"、"流標(biāo)識"、"源IP地址,,和"目的IP地址"四個字段可以明確對應(yīng)每個網(wǎng)絡(luò)節(jié)點的時延子上界。本發(fā)明實施例不要求所有網(wǎng)絡(luò)節(jié)點具有相同的數(shù)據(jù)流類劃分標(biāo)準(zhǔn),但需要每個網(wǎng)絡(luò)節(jié)點將各個分組置入滿足其時延子上界要求的分組優(yōu)先級隊列。優(yōu)先級隊列個數(shù)通常等于所劃分的具有時延子上界要求的數(shù)據(jù)流類的個數(shù)。各個網(wǎng)絡(luò)節(jié)點用于支持最大端到端傳送時延的分組優(yōu)先級隊列個數(shù)N不必相同。3.分組優(yōu)先級隊列與時延子上界的對應(yīng)關(guān)系已經(jīng)確定網(wǎng)絡(luò)節(jié)點的每一個輸出接口上每一個保證時延類的分組優(yōu)先級隊列Qi均與一個確定的網(wǎng)絡(luò)節(jié)點時延子上界Ti建立了對應(yīng)關(guān)系,即Qi與Ti綁定。4.分組隊列調(diào)度算法本發(fā)明實施例基于分組隊列調(diào)度算法。本發(fā)明實施例中需要定期地使用分組優(yōu)先級隊列的累計長度來計算隊列的擁塞指數(shù),而該擁塞指數(shù)的計算方法依賴于對多個分組優(yōu)先級隊列的調(diào)度算法。不同的分組優(yōu)先級調(diào)度算法下計算優(yōu)先級隊列累計長度的方法可能不相同。本發(fā)明實施例不限定必須使用特定的調(diào)度算法。5.狀態(tài)表本發(fā)明實施例中設(shè)置了三個狀態(tài)表,分別具體描述如下(1)流狀態(tài)表流狀態(tài)表用于存儲分組優(yōu)先級隊列中各個數(shù)據(jù)流的標(biāo)識、優(yōu)先級、多路徑標(biāo)志、避繞標(biāo)志和全部下一跳信息,其具體格式可以如下表1所示表1流量類型流標(biāo)識源IP地址^多忠優(yōu)先級多路徑標(biāo)志避繞標(biāo)志當(dāng)前下一跳接下一跳接口-1下一跳接口-w上表l中,"流量類型"、"流標(biāo)識"、"源IP地址"和"目的IP地址"四個字段用于標(biāo)識一個數(shù)據(jù)流,"優(yōu)先級,,字段表征一個數(shù)據(jù)流的各個分組穿越一個網(wǎng)絡(luò)節(jié)點的最大時延要求,它對應(yīng)該網(wǎng)絡(luò)節(jié)點一個輸出接口保證時延隊列類別中的一個分組隊列,"多路徑標(biāo)志"指示數(shù)據(jù)流在本網(wǎng)絡(luò)節(jié)點是否存在與多條最短路徑對應(yīng)的多個下一跳接口,"避繞標(biāo)志"用于指示是否已對數(shù)據(jù)流執(zhí)行過擁塞避繞控制,多路徑標(biāo)志和避繞標(biāo)志共同用于執(zhí)行擁塞避繞控制,當(dāng)前下一跳接口指示數(shù)據(jù)流正在使用的下一跳接口,而剩余n個下一跳接口字段中的每一個對應(yīng)該數(shù)據(jù)流多條最短路徑中的一個本地接口。每個具有時延要求的數(shù)據(jù)流在流狀態(tài)表中都有一個表項,其中流量類型、流標(biāo)識、源IP地址、目的IP地址和優(yōu)先級五個字段可以通過資源預(yù)約協(xié)議建立,n個下一跳接口字段依據(jù)路由協(xié)議建立,當(dāng)前下一跳接口的初值可在n個下一跳*接口之中選擇一個。用流量類型、流標(biāo)識、源IP地址、目的IP地址、優(yōu)先級、多3各徑標(biāo)志和避繞標(biāo)志七個字段中的一個或幾個可以對流轉(zhuǎn)發(fā)表進(jìn)行按內(nèi)容的尋址,或者,也可以用Hash(流量類型,流標(biāo)識,源IP地址,目的IP地址,優(yōu)先級,多路徑標(biāo)志,避繞標(biāo)志)方式確定尋址用的地址,對于Hash函數(shù)的具體形式本發(fā)明實施例不進(jìn)行限制。參見如下表2,為一個具體的流狀態(tài)表,其中主要示出了流標(biāo)識為105和332的兩個數(shù)據(jù)流的狀態(tài):表2<table>tableseeoriginaldocumentpage16</column></row><table>(2)隊列擁塞狀態(tài)表隊列擁塞狀態(tài)表用于存儲各個傳輸接口上各個分組優(yōu)先級隊列的擁塞狀態(tài)信息(如擁塞指數(shù)等),具體格式可以如下表3所示表3<table>tableseeoriginaldocumentpage17</column></row><table>接口標(biāo)識隊列擁塞容忍度隊列擁塞指數(shù)用隊列優(yōu)先級和接口標(biāo)識可以對隊列擁塞狀態(tài)表進(jìn)行按地址的尋址。每種分組優(yōu)先級隊列均有一個隊列擁塞狀態(tài)表表項,該表項包含了各個接口上相同優(yōu)先級的分組隊列的擁塞狀態(tài)。一個數(shù)據(jù)流類中的所有l(wèi)t據(jù)流具有相同的擁塞容忍度,本發(fā)明將該擁塞容忍度定義為承載該數(shù)據(jù)流類的分組優(yōu)先級隊列的擁塞容忍度。對于分組優(yōu)先級隊列Qi來說,表項中的隊列擁塞容忍度表示保證分組時延意義下對擁塞的最大容忍限度,用CONi表示,它在第一次建立表項時首次計算。隊列擁塞指數(shù)是表征分組優(yōu)先級隊列擁塞程度的擁塞狀態(tài)指標(biāo),本發(fā)明實施例中定期地計算每一個傳輸接口上每一個分組優(yōu)先級隊列的擁塞指數(shù)。參見表4,為一個具體的隊列擁塞狀態(tài)表表4<table>tableseeoriginaldocumentpage17</column></row><table><table>tableseeoriginaldocumentpage18</column></row><table>(3)流轉(zhuǎn)發(fā)表流轉(zhuǎn)發(fā)表用于存儲各個數(shù)據(jù)流當(dāng)前的下一跳接口標(biāo)識,其具體格式可以如下表5所示表5<table>tableseeoriginaldocumentpage18</column></row><table>本發(fā)明實施例中的流轉(zhuǎn)發(fā)表是對目前使用的常規(guī)轉(zhuǎn)發(fā)表的擴(kuò)展,其中的流量類型、流標(biāo)識、源IP地址和目的IP地址四個字段用來標(biāo)識數(shù)據(jù)流。一個數(shù)據(jù)流的當(dāng)前下一跳接口與前述流狀態(tài)表中的同名字段取值相同。用流量類型、流標(biāo)識、源IP地址和目的IP地址四個字段可以對流轉(zhuǎn)發(fā)表進(jìn)行按內(nèi)容的尋址,也可以用Hash(流量類型,流標(biāo)識,源IP地址,目的IP地址)函數(shù)確定尋址用的地址,對于Hash函數(shù)的具體形式本發(fā)明實施例不進(jìn)行限制。本發(fā)明實施例中,在分組優(yōu)先級隊列發(fā)生擁塞時,上述流狀態(tài)表和隊列擁塞狀態(tài)表用于為受影響的數(shù)據(jù)流計算避繞傳輸接口,而流轉(zhuǎn)發(fā)表則用于存儲該避繞傳輸接口。參見表6,為一個具體的流轉(zhuǎn)發(fā)表表6<table>tableseeoriginaldocumentpage18</column></row><table><table>tableseeoriginaldocumentpage19</column></row><table>參見圖2,為應(yīng)用本發(fā)明擁塞控制方法實施例的一種路由器的結(jié)構(gòu)示意圖路由器中具有擁塞避繞功能的實體稱為擁塞避繞模塊,該擁塞避繞模塊的結(jié)構(gòu)是擁塞避繞結(jié)構(gòu)的一種具體形式。在宏觀層面,擁塞避繞模塊位于路由器的路由計算模塊和分組轉(zhuǎn)發(fā)模塊之間。路由計算模塊用于計算出所有等代價的最短路徑并將對應(yīng)的多個本地接口標(biāo)識輸出到擁塞避繞模塊,而每當(dāng)完成對一個數(shù)據(jù)流的擁塞避繞時,擁塞避繞模塊就將對應(yīng)的避繞接口標(biāo)識置入流轉(zhuǎn)發(fā)表,分組轉(zhuǎn)發(fā)模塊根據(jù)更新后的流轉(zhuǎn)發(fā)表執(zhí)行對該數(shù)據(jù)流后續(xù)分組的轉(zhuǎn)發(fā)。本發(fā)明實施例中,在路由器中建立和表示一個數(shù)據(jù)流的多條具有最小代價路徑的過程如下在一臺路由器中,到達(dá)某個目的節(jié)點的多條最小代價路徑由現(xiàn)有路由協(xié)議計算得到,本發(fā)明實施例中引入了流狀態(tài)表,在其中分別設(shè)立流量類型、流標(biāo)識、源IP地址、目的IP地址、當(dāng)前下一跳接口、下一跳接口-1.....下一跳接口-n字段來表示一個數(shù)據(jù)流在一個路由器的多條最小代價路徑所對應(yīng)的輸出接口。此外,本發(fā)明實施例還引入了流轉(zhuǎn)發(fā)表,在其中分別設(shè)立流量類型、流標(biāo)識、源IP地址、目的IP地址和當(dāng)前下一跳接口字l殳來表示一個數(shù)據(jù)流正在使用的分組轉(zhuǎn)發(fā)輸出接口。本發(fā)明實施例可以通過在時間上互斥使用多條具有相同最小代價路徑來實現(xiàn)主動擁塞避繞。圖2中,擁塞避繞模塊包括擁塞避繞數(shù)據(jù)基和擁塞避繞操作基。擁塞避繞數(shù)據(jù)基用于表示有傳送時延要求的數(shù)據(jù)流的特征以及傳輸接口隊列的狀態(tài),它是支持擁塞避繞操作的物質(zhì)基礎(chǔ);擁塞避繞操作基用于實現(xiàn)擁塞避繞操作,檢測每個輸出接口上每個分組優(yōu)先級隊列的狀態(tài)、判定分組優(yōu)先級隊并將避繞傳輸接口的標(biāo)識存入擁塞避繞數(shù)據(jù)基。具體地,擁塞避繞數(shù)據(jù)基中包括流狀態(tài)表,用于存儲各個有傳送時延要求的數(shù)據(jù)流的標(biāo)識、優(yōu)先級、多路徑標(biāo)志、避繞標(biāo)志和全部下一跳信息;隊列擁塞狀態(tài)表,用于存儲各個輸出接口上同等優(yōu)先級隊列的擁塞狀態(tài)信息;流轉(zhuǎn)發(fā)表,用于存儲各個數(shù)據(jù)流的當(dāng)前下一跳接口標(biāo)識。具體地,擁塞避繞操作基包括擁塞檢測子模塊,用于基于每個傳輸接口上每個分組優(yōu)先級隊列的長度定期檢測其擁塞狀態(tài),計算出分組優(yōu)先級隊列的擁塞指數(shù)Coni作為擁塞決策控制的依據(jù);決策控制子模塊,用于依據(jù)擁塞檢測子模塊計算出的分組優(yōu)先級隊列擁塞指數(shù)Coni和分組優(yōu)先級隊列本身的擁塞容忍度CONi判定分組優(yōu)先級隊列是否發(fā)生擁塞,再根據(jù)判定結(jié)果向避繞執(zhí)行子模塊發(fā)送啟動或停止避繞操作的命令;避繞執(zhí)行子模塊,用于啟動一個新的擁塞避繞過程或者停止一個進(jìn)行中的擁塞避繞過程。啟動避繞的核心操作是在數(shù)據(jù)流所有等代價最短路徑對應(yīng)的多個本地接口(不包括擁塞接口)中找一個未發(fā)生擁塞且負(fù)荷最輕的傳輸接口并將其作為當(dāng)前下一跳接口寫入對應(yīng)的流轉(zhuǎn)發(fā)表項,停止避繞的核心操作則是對流狀態(tài)表的避繞標(biāo)志字段進(jìn)行復(fù)位操作。下面詳細(xì)介紹擁塞避繞操作基的三個子模塊的工作過程1.擁塞檢測子模塊擁塞檢測子模塊根據(jù)分組優(yōu)先級隊列當(dāng)前的長度信息以及雙重指數(shù)平滑預(yù)測算法,以輪詢方式定期計算一個輸出接口上保證時延的各個分組優(yōu)先級隊列的擁塞指數(shù),從而為擁塞決策控制子模塊提供擁塞判決依據(jù)。首先,一個分組優(yōu)先級隊列g(shù)的擁塞^r測周期r可按下述方法確定假設(shè)為輸出接口上分組優(yōu)先級隊列的個數(shù)、^為針對分組優(yōu)先級隊列g(shù)的最長擁塞檢測時間、/2為針對分組優(yōu)先級隊列g(shù)的最長擁塞決策時間、6為針對分組優(yōu)先級隊列g(shù)的一次擁塞避繞執(zhí)行的最長時間,由此可知如下公式(/i+的)=T7AA(3)因此<formula>formulaseeoriginaldocumentpage21</formula>一個分組優(yōu)先級隊列的擁塞檢測周期r也是擁塞檢測子模塊的工作周期,該工作周期包含了依次針對W個隊列的7V個等間隔的檢測時間點,即在擁塞檢測周期r內(nèi)的第/個檢測時間點(1+//^0*丁,檢測分組優(yōu)先級隊列Qi(/=0,1,...,7V-1),擁塞檢測子模塊針對TV個分組優(yōu)先級隊列逐一進(jìn)行擁塞指數(shù)的計算和擁塞4企測。在每個檢測時間點f,擁塞檢測子模塊針對一個分組優(yōu)先級隊列Qi順序執(zhí)行如下的擁塞檢測:燥作(i)計算分組優(yōu)先級隊列Qi的真實長度,其中真實長度指QJ中的總字節(jié)數(shù);(ii)計算分組優(yōu)先級隊列Qi的累計長度,其中累計長度指從當(dāng)前時刻到Q1中的當(dāng)前最后一個分組經(jīng)接口輸出的時間段內(nèi)該接口所輸出的總字節(jié)數(shù);(m)計算分組優(yōu)先級隊列Qi在下一^r測時間點t+r的預(yù)測隊列長度;(iv)計算分組優(yōu)先級隊列Qi的擁塞指數(shù)Conit;(v)將分組優(yōu)先級隊列Qi的擁塞指數(shù)寫入Qi所在輸出接口的隊列擁塞狀態(tài)表。本發(fā)明實施例中引入的擁塞指數(shù)Con't,用以表征一個保證時延的分組優(yōu)先級隊列Q'的擁塞程度,并以該指數(shù)作為擁塞決策子模塊判定Qi是否擁塞的依據(jù)。擁塞指數(shù)Conit為小于1的非負(fù)數(shù),Conit越大,表示分組優(yōu)先級隊列Qi的擁塞程度越高。參見圖3,為本發(fā)明第二實施例中的擁塞檢測子模塊的執(zhí)行流程步驟301:準(zhǔn)備操作。在一臺路由器中,假設(shè)具有相同轉(zhuǎn)發(fā)時延要求的數(shù)據(jù)流j'和數(shù)據(jù)流K_/^:)均有兩條最短路徑,數(shù)據(jù)流/兩條最短路徑對應(yīng)的接口分別為p和q(p勻),數(shù)據(jù)流A:兩條最短路徑對應(yīng)的接口分別為p和r(/7^*)。初始時,接口/上的隊列Q'用于轉(zhuǎn)發(fā)數(shù)據(jù)流乂和&的分組。路由器為此在三個狀態(tài)表中建立如下的表項<table>tableseeoriginaldocumentpage22</column></row><table>較低優(yōu)先級分組隊列Q'在當(dāng)前檢測時間點r的累計長度I;定義為該優(yōu)先級以及所有更高優(yōu)先級分組隊列的當(dāng)前真實長度之和,即X/《+lf+...+I7-1+《'(5)其中,If1和y/分別是Q"和QS在/時刻的真實隊列長度,而Q"是比Qs高一級的隊列(f2,3,…,/)。步驟304:計算分組優(yōu)先級隊列Q'在下一個擁塞4企測時間點r+r的隊列預(yù)測累計長度i^(單位字節(jié))。步驟305:計算Q'在當(dāng)前檢測時間點f的擁塞指數(shù)Co"',。步驟306:用輸出接口標(biāo)識;?以及隊列標(biāo)識Q'為索引,將Q'的擁塞指數(shù)Cow/'寫入隊列擁塞狀態(tài)表。下面詳細(xì)描述分組優(yōu)先級隊列擁塞指數(shù)計算方法。本發(fā)明實施例中采用雙指數(shù)平滑算法對隊列長度進(jìn)行短期的預(yù)測,然后根據(jù)隊列的預(yù)測長度計算隊列擁塞指數(shù)。雙重指數(shù)平滑算法是一種簡單、有效因而得到廣泛應(yīng)用的序列預(yù)測算法,它基于隊列長度在/時刻的值《,通過如下步驟給出什i時刻隊列的預(yù)測長度值Fw(單位字節(jié))<formula>formulaseeoriginaldocumentpage23</formula>其中,《為簡單指數(shù)平滑值(定義F『0,&(2)=0),《(2)為二次指數(shù)平滑值,。為平滑常數(shù)。平滑常數(shù)^決定平滑的程度。平滑常數(shù)越小,則預(yù)測值Fw越平滑,即,預(yù)測值吸收隊列長度瞬時突發(fā)的能力越強;另一方面,若平滑常數(shù)較大,則預(yù)測值跟蹤隊列長度瞬時突變的能力就較強。在網(wǎng)絡(luò)中,一般而言,平滑常數(shù)^的選擇介于0.01與0.3之間。在實際應(yīng)用中,將一個隊列的累計長度作為(6)式中的X,。一個隊列的擁塞指凄t由下式<formula>formulaseeoriginaldocumentpage23</formula>計算得到,其中£,為緩存可容納的最大隊列長度(單位字節(jié)),擁塞指數(shù)c^;無量綱。2.擁塞決策子模塊根據(jù)擁塞指數(shù)和擁塞容忍度可以判斷一個分組優(yōu)先級隊列是否發(fā)生擁塞,如果發(fā)生擁塞,則命令擁塞避繞執(zhí)行子模塊針對該隊列執(zhí)行擁塞避繞,擁塞決策子模塊的具體決策操作過程如下(1)從隊列擁塞狀態(tài)表讀取分組優(yōu)先級隊列Qi的擁塞指數(shù)Conit,及其擁塞容忍度CONj;計算分組優(yōu)先級隊列擁塞容忍度的方法可以如下本發(fā)明實施例依據(jù)數(shù)據(jù)流對網(wǎng)絡(luò)節(jié)點的分組轉(zhuǎn)發(fā)時延子上界定義數(shù)據(jù)流所在隊列的擁塞容忍度,如下式(12):<formula>formulaseeoriginaldocumentpage24</formula>計算得出,其中A為分組優(yōu)先級隊列Q'對應(yīng)的節(jié)點最大分組轉(zhuǎn)發(fā)時延(即,最小轉(zhuǎn)發(fā)時延子上界,單位秒),S,為隊列所在接口的帶寬(單位字節(jié)/秒),丄匿為隊列容量(單位字節(jié)),/,為分組優(yōu)先級隊列Q'的保護(hù)系數(shù)(0<A《1),它用于反映分組穿越節(jié)點所經(jīng)歷的除隊列等待時延和鏈路輸出時延之外的其他時延,可視具體的轉(zhuǎn)發(fā)時延要求以及系統(tǒng)結(jié)構(gòu)設(shè)計需求等情況適當(dāng)確定。分組優(yōu)先級隊列Q'的擁塞容忍度CONi無量綱,它在隊列的分組轉(zhuǎn)發(fā)時延上界A、接口帶寬5,、隊列容量4瓜或保護(hù)系數(shù)",改變時被重新計算。一個分組優(yōu)先級隊列的擁塞容忍度存儲在隊列擁塞狀態(tài)表中的"隊列擁塞容忍度"字段。(2)若Con^CONj,則向避繞執(zhí)行子模塊發(fā)出啟動對分組優(yōu)先級隊列Qi的避繞的命令,并將預(yù)先設(shè)置的避繞隊列標(biāo)識寄存器置為Qi,轉(zhuǎn)至避繞執(zhí)行子模塊的處理部分;否則,如果預(yù)先設(shè)置的避繞隊列標(biāo)識寄存器等于Qi,就向避繞執(zhí)行子模塊發(fā)出停止對隊列Qi的避繞的命令,并將避繞隊列標(biāo)識寄存器置為空;如果避繞隊列標(biāo)識不等于Qi,則結(jié)束當(dāng)前流程。避繞隊列標(biāo)識寄存器是擁塞避繞操作基的一個工作寄存器,決策子模塊用它來避免向避繞執(zhí)行子模塊發(fā)出無效的停止避繞執(zhí)行的命令,避繞隊列標(biāo)識寄存器的初始值為空。擁塞決策子模塊的上述操作在時間上接續(xù)擁塞檢測子模塊的最后一個操作,另一方面,如果決策子模塊向執(zhí)行子模塊發(fā)出啟動或停止對隊列Qi的避繞命令,則執(zhí)行子模塊在時間上接續(xù)決策子模塊的命令操作。參見圖4,為本發(fā)明第三實施例中的擁塞決策子模塊的執(zhí)行流程步驟401:用輸出接口標(biāo)識;?以及隊列標(biāo)識Q'為索引,從隊列擁塞狀態(tài)表讀取隊列Q'的擁塞指數(shù)Conit及其擁塞容忍度CON、步驟402:判定分組優(yōu)先級隊列Q'是否發(fā)生擁塞,即若Con'一CONi,則判定隊列Q'發(fā)生擁塞,轉(zhuǎn)至步驟403;若Conit^CONi,則判定隊列Q'未發(fā)生擁塞,轉(zhuǎn)至步驟404。步驟403:擁塞決策子模塊向避繞執(zhí)行子模塊發(fā)出"啟動對隊列Qi的避繞,,命令并將"避繞隊列標(biāo)識寄存器,,置為Q'',然后轉(zhuǎn)至擁塞避繞啟動執(zhí)行處理流程。步驟404:如果"避繞隊列標(biāo)識寄存器"等于Q、擁塞決策子模塊就向避繞執(zhí)行子模塊發(fā)出"停止對隊列Q'的避繞"命令并將"避繞隊列標(biāo)識寄存器,,置為空,轉(zhuǎn)至擁塞避繞停止執(zhí)行處理流程;如果"避繞隊列標(biāo)識寄存器"不等于Q'',結(jié)束對數(shù)據(jù)流j'的操作。3.避繞執(zhí)行子模塊當(dāng)避繞執(zhí)行子模塊收到避繞決策控制子模塊對一個分組優(yōu)先級隊列的避繞執(zhí)行啟動命令,則對其中每個存在多個下一跳接口的數(shù)據(jù)流執(zhí)行如下操作在這些數(shù)據(jù)流的所有等代價最短路徑對應(yīng)的多個本地接口(不包括擁塞接口)中找一個未發(fā)生擁塞且負(fù)荷最輕的接口,并將該接口作為當(dāng)前下一跳接口寫入對應(yīng)的流轉(zhuǎn)發(fā)表項。另外,在接收到停止避繞執(zhí)行命令后停止對該分組優(yōu)先級隊列的避繞操作。每個輸出接口可以均設(shè)置一個獨立的避繞執(zhí)行子模塊,具體的避繞執(zhí)行過程分為以下的避繞開始和避繞停止兩種情況。(i)避繞開始情形避繞執(zhí)行子模塊收到來自擁塞決策子模塊的帶有擁塞隊列標(biāo)識Qi的啟動避繞執(zhí)行命令時,將避繞隊列標(biāo)識寄存器置為擁塞隊列的標(biāo)識Qi,對需要進(jìn)行并且能夠進(jìn)行擁塞避繞的全部數(shù)據(jù)流進(jìn)行識別,然后對每一個需要且能夠進(jìn)行擁塞避繞的數(shù)據(jù)流尋找避繞接口,最后對每一個需要且能夠進(jìn)行擁塞避繞的數(shù)據(jù)流執(zhí)行擁塞避繞。(ii)避繞停止情形避繞執(zhí)行子模塊收到來自擁塞決策子模塊的帶有擁塞隊列標(biāo)識Qi的停止避繞執(zhí)行的命令時,先將流狀態(tài)表中通過當(dāng)前接口的當(dāng)前擁塞優(yōu)先級隊列Qi轉(zhuǎn)發(fā)的、具有多個輸出接口的全部數(shù)據(jù)流的避繞標(biāo)志均置零,再停止對隊列擁塞狀態(tài)表和流轉(zhuǎn)發(fā)表的讀寫操作,中止對擁塞隊列標(biāo)識Qi的擁塞避繞執(zhí)行操作(比如,令擁塞避繞執(zhí)行狀態(tài)機(jī)返回到空閑狀態(tài)),最后將避繞隊列標(biāo)識寄存器置為空。參見圖5,為本發(fā)明第四實施例中的避繞執(zhí)行子模塊的執(zhí)行流程步驟501:當(dāng)接收到帶有"擁塞隊列標(biāo)識Qi"的"啟動避繞執(zhí)行"命令,將"避繞隊列標(biāo)識寄存器,,置為QJ。步驟502:對需要進(jìn)行并且能夠進(jìn)行擁塞避繞的全部數(shù)據(jù)流進(jìn)行識別。步驟503:當(dāng)存在需要且能夠進(jìn)行避繞的數(shù)據(jù)流j時,為數(shù)據(jù)流j尋找避繞接口;如果不存在需要且能夠進(jìn)行避繞的數(shù)據(jù)流時,結(jié)束當(dāng)前流程。步驟504:根據(jù)找到的避繞接口對數(shù)據(jù)流j執(zhí)行擁塞避繞,轉(zhuǎn)至判斷是否存在需要且能夠避繞的數(shù)據(jù)流j的判斷步驟。步驟505:當(dāng)接收到帶有"擁塞隊列標(biāo)識Qi"的"停止避繞執(zhí)行,,命令時,將通過Qi轉(zhuǎn)發(fā)的、具有多個輸出接口的全部數(shù)據(jù)流的"避繞標(biāo)志"置零,停止對隊列擁塞狀態(tài)表和流轉(zhuǎn)發(fā)表的讀寫操作,中止對QJ的擁塞避繞執(zhí)行才喿作。步驟506:將"避繞隊列標(biāo)識寄存器"置為空,結(jié)束當(dāng)前流程。上述避繞執(zhí)行子模塊要對一個分組優(yōu)先級隊列執(zhí)行避繞控制操作,要對需要進(jìn)行擁塞避繞的全部數(shù)據(jù)流進(jìn)行識別,通常用"當(dāng)前擁塞接口標(biāo)識"、"多路徑標(biāo)志"、"隊列優(yōu)先級,,和"避繞標(biāo)志"為索引從流狀態(tài)表中找出通過當(dāng)前接口中發(fā)生擁塞的優(yōu)先級隊列Qi轉(zhuǎn)發(fā)的、具有多個輸出接口的所有數(shù)據(jù)流。具體地,"多路徑標(biāo)志"用于查找具有多個輸出接口的所有數(shù)據(jù)流(例如,"多路徑標(biāo)志"為l表明具有多個輸出接口,為O則表示僅有一個接口),而"避繞標(biāo)志"則支持以循環(huán)方式實現(xiàn)對各個數(shù)據(jù)流逐個識別(例如,"避繞標(biāo)志"為l表明已執(zhí)行避繞,為0則尚未執(zhí)行避繞),用于針對當(dāng)前擁塞隊列的數(shù)據(jù)流集合中的每個數(shù)據(jù)流標(biāo)識實施尋找避繞接口的避繞執(zhí)行循環(huán)操作,其具體過程為(i)用"當(dāng)前擁塞接口標(biāo)識"、"多路徑標(biāo)志"和"隊列優(yōu)先級"從流狀態(tài)表中找出通過當(dāng)前接口的當(dāng)前擁塞優(yōu)先級隊列Qi轉(zhuǎn)發(fā)的、"多路徑標(biāo)志"為1的、"避繞標(biāo)志"為0的一個數(shù)據(jù)流y';(ii)為數(shù)據(jù)流/尋找避繞接口;(iii)將數(shù)據(jù)流_/在流狀態(tài)表中表項的"避繞標(biāo)志"字段值置為1;(iv)重復(fù)上述步驟(i)至(iii)所示的處理直至步驟(i)在流狀態(tài)表中找不到"避繞標(biāo)志"為0任何數(shù)據(jù)流,此時,將流狀態(tài)表中通過當(dāng)前接口的擁塞隊列Qi轉(zhuǎn)發(fā)的、具有多個輸出接口的全部數(shù)據(jù)流的"避繞標(biāo)志"均——置零,以指示針對當(dāng)前接口的當(dāng)前擁塞優(yōu)先級隊列Qi的避繞執(zhí)行操作結(jié)束。參見圖6,為上述對進(jìn)行擁塞避繞的全部數(shù)據(jù)流進(jìn)行識別的流程,在此不再贅述。上述避繞執(zhí)行子模塊要對一個分組優(yōu)先級隊列執(zhí)行避繞控制操作,還需要為一個需要且能夠進(jìn)行擁塞避繞的、具有多個輸出接口的數(shù)據(jù)流尋找避繞接口(上述尋找避繞接口的避繞執(zhí)行循環(huán)操作具體過程中的(ii)),其具體過程為(i)用擁塞隊列標(biāo)識Qi查找隊列擁塞狀態(tài)表,找出不包括當(dāng)前輸出接口的所有其他輸出接口上的同等優(yōu)先級隊列及其擁塞容忍度和擁塞指數(shù),記查找結(jié)果集合^為爿={<接口1標(biāo)識,同等優(yōu)先級隊列擁塞容忍度,隊列擁塞指數(shù)Cow1^,<接口2標(biāo)識,同等優(yōu)先級隊列擁塞容忍度,隊列擁塞指數(shù)Co"2^,<接口N-1標(biāo)識,同等優(yōu)先級隊列擁塞容忍度,隊列擁塞指數(shù)awW:>}另記集合^中的所有的接口標(biāo)識構(gòu)成集合Z^,而^中所有與Qi具有相同優(yōu)先等級的隊列的擁塞指數(shù)構(gòu)成集合/》即^={接口1標(biāo)識,接口2標(biāo)識,......,接口N-l標(biāo)識}7^={Con1,,Cow2,,......,Co"nj(ii)用"當(dāng)前擁塞4^口標(biāo)識"、"多^^徑標(biāo)志"和"隊列優(yōu)先級,,,人流狀態(tài)表中找出通過當(dāng)前接口的當(dāng)前擁塞優(yōu)先級隊列Qi轉(zhuǎn)發(fā)的、具有多個輸出接口的所有數(shù)據(jù)流,記查找結(jié)果集合丑為5={凄史據(jù)流1標(biāo)識,凄t據(jù)流2標(biāo)識,......,數(shù)據(jù)流m標(biāo)識}其中的"數(shù)據(jù)流y標(biāo)識,,為IPv6分組頭中的"源IP地址"、"目的IP地址"、"流量類型"和"流標(biāo)識"四個字,爻的〗直(_/=1,2,......,w)。對5中的每個數(shù)據(jù)流,執(zhí)行如下(iii)至(iv)所示的處理操作。(iii)對于數(shù)據(jù)流_/(產(chǎn)1,2,......從流狀態(tài)表中找出它的所有非當(dāng)前下一跳接口標(biāo)識,記該接口標(biāo)識集合為C/C廣{下一跳接口標(biāo)識-1,…,下一跳接口標(biāo)識-h}(iv)參照(i)給出的集合A另記^和q.的交集^nq所對應(yīng)優(yōu)先級隊列的擁塞指數(shù)構(gòu)成集合h,在/」中找出最小擁塞指數(shù)OW她,再分別記《和COW'為與OWTO.對應(yīng)的接口標(biāo)識以及該接口上同等優(yōu)先級隊列的擁塞容忍度,如果CW謹(jǐn)〈COW(13)成立,表明受擁塞影響的數(shù)據(jù)流_/的另一條輸出接口《的同等優(yōu)先級隊列尚未擁塞且負(fù)荷最輕,此接口《即為所尋找的避繞接口,尋找過程結(jié)束。如果(13)式不成立,表示數(shù)據(jù)流y雖有多條最短路徑但不存在非擁塞的另一條接口,尋找過程結(jié)束。參見圖7,為上述尋找避繞接口的詳細(xì)流程,在此不再贅述。需要說明的是,本發(fā)明實施例在流狀態(tài)表中引入"避繞標(biāo)志,,可以實現(xiàn)以循環(huán)方式逐個表示集合B中的m個數(shù)據(jù)流,在m個循環(huán)中的第jc(x=l,2,...,附)次循環(huán)中,用"當(dāng)前擁塞接口標(biāo)識,,和"隊列優(yōu)先級,,從流狀態(tài)表中找到"避繞標(biāo)志,,為0的數(shù)據(jù)流x的表項,而在第x次循環(huán)結(jié)束前再將數(shù)據(jù)流x表項的"避繞標(biāo)志"置為1。數(shù)據(jù)流;c表項的"避繞標(biāo)志"為l表明已對其執(zhí)行避繞,為0則尚未執(zhí)行避繞?;诖?,上述避繞執(zhí)行子模塊對每一個需要且能夠進(jìn)行擁塞避繞的數(shù)據(jù)流執(zhí)行擁塞避繞時,用數(shù)據(jù)流J'的標(biāo)識作索引訪問流轉(zhuǎn)發(fā)表,將尋找到的避繞接口標(biāo)識g作為數(shù)據(jù)流y的"當(dāng)前下一跳接口"寫入流轉(zhuǎn)發(fā)表,然后再將^作為數(shù)據(jù)流_/的"當(dāng)前下一跳接口"置入流狀態(tài)表。本申請進(jìn)行擁塞控制的實施例中,可以進(jìn)一步細(xì)化為針對四種不同情況進(jìn)行主動避繞式擁塞控制,這四種情形的共同背景場景可以是路由器輸出接口p上的分組優(yōu)先級隊列Q'發(fā)生擁塞,這四種情況分別如下所示情況一經(jīng)擁塞隊列(^承載的數(shù)據(jù)流乂和數(shù)據(jù)流A均有多條最短路徑且各自存在非擁塞的另一個接口;情況二避繞執(zhí)行自然終止;情況三避繞執(zhí)行因停止命令而中途終止;情況四避繞執(zhí)行覆蓋。結(jié)合上述四種情況的擁塞避繞控制過程描述如下上述四種情況的共同背景場景為接口p上隊列Qi的擁塞指示狀態(tài)建立過程,該過程的目的是計算隊列Qi的擁塞指數(shù),具體流程與前述對于附圖3的描述一致,在此不再贅述。對于情況一,需要進(jìn)行數(shù)據(jù)流j'有多條最短路徑且存在非擁塞的另一個輸出接口的處理過程,該過程的目的是當(dāng)隊列Q'發(fā)生擁塞時將數(shù)據(jù)流y從輸出接口p切換到避繞接口《上的同等分組優(yōu)先級隊列,具體流程包括對于附圖4擁塞決策子模塊的操作過程的描述(在此不再贅述),以及附圖5、附圖6和附圖7擁塞避繞執(zhí)行子模塊的操作過程的描述(在此也不再贅述)。對于情況二,需要進(jìn)行避繞執(zhí)行自然終止的處理過程,具體包括在未收到停止命令且一個避繞執(zhí)行自然終止時,將流狀態(tài)表中通過當(dāng)前接口的當(dāng)前擁塞優(yōu)先級隊列Q'轉(zhuǎn)發(fā)的,且具有多個輸出接口的"避繞標(biāo)志"為1的全部表項的"避繞標(biāo)志"均——置零,然后將"避繞隊列標(biāo)識寄存器"置為空。對于情況三,需要進(jìn)行避繞執(zhí)行因停止命令而中途終止的處理過程,具體為在收到對一個隊列停止避繞執(zhí)行的命令時,執(zhí)行如情況二中所述的流程,在此不再贅述。對于情況四,需要進(jìn)行避繞執(zhí)行覆蓋的處理過程,該過程指因啟動一個新的避繞執(zhí)行而使得當(dāng)前正進(jìn)行的避繞執(zhí)行中途停止,具體包括將流狀態(tài)表中通過當(dāng)前接口的當(dāng)前擁塞優(yōu)先級隊列Q'轉(zhuǎn)發(fā)的、具有多個輸出接口的、"避繞標(biāo)志"為1的全部表項的"避繞標(biāo)志"均——置零,以表明針對當(dāng)前接口的當(dāng)前擁塞優(yōu)先級隊列Q'的避繞執(zhí)行操作結(jié)束;將"避繞隊列標(biāo)識寄存器"置為新?lián)砣犃械臉?biāo)識,然后轉(zhuǎn)入執(zhí)行與上述情況一描述一致的處理過程,即對新?lián)砣犃袌?zhí)行擁塞避繞,在此不再贅述。與本申請擁塞控制方法的實施例相對應(yīng),本申請還提供了網(wǎng)絡(luò)節(jié)點的實施例。參見圖8,為本申請網(wǎng)絡(luò)節(jié)點的第一實施例框圖。該網(wǎng)絡(luò)節(jié)點包括獲取單元810、計算單元820、判斷單元830、選擇單元840和傳輸單元850。其中,獲取單元810,用于獲取從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑;計算單元820,用于計算網(wǎng)絡(luò)節(jié)點的每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,每個所述分組優(yōu)先級隊列中包含多條凄t據(jù)流;判斷單元830,用于根據(jù)所述擁塞指數(shù)和擁塞容忍度判斷所述各個分組優(yōu)先級隊列是否發(fā)生擁塞;選擇單元840,用于當(dāng)所述判斷單元判斷發(fā)生擁塞時,根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列所承載各個數(shù)據(jù)流的目的網(wǎng)絡(luò)節(jié)點,從所述多條最小代價路徑對應(yīng)的輸出接口中選擇一個未發(fā)生擁塞的輸出接口;傳輸單元850,用于傳輸非擁塞分組優(yōu)先級隊列的數(shù)據(jù)流以及通過所述未發(fā)生擁塞的輸出接口的分組優(yōu)先級隊列傳輸所述發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流。具體地,獲取單元810可以包括(圖8中未示出)路徑計算單元,用于根據(jù)路由協(xié)議計算到其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑,每條所述最、代價路徑對應(yīng)所述網(wǎng)絡(luò)節(jié)點的一個輸出接口;表項建立單元,用于為每個輸出接口所傳輸?shù)姆纸M優(yōu)先級隊列的數(shù)據(jù)流建立流狀態(tài)表和流轉(zhuǎn)發(fā)表,所述流狀態(tài)表中包含每個數(shù)據(jù)流的流量類型、流標(biāo)識、源IP地址、目的IP地址、多路徑標(biāo)志、優(yōu)先級、避繞標(biāo)志和所述多條最小代價路徑對應(yīng)的輸出接口,所述流轉(zhuǎn)發(fā)表中包含每個數(shù)據(jù)流的流量類型、流標(biāo)識、源IP地址、目的IP地址和所述分組優(yōu)先級隊列的數(shù)據(jù)流正在使用的當(dāng)前下一跳輸出接口。具體地,計算單元820可以包括(圖8中未示出)第一計算單元和第二計算單元,其中,第一計算單元可以包括隊列長度預(yù)測單元,用于通過雙重指數(shù)平滑算法對各個分組優(yōu)先級隊列的累計長度進(jìn)行預(yù)測;擁塞指數(shù)計算單元,用于根據(jù)每個分組優(yōu)先級隊列的累計長度和最大長度,采用輪詢方式定期計算每個分組優(yōu)先級隊列的擁塞指數(shù);擁塞指數(shù)寫入單元,用于將所述分組優(yōu)先級隊列的擁塞指數(shù)寫入對應(yīng)接口的隊列擁塞狀態(tài)表;所述第二計算單元可以包括參數(shù)獲取單元,用于獲取每個分組優(yōu)先級隊列對應(yīng)的最大分組時延,每個分組優(yōu)先級隊列對應(yīng)輸出接口的帶寬和每個分組優(yōu)先級隊列的容量;擁塞容忍度計算單元,用于根據(jù)所述最大分組時延、接口帶寬和隊列容量計算各個分組優(yōu)先級隊列的擁塞容忍度,所述擁塞容忍度用于表示分組優(yōu)先級隊列所允許的最大擁塞程度;擁塞容忍度寫入單元,用于將所述分組優(yōu)先級隊列的擁塞容忍度寫入對應(yīng)接口的隊列擁塞狀態(tài)表。具體地,判斷單元830可以包括(圖8中未示出)擁塞狀態(tài)表讀取單元,用于從所述隊列擁塞狀態(tài)表中讀取分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度;擁塞指數(shù)判斷單元,用于判斷擁塞指數(shù)是否大于所述擁塞容忍度,若大于則所述分組優(yōu)先級隊列發(fā)生擁塞。具體地,選擇單元840可以包括(圖8中未示出)數(shù)據(jù)流查找單元,用于根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列所對應(yīng)的輸出接口標(biāo)識、所述流狀態(tài)表中的每個數(shù)據(jù)流的多路徑標(biāo)志、優(yōu)先級和避繞標(biāo)志查找通過所述發(fā)生擁塞的分組優(yōu)先級隊列傳輸?shù)乃袛?shù)據(jù)流;擁塞狀態(tài)表查找單元,用于通過查找所述隊列擁塞狀態(tài)表,獲取除傳輸所述發(fā)生擁塞的分組優(yōu)先級隊列的輸出接口外的其它輸出接口上與所述發(fā)生擁塞的分組優(yōu)先級隊列具有同等優(yōu)先級的分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度;流狀態(tài)表讀取單元,用于從所述流狀態(tài)表中找出所述所有數(shù)據(jù)流中每一個數(shù)據(jù)流的所有非當(dāng)前下一跳接口;輸出接口獲取單元,用于根據(jù)所述具有同等優(yōu)先級的分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,以及所述每一個數(shù)據(jù)流的所有非當(dāng)前下一跳接口,獲取一個擁塞指數(shù)小于其自身擁塞容忍度的分組優(yōu)先級隊列對應(yīng)的輸出接。具體地,傳輸單元850可以包括(圖8中未示出)流轉(zhuǎn)發(fā)表查找單元,用于根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流的流標(biāo)識查找所述流轉(zhuǎn)發(fā)表;標(biāo)識寫入單元,用于將所述擁塞指數(shù)小于其自身擁塞容忍度的分組優(yōu)先級隊列對應(yīng)的輸出接口標(biāo)識寫入所述流轉(zhuǎn)發(fā)表的當(dāng)前下一跳輸出接口字段內(nèi);數(shù)據(jù)流傳輸單元,用于根據(jù)所述流轉(zhuǎn)發(fā)表傳輸包括所述發(fā)生擁塞的隊列在內(nèi)的各個分組優(yōu)先級隊列的數(shù)據(jù)流。由上述本發(fā)明提供的實施例可見,在本發(fā)明實施例中,網(wǎng)絡(luò)節(jié)點獲取從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑,計算每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,根據(jù)擁塞指數(shù)和擁塞容忍度判斷各個分組優(yōu)先級隊列是否發(fā)生擁塞,當(dāng)發(fā)生擁塞時,根據(jù)發(fā)生擁塞的分組優(yōu)先級隊列承載的數(shù)據(jù)流從多條最小代價路徑對應(yīng)的輸出接口中選擇一個未發(fā)生擁塞的輸出接口,通過未發(fā)生擁塞的輸出接口的分組優(yōu)先級隊列傳輸發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流。應(yīng)用本發(fā)明實施例,當(dāng)網(wǎng)絡(luò)節(jié)點的輸出接口傳輸?shù)姆纸M優(yōu)先級隊列發(fā)生擁塞時,不必丟棄該分組優(yōu)先級隊列中的分組,而是通過該網(wǎng)絡(luò)節(jié)點到其它網(wǎng)絡(luò)節(jié)點之間的多條最短路徑,為所述發(fā)生擁塞的分組優(yōu)先級隊列選擇另一條最小代價路徑所對應(yīng)的非擁塞輸出接口進(jìn)行傳輸,由此可以充分利用網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)資源,保證了發(fā)生擁塞的分組優(yōu)先級隊列既可以正確進(jìn)行傳輸,又提高了網(wǎng)絡(luò)資源的利用率。本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明實施例中的技術(shù),并可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明實施例中的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算才幾軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、Fksh,磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于網(wǎng)絡(luò)節(jié)點實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例部分的說明即可。以上對本發(fā)明所提供的擁塞避繞的方法、裝置及網(wǎng)絡(luò)設(shè)備進(jìn)行了詳細(xì)介施例的說明只是用于幫助理解本發(fā)明的方案;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。權(quán)利要求1、一種擁塞控制方法,其特征在于,包括網(wǎng)絡(luò)節(jié)點獲取從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑;計算所述網(wǎng)絡(luò)節(jié)點的每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,每個所述分組優(yōu)先級隊列中包含多條具有相同轉(zhuǎn)發(fā)時延要求的數(shù)據(jù)流;根據(jù)所述擁塞指數(shù)和擁塞容忍度判斷所述各個分組優(yōu)先級隊列是否發(fā)生擁塞;當(dāng)發(fā)生擁塞時,根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列所承載各個數(shù)據(jù)流的目的網(wǎng)絡(luò)節(jié)點,從所述多條最小代價路徑對應(yīng)的輸出接口中選擇一個未發(fā)生擁塞的輸出接口;通過所述未發(fā)生擁塞的輸出接口的分組優(yōu)先級隊列傳輸所述發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)絡(luò)節(jié)點獲取從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最d、代價路徑包括網(wǎng)絡(luò)節(jié)點根據(jù)路由協(xié)議計算從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑,每條所述最小代價路徑對應(yīng)所述網(wǎng)絡(luò)節(jié)點的一個輸出接口;網(wǎng)絡(luò)節(jié)點為每個輸出接口所傳輸?shù)姆纸M優(yōu)先級隊列的數(shù)據(jù)流建立流狀態(tài)表和流轉(zhuǎn)發(fā)表,所述流狀態(tài)表中包含每個數(shù)據(jù)流的流量類型、流標(biāo)識、源IP地址、目的IP地址、多路徑標(biāo)志、優(yōu)先級、避繞標(biāo)志和所述多條最小代價路徑對應(yīng)的輸出接口,所述流轉(zhuǎn)發(fā)表中包含每個數(shù)據(jù)流的流量類型、流標(biāo)識、源IP地址、目的IP地址和所述分組優(yōu)先級隊列的數(shù)據(jù)流正在使用的當(dāng)前下一跳輸出接口。3、根據(jù)權(quán)利要求2所述的方法,其特征在于,所述計算每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞指數(shù)包括網(wǎng)絡(luò)節(jié)點通過雙重指數(shù)平滑算法對各個分組優(yōu)先級隊列的累計長度進(jìn)行預(yù)測;根據(jù)每個分組優(yōu)先級隊列的累計長度和最大長度,采用輪詢方式定期計算每個分組優(yōu)先級隊列的擁塞指數(shù);將所述分組優(yōu)先級隊列的擁塞指數(shù)寫入對應(yīng)接口的隊列擁塞狀態(tài)表。4、根據(jù)權(quán)利要求3所述的方法,其特征在于,所述計算網(wǎng)絡(luò)節(jié)點的每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞容忍度包括獲取每個分組優(yōu)先級隊列對應(yīng)的最大分組時延,每個分組優(yōu)先級隊列對應(yīng)輸出接口的接口帶寬和每個分組優(yōu)先級隊列的隊列容量;根據(jù)所述最大分組時延、接口帶寬和隊列容量計算各個分組優(yōu)先級隊列的擁塞容忍度,所述擁塞容忍度用于表示分組優(yōu)先級隊列所允許的最大擁塞程度;將所述分組優(yōu)先級隊列的擁塞容忍度寫入對應(yīng)接口的隊列擁塞狀態(tài)表。5、根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述擁塞指數(shù)和擁塞容忍度判斷所述各個分組優(yōu)先級隊列是否發(fā)生擁塞包括從所述隊列擁塞狀態(tài)表中讀取分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度;判斷擁塞指數(shù)是否大于所述擁塞容忍度,若大于則所述分組優(yōu)先級隊列發(fā)生擁塞。6、根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列所承載各個數(shù)據(jù)流的目的網(wǎng)絡(luò)節(jié)點,從所述多條最小代價路徑對應(yīng)的輸出接口中選擇一個未發(fā)生擁塞的輸出接口包括根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列所對應(yīng)的輸出接口標(biāo)識、所述流狀態(tài)表中的每個數(shù)據(jù)流的多路徑標(biāo)志、優(yōu)先級和避繞標(biāo)志查找通過所述發(fā)生擁塞的分組優(yōu)先級隊列傳輸?shù)乃衛(wèi)t據(jù)流;通過查找所述隊列擁塞狀態(tài)表,獲取除傳輸所述發(fā)生擁塞的分組優(yōu)先級隊列的輸出接口外的其它輸出接口上與所述發(fā)生擁塞的分組優(yōu)先級隊列具有同等優(yōu)先級的分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度;從所述流狀態(tài)表中找出所述所有數(shù)據(jù)流中每一個數(shù)據(jù)流的所有非當(dāng)前下一跳接口;根據(jù)所述具有同等優(yōu)先級的分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,以及所述每一個數(shù)據(jù)流的所有非當(dāng)前下一跳接口,獲取一個擁塞指數(shù)小于其自身擁塞容忍度的分組優(yōu)先級隊列對應(yīng)的輸出接口。7、根據(jù)權(quán)利要求6所述的方法,其特征在于,所述通過未發(fā)生擁塞的輸出接口的分組優(yōu)先級隊列傳輸所述發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流包括根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流的流標(biāo)識查找所述流轉(zhuǎn)發(fā)表;將所述擁塞指數(shù)小于其自身擁塞容忍度的分組優(yōu)先級隊列對應(yīng)的輸出接口的標(biāo)識寫入所述流轉(zhuǎn)發(fā)表中的當(dāng)前下一跳輸出接口字革殳內(nèi);根據(jù)所述流轉(zhuǎn)發(fā)表傳輸包括所述發(fā)生擁塞的隊列在內(nèi)的各個分組優(yōu)先級隊列的數(shù)據(jù)流。8、一種網(wǎng)絡(luò)節(jié)點,其特征在于,包括獲取單元,用于獲取從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑;計算單元,用于計算所述網(wǎng)絡(luò)節(jié)點的每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,每個所述分組優(yōu)先級隊列中包含多條數(shù)據(jù)流;判斷單元,用于根據(jù)所述擁塞指數(shù)和擁塞容忍度判斷所述各個分組優(yōu)先級隊列是否發(fā)生擁塞;選擇單元,用于當(dāng)所述判斷單元判斷發(fā)生擁塞時,根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列所承載各個數(shù)據(jù)流的目的網(wǎng)絡(luò)節(jié)點,從所述多條最小代價路徑對應(yīng)的輸出接口中選擇一個未發(fā)生擁塞的輸出接口;傳輸單元,用于傳輸非擁塞分組優(yōu)先級隊列的數(shù)據(jù)流以及通過所述未發(fā)生擁塞的輸出接口的分組優(yōu)先級隊列傳輸所述發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流。9、根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)節(jié)點,其特征在于,所述獲取單元包括路徑計算單元,用于根據(jù)路由協(xié)議計算到其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑,每條所述最小代價路徑對應(yīng)所述網(wǎng)絡(luò)節(jié)點的一個輸出接口;表項建立單元,用于為每個輸出接口所傳輸?shù)姆纸M優(yōu)先級隊列的數(shù)據(jù)流建立流狀態(tài)表和流轉(zhuǎn)發(fā)表,所述流狀態(tài)表中包含每個數(shù)據(jù)流的流量類型、流標(biāo)識、源IP地址、目的IP地址、多3各徑標(biāo)志、優(yōu)先級、避繞標(biāo)志和所述多條最小代價路徑對應(yīng)的輸出接口,所述流轉(zhuǎn)發(fā)表中包含每個數(shù)據(jù)流的流量類型、流標(biāo)識、源IP地址、目的IP地址和所述分組優(yōu)先級隊列的數(shù)據(jù)流正在使用的當(dāng)前下一跳輸出4妄口。10、根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)節(jié)點,其特征在于,所述計算單元包括第一計算單元和第二計算單元,所述第一計算單元包括隊列長度預(yù)測單元,用于通過雙重指數(shù)平滑算法對各個分組優(yōu)先級隊列的累計長度進(jìn)行預(yù)測;擁塞指數(shù)計算單元,用于根據(jù)每個分組優(yōu)先級隊列的累計長度和最大長度,采用輪詢方式定期計算每個分組優(yōu)先級隊列的擁塞指數(shù);擁塞指數(shù)寫入單元,用于將所述分組優(yōu)先級隊列的擁塞指數(shù)寫入對應(yīng)接口的隊列擁塞狀態(tài)表;所述第二計算單元包括參數(shù)獲取單元,用于獲取每個分組優(yōu)先級隊列對應(yīng)的最大分組時延,每個分組優(yōu)先級隊列對應(yīng)輸出接口的帶寬和每個分組優(yōu)先級隊列的容量;擁塞容忍度計算單元,用于根據(jù)所述最大分組時延、接口帶寬和隊列容量計算各個分組優(yōu)先級隊列的擁塞容忍度,所述擁塞容忍度用于表示分組優(yōu)先級隊列所允許的最大擁塞程度;擁塞容忍度寫入單元,用于將所述分組優(yōu)先級隊列的擁塞容忍度寫入對應(yīng)接口的隊列擁塞狀態(tài)表。11、根據(jù)權(quán)利要求IO所述的網(wǎng)絡(luò)節(jié)點,其特征在于,所述判斷單元包括擁塞狀態(tài)表讀取單元,用于從所述隊列擁塞狀態(tài)表中讀取分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度;擁塞判斷單元,用于判斷擁塞指數(shù)是否大于所述擁塞容忍度,若大于則所述分組優(yōu)先級隊列發(fā)生擁塞。12、根據(jù)權(quán)利要求IO所述的網(wǎng)絡(luò)節(jié)點,其特征在于,所述選擇單元包括數(shù)據(jù)流查找單元,用于根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列所對應(yīng)的輸出接口標(biāo)識、所述流狀態(tài)表中的每個數(shù)據(jù)流的多路徑標(biāo)志、優(yōu)先級和避繞標(biāo)志查找通過所述發(fā)生擁塞的分組優(yōu)先級隊列傳輸?shù)乃袛?shù)據(jù)流;擁塞狀態(tài)表查找單元,用于通過查找所述隊列擁塞狀態(tài)表,獲取除傳輸所述發(fā)生擁塞的分組優(yōu)先級隊列的輸出接口外的其它輸出接口上與所述發(fā)生擁塞的分組優(yōu)先級隊列具有同等優(yōu)先級的分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度;流狀態(tài)表讀取單元,用于從所述流狀態(tài)表中找出所述所有數(shù)據(jù)流中每一個數(shù)據(jù)流的所有非當(dāng)前下一跳4妻口;輸出接口獲取單元,用于根據(jù)所述具有同等優(yōu)先級的分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度,以及所述每一個數(shù)據(jù)流的所有非當(dāng)前下一跳接口,獲取一個擁塞指數(shù)小于其自身擁塞容忍度的分組優(yōu)先級隊列對應(yīng)的輸出接口。13、根據(jù)權(quán)利要求12所述的網(wǎng)絡(luò)節(jié)點,其特征在于,所述傳輸單元包括流轉(zhuǎn)發(fā)表查找單元,用于根據(jù)所述發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流的流標(biāo)識查找所述流轉(zhuǎn)發(fā)表;標(biāo)識寫入單元,用于將所述擁塞指數(shù)小于其自身擁塞容忍度的分組優(yōu)先級隊列對應(yīng)的輸出接口的標(biāo)識寫入所述流轉(zhuǎn)發(fā)表的當(dāng)前下一跳輸出接口字段內(nèi);數(shù)據(jù)流傳輸單元,用于根據(jù)所述流轉(zhuǎn)發(fā)表傳輸包括所述發(fā)生擁塞的隊列在內(nèi)的各個分組優(yōu)先級隊列的數(shù)據(jù)流。全文摘要本發(fā)明公開一種擁塞控制方法及網(wǎng)絡(luò)節(jié)點,所述方法包括網(wǎng)絡(luò)節(jié)點獲取從它到任意一個其它網(wǎng)絡(luò)節(jié)點的多條最小代價路徑;計算所述網(wǎng)絡(luò)節(jié)點的每個輸出接口上傳輸?shù)男枰WC時延的各個分組優(yōu)先級隊列的擁塞指數(shù)和擁塞容忍度;根據(jù)擁塞指數(shù)和擁塞容忍度判斷所述各個分組優(yōu)先級隊列是否發(fā)生擁塞;當(dāng)發(fā)生擁塞時,根據(jù)發(fā)生擁塞的分組優(yōu)先級隊列所承載各個數(shù)據(jù)流的目的網(wǎng)絡(luò)節(jié)點從多條最小代價路徑對應(yīng)的輸出接口中選擇一個未發(fā)生擁塞的輸出接口;通過未發(fā)生擁塞的輸出接口的分組優(yōu)先級隊列傳輸發(fā)生擁塞的分組優(yōu)先級隊列的數(shù)據(jù)流。本發(fā)明實施例充分利用網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)資源,保證發(fā)生擁塞的分組優(yōu)先級隊列正確進(jìn)行傳輸。文檔編號H04L12/56GK101656674SQ20091017514公開日2010年2月24日申請日期2009年9月23日優(yōu)先權(quán)日2009年9月23日發(fā)明者劉文波,卜佑軍,曹曉磊,丹李,李玉峰,王保進(jìn),王肖楠,程東年,博趙,馬海龍申請人:中國人民解放軍信息工程大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1