国产精品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>

      一種基于承諾接入速率的帶寬統(tǒng)計(jì)復(fù)用方法

      文檔序號(hào):7906230閱讀:282來(lái)源:國(guó)知局
      專利名稱:一種基于承諾接入速率的帶寬統(tǒng)計(jì)復(fù)用方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及網(wǎng)絡(luò)帶寬的管理技術(shù),特別是指一種基于承諾接入速率(CAR,Committed Access Ratio)的帶寬統(tǒng)計(jì)復(fù)用方法。
      背景技術(shù)
      帶寬是一種重要的網(wǎng)絡(luò)資源,因此需要對(duì)帶寬進(jìn)行統(tǒng)計(jì)復(fù)用來(lái)合理分配網(wǎng)絡(luò)各端口帶寬,充分利用網(wǎng)絡(luò)資源。
      CAR是一種帶寬管理機(jī)制,通過(guò)配置CAR,網(wǎng)絡(luò)管理員可以為不同的業(yè)務(wù)、用戶分配不同的帶寬,定義業(yè)務(wù)占用的帶寬超過(guò)分配額度時(shí)的處理策略,通過(guò)限制通過(guò)路由器某一端口的流量,可以很好地保證整個(gè)網(wǎng)絡(luò)的服務(wù)質(zhì)量(QoS),CAR既可以用于交換網(wǎng)的入口也可用于交換網(wǎng)的出口。
      現(xiàn)有技術(shù)大多在交換網(wǎng)的入端口或出端口單獨(dú)作CAR,例如參見(jiàn)圖1所示,一個(gè)交換網(wǎng)的入端口1、2、3共享一個(gè)出端口4,在該交換網(wǎng)的入端口采用CAR處理報(bào)文流量。在計(jì)算出各入端口流量的帶寬之后,還需在共享同一出端口的入端口之間分配剩余的帶寬。假設(shè)端口1、2、3進(jìn)來(lái)的報(bào)文都是從端口4送出,可以為端口1、2、3建立一個(gè)帶寬使用記錄表,該表格式可以如下表1

      表2

      其中帶寬單位為Mbps;剩余帶寬=實(shí)際占用帶寬-分配帶寬,這里實(shí)際占用帶寬是指上一次計(jì)算時(shí)該端口占用的帶寬;總剩余帶寬=各端口剩余帶寬之和;可使用帶寬=實(shí)際占用帶寬+借用帶寬。
      一般,將總剩余帶寬分配給剩余帶寬為負(fù)數(shù)的端口,作為它們的借用帶寬。端口的剩余帶寬為負(fù)數(shù)說(shuō)明該端口已經(jīng)多占用了帶寬、或需要更多帶寬。
      例如在表1中,端口3的實(shí)際使用帶寬有剩余,則將端口3的剩余帶寬平均分配給端口1和2。而在表2中,端口3的流量上升,需要索回本應(yīng)當(dāng)屬于自己的帶寬,于是端口3的剩余帶寬為零,導(dǎo)致總剩余帶寬出現(xiàn)負(fù)數(shù)-2,端口1和2的平均分配總剩余帶寬為-2,因此端口1和2的借用帶寬各為-1,將借用帶寬加上它們各自的實(shí)際占用帶寬就是目前可以使用的帶寬。
      從上面的例子中可以看出現(xiàn)有的帶寬統(tǒng)計(jì)復(fù)用方法,只是在交換網(wǎng)出端口或者入端口中配置CAR。因此在處理一個(gè)端口的同時(shí)還需綜合考慮其它端口的情況,不利于各端口獨(dú)立本端口的業(yè)務(wù)流量,使計(jì)算量增加,特別是剩余帶寬的計(jì)算和分配非常繁瑣,需要在幾個(gè)共享出端口帶寬的入端口之間統(tǒng)一分配剩余的帶寬。并且由于計(jì)算的是過(guò)去的平均帶寬,不能及時(shí)反應(yīng)帶寬的動(dòng)態(tài)變化情況,需要保存的關(guān)于報(bào)文到達(dá)時(shí)間、包長(zhǎng)等信息較多,不適合處理速度要求高的場(chǎng)合。另外端口之間沒(méi)有共享機(jī)制,如果一個(gè)端口分配的帶寬沒(méi)有用完,其它端口無(wú)法共享尚未用完的帶寬,造成帶寬資源浪費(fèi)。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的主要目的在于提供一種基于承諾接入速率的帶寬統(tǒng)計(jì)復(fù)用方法。以簡(jiǎn)化帶寬統(tǒng)計(jì)復(fù)用的計(jì)算量,及時(shí)反映帶寬的動(dòng)態(tài)變化情況,減少需要保存的報(bào)文信息。
      為達(dá)到上述目的本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種基于承諾接入速率的帶寬統(tǒng)計(jì)復(fù)用方法,在交換網(wǎng)的入端口和出端口分別采用CAR處理報(bào)文流量;在入端口對(duì)報(bào)文的處理過(guò)程包括a1)獲取入端口的當(dāng)前可用令牌數(shù);b1)計(jì)算入端口發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù);c1)比較發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)與當(dāng)前可用令牌數(shù),如果當(dāng)前可用令牌數(shù)大于發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù),則將當(dāng)前報(bào)文加上基本帶寬標(biāo)記向交換網(wǎng)內(nèi)部轉(zhuǎn)發(fā),否則,將該報(bào)文加上額外帶寬標(biāo)記向交換網(wǎng)內(nèi)部轉(zhuǎn)發(fā),返回步驟a1);在出端口對(duì)報(bào)文的處理包括a2)預(yù)先建立負(fù)債令牌數(shù)的記錄;b2)獲取出端口的當(dāng)前可用令牌數(shù);c2)獲取負(fù)債令牌數(shù),比較當(dāng)前可用令牌數(shù)與負(fù)債令牌數(shù),如果當(dāng)前可用令牌數(shù)大于負(fù)債令牌數(shù),則更改當(dāng)前可用令牌數(shù)為當(dāng)前可用令牌數(shù)減去負(fù)債令牌數(shù),更改負(fù)債令牌數(shù)的值為零,并進(jìn)入下一步,否則,更改可用令牌數(shù)的值為零,更改負(fù)債令牌數(shù)為負(fù)債令牌數(shù)減去可用令牌數(shù)的值,并進(jìn)入下一步;d2)計(jì)算得到發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù);e2)判斷當(dāng)前報(bào)文是否帶有基本帶寬標(biāo)識(shí),如果是,將負(fù)債令牌數(shù)加上發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)作為負(fù)債令牌數(shù)保存,去掉報(bào)文的基本帶寬標(biāo)識(shí)轉(zhuǎn)發(fā),返回步驟b2),否則,進(jìn)入步驟f2);f2)判斷負(fù)債令牌數(shù)是否為零,如果不為零,進(jìn)入步驟g2),否則比較當(dāng)前可用令牌數(shù)與發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù),如果當(dāng)前可用令牌數(shù)大于當(dāng)前報(bào)文需消耗的令牌數(shù),則去掉該報(bào)文的額外帶寬標(biāo)記轉(zhuǎn)發(fā),返回步驟b2),否則,進(jìn)入步驟g2);g2)丟棄當(dāng)前報(bào)文,返回步驟b2)。
      該方法所述步驟c1)中如果當(dāng)前可用令牌數(shù)大于發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù),則進(jìn)一步包括將當(dāng)前可用令牌數(shù)減去發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)作為剩余令牌數(shù),將當(dāng)前報(bào)文到達(dá)時(shí)間作為上一個(gè)報(bào)文到達(dá)時(shí)間保存。
      該方法所述步驟a1)具體包括讀取入端口當(dāng)前報(bào)文到達(dá)時(shí)間,從入端口讀取上一個(gè)報(bào)文到達(dá)時(shí)間,將當(dāng)前報(bào)文到達(dá)時(shí)間減去上一個(gè)報(bào)文到達(dá)時(shí)間得到新獲得的令牌數(shù);讀取入端口剩余令牌數(shù),將新獲得的令牌數(shù)加上剩余令牌數(shù)得到當(dāng)前可用令牌數(shù)。
      該方法所述步驟e2)中如果當(dāng)前報(bào)文帶有基本帶寬標(biāo)識(shí),則進(jìn)一步包括將當(dāng)前可用令牌數(shù)作為剩余令牌數(shù)保存;步驟f2)中如果當(dāng)前可用令牌數(shù)大于當(dāng)前報(bào)文需消耗的令牌數(shù),則將當(dāng)前可用令牌數(shù)減去發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)作為剩余令牌數(shù)保存,將當(dāng)前報(bào)文到達(dá)時(shí)間作為上一個(gè)報(bào)文到達(dá)時(shí)間保存;步驟g2)進(jìn)一步包括將當(dāng)前可用令牌數(shù)作為剩余令牌數(shù)保存,將當(dāng)前報(bào)文到達(dá)時(shí)間作為上一個(gè)報(bào)文到達(dá)時(shí)間保存。
      該方法所述步驟b2)具體包括讀取出端口當(dāng)前報(bào)文到達(dá)時(shí)間,從出端口讀取上一個(gè)報(bào)文到達(dá)時(shí)間,將當(dāng)前報(bào)文到達(dá)時(shí)間減去上一個(gè)報(bào)文到達(dá)時(shí)間得到新獲得的令牌數(shù);讀取出端口剩余令牌數(shù),將新獲得的令牌數(shù)加上剩余令牌數(shù)得到當(dāng)前可用令牌數(shù)。
      該方法所述步驟b1)具體包括獲取入端口的令牌速率,將當(dāng)前報(bào)文長(zhǎng)度乘以令牌速率得到發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)。
      該方法所述步驟d2)具體包括獲取出端口的令牌速率,將當(dāng)前報(bào)文長(zhǎng)度乘以令牌速率得到發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)。
      該方法在入端口的報(bào)文處理過(guò)程中預(yù)先增加令牌桶大小的項(xiàng)目,則步驟a1)后進(jìn)一步包括比較當(dāng)前可用令牌數(shù)與令牌桶大小,如果當(dāng)前可用令牌數(shù)大于令牌桶大小,則將當(dāng)前可用令牌數(shù)更改為令牌桶大小的值,進(jìn)入步驟b1),否則直接進(jìn)入步驟b1)。
      該方法在出端口的報(bào)文處理過(guò)程中預(yù)先增加令牌桶大小的項(xiàng)目,則步驟b2)后進(jìn)一步包括比較當(dāng)前可用令牌數(shù)與令牌桶大小,如果當(dāng)前可用令牌數(shù)大于令牌桶大小,則將當(dāng)前可用令牌數(shù)更改為令牌桶大小的值,進(jìn)入步驟c2),否則直接進(jìn)入步驟c2)。
      該方法一個(gè)以上的所述入端口共享一個(gè)出端口。
      由上述方案可以看出,本發(fā)明所提供的一種基于承諾接入速率的帶寬統(tǒng)計(jì)復(fù)用方法,在交換網(wǎng)的出端口和入端口分別做CAR,使交換網(wǎng)的幾個(gè)入端口共享一個(gè)出端口,從而大大簡(jiǎn)化了帶寬統(tǒng)計(jì)復(fù)用的算法,能夠及時(shí)反映帶寬的動(dòng)態(tài)變化情況,減少了CAR參數(shù)表中需要保存的報(bào)文信息,同時(shí)各入端口之間相互獨(dú)立,在實(shí)現(xiàn)CAR的帶寬限制功能的同時(shí)實(shí)現(xiàn)了帶寬的統(tǒng)計(jì)復(fù)用。


      圖1為現(xiàn)有技術(shù)計(jì)算帶寬直接方法的示意圖;圖2為本發(fā)明實(shí)施例兩個(gè)入端口共享一個(gè)出端口的示意圖;圖3為基于CAR的帶寬統(tǒng)計(jì)復(fù)用示意圖;圖4為本發(fā)明實(shí)施例的入端口CAR處理流程圖;圖5為本發(fā)明實(shí)施例的出端口CAR處理流程圖。
      具體實(shí)施例方式
      下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說(shuō)明。
      本發(fā)明是一種基于CAR算法的帶寬統(tǒng)計(jì)復(fù)用方法,可在實(shí)現(xiàn)CAR的基本功能的同時(shí)實(shí)現(xiàn)不同用戶之間的帶寬統(tǒng)計(jì)復(fù)用。其思想可以概括為通過(guò)做CAR的方式在保證用戶基本帶寬,即承諾接入速率的前提下實(shí)現(xiàn)不同用戶或業(yè)務(wù)間的帶寬統(tǒng)計(jì)復(fù)用。具體地說(shuō)是在交換網(wǎng)的出端口和入端口分別做CAR處理,在入端口做CAR時(shí),先區(qū)分基本帶寬報(bào)文和額外帶寬報(bào)文,報(bào)文送入交換網(wǎng)之前在報(bào)文前面加上不同的標(biāo)識(shí)以示區(qū)別,在出端口做CAR時(shí),基本帶寬報(bào)文采用欠令牌的方式無(wú)條件通過(guò),額外帶寬報(bào)文則視令牌剩余情況酌情通過(guò)。
      CAR的算法公式為Ttokenj-1+(Taij-Taij-1)≥Plenj×Ptoken(1)其中,Ttokenj-1表示第j-1個(gè)包離開時(shí)剩余的令牌數(shù),單位為Ticks,Tick是處理器的定時(shí)器的最小時(shí)間單位。Taij、Taij-1分別為第j個(gè)、第j-1個(gè)包到達(dá)時(shí)Timer的計(jì)時(shí)數(shù),可從定時(shí)器獲得,單位均為Ticks,差值(Taij-Taij-1)即為新獲得的令牌。Plenj為第j個(gè)包的包長(zhǎng),單位為Byte。Ptoken表示令牌速率,單位為秒/字節(jié),實(shí)際應(yīng)用中以處理器的定時(shí)器Timer的Ticks為單位,則為Ticks/Byte,令牌速率是一個(gè)與基本帶寬有關(guān)的量,它其實(shí)與帶寬成倒數(shù)關(guān)系,表示通過(guò)一個(gè)字節(jié)的報(bào)文所需要的時(shí)間。這樣,計(jì)算公式被統(tǒng)一在以Ticks為單位上。上述公式的意義可以表述為第j個(gè)包到達(dá),如果前一個(gè)包離開(通過(guò))時(shí)剩余的令牌數(shù)(Ttokenj-1)加上當(dāng)前Timer與前一個(gè)包通過(guò)時(shí)Timer的差值(Taij-Taij-1)所得之和,即現(xiàn)有的令牌數(shù)不小于通過(guò)第j個(gè)包所需要的令牌數(shù)(Plenj×Ptoken),則第j個(gè)包即可通過(guò);也可以表述為如果現(xiàn)有的令牌數(shù)(Ticks)大于發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù),則報(bào)文能夠通過(guò)。在進(jìn)行公式(1)的比較之前需用令牌桶(Burst_Size)來(lái)限制Ttokenj-1+(Taij-Taij-1)的最大值,目的是為了防止令牌的過(guò)渡積累導(dǎo)致大流量到來(lái)時(shí)沖擊設(shè)備的處理能力,令牌桶值的大小可以根據(jù)允許的突發(fā)帶寬和突發(fā)時(shí)間來(lái)確定。
      參見(jiàn)圖2所示,入端口1和端口2共享出端口3,端口1和端口2的承諾接入帶寬,即基本帶寬之和等于端口3的出口帶寬。當(dāng)端口1或端口2中進(jìn)來(lái)報(bào)文的帶寬不夠基本帶寬或一個(gè)端口沒(méi)有報(bào)文進(jìn)來(lái)時(shí),另外一個(gè)端口能部分或全部使用該端口的帶寬,但保證總的帶寬不變;如果兩個(gè)入端口的帶寬都超過(guò)了承諾接入速率,則兩者都按承諾速率接入;也就是說(shuō)只要入口報(bào)文的帶寬之和大于出口帶寬,出端口3的帶寬就是恒定的。
      舉例來(lái)說(shuō),假定圖2中端口1、端口2的承諾接入帶寬都限定為10Mbps,出端口3的限定帶寬是20Mbps?;贑AR的帶寬統(tǒng)計(jì)復(fù)用過(guò)程參見(jiàn)圖3所示。
      在入端口做CAR處理時(shí),將滿足公式(1),且報(bào)文大小在10Mbps的帶寬范圍以內(nèi)的打上基本帶寬標(biāo)記送入交換網(wǎng),否則,報(bào)文打上額外帶寬的標(biāo)記送交換網(wǎng),這樣做的目的是為了保證用戶的基本帶寬,也就是報(bào)文按帶寬分類全部進(jìn)入交換網(wǎng)。需要注意的是以額外帶寬通過(guò)的報(bào)文不能占用令牌,送入交換網(wǎng)時(shí)也不需要保存剩余令牌數(shù)和當(dāng)前報(bào)文的離開時(shí)間,否則在出端口做CAR時(shí)無(wú)法實(shí)現(xiàn)帶寬統(tǒng)計(jì)復(fù)用。報(bào)文按照端口的設(shè)置帶寬分類并打上基本帶寬或額外帶寬標(biāo)識(shí)后全部進(jìn)入交換網(wǎng),也就是說(shuō)在入端口是不限制報(bào)文流量的。
      對(duì)于出端口的CAR處理,需要預(yù)先在普通的CAR參數(shù)表中增加負(fù)債令牌項(xiàng)目,這是由于帶基本帶寬標(biāo)記的報(bào)文是無(wú)條件通過(guò)的,即使令牌欠缺也要通過(guò),因此必須先讓此類報(bào)文通過(guò),再待其通過(guò)后將該報(bào)文所消耗的令牌數(shù)累加在負(fù)債令牌數(shù)內(nèi)。在每次處理報(bào)文獲得新的令牌并加上剩余令牌之后,首先用于補(bǔ)償負(fù)債令牌數(shù)。在出端口做CAR處理時(shí),如果處理的是帶基本帶寬標(biāo)記的報(bào)文,則計(jì)算該報(bào)文通過(guò)需消耗的令牌數(shù),并將該值累加在負(fù)債令牌數(shù)上,然后報(bào)文直接從出端口轉(zhuǎn)發(fā)。如果處理的是帶額外帶寬標(biāo)記的報(bào)文,則首先計(jì)算現(xiàn)有的令牌數(shù)Ttokenj-1+(Taij-Taij-1),接下來(lái)用該值抵消欠缺令牌,如果抵消之后欠缺令牌數(shù)仍不為零,則將該報(bào)文丟棄,丟棄的報(bào)文仍可等待令牌數(shù)充足的時(shí)候通過(guò);如果抵消之后令牌有剩余,則再看剩下的令牌是否足夠發(fā)送該報(bào)文,即是否滿足公式(1),如果足夠,則報(bào)文通過(guò),否則報(bào)文丟棄,丟棄之前需保存補(bǔ)償之后的剩余令牌數(shù)和離開時(shí)間。另外,如果額外帶寬報(bào)文能通過(guò),也需要消耗令牌,并更新和保存剩余令牌數(shù)和離開時(shí)間,這點(diǎn)與入端口的CAR過(guò)程不一樣。
      入端口和出端口的參數(shù)表需要的參數(shù)參見(jiàn)表3所示表3

      其中,令牌速率和令牌桶大小的值在報(bào)文處理過(guò)程中較為固定。令牌速率可根據(jù)出端口和入端口的帶寬大小換算得出。令牌桶用于防止用戶長(zhǎng)時(shí)間沒(méi)有報(bào)文進(jìn)來(lái)導(dǎo)致令牌積累過(guò)多,一旦有大業(yè)務(wù)量到來(lái)時(shí)沖擊其它端口,因此通過(guò)設(shè)置令牌桶的方式將獲得的令牌數(shù)限制為令牌桶大小之內(nèi),令牌桶大小可根據(jù)端口所在網(wǎng)絡(luò)的報(bào)文處理能力進(jìn)行確定。
      本發(fā)明實(shí)施例的交換網(wǎng)入端口CAR處理的具體步驟流程參見(jiàn)圖4所示步驟401,讀取當(dāng)前正在處理的報(bào)文到達(dá)時(shí)間Current_Timer,再?gòu)娜攵丝贑AR參數(shù)表中讀取上一次報(bào)文到達(dá)時(shí)間Last_Timer,計(jì)算它們的時(shí)間差值ΔT=Current_Timer-Last_Timer,此即為新獲得的令牌數(shù)。
      步驟402,從入端口的CAR參數(shù)表中讀取剩余令牌數(shù)Rest_Token,將新獲得的令牌數(shù)ΔT與剩余令牌數(shù)相加計(jì)算出可用令牌數(shù)Used_Token,即Used_Token=ΔT+Rest_Token。
      步驟403,從入端口的CAR參數(shù)表中讀取令牌桶大小Burst_Size,將可用令牌數(shù)與令牌桶大小比較,如果Used_Token>Burst_Size,則將可用令牌數(shù)取為令牌桶大小的值,即取Used_Token=Burst_Size,并進(jìn)入下一步,否則,直接進(jìn)入下一步。
      步驟404,從入端口的CAR參數(shù)表中讀取令牌速率Ptoken,計(jì)算發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)P_Token,由上述可知P_Token=Plen×Ptoken。
      步驟405,比較可用令牌數(shù)Used_Token與發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)P_Token的值,如果可用令牌數(shù)比發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)大,即它們的差值ΔToken=Used_Token-P_Token 0,則進(jìn)入下一步,否則,說(shuō)明可用令牌數(shù)不夠,則在該報(bào)文前面加上額外帶寬標(biāo)記轉(zhuǎn)發(fā),返回步驟401。
      步驟406,將ΔToken作為本次處理后的剩余令牌數(shù)Rest_Token存入CAR參數(shù)表,將當(dāng)前正在處理的報(bào)文到達(dá)時(shí)間Current_Timer作為上一次報(bào)文到達(dá)時(shí)間Last_Timer存入CAR參數(shù)表,并將該報(bào)文前面加上基本帶寬標(biāo)記向交換網(wǎng)轉(zhuǎn)發(fā),返回步驟401。
      其中,基本帶寬的標(biāo)記和額外帶寬的標(biāo)記可以任意表示,比如在基本帶寬的報(bào)文前面加上aa,即10101010,在額外帶寬的報(bào)文前面加上55,即01010101。
      交換網(wǎng)出端口CAR處理的具體步驟流程參見(jiàn)圖5所示步驟501,讀取當(dāng)前正在處理的報(bào)文到達(dá)時(shí)間Current_Timer,從出端口CAR參數(shù)表中讀取上一次報(bào)文到達(dá)時(shí)間Last_Timer,計(jì)算它們的差值ΔT=Current_Timer-Last_Timer,即為新獲得的令牌數(shù)。
      步驟502,從出端口的CAR參數(shù)表中讀取剩余令牌數(shù)Rest_Token,再將新獲得令牌數(shù)ΔT與剩余令牌數(shù)相加計(jì)算出現(xiàn)在的可用令牌數(shù)Used_Token,即Used_Token=ΔT+Rest_Token,讀出負(fù)債令牌數(shù)Delt_Token。
      步驟503,從出端口的CAR參數(shù)表中讀取負(fù)債令牌數(shù)Delt_Token,比較可用令牌數(shù)Used_Token與負(fù)債令牌數(shù),如果Used_Token>Delt_Token,則更改可用令牌數(shù)為Used_Token=Used_Token-Delt_Token,并更改負(fù)債令牌數(shù)Delt_Token為0保存在CAR參數(shù)表,進(jìn)入下一步,否則更改可用令牌數(shù)Used_Token為0,更改負(fù)債令牌數(shù)Delt_Token=Delt_Token-Used_Token并保存在CAR參數(shù)表,進(jìn)入下一步。
      步驟504,從出端口的CAR參數(shù)表中讀取令牌桶大小Burst_Size,判斷可用令牌數(shù)Used_Token是否大于令牌桶大小,如果是,將可用令牌數(shù)設(shè)置為令牌桶大小的值,即Used_Token=Burst_Size,并進(jìn)入下一步,否則直接進(jìn)入下一步。
      步驟505,計(jì)算發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)P_Token=Plen×Ptoken。
      步驟506,根據(jù)報(bào)文前面的標(biāo)識(shí)判斷該報(bào)文是否為基本帶寬報(bào)文,如果是,計(jì)算現(xiàn)在負(fù)債令牌數(shù)Delt_Token=Delt_Token+P_Token,并將其存入CAR參數(shù)表;將可用令牌數(shù)Used_Token作為剩余令牌數(shù)Rest_Token存入CAR參數(shù)表;將當(dāng)前正在處理的報(bào)文到達(dá)時(shí)間Current_Timer作為上一個(gè)報(bào)文到達(dá)時(shí)間Last_Timer存入CAR參數(shù)表;去掉報(bào)文前面的基本帶寬標(biāo)記向外轉(zhuǎn)發(fā),返回步驟501,否則進(jìn)入下一步。
      步驟507,判斷負(fù)債令牌數(shù)Delt_Token是否為零,如果不為零,則進(jìn)入步驟507,如果為零,則比較可用令牌數(shù)與發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)的大小,即判斷是否它們的差值ΔToken=Used_Token-P_Token≥0,如果是,則將該差值ΔToken作為剩余令牌數(shù)Rest_Token存入CAR參數(shù)表;將當(dāng)前正在處理的報(bào)文到達(dá)時(shí)間Current_Time作為上一個(gè)報(bào)文到達(dá)的時(shí)間Last_Time存入CAR參數(shù)表;并去掉該報(bào)文前面的額外帶寬標(biāo)記轉(zhuǎn)發(fā),返回步驟501,否則,進(jìn)入步驟507。
      步驟508,將可用令牌數(shù)Used_Token作為剩余令牌數(shù)Rest_Token存入CAR參數(shù)表;將當(dāng)前正在處理的報(bào)文到達(dá)時(shí)間Current_Time作為上一個(gè)報(bào)文到達(dá)的時(shí)間Last_Time存入CAR參數(shù)表,并丟棄該報(bào)文,返回步驟501。
      本發(fā)明方法通過(guò)在交換網(wǎng)的出端口和入端口分別進(jìn)行CAR處理,使兩個(gè)或多個(gè)端口各自分配了一定的帶寬,并且共享一個(gè)網(wǎng)絡(luò)通道作為出端口,如果一個(gè)端口分配的帶寬沒(méi)有用完,其它端口可以共享其尚未用完的帶寬。
      以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種基于承諾接入速率(CAR)的帶寬統(tǒng)計(jì)復(fù)用方法,其特征在于,在交換網(wǎng)的入端口和出端口分別采用CAR處理報(bào)文流量;在入端口對(duì)報(bào)文的處理過(guò)程包括a1)獲取入端口的當(dāng)前可用令牌數(shù);b1)計(jì)算入端口發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù);c1)比較發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)與當(dāng)前可用令牌數(shù),如果當(dāng)前可用令牌數(shù)大于發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù),則將當(dāng)前報(bào)文加上基本帶寬標(biāo)記向交換網(wǎng)內(nèi)部轉(zhuǎn)發(fā),否則,將該報(bào)文加上額外帶寬標(biāo)記向交換網(wǎng)內(nèi)部轉(zhuǎn)發(fā),返回步驟a1);在出端口對(duì)報(bào)文的處理包括a2)預(yù)先建立負(fù)債令牌數(shù)的記錄;b2)獲取出端口的當(dāng)前可用令牌數(shù);c2)獲取負(fù)債令牌數(shù),比較當(dāng)前可用令牌數(shù)與負(fù)債令牌數(shù),如果當(dāng)前可用令牌數(shù)大于負(fù)債令牌數(shù),則更改當(dāng)前可用令牌數(shù)為當(dāng)前可用令牌數(shù)減去負(fù)債令牌數(shù),更改負(fù)債令牌數(shù)的值為零,并進(jìn)入下一步,否則,更改可用令牌數(shù)的值為零,更改負(fù)債令牌數(shù)為負(fù)債令牌數(shù)減去可用令牌數(shù)的值,并進(jìn)入下一步;d2)計(jì)算得到發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù);e2)判斷當(dāng)前報(bào)文是否帶有基本帶寬標(biāo)識(shí),如果是,將負(fù)債令牌數(shù)加上發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)作為負(fù)債令牌數(shù)保存,去掉報(bào)文的基本帶寬標(biāo)識(shí)轉(zhuǎn)發(fā),返回步驟b2),否則,進(jìn)入步驟f2);f2)判斷負(fù)債令牌數(shù)是否為零,如果不為零,進(jìn)入步驟g2),否則比較當(dāng)前可用令牌數(shù)與發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù),如果當(dāng)前可用令牌數(shù)大于當(dāng)前報(bào)文需消耗的令牌數(shù),則去掉該報(bào)文的額外帶寬標(biāo)記轉(zhuǎn)發(fā),返回步驟b2),否則,進(jìn)入步驟g2);g2)丟棄當(dāng)前報(bào)文,返回步驟b2)。
      2.根據(jù)權(quán)利要求1所述方法,其特征在于,所述步驟c1)中如果當(dāng)前可用令牌數(shù)大于發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù),則進(jìn)一步包括將當(dāng)前可用令牌數(shù)減去發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)作為剩余令牌數(shù),將當(dāng)前報(bào)文到達(dá)時(shí)間作為上一個(gè)報(bào)文到達(dá)時(shí)間保存。
      3.根據(jù)權(quán)利要求2所述方法,其特征在于,所述步驟a1)具體包括讀取入端口當(dāng)前報(bào)文到達(dá)時(shí)間,從入端口讀取上一個(gè)報(bào)文到達(dá)時(shí)間,將當(dāng)前報(bào)文到達(dá)時(shí)間減去上一個(gè)報(bào)文到達(dá)時(shí)間得到新獲得的令牌數(shù);讀取入端口剩余令牌數(shù),將新獲得的令牌數(shù)加上剩余令牌數(shù)得到當(dāng)前可用令牌數(shù)。
      4.根據(jù)權(quán)利要求1所述方法,其特征在于,所述步驟e2)中如果當(dāng)前報(bào)文帶有基本帶寬標(biāo)識(shí),則進(jìn)一步包括將當(dāng)前可用令牌數(shù)作為剩余令牌數(shù)保存;步驟f2)中如果當(dāng)前可用令牌數(shù)大于當(dāng)前報(bào)文需消耗的令牌數(shù),則將當(dāng)前可用令牌數(shù)減去發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)作為剩余令牌數(shù)保存,將當(dāng)前報(bào)文到達(dá)時(shí)間作為上一個(gè)報(bào)文到達(dá)時(shí)間保存;步驟g2)進(jìn)一步包括將當(dāng)前可用令牌數(shù)作為剩余令牌數(shù)保存,將當(dāng)前報(bào)文到達(dá)時(shí)間作為上一個(gè)報(bào)文到達(dá)時(shí)間保存。
      5.根據(jù)權(quán)利要求4所述方法,其特征在于,所述步驟b2)具體包括讀取出端口當(dāng)前報(bào)文到達(dá)時(shí)間,從出端口讀取上一個(gè)報(bào)文到達(dá)時(shí)間,將當(dāng)前報(bào)文到達(dá)時(shí)間減去上一個(gè)報(bào)文到達(dá)時(shí)間得到新獲得的令牌數(shù);讀取出端口剩余令牌數(shù),將新獲得的令牌數(shù)加上剩余令牌數(shù)得到當(dāng)前可用令牌數(shù)。
      6.根據(jù)權(quán)利要求1所述方法,其特征在于,所述步驟b1)具體包括獲取入端口的令牌速率,將當(dāng)前報(bào)文長(zhǎng)度乘以令牌速率得到發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)。
      7.根據(jù)權(quán)利要求1所述方法,其特征在于,所述步驟d2)具體包括獲取出端口的令牌速率,將當(dāng)前報(bào)文長(zhǎng)度乘以令牌速率得到發(fā)送當(dāng)前報(bào)文需消耗的令牌數(shù)。
      8.根據(jù)權(quán)利要求1所述方法,其特征在于,在入端口的報(bào)文處理過(guò)程中預(yù)先增加令牌桶大小的項(xiàng)目,則步驟a1)后進(jìn)一步包括比較當(dāng)前可用令牌數(shù)與令牌桶大小,如果當(dāng)前可用令牌數(shù)大于令牌桶大小,則將當(dāng)前可用令牌數(shù)更改為令牌桶大小的值,進(jìn)入步驟b1),否則直接進(jìn)入步驟b1)。
      9.根據(jù)權(quán)利要求1所述方法,其特征在于,在出端口的報(bào)文處理過(guò)程中預(yù)先增加令牌桶大小的項(xiàng)目,則步驟b2)后進(jìn)一步包括比較當(dāng)前可用令牌數(shù)與令牌桶大小,如果當(dāng)前可用令牌數(shù)大于令牌桶大小,則將當(dāng)前可用令牌數(shù)更改為令牌桶大小的值,進(jìn)入步驟c2),否則直接進(jìn)入步驟c2)。
      10.根據(jù)權(quán)利要求1~9所述方法,其特征在于,一個(gè)以上的所述入端口共享一個(gè)出端口。
      全文摘要
      本發(fā)明公開了一種基于承諾接入速率(CAR)的帶寬統(tǒng)計(jì)復(fù)用方法,該方法在交換網(wǎng)的入端口和出端口分別采用CAR處理報(bào)文流量,在入端口做CAR時(shí),先區(qū)分基本帶寬報(bào)文和額外帶寬報(bào)文,報(bào)文送入交換網(wǎng)之前在報(bào)文前面加上不同的標(biāo)識(shí)以示區(qū)別,在出端口做CAR時(shí),基本帶寬報(bào)文采用欠令牌的方式無(wú)條件通過(guò),額外帶寬報(bào)文則視令牌剩余情況酌情通過(guò)。本發(fā)明方案大大簡(jiǎn)化了帶寬統(tǒng)計(jì)復(fù)用的算法,并能夠及時(shí)反映帶寬的動(dòng)態(tài)變化情況,減少了CAR參數(shù)表中需要保存的報(bào)文信息,同時(shí)幾個(gè)入端口可共享一個(gè)出端口,如果一個(gè)端口分配的帶寬沒(méi)有用完,其它端口可以共享其尚未用完的帶寬,從而充分有效利用了的網(wǎng)絡(luò)資源。
      文檔編號(hào)H04L12/24GK1534926SQ0312127
      公開日2004年10月6日 申請(qǐng)日期2003年4月1日 優(yōu)先權(quán)日2003年4月1日
      發(fā)明者劉明偉, 李大為 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1