報文控制策略的匹配方法及裝置的制造方法
【專利摘要】本申請?zhí)峁┮环N報文控制策略的匹配方法及裝置,該方法包括:對接收的報文進行解析,得到報文的五元組信息;將五元組信息中的每個信息與五元組掩碼中對應掩碼做按位與運算,得到對應的五個運算結果;如果五個運算結果與五元組信息對應相等,則在報文控制策略表中查找與報文匹配的報文控制策略;如果五個運算結果與五元組信息不相等,則確定報文控制策略表中不存在與報文匹配的報文控制策略,停止報文控制策略的匹配操作。本申請通過使用五元組掩碼進行預匹配,可過濾掉部分不匹配報文控制策略的流量,減少了無效查找,提高了報文控制策略匹配的性能。
【專利說明】
報文控制策略的匹配方法及裝置
技術領域
[0001]本申請涉及網(wǎng)絡通信技術領域,尤其涉及一種報文控制策略的匹配方法及裝置。
【背景技術】
[0002]隨著互聯(lián)網(wǎng)技術的快速發(fā)展,為了保證互聯(lián)網(wǎng)的安全發(fā)展,各種報文處理技術應運而生,一般網(wǎng)絡設備可通過報文控制策略來對匹配該報文控制策略的報文進行相應處理,如轉發(fā)報文、丟棄報文、存儲報文等。由于網(wǎng)絡流量大,網(wǎng)絡設備進行報文控制策略匹配的計算量也很大,因此網(wǎng)絡設備存在較大的時延,如何快速匹配報文控制策略成為報文處理的關鍵。
[0003]現(xiàn)有技術中,可直接提取出報文的五元組信息或者報文內容,并通過快速匹配算法到報文控制策略表中去匹配報文控制策略。但是在大流量的數(shù)據(jù)采集和分析的應用場景下,大部分報文與網(wǎng)絡設備中的報文控制策略無法匹配上,這可造成大量的無效查找,大大降低了報文控制策略匹配的性能。
【發(fā)明內容】
[0004]本申請?zhí)峁┮环N報文控制策略的匹配方法及裝置,以解決現(xiàn)有報文控制策略的匹配方法可能造成大量的無效查找的問題。
[0005]第一方面,提供一種報文控制策略的匹配方法,應用于網(wǎng)絡設備中,包括:
[0006]對接收的報文進行解析,得到所述報文的五元組信息;
[0007]將所述五元組信息中的每個信息與五元組掩碼中對應掩碼做按位與運算,得到對應的五個運算結果;
[0008]如果所述五個運算結果與所述五元組信息對應相等,則在報文控制策略表中查找與所述報文匹配的報文控制策略;
[0009]如果所述五個運算結果與所述五元組信息不相等,則確定所述報文控制策略表中不存在與所述報文匹配的報文控制策略,停止報文控制策略的匹配操作。
[0010]第二方面,提供一種報文控制策略的匹配方法裝置,應用于網(wǎng)絡設備上,所述裝置包括:
[0011 ]解析單元,用于對接收的報文進行解析,得到所述報文的五元組信息;
[0012]運算單元,用于將所述五元組信息中的每個信息與五元組掩碼中對應掩碼做按位與運算,得到對應的五個運算結果;
[0013]匹配單元,用于在所述五個運算結果與所述五元組信息對應相等時,在報文控制策略表中查找與所述報文匹配的報文控制策略;在所述五個運算結果與所述五元組信息不相等時,確定所述報文控制策略表中不存在與所述報文匹配的報文控制策略,停止報文控制策略的匹配操作。
[0014]本申請的網(wǎng)絡設備通過使用五元組掩碼進行預匹配,可過濾掉部分不匹配報文控制策略表的流量,避免了網(wǎng)絡設備對與報文控制策略無法匹配上的報文進行報文控制策略匹配計算,減少了無效查找,提高了報文控制策略匹配的性能。
【附圖說明】
[0015]圖1是本申請一種實施例中報文控制策略的匹配方法流程圖;
[0016]圖2是本申請一種實施例五元組掩碼的生成方法流程圖;
[0017]圖3是本申請一種實施例中報文控制策略的匹配裝置的所在硬件設備的硬件示意圖;
[0018]圖4是本申請一種實施例中報文控制策略的匹配裝置示意圖。
【具體實施方式】
[0019]這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
[0020]在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。
[0021]應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
[0022]本申請中,報文控制策略可包括報文五元組信息以及對該報文的處理操作。
[0023]參見圖1,是本申請一種實施例中報文控制策略的匹配方法流程圖,該方法應用于網(wǎng)絡設備,例如防火墻設備上,包括以下步驟:
[0024]步驟101:對接收的報文進行解析,得到報文的五元組信息。
[0025]本實施例中,網(wǎng)絡設備接收到報文后,可對報文進行解析得到的五元組信息,包括:源IP地址、目的IP地址、源端口、目的端口和協(xié)議號。
[0026]步驟102:將五元組信息中的每個信息與五元組掩碼中對應掩碼做按位與運算,得到對應的五個運算結果。
[0027]對應于五元組信息,五元組掩碼包括:源IP地址掩碼、目的IP地址掩碼、源端口掩碼、目的端口掩碼、協(xié)議號掩碼。當有新的報文控制策略下發(fā)時,網(wǎng)絡設備都可根據(jù)新下發(fā)的報文控制策略對應的五元組信息與網(wǎng)絡設備原來存儲的五元組掩碼中的每個掩碼對應做按位或運算,生成并存儲一個五元組的掩碼。生成五元組掩碼的具體操作可參見圖2。
[0028]由于五元組的掩碼是由所有報文控制策略對應的五元組信息進行或運算計算得到的,因此最后存儲的五元組掩碼值為I的位可以包含所有報文控制策略的五元組信息為I的位。
[0029]網(wǎng)絡設備在接收到報文后,可先將報文五元組信息中的每個信息與五元組掩碼中對應掩碼做按位與運算,得到對應的五個運算結果。
[0030]步驟103:判斷五個運算結果中的每個運算結果與五元組信息中的對應信息是否完全相等。
[0031 ]如果完全相等,則判定五個運算結果與五元組信息對應相等,并執(zhí)行步驟104,否則判定五個運算結果與五元組信息不相等,并執(zhí)行步驟105。
[0032]步驟104:如果五個運算結果與五元組信息對應相等,則在報文控制策略表中查找與報文匹配的報文控制策略。
[0033]如果五個運算結果與報文的五元組信息對應相等,則說明此報文的五元組信息很有可能存儲在報文控制策略表中,因此可在報文控制策略表中使用快速匹配算法查找與報文匹配的報文控制策略。
[0034]步驟105:如果五個運算結果與五元組信息不相等,則確定報文控制策略表中不存在與報文匹配的報文控制策略,停止報文控制策略的匹配操作。
[0035]由于五元組的掩碼是由所有報文控制策略對應的五元組信息進行或運算計算得到的,因此最后存儲的五元組掩碼值為I的位可以包含所有報文控制策略的五元組信息為I的位。如果五個運算結果與報文的五元組信息不相等,則可確定此報文的五元組信息沒有存儲在報文控制策略表中,即報文控制策略表中不存在與報文匹配的報文控制策略,停止報文控制策略的匹配操作以免造成無效查找。
[0036]結合圖1的實施例可知,本申請中的網(wǎng)絡設備可通過使用五元組掩碼進行預匹配,可過濾掉部分不匹配報文控制策略表的流量,避免了網(wǎng)絡設備對與報文控制策略無法匹配上的報文進行報文控制策略匹配計算,減少了無效查找,提高了報文控制策略匹配的性能。
[0037]參見圖2,是本申請一種實施例五元組掩碼的生成方法流程圖:
[0038]步驟201:添加報文控制策略。
[0039]當有新的報文控制策略下發(fā)時,網(wǎng)絡設備可在報文控制策略表中添加報文控制策略。
[0040]步驟202:將報文控制策略的對應五元組信息與五元組掩碼中對應掩碼做按位或運算。
[0041]為了實現(xiàn)本申請,需要預先設置五元組掩碼中每個掩碼的初始掩碼,這里設置每個掩碼的初始掩碼為O,五元組掩碼中各個掩碼的位數(shù)可與五元組信息對應信息的位數(shù)相同,也可統(tǒng)一設置為32位,本申請對此不作特別限定。
[0042]下面以根據(jù)報文控制策略中對應五元組信息中的源IP地址生成源IP地址掩碼為例描述生成掩碼的方法,五元組掩碼的其他掩碼的生成方法與此相同。
[0043]每次添加報文控制策略時都可將網(wǎng)絡設備中存儲的源IP地址掩碼與所添加的報文控制策略的源IP地址做按位或運算,根據(jù)O或I等于I,I或I等于I,0或O等于O的原理,源IP地址掩碼的掩碼值為I的位可包含所有源IP地址中值為I的位。
[0044]例如,網(wǎng)絡設備的報文控制策略表中存儲了2條策略,報文控制策略I的源IP地址為1.1.1.1,報文控制策略2的源IP地址為2.2.2.2。由于源IP地址掩碼的初始掩碼為O,因此與報文控制策略I的源IP地址做按位或運算后,結果為報文控制策略I的源IP地址。報文控制策略I的源IP地址二進制是00000001000000010000000100000001,則源IP地址中值為I的位是第O位,第8位,第16位,第24位。報文控制策略2的源IP地址的二進制是00000010000000100000001000000010,則值為 I 的位是第 I 位,第9位,第17位,第 25 位。
[0045]將報文控制策略I的源IP地址和報文控制策略2的源IP地址進行位或運算,得到的結果是3.3.3.3,二進制是00000011000000110000001100000011,則結果值為I的bit位是第O位,第I位,第8位,第9位,第16位,第17位,第24位,第25位。
[0046]按照此操作方法,即可生成五元組掩碼的其他掩碼。
[0047]步驟203:存儲五元組掩碼。
[0048]結合圖2的實施例可知,本申請中的網(wǎng)絡設備可通過按位或運算得到五元組掩碼,以用于圖1所示的實施例對接收到的報文進行預匹配。
[0049]參見圖3,是本申請一種實施例中報文控制策略的匹配裝置的所在硬件設備的硬件示意圖。
[0050]本申請數(shù)據(jù)包過濾裝置的實施例可以應用在網(wǎng)絡設備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在設備的處理器將非易失性存儲器中對應的計算機程序指令讀取到內存中運行形成的。從硬件層面而言,如圖3所示,為本申請一種實施例中報文控制策略的匹配裝置的所在硬件設備的硬件示意圖,除了圖3所示的處理器、內存、網(wǎng)絡接口、以及非易失性存儲器之外,實施例中裝置所在的設備通常根據(jù)該裝置的實際功能,還可以包括其他硬件,對此不再贅述。
[0051]參見圖4,是本申請一種實施例中報文控制策略的匹配裝置示意圖,該裝置可以應用于網(wǎng)絡設備,用于實現(xiàn)圖1所示實施例的方法,該裝置可以包括:解析單元410、運算單元420、匹配單元430。
[0052]解析單元410,用于對接收的報文進行解析,得到所述報文的五元組信息;
[0053]運算單元420,用于將所述五元組信息中的每個信息與五元組掩碼中對應掩碼做按位與運算,得到對應的五個運算結果;
[0054]匹配單元430,用于在所述五個運算結果與所述五元組信息對應相等時,在報文控制策略表中查找與所述報文匹配的報文控制策略;在所述五個運算結果與所述五元組信息不相等時,確定所述報文控制策略表中不存在與所述報文匹配的報文控制策略,停止報文控制策略的匹配操作。
[0055]可選的,所述裝置還包括:生成單元440(圖4中未示出),用于生成五元組掩碼。
[0056]其中,五元組掩碼包括源IP地址掩碼、目的IP地址掩碼、源端口掩碼、目的端口掩碼、協(xié)議號掩碼。
[0057]生成單元440,具體用于在有報文控制策略下發(fā)時,將所述報文控制策略的對應五元組信息中的每個信息與所述五元組掩碼中對應掩碼做按位或運算,生成新的五元組掩碼。
[0058]可選的,所述裝置還包括:預設單元450(圖4中未示出),用于預先設置五元組掩碼中每個掩碼的初始掩碼。
[0059]可選的,所述裝置還包括:判斷單元460(圖4中未示出),用于判斷所述五個運算結果中的每個運算結果與所述五元組信息中的對應信息是否完全相等,如果完全相等,則判定所述五個運算結果與所述五元組信息對應相等,否則判定所述五個運算結果與所述五元組信息不相等。
[0060]上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。
[0061]對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0062]以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。
【主權項】
1.一種報文控制策略的匹配方法,應用于網(wǎng)絡設備上,其特征在于,所述方法包括: 對接收的報文進行解析,得到所述報文的五元組信息; 將所述五元組信息中的每個信息與五元組掩碼中對應掩碼做按位與運算,得到對應的五個運算結果; 如果所述五個運算結果與所述五元組信息對應相等,則在報文控制策略表中查找與所述報文匹配的報文控制策略; 如果所述五個運算結果與所述五元組信息不相等,則確定所述報文控制策略表中不存在與所述報文匹配的報文控制策略,停止報文控制策略的匹配操作。2.根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括:生成五元組掩碼。3.根據(jù)權利要求2所述的方法,其特征在于,所述五元組掩碼包括源IP地址掩碼、目的IP地址掩碼、源端口掩碼、目的端口掩碼、協(xié)議號掩碼; 所述生成五元組掩碼,包括: 當有報文控制策略下發(fā)時,將所述報文控制策略的對應五元組信息中的每個信息與所述五元組掩碼中對應掩碼做按位或運算,生成新的五元組掩碼。4.根據(jù)權利要求3所述的方法,其特征在于,所述生成五元組掩碼之前,還包括:預先設置五元組掩碼中每個掩碼的初始掩碼。5.根據(jù)權利要求1所述的方法,其特征在于,所述將所述五元組信息中的每個信息與五元組掩碼中對應掩碼做按位與運算之后,還包括: 判斷所述五個運算結果中的每個運算結果與所述五元組信息中的對應信息是否完全相等,如果完全相等,則判定所述五個運算結果與所述五元組信息對應相等,否則判定所述五個運算結果與所述五元組信息不相等。6.一種報文控制策略的匹配裝置,應用于網(wǎng)絡設備上,其特征在于,所述裝置包括: 解析單元,用于對接收的報文進行解析,得到所述報文的五元組信息; 運算單元,用于將所述五元組信息中的每個信息與五元組掩碼中對應掩碼做按位與運算,得到對應的五個運算結果; 匹配單元,用于在所述五個運算結果與所述五元組信息對應相等時,在報文控制策略表中查找與所述報文匹配的報文控制策略;在所述五個運算結果與所述五元組信息不相等時,確定所述報文控制策略表中不存在與所述報文匹配的報文控制策略,停止報文控制策略的匹配操作。7.根據(jù)權利要求6所述的裝置,其特征在于,所述裝置還包括:生成單元,用于生成五元組掩碼。8.根據(jù)權利要求7所述的裝置,其特征在于,所述五元組掩碼包括源IP地址掩碼、目的IP地址掩碼、源端口掩碼、目的端口掩碼、協(xié)議號掩碼; 所述生成單元,具體用于在有報文控制策略下發(fā)時,將所述報文控制策略的對應五元組信息中的每個信息與所述五元組掩碼中對應掩碼做按位或運算,生成新的五元組掩碼。9.根據(jù)權利要求8所述的裝置,其特征在于,所述裝置還包括:預設單元,用于預先設置五元組掩碼中每個掩碼的初始掩碼。10.根據(jù)權利要求6所述的裝置,其特征在于,所述裝置還包括:判斷單元,用于判斷所述五個運算結果中的每個運算結果與所述五元組信息中的對應信息是否完全相等,如果完全相等,則判定所述五個運算結果與所述五元組信息對應相等,否則判定所述五個運算結果與所述五元組信息不相等。
【文檔編號】H04L12/813GK105939284SQ201610016462
【公開日】2016年9月14日
【申請日】2016年1月8日
【發(fā)明人】黃曉朦, 劉欣然, 吳剛, 王勇, 王濤, 郭三川, 翟海濱
【申請人】杭州迪普科技有限公司, 國家計算機網(wǎng)絡與信息安全管理中心