專(zhuān)利名稱(chēng):一種基于計(jì)量器的報(bào)文計(jì)流量方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以太網(wǎng)交換機(jī)流量控制技術(shù),特別涉及一種基于標(biāo)準(zhǔn)計(jì)量器(Meter) 的報(bào)文計(jì)流量方法。
背景技術(shù):
—般的低端交換芯片不提供對(duì)報(bào)文大小進(jìn)行計(jì)數(shù)的功能,所以硬件不支持計(jì)流量 功能。在一些交換芯片中,提供了RFC標(biāo)準(zhǔn)定義的計(jì)量器(Meter)對(duì)報(bào)文著色。通常,計(jì) 量器的著色結(jié)果用于對(duì)報(bào)文進(jìn)行流量監(jiān)管和流量整形。交換芯片中的Meter —般都遵從 RFC2697、RFC2698標(biāo)準(zhǔn)中定義的行為。下面以單速率三色標(biāo)記(Single Rate Three Color Marker簡(jiǎn)寫(xiě)為SRTCM)過(guò)程說(shuō)明報(bào)文著色原理。 單速率三色標(biāo)記涉及3個(gè)參數(shù),它們分別是承諾信息速率(CIR)、承諾突發(fā)大小 (CBS)和超出突發(fā)大小(EBS)。承諾信息速率以位/秒為單位確定報(bào)文的傳輸速率,承諾突 發(fā)大小和超出突發(fā)大小以字節(jié)為單位給出允許連續(xù)傳輸?shù)膱?bào)文長(zhǎng)度。在實(shí)際的應(yīng)用中,單 速率三色標(biāo)記通過(guò)兩個(gè)令牌桶實(shí)現(xiàn)。 如圖1所示,兩個(gè)令牌桶的深度分別由CBS和EBS確定。在操作過(guò)程的初始階段,
這兩個(gè)令牌桶均為滿(mǎn)狀態(tài),在操作開(kāi)始后,每秒對(duì)令牌桶TC(桶深為CBS)和令牌桶TE(桶
深為EBS)更新CIR次,更新操作如下 IF TC < CBS TC = TC+1,否則TC不變; IF TE < EBS TE = TE+1,否則TE不變。 從上述更新操作中不難看出,只要令牌桶不變,每次更新操作為令牌桶增加一個(gè) 代表1個(gè)bit的令牌,直到令牌桶計(jì)數(shù)器值達(dá)到CBS (令牌桶TC滿(mǎn))或EBS (令牌桶TE滿(mǎn))。 當(dāng)長(zhǎng)度為B的報(bào)文到達(dá)后,首先判斷TC-B是否大于等于0。如果是,表明分組到達(dá)速率在承 諾信息速率內(nèi),TC = TC-B,報(bào)文被標(biāo)記為綠色;否則表明報(bào)文到達(dá)速率已經(jīng)超出承諾信息 速率。然后判斷TE-B是否大于等于0,如果是的話(huà),表明報(bào)文到達(dá)速率雖然超出承諾信息速 率,但仍在允許的超出范圍內(nèi),TE = TE-B,報(bào)文被標(biāo)記為黃色;否則表明報(bào)文到達(dá)速率不僅 超出承諾信息速率,而且超出允許的超出范圍,被標(biāo)記為紅色。雙速率三色標(biāo)記(TRTCM)原 理與此類(lèi)似,在此不再贅述。用于對(duì)報(bào)文進(jìn)行流量監(jiān)管的標(biāo)記器,對(duì)于黃和紅色報(bào)文采取的 動(dòng)作是丟棄。 在實(shí)際的芯片實(shí)現(xiàn)中,上述的令牌桶一般是用RAM加上一些運(yùn)算邏輯來(lái)實(shí)現(xiàn)。一 般地,一個(gè)計(jì)量器由令牌注入速率、桶深限制、令牌桶計(jì)數(shù)器(或桶計(jì)數(shù)器)三個(gè)寄存器組 成。令牌注入速率寄存器對(duì)應(yīng)SRTCM的CIR,桶深限制寄存器對(duì)應(yīng)CBS或EBS。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題,就是在某些不具備流計(jì)量功能的低端以太網(wǎng)交換芯 片上,采用軟件硬件結(jié)合的方式實(shí)現(xiàn)寬帶接入用戶(hù)的報(bào)文計(jì)流量功能。 本發(fā)明解決所述技術(shù)問(wèn)題采用的技術(shù)方案是,一種基于計(jì)量器的報(bào)文計(jì)流量方
3法,包括以下步驟 a、清零桶計(jì)數(shù)器寄存器值,并預(yù)置桶深和令牌注入速率寄存器,記下此時(shí)的系統(tǒng) 時(shí)間TS ; b、在一段時(shí)間ST后,讀取桶計(jì)數(shù)器寄存器值VR; c、以當(dāng)前系統(tǒng)時(shí)間更新TS,并清零桶計(jì)數(shù)器寄存器,啟動(dòng)下一次輪詢(xún); e、根據(jù)S T與令牌注入速率寄存器值的乘積得到期望的桶計(jì)數(shù)器寄存器值VE ; f、根據(jù)公式VE-VR,得到上一次訪(fǎng)問(wèn)桶計(jì)數(shù)器寄存器到本次訪(fǎng)問(wèn)之間的報(bào)文流
量;進(jìn)一步的,還包括步驟 g、對(duì)n次輪詢(xún)得到的短期流量進(jìn)行累加;n為正整數(shù);
進(jìn)一步的,所述S T小于桶計(jì)數(shù)器寄存器溢出時(shí)間。 本發(fā)明的有益效果是,利用現(xiàn)代交換芯片中廣泛使用的RFC標(biāo)準(zhǔn)定義的meter,將 其用于廠家和標(biāo)準(zhǔn)中非預(yù)想的計(jì)流量用途,具有一定的通用性。本發(fā)明的技術(shù)方案,可以在 一些低端的芯片上實(shí)現(xiàn)計(jì)流量功能。與ACL(訪(fǎng)問(wèn)控制表)、IP Source Guard(IP地址和 MAC綁定)、DHCP(動(dòng)態(tài)IP地址分配)以及認(rèn)證模塊配合,可以實(shí)現(xiàn)寬帶接入用戶(hù)的按流量 計(jì)費(fèi)功能,提供低成本的計(jì)流量解決方案。
圖1是計(jì)量器基本結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面詳細(xì)描述本發(fā)明的技術(shù)方案。
本發(fā)明的技術(shù)方案對(duì)硬件作了如下的假設(shè) 1、具備用于流量監(jiān)管的硬件計(jì)量器(Meter),且計(jì)量器的桶深、令牌注入速率、桶 計(jì)數(shù)器寄存器對(duì)用戶(hù)可見(jiàn)、可讀寫(xiě); 2、具備處理器與芯片的并行接口,能通過(guò)這個(gè)并行接口快速訪(fǎng)問(wèn)芯片;
3、控制處理器有硬件計(jì)時(shí)器,能產(chǎn)生高精度的時(shí)基信號(hào)。 本發(fā)明通過(guò)控制處理器定時(shí)查詢(xún)交換芯片中的計(jì)量器桶計(jì)數(shù)器寄存器,計(jì)算出查 詢(xún)間隔發(fā)生的流量,累加后得到流量值。原理如下 按照RFC標(biāo)準(zhǔn),桶計(jì)數(shù)器會(huì)按令牌注入速率寄存器的配置向桶計(jì)數(shù)寄存器中注入 令牌,直到達(dá)到桶深寄存器值為止。當(dāng)有報(bào)文到達(dá),則根據(jù)報(bào)文長(zhǎng)度從桶中減出令牌。可以 看出,如果在T0時(shí)刻將令牌桶計(jì)數(shù)器寄存器置為0,在桶未滿(mǎn)之前的某個(gè)T1時(shí)時(shí)刻將其讀 出,令牌注入速率乘時(shí)間間隔(T1-T0),再減去桶計(jì)數(shù)器寄存器值,就是T0至T1時(shí)間的報(bào)文 流量。將此短期流量值進(jìn)行累加即可完成計(jì)流量功能。具體步驟如下
第一步啟動(dòng)計(jì)流量功能時(shí),系統(tǒng)先清零桶計(jì)數(shù)器寄存器值,并預(yù)置桶深和令牌注 入速率寄存器,記下此時(shí)的系統(tǒng)時(shí)間,設(shè)為T(mén)S ; 第二步在一段時(shí)間后(假設(shè)這段時(shí)間為S T),讀取桶計(jì)數(shù)器寄存器值,記為VR ;
第三步根據(jù)S T與預(yù)置的令牌注入速率寄存器值的乘積得到期望的桶計(jì)數(shù)器寄 存器值,記為VE; 第四步根據(jù)公式VE-VR,得到上一次訪(fǎng)問(wèn)桶計(jì)數(shù)器寄存器到本次訪(fǎng)問(wèn)之間的報(bào)文流量; 第五步隨即以當(dāng)前系統(tǒng)時(shí)間更新TS,并清零桶計(jì)數(shù)器,啟動(dòng)下一次輪詢(xún); 第六步對(duì)n次輪詢(xún)得到的報(bào)文流量進(jìn)行累加,得到nX ST這段時(shí)間報(bào)文流量的
統(tǒng)計(jì)結(jié)果,其中n為正整數(shù)。 本發(fā)明輪詢(xún)的間隔一定要小于令牌計(jì)數(shù)器到達(dá)桶深(CBS或EBS)的時(shí)間,否則不 能得出正確的值。這個(gè)時(shí)間的選取與計(jì)量器支持的最大桶深(相當(dāng)于CBS或EBS)以及用 戶(hù)配置的產(chǎn)生令牌的速率(相當(dāng)于CIR)有關(guān)。 本發(fā)明基于換芯片中的Meter —般都遵從RFC2697、 RFC2698標(biāo)準(zhǔn)中定義的行為。 雖然標(biāo)準(zhǔn)中使用了兩個(gè)桶,但在計(jì)流量功能的實(shí)現(xiàn)中只需要使用其中一個(gè)桶就能完成,具 體如何使用與芯片相關(guān),在此不進(jìn)行描述。
權(quán)利要求
一種基于計(jì)量器的報(bào)文計(jì)流量方法,包括以下步驟a、清零桶計(jì)數(shù)器寄存器,并預(yù)置桶深和令牌注入速率寄存器,記下此時(shí)的系統(tǒng)時(shí)間TS;b、在一段時(shí)間δT后,讀取桶計(jì)數(shù)器寄存器值VR;c、以當(dāng)前系統(tǒng)時(shí)間更新TS,并清零桶計(jì)數(shù)器寄存器,啟動(dòng)下一次輪詢(xún);e、根據(jù)δT與預(yù)置的令牌注入速率寄存器值的乘積得到期望的桶計(jì)數(shù)器寄存器值VE;f、根據(jù)公式VE-VR,得到上一次訪(fǎng)問(wèn)桶計(jì)數(shù)器寄存器到本次訪(fǎng)問(wèn)之間的報(bào)文流量。
2. 根據(jù)權(quán)利要求1所述的一種基于計(jì)量器的報(bào)文計(jì)流量方法,其特征在于還包括步驟g、 對(duì)n次輪詢(xún)得到的報(bào)文流量進(jìn)行累加;n為正整數(shù)。
3. 根據(jù)權(quán)利要求1或2所述的一種基于計(jì)量器的報(bào)文計(jì)流量方法,其特征在于所述S T小于桶計(jì)數(shù)器寄存器溢出時(shí)間。
全文摘要
本發(fā)明涉及以太網(wǎng)交換機(jī)流量控制技術(shù),特別涉及一種基于標(biāo)準(zhǔn)計(jì)量器(Meter)的報(bào)文計(jì)流量方法。本發(fā)明針對(duì)某些不具備流計(jì)量功能的低端以太網(wǎng)交換芯片的缺點(diǎn),公開(kāi)了一種基于計(jì)量器的報(bào)文計(jì)流量方法。本發(fā)明技術(shù)方案是,在T0時(shí)刻將令牌桶計(jì)數(shù)器寄存器置為0,在桶未滿(mǎn)之前的某個(gè)T1時(shí)時(shí)刻將其讀出,令牌注入速率乘時(shí)間間隔(T1-T0),再減去桶計(jì)數(shù)器寄存器值,就是T0至T1時(shí)間的報(bào)文流量。將此短期流量值進(jìn)行累加即可完成計(jì)流量功能。本發(fā)明用于一些低端的芯片上實(shí)現(xiàn)計(jì)流量功能,與系統(tǒng)其他模塊配合,可以實(shí)現(xiàn)寬帶接入用戶(hù)的按流量計(jì)費(fèi)功能,提供低成本的計(jì)流量解決方案。
文檔編號(hào)H04L12/56GK101771606SQ200810306719
公開(kāi)日2010年7月7日 申請(qǐng)日期2008年12月31日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者嚴(yán)俊 申請(qǐng)人:邁普通信技術(shù)股份有限公司