[go: up one dir, main page]

TWI325707B - Packet classifier for a network and method thereof - Google Patents

Packet classifier for a network and method thereof Download PDF

Info

Publication number
TWI325707B
TWI325707B TW095148906A TW95148906A TWI325707B TW I325707 B TWI325707 B TW I325707B TW 095148906 A TW095148906 A TW 095148906A TW 95148906 A TW95148906 A TW 95148906A TW I325707 B TWI325707 B TW I325707B
Authority
TW
Taiwan
Prior art keywords
value
network packet
locator
content
difference
Prior art date
Application number
TW095148906A
Other languages
English (en)
Other versions
TW200828888A (en
Inventor
Meng Hsin Ou
Cheng Shing Wu
Po Min Wang
Chien Hao Chen
Original Assignee
Ind Tech Res Inst
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 Ind Tech Res Inst filed Critical Ind Tech Res Inst
Priority to TW095148906A priority Critical patent/TWI325707B/zh
Priority to US11/675,605 priority patent/US7860991B2/en
Publication of TW200828888A publication Critical patent/TW200828888A/zh
Application granted granted Critical
Publication of TWI325707B publication Critical patent/TWI325707B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

1325707 99-4-1 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種網路封包分類器與其對應方 法,且特別是有關於一種網路封包分類器其中具延展性的 分類機制、可行的架構、與其對應方法。 【先前技術】 以網際協定(Internet Protoco卜簡稱為IP)為基礎的網 路二有許多網路機制都需要將網路封包加以分類。網路入 =備透過網路封包分類|| (dassifier)將網路上的封包作 11的/位運算’以計算㈣包的铜(W)或攔位 ===且根據事先制訂的規則集合(一及依 忒路,广標頭或攔位的内容值’來做資料比對並對封 何,S上,路封包分類器決定各類封包的處理方式為 源。再根據分_結果料管控,或是提供特定的網路資 路機::=與曰俱增與網路技術的進步,昔曰的網 蘇硬=所定更動這;= 擊。對於新處 封包的設備有—定的衝 5 1325707 99-4-1 的S於封包比對少了雜分類的機制及少了對封包處理 古H ’更不此動態地調整參數因應新出現的封包搁 1此無法支援新增的網路協定或封包類型。而這種重 個硬體架構的方式,所付出的設計成本很高,且 、;无有系統廠商也是一筆大的開銷。 【發明内容】 本發明提供-種網路封包分類器, 資料的比對、分類,並且具有彈性= 使用彈性’也因其具有較好的可所擴展: aa iity) ’因此能角佈建在更多的使用環境。 本發明提供-種網路封包分類方法,對封包搁位 特㈣料的比對、分類,並且方法具有彈性, 太來崎各種不_封包資料或攔位。 一内ίί位封包分類器,此分類器包括至少 Μ ^疋位母-上述内容^位器進行至少 :輸::Π算為輸出至少,項目的總和做: 此基底值為第-位差值或上述位^為基底值, 之定位運算其中之一的輪出位差:?=== 位器系統參數且咖網路封包c目資 1325707 99-4-1 ^上述^值之外,其餘每—上述疊加項目為—第二 2欄:Γ:=述第二位差值、上述邏輯項目乘上
^上述第-位差值、上述第二位差值以及上述/常I 參數,上述攔位值取自上述網路封 =值為取自上収位職齡㈣_上频位值而產 位運ΐ㈣提!7種封包分射法,包括進行至少一次定 二—ΐ 運?為輸出至少-疊加項目的總和 Α底佶值。上述豐加項目其中之一為基底值,此 ί 位ί值或上述定位運算其中之-的輸出位差 的位f ^ + 值其中之"'為網路封包其中—比對攔位 ^。二 上述疊加項目為根據至少-定位系統參 數或上述網路封包的内容資料而產生 值之外,其餘每一上述疊加項目為一第 述第1差值、以 或上述邏輯項目乘上上述欄位值乘上—第—常數,上述 一,差值、上述第二位差值以及上述第一常數取自上述定 位系統參數,上述欄位值取自上述網路封包,上述邏輯項 目f-邏輯值或上述邏輯值之反值,上述邏輯值為取自上 述疋位系統參數或根據上述搁位值而產生。 如本發明之較佳實施例所述,上述之網路封包分類器 利用數學公式模型來代表所要比對的封包攔位用内容定 7 325707 99-4-1 成本 算並找出所要比對的欄位位置,並進行後續的資料 對與封包分類。另外,可以彈性地組合内容定位哭 關硬體,以實現各種簡料-的數學公式,來計算:種= 包攔位的位置。因此,使用本發明之網路封包分類器與且 對應方法,可以增進封包㈣輯與分義雜, 為讓本發明之上述特徵和優點能更明顯易懂,下文特 舉較佳實施例,並配合所附圖式,作詳細說明如下。, 【實施方式】 圖1繪示本發明一實施例之網路封包分類器之網狀架 構圖。圖2繪示本發明-實施例之内容植器示意圖。^ ,時參閱圖1與圖2。網路封包分類器1〇〇包括内容定位 器(content locator) 1(Π、1〇2 與 103、定位器控制網路 11〇、 比對器控制網路(matching control network) 120、資料比對 器(matching engine) 13卜132與133、以及比對器輸出控 制網路140。雖然圖1僅繪示三個内容定位器與三個資料 =對器,網路封包分類器100可擴充為包含任意數量的内 容定位器與資料比對器,其具體數量視欲支援的封包分類 規則數量與攔位複雜度而定。 、 在本實施例中,内容定位器10】、1〇2與103的設計 完全相同,以圖2内容定位器201來說明.内容定位器2〇1 根據參數202進行定位運算,並輸出運算結果的位差值 UDHDR—POS,UDHDR POS可以是資料封包中將進行資 1325707 99-4-1 料比對的攔位位置,不論是既有的標準欄位,或是使用者 自行定義的特定資料位置。UDHDR_P〇S也可能做為基底 值提供給下一級内容定位器進行後續運算,以定址出將進 行資料比對的欄位位置。内容定位器101、1〇2與1〇3會各 自輸出一個位差值UDHDR_P〇S,在執行一次欄位定位 時,圖1的每一個内容定位器都只做一次定位運算。 内容定位器201的輸出位差值UDHDR_P〇S,也就是 φ 定位運算的内容,以數學公式表示如下: (式 1) UDHDRPOS = HDRPOS + (IFPVAL*P_VAL_OFFSET) + (C_FLAG*C_〇FFSET) + U OFFSET ; ~ 上述式1的相關參數說明如下。UDHDR_p〇s為輸出 位差值,性質為整數(integer)。HDR_P〇S為定位運算的基 底值,性質為整數,可為由系統參數設定的固定位差值, 或繼承前一級内容定位器的輸出位差值來當作基底值。 IF一PVAL的性質為布林(B〇〇iean)邏輯,決定是否引用 Φ P一VAL_OFFSET參數,來源為定位器系統參數(c〇ntem locator system parameters) CLSP。P—VAL OFFSET 在此為 代表封包標頭長度的位差值,性質為整數。C—FLAG的性 質為布林邏輯,決定是否有C_OFFSET存在,細節後述。 C_0FFSET為有條件的固定位差值,來源為定位器系統參 數CLSP,性質為整數。u_〇FFSET為無條件的固定位差 值,來源為定位器系統參數CLSP,性質為整數。 由式1的說明可知,内容定位器1〇1、1〇2與1〇3的 9 99-4-1 算P為二? 一個疊加項目的總和做為輸出位差值 =HM:P〇S。内容定位器即、102與103其中,至少有 位差值udhdr—p〇s為網路封包 其中一比對攔位的位置。 却夕封包特定攔位蚊姉作,内妓位器需要 :夕”立運算,這些參數可來自使用者設定的 統,數CLSP,或來自網路封包的内容資料。内 各疋位器2〇1為達到特定的攔位定位上 1的内容可以再進一步定義如下: 予A A之式 (式 2) HDRPOS =(〜IFCaS*FIXp〇s). (IF_CAS*PRE_UDHDR_P〇S); — (式 3) P_VAL_〇FFSET = P_VAL*P_VAL_FACTOR, 其中 P VAL = PKT(HDR一POS+J OFFSET); (式 4) C一FLAG = (PKT(HDR_P〇S+P_〇FFSET)== PTN)° ~ ~ 上述數學公式之式2至式4的相關參數說明如下。 IF—CAS為表示是否與前一級的内容定位器作串接,來源 為定位器系統參數CLSP,性質為布林邏輯。fix p〇s為 已知標頭的位置,其位移量為固定值,來源為定位器系統 參數CLSP,性質為整數。pre udHDR—P0S為來自前— 級内容定位器的基底值,也就是前一級内容定位器的輸出 位差值UDHDR—P0S,性質為整數。j_〇FFSET為取得 P—VAL的位差值’來源為定位器系統參數CLSP,性質為 整數。J—OFFSET的代表意義就是從封包起始到某一個資 1325707 99-4-1 訊攔位的距離。P_VAL_FACT〇R為轉換p_VAL單位的常 數來源為疋位器糸統參數CLSP,性質為整數。ptn為 要和封包資料比對的常數,來源為定位器系統參數CLSp, 性質為整數。p_〇FFSET為檢查比對ρτΝ的封包位置來 源為定位器系統參數CLSP,性質為整數。另外,式3與 式4都有一個PKT( ),ρκτ()表示封包資料,例如ρΚτ(χ) 表示從封包起始點開始,位差值為X的位置所在的資料。 再以式3之ΡΚΤ為例’其意義為從HDR POS與J OFFSET 累加之位移處所得到的攔位内容值。 本實施例中,網路封包分類器100的内容定位器101、 102與103使用了式1的數學公式,由式2至式4的進階 定義,我們知道所使用的定位器系統參數CLSP包括: IF_PVAL、C_OFFSET、U_OFFSET、IF_CAS、FIX POS、 J_OFFSET、P VAL一FACTOR、ΡΤΝ 以及 P OFFSET。需 要動態產生或取得的參數包括HDR_P〇S、 P_VAL_OFFSET、P_VAL、C_FLAG 及 PRE UDHDR POS。 我們將式2至式4代入式1得到式5。式5如下: UDHDR—POS =(〜IF一CAS*FIX_POS) + (IF_CAS*PRE_UDHDR_POS) + (IF_PVAL*(PKT(HDR_POS+J_OFFSET)*P_VAL_FACTOR ))+ ((PKT(HDR_POS+P_OFFSET)==PTN)*C_OFFSET) + U_OFFSET。 由式1至式5可知每一個内容定位器的輸出位差值 UDHDR_POS為許多疊加項目的組合,疊加項目為 11 1325707 99-4-1 (〜IF_CAS*FIX一POS)、(IF_CAS*PRE_UDHDR_POS)、 (IF_PVAL*(PKT(HDR一 P〇S+J_OFFSET)*P_VAL—FACTOR ))、((PKT(HDR_POS+P_〇FFSET)==PTN)*C一OFFSET)、以 及 UJDFFSET。其中攔位值 PKT(HDRJP〇S+J_OFFSET) 與PKT(HDR_POS+P_OFFSET)取自網路封包。邏輯項目, 例如〜IF CAS、IF CAS、C_FLAG 與 IF_PVAL,可為邏輯 值或邏輯值之反值,其中邏輯值為取自定位器系統參數 CLSP或根據封包欄位值進行判斷而產生^ c_flag定義 中等於(==)的邏輯判斷運算可視應用需求改為不等於、大 於、或小於。符號「*」代表在符號的前後兩項相乘。 定位器控制網路110控制内容定位器101、102與1〇3 的串接的情形。定位器控制網路11〇以及内容定位器1〇1、 102與103根據定位器系統參數CLSP的設定,動態地調 配内容定位器的串接順序,使部分内容定位器能取^所需 的上一級内容定位器的輸出位差值做為基底值,進行多階 段運算’以完成封包之特定攔位的定位。 内容定位器的輸出位差值UDHDR__p〇s通往何處,要 視所屬内容錄器的串接順序而^。粒某—攔位所需的 數學公式越長越複雜’對應_容定位Μ接鏈的 越多。對於並非最後一級的内容定位器,其輸出位 UDHDR—POS會透過定位器控制網路11〇傳遞給下 容定位H做為基絲HDR—P()S。對㈣接鏈 '一 的内容粒ϋ,緒心差值UDHDRJ>QS狀封包中 要比對的攔位位置,會透過比對器控制網路i2G傳遞至g 12 1325707 99-4-1 料比對器131、132或133以進行資料比對。比對器控制網 路120的功能為連接内容定位器以及資料比對巧 131 133。-貝料比對器131、132與133會根據比對器系^ 參數(matching engine system parameters) MESP,在網路封 包之中對應所接收的輸出位差值的位置進行特定襴位資料 的比對’並輸出資料比對的結果。 、 比對器系統參數MESP包括了資料的比對的目標樣式 • (targetpattern)、目標樣式的長度、資料比較動作所採用的 運算元(operand)以及資料比對所套用的遮罩(mask)等。 資料比對器131、132與133的輸出為一布林值,只 有比對成功與否的結果。資料比對器1M、132與133的輸 出結果可再透過比對器輸出控制網路(matching如以此 output control network) 140來組合某些資料比對器的輪 結果,以進一步判斷網路封包是否符合網路封包分類器 100的分類規則。 、° ^圖3繪示本發明一實施例之内容定位器的樹狀串接關 攀係圖。請參關3。由於單-内容定位!|的計算能力有限, 若計算封包攔錄置所需紐學公魏長,可以透過數個 内容定位器的串接,將上述公式拆解為多個定位運算,分 配給串接鏈的每一個内容定位器,將定位運算的結^一二 累加,最後就能算出想要比對的攔位位置。因為大部分的 封包分類器有許多的分類規則,而分類規則會有相當的關 聯性。通常來說,内容定位器要定位不同的搁位,會有許 多共通的定位過程。在許多的識別欄位的計算公式中可以 13 1325707 99-4-1 相同的基底位置,所以某麵容定位器所計算出 與繼讓多個下級㈣容定位11共用,這就是共用 興繼承基底位置的概念。 在^ 3的内容定位器3G1〜311中,每—個内容定位器 次定位運算。我們要定址—個蚊的封包攔位,則 =過數彳_鍵㈣的組合來完成。例如,網路封包分 類器對於兩侧立且_第三雜etw她丨辦,3)之 ,位(攔位1與攔位2)進行比對,這兩個攔位定位的過程都 要先算出第二層的標頭起始位置,也就是要先算出第二 = (data iink layer,layer 2)的標頭長度。在圖3的實施例 =’可先利用内容定位器3G1算出第三層的標頭起始位 置,做為其輸出位差值UDHDR_P〇S,然後内容定位器3〇2 與303共用内容定位器3〇1的輪出位差值做為基底值 DR一POS ’分別箅出欄位1與攔位2的位置。同理,内容 ^位器306〜308共用内容定位器305的定位運算結果;内 容定位器309與310共用内容定位器306的定位運算結 果。内容定位器301〜311的樹狀連接關係可透過如圖】的 ,位器控制網路11〇達成。如此,前一級的内容定位器計 算結果,可以讓後面幾個内容定位器共用。樹狀串接方^ 的内容定位器可以節省硬體成本。透過這樣共用與繼承的 概念,可以將每一層的每一個位置都涵蓋進來,也可以最 小化所需設定的參數。 圖4繪示本發明一實施例之網路封包分類器之平行架 構圖。s青參閱圖4。網路封包分類器4〇〇包括内容定位^ 1325707 99-4-1 401、402與403、資料比對器431、432與433、比對器輪 出控制網路440、以及記憶體(rule memory) 451、452與 453。圖4的每一模組46卜462與463的内容定位器、 料比對斋與記憶體各負責一個比對欄位的計算公式。
平行架構不同於網狀架構中繼承前一級内容定位器 的輸出位差值當作基底值的概念。在平行架構中,若有某 -欄位的位置需要多次定位運算,會同—内容定位器 的^我繼承來作_接’也就是遞迴如㈣細)的概念。其 中第一次定位運算的基底值為預設的固定位差值,其後每 -次定位運算的基絲為上-次定位運算的輸出位差值。 以模組461為例,内容定位器4〇1計算出一個最終的 差值’並交由資料比對器431判別。最終的輸出位 差值為網路封包中一比對攔位的位置。内容定位器所 3的定位器系統參數儲存在記憶體451。記憶體451儲 ^母一次定位運算所㈣定蝴純參數以及請比對所
匕對器系統參數’並在不同的遞迴中依序將定位器系 j參數交給内容定位器4〇卜内容定位器4〇1 出位差值至資料比對器43卜以進行攔位位置 2 Ϊ料比對器431根據比對器系統參數做資料 出㈣細’貝料比對益431將比對結果輪出至比對器輸 對道網路440。模組461就這樣完成一個攔位的資料比 模組462與463也同於模组461的運作原理每一個 果錢行-個攔位的資料比對。比對器輸出控制網路440 15 1325707 99-4-1 ^取後的布林值,也就是結合數個比對結果,判斷是否 付口網路封包分類器4〇〇預期的分類規則。 处果包分類^適用於不共用定位運算 二:ί=對I,求將模組倣延伸,每-模叙可支援 512個模二ί如! if資料比對設定’就使用 、、、特别的疋,母一模組的内容定位器至少進杆 數都儲存::組:的定位器與資料比對器的參 从加以上實施例的網路封包分類器,無論是網狀或是平行 的架構,只要更新定位器系統參數與定位器控制網路 可以改變需要比對之欄位位置,而不f要重新 =與架構。财定位H系統參數與輯料統參數都是= 欲辨識之封包攔位或資料,或根據使用者自定的分類^ 則。以上兩種架構都可以迅速平行處理多條規則,封包一 進網路封包为類器就能很快地分類。上述之網路封包分類 器在兩種架構的層面都能提供以下幾種定位運算功能二 功能1·可定位出既有(existing)標準的標頭位置。如下 气6 ¥所而要的識別搁位為既有或已知時’可直接與取 比對位址為FIX_P〇s。 又 (式 6) HDR一P〇S = FIX一POS。 功旎2.可自行定義標頭位置或是新制訂標準的標頭位 置。自行定義的標頭位置如前述之式1。
式 1) UDHDR_POS HDR p〇s + 1325707 99-4-1 (IF_PVAL*P_VAL—OFFSET) + (CFLAG*C—OFFSET) + U—OFFSET 〇 以下詳細說明式1等號右邊的四組疊加項目。 第一組疊加項目HDR_POS為此次定位運算的基底 值,如上述實施例之式2。 (式 2) HDR POS =(〜EF—CAS*FIX POS) + (IF—CAS*PRE—UDHDR_POS) 〇 當内容定位器設定為沒有串接,或屬於串接鏈的第一 級時’邏輯旗標IF_CAS將被設定為FALSE,表示不會有 繼承之基底值’基底值等於預設之標頭位置FIX_p〇S。當 内容定位器設定為串接,邏輯旗標IF一CAS為TRUE,基 底值為繼承自前一級内容定位器之輸出位差值。 第二組疊加項目(IF_PVAL叩一VAL一OFFSET)為根據 基底值在後固定J—OFFSET位置之欄位值p—VAL所計算 出的位差值,如上述實施例之式3。 (式 3) P VAL一OFFSET = P—VAL*P_VAL_FACT〇R,其 *P_VAL = PKT(HDR_POS+J_OFFSET)。 p一VAL代表某個影響資料比對位置之欄位内容。例如 當要進行第4層(transport layer ’ layer 4)標頭起始點之定位 運异k,就需要第3層(network layer,layer 3)之標頭長度 才能正確判斷第4層的標頭位置。j一OFFSET表示需要找 到第3層標頭長度之攔位所需要的位差值。p_VAL為代表 第3層標頭長度的欄位内容值。由於欄位的内容數值可能 不是以單一位元組(byte)為單位,因此在定位運算時,可能 17 1325707 99-4-1 需要乘上一個轉換常數P_VAL_FACTOR,以求得正確的 位差值。若P_VAL即是以位元組為單位,就不用乘上 P-VAL-FACTOR ’ 或可將 P_VAL_FACTOR 設為一。定位 器糸統參數if_pval決定是否需要疊加p_val__〇ffset。 第三組疊加項目(C_FLAG*C_OFFSET)表示基底值位 置往後固定位之位置是否有特定值PTN的存 在,如上述實施例之式4。 (式 4) C_FLAG = (PKT(HDR_POS+P_OFFSET)= PTN) 〇 因為某些欄位不是如P_VAL般記載著標頭長度或位 差值的資訊。因為封包格式或協定種類而出現的某些欄 位,可能對識別欄位位置之計算有所影響。以一正EE 802.1 q 虛擬區域網路(virtual 1〇cd area netw〇rk,簡稱 VLAN) 的封包為例’ P一OFFSET代表著從第2層起算,要識別是 否為VLAN封包之攔位位差值,而pTN則是封包符合 VLAN的識別條件,亦即用P_OFFSET來找出塑態(type) 攔位。而PTN設定為8100,以識別封包是否為VLAN型 態。由於一般VLAN標籤(tag)之後的所有欄位,會比一般 封包多出四個位元組的位差。這個VLAN封包形成之位差 值即是CJDFFSET ’代表著因某條件成立而導致之固定位 差值。 第四組疊加項目為無條件的固定位差值 U_OFFSET〇 $些使肖者自訂的冑料比對棚位可利用 U_OFFSET進行定位運算,例如要定位運算第4層的第1〇 1325707 99-4-1 ,位兀組’可利帛祕仙粒差值U_OTFSET來進行設 豆刻次定位運算的疊加項目中有邏輯判斷時, 八斷异可為等於、不等於、大於、或小於。 …為了更詳細地說明本發明之網路封包分類器的定位 運算’以下特舉4個較佳實施例來做更進—步的說明。圖 5〜圖8為本發明實施例之定位運算示意圖。
❼閱圖5°圖5為-般類型封包的總長度攔位(T〇tal Length)的定位運算。例如,需定位運算的攔位是第3層正 標頭之總長度.。假設6知標祕置πχ—pQs為封包起 始到第3層標_位移,相#於切錄元組。假設已知 封包>又有額外的附加標籤。由於沒有設定串接,HDR_p〇s 直接等於ΠΧ-PQS。總長度齡之位置料會受其他攔位 影響’因此IF一PVAL被設定為FALSE。因為封包沒有額 外的附加標籤’所以C_FLAG為FALSE,不需考慮某些特 定的位差狀況。總長度攔位的定位運算為: UDHDR POS = HDR POS + U OFFSET = FIX_P0S + U—OFFSET 〇 請參閱圖6。圖6為具有VLAN標籤類型的封包的總 長度欄位定位運算。例如,進入封包分類器的封包如圖6 帶有VLAN標籤,則其c—FLAG會被設定為true,總長 度攔位的定位運算須加上因VLAN標籤所產生的位差值。 假設已知標頭位置FIX一POS為封包起始到第3層標頭的位 移,總長度攔位的定位運算為: 1325707 99-4-1 UDHDR—POS = FIXPOS + (C_FLAG*C_OFFSET) + U_OFFSET。 請參閱圖7。圖7為一般類型封包應用層(Application Layer)比對欄位的定位運算,會用到繼承前一級内容定位 器的輸出位差值的概念。前一級内容定位器將第2層標頭 長度HDRJPOS (也就是FIX_POS)加上第3層標頭長度 P-VAL_〇FFSET,然後輸出上述疊加的結果為 PRE_UDHDR_POS。下一級内容定位器繼承 PRE_UDHDR_POS做為下一級定位運算的基底值,然後加 上第4層標頭長度P_VAL_OFFSET以及比對欄位在應用 層中的位差值U_OFFSET。最後結果就是從封包起始到比 對欄位的位差值。應用層比對欄位的定位運算為: PRE—UDHDR—P〇S = HDR—POS + PVAL—OFFSET = FIX—POS + P VAL OFFSET ; UDHDR_POS = PRE一UDHDR一POS + P—VAL一OFFSET + U_〇FFSET。 請參閱圖8。圖8為具有VLAN標籤類型的封包,内 谷定位器欲求位在應用層的比對欄位的定位運算,同樣繼 承前一級内容定位器的輸出位差值。前一級内容定位器的 定位運算求出第4層起始位置,下一級内容定位器便可累 加第4層標頭長度P_VAL一〇FFSET以及無條件跳躍位差 ,來定位所欲比對的攔位。比對攔位的定位 運算為: PRE—UDHDR POS = HDR_P0S + C OFFSET + 1325707 99-4-1 P_VAL_OFFSET = FIX POS + C OFFSET + P_VAL_OFFSET ; UDHDRPOS = PRHUDHDRPOS + P_VAL_OFFSET+ U_OFFSET。 除了上述實施例的網路封包分類器以外,本發明也包 含一種對應的網路封包分類方法。對於在本發明相關技術 領域具有通常知識者而言,藉由前面的網路封包分類器實 施例’應當能貫施本發明的網路封包分類方法,因此不予 賛述。 值得一提的是,本發明實施例的封包分類器應用領域 包括了兩大類:一類是屬於網路管控,如封包繞送與服務 品質保證(QoS: quality of service)機制;另一類則是屬於網 路安全,如常見應用有防火牆與網路提供者(ISp: Intemet service provider)的安全機制。而就資料封包分類技術來 看,傳統的封包分類技術所能檢視的内容侷限於第2層到 第4層。許多的服務管控並無法單靠第2層到第4層二標 頭攔位和内容,加上網路安全之各種新型攻擊手法不斷推 陳出新。本發明實施例中的封包分類器可以彈性組合,因 應目前的服務與應用變化,而有相對應的比對辨識機制, 更包含深層封包檢視(deep packet inspection,簡稱為 DPI),因此可以應用在不同網路協定的硬體設備上,如使 用者端、伺服器端、以及路由器端的網路封包處理設備或 收發設備’使上述之硬體設備更具靈活性。 綜上所述,以上實施例之網路封包分類器與其方法可 21 1325707 99-4-1 透過定位器系統參數以及比對器系統參數的設定,來定位 ^封包中的任何攔位,可以串接多層級的定位運算, 資料比對的適用範圍,只需更新參數設定,即可延伸出各 =同之封包比對規則。所以上述實施例之網路封包分類 盗,、其對應方法可輕易支援新增的網路協定或封 並節省重新設計硬體的時間與成本。 、 —雖然本發明已以較佳實施例揭露如上,然其並非用以 限定本發明,任何所屬技術領域中具有通常知識者,在不 脫離本發明讀神和範_,當可作些許之更動與潤飾, 因此本發明之保護範圍當視後附之申請專利範圍所界定 為進。 【圖式簡單說明】 圖1為本發明一實施例之網路封包分類器之網狀架構 5 ° 圖2為本發明一實施例之内容定位器示意圖。 圖3為本發明一實施例之内容定位器的樹狀關係圖。 圖4為本發明一實施例之網路封包分類器之平行架構 固0 圖5〜圖8為本發明較佳實施例之定位運算示意圖。 【主要元件符號說明】 100、400 :網路封包分類器 101〜103、2(Π、301〜3U、401〜403 :内容定位器 22 1325707 99-4-1 110 :定位器控制網路 120 :比對器控制網路 131〜133、431〜433 :資料比對器 140、440 :比對器輸出控制網路 202 :參數 451〜453 :記憶體 461〜463 :模組 CLSP :定位器系統參數 MESP :比對器系統參數 UDHDR POS :輸出位差值
23

