説明

冗長化制御のためのプログラム、情報処理装置及び方法、通信装置、中継処理方法及びプログラム

【課題】通信装置を冗長化する場合においてパケットを効率的に転送する。
【解決手段】情報処理装置は、複数のルータのうち第1のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第1データを用いて、第1のルータに割り当てられた通信種別を特定する特定部と、複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ複数のルータの配下にある複数の通信装置のうち、第1のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを第1のルータにパケットを転送するための仮想回線に出力するように要求する要求部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、冗長化の制御技術に関する。
【背景技術】
【0002】
クラウドサービスにおいて構築された仮想マシンは、ライブマイグレーション(Live Migration)によってその配置が変更されることがある。ライブマイグレーションによって、変更前とは異なるルータの配下に仮想マシンが移動するような事態が生じる場合、仮想マシン間の通信には、パケットをカプセル化するトンネリング技術(例えば、L2TPv3(Layer 2 Tunneling Protocol Version 3)及びGRE(Generic Routing Encapsulation))が利用される。具体的な例を図1に示す。図1の例では、仮想マシン2がライブマイグレーションによって異なるルータの配下に移動している。そして、ルータ配下にレイヤ2の中継装置(図1におけるゲートウェイ)が配置されており、このゲートウェイがトンネリングを行う。これによって、ゲートウェイ間にトンネルが設けられるので、仮想マシン1と仮想マシン2との通信が実現する。
【0003】
ところで、クラウドサービスでは、サービスの可用性を高めるために装置を冗長化することがある。まず、ルータの冗長化を制御する方法として、レイヤ3装置に適用可能なVRRP(Virtual Router Redundancy Protocol)が知られている。VRRPにおいては、ACT(Active:稼働)又はSTBY(Standby:待機)をルータに割り当てることによって冗長化を制御しており、ACTであるルータはパケットの転送を行うが、STBYであるルータはパケットの転送を行わずに待機する。但し、VRRPにおいては複数のVRRPグループを用意することが可能であるため、VRRPグループ毎にACTのルータを設定することができる。例えば、VRRPグループ1ではルータ1をACTに設定し、その他のルータをSTBYに設定し、VRRPグループ2ではルータ2をACTに設定し、その他のルータをSTBYに設定する、といったような設定が可能である。そのため、複数のルータを効率的に使い分けることができる。
【0004】
これに対し、上で述べたようなゲートウェイ(すなわち、トンネリングを行うレイヤ2の中継装置)の冗長化を制御する方法として、レイヤ2装置に適用可能なESRP(Extreme Standby Router Protocol)が知られている。ESRPにおいても、ACT又はSTBYをゲートウェイに割り当てることによって冗長化を制御しているが、VRRPのように複数のグループを用いた制御を行うことができない。具体的には、例えばゲートウェイ1をACTに設定した場合には、ゲートウェイ1はパケットの転送を行うことができるが、ゲートウェイ1以外のゲートウェイはSTBYになり、パケットの転送を行うことができない。
【0005】
そのため、クラウドサービスにおいてレイヤ2装置を冗長化した場合には、一部のレイヤ2装置について設定したトンネルしか利用することができず、パケットを転送する経路が限られてしまうという問題がある。また、一部のレイヤ2装置に負荷が集中するという問題もある。
【0006】
従来、冗長化及びトンネリングに関して、以下のような技術が存在する。具体的には、トンネリング技術を用いて、複数のLAN(Local Area Network)をIPネットワークを介して1つのVPN(Virtual Private Network)に統合する。そして、各トンネルの両端に接続先LANに対応する仮想IPアドレスを付与し、また各トンネルの両端に一群の複数ルータを対応させることにより、冗長化を制御する。しかし、この技術では、上で述べたような、レイヤ2装置の冗長化を制御する方法の問題点については考慮されていない。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−118577号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
従って、本技術の目的は、一側面においては、通信装置を冗長化する場合においてパケットを効率的に転送するための技術を提供することである。
【課題を解決するための手段】
【0009】
本技術の一側面に係る情報処理装置は、(A)複数のルータのうち第1のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第1データを用いて、第1のルータに割り当てられた通信種別を特定する特定部と、(B)複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ複数のルータの配下にある複数の通信装置のうち、第1のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを第1のルータにパケットを転送するための仮想回線に出力するように要求する要求部とを有する。
【0010】
本技術の一側面に係る通信装置は、(C)パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第1データ格納部と、(D)通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第2データ格納部と、(E)受信したパケットに含まれる宛先アドレスが第1データ格納部に格納されているか判断し、受信したパケットに含まれる宛先アドレスが第1データ格納部に格納されていないと判断した場合に、受信したパケットの通信種別に対応するポートの識別子が第2データ格納部に格納されているか判断し、受信したパケットの通信種別に対応するポートの識別子が第2データ格納部に格納されていると判断した場合に、受信したパケットの通信種別に対応するポートに、受信したパケットを出力させる指示部とを有する。
【発明の効果】
【0011】
通信装置を冗長化する場合においてパケットを効率的に転送することができる。
【図面の簡単な説明】
【0012】
【図1】図1は、ライブマイグレーションについて説明するための図である。
【図2】図2は、本実施の形態に係るシステム概要図である。
【図3】図3は、トンネルの設定について説明するための図である。
【図4】図4は、管理サーバの機能ブロック図である。
【図5】図5は、ゲートウェイの機能ブロック図である。
【図6】図6は、ゲートウェイ管理テーブルの一例を示す図である。
【図7】図7は、ゲートウェイ管理テーブルの一例を示す図である。
【図8】図8は、割り当てテーブルの一例を示す図である。
【図9】図9は、割り当てテーブルの一例を示す図である。
【図10】図10は、管理サーバがadvertiseパケットを受信した際に行う処理の処理フローを示す図である。
【図11】図11は、VRRP管理テーブルの一例を示す図である。
【図12】図12は、VRRP管理テーブルの一例を示す図である。
【図13】図13は、VRRP管理テーブルの一例を示す図である。
【図14】図14は、ゲートウェイが設定要求を受信した際に行う処理の処理フローを示す図である。
【図15】図15は、フロー管理テーブルの一例を示す図である。
【図16】図16は、フロー管理テーブルの一例を示す図である。
【図17】図17は、ゲートウェイとルータとの間のパケットの転送経路について説明するための図である。
【図18】図18は、ゲートウェイが行うパケットの中継処理の処理フローを示す図である。
【図19】図19は、仮想マシン間の通信について説明するための図である。
【図20】図20は、FDBに格納されているデータの一例を示す図である。
【図21】図21は、FDBに格納されているデータの一例を示す図である。
【図22】図22は、FDBに格納されているデータの一例を示す図である。
【図23】図23は、FDBに格納されているデータの一例を示す図である。
【図24】図24は、仮想マシン間の通信について説明するための図である。
【図25】図25は、FDBに格納されているデータの一例を示す図である。
【図26】図26は、FDBに格納されているデータの一例を示す図である。
【図27】図27は、ゲートウェイの障害を検出した場合に行われる処理の処理フローを示す図である。
【図28】図28は、フロー管理テーブルの一例を示す図である。
【図29】図29は、トンネルの障害を検出した場合に行われる処理の処理フローを示す図である。
【図30】図30は、フロー管理テーブルの一例を示す図である。
【図31】図31は、ゲートウェイが削除要求を受信した際に行う処理の処理フローを示す図である。
【図32】図32は、FDBに格納されているデータの一例を示す図である。
【図33】図33は、ゲートウェイ及びトンネルに障害が発生した際のパケットの経路について説明するための図である。
【図34】図34は、ルータに障害が発生した際のトンネルの設定について説明するための図である。
【図35】図35は、ルータに障害が発生した際のトンネルの設定について説明するための図である。
【図36】図36は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【0013】
図2に、本実施の形態に係るシステム概要図を示す。例えばインターネットなどのネットワーク1には、ルータ11乃至14が接続されている。ここで、ルータ11及び12は第1のVRRPによって冗長化を制御されており、第1のVRRPには、VRRPグループ1及び2が設定されている。ルータ13及び14は第2のVRRPによって冗長化を制御されており、第2のVRRPには、VRRPグループ3及び4が設定されている。また、ルータ11のIPアドレスは1.1.1.1/24であり、ルータ12のIPアドレスは1.1.1.2/24であり、ルータ13のIPアドレスは2.2.2.1/24であり、ルータ14のIPアドレスは2.2.2.2/24であるとする。
【0014】
ルータ11にはスイッチ21が接続されており、ルータ12にはスイッチ22が接続されており、ルータ13にはスイッチ23が接続されており、ルータ14にはスイッチ24が接続されている。なお、スイッチ21乃至24は、例えばレイヤ2のスイッチである。
【0015】
スイッチ21には、例えばLANであるネットワーク3に接続されたゲートウェイ31と、ゲートウェイ31及び32の通信を管理する管理サーバ51と、スイッチ22とが接続されている。スイッチ22には、ネットワーク3に接続されたゲートウェイ32が接続されている。スイッチ23には、例えばLANであるネットワーク5に接続されたゲートウェイ33と、スイッチ24とが接続されている。スイッチ24には、ネットワーク5に接続されたゲートウェイ34と、ゲートウェイ33及び34の通信を管理する管理サーバ52とが接続されている。
【0016】
ゲートウェイ31乃至34は通信装置(例えばレイヤ2の中継装置)であり、トンネリングの機能を有している。すなわち、ゲートウェイ31乃至34は、仮想回線(以下、トンネルと呼ぶ)を設定し、トンネルを介して他の装置と通信を行う機能を有している。ゲートウェイ31には、スイッチ25及びスイッチ26が接続されている。ゲートウェイ32には、スイッチ25及びスイッチ26が接続されている。ゲートウェイ33には、スイッチ27及びスイッチ28が接続されている。ゲートウェイ34には、スイッチ27及びスイッチ28が接続されている。なお、スイッチ25乃至28は、例えばレイヤ2のスイッチである。
【0017】
スイッチ25には、仮想マシン41が接続されている。スイッチ26には、仮想マシン42が接続されている。スイッチ27には、仮想マシン43が接続されている。スイッチ28には、仮想マシン44が接続されている。仮想マシン41のMACアドレスはAであり、仮想マシン42のMACアドレスはBであり、仮想マシン43のMACアドレスはCであり、仮想マシン44のMACアドレスはDであるとする。
【0018】
本実施の形態では、図2に示したシステムに対して、図3に示すようにトンネルの設定がなされる。図3においては、ゲートウェイ31とゲートウェイ33との間に設定され、スイッチ21、ルータ11、ルータ13及びスイッチ23を経由するトンネル61と、ゲートウェイ32とゲートウェイ33との間に設定され、スイッチ22、スイッチ21、ルータ11、ルータ14、スイッチ24及びスイッチ23を経由するトンネル62と、ゲートウェイ31とゲートウェイ34との間に設定され、スイッチ21、スイッチ22、ルータ12、ルータ13、スイッチ23及びスイッチ24を経由するトンネル63と、ゲートウェイ32とゲートウェイ34との間に設定され、スイッチ22、ルータ12、ルータ14及びスイッチ24を経由するトンネル64とが設定されている。
【0019】
図4に、管理サーバ51及び52の機能ブロック図を示す。図4の例では、管理サーバ51及び52は、割り当てデータ格納部501と、ゲートウェイデータ格納部503と、VRRPデータ格納部505と、障害検出部507と、特定部511及び要求部513を含むゲートウェイ制御部509と、VRRP状態管理部515と、送受信部517とを含む。
【0020】
送受信部517は、VRRPにおいてACTであるルータ(以下、マスタルータと呼ぶ)からadvertiseパケットを受信したり、他の装置等に関する状態を示すパケット(例えばsyslogパケット)を受信する。また、送受信部517は、フロー管理テーブルの設定を要求する設定要求等をゲートウェイに送信する。障害検出部507は、syslogパケットに基づき、ゲートウェイ及びトンネルにおいて障害が発生したことを検出する。特定部511は、割り当てデータ格納部501、ゲートウェイデータ格納部503及びVRRPデータ格納部505に格納されているデータを用いて、ルータが担当する通信の種別(以下では、フローと呼ぶ)を特定する処理等を行う。要求部513は、割り当てデータ格納部501、ゲートウェイデータ格納部503及びVRRPデータ格納部505に格納されているデータを用いて、ゲートウェイにフロー管理テーブルの設定を要求するための処理等を行う。VRRP状態管理部515は、マスタルータから受信したadvertiseパケットに基づき、VRRPデータ格納部505に格納されているデータを更新する。
【0021】
図5に、ゲートウェイ31乃至34の機能ブロック図を示す。図5の例では、FDB(Forwarding DataBase)301と、管理データ格納部303と、FDB管理部307、フロー管理部309及び送受信管理部311を含む管理部305とを含む。
【0022】
送受信管理部311は、受信したパケットをFDB管理部307及びフロー管理部309に出力したり、FDB管理部307及びフロー管理部309の処理結果に基づいてパケットを送信させる処理等を行う。FDB管理部307は、FDB301に格納されているデータに基づき処理を行い、処理結果を送受信管理部311に出力する。フロー管理部309は、管理データ格納部303に格納されているデータに基づき処理を行い、処理結果を送受信管理部311に出力する。
【0023】
図6に、管理サーバ51のゲートウェイデータ格納部503に格納されているゲートウェイ管理テーブルの一例を示す。図6の例では、ゲートウェイの識別子と、最も近いルータの識別子と、トンネルの識別子と、VRRPグループの識別子とが格納されている。例えば1行目のデータは、ゲートウェイ31に最も近いルータの識別子が「1.1.1.1」であり、ゲートウェイ31に設定されているトンネルはトンネル61及び63であり、トンネル61はVRRPグループ1に割り当てられており、トンネル63はVRRPグループ2に割り当てられていることを示している。なお、最も近いルータとは、ゲートウェイから最短経路で到達可能な(例えば、ホップ数が最も少ない)ルータである。
【0024】
図7に、管理サーバ52のゲートウェイデータ格納部503に格納されているゲートウェイ管理テーブルの一例を示す。データのフォーマットは、図6に示したデータのフォーマットと同じである。
【0025】
図8に、管理サーバ51の割り当てデータ格納部501に格納されている割り当てテーブルの一例を示す。図8の例では、フローの識別子と、VRRPグループの識別子とが格納されるようになっている。本実施の形態では、フローの識別子は、パケットの送信元アドレス及び宛先アドレスを用いて計算されたハッシュ値である。
【0026】
図9に、管理サーバ52の割り当てデータ格納部501に格納されている割り当てテーブルの一例を示す。データのフォーマットは、図8に示したデータのフォーマットと同じである。
【0027】
なお、ゲートウェイ管理テーブル及び割り当てテーブルは、管理者等によって予め設定される。
【0028】
次に、図10乃至図35を用いて、図2に示したシステムにおいて行われる処理について説明する。はじめに、管理サーバがadvertiseパケットを受信した際に行う処理について説明する。
【0029】
まず、管理サーバ(ここでは、管理サーバ51とする)における送受信部517は、VRRPグループの識別子を含むadvertiseパケットをルータ11から受信し、一旦メインメモリ等の記憶装置に格納する(図10:ステップS1)。ここでは、VRRPグループの識別子「1」を含むadvertiseパケットを受信したとする。VRRPにおいては、advertiseパケットを送信するのはマスタルータであるため、VRRPグループ1においてはルータ11がマスタルータである。
【0030】
そして、VRRP状態管理部515は、ステップS1において受信したパケットに含まれるVRRPグループの識別子とルータ11のIPアドレスとで、VRRPデータ格納部505に格納されているVRRP管理テーブルを更新する(ステップS3)。
【0031】
図11に、ステップS3が実行された段階におけるVRRP管理テーブルの状態の一例を示す。図11の例では、VRRPグループの識別子と、マスタルータの識別子(図11の例ではIPアドレス)とが格納されている。VRRPグループ2については、未だ初期設定が行われていないため、マスタルータの識別子が登録されていない。
【0032】
そして、ゲートウェイ制御部509における要求部513は、本処理が初期設定の処理であるか判断する(ステップS5)。VRRP管理テーブルにマスタルータの識別子が登録されていない段階でステップS3の処理を行った場合には、初期設定の処理であると判断される。
【0033】
初期設定の処理ではないと判断された場合(ステップS5:Noルート)、ゲートウェイにおけるフロー管理テーブルを更新しなくてもよいので、処理を終了する。
【0034】
一方、初期設定の処理であると判断された場合(ステップS5:Yesルート)、要求部513は、ゲートウェイデータ格納部503に格納されているゲートウェイ管理テーブルから、VRRPグループ1のマスタルータであるルータ11に最も近いゲートウェイ31を特定する(ステップS7)。なお、本実施の形態では、図2に示したようにルータ及びゲートウェイが配置されているため、マスタルータを最も近いルータとするゲートウェイを特定すれば、マスタルータに最も近いゲートウェイを特定することができる。
【0035】
そして、要求部513は、ステップS7において特定されたゲートウェイ(ここでは、ゲートウェイ31)について、ルータ11がマスタルータとなっているVRRPグループ(ここでは、VRRPグループ1)に対応するトンネルを特定する(ステップS9)。ステップS9においては、ゲートウェイ管理テーブルにおけるトンネルの列及びVRRPグループの列のデータを用いて特定する。ステップS9の処理の結果、トンネル61が特定される。
【0036】
そして、特定部511は、割り当てデータ格納部501に格納されている割り当てテーブルから、マスタルータのVRRPグループに対応するフロー(ここでは、フロー1)を特定する(ステップS11)。
【0037】
そして、要求部513は、ステップS9において特定されたトンネルの識別子とステップS11において特定されたフローの識別子とを含む、フロー管理テーブルの設定要求を生成する。そして、送受信部517は、生成された設定要求を、ステップS7において特定されたゲートウェイに送信する(ステップS13)。そして処理を終了する。
【0038】
以上のような処理によって、ルータ11乃至14のいずれについても初期設定が完了すると、VRRP管理テーブルは、図12及び図13に示すような状態になる。図12は、管理サーバ51のVRRP管理テーブルを示す図であり、図13は、管理サーバ52のVRRP管理テーブルを示す図である。図12及び図13が示すように、ルータ11乃至14はいずれかのVRRPグループのマスタルータとなるように設定される。
【0039】
一方、ステップS13の処理の後、ゲートウェイ31は、図14に示すような処理を実行する。まず、ゲートウェイ31における送受信管理部311は、管理サーバ51から特定のポートを介して設定要求を受信すると(図14:ステップS21)、設定要求をフロー管理部309に出力する。そして、フロー管理部309は、設定要求に含まれるトンネルの識別子とフローの識別子とを、管理データ格納部303に格納されているフロー管理テーブルに登録する(ステップS23)。そして処理を終了する。
【0040】
このような処理を実施することにより、管理サーバからの要求に沿うように、ゲートウェイにおけるフロー管理テーブルが設定されるようになる。
【0041】
そして、ゲートウェイ31乃至34のいずれについても初期設定が完了すると、フロー管理テーブルは、図15及び16に示すような状態になる。図15は、ゲートウェイ31及び33のフロー管理テーブルを示す図であり、図16は、ゲートウェイ32及び34のフロー管理テーブルを示す図である。このように、フロー管理テーブルは、最も近いルータが担当するフローに係るパケットを当該ルータまでの最短経路を辿るトンネルから出力するように設定される。
【0042】
このように本実施の形態では、図17に示すように、ルータの配下にあるゲートウェイは、いずれのルータに対してもトンネルを利用してパケットを転送できるが、初期設定を終えた段階では、最も近いルータにパケットを転送するためのトンネルを利用する。すなわち、ルータのフロー担当状況に合わせて、最短経路で効率的にパケットを転送可能なトンネルから出力するように制御される。
【0043】
また、ESRP等を用いて冗長化を制御する場合と比べると、複数のレイヤ2装置を適宜使い分けることができるので、特定のレイヤ2装置に負荷が集中することを防止し、負荷分散を実現することができる。
【0044】
次に、上で述べたような初期設定が完了したシステムにおけるパケットの転送処理について、図18乃至図27を用いて説明する。まず、図18を用いて、ゲートウェイが実施するパケットの中継処理について説明する。
【0045】
まず、パケットを受信すると、送受信管理部311は、受信したパケットをFDB管理部307及びフロー管理部309に出力する。そして、FDB管理部307は、受信したパケットの送信元アドレスと当該パケットを受信したポートの識別子(又はトンネルの識別子)とを対応付けてFDB301に登録する(図18:ステップS31)。
【0046】
そして、FDB管理部307は、受信したパケットの宛先アドレスがFDB301に登録されているか判断する(ステップS33)。受信したパケットの宛先アドレスがFDB301に登録されていると判断された場合には(ステップS33:Yesルート)、送受信管理部311は、宛先アドレスに対応付けて登録されている出力先に、受信したパケットを送信させる(ステップS35)。すなわち、ユニキャストを行う。そして処理を終了する。
【0047】
一方、宛先アドレスがFDB301に登録されてないと判断された場合(ステップS33:Noルート)、送受信管理部311は、パケットを受信したポートにトンネルの設定がされているか判断する(ステップS37)。トンネルの設定がされていると判断された場合(ステップS37:Yesルート)、送受信管理部311は、受信したパケットについてフラッディングを実行する(ステップS39)。すなわち、パケットを受信したポート以外のポートに、受信したパケットを送信させる。そして処理を終了する。
【0048】
一方、パケットを受信したポートにトンネルの設定がされていないと判断された場合(ステップS37:Noルート)、フロー管理部309は、受信したパケットの送信元アドレス及び宛先アドレスを用いてハッシュ値(すなわち、フロー識別子)を算出する。そして、フロー管理部309は、算出したフロー識別子に対応する出力先の識別子がフロー管理テーブルに登録されているか判断する(ステップS41)。
【0049】
算出したフロー識別子に対応する出力先の識別子がフロー管理テーブルに登録されていないと判断された場合(ステップS41:Noルート)、出力先が不明であるので、フロー管理部309は、受信したパケットを廃棄する(ステップS43)。そして処理を終了する。
【0050】
一方、算出したフロー識別子に対応する出力先の識別子がフロー管理テーブルに登録されていると判断された場合(ステップS41:Yesルート)、送受信管理部311は、算出したフロー識別子に対応付けて登録されている出力先に、受信したパケットを送信させる(ステップS45)。すなわち、ユニキャストを行う。そして処理を終了する。
【0051】
以上のような処理を実施することにより、受信したパケットのフローに応じて、適切なトンネルにパケットを出力することができるようになる。
【0052】
次に、実際に送信元の仮想マシンから宛先の仮想マシンにパケットが到達するまでに、パケットの経路上に存在する装置が行う処理について具体的に説明する。
【0053】
まず、図19乃至図23を用いて、仮想マシン41が仮想マシン43にパケットを送信する場合について説明する。
【0054】
図19において、仮想マシン41が送信したパケットを、スイッチ25が受信する。なお、パケットについて算出されるハッシュ値は1であるとする。
【0055】
スイッチ25は、スイッチ25が保持するFDBに宛先MACアドレス(ここでは、MACアドレスC)が登録されていないので、フラッディングを実行する。フラッディングによって、ゲートウェイ31及び32がパケットを受信する。また、スイッチ25は、送信元MACアドレス(ここでは、MACアドレスA)と受信ポートの識別子とを対応付けてFDBに登録する。
【0056】
ゲートウェイ31は、ゲートウェイ31が保持するFDB301に宛先MACアドレスが登録されていないので、フロー管理テーブルを検索する。フロー管理テーブルが図15の状態である場合、パケットの出力先はトンネル61であるので、トンネル61からパケットが出力される。また、ゲートウェイ31は、送信元MACアドレスと受信ポートの識別子(ここでは、ポートP1)とを対応付けてFDB301に登録する。ここまでの処理によって、ゲートウェイ31のFDB301には、例えば図20に示すようなデータが登録される。
【0057】
ゲートウェイ32は、ゲートウェイ32が保持するFDB301に宛先MACアドレスが登録されていないので、フロー管理テーブルを検索する。フロー管理テーブルが図16の状態である場合、パケットの出力先は不明であるので、パケットを廃棄する。また、ゲートウェイ32は、送信元MACアドレスと受信ポートの識別子(ここでは、ポートP2)とを対応付けてFDB301に登録する。ここまでの処理によって、ゲートウェイ32のFDB301には、例えば図21に示すようなデータが登録される。
【0058】
ゲートウェイ31が送信したパケットは、ゲートウェイ33に到着する。ゲートウェイ33が保持するFDB301には、パケットの宛先MACアドレスが登録されていない。但し、パケットをトンネル61から受信しているので、フラッディングを実行する。フラッディングによって、スイッチ27及びスイッチ28がパケットを受信する。また、ゲートウェイ33は、送信元MACアドレスとトンネルの識別子(ここでは、トンネル61)とを対応付けてFDB301に登録する。ここまでの処理によって、ゲートウェイ33のFDB301には、例えば図22に示すようなデータが登録される。
【0059】
スイッチ27は、スイッチ27が保持するFDBに宛先MACアドレスが登録されていないので、フラッディングを実行する。フラッディングによって、ゲートウェイ34及び仮想マシン43がパケットを受信する。このようにして、仮想マシン41が送信したパケットを仮想マシン43が受信する。また、スイッチ27は、送信元MACアドレスと受信ポートの識別子とを対応付けてFDBに登録する。
【0060】
スイッチ28は、スイッチ28が保持するFDBに宛先MACアドレスが登録されていないので、フラッディングを実行する。フラッディングによって、ゲートウェイ34及び仮想マシン44がパケットを受信する。また、スイッチ28は、送信元MACアドレスと受信ポートの識別子とを対応付けてFDBに登録する。
【0061】
ゲートウェイ34は、スイッチ27及び28からパケットを受信する。ゲートウェイ34は、ゲートウェイ34が保持するFDB301に宛先MACアドレスが登録されていないので、フロー管理テーブルを検索する。フロー管理テーブルが図16の状態である場合、パケットの出力先は不明であるので、パケットを廃棄する。また、ゲートウェイ34は、送信元MACアドレスと受信ポートの識別子(ここでは、ポートP3)とを対応付けてFDB301に登録する。ここでは、スイッチ27及び28から受信したパケットのうち、後に受信したパケットの受信ポートの識別子が登録される。ここまでの処理によって、ゲートウェイ34のFDB301には、例えば図23に示すようなデータが登録される。
【0062】
一方、仮想マシン41からパケットを受信した仮想マシン43が仮想マシン41にパケットを返信する場合について、図24乃至図26を用いて説明する。
【0063】
図24において、仮想マシン43が送信したパケットを、スイッチ27が受信する。スイッチ27は、スイッチ27が保持するFDBに宛先MACアドレス(ここでは、MACアドレスA)が登録されているので、宛先MACアドレスに対応するポートからパケットを出力する。出力されたパケットは、ゲートウェイ33が受信する。
【0064】
ゲートウェイ33は、ゲートウェイ33が保持するFDB301に宛先MACアドレスが登録されているので、宛先MACアドレスに対応するトンネル(ここでは、トンネル61)からパケットを出力する。また、ゲートウェイ33は、送信元MACアドレス(ここでは、MACアドレスC)と受信ポートの識別子(ここでは、ポートP4)とを対応付けてFDB301に登録する。ここまでの処理によって、ゲートウェイ33のFDB301には、例えば図25に示すようなデータが登録される。
【0065】
ゲートウェイ33が送信したパケットは、ゲートウェイ31に到着する。ゲートウェイ31は、ゲートウェイ31が保持するFDB301に宛先MACアドレスが登録されているため、宛先MACアドレスに対応するポート(ここでは、ポートP1)からパケットを出力する。また、ゲートウェイ31は、送信元MACアドレスとトンネルの識別子(ここでは、トンネル61)とを対応付けてFDB301に登録する。ここまでの処理によって、ゲートウェイ31のFDB301には、例えば図26に示すようなデータが登録される。ゲートウェイ31が送信したパケットは、スイッチ25が受信する。
【0066】
スイッチ25は、受信したパケットの宛先アドレスがFDBに登録されているので、宛先アドレスに対応するポートからパケットを出力する。これによって、パケットは仮想マシン41に到達する。
【0067】
以上のように、本実施の形態に係る方法であれば、異なるルータの配下にある仮想マシン間の通信を適切に行うことができるようになる。
【0068】
次に、図27乃至図35を用いて、ネットワークにおいて障害が発生した際の処理について説明する。まず、ゲートウェイ31において障害が発生した場合に、管理サーバ51が実施する処理について説明する。
【0069】
まず、管理サーバ51における送受信部517は、syslogパケットを受信すると、障害検出部507に出力する。そして、障害検出部507は、syslogパケットに基づき、ゲートウェイ(ここでは、ゲートウェイ31)において障害が発生したことを検出する(図27:ステップS51)。
【0070】
そして、要求部513は、障害が発生したゲートウェイに最も近いルータ(ここでは、ルータ11)をゲートウェイ管理テーブルから特定する(ステップS53)。
【0071】
また、要求部513は、ステップS53において特定されたルータがACTになっているVRRPグループ(ここでは、VRRPグループ1)をVRRP管理テーブルから特定する(ステップS55)。
【0072】
そして、要求部513は、障害が発生していないゲートウェイ(ここでは、ゲートウェイ32)について、ステップS55において特定されたVRRPグループに対応するトンネル(ここでは、トンネル62)を特定する(ステップS57)。
【0073】
そして、特定部511は、ステップS55において特定されたVRRPグループに対応するフロー(ここでは、フロー1)を割り当てテーブルから特定する(ステップS59)。
【0074】
さらに、要求部513は、ステップS57において特定されたトンネルの識別子とステップS59において特定されたフローの識別子とを含む、フロー管理テーブルの設定要求を生成する。そして、送受信部517は、生成された設定要求を、障害が発生していないゲートウェイに送信する(ステップS61)。そして処理を終了する。
【0075】
一方、ステップS61の処理の後、ゲートウェイ32は、ステップS21及びS23(図14)の処理を実施する。そして、図16に示したフロー管理テーブルは、図28のように変更される。すなわち、ゲートウェイ32は、障害が発生したゲートウェイ31の代わりにフロー1を担当することになり、フロー1に係るパケットをトンネル62を利用してルータ11に送信する。
【0076】
一方、ゲートウェイ31において障害が発生した場合に、管理サーバ52は以下のような処理を実施する。
【0077】
まず、管理サーバ52における送受信部517は、syslogパケットを受信すると、障害検出部507に出力する。そして、障害検出部507は、syslogパケットに基づき、トンネル(ここでは、トンネル61及び63)において障害が発生したことを検出する(図29:ステップS71)。管理サーバ52は、ゲートウェイ31とはネットワーク1によって隔てられているため、ゲートウェイ31に障害が発生したことを直接検出することはできない。そこで、管理サーバ52は、トンネルに障害が発生したことにより、ゲートウェイに障害が発生したことを検出する。
【0078】
そして、要求部513は、ゲートウェイ管理テーブルにおけるゲートウェイの列及びトンネルの列のデータを用いて、障害が発生したトンネルに係るゲートウェイ(ここでは、ゲートウェイ33及び34)を特定する(ステップS73)。
【0079】
そして、要求部513は、ゲートウェイ管理テーブルにおけるトンネルの列及びVRRPグループの列のデータを用いて、障害が発生したトンネルに対応するVRRPグループ(ここでは、VRRPグループ3)を特定する(ステップS75)。
【0080】
そして、要求部513は、ステップS75において特定されたVRRPグループのマスタルータ(ここでは、ルータ13)をVRRP管理テーブルから特定する(ステップS77)。
【0081】
そして、要求部513は、ステップS73において特定されたゲートウェイのうち、最も近いルータをマスタルータとするゲートウェイ(ここでは、ゲートウェイ33)をゲートウェイ管理テーブルから特定する(ステップS79)。
【0082】
また、特定部511は、ステップS75において特定されたVRRPグループに対応するフロー(ここでは、フロー1)を割り当てテーブルから特定する(ステップS81)。
【0083】
そして、要求部513は、ステップS79において特定されたゲートウェイについて設定されているトンネルのうち障害が発生していない方のトンネル(ここでは、トンネル62)の識別子とステップS81において特定されたフローの識別子とを含む、フロー管理テーブルの設定要求を生成する。そして、送受信部517は、生成された設定要求を、ステップS79において特定されたゲートウェイに送信する(ステップS83)。
【0084】
また、要求部513は、障害が発生したトンネルの識別子(ここでは、トンネル61)の識別子を含むエントリをFDB301から削除することを要求する削除要求を生成する。そして、送受信部517は、生成された削除要求を、ステップS79において特定されたゲートウェイに送信する(ステップS85)。そして処理を終了する。
【0085】
一方、ステップS83の処理の後、ゲートウェイ33は、ステップS21及びS23(図14)の処理を実施する。そして、図15に示したフロー管理テーブルは、図30のように変更される。すなわち、ゲートウェイ33は、フロー1に係るパケットを、障害が発生したトンネル61の代わりにトンネル62を利用してルータ14に送信する。
【0086】
また、ステップS85の処理の後、ゲートウェイ33は、図31に示すような処理を実行する。まず、ゲートウェイ33における送受信管理部311は、管理サーバ52から特定のポートを介して削除要求を受信すると(図31:ステップS91)、削除要求をFDB管理部307に出力する。そして、FDB管理部307は、削除要求に含まれるトンネルの識別子を含むエントリを、FDB301から削除する(ステップS93)。ここまでの処理によって、図25に示したFDB301は、図32のように変更される。そして処理を終了する。
【0087】
以上のような処理を実施することにより、図33に示すように、ゲートウェイ33は、障害が発生したトンネル61を使用しないように設定される。そして、ゲートウェイ32が、トンネル62を利用してフロー1に係るパケットをゲートウェイ31の代わりに転送する。これによって、パケットの転送を滞りなく行うことができるようになる。
【0088】
次に、図34及び35を用いて、ルータにおいて障害が発生した場合に行われる処理について説明する。例えばルータ11に障害が発生すると、ルータ11はadvertiseパケットをルータ12等に送信しなくなる。ルータ12は、ルータ11からadvertiseパケットを受信しなくなったことによって、ルータ11において障害が発生したことを確認する。
【0089】
ルータ12は、ルータ11に対して送信するパケットをルータ12に対して送信するように設定を変更することを要求するメッセージ(例えば、GARP(Gratuitous Address Resolution Protocol)のメッセージ)をゲートウェイ31及び32等に送信する。
【0090】
これに対し、ゲートウェイ31及び32は、図34に示すようにトンネルの設定を変更する。すなわち、ルータ11を経由するトンネル61及び62は、ルータ12を経由するように設定が変更される。これによって、フロー1に係るパケットはルータ12を経由するようになる。
【0091】
また、このように設定が変更されると、ゲートウェイ間のトンネルは、図35のようになる。ここでは、ゲートウェイ31及び32のトンネルの設定は変更されているが、ゲートウェイ33及び34のトンネルの設定は変更されていない。そして、このようにトンネルが設定されれば、ゲートウェイにおけるフロー管理テーブル及びFDBの設定を変更しなくても、滞りなくパケットを転送することができる。
【0092】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した管理サーバ及びゲートウェイの機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【0093】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【0094】
なお、上で述べた例では、ゲートウェイとは別に管理サーバを設けるようにしているが、ゲートウェイと管理サーバとが一体であってもよい。この場合には、複数のゲートウェイのうちいずれかのゲートウェイに、管理サーバの機能を持たせるようにすればよい。
【0095】
また、上で述べた例では、各管理サーバが管理するゲートウェイの数は2台であるが、2台より多くてもよい。この場合、障害が発生したゲートウェイの代わりに利用するゲートウェイは、優先度等を用いて決定すればよい。
【0096】
また、上で述べた例では、管理サーバにおいて、各ゲートウェイについて最も近いルータを管理するようにしているが、各ルータについて最も近いゲートウェイを管理するようにしてもよい。
【0097】
なお、上で述べた管理サーバ51及び52は、コンピュータ装置であって、図36に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【0098】
なお、図4に示した各処理部は、図36におけるCPU2503及びプログラムの組み合わせ、すなわち、CPU2503がプログラムを実行することにより実現してもよい。また、図4に示した各データ格納部は、図36におけるメモリ2501やHDD2505等として実現してもよい。
【0099】
以上述べた本技術の実施の形態をまとめると以下のようになる。
【0100】
本実施の形態に係る情報処理装置は、(A)複数のルータのうち第1のルータからパケットを受信した場合に、ルータ毎に当該ルータが担当する通信種別(例えば、実施の形態におけるフロー)を管理するための第1データを用いて、第1のルータが担当する通信種別を特定する特定部と、(B)各々複数のルータの各々に対してパケットを転送するためのトンネルの設定がされており且つ複数のルータの配下にある複数のレイヤ2装置のうち、第1のルータに最も近いレイヤ2装置に対し、特定された通信種別に係るパケットを第1のルータにパケットを転送するためのトンネルに出力するように要求する要求部とを有する。
【0101】
このようにすれば、ルータの担当状況に合わせて複数のレイヤ2装置が使い分けられるので、パケットを効率的に転送することができるようになる。
【0102】
また、本情報処理装置が、(C)ネットワークにおける障害の発生を検出する検出部をさらに有するようにしてもよい。そして、上で述べた特定部が、(a1)検出部により、複数のレイヤ2装置のうち第1のレイヤ2装置において障害が発生したことが検出された場合に、第1データを用いて、複数のルータのうち第1のレイヤ2装置に最も近いルータが担当する通信種別を特定するようにしてもよい。また、上で述べた要求部が、(b1)複数のレイヤ2装置のうち第1のレイヤ2装置とは異なるレイヤ2装置のいずれかに対し、特定された通信種別に係るパケットを第1のレイヤ2装置に最も近いルータにパケットを転送するためのトンネルに出力するように要求するようにしてもよい。このようにすれば、障害が発生したレイヤ2装置の代わりのレイヤ2装置によって、滞りなくパケットを転送することができるようになる。
【0103】
また、上で述べた特定部が、(a2)検出部により、第1のトンネルにおける障害が検出された場合に、第1データを用いて、複数のルータのうち第1のトンネル上にある第2のルータが担当する通信種別を特定するようにしてもよい。また、上で述べた要求部が、(b2)複数のレイヤ2装置のうち第2のルータに最も近いレイヤ2装置に対し、特定された通信種別に係るパケットを複数のルータのうち第2のルータとは異なるルータにパケットを転送するためのトンネルのいずれかに出力するように要求し且つ第2のルータにパケットを転送しないように要求するようにしてもよい。このようにすれば、障害が発生したトンネル上にあるルータを避けることができるので、滞りなくパケットを転送することができるようになる。
【0104】
また、第1のルータから受信したパケットには、当該第1のルータの識別子と当該第1のルータが属するグループの識別子とが含まれるようにし、第1データには、グループの識別子と当該グループが担当する通信種別の識別子とを対応付けるための第1管理データと、グループの識別子と当該グループに属するルータのうちパケットの転送を担当するルータの識別子とを対応付けるための第2管理データとが含まれるようにしてもよい。そして、(D)第1のルータからパケットを受信した場合に、当該第1のルータが属するグループの識別子と第1のルータの識別子とで、第2管理データを更新する更新部とをさらに有するようにしてもよい。そして、上で述べた特定部が、(a3)第1のルータからパケットを受信した場合に、第1管理データを用いて、第1のルータが属するグループの識別子に対応する通信種別の識別子を特定するようにしてもよい。このようにすれば、複数のルータが例えばVRRPによって制御されている場合であっても、ルータが担当する通信種別を適切に特定することができる。
【0105】
また、(E)複数のレイヤ2装置の各々について当該レイヤ2装置に最も近いルータの識別子を格納するデータ格納部をさらに有するようにしてもよい。そして、上で述べた特定部及び要求部が、データ格納部に格納されているデータを用いて処理を行うようにしてもよい。このようなデータ格納部を利用することで、レイヤ2装置からルータまでが最短経路となるようにすることができる。
【0106】
本実施の形態に係るレイヤ2装置は、(F)アドレスと出力先の識別子とを対応付けて格納する第1データ格納部と、(G)通信種別の識別子と当該通信種別に係るパケットをカプセル化して転送するためのトンネルの設定がされている出力先の識別子とを対応付けて格納する第2データ格納部と、(H)受信したパケットに含まれる宛先アドレスが第1データ格納部に格納されているか判断し、受信したパケットに含まれる宛先アドレスが第1データ格納部に格納されていないと判断した場合に、受信したパケットの通信種別に対応する出力先の識別子が第2データ格納部に格納されているか判断し、受信したパケットの通信種別に対応する出力先の識別子が第2データ格納部に格納されていると判断した場合に、受信したパケットの通信種別に対応する出力先に、受信したパケットをカプセル化して出力させる指示部とを有する。このようにすれば、受信したパケットの通信種別に応じて、適切なトンネルにパケットを出力することができるようになる。
【0107】
また、上で述べた指示部が、(h1)受信したパケットに含まれる宛先アドレスが第1データ格納部に格納されていないと判断した場合に、パケットを受信したポートにトンネルの設定がされているか判断し、(h2)パケットを受信したポートにトンネルの設定がされていると判断した場合に、パケットのフラッディングを実行し、(h3)パケットに含まれる宛先アドレスが第1データ格納部に格納されておらず且つパケットを受信したポートにトンネルの設定がされていないと判断した場合に、受信したパケットの通信種別に対応する出力先の識別子が第2データ格納部に格納されているか判断するようにしてもよい。パケットを受信したポートにトンネルの設定がされている場合には、当該パケットは外部のネットワークを介して受信したものであると推定できる。そこで、上で述べたような処理を行うことにより、レイヤ2装置の配下にある宛先の装置にパケットを届けることができるようになる。
【0108】
また、上で述べた指示部が、(h4)受信したパケットの通信種別に対応する出力先の識別子が第2データ格納部に格納されていないと判断した場合に、受信したパケットを廃棄するようにしてもよい。これにより、出力先が不明である場合にも対処することができるようになる。
【0109】
また、上で述べた指示部が、(h5)通信種別の識別子とトンネルの識別子とを含む設定要求を、レイヤ2装置の通信を管理する情報処理装置から受信した場合に、受信したトンネルの識別子を、通信種別の識別子に対応付けて第2データ格納部に格納するようにしてもよい。このようにすれば、情報処理装置からの要求に沿うようにパケットの転送を行うことができるようになる。
【0110】
また、上で述べた指示部が、トンネルの識別子を含む削除要求を、レイヤ2装置の通信を管理する情報処理装置から受信した場合に、受信したトンネルの識別子を含むエントリを第1データ格納部から削除するようにしてもよい。このようにすれば、パケットを出力すべきでないトンネルにパケットを出力することを防止できるようになる。
【0111】
また、通信種別の識別子が、パケットの送信元アドレス及び宛先アドレスを用いて計算されたハッシュ値であってもよい。なお、パケットに含まれる通信プロトコルの識別情報、プライオリティの情報、あるいはVLANの情報等を利用してもよい。
【0112】
本実施の形態に係る情報処理方法は、(I)複数のルータのうち第1のルータからパケットを受信した場合に、ルータ毎に当該ルータが担当する通信種別を管理するための第1データを用いて、第1のルータが担当する通信種別を特定し、(J)各々複数のルータの各々に対してパケットを転送するためのトンネルの設定がされており且つ複数のルータの配下にある複数のレイヤ2装置のうち、第1のルータに最も近いレイヤ2装置に対し、特定された通信種別に係るパケットを第1のルータにパケットを転送するためのトンネルに出力するように要求する処理を、コンピュータが実行する。
【0113】
本実施の形態に係る中継処理方法は、(K)受信したパケットに含まれる宛先アドレスが、アドレスと出力先の識別子とを対応付けて格納する第1データ格納部に格納されているか判断し、(L)受信したパケットに含まれる宛先アドレスが第1データ格納部に格納されていないと判断した場合に、受信したパケットの通信種別に対応する出力先の識別子が、通信種別の識別子と当該通信種別に係るパケットをカプセル化して転送するためのトンネルの設定がされている出力先の識別子とを対応付けて格納する第2データ格納部に格納されているか判断し、(M)受信したパケットの通信種別に対応する出力先の識別子が第2データ格納部に格納されていると判断した場合に、受信したパケットの通信種別に対応する出力先に、受信したパケットをカプセル化して出力させる処理を、コンピュータが実行する。
【0114】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【0115】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0116】
(付記1)
複数のルータのうち第1のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第1データを用いて、前記第1のルータに割り当てられた通信種別を特定する特定部と、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第1のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを前記第1のルータにパケットを転送するための仮想回線に出力するように要求する要求部と、
を有する情報処理装置。
【0117】
(付記2)
ネットワークにおける障害の発生を検出する検出部
をさらに有し、
前記特定部が、
前記検出部により、前記複数の通信装置のうち第1の通信装置において障害が発生したことが検出された場合に、前記第1データを用いて、前記複数のルータのうち前記第1の通信装置に最も近いルータに割り当てられた通信種別を特定し、
前記要求部が、
前記複数の通信装置のうち前記第1の通信装置とは異なる通信装置のいずれかに対し、特定された通信種別に係るパケットを前記第1の通信装置に最も近いルータにパケットを転送するための仮想回線に出力するように要求する
付記1記載の情報処理装置。
【0118】
(付記3)
前記特定部が、
前記検出部により、第1の仮想回線における障害が検出された場合に、前記第1データを用いて、前記複数のルータのうち前記第1の仮想回線上にある第2のルータに割り当てられた通信種別を特定し、
前記要求部が、
前記複数の通信装置のうち前記第2のルータに最も近い通信装置に対し、特定された前記通信種別に係るパケットを前記複数のルータのうち前記第2のルータとは異なるルータにパケットを転送するための仮想回線のいずれかに出力するように要求し、且つ前記第2のルータにパケットを転送しないように要求する
付記2記載の情報処理装置。
【0119】
(付記4)
前記第1のルータから受信したパケットには、前記第1のルータの識別子と前記第1のルータが属するグループの識別子とが含まれ、
前記第1データには、グループの識別子と当該グループに割り当てられた通信種別の識別子とを対応付ける第1管理データと、グループの識別子と当該グループに属するルータのうちパケットを転送するルータの識別子とを対応付ける第2管理データとが含まれ、
前記第1のルータからパケットを受信した場合に、当該第1のルータが属するグループの識別子と前記第1のルータの識別子とで、前記第2管理データを更新する更新部
をさらに有し、
前記特定部が、
前記第1のルータからパケットを受信した場合に、前記第1管理データを用いて、前記第1のルータが属するグループの識別子に対応する通信種別の識別子を特定する
付記1乃至3のいずれか1つ記載の情報処理装置。
【0120】
(付記5)
前記複数の通信装置の各々について当該通信装置に最も近いルータの識別子を格納するデータ格納部
をさらに有し、
前記特定部及び前記要求部が、前記データ格納部に格納されているデータを用いて処理を行う
付記1乃至4のいずれか1つ記載の情報処理装置。
【0121】
(付記6)
パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第1データ格納部と、
通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第2データ格納部と、
受信したパケットに含まれる宛先アドレスが前記第1データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第1データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる指示部と、
を有する通信装置。
【0122】
(付記7)
前記指示部が、
受信した前記パケットに含まれる宛先アドレスが前記第1データ格納部に格納されていないと判断した場合に、前記パケットを受信したポートに仮想回線の設定がされているか判断し、
前記パケットを受信したポートに仮想回線の設定がされていると判断した場合に、前記パケットのフラッディングを実行し、
前記パケットに含まれる宛先アドレスが前記第1データ格納部に格納されておらず且つ前記パケットを受信したポートに仮想回線の設定がされていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されているか判断する
付記6記載の通信装置。
【0123】
(付記8)
前記指示部が、
受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されていないと判断した場合に、受信した前記パケットを廃棄する
付記6又は7記載の通信装置。
【0124】
(付記9)
前記指示部は、
通信種別の識別子と仮想回線の識別子とを含む設定要求を、前記通信装置の通信を管理する情報処理装置から受信した場合に、受信した前記仮想回線の識別子を、前記通信種別の識別子に対応付けて前記第2データ格納部に格納する
付記6乃至8のいずれか1つ記載の通信装置。
【0125】
(付記10)
前記指示部は、
仮想回線の識別子を含む削除要求を、前記通信装置の通信を管理する情報処理装置から受信した場合に、受信した前記仮想回線の識別子を含むエントリを前記第1データ格納部から削除する
付記6乃至9のいずれか1つ記載の通信装置。
【0126】
(付記11)
前記通信種別の識別子が、パケットの送信元アドレス及び宛先アドレスを用いて計算されたハッシュ値である
付記6乃至10のいずれか1つ記載の通信装置。
【0127】
(付記12)
複数のルータのうち第1のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第1データを用いて、前記第1のルータに割り当てられた通信種別を特定し、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第1のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを前記第1のルータにパケットを転送するための仮想回線に出力するように要求する
処理を、コンピュータが実行する情報処理方法。
【0128】
(付記13)
複数のルータのうち第1のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第1データを用いて、前記第1のルータに割り当てられた通信種別を特定し、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第1のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを前記第1のルータにパケットを転送するための仮想回線に出力するように要求する
処理を、コンピュータに実行させるための情報処理プログラム。
【0129】
(付記14)
受信したパケットに含まれる宛先アドレスが、パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第1データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第1データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が、通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第2データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる
処理を、コンピュータが実行する中継処理方法。
【0130】
(付記15)
受信したパケットに含まれる宛先アドレスが、パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第1データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第1データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が、通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第2データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる
処理を、コンピュータに実行させるための中継処理プログラム。
【符号の説明】
【0131】
1,3,5 ネットワーク 11,12,13,14 ルータ
21,22,23,24,25,26,27,28 スイッチ
31,32,33,34 ゲートウェイ 41,42,43,44 仮想マシン
51,52 管理サーバ 61,62,63,64 トンネル
501 割り当てデータ格納部 503 ゲートウェイデータ格納部
505 VRRPデータ格納部 507 障害検出部
509 ゲートウェイ制御部 511 特定部
513 要求部 515 VRRP状態管理部
517 送受信部 301 FDB
303 管理データ格納部 305 管理部
307 FDB管理部 309 フロー管理部
311 送受信管理部

