TW201112706A - Recognition system and method for recognizing a data packet - Google Patents

Recognition system and method for recognizing a data packet Download PDF

Info

Publication number
TW201112706A
TW201112706A TW098146092A TW98146092A TW201112706A TW 201112706 A TW201112706 A TW 201112706A TW 098146092 A TW098146092 A TW 098146092A TW 98146092 A TW98146092 A TW 98146092A TW 201112706 A TW201112706 A TW 201112706A
Authority
TW
Taiwan
Prior art keywords
data
data unit
instruction
identification system
unit
Prior art date
Application number
TW098146092A
Other languages
English (en)
Inventor
Zhen-Yu Liu
Original Assignee
O2Micro Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by O2Micro Inc filed Critical O2Micro Inc
Publication of TW201112706A publication Critical patent/TW201112706A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

201112706 六、發明說明: 【發明所屬之技術領域】 本發明係關於一種識別系統,尤其是關於一種圖樣匹 配之識別系統。 【先前技術】 習知的協定識別系統可以根據圖樣匹配過程來確定 網際網路協定(Internet Protocol,IP )封包的應用層協定(例 如’超文本傳輸協定(hypertext transfer protocol,HTTP)、 檔案傳輸協定(file transfer protocol,FTP )、電驢協定 (e-donkey protocol))。例如,習知的協定識別系統可以包 括具有圖樣匹配軟體的通用電腦。該通用電腦可利用圖樣 匹配軟體將IP封包的内容與圖樣匹配軟體中的一組圖樣 進行比較,以根據比較結果確定該IP封包的協定。然而, 這種習知協定識別系統不能快速地確定該IP封包協定。 習知技術中的另一種協定識別系統可由場可程式化 閘極陣列(field-programmable gate array,FPGA )中的硬體 電路來實現。例如,用以確定IP封包協定的硬體描述語言 (hardware description language, HDL)程式(如 Verilog 程式)可為該硬體電路編譯。因此,該硬體電路可以處理 IP封包,並且根據該HDL程式以確定ip封包的協定。然 而,通常配置相對較大的FPGA以載入該硬體電路,其增 加該協定識別系統的尺寸與成本。另外,由於硬體電路設 计的複雜性,編寫HDL程式需要花相對較長的時間。除 此之外’對應用層協定(例如,HTTp、FTp、e_d〇nkey協 0527-TW-CH Spec+Claim(barbara.c-20 ] 00202) 4 201112706 定、BITT0RRENT協定、簡單郵件傳輸協定(simple mail transfer protocol,SMTP))圖樣的任何變化,或任何新加入 網際網路協定集(internetprotoc〇lsuite)的協定,均需要 由程式撰寫者重新編寫HDL程式,其將花費相對較長的 時間。 【發明内容】 本發明提供一種識別一資料封包之識別系統,其包括 一資料記憶體,按一預定順序儲存複數個資料單元,其中 該複數個資料單元中的-第-資料單S包括:確定該資 料封包之一特徵的一指令;該複數個資料單元的一總數; 及該第-資料單元的—對應序列號;以及—輕接至該資料 記憶體的匹配處理器,執行該指令,產生該執行的-結 果,並根據該執行結果、該總數和該對應序列號提供一位 址指標。 【實施方式】 以下將對本發明的實施例做出詳細說明。雖然本發明 Ϊ結ί實,進行_ ’但應理解這並非意指將本發明限 疋些實施例。相反地,本發明意在涵蓋由後附申請專 利範圍所界定的本發明精神和範H内所定義的各種變 化、修改和均等物。 j外,在以下對本發明的詳細描述中,闡明大量的具 體細即以提供針對本發_全面理解。然而,本技術領域 十具有通常知識者細解,沒有這些具體細節,本發明同 0527-TW-CH Spec+Claim(barb ara.c-20100202) 201112706 樣可以實施。在㈣實财,胁f — 和電路未作詳細描述,以便於凸顯本發明之主=、疋件 以下部分詳細描述係以程序、邏輯方二 腦記憶體内資料位元的運算之符號表示之3 些也迷與錢縣㈣處理技術領域巾 = 二:傳,工作實質内容的最有效方式。在本發明中 主序、一邏輯方塊、一步驟或其他等 之步驟或指令導引產生-所需之二= 驟係需要將物理量(physical quantiti_ (r!Tlatl°n)。賴並非必要,但通常這些物理量採用 了诚或雜號的形式俾使在電腦純㈣存 結合、比較等等。 达 」而’ 些相似的用語皆與適當的物理量有關,且僅 Ϊ疋物理量上標上转賴之標示。除非特別強 调’否則顯然從以下述描述可知,在本發明中,這些“存取 (access ) ”、“執行(execute ),,、“判斷(define ) ”、“提 供(provide),,、“產生(gen崎),,等等之用語,係參考 電腦系統或其他類似之電子計算裝置之動作及步驟,這些 動作及步f將代表電腦系統中暫存器及記憶體内之物理 (電子)量處理及轉換為其蝴似於代表電㈣統記憶體 或暫存器内或其他諸如資賴存、親絲示裝置内之物 理量之其他資料。 本發明實施例係透過以一般文字來描述以電腦可使 用的媒體形式(例如,程式模組)存在且透過一或多個電 腦或其他裝置來執行之電腦可執行指令。一般來說,程式 0527-TW-CH Spec+Claim(barbara.c-2〇100202) 6 201112706 ===^?,_組 Ξ式模組的功能將因各種不同實《樣 訊媒=:用:=,存媒體及通 :tr以儲存例如電腦可讀之指令、= 、且或其他資料之可變㈤義)/不可變、 二= ,的電腦儲存媒體。電腦儲存媒體包括隨機二己;】 (RAM)、唯讀記憶體(R〇M)、電子 °心體 15 記憶體(酿叫快閃記憶體或二::唯: 職)、數位多功能磁碟(靖)^ =學= f,卡式磁帶(cassettes)、磁帶(tape)、磁碟、或盆 式儲存或其他可用於儲存資料之媒體,但不以、為^ ^碰可使”腦可讀指令、㈣結構、^模组 資料信號上之資料,例如載波或其他傳輸機 ::呈何資訊傳送媒體。術語「調變資料信號」意 有-❹组特徵組,或以例如在該信號上加密 力口密方法而改變之信號。舉例來說,通訊媒體包括例如有 線稱或以直接線路相連之有線媒體,或例如聲 (acoustic) ( radio frequency, RF ), 他等等無線媒體,但不以此為限。上述媒體之結合亦包^ 在電腦可讀媒體之範圍中。 圖4和圖5為根據本發明的實施例的電腦實施方法的 流程圖。圖4和圖5中的流程可以作為存在於電腦可用媒 0527-TW-CH Spec+Claim(barbara.c-20100202) 7 201112706 體上之某些形式的電腦可執行指令來實施,如)被一個或 多個電腦或其他裝置執行之程式模組。 在一實施例中,本發明提供一種識別系統。該識別系 統可以透過執行圖樣匹配過程來識別資料封包。更具體地 說,在一實施例中,根據一網際協定(例如,傳輸層協定 (transport layer protocol,TLP )、應用層協定(application layer protocol,ALP )),該資料封包可包括被打包在該資料 封包中的訊息。每一種網際網路協定可以有一種或多種特 徵,可被轉為一種或多種圖樣。這些特徵圖樣可按預定順 序儲存在資料記憶體中。圖樣匹配處理器可存取該資料記 憶體,並將該資料封包與儲存在資料記憶體中的特徵圖樣 比較,以根據該比較確定該資料封包是否與對應的協定匹 配。如此,識別系統可識別出資料封包的協定。 圖1為根據本發明的一實施例的識別系統1〇〇方塊 圖。識別系統100可用於識別資料封包1〇8 ^在一實施例 中,資料封包108可以是IP封包/資料電報,但不以此為 限。IP封包/資料電報108可包括定義ip封包1〇8的傳輸 層協定(TLP)的協定區110,及載有ip封包1〇8的資料 的資料區112。TLP可包括傳輸控制協定(transmission control protocol, TCP )、使用者資料電報協定(user datagram protocol,UDP )、網際網路群組管理協定(internet group management protocol,IGMP)、流量控制傳輸協定 (stream control transmission protocol, SCTP )等等。 在一實施例中,資料記憶體104可根據不同的協定在 資料記憶體104的不同區域儲存多個資料單元(如圖中所 0527-TW-CH Spec+Claim(barbara.c-20100202) 8 201112706 ^ ΐ1,..·〜,叩’為整數舉例說明,根據不同的 TLP,貝料記憶體1()4可被劃分為一個或多個區域。盆中 一個區域可儲存與似相_資料單元,-個區域可儲存 ί、UDeP相太關的資料單元’一個區域可儲存與IGMP相關的 資料單元等等。除此之外,根據不同的ALP ’每一個tlp 相關區域可再次被劃分為幾個子區域。舉例說明,對於與 TCP,關的區域,其中-個子區域可儲存與HTTP相關的 資料單元’ 一個子區域可儲存與SMTP相關的資料單元, 一個子區域可儲存與e_d〇nkey協定相關的資料單元等等。 在一實施例中,接收單元106可用於接收Ip封包 1⑽,以及根據協定區110中的内容來確定正封包.108.的 TLP因此,轉接至接收單元106和資料記憶體1〇4的圖 樣匹配處理器102 (在此之後,稱為匹配處理器102)可 根據IP封包1〇8的TLP來存取資料記憶體1〇4中一個對 應區域中的資料單元。舉例說明,在接收IP封包108之後, 接收單元106可擷取協定區11〇中的内容,故使匹配處理 器1 〇 2可以根據該内容來產生指向該對應區域的開始資料 單元的位址指標’以存取該開始單元。此外,接收單元1〇6 可以從IP資料區112中擷取應用層資料,並且將該應用層 資料儲存到接收單元106的資料緩衝器中。匹配處理器1〇2 可以根據該對應區域中的資料單元和該資料緩衝器中的 應用層資料來確定IP封包108的ALP。 更具體地說’一個ALP可以有一種或多種特徵,並且 這些特徵之間可以有一種邏輯關係。比如說,如果IP封包 的ALP是e-donkey協定,IP封包108可以與第一特 0527-TW-CH Spec+Claim(barbara.c-20100202) 9 201112706 徵組〇〇丨和第二特徵組Cg2匹配。 分別由“P,,、%,,、《R,,#«s,,& t Μ特徵組CGi可包括 =2:r層資料區的第_=内碼= η::種特徵’即包括十六進位物c5之第 二== 特徵單μ可代表-種特徵,即』 十八進位碼0χΕ4之第-位元組内容。第四特徵單元 =表-種特徵’即包括十六進位碼㈣4之第—位元組= 容。在一實施例中,第一特徵組CGi可表 、 換句話說,如果IP封包⑽與特徵單^卜q、 二之-,,則可代表IP封包⑽與第—特徵組 。第一特徵組CG2可以包括由T代 2特徵單元了可代表—種特徵,即包括代表Ιρζ= 長度的十六進位碼之應用層資料區巾第二 内容。第二特徵組CG2可表達為:Τ。類似地,如果3 ,10S^ cg2匹配。在-貫施例中’如果1?封包⑽與兩個特徵电 CGl和CG2均匹配’IP封包⑽的ALP為e-d〇nkey協定。 因此’ e-donkey協定的特徵之間的邏輯關係可以表 (PvQvRvS)aT或 CG’aCG2。 在一實施例中,这些特徵之間的邏輯關係也可表達 為:…T)V(QaTMRaTMSaT)。在一此等實施例中, 協定可以包括四個特徵組。第—特徵組⑽可表達為. Μ。第二特徵組叫可表達為:QaT。第三特徵組cg, 可表達為:RAT。第四特徵組说4可表達為:Sat。如果3 0527-TW-CH Spec+CIaim(barbara.c-20100202) 10 201112706 IP封包108與特徵置一 ^ ι π 特徵組叫匹配匹配❿封包1〇8則與第一 配,㈣包刚二正特封徵包^與特徵單元_匹 CG,知ΓΓ,~r、 特徵、卫CG 2匹配;對於特徵組
3 4以以此類推。在一實施例中,如果iP 108與特徵組CG,】rrT,甘士 π如果IP封包 包⑽的ALP為:麵二t之:㈣徵組匹配, e-d〇nkey協定的特徵 ’ CAW、間的邏輯關係也可以表達為: 0 4 在一實施例中,多個資料單元(如,D_D. n、 中至少一個資料單元可代表 "1+lj-D^) 〇.R ο Tx 〜表ALP的—對應特徵(如,ρ、 Q、R、s、τ)。例如’資料單元D⑷可 前述的第一位元組内容與值〇χΕ 括才",將 魔可以存取資料單元Di+iJi 5 匹配處理器 封包⑽是奸括誠㈣細斯日令’且產生代表ip 疋祜對應的特徵p 料單元Di+2, ".Di+5可分別用㈣^仃、、,。果。類似地’資 特徵Q、R、S和T。 '疋1P封包1〇8是否包括
在一實施例中,資料單元D 記憶體104中作為用於資料封包以儲存於資料 特徵圖樣。資料單元]>+ 、°樣匹配過程的多個 資料記憶體1〇4中’其;該預;序儲存在 邏輯關係來決定的。在—實施例中,=疋由該特徵之間的 例,其特徵之間的邏輯關係 .e'donkey協定為 此糾代表卜Q、_的—4^(:Tvs)at,因 以按順序地被儲存,而代表τ的資 hi,…Di+4可 資料單元組〜,為4緊接著的下一儲= 0527-TW-CH Spec+Claim(barbara.c-20100202) 11 201112706 此等實施例中’資料單元Di+1,…Di+5可以儲存在與 e_donkey協定相關的子區域中。此外’如前所述,該特徵 之間的邏輯關係也可表達為:(paT)v(qaT)v(RaT)v(SaT)。因 此在另一實施例中,一組資料單元Dj+1,…Dj+8(“j”為整數) 可被設定為代表特徵序列p、T、Q、T、R、T、S和τ, 並且可按順序儲存在與e-donkey協定相關的子區域中。 一般而言,在一實施例中,用於識別資料封包1〇8的 識別系統10 0可以包括用於按預定的順序儲存一組資料單 元的資料記憶體104。該組資料單元中的第一資料單元可 以包括用於確定該資料封包1〇8特徵的指令。該第一資料 單元還可以包括該組資料單元的總數,和該第一資料單元 所對應的序列號。此外,識別系統1〇〇還可以包括耦接至 資料記憶體104的匹配處理器102。匹配處理器1〇2可以 執行該第-資料單元_指令,並且產生執行結果。在一 實施例中’該指令的執行結果包括一個布林(B〇〇lean)值。 如果該布林值為真(true),則資料封包1〇8包括第一資料 單元所代表的特徵。如果該布林值為假(㈣),則資料封 包1〇8不包括第-資料單元所代表的特徵。除此之外,匹 配處理器1G2可以根據該執行結果、該組f元 以及對應於該第—資料單元的序列號來提供位址Γ標 padd。在-實施例中’ E配處理器102可根據位址指標^ 來存取資料記憶體1〇4中的第二資料單 a一 資料單元中的齡。 卿这第- 0527-TW*CH Spec+Claim(barbarac*20100202) 12 201112706 數和單元序列號來提供另-個指向第三資料單元的 指標。因此,匹配處理器102可以逐一存取第三資料單_ 第四資料單元、狂㈣單元科,並且確定^封包^ 是否包括被存取的資料單元所代表的特徵。換句話說, 配處理器102可以根據資料記憶體1〇4中的資料單元來= 行圖樣匹配過程,以確定資料封包1〇8的ALp。在一每扩 例中,如果資料封包⑽與某個ALP的特徵的邏輯組^ 配,匹配處理器102可以產生一個輸出信號ιΐ4以代表該 ALP為資料封包108的ALP 〇 Λ 圖2為根據本發明的—實施例的f料單元· ..圖。以下將結合圖1對圖2進行描述。在—實施例中,資 料單元DbDi+1,…Di+5,..·中的每個資料單元可以鱼 元200具有相同架構與長度(例如,32個位元組八早 如圖2所示,資料單元細可以包括四配模式區搬, 代表ALP的-種圖樣匹配模式。更制言之,在—實施 中,該圖樣匹配模式可包括第—匹配模式和第二匹配模 式二在第-匹配模式中,對應之ALp的特徵組之間的邏輯 關係可以為賴OR (如,cg.iVCG.2vCG>cg.4),而每個特 徵組中的特徵單元之_邏輯關可以為邏輯and(如, ΡλΤ ’ QaT,RaT和Sat)。在第二匹配模式中,對應⑽ 的特徵組之間的邏輯關係可以為邏輯AND'Z如, CGiaCG2),而每個特徵說中的特徵單元之間的邏輯關係可 以為邏輯OR (如,PvqvRvS)。 a e_d論ey狀為例,與e_d⑽key協抑關的子 可以包括-組資料單元、,...如。這組資料單元 0527-TW-CH Spec+Claim(barbara.c-20100202) 13 201112706 依序儲存在資料記憶體1G4中,並且被設 一此等實例中,i=p、eT、Q、T、R、T、s^Te 702 -母個資料單兀Dj+1,…Dj+8的匹配模式區 均有表不第一匹配模式之相同内容。因此,匹配處理 器102可以根據資 η μ 處 、 象貝科卓兀Dj+1,…Dj+8來執行圖樣匹配過 ,以確定資料封包1〇8是否與邏輯组合 (paTMQaTMRaT)v(SaT)匹配。 , 如另實例所示,與e-donkey協定相關的子區域可以 包括一組資料單元1W為5。這組資料單元Di+1,為5 儲存在資料記憶體刚中,並且被設定成分別代 表?徵早tlP、q、r、.s* τ。在一此等實例中,每個資 料早7G Di+1,·..Di+5的匹配模式區2〇2均有表示第二匹配模 式之相同内今。因此,匹配處理器1〇2可以根據資料單元
Dhi,…Di+S來執行圖樣匹配過程,以確定資料封包1〇8是 否與邏輯組合(PvqvRvS)aT匹配。 在-實施例中,資料單元2〇〇還可包括傳輸層協定 (TLP)區204,代表資料單元位於的區域所對應的 TLP (如,TCP、UDP、IGMP、SCTP)。在一實施例中, 識別系統1〇〇可以根據資料封包⑽的協定區11〇的内容 來確疋資料封包1G8的TLP。如此,匹配處理器1〇2可以 根據儲存在對應輯巾的資料單元來執行®樣匹配過程。 在-實施例中,資料單元200還可包括應用層協定 (ALP) 1 206,代表資料單元2〇〇 <立於的子區域所對應
的 ALP (如,HTTP、FTP、e-donkey 協定、BITTORRENT 協疋、SMTP等等)。此外,資料單元200還可包括用於儲 0527-IW-CH Spec+Claim(barbara.c-20100202) 14 201112706 存該對應子區域中資料單元的總數NUtC)t_a的單元總數區 2〇8 ’以及用於儲存資料單元2〇〇所對應的一個單元序列 號NUseq-a的單元序列號區210。在一實施例中,NUtC)t_a和 NUseq-a 為正整數,且 NUseq_a 不大於 NUt〇t_a。以 e-d〇nkey 協定為例’如果選擇第一匹配模式,則與e-donkey協定相 關的子區域可包含八(8)個特徵單元P、T、Q、T、R、 T、S和T,所以^仏^為8。此外,分別代表特徵單元p、 τ、Q、τ、R、T、s和τ的資料單元序列號的NUseu可 為1 2、3、4、5、ό、7和8。另一方面,如果選擇第二 匹配模式’則與e-donkey協定相關的子區域可包含五(5 ) ,特徵單元P、Q、R、S和T,所以NU—為5。此外, 分別代表特徵單元P、Q、R、S和T的資料單元序列號的 NUseq_a 可為 1、2、3、4和5。 々在一實施例中,圖樣匹配模式(例如,第一匹配模式 和第二匹配模式)可以根據對應ALP的資料單元總數 ^Ut〇t:ae選擇。例如,在第一匹配模式中,e-donkey協定的 資料單元總數NUtot_a可以為8。在第二匹配模式中, e_d〇nkey協定的資料單元總數NUtot_a可以為5,因此第二 匹配模式下的資料單元數小於第一匹配模式下的資料單 元數因此,第二匹配模式可以(但非必需)被選擇用於 該圖樣匹配過程。 除此之外,在一實施例中,資料單元200包括用於儲 存對應ALP的特徵組的總組數NGtot之組總數區212,以 及用於儲##所職的組序舰之組序列號區 14在男、施例中,NGtot和NGseq為正整數,且NGseq 0527-TW-CHSpec+Claim(barbara.c-2〇l〇〇2〇2) 201112706 不大於NGtot。對於第一匹配模式,e_d〇nkey協定可以有四 4)個特徵組CG,〗、CG,2、CG,3和CG,4,所以NGtot為 4特徵組CG rCGVCG’A CG,4的組序列號分別為卜 2 3和4。對於第二匹配模式,e-donkey協定可以有二(2) 個特徵組CGi和CG2 (NGtQt=2),且特徵組CGi和CG2的 組序列號NGseq分別為 除此之外,在一實施例中,資料單元200包括用於儲 存對應特徵組巾特徵單元(f料單元)總數薦心之單元 總數區216,以及用於儲存資料單元2〇〇在其對應特徵組 中的-個對應序列號而叫_〆單元序列號區218。在一實 施例中’,薦心和NUseq』為正整數,且NUseq』不大於 NUtQt_g。例如’CGi包括四個單元p、Q、R* s,所以CGi 的NUt()t_g為4。此外,分別代表p、q、R和s的資料單 元的序列號NUseq_g依次為i、2、3和4。又例如,CG,2 包括二個單元Q和T,所以CG,2的2。此外, 分別代表Q和T的資料單元的序列號]^11叫^為丨和2。 在一實施例中,資料單元200中的指令包括代表指令 集中的該指令的關鍵字。在一實施例中,該指令還包括至 少一個用於執行該指令的參數。如圖2所示,該關鍵字可 以儲存在關鍵字區220中,而該至少一個參數可儲存在一 個或多個選項區222_1-222_N* (N為正整數)。 更特別言之,該指令集可以包括一些分別具有不同特 定功能的指令。例如.,該組指令可以由一些關鍵字(例如, “content”、“>content”、“〈content”、“+al”等等)代表。其 中,指令“content”、“>content”和“〈content”可用於將接收 0527-TW-CH Spec+Claim(barbara.c-20100202) 16 201112706 單元106的資料緩衝器中一預設區域的内容與一預設内容 比較。據此’選項區222_1可儲存該預設區域的開始位址; 選項區222_2可儲存該預設區域的深度;以及選項區222_3 可儲存該預設内容。此外’指令“contenf,的比較結果可以 代表該特定預設區域的内容是否與該預設内容相同。指令 “〈content”的比較結果可以代表該預設區域的内容是否大 於該預設内容。指令“>content”的比較結果可以代表該預設 區域的内容是否小於該預設内容。指令“+al,,可用於將儲存 在資料緩衝器中第一特定預設區域的值與預設值相加,並 且把相加的和(sum)儲存到資料緩衝器的第二預設區域 中。選項區222一 1和222_2可對應地儲存該第一預設區域 的開始位址和深度;選項區222一3和222一4可儲存該第二 預設區域的開始位址和深度;以及選項區222—5可儲存該 預設值。 ~ β 該指令集的指令可以有許多不同的功能(例如,内容 比較、簡單數學運算、邏輯運算、位址指標跳轉等等)。 ,存取資料單元200過後,匹配處理器1()2可以根據關鍵 字區220内的關鍵字以及選項區222J_222—Ν内的參數來 執行該指令集中-對應的指令。在一實施例中,匹配處理 器102可以藉由執行該指令集中的一對應指令來確定資料 封包108是否包括一特徵。 圖3為根據本發明的一實施例的資料記憶體ι〇4中資 料單元的分佈圖。圖3將結合圖丨和圖2進行描述。如圖 3所示’資料記憶體104可以包括複數個區域316j_316_k (K為正整數)’分別對應於傳輸層協定TLP_1-TLP K(例 0527-TW-CH Spec+Claim(barbarac-20100202) \η 201112706 如’ TCP、UDP、IGMP、SCTP等等)。在一實施例中,每 個區域316_1-316—K包括一組子區域,分別對應於不同應 用層協疋(例如 ’ HTTP、FTP、e-donkey protocol、 BITTORRENT protoco卜 SMTP 等等)。例如,tlP J ( J<K ) 的區域316_J可以包括分別對應於應用層協定 ALP314_i, ...ALP314 5 的子區域 314_1-314_5。這些子區域 314_1-314—5可以依序位於資料記憶體1〇4中。 在一實施例中,每個ALP包括一個或多個特徵組。在 圖3所示的實例中,子區域314J的ALp3i4」包括儲存在 子區域310—1和310_2的特徵組(^训^和CG3i〇 2 ;且子 區域314_2的ALPsh—2包相儲存在子區域312—丨_312—3的 特徵組CGmj,…CGM2_3。在一實施例中,每個特徵纟且可 以包括一個或多個特徵單元。例如,特徵組CG3i〇〗可包 括分別由資料單元302^-302^所代表的特徵單元 Usou,…U3〇2_5 ;特徵組CG310_2可包括分別由資料單元 304_1-3G4_4所代表的特徵單元% h ...U3。“;特徵组 CG^可包括分別*資料單元3〇6j_3〇6_6所代表的特徵 早凡U^,...U306_6 :以及特徵組CG3i2」可包括分別 料單元308—1-308—3所代表的特徵單元U3〇8—!,…。 如則所述’-個ALP可以包括由一組資料單元代表 一組特徵。匹配處理器⑽可以根據這些資料單元藉由第 -匹配模式或者第二匹崎式來執行圖樣匹崎程。 314 1
(U302J Λ U3〇2-2"· Λ U3()2_5) V (U3〇4 Λ U Q所不的貫例中’對於alp314」的匹配選擇第—匹配模式。 換句話說’ ALP314 1其特徵之間的邏輯組合可以表達為: 而 304,··Λν4)或 cg31(uVCg3ul2 0527-TW-CH Spec+Claim(barbara.c-20100202) 18 201112706 T^i4^ ° ^ (u ·;特徵之間的邏輯組合可以表達為·· 一每施 C 中 I:) : Μ。8-1 V A。8-3)或 ^312·ι 八⑺312-2 Λ ⑺312 3。^ 中。 依序儲存在資料記憶體1〇4 3Μ f ’前述的第-資料單元可為位於區域 個布林值為真ηΙ、制齡執行結果的一 資料單元而健存4的:二可指向緊接著該第- 明,若該第-資料t=rG:2-5。再舉例說 料單元302一5,且A對庳的 31〇J中的最後一個資 封包108 丁、、,°果為真’即可代表資料 以°如此’資料封包⑽的AlU 乂為ALP3141。匹配處理 0 LP 了 包108的ALP為ALP 。 可以產生代表資料封 再舉例說以二信,。 3〇2一1_3〇2_5中的—個 貝’斗早兀為—組資料單元 林值為假,即可代表資_;;對應指令執行結果的一個布 配。因此,位址指=包;08與特徵_心不匹 add可指向緊接著兮έ曰次斗:!》。-搬-1-302-5而儲存的第二資料單元3〇4 ^組貝抖早70 在另一實施例中,該第 ; 3Μ一2中。例如,如果該第 二早-可以位於區域 306—巾的一個,且# =為-組資料單元 一對應扣7執行結果的一個布 0527-TW-CH Spec+Claim(barbara.c-20100202) 19 201112706 儲存的第二資料ί =可2指向緊接著該第1料單元而 假,即可代早?: 一6且其對應的執行指令為 tcG D貝科封包108與特徵組呢121不匹配,i AL/i是由此可較資料封包⑽的 間3Μ2 Γ2/斤以位址指標^可指向緊接著子空 3〇6 1-30“ 3〇R夕個資料單元(例如, 如“第二資料單元(例 3〇6 ϋ例6^的2果該第—資料單元為該組資料單元 林值為真,—即可代對應指令執行結果的一個布 了代表貝料封包1⑽與特徵組CG3121匹配。 3〇6Μ〇!Γ'# 的心咨4:⑽存的第二資料單元(例如,特徵組CG312 2 =始資料單元)。然而,在另一實例中,如果該第一資2 元早區域m後一組特徵組CG312-3的資料單 、〇8—3巾的_個,且賊應的指令執行結果為 真’即可代表資觸包⑽鱗徵组CG3i2i,".CG3i2^ ,配:因此’資料封包108的ALP可以為ALP””。匹配 理器102因而可以產生代表資料封包⑽# ALp為 ALP314_2的輸出信號114。 、除此之外,在一實施例中,每個區域316—jjM-K可 以包括結束資料單元,祕代表對應區域3丨6—1316_〖的 結尾。舉例說明,如圖3.所示,區域316一;的結束資料單 兀318可以包括用於終止圖樣匹配過程的指令。在一實施 0527-TW-CH Spec+Claim(barbarac-20100202) 20 201112706 例中’如果位址指標Padd指向結束資料單元M8,匹配處 理器102可以存取結束資料單元318,並接著中止該圖樣 匹配過程。匹配處理器1〇2還可以產生代表資料封包1〇8 與TLP一J中任何ALP均不匹配的輸出信號IN。 __圖4為根據本發明的一實施例以一識別系統執行的例 示性方法流程圖4〇〇。在一實施例中,匹配處理器1〇2可 被配置,俾使識別系統1〇〇可以流程圖400所示的方式操 作以下將結合圖1、圖2和圖3對圖4進行描述。 。。在步驟402中,匹配處理器1〇2可以根據指向第一資 料單元(例如,302_1-302_5, 304_1-304__4, 306_>306_6, =8一 1-308一3.等等)的第一位址指標Ρι來存取該第一資料 單元。在一實施例中’該第一資料單元可以與資料單元2〇〇 具有相同的架構。在步驟綱中’匹配處理器1()2可以確 定哪個匹配模式被選擇用於圖樣匹配過程。更具體地戈 該第-資料單元的匹配模式區2G2中的内容可絲用二亥 圖樣匹配過程的匹配模式(例如,前述的第—匹配 ^ 第二匹配模式)。如果選擇的是第—匹配模式 將轉到步驟406中。 _ _在步驟406中,匹配處理器102可以執行該第 早το的指令(例如’儲存在關鍵字區22()和選項 222」-222—N中的指令)。在-實施例中,該指令的二 果包括布林值。在步驟顿中,如果該執行結果為真^ 可代表資料封包108與該第一資料單元 ; 配,因此流程圖400將轉到步驟41〇中。/ 、寺徵匹 匹配處理器102可以將儲存於單元總數區2ΐ6中的:數 0527-TW-CH Spec+Claim(barbara.c-20100202) 21 201112706 NUt()t_g與儲存於單元序列號區218的序列號NUseq_g比較。 在一實施例中’該第一資料單元可以處於一第一特徵組 (例如’一組資料單元)内。該第一特徵組可以包括NUtm_g 個資料單元’且該第一資料單元的序列號可以為NUseq_g。 如果序列號NUsetLg小於總數NUt()t_g,即可代表該第一資 料單元不是該第一特徵組中的最後一個資料單元,因此流 程圖400將轉到步驟412中。在步驟412中,匹配處理器 102可以提供指向一第二資料單元的第二位址指標卩2,且 P2可由此給定:Pfh+l。更具體地說,第一位址指標Ρι 被增加一個資料單元長度的偏移量(例如,32位元組)。 因此,抓程圖400可以轉到步驟4〇2 ’並且匹配處理器ίο〕· 可以存取緊接著該第—資料單元㈣存的第二資料單元。 返回到步驟410巾,如果序列號Ν'』等於總數 NUt。匕g ’即。可絲該第—㈣單元是該第—特徵組的最後 一個貧料單π,因此流程圖4〇〇將轉到步驟々Μ中。在步 驟414中,資料封包108❺ALp可被確定。更具體地說, ^選擇的匹配模式為第-匹配模式,所以在對應的ALp =徵組之_賴_為邏輯⑽,㈣娜徵組内特 徵早70之_邏輯關係為邏輯AND。當該第 該第-特徵_最後-個資料單元時,即 ⑽與該第-特徵組匹配。因此,匹配處理琴1〇2可以^ 據該第-資料單元的應用層蚊區高中的内容 料封包⑽的ALP。換句話說,資料封包是 該第一資料單元中應用層協定區高所代表的ALp。疋 返回到步驟4〇8中,如果該執行結果為假,即可代表 0527-TW-CH Spec+Claim(barbara.c-20100202) 22 201112706 資料封包108不具有第一資料單元所代表的特徵,那麼流 程圖400將轉到步驟416中。在步驟416中,第二位址^ 標P2被提供’且可由此給定:p2=Pl+NUt(^_NUse^+i 具體地說,在一實施例中,第一位址指標匕被增加一個為 NUtQt_rNUseq_r+i個資料單元長度的相對量(例如, (NUtot_r-NUseq_r+l)*(32位元組))。因此’流程圖4〇〇可以轉 到步驟402,並且匹配處理器102可以存取緊接著該第一 特徵組而儲存的第二資料單元。 Λ 返回步驟404中,如果選擇的是第二匹配模式,流程 圖400將轉到步驟418中以執行該第一資料單元中的指 令。在步驟420中,如果該執行結果為真,流程圖4〇〇 ^ 轉到步驟422中。在步驟422中,匹配處理器1〇2可以將 儲存在組總組數區212中的組總數薦⑹與儲存在組序列 號區214的組序舰NGseq比車交。在一實施例中,該第一 特徵組可以處於-個對應的ALp内。胃ALp可以包括 NGtot個賴組’且該第—魏_序舰可⑽NGY f第-匹模式巾,alp巾的特徵組之間的邏輯關係為邏 輯AND,而每個特徵組内特徵單元之間的邏輯關係為邏輯 OR '如果序列號NGseq小於總組數腿⑽,即可代表該第 特徵組不疋其ALP的最後—個特徵組,因此流程圖働 =轉到步驟424中。在步驟似中,第二位址指標&可被 提供’且可由此給定:㈣侧⑹眞^+1。因此,流 ^圖400可以轉到步驟術,且匹配處理器搬可以存取 I、接者該第-特徵組而儲存的第:資料單元。 返回步驟422中,払里—,^ 如果序列號NGseq等於總組數 0527-TW-CH Spec+CIaim(barbara.c-20 J 00202) 23 201112706 NGtot ’即可代表該第—特徵 特徵組,因此流程圖4〇〇將;;對應ALP❸最後一個 卜資料封肖Γ 轉到步驟426中。在步驟你 τ貧科封匕的ALP可赫被— -特徵組是該ALP的最後—彳體地說’當該第 包108盥爷麦一個特徵組時,即可代表資料封 包與該ALP的所有特徵組均匹配。因此,匹配處理器 102可以根據該第一資料 &隨處理态 容來較資料封包uTXt朗層财區施中的内 = 在步驟428中,匹配處理器撤可將
Lg與序列號NUseq-g比較。如果序舰叫叫g小 挑數NUtot_g ’流程圖400將轉到步驟4 於 驟仍,第二他赌Μ被提供,且可由此 Ρι+卜如料顺NUseq_g#機數NUt(g,g卩可代表 料封包108與該第-特徵組不匹配。換句話說,資料封包 108的ALP不疋該第一特徵組所處的子區域所對應的 ALP。因此,流程圖4〇〇將轉到步驟432中,以存取儲存 在另一個ALP的區域的第二資料單元。 子 更具體地說,在步驟432中,第二位址指標!>2可被提 供,且可由此給定:P2=Pl+NUtot—a-NUseq_a+l,其中 Νυ^ 是儲存在單元總數區208的單元總數,及NUseq_a是儲存^ 單元序列號區210的單元序列號。在一實施例中,在〜個 ALP所對應的子區域中,其特徵單元(資料單元)總數可 以為NUtot_a,以及該第一資料單元處於該子區域範圍内的 序列號可以為NUseq_a。因此,匹配處理器102可以存取緊 接著該子區域而儲存的第二資料單元。 ' 0527-TW-CH Spec+Claim(barbara.c-20100202) 24 201112706 換言之,在一實施例中,資料記憶體1〇4可以用於提 供複數個指令。這些指令可以儲存在多個資料單元(例 如,302-1-30^ 304^.30^306- 等專)中。因此,該複數個指令可以按預定順序儲存在資 料記憶體104中,其中該預定順序是由這些指令的邏輯關 係(例如,其對應的資料單元之間的邏輯關係)決定。該 複數個指令可以分別操作為確定該資料封包的複數個特 徵。除此之外,耦接至資料記憶體104的匹配處理器1〇2 可以執行該複數個指令中的第一指令,並產生該執行的結 果。匹配處理器102可以根據該執行結果、該複數個指令 的總數和該第一指令所對應的序列號來產生指令指標。在 一具施例中,匹配處理器1〇2可以根據該指令指標來存取 資料記憶體104中的第二指令,以及執行該第二指令。 有利的是,在一實施例中,每一種特徵圖樣可以由一 個資料單元來代表。因此,如果一個ALP中的一特徵圖樣 改!,對應的資料单元可以相應地改變,其可以相對快速 地元成。同時,匹配處理器1〇2的配置無需改變。類似地, 如果在網際網路協定集(internetprotoc〇lsuite)中加入一 種新的協定,資料記憶體104中的一個或多個資料單元可 以據此被設定成代表該新協定對應的特徵圖樣,其亦可以 相對快速地完成。 此外,在一實施例中,匹配處理器1〇2可以(但非 必需)由FPGA中的硬體電路來實現,以提升圖樣匹配過 程的速度。根據對流程圖400所進行的討論,匹配處理器 102的配置沒有像習知協定識別系統中編譯^^匕程式般的 0527-TW-CH Spe(H-Claim(barbara.c-20100202) 201112706 複雜性’因此該硬體電路的尺寸可以减小。此外,資料2 憶體U)4可以是(但不限於)相對比較便宜和小尺寸的伊 閃記憶體。因此,識別系統100的尺才可 、 J Μ被減小’且成 本可被降低。 目5為根據本發明的-實施例以1別系統執行 的例示性流程圖500。以下將結合圖i、圖2和圖3 _ $ 進行描述。 在步驟502 +,匹配處理器1〇2 τ以存取一组資料單 元(例如,302_1-302一5, 304)3〇4—4, 3〇6 13〇6 6 308-1-308一3等等)中的第一資料單元。在一實施例中~,’ 該組資料單元可以按預定順序儲存在資.料記憶體丨中。 該預定順序可以由該組資料單元之間的邏輯^係決定。 在步驟504 +,輕接至資料記憶冑1〇4的匹配處理器 102可以執行該第一資料單元中的指令。在步驟5〇6中, 匹配處理器102可以根據該執行的結果來確定資料封包 108的特徵。 除此之外,在步驟508中,匹配處理器1〇2可以根據 該執行結果、該組資料單元的資料單元總數和該第一資料 單元所對應的序列號來供位址指標。該總數和對應的序 列號可以儲存在該第一資料單元中(例如,單元總數區2〇8 和單元序列號區210中、單元總數區216和單元序列號區 218 中)。 據此,本發明提供一種用於識別資料封包的識別系 統。該資料封包可以(但祕於)IP f料封包/#料電報。 該識別系統可以包括資料記憶體和圖樣匹配處理器。該資 0527-TW-CH Spec+Claim(barbara.c-20100202) 26 201112706 :分存複數個 η —— 代表ALP的特徵圖樣。該匹配虛 在中的,體中的資料單元以及執行儲存 在該貝枓早4的指令,以確定該:#料封包是否 = 特徵圖樣隨。該匹處理器可以根據/包二、 種特定的模式對-個或多個資料單元進行存取。 1 =二配處理器可以根據這些資料單元來確定該資料: 上文具體實施模式和附圖僅為本發明之常用實施 顯然’在;《離申請專利翻所界定的本發明精神和 ,明祀_前提下-可以有各種增補、修改和替^本技術 員域中具有通¥知識者應該理解,本發明在實際應用中可 根據具體的環境和I作要求在不背離發明準則的前提下 在形式、架構、佈局、比例、材料、元素、組件及其它方 面有所Wb。因此’在此披露之實施例僅用於說明而非限 $本發明之範圍由後附申請專利範圍及其合法等效物界 疋,而不限於先前之描述。 【圖式簡單說明】 透過對本發明的實施例及結合其所附圖式的描述,可 以進一步理解本發明的目的、具體架構特徵和優點。 圖1為根據本發明一實施例的識別系統的方塊圖; 圖2為根據本發明一實施例的資料單元的架構圖; 圖3為根據本發明一實施例的資料記憶體中資料單元 的分佈圖; u ' 0527-TW-CH Spec+Claim(barbara.c-20100202) 27 201112706 圖4為根據本發明一實施例以一識別系統執行操作的 例示性流程圖;以及 圖5為根據本發明___實施例以一識別糸統執行4呆作的 例示性流程圖^ 【主要元件符號說明】 ioo :識別系統 102:圖樣匹配處理器/匹配處理器 104 :資料記憶體 106 :接收單元 108 :資料封包/ip封包/資料電報 H0 :協定區 H2 :資料區 U4 :輸出信號 200 :資料單元 202 :匹配模式區 2〇4 :傳輸層協定(TLp)區 206 :應用層協定(ALP)區 208 :單元總數區 210:單元序列號區 212 :組總數區 214 :組序列號區 216 :單元總數區 218 :單元序列號區 220 :關鍵字區 0527-TW-CH Spec+CIaim(barbara.c-20100202) 222一 -1、222— _N : 選項區 302— _1 〜302_ _5 : 資料單元 304— —1〜304— _4 : 資料單元 306— _1 〜306— _6 · 資料單元 308— -1 〜308_ _8 : 資料單元 310— .1 ' 310_ _2 : 子區域 312— _1 〜310— _3 : 子區域 314— _1 〜314_ _5 : 子區域 316_ _1 〜316_ _K : 區域 318 : 400 : 結束資料單元 流程圖 201112706 402〜432 :步驟 500 :流程圖 502、504、506、508 :步驟 0527-TW-CH Spec+Claim(barbara.c-20100202) 29

Claims (1)

  1. 201112706 七、申請專利範圍: 1. 一種識別一資料封包之識別系統,其包括: 一資料記憶體,按一預定順序儲存複數個資料單元 其中該複數個資料單元中的一第一資料單元包括: 確定該資料封包之一特徵的一指令; 該複數個資料單元的一總數;及 該第一資料單元的一對應序列號;以及 耗接至該資料記憶體的一匹配處理器,執行該指令, 產生該執行的一結果,並根據該執行結果、該總數和 該對應序列號提供一位址指標。 2·如申請專利範圍策1項之識別系統,其中,該匹配處 理器根據該位址指標存取該資料記憶體中的一第二 資料單元,並執行該第二資料單元中的一指令。 3.如申請專利範圍第1項之識別系统,其中,該指 括才"集中代表該指令的一關鍵字。 4·=請專利範圍^項之識別系統 括用於該指令的該執行之至少一參數。讣7包 5.如申凊專利範圍第1 序是由該滿㈣*項識別糸統,其中,該預定順 賁料單元的一邏輯關係決定。 工凊專利範圍第5項之識別系統,其 係包括邏輯and。 邏輯關 7. 如申請專利範圍坌 .結果具有-布==識Γ統,其中’當該執行 該第一資料單元指標指向儲存緊接 Τ平7L的一第二資料單元。 8. 如申請專利範圍第6 項之識I钱H當該執行 0527-TW-CH Spec+Claim(barbara.c-20100202) 30 201112706 存緊接 :其中,該邏輯關 1〇. =圍第9項之識別系統,其中,當該執行 有-布林值為真時,該位址指標指向儲 該複數個資料單元的一第二資料單元。 、接 η.如申請專利範圍第9項之識別系統,其中,當該 =果具有—布林值為假時,該位址指標指向儲存緊^ 该第一資料單元而一第二資料單元。 ' 12. 一種識別一資料封包之方法,其包括: 存取複數個資料單元中的一第一資料單元; 執行該第一資料單元中的一指令.; 根據該執行的-結果確定該資料封包的一特徵;以及 根據該執行結果、該複數個資料單元的一總數和該第 —資料單元的一對應序列號提供一位址指標。 13. 如申請專利範圍第12項之方法,還包括: 根據該位址指標存取一第二資料單元;以及 執行該第二資料單元中的一指令。 14. 如:請專利範㈣12項之方法,其中,該複數個資 料單元按一預定順序儲存在一資料記憶體中,該預定 順序是由該複數個資料單元的一邏輯關係決定。 15. 如申請專利範圍第14項之方法,其中,該邏輯關係 包括邏輯AND。 %如申請專職圍第15項之方法’還包括當該執行結 0527-TW'CH Spec+Claim(barbarax-20100202) 31 201112706 指向错存緊接該第-資 m出 第—貝科早兀之該位址指標。 17·如申請專利範圍第15項之 :二:林值為假時,產生指向儲;緊== 資科早70的一第二資料單元之該位址指標。數個 I::圍第14項之方法,,該邏輯關係 19.=專,第18項之方法,還包括當該執行处 布林值為真時,產生指向儲存緊接該複數個° 貝料早元而-第二資料單元之該位址指禪。 2〇·如申請專利範圍第18項之方法,還 果ί有-布林值為假時,產生指向儲存緊接該= 料單元而一第二資料單元之該位址指標。 21. —種識別一資料封包之識別系統,其包括: 一資料憶體’提供分別確定該資料封包的複數個 徵之複數個指令··以及 ’ 輕接至該資料記憶體的一匹配處理器,執行該複數個 指令中的-第-指令,產生該執行的一結果,並根據 該執行結果、該複數個指令中一指令總數和該第一指 令的一對應序列號提供一指令指標。 曰 22. 如申請專利範圍第21項之識別系統,其中,該匹配 處理器根據該指令指標來存取該資料記憶體中的— 第二指令,並執行該第二指令。 23. 如申請專利範圍第21項之識別系統,其中,該執行 結果包括一布林值。 0527-TW-CH Spec+Claim(barbara.c-20100202) 32 201112706 24. 如申請專利範圍第21項之識別系統,其中, 個指令按一預定順序儲存在該資料記憶體中 順序是由該複數個指令的一邏輯關係決定。 25. 如申請專利範圍第24項之識別系統,其中, 關係包括邏輯AND。 26. 如申請專利範圍第24項之識別系統,其中, 關係包括邏輯OR。 該複數 ,該預定 該邏輯 該邏輯 0527-TW-CH Spec+Claim(barbara.c-20100202) 33
TW098146092A 2008-12-31 2009-12-31 Recognition system and method for recognizing a data packet TW201112706A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/347,292 US8018942B2 (en) 2008-12-31 2008-12-31 Recognition systems based on pattern matching

Publications (1)

Publication Number Publication Date
TW201112706A true TW201112706A (en) 2011-04-01

Family

ID=42284910

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098146092A TW201112706A (en) 2008-12-31 2009-12-31 Recognition system and method for recognizing a data packet

Country Status (2)

Country Link
US (1) US8018942B2 (zh)
TW (1) TW201112706A (zh)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860136A (en) * 1989-06-16 1999-01-12 Fenner; Peter R. Method and apparatus for use of associated memory with large key spaces
JPH07262152A (ja) * 1994-03-24 1995-10-13 Hitachi Ltd コンピュータシステム
US6798777B1 (en) * 2000-04-17 2004-09-28 Juniper Networks, Inc. Filtering and route lookup in a switching device
WO2002101968A2 (en) * 2001-06-11 2002-12-19 Bluefire Security Technology Packet filtering system and methods
US7116663B2 (en) * 2001-07-20 2006-10-03 Pmc-Sierra Ltd. Multi-field classification using enhanced masked matching
US7386525B2 (en) * 2001-09-21 2008-06-10 Stonesoft Corporation Data packet filtering
US7580408B2 (en) * 2001-11-21 2009-08-25 Alcatel Lucent Configurable packet processor
US7466687B2 (en) * 2003-04-28 2008-12-16 International Business Machines Corporation Packet classification using modified range labels
US8364833B2 (en) * 2003-09-11 2013-01-29 Bae Systems Plc Real-time network monitoring and security
US7613775B2 (en) * 2003-11-25 2009-11-03 Freescale Semiconductor, Inc. Network message filtering using hashing and pattern matching
US7596809B2 (en) * 2004-06-14 2009-09-29 Lionic Corporation System security approaches using multiple processing units
US7668160B2 (en) * 2005-03-31 2010-02-23 Intel Corporation Methods for performing packet classification
US7567567B2 (en) * 2005-04-05 2009-07-28 Sun Microsystems, Inc. Network system including packet classification for partitioned resources
US7639618B2 (en) * 2006-05-18 2009-12-29 Siemens Enterprise Communications Gmbh & Co. Kg System and method for recognition and cyclic service of partial sequences of communication requests

Also Published As

Publication number Publication date
US20100166013A1 (en) 2010-07-01
US8018942B2 (en) 2011-09-13

Similar Documents

Publication Publication Date Title
US10440279B2 (en) Smart camera user interface
CN105373731B (zh) 用于提供可信平台模块服务的设备和方法
CN107395665A (zh) 一种区块链业务受理及业务共识方法及装置
CN107562775A (zh) 一种基于区块链的数据处理方法及设备
CN110033368A (zh) 区块链中实现隐私保护的方法
US9060046B2 (en) Method and apparatus for transferring media data between devices
CN106970822A (zh) 一种容器创建方法及装置
TW201106258A (en) Parallel processing and internal processors
US8627274B2 (en) Software tool and method for generating a virtual appliance
TWI356342B (en) Computer system memory, computer program productio
WO2012097217A1 (en) Content based file chunking
CN104025046B (zh) 与利用调回的isa桥接关联的方法、装置和计算设备
TW200404225A (en) Dynamic wizard interface system and method
TW200839571A (en) Device and method for access time reduction by speculatively decoding non-memory read commands on a serial interface
CN105426348B (zh) 一种可扩展标记语言xml文件的生成方法、装置和系统
CN107580013A (zh) 跨域请求数据的方法及装置
KR20140101370A (ko) 자율형 네트워크 스트리밍 기법
WO2019095854A1 (zh) 可溯源的多方数据处理方法、装置及设备
CN110765395A (zh) 一种用于提供小说信息的方法与设备
TW200816058A (en) Providing additional information from a removable storage medium
RU2008150493A (ru) Устройство обработки информации, способ обработки информации и программа обработки информации
CN108182119A (zh) 读写分离控制方法和装置、存储介质及电子装置
Baker et al. OpenSHMEM-UCX: evaluation of UCX for implementing OpenSHMEM programming model
TW200406682A (en) Method, system and program for configuring components on a bus for input/output operations
TW201112706A (en) Recognition system and method for recognizing a data packet