(57)【特許請求の範囲】
【請求項１】
第１の通信装置と、
第２の通信装置と、
前記第１の通信装置と前記第２の通信装置との間において送受信されるデータに対してセキュリティ機能を提供するセキュリティ装置と、
前記データの属性と、前記第１の通信装置と前記第２の通信装置との間の通信経路とが対応付けられている経路情報テーブルに基づいて、前記セキュリティ装置を経由する第１の経路と、前記セキュリティ装置を経由しない第２の経路とのいずれかを前記データの通信経路として選択する経路制御手段と、を備え、
前記経路制御手段は、
前記第１の通信装置から前記第２の通信装置へデータが送信される経路と、前記第２の通信装置から前記第１の通信装置へデータが送信される経路とを異なる経路とする、経路制御システム。
【請求項２】
第１の通信装置と、
第２の通信装置と、
前記第１の通信装置と前記第２の通信装置との間において送受信されるデータに対してセキュリティ機能を提供するセキュリティ装置と、
前記データの属性と、前記第１の通信装置と前記第２の通信装置との間の通信経路とが対応付けられている経路情報テーブルに基づいて、前記セキュリティ装置を経由する第１の経路と、前記セキュリティ装置を経由しない第２の経路とのいずれかを前記データの通信経路として選択する経路制御手段と、を備え、
前記経路制御手段は、
前記第１の通信装置と前記第２の通信装置との間のコネクションが確立する前における前記第１の通信装置と前記第２の通信装置との間の通信経路と、前記第１の通信装置と前記第２の通信装置との間のコネクションが確立した後における前記第１の通信装置と前記第２の通信装置との間の通信経路とを異なる経路とする、経路制御システム。
【請求項３】
前記第１の通信装置、前記第２の通信装置及び前記セキュリティ装置は、
前記経路制御手段において選択された前記データの通信経路に関する制御指示信号を受け取ると、フロー情報管理テーブルを更新する、請求項１又は２に記載の経路制御システム。
【請求項４】
前記経路制御手段は、
前記第１及び第２の通信装置と、前記セキュリティ装置とから負荷情報を収集し、前記負荷情報に基づいて前記データの通信経路を選択する、請求項１乃至３のいずれか１項に記載の経路制御システム。
【請求項５】
前記セキュリティ機能は、ファイアウォール機能、ウィルス対策機能、ＵＲＬフィルタリング機能及びＩＰＳ機能の少なくとも１つを含む、請求項１乃至４のいずれか１項に記載の経路制御システム。
【請求項６】
前記データの属性は、データに設定されている送信元識別情報及びプロトコル情報の少なくとも１つを含む、請求項１乃至５のいずれか１項に記載の経路制御システム。
【請求項７】
前記経路制御手段は、
前記第１の通信装置、前記第２の通信装置及び前記セキュリティ装置の少なくとも一つが高負荷状態であると判定した場合、前記第１及び第２の経路とは異なる第３の経路を前記データの通信経路として選択する、請求項１乃至６のいずれか１項に記載の経路制御システム。
【請求項８】
第１の通信装置と第２の通信装置との間において送受信されるデータの属性と前記第１の通信装置と前記第２の通信装置との間の通信経路とが対応付けられている経路情報テーブルに基づいて、前記第１の通信装置と前記第２の通信装置との間において送受信されるデータに対してセキュリティ機能を提供するセキュリティ装置を経由する第１の経路と前記セキュリティ装置を経由しない第２の経路とのいずれかを前記データの通信経路として選択する通信制御部を備え、
前記通信制御部は、
前記第１の通信装置から前記第２の通信装置へデータが送信される経路と、前記第２の通信装置から前記第１の通信装置へデータが送信される経路とを異なる経路とする、コントロール装置。
【請求項９】
第１の通信装置と第２の通信装置との間において送受信されるデータの属性と前記第１の通信装置と前記第２の通信装置との間の通信経路とが対応付けられている経路情報テーブルに基づいて、前記第１の通信装置と前記第２の通信装置との間において送受信されるデータに対してセキュリティ機能を提供するセキュリティ装置を経由する第１の経路と前記セキュリティ装置を経由しない第２の経路とのいずれかを前記データの通信経路として選択する通信制御部を備え、
前記通信制御部は、
前記第１の通信装置と前記第２の通信装置との間のコネクションが確立する前における前記第１の通信装置と前記第２の通信装置との間の通信経路と、前記第１の通信装置と前記第２の通信装置との間のコネクションが確立した後における前記第１の通信装置と前記第２の通信装置との間の通信経路とを異なる経路とする、コントロール装置。
【請求項１０】
第１の通信装置と第２の通信装置との間において送受信されるデータの属性と前記第１の通信装置と前記第２の通信装置との間の通信経路とが対応付けられている経路情報テーブルに基づいて、前記第１の通信装置と前記第２の通信装置との間において送受信されるデータに対してセキュリティ機能を提供するセキュリティ装置を経由する第１の経路と前記セキュリティ装置を経由しない第２の経路とのいずれかを前記データの通信経路として選択し、
前記データの通信経路を選択する際に、
前記第１の通信装置から前記第２の通信装置へデータが送信される経路と、前記第２の通信装置から前記第１の通信装置へデータが送信される経路とを異なる経路とする、経路制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は経路制御システムに関し、特に通信経路にセキュリティシステムを含む経路制御システムに関する。
【背景技術】
【０００２】
通信ネットワークにおけるセキュリティ製品の導入コストや、運用コストを低減するため、ゲートウェイ装置一台にファイアウォール機能や、ウィルス対策機能、ＵＲＬ（Uniform Resource Locator）フィルタリング機能、ＩＰＳ（Intrusion Prevention System）機能といったような多くの機能を搭載するケースが増えている。しかし、このように多くの機能をゲートウェイ装置に搭載することにより、ゲートウェイ装置における処理負荷が増大し、ゲートウェイ装置が通信経路上のボトルネックとなるという問題が発生する。【０００３】
これに対して、特許文献１には、ファイアウォールを経由した全てのパケットを、一旦ルータパケット経路制御装置に受信させるネットワーク構成が開示されている。ルータパケット制御装置は、受信したパケットと同じ特徴を有する後続のパケットを、ファイアウォールを経由させることなく、直接各ネットワークに転送させる。これにより、ファイアウォールの処理負荷を低減させることができる。【０００４】
特許文献２には、通信相手や通信に対応するアプリケーションに応じてセキュリティセンターを経由する経路と、直接通信相手側とを結ぶ通信経路とのいずれかを選択することによってセキュリティセンターにおけるサーバの負荷増大等を防止することが開示されている。【０００５】
特許文献３には、移動端末が利用可能な無線システムを動的に切り替えて通信を行う際に、移動端末とゲートウェイ装置との間で暗号化が不要な場合はＩＰｓｅｃを使用せず、暗号化が必要な無線システムを利用する場合にのみＩＰｓｅｃを用いた暗号化を行うことが開示されている。これにより、ゲートウェイ装置の負荷増大を防止することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２７２１８号公報
【特許文献２】特開２００６−１８０２８０号公報
【特許文献３】特開２００８−２１９１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に開示されているパケットの転送方法においては、ルータパケット経路制御装置がいったん全てのパケットを受信し、受信したパケットを各ネットワークに転送する。そのため、ルータパケット経路制御装置に負荷が集中するという問題がある。特許文献２に開示されている通信経路の選択方法においては、通常ＱｏＳの設定に利用される通信ヘッダの一部分を用いて経路制御を行う。そのため、該当するヘッダを、ＱｏＳの設定のために使用することができなくなるという問題がある。さらに、特許文献３に開示されているＩＰｓｅｃの適用方法においては、通信されるデータは、一旦ＩＰｓｅｃ機能が搭載されるゲートウェイ装置を経由する。さらに、ゲートウェイ装置において経路表等を参照し、データに対してＩＰｓｅｃを適用するか否かを判定し、ＩＰｓｅｃを適用する場合には、ゲートウェイ装置においてＩＰｓｅｃ設定処理を行う。そのため、ゲートウェイ装置に負荷が集中するという問題があった。【０００８】
本発明は、このような問題のうち少なくとも一つを解決するためになされたものであり、ゲートウェイ装置の負荷を軽減させることができる経路制御システム、コントロール装置及び経路制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様にかかる経路制御システムは、第１の通信装置と、第２の通信装置と、前記第１の通信装置と前記第２の通信装置との間において送受信されるデータに対してセキュリティ機能を提供するセキュリティ装置と、前記データの属性と、前記第１の通信装置と前記第２の通信装置との間の通信経路と対応付けられている経路情報テーブルに基づいて前記セキュリティ装置を経由する第１の経路と、前記セキュリティ装置を経由しない第２の経路とのいずれかを前記データの通信経路として選択する経路制御手段と、を備えるものである。【００１０】
本発明の第２の態様にかかるコントロール装置は、第１の通信装置と第２の通信装置との間において送受信されるデータの属性と前記第１の通信装置と前記第２の通信装置との間の通信経路とが対応付けられている経路情報テーブルに基づいて、前記第１の通信装置と前記第２の通信装置との間において送受信されるデータに対してセキュリティ機能を提供するセキュリティ装置を経由する第１の経路と前記セキュリティ装置を経由しない第２の経路とのいずれかを前記データの通信経路として選択する通信制御部を備えるものである。【００１１】
本発明の第３の態様にかかる経路制御方法は、第１の通信装置と第２の通信装置との間において送受信されるデータの属性と前記第１の通信装置と前記第２の通信装置との間の通信経路とが対応付けられている経路情報テーブルに基づいて、前記第１の通信装置と前記第２の通信装置との間において送受信されるデータに対してセキュリティ機能を提供するセキュリティ装置を経由する第１の経路と前記セキュリティ装置を経由しない第２の経路とのいずれかを前記データの通信経路として選択するものである。
【発明の効果】
【００１２】
本発明により、ゲートウェイ装置の負荷を軽減させることができる経路制御システム、コントロール装置及び経路制御方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１にかかる経路制御システムの構成図である。
【図２】実施の形態２にかかるネットワーク構成の概要図である。
【図３】実施の形態２にかかるフローコントローラの構成図である。
【図４】実施の形態２にかかるセキュリティシステムの構成図である。
【図５】実施の形態２にかかるネットワークの構成図である。
【図６】実施の形態２にかかるセキュリティシステムの構成図である。
【図７】実施の形態２にかかる負荷情報管理テーブルを説明する図である。
【図８】実施の形態２にかかる経路情報管理テーブルを説明する図である。
【図９】実施の形態２にかかる制御ルール管理テーブルを説明する図である。
【図１０】実施の形態２にかかるセッション情報管理テーブルを説明する図である。
【図１１】実施の形態２にかかる経路制御システムのデータの流れを説明する図である。
【図１２】実施の形態２にかかるＯＳＷのフロー情報管理テーブルを説明する図である。
【図１３】実施の形態２にかかるＳＳのフロー情報管理テーブルを説明する図である。
【図１４】実施の形態２にかかるＩＳＷのフロー情報管理テーブルを説明する図である。
【図１５】実施の形態２にかかるフローコントローラにおける経路選択処理の流れを説明する図である。
【図１６】実施の形態２にかかるＣＬ−ＳＶ間の経路を説明する図である。
【図１７】実施の形態２にかかるＣＬ−ＳＶ間の経路を説明する図である。
【図１８】実施の形態２にかかる経路制御システムのデータの流れを説明する図である。
【図１９】実施の形態２にかかる通信パス変更情報管理テーブルを説明する図である。
【図２０】実施の形態２にかかる通信パス更新部とフローコントローラとの間で送受信される情報を示す図である。
【図２１】実施の形態２にかかるセッション情報管理テーブルを説明する図である。
【図２２】実施の形態２にかかるセッション情報管理テーブルを説明する図である。
【図２３】実施の形態２にかかる通信パス更新部における処理の流れを説明する図である。
【図２４】実施の形態３にかかるセキュリティシステムの構成図である。
【図２５】実施の形態３にかかる経路制御システムのデータの流れを説明する図である。
【図２６】実施の形態３にかかる経路選択ルールを説明する図である。
【図２７】実施の形態３にかかる通信パス更新部とフローコントローラとの間で送受信される情報を示す図である。
【図２８】実施の形態３にかかるセッション情報管理テーブルを説明する図である。
【図２９】実施の形態３にかかるセッション情報管理テーブルを説明する図である。
【発明を実施するための形態】
【００１４】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。はじめに、図１を用いて本発明の実施の形態１にかかる経路制御システムの構成例について説明する。経路制御システムは、通信装置１０及び２０と、セキュリティ装置３０と、経路制御装置４０とを備えている。
【００１５】
通信装置１０及び２０は、例えば、ルータ装置や、スイッチ装置等であってもよい。通信装置１０及び２０は、データを受信し、ルーティングテーブルや、スイッチングテーブル等に基づいて、データを送信する。
【００１６】
セキュリティ装置３０は、通信装置１０と通信装置２０との間において送受信されるデータに対してセキュリティ機能を提供する。セキュリティ装置３０が提供するセキュリティ機能とは、例えば、ファイアウォール機能、ウィルス対策機能、ＵＲＬフィルタリング機能、ＩＰＳ機能等であって、これらのうち少なくとも１つの機能を提供する。セキュリティ装置３０は、通信装置１０もしくは通信装置２０から送信されたデータに対して、セキュリティ機能を適用する。
【００１７】
経路制御装置４０は、データの属性に応じて通信装置１０と通信装置２０との間の通信経路が定められている経路情報テーブルに基づいてデータの通信経路を選択する。データの属性とは、例えば、データに設定されている送信元識別情報や、プロトコル情報等であってもよい。送信元識別情報は、例えばＩＰアドレスや、ＭＡＣアドレス、ポート番号等であってもよい。プロトコル情報は、データ送信を行う際に用いられるＵＤＰもしくはＴＣＰ等を識別する情報であってもよい。
【００１８】
通信経路には、通信装置１０と通信装置２０との間をデータが転送される場合に、セキュリティ装置３０を経由する経路と、セキュリティ装置３０を経由しない経路とが存在する。経路制御装置４０は、経路情報テーブルに基づいてデータの通信経路として、セキュリティ装置３０を経由する経路と、セキュリティ装置３０を経由しない経路とのいずれかを選択する。経路情報テーブルには、データの属性と、通信装置１０と通信装置２０との間においてデータが転送される経路情報とが対応付けて管理されている。
【００１９】
以上説明したように、本発明の実施の形態１にかかる経路制御システムを用いることにより、データ毎にセキュリティ装置３０を経由させるか否かを判定することができる。これにより、セキュリティ装置３０を経由させるデータの総量を減少させることができるため、セキュリティ装置３０の処理負荷を減少させることができる。
【００２０】
（実施の形態２）
続いて、図２を用いて本発明の実施の形態２にかかるネットワーク構成の概要について説明する。本図のネットワークは、サーバ１０１と、スイッチ１０２及び１０６と、フローコントローラ１０３と、セキュリティシステム１０４及び１０５と、クライアント１０７とから構成される。
【００２１】
サーバ１０１は、クライアント１０７からのリクエストに応じてサービスを提供する通信ネットワーク上の装置である。スイッチ１０２及び１０６は、フローコントローラ１０３からの指示を受けて通信ネットワーク上を流れるパケットの経路を制御する装置である。
【００２２】
セキュリティシステム１０４およびセキュリティシステム１０５は、サーバ１０１とクライアント１０７との間であって、さらにスイッチ１０２とスイッチ１０６との間にある。セキュリティシステム１０４及び１０５は、それぞれの装置を介して流れるパケットのヘッダ部やペイロード部を参照して、予め設定されているルールに従い通信を破棄するなどのセキュリティ制御を実行するシステムである。
【００２３】
続いて、図３を用いて、本発明の実施の形態２にかかるフローコントローラ１０３の構成例について説明する。フローコントローラ１０３は、スイッチ制御部２０１と、通信制御部２０２と、セキュリティシステム制御部２０３とを備えている。
【００２４】
スイッチ制御部２０１は、スイッチ１０２及びスイッチ１０６から定期的に隣接装置の接続状況や通信流量、フロー情報管理テーブルのエントリ数などを取得して経路情報管理テーブル２０７及び負荷情報管理テーブル２１０を更新する。さらに、スイッチ制御部２０１は、スイッチ１０２及びスイッチ１０６から転送されたパケットを受信して通信制御部２０２へ中継する。また、スイッチ制御部２０１は、通信制御部２０２からの指示を受けてスイッチ１０２及びスイッチ１０６におけるフロー情報管理テーブルを更新させる。フロー情報管理テーブルは、スイッチ１０２及び１０６と、セキュリティシステム１０４及び１０５とに設けられているテーブルであり、後に詳細を説明する。また、フローコントローラ１０３内に設けられる経路情報管理テーブル２０７及び負荷情報管理テーブル２１０についても、後に詳細を説明する。
【００２５】
セキュリティシステム制御部２０３は、セキュリティシステム１０４及びセキュリティシステム１０５から定期的に隣接装置の接続状況や通信流量、フロー情報管理テーブル２１１のエントリ数などを取得して経路情報管理テーブル２０７及び負荷情報管理テーブル２１０を更新する。さらに、セキュリティシステム制御部２０３は、セキュリティシステム１０４及びセキュリティシステム１０５から転送されたパケットを受信して通信制御部２０２へ中継する。また、セキュリティシステム制御部２０３は、通信制御部２０２からの指示を受けてセキュリティシステム１０４もしくはセキュリティシステム１０５のフロー情報管理テーブル２１１を更新させる。
【００２６】
通信制御部２０２は、スイッチ制御部２０１もしくはセキュリティシステム制御部２０３から転送されたパケットの内容と、制御ルール管理テーブル２０８、セッション情報管理テーブル２０９及び経路情報管理テーブル２０７の内容とを照らし合わせ、ネットワークやセキュリティシステム１０４及び１０５の負荷を軽減する適切な通信経路を決定する。通信制御部２０２は、決定した通信経路をスイッチ制御部２０１もしくはセキュリティシステム制御部２０３に通知する。さらに、通信制御部２０２は、セッション情報管理テーブル２０９を定期的に更新しセキュリティシステム１０４もしくは１０５から経路変更依頼を受信した場合に、受信した情報とセッション情報管理テーブル２０９の内容とを照らし合わせ、スイッチ制御部２０１もしくはセキュリティシステム制御部２０４に経路の変更を指示する。
【００２７】
続いて、図４を用いて、本発明の実施の形態２にかかるセキュリティシステム１０４の構成例について説明する。セキュリティシステム１０５は、セキュリティシステム１０４と同様の構成であるため詳細な説明を省略する。セキュリティシステム１０４は、フロー制御可能スイッチ２０４と、セキュリティ機能部２０５と、通信パス更新部２０６とを備えている。
【００２８】
フロー制御可能スイッチ２０４は、スイッチ１０２及びスイッチ１０６と同じく、フローコントローラ１０３からの指示を受けて通信ネットワーク上を流れるパケットの経路を制御する装置である。また、フロー制御可能スイッチ２０４は、フローコントローラ１０３からの指示を受けてフロー情報管理テーブル２１１を更新する。
【００２９】
セキュリティ機能部２０５は、ファイアウォール機能、ウィルス対策機能、ＩＰＳ機能等を有している。セキュリティ機能部２０５は、パケットのヘッダ部やペイロード部を参照して、予め設定されているルールに従い通信を破棄するなどの制御を実行する。また、セキュリティ機能部２０５は、自身を介して流れる通信の状態を所持しており、所持している通信の状態をセキュリティシステム内の通信パス更新部２０６に対して通知する機能と、通信パス更新部２０６からの指示を受けて所持している通信の状態を変更可能な機能とを有する装置である。セキュリティ機能部２０５からフロー制御可能スイッチ２０４へ出力されるデータと、フロー制御可能スイッチ２０４からセキュリティ機能部２０５へ出力されるデータとは、本図に示すようにブリッジ接続を行い、それぞれ異なる経路を通るようにしてもよい。
【００３０】
通信パス更新部２０６は、セキュリティ機能部２０５から通信の状態に関する情報を受信した場合に、受信した情報と自身のもつ通信パス変更情報管理テーブル２１２の内容とを照らし合わせ、該当するエントリがあった場合はフローコントローラ１０３内の通信制御部２０２に対して通信の経路変更を依頼する。さらに、通信パス更新部２０６は、セキュリティ機能部２０５に指示してセキュリティ機能部２０５の所持する通信の状態を更新可能とする。
【００３１】
続いて、図５を用いて本発明の実施の形態２にかかる具体的なネットワーク構成例について説明する。本図のネットワークは、ＣＬ（Client）３０１と、ＯＳＷ３０２と、ＳＳ（Security System）３０３と、ＳＳ３０３＿１と、ＩＳＷ３０４と、ＳＶ（Server）３０５と、フローコントローラ３０８とを備えている。
【００３２】
ＣＬ３０１は、ＳＶ３０５の提供するサービスを利用するクライアント端末である。ＣＬ３０１は、パーソナルコンピュータ装置や、携帯電話端末等であってもよい。ＣＬ３０１は、ＯＳＷ３０２と接続されている。
【００３３】
ＯＳＷ３０２は、ＣＬ３０１と接続されており、ＣＬ３０１から送信されたデータを対向装置へ転送し、さらに、ＣＬ３０１を送信先とするデータをＣＬ３０１へ転送する。
【００３４】
ＳＶ３０５は、ＣＬ３０１へサービスを提供するサーバ装置である。ＳＶ３０５は、複数のサーバ装置からなるサーバシステムとして構成されてもよく、単一の装置から構成されてもよい。ＳＶ３０５は、ＩＳＷ３０４と接続されている。
【００３５】
ＩＳＷ３０４は、ＳＶ３０５と接続されており、ＳＶ３０５から送信されたデータを対向装置へ転送し、さらに、ＳＶ３０５を送信先とするデータをＳＶ３０５へ転送する。
【００３６】
ＳＳ３０３及びＳＳ３０３＿１は、ＯＳＷ３０２とＩＳＷ３０４と接続されており、ＯＳＷ３０２とＩＳＷ３０４との間に配置されている。ＳＳ３０３及びＳＳ３０３＿１は、ファイアウォール機能を有する。
【００３７】
フローコントローラ３０８は、ＯＳＷ３０２、ＩＳＷ３０４、ＳＳ３０３及びＳＳ３０３＿１を制御し、ＯＳＷ３０２とＩＳＷ３０４との間の通信経路を設定する。ＯＳＷ３０２とＩＳＷ３０４との間の通信経路は、ＳＳ３０３もしくはＳＳ３０３＿１を経由してもよく、ＳＳ３０３及びＳＳ３０３＿１を経由せずにＯＳＷ３０２とＩＳＷ３０４とが直接接続されてもよい。また、フローコントローラ３０８は、フローコントローラ１０３と同様の構成を有している。
【００３８】
続いて、図６を用いて、本発明の実施の形態２にかかるＳＳ３０３の構成例について説明する。ＳＳ３０３は、ＳＳ−ＳＷ３０６と、ＦＷ３０７＿１〜３と、通信パス更新部３０９とを備えている。ここで、ＳＳ３０３＿１は、ＳＳ３０３と同様の構成であるため詳細な説明を省略する。ＳＳ−ＳＷ３０６は、ＳＳ３０３内において、フロー制御可能スイッチ２０４と同様の機能を有する。ＳＳ−ＳＷ３０６は、フロー情報管理テーブル２１１の情報を更新する。ＦＷ３０７は、ＳＳ３０３において受信したデータに対してファイアウォール機能を適用する。ＦＷ３０７は、１つのみ配置されてもよく、複数配置されてもよい。本図においては、ＦＷ３０７＿１〜３の３つが配置されている例について説明する。通信パス更新部３０９は、ＳＳ３０３内において通信パス更新部２０６と同様の機能を有する。通信パス更新部３０９は、通信パス変更情報管理テーブル２１２の情報を更新する。
【００３９】
さらに、ＳＳ−ＳＷ３０６は、ＯＳＷ３０２と接続されるポートｐ１と、ＩＳＷ３０４と接続されるポートｐ９とを有している。さらに、ＳＳ−ＳＷ３０６は、ＦＷ３０７＿１と接続されるポートｐ２及びｐ５と、ＦＷ３０７＿２と接続されるｐ３及びｐ６と、ＦＷ３０７＿３と接続されるｐ４及びｐ７とを有している。同様に、ＯＳＷ３０２は、ＳＳ−ＳＷ３０６と接続されるポートｐ２と、ＣＬ３０１と接続されるポートｐ１と、ＩＳＷ３０４と接続されるポートｐ３とを有している。ＩＳＷ３０４は、ＳＳ−ＳＷ３０６と接続されるポートｐ５と、ＳＶ３０５と接続されるポートｐ４と、ＯＳＷ３０２と接続されるポートｐ６とを有している。ＦＷ３０７＿１は、ＳＳ−ＳＷ３０６と接続されるポートｐ１及びｐ１＿１を有し、ＦＷ３０７＿２は、ＳＳ−ＳＷ３０６と接続されるポートｐ２及びｐ２＿１を有し、ＦＷ３０７＿３は、ＳＳ−ＳＷ３０６と接続されるポートｐ３及びｐ３＿１を有している。
【００４０】
続いて、ＳＳ３０３内に配置されている情報テーブル及びフローコントローラ３０８内に配置されている情報テーブルについて説明する。フローコントローラ３０８は、フローコントローラ１０３と同様に、各種テーブルを有している。
【００４１】
図７に負荷情報管理テーブル２１０の構成例を示す。負荷情報管理テーブル２１０は、フローコントローラ３０８内のスイッチ制御部２０１およびセキュリティシステム制御部２０３が、ＯＳＷ３０２、ＩＳＷ３０４及びＳＳ−ＳＷ３０６からリソースの使用状況などを取得することによって更新される。スイッチ制御部２０１及びセキュリティシステム制御部２０３は、ＯＳＷ３０２、ＩＳＷ３０４及びＳＳ−ＳＷ３０６から情報を取得したタイミングで負荷情報管理テーブル２１０を更新する。
【００４２】
以下に、図７について説明する。システムＩＤは、情報の取得先の装置を一意に特定可能な識別子である。たとえば、システムＩＤは、ＳＳ、ＯＳＷ及びＩＳＷ等の装置の名称が用いられる。装置種別は、装置の機能により分類される種別を示す。たとえば、装置種別は、ＦＷ及びＳＷ等が用いられる。装置ＩＤは、同じ装置種別に属する装置を一意に識別可能な識別子である。Ｌｉｎｋは、通信経路を示し、本図においては、それぞれの装置のポート番号を用いて示される。例えば、システムＩＤとしてＯＳＷが設定され、Ｌｉｎｋがｐ２−ｐ１と設定されている場合、ＯＳＷ３０２のポート２と、ＳＳ−ＳＷ３０６のポート１との間の通信経路を特定している。種別は、それぞれの装置から取得した負荷情報の種類を示す。負荷情報は、例えば、ＣＰＵ使用率や、セッションテーブルエントリ数、フローエントリ数、ＩＰパケット損失率、ＩＰパケット遅延率等がある。
【００４３】
値は、負荷状況を示している。閾値は、高負荷か否かを識別するために用いられる値である。装置から閾値以上の値を取得した場合、当該装置は高負荷で処理が実行されていると判定される。更新日時は、負荷情報が更新された時間情報を示しており、例えば、ある時点からの経過時間を示してもよい。重みづけは、０から１の間の値が設定され、負荷計算を行う際に使用される。
【００４４】
図８に経路情報管理テーブル２０７の構成例を示す。経路情報管理テーブル２０７は、フローコントローラ３０８内のスイッチ制御部２０１およびセキュリティシステム制御部２０３が、ＯＳＷ３０２、ＩＳＷ３０４及びＳＳ−ＳＷ３０６から隣接装置の接続状況を取得し、負荷情報管理テーブルを参照して更新する。スイッチ制御部２０１及びセキュリティシステム制御部２０３は、ＯＳＷ３０２、ＩＳＷ３０４及びＳＳ−ＳＷ３０６から隣接装置の状況を取得したタイミングで経路情報管理テーブル２０７を更新する。
【００４５】
以下に、図８について説明する。システムＩＤ、装置種別及び装置ＩＤは、図７と同様であるため、詳細な説明を省略する。Ｉｎは、ネットワークインタフェースの入力ポートを一意に特定可能な識別子である。Ｏｕｔは、ネットワークインタフェースの出力ポートを一意に特定可能な識別子である。
【００４６】
入り口となるシステムとは、データを出力する装置であり、出口となるシステムとは、出力されたデータを受け取るシステムである。経路コストは、入口となるシステムと出口となるシステムとの間のリンクのリンクコストを、「１００００／通信帯域（Ｍｂｐｓ）」として計算して足し合わせた合計値である。
【００４７】
負荷情報は、システムＩＤ、装置種別、装置ＩＤが一致する負荷情報管理テーブル２１０のカラムを参照し、各装置の負荷状況を計算して足し合わせた合計値である。たとえば、システムＩＤ、装置種別、装置ＩＤの組が、それぞれ「ＯＳＷ、ＳＷ、１」と「ＳＳ、ＦＷ、１」とである２点間の負荷は、負荷情報管理テーブル２１０の１、４、７〜１０行目を参照して次のように計算する。
【００４８】
負荷情報＝０．１×１０／８０＋０．２×２０００／６５０００＋０．２×３００００／６５０００＋０．７×０．１／３＋０．１×１００／５００＝０．１９１・・
【００４９】
上述した負荷情報の算出方法は一例であり、負荷情報の算出方法は、システムに合わせて変更してもよい。
【００５０】
図９に制御ルール管理テーブル２０８の構成例を示す。制御ルール管理テーブル２０８は、通信経路における制御内容を示す。
【００５１】
以下に、図９について説明する。ＩＤは、制御ルールを一意に特定可能な識別子である。Ｓｒｃ ＩＰは、送信元装置のＩＰアドレスを示す。Ｓｒｃ Ｐｏｒｔは、送信元装置のポート番号を示す。Ｄｓｔ ＩＰは、宛先装置のＩＰアドレスを示す。Ｄｓｔ Ｐｏｒｔは、宛先装置のポート番号を示す。Ｐｒｏｔｏｃｏｌは、通信に用いられているプロトコルを示す。プロトコルは、例えばＴＣＰや、ＵＤＰ等である。
【００５２】
往路は、Ｓｒｃ ＩＰ、Ｓｒｃ Ｐｏｒｔ、Ｄｓｔ ＩＰ、Ｄｓｔ Ｐｏｒｔがマッチするパケットの往路の通信経路を示す。例えば、往路は、通信経路の両端となるスイッチもしくはセキュリティシステムを一意に特定可能な識別子（システムＩＤ、装置種別、装置ＩＤをコロンで結合した文字列）をハイフンで結合して記述する。セキュリティシステムについては、システムＩＤと装置ＩＤとを省略して記載可能とする。複数の通信経路を経由する場合は、経由する順番に各通信経路をカンマで区切り指定する。復路は、Ｓｒｃ ＩＰ、Ｓｒｃ Ｐｏｒｔ、Ｄｓｔ ＩＰ、Ｄｓｔ Ｐｏｒｔがマッチするパケットの復路の通信経路を示す。記載フォーマットは、往路と同様である。また、往路及び復路に記載されているＡＶは、ＳＳ３０３がウイルス機能部を有する場合に、ウイルス機能部を経由することを示している。
【００５３】
Ｉｄｌｅ  Ｔｉｍｅｏｕｔは、無通信状態が続いた場合のタイムアウト値を示す。例えば、Ｉｄｌｅ  Ｔｉｍｅｏｕｔの値は、フロー情報管理テーブル２１１のエントリを生成するタイミングに、制御ルール管理テーブル２０８のエントリからフロー情報管理テーブル２１１のＩｄｌｅ  Ｔｉｍｅｏｕｔのカラムに格納されてもよい。Ｉｄｌｅ  Ｔｉｍｅｏｕｔの単位は、例えば秒とする。
【００５４】
Ｃａｃｈｅ  Ｔｉｍｅｏｕｔは、セッション情報管理テーブル２０９に情報を保持する期間である。Ｃａｃｈｅ  Ｔｉｍｅｏｕｔの値は、セッション情報管理テーブル２０９のエントリを生成するタイミングに、制御ルール管理テーブル２０８のエントリからフロー情報管理テーブル２１１のＳｅｓｓｉｏｎ  Ｔｉｍｅｏｕｔのカラムに格納されてもよい。Ｓｅｓｓｉｏｎ  Ｔｉｍｅｏｕｔの単位は、例えば秒とする。
【００５５】
Ｓｅｓｓｉｏｎ  Ｕｐｄａｔｅ  Ｆｌａｇは、該当エントリを参照された場合に、セッション情報管理テーブル２０９のエントリのＳｅｓｓｉｏｎ  Ｔｉｍｅｏｕｔのカラムを更新するかどうかを示すフラグである。たとえば、ＴＣＰ通信のように、後続する同一セッションの通信が同じＳＳを経由するようにする場合、１を指定する。
【００５６】
図１０にセッション情報管理テーブル２０９の構成例を示す。セッション情報管理テーブル２０９は、予め作成された制御ルール管理テーブル２０８と経路情報管理テーブル２０７とを用いて、通信制御部２０２が生成するテーブルである。通信制御部２０２は、受信したパケットと制御ルール管理テーブル２０８及び経路情報管理テーブル２０７とを比較参照し、ネットワークやＳＳ３０３の負荷を軽減する通信経路を決定する。
【００５７】
以下に、図１０について説明する。Ｓｒｃ ＩＰ、Ｓｒｃ Ｐｏｒｔ、Ｄｓｔ ＩＰ、Ｄｓｔ Ｐｏｒｔ、Ｐｒｏｔｏｃｏｌ、往路及び復路は、図９と同様であるため詳細な説明を省略する。
【００５８】
Ｐｒｉｏｒｉｔｙは、優先度を示す。たとえば、通信経路として複数行マッチするエントリが見つかった場合、Ｐｒｉｏｒｉｔｙの値の小さい方を選択する。Ｐｒｉｏｒｉｔｙは、例えば１〜６５５３５の間の値を用いる。
【００５９】
Ｓｅｓｓｉｏｎ  Ｔｉｍｅｏｕｔは、情報の保持期限を示す。セッション情報管理テーブル２０９のエントリは、Ｓｅｓｓｉｏｎ  Ｔｉｍｅｏｕｔ列に格納された時刻を経過すると不要になる。通信制御部２０２は、定期的にセッション情報管理テーブル２０９を参照し、不要となったエントリを削除する。
【００６０】
ＯＳＷ３０２、ＩＳＷ３０４、ＳＳ３０３が保持するフロー情報管理テーブル２１１は、フローコントローラ３０８からの指示を受けてＯＳＷ３０２、ＩＳＷ３０４、ＳＳ３０３が生成するテーブルである。
【００６１】
通信パス変更情報管理テーブル２１２は、ＳＳ３０３を経由する通信の経路を動的に変更する場合に用いるテーブルである。例えば、ＳＳ３０３を経由する通信の状態変化に応じて通信経路を動的に変更する場合に使用する。
【００６２】
続いて、図１１を用いて本発明の実施の形態２にかかるデータの流れについて説明する。本図は、ＵＤＰが用いられている場合のデータの流れを示している。本図においては、ＩＰアドレスが１０．０．０．５であるＣＬ３０１から、ＤＮＳサーバであってＩＰアドレスが１９２．１６８．１．４であるＳＶ３０５宛に、名前解決のリクエスト、具体的には、宛先ポート番号ｕｄｐ／５３の通信を行う場合を示している。
【００６３】
はじめに、ＣＬ３０１は、ＯＳＷ３０２に対して要求パケットを送信する（Ｓ４００）。ＯＳＷ３０２は、受信した要求パケットの情報、例えば、入力ポート、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、プロトコル番号、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号等をキーとしてフロー情報管理テーブル２１１を検索し、該当するエントリが存在するかどうかを確認する。この時、フロー情報管理テーブル２１１には、該当するエントリが存在しないとして、ＯＳＷ３０２は、一旦要求パケットを受信バッファへ格納し、要求パケットをフローコントローラ３０８へ転送する（ステップＳ４０１）。つまり、ＯＳＷ３０２は、フローコントローラ３０８に対して、要求パケット及び後続パケットの制御方法について問い合わせを行う。
【００６４】
フローコントローラ３０８は、受信パケットのヘッダ情報をキーとしてセッション情報管理テーブル２０９を検索し、該当するエントリが存在するかどうかを確認する（Ｓ４０２）。ここで、セッション情報管理テーブル２０９に該当するエントリが存在しないとして、受信パケットのヘッダ情報をキーとして制御ルール管理テーブル２０８を検索する。この時、制御ルール管理テーブル２０８に該当するエントリが存在するとして、該当するエントリの往路及び復路のカラムをキーとして、経路情報管理テーブル２０７を検索し、最適経路を決定する（Ｓ４０３）。
【００６５】
具体的には、フローコントローラ３０８は、制御ルール管理テーブル２０８の往路及び復路のカラムのカンマで区切られた情報を順番に参照し、経路情報管理テーブル２０７の情報を検索する。このようにして、往路のカラムにおけるハイフンの左側の文字列と経路情報管理テーブル２０７の入口となるシステムの識別情報とを比較し、さらに、往路のカラムにおけるハイフンの右側の文字列と経路情報管理テーブル２０７の出口となるシステムの装置種別とを比較し、一致する行を抽出する。該当する行が複数存在する場合、負荷情報カラムを参照して最も値が小さい１行のみを抽出する。負荷情報の値が同一となる行が複数存在する場合、経路コストのカラムを参照して最も値の小さい１行のみを抽出する。経路コストが同一となる行が複数存在する場合、最初にマッチした１行のみを抽出する。
【００６６】
フローコントローラ３０８は、該当行の入り口となるシステム及び出口となるシステムのＩｎ及びＯｕｔの内容に基づいて、ＯＳＷ３０２、ＩＳＷ３０４及びＳＳ３０３のフロー情報管理テーブル２１１の更新をそれぞれの装置に指示する(Ｓ４０４)。このようにして制御ルール管理テーブル２０８の往路及び復路のカラムのカンマで区切られた情報をすべて処理して、ＯＳＷ３０２、ＩＳＷ３０４及びＳＳ３０３は、フロー情報管理テーブル２１１を更新する（Ｓ４０５〜Ｓ４０７）。ここで、フロー情報管理テーブル２１１の構成例について、図１２〜１４を用いて説明する。図１２は、ＯＳＷ３０２におけるフロー情報管理テーブル２１１である。図１３は、ＳＳ３０３におけるフロー情報管理テーブル２１１である。図１４は、ＩＳＷ３０４におけるフロー情報管理テーブル２１１である。
【００６７】
Ｉｎｇｒｅｓｓ Ｐｏｒｔは、入力ポートを一意に識別可能な識別子である。Ｓｒｃ ＨＷＡｄｄｒは、送信元装置のＭＡＣアドレスである。Ｄｓｔ ＨＷＡｄｄｒは、宛先装置のＭＡＣアドレスである。Ｓｒｃ ＩＰ、Ｓｒｃ Ｐｏｒｔ、Ｄｓｔ ＩＰ、Ｄｓｔ Ｐｏｒｔ、Ｐｒｏｔｏｃｏｌは、前述したものと同様である。ｄｌ＿ｔｙｐｅは、Ｅｔｈｅｒｎｅｔ（登録商標）のタイプ番号である。Ｅｔｈｅｒｎｅｔ（登録商標）のタイプ番号は、データリンク層から見て上位のプロトコルを識別するために用いられる番号である。Ｅｇｒｅｓｓ Ｐｏｒｔは、出力ポートを一意に識別可能な識別子である。Ｉｄｌｅ Ｔｉｍｅｏｕｔは、情報の保持期限を示す。
【００６８】
図１１に戻り、フローコントローラ３０８は、ＯＳＷ３０２、ＩＳＷ３０４及びＳＳ３０３のフロー情報管理テーブル２１１を更新後、ＯＳＷ３０２に対して、ＯＳＷ３０２の受信バッファに格納された受信パケットをｐ２ポートから出力するよう指示する（Ｓ４０８）。次に、ＯＳＷ３０２は、フロー情報管理テーブル２１１に基づいて、受信バッファ内に格納された該当受信パケットをｐ２ポートから出力し、ＳＳ３０３へフォワードする（Ｓ４０９）。また、ＯＳＷ３０２は、フローコントローラ３０８から転送された受信パケットを受信してもよい。次に、ＳＳ−ＳＷ３０６は、フロー情報管理テーブル２１１に基づいて、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ２ポートよりパケットをＦＷ１にフォワードする（Ｓ４１０）。次に、ＦＷ１は、受信したパケットのヘッダ部と、予め設定されていたフィルタ設定とを比較して、通信の転送可否を判断する（Ｓ４１１）。以降では、転送が許可されていたものとして説明を進める。
【００６９】
次に、ＦＷ１は、要求パケットのヘッダ部および自身のルーティングテーブルを参照して、ＳＳ３０３にパケットをフォワードする（Ｓ４１２）。次に、ＳＳ３０３は、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ９ポートよりパケットをＩＳＷにフォワードする（Ｓ４１３）。次に、ＩＳＷは、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ４ポートよりパケットをＳＶ３０５にフォワードする（Ｓ４１４）。次に、ＳＶ３０５は、クライアントからの要求に応じ、応答パケットをＩＳＷに送出する（Ｓ４１５）。
【００７０】
次に、ＩＳＷは、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ６ポートよりパケットをＯＳＷにフォワードする（Ｓ４１６）。次に、０ＳＷは、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ１ポートよりパケットをＣＬ３０１にフォワードする（Ｓ４１７）。
【００７１】
後続パケットは、ステップＳ４０５、ステップＳ４０６、ステップＳ４０７で設定されたフロー情報管理テーブルの内容に従い転送される。ＯＳＷ３０２、ＩＳＷ３０４、ＳＳ３０３のフロー情報管理テーブルのエントリが削除されるまでは、ステップＳ４０９〜ステップＳ４１７と同様に処理される。
【００７２】
続いて、図１５を用いて本発明の実施の形態２にかかるフローコントローラ３０８における経路選択処理の流れについて説明する。はじめに、フローコントローラ３０８は、ＯＳＷ３０２から受信したパケットの情報をキーとして、セッション情報管理テーブル２０９を検索する（Ｓ５０１）。ステップＳ５０１において、該当行が存在しない場合、フローコントローラ３０８は、ＯＳＷ３０２から受信したパケットの情報をキーとして制御ルール管理テーブル２０８を検索する（Ｓ５０２）。該当行が存在しない場合、受信したパケットを破棄する（Ｓ５０３）。
【００７３】
ステップＳ５０１もしくはステップＳ５０２において、該当行が存在する場合、フローコントローラ３０８は、ステップＳ５０１もしくはステップＳ５０２において抽出した行の往路及び復路のカラムのカンマで区切られた情報を順番に参照する（Ｓ５０４）。
【００７４】
次に、フローコントローラ３０８は、ステップＳ５０４において参照した情報をキーとして経路情報管理テーブル２０７を検索し、各装置の負荷などを考慮して、最適経路を決定する（Ｓ５０５）。最適経路が一意に特定できなかった場合、受信したパケットを廃棄する（Ｓ５０３）。最適経路が一意に特定できた場合、フローコントローラ３０８は、決定した最適経路に関する情報をＯＳＷ３０２、ＳＳ３０３及びＩＳＷ３０４へ指示するための指示情報を生成する（Ｓ５０６）。次に、フローコントローラ３０８は、指示情報をＯＳＷ３０２、ＳＳ３０３及びＩＳＷ３０４へ送信し、ＯＳＷ３０２、ＳＳ３０３及びＩＳＷ３０４においてフロー情報管理テーブル２１１が更新される。（Ｓ５０７）。
【００７５】
Ｉｄｌｅ Ｔｉｍｅｏｕｔを過ぎると、フロー情報管理テーブル２１１のエントリは削除され、通信の最適経路の計算（ステップＳ５０１〜Ｓ５０７）が実行される。フロー情報管理テーブル２１１のエントリが削除されると、経路情報管理テーブル２０７の負荷情報のカラムを元に、負荷の最も少ない経路がフローコントローラ３０８において再選択されることにより、ネットワークの負荷を平準化することができる。
【００７６】
図１１のステップＳ４０１〜Ｓ４０７までの処理を実行することにより、図１６に示すように、フローコントローラ３０８は、往路についてはＳＳ３０３を経由させ、復路についてはＳＳ３０３を経由させないように経路を制御する。往路のみがＳＳ３０３を経由することにより、ＳＳ３０３自体のＣＰＵ負荷を軽減することができる。さらに、復路の通信がＳＳ３０３を経由しなくなるため、該当する通信が復路においてＩＳＷ３０４とＳＳ３０３との間及びＳＳ３０３とＯＳＷ３０２との間において流れなくなり、他の通信にネットワーク帯域を割くことができるようになる。
【００７７】
さらに、ＳＳ３０３内の装置が高負荷状態になった場合、図１７に示すように、動的に経路を変更させてもよい。具体的には、ＳＳ３０３の代わりにＳＳ３０３＿１を経由させるように経路を変更させることにより、特定のＳＳの負荷集中を抑えることができる。
【００７８】
ＤＮＳの通信のように、通信の全てをファイウォール経由で行わなくても済むケースは多数存在する。特に、同じポートを介して長時間継続してデータのやり取りを行うようなＵＤＰの通信において、本発明は有効である。
【００７９】
続いて、図１８を用いて本発明の実施の形態２にかかるデータの流れについて説明する。本図は、ＴＣＰが用いられている場合のデータの流れを示している。ＴＣＰを用いた場合の通信が、ＵＤＰを用いた場合の通信と異なるのは、通信経路を制御してコネクション確立前はセキュリティシステムを経由させ、コネクション確立後はセキュリティシステムを経由させないようにする点である。
【００８０】
本図においては、ＩＰアドレスが１０．０．０．１であるＣＬ１から、ＷｅｂサーバでありＩＰアドレス１９２．１６８．１．３であるＳＶ３０５宛にリクエスト（宛先ポート番号 ｔｃｐ／８０の通信）を行う場合について説明する。
【００８１】
本図は、図１１のステップＳ４０５〜Ｓ４０７以降の処理を示している。ＴＣＰを用いた場合の動作は、コネクション確立まではＵＤＰと同様に、制御ルール管理テーブル２０８の内容に従って通信経路が制御される。具体的には図９の制御ルール管理テーブル２０８のＩＤ＝３の行の往路及び復路のカラムの情報と経路情報管理テーブルの内容とに基づいて、コネクション確立前の通信経路が決定される。コネクション確立前においては、下記に示す順番でＴＣＰの３Ｗａｙハンドシェイクのパケットが各装置を経由して流れる。３Ｗａｙハンドシェイクによるパケットの転送が完了後、コネクションが確立される。
【００８２】
ＯＳＷ→ＳＳ  ＳＷ→ＦＷ→ＳＳ  ＳＷ→ＩＳＷ→ＳＶ３→ＩＳＷ→ＳＳ  ＳＷ→ＦＷ→ＳＳ  ＳＷ→ＯＳＷ→ＣＬ１→ＯＳＷ→ＳＳ  ＳＷ→ＦＷ→ＳＳ  ＳＷ→ＩＳＷ→ＳＶ３(Ｓ６０１)。また、ＦＷにおいては、フィルタリング処理が実行される。
【００８３】
次にコネクション確立後の動作について説明する。ＳＳ３０３内のＦＷ３０７は、新規のコネクション確立を検知したタイミングで該当する通信のセッション情報(送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号、通信の状態)を通信パス更新部３０９に通知する（Ｓ６０２）。
【００８４】
通信パス更新部３０９は、ＦＷ３０７からの新規コネクション確立の情報(送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号、通信の状態)を受信すると、受信した情報と自身の持つ通信パス変更情報管理テーブル２１２とを照らし合わせて該当する行を検索する（Ｓ６０３）。該当行が見つからなかった場合は、処理を打ち切る。
【００８５】
ここで、通信パス変更情報管理テーブル２１２の具体例を図１９に示す。ステップＳ６０３において、該当行が見つかった場合は、該当行（例えば、本図の１行目）のＡｃｔｉｏｎのカラムの情報を参照してフローコントローラ３０８に対して該当する通信の経路変更を依頼する（Ｓ６０４）。具体的には、１行目のＡｃｔｉｏｎのカラムは、往路及び復路の経路から、ＦＷを除外することが示されている。
【００８６】
ここで、通信パス更新部３０９とフローコントローラ３０８との間で送受信される情報の具体例を図２０に示す。以降、該当行が見つかったものとして説明する。通信パス更新部３０９から経路変更依頼を受信したフローコントローラ３０８は、受信した情報の送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号をキーとして自身のもつセッション情報管理テーブル２０９に該当する行が存在するかどうかを確認する。
【００８７】
該当行が見つからなかった場合は処理を打ち切り、経路情報が変更できなかった旨を通信パス更新部３０９に通知する。該当行が見つかった場合は、受信した経路変更依頼の内容を基にセッション情報管理テーブル２０９の該当行の内容を変更する（Ｓ６０５）。
【００８８】
変更前と変更後のセッション情報管理テーブル２０９の内容をそれぞれ図２１及び図２２に示す。フローコントローラ３０８は、更新したセッション情報管理テーブル２０９の情報に基づいて、関連するスイッチＯＳＷ３０２、ＳＳ１  ＳＷ３０３、ＩＳＷ３０４に経路変更の指示を行う（Ｓ６０６）。
【００８９】
これより、該当通信の経路はセキュリティシステムを経由しないよう変更される。経路変更後にフローコントローラ３０８は、経路変更依頼に対する経路変更結果を通信パス更新部３０９に送信する（Ｓ６０７）。
【００９０】
経路変更依頼の結果を取得した通信パス更新部３０９は、受信した情報を参照し、依頼通りに処理されたかどうかを確認する。依頼通り処理されていなかった場合は処理を打ち切る。依頼通りに処理されていた場合は、該当するセッション情報の削除をＦＷ１に指示する（Ｓ６０８）。
【００９１】
通信パス更新部３０９からの指示を受信したＦＷ１は、自身のセッションテーブルから該当するセッション情報のエントリを削除する（Ｓ６０９）。ステップＳ６０９の処理を実施しなかった場合は、コネクション確立後のセッション情報が一定期間ＦＷ１のメモリ上に保持されたままになる。以降該当する通信はFW1を経由せず、メモリを無駄に使用したままの状態となるため、不要となったメモリが開放されるよう削除処理を行う。
【００９２】
続いて、図２３を用いて、通信パス更新部３０９における処理の流れについて説明する。初めに、通信パス更新部３０９は、ＦＷ３０７から受信した複数の新規コネクション確立の情報(送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号、通信の状態を１組とする情報)を順番に辿る（Ｓ６５１）。
【００９３】
次に、通信パス更新部３０９は、通信パス変更情報管理テーブル２１２を参照し、新規コネクション確立の情報(送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号、通信の状態)をキーとしてマッチする行を検索する（Ｓ６５２）。マッチする行が存在しない場合は、ステップＳ６５１に戻り次の新規コネクション情報を確認する。マッチする行が存在する場合はステップＳ６５３に進む。
次に、通信パス更新部３０９は、通信パス変更情報管理テーブル２１２の該当行の情報を基に経路変更依頼リストを作成する。具体的には図２０のＰａｒａｍｅｔｅｒリストに該当行の情報を格納する（Ｓ６５３）。
【００９４】
次に、通信パス更新部３０９は、ステップＳ６５３において生成した経路変更依頼リストに、予め設定しておいた「Request=replace、Retry=0、Retry Interval=0、Delay=0」の情報を加えて、Controllerに経路変更の依頼を行う（Ｓ６５４）。
【００９５】
次に、通信パス更新部３０９は、フローコントローラ３０８から経路変更依頼の処理結果を受信する（Ｓ６５５）。通信パス更新部３０９は、フローコントローラ３０８から受信した処理結果が成功の場合はステップＳ６５７に進む（Ｓ６５６）。処理結果が失敗の場合は、処理を終了する（Ｓ６５６）。次に、通信パス更新部３０９は、該当するセッション情報の削除をＦＷ３０７に指示する（Ｓ６５７）。通信パス更新部３０９は、ＦＷ３０７から新規コネクション確立の情報を取得する度にステップＳ６５１〜６５７の処理を繰り返す。
【００９６】
以上が通信パス更新部３０９の動作の流れである。このように、ＴＣＰのコネクション確立まではファイアウォールを経由するようにし、ＴＣＰのコネクション確立後はファイアウォールを経由しないように通信経路を制御することで、セキュリティを確保しつつ、かつ無駄な通信も削減することができる。
【００９７】
本発明により、特定セキュリティシステムへの負荷集中を抑え、ネットワークのボトルネックを緩和することが可能である。接続を維持してデータのやりとりを行うようなＴＣＰの通信でかつ、多くのデータがやりとりされるケースにおいて、本発明は通信量が増えれば増えるほど大きな効果を発揮する。
【００９８】
ＴＣＰと同じ方法でＵＤＰについても、ファイアウォール機能を有する装置の保持するセッション情報を基に、通信がセキュリティシステムを経由しないよう制御してもよい。例えば、同じＩＰアドレス、ポート番号の組みで一度データがクライアント、サーバ間で往復したUDPの通信を、ファイアウォール機能を有する装置、通信パス更新部３０９及びフローコントローラ３０８で該当セッションの情報をやり取りして、一定期間（フロー情報管理テーブルに該当エントリが存在する間）、セキュリティシステムを経由しないよう通信経路を制御するといった方法がある。
【００９９】
（実施の形態３）
続いて、図２４を用いて本発明の実施の形態３にかかるＳＳ７０１の構成例について説明する。ＳＳ７０１は、ネットワークにおいて図３におけるＳＳ３０３と同様の位置に配置される。ＳＳ７０１は、ＩＰＳ（Intrusion Prevention System）７０２と、通信パス更新部７０３と、ＳＳ−ＳＷ７０４とを備えている。ＳＳ−ＳＷ７０４は、図３におけるＳＳ−ＳＷ３０６と同様であり、通信パス更新部７０３は、図３における通信パス更新部３０９と同様である。
【０１００】
ＩＰＳ７０２は、通信のヘッダ部だけでなくペイロード部も参照して、セキュリティ上問題がないかどうかの確認を行う。そのため、ＩＰＳ７０２は、ファイアウォール装置と比べると高負荷になり易く、ネットワークのボトルネックとなる可能性の高い装置である。
【０１０１】
ネットワークのボトルネックを緩和するため、ＩＰＳ７０２で例外設定を行い、静的にある特定の通信を検査対象から外す方法があるが、少しでも問題となる可能性のある通信については検査対象から外すことができないなどの理由から、実際の運用では必要以上のチェックを行っているケースがほとんどである。このようにして、過剰な検査によって、ＩＰＳ７０２がネットワークのボトルネックとなりやすいのが現状である。そこで、図２５を用いて、このような問題を解決するためのデータの処理の流れについて説明する。
【０１０２】
図２５においては、ＩＰアドレス１０．０．０．１を持つＣＬ１からＩＰアドレス１９２．１６８．１．３を持つＷｅｂサーバＳＶ３０５宛にリクエスト(宛先ポート番号ｔｃｐ／８０の通信)を行った場合を例に説明する。
【０１０３】
本図は、図１１のステップＳ４０５〜Ｓ４０７以降の処理を示している。ＳＳ７０１内のＩＰＳ機能を有する装置ＩＰＳ７０２は、予め定義しておいた図２６に示すルールと自信を介して流れる通信とを比較する。自身を介して流れる通信がパイパス処理してよい１行目のルールとマッチした場合、該当通信の情報(送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号、通信の状態)を通信パス更新部７０３に通知する（Ｓ８０１）。
【０１０４】
ステップＳ８０２〜Ｓ８０８は、図１８におけるステップＳ６０３〜Ｓ６０９と同様であるため、詳細な説明を省略する。ここで、通信パス更新部とフローコントローラとの間で送受信される情報の具体例を図２７に示す。また、ステップＳ８０４のセッション管理テーブルの更新において、更新前後のセッション情報管理テーブルの内容をそれぞれ図２８及び２９に示す。点線で囲まれている箇所が更新部分を示す。
【０１０５】
このように、必要以上の検査が行われないよう通信経路を動的に変更し、ＩＰＳ装置を経由しないようすることで、セキュリティシステムおよびネットワークの負荷を軽減することができる。負荷軽減により、ネットワーク全体の性能向上を図ることができると考える。TCPの場合と同じく、同一セッションで多くのデータがやりとりされるケースにおいて、本発明はより大きな効果を発揮する。
【０１０６】
以下に、本発明の効果について説明する。本発明により、セキュリティ装置の負荷軽減及び通信ネットワーク上のボトルネックの解消が可能で、ネットワーク性能を向上できる。その理由は、ＵＤＰでは往路と復路を非対称にして往路だけセキュリティシステムでチェックする、ＴＣＰでは接続確立までの通信のみをセキュリティシステムでチェックするなど、経路情報管理テーブル、制御ルール管理テーブルを参照して動的に通信経路を制御し、必要な通信のみがネットワーク上のセキュリティシステムを流れる仕組みを有しているためである。
【０１０７】
さらに、ＩＰヘッダのＴｏＳフィールドなど通常ＱｏＳで用いるパケットのヘッダ部にあるフィールドを使うことなくセキュリティ装置の負荷を軽減できる。その理由は、通常ＱｏＳで用いるパケットのヘッダ部にあるフィールドを更新せず、フローコントローラ上に存在する予め定義しておいたルール及び定期的に収集しているセキュリティ装置やネットワークの負荷情報を参考に、フローコントローラがネットワーク上のフロー制御可能なスイッチに指示して通信経路の制御を行うためである。
【０１０８】
さらに、ファイアウォール機能以外のセキュリティ装置（ＩＰＳ、ウィルス対策、URLフィルタなど)の場合でも、ネットワーク性能を向上できる。その理由は、セキュリティシステム内の通信パス更新部とフローコントローラ内の通信制御部が連携して動的に経路制御を行い、必要な通信のみがネットワーク上のセキュリティシステムを流れる仕組みを有しているためである。
【０１０９】
さらに、保護対象ネットワーク内にＮＡＴ／ＮＡＰＴの設定が行われている環境でもセキュリティ装置の負荷を軽減できる。その理由は、制御ルール管理テーブルを用いて通信の流れを設定次第で自由に制御できるためである。
【０１１０】
さらに、特定装置に負荷が集中することなくネットワークの性能を向上できる。その理由は、一旦フロー情報管理テーブルに通信経路の制御情報が格納されると、しばらくは登録されたルールによって同一セッションの通信が制御されるため、フローコントローラにすべての通信が転送されることはないためである。また、フロー情報管理テーブルでの制御情報の保持期間は制御ルール管理テーブルによって随時変更可能であり、フローコントローラに負荷が集中しないように制御可能なためである。
【０１１１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【０１１２】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１３】
この出願は、２０１２年３月２日に出願された日本出願特願２０１２−４７０５１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１１４】
１０  通信装置
２０  通信装置
３０  セキュリティ装置
４０  経路制御装置
１０１  サーバ
１０２  スイッチ
１０３  フローコントローラ
１０４  セキュリティシステム
１０５  セキュリティシステム
１０６  スイッチ
１０７  クライアント
２０１  スイッチ制御部
２０２  通信制御部
２０３  セキュリティシステム制御部
２０４  フロー制御可能スイッチ
２０５  セキュリティ機能部
２０６  通信パス更新部
２０７  経路情報管理テーブル
２０８  制御ルール管理テーブル
２０９  セッション情報管理テーブル
２１０  負荷情報管理テーブル
２１１  フロー情報管理テーブル
２１２  通信パス変更情報管理テーブル
３０１  ＣＬ
３０２  ＯＳＷ
３０３  ＳＳ
３０４  ＩＳＷ
３０５  ＳＶ
３０６  ＳＳ−ＳＷ
３０７  ＦＷ
３０８  フローコントローラ
３０９  通信パス更新部
７０１  ＳＳ
７０２  ＩＰＳ
７０３  通信パス更新部
７０４  ＳＳ−ＳＷ
【図１】
0005967187.tif 000002
【図２】
0005967187.tif 000003
【図３】
0005967187.tif 000004
【図４】
0005967187.tif 000005
【図５】
0005967187.tif 000006
【図６】
0005967187.tif 000007
【図７】
0005967187.tif 000008
【図８】
0005967187.tif 000009
【図９】
0005967187.tif 000010
【図１０】
0005967187.tif 000011
【図１１】
0005967187.tif 000012
【図１２】
0005967187.tif 000013
【図１３】
0005967187.tif 000014
【図１４】
0005967187.tif 000015
【図１５】
0005967187.tif 000016
【図１６】
0005967187.tif 000017
【図１７】
0005967187.tif 000018
【図１８】
0005967187.tif 000019
【図１９】
0005967187.tif 000020
【図２０】
0005967187.tif 000021
【図２１】
0005967187.tif 000022
【図２２】
0005967187.tif 000023
【図２３】
0005967187.tif 000024
【図２４】
0005967187.tif 000025
【図２５】
0005967187.tif 000026
【図２６】
0005967187.tif 000027
【図２７】
0005967187.tif 000028
【図２８】
0005967187.tif 000029
【図２９】
0005967187.tif 000030