(57)【要約】  非フラグメントパケット／フラグメントパケットの区別をせずにパケットデータをフィルタリングすることを可能にする。  受信したパケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、前記パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして前記パケットデータに付与し、前記パケットデータの前記ヘッダ情報をキーとして、前記ヘッダ情報に関するフィルタ条件と前記フィルタ条件を満たした場合に実施する処理とを対応づけたフィルタテーブルを検索し、前記パケットデータの前記ヘッダ情報が満たす前記フィルタ条件に対応づけられた前記処理を、前記パケットデータに対して行う処理として決定し、決定した前記処理を前記パケットデータに対して行うことを特徴とする。
2016098342.tif 000002
【特許請求の範囲】
【請求項１】
パケットデータを受信する受信手段と、
受信した前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、前記パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして前記パケットデータに付与する疑似ヘッダ付与手段と、
前記パケットデータの前記ヘッダ情報をキーとして、前記ヘッダ情報に関するフィルタ条件と前記フィルタ条件を満たした場合に実施する処理とを対応づけたフィルタテーブルを検索し、前記パケットデータの前記ヘッダ情報が満たす前記フィルタ条件に対応づけられた前記処理を、前記パケットデータに対して行う処理として決定するフィルタリング手段と、
前記パケットデータから前記疑似ヘッダ付与手段で付与した前記疑似ヘッダを削除し、前記フィルタリング手段で決定した前記処理を前記パケットデータに対して行う処理手段と
を備えることを特徴とするフィルタリング装置。
【請求項２】
前記フィルタリング手段は、さらに、前記パケットデータの前記ヘッダ情報が前記フィルタ条件を満たしたとき、当該ヘッダ情報と、当該フィルタ条件に対応づけられた前記処理とをフローテーブルに記憶し、前記フィルタテーブルの検索の前に、前記パケットデータの前記ヘッダ情報をキーとして前記フローテーブルを検索し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在した場合、前記ヘッダ情報に対応づけられた前記処理を前記パケットデータに対して行う処理として決定し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在しない場合、前記フィルタテーブルの検索を行う
ことを特徴とする請求項１に記載のフィルタリング装置。
【請求項３】
前記疑似ヘッダ付与手段は、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットであるときに、前記パケットデータの前記ヘッダ情報を、同じ前記フラグメントパケット識別情報を持つ他のフラグメントパケットに付与する前記疑似ヘッダとして記憶する
ことを特徴とする請求項１あるいは請求項２に記載のフィルタリング装置。
【請求項４】
前記疑似ヘッダ付与手段は、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットであるときに、前記パケットデータの前記ヘッダ情報を記憶し、記憶した前記ヘッダ情報を前記疑似ヘッダとして、同じ前記フラグメントパケット識別情報を持つ他のフラグメントパケットに付与する
ことを特徴とする請求項１あるいは請求項２に記載のフィルタリング装置。
【請求項５】
前記疑似ヘッダ付与手段は、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでないとき、前記パケットデータのフラグメントパケット識別情報に関する前記ヘッダ情報が記憶されていない場合には、前記ヘッダ情報が記憶されるまで前記パケットデータを記憶し、前記ヘッダ情報が記憶されたとき、記憶した前記パケットデータに前記ヘッダ情報を前記疑似ヘッダとして付与する
ことを特徴とする請求項３あるいは請求項４に記載のフィルタリング装置。
【請求項６】
前記疑似ヘッダ付与手段は、前記パケットデータの前記ヘッダ情報が最終フラグメントパケットであることを示してから所定の時間が経過したとき、あるいは、ある前記フラグメントパケット識別情報を持つ前記パケットデータを最後に受信してから所定の時間が経過したとき、前記パケットデータの前記フラグメントパケット識別情報に関する前記ヘッダ情報と前記パケットデータのための記憶領域を他のフラグメントパケット識別情報に関する記憶領域として使用可能にする
ことを特徴とする請求項５に記載のフィルタリング装置。
【請求項７】
パケットデータを受信し、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、前記パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして前記パケットデータに付与し、前記パケットデータの前記ヘッダ情報をキーとして、前記ヘッダ情報に関するフィルタ条件と前記フィルタ条件を満たした場合に実施する処理とを対応づけたフィルタテーブルを検索し、前記パケットデータの前記ヘッダ情報が満たす前記フィルタ条件に対応づけられた前記処理を、前記パケットデータに対して行う処理として決定し、前記パケットデータから付与した前記疑似ヘッダを削除し、決定した前記処理を前記パケットデータに対して行う
ことを特徴とするフィルタリング方法。
【請求項８】
さらに、前記パケットデータの前記ヘッダ情報が前記フィルタ条件を満たしたとき、当該ヘッダ情報と、当該フィルタ条件に対応づけられた前記処理とをフローテーブルに記憶し、前記フィルタテーブルの検索の前に、前記パケットデータの前記ヘッダ情報をキーとして前記フローテーブルを検索し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在した場合、前記ヘッダ情報に対応づけられた前記処理を前記パケットデータに対して行う処理として決定し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在しない場合、前記フィルタテーブルの検索を行う
ことを特徴とする請求項７に記載のフィルタリング方法。
【請求項９】
コンピュータに、
パケットデータを受信する受信機能と、
前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、前記パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして前記パケットデータに付与する疑似ヘッダ付与機能と、
前記パケットデータの前記ヘッダ情報をキーとして、前記ヘッダ情報に関するフィルタ条件と前記フィルタ条件を満たした場合に実施する処理とを対応づけたフィルタテーブルを検索し、前記パケットデータの前記ヘッダ情報が満たす前記フィルタ条件に対応づけられた前記処理を、前記パケットデータに対して行う処理として決定するフィルタリング機能と、
前記パケットデータから前記疑似ヘッダ付与機能で付与した前記疑似ヘッダを削除し、前記フィルタリング機能で決定した前記処理を前記パケットデータに対して行う処理機能と
を実現させることを特徴とするフィルタリングプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【請求項１０】
前記フィルタリング機能は、さらに、前記パケットデータの前記ヘッダ情報が前記フィルタ条件を満たしたとき、当該ヘッダ情報と、当該フィルタ条件に対応づけられた前記処理とをフローテーブルに記憶し、前記フィルタテーブルの検索の前に、前記パケットデータの前記ヘッダ情報をキーとして前記フローテーブルを検索し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在した場合、前記ヘッダ情報に対応づけられた前記処理を前記パケットデータに対して行う処理として決定し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在しない場合、前記フィルタテーブルの検索を行う
ことを特徴とする請求項９に記載のフィルタリングプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラグメント化されたパケットデータのフィルタリング装置、方法、および、記録媒体に関する。
【背景技術】
【０００２】
ノードは、ＩＰ（Internet Protocol）パケットを受信したとき、受信したＩＰパケットに対して、通過させて宛先へ転送する、または、破棄する、といった処理を適切に行う必要がある。このような、受信したＩＰパケットに対してどのような処理をするかを決定する機能をフィルタリングと呼ぶ。【０００３】
フィルタリングを実現するにあたり、ノードは、フィルタ条件（ルール）と対応する処理（サービス）をフィルタテーブルに優先度順にあらかじめ登録しておく。そして、ＩＰパケットを受信したとき、ＩＰパケットに含まれる情報が満たすフィルタ条件がフィルタテーブルに存在するかどうか優先度順に検索する。受信したＩＰパケットに含まれる情報が満たすフィルタ条件が見つかった場合、そのフィルタ条件に対応する処理をそのＩＰパケットに対して行う処理として決定する。そして、決定した処理内容にしたがって、ＩＰパケットを適切な宛先ノードへ転送したり、廃棄したりといった処理を行う。【０００４】
フィルタ条件には、ＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）プロトコルスタックにおける、各種ヘッダ情報を使用することができる。たとえば、ネットワーク層（ＩＰ等）のヘッダ情報、トランスポート層（ＴＣＰ、ＵＤＰ（User Datagram Protocol）等）のヘッダ情報、アプリケーション層のヘッダ情報などを使用できる。図８にＩＰヘッダを、図９にＵＤＰヘッダを示す。【０００５】
ここでは、ネットワーク層のＩＰヘッダ（送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル）、トランスポート層のＵＤＰヘッダ（送信元ポート番号、宛先ポート番号）の５つの情報（ＩＰ  ５−ｔｕｐｌｅ）をフィルタ条件としたフィルタリングの例について説明する。【０００６】
ホストやルータでは、ＩＰパケット長がネットワークのＭＴＵ（Maximum Transmission Unit）より大きい場合、かつ、ＩＰヘッダ中のフラグフィールドで示される分割不可フラグが分割可に設定されている場合に、パケットの分割をして送信する。このパケットの分割処理を、フラグメンテーション、あるいは、フラグメント化と呼ぶ。【０００７】
図１０に、ＵＤＰデータをフラグメント化した場合のパケットの例を示す。ＩＰパケットが分割された場合、図１０の例のように、元のＩＰヘッダは全てのＩＰパケットに付与される。しかし、ＵＤＰヘッダなどのトランスポート層以上のヘッダ情報は、ＩＰパケット上ではＩＰデータに含まれてしまうため、分割された先頭のＩＰパケットにのみ含まれる。【０００８】
ＩＰ  ５−ｔｕｐｌｅをフィルタ条件としてフィルタリングをする場合、送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコルはＩＰヘッダに含まれるため、分割されたＩＰパケットにおいても全て特定可能である。しかし、送信元ポート番号、宛先ポート番号はＵＤＰヘッダに含まれるため、分割された先頭のＩＰパケットでしか特定できない。【０００９】
そのため、分割されたＩＰパケットをＩＰ  ５−ｔｕｐｌｅをフィルタ条件としてフィルタリングしようとすると、先頭のＩＰパケットは正しくフィルタリングして処理（サービス）を決定できる。しかし、先頭以外のＩＰパケットでは送信元ポート番号、宛先ポート番号を正しく特定できず、フィルタリングした結果、意図しないサービスの適用や、ＩＰパケットの破棄が発生しうる。【００１０】
以降の説明では、分割された（フラグメント化された）ＩＰパケットをフラグメントパケット、分割された先頭のＩＰパケットを先頭フラグメントパケット、分割されていないＩＰパケットを非フラグメントパケット、と呼ぶ。【００１１】
特許文献１には、このようなフラグメントパケットのフィルタリング方法の一例が開示されている。この方法では、先頭フラグメントパケットのフィルタリング結果をルーティングテーブルに登録し、２番目以降のフラグメントパケットを受信した場合、ルーティングテーブルに登録されたフィルタリング結果に基づいて処理を行っている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１１−６６９０３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかし、特許文献１に記載の方法では、フラグメントパケットに対してはフラグメントパケット群ごとにルーティングテーブルエントリを作成し、フラグメントパケットと非フラグメントパケットで、異なるフィルタリング処理を行っている。そのため、フィルタリング機能が煩雑となっている。【００１４】
また、非フラグメントパケット／フラグメントパケットで異なるフィルタリング処理を行うということは、フィルタリング機能に他の機能の追加や改良を行う場合、それぞれのフィルタリング処理に対して追加や改良を行う必要がある。そのため、改造量が多くなってしまう場合がある。つまり、非フラグメントパケット／フラグメントパケットで異なるフィルタリング処理を行うということは、拡張性を低下させていることになる。【００１５】
言い換えると、非フラグメントパケット／フラグメントパケットの区別をせずにフィルタリングが可能ならば、フィルタリング処理の煩雑化を防ぐことができる。また、フィルタリング機能に他の機能の追加や改良を行う場合に、非フラグメントパケット／フラグメントパケットの区別なく、それらの追加や改良を行うことが可能になる。つまり、拡張性を維持することが可能になる。【００１６】
本発明の目的は、非フラグメントパケット／フラグメントパケットの区別をせずにパケットデータをフィルタリングすることを可能にするフィルタリング装置、方法、および、記録媒体を提供することにある。
【課題を解決するための手段】
【００１７】
上述の問題を解決するために、本発明のフィルタリング装置は、パケットデータを受信する受信手段と、受信した前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、前記パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして前記パケットデータに付与する疑似ヘッダ付与手段と、前記パケットデータの前記ヘッダ情報をキーとして、前記ヘッダ情報に関するフィルタ条件と前記フィルタ条件を満たした場合に実施する処理とを対応づけたフィルタテーブルを検索し、前記パケットデータの前記ヘッダ情報が満たす前記フィルタ条件に対応づけられた前記処理を、前記パケットデータに対して行う処理として決定するフィルタリング手段と、前記パケットデータから前記疑似ヘッダ付与手段で付与した前記疑似ヘッダを削除し、前記フィルタリング手段で決定した前記処理を前記パケットデータに対して行う処理手段とを備えることを特徴とする。【００１８】
また、本発明のフィルタリング方法は、パケットデータを受信し、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、前記パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして前記パケットデータに付与し、前記パケットデータの前記ヘッダ情報をキーとして、前記ヘッダ情報に関するフィルタ条件と前記フィルタ条件を満たした場合に実施する処理とを対応づけたフィルタテーブルを検索し、前記パケットデータの前記ヘッダ情報が満たす前記フィルタ条件に対応づけられた前記処理を、前記パケットデータに対して行う処理として決定し、前記パケットデータから付与した前記疑似ヘッダを削除し、決定した前記処理を前記パケットデータに対して行うことを特徴とする。【００１９】
また、本発明のコンピュータ読み取り可能な記録媒体に記憶されたフィルタリングプログラムは、コンピュータに、パケットデータを受信する受信機能と、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、前記パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして前記パケットデータに付与する疑似ヘッダ付与機能と、前記パケットデータの前記ヘッダ情報をキーとして、前記ヘッダ情報に関するフィルタ条件と前記フィルタ条件を満たした場合に実施する処理とを対応づけたフィルタテーブルを検索し、前記パケットデータの前記ヘッダ情報が満たす前記フィルタ条件に対応づけられた前記処理を、前記パケットデータに対して行う処理として決定するフィルタリング機能と、前記パケットデータから前記疑似ヘッダ付与機能で付与した前記疑似ヘッダを削除し、前記フィルタリング機能で決定した前記処理を前記パケットデータに対して行う処理機能とを実現させることを特徴とする。
【発明の効果】
【００２０】
本発明のフィルタリング装置、方法、および、記録媒体により、非フラグメントパケット／フラグメントパケットの区別をせずにパケットデータをフィルタリングすることが可能になる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第一の実施形態のフィルタリング装置の構成例を示す図である。
【図２】本発明の第一の実施形態のフィルタリング装置の動作例を示す図である。
【図３】本発明の第一の実施形態のキャッシュの例を示す図である。
【図４】本発明の第一の実施形態のパケットデータの流れの例を示す図である。
【図５】本発明の第二の実施形態のフィルタリング装置の構成例を示す図である。
【図６】本発明の第二の実施形態のフィルタリング装置の動作例を示す図である。
【図７】本発明の第二の実施形態のパケットデータの流れの例を示す図である。
【図８】ＩＰヘッダを示す図である。
【図９】ＵＤＰヘッダを示す図である。
【図１０】ＵＤＰデータのフラグメンテーションの例を示す図である。
【図１１】本発明の第三の実施形態のフィルタリング装置の動作例を示す図である。
【図１２】本発明の各実施形態のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００２２】
［第一の実施形態］
本発明の第一の実施の形態について、具体例を用いて説明する。
【００２３】
まず、図１に本実施形態のフィルタリング装置の構成例を示す。フィルタリング装置１０は、受信部１１、疑似ヘッダ付与部１２、フィルタリング部１３、処理部１４およびフィルタテーブル１５により構成される。フィルタリング装置は、ネットワークの各ノードに相当する。
【００２４】
なお、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。また、以降の図面においても同様である。
【００２５】
受信部１１は、パケットデータを受信する部分である。
【００２６】
疑似ヘッダ付与部１２は、受信部１１で受信したパケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでないときに、後段のフィルタリング部１３でのフィルタリングに必要となるヘッダ情報を疑似ヘッダとして付与する部分である。
【００２７】
フィルタリング部１３は、疑似ヘッダ付与部１２から入力されたパケットデータに対して、ヘッダ情報とフィルタテーブル１５に基づいてフィルタリングを行い、行う処理を決定する部分である。
【００２８】
処理部１４は、フィルタリング部１３から入力されたパケットデータに対して、疑似ヘッダ付与部１２で付与された疑似ヘッダをパケットデータから削除し、フィルタリング部１３で決定した処理をパケットデータに対して行う部分である。
【００２９】
このように本実施形態のフィルタリング装置を構成することで、フラグメントパケットに疑似ヘッダを付与することが可能になる。そのため、非フラグメントパケット／フラグメントパケットの区別をせずにパケットデータをフィルタリングすることが可能になる。
【００３０】
次に、図２を用いて、本実施形態のフィルタリング装置の動作例について説明する。
【００３１】
受信部１１がパケットデータを受信すると、疑似ヘッダ付与部１２では、受信したパケットデータがフラグメントパケットか否かを判定する（ステップＳ１０１）。フラグメントパケットでなかった場合には、パケットデータをフィルタリング部１３に送る。
【００３２】
受信したパケットデータがフラグメントパケットである場合には、このフラグメントパケットに関するヘッダ情報が疑似ヘッダ付与部１２のキャッシュに記憶されているかどうかを確認する（ステップＳ１０２）。
【００３３】
疑似ヘッダ付与部１２のキャッシュには、図３に示すように、フラグメントパケット識別情報単位でヘッダ情報を記憶する。フラグメントパケット識別情報は、同じパケットから分割されたフラグメントパケットであることを識別するための情報である。たとえば、ＩＰヘッダの識別子フィールドの値を利用することが可能である。また、識別子に加えて、送信元ＩＰアドレスや宛先アドレスを組み合わせることも可能である。
【００３４】
受信したパケットデータのフラグメントパケット識別情報に対応するヘッダ情報がキャッシュに記憶されていた場合には、そのヘッダ情報を疑似ヘッダ情報としてパケットデータに付与して、フィルタリング部１３へ送る（ステップＳ１０３）。
【００３５】
受信したパケットデータのフラグメントパケット識別情報に対応するヘッダ情報がキャッシュに記憶されていなかった場合には、パケットデータが先頭フラグメントパケットか否かを確認する（ステップＳ１０４）。先頭フラグメントパケットである場合には、パケットデータから抽出したヘッダ情報とパケットデータをキャッシュに記憶する（ステップＳ１０５）。
【００３６】
たとえば、図３のように、フラグメントパケット識別情報単位に確保されたヘッダ情報記憶領域とパケットキャッシュ領域に対し、パケットデータから抽出したヘッダ情報をヘッダ情報記憶領域に、パケットデータをパケットキャッシュ領域に記憶する。受信したパケットデータと同じフラグメントパケット識別情報を持つパケットデータを以前に受信していない場合には、これらの領域は確保されていないので、新たに確保してから、ヘッダ情報とパケットデータを記憶する。すでにこれらの領域が確保されている場合には、パケットキャッシュ領域には、先頭フラグメントパケットを受信する以前に受信した、同一フラグメントパケット識別情報を持つパケットが記憶されていることになる。
【００３７】
なお、このキャッシュとして確保した一時記憶領域は、確保したままにしておくと増大していくため、フラグメントパケット識別情報単位で、何らかの時点で解放されることが望ましい。たとえば、ＩＰヘッダ中のフラグフィールドのＭＦ（More Fragments）ビットが後続のフラグメントパケットがないことを示したときに、そのパケットデータのフラグメントパケット識別情報についての領域を、所定の時間経過後に解放することが考えられる。また、該当するフラグメントパケット識別情報を持つパケットデータを最後に受信してから所定の時間経過後に解放することも考えられる。
【００３８】
ステップＳ１０５の後、パケットキャッシュ領域に記憶された全パケットデータを取り出し、記憶済みのヘッダ情報を疑似ヘッダとして付与して、フィルタリング部１３へ送る（ステップＳ１０６）。このステップにより、先頭フラグメントパケットを受信する以前に受信した、同一フラグメントパケット識別情報を持つパケットに対して、疑似ヘッダが付与される。
【００３９】
ステップＳ１０４において、パケットデータが先頭フラグメントパケットでなかった場合には、パケットデータをキャッシュに記憶する（ステップＳ１０７）。たとえば、図３のように、フラグメントパケット識別情報単位で確保されたパケットキャッシュ領域に、受信したパケットデータを記憶する。該当するフラグメントパケット識別情報に対するヘッダ情報領域およびパケットキャッシュ領域が確保されていない場合には、新たに確保する。
【００４０】
そして、フィルタリング部１３では、疑似ヘッダ付与部１２から送られてきた各パケットデータについて、ヘッダ情報とフィルタテーブル１５に基づいてフィルタリングを行って処理部１４で行う処理を決定し、処理部１４へ送る（ステップＳ１０８）。フィルタリングでは、まず、パケットデータのヘッダ情報が満たすフィルタ条件（ルール）がフィルタテーブル１５に存在するかどうか優先度順に検索する。パケットデータのヘッダ情報が満たすフィルタ条件が存在する場合、そのフィルタ条件に対応する処理をそのパケットデータに対して行う処理として決定する。そして、処理部１４では、疑似ヘッダ部１２で付与された疑似ヘッダを各パケットデータから削除し、フィルタリング部で決定された処理を各パケットデータに対して実行する（ステップＳ１０９）。
【００４１】
次に、図４を用いて、本実施形態のフィルタリング装置のパケットデータの流れの例について説明する。
【００４２】
図４（ａ）は、受信したパケットデータ列の例である。先頭のフラグメント１のパケットデータにのみヘッダ情報があり、他のフラグメント２からフラグメントｎにはヘッダ情報がない。たとえば、ヘッダ情報は、図１０のＵＤＰヘッダに該当する。ＩＰヘッダについては図４では省略しているが、各パケットに付与されている。なお、ここではトランスポート層のプロトコルがＵＤＰである場合を例に説明するが、他のプロトコルの場合にも本実施形態を適用可能である。
【００４３】
図４（ａ）のパケットデータ列に対して、図２のステップＳ１０１〜Ｓ１０７の動作を行った結果が、図４（ｂ）である。フラグメント２からフラグメントｎのパケットデータに対し、ヘッダ情報が疑似的に付与されている。ここで付与する疑似ヘッダには、先頭フラグメントパケットのヘッダ情報を使用する。たとえば、先に述べたＩＰ  ５−ｔｕｐｌｅを用いてフィルタリングを行う場合には、不足する情報はＵＤＰヘッダの送信元ポート番号、宛先ポート番号のため、先頭フラグメントパケットに含まれるＵＤＰヘッダを疑似ヘッダとして付与する。ＩＰ  ５−ｔｕｐｌｅのうち送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコルについては、図４では図示を省略しているＩＰヘッダに含まれるため、新たに付与する必要はない。
【００４４】
疑似ヘッダを付与された各パケットデータ（図４（ｂ））は、それぞれのヘッダ情報（たとえば、ＩＰ  ５−ｔｕｐｌｅ）と図４（ｃ）のフィルタテーブルに基づいてフィルタリングされる。フィルタリングでは、まず、パケットデータのヘッダ情報が満たすフィルタ条件（ルール）がフィルタテーブルに存在するかどうか優先度順に検索する。パケットデータのヘッダ情報が満たすフィルタ条件が存在する場合、そのフィルタ条件に対応する処理（サービス）をそのパケットデータに対して行う処理として決定する。
【００４５】
そして、図４（ｄ）のように、図４（ｂ）で付与された疑似ヘッダを削除し、決定した処理内容にしたがって、処理を行う。
【００４６】
以上で説明したように、本発明の第一の実施形態では、フラグメントパケットに疑似ヘッダを付与することが可能になる。そのため、非フラグメントパケット／フラグメントパケットの区別をせずにパケットデータをフィルタリングすることが可能になる。
【００４７】
［第二の実施形態］
次に、本発明の第二の実施の形態について説明する。
【００４８】
通常、フィルタテーブル１５のフィルタ条件（ルール）には、ＩＰバージョンの異なるＩＰアドレス、ＩＰアドレスやポート番号の範囲、複数のポート番号などを登録することが可能である。つまり、パケットデータのヘッダ情報が合致するパケット条件がフィルタテーブル１５に複数登録される可能性がある。そのため、パケットが入力されるごとに、各フィルタ条件に合致するか否かを優先度順に確認していく必要がある。そして、合致するフィルタ条件が存在しない場合には、すべてのフィルタ条件について合致するか否かを確認することになる。その結果、多くのフィルタ条件が登録されている場合、フィルタテーブルの検索には多くの時間がかかってしまう。
【００４９】
本実施形態では、同じヘッダ情報を持つパケットデータは同じフィルタ条件（ルール）を満たすため、同じ処理（サービス）が適用される、という特徴を生かし、フィルタリング結果をフローテーブルに登録することで、フィルタテーブルの検索回数を削減する。
【００５０】
図５に本実施形態のフィルタリング装置２０の構成例を示す。第一の実施形態の構成例（図１）に対して、フロー検索部２６およびフローテーブル２７を追加している。受信部１１、疑似ヘッダ付与部１２、処理部１４およびフィルタテーブル１５は、第一の実施形態と同様のため、説明を省略する。
【００５１】
フィルタリング部２３は、第一の実施形態と同様に、受信したパケットデータに対する処理を決定する部分である。第一の実施形態では、ヘッダ情報とフィルタテーブル１５に基づいてフィルタリングを行っていたが、本実施形態では、フィルタテーブル１５に加えてフローテーブル２７を使用する。
【００５２】
フィルタリング部２３では、第一の実施形態と同様にフィルタテーブル１５を検索する。そして、パケットデータのヘッダ情報が満たすフィルタ条件が存在した場合、そのヘッダ情報（フロー）とフィルタ条件に対応する処理（サービス）をフローテーブル２７に登録する。
【００５３】
フロー検索部２６では、フィルタリング部２３でのフィルタテーブルの検索の前に、フローテーブル２７を検索する。入力されたパケットのヘッダ情報に合致するヘッダ情報（フロー）がフローテーブル２７に登録されていた場合には、そのヘッダ情報に対応付けられている処理（サービス）をパケットデータに対して行う処理として決定して、処理部１４へパケットを送る。入力されたパケットデータのヘッダ情報に合致するヘッダ情報（フロー）がフローテーブル２７になかった場合には、パケットデータをフィルタリング部２３に送る。
【００５４】
このように本実施形態のフィルタリング装置を構成することで、第一の実施形態と同様に、フラグメントパケットに疑似ヘッダを付与することが可能になる。そのため、第一の実施形態と同様に、非フラグメントパケット／フラグメントパケットの区別をせずにパケットデータをフィルタリングすることが可能になる。
【００５５】
さらに、本実施形態では、時間がかかるフィルタテーブルの検索の前にフローテーブルを検索するため、一度フィルタテーブルで検索されたヘッダ情報を持つパケットデータについて、より高速にパケットデータに対する処理を決定することが可能になる。
【００５６】
フローテーブルでは、ヘッダ情報（フロー）１つに対して処理を１つ対応づけて登録している。そのため、順に検索するのではなく、例えばハッシュ検索等の何らかの演算により、ヘッダ情報から適用する処理を一意に決定することが可能である。つまり、フローテーブルを使用することで、多くのフィルタ条件が登録されているフィルタテーブルを検索する場合より、高速にパケットデータに対する処理を決定することが可能になる。
【００５７】
また、フローテーブルには、フラグメントパケット、非フラグメントパケットのいずれについても登録可能である。そのため、フラグメントパケット、非フラグメントパケットのいずれにおいても、一度フィルタテーブルで検索されたヘッダ情報を持つパケットデータについて、より高速にパケットデータに対する処理を決定することが可能になる。
【００５８】
次に、図６に本実施形態のフロー検索部２６およびフィルタリング部２３の動作の例を示す。この図６の動作は、図２のステップＳ１０８に変えて行う動作である。
【００５９】
フロー検索部２６では、疑似ヘッダ付与部１２からパケットデータを受け取ると、まず、パケットデータのヘッダ情報をキーとして、フローテーブル２７を検索する（ステップＳ２０１）。パケットデータのヘッダ情報と一致するフローが存在した場合、該当するフローに対応付けられた処理（サービス）を、パケットデータに対して行う処理として決定し、パケットデータを処理部１４に送る（ステップＳ２０２、Ｓ２０３）。
【００６０】
フローテーブル２７に、パケットデータのヘッダ情報と一致するフローが存在しなかった場合は、フィルタリング部２３において、フィルタテーブル１５の検索を行ってパケットデータに対して行う処理を決定し、処理部１４へ送る（ステップＳ２０４）。フィルタテーブル１５を検索して処理を決定する動作（フィルタリング）については、第一の実施形態（図２のステップＳ１０８）と同様である。そして、フィルタリングの結果、すなわち、パケットデータのヘッダ情報と決定したパケットデータに対して行う処理を、フローテーブルに追加する（ステップＳ２０５）。
【００６１】
次に、図７を用いて、本実施形態のフィルタリング装置のパケットデータの流れの例について説明する。
【００６２】
図７（ａ）（ｂ）については、疑似ヘッダ付与部の動作のため、第一の実施形態と同様である。
【００６３】
疑似ヘッダを付与された各パケットデータ（図７（ｂ））は、フィルタリングの前に、それぞれのヘッダ情報（たとえば、ＩＰ  ５−ｔｕｐｌｅ）に該当するフローがフローテーブル（図７（ｃ））に存在するかどうか、検索される。検索の結果、ヘッダ情報に該当するフローが存在する場合は、そのフローに対応付けられた処理（サービス）をパケットデータに対して行う処理として決定する。ヘッダ情報に該当するフローが存在しなかった場合には、フィルタリングを行い、その結果をフローテーブルに登録する。
【００６４】
そして、図７（ｄ）では、図４（ｄ）と同様に、図７（ｂ）で付与された疑似ヘッダを削除し、決定した処理内容にしたがって、処理を行う。
【００６５】
以上で説明したように、本発明の第二の実施形態では、第一の実施形態と同様に、フラグメントパケットに疑似ヘッダを付与することが可能になる。そのため、第二の実施形態においても、非フラグメントパケット／フラグメントパケットの区別をせずにパケットデータをフィルタリングすることが可能になる。
【００６６】
さらに、検索に時間のかかるフィルタテーブルを検索する前にフローテーブルを検索するため、一度フィルタテーブルで検索されたヘッダ情報を持つパケットデータについて、より高速にパケットデータに対する処理を決定することが可能になる。
【００６７】
［第三の実施形態］
次に、本発明の第三の実施の形態について説明する。
【００６８】
本実施形態のフィルタリング装置の構成例は図１と同様である。フィルタリング装置１０は、受信部１１、疑似ヘッダ付与部１２、フィルタリング部１３、処理部１４およびフィルタテーブル１５により構成される。
【００６９】
受信部１１は、パケットデータを受信する部分である。
【００７０】
疑似ヘッダ付与部１２は、受信したパケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、疑似ヘッダをパケットデータに付与する部分である。このとき、パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして付与する。
【００７１】
フィルタテーブル１５は、ヘッダ情報に関するフィルタ条件とフィルタ条件を満たした場合に実施する処理とを対応づけたものである。
【００７２】
フィルタリング部１３は、パケットデータのヘッダ情報をキーとして、フィルタテーブル１５を検索し、パケットデータのヘッダ情報が満たすフィルタ条件に対応づけられた処理を、パケットデータに対して行う処理として決定する部分である。
【００７３】
処理部１４は、パケットデータから疑似ヘッダ付与部１２で付与した疑似ヘッダを削除し、フィルタリング部１３で決定した処理をパケットデータに対して行う部分である。
【００７４】
このように本実施形態のフィルタリング装置を構成することによって、非フラグメントパケット／フラグメントパケットの区別をせずにパケットデータをフィルタリングすることが可能になる。
【００７５】
次に、図１１を用いて、本実施形態のフィルタリング装置の動作例について説明する。
【００７６】
まず、フィルタリング装置１０の疑似ヘッダ付与部１２は、受信したパケットデータがフラグメントパケットかどうか（ステップＳ３０１）、および、先頭フラグメントパケットかどうか（ステップＳ３０２）を確認する。そして、受信したパケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合、疑似ヘッダをパケットデータに付与する（ステップＳ３０３）。このとき、パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして付与する。
【００７７】
次に、フィルタリング部１３は、パケットデータのヘッダ情報をキーとして、フィルタテーブル１５を検索し、パケットデータのヘッダ情報が満たすフィルタ条件に対応づけられた処理を、パケットデータに対して行う処理として決定する（ステップＳ３０４）。
【００７８】
そして、処理部１４は、パケットデータから疑似ヘッダ付与部１２で付与した疑似ヘッダを削除し、フィルタリング部１３で決定した処理をパケットデータに対して行う（ステップＳ３０５）。
【００７９】
このように本実施形態のフィルタリング装置を動作させることによって、非フラグメントパケット／フラグメントパケットの区別をせずにパケットデータをフィルタリングすることが可能になる。
【００８０】
以上で説明したように、本発明の第三の実施形態では、第一、第二の実施形態と同様に、フラグメントパケットに疑似ヘッダを付与することが可能になる。そのため、第二の実施形態においても、非フラグメントパケット／フラグメントパケットの区別をせずにパケットデータをフィルタリングすることが可能になる。
【００８１】
また、以上の説明ではパケットデータがＩＰパケットであることを前提に説明したが、本発明のフィルタリング装置、方法、および、記録媒体は、ＩＰパケット以外の他のパケット形式に対しても適用可能である。
【００８２】
［ハードウェア構成例］
上述した本発明の各実施形態におけるフィルタリング装置（１０、２０）を、一つの情報処理装置（コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。なお、フィルタリング装置（１０、２０）は、物理的または機能的に少なくとも二つの情報処理装置を用いて実現してもよい。また、フィルタリング装置（１０、２０）は、専用の装置として実現してもよい。また、フィルタリング装置（１０、２０）の一部の機能のみを情報処理装置を用いて実現しても良い。
【００８３】
図１２は、本発明の各実施形態のフィルタリング装置を実現可能な情報処理装置のハードウェア構成例を概略的に示す図である。情報処理装置３０は、通信インタフェース３１、入出力インタフェース３２、演算装置３３、記憶装置３４、不揮発性記憶装置３５およびドライブ装置３６を備える。
【００８４】
通信インタフェース３１は、各実施形態の無線通信装置（１０、２０）が、有線あるいは／および無線で外部装置と通信するための通信手段である。なお、フィルタリング装置（１０、２０）を、少なくとも二つの情報処理装置を用いて実現する場合、それらの装置の間を通信インタフェース３１経由で相互に通信可能なように接続しても良い。
【００８５】
入出力インタフェース３２は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。
【００８６】
演算装置３３は、汎用のＣＰＵ（Central Processing Unit）やマイクロプロセッサ等の演算処理装置である。演算装置３３は、たとえば、不揮発性記憶装置３５に記憶された各種プログラムを記憶装置３４に読み出し、読み出したプログラムに従って処理を実行することが可能である。
【００８７】
記憶装置３４は、演算装置３３から参照可能な、ＲＡＭ（Random Access Memory）等のメモリ装置であり、プログラムや各種データ等を記憶する。記憶装置３４は、揮発性のメモリ装置であっても良い。
【００８８】
不揮発性記憶装置３５は、たとえばＲＯＭ（Read Only Memory）、フラッシュメモリ、等の、不揮発性の記憶装置であり、各種プログラムやデータ等を記録することが可能である。
【００８９】
ドライブ装置３６は、たとえば、後述する記録媒体３７に対するデータの読み込みや書き込みを処理する装置である。
【００９０】
記録媒体３７は、たとえば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
【００９１】
本発明の各実施形態は、たとえば、図１２に例示した情報処理装置３０によりフィルタリング装置（１０、２０）を構成し、このフィルタリング装置に対して、上記各実施形態において説明した機能を実現可能なプログラムを供給することにより実現してもよい。この場合、フィルタリング装置に対して供給したプログラムを、演算装置３３が実行することによって、実施形態を実現することが可能である。また、フィルタリング装置のすべてではなく、一部の機能を情報処理装置３０で構成することも可能である。
【００９２】
さらに、上記プログラムを記録媒体３７に記録しておき、フィルタリング装置の出荷段階、あるいは運用段階等において、適宜上記プログラムがドライブ装置３６を介して不揮発性記憶装置３５に格納されるよう構成してもよい。なお、この場合、上記プログラムの供給方法は、出荷前の製造段階、あるいは運用段階等において、適当な治具を利用してフィルタリング装置内にインストールする方法を採用してもよい。また、上記プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等の一般的な手順を採用してもよい。
【００９３】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【００９４】
この出願は、２０１４年１２月１９日に出願された日本出願特願２０１４−２５７１３１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【００９５】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００９６】
（付記１）
パケットデータを受信する受信手段と、
受信した前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、前記パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして前記パケットデータに付与する疑似ヘッダ付与手段と、
前記パケットデータの前記ヘッダ情報をキーとして、前記ヘッダ情報に関するフィルタ条件と前記フィルタ条件を満たした場合に実施する処理とを対応づけたフィルタテーブルを検索し、前記パケットデータの前記ヘッダ情報が満たす前記フィルタ条件に対応づけられた前記処理を、前記パケットデータに対して行う処理として決定するフィルタリング手段と、
前記パケットデータから前記疑似ヘッダ付与手段で付与した前記疑似ヘッダを削除し、前記フィルタリング手段で決定した前記処理を前記パケットデータに対して行う処理手段と
を備えることを特徴とするフィルタリング装置。
【００９７】
（付記２）
前記フィルタリング手段は、さらに、前記パケットデータの前記ヘッダ情報が前記フィルタ条件を満たしたとき、当該ヘッダ情報と、当該フィルタ条件に対応づけられた前記処理とをフローテーブルに記憶し、前記フィルタテーブルの検索の前に、前記パケットデータの前記ヘッダ情報をキーとして前記フローテーブルを検索し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在した場合、前記ヘッダ情報に対応づけられた前記処理を前記パケットデータに対して行う処理として決定し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在しない場合、前記フィルタテーブルの検索を行う
ことを特徴とする付記１に記載のフィルタリング装置。
【００９８】
（付記３）
前記疑似ヘッダ付与手段は、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットであるときに、前記パケットデータの前記ヘッダ情報を、同じ前記フラグメントパケット識別情報を持つ他のフラグメントパケットに付与する前記疑似ヘッダとして記憶する
ことを特徴とする付記１あるいは付記２に記載のフィルタリング装置。
【００９９】
（付記４）
前記疑似ヘッダ付与手段は、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットであるときに、前記パケットデータの前記ヘッダ情報を記憶し、記憶した前記ヘッダ情報を前記疑似ヘッダとして、同じ前記フラグメントパケット識別情報を持つ他のフラグメントパケットに付与する
ことを特徴とする付記１あるいは付記２に記載のフィルタリング装置。
【０１００】
（付記５）
前記疑似ヘッダ付与手段は、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでないとき、前記パケットデータのフラグメントパケット識別情報に関する前記ヘッダ情報が記憶されていない場合には、前記ヘッダ情報が記憶されるまで前記パケットデータを記憶し、前記ヘッダ情報が記憶されたとき、記憶した前記パケットデータに前記ヘッダ情報を前記疑似ヘッダとして付与する
ことを特徴とする付記３あるいは付記４に記載のフィルタリング装置。
【０１０１】
（付記６）
前記疑似ヘッダ付与手段は、前記パケットデータの前記ヘッダ情報が最終フラグメントパケットであることを示してから所定の時間が経過したとき、あるいは、ある前記フラグメントパケット識別情報を持つ前記パケットデータを最後に受信してから所定の時間が経過したとき、前記パケットデータの前記フラグメントパケット識別情報に関する前記ヘッダ情報と前記パケットデータのための記憶領域を他のフラグメントパケット識別情報に関する記憶領域として使用可能にする
ことを特徴とする付記５に記載のフィルタリング装置。
【０１０２】
（付記７）
パケットデータを受信し、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、前記パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして前記パケットデータに付与し、前記パケットデータの前記ヘッダ情報をキーとして、前記ヘッダ情報に関するフィルタ条件と前記フィルタ条件を満たした場合に実施する処理とを対応づけたフィルタテーブルを検索し、前記パケットデータの前記ヘッダ情報が満たす前記フィルタ条件に対応づけられた前記処理を、前記パケットデータに対して行う処理として決定し、前記パケットデータから付与した前記疑似ヘッダを削除し、決定した前記処理を前記パケットデータに対して行う
ことを特徴とするフィルタリング方法。
【０１０３】
（付記８）
さらに、前記パケットデータの前記ヘッダ情報が前記フィルタ条件を満たしたとき、当該ヘッダ情報と、当該フィルタ条件に対応づけられた前記処理とをフローテーブルに記憶し、前記フィルタテーブルの検索の前に、前記パケットデータの前記ヘッダ情報をキーとして前記フローテーブルを検索し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在した場合、前記ヘッダ情報に対応づけられた前記処理を前記パケットデータに対して行う処理として決定し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在しない場合、前記フィルタテーブルの検索を行う
ことを特徴とする付記７に記載のフィルタリング方法。
【０１０４】
（付記９）
前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットであるときに、前記パケットデータの前記ヘッダ情報を、同じ前記フラグメントパケット識別情報を持つ他のフラグメントパケットに付与する前記疑似ヘッダとして記憶する
ことを特徴とする付記７あるいは付記８に記載のフィルタリング方法。
【０１０５】
（付記１０）
前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットであるときに、前記パケットデータの前記ヘッダ情報を記憶し、記憶した前記ヘッダ情報を前記疑似ヘッダとして、同じ前記フラグメントパケット識別情報を持つ他のフラグメントパケットに付与する
ことを特徴とする付記７あるいは付記８に記載のフィルタリング方法。
【０１０６】
（付記１１）
前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでないとき、前記パケットデータのフラグメントパケット識別情報に関する前記ヘッダ情報が記憶されていない場合には、前記ヘッダ情報が記憶されるまで前記パケットデータを記憶し、前記ヘッダ情報が記憶されたとき、記憶した前記パケットデータに前記ヘッダ情報を前記疑似ヘッダとして付与する
ことを特徴とする付記９あるいは付記１０に記載のフィルタリング方法。
【０１０７】
（付記１２）
前記パケットデータの前記ヘッダ情報が最終フラグメントパケットであることを示してから所定の時間が経過したとき、あるいは、ある前記フラグメントパケット識別情報を持つ前記パケットデータを最後に受信してから所定の時間が経過したとき、前記パケットデータの前記フラグメントパケット識別情報に関する前記ヘッダ情報と前記パケットデータのための記憶領域を他のフラグメントパケット識別情報に関する記憶領域として使用可能にする
ことを特徴とする付記１１に記載のフィルタリング方法。
【０１０８】
（付記１３）
コンピュータに、
パケットデータを受信する受信機能と、
前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでない場合に、前記パケットデータと同じフラグメントパケット識別情報を持つ先頭フラグメントパケットのヘッダ情報を疑似ヘッダとして前記パケットデータに付与する疑似ヘッダ付与機能と、
前記パケットデータの前記ヘッダ情報をキーとして、前記ヘッダ情報に関するフィルタ条件と前記フィルタ条件を満たした場合に実施する処理とを対応づけたフィルタテーブルを検索し、前記パケットデータの前記ヘッダ情報が満たす前記フィルタ条件に対応づけられた前記処理を、前記パケットデータに対して行う処理として決定するフィルタリング機能と、
前記パケットデータから前記疑似ヘッダ付与機能で付与した前記疑似ヘッダを削除し、前記フィルタリング機能で決定した前記処理を前記パケットデータに対して行う処理機能と
を実現させることを特徴とするフィルタリングプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【０１０９】
（付記１４）
前記フィルタリング機能は、さらに、前記パケットデータの前記ヘッダ情報が前記フィルタ条件を満たしたとき、当該ヘッダ情報と、当該フィルタ条件に対応づけられた前記処理とをフローテーブルに記憶し、前記フィルタテーブルの検索の前に、前記パケットデータの前記ヘッダ情報をキーとして前記フローテーブルを検索し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在した場合、前記ヘッダ情報に対応づけられた前記処理を前記パケットデータに対して行う処理として決定し、前記フローテーブルに前記パケットデータの前記ヘッダ情報が存在しない場合、前記フィルタテーブルの検索を行う
ことを特徴とする付記１３に記載のフィルタリングプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【０１１０】
（付記１５）
前記疑似ヘッダ付与機能は、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットであるときに、前記パケットデータの前記ヘッダ情報を、同じ前記フラグメントパケット識別情報を持つ他のフラグメントパケットに付与する前記疑似ヘッダとして記憶する
ことを特徴とする付記１３あるいは付記１４に記載のフィルタリングプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【０１１１】
（付記１６）
前記疑似ヘッダ付与機能は、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットであるときに、前記パケットデータの前記ヘッダ情報を記憶し、記憶した前記ヘッダ情報を前記疑似ヘッダとして、同じ前記フラグメントパケット識別情報を持つ他のフラグメントパケットに付与する
ことを特徴とする付記１３あるいは付記１４に記載のフィルタリングプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【０１１２】
（付記１７）
前記疑似ヘッダ付与機能は、前記パケットデータがフラグメントパケットであり、かつ、先頭フラグメントパケットでないとき、前記パケットデータのフラグメントパケット識別情報に関する前記ヘッダ情報が記憶されていない場合には、前記ヘッダ情報が記憶されるまで前記パケットデータを記憶し、前記ヘッダ情報が記憶されたとき、記憶した前記パケットデータに前記ヘッダ情報を前記疑似ヘッダとして付与する
ことを特徴とする付記１５あるいは付記１６に記載のフィルタリングプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【０１１３】
（付記１８）
前記疑似ヘッダ付与機能は、前記パケットデータの前記ヘッダ情報が最終フラグメントパケットであることを示してから所定の時間が経過したとき、あるいは、ある前記フラグメントパケット識別情報を持つ前記パケットデータを最後に受信してから所定の時間が経過したとき、前記パケットデータの前記フラグメントパケット識別情報に関する前記ヘッダ情報と前記パケットデータのための記憶領域を他のフラグメントパケット識別情報に関する記憶領域として使用可能にする
ことを特徴とする付記１７に記載のフィルタリングプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【符号の説明】
【０１１４】
１０、２０    フィルタリング装置
１１    受信部
１２    疑似ヘッダ付与部
１３、２３    フィルタリング部
１４    処理部
１５    フィルタテーブル
２６    フロー検索部
２７    フローテーブル
３０    情報処理装置
【図１】
2016098342.tif 000003
【図２】
2016098342.tif 000004
【図３】
2016098342.tif 000005
【図４】
2016098342.tif 000006
【図５】
2016098342.tif 000007
【図６】
2016098342.tif 000008
【図７】
2016098342.tif 000009
【図８】
2016098342.tif 000010
【図９】
2016098342.tif 000011
【図１０】
2016098342.tif 000012
【図１１】
2016098342.tif 000013
【図１２】
2016098342.tif 000014
【国際調査報告】
2016098342.tif 000015
2016098342.tif 000016
2016098342.tif 000017
2016098342.tif 000018