(57)【要約】      （修正有）【課題】パケット通過制御装置における堅牢性の高いパケット通過制御方法を提供する。【解決手段】パケット通過制御部２のフィルタリング記憶部１４に、通信開始要求パケットおよび通信開始応答パケットに対応する第１および第２フィルタリング情報１４ａ、１４ｂ、ならびに両方向のパケットの通過許可を示す第３フィルタリング情報１４ｃを登録し、前記各パケットが前記対応する各フィルタリング情報と一致している場合に、中央演算処理部を介さずに通過処理を行う。前記第２および第３フィルタリング情報１４ｂ、１４ｃは、前記第１フィルタリング情報１４ａより優先度の高い情報として優先的にフィルタリング記憶部１４のＳＰＩエントリに登録される。【選択図】図７
2010109731.tif 000002
【特許請求の範囲】
【請求項１】
パケット通過制御部と中央演算処理部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であって、
パケットのフィルタ規則適合判定条件を示す全ての通信種別のパケットについてパケットの通過許可、廃棄、中央演算処理転送のいずれかを示す第１フィルタリング情報を前記パケット通過制御部のフィルタリング記憶部に登録し、
受信した通信開始要求パケットが前記第１フィルタリングに一致する場合に、前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケットについて、前記中央演算処理転送を示す第２フィルタリング情報を前記フィルタリング記憶部に登録し、
前記通信開始応答パケットが前記第２フィルタリング情報に一致する場合には、前記フィルタリング記憶部に登録された前記第２フィルタリング情報を削除し、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第３フィルタリング情報を前記フィルタリング記憶部に登録し、
前記パケット通過制御部の通過処理手段が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第３フィルタリング情報に一致するか否かを判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうことを特徴とするパケット通過制御方法。
【請求項２】
請求項１に記載のパケット通過制御方法において、
前記第２および第３フィルタリング情報を、前記第１フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録することを特徴とするパケット通過制御方法。
【請求項３】
請求項１または２に記載のパケット通過制御方法において、
前記第１、第２および第３フィルタリング情報を、前記フィルタリング記憶部のＳＰＩエントリに登録することを特徴とするパケット通過制御方法。
【請求項４】
パケット通過制御部と中央演算処理部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であって、
最も優先度の低いフィルタリング情報として、パケットのフィルタ規則適合判定条件を示す全ての通信種別のパケットについてパケットの通過許可、廃棄、中央演算処理転送のいずれかを示す制御種別である第１フィルタリング情報を前記パケット通過制御部のフィルタリング記憶部に登録し、
前記パケット通過制御部の中央演算処理部転送手段が、通信開始要求パケットを受信した際に、当該パケットの通信種別と制御種別が、前記フィルタリング記憶部に登録されている前記第１フィルタリングに一致する場合に、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
前記中央演算処理部の第２フィルタリング情報登録手段が、前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケットについて、前記制御種別が中央演算処理部への転送を示す第２フィルタリング情報を、前記第１フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録し、
前記中央演算処理部転送手段が、前記フィルタリング記憶部に登録された前記第２フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記第２フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
前記中央演算処理部転送手段が、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通信開始完了パケットについて、前記フィルタリング記憶部に登録された前記第１フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記第１フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
前記中央演算処理部の第３フィルタリング情報登録手段が、前記フィルタリング記憶部に登録された前記第２フィルタリング情報を削除し、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第３フィルタリング情報を、前記第１フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録し、
前記パケット通過制御部の通過処理手段が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第３フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうことを特徴とするパケット通過制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイヤーウォールやルータなどの機能であるＳＰＩ（Ｓｔａｔｅｆｕｌ Ｐａｃｋｅｔ  Ｉｎｓｐｅｃｔｉｏｎ）の技術を用いたパケット通過制御装置におけるパケット通過制御方法に関するものである。
【背景技術】
【０００２】
ファイヤーウォールを通過するパケットのデータを読み取り、内容を判断して動的にポートを開放・閉鎖する技術としてＳＰＩが存在する。この技術は、通常ソフトウエアを用いてＣＰＵなどの中央演算装置で処理されている。さらに、中央演算装置におけるＳＰＩ処理を軽減する方法として、下記の特許文献１が公開されている。
【特許文献１】特許第４１３７９４８号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前記特許文献1では、中央演算装置におけるＳＰＩ処理を軽減することのできる、パケット通過制御装置及びその方法を提供している。しかしながら、パケットのデータを読み取り、その内容を判断して動的にポート開放を行う手段において、伝送制御プロトコル(ＴＣＰ)における通信開始判定のための状態監視が不十分であり、堅牢性が低いという問題がある。
【０００４】
本発明は、前記した従来技術に鑑みてなされたものであり、その目的は、パケット通過制御装置における堅牢性の高いパケット通過制御方法を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、パケット通過制御部と中央演算処理部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であって、
【０００６】
パケットのフィルタ規則適合判定条件を示す全ての通信種別のパケットについてパケットの通過許可、廃棄、中央演算処理転送のいずれかを示す第１フィルタリング情報を前記パケット通過制御部のフィルタリング記憶部に登録し、
【０００７】
受信した通信開始要求パケットが前記第１フィルタリング情報に一致する場合に、前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケットについて、前記中央演算処理転送を示す第２フィルタリング情報を前記フィルタリング記憶部に登録し、
【０００８】
前記通信開始応答パケットが前記第２フィルタリング情報に一致する場合には、前記フィルタリング記憶部に登録された前記第２フィルタリング情報を削除し、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第３フィルタリング情報を前記フィルタリング記憶部に登録し、
【０００９】
前記パケット通過制御部の通過処理手段が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第３フィルタリング情報に一致するか否かを判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうようにした点に特徴がある。
【００１０】
また、本発明は、パケット通過制御部と中央演算処理部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であって、
【００１１】
最も優先度の低いフィルタリング情報として、パケットのフィルタ規則適合判定条件を示す全ての通信種別のパケットについてパケットの通過許可、廃棄、中央演算処理転送のいずれかを示す制御種別である第１フィルタリング情報を前記パケット通過制御部のフィルタリング記憶部に登録し、
【００１２】
前記パケット通過制御部の中央演算処理部転送手段が、通信開始要求パケットを受信した際に、当該パケットの通信種別と制御種別が、前記フィルタリング記憶部に登録されている前記第１フィルタリングに一致する場合に、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
【００１３】
前記中央演算処理部の第２フィルタリング情報登録手段が、前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケットについて、前記制御種別が中央演算処理部への転送を示す第２フィルタリング情報を、前記第１フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録し、
【００１４】
前記中央演算処理部転送手段が、前記フィルタリング記憶部に登録された前記第２フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記第２フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
【００１５】
前記中央演算処理部転送手段が、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通信開始完了パケットについて、前記フィルタリング記憶部に登録された前記第１フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記第１フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
【００１６】
前記中央演算処理部の第３フィルタリング情報登録手段が、前記フィルタリング記憶部に登録された前記第２フィルタリング情報を削除し、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第３フィルタリング情報を、前記第１フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録し、
【００１７】
前記パケット通過制御部の通過処理手段が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第３フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうようにした点に他の特徴がある。
【発明の効果】
【００１８】
本発明によれば、通過処理手段、フィルタリング記憶部などを有するパケット通過制御部を、例えば１つのチップとしてまとめた回路構成とし、通過処理手段にパケットフィルタリングの処理を任せてＣＰＵの処理軽減を行なう場合であっても、中央演算処理部が行う従来のパケットフィルタリングより堅牢性の高い通信を実現できる。
【００１９】
また、パケット通過制御部のフィルタリング記憶部に、第１、第２、第３フィルタリング情報を登録することに関して、通信開始要求パケットについては前記第１フィルタリング情報と一致するか否かを判断し、一致する場合には第２フィルタリング情報を登録し、通信開始応答パケットが前記第２フィルタリング情報に一致するか否かを判断し、一致する場合には一方の通信ネットワーク経路から他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す前記第３フィルタリング情報をフィルタリング記憶部に登録し、前記受信したパケットに関連する一連のパケット処理について、前記第３フィルタリング情報に一致するか否かを判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうようにしたので、中央演算処理部が行う従来のパケットフィルタリングより堅牢性の高いパケット通過制御方法を提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明を図面を参照して詳細に説明する。図１は、本発明のパケット通過制御方法の一実施形態が実施されるパケット通過制御装置の構成を示すブロック図である。
【００２１】
図示されているように、パケット通過制御装置１は、例えばファイアーウォールやルータなどに組み込まれるパケット通過制御部２および中央演算処理部３から構成されている。
【００２２】
前記パケット通過制御装置１は、ＷＡＮ側のＩ／Ｆ（ｉｎｔｅｒｆａｃｅ）１１、ＬＡＮ側のＩ／Ｆ（ｉｎｔｅｒｆａｃｅ）１２、フィルタリング処理部（中央演算処理部転送手段、通過処理手段）１３、フィルタリング記憶部１４および中央演算処理インタフェース（ＣＰＵ／ＩＦ）１５から構成されている。ここで、前記フィルタリング処理部１３は、少なくともパケットの通過、廃棄、ＣＰＵ転送の処理を行なう。また、前記フィルタリング記憶部１４はフィルタリング情報が記録される記憶部である。また、前記中央演算処理インタフェース１５は、ＣＰＵ（中央演算処理部）１６へ送信される情報を受付ける処理を行う。そしてこれらＩ／Ｆ（ＷＡＮ）１１、Ｉ／Ｆ（ＬＡＮ）１２、フィルタリング処理部１３、フィルタリング記憶部１４、中央演算処理インタフェース１５は、転送処理の高速化を図るために半導体素子で構成したパケット通過制御部として、例えば１つのチップとしてまとめて回路構成されている。
【００２３】
前記フィルタリング情報とは、パケットの通信種別＜通信サービス（ＴＣＰ、ＵＤＰ、ＨＴＴＰ、ＦＴＰなどのサービス）、フラグ種別（ＳＹＮ、ＦＩＮなど）、宛先ＩＰアドレス、宛先ポート番号、送信元ＩＰアドレス、送信元ポート番号などのフィルタ規則適合判定条件＞を示す情報や、通過許可、廃棄、ＣＰＵ転送の制御種別の情報であり、このフィルタイリング情報に基づいてフィルタリング処理部１３がフィルタリングの処理を行う。
【００２４】
次に、前記中央演算処理部３は、ＣＰＵ１６およびテーブル記憶部１７から構成されている。ＣＰＵ１６は、機能的には、第１フィルタリング登録手段、第２フィルタリング情報登録手段、第２フィルタリング削除手段、第３フィルタリング登録手段、第３フィルタリング削除手段等を有し、主にフィルタリング処理部１３で行うフィルタリング処理から外れた（つまりＣＰＵ転送された）パケットをパケット通過制御部から受信し、受信したフレームに対する転送先を検出する等のＳＰＩ処理を、予め内部で動作するソフトウエアに基づいて行う。また、テーブル記憶部１７は、フィルタリングテーブルを有し、ネットワーク管理者などのユーザによって登録されたフィルタリング情報を記憶している。そして、ＳＰＩ処理を行う際には、ＣＰＵ１６は、中央演算処理インタフェース１５を介してフィルタリング処理部１３から受付けたパケットの情報のみのフィルタリング処理を、テーブル記憶部１７に記録されているフィルタリング情報に基づいて行なう。
【００２５】
次に、前記フィルタリング記憶部１４の構成について説明する。図２は、該フィルタリング記憶部１４の構成を示す。
【００２６】
図２に示されているように、フィルタリング記憶部１４には、ＣＰＵ転送候補エントリ、ＳＰＩエントリおよびフィルタエントリからなる３種類のフィルタリング情報が記録される。前記ＣＰＵ転送候補エントリは、ＣＰＵ１６へ転送すると予め決められた特定のパケットについてのフィルタリング情報であり、例えばＡＲＰのパケットなどの、他の装置へ転送せずに自装置で処理するパケットに関するフィルタリング情報である。また、前記ＳＰＩエントリは、ＣＰＵ１６が動的に生成したフィルタリング情報であり、例えば、内部ネットワークのＡ装置から外部ネットワークのＢ装置へのＨＴＴＰ接続を許可している場合において、当該パケットを受信した際に、Ｂ装置からＡ装置に対する返答のパケットが通過できるように、動的に生成した、Ｂ装置→Ａ装置の通信方向のＨＴＴＰ接続の通過を示すフィルタリング情報などである。また、前記フィルタエントリは、ユーザ登録作業によって予めテーブル記憶部１７に記録されたものであり、パケット通過制御装置１の起動時などにＣＰＵ１６によって自動的に書込まれる。また、このフィルタエントリにより１つセッションの通信開始要求パケット（ＳＹＮ）などを検出する。なお、図においてはＣＰＵ転送候補エントリ、ＳＰＩエントリ、フィルタエントリの順に優先度が与えられている。優先度とはＳＰＩ処理として受信したパケットに一致するか否かを判定するための優先順位である。
【００２７】
図３は、フィルタリング記憶部１４の構成とその中に形成されるフィルタリング情報登録状況テーブルとを示す図である。該フィルタリング情報登録状況テーブルとは、ＣＰＵ１６がフィルタリング記憶部１４に登録したフィルタリング情報を記憶するためのテーブルである。
【００２８】
次に、フィルタリング情報のフィルタリング記憶部１４への第１の登録処理について説明する。
【００２９】
パケット通過制御装置１が起動する際やＣＰＵ１６の保持するフィルタリング情報登録状況テーブルの初期化の指示があった場合には、まず、ＣＰＵ１６はテーブル記憶部１７からフィルタリング情報（第１フィルタリング情報）を読み込む。このフィルタリング情報は、図２で示したＣＰＵ転送候補エントリ及びフィルタエントリの各フィルタリング情報である。前記起動や初期化の際に、ＣＰＵ１６は、テーブル記憶部１７から読み込んだフィルタリング情報（ＣＰＵ転送候補エントリ、フィルタエントリ）をフィルタリング記憶部１４に登録する。この登録において、フィルタエントリの制御種別が「通過」となっている情報については、「ＣＰＵ転送」と書き換えて登録する。
【００３０】
ＣＰＵ１６はＳＰＩエントリとなるフィルタリング情報についても登録処理を行う。このＳＰＩエントリは、上記したように、パケット通過制御装置１がフィルタリングの処理を開始して動作している際に、セッションの通信開始要求パケット(ＳＹＮ)、通信開始応答パケット（ＳＹＮ＆ＡＣＫ）と通信開始完了パケット（ＡＣＫ）の受信に基づいてＣＰＵ１６が動的に生成したフィルタリング情報であり、ＣＰＵ１６はこの生成を行なうと、ＣＰＵ転送候補エントリとフィルタエントリとの間にＳＰＩエントリを登録していく。つまり、フィルタリング情報の中でＣＰＵ転送候補エントリを最も優先度を高く登録し、またＳＰＩエントリを次に優先度を高く登録し、また最も優先度の低いフィルタリング情報としてフィルタエントリを登録する。ＣＰＵ１６はフィルタリング記憶部１４に登録したフィルタリング情報については、登録したか否かを示すフラグなどをフィルタリング情報登録状況テーブルに書込んで記憶する。また優先度の順番などについてもフィルタリング情報登録状況テーブルに書込んで記憶する。
【００３１】
さて、前記特許文献１に記載されているパケット通過制御方法では、例えば図８に示されるようになっていた。
【００３２】
ＣＰＵ１６は初期化の指示を受け付けた場合や起動時において、テーブル記憶部１７からＣＰＵ転送候補エントリとフィルタエントリの各制御情報を読み取って、フィルタリング記憶部１４にＣＰＵ／ＩＦ１５を介して登録する。この最初のフィルタリング情報の登録が完了すると、ＳＰＩの処理を伴うパケットフィルタリングの処理を開始する。
【００３３】
図示されているように、ＬＡＮ側のＩ／Ｆ１２が通信開始要求パケット（パケットＡ）を受け付けると、パケット通過制御部（２）はフィルタリング記憶部１４に記録されているフィルタリング情報を優先度の高い順に参照し、パケットＡと一致するフィルタリング情報があるか否かを判定する。ここで、一致するフィルタリング情報があると判定されると、その制御情報はＣＰＵ転送（フィルタエントリの制御種別が通過である場合には、登録時に書き換えられて全てＣＰＵ転送となっている）であるので、パケットＡをＣＰＵ１６に転送する。ＣＰＵ１６は、パケットＡを受信すると、該パケットＡに関するＳＰＩエントリを生成する処理を開始する。この時、ＣＰＵ１６はＳＰＩエントリ（１１）（１２）を生成する。ここに、ＳＰＩエントリ（１１）は、パケットＡを初回（ＳＹＮ）のセッションとする当該セッションにおける他のパケットのうちＩ／Ｆ１１からＩ／Ｆ１２へ通過するパケットのためのフィルタリング情報である。また、ＳＰＩエントリ（１２）は、パケットＡを初回（ＳＹＮ）のセッションとした当該セッションのパケットのうちＩ／Ｆ１２からＩ／Ｆ１１へ通過するパケット（ＦＩＮ，ＲＳＴ＝０）のためのフィルタリング情報である。ＣＰＵ１６は、この生成したＳＰＩエントリ（１１）（１２）をフィルタリング記憶部１４に登録する。
【００３４】
次に、パケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの他のパケットをＩ／Ｆ（ＷＡＮ）１１やＩ／Ｆ（ＬＡＮ）１２で受信する。フィルタリング処理部１３はそれらの一連のパケットについてフィルタリング処理を行い、これらのパケットの通信種別が前記ＳＰＩエントリ（１１）またはＳＰＩエントリ（１２）と一致すると、これらのＳＰＩエントリ（１１）（１２）の制御種別が「通過」となっているので、前記パケットはＣＰＵ１６に転送されずに、Ｉ／Ｆ（ＷＡＮ）１１で受信したパケットについては直接にＩ／Ｆ（ＬＡＮ）１２から出力し、逆にＩ／Ｆ（ＬＡＮ）１２で受信したパケットについては直接にＩ／Ｆ（ＷＡＮ）１１から出力する。
【００３５】
以上のように、特許文献１に記された方法では、通信開始要求パケットＡが予め登録されていた最初のフィルタリング情報と一致すると、ＳＰＩエントリ（１１）（１２）が生成・登録され、パケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの他のパケットはＩ／Ｆ（ＷＡＮ）１１とＩ／Ｆ（ＬＡＮ）１２の間を直接伝送されるようになっている。このため、特許文献１に記載の方法は、前記したように、伝送制御プロトコル(ＴＣＰ)における通信開始判定のための状態監視が不十分であり、堅牢性が低いという問題があった。
【００３６】
本発明は、この問題を解消または軽減するものであり、本発明の一実施形態を以下に説明する。図４と図５はパケット通過制御装置１の処理フローの概要を示す図であり、図５は図４の続きの図である。また、図６はパケット通過制御装置１が受信するパケットと、そのパケットの受信に基づいて動的に生成したＳＰＩエントリとを示すテーブルである。以下に、図４、５、６を用いてパケット通過制御装置１の動作（処理フロー）について説明する。
【００３７】
まず、ＣＰＵ１６は初期化の指示を受付けた場合や起動時において、パケット通過制御装置テーブル記憶部１７からＣＰＵ転送候補エントリとフィルタエントリの各フィルタリング情報を読み取って、フィルタリング記憶部１４にＣＰＵ／ＩＦ１５を介して登録する。この時ＣＰＵ転送候補エントリを優先度を高く、またフィルタエントリをＣＰＵ転送候補エントリよりもフィルタ規則適用の優先度を低く登録する。そしてＣＰＵ１６はその優先度の順番をフィルタリング情報登録状況テーブルに記録する。
【００３８】
最初のフィルタリング情報の登録が完了すると、ＳＰＩの処理を伴うパケットフィルタリングの処理を開始する。いま、パケットＡをＬＡＮ側のＩ／Ｆ１２により受付けたとする（ステップＳ１）と、パケットＡは図６に示すように、受信論理Ｉ／ＦがＩ／Ｆ（ＬＡＮ）１２、送信論理Ｉ／ＦがＩ／Ｆ（ＷＡＮ）１１、送信元ＩＰアドレス（Ｓ−ＩＰ）がＩＰ−ｘ、宛先ＩＰアドレス（Ｄ−ＩＰ）がＩＰ−ｙ、送信元ポート番号（Ｓ−Ｐｏｒｔ）がＰｏｒｔ−ｘ、宛先ポート番号（Ｄ−Ｐｏｒｔ）がＰｏｒｔ−ｙ、またＴＣＰフラグがＳＹＮのパケットである。
【００３９】
フィルタリング処理部１３はこのパケットＡを受付けると、次に、フィルタリング記憶部１４に記録されているフィルタリング情報を優先度の高い順に順次参照し、該フィルタリング情報と受信したパケットＡの通信種別（通信サービス、フラグ種別、宛先ＩＰアドレス、宛先ポート番号、送信元ＩＰアドレス、送信元ポート番号など）と比較して、パケットＡと一致するフィルタリング情報があるか否かを判定する。ここで、フィルタリング記憶部１４に記録されているフィルタエントリは全ての通信種別に一致し、制御種別はＣＰＵ転送（フィルタエントリの制御種別が通過である場合には、登録時に書き換えられて全てＣＰＵ転送となっている）であるので、パケットＡをＣＰＵ１６に転送する（ステップＳ２）。
【００４０】
ＣＰＵ１６はパケットＡを受信すると、そのパケットＡに関するＳＰＩエントリを生成する処理を開始する。この時、ＣＰＵ１６は、図６に示すようなＳＰＩエントリ（１）を生成する。このＳＰＩエントリ（１）は、受信論理Ｉ／ＦがＩ／Ｆ（ＷＡＮ）１１、送信論理Ｉ／ＦがＩ／Ｆ（ＬＡＮ）１２、送信元ＩＰアドレス（Ｓ−ＩＰ）がＩＰ−ｙ、宛先ＩＰアドレス（Ｄ−ＩＰ）がＩＰ−ｘ、送信元ポート番号（Ｓ−Ｐｏｒｔ）がＰｏｒｔ−ｙ、宛先ポート番号（Ｄ−Ｐｏｒｔ）がＰｏｒｔ−ｘであるパケットを通過させ、またＴＣＰフラグがＳＹＮ＆ＡＣＫであるパケットを通過させるフィルタリング情報（第２フィルタリング情報）である。
【００４１】
ＣＰＵ１６は監視状態を遷移して、上記のＳＰＩエントリ（１）を生成すると、該ＳＰＩエントリ（１）をフィルタリング記憶部１４に登録する（ステップＳ３）。この時、ＣＰＵ１６は、フィルタエントリより優先度が高く、またＣＰＵ転送候補エントリよりも優先度が低い位置（アドレス：番地）に登録する。また、ＣＰＵ１６は登録したＳＰＩエントリ（１）の優先度の情報をフィルタリング情報登録状況テーブルにより記憶しておく。
【００４２】
ＣＰＵ１６はＳＰＩエントリ（１）を登録すると、パケットＡについて、フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報に基づいてフィルタリング処理を行う。フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報には、全ての通信種別と一致するフィルタエントリ（制御種別＝通過）が記録されているので、ＣＰＵ１６はパケットＡをＣＰＵ／ＩＦ１５を介してＩ／Ｆ（ＷＡＮ）１１に転送し、ＷＡＮ側の通信ネットワークに送信する（ステップＳ４）。
【００４３】
その後、フィルタリング処理部１３は通信開始応答パケット（パケットＢ）を受付ける（ステップＳ５）と、フィルタリング記憶部１４に記録されているフィルタリング情報を優先度の高い順に順次参照し、受信したパケットＢの通信種別（通信サービス、フラグ種別、宛先ＩＰアドレス、宛先ポート番号、送信元ＩＰアドレス、送信元ポート番号など）と比較して、パケットＢと一致するフィルタリング情報があるか否かを判定する。ここで、パケットＢはＳＰＩエントリ（１）と一致し、制御種別がＣＰＵ転送であるので、パケットＢはＣＰＵ１６に転送される（ステップＳ６）。  
【００４４】
ＣＰＵ１６はパケットＢを受信すると、そのパケットＢに関するＳＰＩエントリを生成する処理の状態を遷移させ、パケットＢについて、フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報に基づいてフィルタリング処理を行う。フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報には、パケットＢの通信種別と一致するフィルタエントリ（制御種別＝通過）が記録されているので、ＣＰＵ１６はパケットＡをＣＰＵ／ＩＦ１５を介してＩ／Ｆ（ＬＡＮ）１２に転送し、ＬＡＮ側の通信ネットワークに送信する（ステップＳ７）。
【００４５】
次に、フィルタリング処理部１３は通信開始完了パケット（パケットＣ）を受付ける（ステップＳ８）と、フィルタリング記憶部１４に記録されているフィルタリング情報を優先度の高い順に順次参照し、受信したパケットＣの通信種別（通信サービス、フラグ種別、宛先ＩＰアドレス、宛先ポート番号、送信元ＩＰアドレス、送信元ポート番号など）と比較して、パケットＣと一致するフィルタリング情報があるか否かを判定する。ここで、フィルタリング記憶部１４に記録されているフィルタエントリは全ての通信種別に一致し、制御種別はＣＰＵ転送であるので、パケットＣをＣＰＵ１６に転送する（ステップＳ９）。
【００４６】
ＣＰＵ１６はパケットＣを受信すると、そのパケットＣに関するＳＰＩエントリを生成する処理の状態をさらに遷移させる。つまり、監視状態を終了する。この時ＣＰＵ１６はＳＰＩエントリ（１）を削除し、合わせてフィルタリング記憶部１４に登録したＳＰＩエントリ（１）も削除する。さらに、フィルタリング情報登録状況テーブルに記憶しているＳＰＩエントリ（１）の優先度の情報も削除する（ステップＳ１０）。つまり、前記第２フィルタリング情報を削除する。
【００４７】
その後、ＣＰＵ１６は、図６で示すようなＳＰＩエントリ（２）とＳＰＩエントリ（３）とＳＰＩエントリ（４）、つまり第３フィルタリング情報を生成する。ＳＰＩエントリ（２）は、受信論理Ｉ／ＦがＩ／Ｆ（ＷＡＮ）１１、送信論理Ｉ／ＦがＩ／Ｆ（ＬＡＮ）１２、送信元ＩＰアドレス（Ｓ−ＩＰ）がＩＰ−ｙ、宛先ＩＰアドレス（Ｄ−ＩＰ）がＩＰ−ｘ、送信元ポート番号（Ｓ−Ｐｏｒｔ）がＰｏｒｔ−ｙ、宛先ポート番号（Ｄ−Ｐｏｒｔ）がＰｏｒｔ−ｘ、またプロトコルがＴＣＰであり、ＴＣＰフラグがＳＹＮ／ＡＣＫ／ＰＳＨ／ＵＲＧであるか、またはＦＩＮ、ＲＳＴ＝０のパケットである。つまり、パケットＡを初回のセッションとした当該セッションのパケットのうちＩ／Ｆ（ＷＡＮ）１１からＩ／Ｆ（ＬＡＮ）１２へ通過するパケット（ＦＩＮ、ＲＳＴ＝０）のためのフィルタリング情報である。
【００４８】
またＳＰＩエントリ（３）は、受信論理Ｉ／ＦがＩ／Ｆ（ＬＡＮ）１２、送信論理Ｉ／ＦがＩ／Ｆ（ＷＡＮ）１１、送信元ＩＰアドレス（Ｓ−ＩＰ）がＩＰ−ｘ、宛先ＩＰアドレス（Ｄ−ＩＰ）がＩＰ−ｙ、送信元ポート番号（Ｓ−Ｐｏｒｔ）がＰｏｒｔ−ｘ、宛先ポート番号（Ｄ−Ｐｏｒｔ）がＰｏｒｔ−ｙ、またプロトコルがＴＣＰであり、ＴＣＰフラグがＳＹＮ／ＡＣＫ／ＰＳＨ／ＵＲＧであるか、またはＦＩＮ、ＲＳＴ＝０のパケットである。つまり、パケットＡを初回のセッションとした当該セッションのパケットのうちＩ／Ｆ（ＬＡＮ）１２からＩ／Ｆ（ＷＡＮ）１１へ通過するパケット（ＦＩＮ、ＲＳＴ＝０）のためのフィルタリング情報である。
【００４９】
さらにＳＰＩエントリ（４）は、受信論理Ｉ／ＦがＩ／Ｆ（ＷＡＮ）１１、送信論理Ｉ／ＦがＩ／Ｆ（ＬＡＮ）１２、送信元ＩＰアドレス（Ｓ−ＩＰ）がＩＰ−ｙ、宛先ＩＰアドレス（Ｄ−ＩＰ）がＩＰ−ｘ、送信元ポート番号（Ｓ−Ｐｏｒｔ）がＰｏｒｔ−ｙ、宛先ポート番号（Ｄ−Ｐｏｒｔ）がＰｏｒｔ−ｘ、またプロトコルがＴＣＰであり、ＴＣＰフラグがＦＩＮ＝１、またはＲＳＴ＝１のパケットである。つまり、パケットＡを初回のセッションとした当該セッションのパケットのうちＩ／Ｆ（ＷＡＮ）１１で受信したＦＩＮ＝１、またはＲＳＴ＝１のパケットをＣＰＵ転送するためのフィルタリング情報である。
【００５０】
そして、ＣＰＵ１６は生成したＳＰＩエントリ（２）と（３）と（４）とをフィルタリング記憶部１４に登録する（ステップＳ１１）。この時ＣＰＵ１６は、フィルタエントリより優先度が高く、またＣＰＵ転送候補エントリよりも優先度が低い位置（アドレス：番地）に登録する。またＣＰＵ１６は登録したＳＰＩエントリ（２）（３）（４）の優先度の情報をフィルタリング情報登録状況テーブルにより記憶しておく。
【００５１】
ＳＰＩエントリ（２）（３）（４）を登録すると、パケットＣについて、フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報に基づいてフィルタリング処理を行う。フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報には、全ての通信種別と一致するフィルタエントリ（制御種別＝通過）が記録されているので、ＣＰＵ１６はパケットＣをＣＰＵ／ＩＦ１５を介してＩ／Ｆ（ＷＡＮ）１１に転送し、ＷＡＮ側の通信ネットワークに送信する（ステップＳ１２）。
【００５２】
次にパケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの他のパケットがＩ／Ｆ（ＷＡＮ）１１やＩ／Ｆ（ＬＡＮ）１２で受信する。フィルタリング処理部１３はそれらの一連のパケットについてフィルタリング処理を行なう。このフィルタリング処理は上記同様にフィルタリング記憶部１４に登録されているフィルタリング情報と比較して行う。ここで、パケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの他のパケットはＳＰＩエントリ（２）またはＳＰＩエントリ（３）と一致する。またこのＳＰＩエントリ（２）（３）は制御種別が“通過”となっている。従って、フィルタリング処理部１３は、パケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの他のパケットを受信した場合には、ＣＰＵ１６に転送せず、Ｉ／Ｆ（ＷＡＮ）１１で受信したパケットについてはダイレクトにＩ／Ｆ（ＬＡＮ）１２から出力し、またＩ／Ｆ（ＬＡＮ）１２で受信したパケットについてはダイレクトにＩ／Ｆ（ＷＡＮ）１１から出力する。つまりパケットＡをセッションの初回に受信したパケットとして、それ以降の同一セッションのパケットについてはパケット通過制御部でＳＰＩの処理（双方向のハードウェア転送の処理）を行なう（ステップＳ１３）。
【００５３】
次に、図５に示されているように、パケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの最後（ＦＩＮ）のパケットＤをＩ／Ｆ（ＬＡＮ）１２で受信したとする（ステップＳ１４）。この場合、フィルタリング処理部１３はフィルタリング記憶部１４に登録されているフィルタリング情報と比較する。ここで、ＳＰＩエントリ（２）はＦＩＮ＝１となっているパケットについてはフィルタの対象外であるので、フィルタリング処理部１３は優先度に従って順次フィルタエントリまで確認する。そして、フィルタエントリにおいて通信種別の一致するエントリ（パケットＡを処理したフィルタエントリと同一のエントリ）が存在し、その制御種別がＣＰＵ転送であるので、パケットＤをＣＰＵ／ＩＦ１５を介してＣＰＵ１６へ転送する（ステップＳ１５）。ＣＰＵ１６はＳＰＩの状態を遷移させ、パケットＤについての制御種別がフィルタリング情報登録状況テーブルにおいて“通過”となっているので、Ｉ／Ｆ（ＷＡＮ）１１へ出力する（ステップＳ１６）。
【００５４】
さらに続けて、Ｉ／Ｆ（ＷＡＮ）１１へ出力したパケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの最後（ＦＩＮ）のパケットに応答するパケットＥをＩ／Ｆ（ＷＡＮ）１１で受信したとする（ステップＳ１７）。この場合、フィルタリング処理部１３はフィルタリング記憶部１４に登録されているフィルタリング情報と比較する。ここで、ＳＰＩエントリ（３）はＦＩＮ＝１となっているパケットについてはフィルタの対象外であるので、パケットＥはＳＰＩエントリ（４）に一致し、その制御種別がＣＰＵ転送であるので、パケットＥをＣＰＵ／ＩＦ１５を介してＣＰＵ１６へ転送する（ステップＳ１８）。ＣＰＵ１６はＳＰＩの状態を遷移させ、パケットＥについての制御種別がフィルタリング情報登録状況テーブルにおいて“通過”となっているので、Ｉ／Ｆ（ＬＡＮ）１２へ出力する（ステップＳ１９）。
【００５５】
また、ＣＰＵ１６は、Ｉ／Ｆ（ＬＡＮ）１２で受信したＴＣＰフラグがＦＩＮであるパケットＤをＩ／Ｆ（ＷＡＮ）１１へ出力した後にＴＣＰフラグがＦＩＮであるパケットＥをＩ／Ｆ（ＷＡＮ）１１で受信したため、そのパケットに関するセッションのＳＰＩエントリ（２）、（３）及び（４）を、パケットＥのＩ／Ｆ（ＬＡＮ）１２への送出後、所定の時間経過した際にフィルタリング記憶部１４から削除する処理を行なう（ステップＳ２０）。
【００５６】
以上の処理により、フィルタリング処理部１３、フィルタリング記憶部１４などを有するパケット通過制御部２を、例えば１つのチップとしてまとめて回路構成し、フィルタリング処理部１３にＳＰＩの処理を任せた場合であっても、ＣＰＵで状態監視を行うＳＰＩ処理と同等の堅牢性の高い通信を実現ができる。
【００５７】
図７は、本発明の要部の機能ブロック図である。図において、１０は前記フィルタリング処理部１３およびＣＰＵ／ＩＦ１５からなる中央演算処理部転送手段を示し、他の図１と同符号は、図１と同一または同等物を示す。
【００５８】
本発明は、パケット通過制御部２と中央演算処理部３とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であり、以下の方法が実施される。
【００５９】
（１）まず、テーブル記憶部１７から読み出された、パケットのフィルタ規則適合判定条件を示す全ての通信種別のパケットについてパケットの通過許可、廃棄、中央演算処理転送のいずれかを示す制御種別である中央演算処理転送を示す第１フィルタリング情報１４ａを、最も優先度の低いフィルタリング情報として、前記パケット通過制御部のフィルタリング記憶部１４に登録する。
【００６０】
（２）前記パケット通過制御部の中央演算処理部転送手段１０は、一方の通信ネットワーク経路から他方の通信ネットワーク経路への通信開始要求パケット（パケットＡ）を受信すると、当該パケットの通信種別と制御種別が、前記フィルタリング記憶部１４に登録されている前記第１フィルタリング情報１４ａに一致するか否かを判定し、一致する場合に、その受信したパケットの少なくとも通信種別１０ａを前記中央演算処理部３へ転送する。
【００６１】
（３）上記の転送があると、前記中央演算処理部３の第２フィルタリング情報生成・登録手段３ａが、前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケット（パケットＢ）についての、前記制御種別が中央演算処理転送を示す第２フィルタリング情報１４ｂを生成し、前記第１フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部１４に登録する。
【００６２】
（４）次に、前記中央演算処理部転送手段１０は、受信した前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケット（パケットＢ）が、前記フィルタリング記憶部１４に登録された前記第２フィルタリング情報１４ｂに一致するか否かを前記優先度順に判定し、一致している場合には前記第２フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別１０ｂを前記中央演算処理部３へ転送する。
【００６３】
（５）次に、前記中央演算処理部転送手段１０は、受信した前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通信開始完了パケット（パケットＣ）が、前記フィルタリング記憶部１４に登録された前記第１フィルタリング情報１４ａに一致するか否かを前記優先度順に判定し、一致している場合には前記第１フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別１０ｃを前記中央演算処理部３へ転送する。
【００６４】
（６）前記（４）と（５）の通信種別１０ｂと１０ｃの転送があると、前記中央演算処理部３の第３フィルタリング情報生成・登録手段３ｂが、前記フィルタリング記憶部１４に登録された前記第２フィルタリング情報１４ｂを削除し、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第３フィルタリング情報１４ｃを、前記第１フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部１４に登録する。
【００６５】
（７）前記パケット通過制御部２の通過処理手段（図示せず）が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部１４に登録された前記第３フィルタリング情報１４ｃに一致するか否かを前記優先度順に判定し、一致している場合には前記中央演算処理部３を介さずに通過処理を行なう。
【００６６】
なお、図７の第１、第２及び第３フィルタリング情報１４ａ、１４ｂおよび１４ｃは、それぞれ、図４のフィルタエントリ、ＳＰＩエントリ（１）およびＳＰＩエントリ（２）（３）（４）に対応する。
【００６７】
以上、本発明を実施形態により説明したが、本発明は前記した実施形態に限定されず、本発明の思想及び範囲から逸脱しない範囲内での変更は可能であり、この変更は本発明に含まれることは明らかである。例えば、図４のステップＳ８の後のパケットＣについての「フィルタエントリに一致」の判定を省略してもよい。
【図面の簡単な説明】
【００６８】
【図１】パケット通過制御装置の構成を示すブロック図である。
【図２】フィルタリング記憶部の構成の説明図である。
【図３】フィルタリング情報登録状況テーブルとフィルタリング記憶部の構成の説明図である。
【図４】ＴＣＰセッション開始時のパケット通過制御装置の処理フローである。
【図５】ＴＣＰセッション停止時のパケット通過制御装置の処理フローである。
【図６】パケット通過制御装置が受信するパケットとそのパケットの受信に基づいて動的に生成されるＳＰＩエントリを示す図である。
【図７】本発明の要部の機能ブロック図である。
【図８】従来のパケット通過制御装置の処理フローである。
【符号の説明】
【００６９】
１・・・パケット通過制御装置、２・・・パケット通過制御部、３・・・中央演算処理部、１１・・・Ｉ／Ｆ（ＷＡＮ）、１２・・・Ｉ／Ｆ（ＬＡＮ）、１３・・・フィルタリング処理部、１４・・・フィルタリング記憶部、１５・・・ＣＰＵ／ＩＦ、１６・・・ＣＰＵ、１７・・・テーブル記憶部、１０・・・中央演算処理部転送手段。
【図１】
2010109731.tif 000003
【図２】
2010109731.tif 000004
【図３】
2010109731.tif 000005
【図４】
2010109731.tif 000006
【図５】
2010109731.tif 000007
【図６】
2010109731.tif 000008
【図７】
2010109731.tif 000009
【図８】
2010109731.tif 000010