(57)【要約】【課題】計算機に割り当てるパブリックなＩＰアドレスの数を少なくすると共に、クライアント仮想マシンで利用できるアプリケーションの制限を少なくする。【解決手段】第２ゲスト用仮想マシン１０Ｃとネットワークとを仮想的にブリッジ接続するブリッジ接続ＩＦ４２と、仮想マシン１０Ｂおよびアプリケーション１５からネットワークに送信されるパケットをＶＰＮプロトコルのパケットに変換するＶＰＮ接続ＩＦ４３，４４と、ネットワークから受信したパケットの宛先を検出し、宛先が第２ゲスト用仮想マシン１０Ｃの場合に受信したパケットをブリッジ接続ＩＦ４２に振り分け、検出された宛先が第１ゲスト用仮想マシン１０Ｂおよびアプリケーション１５の何れかの場合にネットワークから受信したパケットを元のパケットに変換し、変換されたパケットを検出された宛先に振り分ける手段４５，４３，４４とを具備する。【選択図】      図２
2009278261.tif 000002
【特許請求の範囲】
【請求項１】
論理的に複数に分割された計算資源にホスト用仮想マシンおよびＮ台のゲスト用仮想マシンを割り当て、前記ホスト用仮想マシンおよび前記Ｎ台のゲスト用仮想マシン内でそれぞれオペレーティングシステムが同時動作し、ネットワークインタフェースによってネットワークに接続される情報処理装置であって、
前記ホスト用仮想マシンは、
前記Ｎ台のゲスト用仮想マシンから選ばれる１台のゲスト用仮想マシンとネットワークとを仮想的にブリッジ接続する仮想ブリッジ接続手段と、
前記仮想的にブリッジ接続されていないＮ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションのそれぞれに対応し、前記Ｎ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションから前記ネットワークに送信されるパケットをＶＰＮ（Virtual Private Network）プロトコルのパケットに変換する変換手段と、
前記ネットワークから受信したパケットの宛先を検出し、前記検出された宛先が前記１台のゲスト用仮想マシンの場合に前記受信したパケットを前記仮想ブリッジ接続手段に振り分け、前記検出された宛先が前記Ｎ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションの何れかの場合に前記ネットワークから受信した前記ＶＰＮプロトコルのパケットを元のパケットに変換し、前記変換されたパケットを前記検出された宛先に振り分ける手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記１台のゲスト用仮想マシンに前記ネットワークインタフェースのＭＡＣアドレスを割り当てる手段を更に具備することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ＶＰＮプロトコルのパケットへ変換は、ＩＰｓｅｃ  ＮＡＴトラバーサル技術を用いることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記振り分け手段は、ＩＰｓｅｃ  ＮＡＴトラバーサル形式のＵＤＰヘッダが無いパケットは前記１台のゲスト用仮想マシン宛で有ると判断し、
前記ＵＤＰヘッダを有するパケットは、前記ＵＤＰヘッダに応じて前記Ｎ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションの何れかであるかを判別することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ホスト用仮想マシンは、前記１台のゲスト用仮想マシンが前記ネットワークに接続されるＤＨＣＰサーバとの間で送受信されるパケットを監視することによって、前記ＤＨＣＰサーバが前記１台のゲスト用仮想マシンに割り当てるＩＰアドレスを検出し、
前記変換手段は、前記ＶＰＮプロトコルのパケットのＩＰヘッダに前記ＩＰアドレスを設定することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
計算資源が論理的に複数に分割されてホスト用仮想マシンおよびＮ台のゲスト用仮想マシンが割り当てられ、前記ホスト用仮想マシンおよび前記Ｎ台のゲスト用仮想マシン内でそれぞれオペレーティングシステムが動作し、ネットワークインタフェースによってネットワークに接続される情報処理装置の通信制御方法であって、
前記Ｎ台のゲスト用仮想マシンから選ばれる１台のゲスト用仮想マシンとネットワークとの間の通信を仮想的なブリッジ接続によって行い、
前記仮想的にブリッジ接続されていないＮ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションのそれぞれに対応し、前記Ｎ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションから前記ネットワークに送信されるパケットをＶＰＮ（Virtual Private Network）プロトコルのパケットに変換し、
前記ネットワークから受信したパケットの宛先を検出し、
前記検出された宛先が前記１台のゲスト用仮想マシンの場合に前記受信したパケットを前記仮想ブリッジ接続手段に振り分け、
前記検出された宛先が前記Ｎ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションの何れかの場合に前記ネットワークから受信した前記ＶＰＮプロトコルのパケットを元のパケットに変換し、
前記変換されたパケットを前記検出された宛先に振り分ける
ことを特徴とする通信制御方法。
【請求項７】
前記１台のゲスト用仮想マシンに前記ネットワークインタフェースのＭＡＣアドレスを割り当てることを特徴とする請求項６に記載の通信制御方法。
【請求項８】
前記ＶＰＮプロトコルのパケットへ変換は、ＩＰｓｅｃ  ＮＡＴトラバーサル技術を用いることを特徴とする請求項６に記載の通信制御方法。
【請求項９】
前記宛先の検出は、ＩＰｓｅｃ  ＮＡＴトラバーサル形式のＵＤＰヘッダが無いパケットは前記１台のゲスト用仮想マシン宛で有ると判断し、前記ＵＤＰヘッダを有するパケットは、前記ＵＤＰヘッダに応じて前記Ｎ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションの何れかであるかを判別することを特徴とする請求項８に記載の通信制御方法。
【請求項１０】
前記１台のゲスト用仮想マシンが前記ネットワークに接続されるＤＨＣＰサーバとの間で送受信されるパケットを監視することによって、前記ＤＨＣＰサーバが前記１台のゲスト用仮想マシンに割り当てるＩＰアドレスを検出し、
前記変換手段は、前記ＶＰＮプロトコルのパケットのＩＰヘッダに前記ＩＰアドレスを設定する
ことを特徴とする請求項６に記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンが同時に複数稼働する情報処理装置および通信制御方法に関する。
【背景技術】
【０００２】
従来の仮想マシン技術では、複数の仮想マシンを外部ネットワークに接続する場合、外部に接続するための物理ネットワークインターフェース（ＬＡＮカード等）に対し、ブリッジ接続、ＮＡＴ接続、ルータ接続のどのモードをどれか１つを決定し、ソフトウェアで仮想的なネットワークをエミュレーションしている。
【０００３】
特許文献１には、情報処理装置は複数の論理区画（ＬＰＡＲ）に分割され、各ＬＰＡＲ上ではＯＳが互いに独立に動作している。ＩＰアドレスはすべてのＬＰＡＲで共有され、代表ＬＰＡＲが他のＬＰＡＲに代わって外部と通信を行うことが開示されている
【特許文献１】特開２００７−１１０２４０号公報（要約、［００１４−００１５］、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、複数の仮想マシンを同一パソコン上に稼働させ、仮想マシンの１つを通常の一般用のパソコンとして動かし、残りの仮想マシンでネットワークを利用するサービスやアプリケーションなどを動かすような利用をする場合、下記のような問題があった。
【０００５】
ブリッジ接続：パブリックＩＰアドレスが多く必要
Ｎ個のゲスト用仮想マシンと１つのホスト用仮想マシンを１計算機で稼働し、これらが全て外部ネットワークに接続する必要がある場合、この計算機にＮ＋１個のパブリックＩＰアドレスを割り当てる必要がある。通常、ゲスト用仮想マシンを稼働するためには、ホスト用計算機は必ず稼働している必要である。そのため、最低２個のパブリックIPアドレスをこの計算機に割り当てなければならない。
【０００６】
ＮＡＴ接続：アプリケーションに制約
ホスト用仮想マシンに１つのパブリックＩＰアドレスを割り当て、Ｎ個のゲスト用仮想マシンにプライベートＩＰアドレスを（ホスト用仮想マシンが）割り当てる方式。しかし、ＮＡＴ越えの問題が発生し、ＮＡＴテーブルにプライベートIPとプロトコルの対応表がない外部からのアクセスはブロックされるため、通常の計算機に比べ、ゲスト用仮想マシンで利用できるアプリケーションに制約が多くなる。
【０００７】
ルータ接続：ネットワークのアドレス管理が複雑
ホスト用仮想マシンがルータとなる方式。ゲスト用仮想マシンで利用するネットワークアプリケーションは、ルータ超えに対応するものでなければならないという制限がでる。また、ゲスト用仮想マシンとホスト用仮想マシンとで利用するＩＰアドレスのネットワークアドレス部分も異なる。ホスト用計算機のルーティングテーブルの設定・更新などネットワークのアドレス管理が複雑になる。
【０００８】
このため、複数の仮想マシンを同一計算機上に稼働させ、仮想マシンの１つを通常のパソコンとして動かし、残りの仮想マシンでネットワークを利用するサービスやアプリケーションを動かすような場合、
１．ＩＰアドレスの消費を我慢してブリッジ接続モードにする
２．２系統のネットワークインタフェースをシステムに構築し、複数の物理ネットワークカードを計算機に装着する
などが必要であった。
【０００９】
本発明の目的は、ホスト用仮想マシンと１台以上のゲスト用仮想マシンと同時稼働する情報処理装置において、情報処理装置に割り当てるパブリックなＩＰアドレスの数を少なくすると共に、ゲスト用仮想マシンで利用できるアプリケーションの制限を少なくすることが可能な情報処理装置および通信制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一例に係わる情報処理装置は、論理的に複数に分割された計算資源にホスト用仮想マシンおよびＮ台のゲスト用仮想マシンを割り当て、前記ホスト用仮想マシンおよび前記Ｎ台のゲスト用仮想マシン内でそれぞれオペレーティングシステムが同時動作し、ネットワークインタフェースによってネットワークに接続される情報処理装置であって、前記ホスト用仮想マシンは、前記Ｎ台のゲスト用仮想マシンから選ばれる１台のゲスト用仮想マシンとネットワークとを仮想的にブリッジ接続する仮想ブリッジ接続手段と、前記仮想的にブリッジ接続されていないＮ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションのそれぞれに対応し、前記Ｎ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションから前記ネットワークに送信されるパケットをＶＰＮ（Virtual Private Network）プロトコルのパケットに変換する変換手段と、前記ネットワークから受信したパケットの宛先を検出し、前記検出された宛先が前記１台のゲスト用仮想マシンの場合に前記受信したパケットを前記仮想ブリッジ接続手段に振り分け、前記検出された宛先が前記Ｎ−１台のゲスト用仮想マシンおよび前記ホスト用仮想マシン内で動作するアプリケーションの何れかの場合に前記ネットワークから受信した前記ＶＰＮプロトコルのパケットを元のパケットに変換し、前記変換されたパケットを前記検出された宛先に振り分ける手段とを具備することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ホスト用仮想マシンと１台以上のゲスト用仮想マシンと同時稼働する情報処理装置において、情報処理装置に割り当てるパブリックなＩＰアドレスの数を少なくすると共に、ゲスト用仮想マシンで利用できるアプリケーションの制限を少なくすることが可能になる。
【発明を実施するための最良の形態】
【００１２】
本発明の実施の形態を以下に図面を参照して説明する。
【００１３】
図１は本発明の一実施の形態に係る情報処理装置としてのパーソナルコンピュータを含む情報処理システムの構成を示す図である
コンピュータ１０が、複数の仮想マシンが同時に実行され、本発明の一実施形態に係わる情報処理装置を実現させたものである。また、パーソナルコンピュータ２０Ａ〜２０Ｃは、仮想マシンが稼働していない。コンピュータ１０、コンピュータ２０Ａ〜２０Ｃは、社内ＬＡＮ（外部ネットワーク）に接続されている。
【００１４】
次に、図２を参照してコンピュータ１０の構成を説明する。  
コンピュータ１０は、プロセッサ、ＲＡＭ、Ｉ／Ｏデバイス等の計算資源を有する。仮想マシンモニタ１３は、計算資源を論理的に複数に分割し、分割された計算資源にホスト用仮想マシン１０Ａ、第１ゲスト用仮想マシン１０Ｂ、および第２ゲスト用仮想マシン１０Ｃを割り当てる。計算資源が割り当てられたホスト用仮想マシン１０Ａ、第１ゲスト用仮想マシン１０Ｂ、および第２ゲスト用仮想マシン１０Ｃは同時に独立に稼働する。ホスト用仮想マシン１０Ａ、第１ゲスト用仮想マシン１０Ｂ、および第２ゲスト用仮想マシン１０Ｃ内では、オペレーティングシステムがそれぞれ動作する。
【００１５】
コンピュータ１０は、社内ＬＡＮに接続する一つの物理ネットワークインタフェースカード（ＮＩＣ）１８を有する。ホスト用仮想マシン１０Ａ内では、第１ゲスト用仮想マシン１０Ｂ，第２ゲスト用仮想マシン１０Ｃと、ホスト用仮想マシン１０Ａ内で動作するアプリケーション１５とを社内ＬＡＮへ接続するための仮想ネットワークソフトウェア４０が稼働している。
【００１６】
仮想ネットワークソフトウェア４０は、３台の仮想マシン１０Ａ〜１０Ｃのうち、第２ゲスト用仮想マシン１０Ｃは社内ＬＡＮとブリッジ接続されているかのようにし、残りの２台の仮想マシン（第１ゲスト用仮想マシン１０Ｂ、ホスト用仮想マシン１０Ａ）はＶＰＮ（Virtual Private Network）で接続されているかのようにソフトウェアによって制御することを特徴とする。
【００１７】
仮想ネットワークソフトウェア４０は、仮想ネットワーク管理部４１、仮想ブリッジ接続インタフェース４２、ホスト用ＶＰＮ接続インタフェース４３、ゲスト用ＶＰＮ接続インタフェース４４、受信パケット振分処理部４５、パケット送信部４６等を有する。
【００１８】
仮想ネットワーク管理部４１は、仮想マシン１０Ａ、１０Ｂ、１０Ｃが用いるＭＡＣアドレスとＩＰアドレスの割り当てを管理する。また、仮想ネットワーク管理部４１は、仮想ブリッジ接続インタフェース４２、ホスト用ＶＰＮ接続インタフェース４３、ゲスト用ＶＰＮ接続インタフェース４４、受信パケット振分処理部４５、およびパケット送信部４６を制御する。
【００１９】
また、仮想ネットワーク管理部４１は、第２ゲスト用仮想マシン１０Ｃに対し、物理ネットワークインタフェースカード１８の物理ＭＡＣアドレスを割り当て、他のホスト用仮想マシン１０Ａに対してローカルＭＡＣアドレスを割り当てる機能と、第２ゲスト用仮想マシン１０ＣにパブリックＩＰアドレスを割り当て、第１ゲスト用仮想マシン１０Ｂとホスト用仮想マシン１０ＡにローカルＩＰアドレスを割り当てる機能をもつ。これによって、第２ゲスト用仮想マシン１０Ｃがネットワークアドレス体系上もネットワークにブリッジ接続し、第１ゲスト用仮想マシン１０Ｂ、ホスト用仮想マシン１０Ａ）はＶＰＮで接続されているかのように制御する特徴をもっている。
【００２０】
仮想ブリッジ接続インタフェース４２は、第２ゲスト用仮想マシン１０Ｃがあたかも社内ＬＡＮとブリッジ接続しているかのようにパケットの送受信を仲介する処理を行う。第２ゲスト用仮想マシン１０Ｃから社内ＬＡＮに送信されるパケットは、仮想ブリッジ接続インタフェース４２からパケット送信部４６に送られる。
【００２１】
ホスト用ＶＰＮ接続インタフェース４３は、アプリケーション１５から社内ＬＡＮに送信されるパケットを所定のＶＰＮプロトコルのパケットに変換して、パケット送信部４６に送る。ゲスト用ＶＰＮ接続インタフェース４４は、第１ゲスト用仮想マシン１０Ｂから社内ＬＡＮに送信されるパケットを所定のＶＰＮプロトコルのパケットに変換して、パケット送信部４６に送る処理を行う。
【００２２】
パケット送信部４６は、仮想ブリッジ接続インタフェース４２、ホスト用ＶＰＮ接続インタフェース４３、ゲスト用ＶＰＮ接続インタフェース４４から送られた社内ＬＡＮ送信用のパケットを物理ネットワークインタフェースカード１８へ送信する処理を行う。
【００２３】
受信パケット振分処理部４５は、物理ネットワークインタフェースカード１８から受信したパケットを解析することによってパケットの宛先を検出し、検出した宛先に応じて受信したパケットをアプリケーション１５、第１ゲスト用仮想マシン１０Ｂ、および第２ゲスト用仮想マシン１０Ｃの何れかに振り分ける処理を行う。
【００２４】
なお、仮想ネットワークソフトウェア４０は、第２ゲスト用仮想マシン１０Ｃが利用するパブリックＩＰアドレスを第１ゲスト用仮想マシン１０Ｂ、ホスト用仮想マシンから送信されるＶＰＮプロトコルのパケットの先頭に付与されるＩＰヘッダに利用する。
【００２５】
図３（Ａ）に第２ゲスト用仮想マシン１０Ｃと仮想ブリッジ接続インタフェース４２との間に流れるＩＰパケット、およびコンピュータ１０から社内ＬＡＮに流れるＩＰパケットの例を示す。図３（Ａ）に示すように、第２ゲスト用仮想マシン１０Ｃから仮想ブリッジ接続インタフェース４２に送信されたＩＰパケットは、変更されることなく社内ＬＡＮへ送信される。また、このＩＰパケットのＩＰヘッダは、ＤＨＣＰサーバ３０から第２ゲスト用仮想マシン１０Ｃに割り当てられたパブリックＩＰアドレスが送信元として設定されている。
【００２６】
以下に、第２ゲスト用仮想マシン１０ＣがＤＨＣＰサーバ３０からＩＰアドレスを割り当てられる方法、および仮想ネットワーク管理部４１がＤＨＣＰサーバ３０から第２ゲスト用仮想マシン１０Ｃに割り当てられたＩＰアドレスを検出する方法について説明する。  
ＩＰアドレスの割り当てはＤＨＣＰメッセージの交換によって行われる。ＤＨＣＰメッセージは、ＵＤＰ（user datagram protocol）によって送信される。ＤＨＣＰ側のポート番号は６７、第２ゲスト用仮想マシン１０Ｃ側のポート番号は６８である。
【００２７】
以下に、ＩＰアドレスの割り当てに用いられるＤＨＣＰメッセージについて説明する。第２ゲスト用仮想マシン１０Ｃは、ＤＨＣＰサーバ３０を見つけるためのＤＨＣＰＤＩＳＣＯＶＥＲパケットを社内ネットワークに送信する。ＤＨＣＰＤＩＳＣＯＶＥＲパケットを受け取ったＤＨＣＰサーバ３０は、稼働中のコンピュータが使用していないＩＰアドレスを用意し、用意したＩＰアドレスを含むＤＨＣＰＯＦＦＥＲパケットを送信することによって第２ゲスト用仮想マシン１０ＣのＤＨＣＰクライアントに通知する。ＤＨＣＰクライアントは、ＤＨＣＰＯＦＦＥＲパケットを受け取った後に、通知されたＩＰアドレスを使用するという確認をＤＨＣＰＲＥＱＵＥＳＴパケットによってＤＨＣＰサーバ３０に送信する。そして、ＤＨＣＰＲＥＱＵＥＳＴパケットを受け取ったＤＨＣＰサーバ３０は、通知したＩＰアドレスを使用することに同意した場合、ＤＨＣＰＡＣＫパケットを第２ゲスト用仮想マシン１０Ｃに返す。
【００２８】
仮想ネットワーク管理部４１は、ＤＨＣＰメッセージを監視することによって、ＤＨＣＰＡＣＫパケットをハックし、パケット内に含まれる第２ゲスト用仮想マシン１０Ｃに割り当てられるＩＰアドレスを抽出する。
【００２９】
一方、第１ゲスト用仮想マシン１０Ｂおよびホスト用アプリケーションから送信されたＩＰパケットは、ＩＰｓｅｃで暗号化した後、ＵＤＰヘッダでカプセル化するＩＰｓｅｃ  ＮＡＴトラバーサル技術の拡張機能を用いて変換された形式となって社内ＬＡＮへ送信される。
【００３０】
図３（Ｂ）に第１ゲスト用仮想マシン１０Ｂとホスト用ＶＰＮ接続インタフェース４４との間に流れるＩＰパケット（上段）、およびコンピュータ１０から社内ＬＡＮに流れるＩＰパケット（下段）の例を示す。なお、アプリケーション１５とゲスト用ＶＰＮ接続インタフェース４３との間に流れるＩＰパケット、およびコンピュータ１０から社内ＬＡＮに流れるＩＰパケットも同様である。
【００３１】
図３（Ｂ）に示すように、第１ゲスト用仮想マシン１０Ｂからホスト用アプリケーションから送信されたパケットを暗号化して、トンネリングＩＰアドレスとしてパブリックＩＰヘッダを有するＩＰｓｅｃパケットを生成する。そして、ＩＰｓｅｃパケットが、ダミーのＵＤＰヘッダによってカプセル化される。なお、ダミーのＵＤＰヘッダは、第１ゲスト用仮想マシン１０Ｂおよびホスト用アプリケーションが通信先とＩＰＳｅｃの鍵交換を行う際に、ＩＰｓｅｃのＮＡＴトラバーサル拡張技術によってＵＤＰヘッダで用いるポート番号およびＥＳＰヘッダの情報をネゴシエーションされて決定される。また、仮想ネットワーク管理４０は、決定されたダミーのＵＤＰヘッダに用いるポート番号とＥＳＰヘッダ情報を受信パケット振り分け部４５へ通知する機能を有している。これによって、送信元および宛先が第１ゲスト用仮想マシン１０Ｂとアプリケーション１５の何れかであるかを識別することが出来るようになっている。そして、ＵＤＰヘッダによってカプセル化されたデータの先頭に第２ゲスト用仮想マシン１０Ｃと同一のパブリックＩＰアドレスを送信元ＩＰアドレスとしたパブリックＩＰヘッダが付与され、ＩＰｓｅｃ  ＮＡＴトラバーサル形式のパケットに変換される。
【００３２】
なお、仮想ネットワークソフトウェア４０が第１ゲスト用仮想マシン１０Ｂおよびホスト用仮想マシン１０ＡのアプリケーションがプライベートＩＰアドレスを割り当てるとしたが、スタティックなＩＰアドレスであっても良いし、いくつかの候補から動的に割り当てるようにしても良い。また、仮想ネットワークソフトウェア４０がプライベートＩＰアドレスを割り当てるのではなく、ＶＰＮで接続されているＤＨＣＰサーバから動的に割り当てられていても良い。
【００３３】
次に、図４のフローチャートを参照して受信時のパケット処理の手順を説明する。
【００３４】
物理ネットワークインタフェースカード１８が社内ＬＡＮからパケットを受信すると、受信パケット振分処理部４５へ送られる。受信パケット振分処理部４５では、まずパブリックＩＰアドレスをみて破棄するかフォワードするかを判定する（ステップＳ１１）。すなわち、受信したパケットのヘッダのＩＰアドレスがＤＨＣＰサーバ３０から割り当てられたＩＰアドレスと同一であればフォワードし、異なれば破棄する（ステップＳ２１）。
【００３５】
次に、受信パケット振分処理部４５は、（ＩＰｓｅｃ  ＮＡＴトラバーサル形式の）ダミーのＵＤＰヘッダの有無を判別する（ステップＳ１２）。ダミーのＵＤＰパケットがない場合（ステップＳ１２のＮＯ）、第２ゲスト用仮想マシン１０Ｃ宛で有ると判断し、受信パケット振分処理部４５は、仮想ブリッジ接続インタフェース４２に送信する（ステップＳ３１）。仮想ブリッジ接続インタフェース４２は、受信したパケットをそのまま第２ゲスト用仮想マシン１０Ｃに送信する（ステップＳ３２）。
【００３６】
ダミーのＵＤＰヘッダがあると判断した場合（ステップＳ１２のＹＥＳ）、受信パケット振分処理部４５は、ＵＤＰヘッダが第２ゲスト用仮想マシン１０Ｃに割り当てられているものであるか否かを判別する（ステップＳ１３）。
【００３７】
ＵＤＰヘッダが第１ゲスト用仮想マシン１０Ｂ割り当てられたものであると判断した場合（ステップＳ１３のＹＥＳ）、受信パケット振分処理部４５は、受信したパケットをゲスト用ＶＰＮ接続インタフェース４４に送信する（ステップＳ１４）。ゲスト用ＶＰＮ接続インタフェース４４は、第１ゲスト用仮想マシン１０Ｂに送信するための元のパケットに変換する（ステップＳ１５）。すなわち、ゲスト用ＶＰＮ接続インタフェース４４は、受信したパケットからパブリックＩＰヘッダ、ＵＤＰヘッダ、ＥＳＰ／ＩＰヘッダ、およびＥＳＰ認証データを除去した後、暗号を解除するための復号を行う。そして、復号したデータに含まれるＥＳＰトレーラを除去する。そして、ゲスト用ＶＰＮ接続インタフェース４４は、変換したパケットを第１ゲスト用仮想マシン１０Ｂに送信する。
【００３８】
ステップＳ１３において、ダミーのＵＤＰヘッダがホスト用仮想マシン１０Aに割り当てられたものであると判断した場合（ステップＳ１３のＮＯ）、受信パケット振分処理部４５は、受信したパケットをホスト用ＶＰＮ接続インタフェース４３に送信する（ステップＳ４４）。ホスト用ＶＰＮ接続インタフェース４３は、アプリケーション１５に送信するための元のパケットに変換する（ステップＳ４５）。すなわち、ホスト用ＶＰＮ接続インタフェース４３は、受信したパケットからパブリックＩＰヘッダ、ＵＤＰヘッダ、ＥＳＰ  ＩＰヘッダ、およびＥＳＰ認証データを除去した後、暗号を解除するための復号を行う。そして、復号したデータに含まれるＥＳＰトレーラを除去する。そして、ホスト用ＶＰＮ接続インタフェース４３は、変換したパケットをアプリケーション１５に送信する。
【００３９】
以上の処理で、社内ＬＡＮから受信したデータを対応する宛先に送信することが出来る。
【００４０】
図５に上述した仮想ネットワークソフトウェアを搭載したコンピュータ１０と、コンピュータ２０Ａ〜２０Ｃが同一の社内ＬＡＮに接続した場合の論理的構成図を示す。図５に示すように、第２ゲスト用仮想マシン１０Ｃが、通常のコンピュータ２０Ａ〜２０Ｃと同一の社内ＬＡＮにあたかもブリッジ接続しているかのように、ネットワーク上のパケットが送受信される。また、第１ゲスト用仮想マシン１０Ｂとホスト用仮想マシン１０ＡがＶＰＮで接続されているかのようにパケットが送受信される。
【００４１】
従来の仮想化ソフトウェア方式で実現されている仮想ネットワークソフトウェアでは、仮想マシンを外部に接続する場合、物理ネットワークインタフェース１つにつき、１ブリッジモード  ２ＮＡＴモード  ３ルータモードのいずれかを選択しなければならず、図５に示すような論理構成にするためには、社内ＬＡＮ用に接続するための物理ネットワークインタフェースと、ＶＰＮ用の物理ネットワークインタフェースとの２つを計算機が備える必要があった。しかし、本コンピュータ１０によれば、１つの物理ネットワークインタフェースカード１８を備えればよい。
【００４２】
図５に示すように、複数の仮想マシンを稼働する計算機と仮想マシンを稼働しない計算機が混在して社内ＬＡＮに接続されるシステムにおいて、
１．  仮想マシンを稼働させるコンピュータに割り当てるパブリックなＩＰアドレスの数を少なくする
２．  クライアントＰＣで利用できるアプリケーションの制限を少なくする
３．  一般業務用途で用いる計算機と仮想マシンとに割り当てるＩＰアドレスの体系を共通化できる計算機システムおよび仮想ネットワーク方式を提供する
という、効果が得られる。
【００４３】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態に係わる情報処理装置を含む情報処理システムの物理的構成を示す図。
【図２】本発明の一実施形態に係わる情報処理装置の構成を示すブロック図。
【図３】第１ゲスト用仮想マシンと仮想ブリッジ接続インタフェースとの間に流れるＩＰパケット、および第２ゲスト用仮想マシンが送信したＩＰパケットに対応するコンピュータから社内ＬＡＮに流れるＩＰパケットの例、並びにゲスト用仮想マシンと仮想ブリッジ接続インタフェースとの間に流れるＩＰパケット、および第１ゲスト用仮想マシンが送信したＩＰパケットに対応するコンピュータから社内ＬＡＮに流れるＩＰパケットの例を示す図。
【図４】物理ネットワークインタフェースカードが受信したパケットの処理の手順を示すフローチャート。
【図５】図１に示す情報処理装置が同一の社内ＬＡＮに接続した場合の論理的構成を示す図。
【符号の説明】
【００４５】
１０…コンピュータ，１０Ａ…ホスト用仮想マシン，１０Ｂ…第１ゲスト用仮想マシン，１０Ｃ…第２ゲスト用仮想マシン，１３…仮想マシンモニタ，１８…物理ネットワークインタフェースカード，４０…仮想ネットワークソフトウェア，４１…仮想ネットワーク管理部，４２…仮想ブリッジ接続インタフェース，４３…ホスト用ＶＰＮ接続インタフェース，４４…ゲスト用ＶＰＮ接続インタフェース，４５…受信パケット振分処理部，４６…パケット送信部。
【図１】
2009278261.tif 000003
【図２】
2009278261.tif 000004
【図３】
2009278261.tif 000005
【図４】
2009278261.tif 000006
【図５】
2009278261.tif 000007