專利名稱:一種數(shù)據(jù)流分類方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)流分類方法,屬數(shù)據(jù)通信技術(shù)領(lǐng)域。
背景技術(shù):
IP報(bào)文的流分類過(guò)程,是對(duì)IP報(bào)文的多個(gè)數(shù)據(jù)段進(jìn)行匹配,并輸出匹配結(jié)果的過(guò)程。流分類的依據(jù)通常為IP報(bào)文的源IP地址、目的IP地址、協(xié)議類型、源端口號(hào)、目的端口號(hào)等五個(gè)參數(shù),也稱為“五元組”。對(duì)于這五個(gè)參數(shù)的匹配通常分別有固定的模式。其中,IP的源和目的地址通常采用IP地址與前綴(或掩碼)的方式進(jìn)行匹配,即若IP地址前綴的指定長(zhǎng)度相同,則認(rèn)為互相匹配。其中,協(xié)議類型的匹配通常采用完全匹配(或者精確匹配)的方式,即協(xié)議類型與設(shè)定值相等才認(rèn)為互相匹配。其中,端口號(hào)的匹配通常采用完全匹配或者范圍匹配的方式,采用范圍匹配方式下,參數(shù)值落在所設(shè)定的區(qū)間即認(rèn)為相互匹配。
為便于快速查找,用戶設(shè)定的規(guī)則通常以樹的方式存儲(chǔ),以下將用于流分類查找而生成的樹形數(shù)據(jù)結(jié)構(gòu)稱為流分類規(guī)則樹或者規(guī)則樹。已有技術(shù)中,一個(gè)完整的流分類過(guò)程如圖1所示,可以包括以下幾個(gè)步驟1、用戶根據(jù)某種需要生成一條規(guī)則;2、所生成的規(guī)則經(jīng)過(guò)計(jì)算,加入到現(xiàn)有的規(guī)則樹中;3、將所有輸入的數(shù)據(jù)與規(guī)則樹進(jìn)行匹配,輸出匹配結(jié)果;4、根據(jù)輸出的匹配結(jié)果,采取相應(yīng)的動(dòng)作,例如使報(bào)文通過(guò)或丟棄。
按照上述方法對(duì)輸入數(shù)據(jù)(IP報(bào)文)進(jìn)行規(guī)則匹配時(shí),使用的參數(shù)數(shù)目相對(duì)較多,并且各參數(shù)的匹配方式通常不一致,這就使得流分類所用的用于快速查找的樹的生成算法較為復(fù)雜。特別需要指出的是,不同的流分類規(guī)則之間可能會(huì)有重疊或者包含關(guān)系,使得一組輸入?yún)?shù)可以與一個(gè)以上的流分類規(guī)則相匹配,這種重疊或包含關(guān)系也需要在生成規(guī)則樹的時(shí)候加以體現(xiàn)。目前的做法是,在每新增或刪除一條規(guī)則時(shí),對(duì)流分類規(guī)則樹進(jìn)行重建,以重新構(gòu)造流分類規(guī)則樹的結(jié)構(gòu)。重新計(jì)算、構(gòu)造流分類規(guī)則樹的運(yùn)算時(shí)間,將隨著已經(jīng)存在的規(guī)則數(shù)目的增加而增加,當(dāng)規(guī)則數(shù)量增長(zhǎng)到一定程度時(shí),重新構(gòu)造流分類規(guī)則樹的時(shí)間,亦即規(guī)則生效的時(shí)間將長(zhǎng)得難以容忍。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種數(shù)據(jù)流分類方法,以克服已有技術(shù)的缺點(diǎn),縮短規(guī)則樹生效的時(shí)間。
本發(fā)明提出的數(shù)據(jù)流分類方法,包括以下各步驟1、用戶根據(jù)安全或管理的需要,生成一條規(guī)則;2、將上述規(guī)則加入到附加規(guī)則樹中;3、定期將附加規(guī)則樹中的所有規(guī)則加入到主規(guī)則樹中;4、將輸入數(shù)據(jù)的特征分別與主規(guī)則樹和附加規(guī)則樹進(jìn)行匹配,根據(jù)匹配結(jié)果,對(duì)當(dāng)前輸入數(shù)據(jù)采取相應(yīng)動(dòng)作。
上述方法的步驟1和步驟2之間,還包括判斷該規(guī)則是否為完全匹配規(guī)則,若是,則將該規(guī)則加入到完全匹配規(guī)則樹中,否則執(zhí)行步驟2;且在步驟3和步驟4之間,還包括將所有輸入數(shù)據(jù)的特征與完全匹配規(guī)則樹進(jìn)行匹配,若匹配,則對(duì)當(dāng)前輸入數(shù)據(jù)采取相應(yīng)動(dòng)作,否則執(zhí)行步驟4。
上述方法中,將附加規(guī)則樹中的所有規(guī)則加入到主規(guī)則樹中的時(shí)間間隔為規(guī)則樹計(jì)算時(shí)間的2-3倍。
上述方法中,對(duì)當(dāng)前輸入數(shù)據(jù)采取的相應(yīng)動(dòng)作包括“通過(guò)”、“丟棄”、“重定向到制定主機(jī)”、“記錄到日志”、“重新標(biāo)記”、“進(jìn)行流量限制”或“進(jìn)行帶寬保證”中的任何一種。
本發(fā)明提出的快速生效的數(shù)據(jù)流分類方法,其優(yōu)點(diǎn)是在已經(jīng)存在大量流分類規(guī)則時(shí),可以使新增的流分類規(guī)則立即生效。
圖1是已有技術(shù)中進(jìn)行數(shù)據(jù)流分類的示意圖。
圖2是采用附加規(guī)則樹實(shí)現(xiàn)數(shù)據(jù)流分類過(guò)程示意圖。
圖3是增加完全匹配規(guī)則樹后的數(shù)據(jù)流分類過(guò)程示意圖。
具體實(shí)施例方式
本發(fā)明提出的數(shù)據(jù)流分類方法,其流程如圖2所示,首先用戶根據(jù)安全或管理的需要,生成一條規(guī)則;將該規(guī)則加入到附加規(guī)則樹中;定期將附加規(guī)則樹中的所有規(guī)則加入到主規(guī)則樹中;最后將輸入數(shù)據(jù)的特征分別與主規(guī)則樹和附加規(guī)則樹進(jìn)行匹配,根據(jù)匹配結(jié)果,對(duì)當(dāng)前輸入數(shù)據(jù)采取相應(yīng)動(dòng)作。
上述方法中,還可以首先判斷用戶根據(jù)安全或管理需要生成的規(guī)則是否為完全匹配規(guī)則,若是,則將該規(guī)則加入到完全匹配規(guī)則樹中,然后將所有輸入數(shù)據(jù)的特征與完全匹配規(guī)則樹進(jìn)行匹配,若匹配,則對(duì)當(dāng)前輸入數(shù)據(jù)采取相應(yīng)動(dòng)作,其流程如圖3所示。
上述方法中,將附加規(guī)則樹中的所有規(guī)則加入到主規(guī)則樹中的時(shí)間間隔為規(guī)則樹計(jì)算時(shí)間的2-3倍。
上述方法中,對(duì)當(dāng)前輸入數(shù)據(jù)采取的相應(yīng)動(dòng)作包括“通過(guò)”、“丟棄”、“重定向到制定主機(jī)”、“記錄到日志”、“重新標(biāo)記”、“進(jìn)行流量限制”或“進(jìn)行帶寬保證”中的任何一種。
在數(shù)據(jù)通信設(shè)備中,用戶的安全或管理需要,可能是檢測(cè)到某種特征的報(bào)文,例如惡意的資源占用,攻擊等。另外,出于管理的需要,在數(shù)據(jù)通信設(shè)備中,用戶可能會(huì)配置哪些主機(jī)可以訪問(wèn)哪些服務(wù)器,哪些主機(jī)不可以訪問(wèn)哪些服務(wù)器。在一些網(wǎng)絡(luò)中心,出于安全或者其他需要,可能會(huì)不允許某些服務(wù)器被不信任的主機(jī)訪問(wèn)。
將附加規(guī)則樹中的所有規(guī)則加入到主規(guī)則樹中的時(shí)間間隔根據(jù)用戶的具體應(yīng)用靈活決定。例如如果規(guī)則的內(nèi)容頻繁變動(dòng),則需要將時(shí)間間隔減小;如果規(guī)則內(nèi)容比較穩(wěn)定,則可以適當(dāng)增加時(shí)間間隔。一般說(shuō)來(lái),這個(gè)時(shí)間應(yīng)該與規(guī)則樹的計(jì)算時(shí)間相關(guān),例如,當(dāng)存在10000條規(guī)則時(shí),一臺(tái)PII 400的機(jī)器大約需要計(jì)算30秒,那么間隔時(shí)間大約在一分鐘到數(shù)分鐘之間比較合適。
一個(gè)網(wǎng)絡(luò)中心的數(shù)據(jù)通信設(shè)備,需要配置僅有滿足某種特征(源地址)的主機(jī)才可以訪問(wèn),那么查找流分類規(guī)則樹的目的就是判斷當(dāng)前的報(bào)文是否滿足該特征,如果滿足,則報(bào)文可以通過(guò);如果不滿足,報(bào)文將被丟棄(過(guò)濾)。這樣,輸入的數(shù)據(jù)就是這個(gè)報(bào)文(準(zhǔn)確地說(shuō),是報(bào)文的關(guān)鍵特征,例如源地址、目的地址等);而規(guī)則樹實(shí)際上就是對(duì)各種類別的報(bào)文的一個(gè)描述。匹配結(jié)果就是報(bào)文是否滿足已經(jīng)定義的一種特征,而動(dòng)作就是是否允許通過(guò)或丟棄。
本發(fā)明采用附加規(guī)則樹來(lái)輔助原有的規(guī)則樹進(jìn)行規(guī)則的匹配。所以稱原有的規(guī)則樹為“主規(guī)則樹”,新增的規(guī)則樹為“附加規(guī)則樹”。主規(guī)則樹保存已經(jīng)完成計(jì)算的所有規(guī)則;附加規(guī)則樹則可視為主規(guī)則樹的緩存,在主規(guī)則樹未完成計(jì)算時(shí),保存新增的規(guī)則。附加的規(guī)則樹將保持較少的規(guī)則數(shù)目,定期將附加的規(guī)則樹中的規(guī)則重新計(jì)算、歸并到主規(guī)則樹中。在查找時(shí),先后進(jìn)行兩個(gè)規(guī)則樹的查找,根據(jù)查找結(jié)果的不同,采取不同的動(dòng)作。
在兩個(gè)樹的構(gòu)成方式上采用不同的策略。附加樹中的規(guī)則數(shù)目必需保持在一定的數(shù)目以下,新增的規(guī)則首選下發(fā)到附加規(guī)則樹中。由于附加規(guī)則樹的規(guī)模比較小,可以在較短的時(shí)間內(nèi)完成樹的重新構(gòu)造,即規(guī)則可以在很短的時(shí)間內(nèi)生效。同時(shí),附加樹的規(guī)則定期歸并到主規(guī)則樹中,使得附加規(guī)則樹的規(guī)??梢砸恢北3衷诒容^小的程度。附加規(guī)則樹到主規(guī)則樹的歸并在規(guī)則數(shù)目較多的情況下將是一個(gè)比較費(fèi)時(shí)的操作,但是由于在操作過(guò)程中規(guī)則已經(jīng)在附加規(guī)則樹中生效,所以歸并操作可以看作是“后臺(tái)”操作,并不影響規(guī)則的生效時(shí)間。
權(quán)利要求
1.一種數(shù)據(jù)流分類方法,其特征在于該方法包括以下各步驟(1)用戶根據(jù)安全或管理的需要,生成一條規(guī)則;(2)將上述規(guī)則加入到附加規(guī)則樹中;(3)定期將附加規(guī)則樹中的所有規(guī)則加入到主規(guī)則樹中;(4)將輸入數(shù)據(jù)的特征分別與主規(guī)則樹和附加規(guī)則樹進(jìn)行匹配,根據(jù)匹配結(jié)果,對(duì)當(dāng)前輸入數(shù)據(jù)采取相應(yīng)動(dòng)作。
2.如權(quán)利要求1所述的方法,其特征在于在步驟(1)和步驟(2)之間還包括判斷該規(guī)則是否為完全匹配規(guī)則,若是,則將該規(guī)則加入到完全匹配規(guī)則樹中,否則執(zhí)行步驟(2);且在步驟(3)和步驟(4)之間還包括將所有輸入數(shù)據(jù)的特征與完全匹配規(guī)則樹進(jìn)行匹配,若匹配,則對(duì)當(dāng)前輸入數(shù)據(jù)采取相應(yīng)動(dòng)作,否則執(zhí)行步驟(4)。
3.如權(quán)利要求1所述的方法,其特征在于步驟(3)中將附加規(guī)則樹中的所有規(guī)則加入到主規(guī)則樹中的時(shí)間間隔為規(guī)則樹計(jì)算時(shí)間的2-3倍。
4.如權(quán)利要求1或2所述的方法,其特征在于,對(duì)當(dāng)前輸入數(shù)據(jù)采取的相應(yīng)動(dòng)作包括“通過(guò)”、“丟棄”、“重定向到制定主機(jī)”、“記錄到日志”、“重新標(biāo)記”、“進(jìn)行流量限制”或“進(jìn)行帶寬保證”中的任何一種。
全文摘要
本發(fā)明涉及一種數(shù)據(jù)流分類方法,屬數(shù)據(jù)通信技術(shù)領(lǐng)域。本方法首先由用戶根據(jù)安全或管理的需要,生成一條規(guī)則;將上述規(guī)則加入到新建的附加規(guī)則樹中;定期將附加規(guī)則樹中的所有規(guī)則加入到主規(guī)則樹中;將輸入數(shù)據(jù)的特征分別與主規(guī)則樹和附加規(guī)則樹進(jìn)行匹配,根據(jù)匹配結(jié)果,對(duì)當(dāng)前輸入數(shù)據(jù)采取相應(yīng)動(dòng)作。本發(fā)明的方法,其優(yōu)點(diǎn)是在已經(jīng)存在大量流分類規(guī)則時(shí),可以使新增的流分類規(guī)則立即生效。
文檔編號(hào)H04L12/24GK1494278SQ0215011
公開日2004年5月5日 申請(qǐng)日期2002年11月2日 優(yōu)先權(quán)日2002年11月2日
發(fā)明者劉俊輝 申請(qǐng)人:華為技術(shù)有限公司