專利名稱:一種流量整形處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及在幀中繼分片與幀中繼流量整形組合應(yīng)用時(shí),對分片占用帶寬的處理方法。
背景技術(shù):
VoFR擴(kuò)展了幀中繼的應(yīng)用,使得終端用戶能夠在一條租賃線上同時(shí)進(jìn)行數(shù)據(jù)、語音和傳真等不同業(yè)務(wù),大大提高帶寬利用率。在語音數(shù)據(jù)同傳時(shí),為了避免發(fā)送大數(shù)據(jù)報(bào)文而導(dǎo)致語音時(shí)延增大,抖動(dòng)明顯的現(xiàn)象,引入了數(shù)據(jù)分片的方法。通過把大數(shù)據(jù)報(bào)文拆分為多個(gè)與語音大小相當(dāng)?shù)男?bào)文,語音和分片數(shù)據(jù)間隔發(fā)送,使語音得到及時(shí)處理,避免了時(shí)延抖動(dòng)的產(chǎn)生。
另外為了以較均勻的速率向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)流量,幀中繼引入了流量整形(Traffic Shaping)的方法,通過令牌桶的機(jī)制來控制數(shù)據(jù)流量。令牌桶算法采用令牌桶來管理隊(duì)列控制器,允許突發(fā)數(shù)據(jù)存在,同時(shí)它還能保證一種長時(shí)間內(nèi)穩(wěn)定的平均傳輸速率。令牌桶算法以恒定的速率產(chǎn)生令牌,漏桶可以保留令牌。輸入數(shù)據(jù)數(shù)據(jù)進(jìn)入漏桶并取得令牌后流出令牌桶,如果沒有得到令牌就在桶內(nèi)等待下一個(gè)令牌的產(chǎn)生。每一個(gè)令牌能夠傳送一個(gè)分組,數(shù)據(jù)報(bào)文流出桶后相應(yīng)的令牌就消失了。這樣通過控制令牌產(chǎn)生的速率,就可以控制流出隊(duì)列的數(shù)據(jù)的平均速率了。通過這種令牌桶的機(jī)制,可以使網(wǎng)絡(luò)運(yùn)營商為用戶提供最小承諾信息速率(MinCIR)保證服務(wù)。在網(wǎng)絡(luò)空閑時(shí),用戶可以以大于MinCIR的速率復(fù)用帶寬,當(dāng)網(wǎng)絡(luò)擁塞時(shí),運(yùn)營商可以保證為用戶提供MinCIR的帶寬。其原理圖如圖1所示圖1是流量整形的處理過程,從圖中可以看出,現(xiàn)有的流量整形處理中,當(dāng)數(shù)據(jù)報(bào)文到來的時(shí)候,首先對數(shù)據(jù)報(bào)文進(jìn)行分類,如果數(shù)據(jù)報(bào)文需要進(jìn)行流量整形處理,則將數(shù)據(jù)報(bào)文送入流量整形隊(duì)列。若隊(duì)列為空,則進(jìn)入令牌桶中進(jìn)行處理。如果令牌桶中有足夠的令牌可以用來發(fā)送數(shù)據(jù)報(bào)文,則數(shù)據(jù)報(bào)文可以通過,可以被繼續(xù)發(fā)送下去。如果令牌桶中的令牌不滿足數(shù)據(jù)報(bào)文的發(fā)送條件,則數(shù)據(jù)報(bào)文入回到流量整形隊(duì)列中;若隊(duì)列滿則數(shù)據(jù)報(bào)文被丟棄。當(dāng)流量整形隊(duì)列中有數(shù)據(jù)報(bào)文的時(shí)候,流量整形按一定的周期從隊(duì)列中取出數(shù)據(jù)報(bào)文進(jìn)行發(fā)送,每次發(fā)送數(shù)據(jù)報(bào)文時(shí),將把流量整形令牌桶中的令牌代表的數(shù)據(jù)量都發(fā)送出去。
當(dāng)幀中繼分片與流量整形組合應(yīng)用時(shí),由于數(shù)據(jù)數(shù)據(jù)分片后,分片報(bào)文要添加額外的報(bào)文頭,會(huì)占用比原先更高的帶寬。例如一個(gè)1500字節(jié)的數(shù)據(jù)報(bào)文到達(dá)幀中繼鏈路層后,如果不配置分片,按照Q.922協(xié)議封裝格式,需要添加的字節(jié)包括2字節(jié)DLCI頭+2字節(jié)協(xié)議號(hào)+2字節(jié)FCS,總長度為1506字節(jié)。如果配置了幀中繼FRF.12分片,且分片大小為30的話,1500字節(jié)的數(shù)據(jù)報(bào)文加上2字節(jié)的協(xié)議號(hào)(NLPID)總共1502字節(jié)必須被拆分為51片,每個(gè)分片需要添加的額外字節(jié)包括2字節(jié)DLCI頭+2字節(jié)分片協(xié)議號(hào)+2字節(jié)分片報(bào)文頭+2字節(jié)FCS,也就是每個(gè)分片要消耗8個(gè)字節(jié)。這樣1500字節(jié)的數(shù)據(jù)實(shí)際需要占用的帶寬為51*8+1502=1910字節(jié),比原來的1506字節(jié)增加了26.8%。而與流量整形組合應(yīng)用時(shí),如果不考慮分片占用的額外帶寬,會(huì)導(dǎo)致整形后的流量與預(yù)期嚴(yán)重偏差。
現(xiàn)有流量整形技術(shù)領(lǐng)域中,思科(CISCO)公司采用了先對數(shù)據(jù)報(bào)文進(jìn)行分片然后再做流量整形的方法。這樣所有的分片占用的額外報(bào)文頭也會(huì)消耗流量整形令牌桶里的令牌,不會(huì)造成流量計(jì)算錯(cuò)誤。思科這種先分片再做流量整形的方法,可以避免流量計(jì)算不準(zhǔn)確的現(xiàn)象,但容易出現(xiàn)分片報(bào)文無法成功發(fā)送,導(dǎo)致對端無法重組的問題。例如上面所述的一個(gè)1500字節(jié)的數(shù)據(jù)報(bào)文,拆分成51片后,需要占用1910字節(jié)。此時(shí)如果流量整形令牌桶當(dāng)前大小只能發(fā)送20個(gè)分片,剩余的31個(gè)分片只能先入隊(duì)列,如果隊(duì)列無法存放所有31個(gè)數(shù)據(jù)報(bào)文的話,必然要丟棄某些分片報(bào)文,假設(shè)丟棄了50和51兩個(gè)分片。這樣其余49個(gè)分片到達(dá)對端后由于始終無法收到分片結(jié)束報(bào)文,所以分片無法重組,最后只能丟棄,這49個(gè)分片可以認(rèn)為是“垃圾報(bào)文”,占用了無謂的帶寬。所以針對幀中繼分片重組必須要“全發(fā)全收”,任何一個(gè)分片的丟棄都會(huì)導(dǎo)致整個(gè)分組的不可用的特點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明的目的就是針對上述現(xiàn)有技術(shù)中先分片再做流量整形的方法中容易出現(xiàn)分片報(bào)文無法成功發(fā)送,導(dǎo)致對端無法重組的問題,提出一種先分片再做流量整形的方法。
一種流量整形處理方法,其特征在于包括以下步驟a、接收數(shù)據(jù)報(bào)文;b、判斷是否需要對數(shù)據(jù)報(bào)文進(jìn)行分片,如果是,進(jìn)入步驟c,如果否,進(jìn)入步驟d;c、計(jì)算分片需要的帶寬,進(jìn)入步驟d;d、判斷FRTS令牌是否符合帶寬的需求,如果是,進(jìn)入步驟e,如果否,進(jìn)入步驟f;e、將數(shù)據(jù)報(bào)文分片并發(fā)送;f、將數(shù)據(jù)報(bào)文進(jìn)行不發(fā)送處理。
所述的計(jì)算分片需要的帶寬的步驟,通過如下公式計(jì)算分片后的總字節(jié)=(正向取整(待分片報(bào)文長度/分片大小))*(分片報(bào)文頭長度+分片協(xié)議字節(jié)+幀中繼報(bào)文頭+幀中繼FCS字節(jié))+待分片報(bào)文長度。
所述的步驟f,是將數(shù)據(jù)報(bào)文丟棄。
所述的步驟f,是將數(shù)據(jù)報(bào)文重新入隊(duì)列,返回步驟d。
由于采用了本發(fā)明的流量整形處理方法,可以避免分片報(bào)文無法全部發(fā)送,導(dǎo)致接收端不能正確重組的問題。同時(shí),由于精確的計(jì)算分片需要消耗的帶寬,避免流量統(tǒng)計(jì)偏小的問題。
圖1是現(xiàn)有技術(shù)中流量整形處理過程示意圖;圖2是本發(fā)明分片帶寬計(jì)算處理流程圖;圖3是本發(fā)明另一個(gè)分片帶寬計(jì)算處理流程圖。
具體實(shí)施例方式
下面結(jié)合說明書附圖來說明本發(fā)明的具體實(shí)施方式
。
先流量整形再做數(shù)據(jù)報(bào)文分片策略的優(yōu)點(diǎn)在于如果數(shù)據(jù)報(bào)文經(jīng)過了整形處理即表示發(fā)送端有足夠的帶寬來保證數(shù)據(jù)報(bào)文的發(fā)送,數(shù)據(jù)報(bào)文此時(shí)再做分片處理,就可以保證所有分片都能夠在發(fā)送端發(fā)送出去,避免“垃圾報(bào)文”的產(chǎn)生。這里要解決的問題是由于分片后要消耗更多的帶寬,如何在未分片時(shí)把這部分額外帶寬精確的計(jì)算在內(nèi),避免超過指定流量。
如圖2和3所示,是采用本發(fā)明流量整形處理方法的流程圖,從圖中可以看出,本發(fā)明采用的方法是,當(dāng)數(shù)據(jù)報(bào)文經(jīng)過流量整形,計(jì)算需要消耗的令牌數(shù)時(shí),判斷如果是需要分片的數(shù)據(jù)報(bào)文,根據(jù)分片協(xié)議類型,預(yù)先把分片需要消耗的額外帶寬計(jì)算在內(nèi),如果令牌足夠則數(shù)據(jù)報(bào)文可以發(fā)送,否則入隊(duì)列或者丟棄。數(shù)據(jù)報(bào)文的帶寬計(jì)算、流量整形、分片統(tǒng)一都由路由器完成。
據(jù)此,本發(fā)明的流量整形處理方法,包括以下步驟a、接收數(shù)據(jù)報(bào)文;先接收來自上層的數(shù)據(jù)報(bào)文。
b、判斷是否需要對數(shù)據(jù)報(bào)文進(jìn)行分片,如果是,進(jìn)入步驟c,如果否,進(jìn)入步驟d;這個(gè)步驟要先判斷該步驟a中接收到的數(shù)據(jù)報(bào)文是否需要進(jìn)行分片,根據(jù)本發(fā)明的設(shè)計(jì)思想,如果需要進(jìn)行分片,則進(jìn)入后面的計(jì)算帶寬的步驟,否則直接將該數(shù)據(jù)報(bào)文進(jìn)入令牌桶。
c、計(jì)算分片需要的帶寬,進(jìn)入步驟d;這是本發(fā)明的一個(gè)關(guān)鍵點(diǎn)所在,即預(yù)先把分片需要消耗的額外帶寬計(jì)算在內(nèi)。在本發(fā)明中,采用如下的帶寬計(jì)算方法分片后的總字節(jié)=(正向取整(待分片報(bào)文長度/分片大小))*(分片報(bào)文頭長度+分片協(xié)議字節(jié)+幀中繼報(bào)文頭+幀中繼FCS字節(jié))+待分片報(bào)文長度。
這樣,就可以保證所有分片都能夠在發(fā)送端發(fā)送出去,避免“垃圾報(bào)文”的產(chǎn)生。
d、判斷FRTS令牌是否符合帶寬的需求,如果是,進(jìn)入步驟e,如果否,進(jìn)入步驟f;FRTS幀中繼流量整形是通過令牌桶的方法來控制數(shù)據(jù)流量,令牌可以理解為數(shù)據(jù)發(fā)送的能力。本發(fā)明對采用的令牌機(jī)制沒有具體限制。
e、將數(shù)據(jù)報(bào)文分片并發(fā)送;f、將數(shù)據(jù)報(bào)文進(jìn)行不發(fā)送處理。
其中,步驟f中的不發(fā)送處理,可以包括以下情況1、將數(shù)據(jù)報(bào)文丟棄;這實(shí)際上是結(jié)束了數(shù)據(jù)報(bào)文的發(fā)送流程,這是報(bào)文發(fā)送中較為常見的一種處理方式,常常在數(shù)據(jù)報(bào)文發(fā)生擁塞的時(shí)候采用。
2、將數(shù)據(jù)報(bào)文重新入隊(duì)列,返回步驟d。
這種方式是對發(fā)送報(bào)文的一個(gè)暫緩發(fā)送,將目前無法正常發(fā)送的數(shù)據(jù)報(bào)文重新歸入隊(duì)列,等待網(wǎng)絡(luò)資源允許的時(shí)候,再進(jìn)行重新發(fā)送,這也是一種較為常見的方式。
下面我們看一個(gè)采用本發(fā)明流量整形處理方法的一個(gè)具體例子如果配置了FRF.12分片,分片大小為50字節(jié),則800字節(jié)的待分片報(bào)文需要的總帶寬為,
分片后的總字節(jié)=正向取整(800/50)*(2+2+2+2)+800=16*8+800=928以上分片報(bào)文頭長度及分片協(xié)議字節(jié)的具體長度參考各協(xié)議的定義。
本發(fā)明通過以上敘述的力量整形處理方法,可以在數(shù)據(jù)報(bào)文發(fā)送的過程中,避免分片報(bào)文無法全部發(fā)送,導(dǎo)致接收端不能正確重組的問題。同時(shí),由于精確的計(jì)算分片需要消耗的帶寬,可以避免流量統(tǒng)計(jì)偏小。由于幀中繼帶寬精確計(jì)算的方法用于控制本端路由器發(fā)送速率,不存在不同廠商之間的互通性問題,因此其他路由器采用本算法也可實(shí)現(xiàn)相應(yīng)功能。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種流量整形處理方法,其特征在于包括以下步驟a、接收數(shù)據(jù)報(bào)文;b、判斷是否需要對數(shù)據(jù)報(bào)文進(jìn)行分片,如果是,進(jìn)入步驟c,如果否,進(jìn)入步驟d;c、計(jì)算分片需要的帶寬,進(jìn)入步驟d;d、判斷FRTS令牌是否符合帶寬的需求,如果是,進(jìn)入步驟e,如果否,進(jìn)入步驟f;e、將數(shù)據(jù)報(bào)文分片并發(fā)送;f、將數(shù)據(jù)報(bào)文進(jìn)行不發(fā)送處理。
2.如權(quán)利要求1所述的流量整形處理方法,其特征在于所述的計(jì)算分片需要的帶寬的步驟,通過如下公式計(jì)算分片后的總字節(jié)=(正向取整(待分片報(bào)文長度/分片大小))*(分片報(bào)文頭長度+分片協(xié)議字節(jié)+幀中繼報(bào)文頭+幀中繼幀校驗(yàn)和字節(jié))+待分片報(bào)文長度。
3.如權(quán)利要求2所述的流量整形處理方法,其特征在于所述的步驟f,是將數(shù)據(jù)報(bào)文丟棄。
4.如權(quán)利要求2所述的流量整形處理方法,其特征在于所述的步驟f,是將數(shù)據(jù)報(bào)文重新入隊(duì)列,返回步驟d。
全文摘要
本發(fā)明涉及通信領(lǐng)域,尤其涉及在幀中繼分片與幀中繼流量整形組合應(yīng)用時(shí),對分片占用帶寬的處理方法。一種流量整形處理方法,其特征在于包括以下步驟a.接收數(shù)據(jù)報(bào)文;b.判斷是否需要對數(shù)據(jù)報(bào)文進(jìn)行分片,如果是,進(jìn)入步驟c,如果否,進(jìn)入步驟d;c.計(jì)算分片需要的帶寬,進(jìn)入步驟d;d.判斷FRTS令牌是否符合帶寬的需求,如果是,進(jìn)入步驟e,如果否,進(jìn)入步驟f;e.將數(shù)據(jù)報(bào)文分片并發(fā)送;f.將數(shù)據(jù)報(bào)文進(jìn)行不發(fā)送處理。通過以上敘述的力量整形處理方法,可以在數(shù)據(jù)報(bào)文發(fā)送的過程中,避免分片報(bào)文無法全部發(fā)送,導(dǎo)致接收端不能正確重組的問題。同時(shí),由于精確的計(jì)算分片需要消耗的帶寬,可以避免流量統(tǒng)計(jì)偏小。
文檔編號(hào)H04L12/56GK1549511SQ0313133
公開日2004年11月24日 申請日期2003年5月13日 優(yōu)先權(quán)日2003年5月13日
發(fā)明者蘇征遠(yuǎn) 申請人:華為技術(shù)有限公司