Claims (1)

1325707 99-4-1 十、申請專利範圍: L一種網路封包分類器,包括. 次定定位器,每―上述内容定位器進行至少- 器其中一的輸出位差值,上述内容定位 包其位—網路封 數且/或該網路封S二目生至少—定位器系統參 -位2除該基底值之外,其餘每一上述疊加項目為-第 值T項目乘上該第二位差值、該邏輯項目ί 數該邏輯項目乘上該欄位值乘上一第一常 ο第位差值、該第二位差值以及該第一常數 目參數,該攔位值取自該網路封包,該邏輯項 =:_值或該邏輯值之反值,該邏輯值為取自上= 4 糸統參數或根據該攔位值而產生。 疋 2·如申請專利範圍第i項所述之網路封包 =攔位值為該網路封包之中—特定位置的内容資料,^ 特疋位置馳差鱗於絲隸加上—第; 三位差值取自上述定位器祕參I 值該第 中兮3=!專利範圍第2項所述之網路封包分類器,复 中該邏輯值為根據該攔位值以及-第二常數進行—判斷^ 24 1325707 99-4-1 於該第ί常數取自上述定位器系統參數,該判斷 ;、不等於、大於、或小於之判斷。 包括4.如申睛專利範圍第i項所述之網路封包分類器更 料比對器’每一上述資料比對器接收上述内 其中之一所進行之最後一次定位運算的輸出位差 值,在該網路封包之中對應該輸出位差值的位置根據至少 一比對器系統參數進行一眘料屮钭 結果;以及科對輪出資料比對的 比對H輸it{控制網路’根據上述㈣輯器的 =判斷該網路封包是否符合該網路封包分類器的分= 5·如申請專利範圍第4項所述之網路封包分類器,盆 中上述比對H系統參數至少包括頂其巾之_ : =目仏樣式、,目標樣式的長度、該資料比對所採用的 運异7G、以及該資料比對所套用的遮罩。 6.如申#奢專利範圍第4項所述之網路封包分類器 包括·’ 一定位器控制網路’根據上述定位器系統參數連接上 述内容定位器’使上述内容定位器能取得所需之上 位差值以做為上述基底值;以及 顸出 一比對II控制網路,連接上勒容定位器以及上 料比對器’使上述資料比對H能取得所需之上 ^ 值以進行上述資料比對。 山视產 25 1325707 99-4-1 中每一上述;6項所述之網路封包分類器,其 容定位器包括—第— j運异’而且上述内 及一第三内容定位考㈣③、—4二内容定位器、以 第-内容定位器的該輸容=器=底值為該 基底=該第一内容定位器的“第二?值器的該 8.如申請專利範圍第4項所 IS。;,少-模組,每-二模= !!Γ-二:=:=二 谷定位器需進行多次定位運算二位=右該内 基底值為該第一位差值,=每==運算的 上m運算的輸出位差值。 #的基底值為 9.如申清專利範圍第$ 中每一上述模组更包括:奴網路封包分類器,其 :記憶體’用以儲存該模組其中的該内容定位_ 上叙位運算所需的上述定位器系統參數。 器進仃 1〇. 一種網路封包分類方法,包括· =艺=出:ί:值為-第-位差值;上述2 -網路封包其中」比對二輸出位差值其中之-為 其令每一上述疊加項目為根據至少一定位系統參數 26 1325707 99-4-1 且/或該網路封包的内容資料而產生; 二位ί值中除該=值之外,其餘每一上述疊加項目為一第 工-項目乘上該第二位差值、該邏輯項目乘 或該邏輯項目乘上該欄位值乘上一第一常 述定值、該第二位差值以及該第—常數取自上 為-邏輯值該邏輯項目 系統參數或根據生該邏輯值為取自上述定位 法,申請專職圍第1G項所叙魄封包分類方 料,搁位值為該網路封包之中一特定位置的内容資 值,3疋位置的位差值等於該基底值加上-第三位差 值5亥第三位差值取自上述定位系統參數。 、去,申晴專利範圍第11項所述之網路封包分類方 判該邏輯值為根肋雜似及-第二常數進行一 判斷運算數取自上述定位系統參數,該 异為等於、不等於、大於、或小於之判斷。 法,^如中請專利範圍第1G項所述之網路封包分類方 文包括: 中斟庙分从 —一仏叫一〜甘咏峒硌封包 行;輸出位差值的位置根據至少一比對系統參數而 根據上述資料比對的結果,判斷該網 網路封包分類方法的分類規則。 封^否付合 之 進 定位ΐΐίί—次資料比對’每—上述資料比對使用上述 异其中之一的輸出位差值,而且是在該網路封包 27 1325707 99-4-1 14.如申請專利範圍第13項所述之網路封包分類方 法,其中上述比對系統參數至少包括下列其中之一:該資 料比對的目標樣式、該目標樣式的長度、該資料比對所採 用的運算元、以及該資料比對所套用的遮罩。
28
TW095148906A 2006-12-26 2006-12-26 Packet classifier for a network and method thereof TWI325707B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW095148906A TWI325707B (en) 2006-12-26 2006-12-26 Packet classifier for a network and method thereof
US11/675,605 US7860991B2 (en) 2006-12-26 2007-02-15 Packet classifier for a network and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW095148906A TWI325707B (en) 2006-12-26 2006-12-26 Packet classifier for a network and method thereof

Publications (2)

Publication Number Publication Date
TW200828888A TW200828888A (en) 2008-07-01
TWI325707B true TWI325707B (en) 2010-06-01

Family

ID=39544333

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095148906A TWI325707B (en) 2006-12-26 2006-12-26 Packet classifier for a network and method thereof

Country Status (2)

Country Link
US (1) US7860991B2 (zh)
TW (1) TWI325707B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI482463B (zh) * 2012-08-28 2015-04-21 Mitsubishi Electric Corp 網路系統及通信裝置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO315887B1 (no) * 2001-01-04 2003-11-03 Fast Search & Transfer As Fremgangsmater ved overforing og soking av videoinformasjon

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526066B1 (en) * 1998-07-16 2003-02-25 Nortel Networks Limited Apparatus for classifying a packet within a data stream in a computer network
TW498206B (en) * 1998-07-28 2002-08-11 Silicon Integrated Sys Corp Method and device for matching data stream with a fixed pattern
US6633563B1 (en) * 1999-03-02 2003-10-14 Nortel Networks Limited Assigning cell data to one of several processors provided in a data switch
JP3448254B2 (ja) * 2000-02-02 2003-09-22 インターナショナル・ビジネス・マシーンズ・コーポレーション アクセス・チェーン追跡システム、ネットワーク・システム、方法、及び記録媒体
JP3816314B2 (ja) * 2000-07-11 2006-08-30 三菱電機株式会社 パケット交換装置
US20020075805A1 (en) * 2000-09-22 2002-06-20 Narad Networks, Inc. Broadband system with QOS based packet handling
US20020126672A1 (en) * 2001-01-10 2002-09-12 Nelson Chow Method and apparatus for a flexible and reconfigurable packet classifier using content addressable memory
US20030120795A1 (en) * 2001-12-20 2003-06-26 Marnetics Ltd. Method for capacity enhancement of packet switched networks
US7239639B2 (en) * 2001-12-27 2007-07-03 3Com Corporation System and method for dynamically constructing packet classification rules
AU2003303846A1 (en) * 2003-01-29 2004-08-23 Fujitsu Limited Packet identification device and packet identification method
US20050060418A1 (en) * 2003-09-17 2005-03-17 Gennady Sorokopud Packet classification
US7738461B2 (en) * 2005-05-09 2010-06-15 Mitsubishi Electric Corporation Communication apparatus and switching device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI482463B (zh) * 2012-08-28 2015-04-21 Mitsubishi Electric Corp 網路系統及通信裝置

Also Published As

Publication number Publication date
TW200828888A (en) 2008-07-01
US7860991B2 (en) 2010-12-28
US20080154836A1 (en) 2008-06-26

Similar Documents

Publication Publication Date Title
Biryukov et al. Differential analysis of block ciphers SIMON and SPECK
Leurent et al. From collisions to chosen-prefix collisions application to full SHA-1
US9098601B2 (en) Ternary content-addressable memory assisted packet classification
US7051078B1 (en) Hierarchical associative memory-based classification system
US7225188B1 (en) System and method for performing regular expression matching with high parallelism
CN112189323A (zh) 使用安全分段标识符进行分段路由
US8843751B2 (en) IP address delegation
CN110326267A (zh) 具有替代数字证书的网络安全
CN101352018A (zh) 分布式网络保护
EP2920909A1 (en) Authentication method using physical unclonable functions
TW201408023A (zh) 於原有硬體中實施活動目標技術之系統及方法
JP4046731B2 (ja) パケット識別装置およびパケット識別方法
Yuan et al. Bringing execution assurances of pattern matching in outsourced middleboxes
TWI325707B (en) Packet classifier for a network and method thereof
Yuan et al. Assuring string pattern matching in outsourced middleboxes
US20060190613A1 (en) Method, program and system for efficiently hashing packet keys into a firewall connection table
Liu et al. An overlay automata approach to regular expression matching
Bartlett et al. IKEv2 IPsec Virtual Private Networks: Understanding and Deploying IKEv2, IPsec VPNs, and FlexVPN in Cisco IOS
Muthuprasanna et al. Coloring the Internet: IP traceback
WO2010121249A2 (en) Methods, systems, and computer readable media for performing flow compilation packet processing
Zhou et al. Provenance-aware secure networks
You et al. Fast configuration change impact analysis for network overlay data center networks
US6301662B1 (en) Authentication of routing data using variable output length one-way functions
ES2984118T3 (es) Método para detectar anomalías en comunicaciones de SSL y/o TLS, dispositivo correspondiente y producto de programa informático
US20050265340A1 (en) Network address-port translation apparatus and method

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees