專利名稱:一種報文處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通訊沖支術(shù)領(lǐng)域,更具體地i兌,涉及一種凈艮文處理方法及 裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,相互之間的網(wǎng)絡(luò)資源共享極大的提高了人們 的工作效率,人們對網(wǎng)絡(luò)的依賴也越來越高,通過網(wǎng)絡(luò)對終端進(jìn)行惡意的訪 問或者攻擊會破壞終端的正常使用,因此需要對訪問的報文進(jìn)行篩選、過濾。 例如面臨垃圾郵件日益嚴(yán)重的現(xiàn)狀,就需要對垃圾郵件進(jìn)行過濾,過濾方法
是基于IP分組5元組對業(yè)務(wù)進(jìn)行篩選和過濾,IP分組5元組是指IP報文頭 部目的IP地址、源IP地址、協(xié)議類型、目的端口和源端口。
由于惡意攻擊技術(shù)的日益復(fù)雜化,攻擊方可以更改源IP地址、協(xié)議類型、 源端口地址等參數(shù),這就使得現(xiàn)有的單獨(dú)依靠IP分組5元組獲取信息的方式 來判斷是否為惡意攻擊的方法無法滿足現(xiàn)實需要。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種報文處理方法及裝置,以解決現(xiàn)有技術(shù)存在的 報文過濾能力弱的問題。
本發(fā)明實施例提供的一種報文處理方法,包括利用三種預(yù)設(shè)方式中的 任意一種方式對輸入的報文進(jìn)行處理,得到第一報文,所述三種預(yù)設(shè)方式分 別為提取報文IP分組頭部或者載荷固定位置的特征碼符合第一預(yù)設(shè)特征的 報文、提取報文載荷中任意位置的特征碼符合第二預(yù)設(shè)特征的報文及提取報 文載荷中特征碼范圍符合第三預(yù)設(shè)特征的報文;以所述三種預(yù)設(shè)方式中另外 兩種方式中的任意一種方式對所述第一報文進(jìn)行處理,得到第二報文;按照 所述三種預(yù)設(shè)方式中余下的預(yù)設(shè)方式對所述第二報文進(jìn)行處理,得到第三報 文;將所述第一報文、第二報文及第三報文發(fā)送到預(yù)設(shè)位置存儲。進(jìn)一步的,在利用三種預(yù)設(shè)方式中的任意一種方式對輸入的報文進(jìn)行處
理之前還包括將所述輸入的報文線速封裝成攜帶分組信息的預(yù)設(shè)格式的報 文。
進(jìn)一步的,在利用三種預(yù)設(shè)方式中的任意一種方式對輸入的報文進(jìn)行處 理之前還包括
識別所述輸入的報文是否符合協(xié)議特征的業(yè)務(wù)類型,當(dāng)所述輸入的報文 不符合所述協(xié)議特征時,將所述輸入報文標(biāo)上丟棄優(yōu)先級標(biāo)識;
對于未能通過協(xié)議特征識別出業(yè)務(wù)類型的報文,當(dāng)該報文不符合基于網(wǎng) 絡(luò)行為特征的業(yè)務(wù)類型時,將該報文標(biāo)上丟棄優(yōu)先級標(biāo)識;
對于未能通過基于網(wǎng)絡(luò)行為特征識別出業(yè)務(wù)類型的報文,則將該報文標(biāo) 上缺省優(yōu)先級標(biāo)識;
依據(jù)報文標(biāo)識的丟棄優(yōu)先級標(biāo)識或缺省優(yōu)先級標(biāo)識和報文的長度來判斷 是否丟棄該報文。
進(jìn)一步的,依據(jù)報文標(biāo)識的丟棄優(yōu)先級標(biāo)識、缺省優(yōu)先級標(biāo)識和凈艮文的 長度來判斷是否丟棄該報文包括
設(shè)置隊列需要支持的丟棄優(yōu)先級個數(shù)為m,設(shè)置隊列門限個數(shù)為m+1, 設(shè)置報文的丟棄概率為Plcss,設(shè)置各隊列門限為thO,thl,…,thm,設(shè)置報文長 度為d;
初始換隊列門限thO,thl,…,thm,將報文的丟棄概率Pb設(shè)為0,
當(dāng)報文長度小于等于thi并大于thw時,所述i取值范圍在1至m之間, 則,
得到該報文的丟棄概率P,。ss; 當(dāng)報文長度大于最大預(yù)設(shè)門限時,則丟棄該報文。 進(jìn)一步的,在將所述第一報文、第二報文及第三報文發(fā)送到預(yù)設(shè)位置存 儲之后還包括將所述第一報文按照目的地址進(jìn)行單播封裝; 將所述第二報文和第三報文按照目的地址進(jìn)行組播封裝。
進(jìn)一步的,所述報文IP分組頭部或者載荷固定位置的特征碼和/或所述報
文載荷中任意位置的特征碼為報文長度、協(xié)議類型、源IP地址、目的IP地 址、源端口號、目的端口號、TCP標(biāo)志位、數(shù)據(jù)區(qū)指定位置特征中的一個或 多個組合。
進(jìn)一步的,所述報文載荷中特征碼范圍為報文長度范圍、源端口號范 圍、目的端口號范圍、源IP地址范圍或目的IP地址范圍中的一個或多個組合。
本發(fā)明還提供了一種報文處理裝置的實施例,包括
第一識別模塊,用于利用三種預(yù)設(shè)方式中的任意一種方式對輸入的報文 進(jìn)行處理,得到第一報文,所述三種預(yù)設(shè)方式分別為提取報文IP分組頭部 或者載荷固定位置的特征碼符合第一預(yù)設(shè)特征的報文、提取報文載荷中任意 位置的特征碼符合第二預(yù)設(shè)特征的報文及提取報文載荷中特征碼范圍符合第 三預(yù)設(shè)特征的報文;
第二識別模塊,用于以所述三種預(yù)設(shè)方式中另外兩種方式中的任意一種
方式對所述第一報文進(jìn)行處理,得到第二報文;
第三識別沖莫塊,用于按照所述三種預(yù)設(shè)方式中余下的預(yù)設(shè)方式對所述第 二報文進(jìn)行處理,得到第三報文;
報文存儲模塊,用于將所述第一報文、第二報文及第三報文發(fā)送到預(yù)設(shè) 位置存儲。
進(jìn)一步的,該裝置實施例還包括報文格式封裝模塊,用于將所述輸入 的報文線速封裝成攜帶分組信息的預(yù)設(shè)格式的報文并提供給第 一識別模塊。
進(jìn)一步的,該裝置實施例還包括報文舍棄模塊,報文舍棄模塊對輸入的 報文處理后發(fā)送給笫 一識別模塊,所述報文舍棄模塊包括
協(xié)議識別子模塊,用于識別所述輸入的報文是否符合協(xié)議特征的業(yè)務(wù)類 型,當(dāng)所述輸入的報文不符合所述協(xié)議特征時,將所述輸入報文標(biāo)上丟棄優(yōu) 先級標(biāo)識;網(wǎng)絡(luò)行為識別子模塊,用于對于未能通過協(xié)議特征識別出業(yè)務(wù)類型的報 文,當(dāng)該報文不符合基于網(wǎng)絡(luò)行為特征的業(yè)務(wù)類型時,將該報文標(biāo)上丟棄優(yōu)
先級標(biāo)識;
缺省識別子模塊,用于對于未能通過基于網(wǎng)絡(luò)行為特征識別出業(yè)務(wù)類型 的報文,則將該報文標(biāo)上缺省優(yōu)先級標(biāo)識;
判斷處理子模塊,用于依據(jù)報文標(biāo)識的丟棄優(yōu)先級標(biāo)識或缺省優(yōu)先級標(biāo) 識和報文的長度來判斷是否丟棄該報文。
進(jìn)一步的,在該裝置實施例中,第二識別模塊同第三識別模塊之間通過 交換網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)交換。
進(jìn)一步的,在該裝置實施例中,還包括分發(fā)封裝模塊,用于將存儲于 所述預(yù)設(shè)位置的第一報文按照目的地址進(jìn)行單播封裝,將存儲于所述預(yù)設(shè)位 置的第二報文和第三報文按照目的地址進(jìn)行組播封裝。
從上述的技術(shù)方案可以看出,與現(xiàn)有技術(shù)相比,本發(fā)明的實施例中將接 收的報文進(jìn)行三種預(yù)設(shè)方式的處理,可以根據(jù)需要選擇符合一種或多種預(yù)設(shè) 方式的報文進(jìn)行后期的處理,對報文的過濾能力得到提高。本發(fā)明實施例在 對報文進(jìn)行處理報文之前還包括報文舍棄步驟,通過報文舍棄步驟減輕了報 文過濾環(huán)節(jié)的處理壓力,利于支持更高的接口速率。
圖1為本發(fā)明方法實施例一的流程圖; 圖2為本發(fā)明方法實施例二中對無效報文識別舍棄的流程圖; 圖3為本發(fā)明裝置實施例三的結(jié)構(gòu)示意圖; 圖4為本發(fā)明裝置實施例三中報文格式封裝模塊的結(jié)構(gòu)示意圖; 圖5為本發(fā)明裝置實施例四中報文舍棄模塊的結(jié)構(gòu)示意圖。
具體實施例方式
本發(fā)明實施例提供了 一種報文處理方法及裝置。
為了引用和清楚起見,本文中使用的技術(shù)名詞、簡寫或縮寫總結(jié)如下 FPGA, Field-Programmable Gate Array,即現(xiàn)場可編程門陣列; TCAM, ternary content addressable memory, —種高速路由查找#支術(shù);SRAM, Static RAM,具有靜止存取功能的內(nèi)存; MAC, Media Access Control,介質(zhì)訪問控制子層協(xié)議。 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行 清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不 是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出 創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。 圖1示出了一種報文處理方法的實施例一,包括
步驟101,利用三種預(yù)設(shè)方式中的任意一種方式對輸入的報文進(jìn)行處理, 得到第一報文,所述三種預(yù)設(shè)方式分別為提取報文IP分組頭部或者載荷固 定位置的特征碼符合第 一預(yù)設(shè)特征的報文、提取報文載荷中任意位置的特征 碼符合第二預(yù)設(shè)特征的報文及提取報文載荷中特征碼范圍符合第三預(yù)設(shè)特征 的報文;
步驟102,以所述三種預(yù)設(shè)方式中另外兩種方式中的任意一種方式對所述 第一報文進(jìn)行處理,得到第二報文;
步驟103,按照所述三種預(yù)設(shè)方式中余下的預(yù)設(shè)方式對所述第二報文進(jìn)行 處理,得到第三報文;
步驟104,將所述第一報文、第二報文及第三報文發(fā)送到預(yù)設(shè)位置存儲。
在具體實施時,步驟101可以是提取載荷中任意位置的特征碼符合第二 預(yù)設(shè)特征的報文,得到第一報文;步驟101也可以是提取載荷中特征碼范圍 符合第三預(yù)設(shè)特征的報文,得到第一報文;總之,步驟101可以采用三種預(yù) 設(shè)處理方式中的任一種方式對輸入的報文進(jìn)行處理,提取需要保留的報文。 可以想到, -假如步驟101采取了第一預(yù)"i殳處理方式,那么步驟102就可以采 取第二或第三預(yù)設(shè)處理方式,如果步驟102采取第二預(yù)設(shè)處理方式,則步驟 103采取第三預(yù)設(shè)方式。
得到第一、第二和第三報文之后,可以根據(jù)需要對報文進(jìn)行處理,如果 實際需要的是符合二種處理方式的報文,那么就可以將沒有符合任何一種預(yù) 設(shè)方式的報文刪除,將第一報文也可以刪除,只需要提取第二報文應(yīng)用于后 期處理就可以了。那么如果實際需要的是符合三種預(yù)設(shè)方式的報文,則將第 三報文應(yīng)用與后期處理,其它的報文就可以刪除或者指定存儲在預(yù)設(shè)位置。 實施例一的方法可以將用戶不感興趣的報文過濾掉,保留用戶感興趣的報文,留下的報文輸入到后端設(shè)備處理,后端設(shè)備具體實現(xiàn)什么功能和用戶的使用
環(huán)境、目的有關(guān),例如可以是將http分組數(shù)據(jù)恢復(fù)成網(wǎng)頁。
不需要創(chuàng)造性思考也可以知道,在具體實施時,也可以將符合預(yù)設(shè)方式 的報文認(rèn)為是需要刪除的報文,那么沒有符合任何一種預(yù)設(shè)方式的報文則是 實際需要的報文。
上述實施例一中,所述IP分組頭部或者載荷固定位置的特征碼可以是 報文長度、協(xié)議類型、源IP地址、目的IP地址、源端口號、目的端口號、TCP 標(biāo)志位、數(shù)據(jù)區(qū)指定位置特征中的一個或多個組合。所述報文載荷中任意位 置的特征碼也可以是報文長度、協(xié)議類型、源IP地址、目的IP地址、源端 口號、目的端口號、TCP標(biāo)志位、數(shù)據(jù)區(qū)指定位置特征中的一個或多個組合。 報文載荷中特征碼范圍可以是報文長度范圍、源端口號范圍、目的端口號 范圍、源IP地址范圍或目的IP地址范圍中的一個或多個組合。
在本發(fā)明方法的實施例二中,可參見圖2,在依據(jù)預(yù)設(shè)特征對報文進(jìn)行判 斷標(biāo)上任一個標(biāo)識之前,還可以包括無效l艮文識別舍棄,無效才艮文識別舍棄 的作用等效于一個能夠線速過濾報文的"漏桶,,,可以包括
步驟201,識別所述輸入的報文是否符合協(xié)議特征的業(yè)務(wù)類型,當(dāng)所述輸 入的報文不符合所述協(xié)議特征時,將所述輸入報文標(biāo)上丟棄優(yōu)先級標(biāo)識;
在實施步驟201時,如果報文符合協(xié)議特征的則不予舍棄,繼續(xù)按照實 施一中所述的三種預(yù)設(shè)方式進(jìn)行處理,提取需要的報文。
步驟202,對于未能通過協(xié)議特征識別出業(yè)務(wù)類型的報文,當(dāng)該報文不符 合基于網(wǎng)絡(luò)行為特征的業(yè)務(wù)類型時,將該凈艮文標(biāo)上丟棄優(yōu)先級標(biāo)識;
在實施步驟202時,如果報文符合基于網(wǎng)絡(luò)行為特征的業(yè)務(wù)類型,則不 予舍棄,將該報文按照實施一中所述的三種預(yù)設(shè)方式進(jìn)行處理,提取需要的 報文。
步驟203,對于未能通過基于網(wǎng)絡(luò)行為特征識別出業(yè)務(wù)類型的報文,則將 該才艮文標(biāo)上缺省優(yōu)先級標(biāo)識;
步驟204,依據(jù)凈艮文標(biāo)識的丟棄優(yōu)先級標(biāo)識或缺省優(yōu)先級標(biāo)識和才艮文的長 度來判斷是否丟棄該報文。
在實施步驟204時,可以采用如下方法來判斷是否該丟棄報文,具體如
下假定緩存隊列需要支持m個丟棄優(yōu)先級,則為緩存隊列設(shè)置m + 1個門 限,記作th0, thl, th2, ..., thm-l, thm。將該隊列深度記作d,進(jìn)入該隊列 的報文的優(yōu)先級記作pri,進(jìn)入該隊列的報文的丟棄概率記作Ploss,若
對優(yōu)先級為i-l的報文,其丟棄概率為 L d,對于優(yōu)先級小于
i-l的報文,其丟棄概率為l,對于優(yōu)先級大于i-1的報文,其丟棄概率為O。 如果d>thm,則丟棄進(jìn)入隊列的所有凈艮文。
在應(yīng)用上述算法具體實施時,首先初始化隊列門限th0, thl , th2,... , thm-1 , thm,即對thO, thl, th2, thm-l, thm,賦予不同的值,具體賦值的數(shù)值, 用戶可以根據(jù)應(yīng)用場合設(shè)定,不在此贅述。然后,將所有標(biāo)有丟棄優(yōu)先級或 缺省優(yōu)先級報文的丟棄概率設(shè)為0,對于進(jìn)入隊列的第一個分組,同時查看其 優(yōu)先級和報文長度,在處理第一個分組的同時,計算第一個分組寫入完畢以 后隊列的深度dl, dl等于原隊列深度d加上第一個分組的報文長度。同時更 新所有優(yōu)先級報文在該隊列深度下的丟棄概率Ploss。在第二個報文到達(dá)時, 同樣是先提取該報文的優(yōu)先級和報文長度,根據(jù)優(yōu)先級決定該報文是否應(yīng)該 丟棄。
如果當(dāng)前才艮文按照所述算法應(yīng)被丟棄,則該報文從前級讀入時,不寫入 緩存隊列;如果該報文按照所述算法不應(yīng)被丟棄,則讀取的報文寫入緩存隊 列,同時根據(jù)其長度更新當(dāng)前報文發(fā)送完畢后的隊列深度d以及不同優(yōu)先級 分組的丟包概率Ploss。所以,該隊列管理機(jī)制在任何時刻,都保持最新的隊 列深度d和不同優(yōu)先級分組的丟包率,每次分組到達(dá)依據(jù)其丟包概率決定該 分組是否應(yīng)丟棄,并根據(jù)判別結(jié)果,更新下一個分組到達(dá)時的隊列深度和各 優(yōu)先級分組的丟包率。進(jìn)一步的,在實施例二中,在無效報文識別舍棄之前,還可以包括報文
格式封裝,所述報文格式封裝是指將所述輸入的報文線速封裝成攜帶分組 信息的預(yù)設(shè)格式的報文。
在本發(fā)明方法實施例三中,在將所述第一報文、第二報文及第三報文發(fā) 送到預(yù)設(shè)位置存儲之后還包括將所述第一報文按照目的地址進(jìn)行單播封裝; 將所述第二報文和所述第三報文按照目的地址進(jìn)行組播封裝。單播封裝是指 只向一個節(jié)點分發(fā)的格式封裝,組播封裝是指向多個節(jié)點分發(fā)的格式封裝。
本發(fā)明還給出了一種報文處理裝置的實施例三,可參見圖3,該裝置包括
第一識別模塊301,用于利用三種預(yù)設(shè)方式中的任意一種方式對輸入的報 文進(jìn)行處理,得到第一報文,所述三種預(yù)設(shè)方式分別為提取報文IP分組頭 部或者載荷固定位置的特征碼符合第一預(yù)設(shè)特征的報文、提取報文載荷中任 意位置的特征碼符合第二預(yù)設(shè)特征的報文及提取報文載荷中特征碼范圍符合 第三預(yù)設(shè)特征的報文;
第二識別模塊302,用于以所述三種預(yù)設(shè)方式中另外兩種方式中的任意一 種方式對所述第一報文進(jìn)行處理,得到第二報文;
第三識別模塊303,用于按照所述三種預(yù)設(shè)方式中余下的預(yù)設(shè)方式對所述 第二報文進(jìn)行處理,得到第三報文;
報文存儲模塊304,用于將所述第一報文、第二報文及第三報文發(fā)送到預(yù) 設(shè)位置存儲。
在具體實施報文處理裝置時,參見圖3,該裝置還可以包括報文格式封裝 模塊400,用于將所述輸入的報文線速封裝成攜帶分組信息的預(yù)設(shè)格式的報文 并提供給第一識別模塊。在實際應(yīng)用中,如果報文在傳輸介質(zhì)中通過光信號 傳輸,那么在報文格式封裝模塊400可以具體如圖4所示那樣,包括光電 轉(zhuǎn)換子模塊401,串并轉(zhuǎn)換子模塊402,鏈路層處理子模塊403,內(nèi)部格式封 裝子模塊404。光電轉(zhuǎn)換子模塊401將接收的光信號轉(zhuǎn)換為串行差分電信號, 然后送到串并轉(zhuǎn)換子才莫塊402;串并轉(zhuǎn)換子才莫塊402將輸入的串行信號轉(zhuǎn)化為 并行信號,轉(zhuǎn)化后的信號送入鏈路層處理子模塊403;鏈路層處理子模塊403 主要完成鏈路層處理,鏈路層處理比較復(fù)雜,在此簡單描述,具體實施時, 鏈路層處理子模塊403可以選用商用的鏈路層處理芯片;鏈路層處理子模塊403對串并轉(zhuǎn)換子模塊402發(fā)來的鏈路層分組進(jìn)行鏈路層解封處理,把解封出 來的以太網(wǎng)幀送入內(nèi)部格式封裝子模塊404;內(nèi)部格式封裝子模塊404可以采 用FPGA子模塊,經(jīng)過鏈路層處理子模塊403處理后的數(shù)據(jù)分組就變成了 IP 分組,因此可以由FPGA子模塊進(jìn)行處理,并打上線路號、虛容器標(biāo)識、時 隙號、策略號和時間戳等標(biāo)簽。
第一識別模塊301可以采用固定關(guān)鍵詞篩選的方式識別有效l艮文,報文 字段可以是報文頭部固定位置的協(xié)議字段,也可以是數(shù)據(jù)域的特定位置數(shù)據(jù) 特征。在具體實施時,可以采用FPGA+TCAM+SRAM的查表處理方案,篩 選控制由FPGA完成,關(guān)鍵詞特征存儲在TCAM中,查表結(jié)果存儲在SRAM 中,輸入的數(shù)據(jù)經(jīng)過第一識別模塊301篩選后將匹配結(jié)果記入到分組中。具 體的查表過程可以采用流水線機(jī)制,包括如下過程當(dāng)IP報文到來時,首先 有FPGA從報文頭部中提取出查表關(guān)鍵字,送給TCAM查表,TCAM搜索到 與該關(guān)鍵字匹配的表項時,將該匹配表項的地址由TCAM結(jié)果輸出總線送出, 讀取該地址下SRAM的表項得到本次路由查表的結(jié)果即轉(zhuǎn)發(fā)該報文的目的接 口 ,然后由SRAM數(shù)據(jù)總線將該報文送到FPGA數(shù)據(jù)線路中。
第二、三識別才莫塊也可以采用FPGA+TCAM+SRAM的查表處理方案, 不再贅述。
在第二識別模塊302同第三識別模塊303之間可以設(shè)置交換網(wǎng)絡(luò),第二 識別模塊302同第三識別模塊303之間通過交換網(wǎng)絡(luò)交換數(shù)據(jù);采用交換網(wǎng) 絡(luò)有利于系統(tǒng)的平滑升級,在實際應(yīng)用中,可以將第一、二識別模塊看做是 一個子系統(tǒng),將第三識別模塊看做是另一個子系統(tǒng);將經(jīng)過第一、二識別模 塊處理后的數(shù)據(jù)輸入到第三識別模塊中,數(shù)據(jù)就從第一級系統(tǒng)進(jìn)入第二級系 統(tǒng),子系統(tǒng)之間的數(shù)據(jù)傳送是由交換網(wǎng)絡(luò)完成的。因此交換網(wǎng)絡(luò)的作用是為 不同子系統(tǒng)之間交換數(shù)據(jù)的,采用交換網(wǎng)絡(luò)后,就可以將一個復(fù)雜的系統(tǒng)分 解為多個子系統(tǒng)來實現(xiàn),子系統(tǒng)之間釆用交換網(wǎng)絡(luò)提供的通道交換數(shù)據(jù),可 以完成更復(fù)雜的分組處理。
參見圖3,實施例三的裝置還可以包括報文舍棄模塊500,所述報文舍棄 模塊500接收經(jīng)報文格式封裝模塊400處理后的數(shù)據(jù),對此數(shù)據(jù)進(jìn)行舍棄處識別模塊,本發(fā)明還給出了一種報文處理裝置的實施例四,
實施例四中報文舍棄模塊500在具體實施時可以包括(參見圖5):
協(xié)議識別子模塊501,用于用于識別所述輸入的報文是否符合協(xié)議特征的 業(yè)務(wù)類型,當(dāng)所述輸入的報文不符合所述協(xié)議特征時,將所述輸入報文標(biāo)上 丟棄優(yōu)先級標(biāo)識;
網(wǎng)絡(luò)行為識別子模塊502,用于對于未能通過協(xié)議特征識別出業(yè)務(wù)類型的 報文,當(dāng)該報文不符合基于網(wǎng)絡(luò)行為特征的業(yè)務(wù)類型時,將該報文標(biāo)上丟棄 優(yōu)先級標(biāo)識;
缺省識別子模塊503,用于對于未能通過基于網(wǎng)絡(luò)行為特征識別出業(yè)務(wù)類 型的報文,則將該報文標(biāo)上缺省優(yōu)先級標(biāo)識;
判斷處理子模塊504,用于依據(jù)報文標(biāo)識的丟棄優(yōu)先級標(biāo)識或缺省優(yōu)先級 標(biāo)識和報文的長度來判斷是否丟棄該報文。
在采用上述方法實施二中的算法進(jìn)行報文識別舍棄時,判斷處理子模塊 504還可以包括緩存隊列子4莫塊505,以及隊列管理策略子模塊506;更進(jìn)一 步的隊列管理策略子模塊506可以包括隊列深度計數(shù)和門限判決子模塊507、 丟包概率更新電路子模塊508以及隊列讀寫使能信號產(chǎn)生子模塊509。
在具體實施時,協(xié)議識別子模塊501,網(wǎng)絡(luò)行為識別子模塊502和缺省識 別子模塊503依次對輸入的報文進(jìn)行判斷和標(biāo)識,協(xié)議識別子模塊501識別 報文是否符合協(xié)議特征的業(yè)務(wù)類型,如果不符合則將凈艮文標(biāo)上丟棄優(yōu)先級標(biāo) 識;網(wǎng)絡(luò)行為識別子模塊502對于未能通過協(xié)議特征識別出業(yè)務(wù)類型的報文, 則識別報文是否符合基于網(wǎng)絡(luò)行為特征的業(yè)務(wù)類型,如果不符合則將報文標(biāo) 上丟棄優(yōu)先級標(biāo)識;缺省識別子模塊503對于未能通過網(wǎng)絡(luò)行為特征識別出 業(yè)務(wù)類型的報文,則將報文標(biāo)上缺省優(yōu)先級標(biāo)識;標(biāo)上有優(yōu)先級標(biāo)識的報文 就有可能是要舍棄的報文,將這些報文輸入判斷處理子模塊504,判斷處理子 模塊504依據(jù)丟棄優(yōu)先級標(biāo)識或缺省優(yōu)先級標(biāo)識和報文的長度來判斷是否丟 棄該4艮文。
報文舍棄模塊500在功能上等效于一個能夠線速過濾無用報文的漏桶, 根據(jù)后端關(guān)鍵信息收斂單元的處理能力,線速優(yōu)先丟棄無用的報文,使得處理后的報文到達(dá)的速率等同于關(guān)鍵信息收斂單元的處理能力,這里所說的關(guān) 鍵信息收斂單元可以是指實施例三中的第 一-三識別模塊和報文存儲模塊。
進(jìn)一步的,在實施例三的基礎(chǔ)上,參見圖3,在報文存儲模塊之后還可以
包括分發(fā)封裝模塊600,用于將存儲于報文存儲模塊304中的第一報文按照 目的地址進(jìn)行單播封裝,將存儲于報文存儲模塊304中的第二報文和第三報 文按照目的地址進(jìn)行組播封裝。
本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都 是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
對于實施例^^開的裝置而言,由于其與實施例^^開的方法相對應(yīng),所以描述 的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員可以理解,結(jié)合本文中所公開的實施例描述的各示例的單元及 方法步驟,能夠以電子硬件、計算機(jī)軟件或者二者的結(jié)合來實現(xiàn),為了清楚 地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了 各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技 術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來 使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范 圍。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流 程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于 一計算機(jī)可讀取存儲介質(zhì)中,所述程序在執(zhí)行時,可包括如上述各方法的實 施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體
(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random Access Memory, RAM)等。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用 本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易 見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下, 在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例, 而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
權(quán)利要求
1、一種報文處理方法,其特征在于,包括利用三種預(yù)設(shè)方式中的任意一種方式對輸入的報文進(jìn)行處理,得到第一報文,所述三種預(yù)設(shè)方式分別為提取報文IP分組頭部或者載荷固定位置的特征碼符合第一預(yù)設(shè)特征的報文、提取報文載荷中任意位置的特征碼符合第二預(yù)設(shè)特征的報文及提取報文載荷中特征碼范圍符合第三預(yù)設(shè)特征的報文;以所述三種預(yù)設(shè)方式中另外兩種方式中的任意一種方式對所述第一報文進(jìn)行處理,得到第二報文;按照所述三種預(yù)設(shè)方式中余下的預(yù)設(shè)方式對所述第二報文進(jìn)行處理,得到第三報文;將所述第一報文、第二報文及第三報文發(fā)送到預(yù)設(shè)位置存儲。
2、 根據(jù)權(quán)利要求l所述方法,其特征在于,在利用三種預(yù)設(shè)方式中的任意一種方式對輸入的報文進(jìn)行處理之前還包括將所述輸入的報文線速封裝成攜帶分組信息的預(yù)設(shè)格式的報文。
3、 根據(jù)權(quán)利要求l所述方法,其特征在于,在利用三種預(yù)設(shè)方式中的任意一種方式對輸入的報文進(jìn)行處理之前還包括識別所述輸入的報文是否符合協(xié)議特征的業(yè)務(wù)類型,當(dāng)所述輸入的報文不符合所述協(xié)議特征時,將所述輸入凈艮文標(biāo)上丟棄優(yōu)先級標(biāo)識;對于未能通過協(xié)議特征識別出業(yè)務(wù)類型的報文,當(dāng)該報文不符合基于網(wǎng)絡(luò)行為特征的業(yè)務(wù)類型時,將該報文標(biāo)上丟棄優(yōu)先級標(biāo)識;對于未能通過基于網(wǎng)絡(luò)行為特征識別出業(yè)務(wù)類型的報文,則將該報文標(biāo)上缺省伊二先級標(biāo)識;依據(jù)報文標(biāo)識的丟棄優(yōu)先級標(biāo)識或缺省優(yōu)先級標(biāo)識和報文的長度來判斷是否丟棄該報文。
4、 根據(jù)權(quán)利要求3所述方法,其特征在于,所述依據(jù)報文標(biāo)識的丟棄優(yōu)先級標(biāo)識、缺省優(yōu)先級標(biāo)識和報文的長度來判斷是否丟棄該報文包括設(shè)置隊列需要支持的丟棄優(yōu)先級個數(shù)為m,設(shè)置隊列門限個數(shù)為m+l,設(shè)置報文的丟棄概率為P,。ss,設(shè)置各隊列門限為thO,thl,...,thm,設(shè)置報文長度為d;初始換隊列門限thO,thl,…,thm,將才艮文的丟棄概率P!。ss設(shè)為0,當(dāng)報文長度小于等于thi并大于thw時,所述i取值范圍在1至m之間, 則,得到該報文的丟棄概率P1()SS;當(dāng)報文長度大于最大預(yù)設(shè)門限時,則丟棄該報文。
5、 根據(jù)權(quán)利要求l所述方法,其特征在于,在將所述第一報文、第二報 文及第三報文發(fā)送到預(yù)設(shè)位置存儲之后還包括將所述第一報文按照目的地址進(jìn)行單播封裝; 將所述第二報文和第三報文按照目的地址進(jìn)行組播封裝。
6、 根據(jù)權(quán)利要求l-5任一種所述的方法,其特征在于,所述報文IP分組 頭部或者載荷固定位置的特征碼和/或所述報文載荷中任意位置的特征碼為 才艮文長度、協(xié)議類型、源IP地址、目的IP地址、源端口號、目的端口號、TCP 標(biāo)志位、數(shù)據(jù)區(qū)指定位置特征中的一個或多個組合。
7、 根據(jù)權(quán)利要求l-5任一種所述的方法,其特征在于,所述報文載荷中 特征碼范圍為報文長度范圍、源端口號范圍、目的端口號范圍、源IP地址 范圍或目的IP地址范圍中的一個或多個組合。
8、 一種"^艮文處理裝置,其特征在于,包括第 一識別模塊,用于利用三種預(yù)設(shè)方式中的任意一種方式對輸入的報文 進(jìn)行處理,得到第一報文,所述三種預(yù)設(shè)方式分別為4是:^a艮文IP分組頭部 或者載荷固定位置的特征碼符合第一預(yù)設(shè)特征的報文、提取報文載荷中任意 位置的特征碼符合第二預(yù)設(shè)特征的報文及提取報文載荷中特征碼范圍符合第 三預(yù)設(shè)特征的報文;第二識別模塊,用于以所述三種預(yù)設(shè)方式中另外兩種方式中的任意一種方式對所述第一報文進(jìn)行處理,得到第二報文;第三識別模塊,用于按照所述三種預(yù)設(shè)方式中余下的預(yù)設(shè)方式對所述第二報文進(jìn)行處理,得到第三報文;報文存儲模塊,用于將所述第一報文、第二報文及第三報文發(fā)送到預(yù)設(shè) 位置存儲。
9、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括報文格式封裝模 塊,用于將所述輸入的報文線速封裝成攜帶分組信息的預(yù)設(shè)格式的報文并提 供給第一識別模塊。
10、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括報文舍棄模塊, 報文舍棄模塊對輸入的報文處理后發(fā)送給第一識別模塊,所述報文舍棄模塊 包括協(xié)議識別子模塊,用于識別所述輸入的報文是否符合協(xié)議特征的業(yè)務(wù)類 型,當(dāng)所述輸入的報文不符合所述協(xié)議特征時,將所述輸入報文標(biāo)上丟棄優(yōu) 先纟及標(biāo)識;網(wǎng)絡(luò)行為識別子模塊,用于對于未能通過協(xié)議特征識別出業(yè)務(wù)類型的報 文,當(dāng)該報文不符合基于網(wǎng)絡(luò)行為特征的業(yè)務(wù)類型時,將該報文標(biāo)上丟棄優(yōu) 先級標(biāo)識;缺省識別子模塊,用于對于未能通過基于網(wǎng)絡(luò)行為特征識別出業(yè)務(wù)類型 的報文,則將該報文標(biāo)上缺省優(yōu)先級標(biāo)識;判斷處理子模塊,用于依據(jù)報文標(biāo)識的丟棄優(yōu)先級標(biāo)識或缺省優(yōu)先級標(biāo) 識和報文的長度來判斷是否丟棄該報文。
11、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,第二識別模塊同第三識 別模塊之間通過交換網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)交換。
12、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括分發(fā)封裝模塊, 用于將存儲于所述預(yù)設(shè)位置的第一報文按照目的地址進(jìn)行單播封裝,將存儲 于所述預(yù)設(shè)位置的第二l艮文和第三凈良文按照目的地址進(jìn)行組播封裝。
全文摘要
本發(fā)明實施例提供一種報文處理方法及裝置,所述方法包括利用三種預(yù)設(shè)方式中的任意一種方式對輸入的報文進(jìn)行處理,得到第一報文,所述三種預(yù)設(shè)方式分別為提取報文IP分組頭部或者載荷固定位置的特征碼符合第一預(yù)設(shè)特征的報文、提取報文載荷中任意位置的特征碼符合第二預(yù)設(shè)特征的報文及提取報文載荷中特征碼范圍符合第三預(yù)設(shè)特征的報文;以所述三種預(yù)設(shè)方式中另外兩種方式中的任意一種方式對所述第一報文進(jìn)行處理,得到第二報文;按照所述三種預(yù)設(shè)方式中余下的預(yù)設(shè)方式對所述第二報文進(jìn)行處理,得到第三報文;將所述第一報文、第二報文及第三報文發(fā)送到預(yù)設(shè)位置存儲。
文檔編號H04L29/06GK101505283SQ20091013173
公開日2009年8月12日 申請日期2009年3月27日 優(yōu)先權(quán)日2009年3月27日
發(fā)明者鵬 伊, 震 張, 張風(fēng)雨, 扈紅超 申請人:中國人民解放軍信息工程大學(xué)