(57)【特許請求の範囲】
【請求項１】
パケットを送受信する端末との間で、ＩＰｓｅｃ（Security Architecture for Internet Protocol）を用いて前記端末ごとにトンネルを確立し、前記トンネルを終端する終端処理を実行するトンネル終端システムであって、
前記トンネルを確立するための呼制御信号を含むパケットを、第３処理装置を経由して前記端末との間で送受信して、ＳＡ（Security Association）を前記端末との間に確立し、前記ＳＡに基づいて終端処理を実行するために用いるトンネル終端情報を生成し、前記トンネル終端情報とそのトンネル終端情報の複製先である２以上の第２処理装置のいずれか１つとを関連付けた情報である関連付情報を記憶部に記憶するとともに、前記関連付情報に基づいて前記トンネル終端情報を前記第２処理装置に複製し、当該第２処理装置を前記トンネルを通過してきたパケットの転送先に指示する指示情報を前記第３処理装置に送信する第１処理装置と、
前記第１処理装置によって複製された前記トンネル終端情報を取得し、当該トンネル終端情報に基づいて、前記第３処理装置を経由して前記端末から受信した前記パケットの終端処理を実行する前記第２処理装置と、
前記端末から受信した前記パケットのヘッダ情報に基づいて、前記呼制御信号を含むパケットを前記第１処理装置に転送し、前記第１処理装置から受信した前記指示情報に基づいて前記トンネルを通過してきたパケットを前記第２処理装置に転送する前記第３処理装置と、
を備えることを特徴とするトンネル終端システム。
【請求項２】
パケットを送受信する端末との間で、ＩＰｓｅｃを用いて前記端末ごとにトンネルを確立し、前記トンネルを終端する終端処理を実行するトンネル終端システムにおいて用いられるトンネル終端方法であって、
前記トンネル終端システムは、第１処理装置、２以上の第２処理装置および第３処理装置を備え、
前記第１処理装置は、前記トンネルを確立するための呼制御信号を含むパケットを、前記第３処理装置を経由して前記端末との間で送受信して、ＳＡを前記端末との間に確立し、前記ＳＡに基づいて終端処理を実行するために用いるトンネル終端情報を生成し、前記トンネル終端情報とそのトンネル終端情報の複製先である前記２以上の第２処理装置のいずれか１つとを関連付けた情報である関連付情報を記憶部に記憶するとともに、前記関連付情報に基づいて前記トンネル終端情報を前記第２処理装置に複製し、当該第２処理装置を前記トンネルを通過してきたパケットの転送先に指示する指示情報を前記第３処理装置に送信し、
前記第２処理装置は、前記第１処理装置によって複製された前記トンネル終端情報を取得し、当該トンネル終端情報に基づいて、前記第３処理装置を経由して前記端末から受信した前記パケットの終端処理を実行し、
前記第３処理装置は、前記端末から受信した前記パケットのヘッダ情報に基づいて、前記呼制御信号を含むパケットを前記第１処理装置に転送し、前記第１処理装置から受信した前記指示情報に基づいて前記トンネルを通過してきたパケットを前記第２処理装置に転送する
ことを特徴とするトンネル終端方法。
【請求項３】
パケットを送受信する端末との間で、ＩＰｓｅｃを用いて前記端末ごとに第３処理装置を経由して、トンネルを確立するための呼制御信号を含むパケットを送受信して、ＳＡを前記端末との間に確立し、前記ＳＡに基づいて終端処理を実行するために用いるトンネル終端情報を生成し、前記トンネル終端情報とそのトンネル終端情報の複製先である２以上の第２処理装置のいずれか１つとを関連付けた情報である関連付情報を記憶部に記憶するとともに、前記関連付情報に基づいて前記トンネル終端情報を前記第２処理装置に複製し、当該第２処理装置を前記トンネルを通過してきたパケットの転送先に指示する指示情報を前記第３処理装置に送信するトンネル終端制御装置と、前記トンネル終端制御装置によって複製された前記トンネル終端情報を取得し、当該トンネル終端情報に基づいて、前記第３処理装置を経由して前記端末から受信した前記パケットの終端処理を実行する前記第２処理装置と、前記端末から受信した前記パケットのヘッダ情報に基づいて、前記呼制御信号を含むパケットを前記トンネル終端制御装置に転送し、前記トンネル終端制御装置から受信した前記指示情報に基づいて前記トンネルを通過してきたパケットを前記第２処理装置に転送する前記第３処理装置と、によって構成されるトンネル終端システムにおいて用いられる前記トンネル終端制御装置であって、
前記呼制御信号を含むパケットを、前記第３処理装置を経由して前記端末との間で送受信し、前記トンネル終端情報を生成し、前記関連付情報を前記記憶部に記憶する呼処理部と、
前記第２処理装置それぞれから処理負荷の値を取得する負荷監視部と、
前記第２処理装置から取得した処理負荷の値同士を比較し、最小の処理負荷の値を有する前記第２処理装置を決定する割当部と、
前記割当部によって決定された前記第２処理装置に、前記記憶部の前記トンネル終端情報を複製するトンネル終端情報複製部と、
当該トンネル終端情報に基づいて終端処理するパケットの前記転送先を、当該トンネル終端情報を複製された前記第２処理装置とすることを示す前記指示情報を前記第３処理装置に送信するフロー制御指示部と、
を備えることを特徴とするトンネル終端制御装置。
【請求項４】
前記トンネル終端制御装置は、さらに、
前記処理負荷の閾値を記憶している前記記憶部を備え、
前記割当部は、前記第２処理装置から取得した処理負荷の値が前記閾値を超えているか否かを判定し、前記処理負荷の値が前記閾値を超えていると判定した場合、前記最小の処理負荷の値を有する前記第２処理装置を変更先として決定し、
前記トンネル終端情報複製部は、前記処理負荷の値が前記閾値を超えていると判定された前記第２処理装置が確立しているトンネルの一部について、その一部のトンネルのトンネル終端情報を前記変更先に複製し、
前記フロー制御指示部は、複製した当該トンネル終端情報に基づいて終端処理するパケットの転送先を、当該トンネル終端情報を複製した前記第２処理装置とする前記指示情報を前記第３処理装置に送信する
ことを特徴とする請求項３に記載のトンネル終端制御装置。
【請求項５】
パケットを送受信する端末との間で、ＩＰｓｅｃを用いて前記端末ごとに第３処理装置を経由して、トンネルを確立するための呼制御信号を含むパケットを送受信して、ＳＡを前記端末との間に確立し、前記ＳＡに基づいて終端処理を実行するために用いるトンネル終端情報を生成し、前記トンネル終端情報とそのトンネル終端情報の複製先である２以上の第２処理装置のいずれか１つとを関連付けた情報である関連付情報を記憶部に記憶するとともに、前記関連付情報に基づいて前記トンネル終端情報を前記第２処理装置に複製し、当該第２処理装置を前記トンネルを通過してきたパケットの転送先に指示する指示情報を前記第３処理装置に送信するトンネル終端制御装置と、前記トンネル終端制御装置によって複製された前記トンネル終端情報を取得し、当該トンネル終端情報に基づいて、前記第３処理装置を経由して前記端末から受信した前記パケットの終端処理を実行する前記第２処理装置と、前記端末から受信した前記パケットのヘッダ情報に基づいて、前記呼制御信号を含むパケットを前記トンネル終端制御装置に転送し、前記トンネル終端制御装置から受信した前記指示情報に基づいて前記トンネルを通過してきたパケットを前記第２処理装置に転送する前記第３処理装置と、によって構成されるトンネル終端システムにおいて用いられる前記トンネル終端制御装置のトンネル終端制御方法であって、
前記トンネル終端制御装置は、
前記呼制御信号を含むパケットを、前記第３処理装置を経由して前記端末との間で送受信し、前記トンネル終端情報を生成し、前記関連付情報を前記記憶部に記憶する呼処理ステップと、
前記第２処理装置それぞれから処理負荷の値を取得する負荷監視ステップと、
前記第２処理装置から取得した処理負荷の値同士を比較し、最小の処理負荷の値を有する前記第２処理装置を決定する割当ステップと、
前記割当ステップによって決定された前記第２処理装置に、前記記憶部の前記トンネル終端情報を複製するトンネル終端情報複製ステップと、
当該トンネル終端情報に基づいて終端処理するパケットの前記転送先を、当該トンネル終端情報を複製された前記第２処理装置とすることを示す前記指示情報を前記第３処理装置に送信するフロー制御指示ステップと、
を実行することを特徴とするトンネル終端制御方法。
【請求項６】
前記トンネル終端制御装置は、さらに、
前記処理負荷の閾値を記憶している前記記憶部を備え、
前記割当ステップでは、前記第２処理装置から取得した処理負荷の値が前記閾値を超えているか否かを判定し、前記処理負荷の値が前記閾値を超えていると判定した場合、前記最小の処理負荷の値を有する前記第２処理装置を変更先として決定し、
前記トンネル終端情報複製ステップでは、前記処理負荷の値が前記閾値を超えていると判定された前記第２処理装置が確立しているトンネルの一部について、その一部のトンネルのトンネル終端情報を前記変更先に複製し、
前記フロー制御指示ステップでは、複製した当該トンネル終端情報に基づいて終端処理するパケットの転送先を、当該トンネル終端情報を複製した前記第２処理装置とする前記指示情報を前記第３処理装置に送信する
ことを特徴とする請求項５に記載のトンネル終端制御方法。
【請求項７】
請求項５または請求項６に記載のトンネル終端制御方法を、コンピュータである前記トンネル終端制御装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰｓｅｃ（Security Architecture for Internet Protocol）を用いたトンネル終端技術に関する。
【背景技術】
【０００２】
トンネル終端装置は、通信プロトコルとしてトンネリングプロトコルを用いてデータをカプセス化することで、対向するトンネル終端装置との間にトンネルを確立して、トンネル終端装置間を透過的に接続することができる。例えば、図６に示すように、センタ側トンネル終端装置（センタ拠点に配備したトンネル終端装置）に対して、アクセスネットワークに接続した多数の端末（トンネル終端装置）から同時に接続する形態がある（非特許文献１参照）。この接続形態を、Ｈｕｂ−Ｓｐｏｋｅ型接続と呼ぶ。このＨｕｂ−Ｓｐｏｋｅ型接続では、各端末は、センタ側ネットワークに接続して通信を行う前に、センタ側トンネル終端装置との間で、ＩＰｓｅｃのプロトコルに従って、トンネルを確立する。そして、各端末は、トンネルを用いてアクセスネットワークを透過し、センタ側ネットワークに接続することができる。
【０００３】
ＩＰｓｅｃは、暗号技術を用いて、ＩＰ（Internet Protocol）パケット単位でデータの改竄防止や秘匿をすることができる。ＩＰｓｅｃは、ＡＨ（Authentication Header）による完全性の保証および認証、ＥＳＰ（Encapsulated Security Payload）によるデータの暗号化、およびＩＫＥ（Internet Key Exchange）等による鍵交換、の３つのプロトコルから構成されている。ＩＫＥには、ＲＦＣ（Request for Comments）２４０９に規定されているＩＫＥｖ１や、ＩＫＥｖ１の脆弱性を改善したＩＫＥｖ２（非特許文献２参照）がある。
【０００４】
ＩＰｓｅｃでは、トンネルを確立するために、まず、ＩＫＥ（例えば、ＩＫＥｖ２）を用いて、データの交換方法および保護方法について合意が結ばれる。この手続は、ＩＫＥ＿ＳＡ＿ＩＮＩＴの交換（要求／応答）によって実行され、結ばれた合意のことをＩＫＥ  ＳＡ（Security Association，セキュリティアソシエーション）と呼ぶ。なお、ＩＫＥｖ２には、暗号化やメッセージ認証を行うためのアルゴリズム等のパラメータ交渉、Diffie-Hellmanの仕組みを用いた暗号鍵／認証鍵の生成、ＩＤパスワード等によるユーザ認証、ＩＰアドレスの払出し等の機能が含まれている。次に、ＩＫＥ＿ＡＵＴＨの交換（要求／応答）によって、送信するデータを保護するためのＣＨＩＬＤ  ＳＡの確立と、相手の認証が行われる。その後、確立されたＣＨＩＬＤ  ＳＡを用いて、送信するデータをＥＳＰまたはＡＨを用いて保護しつつ、確立したトンネルを介してデータの送受信が行われる。これらのＳＡ（ＩＫＥ  ＳＡおよびＣＨＩＬＤ  ＳＡ）は、トンネルが削除されるまでの間、データを送受信するセンタ側トンネル終端装置と端末との双方に保持されるものである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】奥山剛央、“インターネットVPN構築を実践”、［online］、平成２２年２月８日、［平成２２年７月５日検索］、インターネット＜URL ：http://ascii.jp/elem/000/000/495/495978/＞
【非特許文献２】C. Kaufman,“Internet Key Exchange (IKEv2) Protocol”，IETF, RFC4306
【発明の概要】
【発明が解決しようとする課題】
【０００６】
Ｈｕｂ−Ｓｐｏｋｅ型接続では、センタ側トンネル終端装置で処理するトラフィックが増加し、そのセンタ側トンネル終端装置の転送能力が不足した状態になることが問題となる。この場合、センタ側トンネル終端装置をもう１台別に増設して、既設のセンタ側トンネル終端装置との間で負荷分散させることで、転送能力の不足を解消することが考えられる。
【０００７】
しかしながら、ＩＰｓｅｃを用いている場合、増設されたセンタ側トンネル終端装置は、端末との間で、新たにＳＡを生成しなければならない。すなわち、増設されたセンタ側トンネル終端装置と端末との間で、トンネルの新たな確立が必要となり、その際、一時的に通信が途絶するという問題がある。
【０００８】
そこで、本発明は、通信を途絶することなしに、トンネル終端装置のスケールアウト（負荷分散のために、同じ機能を備える装置または部品の数を増加させること）を可能にする技術を提供することを課題とする。
【課題を解決するための手段】
【０００９】
本発明は、パケットを送受信する端末との間で、ＩＰｓｅｃを用いて前記端末ごとにトンネルを確立し、前記トンネルを終端する終端処理を実行するトンネル終端システムであって、前記トンネルを確立するための呼制御信号を含むパケットを、第３処理装置を経由して前記端末との間で送受信して、ＳＡを前記端末との間に確立し、前記ＳＡに基づいて終端処理を実行するために用いるトンネル終端情報を生成し、前記トンネル終端情報とそのトンネル終端情報の複製先である２以上の第２処理装置のいずれか１つとを関連付けた情報である関連付情報を記憶部に記憶するとともに、前記関連付情報に基づいて前記トンネル終端情報を前記第２処理装置に複製し、当該第２処理装置を前記トンネルを通過してきたパケットの転送先に指示する指示情報を前記第３処理装置に送信する第１処理装置と、前記第１処理装置によって複製された前記トンネル終端情報を取得し、当該トンネル終端情報に基づいて、前記第３処理装置を経由して前記端末から受信した前記パケットの終端処理を実行する前記第２処理装置と、前記端末から受信した前記パケットのヘッダ情報に基づいて、前記呼制御信号を含むパケットを前記第１処理装置に転送し、前記第１処理装置から受信した前記指示情報に基づいて前記トンネルを通過してきたパケットを前記第２処理装置に転送する前記第３処理装置と、を備えることを特徴とする。
【００１０】
また、本発明は、パケットを送受信する端末との間で、ＩＰｓｅｃを用いて前記端末ごとにトンネルを確立し、前記トンネルを終端する終端処理を実行するトンネル終端システムにおいて用いられるトンネル終端方法であって、前記トンネル終端システムが、第１処理装置、２以上の第２処理装置および第３処理装置を備え、前記第１処理装置が、前記トンネルを確立するための呼制御信号を含むパケットを、前記第３処理装置を経由して前記端末との間で送受信して、ＳＡを前記端末との間に確立し、前記ＳＡに基づいて終端処理を実行するために用いるトンネル終端情報を生成し、前記トンネル終端情報とそのトンネル終端情報の複製先である前記２以上の第２処理装置のいずれか１つとを関連付けた情報である関連付情報を記憶部に記憶するとともに、前記関連付情報に基づいて前記トンネル終端情報を前記第２処理装置に複製し、当該第２処理装置を前記トンネルを通過してきたパケットの転送先に指示する指示情報を前記第３処理装置に送信し、前記第２処理装置が、前記第１処理装置によって複製された前記トンネル終端情報を取得し、当該トンネル終端情報に基づいて、前記第３処理装置を経由して前記端末から受信した前記パケットの終端処理を実行し、前記第３処理装置が、前記端末から受信した前記パケットのヘッダ情報に基づいて、前記呼制御信号を含むパケットを前記第１処理装置に転送し、前記第１処理装置から受信した前記指示情報に基づいて前記トンネルを通過してきたパケットを前記第２処理装置に転送することを特徴とする。
【００１１】
このような構成によれば、トンネル終端システムは、第１処理装置によって生成されたトンネル終端情報に基づいて、第２処理装置においてトンネルを終端する終端処理を実行することができる。すなわち、従来では、第１処理装置と端末との間で確立したトンネルのトンネル終端情報は、第１処理装置以外の装置、例えば、第２処理装置に適用できなかった。しかし、本発明では、第２処理装置は、第１処理装置によって複製されたトンネル終端情報を取得し、当該トンネル終端情報によって終端されるトンネルを通過してきたパケットを第３処理装置を介して受信するので、そのトンネルを終端する終端処理を実行することができる。すなわち、このトンネル終端システムは、トンネルを確立した第１処理装置とは別の第２処理装置によってトンネルを終端することができる。また、トンネル終端システムは、最も負荷が集中すると考えられる第２処理装置を独立の機能として、第１処理装置において生成したトンネル終端情報に基づいてパケットの終端処理を実行する構成を備えている。したがって、第２処理装置がＩＰｓｅｃを用いて新たに端末との間にトンネルを確立する必要はないため、トンネル終端システムは、第２処理装置を２以上並列に備えて（スケールアウト化して）、いずれかの第２処理装置にトンネル終端情報を複製して終端処理を担当させることによって、通信を途絶することなしに、第２処理装置のスケールアウトを可能にすることができる。
【００１４】
本発明は、パケットを送受信する端末との間で、ＩＰｓｅｃを用いて前記端末ごとに第３処理装置を経由して、トンネルを確立するための呼制御信号を含むパケットを送受信して、ＳＡを前記端末との間に確立し、前記ＳＡに基づいて終端処理を実行するために用いるトンネル終端情報を生成し、前記トンネル終端情報とそのトンネル終端情報の複製先である２以上の第２処理装置のいずれか１つとを関連付けた情報である関連付情報を記憶部に記憶するとともに、前記関連付情報に基づいて前記トンネル終端情報を前記第２処理装置に複製し、当該第２処理装置を前記トンネルを通過してきたパケットの転送先に指示する指示情報を前記第３処理装置に送信するトンネル終端制御装置と、前記トンネル終端制御装置によって複製された前記トンネル終端情報を取得し、当該トンネル終端情報に基づいて、前記第３処理装置を経由して前記端末から受信した前記パケットの終端処理を実行する前記第２処理装置と、前記端末から受信した前記パケットのヘッダ情報に基づいて、前記呼制御信号を含むパケットを前記トンネル終端制御装置に転送し、前記トンネル終端制御装置から受信した前記指示情報に基づいて前記トンネルを通過してきたパケットを前記第２処理装置に転送する前記第３処理装置と、によって構成されるトンネル終端システムにおいて用いられる前記トンネル終端制御装置であって、前記呼制御信号を含むパケットを、前記第３処理装置を経由して前記端末との間で送受信し、前記トンネル終端情報を生成し、前記関連付情報を前記記憶部に記憶する呼処理部と、前記第２処理装置それぞれから処理負荷の値を取得する負荷監視部と、前記第２処理装置から取得した処理負荷の値同士を比較し、最小の処理負荷の値を有する前記第２処理装置を決定する割当部と、前記割当部によって決定された前記第２処理装置に、前記記憶部の前記トンネル終端情報を複製するトンネル終端情報複製部と、当該トンネル終端情報に基づいて終端処理するパケットの前記転送先を、当該トンネル終端情報を複製された前記第２処理装置とすることを示す前記指示情報を前記第３処理装置に送信するフロー制御指示部と、を備えることを特徴とする。
【００１５】
また、本発明は、パケットを送受信する端末との間で、ＩＰｓｅｃを用いて前記端末ごとに第３処理装置を経由して、トンネルを確立するための呼制御信号を含むパケットを送受信して、ＳＡを前記端末との間に確立し、前記ＳＡに基づいて終端処理を実行するために用いるトンネル終端情報を生成し、前記トンネル終端情報とそのトンネル終端情報の複製先である２以上の第２処理装置のいずれか１つとを関連付けた情報である関連付情報を記憶部に記憶するとともに、前記関連付情報に基づいて前記トンネル終端情報を前記第２処理装置に複製し、当該第２処理装置を前記トンネルを通過してきたパケットの転送先に指示する指示情報を前記第３処理装置に送信するトンネル終端制御装置と、前記トンネル終端制御装置によって複製された前記トンネル終端情報を取得し、当該トンネル終端情報に基づいて、前記第３処理装置を経由して前記端末から受信した前記パケットの終端処理を実行する前記第２処理装置と、前記端末から受信した前記パケットのヘッダ情報に基づいて、前記呼制御信号を含むパケットを前記トンネル終端制御装置に転送し、前記トンネル終端制御装置から受信した前記指示情報に基づいて前記トンネルを通過してきたパケットを前記第２処理装置に転送する前記第３処理装置と、によって構成されるトンネル終端システムにおいて用いられる前記トンネル終端制御装置のトンネル終端制御方法であって、前記トンネル終端制御装置が前記呼制御信号を含むパケットを、前記第３処理装置を経由して前記端末との間で送受信し、前記トンネル終端情報を生成し、前記関連付情報を前記記憶部に記憶する呼処理ステップと、前記第２処理装置それぞれから処理負荷の値を取得する負荷監視ステップと、前記第２処理装置から取得した処理負荷の値同士を比較し、最小の処理負荷の値を有する前記第２処理装置を決定する割当ステップと、前記割当ステップによって決定された前記第２処理装置に、前記記憶部の前記トンネル終端情報を複製するトンネル終端情報複製ステップと、当該トンネル終端情報に基づいて終端処理するパケットの前記転送先を、当該トンネル終端情報を複製された前記第２処理装置とすることを示す前記指示情報を前記第３処理装置に送信するフロー制御指示ステップと、を実行することを特徴とする。
【００１６】
このような構成によれば、トンネル終端システムを構成するトンネル終端制御装置は、第２処理装置の処理負荷の値を取得して、最小の処理負荷の値を有する第２処理装置に、終端処理を実行させる制御を行うことができる。すなわち、第２処理装置の負荷分散を図ることができる。したがって、このようなトンネル終端制御装置を備えたトンネル終端システムは、通信を途絶することなしに、トンネル終端システムのスケールアウトを可能にする。
【００１７】
本発明は、前記トンネル終端制御装置は、さらに、前記処理負荷の閾値を記憶している前記記憶部を備え、前記割当部が、前記第２処理装置から取得した処理負荷の値が前記閾値を超えているか否かを判定し、前記処理負荷の値が前記閾値を超えていると判定した場合、前記最小の処理負荷の値を有する前記第２処理装置を変更先として決定し、前記トンネル終端情報複製部は、前記処理負荷の値が前記閾値を超えていると判定された前記第２処理装置が確立しているトンネルの一部について、その一部のトンネルのトンネル終端情報を前記変更先に複製し、前記フロー制御指示部は、複製した当該トンネル終端情報に基づいて終端処理するパケットの転送先を、当該トンネル終端情報を複製した前記第２処理装置とする前記指示情報を前記第３処理装置に送信することを特徴とする。
【００１８】
また、本発明は、前記トンネル終端制御装置は、さらに、前記処理負荷の閾値を記憶している前記記憶部を備え、前記割当ステップでは、前記第２処理装置から取得した処理負荷の値が前記閾値を超えているか否かを判定し、前記処理負荷の値が前記閾値を超えていると判定した場合、前記最小の処理負荷の値を有する前記第２処理装置を変更先として決定し、前記トンネル終端情報複製ステップでは、前記処理負荷の値が前記閾値を超えていると判定された前記第２処理装置が確立しているトンネルの一部について、その一部のトンネルのトンネル終端情報を前記変更先に複製し、前記フロー制御指示ステップでは、複製した当該トンネル終端情報に基づいて終端処理するパケットの転送先を、当該トンネル終端情報を複製した前記第２処理装置とする前記指示情報を前記第３処理装置に送信することを特徴とする。
【００１９】
このような構成によれば、トンネル終端制御装置は、第２処理装置の処理負荷の値を取得して、取得した処理負荷の値が閾値を超えているか否かを判定し、取得した処理負荷の値が閾値を超えている場合には、終端処理の一部を、別の第２処理装置に変更することができる。すなわち、第２処理装置の負荷分散を図ることができる。したがって、このようなトンネル終端制御装置を備えたトンネル終端システムは、通信を途絶することなしに、トンネル終端システムのスケールアウトを可能にする。
【００２０】
また、本発明は、トンネル終端制御方法を、コンピュータである前記トンネル終端制御装置に実行させるためのプログラムとした。このようなプログラムをインストールされたコンピュータは、このプログラムに基づいた機能を実現することができる。
【発明の効果】
【００２１】
本発明によれば、通信を途絶することなしに、トンネル終端装置のスケールアウトを可能にする技術を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態におけるセンタ側トンネル終端システムの構成例を示す図である。
【図２】第２処理装置のスケールアウトを行った場合の構成例を示す図である。
【図３】センタ側トンネル終端システムを構成する各装置の機能例を示す図である。
【図４】本実施形態においてトンネルを確立するシーケンス例を示す図である。
【図５】本実施形態におけるトンネルの収容変更シーケンス例を示す図である。
【図６】従来のＨｕｂ−Ｓｐｏｋｅ型接続を示す図である。
【発明を実施するための形態】
【００２３】
本発明を実施するための形態（以降、「本実施形態」と称す。）について、適宜図面を参照しながら詳細に説明する。なお、本実施形態では、Ｈｕｂ−Ｓｐｏｋｅ型接続の形態を例として、ＩＰｓｅｃにおいてＩＫＥｖ２を用いてトンネルを確立する場合について説明する。
【００２４】
まず、センタ側トンネル終端システム（トンネル終端システム）のスケールアウトを実現するために、センタ側トンネル終端システム（図６に示すセンタ側トンネル終端装置に相当）を以下のような構成とした。その構成例について、図１を用いて説明する。
図１に示すように、アクセスネットワーク３０に接続している端末（トンネル終端装置）２０（２０Ａ，２０Ｂ，２０Ｃ）は、センタ側トンネル終端システム１０との間で呼制御信号を送受してトンネルを確立し、そのトンネルを介して、センタ側ネットワーク３１に向けて主信号（トンネルを通過するデータ）を送信する。ここでは、端末２０のいずれかの中、端末２０Ａがセンタ側トンネル終端システム１０との間でパケットを送受信するケースで説明する。
【００２５】
まず、端末２０Ａは、センタ側トンネル終端システム１０との間で、呼制御信号の交換、すなわち、ＩＫＥ＿ＳＡ＿ＩＮＩＴの交換およびＩＫＥ＿ＡＵＴＨの交換を行って、トンネルを確立する。そして、端末２０Ａは、確立したトンネルを介して、主信号を、センタ側ネットワーク３１に向けて送信する。
この際、センタ側トンネル終端システム１０の処理の中で、最も負荷が集中する処理は、主信号をＥＳＰヘッダでカプセル化またはカプセル化解除を実行する処理、および、パケットのペイロードの暗号化または復号化を実行する処理、すなわち、終端処理と考えられる。そこで、その終端処理を実行する装置のスケールアウト化を図れるようにする。
【００２６】
つまり、センタ側トンネル終端システム１０を、以下の３つの装置で構成する。
１つ目の装置は、第１処理装置１１である。第１処理装置１１は、トンネルを確立するための呼制御信号を含むパケットを、第３処理装置１３を経由して端末２０Ａとの間で送受信し、トンネルを終端する終端処理を実行するために用いるトンネル終端情報を生成する。そして、第１処理装置１１は、トンネル終端情報を記憶部（後記）に記憶し、トンネルの確立、維持、解除を行う。トンネル終端情報とは、ＳＡで決まった共有秘密鍵やＳＰＩ（Security Parameters Index）等である。そして、第１処理装置１１は、生成したトンネル終端情報を、トンネルの収容を指定した第２処理装置１２（後記）に複製する。また、第１処理装置１１は、第３処理装置１３（後記）に対して、トンネルを通過する主信号を、当該第２処理装置１２に転送するように指示する。
【００２７】
２つ目の装置は、第２処理装置１２である。第２処理装置１２は、第１処理装置１１によって複製されたトンネル終端情報を取得し、そのトンネル終端情報に基づいて、第３処理装置１３を経由して受信する主信号に対して終端処理を実行する。そして、第２処理装置１２を増設することで、終端処理の処理能力を増加させることができる。
【００２８】
３つ目の装置は、第３処理装置１３である。第３処理装置１３は、ＩＰヘッダ、プロトコル番号、ＩＰアドレス、ポート番号等を識別して、呼制御信号を第１処理装置１１に転送し、主信号を第２処理装置１２へ転送する。第３処理装置１３は、ＯｐｅｎＦｌｏｗよって転送処理を実行している。ＯｐｅｎＦｌｏｗは、フロー制御の一種であって、ＭＡＣアドレス、ＩＰアドレス、ポート番号等の組み合わせによって決定される一連の通信を「フロー」として定義し、フロー単位での経路制御を実現する。
【００２９】
なお、センタ側トンネル終端システム１０の第１処理装置１１と第２処理装置１２との双方には、同一のＩＰアドレスを設定する。これは、第１処理装置１１によって生成されたトンネル終端情報を、第２処理装置１２に複製して動作できるようにするためである。また、第１処理装置１１と第２処理装置１２との双方に、同一のＩＰアドレスを設定しても、第３処理装置１３によって、パケットの転送先を振り分けているので、ＩＰアドレスの重複にともなうネットワーク上の問題は起きない。ただし、第３処理装置１３は、第１処理装置１１および第２処理装置１２の物理インタフェースのＭＡＣアドレスが異なっているので、パケットの宛先ＭＡＣアドレスを書き替える処理を実行する。
このようにして、センタ側トンネル終端システム１０は、３つの装置で構成される。
【００３０】
次に、最も処理が集中すると考えられる第２処理装置１２のスケールアウトを行った場合の構成について、図２を用いて説明する。なお、図１と同じ場合には、同じ符号を付し、説明を省略する。
図２のセンタ側トンネル終端システム１０ａにおいて、図１と異なる点は、第２処理装置１２（１２Ａ，１２Ｂ）が２台となり、第３処理装置１３，１４がアクセスネットワーク３０側（端末側）およびセンタ側ネットワーク３１側（センタ側）に備えられたことである。この理由は、センタ側ネットワーク３１から見てセンタ側トンネル終端システム１０ａの第１処理装置１１および第２処理装置１２を区別しないためである。また、第１処理装置１１は、第２処理装置１２（１２Ａ，１２Ｂ）のいずれにトンネルを確立するかを決定し、その決定に基づいて、第２処理装置１２（１２Ａ，１２Ｂ）にトンネル終端情報を複製する。また、第１処理装置１１は、トンネル終端情報を複製した第２処理装置１２に当該トンネル終端情報によって終端するトンネルを通過するパケットを転送するための指示情報（以降、フロー制御指示情報とも称す。）を、第３処理装置１３，１４に送信する。
なお、図２では、第２処理装置１２を２台しか記載していないが、２台に限られず、処理負荷の状態に応じて台数を変更しても構わない。
【００３１】
図２に示す構成において、第１処理装置１１は、各第２処理装置１２（１２Ａ，１２Ｂ）から、それぞれの処理負荷（例えば、ＣＰＵ（Central Processing Unit）使用率やインタフェース利用率）の情報を取得する。そして、第１処理装置１１は、取得した処理負荷の値が、予め設定してある閾値を超えているか否かを判定する。例えば、第１処理装置１１は、第２処理装置１２Ａから取得した処理負荷の値が閾値を超えていると判定したものとする。この場合、第１処理装置１１は、第２処理装置１２Ａが確立（収容）しているトンネルの中から、そのトンネル数の内の所定の割合のトンネルを選定し、その選定したトンネルに関するトンネル終端情報を、第２処理装置１２Ｂに複製する。すなわち、第１処理装置１１は、第２処理装置１２Ａから第２処理装置１２Ｂへ、トンネルの収容変更を行う。ただし、第２処理装置１２Ａに収容済みのトンネル数に対して収容変更するトンネル数の割合は、処理負荷の値が大きくなるに応じて、大きくなるようにしても構わない。
なお、第１処理装置１１は、トンネル終端情報とそのトンネル終端情報の複製先の第２処理装置１２とを関連付けて後記するトンネル終端情報ＤＢ１１６に記憶している。そして、第２処理装置１２Ａから第２処理装置１２Ｂへトンネルの収容変更を行った場合には、第２処理装置１２Ａから当該トンネルのトンネル終端情報を削除する。また、前記削除にともなって、第１処理装置１１は、トンネル終端情報とそのトンネル終端情報の複製先の第２処理装置１２との関連付けを解除する。
そして、第１処理装置１１は、トンネルの収容変更に基づいて、第３処理装置１３，１４にフロー制御指示情報を送信して、主信号が第２処理装置１２Ｂを経由するように変更する。
【００３２】
ここで、第１処理装置１１、第２処理装置１２、第３処理装置１３の各機能について、図３を用いて説明する（適宜、図２参照）。
図３に示すように、第１処理装置１１は、呼処理部１１１、負荷監視部１１２、割当部１１３、トンネル終端情報複製部１１４、およびフロー制御指示部１１５を備える。第１処理装置１１は、図示しないＣＰＵおよびメインメモリによって構成される処理部とアプリケーションプログラム等を記憶する記憶部とで構成される。処理部は、記憶部に記憶されているアプリケーションプログラムをメインメモリに展開して、呼処理部１１１、負荷監視部１１２、割当部１１３、トンネル終端情報複製部１１４、およびフロー制御指示部１１５、を具現化する。また、トンネル終端情報ＤＢ１１６および負荷の閾値１１７は、記憶部に記憶される。
【００３３】
呼処理部１１１は、端末２０との間で呼制御信号を送受信し、トンネル終端情報を生成し、記憶部のトンネル終端情報ＤＢ１１６に記憶し、トンネル確立、維持、解除に関する呼処理を実行する。トンネル終端情報ＤＢ１１６は、トンネル終端情報とそのトンネル終端情報の複製先の第２処理装置１２とを関連付けて記憶している。
負荷監視部１１２は、各第２処理装置１２から、周期的または管理者の指示に応じて、処理負荷の状態（処理負荷の値）を取得する。
割当部１１３は、負荷監視部１１２から、各第２処理装置１２の処理負荷の値を取得する。そして、割当部１１３は、第２処理装置から取得した処理負荷の値同士を比較し、最も処理負荷の値の小さい第２処理装置１２にトンネルの収容を割当てる（決定する）。
また、トンネルの収容変更を行う場合には、割当部１１３は、取得した処理負荷の値が負荷の閾値１１７を超えているか否かを判定する。そして、割当部１１３は、処理負荷の値が負荷の閾値１１７を超えていると判定した第２処理装置１２に対して、当該第２処理装置１２が収容しているトンネルの中から、そのトンネル数の内の所定の割合のトンネルを対象として、負荷が最も低い他の第２処理装置１２を変更先として割当てる（決定する）。
【００３４】
トンネル終端情報複製部１１４は、割当部１１３によって変更先として割当てた第２処理装置１２に対して、変更対象となったトンネルのトンネル終端情報を複製する。
フロー制御指示部１１５は、割当てによって収容したトンネルを介して主信号が通過するように、第３処理装置１３に、フロー制御指示情報を送信する。具体的には、フロー制御指示部１１５は、複製したトンネル終端情報に基づいて終端処理するパケットの転送先を、当該トンネル終端情報を複製された第２処理装置とすることを示すフロー制御指示情報（指示情報）を第３処理装置に送信する。
【００３５】
第２処理装置１２は、図示しないＣＰＵおよびメインメモリによって構成される処理部とアプリケーションプログラム等を記憶する記憶部とで構成される。処理部は、記憶部に記憶されているアプリケーションプログラムをメインメモリに展開して、トンネルを終端する終端処理を実行する終端処理部１２１を具現化する。
第２処理装置１２の終端処理部１２１は、第１処理装置１１によって複製されたトンネル終端情報を取得し、そのトンネル終端情報に基づいて、終端処理を実行する。具体的には、主信号にＥＳＰヘッダを追加してカプセル化する処理や、ＥＳＰヘッダを削除してカプセル化解除する処理を実行する。また、第２処理装置１２は、トンネル終端情報に含まれる共有秘密鍵に基づいて、パケットのペイロードに格納されるデータの暗号化および復号化を実行する。
【００３６】
第３処理装置１３は、第１処理装置１１からフロー制御指示情報を受信する。そして、第３処理装置１３のフロー制御部１３１（後記）は、ＩＰヘッダ、プロトコル番号、ＩＰアドレス、ポート番号等（パケットのヘッダ情報）を識別して、呼処理信号を含むパケットを第１処理装置１１に転送し、当該フロー制御指示情報に基づいて、第１処理装置１１によってトンネルの収容を割当てられた第２処理装置１２に主信号を転送する。
具体的には、第３処理装置１３は、パケットを送受信するフロースイッチ（不図示）と、そのフロースイッチを制御する制御部（不図示）とで構成されるフロー制御部１３１を備える。制御部は、図示しないＣＰＵおよびメインメモリによって構成される処理部とアプリケーションプログラム等を記憶する記憶部とで構成される。処理部は、記憶部に記憶されているアプリケーションプログラムをメインメモリに展開して、その機能を具現化する。フロースイッチは、制御部から通知されるフローエントリを保持するフローテーブルを備えている。そのフローエントリには、受信したパケットを識別するためのレイヤ２〜レイヤ４の情報と、この情報に合致するパケットに対する処理が記述されている。そして、フロースイッチは、このフローエントリに基づいて、受信したパケットに対して、指定した物理ポートから送信すること、ＭＡＣアドレスを書替えること、等の処理を実行する。
【００３７】
次に、本実施形態においてトンネルを確立するシーケンス例について、図４を用いて説明する（適宜、図２、図３参照）。図４において、Ｓ１〜Ｓ１１で表した一連のステップは、端末２０Ａと第２処理装置１２Ａとの間でトンネルを確立するシーケンス例を表している。また、Ｓ２１〜Ｓ３１で表した一連のステップは、端末２０Ｂと第２処理装置１２Ｂとの間でトンネルを確立するシーケンス例を表している。
【００３８】
まず、端末２０Ａが、主信号をセンタ側ネットワーク３１へ送信するために、トンネル確立要求を行う（Ｓ１）。具体的には、端末２０Ａは、第３処理装置（端末側）１３のフロー制御部１３１を経由して第１処理装置１１の呼処理部１１１との間で、ＩＫＥ＿ＳＡ＿ＩＮＩＴ要求およびＩＫＥ＿ＳＡ＿ＩＮＩＴ応答を送受信する（Ｓ２，Ｓ３）。次に、端末２０Ａは、第３処理装置（端末側）１３のフロー制御部１３１を経由して第１処理装置１１の呼処理部１１１との間で、ＩＫＥ＿ＡＵＴＨ要求およびＩＫＥ＿ＡＵＴＨ応答を送受信する（Ｓ４，Ｓ５）。そして、端末２０Ａおよび第１処理装置１１の呼処理部１１１は、それぞれトンネル終端情報を生成する（Ｓ６，Ｓ７；終端情報生成）。
【００３９】
第１処理装置１１の負荷監視部１１２は、各第２処理装置１２から処理負荷の状態に関する情報を取得し、割当部１１３が最小の処理負荷となっている第２処理装置１２Ａにトンネルの収容を割当てる（Ｓ８）。次に、第１処理装置１１のトンネル終端情報複製部１１４は、トンネルの収容を割当てた第２処理装置１２Ａに、トンネル終端情報を複製する（Ｓ９）。また、第１処理装置１１のフロー制御指示部１１５は、各第３処理装置１３，１４に、フロー制御指示情報を送信する（Ｓ１０，Ｓ１１；フロー制御指示）。そして、端末２０Ａと第２処理装置１２Ａとの間でトンネルが確立され、主信号をＥＳＰヘッダでカプセル化したパケット（ＥＳＰパケット）が送受信される（Ｓ１２）。
【００４０】
次に、端末２０Ｂが、主信号をセンタ側ネットワーク３１へ送信するために、トンネル確立要求を行う（Ｓ２１）。具体的には、端末２０Ｂは、第３処理装置（端末側）１３のフロー制御部１３１を経由して第１処理装置１１の呼処理部１１１との間で、ＩＫＥ＿ＳＡ＿ＩＮＩＴ要求およびＩＫＥ＿ＳＡ＿ＩＮＩＴ応答を送受信する（Ｓ２２，Ｓ２３）。次に、端末２０Ｂは、第３処理装置（端末側）１３のフロー制御部１３１を経由して第１処理装置１１の呼処理部１１１との間で、ＩＫＥ＿ＡＵＴＨ要求およびＩＫＥ＿ＡＵＴＨ応答を送受信する（Ｓ２４，Ｓ２５）。そして、端末２０Ｂおよび第１処理装置１１の呼処理部１１１は、それぞれトンネル終端情報を生成する（Ｓ２６，Ｓ２７；終端情報生成）。
【００４１】
第１処理装置１１の負荷監視部１１２は、各第２処理装置１２から処理負荷の状態に関する情報を取得し、割当部１１３が最小の処理負荷となっている第２処理装置１２Ｂにトンネルの収容を割当てる（Ｓ２８）。次に、第１処理装置１１のトンネル終端情報複製部１１４は、トンネルの収容を割当てた第２処理装置１２Ｂに、トンネル終端情報を複製する（Ｓ２９）。また、第１処理装置１１のフロー制御指示部１１５は、各第３処理装置１３，１４に、フロー制御指示情報を送信する（Ｓ３０，Ｓ３１；フロー制御指示）。そして、端末２０Ｂと第２処理装置１２Ｂとの間でトンネルが確立され、主信号をＥＳＰヘッダでカプセル化したパケット（ＥＳＰパケット）が送受信される（Ｓ３２）。
【００４２】
図５は、端末２０Ａと第２処理装置１２Ａとの間のトンネルを、端末２０Ａと第２処理装置１２Ｂとの間に収容変更するシーケンス例を表している。
端末２０Ａと第２処理装置１２Ａとの間でトンネルが確立され、主信号（ＥＳＰパケット）が送受信されている（Ｓ４１）。第１処理装置１１の負荷監視部１１２が第２処理装置１２Ａから負荷情報（処理負荷の値）を取得する（Ｓ４２；負荷監視）。次に、第１処理装置１１の割当部１１３は、取得した第２処理装置１２Ａの処理負荷の値と、負荷の閾値１１７とを比較して、処理負荷の値が閾値を超えていると判定したものとする（Ｓ４３；閾値超過検出）。第１処理装置１１の割当部１１３は、第２処理装置１２Ａが収容している端末２０Ａとの間のトンネルを、処理負荷が最小となっている第２処理装置１２Ｂに収容変更することを決定する（Ｓ４４）。
【００４３】
次に、第１処理装置１１のトンネル終端情報複製部１１４は、トンネルの収容を割当てた第２処理装置１２Ｂに、トンネル終端情報を複製する（Ｓ４５）。また、第１処理装置１１のフロー制御指示部１１５は、各第３処理装置１３，１４に、フロー制御指示情報を送信する（Ｓ４６，Ｓ４７；フロー制御指示）。第１処理装置１１の呼処理部１１１は、第２処理装置１２Ａから収容変更に決定されたトンネル終端情報を削除する（Ｓ４８）。そして、端末２０Ａと第２処理装置１２Ｂとの間でトンネルが確立され、主信号をＥＳＰヘッダでカプセル化したパケット（ＥＳＰパケット）が送受信される（Ｓ４９）。
【００４４】
以上、本実施形態で説明したセンタ側トンネル終端システム１０ａは、第１処理装置１１、第２処理装置１２、および第３処理装置１３を備える。第１処理装置１１は、トンネル終端情報を生成する。また、第１処理装置１１は、第２処理装置１２にトンネル終端情報を複製し、第３処理装置１３にフロー制御指示情報を送信する。第２処理装置１２は、第１処理装置１１によって複製されたトンネル終端情報に基づいて、トンネルを確立する。第３処理装置１３は、受信したパケットのヘッダを識別して、呼処理信号を含むパケットを第１処理装置１１に転送し、第１処理装置１１によってトンネルの収容を割当てられた第２処理装置１２に主信号を転送する。従来では、第１処理装置１１と端末２０との間で確立したトンネルのトンネル終端情報は、第１処理装置１１以外の装置、例えば、第２処理装置１２に適用できなかった。しかし、本実施形態では、第２処理装置１２は、第１処理装置１１によって複製されたトンネル終端情報を取得し、当該トンネル終端情報によって終端されるトンネルを通過してきたパケットを第３処理装置１３を介して受信するので、そのトンネルを終端する終端処理を実行することができる。すなわち、センタ側トンネル終端システム１０ａは、トンネルを確立した第１処理装置１１とは別の第２処理装置１２によってトンネルを終端することができる。したがって、第２処理装置１２がＩＰｓｅｃを用いて新たに端末との間にトンネルを確立する必要はない。
このような構成を備えているため、センタ側トンネル終端システム１０ａは、トンネルを新たに確立するために通信を途絶することなしに、第２処理装置１２のスケールアウトを行うことが可能となる。
【００４５】
また、センタ側トンネル終端システム１０ａは、第１処理装置１１によって、動的にトンネルの収容替えを実行できるので、第２処理装置１２を、Ｎ＋ｍ方式（現用Ｎ／予備ｍの方式；例えば、ｍ＜Ｎ）で実現することができる。そのため、センタ側トンネル終端システム１０ａは、センタ側トンネル終端装置を１＋１方式（現用１／予備１の方式）で複数台（例えば、Ｎ台）で構成する場合に比べて、低コストで実現できる。
【００４６】
また、センタ側トンネル終端システム１０ａは、呼制御信号を処理する第１処理装置１１と、主信号を処理する第２処理装置１２および第３処理装置１３とが分離しているので、例えば、確立済みのトンネルの主信号の送受信に影響を与えることなく、第１処理装置１１の機能追加やリブートが可能となる。
【００４７】
また、本実施形態において説明した、第１処理装置１１は、一般的なコンピュータに、前記した各処理のプログラムを実行させることで実現することができる。このプログラムは、通信回線を介して提供することが可能であるし、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）等の記録媒体に書き込んで配布することも可能である。
【符号の説明】
【００４８】
１０，１０ａ  センタ側トンネル終端システム（トンネル終端システム）
１１  第１処理装置（トンネル終端制御装置）
１２  第２処理装置
１３  第３処理装置
２０  端末
３０  アクセスネットワーク
３１  センタ側ネットワーク
１１１  呼処理部
１１２  負荷監視部
１１３  割当部
１１４  トンネル終端情報複製部
１１５  フロー制御指示部
１１６  トンネル終端情報ＤＢ
１１７  負荷の閾値（処理負荷の閾値）
【図１】
0005457972.tif 000002
【図２】
0005457972.tif 000003
【図３】
0005457972.tif 000004
【図４】
0005457972.tif 000005
【図５】
0005457972.tif 000006
【図６】
0005457972.tif 000007