(57)【特許請求の範囲】
【請求項１】
ルータが属するグループの識別子と当該グループに割り当てられた通信種別の識別子とを対応付けて格納する第１データ格納部と、
複数のルータのうち第１のルータから、当該第１のルータが属するグループの識別子を含むパケットを受信した場合に、前記第１データ格納部から、前記第１のルータが属するグループに割り当てられた通信種別を特定する特定部と、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第１のルータに最も近い通信装置に対し、特定された前記通信種別に係るパケットを前記第１のルータにパケットを転送するための仮想回線に出力するように要求する要求部と、
を有する情報処理装置。
【請求項２】
ネットワークにおける障害の発生を検出する検出部
をさらに有し、
前記特定部が、
前記検出部により、前記複数の通信装置のうち第１の通信装置において障害が発生したことが検出された場合に、前記第１データ格納部から、前記複数のルータのうち前記第１の通信装置に最も近いルータが属するグループに割り当てられた通信種別を特定し、
前記要求部が、
前記複数の通信装置のうち前記第１の通信装置とは異なる通信装置のいずれかに対し、特定された前記通信種別に係るパケットを前記第１の通信装置に最も近いルータにパケットを転送するための仮想回線に出力するように要求する
請求項１記載の情報処理装置。
【請求項３】
前記特定部が、
前記検出部により、第１の仮想回線における障害が検出された場合に、前記第１データ格納部から、前記複数のルータのうち前記第１の仮想回線上にある第２のルータが属するグループに割り当てられた通信種別を特定し、
前記要求部が、
前記複数の通信装置のうち前記第２のルータに最も近い通信装置に対し、特定された前記通信種別に係るパケットを前記複数のルータのうち前記第２のルータとは異なるルータにパケットを転送するための仮想回線のいずれかに出力するように要求し且つ前記第２のルータにパケットを転送しないように要求する
請求項２記載の情報処理装置。
【請求項４】
前記第１のルータから受信したパケットは、前記第１のルータの識別子をさらに含み、
グループの識別子と当該グループに属するルータのうちパケットを転送するルータの識別子とを対応付けて格納する第２データ格納部と、
前記第１のルータからパケットを受信した場合に、当該第１のルータが属するグループの識別子と前記第１のルータの識別子とで、前記第２データ格納部に格納されたデータを更新する更新部と、
をさらに有する、
請求項１乃至３のいずれか１つ記載の情報処理装置。
【請求項５】
パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第１データ格納部と、
通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第２データ格納部と、
受信したパケットに含まれる宛先アドレスが前記第１データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第１データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる指示部と、
を有する通信装置。
【請求項６】
前記指示部が、
受信した前記パケットに含まれる宛先アドレスが前記第１データ格納部に格納されていないと判断した場合に、前記パケットを受信したポートに仮想回線の設定がされているか判断し、
前記パケットを受信したポートに仮想回線の設定がされていると判断した場合に、前記パケットのフラッディングを実行し、
前記パケットに含まれる宛先アドレスが前記第１データ格納部に格納されておらず且つ前記パケットを受信したポートに仮想回線の設定がされていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されているか判断する
請求項５記載の通信装置。
【請求項７】
前記指示部が、
受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されていないと判断した場合に、受信した前記パケットを廃棄する
請求項５又は６記載の通信装置。
【請求項８】
前記指示部は、
通信種別の識別子と仮想回線の識別子とを含む設定要求を、前記通信装置の通信を管理する情報処理装置から受信した場合に、受信した前記仮想回線の識別子を、前記通信種別の識別子に対応付けて前記第２データ格納部に格納する
請求項５乃至７のいずれか１つ記載の通信装置。
【請求項９】
前記指示部は、
仮想回線の識別子を含む削除要求を、前記通信装置の通信を管理する情報処理装置から受信した場合に、受信した前記仮想回線の識別子を含むエントリを前記第１データ格納部から削除する
請求項５乃至８のいずれか１つ記載の通信装置。
【請求項１０】
複数のルータのうち第１のルータから、当該第１のルータが属するグループの識別子を含むパケットを受信した場合に、ルータが属するグループの識別子と当該グループに割り当てられた通信種別の識別子とを対応付けて格納する第１データ格納部から、前記第１のルータが属するグループに割り当てられた通信種別を特定し、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第１のルータに最も近い通信装置に対し、特定された前記通信種別に係るパケットを前記第１のルータにパケットを転送するための仮想回線に出力するように要求する
処理を、コンピュータが実行する情報処理方法。
【請求項１１】
複数のルータのうち第１のルータから、当該第１のルータが属するグループの識別子を含むパケットを受信した場合に、ルータが属するグループの識別子と当該グループに割り当てられた通信種別の識別子とを対応付けて格納する第１データ格納部から、前記第１のルータが属するグループに割り当てられた通信種別を特定し、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第１のルータに最も近い通信装置に対し、特定された前記通信種別に係るパケットを前記第１のルータにパケットを転送するための仮想回線に出力するように要求する
処理を、コンピュータに実行させるための情報処理プログラム。
【請求項１２】
受信したパケットに含まれる宛先アドレスが、パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第１データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第１データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が、通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第２データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる
処理を、プロセッサが実行する中継処理方法。
【請求項１３】
受信したパケットに含まれる宛先アドレスが、パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第１データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第１データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が、通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第２データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる
処理を、プロセッサに実行させるための中継処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、冗長化の制御技術に関する。
【背景技術】
【０００２】
クラウドサービスにおいて構築された仮想マシンは、ライブマイグレーション（Live Migration）によってその配置が変更されることがある。ライブマイグレーションによって、変更前とは異なるルータの配下に仮想マシンが移動するような事態が生じる場合、仮想マシン間の通信には、パケットをカプセル化するトンネリング技術（例えば、Ｌ２ＴＰｖ３（Layer 2 Tunneling Protocol Version 3）及びＧＲＥ（Generic Routing Encapsulation））が利用される。具体的な例を図１に示す。図１の例では、仮想マシン２がライブマイグレーションによって異なるルータの配下に移動している。そして、ルータ配下にレイヤ２の中継装置（図１におけるゲートウェイ）が配置されており、このゲートウェイがトンネリングを行う。これによって、ゲートウェイ間にトンネルが設けられるので、仮想マシン１と仮想マシン２との通信が実現する。
【０００３】
ところで、クラウドサービスでは、サービスの可用性を高めるために装置を冗長化することがある。まず、ルータの冗長化を制御する方法として、レイヤ３装置に適用可能なＶＲＲＰ（Virtual Router Redundancy Protocol）が知られている。ＶＲＲＰにおいては、ＡＣＴ（Active：稼働）又はＳＴＢＹ（Standby：待機）をルータに割り当てることによって冗長化を制御しており、ＡＣＴであるルータはパケットの転送を行うが、ＳＴＢＹであるルータはパケットの転送を行わずに待機する。但し、ＶＲＲＰにおいては複数のＶＲＲＰグループを用意することが可能であるため、ＶＲＲＰグループ毎にＡＣＴのルータを設定することができる。例えば、ＶＲＲＰグループ１ではルータ１をＡＣＴに設定し、その他のルータをＳＴＢＹに設定し、ＶＲＲＰグループ２ではルータ２をＡＣＴに設定し、その他のルータをＳＴＢＹに設定する、といったような設定が可能である。そのため、複数のルータを効率的に使い分けることができる。
【０００４】
これに対し、上で述べたようなゲートウェイ（すなわち、トンネリングを行うレイヤ２の中継装置）の冗長化を制御する方法として、レイヤ２装置に適用可能なＥＳＲＰ（Extreme Standby Router Protocol）が知られている。ＥＳＲＰにおいても、ＡＣＴ又はＳＴＢＹをゲートウェイに割り当てることによって冗長化を制御しているが、ＶＲＲＰのように複数のグループを用いた制御を行うことができない。具体的には、例えばゲートウェイ１をＡＣＴに設定した場合には、ゲートウェイ１はパケットの転送を行うことができるが、ゲートウェイ１以外のゲートウェイはＳＴＢＹになり、パケットの転送を行うことができない。
【０００５】
そのため、クラウドサービスにおいてレイヤ２装置を冗長化した場合には、一部のレイヤ２装置について設定したトンネルしか利用することができず、パケットを転送する経路が限られてしまうという問題がある。また、一部のレイヤ２装置に負荷が集中するという問題もある。
【０００６】
従来、冗長化及びトンネリングに関して、以下のような技術が存在する。具体的には、トンネリング技術を用いて、複数のＬＡＮ（Local Area Network）をＩＰネットワークを介して１つのＶＰＮ（Virtual Private Network）に統合する。そして、各トンネルの両端に接続先ＬＡＮに対応する仮想ＩＰアドレスを付与し、また各トンネルの両端に一群の複数ルータを対応させることにより、冗長化を制御する。しかし、この技術では、上で述べたような、レイヤ２装置の冗長化を制御する方法の問題点については考慮されていない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１１８５７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、本技術の目的は、一側面においては、通信装置を冗長化する場合においてパケットを効率的に転送するための技術を提供することである。
【課題を解決するための手段】
【０００９】
本技術の一側面に係る情報処理装置は、（Ａ）複数のルータのうち第１のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第１データを用いて、第１のルータに割り当てられた通信種別を特定する特定部と、（Ｂ）複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ複数のルータの配下にある複数の通信装置のうち、第１のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを第１のルータにパケットを転送するための仮想回線に出力するように要求する要求部とを有する。
【００１０】
本技術の一側面に係る通信装置は、（Ｃ）パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第１データ格納部と、（Ｄ）通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第２データ格納部と、（Ｅ）受信したパケットに含まれる宛先アドレスが第１データ格納部に格納されているか判断し、受信したパケットに含まれる宛先アドレスが第１データ格納部に格納されていないと判断した場合に、受信したパケットの通信種別に対応するポートの識別子が第２データ格納部に格納されているか判断し、受信したパケットの通信種別に対応するポートの識別子が第２データ格納部に格納されていると判断した場合に、受信したパケットの通信種別に対応するポートに、受信したパケットを出力させる指示部とを有する。
【発明の効果】
【００１１】
通信装置を冗長化する場合においてパケットを効率的に転送することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、ライブマイグレーションについて説明するための図である。
【図２】図２は、本実施の形態に係るシステム概要図である。
【図３】図３は、トンネルの設定について説明するための図である。
【図４】図４は、管理サーバの機能ブロック図である。
【図５】図５は、ゲートウェイの機能ブロック図である。
【図６】図６は、ゲートウェイ管理テーブルの一例を示す図である。
【図７】図７は、ゲートウェイ管理テーブルの一例を示す図である。
【図８】図８は、割り当てテーブルの一例を示す図である。
【図９】図９は、割り当てテーブルの一例を示す図である。
【図１０】図１０は、管理サーバがａｄｖｅｒｔｉｓｅパケットを受信した際に行う処理の処理フローを示す図である。
【図１１】図１１は、ＶＲＲＰ管理テーブルの一例を示す図である。
【図１２】図１２は、ＶＲＲＰ管理テーブルの一例を示す図である。
【図１３】図１３は、ＶＲＲＰ管理テーブルの一例を示す図である。
【図１４】図１４は、ゲートウェイが設定要求を受信した際に行う処理の処理フローを示す図である。
【図１５】図１５は、フロー管理テーブルの一例を示す図である。
【図１６】図１６は、フロー管理テーブルの一例を示す図である。
【図１７】図１７は、ゲートウェイとルータとの間のパケットの転送経路について説明するための図である。
【図１８】図１８は、ゲートウェイが行うパケットの中継処理の処理フローを示す図である。
【図１９】図１９は、仮想マシン間の通信について説明するための図である。
【図２０】図２０は、ＦＤＢに格納されているデータの一例を示す図である。
【図２１】図２１は、ＦＤＢに格納されているデータの一例を示す図である。
【図２２】図２２は、ＦＤＢに格納されているデータの一例を示す図である。
【図２３】図２３は、ＦＤＢに格納されているデータの一例を示す図である。
【図２４】図２４は、仮想マシン間の通信について説明するための図である。
【図２５】図２５は、ＦＤＢに格納されているデータの一例を示す図である。
【図２６】図２６は、ＦＤＢに格納されているデータの一例を示す図である。
【図２７】図２７は、ゲートウェイの障害を検出した場合に行われる処理の処理フローを示す図である。
【図２８】図２８は、フロー管理テーブルの一例を示す図である。
【図２９】図２９は、トンネルの障害を検出した場合に行われる処理の処理フローを示す図である。
【図３０】図３０は、フロー管理テーブルの一例を示す図である。
【図３１】図３１は、ゲートウェイが削除要求を受信した際に行う処理の処理フローを示す図である。
【図３２】図３２は、ＦＤＢに格納されているデータの一例を示す図である。
【図３３】図３３は、ゲートウェイ及びトンネルに障害が発生した際のパケットの経路について説明するための図である。
【図３４】図３４は、ルータに障害が発生した際のトンネルの設定について説明するための図である。
【図３５】図３５は、ルータに障害が発生した際のトンネルの設定について説明するための図である。
【図３６】図３６は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１３】
図２に、本実施の形態に係るシステム概要図を示す。例えばインターネットなどのネットワーク１には、ルータ１１乃至１４が接続されている。ここで、ルータ１１及び１２は第１のＶＲＲＰによって冗長化を制御されており、第１のＶＲＲＰには、ＶＲＲＰグループ１及び２が設定されている。ルータ１３及び１４は第２のＶＲＲＰによって冗長化を制御されており、第２のＶＲＲＰには、ＶＲＲＰグループ３及び４が設定されている。また、ルータ１１のＩＰアドレスは１．１．１．１／２４であり、ルータ１２のＩＰアドレスは１．１．１．２／２４であり、ルータ１３のＩＰアドレスは２．２．２．１／２４であり、ルータ１４のＩＰアドレスは２．２．２．２／２４であるとする。
【００１４】
ルータ１１にはスイッチ２１が接続されており、ルータ１２にはスイッチ２２が接続されており、ルータ１３にはスイッチ２３が接続されており、ルータ１４にはスイッチ２４が接続されている。なお、スイッチ２１乃至２４は、例えばレイヤ２のスイッチである。
【００１５】
スイッチ２１には、例えばＬＡＮであるネットワーク３に接続されたゲートウェイ３１と、ゲートウェイ３１及び３２の通信を管理する管理サーバ５１と、スイッチ２２とが接続されている。スイッチ２２には、ネットワーク３に接続されたゲートウェイ３２が接続されている。スイッチ２３には、例えばＬＡＮであるネットワーク５に接続されたゲートウェイ３３と、スイッチ２４とが接続されている。スイッチ２４には、ネットワーク５に接続されたゲートウェイ３４と、ゲートウェイ３３及び３４の通信を管理する管理サーバ５２とが接続されている。
【００１６】
ゲートウェイ３１乃至３４は通信装置（例えばレイヤ２の中継装置）であり、トンネリングの機能を有している。すなわち、ゲートウェイ３１乃至３４は、仮想回線（以下、トンネルと呼ぶ）を設定し、トンネルを介して他の装置と通信を行う機能を有している。ゲートウェイ３１には、スイッチ２５及びスイッチ２６が接続されている。ゲートウェイ３２には、スイッチ２５及びスイッチ２６が接続されている。ゲートウェイ３３には、スイッチ２７及びスイッチ２８が接続されている。ゲートウェイ３４には、スイッチ２７及びスイッチ２８が接続されている。なお、スイッチ２５乃至２８は、例えばレイヤ２のスイッチである。
【００１７】
スイッチ２５には、仮想マシン４１が接続されている。スイッチ２６には、仮想マシン４２が接続されている。スイッチ２７には、仮想マシン４３が接続されている。スイッチ２８には、仮想マシン４４が接続されている。仮想マシン４１のＭＡＣアドレスはＡであり、仮想マシン４２のＭＡＣアドレスはＢであり、仮想マシン４３のＭＡＣアドレスはＣであり、仮想マシン４４のＭＡＣアドレスはＤであるとする。
【００１８】
本実施の形態では、図２に示したシステムに対して、図３に示すようにトンネルの設定がなされる。図３においては、ゲートウェイ３１とゲートウェイ３３との間に設定され、スイッチ２１、ルータ１１、ルータ１３及びスイッチ２３を経由するトンネル６１と、ゲートウェイ３２とゲートウェイ３３との間に設定され、スイッチ２２、スイッチ２１、ルータ１１、ルータ１４、スイッチ２４及びスイッチ２３を経由するトンネル６２と、ゲートウェイ３１とゲートウェイ３４との間に設定され、スイッチ２１、スイッチ２２、ルータ１２、ルータ１３、スイッチ２３及びスイッチ２４を経由するトンネル６３と、ゲートウェイ３２とゲートウェイ３４との間に設定され、スイッチ２２、ルータ１２、ルータ１４及びスイッチ２４を経由するトンネル６４とが設定されている。
【００１９】
図４に、管理サーバ５１及び５２の機能ブロック図を示す。図４の例では、管理サーバ５１及び５２は、割り当てデータ格納部５０１と、ゲートウェイデータ格納部５０３と、ＶＲＲＰデータ格納部５０５と、障害検出部５０７と、特定部５１１及び要求部５１３を含むゲートウェイ制御部５０９と、ＶＲＲＰ状態管理部５１５と、送受信部５１７とを含む。
【００２０】
送受信部５１７は、ＶＲＲＰにおいてＡＣＴであるルータ（以下、マスタルータと呼ぶ）からａｄｖｅｒｔｉｓｅパケットを受信したり、他の装置等に関する状態を示すパケット（例えばｓｙｓｌｏｇパケット）を受信する。また、送受信部５１７は、フロー管理テーブルの設定を要求する設定要求等をゲートウェイに送信する。障害検出部５０７は、ｓｙｓｌｏｇパケットに基づき、ゲートウェイ及びトンネルにおいて障害が発生したことを検出する。特定部５１１は、割り当てデータ格納部５０１、ゲートウェイデータ格納部５０３及びＶＲＲＰデータ格納部５０５に格納されているデータを用いて、ルータが担当する通信の種別（以下では、フローと呼ぶ）を特定する処理等を行う。要求部５１３は、割り当てデータ格納部５０１、ゲートウェイデータ格納部５０３及びＶＲＲＰデータ格納部５０５に格納されているデータを用いて、ゲートウェイにフロー管理テーブルの設定を要求するための処理等を行う。ＶＲＲＰ状態管理部５１５は、マスタルータから受信したａｄｖｅｒｔｉｓｅパケットに基づき、ＶＲＲＰデータ格納部５０５に格納されているデータを更新する。
【００２１】
図５に、ゲートウェイ３１乃至３４の機能ブロック図を示す。図５の例では、ＦＤＢ（Forwarding DataBase）３０１と、管理データ格納部３０３と、ＦＤＢ管理部３０７、フロー管理部３０９及び送受信管理部３１１を含む管理部３０５とを含む。
【００２２】
送受信管理部３１１は、受信したパケットをＦＤＢ管理部３０７及びフロー管理部３０９に出力したり、ＦＤＢ管理部３０７及びフロー管理部３０９の処理結果に基づいてパケットを送信させる処理等を行う。ＦＤＢ管理部３０７は、ＦＤＢ３０１に格納されているデータに基づき処理を行い、処理結果を送受信管理部３１１に出力する。フロー管理部３０９は、管理データ格納部３０３に格納されているデータに基づき処理を行い、処理結果を送受信管理部３１１に出力する。
【００２３】
図６に、管理サーバ５１のゲートウェイデータ格納部５０３に格納されているゲートウェイ管理テーブルの一例を示す。図６の例では、ゲートウェイの識別子と、最も近いルータの識別子と、トンネルの識別子と、ＶＲＲＰグループの識別子とが格納されている。例えば１行目のデータは、ゲートウェイ３１に最も近いルータの識別子が「１．１．１．１」であり、ゲートウェイ３１に設定されているトンネルはトンネル６１及び６３であり、トンネル６１はＶＲＲＰグループ１に割り当てられており、トンネル６３はＶＲＲＰグループ２に割り当てられていることを示している。なお、最も近いルータとは、ゲートウェイから最短経路で到達可能な（例えば、ホップ数が最も少ない）ルータである。
【００２４】
図７に、管理サーバ５２のゲートウェイデータ格納部５０３に格納されているゲートウェイ管理テーブルの一例を示す。データのフォーマットは、図６に示したデータのフォーマットと同じである。
【００２５】
図８に、管理サーバ５１の割り当てデータ格納部５０１に格納されている割り当てテーブルの一例を示す。図８の例では、フローの識別子と、ＶＲＲＰグループの識別子とが格納されるようになっている。本実施の形態では、フローの識別子は、パケットの送信元アドレス及び宛先アドレスを用いて計算されたハッシュ値である。
【００２６】
図９に、管理サーバ５２の割り当てデータ格納部５０１に格納されている割り当てテーブルの一例を示す。データのフォーマットは、図８に示したデータのフォーマットと同じである。
【００２７】
なお、ゲートウェイ管理テーブル及び割り当てテーブルは、管理者等によって予め設定される。
【００２８】
次に、図１０乃至図３５を用いて、図２に示したシステムにおいて行われる処理について説明する。はじめに、管理サーバがａｄｖｅｒｔｉｓｅパケットを受信した際に行う処理について説明する。
【００２９】
まず、管理サーバ（ここでは、管理サーバ５１とする）における送受信部５１７は、ＶＲＲＰグループの識別子を含むａｄｖｅｒｔｉｓｅパケットをルータ１１から受信し、一旦メインメモリ等の記憶装置に格納する（図１０：ステップＳ１）。ここでは、ＶＲＲＰグループの識別子「１」を含むａｄｖｅｒｔｉｓｅパケットを受信したとする。ＶＲＲＰにおいては、ａｄｖｅｒｔｉｓｅパケットを送信するのはマスタルータであるため、ＶＲＲＰグループ１においてはルータ１１がマスタルータである。
【００３０】
そして、ＶＲＲＰ状態管理部５１５は、ステップＳ１において受信したパケットに含まれるＶＲＲＰグループの識別子とルータ１１のＩＰアドレスとで、ＶＲＲＰデータ格納部５０５に格納されているＶＲＲＰ管理テーブルを更新する（ステップＳ３）。
【００３１】
図１１に、ステップＳ３が実行された段階におけるＶＲＲＰ管理テーブルの状態の一例を示す。図１１の例では、ＶＲＲＰグループの識別子と、マスタルータの識別子（図１１の例ではＩＰアドレス）とが格納されている。ＶＲＲＰグループ２については、未だ初期設定が行われていないため、マスタルータの識別子が登録されていない。
【００３２】
そして、ゲートウェイ制御部５０９における要求部５１３は、本処理が初期設定の処理であるか判断する（ステップＳ５）。ＶＲＲＰ管理テーブルにマスタルータの識別子が登録されていない段階でステップＳ３の処理を行った場合には、初期設定の処理であると判断される。
【００３３】
初期設定の処理ではないと判断された場合（ステップＳ５：Ｎｏルート）、ゲートウェイにおけるフロー管理テーブルを更新しなくてもよいので、処理を終了する。
【００３４】
一方、初期設定の処理であると判断された場合（ステップＳ５：Ｙｅｓルート）、要求部５１３は、ゲートウェイデータ格納部５０３に格納されているゲートウェイ管理テーブルから、ＶＲＲＰグループ１のマスタルータであるルータ１１に最も近いゲートウェイ３１を特定する（ステップＳ７）。なお、本実施の形態では、図２に示したようにルータ及びゲートウェイが配置されているため、マスタルータを最も近いルータとするゲートウェイを特定すれば、マスタルータに最も近いゲートウェイを特定することができる。
【００３５】
そして、要求部５１３は、ステップＳ７において特定されたゲートウェイ（ここでは、ゲートウェイ３１）について、ルータ１１がマスタルータとなっているＶＲＲＰグループ（ここでは、ＶＲＲＰグループ１）に対応するトンネルを特定する（ステップＳ９）。ステップＳ９においては、ゲートウェイ管理テーブルにおけるトンネルの列及びＶＲＲＰグループの列のデータを用いて特定する。ステップＳ９の処理の結果、トンネル６１が特定される。
【００３６】
そして、特定部５１１は、割り当てデータ格納部５０１に格納されている割り当てテーブルから、マスタルータのＶＲＲＰグループに対応するフロー（ここでは、フロー１）を特定する（ステップＳ１１）。
【００３７】
そして、要求部５１３は、ステップＳ９において特定されたトンネルの識別子とステップＳ１１において特定されたフローの識別子とを含む、フロー管理テーブルの設定要求を生成する。そして、送受信部５１７は、生成された設定要求を、ステップＳ７において特定されたゲートウェイに送信する（ステップＳ１３）。そして処理を終了する。
【００３８】
以上のような処理によって、ルータ１１乃至１４のいずれについても初期設定が完了すると、ＶＲＲＰ管理テーブルは、図１２及び図１３に示すような状態になる。図１２は、管理サーバ５１のＶＲＲＰ管理テーブルを示す図であり、図１３は、管理サーバ５２のＶＲＲＰ管理テーブルを示す図である。図１２及び図１３が示すように、ルータ１１乃至１４はいずれかのＶＲＲＰグループのマスタルータとなるように設定される。
【００３９】
一方、ステップＳ１３の処理の後、ゲートウェイ３１は、図１４に示すような処理を実行する。まず、ゲートウェイ３１における送受信管理部３１１は、管理サーバ５１から特定のポートを介して設定要求を受信すると（図１４：ステップＳ２１）、設定要求をフロー管理部３０９に出力する。そして、フロー管理部３０９は、設定要求に含まれるトンネルの識別子とフローの識別子とを、管理データ格納部３０３に格納されているフロー管理テーブルに登録する（ステップＳ２３）。そして処理を終了する。
【００４０】
このような処理を実施することにより、管理サーバからの要求に沿うように、ゲートウェイにおけるフロー管理テーブルが設定されるようになる。
【００４１】
そして、ゲートウェイ３１乃至３４のいずれについても初期設定が完了すると、フロー管理テーブルは、図１５及び１６に示すような状態になる。図１５は、ゲートウェイ３１及び３３のフロー管理テーブルを示す図であり、図１６は、ゲートウェイ３２及び３４のフロー管理テーブルを示す図である。このように、フロー管理テーブルは、最も近いルータが担当するフローに係るパケットを当該ルータまでの最短経路を辿るトンネルから出力するように設定される。
【００４２】
このように本実施の形態では、図１７に示すように、ルータの配下にあるゲートウェイは、いずれのルータに対してもトンネルを利用してパケットを転送できるが、初期設定を終えた段階では、最も近いルータにパケットを転送するためのトンネルを利用する。すなわち、ルータのフロー担当状況に合わせて、最短経路で効率的にパケットを転送可能なトンネルから出力するように制御される。
【００４３】
また、ＥＳＲＰ等を用いて冗長化を制御する場合と比べると、複数のレイヤ２装置を適宜使い分けることができるので、特定のレイヤ２装置に負荷が集中することを防止し、負荷分散を実現することができる。
【００４４】
次に、上で述べたような初期設定が完了したシステムにおけるパケットの転送処理について、図１８乃至図２７を用いて説明する。まず、図１８を用いて、ゲートウェイが実施するパケットの中継処理について説明する。
【００４５】
まず、パケットを受信すると、送受信管理部３１１は、受信したパケットをＦＤＢ管理部３０７及びフロー管理部３０９に出力する。そして、ＦＤＢ管理部３０７は、受信したパケットの送信元アドレスと当該パケットを受信したポートの識別子（又はトンネルの識別子）とを対応付けてＦＤＢ３０１に登録する（図１８：ステップＳ３１）。
【００４６】
そして、ＦＤＢ管理部３０７は、受信したパケットの宛先アドレスがＦＤＢ３０１に登録されているか判断する（ステップＳ３３）。受信したパケットの宛先アドレスがＦＤＢ３０１に登録されていると判断された場合には（ステップＳ３３：Ｙｅｓルート）、送受信管理部３１１は、宛先アドレスに対応付けて登録されている出力先に、受信したパケットを送信させる（ステップＳ３５）。すなわち、ユニキャストを行う。そして処理を終了する。
【００４７】
一方、宛先アドレスがＦＤＢ３０１に登録されてないと判断された場合（ステップＳ３３：Ｎｏルート）、送受信管理部３１１は、パケットを受信したポートにトンネルの設定がされているか判断する（ステップＳ３７）。トンネルの設定がされていると判断された場合（ステップＳ３７：Ｙｅｓルート）、送受信管理部３１１は、受信したパケットについてフラッディングを実行する（ステップＳ３９）。すなわち、パケットを受信したポート以外のポートに、受信したパケットを送信させる。そして処理を終了する。
【００４８】
一方、パケットを受信したポートにトンネルの設定がされていないと判断された場合（ステップＳ３７：Ｎｏルート）、フロー管理部３０９は、受信したパケットの送信元アドレス及び宛先アドレスを用いてハッシュ値（すなわち、フロー識別子）を算出する。そして、フロー管理部３０９は、算出したフロー識別子に対応する出力先の識別子がフロー管理テーブルに登録されているか判断する（ステップＳ４１）。
【００４９】
算出したフロー識別子に対応する出力先の識別子がフロー管理テーブルに登録されていないと判断された場合（ステップＳ４１：Ｎｏルート）、出力先が不明であるので、フロー管理部３０９は、受信したパケットを廃棄する（ステップＳ４３）。そして処理を終了する。
【００５０】
一方、算出したフロー識別子に対応する出力先の識別子がフロー管理テーブルに登録されていると判断された場合（ステップＳ４１：Ｙｅｓルート）、送受信管理部３１１は、算出したフロー識別子に対応付けて登録されている出力先に、受信したパケットを送信させる（ステップＳ４５）。すなわち、ユニキャストを行う。そして処理を終了する。
【００５１】
以上のような処理を実施することにより、受信したパケットのフローに応じて、適切なトンネルにパケットを出力することができるようになる。
【００５２】
次に、実際に送信元の仮想マシンから宛先の仮想マシンにパケットが到達するまでに、パケットの経路上に存在する装置が行う処理について具体的に説明する。
【００５３】
まず、図１９乃至図２３を用いて、仮想マシン４１が仮想マシン４３にパケットを送信する場合について説明する。
【００５４】
図１９において、仮想マシン４１が送信したパケットを、スイッチ２５が受信する。なお、パケットについて算出されるハッシュ値は１であるとする。
【００５５】
スイッチ２５は、スイッチ２５が保持するＦＤＢに宛先ＭＡＣアドレス（ここでは、ＭＡＣアドレスＣ）が登録されていないので、フラッディングを実行する。フラッディングによって、ゲートウェイ３１及び３２がパケットを受信する。また、スイッチ２５は、送信元ＭＡＣアドレス（ここでは、ＭＡＣアドレスＡ）と受信ポートの識別子とを対応付けてＦＤＢに登録する。
【００５６】
ゲートウェイ３１は、ゲートウェイ３１が保持するＦＤＢ３０１に宛先ＭＡＣアドレスが登録されていないので、フロー管理テーブルを検索する。フロー管理テーブルが図１５の状態である場合、パケットの出力先はトンネル６１であるので、トンネル６１からパケットが出力される。また、ゲートウェイ３１は、送信元ＭＡＣアドレスと受信ポートの識別子（ここでは、ポートＰ１）とを対応付けてＦＤＢ３０１に登録する。ここまでの処理によって、ゲートウェイ３１のＦＤＢ３０１には、例えば図２０に示すようなデータが登録される。
【００５７】
ゲートウェイ３２は、ゲートウェイ３２が保持するＦＤＢ３０１に宛先ＭＡＣアドレスが登録されていないので、フロー管理テーブルを検索する。フロー管理テーブルが図１６の状態である場合、パケットの出力先は不明であるので、パケットを廃棄する。また、ゲートウェイ３２は、送信元ＭＡＣアドレスと受信ポートの識別子（ここでは、ポートＰ２）とを対応付けてＦＤＢ３０１に登録する。ここまでの処理によって、ゲートウェイ３２のＦＤＢ３０１には、例えば図２１に示すようなデータが登録される。
【００５８】
ゲートウェイ３１が送信したパケットは、ゲートウェイ３３に到着する。ゲートウェイ３３が保持するＦＤＢ３０１には、パケットの宛先ＭＡＣアドレスが登録されていない。但し、パケットをトンネル６１から受信しているので、フラッディングを実行する。フラッディングによって、スイッチ２７及びスイッチ２８がパケットを受信する。また、ゲートウェイ３３は、送信元ＭＡＣアドレスとトンネルの識別子（ここでは、トンネル６１）とを対応付けてＦＤＢ３０１に登録する。ここまでの処理によって、ゲートウェイ３３のＦＤＢ３０１には、例えば図２２に示すようなデータが登録される。
【００５９】
スイッチ２７は、スイッチ２７が保持するＦＤＢに宛先ＭＡＣアドレスが登録されていないので、フラッディングを実行する。フラッディングによって、ゲートウェイ３４及び仮想マシン４３がパケットを受信する。このようにして、仮想マシン４１が送信したパケットを仮想マシン４３が受信する。また、スイッチ２７は、送信元ＭＡＣアドレスと受信ポートの識別子とを対応付けてＦＤＢに登録する。
【００６０】
スイッチ２８は、スイッチ２８が保持するＦＤＢに宛先ＭＡＣアドレスが登録されていないので、フラッディングを実行する。フラッディングによって、ゲートウェイ３４及び仮想マシン４４がパケットを受信する。また、スイッチ２８は、送信元ＭＡＣアドレスと受信ポートの識別子とを対応付けてＦＤＢに登録する。
【００６１】
ゲートウェイ３４は、スイッチ２７及び２８からパケットを受信する。ゲートウェイ３４は、ゲートウェイ３４が保持するＦＤＢ３０１に宛先ＭＡＣアドレスが登録されていないので、フロー管理テーブルを検索する。フロー管理テーブルが図１６の状態である場合、パケットの出力先は不明であるので、パケットを廃棄する。また、ゲートウェイ３４は、送信元ＭＡＣアドレスと受信ポートの識別子（ここでは、ポートＰ３）とを対応付けてＦＤＢ３０１に登録する。ここでは、スイッチ２７及び２８から受信したパケットのうち、後に受信したパケットの受信ポートの識別子が登録される。ここまでの処理によって、ゲートウェイ３４のＦＤＢ３０１には、例えば図２３に示すようなデータが登録される。
【００６２】
一方、仮想マシン４１からパケットを受信した仮想マシン４３が仮想マシン４１にパケットを返信する場合について、図２４乃至図２６を用いて説明する。
【００６３】
図２４において、仮想マシン４３が送信したパケットを、スイッチ２７が受信する。スイッチ２７は、スイッチ２７が保持するＦＤＢに宛先ＭＡＣアドレス（ここでは、ＭＡＣアドレスＡ）が登録されているので、宛先ＭＡＣアドレスに対応するポートからパケットを出力する。出力されたパケットは、ゲートウェイ３３が受信する。
【００６４】
ゲートウェイ３３は、ゲートウェイ３３が保持するＦＤＢ３０１に宛先ＭＡＣアドレスが登録されているので、宛先ＭＡＣアドレスに対応するトンネル（ここでは、トンネル６１）からパケットを出力する。また、ゲートウェイ３３は、送信元ＭＡＣアドレス（ここでは、ＭＡＣアドレスＣ）と受信ポートの識別子（ここでは、ポートＰ４）とを対応付けてＦＤＢ３０１に登録する。ここまでの処理によって、ゲートウェイ３３のＦＤＢ３０１には、例えば図２５に示すようなデータが登録される。
【００６５】
ゲートウェイ３３が送信したパケットは、ゲートウェイ３１に到着する。ゲートウェイ３１は、ゲートウェイ３１が保持するＦＤＢ３０１に宛先ＭＡＣアドレスが登録されているため、宛先ＭＡＣアドレスに対応するポート（ここでは、ポートＰ１）からパケットを出力する。また、ゲートウェイ３１は、送信元ＭＡＣアドレスとトンネルの識別子（ここでは、トンネル６１）とを対応付けてＦＤＢ３０１に登録する。ここまでの処理によって、ゲートウェイ３１のＦＤＢ３０１には、例えば図２６に示すようなデータが登録される。ゲートウェイ３１が送信したパケットは、スイッチ２５が受信する。
【００６６】
スイッチ２５は、受信したパケットの宛先アドレスがＦＤＢに登録されているので、宛先アドレスに対応するポートからパケットを出力する。これによって、パケットは仮想マシン４１に到達する。
【００６７】
以上のように、本実施の形態に係る方法であれば、異なるルータの配下にある仮想マシン間の通信を適切に行うことができるようになる。
【００６８】
次に、図２７乃至図３５を用いて、ネットワークにおいて障害が発生した際の処理について説明する。まず、ゲートウェイ３１において障害が発生した場合に、管理サーバ５１が実施する処理について説明する。
【００６９】
まず、管理サーバ５１における送受信部５１７は、ｓｙｓｌｏｇパケットを受信すると、障害検出部５０７に出力する。そして、障害検出部５０７は、ｓｙｓｌｏｇパケットに基づき、ゲートウェイ（ここでは、ゲートウェイ３１）において障害が発生したことを検出する（図２７：ステップＳ５１）。
【００７０】
そして、要求部５１３は、障害が発生したゲートウェイに最も近いルータ（ここでは、ルータ１１）をゲートウェイ管理テーブルから特定する（ステップＳ５３）。
【００７１】
また、要求部５１３は、ステップＳ５３において特定されたルータがＡＣＴになっているＶＲＲＰグループ（ここでは、ＶＲＲＰグループ１）をＶＲＲＰ管理テーブルから特定する（ステップＳ５５）。
【００７２】
そして、要求部５１３は、障害が発生していないゲートウェイ（ここでは、ゲートウェイ３２）について、ステップＳ５５において特定されたＶＲＲＰグループに対応するトンネル（ここでは、トンネル６２）を特定する（ステップＳ５７）。
【００７３】
そして、特定部５１１は、ステップＳ５５において特定されたＶＲＲＰグループに対応するフロー（ここでは、フロー１）を割り当てテーブルから特定する（ステップＳ５９）。
【００７４】
さらに、要求部５１３は、ステップＳ５７において特定されたトンネルの識別子とステップＳ５９において特定されたフローの識別子とを含む、フロー管理テーブルの設定要求を生成する。そして、送受信部５１７は、生成された設定要求を、障害が発生していないゲートウェイに送信する（ステップＳ６１）。そして処理を終了する。
【００７５】
一方、ステップＳ６１の処理の後、ゲートウェイ３２は、ステップＳ２１及びＳ２３（図１４）の処理を実施する。そして、図１６に示したフロー管理テーブルは、図２８のように変更される。すなわち、ゲートウェイ３２は、障害が発生したゲートウェイ３１の代わりにフロー１を担当することになり、フロー１に係るパケットをトンネル６２を利用してルータ１１に送信する。
【００７６】
一方、ゲートウェイ３１において障害が発生した場合に、管理サーバ５２は以下のような処理を実施する。
【００７７】
まず、管理サーバ５２における送受信部５１７は、ｓｙｓｌｏｇパケットを受信すると、障害検出部５０７に出力する。そして、障害検出部５０７は、ｓｙｓｌｏｇパケットに基づき、トンネル（ここでは、トンネル６１及び６３）において障害が発生したことを検出する（図２９：ステップＳ７１）。管理サーバ５２は、ゲートウェイ３１とはネットワーク１によって隔てられているため、ゲートウェイ３１に障害が発生したことを直接検出することはできない。そこで、管理サーバ５２は、トンネルに障害が発生したことにより、ゲートウェイに障害が発生したことを検出する。
【００７８】
そして、要求部５１３は、ゲートウェイ管理テーブルにおけるゲートウェイの列及びトンネルの列のデータを用いて、障害が発生したトンネルに係るゲートウェイ（ここでは、ゲートウェイ３３及び３４）を特定する（ステップＳ７３）。
【００７９】
そして、要求部５１３は、ゲートウェイ管理テーブルにおけるトンネルの列及びＶＲＲＰグループの列のデータを用いて、障害が発生したトンネルに対応するＶＲＲＰグループ（ここでは、ＶＲＲＰグループ３）を特定する（ステップＳ７５）。
【００８０】
そして、要求部５１３は、ステップＳ７５において特定されたＶＲＲＰグループのマスタルータ（ここでは、ルータ１３）をＶＲＲＰ管理テーブルから特定する（ステップＳ７７）。
【００８１】
そして、要求部５１３は、ステップＳ７３において特定されたゲートウェイのうち、最も近いルータをマスタルータとするゲートウェイ（ここでは、ゲートウェイ３３）をゲートウェイ管理テーブルから特定する（ステップＳ７９）。
【００８２】
また、特定部５１１は、ステップＳ７５において特定されたＶＲＲＰグループに対応するフロー（ここでは、フロー１）を割り当てテーブルから特定する（ステップＳ８１）。
【００８３】
そして、要求部５１３は、ステップＳ７９において特定されたゲートウェイについて設定されているトンネルのうち障害が発生していない方のトンネル（ここでは、トンネル６２）の識別子とステップＳ８１において特定されたフローの識別子とを含む、フロー管理テーブルの設定要求を生成する。そして、送受信部５１７は、生成された設定要求を、ステップＳ７９において特定されたゲートウェイに送信する（ステップＳ８３）。
【００８４】
また、要求部５１３は、障害が発生したトンネルの識別子（ここでは、トンネル６１）の識別子を含むエントリをＦＤＢ３０１から削除することを要求する削除要求を生成する。そして、送受信部５１７は、生成された削除要求を、ステップＳ７９において特定されたゲートウェイに送信する（ステップＳ８５）。そして処理を終了する。
【００８５】
一方、ステップＳ８３の処理の後、ゲートウェイ３３は、ステップＳ２１及びＳ２３（図１４）の処理を実施する。そして、図１５に示したフロー管理テーブルは、図３０のように変更される。すなわち、ゲートウェイ３３は、フロー１に係るパケットを、障害が発生したトンネル６１の代わりにトンネル６２を利用してルータ１４に送信する。
【００８６】
また、ステップＳ８５の処理の後、ゲートウェイ３３は、図３１に示すような処理を実行する。まず、ゲートウェイ３３における送受信管理部３１１は、管理サーバ５２から特定のポートを介して削除要求を受信すると（図３１：ステップＳ９１）、削除要求をＦＤＢ管理部３０７に出力する。そして、ＦＤＢ管理部３０７は、削除要求に含まれるトンネルの識別子を含むエントリを、ＦＤＢ３０１から削除する（ステップＳ９３）。ここまでの処理によって、図２５に示したＦＤＢ３０１は、図３２のように変更される。そして処理を終了する。
【００８７】
以上のような処理を実施することにより、図３３に示すように、ゲートウェイ３３は、障害が発生したトンネル６１を使用しないように設定される。そして、ゲートウェイ３２が、トンネル６２を利用してフロー１に係るパケットをゲートウェイ３１の代わりに転送する。これによって、パケットの転送を滞りなく行うことができるようになる。
【００８８】
次に、図３４及び３５を用いて、ルータにおいて障害が発生した場合に行われる処理について説明する。例えばルータ１１に障害が発生すると、ルータ１１はａｄｖｅｒｔｉｓｅパケットをルータ１２等に送信しなくなる。ルータ１２は、ルータ１１からａｄｖｅｒｔｉｓｅパケットを受信しなくなったことによって、ルータ１１において障害が発生したことを確認する。
【００８９】
ルータ１２は、ルータ１１に対して送信するパケットをルータ１２に対して送信するように設定を変更することを要求するメッセージ（例えば、ＧＡＲＰ（Gratuitous Address Resolution Protocol）のメッセージ）をゲートウェイ３１及び３２等に送信する。
【００９０】
これに対し、ゲートウェイ３１及び３２は、図３４に示すようにトンネルの設定を変更する。すなわち、ルータ１１を経由するトンネル６１及び６２は、ルータ１２を経由するように設定が変更される。これによって、フロー１に係るパケットはルータ１２を経由するようになる。
【００９１】
また、このように設定が変更されると、ゲートウェイ間のトンネルは、図３５のようになる。ここでは、ゲートウェイ３１及び３２のトンネルの設定は変更されているが、ゲートウェイ３３及び３４のトンネルの設定は変更されていない。そして、このようにトンネルが設定されれば、ゲートウェイにおけるフロー管理テーブル及びＦＤＢの設定を変更しなくても、滞りなくパケットを転送することができる。
【００９２】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した管理サーバ及びゲートウェイの機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【００９３】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００９４】
なお、上で述べた例では、ゲートウェイとは別に管理サーバを設けるようにしているが、ゲートウェイと管理サーバとが一体であってもよい。この場合には、複数のゲートウェイのうちいずれかのゲートウェイに、管理サーバの機能を持たせるようにすればよい。
【００９５】
また、上で述べた例では、各管理サーバが管理するゲートウェイの数は２台であるが、２台より多くてもよい。この場合、障害が発生したゲートウェイの代わりに利用するゲートウェイは、優先度等を用いて決定すればよい。
【００９６】
また、上で述べた例では、管理サーバにおいて、各ゲートウェイについて最も近いルータを管理するようにしているが、各ルータについて最も近いゲートウェイを管理するようにしてもよい。
【００９７】
なお、上で述べた管理サーバ５１及び５２は、コンピュータ装置であって、図３６に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００９８】
なお、図４に示した各処理部は、図３６におけるＣＰＵ２５０３及びプログラムの組み合わせ、すなわち、ＣＰＵ２５０３がプログラムを実行することにより実現してもよい。また、図４に示した各データ格納部は、図３６におけるメモリ２５０１やＨＤＤ２５０５等として実現してもよい。
【００９９】
以上述べた本技術の実施の形態をまとめると以下のようになる。
【０１００】
本実施の形態に係る情報処理装置は、（Ａ）複数のルータのうち第１のルータからパケットを受信した場合に、ルータ毎に当該ルータが担当する通信種別（例えば、実施の形態におけるフロー）を管理するための第１データを用いて、第１のルータが担当する通信種別を特定する特定部と、（Ｂ）各々複数のルータの各々に対してパケットを転送するためのトンネルの設定がされており且つ複数のルータの配下にある複数のレイヤ２装置のうち、第１のルータに最も近いレイヤ２装置に対し、特定された通信種別に係るパケットを第１のルータにパケットを転送するためのトンネルに出力するように要求する要求部とを有する。
【０１０１】
このようにすれば、ルータの担当状況に合わせて複数のレイヤ２装置が使い分けられるので、パケットを効率的に転送することができるようになる。
【０１０２】
また、本情報処理装置が、（Ｃ）ネットワークにおける障害の発生を検出する検出部をさらに有するようにしてもよい。そして、上で述べた特定部が、（ａ１）検出部により、複数のレイヤ２装置のうち第１のレイヤ２装置において障害が発生したことが検出された場合に、第１データを用いて、複数のルータのうち第１のレイヤ２装置に最も近いルータが担当する通信種別を特定するようにしてもよい。また、上で述べた要求部が、（ｂ１）複数のレイヤ２装置のうち第１のレイヤ２装置とは異なるレイヤ２装置のいずれかに対し、特定された通信種別に係るパケットを第１のレイヤ２装置に最も近いルータにパケットを転送するためのトンネルに出力するように要求するようにしてもよい。このようにすれば、障害が発生したレイヤ２装置の代わりのレイヤ２装置によって、滞りなくパケットを転送することができるようになる。
【０１０３】
また、上で述べた特定部が、（ａ２）検出部により、第１のトンネルにおける障害が検出された場合に、第１データを用いて、複数のルータのうち第１のトンネル上にある第２のルータが担当する通信種別を特定するようにしてもよい。また、上で述べた要求部が、（ｂ２）複数のレイヤ２装置のうち第２のルータに最も近いレイヤ２装置に対し、特定された通信種別に係るパケットを複数のルータのうち第２のルータとは異なるルータにパケットを転送するためのトンネルのいずれかに出力するように要求し且つ第２のルータにパケットを転送しないように要求するようにしてもよい。このようにすれば、障害が発生したトンネル上にあるルータを避けることができるので、滞りなくパケットを転送することができるようになる。
【０１０４】
また、第１のルータから受信したパケットには、当該第１のルータの識別子と当該第１のルータが属するグループの識別子とが含まれるようにし、第１データには、グループの識別子と当該グループが担当する通信種別の識別子とを対応付けるための第１管理データと、グループの識別子と当該グループに属するルータのうちパケットの転送を担当するルータの識別子とを対応付けるための第２管理データとが含まれるようにしてもよい。そして、（Ｄ）第１のルータからパケットを受信した場合に、当該第１のルータが属するグループの識別子と第１のルータの識別子とで、第２管理データを更新する更新部とをさらに有するようにしてもよい。そして、上で述べた特定部が、（ａ３）第１のルータからパケットを受信した場合に、第１管理データを用いて、第１のルータが属するグループの識別子に対応する通信種別の識別子を特定するようにしてもよい。このようにすれば、複数のルータが例えばＶＲＲＰによって制御されている場合であっても、ルータが担当する通信種別を適切に特定することができる。
【０１０５】
また、（Ｅ）複数のレイヤ２装置の各々について当該レイヤ２装置に最も近いルータの識別子を格納するデータ格納部をさらに有するようにしてもよい。そして、上で述べた特定部及び要求部が、データ格納部に格納されているデータを用いて処理を行うようにしてもよい。このようなデータ格納部を利用することで、レイヤ２装置からルータまでが最短経路となるようにすることができる。
【０１０６】
本実施の形態に係るレイヤ２装置は、（Ｆ）アドレスと出力先の識別子とを対応付けて格納する第１データ格納部と、（Ｇ）通信種別の識別子と当該通信種別に係るパケットをカプセル化して転送するためのトンネルの設定がされている出力先の識別子とを対応付けて格納する第２データ格納部と、（Ｈ）受信したパケットに含まれる宛先アドレスが第１データ格納部に格納されているか判断し、受信したパケットに含まれる宛先アドレスが第１データ格納部に格納されていないと判断した場合に、受信したパケットの通信種別に対応する出力先の識別子が第２データ格納部に格納されているか判断し、受信したパケットの通信種別に対応する出力先の識別子が第２データ格納部に格納されていると判断した場合に、受信したパケットの通信種別に対応する出力先に、受信したパケットをカプセル化して出力させる指示部とを有する。このようにすれば、受信したパケットの通信種別に応じて、適切なトンネルにパケットを出力することができるようになる。
【０１０７】
また、上で述べた指示部が、（ｈ１）受信したパケットに含まれる宛先アドレスが第１データ格納部に格納されていないと判断した場合に、パケットを受信したポートにトンネルの設定がされているか判断し、（ｈ２）パケットを受信したポートにトンネルの設定がされていると判断した場合に、パケットのフラッディングを実行し、（ｈ３）パケットに含まれる宛先アドレスが第１データ格納部に格納されておらず且つパケットを受信したポートにトンネルの設定がされていないと判断した場合に、受信したパケットの通信種別に対応する出力先の識別子が第２データ格納部に格納されているか判断するようにしてもよい。パケットを受信したポートにトンネルの設定がされている場合には、当該パケットは外部のネットワークを介して受信したものであると推定できる。そこで、上で述べたような処理を行うことにより、レイヤ２装置の配下にある宛先の装置にパケットを届けることができるようになる。
【０１０８】
また、上で述べた指示部が、（ｈ４）受信したパケットの通信種別に対応する出力先の識別子が第２データ格納部に格納されていないと判断した場合に、受信したパケットを廃棄するようにしてもよい。これにより、出力先が不明である場合にも対処することができるようになる。
【０１０９】
また、上で述べた指示部が、（ｈ５）通信種別の識別子とトンネルの識別子とを含む設定要求を、レイヤ２装置の通信を管理する情報処理装置から受信した場合に、受信したトンネルの識別子を、通信種別の識別子に対応付けて第２データ格納部に格納するようにしてもよい。このようにすれば、情報処理装置からの要求に沿うようにパケットの転送を行うことができるようになる。
【０１１０】
また、上で述べた指示部が、トンネルの識別子を含む削除要求を、レイヤ２装置の通信を管理する情報処理装置から受信した場合に、受信したトンネルの識別子を含むエントリを第１データ格納部から削除するようにしてもよい。このようにすれば、パケットを出力すべきでないトンネルにパケットを出力することを防止できるようになる。
【０１１１】
また、通信種別の識別子が、パケットの送信元アドレス及び宛先アドレスを用いて計算されたハッシュ値であってもよい。なお、パケットに含まれる通信プロトコルの識別情報、プライオリティの情報、あるいはＶＬＡＮの情報等を利用してもよい。
【０１１２】
本実施の形態に係る情報処理方法は、（Ｉ）複数のルータのうち第１のルータからパケットを受信した場合に、ルータ毎に当該ルータが担当する通信種別を管理するための第１データを用いて、第１のルータが担当する通信種別を特定し、（Ｊ）各々複数のルータの各々に対してパケットを転送するためのトンネルの設定がされており且つ複数のルータの配下にある複数のレイヤ２装置のうち、第１のルータに最も近いレイヤ２装置に対し、特定された通信種別に係るパケットを第１のルータにパケットを転送するためのトンネルに出力するように要求する処理を含む。
【０１１３】
本実施の形態に係る中継処理方法は、（Ｋ）受信したパケットに含まれる宛先アドレスが、アドレスと出力先の識別子とを対応付けて格納する第１データ格納部に格納されているか判断し、（Ｌ）受信したパケットに含まれる宛先アドレスが第１データ格納部に格納されていないと判断した場合に、受信したパケットの通信種別に対応する出力先の識別子が、通信種別の識別子と当該通信種別に係るパケットをカプセル化して転送するためのトンネルの設定がされている出力先の識別子とを対応付けて格納する第２データ格納部に格納されているか判断し、（Ｍ）受信したパケットの通信種別に対応する出力先の識別子が第２データ格納部に格納されていると判断した場合に、受信したパケットの通信種別に対応する出力先に、受信したパケットをカプセル化して出力させる処理を含む。
【０１１４】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１１５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１６】
（付記１）
複数のルータのうち第１のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第１データを用いて、前記第１のルータに割り当てられた通信種別を特定する特定部と、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第１のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを前記第１のルータにパケットを転送するための仮想回線に出力するように要求する要求部と、
を有する情報処理装置。
【０１１７】
（付記２）
ネットワークにおける障害の発生を検出する検出部
をさらに有し、
前記特定部が、
前記検出部により、前記複数の通信装置のうち第１の通信装置において障害が発生したことが検出された場合に、前記第１データを用いて、前記複数のルータのうち前記第１の通信装置に最も近いルータに割り当てられた通信種別を特定し、
前記要求部が、
前記複数の通信装置のうち前記第１の通信装置とは異なる通信装置のいずれかに対し、特定された通信種別に係るパケットを前記第１の通信装置に最も近いルータにパケットを転送するための仮想回線に出力するように要求する
付記１記載の情報処理装置。
【０１１８】
（付記３）
前記特定部が、
前記検出部により、第１の仮想回線における障害が検出された場合に、前記第１データを用いて、前記複数のルータのうち前記第１の仮想回線上にある第２のルータに割り当てられた通信種別を特定し、
前記要求部が、
前記複数の通信装置のうち前記第２のルータに最も近い通信装置に対し、特定された前記通信種別に係るパケットを前記複数のルータのうち前記第２のルータとは異なるルータにパケットを転送するための仮想回線のいずれかに出力するように要求し、且つ前記第２のルータにパケットを転送しないように要求する
付記２記載の情報処理装置。
【０１１９】
（付記４）
前記第１のルータから受信したパケットには、前記第１のルータの識別子と前記第１のルータが属するグループの識別子とが含まれ、
前記第１データには、グループの識別子と当該グループに割り当てられた通信種別の識別子とを対応付ける第１管理データと、グループの識別子と当該グループに属するルータのうちパケットを転送するルータの識別子とを対応付ける第２管理データとが含まれ、
前記第１のルータからパケットを受信した場合に、当該第１のルータが属するグループの識別子と前記第１のルータの識別子とで、前記第２管理データを更新する更新部
をさらに有し、
前記特定部が、
前記第１のルータからパケットを受信した場合に、前記第１管理データを用いて、前記第１のルータが属するグループの識別子に対応する通信種別の識別子を特定する
付記１乃至３のいずれか１つ記載の情報処理装置。
【０１２０】
（付記５）
前記複数の通信装置の各々について当該通信装置に最も近いルータの識別子を格納するデータ格納部
をさらに有し、
前記特定部及び前記要求部が、前記データ格納部に格納されているデータを用いて処理を行う
付記１乃至４のいずれか１つ記載の情報処理装置。
【０１２１】
（付記６）
パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第１データ格納部と、
通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第２データ格納部と、
受信したパケットに含まれる宛先アドレスが前記第１データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第１データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる指示部と、
を有する通信装置。
【０１２２】
（付記７）
前記指示部が、
受信した前記パケットに含まれる宛先アドレスが前記第１データ格納部に格納されていないと判断した場合に、前記パケットを受信したポートに仮想回線の設定がされているか判断し、
前記パケットを受信したポートに仮想回線の設定がされていると判断した場合に、前記パケットのフラッディングを実行し、
前記パケットに含まれる宛先アドレスが前記第１データ格納部に格納されておらず且つ前記パケットを受信したポートに仮想回線の設定がされていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されているか判断する
付記６記載の通信装置。
【０１２３】
（付記８）
前記指示部が、
受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されていないと判断した場合に、受信した前記パケットを廃棄する
付記６又は７記載の通信装置。
【０１２４】
（付記９）
前記指示部は、
通信種別の識別子と仮想回線の識別子とを含む設定要求を、前記通信装置の通信を管理する情報処理装置から受信した場合に、受信した前記仮想回線の識別子を、前記通信種別の識別子に対応付けて前記第２データ格納部に格納する
付記６乃至８のいずれか１つ記載の通信装置。
【０１２５】
（付記１０）
前記指示部は、
仮想回線の識別子を含む削除要求を、前記通信装置の通信を管理する情報処理装置から受信した場合に、受信した前記仮想回線の識別子を含むエントリを前記第１データ格納部から削除する
付記６乃至９のいずれか１つ記載の通信装置。
【０１２６】
（付記１１）
前記通信種別の識別子が、パケットの送信元アドレス及び宛先アドレスを用いて計算されたハッシュ値である
付記６乃至１０のいずれか１つ記載の通信装置。
【０１２７】
（付記１２）
複数のルータのうち第１のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第１データを用いて、前記第１のルータに割り当てられた通信種別を特定し、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第１のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを前記第１のルータにパケットを転送するための仮想回線に出力するように要求する
処理を、コンピュータが実行する情報処理方法。
【０１２８】
（付記１３）
複数のルータのうち第１のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第１データを用いて、前記第１のルータに割り当てられた通信種別を特定し、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第１のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを前記第１のルータにパケットを転送するための仮想回線に出力するように要求する
処理を、コンピュータに実行させるための情報処理プログラム。
【０１２９】
（付記１４）
受信したパケットに含まれる宛先アドレスが、パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第１データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第１データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が、通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第２データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる
処理を、コンピュータが実行する中継処理方法。
【０１３０】
（付記１５）
受信したパケットに含まれる宛先アドレスが、パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第１データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第１データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が、通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第２データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第２データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる
処理を、コンピュータに実行させるための中継処理プログラム。
【符号の説明】
【０１３１】
１，３，５  ネットワーク    １１，１２，１３，１４  ルータ
２１，２２，２３，２４，２５，２６，２７，２８  スイッチ
３１，３２，３３，３４  ゲートウェイ    ４１，４２，４３，４４  仮想マシン
５１，５２  管理サーバ    ６１，６２，６３，６４  トンネル
５０１  割り当てデータ格納部    ５０３  ゲートウェイデータ格納部
５０５  ＶＲＲＰデータ格納部    ５０７  障害検出部
５０９  ゲートウェイ制御部    ５１１  特定部
５１３  要求部    ５１５  ＶＲＲＰ状態管理部
５１７  送受信部    ３０１  ＦＤＢ
３０３  管理データ格納部    ３０５  管理部
３０７  ＦＤＢ管理部    ３０９  フロー管理部
３１１  送受信管理部
【図１】
0005772434.tif 000002
【図２】
0005772434.tif 000003
【図３】
0005772434.tif 000004
【図４】
0005772434.tif 000005
【図５】
0005772434.tif 000006
【図６】
0005772434.tif 000007
【図７】
0005772434.tif 000008
【図８】
0005772434.tif 000009
【図９】
0005772434.tif 000010
【図１０】
0005772434.tif 000011
【図１１】
0005772434.tif 000012
【図１２】
0005772434.tif 000013
【図１３】
0005772434.tif 000014
【図１４】
0005772434.tif 000015
【図１５】
0005772434.tif 000016
【図１６】
0005772434.tif 000017
【図１７】
0005772434.tif 000018
【図１８】
0005772434.tif 000019
【図１９】
0005772434.tif 000020
【図２０】
0005772434.tif 000021
【図２１】
0005772434.tif 000022
【図２２】
0005772434.tif 000023
【図２３】
0005772434.tif 000024
【図２４】
0005772434.tif 000025
【図２５】
0005772434.tif 000026
【図２６】
0005772434.tif 000027
【図２７】
0005772434.tif 000028
【図２８】
0005772434.tif 000029
【図２９】
0005772434.tif 000030
【図３０】
0005772434.tif 000031
【図３１】
0005772434.tif 000032
【図３２】
0005772434.tif 000033
【図３３】
0005772434.tif 000034
【図３４】
0005772434.tif 000035
【図３５】
0005772434.tif 000036
【図３６】
0005772434.tif 000037