[發(fā)明專利]基于硬件多級(jí)表的輸出流量控制方法無效
申請(qǐng)?zhí)枺?/td> | 201110003670.5 | 申請(qǐng)日: | 2011-01-10 |
公開(公告)號(hào): | CN102075423A | 公開(公告)日: | 2011-05-25 |
發(fā)明(設(shè)計(jì))人: | 唐勇;陳曙暉;李韜;蘇金樹;王勇軍;趙國(guó)鴻;宣蕾;陸華彪;陸華彪 | 申請(qǐng)(專利權(quán))人: | 中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué) |
主分類號(hào): | H04L12/56 | 分類號(hào): | H04L12/56 |
代理公司: | 國(guó)防科技大學(xué)專利服務(wù)中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 國(guó)省代碼: | 湖南;43 |
權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關(guān)鍵詞: | 基于 硬件 多級(jí) 輸出 流量 控制 方法 | ||
1.一種基于硬件多級(jí)表的輸出流量控制方法,其特征在于包括以下步驟:
第一步,構(gòu)建高速網(wǎng)絡(luò)內(nèi)容監(jiān)控系統(tǒng),高速網(wǎng)絡(luò)內(nèi)容監(jiān)控系統(tǒng)由輸入卡、輸出卡、控制主機(jī)、后端分析系統(tǒng)組成;輸入卡中增加優(yōu)先級(jí)模塊,優(yōu)先級(jí)模塊與硬件DPI模塊和輸入卡的輸出端口相連,它從硬件DPI接收經(jīng)深度報(bào)文檢測(cè)處理的報(bào)文,確定報(bào)文的優(yōu)先級(jí),然后將確定了優(yōu)先級(jí)的報(bào)文傳送給輸出卡;輸出卡與輸入卡、控制主機(jī)、后端分析系統(tǒng)相連,一個(gè)輸出卡有一個(gè)輸入端口和若干輸出端口,在輸出卡各輸出端口增加流量控制模塊,各輸出端口的流量控制模塊與輸出卡的輸入端口、控制主機(jī)、后端分析系統(tǒng)相連,流量控制模塊決定對(duì)報(bào)文發(fā)送或丟棄;控制主機(jī)與輸出卡相連,其上運(yùn)行流量控制軟件,流量控制軟件統(tǒng)計(jì)流量,設(shè)置丟棄標(biāo)志位,控制流量控制模塊進(jìn)行流量控制;
優(yōu)先級(jí)模塊由控制邏輯和優(yōu)先級(jí)表組成,控制邏輯分為報(bào)文取頭邏輯和加報(bào)文頭邏輯,報(bào)文取頭邏輯接收硬件DPI模塊輸出的頭部帶有規(guī)則ID號(hào)的報(bào)文,將其頭部的規(guī)則ID號(hào)取出,并查找優(yōu)先級(jí)表,獲得規(guī)則ID與優(yōu)先級(jí)號(hào)的對(duì)應(yīng)關(guān)系,找出該規(guī)則ID對(duì)應(yīng)的優(yōu)先級(jí)號(hào),再由加報(bào)文頭邏輯將優(yōu)先級(jí)號(hào)加在報(bào)文頭部;優(yōu)先級(jí)表的每個(gè)表項(xiàng)包括規(guī)則ID值和優(yōu)先級(jí)號(hào)兩個(gè)域,規(guī)則ID值是此報(bào)文匹配的規(guī)則號(hào),優(yōu)先級(jí)號(hào)是此規(guī)則ID值對(duì)應(yīng)的優(yōu)先級(jí),一個(gè)規(guī)則ID值對(duì)應(yīng)一個(gè)優(yōu)先級(jí)號(hào),優(yōu)先級(jí)號(hào)越小表示優(yōu)先級(jí)越高,這兩個(gè)域的項(xiàng)數(shù)均為P個(gè),P為正整數(shù);
輸出卡的每一個(gè)輸出端口對(duì)應(yīng)一個(gè)流量控制模塊,每一個(gè)流量控制模塊由流量控制邏輯和P個(gè)流控表組成,即每一個(gè)優(yōu)先級(jí)對(duì)應(yīng)一個(gè)流控表;流控表的每一項(xiàng)由序號(hào)ID、字節(jié)數(shù)bytes和丟棄標(biāo)志位discard三個(gè)域構(gòu)成;序號(hào)ID由源IP的最后n位和目的IP的最后k位共n+k位來確定,n、k均為大于等于1小于等于32的正整數(shù);字節(jié)數(shù)表示某一個(gè)表項(xiàng)在規(guī)定時(shí)間內(nèi)的流量大小,丟棄標(biāo)志表示此表項(xiàng)是丟棄還是轉(zhuǎn)發(fā),0為轉(zhuǎn)發(fā),1為丟棄;每個(gè)輸出端口的流量控制模塊的流量控制邏輯與輸出卡的輸入端口、P個(gè)流控表、后端分析系統(tǒng)相連,它從輸出卡的輸入端口接收輸入的報(bào)文并根據(jù)該報(bào)文的優(yōu)先級(jí)確定該報(bào)文對(duì)應(yīng)的優(yōu)先級(jí)的流控表,然后根據(jù)該報(bào)文的源IP地址和目的IP地址查找此流控表的表項(xiàng),讀取丟棄標(biāo)志位discard以決定對(duì)報(bào)文轉(zhuǎn)發(fā)還是丟棄,并對(duì)轉(zhuǎn)發(fā)出去的報(bào)文更新其所在表項(xiàng)的字節(jié)數(shù)bytes;?
第二步,硬件DPI根據(jù)流入輸入卡的報(bào)文的五元組進(jìn)行規(guī)則匹配,每條規(guī)則都有自己的規(guī)則ID號(hào),當(dāng)一個(gè)報(bào)文匹配上某條規(guī)則時(shí),就將此規(guī)則的ID加在報(bào)文頭部,轉(zhuǎn)發(fā)給優(yōu)先級(jí)模塊,優(yōu)先級(jí)模塊根據(jù)報(bào)文頭部的ID值在優(yōu)先級(jí)表中查找相應(yīng)的優(yōu)先級(jí)號(hào),并加在報(bào)文頭部,將帶有優(yōu)先級(jí)號(hào)的報(bào)文送給輸出卡;
第三步,輸出卡的流量控制模塊根據(jù)每個(gè)報(bào)文頭部攜帶的優(yōu)先級(jí)號(hào)確定該報(bào)文對(duì)應(yīng)的優(yōu)先級(jí)的流控表,然后根據(jù)報(bào)文源IP地址的最后n位和目的IP地址的最后k位共n+k位,查找此流控表的第2(n+k)?個(gè)表項(xiàng),然后查看這個(gè)表項(xiàng)的丟棄標(biāo)志位,若丟棄標(biāo)志位為0,則轉(zhuǎn)發(fā)該報(bào)文;若丟棄標(biāo)志位為1,則丟棄該報(bào)文;用???????????????????????????????????????????????表示輸出端口Ai的優(yōu)先級(jí)為j的流控表,1≤i≤Z,1≤j≤M,?表示輸出端口Ai的優(yōu)先級(jí)為j的流控表的第m項(xiàng)的字節(jié)數(shù)的值,表示輸出端口Ai的優(yōu)先級(jí)為j的流控表的第m項(xiàng)的丟棄標(biāo)志位的值,用表示流控表中丟棄標(biāo)志位為0的表項(xiàng)的集合,流量控制模塊的流量控制邏輯按以下步驟對(duì)流量進(jìn)行控制:?
3.1根據(jù)輸入報(bào)文的優(yōu)先級(jí)號(hào)確定該報(bào)文所屬優(yōu)先級(jí)的流控表;
3.2按輸入報(bào)文的源IP地址的最后n位與目的IP地址的最后k位共n+k位查找3.1所述流控表的第2(n+k)項(xiàng);
3.3判斷3.2所述流控表的第2(n+k)項(xiàng)的是否為1,如果為1,則丟棄報(bào)文;否則,將報(bào)文發(fā)送出去;
3.4將發(fā)送出去的報(bào)文的大小加在該報(bào)文對(duì)應(yīng)的表項(xiàng)的字節(jié)數(shù)一項(xiàng)上,進(jìn)行統(tǒng)計(jì);
第四步,流量控制軟件定時(shí)讀取輸出卡各輸出端口的流量控制模塊的所有流控表,對(duì)所有丟棄標(biāo)志位為0的表項(xiàng)的字節(jié)數(shù)域求和,計(jì)算當(dāng)前輸出流量,如果當(dāng)前輸出流量超過設(shè)定的端口流量限制,則以優(yōu)先級(jí)從低到高的順序?qū)⒘骺乇碇械娜舾杀眄?xiàng)的丟棄標(biāo)志位置1,增加硬件丟棄的流量;如果當(dāng)前流量小于端口流量限制,則以優(yōu)先級(jí)從高到低的順序?qū)⒘骺乇碇械娜舾杀眄?xiàng)的丟棄標(biāo)志位置0,減少硬件丟棄的流量:
對(duì)于有A1、A2、……Az?Z個(gè)報(bào)文輸出端口的輸出卡,A1、A2、……Az的限定流量分別為B1、B2、……Bz,A1、A2、……Az分別維護(hù)P個(gè)不同優(yōu)先級(jí)的流控表,流量控制軟件的流程是:?
4.1經(jīng)過時(shí)間間隔T,T小于等于60秒?,流量控制軟件從輸出端口Ai的P個(gè)優(yōu)先級(jí)的流控表中讀取丟棄標(biāo)志位為0的各表項(xiàng)中字節(jié)數(shù)的值并求和,即,1≤i≤Z,Si是當(dāng)前輸出端口Ai實(shí)際輸出總流量,若Si>Bi,則轉(zhuǎn)步驟4.2,否則轉(zhuǎn)步驟4.3;
4.2此時(shí)輸出端口Ai的總輸出流量超過了其負(fù)載限制,采取快丟棄的策略,執(zhí)行步驟如下:
4.2.1?將優(yōu)先級(jí)j置為1;
4.2.2設(shè)超過部分的流量為=Si-Bi,采用多項(xiàng)式時(shí)間的近似算法APPROX_SUBSET_SUM(G,t)在流控表中選擇若干表項(xiàng)的丟棄位置1,使得這些表項(xiàng)的字節(jié)數(shù)之和為,從而恰好將超過部分的流量丟棄;算法輸入為(G,t),G為流控表表項(xiàng)的集合,t是超負(fù)載流量,輸出為G的一個(gè)子集,使得G中表項(xiàng)的字節(jié)數(shù)之和盡可能大但不超過t;如果APPROX_SUBSET_SUM(,)返回空集,則轉(zhuǎn)4.2.2.1;如果APPROX_SUBSET_SUM(,)返回,即全部丟棄也不能滿足要求,則轉(zhuǎn)4.2.2.3;否則轉(zhuǎn)4.2.2.2;
4.2.2.1?不需要再丟棄流量,轉(zhuǎn)4.2.3;
4.2.2.2判定當(dāng)前優(yōu)先級(jí)的流控表是否能夠完成流控要求,即對(duì)所有丟棄標(biāo)志位為0的表項(xiàng)的字節(jié)數(shù)一項(xiàng)求和,設(shè)這個(gè)和為Q,再將Q和超負(fù)載的流量作比較,若Q≥,將APPROX_SUBSET_SUM(,)返回的集合中所有表項(xiàng)的丟棄標(biāo)志位置1;轉(zhuǎn)4.2.3;否則,執(zhí)行4.2.2.3;
4.2.2.3當(dāng)前優(yōu)先級(jí)的流控表不能完成流量丟棄要求,首先將當(dāng)前優(yōu)先級(jí)流控表的所有表項(xiàng)的丟棄標(biāo)志置1,從而丟棄掉此表中的全部流量;剩余的待丟棄流量需要在更高級(jí)流控表中進(jìn)行丟棄,令=-Q,Q為當(dāng)前優(yōu)先級(jí)的流控表中丟棄標(biāo)志位為0的所有表項(xiàng)的字節(jié)數(shù)之和,j=j(luò)+1,轉(zhuǎn)4.2.2;?
4.2.3?完成本次流控,轉(zhuǎn)4.4;
4.3此時(shí)輸出端口Ai的總輸出流量小于其負(fù)載能力,采取慢恢復(fù)的策略,設(shè)此時(shí)輸出端口Ai有丟棄標(biāo)志位被置1的所有流控表中優(yōu)先級(jí)最高的為H,并設(shè)這個(gè)優(yōu)先級(jí)為H的流控表中有F1、F2、……FL個(gè)表項(xiàng)丟棄標(biāo)志位被置1,1≤L≤2(n+k),則選取這些表項(xiàng)中字節(jié)數(shù)最少的一項(xiàng),即min{,?,……},設(shè)為,1≤Y≤L,令此項(xiàng)的丟棄標(biāo)志位為0,即=0;轉(zhuǎn)4.4;
4.4清空所有流控表表項(xiàng)的字節(jié)數(shù),重新開始統(tǒng)計(jì),轉(zhuǎn)4.1。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué),未經(jīng)中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110003670.5/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。