【特許請求の範囲】
【請求項1】
複数のルータのうち第1のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第1データを用いて、前記第1のルータに割り当てられた通信種別を特定する特定部と、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第1のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを前記第1のルータにパケットを転送するための仮想回線に出力するように要求する要求部と、
を有する情報処理装置。
【請求項2】
ネットワークにおける障害の発生を検出する検出部
をさらに有し、
前記特定部が、
前記検出部により、前記複数の通信装置のうち第1の通信装置において障害が発生したことが検出された場合に、前記第1データを用いて、前記複数のルータのうち前記第1の通信装置に最も近いルータに割り当てられた通信種別を特定し、
前記要求部が、
前記複数の通信装置のうち前記第1の通信装置とは異なる通信装置のいずれかに対し、特定された通信種別に係るパケットを前記第1の通信装置に最も近いルータにパケットを転送するための仮想回線に出力するように要求する
請求項1記載の情報処理装置。
【請求項3】
前記特定部が、
前記検出部により、第1の仮想回線における障害が検出された場合に、前記第1データを用いて、前記複数のルータのうち前記第1の仮想回線上にある第2のルータに割り当てられた通信種別を特定し、
前記要求部が、
前記複数の通信装置のうち前記第2のルータに最も近い通信装置に対し、特定された前記通信種別に係るパケットを前記複数のルータのうち前記第2のルータとは異なるルータにパケットを転送するための仮想回線のいずれかに出力するように要求し且つ前記第2のルータにパケットを転送しないように要求する
請求項2記載の情報処理装置。
【請求項4】
前記第1のルータから受信したパケットには、前記第1のルータの識別子と前記第1のルータが属するグループの識別子とが含まれ、
前記第1データには、グループの識別子と当該グループに割り当てられた通信種別の識別子とを対応付ける第1管理データと、グループの識別子と当該グループに属するルータのうちパケットを転送するルータの識別子とを対応付ける第2管理データとが含まれ、
前記第1のルータからパケットを受信した場合に、当該第1のルータが属するグループの識別子と前記第1のルータの識別子とで、前記第2管理データを更新する更新部
をさらに有し、
前記特定部が、
前記第1のルータからパケットを受信した場合に、前記第1管理データを用いて、前記第1のルータが属するグループの識別子に対応する通信種別の識別子を特定する
請求項1乃至3のいずれか1つ記載の情報処理装置。
【請求項5】
パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第1データ格納部と、
通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第2データ格納部と、
受信したパケットに含まれる宛先アドレスが前記第1データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第1データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる指示部と、
を有する通信装置。
【請求項6】
前記指示部が、
受信した前記パケットに含まれる宛先アドレスが前記第1データ格納部に格納されていないと判断した場合に、前記パケットを受信したポートに仮想回線の設定がされているか判断し、
前記パケットを受信したポートに仮想回線の設定がされていると判断した場合に、前記パケットのフラッディングを実行し、
前記パケットに含まれる宛先アドレスが前記第1データ格納部に格納されておらず且つ前記パケットを受信したポートに仮想回線の設定がされていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されているか判断する
請求項5記載の通信装置。
【請求項7】
前記指示部が、
受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されていないと判断した場合に、受信した前記パケットを廃棄する
請求項5又は6記載の通信装置。
【請求項8】
前記指示部は、
通信種別の識別子と仮想回線の識別子とを含む設定要求を、前記通信装置の通信を管理する情報処理装置から受信した場合に、受信した前記仮想回線の識別子を、前記通信種別の識別子に対応付けて前記第2データ格納部に格納する
請求項5乃至7のいずれか1つ記載の通信装置。
【請求項9】
前記指示部は、
仮想回線の識別子を含む削除要求を、前記通信装置の通信を管理する情報処理装置から受信した場合に、受信した前記仮想回線の識別子を含むエントリを前記第1データ格納部から削除する
請求項5乃至8のいずれか1つ記載の通信装置。
【請求項10】
複数のルータのうち第1のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第1データを用いて、前記第1のルータに割り当てられた通信種別を特定し、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第1のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを前記第1のルータにパケットを転送するための仮想回線に出力するように要求する
処理を、コンピュータが実行する情報処理方法。
【請求項11】
複数のルータのうち第1のルータからパケットを受信した場合に、各ルータに割り当てられた通信種別を示す第1データを用いて、前記第1のルータに割り当てられた通信種別を特定し、
前記複数のルータの各々に対してパケットを転送するための仮想回線の設定がされており且つ前記複数のルータの配下にある複数の通信装置のうち、前記第1のルータに最も近い通信装置に対し、特定された通信種別に係るパケットを前記第1のルータにパケットを転送するための仮想回線に出力するように要求する
処理を、コンピュータに実行させるための情報処理プログラム。
【請求項12】
受信したパケットに含まれる宛先アドレスが、パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第1データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第1データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が、通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第2データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる
処理を、コンピュータが実行する中継処理方法。
【請求項13】
受信したパケットに含まれる宛先アドレスが、パケットの送信元アドレスと出力先のポートの識別子とを対応付けて格納する第1データ格納部に格納されているか判断し、
受信した前記パケットに含まれる宛先アドレスが前記第1データ格納部に格納されていないと判断した場合に、受信した前記パケットの通信種別に対応するポートの識別子が、通信種別の識別子と当該通信種別に係るパケットを転送するための仮想回線の設定がされているポートの識別子とを対応付けて格納する第2データ格納部に格納されているか判断し、
受信した前記パケットの通信種別に対応するポートの識別子が前記第2データ格納部に格納されていると判断した場合に、受信した前記パケットの通信種別に対応するポートに、受信した前記パケットを出力させる
処理を、コンピュータに実行させるための中継処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate