(57)【要約】【課題】一致比較回路を受信パケットの情報種別毎に設ける必要がないパケットフィルタ装置を提供する。【解決手段】ネットワークＩ／Ｆ１０１がパケットを受信すると、パラメータ抽出部１０２がヘッダ情報を参照しパラメータを抽出する。次に、パラメータ固定長分割部１０３が、抽出したパラメータを規定値の長さ（固定長）に分割し、比較用参照データを比較データ参照テーブル部１０４より読み出して、分割したパケットのパラメータとの一致比較を行い、一致符号出力部１０６は、一致したエントリ（見出し情報）に該当する符号を出力し保持する。フィルタリング規則判定部１０８は、保持された各パラメータに該当する符号の集合より、フィルタリング規則参照テーブル部１０７に合致するフィルタリング規則の検索を行う。一致すれば、一致比較結果を出力する。【選択図】図１
2006191260.tif 000002
【特許請求の範囲】
【請求項１】
受信したパケットから前記パケットの特性を示すパラメータ情報を取り出して固定長データに分割するパラメータ固定長分割手段と、前記パラメータ固定長分割手段で分割した分割固定長データとあらかじめ保存されている保存固定長データとの一致比較を行う固定長データ一致比較手段と、前記固定長データ一致比較手段にて一致した見出し情報に対応した符号を出力する一致符号出力手段と、前記一致符号出力手段から出力された一致符号を用いてフィルタリング規則を判定して結果を出力するフィルタリング規則判定手段と、を含むパケットフィルタ装置。
【請求項２】
前記固定長データ一致比較手段による一致比較が、マスク情報を用いて前記分割固定長データの一部をマスクして行う一致比較である請求項１記載のパケットフィルタ装置。
【請求項３】
前記固定長データ一致比較手段による一致比較が、データの範囲を指定して行う一致比較である請求項１記載のパケットフィルタ装置。
【請求項４】
前記一致符号が、一致した見出し情報を格納しているアドレスである請求項１乃至請求項３のいずれかに記載のパケットフィルタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットなどのネットワークインタフェースを通じてパケットを受信処理する装置において、あらかじめ定めた条件を満たすパケットを転送あるいは廃棄するといったパケットフィルタ装置に関する。
【背景技術】
【０００２】
ネットワーク機器において、受信パケットヘッダの情報がある一定の条件を満足したときパケットを転送あるいは廃棄するパケットフィルタ装置が必要とされている。
【０００３】
従来のパケットフィルタ装置は、パケットフィルタ条件を構成する各種情報の種別毎にパケットフィルタが設けられ、該当種別の情報を格納するエントリを備え、各エントリに格納された情報と入力パケットが有する該当種別の情報とを比較して、一致する情報を格納しているエントリが存在するとき、この一致エントリのアドレスを出力する複数の第１の内容検索型メモリ（Content Addressable Memory : ＣＡＭとも記す）と、各種情報の集合からなるパケットフィルタ条件の代わりに、これら情報を格納している第１の内容検索型メモリの一致エントリアドレスの集合をパケットフィルタ条件として記憶し、複数の第１の内容検索型メモリからそれぞれ出力された一致エントリアドレスの集合がパケットフィルタ条件と一致したとき、一致信号を出力する第２の内容検索型メモリとを有する。
【０００４】
このように、第１の内容検索型メモリによってパケットフィルタ条件を構成する各種情報の種別毎に検索を行い、第２の内容検索型メモリによって第１の内容検索型メモリからの一致エントリアドレスの集合がパケットフィルタ条件と一致するか否かを判定することにより、入力パケットの属性を判断することができる。また、第１の内容検索型メモリの各々は同一の情報を重複して格納する必要が無く、フィルタリング装置を１つの内容検索型メモリで実現する場合に比べて、メモリ量を削減できる（例えば、特許文献１参照）。
【０００５】
図１０は、前記特許文献１に記載された従来のパケットフィルタ装置の構成を示すものである。
【０００６】
図１０において、個別情報判定ＣＡＭ５０１ａ〜５０１ｃが各種別情報のエントリ（見出し情報）を検索して一致したエントリの格納アドレスを出力し、出力した格納アドレスがレジスタ５０２に記憶され、フィルタ条件判定ＣＡＭ５０３が、各種別情報の格納アドレスの集合を用いてフィルタリング条件の一致判定を行うようにしていた。
【特許文献１】特開２０００−１５１６２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記従来のパケットフィルタ装置は、受信パケットの情報種別毎に第一の内容検索型メモリを用いて情報の一致比較を行うため、一致比較回路を受信パケットの情報種別毎に設ける必要があり、回路量が増大するという課題を有していた。
【０００８】
本発明は、前記従来の課題を解決するもので、一致比較回路を受信パケットの情報種別毎に設ける必要がないパケットフィルタ装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のパケットフィルタ装置は、受信したパケットからそのパケットの特性を示すパラメータ情報を取り出して固定長データに分割するパラメータ固定長分割手段と、パラメ
ータ固定長分割手段で分割した分割固定長データとあらかじめ保存されている保存固定長データとの一致比較を行う固定長データ一致比較手段と、固定長データ一致比較手段にて一致した見出し情報に対応した符号を出力する一致符号出力手段と、一致符号出力手段から出力された一致符号の集合を用いてフィルタリング規則を判定し、判定結果を出力するフィルタリング規則判定手段とを含む構成を有している。
【００１０】
この構成により、内容検索型メモリを用いて実現する場合に比べて、メモリ量を大幅に削減することができ、かつ、一致比較手段を１つに集約することができる。
【００１１】
また、本発明のパケットフィルタ装置は、固定長データ一致比較手段による一致比較が、マスク情報を用いて前記分割固定長データの一部をマスクして行う一致比較である構成を有している。この構成により、例えば、ＩＰアドレスのネットワークアドレス部分のみについて一致比較を行うといったことができる。
【００１２】
また、本発明のパケットフィルタ装置は、固定長データ一致比較手段による一致比較が、データの範囲を指定して行う一致比較である構成を有している。この構成により、例えば，ポート番号の範囲指定比較により一致比較を行うといったことができる。
【００１３】
さらに、本発明のパケットフィルタ装置は、一致符号が、一致した見出し情報を格納しているアドレスである構成を有している。この構成により、固定長データを格納するアドレスを用いてフィルタリングを行うことができる。
【発明の効果】
【００１４】
本発明は、受信したパケットからそのパケットの特性を示すパラメータ情報を取り出して固定長データに分割するパラメータ固定長分割手段と、パラメータ固定長分割手段で分割した分割固定長データとあらかじめ保存されている保存固定長データとの一致比較を行う固定長データ一致比較手段と、固定長データ一致比較手段にて一致した見出し情報に対応した符号を出力する一致符号出力手段と、一致符号出力手段から出力された一致符号の集合を用いてフィルタリング規則を判定し、判定結果を出力するフィルタリング規則判定手段とを設けることにより、一致比較手段を１つに集約することができ、内容検索型メモリ（ＣＡＭ）を使用する必要が無く、回路量を削減することができるという効果を有するパケットフィルタ装置を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態のパケットフィルタ装置について、図面を参照しながら説明する。
【００１６】
（実施の形態１）
図１は、本発明の実施の形態１におけるパケットフィルタ装置の構成図である。
【００１７】
図１において、パケットフィルタ装置は、接続しているインターネット等のネットワークよりパケットを受信するネットワークインタフェース（ネットワークＩ／Ｆとも記す）１０１と、受信したパケットよりパラメータ情報を抽出するパラメータ抽出部１０２と、抽出したパラメータ情報を固定長に分割するパラメータ固定長分割部１０３と、一致比較用に参照するデータを格納している比較データ参照テーブル部１０４と、固定長に分割されたデータと比較データ参照テーブル部１０４より読み出したデータの一致比較を行う分割単位データ一致比較部１０５と、比較データ参照テーブル部１０４における比較データが一致した符号を出力する一致符号出力部１０６と、符号を用いてフィルタリングを行うフィルタリング規則を格納するフィルタリング規則参照テーブル部１０７と、一致符号の集合をフィルタリング規則参照テーブル部１０７と参照することにより受信パケットを転
送または廃棄するかの判定し一致信号あるいは一致比較結果を出力するフィルタリング規則判定部１０８と、を備える。
【００１８】
以上のように構成されたパケットフィルタ装置について、図２を用いてその動作を説明する。図２は、本発明の実施の形態１におけるパケットフィルタ装置の動作を示す流れ図である。
【００１９】
まず、ネットワークＩ／Ｆ１０１がネットワークよりパケットを受信したかどうかを判定し（Ｓ２０１）、受信していない場合（Ｓ２０１のＮ）はパケット受信判定に戻る。一方、受信する（Ｓ２０１のＹ）と、パラメータ抽出部１０２は、受信パケットのヘッダ情報を参照し、ＤＭＡＣかＩＰｖ６かといった通信プロトコル種別判定を含め、パラメータを抽出する（Ｓ２０２）。
【００２０】
次に、パラメータ固定長分割部１０３は、抽出したパラメータのサイズを確認し、サイズが規定値を超過していれば（Ｓ２０３のＹ）、抽出したパラメータを規定値の長さ（固定長）に分割する（Ｓ２０４）。そして、分割単位データ一致比較部１０５は、比較用参照データを比較データ参照テーブル部１０４より読み出して、分割したパケットのパラメータとの一致比較を行い、一致符号出力部１０６は、一致したエントリ（見出し情報）に該当する符号を出力し保持する（Ｓ２０５）。
【００２１】
Ｓ２０３において、パラメータのサイズが規定値以下であれば（Ｓ２０３のＮ）、パラメータの一致比較を行う（Ｓ２０５）。
【００２２】
分割されたパラメータが最後の分割データであるかどうかを判定し（Ｓ２０６）、最後の分割データで無い場合にはＳ２０４に戻り（Ｓ２０６のＮ）、最後の分割データである場合には（Ｓ２０６のＹ）、パラメータが最後のパラメータであるかどうかを判定する（Ｓ２０７）。最後のパラメータで無い場合にはＳ２０２に戻り（Ｓ２０７のＮ）、最後のパラメータである場合には（Ｓ２０７のＹ）、フィルタリング規則判定部１０８は、保持された各パラメータに該当する符号の集合より、フィルタリング規則参照テーブル部１０７に合致するフィルタリング規則の検索を行う（Ｓ２０８）。次に、一致すれば、一致比較結果を出力する（Ｓ２０９）。
【００２３】
図３は、本実施の形態のパケットフィルタ装置における受信パケットに対するフィルタリング規則判定のデータ関係を示す図である。
【００２４】
図３において、受信パケット３０１より抽出されたパラメータ３０２は、規定値のサイズに分割され（分割データ３０３）、分割されたデータ毎に、比較データ参照テーブル１０４部より読み出したデータと一致比較が行われ、一致比較結果が一致比較タイミング３０４で出力される。１つのパラメータについて全ての分割データについて一致比較が行われると、一致比較結果を用いてフィルタリング規則の検索が行われ、検索結果３０５が出力される。
【００２５】
図４は、本実施の形態のパケットフィルタ装置における比較データ参照テーブル１０４部の構成を示す図である。
【００２６】
図４において、参照するヘッダ情報として、ＭＡＣアドレスあるいはＩＰｖ６アドレスを用いた場合について示している。あらかじめ、ＭＡＣアドレスとＩＰｖ６アドレスを規定値サイズに分割した参照データを比較データ参照テーブル４０１１〜４０１６、４０２０１〜４０２１６に格納しておく。受信パケット到着時、すなわち、分割された受信パラメータが分割単位データ一致比較部１０５入力されたら、比較データ参照テーブル部１０
４より参照データを読み出して、該当する受信パケットのパラメータの分割したデータと一致比較を行う。
【００２７】
図５は、本実施の形態のパケットフィルタ装置における受信パケットに対するフィルタリング規則の検索動作を示す図である。
【００２８】
宛先ＭＡＣアドレス（ＤＭＡＣとも記す）を例に取り、フィルタリング規則の検索動作を説明する。比較データ参照テーブル部１０４には、比較データ参照テーブル４０１１〜４０１６があり、各参照テーブルには、１バイト単位に分割された宛先ＭＡＣアドレスデータ（例えば、比較データ参照テーブル４０１１では、ＤＭＡＣ１ａ、ＤＭＡＣ１ｂ、ＤＭＡＣ１ｃ、ＤＭＡＣ１ｄ、・・・）が格納されている。パケットが到着すると、パケットの宛先ＭＡＣアドレスを取り出し、１バイト単位に分割して、比較データ参照テーブル部部１０４のエントリと一致比較を行う。フィルタリング規則判定部１０６は、一致比較した結果のエントリ位置が例えば、ＤＭＡＣ１ｃ、ＤＭＡＣ２ｃ、ＤＭＡＣ３ｃ、ＤＭＡＣ４ｃ、ＤＭＡＣ５ｃ、ＤＭＡＣ６ｃと、全て「ｃ」というエントリ位置で等しいかどうかを判定し、全て等しい場合のみ、一致した宛先ＭＡＣアドレスが存在したと判断して、一致情報をフィルタリング規則判定部１０８に出力し、フィルタリング規則参照テーブル部１０７よりエントリ位置（図５のｃで示される)に該当するフィルタリング規則を検索する。
【００２９】
かかる構成によれば、パラメータ固定長分割部１０３が、受信パケットより抽出したパラメータを固定長に分割し、分割単位データ一致比較部１０５が、固定長に分割されたデータと比較データ参照テーブル部１０４より読み出したデータの一致比較を行い、一致符号出力部１０６が、比較データ参照テーブル部１０４における比較データが一致した符号を出力し、フィルタリング規則判定部１０８が、符号の集合より受信パケットを転送または廃棄するかの判定を行うことにより、一致比較手段を１つに集約することができ、内容検索型メモリ（ＣＡＭ）を使用する必要が無く、回路量を削減することができる。
【００３０】
なお、本実施の形態において、一致比較を行うパラメータがＭＡＣアドレスの内のＤＭＡＣアドレスの場合で説明したが、本発明はこれに限定されることなく、ＩＰｖ６アドレスであっても、あるいは、ＳＭＡＣアドレス（送信元ＭＡＣアドレス）（図５のフィルタリング規則参照テーブル４０５ではＳＭＡＣと記している）や、Ｅｔｈｅｒｎｅｔ（登録商標）Ｔｙｐｅ（図５のフィルタリング規則参照テーブル４０５ではＥｔｙｐと記している）のアドレスなどでもよい。
【００３１】
また、一致符号出力部１０６が符号を出力する代わりに、一致したエントリのアドレスを出力してもよい。また、本発明は、パラメータ情報がヘッダ情報に限定されることなく、受信パケットのデータ本体であるペイロードから取り出される情報であってもよい。
【００３２】
（実施の形態２）
図６は、本発明の実施の形態２におけるパケットフィルタ装置の構成図である。図６において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００３３】
図６において、マスク情報参照テーブル部６０９は、ＩＰアドレス等の情報の一部のビットもしくはバイトについてのみ一致比較を行うために使用するマスク情報を格納する。分割単位データ一致比較部６０５は、ＩＰアドレス等の受信パケットの情報のうち、マスク情報が指定するビットもしくはバイトの部分を一致比較の対象から除外した上で、残りの部分のデータを用いて一致比較を行う。
【００３４】
図７は、本発明の実施の形態２におけるパケットフィルタ装置の動作を説明する流れ図
である。
【００３５】
本発明の実施の形態２におけるパケットフィルタ装置の動作を、図７を用いて説明する。
【００３６】
ネットワークＩ／Ｆ１０１がネットワークよりパケットを受信したかどうかを判定し（Ｓ７０１）、受信していない場合は、Ｓ７０１の前に戻る（Ｓ７０１のＮ）。パケットを受信した場合は（Ｓ７０１のＹ）、受信パケットのヘッダ情報を参照し、パラメータを抽出する（Ｓ７０２）。次に、抽出したパラメータのサイズを確認し（Ｓ７０３）、サイズが規定値を超過していれば（Ｓ７０３のＹ）、固定長分割（Ｓ７０４）に進む。規定値以下であれば（Ｓ７０３のＮ）、マスク情報を用いた一致比較（Ｓ７０５）を次に実行する。
【００３７】
Ｓ７０４においては、抽出したパラメータを規定値の長さに分割する。次に、比較用データを比較データ参照テーブル６０４より読み出し、マスク情報をマスク情報参照テーブル６０８より読み出して、分割したパケットのパラメータについて、マスク情報が指示する部分を除いた部分の一致比較を行い、一致した符号を出力し保持する（Ｓ７０５）。
【００３８】
そして、分割されたパラメータが最後の分割データであるかどうかを判定し（Ｓ７０６）、最後の分割データで無い場合には（Ｓ７０６のＮ）、Ｓ７０４に戻り、最後の分割データである場合には（Ｓ７０６のＹ）、Ｓ７０７を次に実行する。
【００３９】
パラメータが最後のパラメータであるかどうかを判定し（Ｓ７０７）、最後のパラメータで無い場合には（Ｓ７０７のＮ）、Ｓ７０２に戻り、最後のパラメータである場合には（Ｓ７０７のＹ）、保持された各パラメータに該当する符号より合致するフィルタリング規則の検索を行う（Ｓ７０８）。次に、一致すれば、一致比較結果を出力する（Ｓ７０９）。
【００４０】
かかる構成によれば、固定長データ一致比較手段６０５がマスク情報を用いて固定長データの一部をマスクし、一致比較を行うことにより、例えば、ＩＰアドレスのネットワークアドレス部分のみについて一致比較を行うことができ、比較に要する時間を短縮することができる。
【００４１】
（実施の形態３）
図８は、本発明の実施の形態３におけるパケットフィルタ装置の構成図である。図８において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００４２】
図８において、範囲指定情報参照テーブル８０９は、例えば、受信パケット１を構成するレイヤの第４層で規定されるポート番号等の情報が、指定した最小値及び最大値の間に含まれているかどうかを比較し判定するために使用する範囲指定情報を格納する。分割単位データ一致比較部８０５は、ポート番号等の受信パケットの情報が、範囲指定情報が指定する最小値と最大値の間に含まれるかどうかを比較し判定する。
【００４３】
図９は、本発明の実施の形態３におけるパケットフィルタ装置の動作を示す流れ図である。
図９において、ネットワークＩ／Ｆ１０１がネットワークよりパケットを受信したかどうかを判定し（Ｓ９０１）、受信していない場合（Ｓ９０１のＮ）は、Ｓ９０１の前に戻る。パケットを受信すると（Ｓ９０１のＹ）、受信パケットのヘッダ情報を参照し、パラメータを抽出する（Ｓ９０２）。次に、Ｓ９０２で抽出したパラメータのサイズを確認し（Ｓ９０３）、サイズが規定値を超過していれば（Ｓ９０３のＹ）、固定長分割を行い（Ｓ
９０４）、規定値以下であれば（Ｓ９０３のＮ）、Ｓ９０５を次に実行する。Ｓ９０４では、抽出したパラメータを規定値の長さに分割する。
【００４４】
そして、比較用データを比較データ参照テーブル部１０４より読み出し、範囲指定情報として最小値及び最大値を分割した値を範囲指定情報参照テーブル部８０９より読み出し、これらの分割データについて最初に分割された最小値及び最大値との一致比較を行なう。最小値より大きく最大値より小さければ、指定された範囲内にあると判定する。最小値より小さいかもしくは最大値より大きければ、指定された範囲外にあると判定する。最小値と最大値のいずれかに一致した場合は、次の下位の分割データまで指定範囲内にあるかどうかの判断を保留する。指定範囲内にあると判定した場合、比較データ参照テーブル部１０４において指定範囲に該当する符号を出力する（Ｓ９０５）。
【００４５】
分割されたパラメータが最後の分割データであるかどうかを判定し（Ｓ９０６）、最後の分割データで無い場合には（Ｓ９０６のＮ）、Ｓ９０４を次に実行し、最後の分割データである場合には（Ｓ９０６のＹ）、パラメータが最後のパラメータであるかどうかを判定し（Ｓ９０７）、最後のパラメータで無い場合には（Ｓ９０７のＮ）、Ｓ９０２に戻り、最後のパラメータである場合には（Ｓ９０７のＹ）、次のステップに進む。すなわち、保持された各パラメータに該当する符号より合致するフィルタリング規則の検索を行う（Ｓ９０８）。次に、一致すれば、一致比較結果を出力する（Ｓ９０９）。
【００４６】
かかる構成によれば、固定長データ一致比較手段８０５がデータの範囲を指定して比較することにより、ポート番号等の範囲指定比較を行うことができ、最小値と最大値のみをテーブルに設定すればよいため、テーブルのエントリ数を節約できる。
【００４７】
本発明のパケットフィルタ装置は、ネットワーク端末装置やネットワーク中継装置として応用可能である。また、本発明のパケットフィルタ装置は、集積回路を用いて実現してもよい。
【産業上の利用可能性】
【００４８】
以上のように、本発明にかかるパケットフィルタ装置は、受信したパケットの特性を示すパラメータ情報を取り出して固定長データに分割する情報分割手段と、情報分割手段で分割した分割固定長データとあらかじめ保存されている保存固定長データとの一致比較を行う固定長データ一致比較手段と、固定長データ一致比較手段にて一致した見出し情報に対応した符号を出力する一致符号出力手段と、一致符号出力手段から出力された一致符号の集合を用いてフィルタリング規則を判定し、判定結果を出力するフィルタリング規則判定手段とを設けることにより、内容検索型メモリを用いて実現する場合に比べて、メモリ量を大幅に削減することができ、かつ、一致比較手段を１つに集約することができるという効果を有し、インターネットなどのネットワークインタフェースを通じてパケットを受信処理する装置において、ある一定の条件を満たすパケットを転送あるいは廃棄するというパケットフィルタ装置等として有用である。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態１におけるパケットフィルタ装置の構成図
【図２】本発明の実施の形態１におけるパケットフィルタ装置の動作を示す流れ図
【図３】本発明の実施の形態１におけるパケットフィルタ装置における受信パケットに対するフィルタリング規則判定のデータ関係を示す図
【図４】本発明の実施の形態１におけるパケットフィルタ装置の比較参照テーブル部の構成を示す図
【図５】本発明の実施の形態１におけるパケットフィルタ装置のフィルタリング規則の検索動作を示す図
【図６】本発明の実施の形態２におけるパケットフィルタ装置の構成図
【図７】本発明の実施の形態２におけるパケットフィルタ装置の動作を示す流れ図
【図８】本発明の実施の形態３におけるパケットフィルタ装置の構成図
【図９】本発明の実施の形態３におけるパケットフィルタの動作を示す流れ図
【図１０】従来のパケットフィルタ装置の構成図
【符号の説明】
【００５０】
１０１  ネットワークインタフェース（ネットワークＩ／Ｆ）
１０２  パラメータ抽出部
１０３  パラメータ固定長分割部
１０４  比較データ参照テーブル部
１０５、６０５、８０５  分割単位データ一致比較部
１０６  一致符号出力部
１０７  フィルタリング規則参照テーブル部
１０８  フィルタリング規則判定部
３０１  受信パケット
３０２  パラメータ
３０３  分割データ
３０４  一致比較タイミング
３０５  検索結果
４０５  フィルタリング規則参照テーブル
６０９  マスク情報参照テーブル部
８０９  範囲指定情報参照テーブル部
４０１１〜４０１６、４０２０１〜４０２１６  比較データ参照テーブル
【図１】
2006191260.tif 000003
【図２】
2006191260.tif 000004
【図３】
2006191260.tif 000005
【図４】
2006191260.tif 000006
【図５】
2006191260.tif 000007
【図６】
2006191260.tif 000008
【図７】
2006191260.tif 000009
【図８】
2006191260.tif 000010
【図９】
2006191260.tif 000011
【図１０】
2006191260.tif 000012