(57)【要約】【課題】データ量の小さいパケット分類条件テーブルで複雑なパケット分類条件を定めることができるネットワークデータ処理装置を提供する。【解決手段】ネットワークデータ処理装置は、ヘッダパラメータ抽出部１００とパラメータ分類条件テーブル保持手段２００、パケット分類条件テーブル保持手段３００、制御指示出力手段４００で構成される。また、パラメータ分類条件テーブル保持手段２００は、発信ＩＰアドレス・パラメータ分類条件テーブル２１０、宛先ＩＰアドレス・パラメータ分類条件テーブル２２０、プロトコル番号・パラメータ分類条件テーブル２３０、発信ＵＤＰポート番号・パラメータ分類条件テーブル２４０等を保持する。また、パケット分類条件テーブル保持手段３００はパケット分類条件３００−１〜３００−Ｗを保持する。【選択図】  図２
2006352566.tif 000002
【特許請求の範囲】
【請求項１】
入力パケットを処理するネットワークデータ処理装置であって、
入力パケットからヘッダパラメータを抽出するヘッダパラメータ抽出手段と、
パラメータ分類条件とインデックス値との対応を示すパラメータ分類条件テーブル、及び、前記インデックス値の組合せとパケット分類条件との対応を示すパケット分類条件テーブルを参照して、前記入力パケットのヘッダパラメータに対応するパケット分類条件を特定し、特定したパケット分類条件で前記入力パケットを処理するよう制御指示を出力する制御指示出力手段と、
を備えるネットワークデータ処理装置。
【請求項２】
前記制御指示出力手段は、前記パラメータ分類条件テーブルを参照して前記入力パケットと一致比較を行う一致比較手段、前記パラメータ分類条件テーブルを参照して前記入力パケットとマスク付一致比較を行うマスク付一致比較手段、及び、前記パラメータ分類条件テーブルを参照して前記入力パケットと大小比較を行う大小比較手段の少なくともいずれかを有する請求項１記載のネットワークデータ処理装置。
【請求項３】
前記制御指示出力手段は、前記一致比較手段、前記マスク付一致比較手段、及び、前記大小比較手段のいずれかを選択して比較を行わせる制御手段を有する請求項２記載のネットワークデータ処理装置。
【請求項４】
入力パケットを処理するネットワークデータ処理方法であって、
入力パケットからヘッダパラメータを抽出するヘッダパラメータ抽出ステップと、
パラメータ分類条件とインデックス値との対応を示すパラメータ分類条件テーブル、及び、前記インデックス値の組合せとパケット分類条件との対応を示すパケット分類条件テーブルを参照して、前記入力パケットのヘッダパラメータに対応するパケット分類条件を特定し、特定したパケット分類条件で前記入力パケットを処理するよう制御指示を出力する制御指示出力ステップと、
を有するネットワークデータ処理方法。
【請求項５】
前記制御指示出力ステップは、前記パラメータ分類条件テーブルを参照して前記入力パケットと一致比較を行う一致比較ステップ、前記パラメータ分類条件テーブルを参照して前記入力パケットとマスク付一致比較を行うマスク付一致比較ステップ、及び、前記パラメータ分類条件テーブルを参照して前記入力パケットと大小比較を行う大小比較ステップの少なくともいずれかを有する請求項４記載のネットワークデータ処理方法。
【請求項６】
前記制御指示出力ステップは、前記一致比較ステップ、前記マスク付一致比較ステップ、及び、前記大小比較ステップのいずれかを選択する選択ステップと、選択した比較ステップを実行する実行ステップと、を有する請求項５記載のネットワークデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークインタフェースを通じてイーサネット（登録商標）などのパケットを検査して、パケットを処理するネットワークデータ処理装置およびネットワークデータ処理方法に関する。
【背景技術】
【０００２】
一般に、ネットワークに接続された端末装置間でやりとりされる通信データの先頭部分には、送信先の相手アドレス番号や自身のアドレス番号等の情報からなるヘッダが設けられている。ヘッダの各情報を参照してマッチングをとるといったデータ処理は、ネットワーク中継装置におけるルーティング処理やフィルタリング処理において必要とされ、ネットワーク中継装置の高速化に伴ってハードウェア処理で高速に実現する技術が提案されている。
【０００３】
この技術は、内容検索型メモリ（ＣＡＭ（Content Addressable Memory）とも呼ばれ、あるデータを指定すると、内部のデータベースを検索し、指定されたデータのアドレスを検出する特殊なメモリ）を用いて高速化を実現している。一般に、ＣＡＭのワード（エントリ）長には限りがあるため、パケットフィルタ条件を多種の情報から設定する場合、十分な条件を設定できない場合がある。
【０００４】
そこで、ヘッダパラメータの種別毎にテーブルを構成した第１のＣＡＭと、この第１のＣＡＭにおけるアドレスの集合でフィルタ規則テーブルを構成した第２のＣＡＭとを用いて、パラメータが多種にわたっても適切にフィルタ規則を設定できるようにしている。
【０００５】
図１３はこのような技術を用いた従来のフィルタ回路の構成を示すブロック図である。従来のフィルタ回路では、図１３に示すように、パケットフィルタ規則を構成する各種情報の種別毎に設けられたそれぞれの個別情報判定ＣＡＭ（第１の内容検索型メモリ）１００１−１、１００１−２、１００１−３を有している。
【０００６】
個別情報判定ＣＡＭ１００１−１、１００１−２、１００１−３は、それぞれ、入力パケットのパケットヘッダから当該種別の情報（検索ワード）を抽出するラッチ回路１０１１−１、１０１１−２、１０１１−３と、当該種別の情報（被検索ワード）を格納するための複数のエントリを有するＣＡＭセルアレイ１０１２−１、１０１２−２、１０１２−３と、ラッチ回路１０１１−１、１０１１−２、１０１１−３から出力された情報と一致する情報を保持しているエントリが存在するとき、その一致エントリのアドレスを出力する一致アドレス出力回路１０１３−１、１０１３−２、１０１３−３とを備えている。
【０００７】
個別情報判定ＣＡＭ１００１−１、１００１−２、１００１−３は、それぞれが対応する情報に関しての一致検索を実施し、その結果をレジスタ１００２に供給する。レジスタ１００２は、個別情報判定ＣＡＭ１００１−１、１００１−２、１００１−３から出力された一致エントリアドレスをそれぞれ一旦格納し、それらを所定の順序でフィルタ条件判定ＣＡＭ（第２の内容検索型メモリ）１００３に出力する。
【０００８】
フィルタ条件判定ＣＡＭ１００３は、個別情報判定ＣＡＭ１００１−１、１００１−２、１００１−３の一致エントリアドレスの集合をパケットフィルタ規則として格納するＣＡＭセルアレイ１０３１と、レジスタ１００２から出力された一致エントリアドレスの集合がＣＡＭセルアレイ１００３のパケットフィルタ規則に一致したとき、一致信号を出力する一致信号出力回路１０３２とを備えている。この構成により、パケットフィルタ規則が多種類の情報から構成されている場合であっても、限られたエントリビット長のＣＡＭでパケットフィルタ機能を高速化することを可能にしている（例えば、特許文献１参照）。
【特許文献１】特許第３０２８４１４号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来のネットワークデータ処理装置は、ルータなどの通信プロトコルの処理を行うネットワーク中継装置において非常に多数のフィルタリングエントリを持つ場合の性能向上のために考案されたものであり、ネットワークへの接続が予想される家庭電化製品や携帯端末と云ったアプリケーション処理装置とネットワークとの間に配置し、アプリケーション処理装置と云った他の装置で必要な機能を有するものではなかった。
【００１０】
アプリケーション処理装置として適用する場合には、中継装置用のパケットフィルタ機能に比べてより多様な分類条件を設定出来る必要が有る。しかし、従来例では内容検索型メモリ（ＣＡＭ）を用い、エントリアドレスの集合を用いてパケット分類規則を構成しているため、各種端末装置へ適用出来なかった。以下に、アプリケーション処理装置の具体的な例に基づいて詳細に説明する。
【００１１】
図１４にネットワーク図を示し、図１５に実現したいパケット分類条件を示す。図１４に示すネットワーク図は、端末Ｂがインターネットを介して、サブネットＡ（例えば、会社）の端末との間で接続し、自由にＩＰ（Internet Protocol）電話を行う場合のネットワーク構成を示す。
【００１２】
図１４において、端末Ａのブロックに記載されたＳＰは発信ＴＣＰ／ＵＤＰポート番号、ＤＰは宛先ＴＣＰ／ＵＤＰポート番号を示し、ＳＰ／ＤＰ＝Ｐ／Ｑは、発信ＴＣＰ／ＵＤＰポート番号がＰ、宛先ＴＣＰ／ＵＤＰポート番号がＱであることを示す。
【００１３】
図１５に示すように、端末Ｂのネットワークデータ処理装置では、サブネットＡからのＳＩＰ（Session Initiation Protocol）によるシグナリングを許可するために、発信ＩＰアドレスがサブネットＡに合致し、宛先ＵＤＰ（User Datagram Protocol）ポート番号がＳＩＰを示す場合に通過する分類規則（規則Ａ）を設定する。また、ＳＩＰにより端末Ａと端末Ｂ間でシグナリングが成立したケースを想定し、成立したＵＤＰフローを通過する分類規則（図中では、規則Ｂ）を設定する。
【００１４】
ここでは、ＩＰアドレスのマスクを導入することによって、サブネットＡ（ＡＡ．．．．．ＡＡ／４８）に対する分類規則を１つのエントリ（１行）で表現している。すなわち、規則Ａでは、発信ＩＰアドレスの「ＡＡ．．．．．ＡＡ／４８」の“／４８”が「ＡＡ．．．．．ＡＡ」の上位４８ｂｉｔのみが有効であることを示すマスクである。従って、規則Ａでは、上位４８ｂｉｔ以外（この場合は下位の８０ｂｉｔ）をチェックしないことになる。
【００１５】
しかしながら、従来例ではＩＰアドレスのマスクに対応していないため、図１５に示すような１エントリのサブネット・分類規則として記述することが出来ず、サブネットをフルアドレスの集合と考えて、個別情報判定ＣＡＭ、及び分類条件ＣＡＭが膨大なエントリ数に対応しなければならないことになる。例えば、アドレスを１０２４個含むサブネット１の一つの設定で１０２４エントリと云う膨大な設定が必要となる。
【００１６】
なお、個別情報判定ＣＡＭでＩＰアドレスをマスクすること自体は可能であるが、マスクを可能にすると、複数のＩＰアドレスのエントリにマッチする可能性が出てくる。例えば、「ＡＡ．．．．．ＡＡ」は、「ＡＡ．．．．．ＡＡ／４８」にもマッチし、「ＡＡ．．．．．ＡＡ／１２８」にもマッチする。また、マスク付のＣＡＭでは、この時、マッチした一番若いエントリ番号を出力するか、マッチした中で最もマスク長の長いエントリ番号を出力する（こちらは、ルーティングの時のLongest Prefix Matchで使われる）。しかし、分類条件の場合には、最終的に他のパラメータと組み合わせた状態でマッチするかどうかを判断する必要があるため、個別情報判定の段階では、マッチした中での特定のエントリだけを出力するのでなく、マッチした全てのエントリを知る必要がある。
【００１７】
また、上述の例における規則Ａは、ＳＩＰ接続を可能にするためにＳＩＰを示す宛先ＵＤＰポート番号を通過させる設定であるが、端末では、ネットワークサービスを受けるために、サービス種別を示す宛先ＵＤＰポート番号を通過する分類規則を設けることが一般的である。しかし、サービスによっては１つのサービスに対して連続するＵＤＰポート番号がアサインされている場合があり、実際にサービスを受ける場合には、連続するＵＤＰポート番号の通過設定が必要になる。
【００１８】
また、同一サービスであるが、非セキュア通信プロトコル（ここでは、普通のｈｔｔｐを指す）、セキュア通信プロトコル（ここでは、ｈｔｔｐｓを指す）を下位通信プロトコルと使用するか否かでＵＤＰポート番号が１だけ異なるようにＵＤＰポート番号がアサインされている場合が多い。実際にサービスを受ける場合には、両方のＵＤＰポート番号を設定する必要がある。本件に対しても従来例では、１エントリのサービス・分類規則として記述することが出来ず、ＵＤＰポート番号を個別に設定しなければならず、個別情報判定ＣＡＭ、及び、分類条件ＣＡＭのエントリ数が更に増えることになっていた。このように、複雑なパケット分類条件の設定が必要な場合、従来の技術ではパケット分類条件を示すテーブルのサイズが大きくなってしまう。
【００１９】
本発明は、上記従来の事情に鑑みてなされたものであって、データ量の小さいパケット分類条件テーブルで複雑なパケット分類条件を定めることができるネットワークデータ処理装置およびネットワークデータ処理方法を提供することを目的としている。
【課題を解決するための手段】
【００２０】
本発明のネットワークデータ処理装置は、入力パケットを処理するネットワークデータ処理装置であって、入力パケットからヘッダパラメータを抽出するヘッダパラメータ抽出手段と、パラメータ分類条件とインデックス値との対応を示すパラメータ分類条件テーブル、及び、前記インデックス値の組合せとパケット分類条件との対応を示すパケット分類条件テーブルを参照して、前記入力パケットのヘッダパラメータに対応するパケット分類条件を特定し、特定したパケット分類条件で前記入力パケットを処理するよう制御指示を出力する制御指示出力手段と、を備える。
【００２１】
上記構成によれば、パラメータ分類条件に対応するインデックス値の組合せでパケット分類条件が記述される為、データ量の小さいパケット分類条件テーブルで複雑なパケット分類条件を定めることができる。
【００２２】
また、本発明のネットワークデータ処理装置は、前記制御指示出力手段が、前記パラメータ分類条件テーブルを参照して前記入力パケットと一致比較を行う一致比較手段、前記パラメータ分類条件テーブルを参照して前記入力パケットとマスク付一致比較を行うマスク付一致比較手段、及び、前記パラメータ分類条件テーブルを参照して前記入力パケットと大小比較を行う大小比較手段の少なくともいずれかを有するものである。
【００２３】
上記構成によれば、パラメータ分類条件として、マスク付パラメータやパラメータの上限値、下限値を用いることが可能になる為、少ない条件数で複雑なパラメータ分類条件の設定を定めることができる。
【００２４】
また、本発明のネットワークデータ処理装置は、前記制御指示出力手段が、前記一致比較手段、前記マスク付一致比較手段、及び、前記大小比較手段のいずれかを選択して比較を行わせる制御手段を有するものである。
【００２５】
上記構成によれば、パラメータ分類条件の種類（マスク付パラメータ、パラメータの上限値、下限値など）に応じて、適切に比較を行うことができる。
【００２６】
また、本発明のネットワークデータ処理方法は、入力パケットを処理するネットワークデータ処理方法であって、入力パケットからヘッダパラメータを抽出するヘッダパラメータ抽出ステップと、パラメータ分類条件とインデックス値との対応を示すパラメータ分類条件テーブル、及び、前記インデックス値の組合せとパケット分類条件との対応を示すパケット分類条件テーブルを参照して、前記入力パケットのヘッダパラメータに対応するパケット分類条件を特定し、特定したパケット分類条件で前記入力パケットを処理するよう制御指示を出力する制御指示出力ステップと、を有する。
【００２７】
また、本発明のネットワークデータ処理方法は、前記制御指示出力ステップが、前記パラメータ分類条件テーブルを参照して前記入力パケットと一致比較を行う一致比較ステップ、前記パラメータ分類条件テーブルを参照して前記入力パケットとマスク付一致比較を行うマスク付一致比較ステップ、及び、前記パラメータ分類条件テーブルを参照して前記入力パケットと大小比較を行う大小比較ステップの少なくともいずれかを有するものである。
【００２８】
さらに、本発明のネットワークデータ処理方法は、前記制御指示出力ステップが、前記一致比較ステップ、前記マスク付一致比較ステップ、及び、前記大小比較ステップのいずれかを選択する選択ステップと、選択した比較ステップを実行する実行ステップと、を有するものである。
【発明の効果】
【００２９】
本発明によれば、パラメータ分類条件に対応するインデックス値の組合せでパケット分類条件が記述される為、データ量の小さいパケット分類条件テーブルで複雑なパケット分類条件を定めることができる。
【発明を実施するための最良の形態】
【００３０】
以下本発明の実施の形態について、図面を参照しながら説明する。図１は、本発明の実施形態にかかるネットワークデータ処理装置を含むネットワークデータ処理システムの概略構成を示すブロック図である。
【００３１】
本発明の実施の形態におけるネットワークデータ処理装置は、入力パケットを処理するものであり、ネットワークインタフェース１９２０とパケット入力１９００で接続され、受信フレーム廃棄手段１９３０と制御指示１９１０で接続され、受信フレーム廃棄手段１９３０の後段にアプリケーション処理装置１９４０が接続される構成となっている。
【００３２】
ネットワークデータ処理装置１０００は、パケット入力１９００からパケットを分類し、制御指示１９１０を出力する。制御指示１９１０がパケット廃棄を示すと、受信フレーム廃棄手段１９３０は、受信フレームを廃棄して後段のアプリケーション処理装置１９４０に到達しないようにする。
【００３３】
なお、本実施形態では、制御指示としてパケット通過／廃棄の指示を行う例を記述している。しかし制御指示として、パケット処理に関わる他の指示、例えば、優先して通過、非優先で通過などの制御指示を出力しても良いことは言うまでもない。
【００３４】
図２は、本発明の実施の形態におけるネットワークデータ処理装置１０００の内部構成を示す図である。ネットワークデータ処理装置１０００は、ヘッダパラメータ抽出部１００とパラメータ分類条件テーブル保持手段２００、パケット分類条件テーブル保持手段３００、比較手段４００で構成される。
【００３５】
また、パラメータ分類条件テーブル保持手段２００は、パラメータ分類条件とインデックス値との対応を示すパラメータ分類条件テーブルを保持するものであり、発信ＩＰアドレス・パラメータ分類条件テーブル２１０、宛先ＩＰアドレス・パラメータ分類条件テーブル２２０、プロトコル番号・パラメータ分類条件テーブル２３０、発信ＵＤＰポート番号・パラメータ分類条件テーブル２４０、宛先ＵＤＰポート番号・パラメータ分類条件テーブル２５０を保持する。パラメータ分類条件は、各パラメータの値をインデックス値に変換するための条件である。
【００３６】
パケット分類条件テーブル保持手段３００は、インデックス値の組合せとパケット分類条件との対応を示すパケット分類条件テーブルを保持するものであり、パケット分類条件３００−１〜３００−Ｗを保持する。パケット分類条件は、パラメータ分類条件で変換されたインデックス値の組み合わせで記述するものである。本来、パラメータ値の組み合わせでパケット分類条件を記述することも可能である。しかし、それではテーブルサイズが大きくなる。そこで、上述したように、２つの条件を用いることにより、パラメータ分類条件に対応するインデックス値の組合せでパケット分類条件が記述されるため、データ量の小さいパケット分類条件テーブルで複雑なパケット分類条件を定めることができる。
【００３７】
制御指示出力手段４００は、パラメータ分類条件テーブルおよびパケット分類条件テーブルを参照して、入力パケットのヘッダパラメータに対応するパケット分類条件を特定し、特定したパケット分類条件で入力パケットを処理するよう制御指示を出力するものである。制御指示出力手段４００は、制御部４４０、一致比較部４１０、マスク付一致比較部４２０、大小比較部４３０、マッチ条件ビットマップ出力回路４１１、４２１、４３１、パケット分類条件インデックス値デコード部４８０、パケット分類条件毎ビットマップ値比較部４９０で構成される。
【００３８】
制御部４４０は入力されたヘッダパラメータの種類に応じて、比較に使用する比較部（一致比較部４１０、マスク付一致比較部４２０、大小比較部４３０）を選択し、該当するパラメータ分類条件テーブルのデータをパラメータ分類条件テーブル保持手段２００から該当する比較部に入力する制御を行う。また、制御部４４０は、比較結果のビットマップ出力のタイミングに合わせて、パケット分類条件テーブル保持手段３００の保持するパケット分類条件を構成するパラメータ分類条件インデックスの中で該当するパラメータのインデックス値を選択してパケット分類条件インデックス値デコード部４８０に入力する。
【００３９】
全体の動作の流れを説明する。まず、入力されたパケット（パケット入力１９００）に基づいて、ヘッダパラメータ抽出部１００がヘッダパラメータを抽出する。制御部４４０は、パラメータ種類に応じて比較部（４１０，４２０，４３０）を選択して該当するパラメータ分類条件テーブルのデータを比較部に入力する。そして、比較部が、比較を行って、マッチした分類条件にビットを立ててどの分類条件にマッチしたかを、マッチ条件ビットマップ出力回路（４１１，４２１，４３１）にビットマップ形式で出力させる。すなわち、比較部には分類条件の数だけの信号線が有り、マッチした分類条件に対応する信号をアサートし、マッチしない分類条件に対応する信号をネゲートする。
【００４０】
ビットマップ出力とタイミングを合わせてパケット分類条件テーブル３００の保持するパケット分類条件を構成するパラメータ分類条件インデックスのなかで該当するパラメータのインデックス値がパケット分類条件インデックス値デコード部４８０に入力されて、パケット分類条件インデックス値デコード部４８０が、比較部からのビットマップ出力と比較しやすいようにビットマップと同じ形式にデコードする。そして、パケット分類条件毎ビットマップ値比較部４９０が、各パケット分類条件毎に比較部のビットマップ出力とパケット分類条件インデックス値デコード部４８０の出力とを比較し、順次ヘッダパラメータ毎の比較を行った結果に基づいて、パケット分類条件のどれかにマッチするかどうかを判定し、マッチするパケット分類条件が有る場合には、制御指示１９１０を出力する。
【００４１】
図３は、発信ＩＰアドレス・パラメータ分類条件テーブル２１０の内部構成を示す。本実施の形態での発信ＩＰアドレス・パラメータ分類条件テーブルはマスク付比較形式であり、パラメータ値（発信ＩＰアドレス）とマスク値の組を１つの分類条件として１つ以上の分類条件で構成される。
【００４２】
図４は、宛先ＩＰアドレス・パラメータ分類条件テーブル２２０の内部構成を示す。本実施の形態での宛先ＩＰアドレス・パラメータ分類条件テーブルはマスク付比較形式であり、パラメータ値（宛先ＩＰアドレス）とマスク値の組を１つの分類条件として１つ以上の分類条件で構成される。
【００４３】
図５は、プロトコル番号・パラメータ分類条件テーブル２３０の内部構成を示す。本実施の形態でのプロトコル番号・パラメータ分類条件テーブルは一致比較形式であり、パラメータ値を１つの分類条件として１つ以上の分類条件で構成される。
【００４４】
図６は、発信ＵＤＰポート番号・パラメータ分類条件テーブル２４０の内部構成を示す。本実施の形態での発信ＵＤＰポート番号・パラメータ分類条件テーブルは大小比較形式であり、パラメータの下限値、上限値の組を１つの分類条件として１つ以上の分類条件で構成される。
【００４５】
図７は、宛先ＵＤＰポート番号・パラメータ分類条件テーブル２５０の内部構成を示す。本実施の形態での宛先ＵＤＰポート番号・パラメータ分類条件テーブルは大小比較形式であり、パラメータの下限値、上限値の組を１つの分類条件として１つ以上の分類条件で構成される。
【００４６】
図８は、パケット分類条件テーブル３００の内部構成を示す。本実施の形態では、パケット分類条件は、発信ＩＰアドレス・プロトコル分類条件のインデックス、宛先ＩＰアドレス・プロトコル分類条件のインデックス、プロトコル番号・プロトコル分類条件のインデックス、発信ＵＤＰポート番号・プロトコル分類条件のインデックス、宛先ＵＤＰポート番号・プロトコル分類条件のインデックスの組で構成される。
【００４７】
なお、本実施の形態での分類に用いているヘッダパラメータは、発信ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、発信ＵＤＰポート番号、宛先ＵＤＰポート番号であるが、他にＭＡＣアドレス、イーサネットタイプ、発信ＴＣＰポート番号、宛先ＴＣＰポート番号、他などのヘッダパラメータを用いて良いことは言うまでもない。また、上述のようにそれぞれのパラメータに対して、一致比較形式、マスク付比較形式、大小比較形式について特有の組み合わせで記述しているが、適用する装置に応じて、パラメータ毎に一致比較形式、マスク付一致比較形式、大小比較形式を自由に適用して良いことも言うまでもない。
【００４８】
図９は、一致比較部４１０の動作を説明するフローチャートであり、図１０はマスク付一致比較部４２０の動作を説明するフローチャートであり、図１１は大小比較部４３０の動作を説明するためのフローチャートであり、図１２はパケット分類条件毎ビットマップ値比較部４９０の動作を説明するためのフローチャートである。
【００４９】
次に、一致比較部４１０、マスク付一致比較部４２０、大小比較部４３０、パケット分類条件毎ビットマップ値比較部４９０の動作を上記フローチャートを用いて詳しく説明する。
【００５０】
一致比較部４１０は、図９に示すように、ステップ１１で入力されたヘッダパラメータと、対応するパラメータ毎分類条件テーブルを一致比較し、パラメータ毎分類条件テーブルのどの分類条件にマッチするかを判定する。ステップ１２でマッチした分類条件にビットをセット、マッチしなかった分類条件をリセットした形式のビットマップを作成し、ステップ１３でマッチ条件ビットマップ出力回路４１１にビットマップを出力させる。
【００５１】
マスク付一致比較部４２０は、図１０に示すように、ステップ２１で入力されたヘッダパラメータと、対応するパラメータ毎分類条件テーブルをマスク付一致比較し、パラメータ毎分類条件テーブルのどの分類条件にマッチするかを判定する。ステップ２２でマッチした分類条件にビットをセット、マッチしなかった分類条件をリセットした形式のビットマップを作成し、ステップ２３でマッチ条件ビットマップ出力回路４２１もビットマップを出力させる。
【００５２】
大小比較部４３０は、図１１に示すように、ステップ３１で入力されたヘッダパラメータと、対応するパラメータ毎分類条件テーブルからのパラメータ下限値、上限値と大小比較して入力されたヘッダパラメータが下限値と上限値の範囲内にあるかを判定し、パラメータ毎分類条件テーブルのどの分類条件にマッチするかを判定する。ステップ３２でマッチした分類条件にビットをセット、マッチしなかった分類条件をリセットした形式のビットマップを作成し、ステップ３３でマッチ条件ビットマップ出力回路４３１にビットマップを出力させる。
【００５３】
パケット分類条件毎ビットマップ値比較部４９０は、図１２に示すように、パケット分類条件インデックス値デコード部４８０が、ステップ４１でパケット分類条件テーブル保持手段３００から各パケット分類条件の該当するヘッダパラメータのインデックス値をロードし、ステップ４２で各パケット分類条件のインデックス値をビットマップ形式にデコードすると、ステップ４２で各パケット分類条件のインデックス値（ビットマップ形式にデコードされたもの）と比較部からのビットマップの内積を取ることで、マッチしているかどうかを計算している。
【００５４】
パケット分類条件ビットマップ値比較部４９０は、ステップ４４でマッチしているかどうかを内積が０に一致するか否かで判定し、マッチしている（内積が０でない）パケット分類条件については、ステップ４６にて他のパラメータ分類条件のインデックスが設定されているか（パラメータ分類条件エントリに他のパラメータが有るか）どうかを確認する。そして、無ければステップ４８にて当該パケット分類条件がマッチしたと判定する。また、ステップ４６にて他のパラメータ分類条件のインデックスが設定されていればステップ４７にて次のパラメータのインデックス値をロードし、該当するパラメータが入力パケットから抽出されている場合には、ステップ４２の動作に戻る。一方、ステップ４４にて内積がゼロすなわちマッチしなかった場合には当該パケット分類条件自体がマッチしなかったと判定する。
【００５５】
なお、上述のパケット分類条件毎ビットマップ値比較部４９０は、１つ以上のパケット分類条件に対して平行して動作しており、それぞれのパケット分類条件に対してマッチ、ミスマッチを判定し、マッチしたパケット分類条件に基づく制御指示を出力する。
【００５６】
このように、本実施の形態によれば、パラメータ分類条件に対応するインデックス値の組合せでパケット分類条件が記述される為、データ量の小さいパケット分類条件テーブルで複雑なパケット分類条件を定めることができる。また、パラメータ分類条件として、マスク付パラメータやパラメータの上限値、下限値を用いることが可能になる為、少ない条件数で複雑なパラメータ分類条件の設定を定めることができる。
【００５７】
したがって、以上説明したネットワークデータ処理装置によれば、サブネットに対する分類規則や、１つのサービスで連続する複数のＵＤＰポート番号を通過する分類規則を設定する場合のように、このネットワークデータ処理装置をアプリケーション処理装置として適用する場合でも、エントリ数の設定が大幅に増えることがない。
【００５８】
そして、このようにして構成したネットワークデータ処理置は、センタ局などと有線、無線で通信可能なネットワークの端末装置や、センタ局や端末機あるいは中間局同士で通信可能な中継装置に使用することができる。また、ハードウェア量を抑制したい端末装置向けのネットワークデータ処理装置として有用である。また、このようなネットワークデータ処理装置は、半導体集積回路として容易に構成することができる。半導体集積回路装置に内蔵する場合でも、ハードウェア量が少ないことから、コストを抑えた半導体集積回路装置を容易に得られ、製造面でも有用である。
【００５９】
なお、以上の説明では、ネットワークデータ処理装置１０００の内部にパラメータ分類条件テーブル保持手段２００およびパケット分類条件テーブル保持手段３００を設ける例を示したが、パラメータ分類条件テーブル保持手段およびパケット分類条件テーブル保持手段をネットワークデータ処理装置の外部に設けてもよい。
【産業上の利用可能性】
【００６０】
本発明は、パラメータ分類条件に対応するインデックス値の組合せでパケット分類条件が記述される為、データ量の小さいパケット分類条件テーブルで複雑なパケット分類条件を定めることができる効果を有し、ネットワークインタフェースを通じてイーサネット（登録商標）などのパケットを検査して、パケットを処理するネットワークデータ処理装置およびネットワークデータ処理方法等に有用である。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施の形態におけるネットワークデータ処理装置を含むネットワークデータ処理システムの一部を示すブロック図
【図２】本発明の実施の形態におけるネットワークデータ処理装置の内部構成および分類装置において使用する個別パラメータテーブルの一例を示す図
【図３】本発明の実施の形態におけるネットワークデータ処理装置の発信ＩＰアドレス・パラメータ分類条件テーブルの内部構成を説明する図
【図４】本発明の実施の形態におけるネットワークデータ処理装置の宛先ＩＰアドレス・パラメータ分類条件テーブルの内部構成を説明する図
【図５】本発明の実施の形態におけるネットワークデータ処理装置のプロトコル番号・パラメータ分類条件テーブルの内部構成を説明する図
【図６】本発明の実施の形態におけるネットワークデータ処理装置の発信ＵＤＰポート番号・パラメータ分類条件テーブルの内部構成を説明する図
【図７】本発明の実施の形態におけるネットワークデータ処理装置の宛先ＵＤＰポート番号・パラメータ分類条件テーブルの内部構成を説明する図
【図８】本発明の実施の形態におけるネットワークデータ処理装置のパケット分類条件テーブルの内部構成を説明する図
【図９】本発明の実施の形態におけるネットワークデータ処理装置の一致比較部の一致比較処理を説明するためのフローチャート
【図１０】本発明の実施の形態におけるネットワークデータ処理装置のマスク付一致比較部のマスク付一致比較処理を説明するためのフローチャート
【図１１】本発明の実施の形態におけるネットワークデータ処理装置の大小比較部の大小比較処理を説明するためのフローチャート
【図１２】本発明の実施の形態におけるネットワークデータ処理装置のパケット分類条件とビットマップ値比較部の処理を説明するためのフローチャート
【図１３】従来のネットワークデータ処理装置の構成を示すブロック図
【図１４】従来のネットワークデータ処理装置の課題の説明に用いるネットワーク図
【図１５】従来のネットワークデータ処理装置の課題の説明に用いるフィルタ条件
【符号の説明】
【００６２】
１００  ヘッダパラメータ抽出部
２００  パラメータ分類条件テーブル保持手段
２１０  発信ＩＰアドレス・パラメータ分類条件テーブル
２２０  宛先ＩＰアドレス・パラメータ分類条件テーブル
２３０  プロトコル番号・パラメータ分類条件テーブル
２４０  発信ＵＤＰ番号・パラメータ分類条件テーブル
２５０  宛先ＵＤＰ番号・パラメータ分類条件テーブル
３００  パケット分類条件テーブル保持手段
３００−１〜３００−W  パケット分類条件
４００  制御指示出力手段
４４０  制御部
４１０  一致比較部
４１１、４２１、４３１  マッチ条件ビットマップ出力回路
４１２、４２２，４３２  ビットマップ出力
４２０  マスク付一致比較部
４３０  大小比較部
４８０  パケット分類条件インデックス値デコード部
４９０  パケット分類条件毎ビットマップ値比較部
１０００  ネットワークデータ処理装置
１００１−１〜１００１−３  個別情報判定ＣＡＭ
１０１１−１〜１０１１−３  ラッチ回路
１０１２−１〜１０１２−３，１０３１  ＣＡＭセルアレイ
１０１３−１〜１０１３−３  一致アドレス出力回路
１００２  レジスタ
１００３  フィルタ条件判定ＣＡＭ
１０３２  一致信号出力回路
１９１０  制御指示
１９２０  ネットワークインタフェース
１９３０  受信フレーム廃棄手段
１９４０  アプリケーション処理装置
【図３】
2006352566.tif 000003
【図４】
2006352566.tif 000004
【図５】
2006352566.tif 000005
【図６】
2006352566.tif 000006
【図７】
2006352566.tif 000007
【図８】
2006352566.tif 000008
【図１３】
2006352566.tif 000009
【図１５】
2006352566.tif 000010
【図１】
2006352566.tif 000011
【図２】
2006352566.tif 000012
【図９】
2006352566.tif 000013
【図１０】
2006352566.tif 000014
【図１１】
2006352566.tif 000015
【図１２】
2006352566.tif 000016
【図１４】
2006352566.tif 000017