專利名稱:一種模式匹配裝置及方法
技術領域:
本發明涉及模式匹配技術,尤指一種模式匹配裝置及方法。
背景技術:
網絡報文的模式匹配技術廣泛地運用在入侵檢測系統(IDS)、入侵防御系統(IPS)以及病毒防范(AV)上,用以發現網絡攻擊,病毒入侵。
參見圖1,圖1為基于單核的模式匹配裝置的結構圖。該裝置包括模式匹配引擎檢測(PMEI)單元和模式匹配引擎內存(PMEM)單元。PMEI單元接收待檢測網絡報文,并根據PMEM單元中存儲的匹配規則,對收到的網絡報文進行模式匹配,輸出匹配結果。這里,PMEM單元存儲用于模式匹配的模式匹配規則。
目前,模式匹配技術已經比較成熟的應用在各類單核系統中,但對于新興技術的多核系統而言,急需一種能夠在多核系統上使用的模式匹配技術。
發明內容
有鑒于此,本發明的主要目的在于提供一種模式匹配裝置,應用本發明所提供的裝置能夠在多核系統中實現模式匹配。
另外,本發明的又一主要目的在于提供一種模式匹配方法,應用本發明提供的方法能夠在多核系統上實現模式匹配。
為達到上述目的,本發明的技術方案是這樣實現的一種模式匹配裝置,包括模式匹配引擎內存PMEM單元、網絡報文分發NDD單元和使用多核中不同獨立內核的多個模式匹配引擎檢測PMEI單元;所述PMEM單元,存儲模式匹配規則;
所述NDD單元,按照設置的分發策略將待檢測網絡報文發送至多個PMEI單元中的一個PMEI單元;所述PMEI單元,在接收到所述NDD單元發送的待檢測網絡報文后,與所述PMEM單元交互,根據所述PMEM單元存儲的模式匹配規則,對所述網絡報文進行模式匹配得到匹配結果。
較佳地,該裝置進一步包括模式匹配數據庫PMDB單元、模式匹配引擎構建PMEC單元;所述PMDB單元,存儲設置的模式匹配規則條目;所述PMEC單元,與所述PMDB單元交互,對所述PMDB單元存儲的模式匹配規則條目進行解析,得到所述PMEM單元支持格式的模式匹配規則,并將所述模式匹配規則存入所述PMEM單元。
較佳地,所述PMEM單元包括與各PMEI單元分別對應的各子PMEM單元;所述PMEC單元,進一步依據各PMEI單元進行模式匹配的網絡報文的共同特征,得到與各PMEI單元對應的模式匹配規則,并分別存入各PMEI單元對應的各子PMEM單元中;所述子PMEM單元,與其對應的PMEI單元交互,提供模式匹配規則。
較佳地,所述PMEC單元包括與各PMEM單元分別對應的各子PMEC單元;所述子PMEC單元,與所述PMDB單元交互,對所述PMDB單元存儲的與自身對應的子PMEM單元對應的PMEI單元對應的模式匹配規則條目進行解析,得到自身對應的子PMEM單元支持格式的模式匹配規則,并將所述模式匹配規則存入自身對應的子PMEM單元。
較佳地,該裝置進一步包括模式匹配結果收集(PMRC)單元;所述PMEI單元,將所述匹配結果發送至所述PMRC單元;所述PMRC單元,設置期望匹配結果,接收PMEI單元發送的匹配結果,在匹配結果與自身設置的期望匹配結果不一致時刪除該匹配結果。
較佳地,所述PMRC單元包括與各PMEI單元分別對應的各子PMRC單元;所述PMEI單元,將所述匹配結果發送至與自身對應的子PMRC單元;所述子PMRC單元,設置與自身對應的PMEI單元對應的期望匹配結果;接收與自身對應的PMEI單元發送的所述匹配結果,在所述匹配結果與自身設置的期望匹配結果不一致時刪除所述模式匹配的匹配結果。
另外,本發明還提供了一種模式匹配方法,設置模式匹配規則和分發策略;按照所述分發策略將待檢測網絡報文發送至使用多核中不同獨立內核的多個模式匹配引擎檢測器PMEI單元中的一個PMEI單元;收到所述網絡報文的PMEI單元根據所述設置的模式匹配規則對所述網絡報文進行模式匹配,得到匹配結果。
較佳地,該方法進一步包括,設置模式匹配規則條目;將待檢測網絡報文發送至所述多個PMEI單元中一個PMEI單元之前,進一步包括對所述設置的模式匹配規則條目進行解析,根據各PMEI單元所需訪問共享內存的支持格式,得到所述共享內存支持格式的模式匹配規則,并將所述模式匹配規則存入所述共享內存;所述收到待檢測網絡報文的PMEI單元根據所述設置的模式匹配規則,對所述網絡報文進行模式匹配包括所述PMEI單元根據所述共享內存中存儲的模式匹配規則對所述網絡報文進行模式匹配。
較佳地,該方法進一步包括,設置模式匹配規則條目;將待檢測網絡報文發送至所述多個PMEI單元中一個PMEI單元之前,進一步包括根據各PMEI單元進行模式匹配的網絡報文的共同特征,對與該共同特征對應的模式匹配規則條目進行解析,得到各PMEI單元對應子內存支持格式的模式匹配規則,并將所述得到的模式匹配規則存入各自對應的PMEI單元對應的子內存中;所述收到待檢測網絡報文的PMEI單元根據所述設置的模式匹配規則,對所述網絡報文進行模式匹配包括所述PMEI單元根據自身對應的子內存中存儲的模式匹配規則對所述網絡報文進行模式匹配。
較佳地,該方法進一步包括設置期望匹配結果;在得到所述模式匹配的匹配結果之后,進一步判斷所述得到的匹配結果是否與所述設置的期望匹配結果一致,如果不一致,則刪除所述模式匹配的匹配結果。
本發明所提供的基于多核系統的模式匹配技術方案,通過按照設置的分發策略將待檢測網絡報文發送至使用多核中獨立內核的多個PMEI單元中的一個PMEI單元;收到網絡報文的PMEI單元根據設置的模式匹配規則對網絡報文進行模式匹配得到匹配結果,實現了基于多核系統的技術方案。由于本發明技術方案中的PMEI單元使用的是多核中的獨立內核,因此多PMEI單元并行工作不會增加內存需求,有效地提高了網絡報文的模式匹配的檢測性能。
另外,在本發明的較佳實施例中可以通過對每個PMEI單元設置對應的子內存,用于專門存儲該PMEI單元會使用的模式匹配規則,這里由于減少了PMEI單元所需匹配的模式匹配規則,進而更進一步大大的提高了模式匹配的檢測性能。
圖1為現有技術模式匹配裝置的結構圖;圖2為本發明模式匹配裝置的示例性結構圖;圖3為本發明模式匹配方法的示例性流程圖;圖4為本發明第一較佳實施例裝置的結構圖;圖5為本發明第一較佳實施例方法的流程圖;圖6為本發明第二較佳實施例裝置的結構圖;圖7為本發明第二較佳實施例方法的流程圖。
具體實施例方式
當在多核系統中實現模式匹配技術時,可以依據多核系統提供的運行環境,對單核系統中模式匹配技術加以改進來實現。由于多核技術能夠為不同業務提供獨立工作的內核,并行處理多項業務,因此,在多核系統中可以據多核系統的獨立內核數量增加PMEI單元,不同的PMEI單元使用多核中不同的獨立內核。由于多個PMEI單元使用的是不同內核的資源,因此能夠加快模式匹配的速度。同時,由于在多核系統上使用了多個PMEI單元,因此需要對待檢測網絡報文進行網絡報文的分發,將需要檢測的網絡報文分發至不同的PMEI單元進行模式匹配,進而實現基于多核系統的模式匹配技術。
參見圖2,圖2為本發明基于多核系統的模式匹配裝置的示例性結構圖。該裝置包括PMEM單元、網絡報文分發(NDD)單元和使用多核中不同獨立內核的多個PMEI單元。為了清楚的描述該裝置的結構,在圖2中僅描述了其中兩個PMEI單元的連接情況,該兩個PMEI單元分別為PMEI-1單元和PMEI-2單元。這里,所指的獨立內核可以是多核中的1個虛擬中央處理單元(vCPU)或者1個硬線程。其中,PMEM單元存儲模式匹配規則。NDD單元,按照設置的分發策略將待檢測網絡報文發送至多個PMEI單元中的一個PMEI單元。PMEI單元,接收NDD單元發送的待檢測網絡報文;與PMEM單元交互,根據PMEM單元存儲的模式匹配規則,對網絡報文進行模式匹配得到匹配結果。
參見圖3,圖3為本發明基于多核系統的模式匹配方法的示例性流程圖。該方法具體包括設置模式匹配規則和分發策略;在步驟301中,按照設置的分發策略,將待檢測網絡報文發送至使用多核中獨立內核的多個模式匹配引擎檢測器PMEI單元中的一個PMEI單元;在步驟302中,收到網絡報文的PMEI單元根據設置的模式匹配規則對網絡報文進行模式匹配,得到匹配結果。
基于以上描述的模式匹配裝置的示例性結構圖以及模式匹配方法的示例性流程圖,以下針對其具體實現細節,列舉兩個較佳實施例對本發明的技術方案進行詳細說明。
在本發明的第一較佳實施例中,主要描述了根據設置的模式匹配規則條目得到適合PMEI單元訪問的內存存儲的模式匹配規則的具體技術細節;以及為達到更好的模式匹配效果,對模式匹配得到的匹配結果做進一步檢查的操作。
參見圖4,圖4為本發明第一較佳實施例裝置的結構圖。在本較佳實施例裝置的結構圖中,僅以在模式匹配裝置中設置兩個PMEI單元為例進行說明,這兩個PMEI單元可以表示為PMEI-1單元和PMEI-2單元,分別使用多核系統中的不同內核。當模式匹配單元中還存在其他PMEI單元時,其與該裝置中的連接關系與圖4中的PMEI-1單元和PMEI-2單元相同。
如圖4所示,該裝置除了包括PMEM單元、NDD單元、以及多個分別使用多核中獨立內核的PMEI單元,在本較佳實施例中即為分別使用多核中獨立內核的PMEI-1單元和PMEI-2單元,還包括模式匹配數據庫(PMDB)單元、模式匹配引擎構建(PMEC)單元、模式匹配結果收集(PMRC)單元、以及模式匹配使用(PMU)單元。
由于在模式匹配過程中所需使用的模式匹配規則,通常是模式匹配的操作方以條目的形式存在表格中,不能直接被PMEI-1單元或PMEI-2單元直接讀取。因此,PMDB單元用于存儲預先設置的表格形式的模式匹配規則條目。PMEC單元,與PMDB單元交互,對PMDB單元存儲的模式匹配規則條目進行解析,得到PMEM單元支持格式的模式匹配規則,并將模式匹配規則存入PMEM單元。
另外,NDD單元,從PMU單元接收將待檢測網絡報文,并按照設置的分發策略將待檢測網絡報文發送至多個PMEI單元中的一個PMEI單元。對于圖4而言,則是將其發送至PMEI-1單元或PMEI-2單元中的一個。NDD單元分發報文的分發策略可以依據由源IP地址、目的IP地址、報文方向、源端口和目的端口構成的五元組確定,也可以依據IP協議棧四層和其以下層的協議信息的組合。對于以上報文分發依據可以采用hash機制加快報文分發,提高報文分發性能。PMEI單元,接收NDD單元發送的待檢測網絡報文,與PMEM交互,根據PMEM存儲的模式匹配規則,對當前接收到的網絡報文進行模式匹配得到模式匹配的匹配結果,將得到的匹配結果發送至PMRC單元。
為了保證在具體業務的應用過程中,模式匹配裝置輸出的匹配結果對當前業務可用,在PMRC單元中設置了當前模式匹配裝置對應業務的期望匹配結果,該期望匹配結果通常為一個范圍。PMRC單元,接收PMEI單元發送的匹配結果,在匹配結果與自身設置的期望匹配結果不一致時,則刪除模式匹配的匹配結果。在匹配結果與自身設置的期望匹配結果一致時,則將匹配結果發送至PMU單元。
PMU單元,為模式匹配的操作方,用于從經過數據流中獲得網絡報文,并發送至NDD;并接收PMRC單元發送來的匹配結果,根據收到的匹配結果對數據流進行處理。
另外,參見圖5,圖5為本發明第一較佳實施例方法的流程圖。為了實現模式匹配的方法,模式匹配的操作方需要設置模式匹配規則條目和分發策略;以及為了在具體業務的應用過程中,保證模式匹配裝置輸出的匹配結果對當前業務可用,設置期望匹配結果。其中,模式匹配規則條目設置在PMDB單元中,設置的期望匹配結果設置在PMRC單元中。本方法的具體流程如下在步驟501中,對設置的模式匹配規則條目進行解析,得到PMEI單元訪問的共享內存支持格式的模式匹配規則,并將得到的模式匹配規則存入該共享內存中。
上述所提到的共享內存在圖4中對應PMEM單元。在本較佳實施例中,可以由PMEC單元使用多核中一個指定的核,在PMEM單元讀鎖的狀態下,對PMDB單元中的模式匹配規則進行解析,并將得到的解析結果存儲到PMEM單元中。當PMEM單元處于讀鎖狀態時,PMEI所在多核中的其他核不能對PMEM單元中的數據進行訪問,保證了PMEM單元中的數據完整性。當PMEC單元完成模式匹配規則條目的解析后,則關閉PMEM單元的讀鎖保護,這時各PMEI單元可以并行使用PMEM單元對報文進行模式匹配檢測。
在步驟502中,接收待檢測網絡報文,并按照設置的分發策略將當前收到的網絡報文發送至多個PMEI單元中的一個PMEI單元。在本較佳實施例,就是PMEI-1單元或PMEI-2單元中的一個PMEI單元。在此,假設將當前收到的網絡報文發送至了PMEI-1單元。
這里,當網絡報文為IP包時,此時的分發策略可以是根據由IP包的源IP地址、目的IP地址、報文方向、源端口和目的端口構成的五元組來進行分發,也可以是根據IP協議棧四層及其以下層協議信息的組合來進行分發。同時,為了加快報文分發,提高報文分發性能,可以對在網絡分發過程中采用hash機制。
在步驟503中,當收到的網絡報文的PMEI單元為PMEI-1單元時,則PMEI-1單元根據共享內存中保存的模式匹配規則,對收到的網絡報文進行模式匹配,并將模式匹配的匹配結果發送至PMRC單元。
在步驟504中,PMRC單元將收到的匹配結果與自身設置的期望匹配結果相比較,判斷是否一致,在不一致的情況下,則刪除當前PMEI-1單元發送的匹配結果。
這里設置期望匹配結果方法可以根據當前模式匹配裝置對應的業務需求進行設置。由于對于不滿足業務需求的匹配結果采用刪除的操作,因此本較佳實施例的步驟504能夠提高模式匹配的準確率,同時有利于提高整個系統的處理效率。
至此,針對本發明第一較佳實施例技術方案的介紹結束。
以下介紹本發明的第二較佳實施例。第二較佳實施例是在第一較佳實施例的基礎上,對本發明技術方案的擴展。在第一較佳實施例中,PMEC單元將從PMDB單元解析得到的模式匹配規則全部存儲至PMEM單元中,與NDD單元的分發沒有任何聯系。但是,由于NDD單元采用了一定的分發策略對收到的網絡報文進行分發,因此發送至同一個PMEI單元進行模式匹配的網絡報文必定會具備一些共同特征,因此具有共同特征的這類網絡報文必然可以不必使用到PMEM單元中存儲的所有模式匹配規則。在PMEM單元中存儲的模式匹配規則中,必定會存在對這類網絡報文不產生匹配校稿的模式匹配規則。例如,對于IPV4協議類的網絡報文,必定不會匹配到IPV6協議類的模式匹配規則,因此IPV6協議類的模式匹配規則必然不會對IPV4協議類的網絡報文產生匹配結果。
進而,在本較佳實施例的技術方案中,可以針對每個PMEI單元設置對應子內存,在該子內存中存儲該PMEI單元需要使用到的模式匹配規則。通過這種技術處理,由于對每個PMEI單元而言均減少了其進行模式匹配時需匹配的模式匹配規則,因此大大提高的模式匹配的效率。在本較佳實施例中,由于NDD單元會對待檢測的網絡報文進行分發,因此根據NDD單元分發策略確定每個PMEI單元所需使用的模式匹配規則。
參見圖6,圖6為本發明第二較佳實施例裝置的結構圖。與第一較佳實施例相同,在本較佳實施例同樣以在模式匹配裝置中設置PMEI-1單元和PMEI-2單元為例進行說明,PMEI-1單元和PMEI-2單元分別使用多核系統中的不同內核。為了實現上述技術效果,對每個PMEI單元設置與其對應的子PMEM單元,該子PMEM單元僅存儲其對應PMEI單元所需使用的模式匹配規則。PMEI單元所需使用的模式匹配規則由其進行模式匹配的網絡報文的共同特征確定。
圖6所示的裝置結構圖包括PMDB單元、PMEC單元、PMRC單元、PMEM單元、NDD單元、PMEI-1單元和PMEI-2單元、以及PMU單元。
其中,與第一較佳實施例不同的是PMEM單元包括與各PMEI單元分別對應的各子PMEM單元,即PMEI-1單元的子PMEM單元為PMEM-1單元,PMEI-2單元的子PMEM單元為PMEM-2單元。相應的,PMEC單元,與PMDB單元交互,對PMDB單元存儲的模式匹配規則進行解析,根據各PMEI單元進行模式匹配的網絡報文的共同特征,將解析后、與各PMEI單元對應的模式匹配規則分別存入各PMEI單元對應的各子PMEM單元。這里,PMEC單元可以根據NDD單元分發網絡的機制將解析后的,與各PMEI單元對應的模式匹配規則分別存入各PMEI單元對應的各子PMEM單元。在此,假設PMEI-1單元對IPV4協議類的網絡報文進行模式匹配,則PMEC單元則將與IPV4協議類對應的模式匹配規則存入與PMEI-1單元對應的PMEM-1單元中;假設PMEI-2單元對IPV6協議類的網絡報文進行模式匹配,則PMEC單元則將與IPV6協議類對應的模式匹配規則存入與PMEI-2單元對應的PMEM-2單元中。此時,子PMEM單元,與其對應的PMEI單元交互,在其對應的PMEI單元進行模式匹配提供所需的模式匹配規則。
PMEC單元可以包括與各PMEM單元分別對應的各子PMEC單元。當然,也可以采用第一較佳實施例中單一PMEC單元的形式。此時,各子PMEC單元與PMDB單元交互,根據自身對應的子PMEM單元所需存儲的模式匹配規則,對PMDB單元中對應的模式匹配規則條目進行解析,得到自身對應的子PMEM單元支持格式的模式匹配規則,并將模式匹配規則存入自身對應的子PMEM單元。這里子PMEM單元所需存儲的模式匹配規則,由該子PMEM單元對應的PMEI單元處理的網絡報文的共同特征確定。在本較佳實施例中,可以根據NDD單元的分發策略確定。
PMRC單元可以包括與各PMEI單元分別對應的各子PMRC單元。當然,也可以采用第一較佳實施例中單一PMRC單元的形式。其中,PMEI單元,將得到模式匹配的匹配結果發送至與自身對應的子PMRC單元。子PMRC單元,接收自身對應的PMEI單元發送的匹配結果,在匹配結果與自身設置的期望匹配結果不一致時刪除模式匹配的匹配結果。在匹配結果與自身設置的期望匹配結果一致時,則將匹配結果發送至PMU單元。
另外,NDD單元的功能以及連接關系與第一較佳實施例裝置中的相同,在此不再詳述。各PMEI單元,則是與自身對應的子PMEM單元交互,根據其存儲的模式匹配規則,對網絡報文進行模式匹配得到模式匹配的匹配結果,并輸出到與自身對應的子PMRC單元。PMU單元,與第一較佳實施例裝置中的區別在于,接收各子PMRC單元發送的匹配結果。
另外,參見圖7,圖7為本發明第二較佳實施例方法的流程圖。在本較佳實施例的方法中,與第一較佳實施例相同設置模式匹配規則條目、分發策略和設置期望匹配結果。這里,由于PMRC中包括了與各PMEI單元分別對應的各子PMRC單元,因此,此處設置的期望匹配結果,需要根據各子PMRC單元對應的PMEI單元處理的網絡報文的共同特征分別設置。
在步驟701中,各子PMEC單元,與PMDB單元交互,根據自身對應的子PMEM單元所需存儲的模式匹配規則,對PMDB單元中對應的模式匹配規則條目進行解析,得到子PMEM支持格式的模式匹配規則,并將得到的模式匹配規則存入對應的各子PMEM單元中。
此處子PMEM單元所需存儲的模式匹配規則是根據其對應的PMEI單元處理的網絡報文的共同特征來確定的。當然PMEI單元處理網絡報文的共同特征可以根據NDD單元報文的特征進行確定。在對各子PMEM單元進行存儲的操作時,可以使子PMEM單元處于讀鎖狀態下。
如圖6所示,與PMEI-1單元對應的子PMEM單元為子PMEM單元A,與子PMEM單元A對應的子PMEC單元為子PMEC單元A;與PMEI-2單元對應的子PMEM單元為子PMEM單元B,與子PMEM單元B對應的子PMEC單元為子PMEC單元B。根據NDD單元的分發策略,PMEI-1單元進行模式匹配的網絡報文的共同特征為IPV4協議類報文,PMEI-2單元進行模式匹配的網絡報文的共同特征為IPV6協議類報文。則子PMEC單元A對PMDB單元中與IPV4協議類相關的模式匹配規則條目進行解析,得到IPV4協議類的、子PMEM單元A支持格式的模式匹配規則,并將該得到的模式匹配規則存入子PMEM單元A中。此時,子PMEM單元A中僅保存了IPV4協議類的模式匹配規則,因此PMEI-1單元僅會在IPV4協議類的模式匹配規則對收到的網絡報文進行模式匹配,提高了模式匹配的效率。按照相同的處理方式,子PMEC單元B會將IPV6協議類的、子PMEM單元B支持格式的模式匹配規則,存入PMEI-2單元對應的子PMEM單元B中,供PMEI-2單元訪問。
在步驟702中,接收待檢測網絡報文,并按照設置的分發策略將當前收到的網絡報文發送至多個PMEI單元中的一個PMEI單元。具體實現與第一較佳實施例中的步驟502相同,在此不再詳述。
在步驟703中,假設當前收到待檢測網絡報文為PMEI-1單元時,則PMEI-1單元根據自身對應的子PMEM單元保存的模式匹配規則,對收到的網絡報文進行模式匹配,并將模式匹配的匹配結果發送至自身對應的子PMRC單元。
在步驟704中,子PMRC單元將收到的匹配結果與自身設置的期望匹配結果相比較,判斷是否一致,在不一致的情況下,則刪除當前PMEI-1單元發送的匹配結果。
這里的期望匹配結果的具體設置方法,可以根據當前模式匹配裝置對應的業務需求進行設置。由于對于不滿足業務需求的匹配結果采用的刪除的操作,因此本較佳實施例的步驟704能夠提高模式匹配的準確率,同時有利于提高整個系統的處理效率。
綜上所述,本發明所提供的基于多核系統的模式匹配技術方案,通過將待檢測網絡報文發送至使用多核中獨立內核的多個PMEI單元中的一個PMEI單元;收到網絡報文的PMEI單元根據設置的模式匹配規則對網絡報文進行模式匹配得到匹配結果,實現了基于多核系統的技術方案。另外,本發明所提供的模式匹配技術并不限于使用在網絡安全領域。
以上僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種模式匹配裝置,其特征在于,包括模式匹配引擎內存PMEM單元、網絡報文分發NDD單元和使用多核中不同獨立內核的多個模式匹配引擎檢測PMEI單元;所述PMEM單元,存儲模式匹配規則;所述NDD單元,按照設置的分發策略將待檢測網絡報文發送至多個PMEI單元中的一個PMEI單元;所述PMEI單元,在接收到所述NDD單元發送的待檢測網絡報文后,與所述PMEM單元交互,根據所述PMEM單元存儲的模式匹配規則,對所述網絡報文進行模式匹配得到匹配結果。
2.根據權利要求1所述的裝置,其特征在于,該裝置進一步包括模式匹配數據庫PMDB單元、模式匹配引擎構建PMEC單元;所述PMDB單元,存儲設置的模式匹配規則條目;所述PMEC單元,與所述PMDB單元交互,對所述PMDB單元存儲的模式匹配規則條目進行解析,得到所述PMEM單元支持格式的模式匹配規則,并將所述模式匹配規則存入所述PMEM單元。
3.根據權利要求2所述的裝置,其特征在于,所述PMEM單元包括與各PMEI單元分別對應的各子PMEM單元;所述PMEC單元,進一步依據各PMEI單元進行模式匹配的網絡報文的共同特征,得到與各PMEI單元對應的模式匹配規則,并分別存入各PMEI單元對應的各子PMEM單元中;所述子PMEM單元,與其對應的PMEI單元交互,提供模式匹配規則。
4.根據權利要求3所述的裝置,其特征在于,所述PMEC單元包括與各PMEM單元分別對應的各子PMEC單元;所述子PMEC單元,與所述PMDB單元交互,對所述PMDB單元存儲的與自身對應的子PMEM單元對應的PMEI單元對應的模式匹配規則條目進行解析,得到自身對應的子PMEM單元支持格式的模式匹配規則,并將所述模式匹配規則存入自身對應的子PMEM單元。
5.根據權利要求1至4中任一權利要求所述的裝置,其特征在于,該裝置進一步包括模式匹配結果收集PMRC單元;所述PMEI單元,將所述匹配結果發送至所述PMRC單元;所述PMRC單元,設置期望匹配結果,接收PMEI單元發送的匹配結果,在匹配結果與自身設置的期望匹配結果不一致時刪除該匹配結果。
6.根據權利要求5所述的裝置,其特征在于,所述PMRC單元包括與各PMEI單元分別對應的各子PMRC單元;所述PMEI單元,將所述匹配結果發送至與自身對應的子PMRC單元;所述子PMRC單元,設置與自身對應的PMEI單元對應的期望匹配結果;接收與自身對應的PMEI單元發送的所述匹配結果,在所述匹配結果與自身設置的期望匹配結果不一致時刪除所述模式匹配的匹配結果。
7.一種模式匹配方法,其特征在于,設置模式匹配規則和分發策略;按照所述分發策略將待檢測網絡報文發送至使用多核中不同獨立內核的多個模式匹配引擎檢測器PMEI單元中的一個PMEI單元;收到所述網絡報文的PMEI單元根據所述設置的模式匹配規則對所述網絡報文進行模式匹配,得到匹配結果。
8.根據權利要求7所述的方法,其特征在于,該方法進一步包括,設置模式匹配規則條目;將待檢測網絡報文發送至所述多個PMEI單元中一個PMEI單元之前,進一步包括對所述設置的模式匹配規則條目進行解析,根據各PMEI單元所需訪問共享內存的支持格式,得到所述共享內存支持格式的模式匹配規則,并將所述模式匹配規則存入所述共享內存;所述收到待檢測網絡報文的PMEI單元根據所述設置的模式匹配規則,對所述網絡報文進行模式匹配包括所述PMEI單元根據所述共享內存中存儲的模式匹配規則對所述網絡報文進行模式匹配。
9.根據權利要求7所述的方法,其特征在于,該方法進一步包括,設置模式匹配規則條目;將待檢測網絡報文發送至所述多個PMEI單元中一個PMEI單元之前,進一步包括根據各PMEI單元進行模式匹配的網絡報文的共同特征,對與該共同特征對應的模式匹配規則條目進行解析,得到各PMEI單元對應子內存支持格式的模式匹配規則,并將所述得到的模式匹配規則存入各自對應的PMEI單元對應的子內存中;所述收到待檢測網絡報文的PMEI單元根據所述設置的模式匹配規則,對所述網絡報文進行模式匹配包括所述PMEI單元根據自身對應的子內存中存儲的模式匹配規則對所述網絡報文進行模式匹配。
10.根據權利要求7、8或9所述的方法,其特征在于,該方法進一步包括設置期望匹配結果;在得到所述模式匹配的匹配結果之后,進一步判斷所述得到的匹配結果是否與所述設置的期望匹配結果一致,如果不一致,則刪除所述模式匹配的匹配結果。
全文摘要
本發明公開了一種模式匹配裝置,包括模式匹配引擎內存(PMEM)單元、網絡報文分發(NDD)單元和多個分別使用多核中獨立內核的模式匹配引擎檢測(PMEI)單元;所述PMEM單元,存儲模式匹配規則;所述NDD單元,按照設置的分發策略將待檢測網絡報文發送至多個PMEI單元中的一個PMEI單元;所述PMEI單元,接收所述NDD單元發送的待檢測網絡報文;與所述PMEM單元交互,根據所述PMEM單元存儲的模式匹配規則,對所述網絡報文進行模式匹配得到匹配結果。另外,本發明還提供了一種模式匹配方法。通過應用本發明的技術方案,實現了在多核系統的模式匹配技術。
文檔編號H04L29/02GK101060496SQ20071010794
公開日2007年10月24日 申請日期2007年5月18日 優先權日2007年5月18日
發明者陳忠良 申請人:杭州華三通信技術有限公司