(57)【特許請求の範囲】
【請求項１】
第１のネットワークと第２のネットワークとを少なくとも１つの他のファイアウォール装置と並列して区画するファイアウォール装置であって、
第１のネットワークと第２のネットワークとの間で転送される転送データのトラフィック量をセッション毎に測定してトラフィック実測値を求める測定部と、
前記トラフィック実測値に基づいて、セッション毎のトラフィック予測量を算出するトラフィック予測量算出部と、
当該ファイアウォール装置の空きトラフィック量を管理する空きトラフィック量管理部と、
前記トラフィック予測量と前記空きトラフィック量とを比較して、当該ファイアウォール装置での前記転送データの透過可否を判断する透過判断部と、
前記判断の結果、透過不可と判断した場合に、転送先ファイアウォールを選択する選択部と、
前記選択した転送先ファイアウォールに対して前記転送データをリダイレクト転送する転送部とをそなえることを特徴とする、ファイアウォール装置。
【請求項２】
前記第１のネットワークと第２のネットワークとの間のデータ転送制御を行なうデータ転送制御部をそなえ、
前記判断の結果、透過可と判断した場合に、前記データ転送制御部が、前記転送データを前記第１のネットワークと第２のネットワークとの間で転送することを特徴とする、請求項１記載のファイアウォール装置。
【請求項３】
前記トラフィック予測量算出部により算出された前記トラフィック予測量をセッションに対応付けたセッション管理情報を格納するセッション管理情報格納部をそなえることを特徴とする、請求項１又は２記載のファイアウォール装置。
【請求項４】
当該ファイアウォール装置における前記転送データのセッション数を管理するセッション数管理部をそなえ、
前記透過判断部が、前記セッション数と規定セッション数とを比較して、前記転送データの透過可否を判断することを特徴とする、請求項１〜３のいずれか１項に記載のファイアウォール装置。
【請求項５】
前記少なくとも１つの他のファイアウォール装置の空きトラフィック量を管理する他装置空きトラフィック量管理部をそなえ、
前記選択部が、前記少なくとも１つの他のファイアウォール装置のうち、空きトラフィック量の多いファイアウォール装置を優先的に転送先ファイアウォールとして選択することを特徴とする、請求項１〜４のいずれか１項に記載のファイアウォール装置。
【請求項６】
第１のネットワークと第２のネットワークとを少なくとも１つの他のファイアウォール装置と並列して区画するファイアウォール装置における処理方法であって、
第１のネットワークと第２のネットワークとの間で転送される転送データのトラフィック量をセッション毎に測定してトラフィック実測値を求め、
前記トラフィック実測値に基づいて、セッション毎のトラフィック予測量を算出し、
当該ファイアウォール装置の空きトラフィック量を管理し、
前記トラフィック予測量と前記空きトラフィック量とを比較して、当該ファイアウォール装置での前記転送データの透過可否を判断し、
前記判断の結果、透過不可と判断した場合に、転送先ファイアウォールを選択し、
前記選択した転送先ファイアウォールに対して前記転送データをリダイレクト転送することを特徴とする、処理方法。
【請求項７】
第１のネットワークと第２のネットワークとの間に複数のファイアウォール装置を並列して配置することにより区画するファイアウォールシステムであって、
前記ファイアウォール装置が、
第１のネットワークと第２のネットワークとの間で転送される転送データのトラフィック量をセッション毎に測定してトラフィック実測値を求める測定部と、
前記トラフィック実測値に基づいて、セッション毎のトラフィック予測量を算出するトラフィック予測量算出部と、
当該ファイアウォール装置の空きトラフィック量を管理する空きトラフィック量管理部と、
前記トラフィック予測量と前記空きトラフィック量とを比較して、当該ファイアウォール装置での前記転送データの透過可否を判断する透過判断部と、
前記判断の結果、透過不可と判断した場合に、転送先ファイアウォールを選択する選択部と、
前記選択した転送先ファイアウォールに対して前記転送データをリダイレクト転送する転送部とをそなえることを特徴とする、ファイアウォールシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ファイアウォール装置，処理方法及びファイアウォールシステムに関する。
【背景技術】
【０００２】
近年、インターネットの普及に伴い、企業等において、ネットワーク・セキュリティーの重要性が強く認識されている。例えば、悪意のある不正利用者が、インターネット等の外部ネットワークを通じて、企業内のローカルエリアネットワークなどの内部ネットワークに不正侵入する危険性がある。
こうした不正侵入等の脅威から内部ネットワークを保護する目的で、内部ネットワークと外部ネットワークとの境界にファイアウォールが設置される。このファイアウォールは、内部ネットワークと外部ネットワークとの間を往来するパケットデータのうち、不正だと判断されるものについて、往来を制限するものである。
【０００３】
通常、ファイアウォールは、往来するパケットデータが不正かどうかの判断を、セッション単位で行なう。このため、ファイアウォールで処理すべきセッションの数が、１台のファイアウォールで処理可能なセッションの数より多い場合には、複数台のファイアウォールを設置するとともに、これらの複数台のファイアウォール間で負荷分散を行なう。
従来においては、セッション数に制限を設けて負荷分散を行なう方法が知られている（下記特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１４６００５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、セッション数の管理以上に重要となるのが、１つのファイアウォールで処理可能なトラフィック量である。
例えば、ファイアウォールやルータ等のネットワーク装置においては、単位時間当たりに処理可能なトラフィック処理量は装置個々に決まっている。
このため、１セッション当たりのトラフィック量が少ない場合には、ファイアウォール装置における最大値までの多くのセッション数を利用できる。
【０００６】
一方、１セッション当たりのトラフィック量が多い場合には、ファイアウォール装置におけるセッション数を最大値まで利用することができず、利用できるセッション数が少なくなってしまう。
また、内部ネットワークと外部ネットワーク間のトラフィック量に関しては、一般的に内部ネットワークから外部ネットワーク向けトラフィック量より、外部ネットワークから内部ネットワーク向けトラフィック量の方が非常に多く、非対称なトラフィック量となることが多い。
【０００７】
そのため、セッション数の管理に加えてトラフィック量を総合的に考慮する必要がある。
特に、大規模なネットワークでは、セッション数やトラフィック量が多くなるため、トラフィック量まで考慮に入れた負荷分散が重要となる。
しかしながら、従来では、セッション数に基づく負荷分散が行なわれているに過ぎず、複数台のファイアウォールでセッション数の偏りが発生することもある上、トラフィック量による分散が出来ていなかった。
【０００８】
本件の目的の一つは、複数台で効率的に負荷分散することのできるファイアウォール装置を提供することである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【０００９】
（１）第１の案として、第１のネットワークと第２のネットワークとを少なくとも１つの他のファイアウォール装置と並列して区画するファイアウォール装置であって、第１のネットワークと第２のネットワークとの間で転送される転送データのトラフィック量をセッション毎に測定してトラフィック実測値を求める測定部と、前記トラフィック実測値に基づいて、セッション毎のトラフィック予測量を算出するトラフィック予測量算出部と、当該ファイアウォール装置の空きトラフィック量を管理する空きトラフィック量管理部と、前記トラフィック予測量と前記空きトラフィック量とを比較して、当該ファイアウォール装置での前記転送データの透過可否を判断する透過判断部と、前記判断の結果、透過不可と判断した場合に、転送先ファイアウォールを選択する選択部と、前記選択した転送先ファイアウォールに対して前記転送データをリダイレクト転送する転送部とをそなえる、ファイアウォール装置を用いることができる。
【００１０】
（２）また、第２の案として、第１のネットワークと第２のネットワークとを少なくとも１つの他のファイアウォール装置と並列して区画するファイアウォール装置における処理方法であって、第１のネットワークと第２のネットワークとの間で転送される転送データのトラフィック量をセッション毎に測定してトラフィック実測値を求め、前記トラフィック実測値に基づいて、セッション毎のトラフィック予測量を算出し、当該ファイアウォール装置の空きトラフィック量を管理し、前記トラフィック予測量と前記空きトラフィック量とを比較して、当該ファイアウォール装置での前記転送データの透過可否を判断し、前記判断の結果、透過不可と判断した場合に、転送先ファイアウォールを選択し、前記選択した転送先ファイアウォールに対して前記転送データをリダイレクト転送する、処理方法を用いることができる。
【００１１】
（３）さらに、第３の案として、第１のネットワークと第２のネットワークとの間に複数のファイアウォール装置を並列して配置することにより区画するファイアウォールシステムであって、前記ファイアウォール装置が、第１のネットワークと第２のネットワークとの間で転送される転送データのトラフィック量をセッション毎に測定してトラフィック実測値を求める測定部と、前記トラフィック実測値に基づいて、セッション毎のトラフィック予測量を算出するトラフィック予測量算出部と、当該ファイアウォール装置の空きトラフィック量を管理する空きトラフィック量管理部と、前記トラフィック予測量と前記空きトラフィック量とを比較して、当該ファイアウォール装置での前記転送データの透過可否を判断する透過判断部と、前記判断の結果、透過不可と判断した場合に、転送先ファイアウォールを選択する選択部と、前記選択した転送先ファイアウォールに対して前記転送データをリダイレクト転送する転送部とをそなえる、ファイアウォールシステムを用いることができる。
【発明の効果】
【００１２】
複数のファイアウォール装置間で効率的に負荷分散することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係るネットワークシステムの構成の一例を示す図である。
【図２】一実施形態に係るファイアウォールのハードウェア構成の一例を示す図である。
【図３】一実施形態に係るファイアウォールの機能構成の一例を示す図である。
【図４】一実施形態に係るセッション管理テーブルの内容の一例を示す図である。
【図５】一実施形態に係るトラフィック管理テーブルの内容の一例を示す図である。
【図６】一実施形態に係る装置連携管理テーブルの内容の一例を示す図である。
【図７】一実施形態に係るネットワークシステムの処理フローの一例を示す図である。
【図８】一実施形態に係るリダイレクト処理の処理フローの一例を示す図である。
【図９】一実施形態に係る装置連携管理テーブルの内容をファイアウォール間で相互に更新する処理フローの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に示す実施の形態は、あくまでも例示に過ぎず、以下に示す実施形態で明示しない種々の変形や技術の適用を排除する意図はない。即ち、実施形態を、本発明の趣旨を逸脱しない範囲で種々変形して実施できることはいうまでもない。
〔１〕一実施形態
〔１−１〕ネットワークシステム
図１は、一実施形態に係るネットワークシステムの構成の一例を示す図である。
【００１５】
この図１に示すネットワークシステム１は、例示的に、Ｍ（Ｍは１以上の整数）個の端末２０−１，２０−２，・・・，２０−Ｍと、外部ネットワーク装置３０と、Ｎ（Ｎは２以上の整数）個のファイアウォール１０−１，１０−２，・・・，１０−Ｎとをそなえる。
なお、以下では、ファイアウォール１０−１，１０−２，・・・，１０−Ｎを区別しない場合、単にファイアウォール１０と表記する。また、端末２０−１，２０−２，・・・，２０−Ｍを区別しない場合、単に端末２０と表記する。
【００１６】
端末２０は、内部ネットワークに接続され、外部ネットワーク装置３０は、外部ネットワークに接続される。また、外部ネットワーク装置３０は、例えば、図示しないウェブサーバに接続される。
ファイアウォール１０は、内部ネットワークと外部ネットワークの境界に接続される。
また、Ｎ個のファイアウォール１０が、図１に示すように、内部ネットワークと外部ネットワークとの間に並行して配設される。
【００１７】
Ｍ個の端末２０のいずれかから出力されたパケットは、ファイアウォール１０−１，１０−２，・・，１０−Ｎのいずれかを介して外部ネットワークに出力される。
なお、端末２０から出力されたパケットは、いずれのファイアウォール１０を介しても外部ネットワークに出力することができる。
同様に、ウェブサーバ等から出力されたパケットは、ファイアウォール１０−１，１０−２，・・，１０−Ｎのいずれかを介して内部ネットワークに出力される。
【００１８】
なお、ウェブサーバ等から出力されたパケットは、いずれのファイアウォール１０を介しても内部ネットワークに出力することができる。
さらに、以下では、端末２０が外部ネットワーク装置３０を経由しウェブサーバ等にアクセスする場合を例に本実施形態を説明する。
即ち、本実施形態において、端末２０が、ウェブサーバ等に対して要求パケットを送信し、ウェブサーバ等が、当該要求パケットに対応する応答パケットを端末２０に返す。ファイアウォール１０は、受信した応答パケットが端末２０の送信した要求パケットに対応するものであると判定出来、かつ、予め設定された条件により透過可能と判断した場合に、当該応答パケット（外部ネットワークからのパケットデータ）を内部ネットワーク内へ透過させる。
【００１９】
また、応答パケットは、要求パケットが透過したファイアウォールと同一のファイアウォールを透過して、要求元の端末２０に送信される。
〔１−２〕ファイアウォールのハードウェア構成
図２は、一実施形態に係るファイアウォールのハードウェア構成を模式的に示す図である。
【００２０】
この図２に示すファイアウォール１０は、例示的に、Ｋ（Ｋは１以上の整数）個の入出力インタフェース４１−１，４１−２，・・・，４１−Ｋと、メモリデバイス４２，４３と、スイッチ４４と、ＣＰＵ４５とをそなえる。
また、これらのハードウェア各部は、制御バス４６を介して相互に接続されている。さらに、入出力インタフェース４１−１，４１−２，・・・，４１−Ｋ，スイッチ４４及びＣＰＵ４５は、データバス４７を介して相互に接続される。
【００２１】
なお、以下では、入出力インタフェース４１−１，４１−２，・・・，４１−Ｋを区別しない場合、単に入出力インタフェース４１と表記する。
入出力インタフェース４１は、内部ネットワークもしくは外部ネットワークに接続されており、ファイアウォール１０と、端末２０及びルータ３０との間での通信を可能にするものであり、図３で後述する内部インタフェース部１０１や、外部インタフェース部１０２として機能する。
【００２２】
この入出力インタフェース４１は、例えば、ＬＡＮ（Local Area Network）カードによって実現される。
メモリデバイス４２，４３は、種々のデータやプログラムを一時的に格納する記憶領域であって、例えば、ＲＡＭ（Random Access Memory）などの揮発性メモリやフラッシュメモリなどの不揮発性メモリによって実現される。本実施形態では、例示的に、メモリデバイス４２には、ＣＰＵ（Central Processing Unit）４５に実行させるＯＳ（Operating System）のプログラムが格納され、また、メモリデバイス４３には、後述する各種管理テーブルの内容が格納される。
【００２３】
即ち、メモリデバイス４３は、トラフィック予測量算出部により算出されたトラフィック予測量をセッションに対応付けたセッション管理情報を格納するセッション管理情報格納部の一例として機能する。
スイッチ４４は、内部ネットワークと外部ネットワークとの間でやりとりが行なわれるパケットデータの転送制御を行なうものであり、図示しないバッファなどをそなえる。
【００２４】
ＣＰＵ４５は、種々の制御や演算を行なう処理装置であり、メモリデバイス４２や図示しないＲＯＭ（Read Only Memory）等に格納された、ＯＳやプログラムを実行することにより、種々の機能を実現する。そして、ＣＰＵ４５が、制御プログラムを実行することにより、図３で後述するパケット転送／制御部１０３，セッション管理部１１１，トラフィック管理部１２１，装置連携管理部１３１として機能する。
【００２５】
なお、これらのパケット転送／制御部１０３，セッション管理部１１１，トラフィック管理部１２１，装置連携管理部１３１としての機能を実現するためのプログラム（制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００２６】
パケット転送／制御部１０３，セッション管理部１１１，トラフィック管理部１２１，装置連携管理部１３１としての機能を実現する際には、内部記憶装置（本実施形態ではメモリデバイス４２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ４５）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００２７】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。
【００２８】
〔１−３〕ファイアウォールの機能構成
図３は、一実施形態に係るファイアウォール１０の機能構成の一例を示す図である。
この図３に示すファイアウォール１０は、例示的に、内部インタフェース部１０１と、外部インタフェース部１０２と、パケット転送／制御部１０３と、セッション管理部１１１と、トラフィック管理部１２１と、装置連携管理部１３１と、セッション管理テーブル１５１と、トラフィック管理テーブル１５２と、装置連携管理テーブル１５３とをそなえる。
【００２９】
図４は、セッション管理テーブル１５１の内容の一例を示す図である。セッション管理テーブル１５１は、ファイアウォールで転送を行なうパケットデータをセッション毎に管理するために用いられる。
このため、セッション管理テーブル１５１は、例えば、セッションＩＤ別に、プロトコル種別，送信元／宛て先アドレス，セッション有効フラグなどのセッション情報と、トラフィック量の予測値及び実測値とを保持する。
【００３０】
ここでセッション有効フラグは、管理対象となるセッションが、外部ネットワークからの不法アクセスではないことを示す情報である。
なお、トラフィック量の単位はｐｐｓ（packet per second）で表わされる。
図５は、トラフィック管理テーブル１５２の内容の一例を示す図である。トラフィック管理テーブル１５２は、プロトコル種別および宛て先アドレスから、上り及び下りのトラフィック量を予測するために用いられる。
【００３１】
このため、トラフィック管理テーブル１５２は、例えば、プロトコル種別及び宛て先アドレス毎にトラフィック量の実測値及び予測値を保持する。
図６は、装置連携管理テーブル１５３の内容の一例を示す図である。装置連携管理テーブル１５３は、パケットデータの透過可否の判断及びリダイレクト処理のために用いられる。
【００３２】
このため、装置連携管理テーブル１５３は、例えば、装置名称，空きセッション数，空きトラフィック量及びリダイレクトアドレスを保持する。
内部インタフェース部１０１は、ファイアウォール１０と、内部ネットワークとの間の通信を可能にする。即ち、内部インタフェース部１０１は、内部ネットワークから送信されたパケットデータを、パケット転送／制御部１０３へ受け渡し、パケット転送／制御部１０３から転送されたパケットデータを、内部ネットワークへ出力する。
【００３３】
外部インタフェース部１０２は、ファイアウォール１０と、外部ネットワークとの間の通信を可能にする。即ち、外部インタフェース部１０２は、外部ネットワークから送信されたパケットデータを、パケット転送／制御部１０３へ受け渡し、パケット転送／制御部１０３から転送されたパケットデータを、外部ネットワークへ出力する。
パケット転送／制御部１０３は、要求パケット及び応答パケットの透過、並びに、要求パケットのリダイレクト処理を行なう。なお、当該制御は、セッション管理部１１１やトラフィック管理部１２１，装置連携管理部１３１の処理に基づいて行なわれる。
【００３４】
即ち、パケット転送／制御部１０３は、第１のネットワークと第２のネットワークとの間のデータ転送制御を行なうデータ転送制御部１０３の一例として機能する。
また、パケット転送／制御部１０３は、選択した転送先ファイアウォールに対して前記転送データをリダイレクト転送する転送部の一例として機能する。
パケット転送／制御部１０３は、内部インタフェース部１０１から要求パケットを受け取ると、受け取った要求パケットについての情報をセッション管理部１１１へ出力する。当該要求パケットについての情報には、プロトコル種別，送信元及び宛て先のアドレス，トラフィック量に関する情報などが含まれる。
【００３５】
また、パケット転送／制御部１０３は、外部インタフェース１０２から応答パケットを受け取ると、受け取った応答パケットについての情報をセッション管理部１１１へ出力する。当該応答パケットについての情報には、セッションＩＤなどのセッション情報やトラフィック量に関する情報などが含まれる。
さらに、パケット転送／制御部１０３は、リダイレクト処理として、要求パケットまたは応答パケットが透過不可である場合、対応する要求パケットを、後述する装置連携管理部１３１のリダイレクト部１３２によって指定されたアドレスを有する他のファイアウォール１０に対し転送する。
【００３６】
セッション管理部１１１は、パケット転送／制御部１０３へ入力された要求パケットが新規セッションに基づくものであるか否かの判別を行なう。
また、セッション管理部１１１は、当該要求パケット及び応答パケットついてセッション単位での管理を行なう。このため、セッション管理部１１１は、例示的に、セッション数チェック部１１２と、プロトコル識別部１１３と、セッションチェック部１１４とをそなえる。
【００３７】
セッション数チェック部１１２は、後述する装置連携管理部１３１を介して装置連携管理テーブル１５３の内容を参照することにより、自装置が利用可能な最大セッション数をチェックする。
そして、要求パケットを透過させることにより当該最大セッション数の超過が発生しないかどうかを判断する。
【００３８】
ここで、セッション数が超過しないと判断した場合には、セッション数チェック部１１２は、要求パケットにセッションＩＤを付与するとともに、付与したセッションＩＤをセッション管理テーブル１５１へ格納する。
一方、セッション数の超過が生じると判断すると、セッション数チェック部１１２は、その旨を装置連携管理部１３１のリダイレクト部１３２へ通知する。
【００３９】
即ち、セッション数チェック部１１２は、ファイアウォール装置における転送データのセッション数を管理するセッション管理部の一例として機能する。
プロトコル識別部１１３は、パケット転送／制御部１０３が出力した要求パケットについての情報に基づき、要求パケットのプロトコル種別を識別する。
また、プロトコル識別部１１３は、要求パケットについての情報から送信元アドレスもしくは宛て先アドレスを抽出し、識別したプロトコル種別及び抽出した送信元アドレスもしくは宛て先アドレスをセッション管理テーブル１５１へ格納する。
【００４０】
セッションチェック部１１４は、パケット転送／制御部１０３から出力された応答パケットについての情報に基づき、応答パケットが要求パケットに対応したものであるかどうかをチェックする。また、当該チェック結果をセッション有効フラグとしてセッション管理テーブル１５１に格納するとともに、装置連携管理部１３１へ通知する。
さらに、セッション管理部１１１は、プロトコル識別部１１３で得られた要求パケットのプロトコル種別及び宛て先アドレスに対応するトラフィック量の実測値及び予測値を、トラフィック管理部１２１を介してトラフィック管理テーブル１５２から取得するとともに、セッション管理テーブル１５１に格納する。
【００４１】
なお、トラフィック管理テーブル１５２に、プロトコル識別部１１３で得られた要求パケットのプロトコル種別及び宛て先アドレスに対応するトラフィック量の実測値及び予測値が格納されていない場合にそなえて、ユーザが、プロトコル種別毎に初期値を設定しておくこともできる。
また、セッション管理部１１１は、トラフィック量に関する情報や、プロトコル識別部１１３で得られたプロトコル種別及び送信元アドレスもしくは宛て先アドレスをトラフィック管理部１２１へ出力する。
【００４２】
トラフィック管理部１２１は、セッション管理部１１１から受け取った各種情報を基に、プロトコル種別及び宛て先アドレスから予測されるトラフィック量の予測値を算出するとともに、算出したトラフィック量の予測値を、トラフィック管理テーブル１５２を用いて管理する。
このため、トラフィック管理部１２１は、例示的に、トラフィック測定部１２２と、トラフィック演算部１２３とをそなえる。
【００４３】
トラフィック測定部１２２は、セッション管理部１１１から受け取ったトラフィック量に関する情報を基に、トラフィック量の実測値を測定し、測定したトラフィック量の実測値を、セッション管理テーブル１５２に格納する。
即ち、トラフィック測定部１２２は、第１のネットワークと第２のネットワークとの間で転送される転送データのトラフィック量をセッション毎に測定してトラフィック実測値を求める測定部の一例として機能する。
【００４４】
トラフィック演算部１２３は、トラフィック測定部１２２で測定したトラフィック実測値から、プロトコル種別及び宛て先アドレスから予測されるトラフィック量を計算し、計算したトラフィック量の予測値を、セッション管理テーブル１５２へ格納する。
即ち、トラフィック演算部１２３は、トラフィック実測値に基づいて、セッション毎のトラフィック予測量を算出するトラフィック予測量算出部の一例として機能する。
【００４５】
なお、トラフィック演算部１２３は、過去に受け取ったトラフィック量の実測値を保持しておき、プロトコル種別及び宛て先アドレス別にトラフィック量の実測値の平均値を求めることができる。
また、トラフィック演算部１２３は、例えば、当該平均値に所定の大きさのマージンを加えることで、プロトコル種別及び宛て先アドレスに対応するトラフィック量の予測値を計算することができる。
【００４６】
さらに、トラフィック演算部１２３は、例えば、当該平均値に所定の値を乗算することで、プロトコル種別及び宛て先アドレスに対応するトラフィック量の予測値を計算してもよい。
また、トラフィック管理部１２１は、セッション管理テーブル１５１に格納されたトラフィック量の予測値と、装置連携管理テーブル１５３の空きトラフィック量とに基づき、パケットの透過可否の判断を行なう。
【００４７】
具体的には、トラフィック管理部１２１は、パケット転送／制御部１０３に要求パケットの入力があった場合、セッション管理テーブル１５１における上りトラフィック量及び下りトラフィック量の和と、装置連携管理テーブル１５３における空きトラフィック量とを比較し、空きトラフィック量の方が大きい場合には、当該要求パケットは透過可であると判断する。
【００４８】
一方、空きトラフィック量の方が小さい場合には、トラフィック管理部１２１が、空きトラフィック量不足である旨を装置連携管理部１３１内のリダイレクト部１３２に通知する。
また、トラフィック管理部１２１は、パケット転送／制御部１０３に応答パケットの入力があった場合、セッション管理テーブル１５１における下りトラフィック量と、装置連携管理テーブル１５３における空きトラフィック量とを比較し、空きトラフィック量の方が大きい場合には、当該応答パケットは透過可であると判断する。
【００４９】
一方、空きトラフィック量の方が小さい場合には、トラフィック管理部１２１が、空きトラフィック量不足である旨を装置連携管理部１３１内のリダイレクト部１３２に通知する。
即ち、トラフィック管理部１２１は、トラフィック予測量と空きトラフィック量とを比較して、転送データの透過可否を判断する透過判断部の一例として機能する。
【００５０】
また、トラフィック管理部１２１は、パケットが透過可であると判断した場合、トラフィック量の予測値を装置連携管理部１３１へ出力する。
装置連携管理部１３１は、装置連携管理テーブル１５３を用いて、自装置の空きセッション数及び空きトラフィック量、並びに、他装置の空きセッション数及び空きトラフィック量を管理する。
【００５１】
即ち、装置連携管理部１３１は、ファイアウォール装置の空きトラフィック量を管理する空きトラフィック量管理部の一例として機能する。
また、装置連携管理部１３１は、少なくとも１つの他のファイアウォール装置の空きトラフィック量を管理する他装置空きトラフィック量管理部の一例として機能する。
また、装置連携管理部１３１は、パケット転送／制御部１０３がパケットデータを透過させる場合、トラフィック管理部１２１から当該パケットデータのトラフィック量の予測値を受け取り、装置連携管理テーブル１５３における自装置の空きセッション数及び空きトラフィック量を更新する。
【００５２】
さらに、装置連携管理部１３１は、他のファイアウォールと相互に通信を行なうことで、装置連携管理テーブル１５３の内容を常に最新のものにすることができる。
また、装置連携管理部１３１は、パケット転送／制御部１０３に入力されたパケットデータのリダイレクト処理に係る判断を行なう。このため、装置連携管理部１３１は、リダイレクト部１３２をそなえる。
【００５３】
リダイレクト部１３２は、セッション管理部１１１やトラフィック管理部１２１から、セッション数超過または空きトラフィック量不足の通知を受けると、空きセッション数及び空きトラフィック量の条件を満たす他のファイアウォールを、装置連携管理テーブル１５３の内容から検索する。
また、リダイレクト部１３２は、他のファイアウォールが複数存在する場合、他のファイアウォールのうち、例えば空きトラフィック量の大きいファイアウォールを優先的に選択し、選択したファイアウォールのアドレスをパケット転送／制御部１０３へ通知するとともに、リダイレクトの指示を行なう。
【００５４】
即ち、リダイレクト部１３２は、判断の結果、透過不可と判断した場合に、転送先ファイアウォールを選択する選択部の一例として機能する。
なお、リダイレクト部１３２は、応答パケットについての空きトラフィック量不足の通知を受けた場合、パケット転送／制御部１０３は、当該応答パケットを破棄する。
そして、リダイレクト部１３２は、当該応答パケットに対応する要求パケットについてのリダイレクト処理を、パケット転送／制御部１０３に行なわせる。
【００５５】
〔１−４〕一実施形態に係るファイアウォールの動作
ここで、図７に示すフローチャートに従って一実施形態に係るファイアウォール１０の動作の一例を説明する。
端末２０からの要求パケットがパケット転送／制御部１０３に入力されると、パケット転送／制御部１０３は、入力された要求パケットについての情報をセッション管理部１１１へ出力する。
【００５６】
パケット転送／制御部１０３から入力された情報に基づき、セッション管理部１１１は、パケット転送／制御部１０３に入力された要求パケットが新規セッションに基づくものであるか否かを判別する（ステップＳ１）。
ここで、要求パケットが、新規セッションに基づくものではないと判断された場合には（ステップＳ１のＮＯルート）、トラフィック管理部１２１のトラフィック測定部１２２が、要求パケットのトラフィック量の実測値を測定するとともに、トラフィック演算部１２３が、要求パケットのトラフィック量の予測値を算出する（ステップＳ６）。
【００５７】
そして、トラフィック測定部１２２及びトラフィック演算部１２３が、トラフィック管理テーブル１５２の上りトラフィック量の実測値や予測値を更新する（ステップＳ７）。
次に、トラフィック管理部１２１が、要求パケット及び応答パケットのトラフィック予測値と、空きトラフィック量とを比較することにより、空きトラフィック量のチェックが行なわれる（ステップＳ８）。
【００５８】
ここで、自装置の空きトラフィック量が不十分であると判断されると（ステップＳ８のＮＧルート）、装置連携管理部１３１のリダイレクト部１３２が、空きセッション及び空きトラフィック量の条件を満たす他のファイアウォール装置を検索する。
また、パケット転送／制御部１０３が、検索された他のファイアウォール装置へ要求パケットを転送するリダイレクト処理を施し、処理を終了する（ステップＳ１１）。
【００５９】
一方、ステップＳ１において、新規セッションに基づくものであると判断された場合には（ステップＳ１のＹＥＳルート）、セッション管理部１１１のセッション数チェック部１１２が、要求パケットを透過させることによりセッション数の超過が生じるか否かのチェックを行なう（ステップＳ２）
ここで、セッション数の超過が生じると判断された場合には（ステップＳ２のＮＧルート）、処理をステップＳ１１へ移行する。
【００６０】
一方、ステップＳ２において、セッション数の超過が生じないと判断された場合には（ステップＳ２のＯＫルート）、セッション数チェック部１１２によってセッションＩＤの付与がなされる（ステップＳ３）。
次に、プロトコル識別部１１３が、要求パケットのプロトコル種別を識別する（ステップＳ４）。
【００６１】
そして、これらのセッションＩＤやプロトコル種別が、セッション数チェック部１１２及びプロトコル識別部１１３によって、新たなセッションとしてセッション管理テーブル１５１に登録され、これによりセッション管理テーブル１５１が更新される（ステップＳ５）。
これらのステップＳ４やステップＳ５と並行して、ステップＳ６以降の処理が行なわれる。
【００６２】
ステップＳ８において、自装置の空きトラフィック量が十分大きいと判断されると（ステップＳ８のＯＫルート）、装置連携管理部１３１がパケット転送／制御部１０３へ要求パケット透過可能の通知を行ない、パケット転送／制御部１０３が要求パケットの透過を行ない、処理を終了する（ステップＳ９）。
また、パケット転送／制御部１０３による要求パケットの透過と並行して、装置連携管理部１３１が、装置連携管理テーブル１５３の空きセッション量及び空きトラフィック量を更新する（ステップＳ１０）。
【００６３】
一方、ウェブサーバからの応答パケットがパケット転送／制御部１０３に入力されると、パケット転送／制御部１０３は、入力された応答パケットについての情報をセッション管理部１１１へ出力する。
パケット転送／制御部１０３から入力された情報に基づき、セッション管理部１１１によって、パケット転送／制御部１０３に入力された応答パケットが、要求パケットに対応するものか否かが判断される（ステップＳ１２）。
【００６４】
ここで、応答パケットが、要求パケットに対応するものではないと判断された場合は（ステップＳ１２のＮＧルート）、当該パケットは破棄され、処理を終了する（ステップＳ１３）。
一方、要求パケットに対応するものであると判断された場合は（ステップＳ１２のＯＫルート）、トラフィック管理部１２１のトラフィック測定部１２２が、応答パケットのトラフィック実測値を測定するとともに、トラフィック演算部１２３が、トラフィック予測値を算出する（ステップＳ１４）。
【００６５】
そして、トラフィック測定部１２２及びトラフィック演算部１２３が、トラフィック管理テーブル１５２の上りトラフィック量の実測値や予測値を更新する（ステップＳ１５）。
次に、トラフィック管理部１２１が、応答パケットのトラフィック予測値と、空きトラフィック量とを比較することにより、トラフィック量のチェックが行なわれる（ステップＳ１６）。
【００６６】
ここで、自装置の空きトラフィック量が不十分であると判断されると（ステップＳ１６のＮＧルート）、パケット転送／制御部１０３が、応答パケットを破棄するとともに、処理をステップＳ１１に移行し、パケット転送／制御部１０３が、破棄した応答パケットに対応する要求パケットに対してリダイレクト処理を施す。
一方、自装置の空きトラフィック量が十分大きいと判断されると（ステップＳ１６のＯＫルート）、装置連携管理部１３１がパケット転送／制御部１０３へ応答パケット透過可能の通知を行ない、パケット転送／制御部１０３が応答パケットの透過を行ない、処理を終了する（ステップＳ１７）。
【００６７】
また、パケット転送／制御部１０３による応答パケットの透過と並行して、装置連携管理部１３１が、装置連携管理テーブル１５３の空きセッション量及び空きトラフィック量を更新する（ステップＳ１８）。
図８は、一実施形態に係るリダイレクト処理の処理フローの一例を示す図である。
図８に示すフローチャートに従って、図７のステップＳ１１に示すリダイレクト処理の一例を説明する。
【００６８】
まず、リダイレクト部１３２は、装置連携管理テーブル１５３を参照し、他のファイアウォール１０の空きトラフィック状況を確認する（ステップＳ２１）。
次に、十分な空きトラフィック量が存在するかどうかを、装置連携管理テーブル１５３に登録されているうちの一のファイアウォール１０についてチェックする。例えば、装置連携管理テーブル１５３における未チェックのファイアウォール１０のうち、先頭のファイアウォール１０についてチェックする（ステップＳ２２）。
【００６９】
なお、装置連携管理テーブル１５３の内容を、空きトラフィック容量の大きい順にソートしておくことで、空きトラフィック容量の大きいファイアウォール１０から順に検索を行なうことができる。
チェック対象のファイアウォール１０が、十分な空きトラフィック量を有していると判断された場合（ステップＳ２２のＯＫルート）、リダイレクト部１３２は、そのファイアウォール１０のアドレスをパケット転送／制御部１０３へ通知するとともに、リダイレクトの指示を行なう（ステップＳ２３）。
【００７０】
パケット転送／制御部１０３は、リダイレクト指示を受けると、通知されたアドレス宛にパケットデータのリダイレクト処理を行ない、処理を終了する（ステップＳ２４）。
ステップ２２において、チェック対象のファイアウォール１０が、十分な空きトラフィック量を有していないと判断された場合（ステップＳ２２のＮＧルート）、装置連携管理テーブル１５３における全てのファイアウォール１０の空きトラフィック量をチェックしたかどうかを確認する（ステップＳ２５）。
【００７１】
ここで、全てのファイアウォール１０の空きトラフィック量をチェックしたと判断されると（ステップＳ２５のＹＥＳルート）、パケットデータを破棄し、処理を終了する（ステップＳ２６）。
一方、装置連携管理テーブル１５３における全てのファイアウォールの空きトラフィック量をチェックしていないと判断されると（ステップＳ２５のＮＯルート）、装置連携管理テーブル１５３における次のファイアウォール１０をチェック対象として選択して、ステップＳ２１へ移行する。
【００７２】
図９は、一実施形態に係る装置連携管理テーブルの内容をファイアウォール間で相互に更新する処理フローの一例を示す図である。
図９に示すフローチャートに従って、装置連携管理テーブル１５３の更新処理の一例を説明する。
第ｉ（ｉは、１≦ｉ≦Ｎを満たす整数）番目のファイアウォール１０−ｉの装置連携管理テーブル１５３が更新されると、第ｉ番目のファイアウォール１０−ｉの装置連携管理部１３１は、他のファイアウォール１０の装置連携管理テーブル１５３を更新すべく、自らの装置連携管理テーブル１５３の更新内容を含んだ他装置更新用パケットを生成する（ステップＳ３１）。
【００７３】
このパケットは、例えば、装置連携管理テーブル１５３における更新位置と更新内容とを含む、所定のフォーマットを有するデータ列として構成されている。
次に、装置連携管理部１３１で生成された他装置更新用パケットは、第ｊ（ｊは、１≦ｊ≦Ｎ及びｊ≠ｉを満たす全ての整数）番目のファイアウォール１０−ｊに転送される（ステップＳ３２）。
【００７４】
そして、転送された他装置更新用パケットは、第ｊ番目のファイアウォール１０−ｊの装置連携管理部１３１において受信される（ステップＳ３３）。
第ｊ番目のファイアウォール１０−ｊの装置連携管理部１３１は、受信した他装置更新用パケットの内容に基づき、装置連携管理テーブル１５３の内容を更新し、処理を終了する（ステップＳ３４）。
【００７５】
以上の構成によると、複数のファイアウォール間で効率的に負荷分散することができるので、特定のファイアウォールに過剰な負荷がかかることを防ぐことができ、ネットワークシステムの効率的なパケット伝送を実現することができる。
具体的には、各ファイアウォールのトラフィック量に応じて転送制御を行なうことにより、ファイアウォール間の負荷の偏りをなくすことができ、ネットワークシステム全体としてパケット転送の効率化を図ることができる。
【００７６】
また、トラフィック量の予測値に基づいてパケットデータの転送制御を行なうので、トラフィック量の実測値に基づいて転送制御を行なう場合に比べ、柔軟性や適応性に優れる。例えば、実測値に対する予測値へのマージンを適宜変更して実施することができる。
さらに、トラフィック量だけでなくセッション数に基づいてパケットデータの転送制御を行なうことで、信頼性を向上させることができる。
【００７７】
また、パケットデータのリダイレクト先のファイアウォールとして、空きトラフィック量が大きいファイアウォールを優先的に選択することで、複数のファイアウォールを効率的に運用することが可能になる。
さらに、要求パケットのトラフィック量チェックの際に、要求パケットのトラフィック量の予測値だけでなく、応答パケットのトラフィック量の予測値まで考慮することで、無駄な処理を省くことができ、ネットワークシステムを効率的に運用することができる。
【００７８】
〔２〕その他
なお、上述したファイアウォール１０の各構成及び各機能は、必要に応じて取捨選択してもよいし、適宜組み合わせて用いてもよい。即ち、本発明の機能を発揮できるように、上記の各構成及び各機能を取捨選択したり、適宜組み合わせて用いたりしてもよい。
例えば、上述した実施形態では、負荷分散をセッション数及びトラフィック量に基づいて行なったが、トラフィック量のみに基づいて負荷分散を行なうことで、処理量の軽減及び処理速度の向上を図ることができる。
【００７９】
また、上述した実施形態では、ファイアウォールのセッション数及びトラフィック量に空きがあるか否かを判断することで、要求パケットのリダイレクト処理を行なったが、ファイアウォールの空きセッション数及び空きトラフィック量が所定の値以上であるか否かに基づき、要求パケットのリダイレクト処理を行なうことで、各ファイアウォールの負荷分担を更に均一化することができる。
【００８０】
さらに、上述した実施形態では、ファイアウォールに関して説明を行なったが、本件はこれに限定されるものでなく、例えば、入力負荷を分散するためのロードバランサ装置に適用することができ、この場合において、効率的な負荷分散を実現することができる。
〔３〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【００８１】
（付記１）
第１のネットワークと第２のネットワークとを少なくとも１つの他のファイアウォール装置と並列して区画するファイアウォール装置であって、
第１のネットワークと第２のネットワークとの間で転送される転送データのトラフィック量をセッション毎に測定してトラフィック実測値を求める測定部と、
前記トラフィック実測値に基づいて、セッション毎のトラフィック予測量を算出するトラフィック予測量算出部と、
当該ファイアウォール装置の空きトラフィック量を管理する空きトラフィック量管理部と、
前記トラフィック予測量と前記空きトラフィック量とを比較して、前記転送データの透過可否を判断する透過判断部と、
前記判断の結果、透過不可と判断した場合に、転送先ファイアウォールを選択する選択部と、
前記選択した転送先ファイアウォールに対して前記転送データをリダイレクト転送する転送部とをそなえることを特徴とする、ファイアウォール装置。
【００８２】
（付記２）
前記第１のネットワークと第２のネットワークとの間のデータ転送制御を行なうデータ転送制御部をそなえ、
前記判断の結果、透過可と判断した場合に、前記データ転送制御部が、前記転送データを前記第１のネットワークと第２のネットワークとの間で転送することを特徴とする、付記１記載のファイアウォール装置。
【００８３】
（付記３）
前記トラフィック予測量算出部により算出された前記トラフィック予測量をセッションに対応付けたセッション管理情報を格納するセッション管理情報格納部をそなえることを特徴とする、付記１又は２記載のファイアウォール装置。
（付記４）
当該ファイアウォール装置における前記転送データのセッション数を管理するセッション数管理部をそなえ、
前記透過判断部が、前記セッション数と規定セッション数とを比較して、前記転送データの透過可否を判断することを特徴とする、付記１〜３のいずれか１項に記載のファイアウォール装置。
【００８４】
（付記５）
前記少なくとも１つの他のファイアウォール装置の空きトラフィック量を管理する他装置空きトラフィック量管理部をそなえ、
前記選択部が、前記少なくとも１つの他のファイアウォール装置のうち、空きトラフィック量の多いファイアウォール装置を優先的に転送先ファイアウォールとして選択することを特徴とする、付記１〜４のいずれか１項に記載のファイアウォール装置。
【００８５】
（付記６）
第１のネットワークと第２のネットワークとを少なくとも１つの他のファイアウォール装置と並列して区画するファイアウォール装置における処理方法であって、
第１のネットワークと第２のネットワークとの間で転送される転送データのトラフィック量をセッション毎に測定してトラフィック実測値を求め、
前記トラフィック実測値に基づいて、セッション毎のトラフィック予測量を算出し、
当該ファイアウォール装置の空きトラフィック量を管理し、
前記トラフィック予測量と前記空きトラフィック量とを比較して、前記転送データの透過可否を判断し、
前記判断の結果、透過不可と判断した場合に、転送先ファイアウォールを選択し、
前記選択した転送先ファイアウォールに対して前記転送データをリダイレクト転送することを特徴とする、処理方法。
【００８６】
（付記７）
前記判断の結果、透過可と判断した場合に、前記転送データを前記第１のネットワークと第２のネットワークとの間で転送することを特徴とする、付記６記載の処理方法。
（付記８）
前記算出されたトラフィック予測量をセッションに対応付けたセッション管理情報をセッション管理情報格納部に格納することを特徴とする、付記６又は７記載の処理方法。
【００８７】
（付記９）
当該ファイアウォール装置における前記転送データのセッション数を管理し、
前記セッション数と規定セッション数とを比較して、前記転送データの透過可否を判断することを特徴とする、付記６〜８のいずれか１項に記載の処理方法。
（付記１０）
前記少なくとも１つの他のファイアウォール装置の空きトラフィック量を管理し、
前記少なくとも１つの他のファイアウォール装置のうち、空きトラフィック量の多いファイアウォール装置を優先的に転送先ファイアウォールとして選択することを特徴とする、付記６〜９のいずれか１項に記載の処理方法。
【００８８】
（付記１１）
第１のネットワークと第２のネットワークとの間に複数のファイアウォール装置を並列して配置することにより区画するファイアウォールシステムであって、
前記ファイアウォール装置が、
第１のネットワークと第２のネットワークとの間で転送される転送データのトラフィック量をセッション毎に測定してトラフィック実測値を求める測定部と、
前記トラフィック実測値に基づいて、セッション毎のトラフィック予測量を算出するトラフィック予測量算出部と、
当該ファイアウォール装置の空きトラフィック量を管理する空きトラフィック量管理部と、
前記トラフィック予測量と前記空きトラフィック量とを比較して、前記転送データの透過可否を判断する透過判断部と、
前記判断の結果、透過不可と判断した場合に、転送先ファイアウォールを選択する選択部と、
前記選択した転送先ファイアウォールに対して前記転送データをリダイレクト転送する転送部とをそなえることを特徴とする、ファイアウォールシステム。
【符号の説明】
【００８９】
１０，１０−１，１０−２，・・・，１０−Ｎ  ファイアウォール
１０１  内部インタフェース部
１０２  外部インタフェース部
１０３  パケット転送／制御部
１１１  セッション管理部
１１２  セッション数チェック部
１１３  プロトコル識別部
１１４  セッションチェック部
１２１  トラフィック管理部
１２２  トラフィック測定部
１２３  トラフィック演算部
１３１  装置連携管理部
１３２  リダイレクト部
１５１  セッション管理テーブル
１５２  トラフィック管理テーブル
１５３  装置連携管理テーブル
２０，２０−１，２０−２，・・・，２０−Ｍ  端末
３０  外部ネットワーク装置
４１  ４１−１，４１−２，・・・，４１−Ｋ  入出力インタフェース
４２，４３  メモリデバイス
４４  スイッチ
４５  ＣＰＵ
４６  制御バス
４７  データバス
【図１】
0005673259.tif 000002
【図２】
0005673259.tif 000003
【図３】
0005673259.tif 000004
【図４】
0005673259.tif 000005
【図５】
0005673259.tif 000006
【図６】
0005673259.tif 000007
【図７】
0005673259.tif 000008
【図８】
0005673259.tif 000009
【図９】
0005673259.tif 000010