(57)【要約】【課題】ハードウェアによるパケットのフィルタリング機能の柔軟性を向上させることのできるパケット処理装置、ネットワーク機器、及びパケット処理方法の提供を目的とする。【解決手段】パターン情報管理手段に記録され、パケットの少なくとも一部分に関する値によってフィルタリングの対象とするパケットが定義されたパターン情報と、ネットワーク機器において受信されるパケットとを照合する静的パターン照合手段と、前記静的パターン照合手段による照合が合致した頻度を算出する頻度算出手段と、前記頻度と予め設定された比較値とを比較し、該比較結果を出力する動的パターン照合手段と、前記比較結果に基づいてパケットの処理を判定する処理判定手段とを有する。【選択図】図４
2010130273.tif 000002
【特許請求の範囲】
【請求項１】
パターン情報管理手段に記録され、パケットの少なくとも一部分に関する値によってフィルタリングの対象とするパケットが定義されたパターン情報と、ネットワーク機器において受信されるパケットとを照合する静的パターン照合手段と、
前記静的パターン照合手段による照合が合致した頻度を算出する頻度算出手段と、
前記頻度と予め設定された比較値とを比較し、該比較結果を出力する動的パターン照合手段と、
前記比較結果に基づいてパケットの処理を判定する処理判定手段とを有するパケット処理装置。
【請求項２】
前記パターン情報と合致しないパケットの少なくとも一部分に関する値に基づいて前記パターン情報を生成し、前記パターン情報管理手段に登録するパターン情報登録手段を有する請求項１記載のパケット処理装置。
【請求項３】
前記パターン情報登録手段は、前記パターン情報と合致しないパケットの中で予め設定された条件に合致するパケットの少なくとも一部分に関する値に基づいて前記パターン情報を生成し、前記パターン情報管理手段に登録する請求項２記載のパケット処理装置。
【請求項４】
前記頻度と予め設定された閾値との比較に応じて前記パターン情報を前記パターン情報管理手段より削除するパターン情報削除手段を有する請求項１乃至３いずれか一項記載のパケット処理装置。
【請求項５】
請求項１乃至４いずれか一項記載のパケット処理装置を有するネットワーク機器。
【請求項６】
パターン情報管理手段に記録され、パケットの少なくとも一部分に関する値によってフィルタリングの対象とするパケットが定義されたパターン情報と、ネットワーク機器において受信されるパケットとを照合する静的パターン照合手順と、
前記静的パターン照合手順による照合が合致した頻度を算出する頻度算出手順と、
前記頻度と予め設定された比較値とを比較し、該比較結果を出力する動的パターン照合手順と、
前記比較結果に基づいてパケットの処理を判定する処理判定手順とを有するパケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット処理装置、ネットワーク機器、及びパケット処理方法に関し、特にパケットのフィルタリングを行うパケット処理装置、ネットワーク機器、及びパケット処理方法に関する。
【背景技術】
【０００２】
ルータやスイッチ等のネットワーク機器は、一般的にパケットのフィルタリング機能を有している。フィルタリング機能とは、主として、ＡＣＬ（Access Control List）に予め定義されたフィルタリングの条件にマッチングするパケットの流通を制限したり、転送先を変更したりする機能である。
【０００３】
フィルタリング機能は、ソフトウェア又はハードウェアによって実装される。ソフトウェアによって実装されるフィルタリング機能は、柔軟性に富む一方で処理速度が遅いという欠点がある。したがって、大量のパケットを高速に処理するためにはハードウェアによる実装が適している。
【特許文献１】特表２００８−５０５５６１号公報
【特許文献２】特開平８−１８５９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ハードウェアによってフィルタリングを実装する場合、以下のような問題があった。
【０００５】
第一に、フィルタリングの条件が静的な情報として与えられるため、トラフィック量などの動的な情報によって振る舞いを変えることができなかった。トラフィック量によって振る舞いを変えるためには、ソフトウェア処理の介在が必要であり、要求される性能を得ることが困難であった。
【０００６】
第二に、特定のＤｏＳ（Denial of Services）検知機能や、特定のＱｏＳ（Quality of Service）機能について、専用のハードウェアの装備が必要であった。専用のハードウェアはコストを増大させる。また、専用のハードウェアでは制御に必要な情報の抽出方法がハードワイヤードで実装されるため、新たな脅威や要件に柔軟に対応することが困難であった。
【０００７】
本発明は、上記の点に鑑みてなされたものであって、ハードウェアによるパケットのフィルタリング機能の柔軟性を向上させることのできるパケット処理装置、ネットワーク機器、及びパケット処理方法の提供を目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、パケット処理装置は、パターン情報管理手段に記録され、パケットの少なくとも一部分に関する値によってフィルタリングの対象とするパケットが定義されたパターン情報と、ネットワーク機器において受信されるパケットとを照合する静的パターン照合手段と、前記静的パターン照合手段による照合が合致した頻度を算出する頻度算出手段と、前記頻度と予め設定された比較値とを比較し、該比較結果を出力する動的パターン照合手段と、前記比較結果に基づいてパケットの処理を判定する処理判定手段とを有する。
【０００９】
このようなパケット処理装置では、ハードウェアによるパケットのフィルタリング機能の柔軟性を向上させることができる。
【発明の効果】
【００１０】
ハードウェアによるパケットのフィルタリング機能の柔軟性を向上させることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるネットワーク機器のハードウェア構成例を示す図である。同図において、ネットワーク機器１０は、ルータ又はスイッチ等の経路制御装置又は中継装置であり、スイッチ装置２０、ＣＰＵ４０、受信ポート５０−１〜ｎ（以下、総称する場合「受信ポート５０」という。）、及び送信ポート６０−１〜ｎ（以下、総称する場合「送信ポート６０」という。）等を有する。
【００１２】
受信ポート５０は、入力側のネットワークと接続するためのインタフェースであり、ネットワークよりパケットを受信する。
【００１３】
スイッチ装置２０は、受信ポート５０によって受信されたパケットに対するフィルタリング機能を備えた装置（パケット処理装置）である。スイッチ装置２０は、メモリ３０を有する。メモリ３０には、パケットのフィルタリングに必要なデータが記録されている。なお、スイッチ装置２０はチップで実装されても良い。
【００１４】
送信ポート６０は、出力側のネットワークと接続するためのインタフェースであり、スイッチ装置２０によって通過が許可されたパケットを送信する。
【００１５】
ＣＰＵ４０は、ネットワーク機器１０全体の動作を制御する。なお、同図では、本実施の形態の説明において不要なハードウェアは省略されている。
【００１６】
スイッチ装置２０について更に詳しく説明する。図２は、スイッチ装置の構成例を示す図である。同図において、スイッチ装置２０は、パケット情報抽出部２１、パターン照合部２２、アクション検索部２３、及びスイッチ論理部２４等を有する。
【００１７】
パケット情報抽出部２１は、受信されたパケット（受信パケット）の中から、フィルタリングの条件（パターン情報）との照合に必要な情報を抽出する回路である。本実施の形態では、送信元ＭＡＣアドレス（ＳＡ）、宛先ＭＡＣアドレス（ＤＡ）、及びＶＬＡＮＩＤ（ＶＩＤ）の値によってパターン情報が定義されている例を説明する。但し、パケットに含まれているいずれの情報をパターン情報の定義に利用するかは、適宜選択すればよい。
【００１８】
パターン照合部２２は、パケット情報抽出部２１によって抽出された情報（抽出情報）をＡＣＬテーブル３１に登録されたパターン情報（ＡＣＬ（Access Control List））と照合し、照合結果（パターンにマッチしたか否か）をアクション検索部２３に出力する回路である。
【００１９】
図３は、ＡＣＬテーブルの構成例を示す図である。同図において、ＡＣＬテーブル３１は、ＳＡ（送信元ＭＡＣアドレス）、ＤＡ（宛先ＭＡＣアドレス）、ＶＩＤ（ＶＬＡＮＩＤ）、頻度、比較方法、及び比較値等の項目を有する。
【００２０】
各エントリには、ＳＡ、ＤＡ、及びＶＩＤの少なくともいずれか一つの値が予め登録されている。パケットが受信された際には、受信パケットのＳＡ、ＤＡ、及びＶＩＤの値と、各エントリのＳＡ、ＤＡ、及びＶＩＤの値が照合される。なお、ＳＡ、ＤＡ、及びＶＩＤは、予め登録された静的なパターン情報である。そこで、以下の説明では、ＡＣＬテーブル３１におけるＳＡ、ＤＡ、及びＶＩＤを静的パターンという。
【００２１】
頻度は、所定時間内において、静的パターンに合致する受信パケットが検出された頻度である。比較値は、頻度の値と比較される値である。比較方法は、頻度の値と比較値との比較方法であり、等号又は不等号に対応する整数値（０〜３）が登録されている。なお、頻度は、パケットの受信又は時間の経過に応じて動的に変化する値である。したがって、頻度と比較値との比較結果は、動的に変化する。そこで、以下の説明では、ＡＣＬテーブル３１における頻度、比較方法、及び比較値を動的パターンという。
【００２２】
なお、ＡＣＬテーブル３１は、メモリ３０に記録されている。
【００２３】
図２に戻る。アクション検索部２３は、パターン照合部２２による照合結果に応じて受信パケットに対して実行すべき処理を判定する回路である。
【００２４】
スイッチ論理部２４は、アクション検索部２３による判定結果に応じた処理を受信パケットに対して実行する。例えば、通過が許可されたパケットについては、送信ポート６０より送信される。
【００２５】
上記構成要素のうち、本実施の形態ではパターン照合部２２について実施の形態を分けて詳細に説明する。
【００２６】
図４は、第一の実施の形態におけるパターン照合部の構成例を示す図である。同図において、パターン照合部２２は、静的パターン照合部２２１、頻度算出部２２２、及び動的パターン照合部２２３等を有する。
【００２７】
静的パターン照合部２２１は、ＡＣＬテーブル３１の各エントリの静的パターン（ＳＡ、ＤＡ、ＶＩＤと、受信パケットからの抽出情報（ＳＡ、ＤＡ、ＶＩＤ）との比較を行う。静的パターン照合部２２１は、エントリごとに照合結果として「１（合致）」又は「０（非合致）」を示す信号を頻度算出部２２２に出力する。
【００２８】
頻度算出部２２１は、エントリごとに、静的パターンが合致した頻度を算出し、算出結果をＡＣＬテーブル３１の「頻度」に登録する。
【００２９】
動的パターン照合部２２３は、ＡＣＬテーブル３１のエントリごとに頻度と比較値との比較を行う。動的パターン照合部２２３は、エントリごとに、比較結果が真である場合（満たされている場合）は「１」を、偽である場合（満たされていない場合）は、「０」を出力する。動的パターン照合部２２３による出力情報が、アクション検索部２３に対する入力情報となる。同図の例では、６個のエントリについて照合が行われている。したがって、６ビットの情報がアクション検索部２３に対して入力される。なお、パターン情報が登録されていないエントリ（同図では、エントリ５及びエントリ６）については、照合結果として「０」が出力される。
【００３０】
以下、パターン照合部２２による処理手順を説明する。図５は、第一の実施の形態におけるパターン照合部の動作を説明するためのフローチャートである。
【００３１】
受信パケットより抽出された抽出情報がパケット情報抽出部２１より入力されると、静的パターン照合部２２１は、ＡＣＬテーブル３１の静的パターンと抽出情報との照合を行う（Ｓ１１）。
【００３２】
続いて、頻度算出部２２２は、静的パターン照合部２２１による照合結果に基づいて、静的パターンと抽出情報とが合致した頻度の算出を行い、算出結果に基づいてＡＣＬテーブル３１を更新する（Ｓ１３）。
【００３３】
続いて、動的パターン照合部２２３は、ＡＣＬテーブル３１のエントリごとに、比較方法に基づいて頻度と比較値とを比較し、比較結果（１又は０）を出力する（Ｓ１５）。
【００３４】
続いて、ステップＳ１１の詳細について説明する。図６は、静的パターン照合部の動作を説明するためのフローチャートである。
【００３５】
抽出情報の入力に応じ、ＡＣＬテーブル３１のエントリごとに静的パターンとの照合を行う（Ｓ１１１）。当該照合は、並列的に行われてもよいし、逐次的におこなわれてもよい。続いて、照合結果（１又は０）をエントリごとに頻度算出部２２２に出力する（Ｓ１１２）。
【００３６】
続いて、図５のステップS１３の詳細について説明する。図７は、頻度算出部の動作を説明するためのフローチャートである。
【００３７】
静的パターン照合部２２１からの照合結果の入力に応じ、ＡＣＬテーブル３１の各エントリより現在の頻度を取得する（Ｓ１３１）。続いて、現在の頻度、静的パターン照合部２２１からの照合結果、及び経過時間等に基づいて、エントリごとに静的パターンが合致した頻度を算出する（Ｓ１３２）。続いて、算出された頻度（合致頻度）を各エントリに登録することによりＡＣＬテーブル３１を更新する（Ｓ１３３）。
【００３８】
続いて、頻度算出部２２２の詳細について説明する。図８は、頻度算出部の第一の構成例を示す図である。
【００３９】
同図において、頻度算出部２２２ａは、タイマー２２２１及び加算器２２２２を有する。タイマー２２２１は、定期的（所定時間ごと）に減算指定パルスを発生させる。加算器２２２２は、ｎ番目のエントリの静的パターンに関する照合結果（静的パターン照合結果ｎ）として「１」が入力されると、ＡＣＬテーブル３１のｎ番目のエントリに登録されている頻度（頻度ｎ）に対して１を加算する。また、タイマー２２２１より減算指定パルスが発せられると、頻度ｎより１を減算する。頻度算出部２２２ａによれば、頻度の計算を開始してから、或る時点までの頻度が累計的に計算される。
【００４０】
続いて、図９は、頻度算出部の第二の構成例を示す図である。図９中、図８と同一部分には同一符号を付し、その説明は省略する。
【００４１】
同図の頻度算出部２２２ｂにおいて、タイマー２２２１は、定期的にクリア指定パルスを発生させる。加算器２２２２は、タイマー２２２１よりクリア指定パルスが発生されると、頻度ｎの値をクリアする（０にする）。頻度算出部２２２ｂによれば、頻度が一定期間ごとに初期化される。
【００４２】
続いて、図１０は、頻度算出部の第三の構成例を示す図である。図１０中、図９と同一部分には同一符号を付し、その説明は省略する。
【００４３】
同図の頻度算出部２２２ｃは、最大値出力器２２２３及びセレクタ２２２４を有している。最大値出力器２２２３は、加算器２２２２より出力される頻度ｎと、これまでの頻度ｎの最大値（最大頻度ｎ）とを比較し、大きい方を出力する。最大値出力器２２２４より出力された値は、最大頻度ｎとして保持され、比較値との比較に利用される。セレクタ２２２４は、例えば、ユーザによる操作に応じてＣＰＵ４０より入力される最大頻度のクリア指示が入力された場合は、最大頻度ｎを初期化する。
【００４４】
頻度算出部２２２ｃによれば、動的パターンの照合に利用される頻度の値を安定させることができる。したがって、例えば、ＤｏＳ（Denial of Services）攻撃が検知され、パケットがブロックされている場合、ユーザが安全を確認し、最大頻度クリア指示が入力されるまでブロック状態が維持される。なお、同図において、タイマー２２２１は、クリア指定パルスではなく、減算指定パルスを発生させるようにしてもよい。
【００４５】
ところで、図８〜図１０に示される例では、頻度算出部２２２ａ、２２２ｂ、又は２２２ｃは、ＡＣＬテーブル３１のエントリごとに必要とされる。例えば、エントリが６個であれば、頻度算出部２２２ａ、２２２ｂ、又は２２２ｃは６個必要とされる。そこで、ハードウェアコストを削減させた例として第四の例を説明する。
【００４６】
図１１は、頻度算出部の第四の構成例を示す図である。図１１中、図８又は図９と同一部分には同一符号を付し、その説明は省略する。
【００４７】
同図の頻度算出部２２２ｄは、セレクタ２２２５、静的パターン照合結果保持部２２２６、セレクタ２２２７、セレクタ２２２８、及びセレクタ２２２９等を有する。
【００４８】
セレクタ２２２５は、ユーザより設定されるモードの値に応じ、タイマー２２２１からのパルスを減算指定パルス又はクリア指定パルスとする。セレクタ２２２５により、頻度算出部２２２ｄは、頻度算出部２２２ａ及び２２２ｂのいずれかの頻度算出方法を選択することができる。
【００４９】
静的パターン照合結果保持部２２２６は、エントリごとに静的パターン照合結果を一時的に保持する。同図では０〜７の８個のエントリが存在する例が示されている。
【００５０】
セレクタ２２２７は、スイッチ装置２０のクロックパルスに応じ、静的パターン照合結果保持部２２２６に保持されているｎ番目のエントリの静的パターン照合結果を逐次的（順次的）に取得し、取得された値を加算器２２２２に入力する。
【００５１】
セレクタ２２２９は、クロックパルスに応じ、ＡＣＬテーブル３１に保持されているｎ番目のエントリの頻度を逐次的に取得し、取得された値を加算器２２２２に入力する。
【００５２】
したがって、加算器２２２２は、ｎ番目のエントリの頻度の加算を逐次的に行う。
【００５３】
セレクタ２２２８は、クロックパルスに応じ、加算器２２２２より出力される値を登録するエントリ（ＡＣＬテーブル３１のエントリ）を逐次的に選択する。
【００５４】
頻度算出部２２２ｄによれば、各エントリの頻度計算を逐次的に行うため、各エントリに対して共通の回路を実現することができる。その結果、ハードウェアコストを低減させることができる。なお、パケットの到着周期は、エントリ分の周期（同図では８クロックパルス分）よりも長いため、頻度計算の逐次化による性能の劣化は無い。
【００５５】
上述したように、第一の実施の形態のネットワーク機器１０によれば、動的に値が変化する頻度を利用してフィルタリングを行うことができる。したがって、パケットのフィルタリング機能の柔軟性を向上させることができる。その結果、ＤｏＳ攻撃に対する処理やネットワーク負荷の分散等を動的に行うことができる。
【００５６】
次に、第二の実施の形態について説明する。図１２は、第二の実施の形態におけるパターン照合部の構成例を示す図である。図１２中、図４と同一部分には同一符号を付し、その説明は省略する。また、第二の実施の形態において特に言及しない点については、第一の実施の形態と同様でよい。
【００５７】
図１２において、パターン照合部２２は、パターン登録部２２４を有する。パターン登録部２２４は、抽出情報と合致する静的パターンが存在しなかった場合（静的パターン照合部２２１による全てのエントリに関する照合結果が０だった場合）、新たなパターン情報をＡＣＬテーブル３１に登録する。新たに登録されるパターン情報の内容は、登録定義テーブル３２の定義に従う。登録定義テーブル３２は、メモリ３０に予め記録されている情報である。
【００５８】
図１３は、第二の実施の形態におけるパターン照合部の動作を説明するためのフローチャートである。図１３中、図５と同一ステップには同一ステップ番号を付し、その説明は省略する。
【００５９】
第二の実施の形態では、ステップＳ１２が追加されている。ステップＳ１２において、パターン登録部２２４は、新たなパターン情報をＡＣＬテーブル３１に登録するための処理を実行する。
【００６０】
ステップＳ１２の詳細について説明する。図１４は、パターン登録部の動作を説明するためのフローチャートである。
【００６１】
まず、静的パターン照合部２２１より出力される照合結果に基づいて、抽出情報に合致した静的パターンが有ったか否かを判定する（Ｓ１２１）。合致した静的パターンが一つも無かった場合（Ｓ１２１でＮｏ）、ＡＣＬテーブル３１に空きエントリ（パターン情報が登録されていないエントリ）が存在するか否かを確認する（Ｓ１２２）。空きエントリが存在する場合（Ｓ１２２でＹｅｓ）、抽出情報及び登録定義テーブル３２等に基づいて、新たに登録するパターン情報を生成する（Ｓ１２３）。続いて、生成されたパターン情報を空きエントリに登録する（Ｓ１２４）。
【００６２】
ステップＳ１２３の内容について更に詳しく説明する。図１５は、パターン登録部及び登録定義テーブルの構成例を示す図である。
【００６３】
同図において、登録定義テーブル３２は、条件１、条件２、項目１〜３、データ１〜３、比較方法、及び比較値等の項目を有する。
【００６４】
条件１及び２には、新たなパターン情報を登録する条件が、抽出情報に対する値（本実施の形態では、ＳＶ、ＤＡ、及びＶＩＤいずれかの値）に基づいて定義されている。すなわち、抽出情報が、登録定義テーブル３２のいずれかのレコードの条件１及び２に合致する場合は、当該抽出情報に基づいて新たなパターン情報が登録される。なお、条件１と条件２との関係はＡＮＤでもよいしＯＲでもよい。また、条件の数は２つに限られない。１つでもよいし、３つ以上でもよい。
【００６５】
項目１〜３には、新たに登録される静的パターンを構成する各項目（第一項目〜第三項目）に何の値を登録するかを示す数値が登録されている。例えば、０であればＳＡ、１であればＤＡ、２であればＶＩＤ、３であれば送信元ＩＰアドレス、４であれば送信元ＩＰアドレスに対するマスクが登録対象とされる。本実施の形態において、静的パターンの第一項目はＳＡ、第二項目はＤＡ、第三項目はＶＩＤとそれぞれ比較される。したがって、項目１には０（ＳＡ）、項目２には１（ＤＡ）、項目３には２（ＶＩＤ）が登録される。
【００６６】
データ１〜３は、項目１〜３とそれぞれペアをなす。データ１〜３は、項目１〜３に指定されている値に対応する抽出情報の値（例えば、項目２の値が「１」であれば、抽出情報のＤＡの値）に対して適用するマスク、又は即値（定数）が登録されている。
【００６７】
例えば、条件１及び２に合致した抽出情報のＤＡの値が「０１：２３：４５：６７：８９：ａｂ」である場合であって、当該条件１及び２に対して登録されている項目２の値が「１」であり、データ２の値が「ｆｆ：ｆｆ：ｆｆ：ｆｆ：ｆｆ：００」である場合、「０１：２３：４５：６７：８９：ａｂ」に対して「ｆｆ：ｆｆ：ｆｆ：ｆｆ：ｆｆ：００」がマスクとして適用された「０１：２３：４５：６７：８９：００」が、新たに登録される静的パターンの第二項目の値となる。
【００６８】
また、項目Ｎ（Ｎは１〜３のいずれか）の値が４の場合、当該項目に対応するデータＮの値は、定数として扱われ、当該データＮの値がそのまま新たに登録される静的パターンの第Ｎ項目の値となる。
【００６９】
比較方法及び比較値は、動的パターンに登録される比較方法及び比較値である。
【００７０】
一方、登録定義テーブル３２を利用するパターン登録部２２４は、比較器２２４１、比較器２２４２、及びコントローラ２２４３等を有する。
【００７１】
比較器２２４１は、全てのエントリの静的パターン照合結果と０とを比較し、全ての静的パターン照合結果が０（非合致）である場合にコントローラ２２４３を起動する。したがって、いずれかのエントリに係る静的パターン照合結果が１（合致）であった場合、コントローラ２２４３は起動されない。
【００７２】
比較器２２４２は、抽出情報と登録定義テーブル３２に登録されている条件（条件１及び２）とを比較し、合致した条件が登録されている行番号（図１５の例では、１〜４のいずれか）をコントローラ２２４３に入力する。なお、比較器２２４２による処理は、比較器２２４１と並行して行われる。
【００７３】
コントローラ２２４３は、起動されると、比較器２２４２より入力される行番号に対応する行に登録されている情報を登録定義テーブル３２より取得し、当該情報に基づいて、静的パターン及び動的パターンを生成する。より詳しくは、登録定義テーブル３２の項目１〜３及びデータ１〜３に基づいて静的パターンが生成される。また、登録定義テーブル３２の比較方法及び比較値に基づいて動的パターンが生成される。コントローラ２２４３は、生成したパターン情報（静的パターン及び動的パターン）をＡＣＬテーブル３１の空きエントリに登録する。
【００７４】
上述したように、第二の実施の形態のネットワーク機器１０によれば、ＡＣＬテーブル３１に対して動的にパターン情報を追加することができる。したがって、フィルタリング機能の柔軟性を更に向上させることができる。具体的には、新たに登録されたパターン情報に基づいて、以前には捕捉できなかったパケットを捕捉できるようになる。
【００７５】
次に、第三の実施の形態について説明する。図１６は、第三の実施の形態におけるパターン照合部の構成例を示す図である。図１６中、図４又は図１２と同一部分には同一符号を付し、その説明は省略する。なお、図１６には、パターン登録部２２４及び登録定義テーブル３２は示されていないが、パターン登録部２２４及び登録定義テーブル３２が含まれていてもよい。また、第三の実施の形態において特に言及しない点については、第一又は第二の実施の形態と同様でよい。
【００７６】
図１６において、パターン照合部２２は、パターン削除部２２５を有する。パターン削除部２２５は、頻度が予め設定された閾値３３を下回ったパターン情報をＡＣＬテーブル３１より削除する。なお、閾値３３は、メモリ３０に記録されている。
【００７７】
図１７は、第三の実施の形態におけるパターン照合部の動作を説明するためのフローチャートである。図１７中、図５と同一ステップには同一ステップ番号を付し、その説明は省略する。
【００７８】
第三の実施の形態では、ステップＳ１７が追加されている。ステップＳ１７において、パターン削除部２２５は、頻度が閾値３３より低いパターン情報をＡＣＬテーブル３１より削除するための処理を実行する。なお、図１３と同様、ステップＳ１２が実行されてもよい。
【００７９】
ステップＳ１７の詳細について説明する。図１８は、パターン削除部の動作を説明するためのフローチャートである。
【００８０】
まず、ＡＣＬテーブル３１の各エントリに登録されているパターン情報の頻度と、閾値３３とを比較し、頻度が閾値３３を下回ったパターン情報の有無を判定する（Ｓ１７１）。なお、閾値３３は、各エントリに対して共通であってもよいし、エントリごとに別の値が設定されてもよい。
【００８１】
頻度が閾値３３を下回ったパターン情報が存在した場合（Ｓ１７１でＹｅｓ）、当該パターン情報をＡＣＬテーブル３１より削除する（Ｓ１７２）。これにより、当該パターン情報が登録されていたエントリは空きエントリとなる。
【００８２】
なお、頻度が閾値３３を下回ったパターン情報が無条件に削除されては不都合な場合が有る。例えば、頻度の値に拘わらず、常にＡＣＬテーブル３１に登録しておきたいパターン情報もある。そこで、例えば、ＡＣＬテーブル３１を次のように構成してもよい。
【００８３】
図１９は、ＡＣＬテーブルの第二の構成例を示す図である。同図のＡＣＬテーブル３１は、自動登録フラグ及び自動削除フラグを保持する項目を有する。
【００８４】
自動登録フラグは、パターン登録部２２４によって自動的に登録されたパターン情報であるか否かを識別するためのフラグ情報である。例えば、パターン登録部２２４は、パターン情報を自動的に登録した場合、自動登録フラグの値を１とする。この際に、自動削除フラグの値も１にされてもよい。一方、予め設定されているパターン情報に関しては、自動登録フラグには０が登録されている。また、予め設定されているパターン情報の自動削除フラグは、０でもよいし、ユーザによって設定されてもよい。
【００８５】
自動削除フラグは、パターン削除部２２５による自動的な削除を許可するか否かを識別するためのフラグ情報である。例えば、自動削除フラグの値が１であれば自動的な削除を許可することを示し、０であれば自動的な削除は許可しないことを示す。したがって、パターン削除部２２５は、自動削除フラグの値が１であるエントリについて、図１８の処理を実行する。
【００８６】
上述したように、第三の実施の形態のネットワーク機器１０によれば、パケットの抽出情報と合致する頻度の低いパターン情報（すなわち、あまり役に立っていないパターン情報）をＡＣＬテーブル３１より削除することができる。したがって、より有効なパターン情報を登録するための空きエントリを適切に確保することができる。
【００８７】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００８８】
以上の説明に関し、更に以下の項を開示する。
（付記１）
パターン情報管理手段に記録され、パケットの少なくとも一部分に関する値によってフィルタリングの対象とするパケットが定義されたパターン情報と、ネットワーク機器において受信されるパケットとを照合する静的パターン照合手段と、
前記静的パターン照合手段による照合が合致した頻度を算出する頻度算出手段と、
前記頻度と予め設定された比較値とを比較し、該比較結果を出力する動的パターン照合手段と、
前記比較結果に基づいてパケットの処理を判定する処理判定手段とを有するパケット処理装置。
（付記２）
前記パターン情報と合致しないパケットの少なくとも一部分に関する値に基づいて前記パターン情報を生成し、前記パターン情報管理手段に登録するパターン情報登録手段を有する付記１記載のパケット処理装置。
（付記３）
前記パターン情報登録手段は、前記パターン情報と合致しないパケットの中で予め設定された条件に合致するパケットの少なくとも一部分に関する値に基づいて前記パターン情報を生成し、前記パターン情報管理手段に登録する付記２記載のパケット処理装置。
（付記４）
前記頻度と予め設定された閾値との比較に応じて前記パターン情報を前記パターン情報管理手段より削除するパターン情報削除手段を有する付記１乃至３いずれか一項記載のパケット処理装置。
（付記５）
前記頻度算出手段は、所定期間ごとに前記静的パターン照合手段による照合の合致に応じて前記頻度の値に１を加算し、前記所定期間の経過に応じ前記頻度の値より１を減算する付記１乃至４いずれか一項記載のパケット処理装置。
（付記６）
前記頻度算出手段は、所定期間ごとに前記静的パターン照合手段による照合の合致に応じて前記頻度の値に１を加算し、前記所定期間の経過に応じ前記頻度の値を０とする付記１乃至４いずれか一項記載のパケット処理装置。
（付記７）
前記頻度算出手段は、算出された頻度の最大値を保持し、
前記動的パターン照合手段は、前記最大値と前記比較値とを比較する付記５又は６記載のパケット処理装置。
（付記８）
前記頻度算出手段は、複数の前記パターン情報に対する頻度を逐次的に算出する付記５乃至７いずれか一項記載のパケット処理装置。
（付記９）
付記１乃至８いずれか一項記載のパケット処理装置を有するネットワーク機器。
（付記１０）
パターン情報管理手段に記録され、パケットの少なくとも一部分に関する値によってフィルタリングの対象とするパケットが定義されたパターン情報と、ネットワーク機器において受信されるパケットとを照合する静的パターン照合手順と、
前記静的パターン照合手順による照合が合致した頻度を算出する頻度算出手順と、
前記頻度と予め設定された比較値とを比較し、該比較結果を出力する動的パターン照合手順と、
前記比較結果に基づいてパケットの処理を判定する処理判定手順とを有するパケット処理方法。
（付記１１）
前記パターン情報と合致しないパケットの少なくとも一部分に関する値に基づいて前記パターン情報を生成し、前記パターン情報管理手段に登録するパターン情報登録手順を有する付記１０記載のパケット処理方法。
（付記１２）
前記パターン情報登録手順は、前記パターン情報と合致しないパケットの中で予め設定された条件に合致するパケットの少なくとも一部分に関する値に基づいて前記パターン情報を生成し、前記パターン情報管理手段に登録する付記１１記載のパケット処理方法。
（付記１３）
前記頻度と予め設定された閾値との比較に応じて前記パターン情報を前記パターン情報管理手段より削除するパターン情報削除手順を有する付記１０乃至１２いずれか一項記載のパケット処理方法。
（付記１４）
前記頻度算出手順は、所定期間ごとに前記静的パターン照合手順による照合の合致に応じて前記頻度の値に１を加算し、前記所定期間の経過に応じ前記頻度の値より１を減算する付記１０乃至１３いずれか一項記載のパケット処理方法。
（付記１５）
前記頻度算出手順は、所定期間ごとに前記静的パターン照合手順による照合の合致に応じて前記頻度の値に１を加算し、前記所定期間の経過に応じ前記頻度の値を０とする付記１０乃至１３いずれか一項記載のパケット処理方法。
（付記１６）
前記頻度算出手順は、算出された頻度の最大値を保持し、
前記動的パターン照合手順は、前記最大値と前記比較値とを比較する付記１４又は１５記載のパケット処理方法。
（付記１７）
前記頻度算出手順は、複数の前記パターン情報に対する頻度を逐次的に算出する付記１４乃至１６いずれか一項記載のパケット処理方法。
【図面の簡単な説明】
【００８９】
【図１】本発明の実施の形態におけるネットワーク機器のハードウェア構成例を示す図である。
【図２】スイッチ装置の構成例を示す図である。
【図３】ＡＣＬテーブルの構成例を示す図である。
【図４】第一の実施の形態におけるパターン照合部の構成例を示す図である。
【図５】第一の実施の形態におけるパターン照合部の動作を説明するためのフローチャートである。
【図６】静的パターン照合部の動作を説明するためのフローチャートである。
【図７】頻度算出部の動作を説明するためのフローチャートである。
【図８】頻度算出部の第一の構成例を示す図である。
【図９】頻度算出部の第二の構成例を示す図である。
【図１０】頻度算出部の第三の構成例を示す図である。
【図１１】頻度算出部の第四の構成例を示す図である。
【図１２】第二の実施の形態におけるパターン照合部の構成例を示す図である。
【図１３】第二の実施の形態におけるパターン照合部の動作を説明するためのフローチャートである。
【図１４】パターン登録部の動作を説明するためのフローチャートである。
【図１５】パターン登録部及び登録定義テーブルの構成例を示す図である。
【図１６】第三の実施の形態におけるパターン照合部の構成例を示す図である。
【図１７】第三の実施の形態におけるパターン照合部の動作を説明するためのフローチャートである。
【図１８】パターン削除部の動作を説明するためのフローチャートである。
【図１９】ＡＣＬテーブルの第二の構成例を示す図である。
【符号の説明】
【００９０】
１０          ネットワーク機器
２０          スイッチ装置
２１          パケット情報抽出部
２２          パターン照合部
２３          アクション検索部
２４          スイッチ論理部
３０          メモリ
３１          ＡＣＬテーブル
３２          登録定義テーブル
３３          閾値
４０          ＣＰＵ
５０−１〜ｎ    受信ポート
６０−１〜ｎ    送信ポート
２２１        静的パターン照合部
２２２        頻度算出部
２２３        動的パターン照合部
２２４        パターン登録部
２２５        パターン削除部
２２２１      タイマー
２２２２      加算器
２２２３      最大値出力器
２２２４、２２２５、２２２７、２２２８、２２２９      セレクタ
２２２６      静的パターン照合結果保持部
２２４１、２２４２      比較器
２２４３      コントローラ
【図１】
2010130273.tif 000003
【図２】
2010130273.tif 000004
【図３】
2010130273.tif 000005
【図４】
2010130273.tif 000006
【図５】
2010130273.tif 000007
【図６】
2010130273.tif 000008
【図７】
2010130273.tif 000009
【図８】
2010130273.tif 000010
【図９】
2010130273.tif 000011
【図１０】
2010130273.tif 000012
【図１１】
2010130273.tif 000013
【図１２】
2010130273.tif 000014
【図１３】
2010130273.tif 000015
【図１４】
2010130273.tif 000016
【図１５】
2010130273.tif 000017
【図１６】
2010130273.tif 000018
【図１７】
2010130273.tif 000019
【図１８】
2010130273.tif 000020
【図１９】
2010130273.tif 000021