專利名稱:一種實(shí)現(xiàn)對(duì)上網(wǎng)用戶帶寬進(jìn)行緩沖控制的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對(duì)上網(wǎng)用戶占用的帶寬進(jìn)行緩沖控制的方法。
背景技術(shù):
在互聯(lián)網(wǎng)內(nèi)容日益豐富的今天,互聯(lián)網(wǎng)已逐漸成為人們工作和生活中不可或缺的一部分,越來越多的企業(yè)和個(gè)人都通過某種方式接入互聯(lián)網(wǎng)。在人們登錄互聯(lián)網(wǎng)查找、下載資料時(shí),人們希望網(wǎng)速越快越好;但是,隨著互聯(lián)網(wǎng)用戶規(guī)模的不斷擴(kuò)大以及人們對(duì)網(wǎng)速的期望值不斷升高,人們總是覺得網(wǎng)速還是太慢。
在互聯(lián)網(wǎng)用戶規(guī)模不斷擴(kuò)大以及對(duì)網(wǎng)絡(luò)運(yùn)營(yíng)商不斷提出新的需求時(shí),對(duì)于網(wǎng)絡(luò)運(yùn)營(yíng)商來說,如何能夠利用其現(xiàn)有的設(shè)備和投資給最大數(shù)量的用戶提供優(yōu)質(zhì)穩(wěn)定的網(wǎng)絡(luò)服務(wù)也是其最為關(guān)心的問題。
不論是以局域網(wǎng)方式提供網(wǎng)絡(luò)服務(wù)的運(yùn)營(yíng)商,還是以ADSL等其他方式提供網(wǎng)絡(luò)服務(wù)的運(yùn)營(yíng)商,其網(wǎng)絡(luò)設(shè)備都是多個(gè)用戶共享的。由于網(wǎng)絡(luò)設(shè)備的出口帶寬是固定的,如果某個(gè)用戶占用了過大的帶寬,必然使其他用戶的可用帶寬減小,上網(wǎng)速度變慢,上網(wǎng)質(zhì)量受到影響,所以有必要對(duì)單個(gè)用戶占用的帶寬進(jìn)行限制,以保障所有用戶對(duì)網(wǎng)絡(luò)帶寬資源的公平使用。
但是,在實(shí)際中,人們發(fā)現(xiàn)如果單純地對(duì)用戶帶寬進(jìn)行限制,仍然不能使網(wǎng)絡(luò)資源得到最優(yōu)的利用。因?yàn)?,如果?duì)網(wǎng)絡(luò)用戶占用的帶寬值限制太小,雖然能防止某一用戶占用過大帶寬,但是在并非所有用戶都上網(wǎng)的情況下,正在上網(wǎng)的用戶也只能使用限制值設(shè)定的帶寬,而此時(shí)網(wǎng)絡(luò)設(shè)備出口卻有大量閑置帶寬被浪費(fèi);相反,如果對(duì)網(wǎng)絡(luò)用戶占用的帶寬值限制太大,又不能有效地防止單個(gè)用戶占用過大帶寬;所以,如果能有一種靈活的策略不僅能對(duì)那些長(zhǎng)時(shí)間占用較大帶寬的用戶進(jìn)行限制,又能根據(jù)當(dāng)時(shí)的網(wǎng)絡(luò)使用狀況,例如此時(shí)上網(wǎng)用戶較少,或者用戶僅僅是進(jìn)行瀏覽網(wǎng)頁(yè)、收發(fā)郵件和下載小軟件等操作,屬于一種突發(fā)型的短時(shí)間的帶寬需求,并不會(huì)長(zhǎng)時(shí)間的占用大帶寬,在這些情況下允許用戶占用額外的帶寬,那么就能在現(xiàn)有的設(shè)備和投資上提高網(wǎng)絡(luò)的利用率,提高用戶的上網(wǎng)速度、上網(wǎng)質(zhì)量,大幅度地提升用戶對(duì)網(wǎng)絡(luò)使用的滿意度和認(rèn)可度。
發(fā)明內(nèi)容
鑒于上述原因,本發(fā)明的目的是提供一種可對(duì)用戶帶寬進(jìn)行緩沖控制的方法。該控制方法允許瞬間突發(fā)帶寬,即允許用戶在進(jìn)行瀏覽網(wǎng)頁(yè)、收發(fā)郵件和下載小軟件等操作時(shí)在一定的時(shí)間內(nèi)不受帶寬限制,以提高上網(wǎng)效率;而在用戶持續(xù)占用大帶寬的情況下,又會(huì)自動(dòng)將用戶帶寬限制在設(shè)定的帶寬內(nèi),以保證共享一個(gè)網(wǎng)絡(luò)設(shè)備的其他用戶都能獲得較大的合理帶寬。
為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案一種實(shí)現(xiàn)對(duì)上網(wǎng)用戶帶寬進(jìn)行緩沖控制的方法,為實(shí)現(xiàn)該方法,網(wǎng)絡(luò)運(yùn)營(yíng)商需要選用一個(gè)具有兩個(gè)網(wǎng)絡(luò)接口的網(wǎng)絡(luò)CPU,將網(wǎng)絡(luò)CPU的一個(gè)網(wǎng)絡(luò)接口與需要進(jìn)行帶寬控制的網(wǎng)絡(luò)設(shè)備的原出口相連,將網(wǎng)絡(luò)CPU的另一個(gè)網(wǎng)絡(luò)接口作為組合后的網(wǎng)絡(luò)設(shè)備的新的出口與外網(wǎng)相連;該實(shí)現(xiàn)對(duì)上網(wǎng)用戶帶寬進(jìn)行緩沖控制的方法包括以下步驟(1)、網(wǎng)絡(luò)CPU每接收到一幀報(bào)文,判斷該報(bào)文是來自用戶的報(bào)文,還是來自外網(wǎng)的報(bào)文?如果是來自外網(wǎng)的報(bào)文,則跳轉(zhuǎn)執(zhí)行第(10)步;(2)、如果是來自用戶的報(bào)文,網(wǎng)絡(luò)CPU解析該報(bào)文,甄別該報(bào)文是來自哪個(gè)具體用戶的;(3)、網(wǎng)絡(luò)CPU讀取該用戶發(fā)送帶寬計(jì)數(shù)器的數(shù)值和該用戶的帶寬限定值;(4)、判斷該用戶的發(fā)送帶寬是否大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值?如果不大于,跳轉(zhuǎn)執(zhí)行第(7)步;(5)、如果該用戶的發(fā)送帶寬大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值,網(wǎng)絡(luò)CPU讀取該用戶帶寬控制標(biāo)志位數(shù)值;(6)、判斷該用戶帶寬控制標(biāo)志位是否置位?如果置位,說明該用戶屬于長(zhǎng)時(shí)間占用大帶寬的用戶,屬于被限制的對(duì)象,則網(wǎng)絡(luò)CPU丟棄該報(bào)文,結(jié)束此次操作;如果沒有置位,則繼續(xù)執(zhí)行下一步。
(7)、網(wǎng)絡(luò)CPU將該用戶發(fā)送的報(bào)文轉(zhuǎn)發(fā)到外網(wǎng);(8)、網(wǎng)絡(luò)CPU將報(bào)文長(zhǎng)度累加到此用戶的發(fā)送帶寬計(jì)數(shù)器上;(9)、結(jié)束此次操作;(10)、如果此報(bào)文是來自外網(wǎng)的報(bào)文,網(wǎng)絡(luò)CPU解析該報(bào)文,甄別該報(bào)文是發(fā)往哪個(gè)具體用戶的;(11)、網(wǎng)絡(luò)CPU讀取該用戶接收帶寬計(jì)數(shù)器的數(shù)值和該用戶的帶寬限定值;(12)、判斷該用戶的接收帶寬是否大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值?如果不大于,跳轉(zhuǎn)執(zhí)行第(15)步;(13)、如果該用戶的接收帶寬大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值,網(wǎng)絡(luò)CPU讀取該用戶帶寬控制標(biāo)志位數(shù)值;(14)、判斷該用戶帶寬控制標(biāo)志位是否置位?如果置位,說明該用戶屬于長(zhǎng)時(shí)間占用大帶寬的用戶,屬于被限制的對(duì)象,則網(wǎng)絡(luò)CPU就丟棄該報(bào)文,結(jié)束此次操作;如果沒有置位,則繼續(xù)執(zhí)行下一步。
(15)、網(wǎng)絡(luò)CPU將該報(bào)文轉(zhuǎn)發(fā)到與用戶相連的端口;(16)、網(wǎng)絡(luò)CPU將報(bào)文長(zhǎng)度累加到此用戶的接收帶寬計(jì)數(shù)器上;(17)、結(jié)束此次操作。
為了準(zhǔn)確地統(tǒng)計(jì)每一用戶的帶寬,并對(duì)用戶的帶寬控制標(biāo)志位進(jìn)行置位或清除,網(wǎng)絡(luò)CPU周期性地每秒執(zhí)行一次以下步驟(1)、檢查第一個(gè)用戶的接收和發(fā)送帶寬計(jì)數(shù)器;
(2)、判斷此用戶是否“接收帶寬”超過限定值,或者“發(fā)送帶寬”超過限定值?如果否,則跳轉(zhuǎn)執(zhí)行第(4)步;(3)、如果超過限定值,還要判斷該用戶持續(xù)超帶寬使用時(shí)間是否超過規(guī)定時(shí)間,如果超過規(guī)定時(shí)間,則將該用戶的帶寬控制標(biāo)志位置位;如果沒有超過規(guī)定時(shí)間,則跳轉(zhuǎn)執(zhí)行第(6)步;(4)、判斷此用戶的帶寬控制標(biāo)志位是否已經(jīng)被置位?如果沒有置位,跳轉(zhuǎn)執(zhí)行第(6)步;(5)、如果已經(jīng)被置位,還要再判斷該用戶是否已經(jīng)在一段規(guī)定的時(shí)間內(nèi)一直沒有超帶寬了?如果是,則清除該用戶的帶寬控制標(biāo)志位清除;如果否,繼續(xù)執(zhí)行下一步;(6)、將該用戶的接收和發(fā)送帶寬計(jì)數(shù)器的值清零;(7)、判斷該用戶是否為最后一個(gè)用戶,如果否,檢查下一個(gè)用戶的接收和發(fā)送帶寬計(jì)數(shù)器,重復(fù)執(zhí)行第(2)步;(8)、如果是最后一個(gè)用戶,結(jié)束此次操作。
通過以上措施對(duì)用戶占用的帶寬進(jìn)行緩沖控制,不僅有效地防止了個(gè)別用戶擠占其他用戶的帶寬、損害其他用戶上網(wǎng)權(quán)益情況的發(fā)生;而且,使用戶能在短時(shí)間內(nèi)獲得很大的帶寬,大大提高瀏覽網(wǎng)頁(yè)、收發(fā)郵件和下載小軟件等操作時(shí)的上網(wǎng)速度,有效地提升了網(wǎng)絡(luò)的利用率和用戶使用的滿意度。
圖1為本發(fā)明硬件部分實(shí)施例結(jié)構(gòu)示意2為本發(fā)明報(bào)文處理程序流程3為本發(fā)明協(xié)助程序流程4為本發(fā)明緩沖帶寬控制效果圖具體實(shí)施方式
為了避免某些用戶長(zhǎng)時(shí)間占用較大帶寬,影響其他用戶的上網(wǎng)速度,但又允許用戶享有瞬間突發(fā)帶寬,以提高上網(wǎng)速度,本發(fā)明提供了一種實(shí)現(xiàn)對(duì)上網(wǎng)用戶帶寬進(jìn)行緩沖控制的方法。該方法的設(shè)計(jì)思路是網(wǎng)絡(luò)管理設(shè)備實(shí)時(shí)統(tǒng)計(jì)每個(gè)用戶的帶寬,用戶每發(fā)送一個(gè)報(bào)文,網(wǎng)絡(luò)管理設(shè)備就會(huì)把此報(bào)文的長(zhǎng)度累加到用戶的發(fā)送帶寬計(jì)數(shù)器上;同理,用戶每接收一個(gè)報(bào)文,網(wǎng)絡(luò)管理設(shè)備就會(huì)把此報(bào)文的長(zhǎng)度累加到用戶的接收帶寬計(jì)數(shù)器上;當(dāng)用戶的帶寬沒有超出網(wǎng)絡(luò)管理設(shè)備對(duì)該用戶的帶寬限定值時(shí),表明該用戶沒有占用過多的帶寬,則網(wǎng)絡(luò)管理設(shè)備對(duì)該用戶的帶寬不作任何限制,用戶的報(bào)文可以在互聯(lián)網(wǎng)上正常地傳輸;當(dāng)發(fā)現(xiàn)某一用戶的帶寬超出了限定值,且時(shí)間超過了管理設(shè)備規(guī)定的時(shí)間時(shí),則說明該用戶屬于長(zhǎng)時(shí)間占用較大帶寬的用戶,網(wǎng)絡(luò)管理設(shè)備則對(duì)該用戶進(jìn)行帶寬限制,將其報(bào)文丟棄;如果某一用戶的帶寬雖然超出了設(shè)定值,但是時(shí)間沒有超過網(wǎng)管規(guī)定的時(shí)間時(shí),網(wǎng)絡(luò)設(shè)備則允許該用戶享有瞬間突發(fā)帶寬,對(duì)其不作帶寬控制;對(duì)于那些曾經(jīng)超帶寬的用戶,當(dāng)其已經(jīng)持續(xù)一段時(shí)間不再超帶寬后,將解除對(duì)其的控制,允許其重新享有瞬間突發(fā)帶寬。
為了實(shí)現(xiàn)上述本發(fā)明提供的對(duì)上網(wǎng)用戶帶寬進(jìn)行緩沖控制的方法,網(wǎng)絡(luò)運(yùn)營(yíng)商需要選用一個(gè)具有兩個(gè)網(wǎng)絡(luò)接口的網(wǎng)絡(luò)CPU。如圖1所示,將網(wǎng)絡(luò)CPU的一個(gè)網(wǎng)絡(luò)接口PORT 1與需要進(jìn)行帶寬控制的網(wǎng)絡(luò)設(shè)備的原出口相連,CPU的另一個(gè)網(wǎng)絡(luò)接口PORT 2作為組合后的網(wǎng)絡(luò)設(shè)備的新的出口與外網(wǎng)相連。這樣配置后,網(wǎng)絡(luò)設(shè)備所連的所有上網(wǎng)用戶所發(fā)送的報(bào)文都會(huì)先經(jīng)過CPU再到達(dá)外部網(wǎng)絡(luò);來自外網(wǎng)的所有報(bào)文也會(huì)先經(jīng)過CPU再到達(dá)用戶。
為了實(shí)現(xiàn)對(duì)上網(wǎng)用戶帶寬的緩沖控制,網(wǎng)絡(luò)CPU運(yùn)行兩個(gè)程序報(bào)文處理程序和協(xié)助程序。報(bào)文處理程序完成報(bào)文從用戶端口PORT 1到外網(wǎng)端口PORT 2以及從PORT 2到PORT 1的轉(zhuǎn)發(fā);CPU根據(jù)報(bào)文處理程序中定義的規(guī)則決定是否將來自網(wǎng)絡(luò)設(shè)備(PORT1)的報(bào)文轉(zhuǎn)發(fā)到網(wǎng)絡(luò)出口(PORT 2),以及是否將來自外網(wǎng)(PORT 2)的報(bào)文轉(zhuǎn)發(fā)給網(wǎng)絡(luò)設(shè)備(PORT 1),這樣CPU就能控制用戶發(fā)出的報(bào)文能否到達(dá)外網(wǎng),以及外網(wǎng)的報(bào)文能否到達(dá)用戶。協(xié)助程序完成的任務(wù)是配合報(bào)文處理程序?qū)崿F(xiàn)用戶帶寬的統(tǒng)計(jì)和控制。網(wǎng)絡(luò)CPU任何一個(gè)網(wǎng)絡(luò)接口每接收到一幀報(bào)文,網(wǎng)絡(luò)CPU就執(zhí)行一次報(bào)文處理程序,完成報(bào)文處理和統(tǒng)計(jì)計(jì)數(shù)器累加;協(xié)助程序周期性的每一秒被執(zhí)行一次,清零每個(gè)用戶的帶寬統(tǒng)計(jì)計(jì)數(shù)器,設(shè)置需要進(jìn)行帶寬控制的用戶的帶寬控制標(biāo)志位,清除需要解除帶寬控制的用戶的帶寬控制標(biāo)志位,從而,配合報(bào)文處理程序?qū)崿F(xiàn)對(duì)用戶帶寬的緩沖控制。
為了實(shí)現(xiàn)對(duì)上網(wǎng)用戶帶寬的緩沖控制,網(wǎng)絡(luò)CPU對(duì)接收到的報(bào)文執(zhí)行以下步驟的處理,即報(bào)文處理程序,如圖2所示1、網(wǎng)絡(luò)CPU每接收到一幀報(bào)文,判斷該報(bào)文是來自用戶(即PORT 1)的報(bào)文,還是來自外網(wǎng)(即PORT 2)的報(bào)文?如果是來自外網(wǎng)的報(bào)文,則跳轉(zhuǎn)執(zhí)行第10步;2、如果是來自用戶的報(bào)文,CPU解析該報(bào)文,甄別該報(bào)文是來自哪個(gè)具體用戶的;3、CPU讀取該用戶發(fā)送帶寬計(jì)數(shù)器的數(shù)值和該用戶的帶寬限定值;4、判斷該用戶的發(fā)送帶寬是否大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值?如果不大于,跳轉(zhuǎn)執(zhí)行第7步;5、如果該用戶的發(fā)送帶寬大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值,CPU讀取該用戶帶寬控制標(biāo)志位數(shù)值;6、判斷該用戶帶寬控制標(biāo)志位是否置位?如果置位,說明該用戶屬于長(zhǎng)時(shí)間占用大帶寬的用戶,屬于被限制的對(duì)象,則CPU丟棄該報(bào)文,結(jié)束此次操作;如果沒有置位,則繼續(xù)執(zhí)行下一步。
7、CPU將該用戶發(fā)送的報(bào)文轉(zhuǎn)發(fā)到出口PORT 2;8、CPU將報(bào)文長(zhǎng)度累加到此用戶的發(fā)送帶寬計(jì)數(shù)器上;9、結(jié)束此次操作;10、如果此報(bào)文是來自外網(wǎng)(即PORT 2)的報(bào)文,CPU解析該報(bào)文,甄別該報(bào)文是發(fā)往哪個(gè)具體用戶的;11、CPU讀取該用戶接收帶寬計(jì)數(shù)器的數(shù)值和該用戶的帶寬限定值;12、判斷該用戶的接收帶寬是否大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值?如果不大于,跳轉(zhuǎn)執(zhí)行第15步;13、如果該用戶的接收帶寬大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值,CPU讀取該用戶帶寬控制標(biāo)志位數(shù)值;14、判斷該用戶帶寬控制標(biāo)志位是否置位?如果置位,說明該用戶屬于長(zhǎng)時(shí)間占用大帶寬的用戶,屬于被限制的對(duì)象,則CPU就丟棄該報(bào)文,結(jié)束此次操作;如果沒有置位,則繼續(xù)執(zhí)行下一步。
15、CPU將該報(bào)文轉(zhuǎn)發(fā)到與用戶相連的端口PORT 1;16、CPU將報(bào)文長(zhǎng)度累加到此用戶的接收帶寬計(jì)數(shù)器上;17、結(jié)束此次操作。
為了準(zhǔn)確地統(tǒng)計(jì)每一用戶的帶寬,并對(duì)用戶的帶寬控制標(biāo)志位進(jìn)行置位或清除,從而,配合報(bào)文處理程序?qū)崿F(xiàn)對(duì)用戶帶寬的緩沖控制,網(wǎng)絡(luò)CPU周期性地每秒執(zhí)行一次以下步驟即協(xié)助程序,如圖3所示1、檢查第一個(gè)用戶的接收和發(fā)送帶寬計(jì)數(shù)器;2、判斷此用戶是否“接收帶寬”超過限定值,或者“發(fā)送帶寬”超過限定值?如果否,則跳轉(zhuǎn)執(zhí)行第4步;3、如果超過限定值,還要判斷該用戶持續(xù)超帶寬使用時(shí)間是否超過規(guī)定時(shí)間(本實(shí)施例規(guī)定30秒),如果超過規(guī)定時(shí)間,則將該用戶的帶寬控制標(biāo)志位置位;如果沒有超過規(guī)定時(shí)間,則跳轉(zhuǎn)執(zhí)行第6步;4、判斷此用戶的帶寬控制標(biāo)志位是否已經(jīng)被置位?如果沒有置位,跳轉(zhuǎn)執(zhí)行第6步;5、如果已經(jīng)被置位,還要再判斷該用戶是否已經(jīng)在一段規(guī)定的時(shí)間內(nèi)(本實(shí)施例規(guī)定30秒)一直沒有超帶寬了?如果是,則清除該用戶的帶寬控制標(biāo)志位清除;如果否,繼續(xù)執(zhí)行下一步;6、將該用戶的接收和發(fā)送帶寬計(jì)數(shù)器的值清零;7、判斷該用戶是否為最后一個(gè)用戶,如果否,檢查下一個(gè)用戶的接收和發(fā)送帶寬計(jì)數(shù)器,重復(fù)執(zhí)行第2步;8、如果是最后一個(gè)用戶,結(jié)束此次操作。
網(wǎng)絡(luò)CPU通過運(yùn)行上述兩個(gè)程序,不僅可以對(duì)網(wǎng)絡(luò)設(shè)備所連的每一用戶所占用的帶寬進(jìn)行實(shí)時(shí)統(tǒng)計(jì)和控制,而且還可以對(duì)那長(zhǎng)時(shí)間占用較大帶寬的用戶進(jìn)行緩沖控制——即當(dāng)某用戶僅是短時(shí)間占用大帶寬時(shí),不對(duì)其進(jìn)行限制,允許其超帶寬使用;而當(dāng)此用戶占用大帶寬并超過允許時(shí)間后,則對(duì)其進(jìn)行帶寬限制;對(duì)某用戶實(shí)行了帶寬限制后,如果他在一段規(guī)定的時(shí)間內(nèi)一直沒有超帶寬,又會(huì)自動(dòng)解除對(duì)他的限制,該用戶又能重新享有短時(shí)間超帶寬使用的權(quán)利。緩沖帶寬控制的效果如圖4所示,上網(wǎng)用戶在通常情況下處于狀態(tài)1,其帶寬低于網(wǎng)絡(luò)設(shè)備對(duì)其的帶寬限制值。當(dāng)用戶進(jìn)行下載文件等操作占用帶寬超過限制值時(shí),進(jìn)入狀態(tài)2,處于這種狀態(tài)的用戶帶寬在限制值以上,但持續(xù)時(shí)間在允許時(shí)間以內(nèi),所以,其占用的帶寬不受限制。如果用戶處于狀態(tài)2的時(shí)間T2-T1超過允許值(本實(shí)施例為30秒),進(jìn)入狀態(tài)3,用戶帶寬開始受到控制。如果用戶一直不主動(dòng)降低帶寬占用值,狀態(tài)3將一直持續(xù)。如果用戶主動(dòng)降低了帶寬占用值將從狀態(tài)3進(jìn)入狀態(tài)1;當(dāng)用戶處于狀態(tài)1的時(shí)間T4-T3大于規(guī)定的時(shí)間(本實(shí)施例為30秒)時(shí),帶寬控制解除,用戶又重新被允許進(jìn)入狀態(tài)2;當(dāng)用戶處于狀態(tài)1的時(shí)間未到達(dá)規(guī)定時(shí)間又試圖占用大帶寬時(shí),由于帶寬控制仍未解除,用戶帶寬將再次進(jìn)入狀態(tài)3,而不能進(jìn)入狀態(tài)2。
通過以上措施對(duì)用戶占用的帶寬進(jìn)行緩沖控制,不僅有效地防止了個(gè)別用戶擠占其他用戶的帶寬、損害其他用戶上網(wǎng)權(quán)益情況的發(fā)生;而且,使用戶能在短時(shí)間內(nèi)獲得很大的帶寬,大大提高瀏覽網(wǎng)頁(yè)、收發(fā)郵件和下載小軟件等操作時(shí)的上網(wǎng)速度,有效地提升了網(wǎng)絡(luò)的利用率和用戶使用的滿意度。
本發(fā)明實(shí)現(xiàn)了針對(duì)每個(gè)上網(wǎng)用戶的緩沖帶寬控制,使用戶既能超帶寬使用,又不會(huì)長(zhǎng)期地占用過大帶寬;并且不需要運(yùn)營(yíng)商投入大量資金進(jìn)行網(wǎng)絡(luò)設(shè)施升級(jí),在現(xiàn)有的設(shè)備上提高了網(wǎng)絡(luò)的利用率,提高了用戶的上網(wǎng)效率。
權(quán)利要求
1.一種實(shí)現(xiàn)對(duì)上網(wǎng)用戶帶寬進(jìn)行緩沖控制的方法,為實(shí)現(xiàn)該方法,網(wǎng)絡(luò)運(yùn)營(yíng)商需要選用一個(gè)具有兩個(gè)網(wǎng)絡(luò)接口的網(wǎng)絡(luò)CPU,將網(wǎng)絡(luò)CPU的一個(gè)網(wǎng)絡(luò)接口與需要進(jìn)行帶寬控制的網(wǎng)絡(luò)設(shè)備的原出口相連,將網(wǎng)絡(luò)CPU的另一個(gè)網(wǎng)絡(luò)接口作為組合后的網(wǎng)絡(luò)設(shè)備的新的出口與外網(wǎng)相連;該實(shí)現(xiàn)對(duì)上網(wǎng)用戶帶寬進(jìn)行緩沖控制的方法包括以下步驟(1)、網(wǎng)絡(luò)CPU每接收到一幀報(bào)文,判斷該報(bào)文是來自用戶的報(bào)文,還是來自外網(wǎng)的報(bào)文?如果是來自外網(wǎng)的報(bào)文,則跳轉(zhuǎn)執(zhí)行第(10)步;(2)、如果是來自用戶的報(bào)文,網(wǎng)絡(luò)CPU解析該報(bào)文,甄別該報(bào)文是來自哪個(gè)具體用戶的;(3)、網(wǎng)絡(luò)CPU讀取該用戶發(fā)送帶寬計(jì)數(shù)器的數(shù)值和該用戶的帶寬限定值;(4)、判斷該用戶的發(fā)送帶寬是否大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值?如果不大于,跳轉(zhuǎn)執(zhí)行第(7)步;(5)、如果該用戶的發(fā)送帶寬大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值,網(wǎng)絡(luò)CPU讀取該用戶帶寬控制標(biāo)志位數(shù)值;(6)、判斷該用戶帶寬控制標(biāo)志位是否置位?如果置位,說明該用戶屬于長(zhǎng)時(shí)間占用大帶寬的用戶,屬于被限制的對(duì)象,則網(wǎng)絡(luò)CPU丟棄該報(bào)文,結(jié)束此次操作;如果沒有置位,則繼續(xù)執(zhí)行下一步。(7)、網(wǎng)絡(luò)CPU將該用戶發(fā)送的報(bào)文轉(zhuǎn)發(fā)到外網(wǎng);(8)、網(wǎng)絡(luò)CPU將報(bào)文長(zhǎng)度累加到此用戶的發(fā)送帶寬計(jì)數(shù)器上;(9)、結(jié)束此次操作;(10)、如果此報(bào)文是來自外網(wǎng)的報(bào)文,網(wǎng)絡(luò)CPU解析該報(bào)文,甄別該報(bào)文是發(fā)往哪個(gè)具體用戶的;(11)、網(wǎng)絡(luò)CPU讀取該用戶接收帶寬計(jì)數(shù)器的數(shù)值和該用戶的帶寬限定值;(12)、判斷該用戶的接收帶寬是否大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值?如果不大于,跳轉(zhuǎn)執(zhí)行第(15)步;(13)、如果該用戶的接收帶寬大于網(wǎng)絡(luò)設(shè)備對(duì)該用戶的帶寬限定值,網(wǎng)絡(luò)CPU讀取該用戶帶寬控制標(biāo)志位數(shù)值;(14)、判斷該用戶帶寬控制標(biāo)志位是否置位?如果置位,說明該用戶屬于長(zhǎng)時(shí)間占用大帶寬的用戶,屬于被限制的對(duì)象,則網(wǎng)絡(luò)CPU就丟棄該報(bào)文,結(jié)束此次操作;如果沒有置位,則繼續(xù)執(zhí)行下一步。(15)、網(wǎng)絡(luò)CPU將該報(bào)文轉(zhuǎn)發(fā)到與用戶相連的端口;(16)、網(wǎng)絡(luò)CPU將報(bào)文長(zhǎng)度累加到此用戶的接收帶寬計(jì)數(shù)器上;(17)、結(jié)束此次操作。
2.根據(jù)權(quán)利要求1所述的一種實(shí)現(xiàn)對(duì)上網(wǎng)用戶帶寬進(jìn)行緩沖控制的方法,其特征在于為了準(zhǔn)確地統(tǒng)計(jì)每一用戶的帶寬,并對(duì)用戶的帶寬控制標(biāo)志位進(jìn)行置位或清除,網(wǎng)絡(luò)CPU周期性地每秒執(zhí)行一次以下步驟(1)、檢查第一個(gè)用戶的接收和發(fā)送帶寬計(jì)數(shù)器;(2)、判斷此用戶是否“接收帶寬”超過限定值,或者“發(fā)送帶寬”超過限定值?如果否,則跳轉(zhuǎn)執(zhí)行第(4)步;(3)、如果超過限定值,還要判斷該用戶持續(xù)超帶寬使用時(shí)間是否超過規(guī)定時(shí)間,如果超過規(guī)定時(shí)間,則將該用戶的帶寬控制標(biāo)志位置位;如果沒有超過規(guī)定時(shí)間,則跳轉(zhuǎn)執(zhí)行第(6)步;(4)、判斷此用戶的帶寬控制標(biāo)志位是否已經(jīng)被置位?如果沒有置位,跳轉(zhuǎn)執(zhí)行第(6)步;(5)、如果已經(jīng)被置位,還要再判斷該用戶是否已經(jīng)在一段規(guī)定的時(shí)間內(nèi)一直沒有超帶寬了?如果是,則清除該用戶的帶寬控制標(biāo)志位清除;如果否,繼續(xù)執(zhí)行下一步;(6)、將該用戶的接收和發(fā)送帶寬計(jì)數(shù)器的值清零;(7)、判斷該用戶是否為最后一個(gè)用戶,如果否,檢查下一個(gè)用戶的接收和發(fā)送帶寬計(jì)數(shù)器,重復(fù)執(zhí)行第(2)步;(8)、如果是最后一個(gè)用戶,結(jié)束此次操作。
全文摘要
本發(fā)明提供了一種實(shí)現(xiàn)對(duì)上網(wǎng)用戶帶寬進(jìn)行緩沖控制的方法。該方法通過網(wǎng)絡(luò)管理設(shè)備實(shí)時(shí)統(tǒng)計(jì)每個(gè)用戶的帶寬;當(dāng)用戶的帶寬沒有超出網(wǎng)絡(luò)管理設(shè)備對(duì)該用戶的帶寬限定值時(shí),網(wǎng)絡(luò)管理設(shè)備對(duì)該用戶的帶寬不作任何限制;當(dāng)發(fā)現(xiàn)某一用戶的帶寬超出了限定值,且時(shí)間超過了管理設(shè)備規(guī)定的時(shí)間時(shí),則網(wǎng)絡(luò)管理設(shè)備對(duì)該用戶進(jìn)行帶寬限制,將其報(bào)文丟棄;如果某一用戶的帶寬雖然超出了設(shè)定值,但是時(shí)間沒有超過網(wǎng)管規(guī)定的時(shí)間時(shí),網(wǎng)絡(luò)設(shè)備則允許該用戶享有瞬間突發(fā)帶寬,對(duì)其不做帶寬控制;對(duì)于那些曾經(jīng)超帶寬的用戶,當(dāng)其已經(jīng)持續(xù)一段時(shí)間不再超帶寬后,將解除對(duì)其的控制,允許其重新享有瞬間突發(fā)帶寬。從而,提高了網(wǎng)絡(luò)的利用率,提高了用戶的上網(wǎng)效率。
文檔編號(hào)H04L12/56GK1885821SQ20051007778
公開日2006年12月27日 申請(qǐng)日期2005年6月24日 優(yōu)先權(quán)日2005年6月24日
發(fā)明者徐大鵬, 王思劼, 商慶坤 申請(qǐng)人:中國(guó)長(zhǎng)城計(jì)算機(jī)深圳股份有限公司