基于dpi識(shí)別的分通道應(yīng)用流量控制方法
【專利摘要】本發(fā)明公開(kāi)了基于DPI識(shí)別的分通道應(yīng)用流量控制方法,其首先利用DPI識(shí)別出報(bào)文流量的應(yīng)用類別,再根據(jù)不同應(yīng)用類別報(bào)文流量使用對(duì)應(yīng)的帶寬控制策略,最后根據(jù)當(dāng)前接口帶寬的占用情況,依據(jù)不同應(yīng)用類別報(bào)文流量對(duì)帶寬的要求,實(shí)時(shí)動(dòng)態(tài)調(diào)整相應(yīng)帶寬控制策略。應(yīng)用于寬帶路由器中能夠?qū)掃M(jìn)行管理,一方面使得瀏覽網(wǎng)頁(yè)、網(wǎng)絡(luò)游戲等重要應(yīng)用能優(yōu)先得到帶寬保證,另一方面在帶寬允許的情況下又能夠讓網(wǎng)絡(luò)視頻等實(shí)時(shí)性較強(qiáng)的應(yīng)用享有較高的優(yōu)先級(jí)。
【專利說(shuō)明】基于DPI識(shí)別的分通道應(yīng)用流量控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,具體涉及網(wǎng)絡(luò)數(shù)據(jù)流程的控制技術(shù)。
【背景技術(shù)】
[0002]寬帶路由器經(jīng)常部署在企業(yè)、網(wǎng)吧等各種網(wǎng)絡(luò)接入點(diǎn)處,通過(guò)對(duì)進(jìn)出網(wǎng)絡(luò)的報(bào)文進(jìn)行分析,可以確定報(bào)文所屬的應(yīng)用類型,從而可以根據(jù)分析結(jié)果對(duì)帶寬進(jìn)行管理。隨著PPS、迅雷等p2p網(wǎng)絡(luò)應(yīng)用的流行,使得大量的帶寬被p2p流量搶占,因此需要一些方法來(lái)保證用戶在網(wǎng)頁(yè)訪問(wèn)、網(wǎng)絡(luò)游戲等實(shí)時(shí)性要求很高的應(yīng)用上能流暢地進(jìn)行。
[0003]目前常用的方法有:
[0004](I)根據(jù)ip、端口號(hào)以及DFI技術(shù)進(jìn)行限速。設(shè)立一個(gè)用戶黑白名單,對(duì)黑名單內(nèi)用戶一律限速,對(duì)白名單內(nèi)用戶一律不限速;對(duì)某些游戲的端口號(hào)進(jìn)行優(yōu)先;根據(jù)DFI技術(shù)來(lái)識(shí)別報(bào)文類型,判斷是否是P2p。
[0005](2)對(duì)識(shí)別出的p2p流量進(jìn)行手動(dòng)限速,包括bt、迅雷、pps等,此后不再改變。
[0006]上述兩種方法都存在著缺陷:
[0007]方法(I)是基于用戶的管理,不夠靈活;另外游戲端口號(hào)經(jīng)常改變,根據(jù)端口號(hào)來(lái)識(shí)別已經(jīng)不準(zhǔn)確了 ;而使用DFI技術(shù)經(jīng)常誤把ftp等下載流量當(dāng)成p2p流量。故該方法已較少使用。
[0008]方法(2)是靜態(tài)地確定p2p百分比,這也是不合理的,在當(dāng)前網(wǎng)絡(luò)較為寬松的情況下應(yīng)該適當(dāng)提高p2p百分比,而在網(wǎng)絡(luò)擁塞的情況下應(yīng)該適當(dāng)降低p2p百分比;而且該方法沒(méi)有區(qū)分p2p網(wǎng)絡(luò)電視和p2p下載工具如迅雷等,這也是不合理的,因?yàn)榫W(wǎng)絡(luò)電視的實(shí)時(shí)性肯定較迅雷等高,不能把它和迅雷等同對(duì)待,應(yīng)該享有較高的優(yōu)先級(jí);另外一些未識(shí)別出來(lái)的流量有可能是p2p,對(duì)這些流量也要采取一定的限速措施。
【發(fā)明內(nèi)容】
[0009]本發(fā)明針對(duì)上述現(xiàn)有網(wǎng)絡(luò)流程控制技術(shù)所存在的問(wèn)題,而提供一種分通道應(yīng)用流量控制方法。該控制方法基于DPI識(shí)別技術(shù),應(yīng)用于寬帶路由器中能夠?qū)掃M(jìn)行管理,一方面使得瀏覽網(wǎng)頁(yè)、網(wǎng)絡(luò)游戲等重要應(yīng)用能優(yōu)先得到帶寬保證,另一方面在帶寬允許的情況下又能夠讓網(wǎng)絡(luò)視頻等實(shí)時(shí)性較強(qiáng)的應(yīng)用享有較高的優(yōu)先級(jí)。
[0010]為了達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案:
[0011]基于DPI識(shí)別的分通道應(yīng)用流量控制方法,所述控制方法首先利用DPI識(shí)別出報(bào)文流量的應(yīng)用類別,再根據(jù)不同應(yīng)用類別報(bào)文流量使用對(duì)應(yīng)的帶寬控制策略,最后根據(jù)當(dāng)前接口帶寬的占用情況,依據(jù)不同應(yīng)用類別報(bào)文流量對(duì)帶寬的要求,實(shí)時(shí)動(dòng)態(tài)調(diào)整相應(yīng)帶寬控制策略。
[0012]在本發(fā)明的優(yōu)選實(shí)例中,在識(shí)別報(bào)文流量類別時(shí),首先維護(hù)一個(gè)應(yīng)用層的特征庫(kù),利用DPI識(shí)別出報(bào)文的流量特征,通過(guò)將報(bào)文的流量特征與特征庫(kù)進(jìn)行比較,準(zhǔn)確識(shí)別出報(bào)文所屬的應(yīng)用,繼而得到報(bào)文流量的應(yīng)用類別。
[0013]進(jìn)一步的,所述報(bào)文流量類別包括以下幾類:
[0014]A類:實(shí)時(shí)響應(yīng)要求最高且占用帶寬不大的流量;
[0015]B類:實(shí)時(shí)響應(yīng)要求較高,需要給予一定保障,但該類流量占用帶寬較大,必須根據(jù)當(dāng)前的帶寬使用情況給予一定的帶寬限制;
[0016]C類:實(shí)時(shí)性要求不高,但是占用帶寬很大;
[0017]D類:未知流量。
[0018]再進(jìn)一步的,所述報(bào)文流量的控制策略如下:
[0019]對(duì)于A類報(bào)文流量,享有最高的優(yōu)先權(quán),只要帶寬占用不超過(guò)接口當(dāng)前的總帶寬,就不應(yīng)當(dāng)丟掉;
[0020]對(duì)于B、C類報(bào)文流量,統(tǒng)一分配總的帶寬,但是允許B類流量搶占C類流量的帶寬;并根據(jù)當(dāng)前接口帶寬的占用情況實(shí)時(shí)調(diào)整這兩類流量占用的總帶寬;
[0021]D類流量,采用單機(jī)限速的策略,為接口帶寬與主機(jī)個(gè)數(shù)的比值再乘以若干倍數(shù)。
[0022]進(jìn)一步的,所述動(dòng)態(tài)調(diào)整相應(yīng)帶寬控制策略,即對(duì)不同類別的報(bào)文根據(jù)需求以及當(dāng)前網(wǎng)絡(luò)狀況使用不同的控制策略:在帶寬使用率正常的情況下比如低于40%,那么適當(dāng)提高B類、C類可允許的使用比例;帶寬使用率高于40%時(shí),恢復(fù)其正常比例;在帶寬緊張、使用率較高比如高于70%系統(tǒng)有可能出現(xiàn)擁塞時(shí),適當(dāng)降低B/C類流量的比例;在帶寬緊張、使用率較高比如高于90%時(shí),大幅降低B、C類流量的可允許比例;從而實(shí)現(xiàn)動(dòng)態(tài)調(diào)整動(dòng)態(tài)帶寬控制策略。
[0023]利用本發(fā)明提供的方法,可以更加合理地分配帶寬,讓網(wǎng)頁(yè)訪問(wèn)、網(wǎng)絡(luò)游戲等重要應(yīng)用享有最高優(yōu)先級(jí),同時(shí)根據(jù)網(wǎng)絡(luò)擁塞情況決定p2p的占用比,讓網(wǎng)絡(luò)電視等實(shí)時(shí)性較強(qiáng)的應(yīng)用優(yōu)先搶占P2p部分的帶寬資源,另外也對(duì)未知流量做了較為合理的單機(jī)限速。
【專利附圖】
【附圖說(shuō)明】
[0024]以下結(jié)合附圖和【具體實(shí)施方式】來(lái)進(jìn)一步說(shuō)明本發(fā)明。
[0025]圖1為本發(fā)明中統(tǒng)計(jì)近期接口帶寬占用情況的任務(wù)流程圖;
[0026]圖2為本發(fā)明中定期為不同的通道分配令牌桶的任務(wù)流程圖;
[0027]圖3為本發(fā)明中報(bào)文檢查任務(wù)的流程圖。
【具體實(shí)施方式】
[0028]為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合具體圖示,進(jìn)一步闡述本發(fā)明。
[0029]本發(fā)明提供的基于DPI的分通道應(yīng)用流量控制方法,其先使用DPI技術(shù)準(zhǔn)確地識(shí)別出報(bào)文流量應(yīng)用類別,然后對(duì)不同類別的報(bào)文根據(jù)需求以及當(dāng)前網(wǎng)絡(luò)狀況使用不同的控制策略,從而使帶寬得到合理分配。
[0030]對(duì)于報(bào)文流量應(yīng)用類別的識(shí)別,本發(fā)明使用DPI進(jìn)行流量特征的識(shí)別,從而識(shí)別出報(bào)文流量應(yīng)用類別,具體方案如下:
[0031]該方案維護(hù)一個(gè)應(yīng)用層的特征庫(kù),通過(guò)把報(bào)文的內(nèi)容與特征庫(kù)所描述的所有流量特征進(jìn)行比較,可以準(zhǔn)確識(shí)別出報(bào)文所屬的應(yīng)用,繼而確定應(yīng)用類別。另外為了提高報(bào)文識(shí)別準(zhǔn)確度,可以輔助一些其他方法如P2p主動(dòng)探測(cè)、常用應(yīng)用服務(wù)器ip、端口號(hào)以及DFI技術(shù)等。通過(guò)以上方法還不能識(shí)別出的歸為未知流量。
[0032]在本發(fā)明的方案中根據(jù)實(shí)際情況將報(bào)文流量的應(yīng)用類別分為以下幾類:
[0033]A類,實(shí)時(shí)響應(yīng)要求最高且占用帶寬不大的流量,這類流量與大部分用戶最重要的上網(wǎng)體驗(yàn)直接相關(guān),在任何時(shí)候都不應(yīng)該遭受除單機(jī)限制以外的擁塞。這類流量有網(wǎng)頁(yè)訪問(wèn),網(wǎng)絡(luò)游戲等。
[0034]B類,實(shí)時(shí)響應(yīng)要求較高,需要給予一定保障,但是該類流量占用帶寬較大,必須根據(jù)當(dāng)前的帶寬使用情況給予一定的帶寬限制。這類流量有在線視頻,在線音樂(lè),網(wǎng)絡(luò)電視坐寸ο
[0035]C類,這類流量一般是實(shí)時(shí)性要求不高,但是占用帶寬很大,如bt、迅雷等p2p工具下載流量。對(duì)于這類流量需要給予較大的帶寬限制,以免影響到A類和B類流量。
[0036]D類,這類流量一般是未知流量。因?yàn)闊o(wú)法確定流量的類別,所以不能對(duì)其盲目限速,但又不能任其占用帶寬,因此采用的辦法是對(duì)其單機(jī)限速。
[0037]針對(duì)上述不同類別的流量,使用不同的控制策略,具體如下:
[0038]針對(duì)A類流量,這類流量享有最高的優(yōu)先權(quán),只要帶寬占用不超過(guò)接口當(dāng)前的總帶寬,就不應(yīng)當(dāng)丟掉。
[0039]針對(duì)B、C類流量,這兩類流量有相似之處,又有不同之處。因此可以為它們統(tǒng)一分配總的帶寬,但是由于B類流量的實(shí)時(shí)性要求較高,因此應(yīng)當(dāng)允許B類流量搶占C類流量的帶寬。另外由于這兩類流量都對(duì)帶寬的占用比較大,因此應(yīng)該根據(jù)當(dāng)前接口帶寬的占用情況適當(dāng)?shù)卣{(diào)整這兩類流量占用的總帶寬,當(dāng)接口帶寬較為寬松的時(shí)候可以適當(dāng)提高比例。
[0040]針對(duì)D類流量,由于是未知流量,有可能是重要流量,也有可能是p2p下載等,因此應(yīng)該對(duì)其采用單機(jī)限速的策略,一般為接口帶寬與主機(jī)個(gè)數(shù)的比值再乘以若干倍數(shù)。
[0041]對(duì)于上述的分通道應(yīng)用流量控制,本發(fā)明通過(guò)如下一具體實(shí)例進(jìn)一步說(shuō)明。
[0042]該實(shí)例,在寬帶路由器中應(yīng)用本發(fā)明的方案。整個(gè)方案實(shí)施包括三個(gè)部分:partA:定時(shí)器任務(wù)1,負(fù)責(zé)統(tǒng)計(jì)近期接口的擁塞情況;partB:定時(shí)器任務(wù)2,負(fù)責(zé)為不同通道分配流量桶;partC:報(bào)文檢查任務(wù)。
[0043]其中,Part A:
[0044]定時(shí)器任務(wù)1,超時(shí)時(shí)間為2s,主要任務(wù)是統(tǒng)計(jì)近期接口帶寬占用情況。該任務(wù)具體工作如下(參加圖1):用Iimitlevel表示接口帶寬擁塞的次數(shù),每隔2s做一次統(tǒng)計(jì),如果當(dāng)前接口擁塞就加I,如果接口寬松就減I。Iimitlevel值越大表示最近帶寬資源越緊張,如果Iimitlevel的值為O,說(shuō)明最近帶寬占用很少。
[0045]partB:
[0046]定時(shí)器任務(wù)2,超時(shí)時(shí)間為200ms,主要是定期為不同的通道分配令牌桶,以字節(jié)的形式分配,例如為通道I總共分配2000字節(jié),就代表該通道內(nèi)只能通過(guò)2000字節(jié)的流量,如果報(bào)文長(zhǎng)度超過(guò)剩余的流量就丟棄。該任務(wù)具體工作如下(參加圖2):
[0047]1.將接口上傳和下載帶寬與流量分配時(shí)間間隔(默認(rèn)200ms)相乘,計(jì)算出一次分配的上傳和下載的總的字節(jié)數(shù)up和down。
[0048]2.根據(jù)手動(dòng)配置的智能流控百分比smart_percent (默認(rèn)70%,高于該比例,可認(rèn)為接口帶寬緊張,有可能擁塞,需降低B、C類流量比例)和當(dāng)前接口擁塞情況,動(dòng)態(tài)地計(jì)算出當(dāng)前B類和C類流量帶寬占用的總的百分比consum_percent:
[0049]如果Iimitlevel的值為O,說(shuō)明最近帶寬占用很少,則consum_percent=smart_percent ;
[0050]如果同時(shí)當(dāng)前接口比較寬松,還可以適當(dāng)乘以一個(gè)比例如乘以1.1倍;
[0051]如果Iimitlevel的值大于O,則依據(jù)Iimitlevel的大小適當(dāng)?shù)亟oconsum_percent打個(gè)折扣,比如乘以0.8的系數(shù)。
[0052]3.將 consum_percent 中的大部分比例比如其中 60% (即 consum_percent*0.6)預(yù)留給B類流量,剩下的留給C類流量,這樣得到C類流量的百分比p2p_perCent。同時(shí)C類流量只能占用p2p_percent部分的帶寬,而B(niǎo)類流量可以占用(consum_percent_p2p_percent)的帶寬,而(consum_percent_p2p_percent)要大于 p2p_percent,即 B 類流量允許比例比C類流量的比例要大,由此使得B類流量具有較高的優(yōu)先級(jí)。
[0053]4.將up和down (將接口上傳和下載帶寬與流量分配時(shí)間間隔(默認(rèn)200ms)相乘,可計(jì)算出一次分配的上傳和下載的總的字節(jié)數(shù)up和down)分配給A類流量,即A通道,累加到bytes_up, bytes_down中,這里bytes_up, bytes_down分別為A通道的可允許通過(guò)的上傳、下載的流量額度;將up和down乘以consum_percent得到的該次分配的B、C流量的上傳和下載總字節(jié)數(shù)分配給B通道,累加到videobytes_up, videobytes_down中,這里videobytes_up, videobytes_down分別為B通道的可允許通過(guò)的上傳、下載的流量額度。將up和down乘以p2p_percent得到該次分配的C流量的上傳和下載字節(jié)數(shù),累加到p2pbytpes_up, p2pbytes_down 中,這里 p2pbytpes_up, p2pbytes_down 分別為 C 通道的可允許通過(guò)的上傳、下載的流量額度。
[0054]partC:
[0055]報(bào)文檢查任務(wù),該任務(wù)具體工作如下(參考圖3):
[0056]1.當(dāng)一個(gè)報(bào)文進(jìn)入路由器時(shí),首先通過(guò)DPI技術(shù)識(shí)別出該報(bào)文所屬的應(yīng)用類別。
[0057]2.如果是A類流量,則根據(jù)上傳還是下載更新bytes_up或bytes_down。如果是B類流量,則更新videobytes_up或videobytes_down。如果是C類流量,則更新p2pbytpes_up 或 p2pbytes_down。
[0058]更新的時(shí)候,使用當(dāng)前通道已分配到的總字節(jié)數(shù)減去當(dāng)前報(bào)文的字節(jié)數(shù),如果不夠減就將該報(bào)文丟掉。這樣就限制了 P2p和網(wǎng)絡(luò)視頻類流量的帶寬占用比例,同時(shí)又讓網(wǎng)絡(luò)視頻可以搶占p2p的流量。
[0059]另外如果該報(bào)文是D類流量,即未知流量,則走單機(jī)限速的通道,當(dāng)超過(guò)單機(jī)限制帶寬時(shí),就將該報(bào)文丟掉。
[0060]由上述實(shí)例可知,利用上述應(yīng)用本發(fā)明方案的寬帶路由器可以在網(wǎng)吧等場(chǎng)所對(duì)帶寬進(jìn)行管理:一方面使得瀏覽網(wǎng)頁(yè)、網(wǎng)絡(luò)游戲等重要應(yīng)用能優(yōu)先得到帶寬保證,另一方面在帶寬允許的情況下又必須讓網(wǎng)絡(luò)視頻等實(shí)時(shí)性較強(qiáng)的應(yīng)用享有較高的優(yōu)先級(jí)。
[0061]以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說(shuō)明書(shū)中描述的只是說(shuō)明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書(shū)及其等效物界定。
【權(quán)利要求】
1.基于DPI識(shí)別的分通道應(yīng)用流量控制方法,其特征在于,所述控制方法首先利用DPI識(shí)別出報(bào)文流量的應(yīng)用類別,再根據(jù)不同應(yīng)用類別報(bào)文流量使用對(duì)應(yīng)的帶寬控制策略,最后根據(jù)當(dāng)前接口帶寬的占用情況,依據(jù)不同應(yīng)用類別報(bào)文流量對(duì)帶寬的要求,實(shí)時(shí)動(dòng)態(tài)調(diào)整相應(yīng)帶寬控制策略。
2.根據(jù)權(quán)利要求1所述的基于DPI識(shí)別的分通道應(yīng)用流量控制方法,其特征在于,在識(shí)別報(bào)文流量類別時(shí),首先維護(hù)一個(gè)應(yīng)用層的特征庫(kù),利用DPI識(shí)別出報(bào)文的流量特征,通過(guò)將報(bào)文的流量特征與特征庫(kù)進(jìn)行比較,準(zhǔn)確識(shí)別出報(bào)文所屬的應(yīng)用,繼而得到報(bào)文流量的應(yīng)用類別。
3.根據(jù)權(quán)利要求1或2所述的基于DPI識(shí)別的分通道應(yīng)用流量控制方法,其特征在于,所述報(bào)文流量類別包括以下幾類: A類:實(shí)時(shí)響應(yīng)要求最高且占用帶寬不大的流量; B類:實(shí)時(shí)響應(yīng)要求較高,需要給予一定保障,但該類流量占用帶寬較大,必須根據(jù)當(dāng)前的帶寬使用情況給予一定的帶寬限制; C類:實(shí)時(shí)性要求不高,但是占用帶寬很大; D類:未知流量。
4.根據(jù)權(quán)利要求3所述的基于DPI識(shí)別的分通道應(yīng)用流量控制方法,其特征在于,所述報(bào)文流量的控制策略如下: 對(duì)于A類報(bào)文流量,享有最高的優(yōu)先權(quán),只要帶寬占用不超過(guò)接口當(dāng)前的總帶寬,就不應(yīng)當(dāng)丟掉; 對(duì)于B、C類報(bào)文流量,統(tǒng)一分配總的帶寬,但是允許B類流量搶占C類流量的帶寬;并根據(jù)當(dāng)前接口帶寬的占用情況實(shí)時(shí)調(diào)整這兩類流量占用的總帶寬; D類流量,采用單機(jī)限速的策略,為接口帶寬與主機(jī)個(gè)數(shù)的比值再乘以若干倍數(shù)。
5.根據(jù)權(quán)利要求1所述的基于DPI識(shí)別的分通道應(yīng)用流量控制方法,其特征在于,所述動(dòng)態(tài)調(diào)整相應(yīng)帶寬控制策略,即對(duì)不同類別的報(bào)文根據(jù)需求以及當(dāng)前網(wǎng)絡(luò)狀況使用不同的控制策略:在帶寬使用率正常的情況下低于40%,那么適當(dāng)提高B類、C類可允許的使用比例;帶寬使用率高于40%時(shí),恢復(fù)其正常比例;在帶寬緊張、使用率較高比如高于70%系統(tǒng)有可能出現(xiàn)擁塞時(shí),適當(dāng)降低B/C類流量的比例;在帶寬緊張、使用率較高比如高于90%時(shí),大幅降低B、C類流量的可允許比例;從而實(shí)現(xiàn)動(dòng)態(tài)調(diào)整動(dòng)態(tài)帶寬控制策略。
【文檔編號(hào)】H04L12/801GK104243332SQ201310247193
【公開(kāi)日】2014年12月24日 申請(qǐng)日期:2013年6月20日 優(yōu)先權(quán)日:2013年6月20日
【發(fā)明者】汪革, 彭雙庭, 龔超, 竺文輝 申請(qǐng)人:上海博達(dá)數(shù)據(jù)通信有限公司