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