以下、本発明に係るMACアドレス変換装置、MACアドレス変換方法、MACアドレス変換プログラム、及び拠点間接続システムの実施形態を説明する。なお、以下の実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1は、第1の実施形態に係る拠点間接続システム1の構成例を示す図である。図1に示すように、第1の実施形態に係る拠点間接続システム1は、拠点A及び拠点Bを収容し、拠点Aと拠点Bとを相互に接続する。例えば、拠点間接続システム1は、拠点A配下の端末30−1から送信されたフレームを、拠点B配下の端末30−2に向けて転送する。
具体的には、第1の実施形態に係る拠点間接続システム1は、MACアドレス変換装置10と、転送部20−1と、転送部20−2とを備える。転送部20−1は、拠点A配下の端末30−1から送信されたフレームを受信すると、このフレームに含まれるMACアドレスに基づく経路制御(以下、スイッチング)によって、受信したフレームを転送する。なお、この経路制御は公知の手法を用いて実現することができる。
例えば、拠点A配下の端末30−1から送信されたフレームには、宛先MACアドレスとして「拠点A内で拠点B配下の端末30−2が一意に識別されるMACアドレス」が含まれる。一方、転送部20−1は、このMACアドレスを宛先MACアドレスとして含むフレームを出力すべきインタフェースの情報をスイッチング情報として有している。このため、転送部20−1は、このスイッチング情報に従って、拠点A配下の端末30−1から送信されたフレームを転送する。
転送部20−1によって転送されたフレームは、MACアドレス変換装置10によって受信される。MACアドレス変換装置10は、転送部20−1によって転送されたフレームを受信すると、このフレームに含まれるMACアドレスを変換する。
例えば、転送部20−1によって転送されたフレームには、送信元MACアドレスとして、「拠点A内で拠点A配下の端末30−1が一意に識別されるMACアドレス」が含まれ、宛先MACアドレスとして、「拠点A内で拠点B配下の端末30−2が一意に識別されるMACアドレス」が含まれる。MACアドレス変換装置10は、予め設定されたMACアドレス変換テーブルを参照し、この送信元MACアドレスを、「拠点B内で拠点A配下の端末30−1が一意に識別されるMACアドレス」に変換し、宛先MACアドレスを、「拠点B内で拠点B配下の端末30−2が一意に識別されるMACアドレス」に変換する。
MACアドレス変換装置10によってMACアドレスが変換されたフレームは、転送部20−2によって受信される。転送部20−2は、MACアドレス変換部10によってMACアドレスが変換されたフレームを受信すると、このフレームに含まれるMACアドレスに基づくスイッチングによって、受信したフレームを転送する。
例えば、MACアドレス変換装置10によってMACアドレスが変換されたフレームには、宛先MACアドレスとして「拠点B内で拠点B配下の端末30−2が一意に識別されるMACアドレス」が含まれる。一方、転送部20−2は、このMACアドレスを宛先MACアドレスとして含むフレームを出力すべきインタフェースの情報をスイッチング情報として有している。このため、転送部20−2は、このスイッチング情報に従って、MACアドレス変換装置10によってMACアドレスが変換されたフレームを転送する。
このように、第1の実施形態に係る拠点間接続システム1は、送信元側の拠点内で独立に用いられているMACアドレスに従ってまずスイッチングを行い、スイッチング後、フレームに含まれるMACアドレスを変換する。変換後のMACアドレスは、宛先側の拠点内で独立に用いられているMACアドレスである。このため、拠点間接続システム1は、この変換後のMACアドレスに従ってスイッチングを行い、宛先の端末に向けてフレームを転送する。
このように、拠点間接続システム1は、フレームに含まれる送信元MACアドレス及び宛先MACアドレスの双方を、送信元側の拠点内で独立に用いられているMACアドレスから、宛先側の拠点内で独立に用いられているMACアドレスへと変換し、MACアドレス変換後のフレームを宛先側の拠点に向けて出力する。
このようなことから、第1の実施形態によれば、MACアドレスは、各拠点内で一意に割り当てられればよいので、MACアドレスの重複を適切に解決することができる。言い換えると、第1の実施形態によれば、各拠点にて用いられるMACアドレスが重複する場合であっても、相互に、接続先拠点にて用いられている(又は用いられる)MACアドレスに注意を払う必要がない。
なお、図2は、第1の実施形態の変形例に係る拠点間接続システム1の構成例を示す図である。図2に示すように、拠点間接続システム1は、転送部20−1及び転送部20−2が各拠点に設置される構成であってもよい。また、拠点間接続システム1は、転送部20−1及び転送部20−2の一方が拠点に設置される構成であってもよい。
(第2の実施形態)
次に、第2の実施形態を説明する。なお、第2の実施形態においては、MACアドレス変換の方式として、「SingleMAT(MAC Address Translation)双方向方式」、「SingleMAT片方向方式」、「TwiceMAT双方向方式」、「TwiceMAT片方向方式」の4方式について、順に説明する。また、第2の実施形態においては、拠点間接続システム1が、クラウド拠点A及びクラウド拠点Bの2拠点を相互に接続する例を説明するが、実施形態はこれに限られるものではない。拠点間接続システム1は、1つの協働空間に参加する複数の拠点について、2拠点ずつフルメッシュ型に接続するので、拠点の数は任意に変更可能である。
ここで、第2の実施形態に係る拠点間接続システム1を説明する前に、第2の実施形態に係る拠点間接続システム1が適用されない場合の課題について説明する。複数のクラウド拠点間が相互に接続され、クラウド拠点において仮想マシン技術が用いられた場合、各クラウド拠点で用いられる仮想マシンのMACアドレスが、クラウド拠点間で重複することがある。図3は、仮想マシンのMACアドレスの重複を説明するための図である。図3において、実線矢印は、既に構築済みのクラウド拠点間接続を示し、点線矢印は、新規に構築されるクラウド拠点間接続を示す。仮想マシンのMACアドレスは、各クラウド拠点内においては一意に割り当てられるが、図3に示すように、例えば、クラウド拠点Aの仮想マシンA−2と、クラウド拠点Bの仮想マシンB−2との間のクラウド拠点間接続が新規に構築されると、例えば、クラウド拠点Aの仮想マシンA−2のMACアドレスと、クラウド拠点Bの仮想マシンB−1のMACアドレスとが重複してしまう。
第2の実施形態に係る拠点間接続システム1が適用されない場合、例えば、複数のクラウド拠点間において重複するMACアドレス、及び、未重複且つ未使用のMACアドレスを調査し、調査した未使用のMACアドレスを各クラウド拠点の該当する仮想マシンに再設定する必要がある。
この点、第2の実施形態に係る拠点間接続システム1によれば、以下に説明するように、MACアドレスは、各クラウド拠点内で一意に割り当てられればよいので、MACアドレスの重複を適切に解決することができる。以下、第2の実施形態に係る拠点間接続システム1を説明する。
(SingleMAT双方向方式)
図4及び図5は、第2の実施形態に係るMACアドレス変換の具体例(SingleMAT双方向方式)を説明するための図である。
図4に示すように、各クラウド拠点においては、クラウド管理部と、ハイパーバイザ(hypervisor)とが備えられ、ハイパーバイザによって構築された仮想マシンが動作する。例えば、クラウド拠点Aには、クラウド管理部Aと、ハイパーバイザAとが備えられ、ハイパーバイザAによって構築された仮想マシンA−1及び仮想マシンA−2が動作する。クラウド管理部Aは、クラウド拠点A内の各仮想マシンに割り当てられたMACアドレスを管理する。ハイパーバイザAは、クラウド管理部Aとの間で情報のやり取りを行い、例えば、仮想マシンに設定したMACアドレスをクラウド管理部Aに通知する。例えば、ハイパーバイザAは、仮想マシンから受け取ったパケットにMACアドレスを記載し、クラウド管理部Aに通知する。なお、説明を割愛するが、クラウド拠点Bも、クラウド拠点Aと同様に構成される。
ここで、図4に示すように、SingleMAT双方向方式において、拠点間接続システム1は、MACアドレス変換装置として、MACアドレス変換装置10−1及びMACアドレス変換装置10−2を備える。
第2の実施形態において、MACアドレス変換装置10−1は、クラウド拠点A側から送信されたフレームについては、送信元MACアドレスを変換し、クラウド拠点B側から送信されたフレームについては、宛先MACアドレスを変換する。すなわち、MACアドレス変換装置10−1は、クラウド拠点A配下の仮想マシンのMACアドレスについて変換を行う。また、MACアドレス変換装置10−2は、クラウド拠点A側から送信されたフレームについては、宛先MACアドレスを変換し、クラウド拠点B側から送信されたフレームについては、送信元MACアドレスを変換する。すなわち、MACアドレス変換装置10−2は、クラウド拠点B配下の仮想マシンのMACアドレスについて変換を行う。
なお、図4において、例えば[S−MAT A−B]との表記は、方式がSingleMATであり、クラウド拠点A配下の仮想マシンのMACアドレスを変換すること(クラウド拠点Bは接続先であること)を示す。
図5を用いて、クラウド拠点A側からクラウド拠点B側に向けて転送されるフレームのMACアドレス変換を説明する。まず、図5に示すように、例えば、クラウド拠点Aにおいては、クラウド拠点A内で仮想マシンA−1が一意に識別されるMACアドレスとして『MACアドレス1』を用い、クラウド拠点A内で仮想マシンA−2が一意に識別されるMACアドレスとして『MACアドレス2』を用いる。また、クラウド拠点Aにおいては、クラウド拠点A内で、接続先であるクラウド拠点B内の仮想マシンB−1が一意に識別されるMACアドレスとして『MACアドレス3』を用い、クラウド拠点B内の仮想マシンB−2が一意に識別されるMACアドレスとして『MACアドレス4』を用いる。仮想マシンB−1及び仮想マシンB−2は、クラウド拠点A内に構築される仮想マシンではなく、クラウド拠点B内に構築される仮想マシンであるので、図5において点線の枠で囲んだ。
一方、例えば、クラウド拠点Bにおいては、クラウド拠点B内で仮想マシンB−1が一意に識別されるMACアドレスとして『MACアドレス1』を用い、クラウド拠点B内で仮想マシンB−2が一意に識別されるMACアドレスとして『MACアドレス2』を用いる。また、クラウド拠点Bにおいては、クラウド拠点B内で、接続先であるクラウド拠点A内の仮想マシンA−1が一意に識別されるMACアドレスとして『MACアドレス3』を用い、クラウド拠点A内の仮想マシンA−2が一意に識別されるMACアドレスとして『MACアドレス4』を用いる。仮想マシンA−1及び仮想マシンA−2は、クラウド拠点B内に構築される仮想マシンではなく、クラウド拠点A内に構築される仮想マシンであるので、図5において点線の枠で囲んだ。
このように、クラウド拠点Aとクラウド拠点Bとでは、同一のMACアドレスが用いられているにもかかわらず、例えば『MACアドレス1』は、クラウド拠点A内では仮想マシンA−1に割り当てられ、クラウド拠点B内では仮想マシンB−1に割り当てられるといったように、異なる仮想マシンを識別するMACアドレスとなっている。すなわち、MACアドレスの重複が生じている。
しかしながら、このような場合にも、第2の実施形態に係る拠点間接続システム1によれば、フレームに含まれる送信元MACアドレス及び宛先MACアドレスの双方を、送信元側のクラウド拠点A内で独立に用いられているMACアドレスから、宛先側のクラウド拠点B内で独立に用いられているMACアドレスへと強制的に変換するので、MACアドレスの重複が問題とならない。
具体的に説明すると、まず、クラウド拠点A側の転送部20−1は、クラウド拠点A配下の仮想マシンA−1から送信されたフレームを受信すると、このフレームに含まれるMACアドレスであって、クラウド拠点A内でクラウド拠点B配下の仮想マシンB−1が一意に識別されるMACアドレス『MACアドレス3』に基づくスイッチングによって、このフレームを転送する。なお、転送部20−1は、受信したフレームに含まれるMACアドレスによってどの仮想マシンが送信元であるかを識別することができるが、NIC(Network Interface Card)の識別子を併用する手法によってMACアドレスの詐称を防ぐこともできる。また、図5において、DA(Destination Address)は、宛先MACアドレスを示し、SA(Source Address)は、送信元MACアドレスを示す。
次に、MACアドレス変換装置10−1は、転送部20−1によって転送されたフレームを受信すると、クラウド拠点A用のMACアドレス変換テーブルを参照し、このフレームに含まれる送信元MACアドレス(SA)を変換する。例えば、MACアドレス変換装置10−1は、フレームに含まれる送信元MACアドレス『MACアドレス1』を用いてMACアドレス変換テーブルの「自拠点内」を参照し、自拠点内『MACアドレス1』に対応付けて登録された接続先拠点内『MACアドレス3』を取得する。そして、MACアドレス変換装置10−1は、フレームに含まれる送信元MACアドレス『MACアドレス1』を『MACアドレス3』に書き換え、書き換えたフレームを、このフレームを受信したI/Fの対として予め指定されたI/Fから出力する。
ここで、MACアドレス変換テーブルに登録されている「自拠点内」のMACアドレスは、このMACアドレス変換テーブルが用いられるクラウド拠点側にてこのクラウド拠点配下の仮想マシンが一意に識別されるMACアドレスとして実際に用いられているMACアドレスである。例えば、クラウド拠点A用のMACアドレス変換テーブルの場合、クラウド拠点A側にてクラウド拠点A配下の仮想マシンが一意に識別されるMACアドレスとして実際に用いられているMACアドレスである。
一方、「接続先拠点内」のMACアドレスは、このMACアドレス変換テーブルが用いられるクラウド拠点ではなく、接続先のクラウド拠点側にて、MACアドレス変換テーブルが用いられるクラウド拠点配下の仮想マシンが一意に識別されるMACアドレスとして実際に用いられているMACアドレスである。例えば、クラウド拠点A用のMACアドレス変換テーブルの場合、クラウド拠点B側にてクラウド拠点A配下の仮想マシンが一意に識別されるMACアドレスとして実際に用いられているMACアドレスである。クラウド拠点Bにおいては、クラウド拠点B配下の仮想マシンに割り当てていない未使用のMACアドレスを割り当てる。
すなわち、MACアドレス変換装置10−1は、クラウド拠点A内でクラウド拠点A配下の仮想マシンA−1が一意に識別されるMACアドレス『MACアドレス1』を、クラウド拠点B内でクラウド拠点A配下の仮想マシンA−1が一意に識別されるMACアドレス『MACアドレス3』に変換する。
次に、MACアドレス変換装置10−2は、MACアドレス変換装置10−1によって転送されたフレームを受信すると、クラウド拠点B用のMACアドレス変換テーブルを参照し、このフレームに含まれる宛先MACアドレス(DA)を変換する。例えば、MACアドレス変換装置10−2は、フレームに含まれる宛先MACアドレス『MACアドレス3』を用いてMACアドレス変換テーブルの「接続先拠点内」を参照し、接続先拠点内『MACアドレス3』に対応付けて登録された自拠点内『MACアドレス1』を取得する。そして、MACアドレス変換装置10−2は、フレームに含まれる宛先MACアドレス『MACアドレス3』を『MACアドレス1』に書き換え、書き換えたフレームを、このフレームを受信したI/Fの対として予め指定されたI/Fから出力する。
ここで、MACアドレス変換テーブルに登録されている「自拠点内」のMACアドレスは、このMACアドレス変換テーブルが用いられるクラウド拠点側にてこのクラウド拠点配下の仮想マシンが一意に識別されるMACアドレスとして実際に用いられているMACアドレスである。例えば、クラウド拠点B用のMACアドレス変換テーブルの場合、クラウド拠点B側にてクラウド拠点B配下の仮想マシンが一意に識別されるMACアドレスとして実際に用いられているMACアドレスである。
一方、「接続先拠点内」のMACアドレスは、このMACアドレス変換テーブルが用いられるクラウド拠点ではなく、接続先のクラウド拠点側にて、MACアドレス変換テーブルが用いられるクラウド拠点配下の仮想マシンが一意に識別されるMACアドレスとして実際に用いられているMACアドレスである。例えば、クラウド拠点B用のMACアドレス変換テーブルの場合、クラウド拠点A側にてクラウド拠点B配下の仮想マシンが一意に識別されるMACアドレスとして実際に用いられているMACアドレスである。クラウド拠点Aにおいては、クラウド拠点A配下の仮想マシンに割り当てていない未使用のMACアドレスを割り当てる。
すなわち、MACアドレス変換装置10−2は、クラウド拠点A内でクラウド拠点B配下の仮想マシンB−1が一意に識別されるMACアドレス『MACアドレス3』を、クラウド拠点B内でクラウド拠点B配下の仮想マシンB−1が一意に識別されるMACアドレス『MACアドレス1』に変換する。
その後、拠点B側の転送部20−2は、MACアドレス変換装置10−2から送信されたフレームを受信すると、このフレームに含まれるMACアドレスであって、クラウド拠点B内でクラウド拠点B配下の仮想マシンB−1が一意に識別されるMACアドレス『MACアドレス1』に基づくスイッチングによって、このフレームを転送する。
なお、フレームが、ARP(Address Resolution Protocol)パケットを含むフレームである場合、MACアドレス変換装置10−1及びMACアドレス変換装置10−2は、このフレームに含まれるMACアドレスについても変換する。ここで、フレームに含まれるMACアドレスには、ヘッダ部(Ethernet(登録商標) transmission layer)に含まれるMACアドレスと、パケット部(Ethernet packet data)に含まれるMACアドレスとがある(RFC(Request For Comments)826を参照)。第2の実施形態において、フレームがARPパケットを含むフレームである場合は、ヘッダ部に含まれるMACアドレスの変換のみならず、パケット部に含まれるMACアドレスの変換も行う。なお、これまで上述してきた通常のフレーム(ARPパケットを含まないフレーム)である場合は、ヘッダ部に含まれるMACアドレスの変換のみを行う。
例えば、クラウド拠点A側からクラウド拠点B側に向けてARP要求パケットを含むフレームが転送される場合、このフレーム(ヘッダ部及びパケット部)に含まれる宛先MACアドレスはブロードキャストアドレスであり、送信元MACアドレスは、例えば、クラウド拠点A内でクラウド拠点A配下の仮想マシンが一意に識別されるMACアドレスである。この場合、MACアドレス変換装置10−1は、送信元MACアドレスを、上述と同様、クラウド拠点B内でクラウド拠点A配下の仮想マシンが一意に識別されるMACアドレスに変換する。一方、MACアドレス変換装置10−2は、宛先MACアドレスの変換を行わない。
一方、例えば、クラウド拠点A側からクラウド拠点B側に向けてARP応答パケットを含むフレームが転送される場合、MACアドレス変換装置10−1は、送信元MACアドレスを、上述と同様、クラウド拠点B内でクラウド拠点A配下の仮想マシンが一意に識別されるMACアドレスに変換する。また、MACアドレス変換装置10−2は、宛先MACアドレスを、上述と同様、クラウド拠点B内でクラウド拠点B配下の仮想マシンが一意に識別されるMACアドレスに変換する。
ここで、SingleMAT双方向方式におけるMACアドレス変換装置10を説明する。図6は、第2の実施形態に係るMACアドレス変換装置10の構成例を説明するための図である。なお、図4を用いて説明したMACアドレス変換装置10−1及びMACアドレス変換装置10−2は、いずれも同じ構成によって実現することが可能であり、以下に説明するMACアドレス変換装置10の構成によって実現することが可能である。
図6に示すように、第2の実施形態に係るMACアドレス変換装置10は、入出力I/F情報テーブル11と、MACアドレス変換テーブル12と、フレーム受信部13と、入力I/F判定部14と、送信元MACアドレス変換部15と、宛先MACアドレス変換部16と、CRC(Cyclic Redundancy Check)再計算部17と、フレーム送信部18とを備える。
なお、入出力I/F情報テーブル11及びMACアドレス変換テーブル12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子や、ハードディスク、光ディスクなどで実現される。また、フレーム受信部13、入力I/F判定部14、送信元MACアドレス変換部15、宛先MACアドレス変換部16、CRC再計算部17、及び、フレーム送信部18は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路によって実現される。
入出力I/F情報テーブル11は、入出力I/F情報を記憶する。入出力I/F情報は、入力I/F判定部14やフレーム送信部18による処理に用いられる。例えば、入力I/F判定部14は、入出力I/F情報を、MACアドレス変換装置10にて受信されたフレームが、転送部20から送信されたフレームであるのか、あるいは、他のMACアドレス変換装置10から送信されたフレームであるのかを判定するために用いる。また、例えば、フレーム送信部18は、入出力I/F情報を、MACアドレスが変換されたフレームを、どのI/Fから出力すべきかを判定するために用いる。
図7は、第2の実施形態に係る入出力I/F情報テーブル11を説明するための図である。図7に示すように、例えば、入出力I/F情報テーブル11は、MACアドレス変換装置10の入力I/Fと、この入力I/Fが接続する接続先の情報と、この入力I/Fにて受信されたフレームを出力する出力I/Fとを対応付けて記憶する。
例えば、入出力I/F情報テーブル11は、『FastEthernet0/0』と、『転送』と、『FastEthernet1/0』とを対応付けて記憶する。この場合、I/F『FastEthernet0/0』は、転送部20側に接続されているので、I/F『FastEthernet0/0』にて受信されたフレームは、転送部20側から送信されたフレームであることを示す。また、I/F『FastEthernet0/0』にて受信されたフレームは、I/F『FastEthernet1/0』から出力することを示す。
また、例えば、入出力I/F情報テーブル11は、『FastEthernet1/0』と、『S−MAT』と、『FastEthernet0/0』とを対応付けて記憶する。この場合、I/F『FastEthernet1/0』は、他のMACアドレス変換装置10側に接続されているので、I/F『FastEthernet1/0』にて受信されたフレームは、他のMACアドレス変換装置10から送信されたフレームであることを示す。また、I/F『FastEthernet1/0』にて受信されたフレームは、I/F『FastEthernet0/0』から出力することを示す。
MACアドレス変換テーブル12は、MACアドレス変換情報を記憶する。MACアドレス変換情報は、送信元MACアドレス変換部15や宛先MACアドレス変換部16による処理に用いられる。例えば、送信元MACアドレス変換部15や宛先MACアドレス変換部16は、MACアドレス変換テーブル12を参照し、MACアドレス変換情報に従ってMACアドレスを変換する。
MACアドレス変換テーブル12は、MACアドレス変換装置10が、例えばクラウド拠点A側に設置されている場合(図5に示すMACアドレス変換装置10−1の場合)、クラウド拠点A配下の仮想マシンのMACアドレスを変換するためのMACアドレス変換情報を記憶する(クラウド拠点A用のMACアドレス変換テーブル)。一方、MACアドレス変換テーブル12は、MACアドレス変換装置10が、例えばクラウド拠点B側に設置されている場合(図5に示すMACアドレス変換装置10−2の場合)、クラウド拠点B配下の仮想マシンのMACアドレスを変換するためのMACアドレス変換情報を記憶する(クラウド拠点B用のMACアドレス変換テーブル)。
例えば、クラウド拠点A用のMACアドレス変換テーブル12は、クラウド拠点A内でクラウド拠点A配下の仮想マシンが一意に識別されるMACアドレスと、クラウド拠点B内でクラウド拠点A配下の仮想マシンが一意に識別されるMACアドレスとを、1対1で対応付けることで生成される。また、例えば、クラウド拠点B用のMACアドレス変換テーブル12は、クラウド拠点B内でクラウド拠点B配下の仮想マシンが一意に識別されるMACアドレスと、クラウド拠点A内でクラウド拠点B配下の仮想マシンが一意に識別されるMACアドレスとを、1対1で対応付けることで生成される。
例えば、各クラウド拠点にてARPを行い、各クラウド拠点内で使用中のMACアドレスを動的に収集する。そして、各クラウド拠点にて収集された使用中のMACアドレスを、仮想マシン毎に1対1で対応付けることにより、MACアドレス変換テーブル12を生成することができる。あるいは、各クラウド拠点に備えられたクラウド管理部やハイパーバイザから仮想マシンに割り当てられたMACアドレスを静的に収集し、仮想マシン毎に1対1で対応付けることにより、MACアドレス変換テーブル12を生成することができる。MACアドレス変換テーブル12は、このように収集されたMACアドレスの情報に基づいて、例えば、拠点間接続システム1の運用者によって、予め生成され、登録される。
図8は、第2の実施形態に係るMACアドレス変換テーブル12を説明するための図である。図8に示すように、例えば、MACアドレス変換テーブル12は、自拠点内のMACアドレスと、接続先拠点内のMACアドレスとを対応付けて記憶する。例えば、クラウド拠点A用のMACアドレス変換テーブル12の場合、自拠点内のMACアドレスとは、クラウド拠点A内でクラウド拠点A配下の仮想マシンが一意に識別されるMACアドレスのことである。一方、接続先拠点内のMACアドレスとは、クラウド拠点B内でクラウド拠点A配下の仮想マシンが一意に識別されるMACアドレスのことである。なお、第2の実施形態において、MACアドレスは、48ビットのMACアドレスを想定し、図8においては、16進数により表記する。
図6に戻り、フレーム受信部13は、フレームを受信する。具体的には、フレーム受信部13は、物理線又はフレーム(例えばEthernet(登録商標)のフレーム)をカプセル化できるVPNからフレームを受信し、受信したフレームを入力I/F判定部14に送る。
入力I/F判定部14は、フレーム受信部13から送られたフレームが、転送部20から送信されたフレームであるのか、あるいは、他のMACアドレス変換装置10から送信されたフレームであるのかを判定する。具体的には、入力I/F判定部14は、入出力I/F情報テーブル11を参照し、フレーム受信部13から送られたフレームが、転送部20から送信されたフレームであるのか、あるいは、他のMACアドレス変換装置10から送信されたフレームであるのかを判定する。そして、入力I/F判定部14は、転送部20側から送信されたフレームであると判定した場合は、送信元MACアドレスを変換する場合であるので、送信元MACアドレス変換部15に対してフレームを送る。一方、入力I/F判定部14は、他のMACアドレス変換装置10から送信されたフレームであると判定した場合は、宛先MACアドレスを変換する場合であるので、宛先MACアドレス変換部16に対してフレームを送る。
例えば、入力I/F判定部14は、フレーム受信部13から送られたフレームの入力I/Fを、I/F『FastEthernet1/0』であると特定する。そして、入力I/F判定部14は、I/F『FastEthernet1/0』を用いて入出力I/F情報テーブル11を参照し、入力I/F『FastEthernet1/0』に対応付けて記憶された入力I/F接続先を取得する。図7に示す例の場合、入力I/F接続先は『転送』である。そこで、入力I/F判定部14は、フレーム受信部13から送られたフレームが、転送部20から送信されたフレームであると判定し、送信元MACアドレス変換部15に対してフレームを送る。
送信元MACアドレス変換部15は、入力I/F判定部14から送られたフレームに含まれる送信元MACアドレスを変換する。具体的には、送信元MACアドレス変換部15は、MACアドレス変換テーブル12を参照し、自拠点内MACアドレスに、フレームに含まれる送信元MACアドレスが該当しないか否か、検索する。そして、送信元MACアドレス変換部15は、フレームに含まれる送信元MACアドレスが自拠点内MACアドレスに該当した場合には、自拠点内MACアドレスに対応付けて記憶された接続先拠点内MACアドレスを取得し、送信元MACアドレスを、この接続先拠点内MACアドレスに書き換える。その後、送信元MACアドレス変換部15は、フレームをCRC再計算部17に送る。
例えば、送信元MACアドレス変換部15は、入力I/F判定部14から送られたフレームに含まれる送信元MACアドレス『00:01:02:03:04:05』を用いてMACアドレス変換テーブル12を参照し、自拠点内MACアドレスを検索する。そして、送信元MACアドレス変換部15は、自拠点内MACアドレス『00:01:02:03:04:05』に対応付けて記憶された接続先拠点内MACアドレス『00:02:03:AA:AB:AC』を取得し、送信元MACアドレス『00:01:02:03:04:05』を、『00:02:03:AA:AB:AC』に書き換える。
なお、フレームにARPパケットが含まれる場合も同様に、送信元MACアドレス変換部15は、入力I/F判定部14から送られたフレームに含まれる送信元MACアドレスを変換する。
宛先MACアドレス変換部16は、入力I/F判定部14から送られたフレームに含まれる宛先MACアドレスを変換する。具体的には、宛先MACアドレス変換部16は、MACアドレス変換テーブル12を参照し、接続先拠点内MACアドレスに、フレームに含まれる宛先MACアドレスが該当しないか否か、検索する。そして、宛先MACアドレス変換部16は、フレームに含まれる宛先MACアドレスが接続先拠点内MACアドレスに該当した場合には、接続先拠点内MACアドレスに対応付けて記憶された自拠点内MACアドレスを取得し、宛先MACアドレスを、この自拠点内MACアドレスに書き換える。
例えば、宛先MACアドレス変換部16は、入力I/F判定部14から送られたフレームに含まれる宛先MACアドレス『00:02:03:AA:AB:AC』を用いてMACアドレス変換テーブル12を参照し、接続先拠点内MACアドレスを検索する。そして、宛先MACアドレス変換部16は、接続先拠点内MACアドレス『00:02:03:AA:AB:AC』に対応付けて記憶された自拠点内MACアドレス『00:01:02:03:04:05』を取得し、宛先MACアドレス『00:02:03:AA:AB:AC』を、『00:01:02:03:04:05』に書き換える。その後、宛先MACアドレス変換部16は、フレームをCRC再計算部17に送る。
なお、フレームにARPパケットが含まれる場合も同様に、宛先MACアドレス変換部16は、入力I/F判定部14から送られたフレームに含まれる宛先MACアドレスを変換する。もっとも、ARPパケットがARP要求パケットであり、宛先MACアドレスがブロードキャストアドレスである場合、宛先MACアドレス変換部16は、MACアドレスの変換を行わない。
CRC再計算部17は、変換後のMACアドレスを用いてCRC値を再計算し、フレームのFCS(Frame Check Sequence)部を再計算後のCRC値に修正する。具体的には、CRC再計算部17は、送信元MACアドレス変換部15又は宛先MACアドレス変換部16からフレームを受け取ると、送信元MACアドレス又は宛先MACアドレスが書き換えられたので、送信元MACアドレス、宛先MACアドレス、タイプ、及びデータが正しい値であるかを判定するためのCRC値を再計算し、新たな送信元MACアドレス又は宛先MACアドレスに対応するCRC値にFCS部を修正する。そして、CRC再計算部17は、修正後のフレームを、フレーム送信部18に送る。
フレーム送信部18は、CRC再計算部17から送られたフレームを出力する。具体的には、フレーム送信部18は、入出力I/F情報テーブル11を参照し、フレームの入力I/Fに対応付けて記憶された出力I/Fを取得する。そして、フレーム送信部18は、出力I/Fからフレームを出力する。例えば、フレーム送信部18は、I/F『FastEthernet0/0』にて受信されたフレームについて入出力I/F情報テーブル11を参照し、I/F『FastEthernet0/0』に対応付けて記憶された出力I/F『FastEthernet1/0』を取得する。そして、フレーム送信部18は、I/F『FastEthernet1/0』から、このフレームを出力する。この出力I/Fは、物理線又はフレーム(例えばEthernet(登録商標)のフレーム)をカプセル化できるVPNに接続される。
図9は、第2の実施形態に係るMACアドレス変換処理の手順を示すフローチャートである。図9に示すように、MACアドレス変換装置10は、フレームを受信すると(ステップS101)、転送部20から送信されたフレームであるのか、あるいは、他のMACアドレス変換装置10から送信されたフレームであるのかを判定する(ステップS102)。
そして、MACアドレス変換装置10は、転送部20から送信されたフレームである場合には(ステップS103肯定)、MACアドレス変換テーブル12を参照してフレームに含まれる送信元MACアドレスを変換する(ステップS104)。一方、MACアドレス変換装置10は、他のMACアドレス変換装置10から送信されたフレームである場合には(ステップS103否定)、MACアドレス変換テーブル12を参照してフレームに含まれる宛先MACアドレスを変換する(ステップS105)。
その後、MACアドレス変換装置10は、CRC値を再計算してFCS部を修正し(ステップS106)、修正後のフレームを送信する(ステップS107)。
(SingleMAT片方向方式)
続いて、図10は、第2の実施形態に係るMACアドレス変換の具体例(SingleMAT片方向方式)を説明するための図である。図10に示すように、SingleMAT片方向方式において、拠点間接続システム1は、MACアドレス変換装置として、MACアドレス変換装置10−11、MACアドレス変換装置10−12、MACアドレス変換装置10−21、及びMACアドレス変換装置10−22を備える。なお、MACアドレス変換装置10−11及びMACアドレス変換装置10−12が、SingleMAT双方向方式におけるMACアドレス変換装置10−1に相当する機能を有する。フレームの転送方向に応じて備えられたものである。また、MACアドレス変換装置10−21及びMACアドレス変換装置10−22が、SingleMAT双方向方式におけるMACアドレス変換装置10−2に相当する機能を有する。フレームの転送方向に応じて備えられたものである。
MACアドレス変換装置10−11及びMACアドレス変換装置10−12は、クラウド拠点A配下の仮想マシンのMACアドレスについて変換を行う。具体的には、MACアドレス変換装置10−11は、送信元MACアドレスを変換し、MACアドレス変換装置10−12は、宛先MACアドレスを変換する。一方、MACアドレス変換装置10−21及びMACアドレス変換装置10−22は、クラウド拠点B配下の仮想マシンのMACアドレスについて変換を行う。具体的には、MACアドレス変換装置10−21は、宛先MACアドレスを変換し、MACアドレス変換装置10−22は、送信元MACアドレスを変換する。
なお、MACアドレス変換装置10−11、MACアドレス変換装置10−12、MACアドレス変換装置10−21、及びMACアドレス変換装置10−22は、いずれも、図6を用いて説明したMACアドレス変換装置10と同様の構成により実現することができる。なお、図6に示す構成に限られるものではなく、役割に応じて必要な部のみ備えた構成としてもよい。例えば、MACアドレス変換装置10−11及びMACアドレス変換装置10−22は、それぞれ、送信元MACアドレスの変換を行い、宛先MACアドレスの変換を行わないので、送信元MACアドレス変換部15及び宛先MACアドレス変換部16のうち、送信元MACアドレス変換部15を備えれば足りる。また、例えば、フレームの入力I/Fも固定となるのであれば、入出力I/F情報テーブル11や入力I/F判定部14も不要である。
(TwiceMAT双方向方式)
図11及び図12は、第2の実施形態に係るMACアドレス変換の具体例(TwiceMAT双方向方式)を説明するための図である。なお、各クラウド拠点における構成は、図4又は図10と同様である。
ここで、図11に示すように、TwiceMAT双方向方式において、拠点間接続システム1は、MACアドレス変換装置として、MACアドレス変換装置40を備える。MACアドレス変換装置40は、クラウド拠点A側からクラウド拠点B側に向けて転送されるフレーム、及び、クラウド拠点B側からクラウド拠点A側に向けて転送されるフレーム双方のMACアドレス変換を行う。また、第2の実施形態において、MACアドレス変換装置40は、送信元MACアドレス及び宛先MACアドレスの双方を変換する。なお、図2において、例えば[T−MAT A−B]との表記は、方式がTwiceMATであり、クラウド拠点Aとクラウド拠点Bとの間で相互に転送されるフレームのMACアドレス変換を行うことを示す。
図12を用いて、クラウド拠点A側からクラウド拠点B側に向けて転送されるフレームのMACアドレス変換を説明する。なお、図12に示すように、各クラウド拠点内にて各仮想マシンが一意に識別されるMACアドレスは図5と同様であるので、説明を割愛する。
まず、クラウド拠点A側の転送部20−1は、クラウド拠点A配下の仮想マシンA−1から送信されたフレームを受信すると、このフレームに含まれるMACアドレスであって、クラウド拠点A内でクラウド拠点B配下の仮想マシンB−1が一意に識別されるMACアドレス『MACアドレス3』に基づくスイッチングによって、このフレームを転送する。
次に、MACアドレス変換装置40は、転送部20−1によって転送されたフレームを受信すると、MACアドレス変換テーブルを参照し、このフレームに含まれる送信元MACアドレス(SA)及び宛先アドレス(DA)を変換する。
例えば、MACアドレス変換装置40は、フレームに含まれる送信元MACアドレス『MACアドレス1』を用いてクラウド拠点A用のMACアドレス変換テーブルを参照し、自拠点内『MACアドレス1』に対応付けて登録された接続先拠点内『MACアドレス3』を取得する。そして、MACアドレス変換装置40は、フレームに含まれる送信元MACアドレス『MACアドレス1』を『MACアドレス3』に書き換える。
また、例えば、MACアドレス変換装置40は、フレームに含まれる宛先MACアドレス『MACアドレス3』を用いてクラウド拠点B用のMACアドレス変換テーブルを参照し、接続先拠点内『MACアドレス3』に対応付けて登録された自拠点内『MACアドレス1』を取得する。そして、MACアドレス変換装置40は、フレームに含まれる宛先MACアドレス『MACアドレス3』を『MACアドレス1』に書き換える。そして、MACアドレス変換装置40は、書き換えたフレームを、このフレームを受信したI/Fの対として予め指定されたI/Fから出力する。
すなわち、MACアドレス変換装置40は、クラウド拠点A内でクラウド拠点A配下の仮想マシンA−1が一意に識別されるMACアドレス『MACアドレス1』を、クラウド拠点B内でクラウド拠点A配下の仮想マシンA−1が一意に識別されるMACアドレス『MACアドレス3』に変換する。また、MACアドレス変換装置40は、クラウド拠点A内でクラウド拠点B配下の仮想マシンB−1が一意に識別されるMACアドレス『MACアドレス3』を、クラウド拠点B内でクラウド拠点B配下の仮想マシンB−1が一意に識別されるMACアドレス『MACアドレス1』に変換する。
そして、MACアドレス変換装置40は、フレームに含まれる送信元MACアドレス又は宛先MACアドレスが書き換えられたので、送信元MACアドレス、宛先MACアドレス、タイプ、及びデータが正しい値であるかを判定するためのCRC値を再計算し、新たな送信元MACアドレス又は宛先MACアドレスに対応するCRC値にFCS部を修正する。
その後、クラウド拠点B側の転送部20−2は、MACアドレス変換装置40から送信されたフレームを受信すると、このフレームに含まれるMACアドレスであって、クラウド拠点B内でクラウド拠点B配下の仮想マシンB−1が一意に識別されるMACアドレス『MACアドレス1』に基づくスイッチングによって、このフレームを転送する。
なお、フレームが、ARPパケットを含むフレームである場合、SingleMAT双方向方式と同様、MACアドレス変換装置40は、このフレームに含まれるMACアドレスについても変換する。
ここで、TwiceMAT双方向方式におけるMACアドレス変換装置40を説明する。図13は、第2の実施形態に係るMACアドレス変換装置40の構成例を説明するための図である。
なお、入出力I/F拠点情報テーブル41は、図6を用いて説明した入出力I/F情報テーブル11に、MACアドレス変換テーブル42は、図6を用いて説明したMACアドレス変換テーブル12に、フレーム受信部43は、図6を用いて説明したフレーム受信部13に、入力I/F判定部44は、図6を用いて説明した入力I/F判定部14に、送信元MACアドレス変換部45は、図6を用いて説明した送信元MACアドレス変換部15に、宛先MACアドレス変換部46は、図6を用いて説明した宛先MACアドレス変換部16に、CRC再計算部47は、図6を用いて説明したCRC再計算部17に、フレーム送信部48は、図6を用いて説明したフレーム送信部18に、それぞれ対応する。このため、以下の説明においては、既に上述した説明と同様の説明については割愛する。
入出力I/F拠点情報テーブル41は、入出力I/F情報テーブル11と同様、入出力I/F情報を記憶する。入出力I/F情報は、入力I/F判定部44やフレーム送信部48による処理に用いられる。例えば、入力I/F判定部44は、入出力I/F情報を、MACアドレス変換装置40にて受信されたフレームが、クラウド拠点A側から送信されたフレームであるのか、あるいは、クラウド拠点B側から送信されたフレームであるのかを判定するために用いる。
図14は、第2の実施形態に係る入出力I/F拠点情報テーブル41を説明するための図である。図14に示すように、例えば、入出力I/F拠点情報テーブル41は、MACアドレス変換装置40の入力I/Fと、この入力I/Fが接続する拠点の情報と、この入力I/Fにて受信されたフレームを出力する出力I/Fとを対応付けて記憶する。
例えば、入出力I/F拠点情報テーブル41は、『FastEthernet0/0』と、『A』と、『FastEthernet1/0』とを対応付けて記憶する。この場合、I/F『FastEthernet0/0』は、クラウド拠点A側に接続されているので、I/F『FastEthernet0/0』にて受信されたフレームは、クラウド拠点A側から送信されたフレームであることを示す。また、I/F『FastEthernet0/0』にて受信されたフレームは、I/F『FastEthernet1/0』から出力することを示す。
MACアドレス変換テーブル42は、MACアドレス変換情報を記憶する。MACアドレス変換情報は、送信元MACアドレス変換部45や宛先MACアドレス変換部46による処理に用いられる。図15は、第2の実施形態に係るMACアドレス変換テーブル42を説明するための図である。図15に示すように、例えば、MACアドレス変換テーブル42は、自拠点内のMACアドレスと、接続先拠点内のMACアドレスとを対応付けて記憶する。なお、TwiceMAT双方向方式の場合、MACアドレス変換装置40は、クラウド拠点A配下の仮想マシンのMACアドレスの変換、及び、クラウド拠点B配下の仮想マシンのMACアドレスの変換の双方を行うので、クラウド拠点A用のMACアドレス変換テーブル42−1及びクラウド拠点B用のMACアドレス変換テーブル42−2の双方を記憶する。
図16は、第2の実施形態に係るMACアドレス変換処理の手順を示すフローチャートである。図16に示すように、MACアドレス変換装置40は、フレームを受信すると(ステップS201)、クラウド拠点A側から送信されたフレームであるのか、あるいは、クラウド拠点B側から送信されたフレームであるのかを判定する(ステップS202)。
そして、MACアドレス変換装置40は、クラウド拠点A側から送信されたフレームである場合には(ステップS203肯定)、クラウド拠点A用のMACアドレス変換テーブル(図16においてテーブルA)の自拠点内MACアドレスを参照し、フレームに含まれる送信元MACアドレスを、自拠点内MACアドレスに対応付けて記憶された接続先拠点内MACアドレスに変換する(ステップS204)。
また、MACアドレス変換装置40は、クラウド拠点B用のMACアドレス変換テーブル(図16においてテーブルB)の接続先拠点内MACアドレスを参照し、フレームに含まれる宛先MACアドレスを、接続先拠点先MACアドレスに対応付けて記憶された自拠点内MACアドレスに変換する(ステップS205)。
一方、MACアドレス変換装置40は、クラウド拠点B側から送信されたフレームである場合には(ステップS203否定)、クラウド拠点B用のMACアドレス変換テーブル(図16においてテーブルB)の自拠点内MACアドレスを参照し、フレームに含まれる送信元MACアドレスを、自拠点内MACアドレスに対応付けて記憶された接続先拠点内MACアドレスに変換する(ステップS206)。
また、MACアドレス変換装置40は、クラウド拠点A用のMACアドレス変換テーブル(図16においてテーブルA)の接続先拠点内MACアドレスを参照し、フレームに含まれる宛先MACアドレスを、接続先拠点先MACアドレスに対応付けて記憶された自拠点内MACアドレスに変換する(ステップS207)。
その後、MACアドレス変換装置40は、CRC値を再計算してFCS部を修正し(ステップS208)、修正後のフレームを送信する(ステップS209)。
(TwiceMAT片方向方式)
続いて、図17は、第2の実施形態に係るMACアドレス変換の具体例(TwiceMAT片方向方式)を説明するための図である。図17に示すように、TwiceMAT片方向方式において、拠点間接続システム1は、MACアドレス変換装置として、MACアドレス変換装置40−1及びMACアドレス変換装置40−2を備える。なお、MACアドレス変換装置40−1及びMACアドレス変換装置40−2は、TwiceMAT双方向方式におけるMACアドレス変換装置40に相当する機能を有する。フレームの転送方向に応じて備えられたものである。
MACアドレス変換装置40−1は、クラウド拠点Aからクラウド拠点Bに向けて転送されたフレームのMACアドレス変換を行う。一方、MACアドレス変換装置40−2は、クラウド拠点Bからクラウド拠点Aに向けて転送されたフレームのMACアドレス変換を行う。
なお、MACアドレス変換装置40−1及びMACアドレス変換装置40−2は、いずれも、図13を用いて説明したMACアドレス変換装置40と同様の構成により実現することができる。なお、図13に示す構成に限られるものではなく、役割に応じて必要な部のみ備えた構成としてもよい。例えば、フレームの入力I/Fも固定となるのであれば、入出力I/F拠点情報テーブル41や入力I/F判定部44は不要である。
(第2の実施形態の効果)
このように、第2の実施形態に係る拠点間接続システム1は、送信元側のクラウド拠点内で独立に用いられているMACアドレスに従ってまずスイッチングを行い、スイッチング後、フレームに含まれるMACアドレスを変換する。変換後のMACアドレスは、宛先側のクラウド拠点内で独立に用いられているMACアドレスである。このため、拠点間接続システム1は、この変換後のMACアドレスに従ってスイッチングを行い、宛先の仮想マシンに向けてフレームを転送する。
このように、拠点間接続システム1は、フレームに含まれる送信元MACアドレス及び宛先MACアドレスの双方を、送信元側のクラウド拠点内で独立に用いられているMACアドレスから、宛先側のクラウド拠点内で独立に用いられているMACアドレスへと変換し、MACアドレス変換後のフレームを宛先側のクラウド拠点に向けて出力する。
このようなことから、第2の実施形態によれば、MACアドレスは、各クラウド拠点内で一意に割り当てられればよいので、MACアドレスの重複を適切に解決することができる。言い換えると、第2の実施形態によれば、各クラウド拠点にて用いられるMACアドレスが重複する場合であっても、相互に、接続先のクラウド拠点にて用いられている(又は用いられる)MACアドレスに注意を払う必要がない。
例えば、第2の実施形態に係る拠点間接続システム1が適用されない場合、MACアドレス重複の調査の対象となるクラウド拠点は、申請された1クラウド拠点間接続に属するクラウド拠点に限られず、各クラウド拠点にて既に構築済みの別のクラウド拠点間接続に属するクラウド拠点にまで及ぶ可能性があった。この点、第2の実施形態によれば、MACアドレスは、各クラウド拠点内で一意に割り当てられればよいので、MACアドレス重複の調査の対象となるクラウド拠点は、1クラウド拠点間接続に属するクラウド拠点に限られる。例えば、クラウド拠点間接続申請があった場合、申請されたクラウド拠点間接続に属する各クラウド拠点における未重複且つ未使用のMACアドレスを調査し、該当するクラウド拠点間に設置されるMACアドレス変換装置のMACアドレス変換テーブルに、追加設定すればよい。
また、例えば、第2の実施形態に係る拠点間接続システム1が適用されない場合、未重複且つ未使用のMACアドレスが枯渇した場合には、MACアドレスの再割当ができなくなる可能性があった。また、この場合、MACアドレスが未重複且つ未使用であるか否かは、各クラウド拠点内に留まらず、各クラウド拠点を含む全体で判断される。この点、第2の実施形態によれば、MACアドレスは、各クラウド拠点内で一意に割り当てられればよいので、未重複且つ未使用のMACアドレスの枯渇という事態が発生しにくい。
また、例えば、第2の実施形態に係る拠点間接続システム1が適用されない場合、運用中の仮想マシンのMACアドレスの変更を伴う場合には、サービスを中断しなければならない可能性があった。この点、第2の実施形態によれば、MACアドレスは、各クラウド拠点内で一意に割り当てられればよいので、運用中の仮想マシンのMACアドレスを変更しなければならない事態が発生しにくい。
(他の実施形態)
ところで、上述した拠点間接続システム1は、上述した実施形態以外にも、種々の異なる形態にて実施されてよい。
上述した実施形態においては、拠点間接続システム1が、2拠点を相互に接続する例を説明したが、実施形態はこれに限られるものではない。例えば、拠点A、拠点B、及び拠点Cの3拠点を接続する場合、拠点A内、拠点B内、及び拠点C内でMACアドレスが一意に割り当てられる。すなわち、拠点A内の端末が、拠点B配下の端末及び拠点C配下の端末の双方と通信を行う場合、自拠点A内で、自拠点A配下の端末に割り当てるMACアドレス、拠点B配下の端末に割り当てるMACアドレス、拠点C配下の端末に割り当てるMACアドレスは、一意である。
3拠点以上を相互に接続する場合について、具体的に説明する。MACアドレス変換装置は、2拠点毎に設置される。例えば、図4に示すように、SingleMAT双方向方式の場合、クラウド拠点Aとクラウド拠点Bとの間に、MACアドレス変換装置10−1及びMACアドレス変換装置10−2の組が設置される。また、例えば、図10に示すように、SingleMAT片方向方式の場合、クラウド拠点Aとクラウド拠点Bとの間に、MACアドレス変換装置10−11、MACアドレス変換装置10−12、MACアドレス変換装置10−21、及びMACアドレス変換装置10−22の組が設置される。TwiceMAT双方向方式、TwiceMAT片方向方式の場合も同様である。このように、MACアドレス変換装置は、2拠点を単位として設置されるので、3拠点以上を相互に接続する場合には、MACアドレス変換装置を設置する単位である2拠点を整理した上で、MACアドレス変換装置の設置を検討する。
例えば、クラウド拠点X、クラウド拠点Y、及びクラウド拠点Zの3クラウド拠点を相互に接続する場合、まず、相互に接続される仮想マシンの組が、クラウド拠点間接続申請のエントリとして入力されるので、これらを列挙する。例えば、
・クラウド拠点X内の仮想マシンX−1とクラウド拠点Y内の仮想マシンY−1
・クラウド拠点X内の仮想マシンX−2とクラウド拠点Z内の仮想マシンZ−1
・クラウド拠点X内の仮想マシンX−3とクラウド拠点Z内の仮想マシンZ−2
を列挙する。
次に、列挙した仮想マシンの組を、2拠点を単位とする接続に整理する。例えば、
・クラウド拠点Xとクラウド拠点Yとの接続
・クラウド拠点Xとクラウド拠点Zとの接続
と整理する。
その後、整理した2拠点の間に、各方式に応じたMACアドレス変換装置を設置する。また、2拠点の間に設置されたMACアドレス変換装置は、上述してきた実施形態と同様、各クラウド拠点用のMACアドレス変換テーブルを記憶すればよい。なお、上述した整理や、各クラウド拠点用のMACアドレス変換テーブルの生成は、例えば、拠点間接続システム1の運用者によって、予め行われればよい。あるいは、例えば、クラウド拠点間接続申請のエントリから自動生成するプログラムによって自動的に整理され、生成されてもよい。
上述した実施形態において、図9や図16を用いて説明した処理手順は、任意に変更することができる。例えば、図16において、送信元MACアドレスを変換した後に、宛先MACアドレスを変換する処理手順を説明したが(例えばステップS204〜S205など)、実施形態はこれに限られるものではない。例えば、宛先MACアドレスを変換した後に、送信元MACアドレスを変換する処理手順でもよい。
また、第2の実施形態において、拠点間接続システム1は、転送部20−1及び転送部20−2が各クラウド拠点に設置される構成であってもよい。例えば、転送部20−1及び転送部20−2は、ハイパーバイザの機能として実現されてもよい。また、拠点間接続システム1は、転送部20−1及び転送部20−1の一方がクラウド拠点に設置される構成であってもよい。
その他、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、第1の実施形態において図1に示したMACアドレス変換部10、転送部20−1、及び転送部20−2は、全て同一の装置であってもよい。
[プログラム]
また、上述した実施形態に係るMACアドレス変換装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上述した実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上述の実施形態と同様の処理を実現してもよい。以下に、図6又は図13に示したMACアドレス変換装置と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
図18は、MACアドレスを変換するプログラムを実行するコンピュータを示す図である。図18に示すように、コンピュータは、例えば、メモリと、CPU(Central Processing Unit)と、ハードディスクドライブインタフェースと、ディスクドライブインタフェースと、シリアルポートインタフェースと、ビデオアダプタと、ネットワークインタフェースとを有し、これらの各部はバスによって接続される。
メモリは、図18に示すように、ROM(Read Only Memory)及びRAM(Random Access Memory)を含む。ROMは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェースは、図18に示すように、ハードディスクドライブに接続される。ディスクドライブインタフェースは、図18に示すように、ディスクドライブに接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェースは、図18に示すように、例えばマウス、キーボードに接続される。ビデオアダプタは、図18に示すように、例えばディスプレイに接続される。
ここで、図18に示すように、ハードディスクドライブは、例えば、OS、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。すなわち、上述のプログラムは、コンピュータによって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブに記憶される。例えば、図6に示したフレーム受信部13と同様の情報処理を実行する手順と、入力I/F判定部14と同様の情報処理を実行する手順と、送信元MACアドレス変換部15と同様の情報処理を実行する手順と、宛先MACアドレス変換部16と同様の情報処理を実行する手順と、CRC再計算部17と同様の情報処理を実行する手順と、フレーム送信部18と同様の情報処理を実行する手順と、が記述されたプログラムモジュールが、ハードディスクドライブに記憶される。
また、上述した実施形態で説明したMACアドレス変換装置が保持する各種データ(例えば、入出力I/F情報テーブル11やMACアドレス変換テーブル12が記憶するデータ)は、プログラムデータとして、例えばメモリやハードディスクドライブに記憶される。そして、CPUが、メモリやハードディスクドライブに記憶されたプログラムモジュールやプログラムデータを必要に応じてRAMに読み出し、各手順を実行する。
なお、上述のプログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPUによって読み出されてもよい。あるいは、上述のプログラムに係るプログラムモジュールやプログラムデータは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェースを介してCPUによって読み出されてもよい。