(57)【要約】【課題】  パケットの識別のために予め格納しておく検索対象情報の容量を軽減できるパケット識別装置を提供する。【解決手段】  本発明は、入力パケットからパケット識別情報を抽出し、抽出パケット識別情報が、予め記憶されているパケット識別情報に合致するか否かを判別するパケット識別装置に関する。パケット識別情報を構成する一部要素を除いた残部要素を検索可能に記憶する第１の記憶部と、第１の記憶部の残部要素に対応する一部要素を検索可能に記憶する第２の記憶部とを備える。また、抽出パケット識別情報における残部要素が、第１の記憶部に記憶されているか否かを検索する第１の検索部と、第１の検索部が検索できたとき、抽出パケット識別情報における一部要素を、第２の記憶部から検索する第２の検索部とを備える。【選択図】      図１
2010171602.tif 000002
【特許請求の範囲】
【請求項１】
パケット情報抽出手段が、入力パケットからパケット識別情報を抽出し、検索処理手段が、抽出されたパケット識別情報が、予め記憶手段に記憶されているパケット識別情報に合致するか否かを判別するパケット識別装置において、
上記記憶手段が、
パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部と、
上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部とを備え、
上記検索処理手段が、
抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別する残部要素検索部と、
上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別する一部要素検索部とを備える
ことを特徴とするパケット識別装置。
【請求項２】
上記一部要素照合用記憶部は、上記残部要素照合用記憶部で規定されている残部要素に対応する、１又は複数の上記一部要素の値が連続しているか非連続かを示す情報を含んでいることを特徴とする請求項１に記載のパケット識別装置。
【請求項３】
上記一部要素照合用記憶部は、残部要素に対応する上記一部要素の値が連続している場合には先頭及び末尾の値も記憶し、
上記一部要素検索部は、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別し、かつ、上記一部要素照合用記憶部の記憶内容に基づき、残部要素に対応する一部要素が連続している値のいずれかであることを判別したとき、上記先頭及び末尾の値で定まる範囲内に、抽出されたパケット識別情報における一部要素の値があるか否かを判別する
ことを特徴とする請求項２に記載のパケット識別装置。
【請求項４】
上記一部要素照合用記憶部は、残部要素に対応する上記一部要素の値が非連続の場合に、残部要素に対応する上記一部要素の全ての値を記憶しておき、
上記一部要素検索部は、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別し、かつ、上記一部要素照合用記憶部の記憶内容に基づき、残部要素に対応する一部要素が非連続のいずれかの値であることを判別したとき、個別に記憶されている値に、抽出されたパケット識別情報における一部要素の値が合致するか否かを判別する
ことを特徴とする請求項２に記載のパケット識別装置。
【請求項５】
パケット情報抽出手段が、入力パケットからパケット識別情報を抽出し、検索処理手段が、抽出されたパケット識別情報が、予め記憶手段に記憶されているパケット識別情報に合致するか否かを判別するパケット識別方法において、
上記記憶手段として、
パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部と、
上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部とを用意しておき、
上記検索処理手段における残部要素検索部が、抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別し、
上記検索処理手段における一部要素検索部が、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別する
ことを特徴とするパケット識別方法。
【請求項６】
入力パケットからパケット識別情報を抽出し、抽出されたパケット識別情報が、予め記憶されているパケット識別情報に合致するか否かを判別するパケット識別プログラムであって、
コンピュータを、
パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部、及び、上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部を備える記憶手段と、
抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別する残部要素検索部、及び、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別する一部要素検索部を備える検索処理手段と
して機能させることを特徴とするパケット識別プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケット識別装置、方法及びプログラムに関し、例えば、ＩＰ（ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク等のネットワークにおいて、受信したパケットのヘッダ情報からそのパケットに係るフロー等を識別する場合に適用し得るものである。
【背景技術】
【０００２】
従来のパケット識別方式では、一般に、識別したいパケットの情報（例えばヘッダ情報の全て又は一部）を予め連想メモリ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ；ＣＡＭ）へ格納しておき、入力されたパケットから抽出した情報をもとにＣＡＭを検索し、その検索結果に基づいて、「パケット廃棄」、「パケット転送先」、「パケット転送の優先度」等を決定し、適宜、パケットの転送を行う。ここで、ＣＡＭに設定する検索条件は、抽出するパケット情報と同じサイズのビット幅を持ち、登録数（エントリー数）の分だけＣＡＭへ設定し、入力パケットの識別を行っていた（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１７２１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のパケット識別方式では、検索対象情報を増大させたり、識別対象パケット数を増加させたりしようとすると、ＣＡＭの容量を増大させなければならない。ＣＡＭの容量に係る仕様制約によって、上述した情報の増大や識別対象パケット数の増加に応じられないこともある。また、高容量ＣＡＭを用いることが可能であっても、高容量ＣＡＭを用いることで、コストが上昇してしまう。
【０００５】
特に、ＩＰパケットの場合、ＩＰｖ４（ＩＰ  ｖｅｒｓｉｏｎ  ４）からＩＰｖ６（ＩＰ  ｖｅｒｓｉｏｎ  ６）への移行に伴い、パケットに含まれる検索対象情報は大幅に増加することが見込まれる。近年、スケーラブルなネットワークアーキテクチャやセキュリティの向上、サービス品質機能の統合などに対応するため、ＩＰｖ６が導入され、ＩＰｖ６では、ＩＰヘッダの構成が単純化され、パケット処理のオーバーヘッドが減少したが、送信元アドレスや宛先アドレスが従来のＩＰｖ４での３２ビットに対し１２８ビットにもなるなど識別に必要なビット幅（検索対象情報）が増えている。
【０００６】
一方、実際の運用においては、複数の識別対象パケットを一括りで扱い、複数の識別対象パケットに対する処理を行うケースもあり、入力され得る複数の識別対象パケットの情報を全て格納しておくことは非効率である。
【０００７】
そのため、パケットの識別のために予め格納しておく検索対象情報の容量を軽減することができるパケット識別装置、方法及びプログラムが望まれている。
【課題を解決するための手段】
【０００８】
第１の本発明は、パケット情報抽出手段が、入力パケットからパケット識別情報を抽出し、検索処理手段が、抽出されたパケット識別情報が、予め記憶手段に記憶されているパケット識別情報に合致するか否かを判別するパケット識別装置において、（１）上記記憶手段が、（１−１）パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部と、（１−２）上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部とを備え、（２）上記検索処理手段が、（２−１）抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別する残部要素検索部と、（２−２）上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別する一部要素検索部とを備えることを特徴とする。
【０００９】
第２の本発明は、パケット情報抽出手段が、入力パケットからパケット識別情報を抽出し、検索処理手段が、抽出されたパケット識別情報が、予め記憶手段に記憶されているパケット識別情報に合致するか否かを判別するパケット識別方法において、（１）上記記憶手段として、（１−１）パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部と、（１−２）上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部とを用意しておき、（２）上記検索処理手段における残部要素検索部が、抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別し、（３）上記検索処理手段における一部要素検索部が、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別することを特徴とする。
【００１０】
第３の本発明は、入力パケットからパケット識別情報を抽出し、抽出されたパケット識別情報が、予め記憶されているパケット識別情報に合致するか否かを判別するパケット識別プログラムであって、（１）コンピュータを、（２）パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部、及び、上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部を備える記憶手段と、（３）抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別する残部要素検索部、及び、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別する一部要素検索部を備える検索処理手段として機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、パケットの識別のために予め格納しておく検索対象情報の容量を軽減することができるようになる。
【図面の簡単な説明】
【００１２】
【図１】実施形態のパケット識別装置における検索処理部及びＣＡＭの詳細を示す説明図である。
【図２】実施形態のパケット識別装置の全体構成を示すブロック図である。
【図３】実施形態のパケット識別装置の動作（パケット識別方法）を示すフローチャートである。
【発明を実施するための形態】
【００１３】
（Ａ）主たる実施形態
以下、本発明によるパケット識別装置、方法及びプログラムの一実施形態を、図面を参照しながら詳述する。
【００１４】
（Ａ−１）実施形態の構成
図２は、実施形態のパケット識別装置の全体構成を示すブロック図である。実施形態のパケット識別装置は、パケットを受信する機能や、パケットを転送する機能などを有する装置に搭載されるものである。パケット識別装置を搭載する装置は、所定データ（例えば、コンテンツ）に係るパケットを受信する専用装置だけでなく、パソコンなどの汎用的な装置であっても良い。後者の場合、パケット識別装置は、主として、ＣＰＵ及びＣＰＵが実行するプログラムで構成されるが、この場合であっても、機能的には図２で表すことができる。
【００１５】
図２において、実施形態のパケット識別装置１００は、パケット情報抽出部１０１、検索処理部１０２及びＣＡＭ（連想メモリ）１０３を有する。
【００１６】
パケット情報抽出部１０１は、入力されたパケットから、そのパケットを識別する際に必要となる情報の抽出を行う。パケット情報抽出部１０１は、抽出したパケット情報を検索処理部１０２に与える。
【００１７】
ＣＡＭ１０３は、識別したいパケットの情報を格納しているものである。この実施形態の場合、ＣＡＭ１０３は、範囲指定（Ｒａｎｇｅ  Ｍａｔｃｈｉｎｇ）検索を実行可能なように、後述する２つのテーブルを備えている。
【００１８】
検索処理部１０２は、抽出されたパケット情報を適用して、ＣＡＭ１０３への検索処理を行い、ＣＡＭ１０３から検索結果を取得する。検索処理部１０２は、取得した検索結果を基に、必要に応じて、ＣＡＭ１０３へ再検索処理を行うものである。１回目の検索は、範囲に属するか否かの検索であり、２回目の検索（再検索）は、その範囲内において有効であるか否かの検索である。検索処理部１０２は、入力されたパケットの識別情報が、ＣＡＭ１０３にエントリーされているか否かを表す検索結果を出力する。
【００１９】
なお、検索結果の利用方法は、この実施形態の特徴と無関係であり、任意である。例えば、廃棄するパケットの識別情報をＣＡＭ１０３にエントリーして識別する場合であれば、エントリーされているという検索結果が出力されたときに、入力されたパケットは廃棄される。また、例えば、他装置に転送するパケットの識別情報をＣＡＭ１０３にエントリーして識別する場合であれば、エントリーされているという検索結果が出力されたときに、入力されたパケットは他装置に転送される。さらに、例えば、他のパケットより処理の優先度が高いパケットの識別情報をＣＡＭ１０３にエントリーして識別する場合であれば、エントリーされているという検索結果が出力されたときに、入力されたパケットは他のパケットに優先して処理される。
【００２０】
図１は、図２に示した検索処理部１０２及びＣＡＭ１０３の詳細を示す説明図であり、図２との同一部分には同一符号を付して示している。なお、図２は、入力されるパケットが、ＩＰｖ６に従うＩＰパケット（ＩＰｖ６パケット）の場合を示している。
【００２１】
ＣＡＭ１０３は、図１に示すように、第１のＲＭ（Ｒａｎｇｅ  Ｍａｔｃｈｉｎｇ）用テーブル２０２及び第２のＲＭ用テーブル２０３を有している。検索処理部１０２は、ＲＭエントリー格納部２０４を有している。
【００２２】
第１のＲＭ用テーブル２０２の構成を図１内に位置している構成図２０６で示している。第１のＲＭ用テーブル２０２は、各エントリー（各レコード）に、識別対象パケットを規定する５つの情報ＳｒｃＩＰ（送信元ＩＰアドレス）、ＤｓｔＩＰ（宛先ＩＰアドレス）、ＰＩＤ（プロトコルがＴＣＰかＵＤＰかを表すプロトコル識別）、ＳｒｃＰｏｒｔ（送信元ポート番号）、ＤｓｔＰｏｒｔ（宛先ポート番号）のうち、ＤｓｔＰｏｒｔ以外のＳｒｃＩＰ、ＤｓｔＩＰ、ＰＩＤ、ＳｒｃＰｏｒｔが特定された値を格納している。ここで、第１のＲＭ用テーブル２０２は、ＤｓｔＰｏｒｔの欄を備えないものであっても良く、また、ＤｓｔＰｏｒｔの欄を備えるが、その欄にはどの値でも良いことを記述したものであっても良い。実施形態では、ＤｓｔＰｏｒｔの値を範囲規定要素としたので、パケット転送処理を一括りで扱うことが可能なエントリーとなっている。
【００２３】
ＲＭエントリー格納部２０４は、第１のＲＭ用テーブル２０２の各エントリー（各レコード）にそれぞれ対応したレコード（行）を有しており、第１のＲＭ用テーブル２０２のエントリー番号（アドレス番号；図示せず）によって、ＲＭエントリー格納部２０４のレコードが特定されるようになされている。ＲＭエントリー格納部２０４は、識別対象パケットの５つの識別情報のうち、ＤｓｔＰｏｒｔが属する範囲を規定する情報を格納しているものである。
【００２４】
ＲＭエントリー格納部２０４のレコードは、連続／非連続フラグＦと、範囲先頭番号Ｓｔａｒｔと、範囲末尾番号Ｅｎｄとを規定している。連続／非連続フラグＦは、範囲検索対象であるのか（連続エントリー）、範囲検索対象でないのか（非連続エントリー）を表すフラグが記述される。図１の例では、フラグＦ＝１が連続エントリーを表し、フラグＦ＝０が非連続エントリーを表している。非連続エントリーでは、範囲先頭番号Ｓｔａｒｔ及び範囲末尾番号Ｅｎｄは意味を持たず、空欄若しくは無意味な値が格納されている。
【００２５】
第２のＲＭ用テーブル２０３の構成を図１内に位置している構成図２０７で示している。第２のＲＭ用テーブル２０３は、ＲＭエントリー格納部２０４のフラグＦが非連続エントリーを表している、第１のＲＭ用テーブル２０２の各エントリー（各レコード）毎に、識別対象パケットとして識別するＤｓｔＰｏｒｔの値が記述されている。
【００２６】
例えば、５つの情報のうちＳｒｃＩＰ、ＤｓｔＩＰ、ＰＩＤ、ＳｒｃＰｏｒｔの組が同じである複数の識別対象パケットのＤｓｔＰｏｒｔがどのような関係になっているかを調べる。複数の識別対象パケットのＤｓｔＰｏｒｔが連続した値の範囲を構成していれば連続エントリーとし、連続した値の範囲を構成していなければ非連続エントリーとし、第１のＲＭ用テーブル２０２、ＲＭエントリー格納部２０４、第２のＲＭ用テーブル２０３に値を登録する。
【００２７】
（Ａ−２）実施形態の動作
次に、実施形態のパケット識別装置１００の動作（実施形態のパケット識別方法）を、図３のフローチャートを参照しながら説明する。
【００２８】
パケットが入力されると、まず、そのパケットから識別に用いる情報（ＳｒｃＩＰ、ＤｓｔＩＰ、ＰＩＤ、ＳｒｃＰｏｒｔ、ＤｓｔＰｏｒｔ）の値を抽出する（ステップＳ１）。今、図１に示すような、ＳｒｃＩＰがＳＡ、ＤｓｔＩＰがＤＡ、ＰＩＤがＴＣＰ、ＳｒｃＰｏｒｔがＳＰ、ＤｓｔＰｏｒｔがＤＰであるパケット２０１が入力されたとする。
【００２９】
次に、抽出された５つの情報のうち、ＳｒｃＩＰ、ＤｓｔＩＰ、ＰＩＤ、ＳｒｃＰｏｒｔの値ＳＡ、ＤＡ、ＴＣＰ、ＳＰを基に、第１のＲＭ用テーブル２０２を検索し（ステップＳ２）、検索できたか否かを判別する（ステップＳ３）。
【００３０】
第１のＲＭ用テーブル２０２に対する検索で、該当するエントリーが検索できなかった場合には、入力されたパケット２０１が、識別対象パケットでない旨の結果を出力する（ステップＳ４）。
【００３１】
一方、第１のＲＭ用テーブル２０２に対する検索で、該当するエントリーが検索できた場合には、検索されたエントリーの番号（ＣＡＭ１０３（第１のＲＭ用テーブル２０２）のアドレス）を基に、ＲＭエントリー格納部２０４から、そのエントリーに関する情報を取得し（ステップＳ５）、連続エントリーか非連続エントリーかを判別する（ステップＳ６）。上述した図１に示す第１のＲＭ用テーブル２０２の構成例では、抽出されたＳｒｃＩＰ、ＤｓｔＩＰ、ＰＩＤ、ＳｒｃＰｏｒｔの値ＳＡ、ＤＡ、ＴＣＰ、ＳＰを有するエントリーが第１のＲＭ用テーブル２０２に存在して検索され、このエントリーの番号を基に、ＲＭエントリー格納部２０４から情報を取得すると、Ｆ＝１、Ｓｔａｒｔ＝１、Ｅｎｄ＝５が得られる。
【００３２】
連続エントリーであると判別したときには、さらに、入力パケットから抽出されたＤｓｔＰｏｒｔの値ＤＰが、取得されたＳｔａｒｔ及びＥｎｄで規定される連続範囲内の値であるか否かを判別する（ステップＳ７）。値ＤＰが連続範囲外の値であると、入力されたパケット２０１が、識別対象パケットでない旨の結果を出力し（ステップＳ４）、値ＤＰが連続範囲内の値であると、入力されたパケット２０１が、識別対象パケットである旨の結果を出力する（ステップＳ８）。上述した図１に示す例では、Ｆ＝１であるので連続エントリーであると判別され、Ｓｔａｒｔ＝１、Ｅｎｄ＝５であるので、値ＤＰが１以上５以下の範囲に属するかが確認される。例えば、値ＤＰが２であれば、入力されたパケット２０１が識別対象パケットである旨の結果を出力され、値ＤＰが８であれば、入力されたパケット２０１が識別対象パケットでない旨の結果を出力される。
【００３３】
ステップＳ６の判別で、非連続エントリーであると判別したときには、検索されたエントリーの番号（ＣＡＭ１０３（第１のＲＭ用テーブル２０２）のアドレス）を基に、第２のＲＭ用テーブル２０３から、そのエントリーに関する情報を取得し（ステップＳ９）、取得した情報に入力パケットから抽出されたＤｓｔＰｏｒｔの値ＤＰが含まれているか否かを判別する（ステップＳ１０）。入力パケットから抽出されたＤｓｔＰｏｒｔの値ＤＰが、第２のＲＭ用テーブル２０３から取得した情報に含まれていないと、入力されたパケット２０１が、識別対象パケットでない旨の結果を出力し（ステップＳ４）、第２のＲＭ用テーブル２０３から取得した情報に含まれていると、入力されたパケット２０１が、識別対象パケットである旨の結果を出力する（ステップＳ８）。上述した図１に示す例は連続エントリーの場合を示しているが、仮に、Ｆ＝０の非連続エントリーであり、第２のＲＭ用テーブル２０３から情報を取得したとする。図１に示すように、値１、３、５が取得されたとすると、例えば、値ＤＰが３であれば、入力されたパケット２０１が識別対象パケットである旨の結果を出力され、値ＤＰが４であれば、入力されたパケット２０１が識別対象パケットでない旨の結果を出力される。
【００３４】
以上の動作をパケットが入力されるごとに、繰り返し実行し、各入力パケットが識別対象パケット（処理対象パケット）であるか否かの検索結果を、各入力パケットに対してそれぞれ出力する。
【００３５】
以下では、より具体的に動作を説明する。
【００３６】
［動作例１］
ＳｒｃＩＰがＳＡ、ＤｓｔＩＰがＤＡ、ＰＩＤがＴＣＰ、ＳｒｃＰｏｒｔがＳＰで、しかも、ＤｓｔＰｏｒｔが１〜５のいずれかであるパケットは転送を行い、それ以外のパケットは廃棄処理を行うものとする。
【００３７】
この場合、第１のＲＭ用テーブル２０２へのエントリー設定は、図１の構成図に示すようにＤｓｔＰｏｒｔ以外を検索対象としたＳＡ、ＤＡ、ＴＣＰ、ＳＰを設定する。また、ＲＭエントリー格納部２０４への設定は、検索処理対象パケットのＤｓｔＰｏｒｔが１〜５の連続範囲で表せることより、Ｆ＝１、Ｓｔａｒｔ＝１、Ｅｎｄ＝５を、第１のＲＭ用テーブル２０２のエントリーアドレスに対応したアドレスに設定する。
【００３８】
このような設定状態において、ＳｒｃＩＰ＝ＳＡ、ＤｓｔＩＰ＝ＤＡ、ＰＩＤ＝ＴＣＰ、ＳｒｃＰｏｒｔ＝ＳＰ、ＤｓｔＰｏｒｔ＝２のパケット情報が抽出されたとする。
【００３９】
第１のＲＭ用テーブル２０２に対する検索の結果、ＤｓｔＰｏｒｔに依存せずに該当するエントリーが存在するので、そのエントリーアドレスが検索処理部１０２で取得される。取得されたエントリーアドレスを用いて、ＲＭエントリー格納部２０４を参照することにより、当該パケットはＤｓｔＰｏｒｔが連続エントリー（Ｆ＝１）であることが判明する。そこで、入力パケットのＤｓｔＰｏｒｔ値であるＤＰがＳｔａｒｔとＥｎｄの範囲内であるかを比較し、範囲内であり、転送対象であるという結果を出力する。
【００４０】
これにより、入力パケット２０１は、廃棄されずに転送されることとなる。
【００４１】
［動作例２］
ＳｒｃＩＰがＳＡ、ＤｓｔＩＰがＤＡ、ＰＩＤがＴＣＰ、ＳｒｃＰｏｒｔがＳＰで、しかも、ＤｓｔＰｏｒｔが１、３又は５であるパケットは転送を行い、それ以外のパケットは廃棄処理を行うものとする。
【００４２】
この場合、第１のＲＭ用テーブル２０２へのエントリー設定は、図１の構成図に示すようにＤｓｔＰｏｒｔ以外を検索対象としたＳＡ、ＤＡ、ＴＣＰ、ＳＰを設定する。また、ＲＭエントリー格納部２０４への設定は、ＤｓｔＰｏｒｔが１、３又は５であって非連続となっているので、Ｆ＝０を、第１のＲＭ用テーブル２０２のエントリーアドレスに対応したアドレスに設定する。さらに、第２のＲＭ用テーブル２０３へのエントリー設定は、ＤｓｔＰｏｒｔが１、３又は５であるパケットは転送を行うので、１、３及び５を、第１のＲＭ用テーブル２０２のエントリーアドレス（又はＲＭエントリー格納部２０４のアドレス）に対応したアドレスに設定する。
【００４３】
このような設定状態において、ＳｒｃＩＰ＝ＳＡ、ＤｓｔＩＰ＝ＤＡ、ＰＩＤ＝ＴＣＰ、ＳｒｃＰｏｒｔ＝ＳＰ、ＤｓｔＰｏｒｔ＝３のパケット情報が抽出されたとする。取得されたエントリーアドレスを用いて、ＲＭエントリー格納部２０４を参照することにより、当該パケットはＤｓｔＰｏｒｔが非連続エントリー（Ｆ＝０）であることが判明する。そこで、第２のＲＭ用テーブル２０３に対して、入力パケットのＤｓｔＰｏｒｔの値３が存在するかを検索する。第２のＲＭ用テーブル２０３に該当するＤｓｔＰｏｒｔの値３が存在することにより、転送対象であるという結果を出力する。
【００４４】
これにより、入力パケットは、廃棄されずに転送されることとなる。
【００４５】
（Ａ−３）実施形態の効果
上記実施形態によれば、従来の方法に比べて同数のパケット情報を扱いながら、ＣＡＭの使用量を抑えることが可能となる。又は、上記実施形態によれば、従来の方法と同一の容量のＣＡＭを適用し、従来より多数のパケット情報を処理することが可能となる。
【００４６】
以下、同数のパケット情報を扱う場合において、ＣＡＭの使用量を抑えることができることを具体例で説明する。
【００４７】
従来の場合：１エントリーのビット数はＳｒｓＩＰ、ＤｓｔＩＰ、ＰＩＤ、ＳｒｃＰｏｒｔ、ＤｓｔＰｏｒｔでの総計の２９６ビットである。１０エントリーのＣＡＭ使用ビット数は、２，９６０ビット＝２９６ビット×１０エントリーとなる。
【００４８】
実施形態で連続エントリーの場合：１エントリーのビット数はＳｒｓＩＰ、ＤｓｔＩＰ、ＰＩＤ、ＳｒｃＰｏｒｔ、ＤｓｔＰｏｒｔでの総計の２９６ビットである。１０エントリーが連続していれば、ＣＡＭのエントリーは１エントリーだけでよく、２９６ビット＝２９６ビット×１エントリーとなる。すなわち、上述の従来の場合に比較すると、１０％の使用量で済む。
【００４９】
実施形態で非連続エントリーの場合：１エントリーのビット数はＳｒｓＩＰ、ＤｓｔＩＰ、ＰＩＤ、ＳｒｃＰｏｒｔ、ＤｓｔＰｏｒｔでの総計の２９６ビットである。１０エントリーが非連続であっても、第１のＲＭ用テーブル２０２でのエントリーは１エントリーだけで良い。第２のＲＭ用テーブル２０３ではＤｓｔＰｏｒｔ（１６ビット）を１０エントリー使用する。その結果、ＣＡＭでの使用量は、４５６ビット＝（２９６ビット×１エントリー）＋（１６ビット×１０エントリー）となる。すなわち、上述の従来の場合に比較すると、約１５％の使用量で済む。
【００５０】
（Ｂ）他の実施形態
上記実施形態では、第１のＲＭ用テーブル２０２へのエントリーで考慮されず、連統範囲か非連続範囲かの判別対象のパラメータ（パケットからの抽出情報）がＤｓｔｐｏｒｔであるものを示したが、他のパラメータを、同様に使用することもできる。
【００５１】
このようなパラメータの数も１種類に限定されない。例えば、ＳｒｃＰｏｒｔ及びＤｓｔＰｏｒｔを判別対象のパラメータとし、ＳｒｓＩＰ、ＤｓｔＩＰ、ＰＩＤが同じものを第１のＲＭ用テーブル２０２へエントリーし、ＲＭエントリー格納部２０４の１行に、ＳｒｃＰｏｒｔに関する連続／非連続情報と、ＤｓｔＰｏｒｔに関する連続／非連続情報とを併記させ、第２のＲＭ用テーブル２０３に、ＳｒｃＰｏｒｔ用の非連続情報とＤｓｔＰｏｒｔ用の非連続情報とを格納するようにしても良い。
【００５２】
複数の記憶部への情報振り分けは、上記実施形態のものに限定されない。例えば、第２のＲＭ用テーブル２０３を省略し、ＲＭエントリー格納部２０４が第２のＲＭ用テーブル２０３の格納情報をも格納するものであっても良い。また例えば、第１のＲＭ用テーブル２０２（や第２のＲＭ用テーブル２０３）をＣＡＭ以外のメモリで実現する場合であれば、第１のＲＭ用テーブル２０３及びＲＭエントリー格納部２０４を融合させて構成するようにしても良い。
【００５３】
上記実施形態では、範囲に関する状態が、連続と非連続との２つであるものを示したが、他の状態を利用したものであっても良い。範囲内の要素が奇数である状態や、範囲内の要素が偶数である状態等を適用するようにしても良い。例えば、奇数であれば、奇数を示すフラグ値を用意しておき、ＲＭエントリー格納部２０４に奇数の先頭値と末尾値とを記述しておき、入力パケットから抽出した値が該当範囲内の奇数値かを確認するようにすれば良い。
【００５４】
上記実施形態では、識別対象パケットがＩＰｖ６パケットである場合を例に説明したが、他のプロトコルに従うパケットの識別に対しても、本発明を、同様に適用することができる。
【符号の説明】
【００５５】
１００…パケット識別装置、１０１…パケット情報抽出部、１０２…検索処理部、１０３…ＣＡＭ（連想メモリ）、２０２…第１のＲＭ（Ｒａｎｇｅ  Ｍａｔｃｈｉｎｇ）用テーブル、２０３…第２のＲＭ用テーブル、２０４…ＲＭエントリー格納部。
【図１】
2010171602.tif 000003
【図２】
2010171602.tif 000004
【図３】
2010171602.tif 000005