(57)【要約】【課題】中央演算装置におけるＳＰＩ処理を軽減することのできる、パケット通過制御装置を提供する。【解決手段】セッション開始のパケットについてフィルタリングを行う為のフィルタリング情報をパケット通過制御回路のフィルタリング記憶部に登録し、セッション開始のパケットを受信した場合に、動的にそのパケットの後に続くパケットの双方向のフィルタリングを行なう第２フィルタリング情報をパケット通過制御回路のフィルタリング記憶部に登録する。そして、セッション開始のパケット以後のパケットについては、パケット通過制御回路のフィルタリング処理部が中央演算処理回路に転送せずに、ダイレクトに転送の処理を行なう。【選択図】図１
2007221240.tif 000002
【特許請求の範囲】
【請求項１】
中央演算処理部とパケット通過制御部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置であって、
前記パケットの通過許可、廃棄の何れかの制御種別と、前記パケットのフィルタ規則適合判定条件を示す通信種別と、を示す第１フィルタリング情報を保持するフィルタリングテーブルから、該第１フィルタリングを読み取って、当該第１フィルタリングが前記通過許可を示す場合には中央演算処理転送の情報に書き換えて、前記パケット通過制御部のフィルタリング記憶部へ登録する、前記中央演算処理部の第１フィルタリング登録手段と、
パケットを受信した際に、当該パケットの通信種別と制御種別が、前記フィルタリング記憶部に登録されている前記第１フィルタリングに一致する場合に、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送する、前記パケット通過制御部の中央演算処理部転送手段と、
前記受信したパケットの、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第２フィルタリング情報それぞれを、前記第１フィルタリング情報よりフィルタ規則の優先度の高い情報として優先的に前記フィルタリング記憶部に登録する、前記中央演算処理部の第２フィルタリング情報登録手段と、
前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第２フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なう、前記パケット通過制御部の通過処理手段と、
を備えることを特徴とするパケット通過制御装置。
【請求項２】
前記中央演算処理部転送手段が、
前記受信したパケットに関連する一連のパケット処理で受信した最終パケットを、前記中央演算処理部へ転送し、
前記中央演算処理部が、
前記最終パケットを受付けることにより、前記第２フィルタリング情報を前記フィルタリング記憶部より削除する第２フィルタリング削除手段を備える
ことを特徴とする請求項１に記載のパケット通過制御装置。
【請求項３】
前記フィルタリング記憶部に登録した第２フィルタリング情報に一致した最後のパケットの受信時刻からの経過時間を計測する時間計測手段と、
前記経過時間が所定時間となった場合に、前記第２フィルタリング情報を前記フィルタリング記憶部より削除する第２フィルタリング削除手段と、
を備えることを特徴とする請求項１に記載のパケット通過制御装置。
【請求項４】
前記フィルタリング記憶部への前記第２フィルタリング情報の登録が増加することにより、当該第２フィルタリング情報と前記第１フィルタリング情報とからなる情報量が、前記フィルタリング記憶部で記憶できる情報量を超えた場合に、最も優先度の低いフィルタリング情報として、全ての通信種別のパケットについて中央演算処理転送の制御種別を示す第３フィルタリング情報を前記フィルタリング記憶部に登録する第３フィルタリング登録手段と、
前記フィルタリング記憶部で記憶している前記第１のフィルタリング情報のうち優先度の低い情報から順に削除するフィルタリング調整手段と、
を備えることを特徴とする請求項１から請求項３の何れかに記載のパケット通過制御装置。
【請求項５】
前記フィルタリング調整手段が、
前記フィルタリング記憶部への前記第２フィルタリング情報の登録が増加することにより、当該第２フィルタリング情報の情報量が、前記フィルタリング記憶部で記憶できる情報量を超えた場合に、前記フィルタリング記憶部で記憶している前記第２のフィルタリング情報のうち優先度の低い情報から順に削除する
ことを特徴とする請求項４に記載のパケット通過制御装置。
【請求項６】
中央演算処理部とパケット通過制御部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であって、
前記中央演算処理部の第１フィルタリング登録手段が、前記パケットの通過許可、廃棄、中央演算処理転送の何れかの制御種別と、前記パケットの通信種別と、を示す第１フィルタリング情報を保持するフィルタリングテーブルから、該第１フィルタリングを読み取って、当該第１フィルタリングが前記通過許可を示す場合には中央演算処理転送の情報に書き換えて、前記パケット通過制御部のフィルタリング記憶部へ登録し、
前記パケット通過制御部の中央演算処理部転送手段が、パケットを受信した際に、当該パケットの通信種別と制御種別が、前記フィルタリング記憶部に登録されている前記第１フィルタリングに一致する場合に、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
前記中央演算処理部の第２フィルタリング情報登録手段が、前記受信したパケットの、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第２フィルタリング情報それぞれを、前記第１フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録し、
前記パケット通過制御部の通過処理手段が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第２フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なう
ことを特徴とするパケット通過制御方法。
【請求項７】
前記パケット通過制御部の前記中央演算処理部転送手段が、
前記受信したパケットに関連する一連のパケット処理で受信した最終パケットを、前記中央演算処理部へ転送し、
前記中央演算処理部の第２フィルタリング削除手段が、
前記最終パケットを受付けることにより、前記第２フィルタリング情報を前記フィルタリング記憶部より削除する
ことを特徴とする請求項６に記載のパケット通過制御方法。
【請求項８】
時間計測手段が、前記フィルタリング記憶部に登録した第２フィルタリング情報に一致した最後のパケットの受信時刻からの経過時間を計測し、
前記中央演算処理部の第２フィルタリング削除手段が、前記経過時間が所定時間となった場合に、前記第２フィルタリング情報を前記フィルタリング記憶部より削除する
ことを特徴とする請求項６に記載のパケット通過制御方法。
【請求項９】
第３フィルタリング登録手段が、前記フィルタリング記憶部への前記第２フィルタリング情報の登録が増加することにより、当該第２フィルタリング情報と前記第１フィルタリング情報とからなる情報量が、前記フィルタリング記憶部で記憶できる情報量を超えた場合に、最も優先度の低いフィルタリング情報として、全ての通信種別のパケットについて中央演算処理転送の制御種別を示す第３フィルタリング情報を前記フィルタリング記憶部に登録し、
フィルタリング調整手段が、前記フィルタリング記憶部で記憶している前記第１のフィルタリング情報のうち優先度の低い情報から順に削除する
ことを特徴とする請求項６から請求項８の何れかに記載のパケット通過制御方法。
【請求項１０】
前記フィルタリング調整手段が、
前記フィルタリング記憶部への前記第２フィルタリング情報の登録が増加することにより、当該第２フィルタリング情報の情報量が、前記フィルタリング記憶部で記憶できる情報量を超えた場合に、前記フィルタリング記憶部で記憶している前記第２のフィルタリング情報のうち優先度の低い情報から順に削除する
ことを特徴とする請求項９に記載のパケット通過制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイアーウォールやルータなどの機能であるＳＰＩ（Stateful Packet Inspection）の技術を用いたパケット通過制御装置及びパケット通過制御方法に関する。
【背景技術】
【０００２】
ファイヤーウォールを通過するパケットのデータを読み取り、内容を判断して動的にポートを開放・閉鎖する技術としてＳＰＩが存在する。この技術は、通常ソフトウェアを用いてＣＰＵなどの中央演算装置で処理されている。なお従来のＳＰＩの技術として非特許文献１が公開されている。
【非特許文献１】“第2回：SPIと動的パケットフィルタリングの違い”、「online」、「平成１７年０８月０３日検索」、インターネット＜ＵＲＬ：http://www.itmedia.co.jp/broadband/0305/16/lp13.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながらこのＳＰＩの処理量は、パケットの通過、廃棄の可否を、設定されたフィルタリング情報に基づいて単に判定する処理と異なり、検出したパケットの返信パケットを判定しそのパケットについて動的にポートを開放するなどの処理が発生するため大きくなり、これにより中央演算装置に負荷をかけることとなる。従って、ファイアウォール等にパケットを大量に送りつけて処理負荷を増大させるＤｏＳ（Denial of Service）攻撃などの影響をさらに受けやすくなるという問題が発生していた。
【０００４】
そこでこの発明は、中央演算装置におけるＳＰＩ処理を軽減することのできる、パケット通過制御装置及びパケット通過制御方法を提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、中央演算処理部とパケット通過制御部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置であって、前記パケットの通過許可、廃棄の何れかの制御種別と、前記パケットのフィルタ規則適合判定条件を示す通信種別と、を示す第１フィルタリング情報を保持するフィルタリングテーブルから、該第１フィルタリングを読み取って、当該第１フィルタリングが前記通過許可を示す場合には中央演算処理転送の情報に書き換えて、前記パケット通過制御部のフィルタリング記憶部へ登録する、前記中央演算処理部の第１フィルタリング登録手段と、パケットを受信した際に、当該パケットの通信種別と制御種別が、前記フィルタリング記憶部に登録されている前記第１フィルタリングに一致する場合に、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送する、前記パケット通過制御部の中央演算処理部転送手段と、前記受信したパケットの、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第２フィルタリング情報それぞれを、前記第１フィルタリング情報よりフィルタ規則の優先度の高い情報として優先的に前記フィルタリング記憶部に登録する、前記中央演算処理部の第２フィルタリング情報登録手段と、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第２フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なう、前記パケット通過制御部の通過処理手段と、を備えることを特徴とするパケット通過制御装置である。
【０００６】
また本発明は、前記中央演算処理部転送手段が、前記受信したパケットに関連する一連のパケット処理で受信した最終パケットを、前記中央演算処理部へ転送し、前記中央演算処理部が、前記最終パケットを受付けることにより、前記第２フィルタリング情報を前記フィルタリング記憶部より削除する第２フィルタリング削除手段を備えることを特徴とする。
【０００７】
また本発明は、前記フィルタリング記憶部に登録した第２フィルタリング情報に一致した最後のパケットの受信時刻からの経過時間を計測する時間計測手段と、前記経過時間が所定時間となった場合に、前記第２フィルタリング情報を前記フィルタリング記憶部より削除する第２フィルタリング削除手段と、を備えることを特徴とする。
【０００８】
また本発明は、前記フィルタリング記憶部への前記第２フィルタリング情報の登録が増加することにより、当該第２フィルタリング情報と前記第１フィルタリング情報とからなる情報量が、前記フィルタリング記憶部で記憶できる情報量を超えた場合に、最も優先度の低いフィルタリング情報として、全ての通信種別のパケットについて中央演算処理転送の制御種別を示す第３フィルタリング情報を前記フィルタリング記憶部に登録する第３フィルタリング登録手段と、前記フィルタリング記憶部で記憶している前記第１のフィルタリング情報のうち優先度の低い情報から順に削除するフィルタリング調整手段と、を備えることを特徴とする。
【０００９】
また本発明は、前記フィルタリング調整手段が、前記フィルタリング記憶部への前記第２フィルタリング情報の登録が増加することにより、当該第２フィルタリング情報の情報量が、前記フィルタリング記憶部で記憶できる情報量を超えた場合に、前記フィルタリング記憶部で記憶している前記第２のフィルタリング情報のうち優先度の低い情報から順に削除することを特徴とする。
【００１０】
また本発明は、中央演算処理部とパケット通過制御部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であって、前記中央演算処理部の第１フィルタリング登録手段が、前記パケットの通過許可、廃棄、中央演算処理転送の何れかの制御種別と、前記パケットの通信種別と、を示す第１フィルタリング情報を保持するフィルタリングテーブルから、該第１フィルタリングを読み取って、当該第１フィルタリングが前記通過許可を示す場合には中央演算処理転送の情報に書き換えて、前記パケット通過制御部のフィルタリング記憶部へ登録し、前記パケット通過制御部の中央演算処理部転送手段が、パケットを受信した際に、当該パケットの通信種別と制御種別が、前記フィルタリング記憶部に登録されている前記第１フィルタリングに一致する場合に、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、前記中央演算処理部の第２フィルタリング情報登録手段が、前記受信したパケットの、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第２フィルタリング情報それぞれを、前記第１フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録し、前記パケット通過制御部の通過処理手段が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第２フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうことを特徴とするパケット通過制御方法である。
【００１１】
また本発明は、前記パケット通過制御部の前記中央演算処理部転送手段が、前記受信したパケットに関連する一連のパケット処理で受信した最終パケットを、前記中央演算処理部へ転送し、前記中央演算処理部の第２フィルタリング削除手段が、前記最終パケットを受付けることにより、前記第２フィルタリング情報を前記フィルタリング記憶部より削除することを特徴とする。
【００１２】
また本発明は、時間計測手段が、前記フィルタリング記憶部に登録した第２フィルタリング情報に一致した最後のパケットの受信時刻からの経過時間を計測し、前記中央演算処理部の第２フィルタリング削除手段が、前記経過時間が所定時間となった場合に、前記第２フィルタリング情報を前記フィルタリング記憶部より削除することを特徴とする。
【００１３】
また本発明は、第３フィルタリング登録手段が、前記フィルタリング記憶部への前記第２フィルタリング情報の登録が増加することにより、当該第２フィルタリング情報と前記第１フィルタリング情報とからなる情報量が、前記フィルタリング記憶部で記憶できる情報量を超えた場合に、最も優先度の低いフィルタリング情報として、全ての通信種別のパケットについて中央演算処理転送の制御種別を示す第３フィルタリング情報を前記フィルタリング記憶部に登録し、フィルタリング調整手段が、前記フィルタリング記憶部で記憶している前記第１のフィルタリング情報のうち優先度の低い情報から順に削除することを特徴とする。
【００１４】
また本発明は、前記フィルタリング調整手段が、前記フィルタリング記憶部への前記第２フィルタリング情報の登録が増加することにより、当該第２フィルタリング情報の情報量が、前記フィルタリング記憶部で記憶できる情報量を超えた場合に、前記フィルタリング記憶部で記憶している前記第２のフィルタリング情報のうち優先度の低い情報から順に削除することを特徴とする。
【発明の効果】
【００１５】
従来パケットフィルタリングの処理全てをＣＰＵなどの中央演算処理部で行なっていた為、中央演算処理部のパケットフィルタリング処理にかかる負荷が大きかったが、本発明によれば、通過処理手段、フィルタリング記憶部などを有するパケット通過制御部を、例えば１つのチップとしてまとめて回路構成し、通過処理手段、にパケットフィルタリングの処理を任せるので、ＣＰＵの処理軽減を行なうことができる。
また、パケット通過制御部を、１つのチップとしてまとめて回路構成した場合において、通過処理手段、にパケットフィルタリングの処理を行なわせた際に、フィルタリング記憶部の限られたデータ容量を、動的に生成された第２フィルタリング情報のデータ量が超えた場合の、中央演算処理部における処理との調整を行なうことができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施形態によるパケット通過制御装置を図面を参照して説明する。図１は同実施形態によるパケット通過制御装置の構成を示すブロック図である。この図において、符号１はパケット通過制御装置であり、例えばファイアーウォールやルータなどに組み込まれるものである。そしてパケット通過制御装置１において、符号１１はＷＡＮ側のＩ／Ｆ（interface）、１２はＬＡＮ側のＩ／Ｆ（interface）である。また符号１３はフィルタリング処理部（中央演算処理部転送手段、通過処理手段）であり、少なくともパケットの通過、廃棄、ＣＰＵ転送の処理を行なう。またフィルタリング記憶部１４はフィルタリング情報が記録される記憶部である。
【００１７】
フィルタリング情報とは、パケットの通信種別＜通信サービス（ＴＣＰ、ＵＤＰ、ＨＴＴＰ、ＦＴＰなどのサービス）、フラグ種別（ＳＹＮ、ＦＩＮなど）、宛先ＩＰアドレス、宛先ポート番号、送信元ＩＰアドレス、送信元ポート番号などのフィルタ規則適合判定条件＞を示す情報や、通過、廃棄、ＣＰＵ転送の制御種別の情報を保持したものであり、このフィルタイリング情報に基づいてフィルタリング処理部１３がフィルタリングの処理を行う。また１５は中央演算処理インタフェース（ＣＰＵ／ＩＦ）であり、ＣＰＵ（中央演算処理部）へ送信される情報を受付ける処理を行なう。そしてこれらＩ／Ｆ１１、Ｉ／Ｆ１２、フィルタリング処理部１３、フィルタリング記憶部１４、中央演算処理インタフェース１５は、転送処理の高速化を図るため半導体素子で構成したパケット通過制御回路として、例えば１つのチップとしてまとめて回路構成されている。
【００１８】
また符号１６はＣＰＵ（第１フィルタリング登録手段、第２フィルタリング情報登録手段、時間計測手段、第２フィルタリング削除手段、第３フィルタリング登録手段、フィルタリング調整手段）である。このＣＰＵ１６では、主にフィルタリング処理部１３で行なうフィルタリング処理から外れた（つまりＣＰＵ転送された）パケットをパケット通過制御回路から受信し、受信したフレームに対する転送先を検出する等のＳＰＩ処理を予め内部で動作するソフトウェアに基づいて行う。また１７はテーブル記憶部（フィルタリングテーブル）であり、ネットワーク管理者などのユーザによって登録されたフィルタリング情報を記憶している。そして、ＳＰＩ処理を行なう際には、ＣＰＵ１６は、中央演算処理インタフェース１５を介してフィルタリング処理部１３から受付けたパケットの情報のみのフィルタリング処理を、テーブル記憶部１７に記録されているフィルタリング情報に基づいて行なう。
【００１９】
次にフィルタリング記憶部の構成について説明する。
図２はフィルタリング記憶部の構成を示す図である。
この図が示すように、フィルタリング記憶部１４では、ＣＰＵ転送候補エントリ、ＳＰＩエントリ、フィルタエントリからなる、３種類のフィルタリング情報が記録される。ＣＰＵ転送候補エントリは、ＣＰＵ１６へ転送すると予め決められた特定のパケットについてのフィルタリング情報であり、例えばＡＲＰのパケットなどの、他の装置へ転送せずに、自装置で処理するパケットに関するフィルタリング情報である。またＳＰＩエントリはＣＰＵ１６が動的に生成したフィルタリング情報であり、例えば、内部ネットワークのＡ装置から外部ネットワークのＢ装置へのＨＴＴＰ接続を許可している場合において、当該パケットを受信した際に、Ｂ装置からＡ装置に対する返答のパケットが通過できるように、動的に生成した、Ｂ装置→Ａ装置の通信方向のＨＴＴＰ接続の通過を示すフィルタリング情報などである。またフィルタエントリはユーザ登録作業によって予めテーブル記憶部１７に記録されたものであり、パケット通過制御装置１の起動時などにＣＰＵ１６によって自動的に書込まれる。またこのフィルタエントリにより１つセッションの最初に送信されたパケット（ＳＹＮ）などを検出する。なお、図においてはＣＰＵ転送候補エントリ、ＳＰＩエントリ、フィルタエントリの順に優先度が与えられている。優先度とはＳＰＩ処理として受信したパケット一致するか否かを判定するための優先順位である。
【００２０】
図３はフィルタリング情報登録状況テーブルとフィルタリング記憶部の構成を示す図である。
次にフィルタリング情報の第１の登録処理について説明する。
パケット通過制御装置１が起動する際やＣＰＵ１６の保持するフィルタリング情報登録状況テーブルの初期化の指示が合った場合には、まず、ＣＰＵ１６はテーブル記憶部１７からフィルタリング情報を読み込む。このフィルタリング情報は、図２で示したＣＰＵ転送候補エントリ及びフィルタエントリの各フィルタリング情報である。またフィルタリング情報登録状況テーブルとはＣＰＵ１６がフィルタリング記憶部１４に登録したフィルタリング情報を記憶するためのテーブルである。そして、前記起動や初期化の際に、ＣＰＵ１６は、テーブル記憶部１７から読み込んだフィルタリング情報（ＣＰＵ転送候補エントリ、フィルタエントリ）をフィルタリング記憶部１４に登録する。そして、この登録において、フィルタエントリのうち制御種別が“通過”となっている情報については、“ＣＰＵ転送”と書き換えて登録する。
【００２１】
ＣＰＵ１６はＳＰＩエントリとなるフィルタリング情報についても登録処理を行なう。このＳＰＩエントリは、上記したように、パケット通過制御装置１がフィルタリングの処理を開始して動作している際に、セッションの初回に受信したパケットに基づいてＣＰＵ１６が動的に生成したフィルタリング情報であり、ＣＰＵ１６はこの生成を行なうと、ＣＰＵ転送候補エントリとフィルタエントリとの間にＳＰＩエントリを登録していく。つまり、フィルタリング情報の中でＣＰＵ転送候補エントリを最も優先度を高く登録し、またＳＰＩエントリを次に優先度を高く登録し、また最も優先度の低いフィルタリング情報としてフィルタエントリを登録する。ＣＰＵ１６はフィルタリング記憶部１４に登録したフィルタリング情報については、登録したか否かを示すフラグなどをフィルタリング情報登録状況テーブルに書込んで記憶する。また優先度の順番などについてもフィルタリング情報登録状況テーブルに書込んで記憶する。
【００２２】
図４はパケット通過制御装置の処理フローの概要を示す図である。
図５はパケット通過制御装置が受信するパケットとそのパケットの受信に基づいて動的に生成したＳＰＩエントリとを示すテーブルである。
次に図４、５を用いてパケット通過制御装置の処理フローについて説明する。
まずＣＰＵ１６は初期化の指示を受付けた場合や起動時において、パケット通過制御装置テーブル記憶部１７からＣＰＵ転送候補エントリとフィルタエントリの各フィルタリング情報を読み取って、フィルタリング記憶部１４にＣＰＵ／ＩＦ１５を介して登録する。この時ＣＰＵ転送候補エントリを優先度を高く、またフィルタエントリをＣＰＵ転送候補エントリよりもフィルタ規則適用の優先度を低く登録する。そしてＣＰＵ１６はその優先度の順番をフィルタリング情報登録状況テーブルに記録する。またフィルタエントリについては制御種別が通過である場合にはＣＰＵ転送と書き換えて登録する。
【００２３】
そして最初のフィルタリング情報の登録が完了すると、ＳＰＩの処理を伴うパケットフィルタリングの処理を開始する。このような状況において、パケットＡをＬＡＮ側のＩ／Ｆ１２により受付けるとする（ステップＳ１）。パケットＡは図５に示すように、受信論理Ｉ／ＦがＩ／Ｆ（ＬＡＮ）１２、送信論理Ｉ／ＦがＩ／Ｆ（ＷＡＮ）１１、送信元ＩＰアドレス（Ｓ−ＩＰ）がＩＰ−ｘ、宛先ＩＰアドレス（Ｄ−ＩＰ）がＩＰ−ｙ、送信元ポート番号（Ｓ−Ｐｏｒｔ）がＰｏｒｔ−ｘ、宛先ポート番号（Ｄ−Ｐｏｒｔ）がＰｏｒｔ−ｙ、またＴＣＰフラグがＳＹＮのパケットである。
【００２４】
フィルタリング処理部１３はパケットＡを受付けると、次に、フィルタリング記憶部１４に記録されているフィルタリング情報を優先度の高い順に順じ参照し、受信したパケットＡの通信種別（通信サービス、フラグ種別、宛先ＩＰアドレス、宛先ポート番号、送信元ＩＰアドレス、送信元ポート番号など）と比較して、パケットＡと一致するフィルタリング情報があるか否かを判定する。ここで、フィルタリング記憶部１４に記録されているフィルタエントリにパケットＡの通信種別と一致するエントリがあると判断された場合、その制御種別はＣＰＵ転送（フィルタエントリの制御種別が通過である場合には、登録時に書き換えられて全てＣＰＵ転送となっている）であるので、パケットＡをＣＰＵ１６に転送する（ステップＳ２）。
【００２５】
ＣＰＵ１６はパケットＡを受信すると、そのパケットＡに関するＳＰＩエントリを生成する処理を開始する。この時ＣＰＵ１６は図５で示すようなＳＰＩエントリ（１）とＳＰＩエントリ（２）を生成する。ＳＰＩエントリ（１）は、受信論理Ｉ／ＦがＩ／Ｆ（ＷＡＮ）１１、送信論理Ｉ／ＦがＩ／Ｆ（ＬＡＮ）１２、送信元ＩＰアドレス（Ｓ−ＩＰ）がＩＰ−ｙ、宛先ＩＰアドレス（Ｄ−ＩＰ）がＩＰ−ｘ、送信元ポート番号（Ｓ−Ｐｏｒｔ）がＰｏｒｔ−ｙ、宛先ポート番号（Ｄ−Ｐｏｒｔ）がＰｏｒｔ−ｘであるパケットを通過させ、またＴＣＰフラグの全てについて通過させるフィルタリング情報である。つまりＳＰＩエントリ（１）は、パケットＡを初回（ＳＹＮ）のセッションとする当該セッションにおける他のパケットのうちＩ／Ｆ１１からＩ／Ｆ１２へ通過するパケットのためのフィルタリング情報である。
【００２６】
またＳＰＩエントリ（２）は、受信論理Ｉ／ＦがＩ／Ｆ（ＬＡＮ）１２、送信論理Ｉ／ＦがＩ／Ｆ（ＷＡＮ）１１、送信元ＩＰアドレス（Ｓ−ＩＰ）がＩＰ−ｘ、宛先ＩＰアドレス（Ｄ−ＩＰ）がＩＰ−ｙ、送信元ポート番号（Ｓ−Ｐｏｒｔ）がＰｏｒｔ−ｘ、宛先ポート番号（Ｄ−Ｐｏｒｔ）がＰｏｒｔ−ｙ、またプロトコルがＴＣＰであり、ＴＣＰフラグがＳＹＮ／ＡＣＫ／ＰＳＨ／ＵＲＧであるか、またはＦＩＮ、ＲＳＴ＝０のパケットである。つまり、パケットＡを初回のセッションとした当該セッションのパケットのうちＩ／Ｆ１２からＩ／Ｆ１１へ通過するパケット（ＦＩＮ、ＲＳＴ＝０）のためのフィルタリング情報である。
【００２７】
そしてＣＰＵ１６は生成したＳＰＩエントリ（１）と（２）をフィルタリング記憶部１４に登録する（ステップＳ３）。この時ＣＰＵ１６は、フィルタエントリより優先度が高く、またＣＰＵ転送候補エントリよりも優先度が低い位置（アドレス：番地）に登録する。またＣＰＵ１６は登録したＳＰＩエントリ（１）（２）の優先度の情報をフィルタリング情報登録状況テーブルにより記憶しておく。そしてＳＰＩエントリ（１）と（２）とを登録すると、パケットＡについて、フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報に基づいてフィルタリング処理を行なう。フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報には、パケットＡの通信種別と一致するフィルタエントリ（制御種別＝通過）が記録されているので、ＣＰＵ１６はパケットＡをＣＰＵ／ＩＦ１５を介してＩ／Ｆ（ＷＡＮ）１１に転送し、ＷＡＮ側の通信ネットワークに送信する（ステップＳ４）。
【００２８】
次にパケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの他のパケットがＩ／Ｆ（ＷＡＮ）１１やＩ／Ｆ（ＬＡＮ）１２で受信する。フィルタリング処理部１３はそれらの一連のパケットについてフィルタリング処理を行なう。このフィルタリング処理は上記同様にフィルタリング記憶部１４に登録されているフィルタリング情報と比較して行なう。ここで、パケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの他のパケットはＳＰＩエントリ（１）またはＳＰＩエントリ（２）と一致する。またこのＳＰＩエントリ（１）（２）は制御種別が“通過”となっている。従って、フィルタリング処理部１３は、パケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの他のパケットを受信した場合には、ＣＰＵ１６に転送せず、Ｉ／Ｆ（ＷＡＮ）１１で受信したパケットについてはダイレクトにＩ／Ｆ（ＬＡＮ）１２から出力し、またＩ／Ｆ（ＬＡＮ）１２で受信したパケットについてはダイレクトにＩ／Ｆ（ＷＡＮ）１１から出力する。つまりパケットＡをセッションの初回に受信したパケットとして、それ以降の同一セッションのパケットについてはパケット通過制御回路でＳＰＩの処理（双方向のハードウェア転送の処理）を行なう（ステップＳ５）。
【００２９】
次にパケットＡを初回（ＳＹＮ）のセッションとした場合の当該セッションの最後（ＦＩＮ）のパケットＢをＩ／Ｆ（ＬＡＮ）１２で受信したとする（ステップＳ６）。するとフィルタリング処理部１３はフィルタリング記憶部１４に登録されているフィルタリング情報と比較する。ここでＳＰＩエントリ（１）はＦＩＮ＝１となっているパケットについてはフィルタの対象外であるので、フィルタリング処理部１３は優先度に従って順次フィルタエントリまで確認する。そして、フィルタエントリにおいて通信種別の一致するエントリ（パケットＡを処理したフィルタエントリと同一のエントリ）が存在し、その制御種別がＣＰＵ転送であるので、パケットＢをＣＰＵ／ＩＦ１５を介してＣＰＵ１６へ転送する（ステップＳ７）。ＣＰＵ１６はパケットＢについての制御種別がフィルタリング情報登録状況テーブルにおいて“通過”となっているので、Ｉ／Ｆ（ＷＡＮ）１１へ出力する（ステップＳ８）。またＣＰＵ１６は、パケットＢのＴＣＰフラグがＦＩＮである為、そのパケットに関するセッションのＳＰＩエントリ（１）及び（２）を、パケットＢのＩ／Ｆ（ＷＡＮ）１１への送出後、所定の時間経過した際にフィルタリング記憶部１４から削除する処理を行なう（ステップＳ９）。
【００３０】
以上の処理により、従来であればＳＰＩの処理全てをＣＰＵ１６で行なっていた為、ＣＰＵ１６のＳＰＩ処理にかかる負荷が大きかったが、フィルタリング処理部１３、フィルタリング記憶部１４などを有するパケット通過制御回路を、例えば１つのチップとしてまとめて回路構成し、フィルタリング処理部１３にＳＰＩの処理を任せるので、ＣＰＵの処理軽減を行なうことができる。
【００３１】
なお、上述の処理においては、ＳＰＩエントリ（１）、（２）の削除をパケットＢのＩ／Ｆ（ＬＡＮ）１２での受信に基づいてＣＰＵ１６で行なっているが、Ｉ／Ｆ（ＷＡＮ）１１側で受信したＦＩＮパケットの受信に基づいてＣＰＵ１６でＳＰＩエントリを削除するようにしても良い。そのような場合には、ＳＰＩエントリ（１）が全てのＴＣＰフラグについて通過を許可するフィルタリング情報であるため、別途、Ｉ／Ｆ（ＷＡＮ）１１側で受信したＦＩＮ＝１のパケットのＣＰＵ転送を示すＳＰＩエントリ（３）を生成して、フィルタリング記憶部１４に登録するようにする。
【００３２】
またフィルタリング記憶部１４はメモリなどにより構成されるため、登録できるフィルタリング情報のデータ量が限られる。従って、ＳＰＩエントリが少ないほどメモリの容量を効率的に使用することができる。従って、ＳＰＩエントリ（１）、（２）を１つのエントリとしてまとめた双方向エントリとして生成し、１つのエントリで双方向のフィルタリング処理をするようにしても良い。
【００３３】
次に、ＳＰＩエントリのデータ量が増大してＳＰＩエントリとフィルタエントリのフィルタリング情報がフィルタリング記憶部１４に格納できなくなった場合の処理について説明する。
図６は登録したフィルタリング情報の調整の概要を示す第１の図である。
図６においてはＳＰＩエントリの生成および登録が増大することにより、ＳＰＩエントリよりも優先度の低いフィルタエントリが全て登録できなくなった場合の処理の概要を示している。このような場合には、ＣＰＵ１６は優先度の低い順にフィルタリング記憶部１４からフィルタエントリを削除していく。またＣＰＵ１６は削除したフィルタエントリの情報をフィルタリング情報登録状況テーブルで管理する。そしてＣＰＵ１６はフィルタリング記憶部１４の最も優先度の低い情報として、全パケットをＣＰＵ転送する旨を示すフィルタエントリを登録する。これにより、フィルタリング処理部１３におけるＳＰＩ処理において、フィルタリング記憶部１４に登録されているフィルタリング情報と一致しなかったパケットについては、全てＣＰＵ１６に転送されて、ＣＰＵ１６においてＳＰＩ処理が行なわれる。
【００３４】
また図７は登録したフィルタリング情報の調整の概要を示す第２の図である。
図７においてはＳＰＩエントリの生成および登録が増大することにより、ＳＰＩエントリさえも全て登録ができなくなった場合の処理の概要を示している。このような場合には、ＣＰＵ１６はＳＰＩ処理におけるＳＰＩエントリの最近一定時間内における利用回数をカウントして、その利用回数が多い順に優先度を決定し、優先度の高い順にＳＰＩエントリをフィルタリング記憶部１４に登録し、その他のＳＰＩエントリとフィルタエントリについてはフィルタリング情報登録状況テーブルで記憶しておく。そしてＣＰＵ１６はフィルタリング記憶部１４の最も優先度の低い情報として、全パケットをＣＰＵ転送する旨を示すフィルタエントリを登録する。
【００３５】
以上の処理により、フィルタリング記憶部１４などを有するパケット通過制御回路を、例えば１つのチップとしてまとめて回路構成した場合において、フィルタリング処理部１３にＳＰＩの処理を行なわせた際に、フィルタリング記憶部１４の限られたデータ容量を、動的に生成されたＳＰＩエントリのデータ量が超えた場合の、ＣＰＵにおける処理との調整を行なうことができる。
【００３６】
次に、上述のパケット通過制御装置の処理を、より詳細に説明する。
上述の処理においてはフィルタリング処理において、受信パケットがＴＣＰの場合を示したが、実際には、ＴＣＰ、ＵＤＰ、ＩＣＭＰなどのサービスに応じた処理が行なわれる。
図８はＣＰＵによるパケット処理のフローを示図である。
まず、電源投入時などにおいて、ＣＰＵ１６はフィルタリング記憶部１４で記憶するＳＰＩエントリを初期化する（ステップＳ８１）。そしてパケットの受信があるか否かを判断して（ステップＳ８２）待機する。ここで受信パケットがあった場合には、フィルタ・ＳＰＩ検索前処理＜受信論理Ｉ／Ｆ検索（ステップＳ８３）、ＮＡＴ／ＮＡＰＴ検索（ステップＳ８４）、経路検索（ステップＳ８５）＞が行なわれる。受信論理Ｉ／Ｆ検索とは、受信パケット毎に受信した論理Ｉ／Ｆを決定する処理であり、またＮＡＴ／ＮＡＰＴ検索とは、グローバルＩＰアドレス・ポート番号をローカルＩＰアドレス・ポート番号に変換する処理であり、また経路検索とは、転送先の論理Ｉ／Ｆを決定する（さらに宛先ＭＡＣアドレスやＭＴＵなどもあわせて決定する）処理である。なお、ＩＰフラグメントによって分割されたパケットを受信した場合には、再構成（分割前のパケットに戻す）することによって、ＩＰフラグメントによって分割されたパケットに対してＮＡＰＴを実施することも可能である。
【００３７】
そして次にＣＰＵ１６は、フィルタ・ＳＰＩ検索を行なう（ステップＳ８６）。この処理は、受信したパケットの通過・廃棄の判定である。なお、ＩＰフラグメントによって分割されたパケットについては、フラグメント追跡もしくは再構成を実施することによって、ＩＰフラグメントによって分割されたパケットに対しても、ＩＰヘッダのみならずレイヤ４ヘッダに含まれる情報に基づいて判定してもよい。また、フィルタ・ＳＰＩ検索と同時にパケットの品質クラスを決定する分類検索を実施してもよい。
【００３８】
次に、ＣＰＵ１６は、ＳＰＩエントリ管理を行う（ステップＳ８７）。このＳＰＩエントリ管理は受信パケットに対するＳＰＩエントリを登録するか否かを判定する処理である。そして、分類検索（ステップＳ８８）、ＮＡＴ／ＮＡＰＴ検索（ステップＳ８９）などのフィルタ・ＳＰＩ検索後に必要な処理を行なう。分類検索とは、パケットの品質クラスを決定する処理、ＮＡＴ／ＮＡＰＴ検索は、上述したようにグローバルＩＰアドレス・ポート番号をローカルＩＰアドレス・ポート番号に変換する処理である。なお、ＩＰフラグメントによって分割されたパケットを受信した場合には、再構成（分割前のパケットに戻す）することによって、ＩＰフラグメントによって分割されたパケットに対してＮＡＰＴを実施することも可能である。
【００３９】
図９はＳＰＩエントリ管理の処理フローである。
図９より、ＣＰＵ１６は、ステップＳ８７のＳＰＩエントリ管理の処理において、受信パケットが、ＳＰＩエントリとしてフィルタリング情報を登録する対象のパケットか否かを判定する（ステップＳ９０）。そして、ＳＰＩエントリ登録対象のパケットでない場合には、ＳＰＩエントリ削除パケットか否かを判定し（ステップＳ９１）、そうであれば、ＳＰＩエントリ削除処理を行なう（ステップＳ９２）。ステップＳ９１でＮｏの場合には、処理を終了する。
【００４０】
また、ＳＰＩエントリ登録対象のパケットである場合には、ＴＣＰのパケットか（ステップＳ９３）、ＵＤＰのパケットか（ステップＳ９４）、ＩＣＭＰのパケットか（ステップＳ９５）を順次判定する。そして、ＴＣＰのパケットである場合には、ＴＣＰのＳＰＩエントリ登録処理（ステップ９６）を行い、ＵＤＰのパケットであればＵＤＰのＳＰＩエントリ登録処理を行い（ステップＳ９７）、またＩＣＭＰのパケットである場合には、ＩＣＭＰのＳＰＩエントリ登録処理を行なう（ステップＳ９８）。またＴＣＰ、ＵＤＰ、ＩＣＭＰのいずれのパケットでもない場合には汎用ＳＰＩエントリ登録処理を行なう（ステップＳ９９）。
【００４１】
図１０はＳＰＩ登録パケット判定処理のフローを示す図である。
上述のステップＳ９０のＳＰＩ登録パケットか否かの判定においては、まず、ＣＰＵ１６は、ＳＰＩありか否かを判定する（ステップＳ９０１）。このＳＰＩありか否かの情報は予め外部から設定されることにより記憶している。次に、ＳＰＩエントリに不適合かつフィルタエントリに適合か否かの判定（ステップＳ９０２）、フィルタエントリの結果が通過か否かの判定（ステップＳ９０３）、ＴＣＰ以外またはＴＣＰのＳＹＮパケットか否かの判定（ステップＳ９０４）が行なわれ、全ての判定においてＹｅｓである場合には、ＳＰＩフィルタを登録するパケットであると判定される（つまり、ＳＰＩ登録パケット判定がＹｅｓ）。またそれ以外はＳＰＩフィルタを登録しないパケットであると判定される（つまり、ＳＰＩ登録パケット判定がＮｏ）。
【００４２】
図１１はＳＰＩエントリ削除パケットの判定処理のフローを示す第１の図である。
上述のステップＳ９１のＳＰＩエントリ削除対象のパケットであるか否かの判定においては、まず、ＣＰＵ１６は、受信した当該パケットがＴＣＰのＦＩＮパケットかまたはＲＳＴパケットかを当該パケットのフラグにより判定する（ステップＳ９１１ａ）。そしてＹｅｓの場合には、次にフィルタ・ＳＰＩ検索のテーブルに適合エントリがあり、かつ、結果が通過か否かを判定する（ステップＳ９１２ａ）。この判定においてＹｅｓの場合には、受信パケットで特定されるＳＰＩエントリが削除対象のＳＰＩエントリであると決定する（ステップＳ９１３ａ）。そして、削除対象ＳＰＩエントリについてのＦＩＮ／ＲＳＴパケットの受信側と送信側の双方向転送が完了したか否かを判定し（ステップＳ９１４ａ）、Ｎｏであれば、ＦＩＮ／ＲＳＴパケット転送履歴の記録を行なう（ステップＳ９１５ａ）。そしてステップＳ９１４ａにおいてＹｅｓであればＳＰＩエントリの削除処理（Ｙｅｓ）に移行し、またステップＳ９１１ａ、９１２ａにおいてＮｏの場合や、ステップＳ９１５ａの後に、ＳＰＩエントリの削除処理をせずに終了する。
【００４３】
図１２はＳＰＩエントリ削除パケットの判定処理のフローを示す第２の図である。
上述のＳＰＩエントリ削除パケットの判定処理でなく、次の方法の処理により行なってもよい。
上述のステップＳ９１のＳＰＩエントリを削除する対象のパケットであるか否かの判定において、まず、ＣＰＵ１６は、受信した当該パケットがＴＣＰのＦＩＮパケットかまたはＲＳＴパケットかをフラグにより判定する（ステップＳ９１１ｂ）。そしてＹｅｓの場合には、次にフィルタ・ＳＰＩ検索のテーブルに適合エントリがあり、かつ、結果が通過か否かを判定する（ステップＳ９１２ｂ）。この判定においてＹｅｓの場合には、受信パケットで特定されるＳＰＩエントリが削除対象のＳＰＩエントリであると決定する（ステップＳ９１３ａ）。そしてＴＣＰのＳＰＩエントリ削除パケットの転送保護タイマの起動を行なう（ステップＳ９１４ｂ）。そしてステップＳ９１４ｂの後、ＳＰＩエントリの削除処理（Ｙｅｓ）に移行する。なお、ステップＳ９１１ｂ、９１２ｂにおいてＮｏの場合には、ＳＰＩエントリの削除処理をせずに終了する。
【００４４】
図１３はＳＰＩエントリ削除パケットの判定処理のフローを示す第３の図である。
受信パケットがＩＣＭＰの場合には、次の処理によりＳＰＩエントリ削除パケットの判定処理が行なわれる。
ＣＰＵ１６は、上記ステップＳ９１１ａ（またはステップＳ９１１ｂ）の判定においてＮｏの場合には、受信パケットがＩＣＭＰのパケットか否かを判定する（ステップＳ９１２ｃ）。そして、ＩＣＭＰパケットである場合には、フィルタ・ＳＰＩ検索のテーブルに適合エントリがありかつ結果が通過か否かを判定する（ステップＳ９１３ｃ）。この判定においてＹｅｓの場合には、受信パケットで特定されるＳＰＩエントリが削除対象のＳＰＩエントリであると決定し（ステップＳ９１４ｃ）、ＳＰＩエントリの削除処理（Ｙｅｓ）に移行する。なおステップＳ９１２ｃ、９１３ｃにおいてＮｏの場合には、ＳＰＩエントリの削除処理をせずに終了する。
【００４５】
図１４はＴＣＰのＳＰＩエントリ登録処理のフローを示す第１の図である。
ＳＰＩエントリ登録の対象となる受信したパケットＰは、送信元ＩＰアドレス（Ｓ−ＩＰ）、あて先ＩＰアドレス（Ｄ−ＩＰ）、プロトコル（ＴＣＰ）、送信元ポート番号（Ｓ−Ｐｏｒｔ）、あて先ポート番号（Ｄ−Ｐｏｒｔ）、のＴＣＰのＳＹＮパケットであるとする。この場合、まず、ＣＰＵ１６は、受信パケットのＳＰＩエントリの登録を行なう（ステップＳ９３１ａ）。この登録は、受信パケットＰのＴＣＰセッションの双方向（パケット転送の流れが互いに逆向きで同一セッションに属するパケットの組）のパケットを通過させるためのエントリであり、当該エントリをＣＰＵ１６で保持するフィルタ・ＳＰＩ検索テーブルに登録する。図１５はＣＰＵで保持するフィルタ・ＳＰＩ検索テーブルを示す図第１のである。
【００４６】
次に、ＣＰＵ１６は、パケット通過制御回路へのＳＰＩエントリの登録を行なう（ステップＳ９３２ａ）。この処理は受信パケットＰが属するＴＣＰセッションについて、双方向（パケット転送の流れが互いに逆向きで同一セッションに属するパケットの組）のパケット（ただしＦＩＮ／ＲＳＴパケットを除く）を通過させるためのエントリと、受信パケットＰの転送方向と逆向きで、同一ＴＣＰセッションに属するＦＩＮ／ＲＳＴパケットをＣＰＵ１６に転送する為のエントリとを、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルに登録する処理である。図１６はパケット通過制御回路で保持するフィルタ・ＳＰＩ検索テーブルを示す第１の図である。なお、ＣＰＵ１６で保持するフィルタ・ＳＰＩ検索テーブルに登録したＳＰＩエントリのエントリ番号と、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルに登録したパケット通過制御回路用ＳＰＩエントリのエントリ番号の対応を記憶しておく。またＵｓｅｄカウンタをクリアする。このＵｓｅｄカウンタについては後述する。そして、ＣＰＵ１６は登録したＳＰＩエントリの有効期間を計測するタイマ（ＳＰＩエントリ有効タイマ）を起動する（ステップＳ９３３ａ）。このタイマの動作については後述する。
【００４７】
図１７はＴＣＰのＳＰＩエントリ登録処理のフローを示す第２の図である。
ステップＳ９３１ａ〜Ｓ９３３ａで示した処理を、次の処理で行うようにしてもよい。
まず、ＣＰＵ１６は、受信パケットのＳＰＩエントリの登録を行なう（ステップＳ９３１ｂ）。この登録は、受信パケットＰの属するＴＣＰセッションの受信側と送信側の双方向（パケット転送の流れが互いに逆向きで同一セッションに属するパケットの組）のパケットを通過させるためのエントリをＣＰＵ１６で保持するフィルタ・ＳＰＩ検索テーブル（図１５）に登録する処理である。
【００４８】
次にＣＰＵ１６はパケット通過制御回路用ＳＰＩエントリの登録を行なう（ステップＳ９３２ｂ）この登録は、受信パケットＰの属するＴＣＰセッションの受信側と送信側の双方向（パケット転送の流れが互いに逆向きで同一セッションに属するパケットの組）のパケット（ただし受信パケットと同一方向のＦＩＮ／ＲＳＴパケットを除く）を通過させるためのエントリを、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブル（図１８）に登録する処理である。図１８はパケット通過制御回路で保持するフィルタ・ＳＰＩ検索テーブルを示す第２の図である。
【００４９】
なお、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルのエントリが全て登録済みの場合の処理については後述する。次にＣＰＵ１６のフィルタ・ＳＰＩ検索テーブルに登録したＳＰＩエントリのエントリ番号と、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルに登録したパケット通過制御回用ＳＰＩエントリのエントリ番号の対応表を記憶しておく。またＵｓｅｄカウンタをクリアする。このＵｓｅｄカウンタについては後述する。そして、ＣＰＵ１６は登録したＳＰＩエントリの有効期間を計測するタイマ（ＳＰＩエントリ有効タイマ）を起動する（ステップＳ９３３ｂ）。このタイマの動作については後述する。
【００５０】
図１９はＵＤＰのＳＰＩエントリ登録処理のフローを示す図である。
ＳＰＩエントリ登録の対象となる受信したパケットＰは、送信元ＩＰアドレス（Ｓ−ＩＰ）、あて先ＩＰアドレス（Ｄ−ＩＰ）、プロトコル（ＵＤＰ）、送信元ポート番号（Ｓ−Ｐｏｒｔ）、あて先ポート番号（Ｄ−Ｐｏｒｔ）、のパケットであるとする。この場合、まず、ＣＰＵ１６は、受信パケットのＳＰＩエントリの登録を行なう（ステップＳ９４１）。この登録は、受信パケットＰが属するＵＤＰセッションの双方向（パケット転送の流れが互いに逆向きで同一セッションに属するパケットの組）のパケットを通過させるためのエントリであり、当該エントリをＣＰＵ１６で保持するフィルタ・ＳＰＩ検索テーブルに登録する。図２０はＣＰＵで保持するフィルタ・ＳＰＩ検索テーブルを示す第２の図である。
【００５１】
次に、ＣＰＵ１６は、パケット通過制御回路へのＳＰＩエントリの登録を行なう（ステップＳ９４２）。この処理は受信パケットＰが属するＵＤＰセッションについて、双方向（パケット転送の流れが互いに逆向きで同一セッションに属するパケットの組）のパケットを通過させるためのエントリを、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルに登録する。図２１はパケット通過制御回路で保持するフィルタ・ＳＰＩ検索テーブルを示す第３の図である。なお、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルのエントリが全て登録済みの場合の処理については後述する。そしてＣＰＵ１６は、ＣＰＵのフィルタ・ＳＰＩ検索テーブルに登録したＳＰＩエントリのエントリ番号と、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルに登録したパケット通過制御回路用ＳＰＩエントリのエントリ番号の対応を記憶しておく。またＵｓｅｄカウンタをクリアする。このＵｓｅｄカウンタについては後述する。そして、ＣＰＵ１６は登録したＳＰＩエントリの有効期間を計測するタイマ（ＳＰＩエントリ有効タイマ）を起動する（ステップＳ９４３）。このタイマの動作については後述する。
【００５２】
図２２はＩＣＭＰのＳＰＩエントリ登録処理のフローを示す図である。
ＳＰＩエントリ登録対象の受信パケットＰが、送信元ＩＰアドレス（Ｓ−ＩＰ）、あて先ＩＰアドレス（Ｄ−ＩＰ）、プロトコル（ＩＣＭＰ）、ＩＣＭＰタイプ＝８、ＩＣＭＰコード＝０、のＩＣＭＰのパケットであるとする。まず、ＣＰＵ１６は、受信パケットのＳＰＩエントリの登録を行なう（ステップＳ９５１）。この登録は、受信パケットＰのエコー要求メッセージに対する、エコー応答メッセージをＣＰＵ１６に転送させる為のエントリであり、当該エントリを、ＣＰＵ１６のフィルタ・ＳＰＩ検索テーブル（図２３）に登録する。図２３はＣＰＵで保持するフィルタ・ＳＰＩ検索テーブルを示す第３の図である。
【００５３】
次に、ＣＰＵ１６は、パケット通過制御回路へのＳＰＩエントリの登録を行なう（ステップＳ９５２）。この処理は受信パケットＰのエコー要求メッセージに対する、エコー応答メッセージをＣＰＵに転送させる為のエントリを、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブル（図２４）に登録する処理である。図２４はパケット通過制御回路で保持するフィルタ・ＳＰＩ検索テーブルを示す第４の図である。なお、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルのエントリが全て登録済みの場合の処理については後述する。そしてＣＰＵ１６は、ＣＰＵのフィルタ・ＳＰＩ検索テーブルに登録したＳＰＩエントリのエントリ番号と、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルに登録したパケット通過制御回路用ＳＰＩエントリのエントリ番号の対応を記憶しておく。またＵｓｅｄカウンタをクリアする。このＵｓｅｄカウンタについては後述する。そして、ＣＰＵ１６は登録したＳＰＩエントリの有効期間を計測するタイマ（ＳＰＩエントリ有効タイマ）を起動する（ステップＳ９５３）。このタイマの動作については後述する。
【００５４】
図２５は汎用パケットのＳＰＩエントリ登録処理のフローを示す図である。
ＳＰＩエントリ登録対象の受信パケットＰが、送信元ＩＰアドレス（Ｓ−ＩＰ）、あて先ＩＰアドレス（Ｄ−ＩＰ）、プロトコル（ＰＲＯＴ）のパケットであるとする。まず、ＣＰＵ１６は、受信パケットのＳＰＩエントリの登録を行なう（ステップＳ９９１）。この登録は、受信パケットＰの双方向（パケット転送の流れが互いに逆向きのパケットの組）のパケットを通過させるためのエントリをＣＰＵ１６で保持するフィルタ・ＳＰＩ検索テーブル（図２６）に登録する処理である。図２６はＣＰＵで保持するフィルタ・ＳＰＩ検索テーブルを示す第４の図である。
【００５５】
次に、ＣＰＵ１６は、パケット通過制御回路へのＳＰＩエントリの登録を行なう（ステップＳ９９２）。この処理は受信パケットＰの双方向（パケット転送の流れが互いに逆向きのパケットの組）のパケットを通過させるためのエントリを、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブル（図２７）に登録する処理である。図２７はパケット通過制御回路で保持するフィルタ・ＳＰＩ検索テーブルを示す第５の図である。なお、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルのエントリが全て登録済みの場合の処理については後述する。そしてＣＰＵ１６は、ＣＰＵのフィルタ・ＳＰＩ検索テーブルに登録したＳＰＩエントリのエントリ番号と、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルに登録したパケット通過制御回路用ＳＰＩエントリのエントリ番号の対応を記憶しておく。またＵｓｅｄカウンタをクリアする。このＵｓｅｄカウンタについては後述する。そして、ＣＰＵ１６は登録したＳＰＩエントリの有効期間を計測するタイマ（ＳＰＩエントリ有効タイマ）を起動する（ステップＳ９９３）。このタイマの動作については後述する。
【００５６】
図２８はエントリ番号対応管理テーブルを示す図である。
上述した各ＳＰＩエントリ登録処理において、ＣＰＵのフィルタ・ＳＰＩ検索テーブルに登録したＳＰＩエントリのエントリ番号と、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルに登録したパケット通過制御回路用ＳＰＩエントリのエントリ番号の対応付けを、このエントリ番号対応管理テーブルにより行なう。そして、対応するエントリには、ＳＰＩエントリ有効タイマが対応付けられて登録される。このタイマはＳＰＩエントリの有効期間を計測したタイマ値である。
【００５７】
また上述のＵｓｅｄカウンタについて説明する。
Ｕｓｅｄカウンタとは各ＳＰＩエントリおよび各パケット通過制御回路用のＳＰＩエントリについて、エントリが通過させたパケットの個数を計測した値である。ＣＰＵ１６とパケット通過制御回路のフィルタ・ＳＰＩ検索テーブルのエントリごとにカウンタを設けておくか、あるいは、ＳＰＩ管理テーブルのエントリ別に設ける。
【００５８】
次に、ＳＰＩエントリ有効タイマの処理について説明する。
図２９はＳＰＩエントリ有効タイマの処理フローを示す図である。
まず、ＣＰＵ１６は、全ＳＰＩエントリ群［ｍ］についてのＳＰＩエントリ有効タイマの処理を実行完了すると（ステップＳ２９０１）、Ｕｓｅｄカウンタ値を読み出す（ステップＳ２９０２）。これにより、ＳＰＩエントリ群［ｍ］に属するＳＰＩエントリが通過させたパケットの個数Ｃ［ｍ］を取得する。次に、ＳＰＩエントリが使用されたか否かを判定する（ステップＳ２９０３）。つまり、ＳＰＩエントリ群［ｍ］に属するＳＰＩエントリが通過させたパケットの個数Ｃ［ｍ］の値が前回読み出し時から変化していない場合は、ＳＰＩエントリ未使用と判定する。これ以外はＳＰＩエントリが使用されたと判定する。
【００５９】
ここで、ＳＰＩエントリが未使用の場合には、ＳＰＩエントリ有効タイマを進める（ステップＳ２９０４）。つまりＳＰＩエントリ有効タイマＴ［ｍ］を−１する（ダウンカウンタの実装の場合）。そしてＳＰＩエントリ有効タイマＴ［ｍ］が満了か否かを判定し（ステップＳ２９０５）、満了である、つまり０となった場合、満了と判定する。（ダウンカウンタによる実装時であり、アップカウンタによる実装時は、Ｔｍａｘになった時満了とする）。そしてＳＰＩエントリを削除する。つまりＳＰＩエントリ群［ｍ］に属するＳＰＩエントリを、ＣＰＵ１６のフィルタ・ＳＰＩ検索テーブルとパケット通過制御回路のフィルタ・ＳＰＩ検索テーブルからそれぞれ削除する（ステップＳ２９０６）。
【００６０】
またステップＳ２９０３においてＳＰＩエントリが使用された場合には、ＳＰＩエントリ有効タイマを初期化する（ステップＳ２９０７）。つまりＳＰＩエントリ有効タイマＴ［ｍ］をＴｍａｘに初期化する（ダウンカウンタによる実装時であり、アップカウンタ実装時は０に初期化する）。ＴｍａｘはＳＰＩエントリ有効最大時間であり、この時間中にＳＰＩエントリ群［ｍ］に属するＳＰＩエントリが通過させたパケットが無かった場合は、ＳＰＩエントリ群［ｍ］が削除対象となる。そして一定時間ｔｗの経過を待ち（ステップＳ２９０８）、ステップＳ２９０１から処理を繰り返す。
【００６１】
次に、上述のパケット通過制御回路用のＳＰＩエントリ登録の処理について説明する。
図３０はパケット通過制御回路用のＳＰＩエントリ登録の処理フローを示す図である。
まず、ＣＰＵ１６はパケット通過制御回路用のＳＰＩエントリ登録の最初に、パケット通過制御回路のフィルタリング記憶部１４のデータ容量に空きがあり、パケット通過制御回路用のＳＰＩエントリを登録できるか否かを判定する（ステップＳ３００１）。そしてステップＳ３００１においてＮｏ（つまり空きがない場合には）、パケット通過制御回路用のＳＰＩエントリが、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルに登録されているか否かを確認する（ステップＳ３００２）。そしてステップＳ３００２でＮｏの場合には、削除可能ＳＰＩエントリの検索を行ない（ステップＳ３００３）。そして削除可能ＳＰＩエントリがあるか否かを判定する（ステップＳ３００４）。削除可能ＳＰＩエントリがなければ処理を終了、削除可能ＳＰＩエントリがあれば、削除可能ＳＰＩエントリを削除して（ステップＳ３００５）、空きエントリに未登録のパケット通過制御回路用のＳＰＩエントリを登録する（ステップＳ３００６）。次に、パケット通過制御回路用のＳＰＩエントリ全てを登録完了したか否かを判定し（ステップＳ３００７）、登録完了していれば処理を終了、全てを登録していない場合には、ステップＳ３００１からの処理を繰り返す。
【００６２】
なお、ステップＳ３００３の処理では、全てのＳＰＩエントリ群［ｍ］について、ＳＰＩエントリ有効タイマ［ｍ］の値を読み出し、ＳＰＩエントリ未使用期間が最も長いＳＰＩエントリ群（タイマをダウンカウンタで実装する場合はタイマ値が最も小さいＳＰＩエントリ群、タイマをアップカウンタで実装する場合はタイマ値が最も大きいＳＰＩエントリ群）を見つけ、削除可能ＳＰＩエントリとする。但し、未使用期間が閾値以下の場合は、削除可能ＳＰＩエントリとしないこととする。
【００６３】
またステップＳ３００１で登録可能であるならば、ステップＳ３００６とステップＳ３００７の処理を行なう。また、ステップＳ３００２において、パケット通過制御回路用のＳＰＩエントリが、パケット通過制御回路のフィルタ・ＳＰＩ検索テーブルに登録されている場合には、最低優先度として全パケットをＣＰＵ転送するＣＰＵ処理用エントリが登録されているか否かを判定し（ステップＳ３００８）、なければＣＰＵ処理用エントリを登録して（ステップＳ３００９）、ＣＰＵ処理用エントリ以外の、最低優先度のフィルタエントリを削除して（ステップＳ３０１０）、ステップＳ３００６、ステップＳ３００７の処理を行なう。
【００６４】
次にパケット通過制御装置における処理部全体にわたる一連の処理について説明する。
図３１はパケット通過制御装置における処理フローを示す第１の図である。
この図では受信パケットがＴＣＰである場合の第１の例についての処理フローを示している。
まず、ＬＡＮ側のＩ／Ｆ１２でＴＣＰセッション開始パケット（ＴＣＰのＳＹＮパケット）を受信すると（ステップＳ３１０１）、ＴＣＰセッション開始パケットがパケット通過制御回路に転送される。パケット通過制御回路では、フィルタリング処理部１３がフィルタリング記憶部１４に格納されているフィルタ・ＳＰＩ検索テーブルのエントリに適合すると判定し、またＣＰＵ転送すると判定する（ステップＳ３１０２）。そして、ＴＣＰセッション開始パケットをＣＰＵ１６に転送する。ＣＰＵ１６では受信パケットの転送先がＷＡＮ側のＩ／Ｆ１１であると判定し、またフィルタエントリにより通過と判定し、またこれによりＳＰＩエントリ登録パケットであると判定する（ステップＳ３１０３）。そしてＣＰＵ１６は、回路用ＳＰＩエントリをフィルタリング記憶部１４の回路用のフィルタ・ＳＰＩ検索テーブルに登録し（ステップＳ３１０４）、またＷＡＮ側のＩ／Ｆ１１への転送の指示し、パケット通過制御回路にＴＣＰセッション開始パケットを転送する（ステップＳ３１０５）。パケット通過制御回路においてはフィルタリング処理部１３が、ＣＰＵ１６の指示に従い、ＷＡＮ側のＩ／Ｆ１１にパケットを転送し（ステップＳ３１０６）、パケットの宛先アドレスに送信する。
【００６５】
次に、パケットで示されるあて先と送信元との間において、ＴＣＰセッションのパケット（ＦＩＮ／ＲＳＴ以外のパケット）が送受信される。その間に接続されているパケット通過制御装置においては、ＷＡＮ側Ｉ／Ｆ１１から受信したパケットをパケット通過制御回路のフィルタリング処理部１３がＬＡＮ側Ｉ／Ｆ１２へ転送して送信元へ送出し（ステップＳ３１０７）、またＬＡＮ側Ｉ／Ｆ１２で送信元から受信したパケットをフィルタリング処理部１３がＷＡＮ側Ｉ／Ｆ１１へ転送して送信先へ宛先へ送出する（ステップＳ３１０８）。
【００６６】
そして、ＬＡＮ側Ｉ／Ｆ１２においてＴＣＰセッション終了パケット（ＴＣＰのＦＩＮ／ＲＳＴパケット）を受信すると（ステップＳ３１０９）、パケット通過制御回路のフィルタリング処理部１３は回路用フィルタエントリに適合しておりまた、ＣＰＵ転送であると判定する（ステップＳ３１１０）。そして、ＴＣＰセッション終了パケットがＣＰＵ１６に転送され、ＣＰＵ１６が、転送先がＷＡＮ側Ｉ／Ｆであるという判定と、フィルタエントリが通過であるという判定と、ＳＰＩエントリの削除パケットであるという判定を行なう（ステップＳ３１１１）。そして、ＳＰＩエントリ削除パケットの片方向転送済み（ＬＡＮ側→ＷＡＮ側へのパケット）を記録（ＳＰＩエントリ番号と転送済み方向を記録）し、ＴＣＰセッション終了パケットをＷＡＮ側Ｉ／Ｆ１１へ指示する（ステップＳ３１１２）。するとパケット通過制御回路のフィルタリング処理部１３は、ＣＰＵの指示に従い、ＷＡＮ側Ｉ／Ｆ１１にＴＣＰセッション終了パケットを転送し（ステップＳ３１１３）、ＷＡＮ側Ｉ／Ｆ１１があて先へ送出する。
【００６７】
また、あて先からのＴＣＰセッション終了パケット（ＴＣＰのＦＩＮ／ＲＳＴパケット）をＷＡＮ側Ｉ／Ｆ１１で受信すると（ステップＳ３１１４）、パケット通過制御回路のフィルタリング処理部１３は、そのパケットが回路用ＳＰＩエントリに適合しておりＣＰＵ転送するパケットであると判定する（ステップＳ３１１５）。そして、ＴＣＰセッション終了のパケットをＣＰＵ１６に転送する。するとＣＰＵ１６は、転送先がＬＡＮ側Ｉ／Ｆ１２であるという判定と、フィルタエントリにおいて通過を示しているという判定と、ＳＰＩエントリ削除パケットであるという判定とを行い（ステップＳ３１１６）、ＳＰＩエントリ削除パケットのＷＡＮ側→ＬＡＮ側、ＬＡＮ側→ＷＡＮ側の双方のパケットが転送されたと判定する（ステップＳ３１１７）。そしてＣＰＵ１６は回路用のＳＰＩエントリを削除し（ステップＳ３１１８）、パケット通過制御回路のフィルタリング処理部１３に、ＴＣＰセッション終了パケットをＬＡＮ側Ｉ／Ｆ１２へ転送するよう指示する（ステップＳ３１１９）。そして、パケット通過制御回路のフィルタリング処理部１３は、ＣＰＵ１６の指示に従い、ＬＡＮ側Ｉ／Ｆ１２にＴＣＰセッション終了パケットを転送し（ステップＳ３１２０）、ＬＡＮ側Ｉ／Ｆ１２が送信元へ送出する。以上によりパケット通過制御装置におけるＴＣＰパケットの転送処理が終了する。
【００６８】
図３２はパケット通過制御装置における処理フローを示す第２の図である。
この図では受信パケットがＴＣＰである場合の第２の例についての処理フローを示している。この第２の例は、タイマによりＳＰＩエントリを削除する方法である。
まず、ＬＡＮ側のＩ／Ｆ１２でＴＣＰセッション開始パケット（ＴＣＰのＳＹＮパケット）を受信すると（ステップＳ３２０１）、ＴＣＰセッション開始パケットがパケット通過制御回路に転送される。パケット通過制御回路では、フィルタリング処理部１３がフィルタリング記憶部１４に格納されているフィルタ・ＳＰＩ検索テーブルのエントリに適合するという判定と、ＣＰＵ転送すると判定する（ステップＳ３２０２）。そして、ＴＣＰセッション開始パケットをＣＰＵ１６に転送する。ＣＰＵ１６では受信パケットの転送先がＷＡＮ側のＩ／Ｆ１１であると判定し、またフィルタエントリにより通過と判定し、またこれによりＳＰＩエントリ登録パケットであると判定する（ステップＳ３２０３）。そしてＣＰＵ１６は、回路用ＳＰＩエントリをフィルタリング記憶部１４の回路用のフィルタ・ＳＰＩ検索テーブルに登録し（ステップＳ３２０４）、またＷＡＮ側のＩ／Ｆ１１への転送の指示し、パケット通過制御回路にＴＣＰセッション開始パケットを転送する（ステップＳ３２０５）。パケット通過制御回路においてはフィルタリング処理部１３が、ＣＰＵ１６の指示に従い、ＷＡＮ側のＩ／Ｆ１１にパケットを転送し（ステップＳ３２０６）、パケットの宛先アドレスに送信する。
【００６９】
次に、パケットのあて先とパケットの送信元との間において、ＴＣＰセッションのパケット（ＦＩＮ／ＲＳＴ以外のパケット）が送受信される。その間に接続されているパケット通過制御装置においては、ＷＡＮ側Ｉ／Ｆ１１から受信したパケットをパケット通過制御回路のフィルタリング処理部１３がＬＡＮ側Ｉ／Ｆ１２へ転送して送信元へ送出し（ステップＳ３２０７）、またＬＡＮ側Ｉ／Ｆ１２で送信元から受信したＴＣＰセッションのパケット（ＦＩＮ／ＲＳＴ以外のパケット）をフィルタリング処理部１３がＷＡＮ側Ｉ／Ｆ１１へ転送して送信先へ宛先へ送出する（ステップＳ３２０８）。
【００７０】
そして、ＬＡＮ側Ｉ／Ｆ１２においてＴＣＰセッション終了パケット（ＴＣＰのＦＩＮ／ＲＳＴパケット）を受信すると（ステップＳ３２０９）、パケット通過制御回路のフィルタリング処理部１３は回路用フィルタエントリに適合しておりまた、ＣＰＵ転送であると判定する（ステップＳ３２１０）。そして、ＴＣＰセッション終了パケットをＣＰＵ１６に転送し、ＣＰＵ１６が転送先がＷＡＮ側Ｉ／Ｆであるという判定と、フィルタエントリが通過であるという判定と、ＳＰＩエントリの削除パケットであると判定を行なう（ステップＳ３２１１）。そしてＣＰＵ１６はＴＣＰのＳＰＩエントリ削除パケットの転送保護タイマを起動する（ステップＳ３２１２）。そして、ＷＡＮ側Ｉ／Ｆ１１への転送をパケット通過制御回路へ指示する（ステップＳ３２１３）。するとパケット通過制御回路のフィルタリング処理部１３は、ＣＰＵの指示に従い、ＷＡＮ側Ｉ／Ｆ１１にＴＣＰセッション終了パケットを転送し（ステップＳ３２１４）、ＷＡＮ側Ｉ／Ｆ１１があて先へ送出する。
【００７１】
また、あて先からのＴＣＰセッション終了パケット（ＴＣＰのＦＩＮ／ＲＳＴパケット）をＷＡＮ側Ｉ／Ｆ１１で受信すると（ステップＳ３２１５）、パケット通過制御回路のフィルタリング処理部１３は、そのパケットについて、回路用ＳＰＩエントリに適合していると判定しＬＡＮ側Ｉ／Ｆ１２へ転送する（ステップＳ３２１６）。そして、ＣＰＵ１６ではステップＳ３２１２で起動したタイマの満了を検出し（ステップＳ３２１７）により、ＳＰＩエントリ削除をする（ステップＳ３２１８）。
【００７２】
図３３はパケット通過制御装置における処理フローを示す第３の図である。
この図では受信パケットがＵＤＰである場合の例についての処理フローを示している。
まず、ＬＡＮ側のＩ／Ｆ１２でＵＤＰのパケットＰを受信すると（ステップＳ３３０１）、当該パケットＰがパケット通過制御回路に転送される。パケット通過制御回路では、フィルタリング処理部１３がフィルタリング記憶部１４に格納されているフィルタ・ＳＰＩ検索テーブルのエントリに適合するという判定と、ＣＰＵ転送すると判定する（ステップＳ３３０２）。そして、パケットＰをＣＰＵ１６に転送する。ＣＰＵ１６では受信パケットＰの転送先がＷＡＮ側のＩ／Ｆ１１であると判定し、またフィルタエントリにより通過と判定し、またこれによりＳＰＩエントリ登録パケットであると判定する（ステップＳ３３０３）。そしてＣＰＵ１６は、回路用ＳＰＩエントリをフィルタリング記憶部１４の回路用のフィルタ・ＳＰＩ検索テーブルに登録し（ステップＳ３３０４）、またＷＡＮ側のＩ／Ｆ１１への転送の指示し、パケット通過制御回路にパケットＰを転送する（ステップＳ３３０５）。またこの時ＣＰＵ１６は、ＳＩエントリ有効タイマの初期化を行なう（ステップＳ３３０６）。パケット通過制御回路においてはフィルタリング処理部１３が、ＣＰＵ１６の指示に従い、ＷＡＮ側のＩ／Ｆ１１にパケットＰを転送し（ステップＳ３３０７）、パケットのあて先へ送出する。
【００７３】
次に、パケットのあて先とパケットの送信元との間において、パケットｘ〜ｚが送受信される。その間に接続されているパケット通過制御装置においては、ＷＡＮ側Ｉ／Ｆ１１から受信したパケットｘをパケット通過制御回路のフィルタリング処理部１３がＬＡＮ側Ｉ／Ｆ１２へ転送して送信元へ送出し（ステップＳ３３０８）、またＬＡＮ側Ｉ／Ｆ１２で送信元から受信したパケットｙをフィルタリング処理部１３がＷＡＮ側Ｉ／Ｆ１１へ転送して送信先へ宛先へ送出し（ステップＳ３３０９）、またＷＡＮ側Ｉ／Ｆ１１から受信したパケットｚをパケット通過制御回路のフィルタリング処理部１３がＬＡＮ側Ｉ／Ｆ１２へ転送して送信元へ送出する（ステップＳ３３１０）。このステップＳ３３０８〜Ｓ３３１０間に、フィルタリング処理部１３は、ＳＰＩエントリの利用をＣＰＵ１６に通知する。ＣＰＵ１６ではＳＰＩエントリ有効タイマ処理に基づき、Ｕｓｅｄカウンタ値を読み出し、ＳＰＩエントリが使用中であるのでタイマを初期化する処理を行なう（ステップＳ３３１１）。またＳＰＩエントリ有効タイマ処理に基づき、Ｕｓｅｄカウンタ値を読み出し、ＳＰＩエントリが未使用である場合にはタイマを更新する（ステップＳ３３１２）。そしてＳＰＩエントリ有効タイマ満了を検出すると（ステップＳ３３１３）、ＳＰＩエントリを削除する（ステップＳ３３１４）。
【００７４】
図３４はパケット通過制御装置における処理フローを示す第４の図である。
この図では受信パケットがＩＣＭＰである場合の例についての処理フローを示している。
まず、ＬＡＮ側のＩ／Ｆ１２でＩＣＭＰのパケット（エコー要求メッセージ、タイプ＝８、コード＝０）を受信すると（ステップＳ３４０１）、当該パケットのエコー要求メッセージがパケット通過制御回路に転送される。パケット通過制御回路では、フィルタリング処理部１３がフィルタリング記憶部１４に格納されているフィルタ・ＳＰＩ検索テーブルのエントリに適合するという判定を行い、ＣＰＵ転送すると判定する（ステップＳ３４０２）。そして、エコー要求メッセージをＣＰＵ１６に転送する。ＣＰＵ１６ではエコー要求メッセージの転送先がＷＡＮ側のＩ／Ｆ１１であると判定し、またフィルタエントリにより通過と判定し、またこれによりＳＰＩエントリ登録パケットであると判定する（ステップＳ３４０３）。そしてＣＰＵ１６は、回路用ＳＰＩエントリをフィルタリング記憶部１４の回路用のフィルタ・ＳＰＩ検索テーブルに登録し（ステップＳ３４０４）、またＷＡＮ側のＩ／Ｆ１１への転送の指示し、パケット通過制御回路にエコー要求メッセージを転送する（ステップＳ３４０５）。パケット通過制御回路においてはフィルタリング処理部１３が、ＣＰＵ１６の指示に従い、ＷＡＮ側のＩ／Ｆ１１にエコー要求メッセージを転送し（ステップＳ３４０６）、パケットのあて先へ送出する。
【００７５】
次に、逆方向のＩＣＭＰパケット（ＴＣＰのＦＩＮ／ＲＳＴパケット）をＷＡＮ側Ｉ／Ｆ１１で受信すると、エコー応答メッセージがパケット通過制御回路に転送され、フィルタリング処理部１３は、そのパケットについて、回路用ＳＰＩエントリに適合していると判定し、また当該パケットがＣＰＵ転送であると判定する（ステップＳ３４０７）。そしてエコー応答メッセージをＣＰＵ１６に転送する。ＣＰＵ１６ではＬＡＮ側Ｉ／Ｆ１２へ転送するという判定と、フィルタエントリにより通過させるという判定と、ＳＰＩエントリ削除パケットであるという判定を行い（ステップＳ３４０８）、ＳＰＩエントリを削除する（ステップＳ３４０９）。そして、ＷＡＮ側Ｉ／Ｆ１１への転送をパケット通過制御回路に指示し、エコー応答メッセージを転送する（ステップＳ３４１０）。するとパケット通過制御回路のフィルタリング処理部１３は、ＣＰＵ１６の指示に従いＬＡＮ側Ｉ／Ｆにエコー応答メッセージを転送し（ステップＳ３４１１）、送信元に送出する。
【００７６】
以上、本発明の実施形態について説明したが、なお上述の上述したＣＰＵにおける処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【図面の簡単な説明】
【００７７】
【図１】パケット通過制御装置の構成を示すブロック図である。
【図２】フィルタリング記憶部の構成を示す図である。
【図３】フィルタリング情報登録状況テーブルとフィルタリング記憶部の構成を示す図である。
【図４】パケット通過制御装置の処理フローの概要を示す図である。
【図５】パケット通過制御装置が受信するパケットとそのパケットの受信に基づいて動的に生成したＳＰＩエントリとを示すテーブルである。
【図６】登録したフィルタリング情報の調整の概要を示す第１の図である。
【図７】登録したフィルタリング情報の調整の概要を示す第２の図である。
【図８】ＣＰＵによるパケット処理のフローを示図である。
【図９】ＳＰＩエントリ管理の処理フローである。
【図１０】ＳＰＩ登録パケット判定処理のフローを示す図である。
【図１１】ＳＰＩエントリ削除パケットの判定処理のフローを示す第１の図である。
【図１２】ＳＰＩエントリ削除パケットの判定処理のフローを示す第２の図である。
【図１３】ＳＰＩエントリ削除パケットの判定処理のフローを示す第３の図である。
【図１４】ＴＣＰのＳＰＩエントリ登録処理のフローを示す第１の図である。
【図１５】ＣＰＵで保持するフィルタ・ＳＰＩ検索テーブルを示す図第１のである。
【図１６】パケット通過制御回路で保持するフィルタ・ＳＰＩ検索テーブルを示す第１の図である。
【図１７】ＴＣＰのＳＰＩエントリ登録処理のフローを示す第２の図である。
【図１８】パケット通過制御回路で保持するフィルタ・ＳＰＩ検索テーブルを示す第２の図である。
【図１９】ＵＤＰのＳＰＩエントリ登録処理のフローを示す図である。
【図２０】ＣＰＵで保持するフィルタ・ＳＰＩ検索テーブルを示す第２の図である。
【図２１】パケット通過制御回路で保持するフィルタ・ＳＰＩ検索テーブルを示す第３の図である。
【図２２】ＩＣＭＰのＳＰＩエントリ登録処理のフローを示す図である。
【図２３】ＣＰＵで保持するフィルタ・ＳＰＩ検索テーブルを示す第３の図である。
【図２４】パケット通過制御回路で保持するフィルタ・ＳＰＩ検索テーブルを示す第４の図である。
【図２５】汎用パケットのＳＰＩエントリ登録処理のフローを示す図である。
【図２６】ＣＰＵで保持するフィルタ・ＳＰＩ検索テーブルを示す第４の図である。
【図２７】パケット通過制御回路で保持するフィルタ・ＳＰＩ検索テーブルを示す第５の図である。
【図２８】エントリ番号対応管理テーブルを示す図である。
【図２９】ＳＰＩエントリ有効タイマの処理フローを示す図である。
【図３０】パケット通過制御回路用のＳＰＩエントリ登録の処理フローを示す図である。
【図３１】パケット通過制御装置における処理フローを示す第１の図である。
【図３２】パケット通過制御装置における処理フローを示す第２の図である。
【図３３】パケット通過制御装置における処理フローを示す第３の図である。
【図３４】パケット通過制御装置における処理フローを示す第４の図である。
【符号の説明】
【００７８】
１・・・パケット通過制御装置
１１・・・Ｉ／Ｆ（ＷＡＮ）
１２・・・Ｉ／Ｆ（ＬＡＮ）
１３・・・フィルタリング処理部
１４・・・フィルタリング記憶部
１５・・・ＣＰＵ／ＩＦ
１６・・・ＣＰＵ
１７・・・テーブル記憶部
【図１】
2007221240.tif 000003
【図２】
2007221240.tif 000004
【図３】
2007221240.tif 000005
【図４】
2007221240.tif 000006
【図５】
2007221240.tif 000007
【図６】
2007221240.tif 000008
【図７】
2007221240.tif 000009
【図８】
2007221240.tif 000010
【図９】
2007221240.tif 000011
【図１０】
2007221240.tif 000012
【図１１】
2007221240.tif 000013
【図１２】
2007221240.tif 000014
【図１３】
2007221240.tif 000015
【図１４】
2007221240.tif 000016
【図１５】
2007221240.tif 000017
【図１６】
2007221240.tif 000018
【図１７】
2007221240.tif 000019
【図１８】
2007221240.tif 000020
【図１９】
2007221240.tif 000021
【図２０】
2007221240.tif 000022
【図２１】
2007221240.tif 000023
【図２２】
2007221240.tif 000024
【図２３】
2007221240.tif 000025
【図２４】
2007221240.tif 000026
【図２５】
2007221240.tif 000027
【図２６】
2007221240.tif 000028
【図２７】
2007221240.tif 000029
【図２８】
2007221240.tif 000030
【図２９】
2007221240.tif 000031
【図３０】
2007221240.tif 000032
【図３１】
2007221240.tif 000033
【図３２】
2007221240.tif 000034
【図３３】
2007221240.tif 000035
【図３４】
2007221240.tif 000036