專利名稱:數(shù)據(jù)包過濾方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體地,涉及一種數(shù)據(jù)包過濾方法和裝置。
背景技術(shù):
在數(shù)據(jù)網(wǎng)絡(luò)應(yīng)用中,數(shù)據(jù)包過濾是常見的操作,比如,在具有防火墻的設(shè)備中,需要對(duì)進(jìn)入設(shè)備的數(shù)據(jù)包進(jìn)行掃描,以使符合要求的數(shù)據(jù)包通過,并將不符合要求的數(shù)據(jù)包丟棄。 數(shù)據(jù)包過濾技術(shù)的核心是掃描(或稱為匹配操作),即,將數(shù)據(jù)包的相關(guān)字段中包含的信息(或稱為關(guān)鍵字)與預(yù)先制定的過濾規(guī)則相比較,該預(yù)定的過濾規(guī)則中描述了相關(guān)字段中包含的信息應(yīng)該滿足的要求,進(jìn)行比較操作的目的是判斷信息是否符合要求,然后根據(jù)比較的結(jié)果,執(zhí)行相關(guān)的處理操作,例如,上文提到的使得符合要求的數(shù)據(jù)包通過,將不符合要求的數(shù)據(jù)包丟棄。 目前,數(shù)據(jù)包過濾技術(shù)面臨的問題之一在于匹配速度慢。由于需要提取數(shù)據(jù)包中的關(guān)鍵字信息,然后進(jìn)行比較操作,所以在大流量的數(shù)據(jù)采集和分析的應(yīng)用場(chǎng)景中,數(shù)據(jù)包過濾技術(shù)存在如下兩個(gè)問題一是提取匹配字段信息(或稱為關(guān)鍵字段信息)的速度較慢,二是根據(jù)提取的信息與規(guī)則進(jìn)行匹配的速度較慢。 對(duì)于問題一,由于數(shù)據(jù)包的關(guān)鍵字段信息的提取需要和預(yù)先設(shè)定的規(guī)則保持一致,也就是說,規(guī)則中需要比較哪些字段,則在數(shù)據(jù)包中提取相應(yīng)字段的信息,不同的規(guī)則中需要比較的字段信息可能不同,所以每個(gè)數(shù)據(jù)包提取的信息的位置不固定,提取字段的數(shù)量也有所差異。這就導(dǎo)致了信息字段提取的速度較慢。 對(duì)于問題二,雖然可以采取諸如哈希散列等算法來提高匹配的速度,但是采用這種算法的前提是要快速地提取需要匹配的關(guān)鍵字信息,也就是說,改善問題一是改善問題二的前提,如果僅改善問題二,并不能完全解決數(shù)據(jù)包過濾速度慢的問題。
目前,上述兩個(gè)問題都沒有得到很好地解決。 此外,在相關(guān)技術(shù)中,對(duì)于基于同一 IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包,由于在這多個(gè)IP分片數(shù)據(jù)包中,只有第一個(gè)IP分片數(shù)據(jù)包包括完整的五元組(包括源端/目的端地址、協(xié)議類型、源端/目的端端口號(hào))關(guān)鍵字信息,因此,只能對(duì)第一個(gè)IP分片數(shù)據(jù)包進(jìn)行過濾,無法對(duì)其它的不包括完整的五元組關(guān)鍵字的IP分片數(shù)據(jù)包進(jìn)行過濾,這樣,無法對(duì)基于同一 IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包進(jìn)行有效、正確的過濾處理。
發(fā)明內(nèi)容
考慮到相關(guān)技術(shù)中存在數(shù)據(jù)包過濾速度較慢、無法對(duì)基于同一 IP數(shù)據(jù)報(bào)文的多
個(gè)IP分片數(shù)據(jù)包進(jìn)行有效、正確的過濾處理的問題而提出本發(fā)明,為此,本發(fā)明的主要目
的在于提供一種改進(jìn)的數(shù)據(jù)包過濾方案,以解決相關(guān)技術(shù)中的上述問題至少之一。 為達(dá)到上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了 一種數(shù)據(jù)包過濾方法。 根據(jù)本發(fā)明的數(shù)據(jù)包過濾方法包括接收相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包,其中,多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包都攜帶有相同的多個(gè)關(guān)鍵字;對(duì)多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字中的部分或全部關(guān)鍵字進(jìn)行匹配操作,得到匹配動(dòng)作;根據(jù)多個(gè)關(guān)鍵字,將匹配動(dòng)作配置給多個(gè)數(shù)據(jù)包中的除第一個(gè)數(shù)據(jù)包之外的其余數(shù)據(jù)包。 優(yōu)選地,上述相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包包括以下之一 基于流的多個(gè)數(shù)據(jù)包、基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包。 優(yōu)選地,在接收多個(gè)數(shù)據(jù)包之后,該方法還包括對(duì)于多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包,分別提取其攜帶的多個(gè)關(guān)鍵字。 優(yōu)選地,上述對(duì)多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字中的部分或全部關(guān)鍵字進(jìn)行匹配的操作具體包括將提取的多個(gè)關(guān)鍵字中的部分或全部關(guān)鍵字與預(yù)先設(shè)置的匹配信息進(jìn)行比較;根據(jù)比較結(jié)果確定匹配動(dòng)作。 優(yōu)選地,上述根據(jù)多個(gè)關(guān)鍵字,將匹配動(dòng)作配置給多個(gè)數(shù)據(jù)包中其余所有的數(shù)據(jù)包的操作具體包括對(duì)第一個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn),建立多個(gè)關(guān)鍵字與匹配動(dòng)作之間的映射關(guān)系;對(duì)于其余數(shù)據(jù)包中的每一個(gè)數(shù)據(jù)包,分別對(duì)從其提取的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn);對(duì)于其余數(shù)據(jù)包中通過校驗(yàn)的數(shù)據(jù)包,根據(jù)映射關(guān)系,將與多個(gè)關(guān)鍵字對(duì)應(yīng)的匹配動(dòng)作配置給該數(shù)據(jù)包。 優(yōu)選地,該方法還包括對(duì)第一個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn),得到標(biāo)準(zhǔn)校驗(yàn)值;對(duì)其余數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn),得到對(duì)比校驗(yàn)值;對(duì)于其對(duì)比校驗(yàn)值與標(biāo)準(zhǔn)校驗(yàn)值一致的數(shù)據(jù)包,判斷通過校驗(yàn)。 優(yōu)選地,在將匹配動(dòng)作配置給其余所有的數(shù)據(jù)包之后,該方法還包括解除映射關(guān)系。 根據(jù)本發(fā)明的另 一方面,提供了 一種數(shù)據(jù)包過濾裝置。 根據(jù)本發(fā)明的數(shù)據(jù)包過濾裝置包括接收模塊,用于接收相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包,其中,多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包都攜帶有相同的多個(gè)關(guān)鍵字;匹配模塊,用于對(duì)接收模塊接收到的多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字中的部分或全部關(guān)鍵字進(jìn)行匹配操作;確定模塊,用于根據(jù)匹配模塊的匹配結(jié)果確定匹配動(dòng)作;配置模塊,用于將匹配動(dòng)作配置給多個(gè)數(shù)據(jù)包中的除第一個(gè)數(shù)據(jù)包之外的其余數(shù)據(jù)包。 優(yōu)選地,上述配置模塊包括設(shè)置子模塊,用于建立關(guān)鍵字與匹配動(dòng)作之間的映射關(guān)系;校驗(yàn)子模塊,用于對(duì)數(shù)據(jù)包中的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn);配置子模塊,用于對(duì)于通過檢驗(yàn)子模塊校驗(yàn)的數(shù)據(jù)包,根據(jù)設(shè)置子模塊建立的映射關(guān)系,將與多個(gè)關(guān)鍵字對(duì)應(yīng)的匹配動(dòng)作配置給該數(shù)據(jù)包。 優(yōu)選地,上述相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包包括以下之一 基于流的多個(gè)數(shù)據(jù)包、基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包。 通過本發(fā)明的上述技術(shù)方案,通過對(duì)包括相同關(guān)鍵字的相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包進(jìn)行匹配操作,將得到的匹配動(dòng)作配置給其它的包括相同關(guān)鍵字的數(shù)據(jù)包,能夠提高數(shù)據(jù)包匹配的速度,從而能夠解決相關(guān)技術(shù)中存在的數(shù)據(jù)包過濾速度較慢的問題,進(jìn)而能夠節(jié)省系統(tǒng)開銷、提高系統(tǒng)處理效率。并且,通過本發(fā)明的技術(shù)方案,還能夠?qū)Π鄠€(gè)IP分片數(shù)據(jù)的數(shù)據(jù)包進(jìn)行過濾處理。 本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明
5書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中
圖1是根據(jù)本發(fā)明方法實(shí)施例的數(shù)據(jù)包過濾方法的處理流程 圖2是根據(jù)本發(fā)明方法實(shí)施例的數(shù)據(jù)包過濾方法的具體實(shí)施過程的示意 圖3是根據(jù)本發(fā)明方法實(shí)施例的數(shù)據(jù)包過濾方法的另一具體實(shí)施過程的示意 圖4是根據(jù)本發(fā)明方法實(shí)施例的數(shù)據(jù)包過濾方法的具體實(shí)施過程的流程 圖5是根據(jù)本發(fā)明裝置實(shí)施例的數(shù)據(jù)包過濾裝置的結(jié)構(gòu)框 圖6是根據(jù)本發(fā)明裝置實(shí)施例的數(shù)據(jù)包過濾裝置的優(yōu)選結(jié)構(gòu)框圖。
具體實(shí)施方式
功能概述 考慮到相關(guān)技術(shù)中存在的數(shù)據(jù)包過濾速度慢的問題,基于數(shù)據(jù)流的特性,提出了一種改進(jìn)的數(shù)據(jù)包過濾方案,在本發(fā)明實(shí)施例中,利用了相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包(例如,基于流的多個(gè)數(shù)據(jù)包或者基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包)中包括相同關(guān)鍵字信息的特點(diǎn),對(duì)相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包進(jìn)行匹配、得到匹配動(dòng)作,并將得到的匹配動(dòng)作配置給其余的數(shù)據(jù)包,從而能夠避免對(duì)所有數(shù)據(jù)包都進(jìn)行關(guān)鍵字信息的匹配,能夠提高數(shù)據(jù)包過濾的處理速度和處理效率。 需要說明的是,如果不沖突,本發(fā)明實(shí)施例以及實(shí)施例中的各個(gè)特征可以相互結(jié)合,均在本發(fā)明的保護(hù)范圍之內(nèi)。 另外,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
方法實(shí)施例 根據(jù)本發(fā)明的實(shí)施例,首先提出了一種數(shù)據(jù)包過濾方法,圖1是根據(jù)本發(fā)明方法實(shí)施例的數(shù)據(jù)包過濾方法的流程圖,如圖1所示,該方法包括如下處理(步驟S102至步驟S106)。 步驟S102,接收相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包,其中,多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包都攜帶有相同的多個(gè)關(guān)鍵字;優(yōu)選地,相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包可以包括但不限于基于流的多個(gè)數(shù)據(jù)包,或者是基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包;根據(jù)預(yù)定的過濾規(guī)則,提取多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字。 步驟S104,對(duì)于多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包,對(duì)其多個(gè)關(guān)鍵字中的部分或全部
關(guān)鍵字進(jìn)行匹配操作,得到匹配動(dòng)作;優(yōu)選地,該匹配操作包括將多個(gè)關(guān)鍵字中的部分或
全部關(guān)鍵字與預(yù)定的過濾規(guī)則中的匹配信息進(jìn)行比較,根據(jù)比較結(jié)果來確定匹配動(dòng)作,例
如,數(shù)據(jù)包匹配通過時(shí)不丟棄數(shù)據(jù)包、在數(shù)據(jù)包匹配不通過時(shí)丟棄該數(shù)據(jù)包。 步驟S106,將匹配動(dòng)作配置給多個(gè)數(shù)據(jù)包中的除第一個(gè)數(shù)據(jù)包之外的其余數(shù)據(jù)
包。優(yōu)選地,該步驟可以通過如下過程實(shí)現(xiàn)建立多個(gè)關(guān)鍵字與匹配動(dòng)作之間的映射關(guān)系;對(duì)于其余數(shù)據(jù)包中的每一個(gè)數(shù)據(jù)包,分別對(duì)從其提取的多個(gè)關(guān)鍵字采用哈希散列法進(jìn)行校
驗(yàn);如果校驗(yàn)通過,則根據(jù)映射關(guān)系,將與多個(gè)關(guān)鍵字對(duì)應(yīng)的匹配動(dòng)作配置給該數(shù)據(jù)包;優(yōu)
選地,判斷是否通過檢驗(yàn)的操作可以通過如下過程實(shí)現(xiàn)對(duì)第一個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字進(jìn)
行校驗(yàn),得到標(biāo)準(zhǔn)校驗(yàn)值;對(duì)其余數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn),得到對(duì)比
校驗(yàn)值;對(duì)于其對(duì)比校驗(yàn)值與標(biāo)準(zhǔn)校驗(yàn)值一致的數(shù)據(jù)包,判斷通過校驗(yàn)。 優(yōu)選地,執(zhí)行完步驟S106之后,可以解除多個(gè)關(guān)鍵字與匹配動(dòng)作之間的映射關(guān)
系,這樣能夠釋放因?yàn)楸4嬗成潢P(guān)系而占有的系統(tǒng)資源。 借助于上述技術(shù)方案,對(duì)相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包(例如,基于流的多個(gè)數(shù)據(jù)包或者基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包)中的第一個(gè)數(shù)據(jù)包進(jìn)行匹配處理、得到匹配動(dòng)作,并將得到的匹配動(dòng)作配置給其余的數(shù)據(jù)包,從而能夠避免對(duì)所有的數(shù)據(jù)包都進(jìn)行關(guān)鍵字信息的匹配,能夠提高數(shù)據(jù)包過濾的處理速度。 進(jìn)一步地,圖2示出了根據(jù)本發(fā)明方法實(shí)施例的數(shù)據(jù)包過濾方法的具體實(shí)施的示意方式,在該具體實(shí)施的場(chǎng)景中,對(duì)基于流的多個(gè)數(shù)據(jù)包進(jìn)行過濾。以下通過說明對(duì)基于流的數(shù)據(jù)包的過濾處理過程(步驟202至步驟216)來描述圖2 : 步驟202,建立普通匹配通道,該普通匹配通道用于根據(jù)預(yù)先配置的過濾規(guī)則對(duì)數(shù)據(jù)包的關(guān)鍵字進(jìn)行匹配操作,該過濾規(guī)則中的信息至少可以包括需要將其作為關(guān)鍵字提取的字段(如在圖2中所示的數(shù)據(jù)包需要提取的n個(gè)字段中的關(guān)鍵字信息)、匹配信息等,相應(yīng)地,普通通道中包括過濾規(guī)則中規(guī)定的多個(gè)策略規(guī)則(即,匹配信息)(其中包括策略規(guī)則1、策略規(guī)則2........策略規(guī)則n-l、策略規(guī)則n); 步驟204,建立快速匹配通道,該快速匹配通道用于采用諸如哈希散列法的快速匹配算法對(duì)數(shù)據(jù)包的關(guān)鍵字進(jìn)行校驗(yàn),在具體實(shí)施的過程中,快速匹配通道建立成功后,可能會(huì)對(duì)多個(gè)流(例如,流1至流m)中的數(shù)據(jù)包進(jìn)行校驗(yàn),這樣,快速匹配通道中就會(huì)相應(yīng)地存儲(chǔ)與m個(gè)流相對(duì)應(yīng)的m個(gè)匹配動(dòng)作; 具體地,普通匹配通道和快速匹配通道可以用軟件方式來實(shí)現(xiàn);
步驟206,對(duì)于接收到的屬于流1的S個(gè)數(shù)據(jù)包(數(shù)據(jù)包1至數(shù)據(jù)包s),根據(jù)過濾規(guī)則中規(guī)定的策略規(guī)則1至策略規(guī)則n,從每個(gè)數(shù)據(jù)包中提取n個(gè)關(guān)鍵字,由于基于流的數(shù)據(jù)包的特點(diǎn),從每個(gè)數(shù)據(jù)包中提取的n個(gè)關(guān)鍵字都是相同的;優(yōu)選地,步驟206可以對(duì)應(yīng)于上述步驟S102 ; 步驟208,在普通匹配通道中,對(duì)S個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包進(jìn)行匹配操作,即,如果過濾規(guī)則中規(guī)定只需對(duì)n個(gè)關(guān)鍵字中的n-l個(gè)關(guān)鍵字進(jìn)行匹配,則將第一個(gè)數(shù)據(jù)包的n-l個(gè)關(guān)鍵字分別與策略規(guī)則1至策略規(guī)則n-l規(guī)定的匹配信息進(jìn)行比較,得到比較結(jié)果,即,如圖2中所示的關(guān)鍵字1至關(guān)鍵字n-2分別與策略規(guī)則1至策略規(guī)則n-2相比較后匹配未命中,關(guān)鍵字n與策略規(guī)則n-l相比較后匹配命中; 步驟210,將與比較結(jié)果相對(duì)應(yīng)的匹配動(dòng)作配置給第一個(gè)數(shù)據(jù)包,這里的匹配動(dòng)作
是根據(jù)具體的過濾情況而預(yù)先設(shè)置的,例如,在數(shù)據(jù)包符合要求時(shí)不丟棄數(shù)據(jù)包、在數(shù)據(jù)包
不符合要求時(shí)丟棄該數(shù)據(jù)包,在數(shù)據(jù)包符合要求時(shí)轉(zhuǎn)發(fā)數(shù)據(jù)包、在數(shù)據(jù)包不符合要求時(shí)重
發(fā)數(shù)據(jù)包,在數(shù)據(jù)包符合要求時(shí)保留關(guān)鍵字后發(fā)送數(shù)據(jù)包、在數(shù)據(jù)包不符合要求時(shí)刪除關(guān)
鍵字后發(fā)送數(shù)據(jù)包,等等;優(yōu)選地,步驟208和步驟210可以對(duì)應(yīng)于上述步驟S104 ; 步驟212,建立快速匹配通道與普通匹配通道之間的映射關(guān)系,S卩,建立流1的關(guān)鍵字與匹配動(dòng)作之間的對(duì)應(yīng)關(guān)系,具體地,根據(jù)第一個(gè)數(shù)據(jù)包的n個(gè)關(guān)鍵字建立關(guān)鍵字與匹配動(dòng)作之間的對(duì)應(yīng)關(guān)系,可以用哈希散列法對(duì)第一個(gè)數(shù)據(jù)包的n個(gè)關(guān)鍵字進(jìn)行校驗(yàn),得到標(biāo)準(zhǔn)校驗(yàn)值,建立該標(biāo)準(zhǔn)校驗(yàn)值與匹配動(dòng)作之間的對(duì)應(yīng)關(guān)系; 步驟214,對(duì)于其余S-l個(gè)數(shù)據(jù)包中的每一個(gè)數(shù)據(jù)包,在快速通道中對(duì)該數(shù)據(jù)包的n個(gè)關(guān)鍵字進(jìn)行校驗(yàn),得到對(duì)比校驗(yàn)值; 步驟216,將對(duì)比校驗(yàn)值與標(biāo)準(zhǔn)校驗(yàn)值相比較,如果比較結(jié)果為相等,則說明該數(shù)據(jù)包與第一個(gè)數(shù)據(jù)包都屬于流l,并根據(jù)建立的映射關(guān)系,可以將與流1的關(guān)鍵字對(duì)應(yīng)的匹配動(dòng)作配置給該數(shù)據(jù)包;如果比較結(jié)果為不相等,則說明該數(shù)據(jù)包可能與第一個(gè)數(shù)據(jù)包不屬于同一個(gè)流,或者該數(shù)據(jù)包中的關(guān)鍵字提取有誤,不能將匹配動(dòng)作配置給該數(shù)據(jù)包;優(yōu)選
地,步驟212至步驟216可以對(duì)應(yīng)于上述步驟S106。 通過步驟202至步驟216的處理,能夠?qū)儆谕粋€(gè)流的多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包進(jìn)行匹配處理,并將得到的匹配動(dòng)作配置給其余的數(shù)據(jù)包,從而能夠避免對(duì)所有的數(shù)據(jù)包都進(jìn)行關(guān)鍵字信息的匹配,能夠提高數(shù)據(jù)包過濾的效率。 此外,圖3示出了根據(jù)本發(fā)明方法實(shí)施例的數(shù)據(jù)包過濾方法的另一具體實(shí)施的示意方式,在該具體實(shí)施的場(chǎng)景中,對(duì)基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包進(jìn)行過濾。以下通過說明對(duì)基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包的過濾處理過程(步驟302至步驟316)來描述圖3 : 步驟302,建立普通匹配通道,該普通匹配通道用于根據(jù)預(yù)先配置的過濾規(guī)則對(duì)IP分片數(shù)據(jù)包的關(guān)鍵字進(jìn)行匹配操作,該過濾規(guī)則可以至少包括需要將其作為關(guān)鍵字提取的字段(如圖3中所示的數(shù)據(jù)包需要提取的n個(gè)字段中的關(guān)鍵字信息)、匹配信息等,相應(yīng)地,普通通道中包括過濾規(guī)則中規(guī)定的多個(gè)策略規(guī)則(即匹配信息)(其中包括策略規(guī)則1、策略規(guī)則2........策略規(guī)則n-l、策略規(guī)則n); 步驟304,建立分片匹配通道,該分片匹配通道用于采用諸如哈希散列法的快速匹配算法對(duì)IP分片數(shù)據(jù)包的關(guān)鍵字進(jìn)行校驗(yàn),在具體實(shí)施的過程中,分片匹配通道建立成功后,可能會(huì)對(duì)多個(gè)IP數(shù)據(jù)報(bào)文(IP數(shù)據(jù)報(bào)文l至IP數(shù)據(jù)報(bào)文m)進(jìn)行校驗(yàn),這樣,分片匹配通道中就會(huì)相應(yīng)地存儲(chǔ)與m個(gè)IP數(shù)據(jù)報(bào)文相對(duì)應(yīng)的m個(gè)匹配動(dòng)作; 步驟306,對(duì)于接收到的屬于IP數(shù)據(jù)報(bào)文m-l的S個(gè)IP分片數(shù)據(jù)包(IP分片數(shù)據(jù)包1至IP分片數(shù)據(jù)包s),根據(jù)過濾規(guī)則中規(guī)定的策略規(guī)則1至策略規(guī)則n,從每一個(gè)IP分片數(shù)據(jù)包中提取n個(gè)關(guān)鍵字,由于S個(gè)IP分片數(shù)據(jù)包屬于同一個(gè)IP數(shù)據(jù)報(bào)文,從每一個(gè)IP分片數(shù)據(jù)包中提取的n個(gè)關(guān)鍵字都是相同的;優(yōu)選地,步驟306對(duì)應(yīng)于上述步驟S102 ;
步驟308,在普通匹配通道中,對(duì)S個(gè)IP分片數(shù)據(jù)包中的第一個(gè)IP分片數(shù)據(jù)包進(jìn)行匹配操作,即,如果過濾規(guī)則中規(guī)定只需對(duì)n個(gè)關(guān)鍵字中的4個(gè)關(guān)鍵字進(jìn)行匹配,則將第一個(gè)IP分片數(shù)據(jù)包的4個(gè)關(guān)鍵字分別與策略規(guī)則1至策略規(guī)則4規(guī)定的匹配信息進(jìn)行比較,得到比較結(jié)果,即,如圖4中所示的關(guān)鍵字1至關(guān)鍵字3分別與策略規(guī)則1至策略規(guī)則3相比較后匹配未命中,關(guān)鍵字4與策略規(guī)則4相比較后匹配命中; 步驟310,將與比較結(jié)果相對(duì)應(yīng)的匹配動(dòng)作配置給第一個(gè)IP分片數(shù)據(jù)包,這里的匹配動(dòng)作是根據(jù)具體的過濾情況而預(yù)先設(shè)置的,例如,丟棄/不丟棄數(shù)據(jù)包等操作;優(yōu)選地,步驟308和步驟310對(duì)應(yīng)于上述步驟S104 ; 步驟312,建立分片匹配通道與普通匹配通道之間的映射關(guān)系,即,建立IP數(shù)據(jù)報(bào)文m-1的關(guān)鍵字與匹配動(dòng)作之間的對(duì)應(yīng)關(guān)系,具體地,根據(jù)第一個(gè)IP分片數(shù)據(jù)包的n個(gè)關(guān) 鍵字建立關(guān)鍵字與匹配動(dòng)作之間的對(duì)應(yīng)關(guān)系,可以用哈希散列法對(duì)第一個(gè)IP分片數(shù)據(jù)包 的n個(gè)關(guān)鍵字進(jìn)行校驗(yàn),得到標(biāo)準(zhǔn)校驗(yàn)值,建立該標(biāo)準(zhǔn)校驗(yàn)值與匹配動(dòng)作之間的對(duì)應(yīng)關(guān)系;
步驟314,對(duì)于其余S-l個(gè)IP分片數(shù)據(jù)包中的每一個(gè)IP分片數(shù)據(jù)包,在分片匹配 通道中對(duì)該IP分片數(shù)據(jù)包的n個(gè)關(guān)鍵字進(jìn)行校驗(yàn),得到對(duì)比校驗(yàn)值; 步驟316,將對(duì)比校驗(yàn)值與標(biāo)準(zhǔn)校驗(yàn)值相比較,如果比較結(jié)果為相等,則說明該IP 分片數(shù)據(jù)包與第一個(gè)IP分片數(shù)據(jù)包都屬于IP數(shù)據(jù)報(bào)文m-l,并根據(jù)建立的映射關(guān)系,可以 將與IP數(shù)據(jù)報(bào)文m-l的關(guān)鍵字對(duì)應(yīng)的匹配動(dòng)作配置給該IP分片數(shù)據(jù)包;如果比較結(jié)果為 不相等,則說明該IP分片數(shù)據(jù)包可能與第一個(gè)IP分片數(shù)據(jù)包不屬于同一個(gè)IP數(shù)據(jù)報(bào)文, 或者該IP分片數(shù)據(jù)包中的關(guān)鍵字提取有誤,不能將匹配動(dòng)作配置給該IP分片數(shù)據(jù)包;優(yōu)選 地,步驟312至步驟316可以對(duì)應(yīng)于上述步驟S106。 通過步驟302至步驟316的處理,能夠避免相關(guān)技術(shù)中無法對(duì)同一 IP數(shù)據(jù)報(bào)文中 的多個(gè)IP分片數(shù)據(jù)包中除第一個(gè)IP分片數(shù)據(jù)包的其它IP分片數(shù)據(jù)包進(jìn)行過濾的問題,能 夠提高數(shù)據(jù)包過濾的安全度和準(zhǔn)確度。 具體地,圖4中示出了根據(jù)本發(fā)明方法實(shí)施例的數(shù)據(jù)包過濾方法對(duì)基于流的數(shù)據(jù) 包以及對(duì)包括基于IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包進(jìn)行過濾的處理流程,如圖4所示,該 流程包括如下的處理過程 步驟401,根據(jù)配置的過濾規(guī)則初始化普通匹配通道; 步驟402,接收到數(shù)據(jù)包;優(yōu)選地,步驟402可以對(duì)應(yīng)于上述步驟S102 ; 步驟403,根據(jù)過濾規(guī)則提取數(shù)據(jù)包中的關(guān)鍵字; 步驟404,判斷該數(shù)據(jù)包是否為基于IP數(shù)據(jù)報(bào)文的IP分片數(shù)據(jù)包,如果判斷為是, 則處理進(jìn)行到步驟405,否則,處理進(jìn)行到步驟406 ; 步驟405,判斷目前處理的數(shù)據(jù)是否為基于同一IP數(shù)據(jù)報(bào)文的第一個(gè)IP分片數(shù)據(jù) 包,如果判斷為是,則處理進(jìn)行到步驟406,否則,處理進(jìn)行到步驟412 ;
步驟406,對(duì)當(dāng)前處理的數(shù)據(jù)進(jìn)行快速匹配通道的處理,S卩,對(duì)從其中提取的所有 關(guān)鍵字進(jìn)行校驗(yàn),得到對(duì)比校驗(yàn)值; 步驟407,判斷對(duì)比校驗(yàn)值是否能夠與已經(jīng)建立的所有的映射關(guān)系相對(duì)應(yīng),S卩,將 對(duì)比校驗(yàn)值與所有映射關(guān)系中的標(biāo)準(zhǔn)校驗(yàn)值相對(duì)比,如果該對(duì)比校驗(yàn)值與某一標(biāo)準(zhǔn)校驗(yàn)值 相等,則說明該數(shù)據(jù)是某一基于流的多個(gè)數(shù)據(jù)包中的非第一個(gè)數(shù)據(jù)包,可以將與標(biāo)準(zhǔn)校驗(yàn) 值對(duì)應(yīng)的匹配動(dòng)作配置給該數(shù)據(jù)包,此時(shí),處理進(jìn)行到步驟410,如果該對(duì)比校驗(yàn)值與任一 標(biāo)準(zhǔn)校驗(yàn)值都不相等,則說明該數(shù)據(jù)是新接收到的基于流的多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù) 包,此時(shí),處理進(jìn)行到步驟408 ; 步驟408,對(duì)數(shù)據(jù)進(jìn)行普通匹配通道的匹配操作,匹配操作成功并且得到匹配動(dòng) 作,則處理進(jìn)行到步驟409,否則,處理流程結(jié)束;優(yōu)選地,步驟408可以對(duì)應(yīng)于上述步驟 S104或步驟S304 ; 步驟409,根據(jù)從第一個(gè)數(shù)據(jù)包提取的多個(gè)關(guān)鍵字,建立普通匹配通道與快速匹配 通道之間的映射關(guān)系,即,建立多個(gè)關(guān)鍵字與匹配動(dòng)作之間的對(duì)應(yīng)關(guān)系;優(yōu)選地,步驟409 和步驟407可以對(duì)應(yīng)于上述步驟S106 ; 步驟410,判斷當(dāng)前處理的數(shù)據(jù)是否為IP分片數(shù)據(jù)包,如果判斷為是,則處理進(jìn)行
9到步驟411,否則,處理流程結(jié)束; 步驟411,建立普通匹配通道和分片匹配通道間的映射關(guān)系,S卩,建立多個(gè)關(guān)鍵字
與匹配動(dòng)作之間的對(duì)應(yīng)關(guān)系,至此,處理流程結(jié)束; 步驟412,對(duì)IP分片數(shù)據(jù)包進(jìn)行分片通道的檢驗(yàn); 步驟413,對(duì)判斷檢驗(yàn)結(jié)果是否能夠與已建立的映射關(guān)系進(jìn)行匹配,如果判斷為 是,則將匹配動(dòng)作配置給該IP分片數(shù)據(jù)包,并且處理流程結(jié)束,否則,處理流程結(jié)束。優(yōu)選 地,步驟411至步驟413可以對(duì)應(yīng)于上述步驟S306。 通過步驟401至步驟413的處理過程,可以靈活地對(duì)基于流的數(shù)據(jù)包以及基于同 一 IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包進(jìn)行過濾處理,并且,處理速度高、正確率高。
裝置實(shí)施例 根據(jù)本發(fā)明的實(shí)施例,還提供了一種數(shù)據(jù)包過濾裝置,該裝置可以用于對(duì)基于流
的多個(gè)數(shù)據(jù)包以及基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包進(jìn)行過濾處理。 圖5示出了根據(jù)本發(fā)明裝置實(shí)施例的數(shù)據(jù)包過濾裝置的結(jié)構(gòu),如圖5所示,該數(shù)據(jù)
包過濾裝置包括接收模塊2、匹配模塊4、確定模塊6、配置模塊8。下面詳細(xì)描述上述模塊
的功能。 接收模塊2,用于接收相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包,其中,多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包攜 帶有相同的多個(gè)關(guān)鍵字;優(yōu)選地,相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包可以包括但不限于基于流的多個(gè)數(shù) 據(jù)包,或者是基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包。 匹配模塊4,連接至接收模塊2,用于對(duì)接收模塊2接收到的多個(gè)數(shù)據(jù)包中的第一
個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字中的部分或全部關(guān)鍵字進(jìn)行匹配操作,得到匹配動(dòng)作。 確定模塊6,連接至匹配模塊4,用于根據(jù)匹配模塊4的匹配結(jié)果確定匹配動(dòng)作。 配置模塊8,連接至接收模塊2和匹配模塊4,用于將匹配動(dòng)作配置給多個(gè)數(shù)據(jù)包
中的除第一個(gè)數(shù)據(jù)包之外的其余數(shù)據(jù)包。 通過該實(shí)施例,能夠?qū)ο嚓P(guān)聯(lián)的多個(gè)數(shù)據(jù)包(例如,基于流的多個(gè)數(shù)據(jù)包或者基 于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包)的第一個(gè)數(shù)據(jù)包進(jìn)行過濾,并且把得到的匹 配動(dòng)作配置給多個(gè)數(shù)據(jù)包中其余的數(shù)據(jù)包,從而避免了對(duì)每一個(gè)數(shù)據(jù)包都進(jìn)行過濾,能夠 提高過濾處理的效率。 圖6示出了根據(jù)本發(fā)明裝置實(shí)施例的數(shù)據(jù)包過濾裝置的優(yōu)選結(jié)構(gòu),如圖6所示,該 裝置包括接收模塊2、匹配模塊4、確定模塊6、配置模塊8,其中配置模塊8還包括設(shè)置子模 塊82、校驗(yàn)子模塊84和配置子模塊86。其中,接收模塊2、匹配模塊4、確定模塊6與圖5 中相應(yīng)模塊的功能類似,這里不再贅述,下面詳細(xì)說明設(shè)置子模塊82、校驗(yàn)?zāi)K84和配置 子模塊86的功能。 設(shè)置子模塊82,連接至接收模塊2和匹配模塊4,用于建立多個(gè)關(guān)鍵字與匹配動(dòng)作 之間的映射關(guān)系; 校驗(yàn)子模塊84,連接至接收模塊2和匹配模塊4,用于對(duì)其余數(shù)據(jù)包中的每一個(gè)數(shù) 據(jù)包,分別對(duì)其中的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn); 配置子模塊86,連接至校驗(yàn)子模塊84和設(shè)置子模塊82,用于對(duì)于通過校驗(yàn)子模塊 84校驗(yàn)的數(shù)據(jù)包,根據(jù)設(shè)置子模塊82建立的映射關(guān)系,將與多個(gè)關(guān)鍵字對(duì)應(yīng)的匹配動(dòng)作配 置給該數(shù)據(jù)包。
10
圖6所示的數(shù)據(jù)包過濾裝置,可以用于上述圖2所示的場(chǎng)景,用以實(shí)現(xiàn)對(duì)基于流 的多個(gè)數(shù)據(jù)包的過濾。在具體實(shí)施的過程中,首先由接收模塊2接收數(shù)據(jù),接收到的數(shù)據(jù) 可能是基于流的多個(gè)數(shù)據(jù)包,這多個(gè)數(shù)據(jù)包中在多個(gè)特定的字段中都包括相同的關(guān)鍵字信 息;匹配模塊4對(duì)接收到的多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包進(jìn)行匹配操作,即,將第一個(gè)數(shù)據(jù) 包中的多個(gè)關(guān)鍵字與預(yù)定的過濾規(guī)則中的匹配信息進(jìn)行比較;確定模塊6根據(jù)比較結(jié)果確 定匹配動(dòng)作;優(yōu)選地,匹配模塊4和確定模塊6能夠?qū)崿F(xiàn)上述圖2中的普通匹配通道的功 能;設(shè)置子模塊82采用哈希散列法對(duì)第一個(gè)數(shù)據(jù)包中的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn)、得到標(biāo)準(zhǔn)校 驗(yàn)值,建立該標(biāo)準(zhǔn)校驗(yàn)值與匹配動(dòng)作之間的對(duì)應(yīng)關(guān)系(即,映射關(guān)系);校驗(yàn)子模塊84對(duì)多 個(gè)數(shù)據(jù)包中除第一個(gè)數(shù)據(jù)包外的其余數(shù)據(jù)包中的每一個(gè)數(shù)據(jù)包進(jìn)行校驗(yàn)、得到該數(shù)據(jù)包的 對(duì)比校驗(yàn)值,優(yōu)選地,校驗(yàn)子模塊84采用哈希散列法對(duì)每個(gè)數(shù)據(jù)包中的多個(gè)關(guān)鍵字進(jìn)行校 驗(yàn),得到對(duì)比校驗(yàn)值;配置子模塊86將每個(gè)數(shù)據(jù)包的對(duì)比校驗(yàn)值與標(biāo)準(zhǔn)校驗(yàn)值比較,當(dāng)比 較結(jié)果為相等時(shí),說明該數(shù)據(jù)包與上述的第一個(gè)數(shù)據(jù)包屬于同一個(gè)流,這樣,可以根據(jù)設(shè)置 子模塊82建立的映射關(guān)系,將多個(gè)關(guān)鍵字對(duì)應(yīng)的匹配動(dòng)作配置給該數(shù)據(jù)包,優(yōu)選地,配置 模塊8(包括置子模塊82、校驗(yàn)?zāi)K84和配置子模塊86)能夠?qū)崿F(xiàn)上述圖2中的快速匹配 通道的功能。 通過如圖6所示的數(shù)據(jù)包過濾裝置,通過設(shè)置接收模塊、匹配模塊、確定模塊、配 置模塊、以及設(shè)置子模塊、校驗(yàn)?zāi)K和配置子模塊,能夠?qū)儆谕粋€(gè)流的多個(gè)數(shù)據(jù)包中的 第一個(gè)數(shù)據(jù)包進(jìn)行匹配處理,并將得到的匹配動(dòng)作配置給其余的數(shù)據(jù)包,從而能夠避免對(duì) 所有的數(shù)據(jù)包都進(jìn)行關(guān)鍵字信息的匹配。 此夕卜,圖6所示的數(shù)據(jù)包過濾裝置,還可以用于上述圖3所示的場(chǎng)景,用以實(shí)現(xiàn)對(duì) 基于同一數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包的過濾。在具體實(shí)施的過程中,首先由接收模塊2 接收數(shù)據(jù),接收到的數(shù)據(jù)可能是基于同一 IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包,這多個(gè)IP分 片數(shù)據(jù)包中在多個(gè)特定的字段中都包括相同的關(guān)鍵字信息;匹配模塊4對(duì)接收到的多個(gè)IP 分片數(shù)據(jù)包中的第一個(gè)IP分片數(shù)據(jù)包進(jìn)行匹配操作,即,將第一個(gè)IP分片數(shù)據(jù)包中的多 個(gè)關(guān)鍵字與預(yù)定的過濾規(guī)則中的匹配信息進(jìn)行比較;確定模塊6根據(jù)比較結(jié)果確定匹配動(dòng) 作;優(yōu)選地,匹配模塊4和確定模塊6能夠?qū)崿F(xiàn)上述圖3中的普通匹配通道的功能;設(shè)置子 模塊82采用哈希散列法對(duì)第一個(gè)IP分片數(shù)據(jù)包中的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn)、得到標(biāo)準(zhǔn)校驗(yàn) 值,建立該標(biāo)準(zhǔn)校驗(yàn)值與匹配動(dòng)作之間的對(duì)應(yīng)關(guān)系(即,映射關(guān)系);校驗(yàn)子模塊84對(duì)多個(gè) IP分片數(shù)據(jù)包中除第一個(gè)IP分片數(shù)據(jù)包外的其余IP分片數(shù)據(jù)包中的每一個(gè)IP分片數(shù)據(jù) 包進(jìn)行校驗(yàn)、得到該IP分片數(shù)據(jù)包的對(duì)比校驗(yàn)值,優(yōu)選地,校驗(yàn)子模塊84采用哈希散列法 對(duì)每個(gè)IP分片數(shù)據(jù)包中的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn)、得到對(duì)比校驗(yàn)值;配置子模塊86將每個(gè) IP分片數(shù)據(jù)包的對(duì)比校驗(yàn)值與標(biāo)準(zhǔn)校驗(yàn)值比較,當(dāng)比較結(jié)果為相等時(shí),說明該IP分片數(shù)據(jù) 包與上述的第一個(gè)IP分片數(shù)據(jù)包屬于同一個(gè)IP數(shù)據(jù)報(bào)文,這樣,可以根據(jù)設(shè)置子模塊82 建立的映射關(guān)系,將多個(gè)關(guān)鍵字對(duì)應(yīng)的匹配動(dòng)作配置給該IP分片數(shù)據(jù)包,優(yōu)選地,配置模 塊8(包括設(shè)置子模塊82、校驗(yàn)子模塊84、配置子模塊86)能夠?qū)崿F(xiàn)上述圖3中的分片匹配 通道的功能。 通過如圖6所示的數(shù)據(jù)包過濾裝置,還能夠?qū)谕?IP數(shù)據(jù)報(bào)文的多個(gè)IP分 片數(shù)據(jù)包中的第一個(gè)IP分片數(shù)據(jù)包進(jìn)行過濾,并將過濾操作得到的匹配動(dòng)作配置給其它 的IP分片數(shù)據(jù)包,從而能夠避免相關(guān)技術(shù)中無法對(duì)基于同一 IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包進(jìn)行有效、正確的過濾處理的問題,進(jìn)而能夠提高數(shù)據(jù)包過濾的效率。 綜上所述,借助于本發(fā)明的技術(shù)方案,通過對(duì)包括相同關(guān)鍵字的相關(guān)聯(lián)的多個(gè)數(shù)
據(jù)包(例如,基于流的多個(gè)數(shù)據(jù)包或者基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包)中
的第一個(gè)數(shù)據(jù)包進(jìn)行匹配操作,將得到的匹配動(dòng)作配置給其它的包括相同關(guān)鍵字的數(shù)據(jù)
包,能夠提高數(shù)據(jù)包匹配的速度,從而能夠解決相關(guān)技術(shù)中存在的數(shù)據(jù)包過濾速度較慢的
問題,進(jìn)而能夠節(jié)省系統(tǒng)開銷、提高系統(tǒng)處理效率。 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種數(shù)據(jù)包過濾方法,其特征在于,包括接收相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包,其中,所述多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包都攜帶有相同的多個(gè)關(guān)鍵字;對(duì)所述多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包的所述多個(gè)關(guān)鍵字中的部分或全部關(guān)鍵字進(jìn)行匹配操作,得到匹配動(dòng)作;根據(jù)所述多個(gè)關(guān)鍵字,將所述匹配動(dòng)作配置給所述多個(gè)數(shù)據(jù)包中的除所述第一個(gè)數(shù)據(jù)包之外的其余數(shù)據(jù)包。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包包括以下之一 : 基于流的多個(gè)數(shù)據(jù)包、基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述接收多個(gè)數(shù)據(jù)包之后,所述方 法還包括對(duì)于所述多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包,分別提取其攜帶的所述多個(gè)關(guān)鍵字。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對(duì)所述多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù) 包的所述多個(gè)關(guān)鍵字中的部分或全部關(guān)鍵字進(jìn)行匹配操作包括將提取的所述多個(gè)關(guān)鍵字中的部分或全部關(guān)鍵字與預(yù)先設(shè)置的匹配信息進(jìn)行比較; 根據(jù)比較結(jié)果確定匹配動(dòng)作。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,根據(jù)所述多個(gè)關(guān)鍵字,將所述匹配動(dòng)作配 置給所述多個(gè)數(shù)據(jù)包中其余所有的數(shù)據(jù)包包括對(duì)所述第一個(gè)數(shù)據(jù)包的所述多個(gè)關(guān)鍵字進(jìn)行校驗(yàn),建立所述多個(gè)關(guān)鍵字與所述匹配動(dòng) 作之間的映射關(guān)系;對(duì)于所述其余數(shù)據(jù)包中的每一個(gè)數(shù)據(jù)包,分別對(duì)從其提取的所述多個(gè)關(guān)鍵字進(jìn)行校驗(yàn);對(duì)于所述其余數(shù)據(jù)包中通過校驗(yàn)的數(shù)據(jù)包,根據(jù)所述映射關(guān)系,將與所述多個(gè)關(guān)鍵字 對(duì)應(yīng)的所述匹配動(dòng)作配置給該數(shù)據(jù)包。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括 對(duì)所述第一個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn),得到標(biāo)準(zhǔn)校驗(yàn)值; 對(duì)所述其余數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字進(jìn)行校驗(yàn),得到對(duì)比校驗(yàn)值; 對(duì)于其對(duì)比校驗(yàn)值與所述標(biāo)準(zhǔn)校驗(yàn)值一致的數(shù)據(jù)包,判斷通過校驗(yàn)。
7. 根據(jù)權(quán)利要求5所述的方法,其特征在于,在將所述匹配動(dòng)作配置給所述其余所有 的數(shù)據(jù)包之后,所述方法還包括解除所述映射關(guān)系。
8. —種數(shù)據(jù)包過濾裝置,其特征在于,包括接收模塊,用于接收相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包,其中,所述多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包都攜 帶有相同的多個(gè)關(guān)鍵字;匹配模塊,用于對(duì)所述接收模塊接收到的所述多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包的所述多 個(gè)關(guān)鍵字中的部分或全部關(guān)鍵字進(jìn)行匹配操作;確定模塊,用于根據(jù)所述匹配模塊的匹配結(jié)果確定匹配動(dòng)作;配置模塊,用于將所述匹配動(dòng)作配置給所述多個(gè)數(shù)據(jù)包中的除所述第一個(gè)數(shù)據(jù)包之外 的其余數(shù)據(jù)包。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述配置模塊包括設(shè)置子模塊,用于建 立關(guān)鍵字與匹配動(dòng)作之間的映射關(guān)系;校驗(yàn)子模塊,用于對(duì)數(shù)據(jù)包中的所述多個(gè)關(guān)鍵字進(jìn)行校驗(yàn);配置子模塊,用于對(duì)于通過所述檢驗(yàn)子模塊校驗(yàn)的數(shù)據(jù)包,根據(jù)所述設(shè)置子模塊建立 的所述映射關(guān)系,將與所述多個(gè)關(guān)鍵字對(duì)應(yīng)的所述匹配動(dòng)作配置給該數(shù)據(jù)包。
10. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包包括以下之基于流的多個(gè)數(shù)據(jù)包、基于同一個(gè)IP數(shù)據(jù)報(bào)文的多個(gè)IP分片數(shù)據(jù)包。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)包過濾方法和裝置,其中,該方法包括接收相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包,其中,多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包都攜帶有相同的多個(gè)關(guān)鍵字;對(duì)多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包的多個(gè)關(guān)鍵字中的部分或全部關(guān)鍵字進(jìn)行匹配操作,得到匹配動(dòng)作;根據(jù)多個(gè)關(guān)鍵字,將匹配動(dòng)作配置給多個(gè)數(shù)據(jù)包中的除第一個(gè)數(shù)據(jù)包之外的其余數(shù)據(jù)包。通過本發(fā)明,通過對(duì)包括相同關(guān)鍵字的相關(guān)聯(lián)的多個(gè)數(shù)據(jù)包中的第一個(gè)數(shù)據(jù)包進(jìn)行匹配操作,將得到的匹配動(dòng)作配置給其它的包括相同關(guān)鍵字的數(shù)據(jù)包,能夠提高數(shù)據(jù)包匹配的速度,從而能夠解決相關(guān)技術(shù)中存在的數(shù)據(jù)包過濾速度較慢的問題,進(jìn)而能夠節(jié)省系統(tǒng)開銷、提高系統(tǒng)處理效率。
文檔編號(hào)G06F17/30GK101783786SQ20091000522
公開日2010年7月21日 申請(qǐng)日期2009年1月19日 優(yōu)先權(quán)日2009年1月19日
發(fā)明者孫卓海, 文海軍, 汪承研, 藺妍 申請(qǐng)人:中興通訊股份有限公司