(57)【要約】【課題】メモリの使用効率を低下させずに少ないメモリ量でパケットフィルタ機能を実現可能なネットワーク処理装置を提供する。【解決手段】比較データ参照メモリ１０３にＩＰアドレス等のパラメータの比較データを情報単位で同一列に並べて格納する。ネットワークＩ／Ｆ１０１がパケットを受信すると、パラメータ抽出部１０２がヘッダ情報を参照しパラメータを抽出する。次に、比較用参照データを比較データ参照メモリ１０３より読み出して、パケットのパラメータとの一致比較を行い、一致符号出力部１０６は、一致したエントリに該当する符号を出力し保持する。フィルタリング規則判定部１０８は、保持された各パラメータに該当する符号の集合より、フィルタリング規則参照テーブル部１０７に合致するフィルタリング規則の検索を行う。一致すれば、一致比較結果を出力する。【選択図】  図１
2007005910.tif 000002
【特許請求の範囲】
【請求項１】
到着パケットに含まれるIPアドレス等のパラメータと比較するための比較データを同一列に並べるエントリとし、前記比較データのエントリ先頭位置が前記パラメータの種別毎に同一行に並んだ形式で保持する比較データ参照メモリへのアクセス制御を行うアクセス制御手段と、
前記比較データ参照メモリ上における、前記パラメータの種別毎のエントリ先頭位置を示す先頭アドレスを保持する先頭アドレス保持手段と、
前記先頭アドレスが示す位置より前記比較データを読み出し、読み出した前記比較データと前記到着パケットより取り出したパラメータとの一致比較を行うデータ一致比較手段と、
前記データ一致比較手段における比較結果を出力する比較結果出力手段と、
前記比較結果出力手段から出力された比較結果の集合により表されるフィルタリング規則により、前記到着パケットの処理を判定するフィルタリング規則判定手段と、を備えるネットワーク処理装置。
【請求項２】
前記比較データ参照メモリより読み出したデータのうち有効なエントリを示す情報を保持する有効エントリ保持手段を備える請求項１記載のネットワーク処理装置。
【請求項３】
前記データ一致比較手段は、マスク情報を用いて前記エントリの一部をマスクして一致比較を行う請求項１または２記載のネットワーク処理装置。
【請求項４】
前記データ一致比較手段は、データの範囲を指定して一致比較を行う請求項１または２記載のネットワーク処理装置。
【請求項５】
前記比較結果出力手段は、一致したエントリに対応する符号または一致したエントリを格納しているアドレスを、比較結果として出力する請求項１乃至請求項４のいずれか一項に記載のネットワーク処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットなどのネットワークインタフェースを通じてパケットを受信処理する装置において、あらかじめ定めた条件を満たすパケットを転送あるいは廃棄するといったパケットフィルタ機能を備えるネットワーク処理装置に関する。
【背景技術】
【０００２】
ネットワーク機器において、受信パケットヘッダの情報がある一定の条件を満足したときパケットを転送あるいは廃棄するパケットフィルタ機能が必要とされている。
【０００３】
従来のネットワーク処理装置は、パケットフィルタ条件を構成する各種情報の種別毎に該当情報を格納するエントリを備え、各エントリに格納された情報と入力パケットが有する該当種別の情報が一致する情報を保持しているエントリが存在するときに、この一致したエントリのアドレスを出力する第１の内容検索型メモリ（Content Addressable Memory : ＣＡＭとも記す）と、各種情報の集合からなるパケットフィルタ条件の代わりに、第１の内容検索型メモリの一致エントリアドレスの集合をパケットフィルタ条件として記憶し、複数の第１の内容検索型メモリからそれぞれ出力された一致エントリアドレスの集合がパケットフィルタ条件と一致したとき、一致信号を出力する第２の内容検索型メモリとすることでパケットフィルタとして動作する。
【０００４】
このように、第１の内容検索型メモリによってパケットフィルタ条件を構成する各種情報の種別毎で検索を行い、第２の内容検索型メモリによって第１の内容検索型メモリからの一致エントリアドレスの集合がパケットフィルタ条件と一致するか否かを判定することにより、入力パケットの属性を判断することでパケットフィルタ動作が可能である。また、第１の内容検索型メモリの各々は同一の情報を重複して格納する必要が無く、フィルタリング装置を１つの内容検索型メモリで実現する場合に比べて、メモリ量を削減できる（例えば、特許文献１参照）。
【０００５】
図１２は、特許文献１に記載された従来のネットワーク処理装置の構成を示すものである。図１２において、個別情報判定ＣＡＭ５０１ａ〜５０１ｃが種別情報のエントリを検索して一致したエントリの格納アドレスを種別毎に出力し、出力した格納アドレスがレジスタ５０２に記憶され、フィルタ条件判定ＣＡＭ５０３が、各種別情報の格納アドレスの集合を用いてフィルタリング条件の一致判定を行うようにしていた。
【特許文献１】特開２０００−１５１６２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記従来のネットワーク処理装置は、受信パケットの種別毎に内容検索型メモリ（ＣＡＭ）を設けており、ＣＡＭのサイズを種別毎に取り得る最大値としておく必要があった。しかしながら、実際には、全ての種別にわたって最大値に相当するサイズが必要となる可能性は極めて低いので、使用効率が低下し大きなメモリが必要になるという事情を有していた。
【０００７】
本発明は、上記従来の事情に鑑みてなされたものであって、メモリの使用効率を低下させずに少ないメモリ量でパケットフィルタ機能を実現可能なネットワーク処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明のネットワーク処理装置は、到着パケットに含まれるIPアドレス等のパラメータと比較するための比較データを同一列に並べるエントリとし、前記比較データのエントリ先頭位置が前記パラメータの種別毎に同一行に並んだ形式で保持する比較データ参照メモリへのアクセス制御を行うアクセス制御手段と、前記比較データ参照メモリ上における、前記パラメータの種別毎のエントリ先頭位置を示す先頭アドレスを保持する先頭アドレス保持手段と、前記先頭アドレスが示す位置より前記比較データを読み出し、読み出した前記比較データと前記到着パケットより取り出したパラメータとの一致比較を行うデータ一致比較手段と、前記データ一致比較手段における比較結果を出力する比較結果出力手段と、前記比較結果出力手段から出力された比較結果の集合により表されるフィルタリング規則により、前記到着パケットの処理を判定するフィルタリング規則判定手段と、を備える。
【０００９】
上記構成によれば、複数のパラメータ種別の比較データを比較データ参照メモリの同一行に配置して未使用領域を比較データの保持に活用することができるため、メモリの使用効率を向上し、メモリ量を削減することができる。
【００１０】
また、本発明のネットワーク処理装置は、前記比較データ参照メモリより読み出したデータのうち有効なエントリを示す情報を保持する有効エントリ保持手段を備える。
【００１１】
上記構成によれば、種別が異なる複数のパラメータの比較データとして同一の値が設定されていたとしても、有効エントリ保持手段が出力する有効エントリ情報により、必要なパラメータの比較データのみを比較対象とすることができるため、複数の異なるパラメータの比較データの値が同一の値を取っても一致比較を行うことができる。
【００１２】
また、本発明のネットワーク処理装置は、前記データ一致比較手段が、マスク情報を用いて前記エントリの一部をマスクして一致比較を行うものである。
【００１３】
上記構成によれば、例えば、ＩＰアドレスのネットワークアドレス部分のみについて一致比較を行うことができ、エントリ数を削減し、比較に要する時間を短縮することができる。
【００１４】
また、本発明のネットワーク処理装置は、前記データ一致比較手段が、データの範囲を指定して一致比較を行うものである。
【００１５】
上記構成によれば、ポート番号等の範囲指定比較を行うことができ、最小値と最大値のみをテーブルに設定すればよいため、テーブルのエントリ数を節約することができる。
【００１６】
さらに、本発明のネットワーク処理装置は、前記比較結果出力手段が、一致したエントリに対応する符号または一致したエントリを格納しているアドレスを、比較結果として出力するものである。
【発明の効果】
【００１７】
本発明によれば、複数のパラメータ種別の比較データを比較データ参照メモリの同一行に配置して未使用領域を比較データの保持に活用することができるため、メモリの使用効率を向上し、メモリ量を削減することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態にかかるネットワーク処理装置について、図面を参照しながら説明する。
【００１９】
（実施の形態１）
図１３は、本発明の実施の形態１におけるネットワーク処理装置を含むネットワークシステムの構成図である。本発明の実施の形態１におけるネットワーク処理装置１３００は、ネットワークインタフェース１３０１よりパケットを入力し、パケットを分類して受信フレーム廃棄手段１３０２に対して一致比較結果を出力し、一致比較結果が廃棄指示を示す内容である場合、受信フレーム廃棄手段１３０２が受信フレームを廃棄して後段のアプリケーション処理装置１３０３に到達しないようにする。
【００２０】
図１は、本発明の実施の形態１におけるネットワーク処理装置の構成図である。図１において、ネットワーク処理装置は、接続しているインターネット等のネットワークよりパケットを受信するネットワークインタフェース（ネットワークＩ／Ｆとも記す）１０１と、受信したパケットよりパラメータを抽出し、パラメータとパラメータ種別とパラメータサイズを出力するパラメータ抽出部１０２と、を備え、パラメータ比較部として、一致比較用に参照するための比較データを格納している比較データ参照メモリ１０３と、パラメータ抽出部１０２より受信したパラメータ種別に対応する比較データ集合の先頭位置情報を出力する先頭アドレス保持部１０４と、比較データ参照メモリ１０３より読み出した1行のデータのうち、パラメータ抽出部１０２より受信したパラメータ種別に対応する比較データエントリの位置を示す有効エントリ情報を保持する有効エントリ保持部１０５と、ＣＰＵ及びデータ一致比較部１０７と比較データ参照メモリ１０３との間のアクセスを制御するアクセス制御部１０６と、受信したパケットより抽出したＩＰｖ４（Internet Protocol Version 4）アドレス等のパラメータと比較データ参照メモリ１０３より読み出した比較データエントリのバイト単位での一致比較を行うデータ一致比較部１０７と、データ一致比較部１０７のバイト単位の比較結果がパラメータ全てにわたって一致である場合に、一致したエントリに対応する符号を出力する一致符号出力部１０８と、を備え、各パラメータ値を変換した符号の集合を用いて表されるフィルタリング規則を保持するフィルタリング規則参照テーブル部１０９と、フィルタリング規則参照テーブル部１０９を参照することにより受信パケットを転送または廃棄するかを判定し、判定結果としてフィルタリングを実施することを意味する一致信号あるいは一致比較結果を出力するフィルタリング規則判定部１１０と、を備える。
【００２１】
以上のように構成されたネットワーク処理装置について、図２及び図３を用いてその動作を説明する。図２は、本発明の実施の形態１におけるネットワーク処理装置の概略動作を示す流れ図である。図３は、本発明の実施の形態１におけるネットワーク処理装置のパラメータ比較動作を示す流れ図である。
【００２２】
図２において、ネットワークＩ／Ｆ１０１がネットワークよりパケットを受信したかどうかを判定し（Ｓ２０１）、受信していない場合（Ｓ２０１のＮ）はパケット受信判定に戻る。一方、受信する（Ｓ２０１のＹ）と、パラメータ抽出部１０２は、受信パケットのヘッダ情報を参照して順番にパラメータを抽出し、宛先ＭＡＣアドレスやＩＰｖ６（Internet Protocol Version 6）アドレス等のパラメータ種別を判定して出力し、パラメータのサイズを出力する（Ｓ２０２）。
【００２３】
次に、パラメータ比較部は、受信パケットのヘッダ情報より抽出されたパラメータ、パラメータ種別、パラメータサイズを用いて、比較データ参照メモリ１０３が格納しているデータと一致比較を行い、パラメータの値を一致エントリに該当する一致符号に変換し（Ｓ２０３）、フィルタリング規則判定部１１０に出力する（Ｓ２０４）。パラメータ比較部の動作の詳細については図３で説明する。
【００２４】
フィルタリング規則判定部１１０は、パラメータ比較部の一致符号出力部１０８より一致符号を受信すると、該当するパラメータについてフィルタリング規則参照テーブル部１０９の検索を行い、検索結果を保持する（Ｓ２０５）。そして、パラメータが最後のパラメータであるかどうかを判定する（Ｓ２０６）。最後のパラメータでない場合にはＳ２０２に戻り（Ｓ２０６のＮ）、最後のパラメータである場合には（Ｓ２０６のＹ）検索したフィルタリング規則に該当する一致比較結果を出力し、処理を終了する（Ｓ２０７）。
【００２５】
図３において、パラメータ比較部の動作の詳細について説明する。データ一致比較部１０７は、比較データ参照メモリ１０３のデータ読出し行を示すオフセット値を０に初期化する（Ｓ３０１）。先頭アドレス保持部１０４は、受信パケットのパラメータ種別より、比較データ参照メモリ１０３における同一種別のデータの先頭格納位置情報を出力する（Ｓ３０２）。
【００２６】
アクセス制御部１０６は、データの先頭格納アドレスにオフセットを加算した位置において比較用参照データを比較データ参照メモリ１０３より１行単位で読み出す（Ｓ３０３）。また、アクセス制御部１０６は、比較データ参照メモリ１０３より読み出したデータのうち、有効エントリ保持部１０５が示す位置のデータを取り出してデータ一致比較部１０７に出力する（Ｓ３０４）。
【００２７】
データ一致比較部１０７は、アクセス制御部１０６より受信した比較データエントリと受信したパケットのパラメータとのバイト単位での一致比較を行う（Ｓ３０５）。データ一致比較部１０７は、オフセット値を１増加する（Ｓ３０６）。そして、パラメータサイズよりパラメータの最後のバイトデータであるかどうかを確認する（Ｓ３０７）。最後のバイトデータでなければ（Ｓ３０７のＮ）、Ｓ３０３に戻り、最後のバイトデータであれば（Ｓ３０７のＹ）、一致符号出力部１０６が、パラメータの全バイトにわたる一致比較結果について全一致したエントリに該当する符号を出力し保持する（Ｓ３０８）。
【００２８】
図４は、本実施の形態のネットワーク処理装置における比較データ参照メモリ１０３上のデータ配置例と一致比較動作を示す図である。
【００２９】
図４において、比較データ参照メモリ１０３上にＩＰｖ４アドレスとＩＰｖ６アドレスと宛先ポート番号が配置されている場合を例に示す。メモリ幅は４バイトであり、ＩＰｖ４アドレスとＩＰｖ６アドレスと宛先ポート番号のそれぞれのエントリ数（保持数）は２である。ＩＰｖ４アドレスとＩＰｖ６アドレスと宛先ポート番号を図に示すようにメモリの列方向に並べて設定する。比較データ参照メモリ１０３の比較データを設定するための領域は、どのパラメータ（例えば送信元ポート番号や宛先ポート番号等）が使用してもよい。図に示すように、ＩＰｖ４アドレスとＩＰｖ６アドレスを同一行に並べて配置することにより、メモリの未使用領域を減らし、メモリの使用効率を向上させることができる。
【００３０】
未使用領域が減る仕組みについては図６を参照して詳細に後述するが、同一行に配置しない場合、メモリの幅より少ないエントリ数となるパラメータの比較用データの隣の領域は使用されないため未使用領域となる。一方、同一行に配置する場合、メモリの幅より少ないエントリ数となるパラメータの比較用データの隣の領域に、別のパラメータの比較用データを配置するため、元々使用されていないメモリの領域を使用するようになり、未使用領域が減ることになる。
【００３１】
パケットが到着するとパケットのヘッダ又はペイロードの情報（図の例ではＩＰｖ６アドレスの１バイト目）を取り出し、到着パケットのパラメータと同じ種類の情報のメモリ上の格納先頭位置を示す先頭アドレスよりデータ一致比較部１０７が持つオフセットｎ（図の例の場合ＩＰｖ６アドレスの１バイト目であるのでオフセット０）の位置のデータをメモリより読み出し、読み出したデータのうち、情報種別毎に設けられた有効エントリレジスタ（図の例の場合ＩＰｖ６アドレス用の有効エントリレジスタ）が示す位置のデータを取り出して（図の例の場合、右側の２バイト分のデータ）、受信パケットのヘッダ又はペイロードの情報（図の例の場合ＩＰｖ６アドレスの１バイト目）とバイト単位での一致比較を行う。各パラメータの全バイトについて一致比較結果が全一致となるエントリに該当する符号を出力する。
【００３２】
図５は、パラメータ比較とフィルタリング規則検索の一連の動作を説明するための図である。宛先ＭＡＣアドレス（以下、ＤＭＡＣ）を例に取り説明する。図の４０１１〜４０１６はＤＭＡＣの６バイトのそれぞれについて、１、２，３，４の４つのエントリを示している。４０１７は、各エントリのパラメータ比較結果を表している。比較データ参照メモリ１０３に格納されているＤＭＡＣの比較データエントリを１行単位で読み出してバイト単位で到着パケットのＤＭＡＣと６バイトにわたって順に一致比較する。４つのエントリ１、２，３，４についてバイト毎に一致／不一致結果を表している。ＤＭＡＣの全バイトの一致比較完了後、６バイト分全て一致しているエントリに該当する符号として３（４０１７の上から３つ目）を出力する。一致符号３を用いて、フィルタリング規則参照テーブル１０９の検索を行い、該当するフィルタリング規則を検索する。図５ではＤＭＡＣの場合について示したが、この一致比較を全パラメータ種別について行い、合致するフィルタリング規則を最終的に一致検索する。
【００３３】
図６は、本実施の形態のネットワーク処理装置における比較データ参照メモリ１０３の効果を示す図である。
【００３４】
図６において、比較データ参照メモリ１０３上に宛先ＭＡＣアドレスと宛先ＩＰｖ４アドレスとＩＰｖ６アドレスとProtocol番号とNext Headerと宛先ポート番号が配置されている場合を例に示す。単純にパラメータをメモリに配置しようとすると、図の左側に示すようになる。メモリの横幅がパラメータ中の最大エントリ数となるように配置するため、エントリ数が最大値より小さいパラメータを格納している部分に未使用領域が発生する。このような未使用領域を低減するために、図の右側に示すように異なるパラメータを横に並べて配置できるようにする。図の右側のようにパラメータを配置することにより、左側のメモリ量が30×4=120バイト必要であったところが、右側のメモリ量が18×4=72バイトに低減されている。
【００３５】
すなわち、左側の図では、宛先MACアドレス[1,1]より宛先ポート番号[2,1]までのバイト数30と、メモリ幅4が必要であるが、右側の図では、宛先MACアドレス[1,1]よりNext Header[1,1]までのバイト数18と、メモリ幅4で済む。したがって、左側の図では、120バイト分の領域が(未使用領域も含めて)占有されるのに対して、右側の図では、72バイト分の領域が占有されるだけで済む。
【００３６】
かかる構成によれば、パケット情報種別毎に個別に内容検索型メモリを設ける方式に比較して、複数の異なるパラメータ種別の比較データを比較データ参照メモリの同一行に配置することにより、従来の未使用領域を比較データの保持に活用することができるため、メモリの使用効率を向上し、メモリ量を削減できる。
【００３７】
また、本実施の形態のネットワーク処理装置は、前記比較データ参照メモリ１０３より読み出したデータのうち有効なエントリを示す有効エントリ保持部１０５を備え、複数の異なるパラメータの比較データを比較データ参照メモリの未使用領域に詰めて配置することにより、複数の異なるパラメータの比較データとして同一の値が設定されていたとしても、有効エントリ保持手段が出力する有効エントリにより必要なパラメータの比較データのみを比較対象とすることができ、複数の異なるパラメータの比較データの値が同一の値を取っても一致比較を行うことができる。
【００３８】
なお、本実施の形態において、一致比較を行うパラメータがＩＰｖ６アドレスの場合で説明したが、本発明はこれに限定されることなく、ＩＰｖ４アドレスであっても、あるいは、送信元ＭＡＣアドレスや、Ethernet Typeなどでもよい。
【００３９】
また、一致符号出力部１０８が符号を出力する代わりに、一致したエントリのアドレスを出力してもよい。また、パラメータ情報がヘッダ情報に限定されることなく、受信パケットのデータ本体であるペイロードから取り出される情報であってもよい。
【００４０】
（実施の形態２）
図７は、本発明の実施の形態２におけるネットワーク処理装置の構成図である。図７において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００４１】
図７において、マスク情報参照テーブル部７１１は、ＩＰアドレス等の情報の一部をマスクして一致比較を行う、すなわち、情報の一部のビットもしくはバイトについてのみ一致比較を行うために使用するマスク情報を格納する。データ一致比較部７０７は、ＩＰアドレス等の受信パケットの情報のうち、マスク情報が指定するビットもしくはバイトの部分を一致比較の対象から除外した上で、残りの部分のデータを用いて一致比較を行う。
【００４２】
図８は、本発明の実施の形態２におけるネットワーク処理装置のパラメータ比較の動作を説明する流れ図である。
【００４３】
図８において、パラメータ比較部の動作の詳細について説明する。データ一致比較部１０７は、比較データ参照メモリ１０３のデータ読出し行を示すオフセット値を０に初期化する（Ｓ８０１）。先頭アドレス保持部１０４は、受信パケットのパラメータ種別より、比較データ参照メモリ１０３における同一種別のデータの先頭格納位置情報を出力する（Ｓ８０２）。アクセス制御部１０６は、データの先頭格納アドレスにオフセットを加算した位置において比較用参照データを比較データ参照メモリ１０３より1行単位で読み出す（Ｓ８０３）。また、アクセス制御部１０６は、比較データ参照メモリ１０３より読み出したデータのうち、有効エントリ保持部１０５が示す位置のデータを取り出してデータ一致比較部１０７に出力する（Ｓ８０４）。データ一致比較部１０７は、マスク情報をマスク情報参照テーブル７１１より読み出して、アクセス制御部１０６より受信した比較データエントリと受信したパケットのパラメータとのバイト単位でのマスク情報を用いた一致比較を行う（Ｓ８０５）。データ一致比較部１０７は、オフセット値を１増加する（Ｓ８０６）。そして、パラメータサイズ情報よりパラメータの最後のバイトデータであるかどうかを確認する（Ｓ８０７）。最後のバイトデータでなければ（Ｓ８０７のＮ）、Ｓ８０３に戻り、最後のバイトデータであれば（Ｓ８０７のＹ）、一致符号出力部１０６が、パラメータの全バイトに渡る一致比較結果について全一致したエントリに該当する符号を出力し保持する（Ｓ８０８）。
【００４４】
図９は、本実施の形態のネットワーク処理装置における比較データ参照メモリ１０３及びマスク情報参照テーブル７１１上のデータ配置例と一致比較動作を示す図である。
【００４５】
図９において、比較データ参照メモリ１０３上にＩＰｖ４アドレスとＩＰｖ６アドレスと宛先ポート番号が、マスク情報参照テーブル７１１上にＩＰｖ４アドレスとＩＰｖ６アドレスのマスク情報が配置されている場合を例に示す。メモリ幅は４バイトであり、ＩＰｖ４アドレスとＩＰｖ６アドレスと宛先ポート番号のそれぞれのエントリ数は２である。ＩＰｖ４アドレスとＩＰｖ６アドレスと宛先ポート番号を図に示すようにメモリの列方向に並べて設定する。比較データ参照メモリ１０３の比較データを設定するための領域は、どのパラメータ（例えば送信元ポート番号や宛先ポート番号等）が使用してもよい。図に示すように、ＩＰｖ４アドレスとＩＰｖ６アドレスを同一行に並べて配置することにより、メモリの未使用領域を減らし、メモリの使用効率を向上させることができる。
【００４６】
パケットが到着するとパケットのヘッダ又はペイロードの情報（図の例ではＩＰｖ６アドレスの１バイト目）を取り出し、到着パケットのヘッダ又はペイロードの情報と同じ種類の情報のメモリ上の格納先頭位置を示す先頭アドレスよりデータ一致比較部１０７が持つオフセットｎ（図の例の場合ＩＰｖ６アドレスの１バイト目であるのでオフセット０）の位置のデータを比較データ参照メモリ１０３及びマスク情報参照テーブル７１１より読み出す。そして、読み出したデータのうち、情報種別毎に設けられた有効エントリレジスタ（図の例の場合ＩＰｖ６アドレス用の有効エントリレジスタ）が示す位置のデータを取り出して（図の例の場合、右側の２バイト分）、受信パケットのヘッダ又はペイロードの情報（図の例の場合ＩＰｖ６アドレスの１バイト目）とマスク情報を用いた一致比較を行い、一致エントリに該当する符号を出力する。
【００４７】
かかる構成によれば、データ一致比較手段５０７がマスク情報を用いて固定長データの一部をマスクし、一致比較を行うことにより、例えば、ＩＰアドレスのネットワークアドレス部分のみについて一致比較を行うことができ、比較に要する時間を短縮することができる。
【００４８】
（実施の形態３）
図１０は、本発明の実施の形態３におけるネットワーク処理装置の構成図である。図１０において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００４９】
図１０において、範囲指定情報参照テーブル１０１１は、例えば、受信パケットを構成するレイヤの第４層で規定されるポート番号等の情報が、指定した最小値及び最大値の間に含まれているかどうかを比較し判定するために使用する範囲指定情報を格納する。データ一致比較部１００７は、ポート番号等の受信パケットの情報が、範囲指定情報が指定する最小値と最大値の間に含まれるかどうかを比較し判定する。
【００５０】
図１１は、本発明の実施の形態３におけるネットワーク処理装置のパラメータ比較の動作を説明する流れ図である。
【００５１】
図１１において、パラメータ比較部の動作の詳細について説明する。比較データ参照メモリ１０３のデータ読出し行を示すオフセット値を０に初期化する（Ｓ１１０１）。先頭アドレス保持部１０４は、受信パケットのヘッダ情報の種別より、比較データ参照メモリ１０３における同一種別のデータの先頭格納位置情報を出力する（Ｓ１１０２）。アクセス制御部１０６は、データの先頭格納アドレスにオフセットを加算した位置において比較用参照データを比較データ参照メモリ１０３より１行単位で読み出す（Ｓ１１０３）。また、アクセス制御部１０６は、比較データ参照メモリ１０３より読み出したデータのうち、有効エントリ保持部１０５が示す位置の比較データエントリを取り出して一致比較部１００７に出力する（Ｓ１１０４）。データ一致比較部１００７は、範囲指定情報として最小値及び最大値を分割した値を範囲指定情報参照テーブル部１０１１より読み出し、これらのデータについて最小値及び最大値との一致比較を行なう。最小値より大きく最大値より小さければ、指定された範囲内にあると判定する。最小値より小さいかもしくは最大値より大きければ、指定された範囲外にあると判定する。最小値と最大値のいずれかに一致した場合は、次の下位の分割データまで指定範囲内にあるかどうかの判断を保留し（Ｓ１１０５）、オフセット値を1増加する（Ｓ１１０６）。そして、パラメータサイズ情報よりパラメータの最後のバイトデータであるかどうかを確認する（Ｓ１１０７）。最後のバイトデータでなければ（Ｓ１１０７のＮ）、Ｓ１１０３に戻り、最後のバイトデータであれば（Ｓ１１０７のＹ）、一致符号出力部１０６が、パラメータの全バイトにわたる一致比較結果について全一致したエントリに該当する符号を出力し保持する（Ｓ１１０８）。
【００５２】
かかる構成によれば、データ一致比較手段７０７がデータの範囲を指定して比較することにより、ポート番号等の範囲指定比較を行うことができ、最小値と最大値のみをテーブルに設定すればよいため、テーブルのエントリ数を節約できる。なお、範囲指定により比較対象となるパラメータとしてはポート番号に限らずＩＰｖ４アドレス等でもよい。
【００５３】
本実施の形態のネットワーク処理装置は、ネットワーク端末装置やネットワーク中継装置として応用可能である。また、本発明のネットワーク処理装置は、集積回路を用いて実現してもよい。
【産業上の利用可能性】
【００５４】
本発明は、複数のパラメータ種別の比較データを比較データ参照メモリの同一行に配置して未使用領域を比較データの保持に活用することができるため、メモリの使用効率を向上し、メモリ量を削減することができる効果を有し、インターネットなどのネットワークインタフェースを通じてパケットを受信処理する装置において、あらかじめ定めた条件を満たすパケットを転送あるいは廃棄するといったパケットフィルタ機能を備えるネットワーク処理装置等に有用である。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施の形態１におけるネットワーク処理装置の構成図
【図２】本発明の実施の形態１におけるネットワーク処理装置の全体の動作を示す流れ図
【図３】本発明の実施の形態１におけるネットワーク処理装置のパラメータ比較動作を示す流れ図
【図４】本発明の実施の形態１におけるネットワーク処理装置におけるフィルタリング動作を示す図
【図５】本発明の実施の形態１におけるパラメータ比較とフィルタリング規則検索の一連の動作を説明するための図
【図６】本発明の実施の形態１におけるネットワーク処理装置の比較参照テーブル部の構成を示す図
【図７】本発明の実施の形態２におけるネットワーク処理装置の構成図
【図８】本発明の実施の形態２におけるネットワーク処理装置のパラメータ比較動作を示す流れ図
【図９】本発明の実施の形態２におけるネットワーク処理装置の比較データ参照メモリ１０３及びマスク情報参照テーブル７１１上のデータ配置例と一致比較動作を示す図
【図１０】本発明の実施の形態３におけるネットワーク処理装置の構成図
【図１１】本発明の実施の形態３におけるネットワーク処理装置のパラメータ比較動作を示す流れ図
【図１２】従来のネットワーク処理装置の構成図
【図１３】本発明の実施の形態１におけるネットワーク処理装置を含むネットワークシステムの構成図
【符号の説明】
【００５６】
１０１  ネットワークインタフェース（ネットワークＩ／Ｆ）
１０２  パラメータ抽出部
１０３  比較データ参照メモリ
１０４  先頭アドレス保持部
１０５  有効エントリ保持部
１０６  アクセス制御部
１０７、６０７、８０７  データ一致比較部
１０８  一致符号出力部
１０９  フィルタリング規則参照テーブル部
１１０  フィルタリング規則判定部
７１１  マスク情報参照テーブル部
１０１１  範囲指定情報参照テーブル部
４０１１〜４０１６  ＤＭＡＣの６バイトのそれぞれについての、１、２，３，４の４つのエントリ
４０１７  各エントリのパラメータ比較結果
１３００  本発明の実施の形態１におけるネットワーク処理装置
１３０１  ネットワークインタフェース
１３０２  受信フレーム廃棄手段
１３０３  アプリケーション処理装置
【図１】
2007005910.tif 000003
【図２】
2007005910.tif 000004
【図３】
2007005910.tif 000005
【図４】
2007005910.tif 000006
【図５】
2007005910.tif 000007
【図６】
2007005910.tif 000008
【図７】
2007005910.tif 000009
【図８】
2007005910.tif 000010
【図９】
2007005910.tif 000011
【図１０】
2007005910.tif 000012
【図１１】
2007005910.tif 000013
【図１２】
2007005910.tif 000014
【図１３】
2007005910.tif 000015