JP6040711B2 - 管理サーバ、仮想マシンシステム、プログラム及び接続方法 - Google Patents

管理サーバ、仮想マシンシステム、プログラム及び接続方法 Download PDF

Info

Publication number
JP6040711B2
JP6040711B2 JP2012240939A JP2012240939A JP6040711B2 JP 6040711 B2 JP6040711 B2 JP 6040711B2 JP 2012240939 A JP2012240939 A JP 2012240939A JP 2012240939 A JP2012240939 A JP 2012240939A JP 6040711 B2 JP6040711 B2 JP 6040711B2
Authority
JP
Japan
Prior art keywords
address
network
virtual machine
interface
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012240939A
Other languages
English (en)
Other versions
JP2014093550A (ja
Inventor
祐二 今井
祐二 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012240939A priority Critical patent/JP6040711B2/ja
Priority to US13/966,373 priority patent/US9413595B2/en
Publication of JP2014093550A publication Critical patent/JP2014093550A/ja
Application granted granted Critical
Publication of JP6040711B2 publication Critical patent/JP6040711B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2525Translation at a client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、管理サーバ、仮想マシンシステム、プログラム及び接続方法に関する。
クラウドデータセンタ上の仮想マシンを、顧客のイントラネットから利用する技術がある(例えば、特許文献1)。
図12は、技術の一例を説明する図である。図12に示すように、顧客のイントラネットと接続されたルータ200は、キャリア通信網に接続された時に、予め登録された仮想マシン(VM:Virtual Machine)機器情報を当該キャリア通信網に接続されているデータセンタ100に送信する。そして、ルータ200は、データセンタ100から取得した情報に基づいて、データセンタ100内のゲートウェイセル110への通信路を開設する。さらに、ルータ200は、VM機器情報に基づいてデータセンタ100内で起動された仮想マシン120に接続される仮想ルータ130のインターネットプロトコル(IP:Internet Protocol)アドレスをデータセンタ100から取得する。そして、ルータ200は、仮想ルータ130のIPアドレスに基づいて、GWセル110への通信路を介して仮想ルータ130と通信する。これによって、ルータ200は、顧客がデータセンタ100の中で動作する仮想マシン120をあたかも構内通信網(LAN:Local Area Network)に直接つながったサーバのように通信することができる。
ここで、インターネットのプロトコルには、IPv4とIPv6とがある。IPv6では、1台のサーバに割り当てられる複数のリンクローカルアドレスと接続するそれぞれのネットワーク(リンクローカル)を、識別子を用いて特定するという考え方がある。この識別子を、例えばゾーンインデックスという。すなわち、サーバには、仮想的に複数のネットワークインタフェースが生成され、生成されたそれぞれのネットワークインタフェースにリンクローカルアドレスが割り当てられる。サーバは、これらのリンクローカルアドレスを使うそれぞれの顧客のリンクローカルを特定するためにゾーンインデックスを用いる。
データセンタ内で起動される仮想マシン上のプロセスは、ゾーンインデックスを認識する。図13は、IPv6のゾーンインデックスを説明する図である。図13に示すように、複数の顧客のイントラネットが仮想マシンと接続されている。顧客のイントラネットAのPC及び顧客のイントラネットBのPCには、IPv6のリンクローカルアドレスが、同一の「fe80::1234」に割り当てられている。かかる場合であっても、仮想マシン上のプロセスは、IPv6の各リンクローカルアドレスに付加されるゾーンインデックスを用いてどの顧客のリンクローカルであるかを特定できる。ここでは、仮想マシン上のプロセスは、「fe80::1234」に付加されたゾーンインデックス「0」を用いて、イントラネットAの顧客のリンクローカルであると特定できる。他方、仮想マシン上のプロセスは、「fe80::1234」に付加されたゾーンインデックス「1」を用いて、イントラネットBの顧客のリンクローカルであると特定できる。
特開2011−250209号公報
ところで、仮想マシン上のプロセスは、IPv4においてゾーンインデックスを認識していない。したがって、IPv4では、1つの仮想マシンと複数の顧客のネットワークとの間で安全に通信することができないという問題がある。すなわち、顧客側のIPv4のリンクローカルアドレスが重複すると、仮想マシン上のプロセスは、どの顧客のリンクローカルであるのかを特定できないので、1つの仮想マシンと複数の顧客のネットワークとの間で安全に通信することができない。
1つの側面では、IPv4であっても、1つの仮想マシンと複数の顧客のネットワークとの間で安全に通信することを目的とする。
本願の開示する管理サーバは、仮想マシンを稼働する物理サーバを管理する管理サーバにおいて、仮想私設通信網を介して接続された中継装置を経由して接続するネットワークに属する情報処理装置が前記仮想マシンに接続する際に用いられるインタフェースであって使用中のインタフェースを識別する識別子を、前記ネットワーク毎に記憶する記憶部と、前記物理サーバがIPv4を用いたネットワークに対応している場合、前記情報処理装置が属するネットワークと接続する中継装置との接続要求を受信すると、受信した接続要求を満たす仮想マシンに対して、前記記憶部に記憶されていないインタフェースを識別する識別子を特定し、特定した前記識別子が示すインタフェースに対応する仮想スイッチのアドレスと前記中継装置のアドレスとを用いて、前記中継装置と前記仮想マシンとを接続させる接続部とを有する。そして、前記中継装置は、前記仮想スイッチのアドレスと前記中継装置のアドレスに基づいて、前記仮想マシンと接続する。
1つの態様によれば、IPv4であっても、1つの仮想マシンと複数の顧客のネットワークとの間で安全に通信することが可能となる。
図1は、実施例1に係る仮想マシンシステムの構成図である。 図2は、実施例1に係るvSW使用状況管理表のデータ構造の一例を示す図である。 図3は、データベースのデータ構造の一例を示す図である。 図4は、ルータ管理部の構成を示すブロック図である。 図5は、管理サーバのハードウェア構成を示すブロック図である。 図6は、仮想マシンシステムが実行する処理のシーケンスを説明する図である。 図7は、実施例1に係る仮想スイッチ及びethインタフェース間の接続処理のシーケンスを説明する図である。 図8は、実施例1に係るアドレス設定処理のシーケンスを説明する図(1)である。 図9は、実施例1に係るアドレス設定処理のシーケンスを説明する図(2)である。 図10は、実施例2に係る仮想マシンシステムの構成図である。 図11は、実施例2に係るvSW使用状況管理表のデータ構造の一例を示す図である。 図12は、従来技術の一例を説明する図である。 図13は、IPv6のゾーンインデックスを説明する図である。
以下に、本願の開示する管理サーバ、仮想マシンシステム、プログラム及び接続方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[仮想マシンシステムの構成]
図1は、実施例1に係る仮想マシンシステムの構成図である。図1に示すように、仮想マシンシステム9は、データセンタ1、通信事業者が提供するPPPoE(Point to Point Protocol over Ethernet(登録商標))網2、ルータ3、顧客用イントラネット4、及び顧客PC(Personal Computer)5を有する。
データセンタ1は、顧客PC5に対して、PPPoE網2経由でソフトウェアパッケージやアプリケーション実行用のプラットフォームなどのサービスを提供するクラウドコンピューティング用のデータセンタである。
PPPoE網2は、通信事業者が提供するキャリア通信網の一例である。PPPoEは、PPP(Point to Point Protocol)の機能を、イーサネット(登録商標)を通して利用するプロトコルであり、後述する仮想私設通信網用のプロトコルである。PPPoE網2は、ワイドエリアネットワーク(WAN)である。
ルータ3は、顧客用イントラネット4をデータセンタ1に接続するために用いられるクラウドコンピュータ用のルータである。ルータ3は、提供を希望するVM機器の処理能力、すなわちVM機器の設定を規定する情報(以降、「VM機器情報」という)を、管理サーバ10に送信する。設定情報としては、VM機器のOSやハードウェア資源、例えばハードディスク容量やメモリ容量、アプリケーションなどが記録されている。
顧客用イントラネット4は、IPv4を用いた顧客用のイントラネットである。顧客用イントラネット4には、顧客PC5が接続されている。なお、顧客5は、ルータ3に直接接続されても良い。外部装置の一例として、顧客PC5が挙げられる。
ここで、顧客PC5では、リンクローカルアドレスとして、IPv4のアドレスが設定される。リンクローカルアドレスとは、顧客用イントラネット4内で規定されたアドレスのことをいう。リンクローカルとは、ここでは、顧客用イントラネット4のことを指す。そして、実施例に係る仮想マシンシステム9では、複数の顧客用イントラネット4内でそれぞれ規定される顧客PC5のリンクローカルアドレスが同一であっても、それぞれの顧客PC5は、同一の仮想マシン23とセキュアに接続できる。なお、以降では、「IPv4のリンクローカルアドレス」のことを「IPv4のアドレス」または「v4のIPアドレス」という。同様に、「Ipv6のリンクローカルアドレス」のことを「IPv6のアドレス」または「v6のIPアドレス」という。
[データセンタの構成の説明]
データセンタ1は、管理サーバ10、物理サーバ20及びGWサーバ30を備えている。管理サーバ10は、LAN(Local Area Network)40を介して物理サーバ20に接続されている。なお、実施例1では、管理サーバ10が、IPv4を用いたネットワークに対応している場合について説明する。
[物理サーバの構成の説明]
物理サーバ20は、ホストOS(Operating System)とハイパーバイザとが一体となったホストOS/ハイパーバイザを備える。さらに、物理サーバ20は、ホストOS/ハイパーバイザに、仮想スイッチ(vSW:virtual switch)21、v4v6変換モジュール22及び仮想マシン23を備える。なお、ホストOS/ハイパーバイザは、ホストOSとハイパーバイザとが一体となったものとして説明したが、これに限定されず、ホストOSとハイパーバイザとが分離した場合であっても良い。かかる場合は、物理サーバ20は、ハイパーバイザ上にホストOSを備え、ホストOS上に仮想スイッチ21、v4v6変換モジュール22及び仮想マシン23を備える。また、仮想マシン23は、1個のみならず、複数個あっても良い。物理サーバ20は、1個のみならず、複数個あっても良い。
仮想スイッチ21は、いわゆる仮想ルータに含まれ、特定の顧客PCからのアクセスのみを受け付けるファイアーウォールルータである。なお、仮想スイッチ21は、後述するethインタフェース231の数分存在可能であり、識別ID(Identifier)によって区別される。
v4v6変換モジュール22は、顧客用イントラネット4との通信で用いられるv4のIPアドレスを仮想マシン23上で用いられる仮想的なv4のIPアドレスに変換すべく、NAT(Network Address Translation)を実行する。また、v4v6変換モジュール22は、仮想マシン23上で用いられる仮想的なv4のIPアドレスを顧客用イントラネット4との通信で用いられるv4のIPアドレスに変換すべく、NATを実行する。仮想的なv4のIPアドレスとは、v6のIPアドレスに相当する。なお、v4v6変換モジュール22は、仮想スイッチ21と同様、後述するethインタフェース231の数分存在可能であり、識別IDによって区別される。
ここで、v4v6変換モジュール22によって行われるアドレスの変換規則について説明する。例えば、v4のIPアドレスが「www.xxx.yyy.zzz」であるとすると、仮想的なv4のIPアドレスであるv6のIPアドレスは、「fe80::<WWW.XXX.YYY.ZZZ>」となる。v4のIPアドレスである「www.xxx.yyy.zzz」は、10進表記である。一方、v6のIPアドレス内の<WWW.XXX.YYY.ZZZ>は、v4のIPアドレスの10進表記を16進表記に変換した文字列である。そして、v4のIPアドレスは、v4v6変換モジュール22の仮想スイッチ21側に設定され、v6のIPアドレスは、v4v6変換モジュール22の後述するethインタフェース231側に設定される。
一例として、v4v6変換モジュール22は、管理サーバ10によって仮想マシン23にv4のIPアドレスが割り当てられた場合、割り当てられたIPアドレスを仮想的なv4のIPアドレスであるv6のIPアドレスに変換する。かかる仮想マシン23に割り当てられたIPアドレスとは、顧客PC5から送信される場合の宛先となるアドレスを意味し、v4のIPアドレスである。そして、v4v6変換モジュール22は、変換後のv6のIPアドレスを後述するethインタフェース231側に設定するとともに、変換前のv4のIPアドレスを仮想スイッチ21側に設定する。なお、v4v6変換モジュール22は、後述するルータ管理部13によってアドレスの設定が指示される。
他の一例として、v4v6変換モジュール22は、顧客用イントラネット4側のDPCPサーバによって仮想マシン23のIPアドレスが割り当てられた場合、割り当てられたIPアドレスを仮想的なv4のIPアドレスであるv6のIPアドレスに変換する。そして、v4v6変換モジュール22は、変換後のv6のIPアドレスを後述するethインタフェース231側に設定するとともに、変換前のv4のIPアドレスを仮想スイッチ21側に設定する。なお、v4v6変換モジュール22は、後述するルータ管理部13によってアドレスの設定が指示される。
また、v4v6変換モジュール22は、変換前のv4のIPアドレスと変換後のv6のIPアドレスとを対応付けてNAT変換表221に登録する。例えば、v4のIPアドレスが「192.0.0.192」であり、v6のIPアドレスが「fe80::<192.0.0192>」であるとする。かかる場合、NAT変換表221には、「192.0.0.192」と「fe80::<192.0.0192>」とを対応付けて登録される。
仮想マシン23は、仮想OSや、顧客へ提供するアプリケーションなどを起動する。さらに、仮想マシン23は、複数のイーサネットインタフェース(以降、「ethインタフェース」という)231及びサービスプログラム232を有する。
ethインタフェース231は、仮想マシン23上に仮想的に生成される通信インタフェースである。ethインタフェース231は、仮想マシン23上の図示しない仮想OS(ゲストOSともいう)のインタフェース上限数まで生成可能である。そして、ethインタフェース231には、識別子(インデックス)が固定で割り当てられる。すなわち、ethインタフェース231に割り当てられるインデックスは、IPv6で規定されているゾーンインデックスに相当する。一例として、図1では、1つのethインタフェース231には「1」が割り当てられ、別のethインタフェース231には「3」が割り当てられている。すなわち、ethインタフェース231は、仮想マシン23とリンクローカルを形成することとなる顧客用イントラネット4との通信路である。
サービスプログラム232は、ソケット通信を用いて、各ソケットとethインタフェース231とを関連付けるソケットAPI(Application Program Interface)である。例えば、サービスプログラム232は、顧客側との通信において、顧客側のIPアドレスと、通信に用いられたethインタフェース231のインデックスをソケットに割り当てる。ここでいうIPアドレスは、v4v6変換モジュール22によって顧客側のv4のIPアドレスを仮想的なv4のIPアドレスに変換された結果得られたv6のIPアドレスである。そして、サービスプログラム232は、特定のソケットが指定されると、指定されたソケットを使っている顧客側のIPアドレス及びethインタフェース231のインデックスを取得する。これにより、サービスプログラム232は、ethインタフェース231のインデックスを用いて、ソケットに割り当てられているIPアドレスがどの顧客用イントラネット4に属するアドレスであるのかを特定できる。
一例として、ソケットを使っている顧客側のIPアドレスが「fe80::<192.0.0.1>」であり、ethインタフェース231のインデックスが「1」であるとする。すると、サービスプログラム232は、このソケットが指定されると、このソケットを使っている顧客側のIPアドレス「fe80::<192.0.0.1>」及びethインタフェース231のインデックス「1」を取得する。他方、別のソケットを使っている顧客側のIPアドレスが「fe80::<192.0.0.1>」であり、ethインタフェース231のインデックスが「3」であるとする。すると、サービスプログラム232は、このソケットが指定されると、このソケットを使っている顧客側のIPアドレス「fe80::<192.0.0.1>」及びethインタフェース231のインデックス「3」を取得する。すなわち、サービスプログラム232は、顧客側のIPアドレスが同一であっても、ethインタフェース231のインデックスを用いて、どちらの顧客のリンクローカルアドレスであるのかを切り分けることができる。なお、サービスプログラム232は、例えばRFC3493によってIPv6のための基本ソケットインタフェースの拡張版として制定されているAPIを適用すれば良い。
GWサーバ30は、ゲートウェイプログラムを有し、ゲートウェアプログラムを実行することにより、仮想スイッチ21とPPPoE網2との間でデータの橋渡しを行う。
[管理サーバの構成の説明]
管理サーバ10は、vSW使用状況管理表11、物理サーバ管理部12及びルータ管理部13を備える。vSW使用状況管理表11は、仮想スイッチ21の使用状況を管理する表である。ここで、vSW使用状況管理表11のデータ構造について、図2を参照して説明する。
図2は、実施例1に係るvSW使用状況管理表のデータ構造の一例を示す図である。図2に示すように、vSW使用状況管理表11は、仮想スイッチ(ID)11bと、v4v6変換モジュール(ID)11cと、インタフェース接続状況11dとを、ユーザ名11aに対応付けて記憶する。ユーザ名11aは、仮想マシン23と接続している顧客用イントラネット4の顧客の名称を示す。仮想スイッチ11bは、仮想スイッチ21の識別IDを示す。v4v6変換モジュール(ID)11cは、v4v6変換モジュール22の識別IDを示す。インタフェース接続状況11dは、ethインタフェース231の接続状況を表し、仮想マシン(ID)11e及びv4用ethインタフェース(インデックス)11fを有する。仮想マシン(ID)11eは、顧客用イントラネット4と接続されている仮想マシン23の識別IDを示す。v4用ethインタフェース(インデックス)11fは、IPv4で用いられるethインタフェース231のインデックスを示す。
一例として、ユーザ名11aが「A株式会社」である場合、仮想スイッチ(ID)11bとして「vsw−001」、v4v6変換モジュール(ID)11cとして「v4v6−0」と記憶している。さらに、仮想マシン(ID)11eとして「NAS−001」、v4用ethインタフェース(インデックス)11fとして「1」と記憶している。
図1に戻って、物理サーバ管理部12は、データベース(DB)12Aを備えている。
図3は、データベース12Aのデータ構造の一例を示す図である。図3に示すように、データベース12Aには、ルータ3から受信するVM機器情報に関連付けられた、仮想マシン23、物理サーバ20及びGWサーバ30の識別IDが登録されている。VM機器情報は、仮想マシン23を起動する物理サーバ20を特定する情報であり、具体的には、物理サーバ20が有するOS(Operating System)及び物理サーバ20が有するハードウェア資源の情報である。
一例として、VM機器情報として、OSが「Windows(登録商標) server 2008」、ハードウェア資源が「HDD 2TB、2GB mem」である場合、仮想マシン23として「NAS−001」、物理サーバ21として「I−001」、GWサーバ30として「G−001」と記憶している。
図1に戻って、物理サーバ管理部12は、各物理サーバ20の動作を管理する。例えば、物理サーバ管理部12は、ルータ3からVM機器情報を受信すると、VM機器情報に基づいて、データベース12Aに登録されている仮想マシン23、物理サーバ20及びGWサーバ30を選択する。その後、物理サーバ管理部12は、選択した物理サーバ20及びGWサーバ30を起動し、選択した物理サーバ20に仮想マシン23及びサービスプログラム232を起動させる。
ルータ管理部13は、接続要求のあったルータ3及びGWサーバ30との通信を確立し、当該ルータ3及び接続要求を満たす仮想マシン23を接続すべく、仮想スイッチ21及びethインタフェース231間の接続処理を行う。また、ルータ管理部13は、仮想マシン23に割り当てられるv4のIPアドレスについて、ethインタフェース231側に仮想的なv4のIPアドレスを設定するように指示する。ここで、ルータ管理部13の構成を、図4を参照して説明する。
図4は、ルータ管理部の構成を示すブロック図である。図4に示すように、ルータ管理部13は、通信確立部131、接続処理部132、アドレス設定指示部133及びアドレス送信部134を備える。
通信確立部131は、通信事業者が開設したIP−VPN(IP-Virtual Private Network)上で、ルータ3及びGWサーバ30との間のPPPoEセッションの通信を確立する。IP−VPNは、通信事業者の保有する広域IP通信網を経由して構築される仮想私設通信網(VPN)である。図1では、IP−VPNは、データセンタ1からPPPoE網2を介してルータ3まで接続する仮想私設通信網(VPN)である。なお、IP−VPNの例としては、通信事業者が提供する、フレッツ・VPNワイドなどがある。
例えば、通信確立部131は、ルータ3がPPPoE網2と顧客用イントラネット4との間に接続されたときに、ルータ3と仮想マシン23との接続要求としてVM機器情報をルータ3から受信する。そして、通信確立部131は、運用段階用のIP−VPNの作成、及び2組の運用段階用PPPoE設定情報の作成を通信事業者に依頼する。そして、通信確立部131は、VM機器情報に基づいて、データセンタ1内の起動すべき物理サーバ20、起動すべき仮想マシン23、起動すべきGWサーバ30の情報を物理サーバ管理部12から取得する。なお、取得される情報はIDである。さらに、通信確立部131は、2組の運用段階用PPPoE設定情報を通信事業者から取得すると、1組の運用段階用PPPoE設定情報をルータ3へ送信し、他の1組の運用段階用PPPoE設定情報を起動すべきGWサーバ30の情報に対応するGWサーバ30へ送信する。
接続処理部132は、ルータ3からの接続要求ごとに、vSW21、v4v6変換モジュール22及び仮想マシン23のethインタフェース231を接続する。例えば、接続処理部132は、ルータ3から接続要求として受信されたVM機器情報に対応する仮想マシン23に対して、vSW使用状況管理表11に記憶されていないv4用の空きのethインタフェース231のインデックスを特定する。そして、接続処理部132は、対応する仮想マシン23のサービスプログラム232に対して、特定したインデックスが示す新たなethインタフェース231、新たなv4v6変換モジュール22、新たな仮想スイッチ21の生成を依頼する。そして、接続処理部132は、依頼によって生成されたethインタフェース231、v4v6変換モジュール22及び仮想スイッチ21を接続する。そして、接続処理部132は、接続に用いられたethインタフェース231、仮想スイッチ21及びv4v6変換モジュール22の情報を接続要求のあった顧客に対応するユーザ名と対応付けて、vSW使用状況管理表11に追加する。接続要求のあった顧客に対応するユーザ名は、一例として接続要求に含まれる。
アドレス設定指示部133は、仮想マシン23に割り当てられるv4のIPアドレスについて、ethインタフェース231側に仮想的なv4のIPアドレスを設定するように指示する。例えば、アドレス設定指示部133は、管理サーバ10によって仮想マシン23のv4のIPアドレスが割り当てられる場合、以下の処理を行う。すなわち、アドレス設定指示部133は、接続要求のあった顧客に対応するv4v6変換モジュール22の識別ID及びethインタフェース231のインデックスをvSW使用状況管理表11から検索する。そして、アドレス設定指示部133は、検索して得られたインデックスが示すethインタフェース231側に、自サーバ10によって割り当てられたv4のIPアドレスからv6に変換された後のアドレスを設定するように指示する。アドレス設定指示部133が指示する先は、検索して得られた識別IDが示すv4v6変換モジュール22である。
また、アドレス設定指示部133は、接続要求のあった顧客用イントラネット4のDHCP(Dynamic Host Configuration Protocol)サーバによって仮想マシン23のv4のIPアドレスが割り当てる場合、以下の処理を行う。すなわち、アドレス設定指示部133は、接続要求のあった顧客に対応するv4v6変換モジュール22の識別ID及びethインタフェース231のインデックスをvSW使用状況管理表11から検索する。そして、アドレス設定指示部133は、検索して得られたインデックスが示すethインタフェース231側に、DHCPサーバによって割り当てられたv4のIPアドレスからv6に変換された後のアドレスを設定するように指示する。アドレス設定指示部133が指示する先は、検索して得られた識別IDが示すv4v6変換モジュール22である。
アドレス送信部134は、ルータ3に対して仮想スイッチ21に割り当てられるv4のIPアドレスを通知し、仮想スイッチ21に対してルータ3のIPアドレスを通知し、ルータ3及び仮想スイッチ21の間のEthernet over IPによる通信を確立する。
[管理サーバのハードウェア構成]
図5は、管理サーバ10のハードウェア構成を示すブロック図である
図5に示すように、管理サーバ10は、装置全体を制御するCPU10a、制御プログラムを備えるROM10b、及びワーキングエリアとして機能するRAM10cを備えている。また、管理サーバ10は、各種の情報やプログラムを備えるハードディスクドライブ(HDD)10d及びネットワーク2と接続するためのネットワークインタフェース10eを備えている。
CPU10aは、システムバス10fを介してROM10b、RAM10c、及びネットワークインタフェース10eに接続されている。管理サーバ10のハードウェア構成は、物理サーバ20のハードウェア構成と同一であるので、物理サーバ20のハードウェア構成の説明は省略する。なお、物理サーバ管理部12及びルータ管理部13の各処理部は、管理サーバ10のCPU10aが、管理サーバ10のROM10bまたはHDD10dに格納されている制御プログラムを実行することによって実現される。また、図1のvSW使用状況管理表11やデータベース12Aは、管理サーバ10のHDD10dに格納されている。
[仮想マシンシステムの処理のシーケンス]
図6は、仮想マシンシステムが実行する処理のシーケンスを説明する図である。なお、ルータ3には、仮想マシン23を起動する物理サーバ20を特定するVM機器構成が設定されているものとする。また、ルータ3の接続時に、ルータ3は、設定段階のPPPoEによるGWサーバ30への通信路を開設したとする。
ルータ3によって接続要求を示すパケット及びVM機器情報がルータ管理部13に送信されると(ステップS11)、ルータ管理部13は、接続要求を示すパケット及びVM機器情報をルータ3から受信する(ステップS12)。ルータ管理部13は、VM機器情報を物理サーバ管理部12に送信する(ステップS13)。物理サーバ管理部12は、VM機器情報を受信し、起動すべき仮想マシン23、起動すべき物理サーバ21及び起動すべきGWサーバ21を選択する(ステップS14)。
そして、ルータ管理部13は、起動すべき物理サーバ20、起動すべき仮想マシン23及び起動すべきGWサーバ30の情報を物理サーバ管理部12から取得する(ステップS15)。ルータ管理部13は、運用段階用のIP−VPNの作成、及び2組の運用段階用PPPoE設定情報の作成を通信事業者に依頼する(ステップS16)。通信事業者は、ルータ管理部13からの依頼に応じて運用段階用のIP−VPNを開設し、2組の運用段階用PPPoE設定情報をルータ管理部13に返信する。ルータ管理部13は、1組の運用段階用PPPoE設定情報をルータ3に、他の1組の運用段階用PPPoE設定情報を、起動すべきGWサーバ30に送信する(ステップS17)。
ルータ3は、運用段階用PPPoE設定情報を使って、起動すべきGWサーバ30への通信路を開設する(ステップS18)。また、起動すべきGWサーバ30が、運用段階用PPPoE設定情報を使って、ルータ3への通信路を開設する(ステップS19)。これにより、ルータ3及び起動すべきGWサーバ30は、イーサネットを使った仮想私設通信路を介して互いに接続できる。
続いて、ルータ管理部13は、ステップS15で取得した起動すべき仮想マシン23の情報に対応する仮想マシン23及び仮想マシン23上のプロセスの起動を物理サーバ管理部12に指示する(ステップS20)。物理サーバ管理部12は、起動すべき物理サーバ20に、起動すべき仮想マシン23及び仮想マシン23上のプロセスを起動させる(ステップS21)。物理サーバ20は、仮想マシン23及び仮想マシン23上のプロセスを起動する(ステップS22)。ここで、仮想マシン23上のプロセスには、仮想マシン23上のサービスプログラム232を含むものである。
そして、ルータ管理部13は、仮想スイッチ21及びethインタフェース231間の接続処理を行う(ステップS23)。かかる処理は、図7を参照して説明する。
そして、ルータ管理部13は、仮想マシン23に割り当てられるv4のIPアドレスの設定処理を行う(ステップS24)。これにより、仮想スイッチ21が生成され、仮想スイッチ21側に仮想マシン23のv4のIPアドレスが割り当てられる。かかる処理は、図8及び図9を参照して説明する。
その後、ルータ管理部13は、生成された仮想スイッチ21のIPアドレスをルータ3へ、ルータ3のIPアドレスを生成された仮想スイッチ21へそれぞれ送信する(ステップS25)。ルータ3は、生成された仮想スイッチ21のIPアドレスをルータ管理部13から受信する。ルータ3は、Ethernet over IP機能を設定し、受信されたIPアドレスに基づいて、GWサーバ30からルータ3までの通信路を介して生成された仮想スイッチ21と通信する(ステップS26)。物理サーバ20内の生成された仮想スイッチ21は、ルータ管理部13からルータ3のIPアドレスを受信する。仮想スイッチ21は、Ethernet over IP機能、即ちデータをIPパケット化し送受信する機能を設定する。同時に、仮想スイッチ21は、受信されたIPアドレスに基づいて、GWサーバ30からルータ3までの通信路を介してルータ3と通信する(ステップS27)。
これにより、接続要求のあったルータ3に対応する顧客用イントラネット4は、顧客毎に異なる仮想スイッチ21を介して仮想マシン23と通信可能になる。したがって、複数の顧客用イントラネット4内で規定されるそれぞれの顧客PC5のv4のIPアドレスが同一となっても、それぞれの顧客PC5は、通信する仮想マシン23が同一であってもセキュアに通信することが可能となる。
[仮想スイッチ及びethインタフェース間の接続処理のシーケンス]
次に、図6のS23の処理について、図7を参照して説明する。図7は、実施例1に係る仮想スイッチ及びethインタフェース間の接続処理のシーケンスを説明する図である。
物理サーバ20によって仮想マシン23が起動されると、ルータ管理部13の接続処理部132は、起動された仮想マシン23の空きのethインタフェース231を特定する(ステップS31)。例えば、接続処理部132は、起動された仮想マシン23の識別IDをキーにして、vSW使用状況管理表11に記憶されているv4用のethインタフェース231のインデックスを取得する。すなわち、接続処理部132は、既に接続に用いられているethインタフェース231の集合を取得する。そして、接続処理部132は、ethインタフェース231のインデックスを0からチェックし、空きのインデックスを特定する。
そして、接続処理部132は、起動された仮想マシン23に、特定したインデックスが示す新たなethインタフェース231、新たなv4v6変換モジュール22、新たな仮想スイッチ21の生成を依頼する(ステップS32)。
そして、仮想マシン23は、接続処理部132による依頼に基づいて、特定されたインデックスが示す新たなethインタフェース231を生成する(ステップS33)。仮想マシン23は、接続処理部132による依頼に基づいて、新たなv4v6変換モジュール22を生成する(ステップS34)。仮想マシン23は、接続処理部132による依頼に基づいて、新たな仮想スイッチ21を生成する(ステップS35)。
そして、接続処理部132は、起動された仮想マシン23上のサービスプログラム232に新たなethインタフェース231が生成されたことを通知する(ステップS36)。
続いて、接続処理部132は、生成されたethインタフェース231、生成されたv4v6変換モジュール22及び生成された仮想スイッチ21を接続する(ステップS37)。そして、接続処理部132は、接続に用いられたethインタフェース231、仮想スイッチ21及びv4v6変換モジュール22の情報を、接続要求のあったルータ3に対応するユーザ名に対応付けてvSW使用状況管理表11に追加する(ステップS38)。ethインタフェース231の情報は、生成されたethインタフェース231のインデックスである。仮想スイッチ21の情報は、生成された仮想スイッチ21の識別IDである。v4v6変換モジュール22の情報は、生成されたv4v6変換モジュール22の識別IDである。
[アドレス設定処理のシーケンス]
次に、図6のS24の処理について、図8及び図9を参照して説明する。図8及び図9は、実施例1に係るアドレス設定処理のシーケンスを説明する図である。図8は、仮想マシン23のv4のIPアドレスが管理サーバ10によって割り当てられる場合のアドレス設定処理のシーケンスを示す。図9は、仮想マシン23のv4のIPアドレスが顧客用イントラネット4のDHCPサーバによって割り当てられる場合のアドレス設定処理のシーケンスを示す。
図8に示すように、仮想マシン23上のサービスプログラム232が、接続要求のあったルータ3に対応するユーザ名を指示するとともに、仮想マシン23にv4のIPアドレスを割り当てるように指示する(ステップS41)。
すると、ルータ管理部13のアドレス設定指示部133は、指示された仮想マシン23にv4のIPアドレスを割り当てる(ステップS42)。例えば、アドレス設定指示部133は、ユーザ名「A株式会社」から仮想マシン23にパケットが送信される場合に、パケットの宛先となるアドレスとして、「192.0.0.192/24」を割り当てる。ここでは、「192.0.0.192/24」が指示された仮想マシン23のv4のIPアドレスである。
そして、アドレス設定指示部133は、指示されたユーザ名に対応するv4v6変換モジュール22及びethインタフェース231の情報を、vSW使用状況管理表11から検索する(ステップS43)。そして、アドレス設定指示部133は、検索できた情報に対応するv4v6変換モジュール22に、管理サーバ10によって割り当てられたv4のIPアドレスを設定するとともに、設定したIPアドレスのNATを開始するように指示する(ステップS44)。指示には、検索できた情報に対応するethインタフェース231のインデックスが含まれる。すなわち、アドレス設定指示部133は、自サーバによって割り当てられたv4のIPアドレスからv6に変換された後のアドレスをethインタフェース231側に設定するように指示する。
続いて、v4v6変換モジュール22は、設定されたv4のIPアドレスを仮想的なv4のIPアドレスであるv6のIPアドレスに変換する(ステップS45)。例えば、設定されたv4のIPアドレスが「192.0.0.192」である場合、v4v6変換モジュール22は、「192.0.0.192」を「fe80::<192.0.0.192>」に変換する。ここでは、「fe80::<192.0.0.192>」が仮想的なv4のIPアドレス、すなわちv6のIPアドレスである。
そして、v4v6変換モジュール22は、仮想スイッチ21側のインタフェースに、変換前のv4のIPアドレスを設定する(ステップS46)。例えば、v4v6変換モジュール22は、「ifconfig 1 192.0.0.192 255.255.255.0」コマンドを発行する。コマンドの中の「1」は、仮想スイッチ21側のインタフェースの名称、すなわち仮想スイッチ21の識別IDである。
そして、v4v6変換モジュール22は、仮想マシン23側インタフェースに変換後のv6のIPアドレスを設定する(ステップS47)。例えば、v4v6変換モジュール22は、「ifconfig 1 fe80::<192.0.0.192>」コマンドを発行する。コマンドの中の「1」は、仮想マシン23側インタフェースの名称、すなわちethインタフェース231のインデックスである。
そして、v4v6変換モジュール22は、変換前のv4のIPアドレスと変換後のv6のIPアドレスとを対応付けてNAT変換表221に登録する(ステップS48)。例えば、v4v6変換モジュール22は、「192.0.0.192」と「fe80::<192.0.0.192>」とを対応付けて登録する。
その後、v4v6変換モジュール22は、NATが終了したことをルータ管理部13のアドレス設定指示部133に通知すると、ルータ管理部13は、仮想マシンのv4のIPアドレスの割り当てが終了したことをサービスプログラム232に通知する。すると、サービスプログラム232は、ethインタフェース231に変換後のv6のIPアドレスを設定する(ステップS49)。
次に、図9に示すように、仮想マシン23上のサービスプログラム232が、接続要求のあったルータ3に対応するユーザ名を指示するとともに、仮想マシン23にv4のIPアドレスを割り当てるように指示する(ステップS51)。
すると、アドレス設定指示部133は、指示されたユーザ名に対応するv4v6変換モジュール22及びethインタフェース231の情報を、vSW使用状況管理表11から検索する(ステップS52)。そして、アドレス設定指示部133は、検索できた情報に対応するv4v6変換モジュール22に、ユーザ名に対応する顧客用イントラネット4のDHCPサーバへの「dhcp client」コマンドの実行を依頼する(ステップS53)。「dhcp client」コマンドは、DHCPサーバに対してIPアドレスの割り当てを指示するコマンドである。v4v6変換モジュール22への依頼には、検索できた情報に対応するethインタフェース231のインデックスが含まれる。すなわち、アドレス設定指示部133は、DHCPサーバによって割り当てられるv4のIPアドレスからv6のIPアドレスに変換された後のアドレスをethインタフェース231側に設定するように指示する。
続いて、v4v6変換モジュール22は、依頼を受けた「dhcp client」コマンドを、ユーザ名に対応する顧客用イントラネット4のDHCPサーバに対して実行する(ステップS54)。そして、v4v6変換モジュール22は、DHCPサーバによって割り当てられたv4のIPアドレスをDHCPサーバから取得する(ステップS55)。
そして、v4v6変換モジュール22は、取得されたv4のIPアドレスを仮想的なv4のIPアドレスであるv6のIPアドレスに変換する(ステップS56)。
そして、v4v6変換モジュール22は、仮想スイッチ21側のインタフェースに、変換前のv4のIPアドレスを設定する(ステップS57)。
そして、v4v6変換モジュール22は、仮想マシン23側インタフェースに変換後のv6のIPアドレスを設定する(ステップS58)。
そして、v4v6変換モジュール22は、変換前のv4のIPアドレスと変換後のv6のIPアドレスとを対応付けてNAT変換表221に登録する(ステップS59)。
その後、v4v6変換モジュール22は、NATが終了したことをルータ管理部13のアドレス設定指示部133に通知すると、ルータ管理部13は、仮想マシンのv4のIPアドレスの割り当てが終了したことをサービスプログラム232に通知する。すると、サービスプログラム232は、ethインタフェース231に変換後のv6のIPアドレスを設定する(ステップS60)。
これにより、仮想マシン23と通信可能となったルータ3とを接続する顧客用イントラネット4(顧客PC5)から送信されたパケットは、仮想スイッチ21を介してv4v6変換モジュール22に到着する。すると、v4v6変換モジュール22は、パケット内送信元のv4のIPアドレスを仮想的なv4のIPアドレスであるv6のIPアドレスに変換後、変換したIPアドレスを自己に対応するethインタフェース231に引き渡す。したがって、2つの顧客用イントラネット4から送信されたパケット内の送信元(顧客PC5)のIPアドレスが同一であっても、それぞれの顧客PC5は、顧客毎に異なるethインタフェース231に接続することとなるので、送信先の仮想マシン23とセキュアに通信することができる。
[実施例1の効果]
上記実施例1によれば、ルータ管理部13は、管理サーバ10がIPv4を用いたネットワークに対応している場合、接続要求を満たす仮想マシン23に対して、vSW使用状況管理表11に記憶されていないethインタフェース231のインデックスを特定する。そして、ルータ管理部13は、特定したインデックスが示すethインタフェース231を用いて、接続要求のあったルータ3と仮想マシン23とを接続する。これにより、ルータ管理部13は、接続要求のあったルータ3毎に異なるethインタフェース231を用いて、ルータ3と仮想マシン23とを接続するので、IPv4であっても、1つの仮想マシン23と複数のルータ3との間で安全に通信することが可能となる。すなわち、ルータ管理部13は、IPv4であっても、1つの仮想マシン23と複数のルータ3に対応するそれぞれのイントラネットの顧客PC5とセキュアに通信することが可能となる。
また、上記実施例1によれば、ルータ管理部13は、顧客用イントラネット4内の顧客PC5から送信される場合の宛先となるIPv4アドレスを管理サーバ10が割り当てる場合、以下の指示を行う。すなわち、ルータ管理部13は、顧客PC5が属する顧客用イントラネット4の顧客に対応するethインタフェース231のインデックスをvSW使用状況管理表11から検索する。そして、ルータ管理部13は、検索して得られたインデックスが示すethインタフェース231側に、自サーバによって割り当てられたIPv4アドレスからIPv6に変換された後のアドレスを設定するようにv4v6変換モジュール22に指示する。これにより、ルータ管理部13は、IPv4であっても、ethインタフェース231側に、顧客PC5毎に異なるIPv4アドレスをIPv6に変換された後のアドレスを設定させるので、ethインタフェース231を用いてセキュアな通信をすることが可能となる。
また、上記実施例1によれば、ルータ管理部13は、顧客PC5から送信される場合の宛先となるIPv4アドレスを顧客PC5が属する顧客用イントラネット4側が割り当てる場合、以下の指示を行う。すなわち、ルータ管理部13は、顧客PC5が属する顧客用イントラネット4の顧客に対応するethインタフェース231のインデックスをvSW使用状況管理表11から検索する。そして、ルータ管理部13は、検索して得られたインデックスが示すethインタフェース231側に、顧客用イントラネット4側によって割り当てられたIPv4アドレスからIPv6に変換された後のアドレスを設定するようにv4v6変換モジュール22に指示する。これにより、ルータ管理部13は、IPv4であっても、ethインタフェース231側に、顧客PC5毎に異なるIPv4アドレスをIPv6に変換された後のアドレスを設定させるので、ethインタフェース231を用いてセキュアな通信をすることが可能となる。
ところで、実施例1に係る仮想マシンシステム9では、管理サーバ10がIPv4を用いたネットワークに対応している場合を説明した。しかしながら、管理サーバ10は、これに限定されず、IPv4とIPv6を共存させる仕組みであるデュアルスタックを用いたネットワークに対応するようにしても良い。そこで、実施例2では、管理サーバ10がデュアルスタックを用いたネットワークに対応する場合について説明する。
[実施例2に係る仮想マシンシステムの構成]
図10は、実施例2に係る仮想マシンシステムの構成図である。なお、図1に示す仮想マシンシステム9と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、仮想スイッチ21をv6とv4とを共存させた仮想スイッチ21Aに変更した点にある。また、実施例1と実施例2とが異なるところは、ethインタフェース231をethインタフェース231Aとethインタフェース231Bとに分けた点にある。また、実施例1と実施例2とが異なるところは、管理サーバ10のルータ管理部13をルータ管理部13Aに変更した点にある。
ethインタフェース231Aおよびethインタフェース231Bは、仮想マシン23上に仮想的に生成される通信インタフェースである。ethインタフェース231Aは、IPv4用のインタフェースである。すなわち、ethインタフェース231Aは、仮想マシン23とリンクローカルを形成することとなる顧客用イントラネット4とのIPv4用の通信経路である。他方、ethインタフェース231Bは、IPv6用のインタフェースである。すなわち、ethインタフェース231Bは、仮想マシン23とリンクローカルを形成することとなる顧客用イントラネット4とのIPv6用の通信経路である。ethインタフェース231Aおよびethインタフェース231Bには、識別子(インデックス)が重複しないように固定で割り当てられる。
ここで、IPv4用とIPv6用とでインタフェースを区別したのは、顧客側のv4のIPアドレスを変換した後の仮想的なv4のIPアドレスであるv6のIPアドレスが、顧客側のv6のIPアドレスと同じとなる場合を考慮したからである。図10の例では、インデックス「0」のethインタフェース231Bは、サービスプログラム232における「fe80::1234%eth0」が割り付いたソケットに対応する。インデックス「1」のethインタフェース231Aは、サービスプログラム232における「fe80::<192.0.0.1>%eth1」が割り付いたソケットに対応する。万一、「fe80::1234」と「fe80::<192.0.0.1>」が同一であっても、ethインタフェース231A、231Bのインデックスによってv6とv4とが切り分けられる。なお、ethインタフェース231Bは、IPv6で規定されているゾーンインデックスに相当するが、ゾーンインデックスそのものであっても良い。
ルータ管理部13Aは、接続要求のあったルータ3及びGWサーバ30との通信を確立した後、接続要求のあったルータ3及び接続要求を満たす仮想マシン23を接続すべく、仮想スイッチ21A及びethインタフェース231A、231B間の接続処理を行う。なお、通信を確立する処理は、図4の通信確立部131で説明した処理と同様であるので、その説明は省略する。また、接続処理は、図4の接続処理部132によって以下のように行われる。
接続処理部132は、接続要求ごとに、IPv4用として仮想スイッチ21A、v4v6変換モジュール22及びethインタフェース231Aを接続する。また、接続処理部132は、接続要求ごとに、IPv6用として仮想スイッチ21A及びethインタフェース231Bを接続する。
例えば、接続処理部132は、ルータ3から接続要求として受信されたVM機器情報に対応する仮想マシン23に対して、IPv6用及びIPv4用のethインタフェース231のインデックスを特定する。インデックスの特定には、vSW使用状況管理表11Aを用いる。すなわち、接続処理部132は、IPv4用のethインタフェース231Aのインデックスとして、vSW使用状況管理表11Aのv4用およびv6用のいずれのインタフェースの情報にも記憶されていない空きのインデックスを特定する。接続処理部132は、IPv6用のethインタフェース231Bのインデックスとして、vSW使用状況管理表11Aのv4用およびv6用のいずれのインタフェースの情報にも記憶されていないインデックスを特定する。
接続処理部132は、対応する仮想マシン23のサービスプログラム232に対して、IPv4用として、特定したインデックスが示す新たなethインタフェース231A、新たなv4v6変換モジュール22及び新たな仮想スイッチ21Aの生成を依頼する。接続処理部132は、対応する仮想マシン23のサービスプログラム232に対して、IPv6用として、特定したインデックスが示す新たなethインタフェース231B及び新たな仮想スイッチ21Aの生成を依頼する。
接続処理部132は、IPv4用として、依頼によって生成されたethインタフェース231A、v4v6変換モジュール22及び仮想スイッチ21Aを接続する。接続処理部132は、IPv6用として、依頼によって生成されたethインタフェース231B及び仮想スイッチ21Aを接続する。
接続処理部132は、接続に用いられたethインタフェース231A、231B、仮想スイッチ21A及びv4v6変換モジュール22の情報を接続要求のあった顧客に対応するユーザ名と対応付けて、vSW使用状況管理表11Aに追加する。ここで、vSW使用状況管理表11Aのデータ構造について、図11を参照して説明する。
図11は、実施例2に係るvSW使用状況管理表のデータ構造の一例を示す図である。なお、図2に示すvSW使用状況管理表11と同一のデータ構造については同一符号を示すことで、その重複するデータ構造の説明については省略する。実施例1と実施例2とが異なるところは、インタフェース使用状況11dにv6用ethインタフェース(インデックス)11gが追加された点にある。v6用ethインタフェース(インデックス)11gは、IPv6で用いられるethインタフェース231Bのインデックスを示す。なお、v4用ethインタフェース(インデックス)11fは、IPv4で用いられるethインタフェース231Aのインデックスを示す。
一例として、ユーザ名11aが「A株式会社」である場合、v4用ethインタフェース(インデックス)11fとして「0」、v6用ethインタフェース(インデックス)11gとして「1」と記憶している。すなわち、v4用ethインタフェース(インデックス)11f及びv6用ethインタフェース(インデックス)11gは、それぞれ重複しない値であるとともに、同じ仮想マシン11eに対応するインデックスと重複しない値である。
また、ルータ管理部13Aは、仮想マシン23に割り当てられるv6のIPアドレスを、ethインタフェース231Bに設定する。なお、v4のIPアドレスにおける設定指示は、図4のアドレス設定指示部133で説明したとおりであるので、その説明は省略する。
また、ルータ管理部13Aは、ルータ3に対して仮想スイッチ21Aに割り当てられるv4のIPアドレス及びv6のIPアドレスを通知し、仮想スイッチ21Aに対してルータ3のIPアドレスを通知する。そして、ルータ管理部13Aは、ルータ3及び仮想スイッチ21Aの間のEthernet over IPによる通信を確立する。なお、IPアドレスの通知処理は、図4のアドレス送信部134によって行われる。
このようにして、ルータ管理部13Aは、IPv4用のethインタフェース231AとIPv6用のethインタフェース231Bとを分ける構成とした。したがって、ルータ管理部13Aは、IPv4/IPv6のデュアルスタックであっても、1つの仮想マシン23とルータ3との間で安全に通信することが可能となる。さらに、ルータ管理部13Aは、接続要求のあったルータ3毎に異なるethインタフェース231A,231Bを用いて、ルータ3と仮想マシン23とを接続するので、IPv4であっても、1つの仮想マシン23と複数のルータ3との間で安全に通信することが可能となる。
なお、管理サーバ10は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した物理サーバ管理部12と、ルータ管理部13等の各機能を搭載することによって実現することができる。また、物理サーバ20は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記したHostOS/Hypervisor上に仮想マシン23、ethインタフェース231、v4v6変換モジュール22等の各機能を搭載することによって実現することができる。
また、上記実施例では、物理サーバ管理部12及びルータ管理部13が、管理サーバ10に備える構成とした。しかしながら、これに限定されず、物理サーバ管理部12及びルータ管理部13が、それぞれ独立のサーバに備える構成としても良い。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、物理サーバ管理部12とルータ管理部13とを1個の部として統合しても良い。一方、ルータ管理部13を、通信確立部131と接続処理部132とアドレス設定指示部133とアドレス送信部134とに分散しても良い。また、vSW使用状況管理表11を管理サーバ10の外部装置に記憶するようにしても良いし、vSW使用状況管理表11を記憶した外部装置を管理サーバ10とネットワーク経由で接続するようにしても良い。
1 データセンタ
2 PPPoE網
3 ルータ
4 顧客用イントラネット
5 顧客PC
9 仮想マシンシステム
10 管理サーバ
11 vSW使用状況管理表
12 物理サーバ管理部
12A DB
13 ルータ管理部
20 物理サーバ
21 仮想スイッチ
22 v4v6変換モジュール
221 NAT変換表
23 仮想マシン
231 ethインタフェース

Claims (9)

  1. 仮想マシンを稼働する物理サーバを管理する管理サーバにおいて、
    仮想私設通信網を介して接続され中継装置を経由して接続されるネットワークに属する情報処理装置が前記仮想マシンに接続する際に用いられる、前記仮想マシンに対するインタフェースであって使用中のインタフェースを識別する識別子を、前記ネットワーク毎に記憶する記憶部と、
    前記物理サーバがIPv4を用いたネットワークに対応している場合、前記情報処理装置が属するネットワークと接続する中継装置との接続要求を受信すると、受信した接続要求を満たす仮想マシンに対して、前記記憶部に記憶されていないインタフェースを識別する識別子を特定し、特定した前記識別子が示すインタフェースに対応する仮想スイッチのアドレスと前記中継装置のアドレスとを用いて、前記中継装置と前記仮想マシンとを接続させる接続部と、
    前記接続部によって接続された前記中継装置が接続するネットワークと前記仮想マシンとを対応付けて、接続に用いられたインタフェースを識別する識別子を前記記憶部に追加する追加部と、
    前記ネットワークに属する情報処理装置から送信される場合の宛先となるIPv4のアドレスを割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、割り当てられたIPv4アドレスからIPv6に変換された後のアドレスを設定するようにアドレスを変換する変換部に指示するアドレス設定指示部と、
    を有することを特徴とする管理サーバ。
  2. 前記ネットワークに属する情報処理装置から送信される場合の宛先となるIPv4アドレスを自サーバが割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、自サーバによって割り当てられたIPv4アドレスからIPv6に変換された後のアドレスを設定するようにアドレスを変換する変換部に指示するアドレス設定指示部をさらに有する
    ことを特徴とする請求項1に記載の管理サーバ。
  3. 前記情報処理装置から送信される場合の宛先となるIPv4アドレスを前記情報処理装置が属するネットワーク側が割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、ネットワーク側によって割り当てられたIPv4アドレスからIPv6に変換された後のアドレスを設定するようにアドレスを変換する変換部に指示するアドレス設定指示部をさらに有する
    ことを特徴とする請求項1に記載の管理サーバ。
  4. 仮想マシンを稼動する物理サーバ及び前記物理サーバを管理する管理サーバが接続する仮想マシンシステムにおいて、
    前記管理サーバは、
    仮想私設通信網を介して接続され中継装置を経由して接続されるネットワークに属する情報処理装置が前記仮想マシンに接続する際に用いられる、前記仮想マシンに対するインタフェースであって使用中のインタフェースを識別する識別子を、前記ネットワーク毎に記憶する記憶部と、
    前記物理サーバがIPv4を用いたネットワークに対応している場合、前記情報処理装置が属するネットワークと接続する中継装置との接続要求を受信すると、受信した接続要求を満たす仮想マシンに対して、前記記憶部に記憶されていないインタフェースを識別する識別子を特定し、特定した前記識別子が示すインタフェースに対応する仮想スイッチのアドレスと前記中継装置のアドレスとを用いて、前記中継装置と前記仮想マシンとを接続させる接続部と、
    前記接続部によって接続された前記中継装置が接続するネットワークと前記仮想マシンとを対応付けて、接続に用いられたインタフェースを識別する識別子を前記記憶部に追加する追加部と、
    前記ネットワークに属する情報処理装置から送信される場合の宛先となるIPv4のアドレスを割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、割り当てられたIPv4アドレスからIPv6に変換された後のアドレスを設定するようにアドレスを変換する変換部に指示するアドレス設定指示部と、
    有することを特徴とする仮想マシンシステム。
  5. 前記管理サーバは、
    前記ネットワークに属する情報処理装置から送信される場合の宛先となるIPv4アドレスを自サーバが割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、自サーバによって割り当てられたIPv4アドレスからIPv6に変換された後のアドレスを設定するように指示するアドレス設定指示部を、さらに有し、
    前記物理サーバは、
    前記アドレス設定指示部によってアドレス設定が指示されると、前記管理サーバによって割り当てられたIPv4アドレスを仮想的なIPv4アドレスであるIPv6アドレスに変換するアドレス変換部と、
    前記アドレス変換部によって変換されたIPv6アドレスを前記アドレス設定指示部によって得られた識別子が示すインタフェース側に設定するとともに、前記管理サーバによって割り当てられたIPv4アドレスを前記情報処理装置が属するネットワークへ出力する側に設定するアドレス設定部を、
    さらに有することを特徴とする請求項に記載の仮想マシンシステム。
  6. 前記管理サーバは、
    前記情報処理装置から送信される場合の宛先となるIPv4アドレスを前記情報処理装置が属するネットワーク側が割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、ネットワーク側によって割り当てられたIPv4アドレスからIPv6に変換された後のアドレスを設定するように指示するアドレス設定指示部を、さらに有し、
    前記物理サーバは、
    記宛先となるIPv4アドレスを前記情報処理装置が属するネットワーク側に要求し、前記ネットワーク側から前記IPv4アドレスを取得すると、取得されたIPv4アドレスを仮想的なIPv4アドレスであるIPv6アドレスに変換するアドレス変換部と
    記アドレス変換部によって変換されたIPv6アドレスを前記アドレス設定指示部によって得られた識別子が示すインタフェース側に設定するとともに、前記ネットワーク側によって取得されたIPv4アドレスを前記情報処理装置が属するネットワークへ出力する側に設定するアドレス設定部とを、
    さらに有することを特徴とする請求項に記載の仮想マシンシステム。
  7. 前記アドレス変換部は、さらに、前記情報処理装置から送信されたパケット内の送信元を指すIPv4アドレスをIPv6アドレスに変換し、変換したIPv6アドレスを自アドレス変換部に対応するインタフェースに引き渡す
    ことを特徴とする請求項または請求項に記載の仮想マシンシステム。
  8. 仮想マシンを稼動する物理サーバを管理する管理サーバに、
    前記物理サーバがIPv4を用いたネットワークに対応している場合、仮想私設通信網を介して接続され中継装置との接続要求を受信し、
    該受信した接続要求を満たす仮想マシンに対して、前記中継装置を経由して接続されるネットワークに属する情報処理装置が前記仮想マシンに接続する際に用いられる、前記仮想マシンに対するインタフェースであって使用中のインタフェースを識別する識別子を、前記ネットワーク毎に記憶する記憶部に記憶されていないインタフェースを識別する識別子を特定し、
    該特定した識別子が示すインタフェースに対応する仮想スイッチのアドレスと前記中継装置のアドレスとを用いて、前記中継装置と前記仮想マシンとを接続し、
    該接続した前記中継装置が接続するネットワークと前記仮想マシンとを対応付けて、接続に用いられたインタフェースを識別する識別子を前記記憶部に追加し、
    前記ネットワークに属する情報処理装置から送信される場合の宛先となるIPv4のアドレスを割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、割り当てられたIPv4アドレスからIPv6に変換された後のアドレスを設定するようにアドレスを変換する変換部に指示する
    処理を実行させることを特徴とするプログラム。
  9. 仮想マシンを稼動する物理サーバを管理する管理サーバが、
    前記物理サーバがIPv4を用いたネットワークに対応している場合、仮想私設通信網を介して接続され中継装置との接続要求を受信し、
    該受信した接続要求を満たす仮想マシンに対して、前記中継装置を経由して接続されるネットワークに属する情報処理装置が前記仮想マシンに接続する際に用いられる、前記仮想マシンに対するインタフェースであって使用中のインタフェースを識別する識別子を、前記ネットワーク毎に記憶する記憶部に記憶されていないインタフェースを識別する識別子を特定し、
    該特定した識別子が示すインタフェースに対応する仮想スイッチのアドレスと前記中継装置のアドレスとを用いて、前記中継装置と前記仮想マシンとを接続し、
    該接続した前記中継装置が接続するネットワークと前記仮想マシンとを対応付けて、接続に用いられたインタフェースを識別する識別子を前記記憶部に追加し、
    前記ネットワークに属する情報処理装置から送信される場合の宛先となるIPv4のアドレスを割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、割り当てられたIPv4アドレスからIPv6に変換された後のアドレスを設定するようにアドレスを変換する変換部に指示する
    各処理を実行することを特徴とする接続方法。
JP2012240939A 2012-10-31 2012-10-31 管理サーバ、仮想マシンシステム、プログラム及び接続方法 Expired - Fee Related JP6040711B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012240939A JP6040711B2 (ja) 2012-10-31 2012-10-31 管理サーバ、仮想マシンシステム、プログラム及び接続方法
US13/966,373 US9413595B2 (en) 2012-10-31 2013-08-14 Management server, virtual machine system, computer-readable recording medium, and connection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012240939A JP6040711B2 (ja) 2012-10-31 2012-10-31 管理サーバ、仮想マシンシステム、プログラム及び接続方法

Publications (2)

Publication Number Publication Date
JP2014093550A JP2014093550A (ja) 2014-05-19
JP6040711B2 true JP6040711B2 (ja) 2016-12-07

Family

ID=50548492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012240939A Expired - Fee Related JP6040711B2 (ja) 2012-10-31 2012-10-31 管理サーバ、仮想マシンシステム、プログラム及び接続方法

Country Status (2)

Country Link
US (1) US9413595B2 (ja)
JP (1) JP6040711B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100670A1 (en) * 2013-10-04 2015-04-09 International Business Machines Corporation Transporting multi-destination networking traffic by sending repetitive unicast
JP6467906B2 (ja) * 2014-12-19 2019-02-13 富士通株式会社 情報処理システム、情報処理方法、情報処理プログラム、及び情報処理装置
US10491546B2 (en) * 2015-02-25 2019-11-26 At&T Intellectual Property I, L.P. Provider edge router system and provider edge router system controller for hybrid virtualization of provider edge router functions
KR101952651B1 (ko) * 2015-05-11 2019-05-22 삼성에스디에스 주식회사 분산 컴퓨팅 환경을 위한 고유 식별자 생성 방법 및 그 장치
JP2017050687A (ja) * 2015-09-01 2017-03-09 株式会社リコー 制御装置、通信制御システム、及びプログラム
CN106878204B (zh) * 2016-12-21 2020-09-08 新华三技术有限公司 一种虚拟机的创建方法和装置
CN108989068B (zh) 2017-05-31 2019-08-20 华为技术有限公司 一种编排软件定义网络的方法及sdn控制器
US11012407B2 (en) * 2017-10-27 2021-05-18 Dell Products L.P. System and method of utilizing multiple networks
CN111404628B (zh) * 2019-06-05 2022-03-29 杭州海康威视系统技术有限公司 一种时间同步方法和装置
CN111600972B (zh) * 2020-05-15 2023-04-07 咪咕视讯科技有限公司 双栈地址的配置方法、服务器和可读存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US7047314B2 (en) 2000-12-28 2006-05-16 Oki Electric Industry Co., Ltd. Duplicate private address translating system and duplicate address network system
JP2002354006A (ja) * 2001-05-24 2002-12-06 Oki Electric Ind Co Ltd 重複アドレスのネットワークシステム
JP4186446B2 (ja) * 2001-09-11 2008-11-26 株式会社日立製作所 アドレス変換方法
JP3896300B2 (ja) 2002-03-20 2007-03-22 株式会社日立コミュニケーションテクノロジー IPv4/IPv6デュアルスタック機能を備えた通信装置
US8301738B1 (en) * 2003-07-31 2012-10-30 Novell, Inc. Systems and methods for private network addressing in IP protocols
GB2418326B (en) * 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
JP3996922B2 (ja) * 2004-11-05 2007-10-24 株式会社インターネットイニシアティブ 異なる通信プロトコルが併存するネットワークにおけるネットワーク接続手段の一元管理システム及び方法
CN103401952B (zh) * 2008-03-31 2018-04-20 亚马逊技术有限公司 配置计算机节点之间的通信
US8046480B2 (en) 2008-03-31 2011-10-25 Amazon Technologies, Inc. Embedding overlay virtual network addresses in underlying substrate network addresses
US7865586B2 (en) 2008-03-31 2011-01-04 Amazon Technologies, Inc. Configuring communications between computing nodes
US8170123B1 (en) * 2008-04-15 2012-05-01 Desktone, Inc. Media acceleration for virtual computing services
US20110110377A1 (en) * 2009-11-06 2011-05-12 Microsoft Corporation Employing Overlays for Securing Connections Across Networks
JP2011160300A (ja) * 2010-02-02 2011-08-18 Fujitsu Ltd ルータ、ルーティング方法、ルーティングプログラム、情報処理装置、仮想マシン構築方法および仮想マシン構築プログラム
JP2011248690A (ja) 2010-05-27 2011-12-08 Fujitsu Ltd 情報処理装置及びプログラム
JP5482453B2 (ja) 2010-05-27 2014-05-07 富士通株式会社 ルータ、情報処理装置及びプログラム
US8683023B1 (en) * 2010-06-30 2014-03-25 Amazon Technologies, Inc. Managing communications involving external nodes of provided computer networks
US8521890B2 (en) * 2011-06-07 2013-08-27 International Business Machines Corporation Virtual network configuration and management
US9081603B2 (en) * 2012-07-09 2015-07-14 Cisco Technology, Inc. Packet forwarding optimization with virtual machine mobility by comparing device identifiers to determine VM movement

Also Published As

Publication number Publication date
US20140122681A1 (en) 2014-05-01
US9413595B2 (en) 2016-08-09
JP2014093550A (ja) 2014-05-19

Similar Documents

Publication Publication Date Title
JP6040711B2 (ja) 管理サーバ、仮想マシンシステム、プログラム及び接続方法
EP3316532B1 (en) Computer device, system and method for implementing load balancing
JP6087922B2 (ja) 通信制御方法及びゲートウェイ
US20090063706A1 (en) Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing
JP2016134700A (ja) 管理サーバ、通信システム、および、経路管理方法
JP5486526B2 (ja) 制御装置、制御システム、制御方法、及び制御プログラム
EP3895391B1 (en) Transparent migration of virtual network functions
US20110191402A1 (en) Network system, process-providing-server switching method, information processing apparatus, and virtual-machine building method
JP6507572B2 (ja) 管理サーバの経路制御方法、および管理サーバ
JP3609948B2 (ja) マルチプロトコルネットワーク管理方法、マルチプロトコルネットワーク管理プロキシサーバシステム、マルチプロトコルアドレス管理サーバシステム、および、マルチプロトコルネットワーク管理システム
US20200274799A1 (en) Multi-vrf and multi-service insertion on edge gateway virtual machines
WO2022063249A1 (zh) 地址管理的方法、装置及系统
JP4612528B2 (ja) ネットワーク接続システム、ネットワーク接続装置およびそのプログラム
Cisco Configuring the TN3270 Server
US10931565B2 (en) Multi-VRF and multi-service insertion on edge gateway virtual machines
JP6162831B2 (ja) パケット通信システム、sdn制御装置、パケット通信方法、及びプログラム
US20230262027A1 (en) Ip address allocation method and apparatus, and system
CN117278395A (zh) 一种容器云平台环境下的网络配置方法和服务器
JP6216891B2 (ja) 中継装置
CN115550316A (zh) 容器化网络系统、容器化ipv6通信方法及装置、介质、设备
CN114390021A (zh) 基于IPv6单栈的IDC服务提供系统及方法
KR20000031147A (ko) 파일 전송 프로토콜에 대한 네트워크 주소 변환 적용 방법
Chudzik et al. IPv6 in Virtualization Environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160607

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161024

R150 Certificate of patent or registration of utility model

Ref document number: 6040711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees