(57)【特許請求の範囲】
【請求項１】
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部を備えるコンピュータに、
前記仮想計算機からブロードキャストまたはマルチキャストのＭＡＣアドレスを含むパケットを取得すると、取得した該パケットのＭＡＣアドレスに対応するサブネット識別子を前記第１対応関係から得て、
取得した前記パケットのＭＡＣアドレスに対応するパケット種別識別子を前記第２対応関係から得て、
ネットワークを介して他のコンピュータに送信される送信対象パケットのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とを設定することによって、前記送信対象パケットをマルチキャストのパケットに変換し、
変換して得られた前記送信対象パケットを、前記ネットワークを介して前記他のコンピュータに送信する、
処理を実行させるパケット変換プログラム。
【請求項２】
前記送信対象パケットは、取得した前記パケットであり、
前記送信対象パケットをマルチキャストのパケットに変換する場合、取得した前記パケットのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とを設定することによって、取得した前記パケットをマルチキャストのパケットに変換する
処理を実行させる請求項１記載のパケット変換プログラム。
【請求項３】
前記コンピュータに、さらに、
取得した前記パケットに、ＭＡＣヘッダを付加する
処理を実行させ、
前記送信対象パケットは、前記ＭＡＣヘッダが付加された前記パケットであり、
前記送信対象パケットをマルチキャストのパケットに変換する場合、付加した前記ＭＡＣヘッダのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子とブロードキャストまたはマルチキャストを示すパケット識別子とを設定することによって、前記ＭＡＣヘッダが付加された前記パケットをマルチキャストのパケットに変換する
処理を実行させる請求項１記載のパケット変換プログラム。
【請求項４】
前記コンピュータに、さらに、
前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とにより表されるマルチキャストアドレスにより示されるマルチキャストメンバへ参加するための参加宣言情報を送信する
処理を実行させる請求項１〜３のうちいずれか１項に記載のパケット変換プログラム。
【請求項５】
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部を備えるコンピュータに、
ネットワークを介して他のコンピュータからマルチキャストのパケットを受信すると、受信した前記パケットのＭＡＣアドレスのフィールドからサブネット識別子とパケット種別識別子を抽出し、
抽出した前記サブネット識別子が前記第１対応関係にある場合、受信した前記パケットのＭＡＣヘッダを変更することにより、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換し、
変換して得た前記パケットを前記仮想計算機に送信する、
処理を実行させるパケット変換プログラム。
【請求項６】
受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する場合、抽出した前記パケット種別識別子に対応するＭＡＣアドレスを前記第２対応関係から得て、
得た前記ＭＡＣアドレスを、受信した前記パケットのＭＡＣアドレスのフィールドに設定することによって、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換し、
処理を実行させる請求項５記載のパケット変換プログラム。
【請求項７】
受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する場合、受信した前記パケットの第１のＭＡＣアドレスを削除して第２のＭＡＣアドレスを有効にすることによって、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する
処理を実行させる請求項５記載のパケット変換プログラム。
【請求項８】
抽出した前記サブネット識別子が前記第１対応関係になければ、受信した前記パケットを廃棄する、
処理を実行させる請求項５〜７のうち１いずれか１項に記載のパケット変換プログラム。
【請求項９】
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部と、
前記仮想計算機からブロードキャストまたはマルチキャストのＭＡＣアドレスを含むパケットを取得すると、取得した該パケットのＭＡＣアドレスに対応するサブネット識別子を前記第１対応関係から得る第１取得部と、
取得した前記パケットのＭＡＣアドレスに対応するパケット種別識別子を前記第２対応関係から得る第２取得部と、
ネットワークを介して他のコンピュータに送信される送信対象パケットのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とを設定することによって、前記送信対象パケットをマルチキャストのパケットに変換する変換部と、
変換して得られた前記送信対象パケットを、前記ネットワークを介して前記他のコンピュータに送信する送信部と
を備えることを特徴とするパケット変換装置。
【請求項１０】
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部と、
ネットワークを介して他のコンピュータからマルチキャストのパケットを受信すると、受信した前記パケットのＭＡＣアドレスのフィールドからサブネット識別子とパケット種別識別子を抽出する抽出部と、
抽出した前記サブネット識別子が前記第１対応関係にある場合、受信した前記パケットのＭＡＣヘッダを変更することにより、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する変換部と、
変換して得た前記パケットを前記仮想計算機に送信する送信部と、
を備えることを特徴とするパケット変換装置。
【請求項１１】
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部を備えるコンピュータは、
前記仮想計算機からブロードキャストまたはマルチキャストのＭＡＣアドレスを含むパケットを取得すると、取得した該パケットのＭＡＣアドレスに対応するサブネット識別子を前記第１対応関係から得て、
取得した前記パケットのＭＡＣアドレスに対応するパケット種別識別子を前記第２対応関係から得て、
ネットワークを介して他のコンピュータに送信される送信対象パケットのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とを設定することによって、前記送信対象パケットをマルチキャストのパケットに変換し、
変換して得られた前記送信対象パケットを、前記ネットワークを介して前記他のコンピュータに送信する、
処理を実行するパケット変換方法。
【請求項１２】
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部を備えるコンピュータは、
ネットワークを介して他のコンピュータからマルチキャストのパケットを受信すると、受信した前記パケットのＭＡＣアドレスのフィールドからサブネット識別子とパケット種別識別子を抽出し、
抽出した前記サブネット識別子が前記第１対応関係にある場合、受信した前記パケットのＭＡＣヘッダを変更することにより、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換し、
変換して得た前記パケットを前記仮想計算機に送信する、
処理を実行するパケット変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、サブネット構築技術に関する。
【背景技術】
【０００２】
ＩＣＴ（Information and Communication Technology）システム構築の新しい利用形態として、クラウドコンピューティングのＩａａＳ（Infrastructure as a Service）サービスが注目を集めている。ＩａａＳサービスは、ネットワーク上にあるコンピューティング資源を用いて仮想的なサーバ（以下、仮想マシンまたはＶＭと称す）を構築し、その仮想マシンを利用者に対してサービスとして提供している。このようなＩａａＳサービスを提供するクラウドコンピューティングインフラにおいて、複数の企業や部門または部署（以下、これらを総じて「テナント」と称す）の仮想サーバが稼動している。したがって、テナント間のセキュリティ保護のために、テナント毎に分離しているネットワーク環境（以下、「サブネット」と称す）が必要である。
【０００３】
ひとつの物理的なイーサネットネットワーク上に、複数のサブネットを構築する技術としてＶＬＡＮ（Virtual Local Area Network）やＰＢＢ（Provider Backbone Bridge）がある。
【０００４】
図１は、ＶＬＡＮまたはＰＢＢ技術を用いたネットワークの構築について説明するための図である。物理サーバは、複数の仮想マシンと、サブネット単位の複数の仮想スイッチを含む。物理サーバは、同一サブネットに属する仮想マシンを同じ仮想スイッチに収容する。例えば、サーバ１は、ＶＭ２、ＶＭ３と、ＶＭ２，３を収容する仮想スイッチ４を含む。サーバ５は、ＶＭ６、ＶＭ７と、ＶＭ６，７を収容する仮想スイッチ８を含み、ＶＭ９、ＶＭ１０と、ＶＭ９，１０を収容する仮想スイッチ１１を含む。サーバ１２は、ＶＭ１３、ＶＭ１４と、ＶＭ１３，１４を収容する仮想スイッチ１５を含み、ＶＭ１６、ＶＭ１７と、ＶＭ１６，１７を収容する仮想スイッチ１８を含む。
【０００５】
例えば、テナントＡを形成するサブネットには、ＶＭ２、ＶＭ３、ＶＭ６、ＶＭ７が含まれる。例えば、テナントＣを形成するサブネットには、ＶＭ９、ＶＭ１０が含まれる。例えば、テナントＤを形成するサブネットには、１３，１４が含まれる。例えば、テナントＥを形成するサブネットには、ＶＭ１６、ＶＭ１７が含まれる。
【０００６】
例えば、不図示のネットワーク管理システムは、ＶＬＡＮまたはＰＢＢを用いてネットワーク１９を構築する。ネットワーク管理システムは、ネットワーク１９を構築するレイヤ２スイッチ装置と、それらのレイヤ２スイッチ装置を制御する管理装置をと含むネットワークのシステムである。
【０００７】
ネットワーク管理システムは、各レイヤ２スイッチ装置（Ｌ２ＳＷ）２０，２１，２２，２３に、例えば、ＶＬＡＮ設定として、物理ポート・サブネット対応関係情報を設定する。物理ポート・サブネット対応関係情報は、各レイヤ２スイッチ装置のどの物理ポートがどの仮想サブネットに属しているのかということを示す情報である。例えば、物理ポート（Ｐ）０，１，２を含むレイヤ２スイッチ装置２２の場合、ポート０及びポート１がテナントＡを形成するサブネットに属する物理ポート・サブネット対応関係情報を含む。
【０００８】
ここで、パケットは、ＭＡＣＤＡ、ＭＡＣＳＡ、ペイロードを含む。ＭＡＣＤＡは、Media Access Control (MAC) Destination Address（送信先ＭＡＣアドレス） を表す。ＭＡＣＳＡは、Media Access Control (MAC) source Address（送信元ＭＡＣアドレス）を表す。ペイロードは、ＭＡＣＤＡ、ＭＡＣＳＡ等のヘッダを除いたデータ部分を表す。
【０００９】
ネットワーク管理システムは、図１に示すように、物理ネットワーク上を流れるパケットに対して、サブネットを識別するためのタグ（サブネット識別子）を付与する。サブネット識別子は、ＶＬＡＮの場合はＶＩＤが対応し、ＰＢＢの場合はＩ−ＳＩＤが対応する。このサブネットを識別するタグが付与されたパケットをＶＭ送信パケットと称する。
【００１０】
例えば、レイヤ２スイッチ装置２２は、送信元である物理サーバ１からのパケットを受信した場合、パケットのサブネット識別子を参照して、そのサブネット識別子により特定されるサブネットに属する物理ポートにパケット転送を行う。この場合、パケットのサブネット識別子は「ＶＬＡＮ−Ａ」であるから、レイヤ２スイッチ装置２２は、物理ポート・サブネット対応関係情報から「ＶＬＡＮ−Ａ」を検索し、「ＶＬＡＮ−Ａ」に対応する「ポート０、ポート１」を取得する。レイヤ２スイッチ装置２２は、パケットを受信したポート０ではない、ポート１にパケット転送を行う。
【００１１】
このように、サブネット識別子を用いることで、パケットが同一のテナント内にて送受信される。したがって、サブネット識別子に対応してサブネットが構築されるので、複数のサブネット識別子があれば、そのサブネット識別子に応じて、１つの物理ネットワーク上に複数のサブネットが構築される。
【００１２】
また、広域イーサネット（登録商標）網において、ＶＰＮ（Ｖｉｒｔｕａｌ Ｐｒｉｖａｔｅ Ｎｅｔｗｏｒｋ）の数を増加させる他の技術がある。この他の技術は、送信元エッジスイッチと、送信先エッジスイッチと、１以上のコアスイッチにより構成され、送信元エッジスイッチと送信先エッジスイッチとの間を接続するコアネットワークに関する技術がある。この技術では、ＶＬＡＮスタッキング技術に対応しない従来のスイッチを用いた場合においても、４０９６を超えるＶＰＮを提供することを実現している。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００９−１１８１２７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ＶＬＡＮ技術は、安価なレイヤ２スイッチ装置であっても標準的にサポートしている。しかしながら、ＶＬＡＮ技術では、サブネット識別子であるＶＩＤのアドレス空間が１２ｂｉｔのため、１つの物理ネットワーク上に構築可能なサブネットの数が４０９６個に制限されてしまう。そのため、膨大な数の仮想マシンを収容するデータセンタでは、ＶＬＡＮ技術の適用が難しい。
【００１５】
一方、ＰＢＢ技術を用いれば、サブネット識別子であるＩ−ＳＩＤのアドレス空間が２４ｂｉｔのため、非常に多くのサブネットを構築することができる。しかしながら、ＰＢＢ技術に対応したレイヤ２スイッチ装置は非常に高価であることから、物理ネットワークの構築コストが増大する。同様に、上記他の技術においても、コアネットワークを構築しなければならず、物理ネットワークの構築コストが増大する。
【００１６】
そこで、本明細書では、物理ネットワーク上に構築可能なサブネット数を向上させる技術を提供する。
【課題を解決するための手段】
【００１７】
パケット変換プログラムは、記憶部を備えるコンピュータに、以下の処理を実行させる。ここで、記憶部は、仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係を記憶する。また、記憶部は、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する。コンピュータは、仮想計算機からブロードキャストまたはマルチキャストのＭＡＣアドレスを含むパケットを取得すると、取得したパケットのＭＡＣアドレスに対応するサブネット識別子を第１対応関係から得る。コンピュータは、取得したパケットのＭＡＣアドレスに対応するパケット種別識別子を第２対応関係から得る。コンピュータは、ネットワークを介して他のコンピュータに送信される送信対象パケットのＭＡＣアドレスのフィールドに、第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られたパケット種別識別子とを設定する。これによって、コンピュータは、送信対象パケットをマルチキャストのパケットに変換する。コンピュータは、変換して得られた送信対象パケットを、ネットワークを介して他のコンピュータに送信する。
【００１８】
また、パケット変換プログラムは、記憶部を備えるコンピュータに、以下の処理を実行させる。ここで、記憶部は、仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係を記憶する。また、記憶部は、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する。コンピュータは、ネットワークを介して他のコンピュータからマルチキャストのパケットを受信すると、受信したパケットのＭＡＣアドレスのフィールドからサブネット識別子とパケット種別識別子を抽出する。コンピュータは、抽出したサブネット識別子が第１対応関係にある場合、受信したパケットのＭＡＣヘッダを変更することにより、受信したパケットを元のブロードキャストまたはマルチキャストのパケットに変換する。コンピュータは、変換して得たパケットを仮想計算機に送信する。
【発明の効果】
【００１９】
本明細書の技術によれば、物理ネットワーク上に構築可能なサブネット数を向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】ＶＬＡＮまたはＰＢＢ技術を用いたネットワークの構築について説明するための図である。
【図２】第１の実施形態における仮想マシンを収容する仮想スイッチを含む物理サーバの一例を示す。
【図３】第１の実施形態におけるフォワーディングデータベースの構成の一例を示す。
【図４】第１の実施形態における受信ルールテーブルの構成の一例を示す。
【図５】第１の実施形態におけるアドレス変換テーブルの一例を示す。
【図６】第１の実施形態における仮想スイッチ送信パケットの内容を示す。
【図７】第１の実施形態におけるパケット送信時の仮想スイッチの動作のフローを示す。
【図８】第１の実施形態におけるパケット受信時の仮想スイッチの動作のフローを示す。
【図９】第１の実施形態における仮想マシンからユニキャストパケットを受信した場合の仮想スイッチの動作を説明するための図である。
【図１０】第１の実施形態における仮想マシンからブロードキャストパケット（またはマルチキャストパケット）を受信した場合の仮想スイッチの動作を説明するための図である。
【図１１】第２の実施形態における仮想マシンを収容する仮想スイッチを含む物理サーバの一例を示す。
【図１２】ＩＧＭＰパケットフォーマットを示す。
【図１３】第２の実施形態におけるＩＧＭＰパケット送信処理のフローの一例を示す。
【図１４】第２の実施形態における仮想マシンからブロードキャストパケット（またはマルチキャストパケット）を受信した場合の仮想スイッチの動作を説明するための図である。
【図１５】第３の実施形態における仮想マシンを収容する仮想スイッチを含む物理サーバの一例を示す。
【図１６】第３の実施形態における仮想スイッチ送信パケットの内容を示す。
【図１７】第３の実施形態におけるパケット送信時の仮想スイッチ３２の動作のフローを示す。
【図１８】第３の実施形態におけるパケット受信時の仮想スイッチ３２の動作のフローを示す。
【図１９】第３の実施形態における仮想マシンからユニキャストキャストパケットを受信した場合の仮想スイッチの動作を説明するための図である。
【図２０】第３の実施形態における仮想マシンからブロードキャストパケット（またはマルチキャストパケット）を受信した場合の仮想スイッチの動作を説明するための図である。
【図２１】第１〜第３の実施形態における物理サーバのハードウェアの構成ブロック図の一例を示す。
【発明を実施するための形態】
【００２１】
図２は、本実施形態における仮想マシンを収容する仮想スイッチを含む物理サーバの一例を示す。物理サーバ３１（３１−１，３１−２）は、複数の仮想マシン３０（Ａ−１，Ａ−２，・・・，Ｂ−１，Ｂ−２，・・・）と、サブネット単位の複数の仮想スイッチ３２を含む。物理サーバ３１は、同一サブネットに属する１以上の仮想マシンを同じ仮想スイッチに収容する。
【００２２】
仮想スイッチ３２は、フォワーディング処理部３３、送信先アドレス変換部３４、フィルタリング処理部３５、送信先アドレス逆変換部３６、記憶部３９を含む。仮想スイッチ３２は、フォワーディング処理部３３、送信先アドレス変換部３４、フィルタリング部３５、送信先アドレス逆変換部３６として機能するソフトウェアスイッチである。
【００２３】
フォワーディング処理部３３は、フォワーディングデータベース（Forwarding Data Base（ＦＤＢ））を用いて、仮想マシンからのパケットを、レイヤ２ヘッダの送信先ＭＡＣアドレスに従って、仮想スイッチ３２に設けられたいずれかのポートへ転送する。ＦＤＢは、送信先ＭＡＣアドレスと出力先ポート情報との対応関係が記載されたデータベースである。
【００２４】
送信先アドレス変換部３４は、仮想スイッチ３２からＮＩＣ３７へ出力されるパケットの送信先ＭＡＣアドレス値を、後述するアドレス変換テーブルに従って、コード値及びサブネット識別子を含むマルチキャストアドレスに変換する。サブネット識別子は、仮想スイッチ３２が収容している仮想マシンが属しているテナントに対応するサブネット識別子である。ＮＩＣ（Network Interface card）３７は、物理ネットワーク３８と接続されている物理インターフェースである。
【００２５】
フィルタリング処理部３５は、仮想スイッチ３２がＮＩＣ３７からパケットを受信した場合に、受信ルールテーブルに従って、パケットを廃棄する。受信ルールテーブルについては後述する。
【００２６】
送信先アドレス逆変換部３６は、フィルタリング処理部３５により透過されたパケットの送信先アドレス（送信先アドレス変換部３４において変換された送信先アドレス）を元の送信先アドレスに逆変換する。
【００２７】
記憶部３９には、ＦＤＢ、受信ルールテーブル、アドレス変換テーブル、仮想マシン管理情報が記憶されている。ＦＤＢ、受信ルールテーブル、アドレス変換テーブルの例は、図３−図５に示される。仮想マシン管理情報は、仮想スイッチ３２が収容している仮想マシンの管理するための情報である。
【００２８】
図３は、本実施形態におけるフォワーディングデータベースの構成の一例を示す。フォワーディングデータベース（ＦＤＢ）４１は、「送信先アドレス４１ａ」と、「ポート名」４１ｂとを含む。「送信先アドレス４１ａ」は、送信先のＭＡＣアドレスである。「ポート名」４１ｂは、そのＭＡＣアドレスに対応する仮想スイッチのポート名である。
【００２９】
図４は、本実施形態における受信ルールテーブル４２の構成の一例を示す。受信ルールテーブル４２は、受信を許可する仮想マシン宛てまたはテナント宛てのパケットを受信できるようにするための受信ルール情報を含む。受信ルール情報とは、例えば、当該仮想スイッチ３２が収容している仮想マシンのＭＡＣ（Media Access Control）アドレス、及び当該仮想スイッチ３２が収容している仮想マシンが属しているテナントに対応するサブネット識別子である。
【００３０】
図５は、本実施形態におけるアドレス変換テーブルの一例を示す。アドレス変換テーブル４３は、「ＭＡＣアドレス」４３ａ、「コード値」４３ｂを含む。「ＭＡＣアドレス」４３ａは、本実施形態において変換の対象となるブロードキャストパケット及びマルチキャストパケットのＭＡＣアドレスである。「コード値」４３ｂは、「ＭＡＣアドレス」４３ａを識別するコード値（パケット種別識別子）を含む。
【００３１】
図６は、本実施形態における仮想スイッチ送信パケットの内容を示す。仮想スイッチ送信パケットとは、仮想スイッチ３２から送信されるパケットを示す。図６（Ａ）に示すように、仮想スイッチ送信パケット４５は、「ＭＡＣＤＡ（送信先ＭＡＣアドレス）」４６、「ＭＡＣＳＡ（送信元ＭＡＣアドレス）」４７、「タイプ」４８、「ペイロード」４９を含む。
【００３２】
図６（Ｂ）は、ユニキャストの場合の送信先ＭＡＣアドレス４６の構成例を示す。１バイト目は、「Ｉ／Ｇ（Individual/Group）識別子」を示す。Ｉ／Ｇ（Individual/Group）識別子により、ユニキャストパケットであるか、マルチキャストパケットであるかが判定される。ユニキャストパケットの場合には第１バイト目の最下位ビットに「０」が設定され、ユニキャスト及びマルチキャストパケットの場合には第１バイト目の最下位ビットに「１」が設定される。２〜６バイト目は、「送信先仮想マシン識別子」を示す。「送信先仮想マシン識別子」には、送信先の仮想マシンのＭＡＣアドレスが設定される。
【００３３】
図６（Ｃ）は、ブロードキャスト及びマルチキャストの場合の送信先ＭＡＣアドレス４６の構成例を示す。１バイト目は、「Ｉ／Ｇ識別子」を示す。２バイト目は、「パケット識別子」を示す。３バイト目は、「ＭＣ（multicast）種別」を示す。４〜６バイト目は、「サブネット識別子」を示す。「パケット識別子」には、ブロードキャストパケットか、マルチキャストパケットかを識別するための情報が設定される。「ＭＣ種別」には、マルチキャストパケットの種類を識別するための情報が設定される。
【００３４】
図６（Ｄ）は、送信元の仮想マシンのＭＡＣアドレス４７の構成例を示す。１バイト目は、「Ｉ／Ｇ識別子」を示す。２〜６バイト目は、「送信元仮想マシン識別子」を示す。「送信仮想マシン識別子」には、送信元の仮想マシンのＭＡＣアドレスが設定される。
【００３５】
以下では、図７、図８を用いて仮想スイッチ３２の動作について説明する。
図７は、本実施形態におけるパケット送信時の仮想スイッチ３２の動作のフローを示す。仮想マシンＶＭ（Ａ−１）から出力されたパケットは、仮想スイッチ３２へ転送される。
【００３６】
仮想スイッチ３２は、レイヤ２パケットフォワーディング処理を実行し、ＦＤＢ４１を用いて、出力先ポートを解決する（Ｓ１）。ここでは、まず、仮想スイッチ３２は、ＯＳＩ（Open Systems Interconnection）参照モデルのデータリンク層（第２層）でのパケットの送信先の判定を行う（Ｓ１）。
【００３７】
仮想スイッチ３２は、そのパケットの送信先ＭＡＣアドレスを参照して、ＦＤＢ４１に基づいて宛先ポート、すなわち出力インターフェース（以下、出力Ｉ／Ｆという）を決定する。
【００３８】
仮想スイッチ３２は、決定した宛先ポートが、内部インターフェース（以下、内部Ｉ／Ｆという）であるか、外部インターフェースであるか（以下、外部Ｉ／Ｆという）を判定する（Ｓ２）。内部Ｉ／Ｆとは、仮想スイッチ３２の収容する他の仮想マシンＶＭ（Ａ−２）と接続されたポートを示す。外部Ｉ／Ｆは、物理ネットワーク３８に繋がるポート、すなわちＮＩＣ３７に設けられたポートを示す。
【００３９】
決定した宛先ポートが内部Ｉ／Ｆであると判定された場合、仮想スイッチ３２は、その内部Ｉ／Ｆへパケットを転送する。仮想スイッチ３２は、その内部Ｉ／Ｆより、パケットを出力する（Ｓ５）。
【００４０】
Ｉ  決定した宛先ポートが外部Ｉ／Ｆであると判定された場合、仮想スイッチ３２は、そのパケットの先頭バイトのＩ／Ｇ識別子を参照して、そのパケットがブロードキャストパケットまたはマルチキャストパケットであるかを判定する（Ｓ３）。
【００４１】
Ｓ３において、そのパケットがブロードキャストパケットまたはマルチキャストパケットであると判定された場合、仮想スイッチ３２は、宛先アドレスコード化処理を行う（Ｓ４）。ここでは、仮想スイッチ３２は、そのパケットの送信元ＭＡＣアドレスから送信元の仮想マシンのＭＡＣアドレスを取得する。仮想スイッチ３２は、受信ルールテーブル４２から、その送信元の仮想マシンのＭＡＣアドレスに対応するサブネット識別子を取得する。それから、仮想スイッチ３２は、アドレス変換テーブル４３から、そのパケットの送信先アドレス（ブロードキャストアドレスまたはマルチキャストアドレス）に対応するコード値を取得する。仮想スイッチ３２は、その取得したコード値と、上記で取得したサブネット識別子とを結合させることにより、サブネット識別子を含むマルチキャストアドレスを生成する。このようにして、仮想スイッチ３２は、仮想マシンから送信されたパケットの送信先ＭＡＣアドレスを、サブネット識別子を含むマルチキャストアドレスに変換する。
【００４２】
Ｓ３において、そのパケットがユニキャストパケットであると判定された場合には、仮想スイッチ３２は、そのパケットの送信先ＭＡＣアドレスの変換処理を実施しない。
仮想スイッチ３２は、Ｓ３でユニキャストパケットであると判定されたパケットまたはＳ４でアドレス変換したマルチキャストパケットを、仮想スイッチ送信パケットとして物理ネットワーク３８へ出力する（Ｓ５）。
【００４３】
物理ネットワーク３８内のレイヤ２スイッチ装置は、パケット転送処理を行って、仮想スイッチ送信パケットを中継する。このとき、仮想スイッチ３２によりマルチキャストアドレスに変換された仮想スイッチ送信パケットは、物理ネットワーク３８内ではマルチキャストパケットとして中継される。
【００４４】
図８は、本実施形態におけるパケット受信時の仮想スイッチ３２の動作のフローを示す。物理サーバ３１は、物理ネットワーク３８から仮想スイッチ送信パケットを受信し、各仮想スイッチ３２へ転送する。仮想スイッチ３２は、その転送された仮想スイッチ送信パケットのＩ／Ｇ識別子を参照して、そのパケットがユニキャストパケットであるか否かを判定する（Ｓ１１）。
【００４５】
そのパケットがユニキャストパケットであると判定された場合（Ｓ１１で「Ｙｅｓ」）、仮想スイッチ３２は、そのパケットが当該仮想スイッチにより収容されている仮想マシン宛てのパケットであるかを判定する（Ｓ１２）。すなわち、仮想スイッチ３２は、そのパケットの送信先ＭＡＣアドレスが受信ルールテーブル４２に登録されているかを判定する。
【００４６】
そのパケットの送信先ＭＡＣアドレスが受信ルールテーブル４２に登録されている場合（Ｓ１２で「Ｙｅｓ」）、仮想スイッチ３２は、当該パケットの受信を許可し、Ｓ１８の処理へ進む。そのパケットの送信先ＭＡＣアドレスが受信ルールテーブル４２に登録されていない場合（Ｓ１２で「Ｎｏ」）、仮想スイッチ３２は、そのパケットを廃棄する（Ｓ１３）。
【００４７】
一方、Ｓ１１において、そのパケットがユニキャストパケットでないと判定した場合（Ｓ１１で「Ｎｏ」）、仮想スイッチ３２は、宛先アドレスデコード化処理を行う（Ｓ１４）。ここでは、仮想スイッチ３２は、受信ルールテーブル４２を用いて、そのパケットの送信先アドレスに含まれるサブネット識別子の解析を行う。すなわち、仮想スイッチ３２は、そのパケットの送信先アドレス（ブロードキャストアドレスまたはマルチキャストアドレス）の４バイト目から６バイト目の情報（サブネット識別子）を抽出する。仮想スイッチ３２は、受信ルールテーブル４２から、その抽出したサブネット識別子を検索する。
【００４８】
そのパケットの送信先ＭＡＣアドレスに含まれるサブネット識別子が受信ルールテーブル４２に登録されている場合（Ｓ１５において、「Ｙｅｓ」）、仮想スイッチ３２は、そのパケットの受信を許可する。そのパケットの送信先アドレスに含まれるサブネット識別子が受信ルールテーブル４２に登録されていない場合（Ｓ１５において、「Ｎｏ」）、仮想スイッチ３２は、受信パケットを廃棄する（Ｓ１６）。このフィルタリング処理により、同一サブネットに属する仮想マシンにパケットが届くようなサブネットを構築することができる。
【００４９】
仮想スイッチ３２は、フィルタリング処理において受信の許可がされたパケット（透過パケット）の送信先ＭＡＣアドレスを、アドレス変換テーブル４３に従って、送信先ＭＡＣアドレスに含まれるコード値から元の送信先ＭＡＣアドレスへ逆変換する（Ｓ１７）。すなわち、仮想スイッチ３２は、透過パケットの送信先ＭＡＣアドレスの１バイト目から３バイト目の情報（コード値）を抽出する。仮想スイッチ３２は、アドレス変換テーブル４３から、その抽出したコードに対応するブロードキャストアドレスまたはマルチキャストアドレスを取得する。仮想スイッチは、その取得したブロードキャストアドレスまたはマルチキャストアドレスを、透過パケットの送信先ＭＡＣアドレスへ設定する。
【００５０】
仮想スイッチ３２は、元の送信先ＭＡＣアドレスへ逆変換されたパケットについて、レイヤ２パケットフォワーディング処理を実行し、ＦＤＢ４１を用いて、出力先ポートを解決する（Ｓ１８）。Ｓ１８の処理は、Ｓ１と同様である。仮想スイッチ３２は、元の送信先ＭＡＣアドレスへ逆変換されたパケットを、解決された出力先ポートへ転送する。 
【００５１】
このように、パケットのＭＡＣアドレスに含まれるサブネット識別子によってサブネットを識別することができる。ＭＡＣアドレスに含まれるサブネット識別子は３バイト（２24ビット）で表すことができるので、大きなアドレス空間を表現できる。そのため、本実施形態による技術は、多くのサブネットを構築することが可能である。
【００５２】
また、仮想スイッチから物理ネットワーク３８へ出力されるパケットは、マルチキャスト／ユニキャストパケットである。そのため、物理ネットワークインフラにおいては、レイヤ２スイッチ装置を用いて、物理ネットワーク３８を構築することができる。その結果、物理ネットワークインフラを経済的に実現することが可能となる。
【００５３】
以下で、本実施形態をより詳述する。まずは、ある物理サーバの仮想マシンａ１から異なる物理サーバのａ４へユニキャストパケットが転送される場合について、図９を用いて説明する。
【００５４】
図９は、本実施形態における仮想マシンからユニキャストパケットを受信した場合の仮想スイッチの動作を説明するための図である。図９の例では、３つの物理サーバ３１−１，３１−２，３１−３上に、１つまたは２つのテナント（テナントＡ及び／またはテナントＢ）が形成された仮想マシン（ａ１〜ａ４，ｂ１〜ｂ４）が動作していると仮定する。なお、物理サーバ数、仮想マシン数、テナント数は、本実施形態において限定されない。また、物理サーバ３１−１，３１−２，３１−３は、レイヤ２スイッチ装置５１を含む物理ネットワーク３８に接続されていると仮定する。
【００５５】
各仮想スイッチ（ｖＳＷ１〜ｖＳＷ４）は、受信ルールテーブル４２−１〜４２−４を含む。例えば、仮想スイッチ（ｖＳＷ１）の有する受信ルールテーブル４２−１は、ｖＳＷ１に収容されている仮想マシンａ１，ａ２のＭＡＣアドレス（それぞれ便宜上、ａ１、ａ２と表す）を含む。また、受信ルールテーブル４２−１は、仮想マシンａ１，ａ２が属しているテナントのサブネット識別子（Ａ）を含む。
【００５６】
ここで、仮想マシンａ１から仮想マシンａ４に対してユニキャストパケットが転送されるときの動作を以下に示す。まず、仮想マシンａ１は、仮想マシンａ４に対してパケットを送信する。このとき、当該パケットのイーサネットヘッダの送信先のＭＡＣアドレスフィールドには、仮想マシンａ４のＭＡＣアドレス（便宜上ａ４と表す）が設定されている。また、そのイーサネットヘッダの送信元ＭＡＣアドレスフィールドには、仮想マシンａ１自身のＭＡＣアドレスａ１と表す）が設定されている。
【００５７】
仮想スイッチ（ｖＳＷ１）は、仮想マシンａ１から受信したユニキャストパケットの送信先ＭＡＣアドレスフィールドと、ＦＤＢ４１−１とを参照して出力先のポートを決定する。仮想スイッチ（ｖＳＷ１）の保有するＦＤＢ４１−１によれば、アドレスａ４に対応する出力先は、物理Ｉ／ＦであるＮＩＣ３８と繋がっているポートｐ０である。よって、仮想スイッチ（ｖＳＷ１）は、ポートｐ０へパケット（仮想スイッチ送信パケット）を転送する。
【００５８】
物理ネットワーク３８へと出力された仮想スイッチ送信パケットは、物理ネットワーク３８内のレイヤ２スイッチ装置（Ｌ２ＳＷ）５１によって中継される。この例では、各レイヤ２スイッチ装置５１のＦＤＢ内には、ＭＡＣアドレスａ４に関する情報が登録されていないことを想定する。この場合、レイヤ２スイッチ装置５１は、ＭＡＣアドレスａ４についての宛先ポートの解決をすることができない。そのため、レイヤ２スイッチ装置５１は、自身の物理スイッチの全ポートへパケットを転送（フラッディング）する。その結果、ａ４宛てのユニキャストパケットは、物理サーバ３１−２及び物理サーバ３１−３へ送信される。
【００５９】
物理ネットワーク３８から仮想スイッチ送信パケットを受信した物理サーバ３１−２及び物理サーバ３１−３の仮想スイッチ（ｖＳＷ２，ｖＳＷ３，ｖＳＷ４）は、到着したパケットのＩ／Ｇ識別子を識別する。
【００６０】
到着したパケットがユニキャストパケットである場合には、仮想スイッチは、そのパケットの送信先ＭＡＣアドレス値と自身の受信ルールテーブルを照らし合わせて、受信ルール情報に一致するパケットを透過させる。この例では、物理サーバ３の仮想スイッチ（ｖＳＷ３）の有する受信ルールテーブル４２−３にアドレス値ａ４が含まれている。この場合、物理サーバ３１−３の仮想スイッチ（ｖＳＷ３）は、その受信パケットを透過させる。
【００６１】
一方、受信ルールテーブル４２−２，４２−４には、アドレス値ａ４が含まれていない。この場合、物理サーバ３１−２の仮想スイッチ（ｖＳＷ２）と物理サーバ３１−３の仮想スイッチ（ｖＳＷ４）は、その受信パケットを廃棄する。その後、仮想スイッチ（ｖＳＷ３）において透過されたパケットは、仮想スイッチ（ｖＳＷ３）のＦＤＢに従って、仮想マシンａ４へと送信される。
【００６２】
次に、仮想マシンａ１から同じテナントに属する仮想マシンａ２，ａ３，ａ４へブロードキャストパケットが転送される場合について、図１０を用いて説明する。
図１０は、本実施形態における仮想マシンからブロードキャストパケット（またはマルチキャストパケット）を受信した場合の仮想スイッチの動作を説明するための図である。仮想マシンａ１がブロードキャストパケットを送信する場合を例に説明する。
【００６３】
この例では、当該パケットのイーサネットヘッダの送信先ＭＡＣアドレスフィールドには、ブロードキャストを示すＭＡＣアドレス（便宜上ＢＣと表す）が設定されているとする。また、その送信元ＭＡＣアドレスフィールドには、仮想マシンａ１自身のＭＡＣアドレス（便宜上ａ１と表す）が設定されている。
【００６４】
仮想スイッチ（ｖＳＷ１）は、仮想マシンａ１から送信されたパケットを受信する。その受信パケットはブロードキャストパケットである。そのため、仮想スイッチ（ｖＳＷ１）は、ＦＤＢ４１−１を用いて、パケットが到着したポートｐ１を除く、仮想スイッチの全ポートへそのブロードキャストパケットを転送する。その結果、仮想マシンａ２に、ブロードキャストパケットが到達する。
【００６５】
一方、物理ネットワーク３８とつながるポートｐ０へ転送されたブロードキャストパケットについては、仮想スイッチ（ｖＳＷ１）は、送信先アドレスの変換処理を行う。ここでは、仮想スイッチ（ｖＳＷ１）は、アドレス変換テーブル４３を用いて、そのブロードキャストパケットの送信先アドレスを変換する。ここでは、まず、仮想スイッチ（ｖＳＷ１）は、物理ネットワーク３８とつながるポートｐ０へ転送されるパケットの送信先アドレスに対応するコード値を、アドレス変換テーブル４３から取得する。この例では、そのパケットの送信先ＭＡＣアドレスは、ブロードキャストを示すFF-FF-FF-FF-FF-FFである。この場合、仮想スイッチ（ｖＳＷ１）は、アドレス変換テーブル４３から、ＭＡＣアドレスFF-FF-FF-FF-FF-FFに対応するコード値01-01-00を取得する。
【００６６】
次に、仮想スイッチ（ｖＳＷ１）は、自身に収容されている仮想マシンのサブネット識別子（Ａ）を、受信ルールテーブル４２−１より取得する。仮想スイッチ（ｖＳＷ１）は、そのコード値（01-01-00）と、そのサブネット識別子（Ａ）とを結合した６バイトのデータ（01-01-00-00-00-0A）を作成する。それから、仮想スイッチ（ｖＳＷ１）は、その作成したデータを、出力対象のパケットの送信先ＭＡＣアドレスフィールドに設定する。これにより、図６で説明した仮想スイッチ送信パケットが生成される。
【００６７】
仮想スイッチ（ｖＳＷ１）は、送信先ＭＡＣアドレスの変換処理がされた仮想スイッチ送信パケットを、物理ネットワーク３８へ転送する。
物理ネットワーク３８において、レイヤ２スイッチ装置（Ｌ２ＳＷ）５１は、その仮想スイッチ送信パケットを、図６（Ａ）に示すイーサネットフレームフォーマットのマルチキャストアドレスパケットであると認識する。すると、レイヤ２スイッチ装置（Ｌ２ＳＷ）５１は、マルチキャスト中継処理を行って、自身のいずれかのポートへ転送する。この場合、レイヤ２スイッチ装置（Ｌ２ＳＷ）５１は、多くの場合、マルチキャストパケットを、ブロードキャストパケットと同様に、全ての物理ポートへとフラッディングする。この結果、そのマルチキャストパケット（元はブロードキャストパケット）（仮想スイッチ送信）は、物理サーバ３１−２及び物理サーバ３１−３に送信される。
【００６８】
物理ネットワーク３８から仮想スイッチ送信パケットを受信した物理サーバ３１−２及び物理サーバ３１−３の仮想スイッチ（ｖＳＷ２，ｖＳＷ３，ｖＳＷ４）は、到着したパケットのＩ／Ｇ識別子を識別する。
【００６９】
到着したパケットがマルチキャストパケットである場合、仮想スイッチは、そのパケットの送信先ＭＡＣアドレスの下位３バイト（４バイト目から６バイト目）に格納されたサブネット識別子と受信ルールテーブルを照らし合わせる。仮想スイッチは、受信ルール情報に一致するパケットを透過させる。
【００７０】
この例では、物理サーバ３１−３の仮想スイッチ（ｖＳＷ３）の有する受信ルールテーブル４２−３にサブネット識別子（Ａ）が含まれている。この場合、物理サーバ３１−３の仮想スイッチｖＳＷ３は、そのパケットを透過させる。
【００７１】
一方、物理サーバ３１−２のｖＳＷ２と物理サーバ３１−２のｖＳＷ４は、受信ルールテーブルにサブネット識別子（Ａ）を含んでいない。この場合、物理サーバ３１−２の仮想スイッチ（ｖＳＷ２）と物理サーバ３１−３の仮想スイッチ（ｖＳＷ４）は、そのパケットを廃棄する。
【００７２】
その後、仮想スイッチ（ｖＳＷ３）は、透過したパケットの送信先アドレスから上位３バイトの情報（この例では01-01-00）を取得する。それから、仮想スイッチ（ｖＳＷ３）は、その取得した３バイトの情報に対応するブロードキャストアドレスを、アドレス変換テーブル４３から取得する。
【００７３】
仮想スイッチ（ｖＳＷ３）は、その取得したブロードキャストアドレス（この例では、FF-FF-FF-FF-FF-FF）を、透過したパケットの送信先ＭＡＣアドレスフィールドに設定する。その後、仮想パケット（ｖＳＷ３）は、パケットフォワーディング処理を行って、仮想マシンａ３とａ４へそのブロードキャストパケットを転送する。
【００７４】
このように、送信側の仮想スイッチは、送信パケットがブロードキャストまたはマルチキャストパケットである場合には、送信先ＭＡＣアドレスの値をコード値とサブネット識別子を含むマルチキャストアドレス値に変換する。
【００７５】
受信側の仮想スイッチは、受信したパケットのマルチキャストアドレスに含まれるサブネット識別子を参照して、自仮想スイッチに収容している仮想マシンへそのパケットを中継する。これにより、テナントに属する仮想マシンに、パケットが届くようなサブネットを構築することが可能となる。
【００７６】
本実施形態では、サブネット識別子を送信先ＭＡＣアドレスの下位３バイト（２４ビット）にマッピングしているため、２24個のサブネットを構築することが可能である。また、物理ネットワークを流れるパケットは、マルチキャストパケット形式になるため、例えば、汎用のＬ２ＳＷで物理ネットワークを構築することが可能であり、経済的なネットワークインフラを構築することが可能である。
【００７７】
また、フィルタリング機能により、サブネット識別子が異なるテナントに属する仮想マシンへパケットが送信されることがないので、サブネットのセキュリティを向上させることができる。
【００７８】
＜第２の実施形態＞
第１の実施形態では、送信元の仮想スイッチにおいてマルチキャストまたはブロードキャストアドレス値を、コード値とサブネット識別子を含むマルチキャストアドレスに変換した。そして、物理ネットワーク上の機器はそのパケットをマルチキャストパケットとして処理を行った。しかしながら、この場合、ある仮想マシンが送信したブロードキャストパケットが、データセンタ内の全物理サーバに届くことになり、無駄なトラフィックが大量に発生する可能性がある。
【００７９】
そこで、本実施形態では、レイヤ２スイッチ装置のＩＧＭＰ（Internet Group Management Protocol）スヌーピング機能を利用して、次のことを行う。すなわち、本実施形態は、レイヤ２スイッチ装置に、仮想スイッチにより変換されたマルチキャストアドレス値で表されるマルチキャストメンバとしてのテナントに属する仮想スイッチを含む物理サーバへ仮想スイッチ送信パケットを送るように制御を行う。なお、本実施形態において、第１の実施形態と同じ構成、処理、機能等については同一の符号を付与し、その説明を省略する。
【００８０】
図１１は、本実施形態における仮想マシンを収容する仮想スイッチを含む物理サーバの一例を示す。図１１に示す仮想スイッチ３２ａは、フォワーディング処理部３３、送信先アドレス変換部３４、フィルタリング部３５、送信先アドレス逆変換部３６、ＩＧＭＰ送出部６１として機能するソフトウェアスイッチである。図１１に示す仮想スイッチ３２ａは、図２の仮想スイッチ３２に、ＩＧＭＰ送出部６１を加えたものである。
【００８１】
ＩＧＭＰ送出部６１は、一定周期で、ＩＧＭＰパケットを、ＮＩＣ３７を介して、物理ネットワーク３８へ送出する。この場合、ＩＧＭＰパケットは、仮想スイッチ３２ａが収容する仮想マシンの属するテナントのサブネット識別子を含むマルチキャストアドレスで表されるマルチキャストメンバへ参加宣言するためのＩＧＭＰ  Ｒｅｐｏｒｔパケットである。
【００８２】
図１２は、ＩＧＭＰパケットフォーマットを示す。ＩＧＭＰパケットは、ＩＰ（Internet Protocol）ヘッダとＩＧＭＰメッセージを有する。ＩＧＭＰメッセージは、「タイプ」、「最大応答時間」、「チェックサム」、「グループアドレス」を有する。「タイプ」には、「メンバーシップレポート」、「リーブグループ」等のＩＧＭＰのメッセージのタイプが格納される。グループアドレスとして、第1の実施形態で得られたコード値とサブネット識別子を含むマルチキャストアドレスが格納される。
【００８３】
図１３は、本実施形態におけるＩＧＭＰパケット送出処理のフローの一例を示す。仮想スイッチ３２は、一定周期で、ＩＧＭＰパケットを送信している。仮想スイッチ３２ａは、ＩＧＭＰパケットの送信の度に、図１３の処理を実行する。
【００８４】
まず、仮想スイッチ３２ａは、仮想スイッチ３２ａが収容している仮想マシンがないか否かを判定する（Ｓ２１）。仮想スイッチ３２ａは、自身が収容している仮想マシンの管理するための情報（仮想マシン管理情報）を有している。仮想マシン管理情報は、例えば、仮想マシンのポート名と、そのポートに接続されている仮想マシン名とか関連付けられた情報である。仮想スイッチ３２ａは、仮想マシン管理情報を参照することにより、仮想スイッチ３２ａが収容している仮想マシンがないか否かを判定することができる。
【００８５】
仮想スイッチ３２ａが収容している仮想マシンがないと判定した場合（Ｓ２１で「Ｙｅｓ」）、仮想スイッチ３２は、仮想スイッチ３２ａが収容している仮想マシンを、マルチキャストメンバから脱退させるＩＧＭＰ  ＬＥＡＶＥパケットを生成する（Ｓ２２）。このとき、ＩＧＭＰ  ＬＥＡＶＥパケット中のグループアドレスには、第1の実施形態で得られたコード値と、仮想スイッチ３２ａが収容していた仮想マシンが属するテナントのサブネット識別子を含むマルチキャストアドレスが設定される。
【００８６】
仮想スイッチ３２が収容している仮想マシンがあると判定した場合（Ｓ２１で「Ｎｏ」）、仮想スイッチ３２ａは、ＩＧＭＰ  ＪＯＩＮパケット（グループ参加の最初のメンバーシップレポートを含むＩＧＭＰパケット）を生成する（Ｓ２３）。このとき、ＩＧＭＰ  ＪＯＩＮパケット中のグループアドレスには、第1の実施形態で得られたコード値と、仮想スイッチ３２が収容していた仮想マシンａが属するテナントのサブネット識別子を含むマルチキャストアドレスが設定される。
【００８７】
仮想スイッチ３２ａは、Ｓ２２またはＳ２３で生成したＩＧＭＰパケットを、ＮＩＣ３７を介して、物理ネットワーク３８へ送出する。
図１４は、本実施形態における仮想マシンからブロードキャストパケット（またはマルチキャストパケット）を受信した場合の仮想スイッチの動作を説明するための図である。各仮想スイッチｖＳＷ１（３２ａ−１），ｖＳＷ２（３２ａ−２），ｖＳＷ３（３２ａ−３），ｖＳＷ４（３２ａ−４）より送出されたＩＧＭＰパケットは、各物理サーバ３１−１，３１−２，３１−３のＮＩＣ３７を介して、物理ネットワーク３８へ送信される。
【００８８】
レイヤ２スイッチ装置（Ｌ２ＳＷ）５１−１〜５１−４は、ＩＧＭＰスヌーピング機能を有する。ＩＧＭＰスヌーピング機能を用いることにより、レイヤ２スイッチ装置（Ｌ２ＳＷ）５１は、自身のポートを流れるＩＧＭＰパケットを盗み見ることができる。
【００８９】
受信したパケットがＩＧＭＰ  ｒｅｐｏｒｔである場合、レイヤ２スイッチ装置５１−１〜５１−４は、ＩＧＭＰスヌーピング機能を用いて、次の処理を実行する。すなわち、レイヤ２スイッチ装置５１−１〜５１−４は、ＩＧＭＰ  ｒｅｐｏｒｔパケットのグループアドレスフィールドから、マルチキャストアドレスを取得する。それから、レイヤ２スイッチ装置５１−１〜５１−４は、取得したマルチキャストアドレスと、ＩＧＭＰ  ｒｅｐｏｒｔパケットを受信したポート（ＩＧＭＰ受信ポート）を示す情報とを関係付けて、マルチキャストアドレス・ポート関係テーブルに保持する。
【００９０】
レイヤ２スイッチ装置５１−１の場合、仮想スイッチ（ｖＳＷ１）より送信された、サブネット識別子（Ａ）を含むマルチキャストアドレス情報を有するＩＧＭＰパケットを受信するポートは、ｐ１１である。また、仮想スイッチ（ｖＳＷ３）より送信された、サブネット識別子（Ａ）を含むマルチキャストアドレス情報を有するＩＧＭＰパケットを受信するポートは、ｐ１２である。したがって、レイヤ２スイッチ装置５１−１のマルチキャストアドレス・ポート情報テーブル７１−１には、サブネット識別子（Ａ）を含むマルチキャストアドレスと、ＩＧＭＰ受信ポートｐ１１，Ｐ１２とが関連付けられて格納されている。
【００９１】
レイヤ２スイッチ装置５１−２の場合、仮想スイッチ（ｖＳＷ２）より送信された、サブネット識別子（Ｂ）からなるマルチキャストアドレスを有するＩＧＭＰパケットを受信するポートは、ｐ１３である。また、仮想スイッチ（ｖＳＷ４）より送信された、サブネット識別子（Ｂ）を含むマルチキャストアドレスを有するＩＧＭＰパケットを受信するポートは、ｐ１４である。したがって、レイヤ２スイッチ装置５１−２のマルチキャストアドレス・ポート関係テーブル７１−２には、サブネット識別子（Ｂ）を含むマルチキャストアドレスと、ＩＧＭＰ受信ポートｐ１３，Ｐ１４とが関連付けられて格納されている。
【００９２】
レイヤ２スイッチ装置５１−３の場合、仮想スイッチ（ｖＳＷ１）より送信された、サブネット識別子（Ａ）を含むマルチキャストアドレス情報を有するＩＧＭＰパケットを受信するポートは、ｐ１６である。また、仮想スイッチ（ｖＳＷ３）より送信された、サブネット識別子（Ａ）を含むマルチキャストアドレス情報を有するＩＧＭＰパケットを受信するポートは、ｐ１５である。また、仮想スイッチ（ｖＳＷ２）より送信された、サブネット識別子（Ｂ）を含むマルチキャストアドレス情報を有するＩＧＭＰパケットを受信するポートは、ｐ１６である。仮想スイッチ（ｖＳＷ４）より送信された、サブネット識別子（Ｂ）を含むマルチキャストアドレス情報を有するＩＧＭＰパケットを受信するポートは、ｐ１５である。したがって、レイヤ２スイッチ装置５１−３のマルチキャストアドレス・ポート関係テーブル７１−３には、サブネット識別子（Ａ）を含むマルチキャストアドレスと、ＩＧＭＰ受信ポートｐ１５，Ｐ１６とが関連付けられて格納されている。また、マルチキャストアドレス・ポート関係テーブル７１−３には、サブネット識別子（Ｂ）を含むマルチキャストアドレスと、ＩＧＭＰ受信ポートｐ１５，Ｐ１６とが関連付けられて格納されている。
【００９３】
レイヤ２スイッチ装置５１−４の場合、仮想スイッチ（ｖＳＷ１）より送信された、サブネット識別子（Ａ）を含むマルチキャストアドレス情報を有するＩＧＭＰパケットを受信するポートは、ｐ１７である。また、仮想スイッチ（ｖＳＷ３）より送信された、サブネット識別子（Ａ）を含むマルチキャストアドレス情報を有するＩＧＭＰパケットを受信するポートは、ｐ１９である。また、仮想スイッチ（ｖＳＷ２）より送信された、サブネット識別子（Ｂ）を含むマルチキャストアドレス情報を有するＩＧＭＰパケットを受信するポートはｐ１８である。また、仮想スイッチ（ｖＳＷ４）より送信された、サブネット識別子（Ｂ）を含むマルチキャストアドレス情報を有するＩＧＭＰパケットを受信するポートは、ｐ１９である。したがって、レイヤ２スイッチ装置５１−４のマルチキャストアドレス・ポート関係テーブル７１−４には、サブネット識別子（Ａ）を含むマルチキャストアドレスと、ＩＧＭＰ受信ポートｐ１７，Ｐ１９とが関連付けられて格納されている。また、マルチキャストアドレス・ポート関係テーブル７１−４には、仮想スイッチで生成されたサブネット識別子（Ｂ）を含むマルチキャストアドレスと、ＩＧＭＰ受信ポートｐ１８，Ｐ１９とが関連付けられて格納されている。
【００９４】
マルチキャストアドレス・ポート関係テーブルの作成後、マルチキャストパケットを受信した場合、レイヤ２スイッチ装置は、マルチキャストアドレス・ポート関係テーブルから、当該マルチキャストアドレスと関係付けられたポート情報を取得する。それから、レイヤ２スイッチ装置は、そのポートにそのマルチキャストパケットを転送する。
【００９５】
例えば、仮想スイッチ（ｖＳＷ１）は、ブロードキャストパケットを示すコード値（01-01-00）と、サブネット識別子（Ａ）とを結合したマルチキャストアドレス値（01-01-00-00-00-0A）を生成したとする。それから、仮想スイッチ（ｖＳＷ１）は、その生成したマルチキャストアドレス値（01-01-00-00-00-0A）を、出力対象のパケットの送信先ＭＡＣアドレスフィールドに設定する。これにより、図６（Ａ）で説明した仮想スイッチ送信パケットが生成される。仮想スイッチ（ｖＳＷ１）は、その仮想スイッチ送信パケットを、物理ネットワーク３８へ転送する。
【００９６】
レイヤ２スイッチ装置５１−１は、その仮想スイッチ送信パケットを、図６（Ａ）に示すイーサネットフレームフォーマットのマルチキャストアドレスパケットであると認識する。すると、レイヤ２スイッチ装置５１は、マルチキャストアドレス・ポート関係テーブル７１−１から、受信したパケットのマルチキャストアドレス（01-01-00-00-00-0A）を検索する。その検索結果に基づいて、レイヤ２スイッチ装置５１−１は、受信した仮想スイッチ送信パケットを、送信先ポートｐ１２（パケットが到着したポートｐ１１を除く）へ転送する。
【００９７】
他のレイヤ２スイッチ装置５１−４，５１−３もそれぞれ同様に、受信した仮想スイッチ送信パケットを、マルチキャストアドレス・ポート関係テーブル７１−４，７１−３に従って、送信先ポートへ転送する。これにより、レイヤ２スイッチ装置５１−１から転送されたサブネット識別子（Ａ）を含むマルチキャストアドレスを有するパケットは、物理サーバ３１−３へ送信される。この場合、レイヤ２スイッチ装置５１−１から転送されたサブネット識別子（Ａ）を含むマルチキャストアドレスを有するパケットは、レイヤ２スイッチ装置５１−２及び物理サーバ３１−２へは送信されない。
【００９８】
本実施形態によれば、仮想スイッチは、サブネット識別子を含むマルチキャストアドレス情報を、ＩＧＭＰ  ｒｅｐｏｒｔパケットに乗せて物理ネットワークに送出する。これにより、物理ネットワークのレイヤ２スイッチ装置（Ｌ２ＳＷ）は、自身のどの物理ポート配下にどのマルチキャストアドレスに属する仮想スイッチがあるかを認識することが可能となる。その結果、レイヤ２スイッチ装置（Ｌ２ＳＷ）は、マルチキャストパケットを受信した場合に、自身の有するポートのうち、ＩＧＭＰ  ｒｅｐｏｒｔパケットを受信したポートに、マルチキャストパケットを転送できる。そのため、例えば、あるテナントの仮想マシンが送信したブロードキャストパケットは、当該テナントに属する仮想マシンが稼動している物理サーバのみに中継される。その結果、無駄なトラフィックの発生を抑制することが可能となる。
【００９９】
＜第３の実施形態＞
第１の実施形態では、仮想スイッチが備えるアドレス変換テーブルに従って、仮想マシンから送出されたブロードキャストパケットまたはマルチキャストパケットの送信先アドレスの値を変換した。しかしながら、変換可能なブロードキャストまたはマルチアドレスの数は、変換後のマルチキャストアドレスに含まれる「ＭＣ種別」フィールドの長さに依存する。第１の実施形態では、「ＭＣ種別」フィールドが約１バイト分（図６の３バイト目）のため、最大でも２５６種類のマルチキャストアドレスまでしか対応できない。
【０１００】
そこで、本実施形態では、次のことを実現する。仮想マシンより受信したパケットを、予め設定されたコード値とサブネット識別子とを含むマルチキャストアドレスを送信先ＭＡＣとするＭＡＣヘッダでカプセリングする。なお、本実施形態において、第１または第２の実施形態と同じ構成、処理、機能等については同一の符号を付与し、その説明を省略する。
【０１０１】
図１５は、本実施形態における仮想マシンを収容する仮想スイッチを含む物理サーバの一例を示す。仮想スイッチ３２ｂは、フォワーディング処理部３３、カプセリング部８１、アドレス設定部８２、フィルタリング部３５、デカプセリング部８３として機能するソフトウェアスイッチである。
【０１０２】
カプセリング部８１は、フォワーディング処理部３３からＮＩＣ３７へ転送されるパケットに対して、新たなＭＡＣヘッダを付加する。
アドレス設定部８２は、付加したＭＡＣヘッダの送信先ＭＡＣアドレスと送信元ＭＡＣアドレスフィールドに、アドレスを設定する。仮想マシンから送信されたパケットがユニキャストパケットの場合、アドレス設定部８２は、付加したＭＡＣヘッダの送信先ＭＡＣアドレスフィールドに、仮想マシンが送信したパケットの送信先ＭＡＣアドレスと同じ値を設定する。このとき、アドレス設定部８２は、付加したＭＡＣヘッダの送信元ＭＡＣアドレスフィールドに、当該仮想スイッチ３２ｂのＭＡＣアドレスを設定する。
【０１０３】
また、仮想マシンから送信されたパケットがブロードキャストまたはマルチキャストである場合、アドレス設定部８２は、次を実行する。すなわち、アドレス設定部８２は、付加したＭＡＣヘッダの送信先ＭＡＣアドレスフィールドに、予め設定されたコード値と仮想マシンの属するテナントのサブネット識別子を含むマルチキャストアドレスを設定する。このとき、このとき、アドレス設定部８２は、付加したＭＡＣヘッダの送信元ＭＡＣアドレスフィールドに、当該仮想スイッチ３２ｂのＭＡＣアドレスを設定する。
デカプセリング部８３は、フィルタリング部３５により透過されたパケットに付加されたＭＡＣヘッダを削除する。
【０１０４】
図１６は、本実施形態における仮想スイッチ送信パケットの内容を示す。図１６（Ａ）に示すように、本実施形態の仮想スイッチ送信パケット９０は、仮想マシン送信パケット９１に、カプセリングヘッダ（９２）を付加したものである。仮想マシン送信パケット（９５）は、仮想マシンから送信される、「ＭＡＣＤＡ（送信先ＭＡＣアドレス）」９６、「ＭＡＣＳＡ（送信元ＭＡＣアドレス）」９７、「タイプ」９８、「ペイロード」９９を有するパケットである。
【０１０５】
カプセリングヘッダ（９１）は、ＭＡＣヘッダのフォーマットと同じである。すなわち、カプセリングヘッダ（９１）は、「ＭＡＣＤＡ（送信先ＭＡＣアドレス）」９２、「ＭＡＣＳＡ（送信元ＭＡＣアドレス）」９３、「タイプ」９４を含む。
【０１０６】
図１６（Ｂ）は、ユニキャストの場合のカプセリングヘッダの送信先ＭＡＣアドレス９２の構成例を示す。図１６（Ｃ）は、ブロードキャスト、及びマルチキャストの場合のカプセリングヘッダの送信先ＭＡＣアドレス９２の構成例を示す。
【０１０７】
図１６（Ｄ）は、カプセリングヘッダの送信元ＭＡＣアドレス９３の構成例を示す。カプセリングヘッダの送信元ＭＡＣアドレス９３には、カプセリングヘッダを付加した仮想スイッチのＭＡＣアドレスが送信元仮想スイッチ識別子として、２バイト目〜６バイト目に設定される、
図１６（Ｂ）〜図１６（Ｄ）のフォーマットは、図６（Ｂ）〜図６（Ｄ）と同様であるため、その説明を省略する。
【０１０８】
図１７は、本実施形態におけるパケット送信時の仮想スイッチ３２の動作のフローを示す。仮想スイッチ３２ｂは、例えば、仮想マシン（Ａ−１）よりパケット（仮想マシン送信パケット）を受信すると、第１の実施形態で説明したように、レイヤ２パケットフォワーディング処理を実行し、ＦＤＢ４１を用いて、出力先ポートを解決する（Ｓ３１，Ｓ３２）。
【０１０９】
解決された出力先ポートが、仮想スイッチ３２ｂの収容する他の仮想マシンＶＭ（Ａ−２）と接続されたポート、すなわち内部Ｉ／Ｆである場合、仮想スイッチ３２ｂは、その内部Ｉ／Ｆへ仮想マシン送信パケットを転送する。仮想スイッチ３２ｂは、その内部Ｉ／Ｆより、パケットを出力する（Ｓ３７）。
【０１１０】
解決された出力先ポートが、物理ネットワーク３８に繋がるポート（外部Ｉ／Ｆ）である場合、仮想スイッチ３２ｂは、仮想マシン送信パケット（イーサネットフレーム）を、別のＭＡＣヘッダでカプセリングする（Ｓ３３）。
【０１１１】
仮想スイッチ３２ｂは、仮想マシン送信パケットのＩ／Ｇ識別子を参照し、その仮想マシン送信パケットがユニキャストパケットであるか否かを判定する（Ｓ３４）。
そのパケットがユニキャストパケットであると判定された場合、仮想スイッチ３２ｂは、Ｓ３３で付加したＭＡＣヘッダ（カプセリングヘッダ）の送信先アドレスフィールドに、仮想マシン送信パケットの送金先ＭＡＣアドレスと同じアドレスを設定する。また、仮想スイッチ３２ｂは、付加したＭＡＣヘッダの送信元アドレスフィールドに、仮想スイッチ３２ｂ自身のＭＡＣアドレスを設定する（Ｓ３５）。
【０１１２】
その仮想マシン送信パケットがブロードキャストまたはマルチキャストパケットであると判定された場合、仮想スイッチ３２ｂは、宛先アドレスコード化処理を行う（Ｓ３６）。ここでは、仮想スイッチ３２ｂは、その仮想マシン送信パケットの送信元ＭＡＣアドレスから送信元の仮想マシンのＭＡＣアドレスを取得する。仮想スイッチ３２は、受信ルールテーブル４２から、その送信元の仮想マシンのＭＡＣアドレスに対応するサブネット識別子を取得する。それから、仮想スイッチ３２ｂは、アドレス変換テーブル４３から、そのパケットの送信先アドレス（ブロードキャストアドレスまたはマルチキャストアドレス）に対応するコード値を取得する。仮想スイッチ３２ｂは、その取得したコード値と、上記で取得したサブネット識別子とを結合させることにより、サブネット識別子を含むマルチキャストアドレスを生成する。このようにして、仮想スイッチ３２ｂは、仮想マシン送信パケットの送信先ＭＡＣアドレスを、サブネット識別子を含むマルチキャストアドレスに変換する。また、仮想スイッチ３２ｂは、付加したＭＡＣヘッダの送信元アドレスフィールドに、仮想スイッチ３２ｂ自身のＭＡＣアドレスを設定する。なお、本実施形態では、仮想マシン送信パケットのＭＡＣアドレスの変換は、行わない。
【０１１３】
その後、仮想スイッチ３２ｂは、Ｓ３５で設定したマルチキャストパケットまたはＳ３６で設定したマルチキャストパケット（仮想スイッチ送信パケット）を物理ネットワーク３８へ出力する（Ｓ３７）。
【０１１４】
図１８は、本実施形態におけるパケット受信時の仮想スイッチ３２の動作のフローを示す。物理サーバ３１は、物理ネットワーク３８から仮想スイッチ送信パケットを受信し、各仮想スイッチ３２へ転送する。仮想スイッチ３２ｂは、その転送された仮想スイッチ送信パケットのＩ／Ｇ識別子を参照して、そのパケットがユニキャストパケットであるか否かを判定する（Ｓ４１）。
【０１１５】
そのパケットがユニキャストパケットであると判定された場合（Ｓ４１で「Ｙｅｓ」）、仮想スイッチ３２ｂは、そのパケットが当該仮想スイッチ３２ｂに収容されている仮想マシン宛てのパケットであるかを判定する（Ｓ４２）。すなわち、仮想スイッチ３２ｂは、そのパケットの送信先ＭＡＣアドレスが受信ルールテーブル４２に登録されているかを判定する。
【０１１６】
そのパケットの送信先ＭＡＣアドレスが受信ルールテーブル４２に登録されている場合（Ｓ４２で「Ｙｅｓ」）、仮想スイッチ３２ｂは、当該パケットの受信を許可し、Ｓ４７の処理へ進む。受信パケットの送信先ＭＡＣアドレスが受信ルールテーブル４２に登録されていない場合（Ｓ４２で「Ｎｏ」）、仮想スイッチ３２は、そのパケットを廃棄する（Ｓ４３）。
【０１１７】
一方、Ｓ４１において、そのパケットがユニキャストパケットでないと判定した場合（Ｓ４１で「Ｎｏ」）、仮想スイッチ３２ｂは、宛先アドレスデコード化処理を行う（Ｓ４４）。ここでは、仮想スイッチ３２ｂは、受信ルールテーブル４２を用いて、そのパケットの送信先アドレスに含まれるサブネット識別子の解析を行う。すなわち、仮想スイッチ３２ｂは、そのパケットの送信先アドレス（ブロードキャストアドレスまたはマルチキャストアドレス）の４バイト目から６バイト目の情報（サブネット識別子）を抽出する。仮想スイッチ３２ｂは、受信ルールテーブル４２から、その抽出したサブネット識別子を検索する。
【０１１８】
受信パケットの送信先アドレスに含まれるサブネット識別子が受信ルールテーブル４２に登録されている場合（Ｓ４５において、「Ｙｅｓ」）、仮想スイッチ３２ｂは、そのパケットの受信を許可する。そのパケットの送信先アドレスに含まれるサブネット識別子が受信ルールテーブル４２に登録されていない場合（Ｓ４５において、「Ｎｏ」）、仮想スイッチ３２ｂは、そのパケットを廃棄する（Ｓ４６）。このフィルタリング処理により、同一サブネットに属する仮想マシンにパケットが届くようなサブネットを構築することができる。
【０１１９】
次に、仮想スイッチ３２ｂは、フィルタリング処理において受信の許可がされたパケット（透過パケット）についてデカプセリング処理を行い、その透過パケットのカプセリングヘッダ（ＭＡＣヘッダ）を削除する（Ｓ４７）。これにより、その透過パケットは、カプセリングされる前の状態のパケット、すなわち仮想マシン送信パケットへ戻る。
【０１２０】
仮想スイッチ３２ｂは、例えば、そのデカプセリングされたパケットについて、第１の実施形態で説明したように、レイヤ２パケットフォワーディング処理を実行し、ＦＤＢ４１を用いて、出力先ポートを解決する。仮想スイッチ３２ｂは、そのデカプセリング処理後のパケット（仮想マシン送信パケット）を、解決された出力先ポートへ転送する（Ｓ４８）。
【０１２１】
次に、図１９を用いて、仮想マシンａ１から仮想マシンａ４に対してユニキャストパケットが転送される場合について、説明する。
図１９は、本実施形態における仮想マシンからユニキャストキャストパケットを受信した場合の仮想スイッチの動作を説明するための図である。仮想スイッチｖＳＷ１（３２ｂ−１）〜ｖＳＷ４（３２ｂ−４）はいずれも、フォワーディング処理部３３、カプセリング部８１、アドレス設定部８２、フィルタリング部３５、デカプセリング部８３として機能するソフトウェアスイッチである。
【０１２２】
まず、仮想マシンａ１は、仮想マシンａ４に対してユニキャストパケットを送出する。この場合、当該パケットのイーサネットヘッダの送信先ＭＡＣアドレスフィールドには、仮想マシンａ４のＭＡＣアドレス（便宜上ａ４と表す）が設定されている。また、そのイーサネットヘッダの送信元ＭＡＣアドレスフィールドには、仮想マシンａ１自身のＭＡＣアドレス（便宜上ａ１と表す）が設定されている。
【０１２３】
仮想スイッチ（ｖＳＷ１）は、仮想マシンａ１から受信したユニキャストパケット（仮想マシン送信パケット）の送信先ＭＡＣアドレスフィールドと、ＦＤＢ４１−１とを参照して、出力先のポートを決定する。仮想スイッチ（ｖＳＷ１）の保有するＦＤＢ４１−１によれば、アドレスａ４に対応する出力先は、物理インターフェースであるＮＩＣと繋がっているポートｐ０である。よって、仮想スイッチ（ｖＳＷ１）は、ポートｐ０へパケットを転送する。
【０１２４】
このとき、仮想スイッチ（ｖＳＷ１）は、仮想マシン送信パケットに対して新たなＭＡＣヘッダ（カプセリングヘッダ）を付加する。このとき、仮想スイッチ（ｖＳＷ１）は、カプセリングヘッダの送信先アドレスフィールドに、仮想マシン送信パケットの送信先アドレス（ａ4）を設定する。また、仮想スイッチ（ｖＳＷ１）は、カプセリングヘッダの送信元アドレスフィールドに、仮想スイッチ自身のＭＡＣアドレス（便宜上ｖＳＷ１と表す）を設定する。仮想スイッチ（ｖＳＷ１）は、そのアドレス設定後のパケット（仮想スイッチ送信パケット）を、物理ネットワークへ送信する。
【０１２５】
仮想スイッチ送信パケットは、物理ネットワーク３８内のレイヤ２スイッチ装置（Ｌ２ＳＷ）５１によってカプセリングヘッダ部分が参照されて、いずれかの出力ポートへと中継される。本実施形態では、各レイヤ２スイッチ装置５１のＦＤＢ内にＭＡＣアドレスａ４に関する情報が登録されていないことを想定する。この場合、レイヤ２スイッチ装置５１は、宛先ポートの解決をすることができない。そのため、レイヤ２スイッチ装置５１は、自身の物理スイッチの全ポートに対してパケットを転送（フラッディング）する。その結果、仮想マシンａ４宛てのユニキャストパケットは、物理サーバ３１−２及び物理サーバ３１−３へ送信される。
【０１２６】
物理ネットワーク３８から仮想スイッチ送信パケットを受信した物理サーバ３１−２及び物理サーバ３１−３の仮想スイッチ（ｖＳＷ２，ｖＳＷ３，ｖＳＷ４）は、到着したパケットのＩ／Ｇ識別子を識別する。
【０１２７】
到着したパケットがユニキャストパケットの場合には、仮想スイッチは、そのパケットのカプセリングヘッダ部分の送信先ＭＡＣアドレス値と自身の受信ルールテーブルを照らし合わせて、受信ルール情報に一致するパケットを透過させる。この例では、物理サーバ３の仮想スイッチ（ｖＳＷ３）の有する受信ルールテーブル４２−３にアドレス値ａ４が含まれているので、物理サーバ３１−３の仮想スイッチｖＳＷ３がその受信パケットを透過させる。一方、物理サーバ３１−２のｖＳＷ２と物理サーバ３１−３のｖＳＷ４は、その受信パケットを廃棄する。
【０１２８】
その後、仮想スイッチ（ｖＳＷ３）は、デカプセリング処理を行い、その透過パケットからカプセリングヘッダを削除する。その後、仮想スイッチ（ｖＳＷ３）は、パケットフォワーディング処理を行って、仮想マシンａ４へデカプセリング処理されたパケット（カプセリング前の仮想マシン送信パケット（ユニキャストパケット））を転送する。
【０１２９】
次に、仮想マシンａ１から同じテナントに属する仮想マシンａ２，ａ３，ａ４へブロードキャストパケットが転送される場合について、説明する。
図２０は、本実施形態における仮想マシンからブロードキャストパケット（またはマルチキャストパケット）を受信した場合の仮想スイッチの動作を説明するための図である。仮想マシンａ１がブロードキャストパケットを送信する場合を例に説明する。
【０１３０】
この例では、当該パケットのイーサネットヘッダの送信先ＭＡＣアドレスフィールドには、ブロードキャストを示すＭＡＣアドレス（便宜上ＢＣと表す）が設定されている。また、その送信元ＭＡＣアドレスフィールドには、仮想マシン自身のＭＡＣアドレス（便宜上ａ１と表す）が設定されている。
【０１３１】
仮想スイッチ（ｖＳＷ１）は、仮想マシンａ１から送信されたパケット（仮想マシン送信パケット）を受信する。その受信パケットは、ブロードキャストパケットである。そのため、仮想スイッチ（ｖＳＷ１）は、ＦＤＢ４１−１を用いて、パケットが到着したポートｐ１を除く、仮想スイッチの全ポートへブロードキャストパケットを転送する。その結果、仮想マシンａ２にブロードキャストパケットが到達する。
【０１３２】
一方、物理ネットワークとつながるポートｐ０へ転送されるブロードキャストパケットについて、仮想スイッチ（ｖＳＷ１）は、そのパケットに対して新たなＭＡＣヘッダを付加する。
【０１３３】
仮想スイッチ（ｖＳＷ１）は、付加されたＭＡＣヘッダ（カプセリングヘッダ）の送信元アドレスフィールドに、仮想スイッチ（ｖＳＷ１）自身のＭＡＣアドレスを設定する。
また、仮想スイッチ（ｖＳＷ１）は、カプセリングヘッダの送信先アドレスフィールドに、次のアドレスを設定する。ここでは、まず、仮想スイッチ（ｖＳＷ１）は、自身に収容されている仮想マシンのサブネット識別子（Ａ）を、受信ルールテーブル４２−１より取得する。仮想スイッチ（ｖＳＷ１）は、予め設定されているコード値（例えば、01-01-00）と、そのサブネット識別子（Ａ）とを結合した６バイトのデータ（01-01-00-00-00-0A）を作成する。ここで、その予め設定されたコード値は、少なくとも、Ｉ／Ｇ識別子においてブロードキャストまたはマルチキャストであると識別できる３バイトのコードであれば特に限定されない。なお、そのコード値は、アドレス変換テーブル４３に設定されていてもよい。
【０１３４】
それから、仮想スイッチ（ｖＳＷ１）は、その作成した６バイトのデータを、カプセリングヘッダの送信先ＭＡＣアドレスフィールドに設定する。これにより、図１６で説明した仮想スイッチ送信パケットが生成される。
【０１３５】
上記処理によって生成された仮想スイッチ送信パケットは、ポートｐ０より物理ネットワーク３８へ転送される。物理ネットワーク３８のレイヤ２スイッチ装置（Ｌ２ＳＷ）５１は、その仮想スイッチ送信パケットを、イーサネットフレームフォーマットのマルチキャストアドレスパケットであると認識する。すると、レイヤ２スイッチ装置（Ｌ２ＳＷ）５１は、マルチキャスト中継処理を行って、自身のいずれかのポートへ転送する。この場合、レイヤ２スイッチ装置（Ｌ２ＳＷ）５１は、多くの場合、そのカプセル化されたパケットをブロードキャストパケットと同様に、全ての物理ポートへとフラッディングする。この結果、そのマルチキャストパケット（仮想スイッチ送信パケット）は、物理サーバ３１−２及び物理サーバ３１−３に送信される。
【０１３６】
物理ネットワーク３８からパケットを受信した物理サーバ３１−２及び物理サーバ３１−３の仮想スイッチ（ｖＳＷ２，ｖＳＷ３，ｖＳＷ４）は、到着したパケットのＩ／Ｇ識別子を識別する。
【０１３７】
到着したパケットがマルチキャストパケットである場合、仮想スイッチは、そのパケットのカプセリングヘッダ内の送信先ＭＡＣアドレス値の下位３バイト（４バイト目から６バイト目）に格納されたサブネット識別子と受信ルールテーブルを照らし合わせる。仮想スイッチは、受信ルール情報に一致するパケットを透過させる。
【０１３８】
この例では、物理サーバ３１−３の仮想スイッチ（ｖＳＷ３）の有する受信ルールテーブル４２−３にサブネット識別子（Ａ）が含まれている。この場合、物理サーバ３１−３の仮想スイッチｖＳＷ３は、そのパケットを透過させる。
【０１３９】
一方、物理サーバ３１−２のｖＳＷ２と物理サーバ３１−２のｖＳＷ４は、受信ルールテーブルにサブネット識別子（Ａ）を含んでいない。この場合、物理サーバ３１−２の仮想スイッチ（ｖＳＷ２）と物理サーバ３１−３の仮想スイッチ（ｖＳＷ４）は、そのパケットを廃棄する。
【０１４０】
仮想スイッチ（ｖＳＷ３）は、デカプセリング処理を行い、透過パケットからカプセリングヘッダ部分を削除する。その後、仮想スイッチ（ｖＳＷ３）は、パケットフォワーディング処理を行って、仮想マシンａ３とａ４へデカプセリング処理された透過パケット（カプセリング前のブロードキャストパケット、すなわち、仮想マシン送信パケット）を転送する。
【０１４１】
このように、本実施形態では、新たなイーサネットヘッダを付加することで、仮想マシンから送出されたパケットが透過的にネットワーク上を転送されるようになる。そのため、第1の実施形態のようなマルチキャストアドレス数の制約を回避することが可能となる。
【０１４２】
図２１は、第１〜第３の実施形態における物理サーバのハードウェアの構成ブロック図の一例を示す。物理サーバ３１は、制御部１０２、ＲＯＭ１０３、ＲＡＭ１０６、ＮＩＣ３７、記憶装置１０７、出力Ｉ／Ｆ１０１、入力Ｉ／Ｆ１０５、読み取り装置１０８、バス１０９、出力機器１１１、入力機器１１２によって構成されている。ＲＯＭは、リードオンリメモリを示す。ＲＡＭは、ランダムアクセスメモリを示す。Ｉ／Ｆは、インターフェースを示す。
【０１４３】
バス１０９には、制御部１０２、ＲＯＭ１０３、ＲＡＭ１０６、ＮＩＣ３７、記憶装置１０７、出力Ｉ／Ｆ１０１、入力Ｉ／Ｆ１０５、及び読み取り装置１０８等が接続されている。読み取り装置１０８は、可搬型記録媒体を読み出す装置である。出力機器１１１は、出力Ｉ／Ｆ１０１に接続されている。入力機器１１２は、入力Ｉ／Ｆ１０５に接続にされている。
【０１４４】
記憶装置１０７としては、ハードディスクドライブ、フラッシュメモリ装置、磁気ディスク装置など様々な形式の記憶装置を使用することができる。ＲＡＭ１０６は、例えば、データを一時的に格納する作業領域として用いられる。
【０１４５】
記憶装置１０７またはＲＯＭ１０３には、例えば、オペレーティングシステム（Operating System（ＯＳ））等のプログラム等の情報が格納されている。また、記憶装置１０７またはＲＯＭ１０３には、仮想マシン、仮想スイッチ等を実現するソフトウェア、ＦＤＢ４１、受信ルールテーブル４２、アドレス変換テーブル等の情報が格納されている。
【０１４６】
制御部１０２は、記憶装置１０７等に格納した後述する処理を実現するプログラムを読み出し、当該プログラムを実行する演算処理装置である。
本実施形態において説明した仮想スイッチの動作を実現するプログラムは、プログラム提供者側から物理ネットワーク３８、およびＮＩＣ３７を介して、例えば記憶装置１０７に格納してもよい。また、後述する実施形態で説明する処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置１０８に設定されて、制御部１０２によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＩＣカード、ＵＳＢメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置１０８によって読み取られる。
【０１４７】
また、入力機器１１２には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力機器１１１には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、物理ネットワーク３８は、インターネット、ＬＡＮ、ＷＡＮ、専用線、有線、無線等の通信網であってよい。
【０１４８】
第１〜第３の実施形態によれば、パケット変換プログラムは、記憶部を備えるコンピュータに、以下の処理を実行させる。ここで、記憶部は、仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係を記憶する。また、記憶部は、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する。コンピュータは、仮想計算機からブロードキャストまたはマルチキャストのＭＡＣアドレスを含むパケットを取得すると、取得したパケットのＭＡＣアドレスに対応するサブネット識別子を第１対応関係から得る。コンピュータは、取得したパケットのＭＡＣアドレスに対応するパケット種別識別子を第２対応関係から得る。コンピュータは、ネットワークを介して他のコンピュータに送信される送信対象パケットのＭＡＣアドレスのフィールドに、第１対応関係から得られたサブネット識別子と前記第２対応関係から得られたパケット種別識別子とを設定する。これによって、コンピュータは、送信対象パケットをマルチキャストのパケットに変換する。コンピュータは、変換して得られた対象パケットを、ネットワークを介して他のコンピュータに送信する。第１対応関係の一例は、受信ルールテーブル４２である。第２対応関係の一例は、アドレス変換テーブルである。記憶部の一例は、記憶部３９である。パケット種別識別子の一例は、コード値である。送信対象パケットをマルチキャストのパケットに変換する一例は、Ｓ４、Ｓ３６の処理である。
【０１４９】
このように構成することにより、ＭＡＣヘッダのアドレス空間を有効活用して、サブネット識別子のアドレス空間を拡張し、物理ネットワーク上に構築可能なサブネット数を向上させることができる。
【０１５０】
また、送信対象パケットは、例えば、仮想計算機より取得したパケットである。送信対象パケットをマルチキャストのパケットに変換する場合、コンピュータは、取得したパケットのＭＡＣアドレスのフィールドに、第１対応関係から得られたサブネット識別子と第２対応関係から得られたパケット種別識別子とを設定する。これにより、コンピュータは、取得したパケットをマルチキャストのパケットに変換する。
【０１５１】
このように構成することにより、サブネット識別子のアドレス空間を拡張させることができる。
パケット変換プログラムは、コンピュータに、さらに、仮想計算機より取得したパケットに、ＭＡＣヘッダを付加する処理を実行させる。送信対象パケットは、例えば、ＭＡＣヘッダが付加されたパケットである。コンピュータは、送信対象パケットをマルチキャストのパケットに変換する場合、付加したＭＡＣヘッダのＭＡＣアドレスのフィールドに、第１対応関係から得られたサブネット識別子とブロードキャストまたはマルチキャストを示すパケット識別子とを設定する。これにより、コンピュータは、ＭＡＣヘッダが付加されたパケットをマルチキャストのパケットに変換する。
【０１５２】
このように構成することにより、マルチキャストアドレス数の制約を回避することが可能となる。
パケット変換プログラムは、コンピュータに、さらに、次の処理を実行させる。すなわち、コンピュータは、第１対応関係から得られたサブネット識別子と第２対応関係から得られたパケット種別識別子とにより表されるマルチキャストアドレスにより示されるマルチキャストメンバへ参加するための参加宣言情報を送信する。
【０１５３】
このように構成することにより、同一テナントの仮想マシンが稼動している物理サーバのみにパケットが中継されるので、無駄なトラフィックの発生を抑制することが可能となる。
【０１５４】
また、パケット変換プログラムは、記憶部を備えるコンピュータに、以下の処理を実行させる。ここで、記憶部は、仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係を記憶する。また、記憶部は、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する。コンピュータは、ネットワークを介して他のコンピュータからマルチキャストのパケットを受信すると、受信したパケットのＭＡＣアドレスのフィールドからサブネット識別子とパケット種別識別子を抽出する。コンピュータは、抽出したサブネット識別子が第１対応関係にある場合、受信したパケットのＭＡＣヘッダを変更することにより、受信したパケットを元のブロードキャストまたはマルチキャストのパケットに変換する。コンピュータは、変換して得たパケットを仮想計算機に送信する。受信したパケットを元のブロードキャストまたはマルチキャストのパケットに変換する一例は、Ｓ１７，Ｓ４７の処理である。
【０１５５】
このように構成することにより、ＭＡＣヘッダのアドレス空間を有効活用して、サブネット識別子のアドレス空間を拡張し、物理ネットワーク上に構築可能なサブネット数を向上させることができる。
【０１５６】
コンピュータは、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する場合、抽出した前記パケット種別識別子に対応するＭＡＣアドレスを第２対応関係から得る。コンピュータは、得たＭＡＣアドレスを、受信したパケットのＭＡＣアドレスのフィールドに設定することによって、受信したパケットを元のブロードキャストまたはマルチキャストのパケットに変換する。
【０１５７】
このように構成することにより、サブネット識別子のアドレス空間を拡張させることができる。
コンピュータは、受信したパケットを元のブロードキャストまたはマルチキャストのパケットに変換する場合、受信したパケットの第１のＭＡＣアドレスを削除して第２のＭＡＣアドレスを有効にする。これにより、コンピュータは、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する。
【０１５８】
このように構成することにより、マルチキャストアドレス数の制約を回避することが可能となる。
また、コンピュータは、抽出したサブネット識別子が第１対応関係になければ、受信した前記パケットを廃棄する。
【０１５９】
これにより、サブネット識別子が異なるテナントに属する仮想マシンへパケットが送信されることがないので、サブネットのセキュリティを向上させることができる。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【０１６０】
上記実施形態に関し、更に以下の付記を開示する。
（付記１）
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部を備えるコンピュータに、
前記仮想計算機からブロードキャストまたはマルチキャストのＭＡＣアドレスを含むパケットを取得すると、取得した該パケットのＭＡＣアドレスに対応するサブネット識別子を前記第１対応関係から得て、
取得した前記パケットのＭＡＣアドレスに対応するパケット種別識別子を前記第２対応関係から得て、
ネットワークを介して他のコンピュータに送信される送信対象パケットのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とを設定することによって、前記対象パケットをマルチキャストのパケットに変換し、
変換して得られた前記対象パケットを、前記ネットワークを介して前記他のコンピュータに送信する、
処理を実行させるパケット変換プログラム。
（付記２）
前記送信対象パケットは、取得した前記パケットであり、
前記送信対象パケットをマルチキャストのパケットに変換する場合、取得した前記パケットのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とを設定することによって、取得した前記パケットをマルチキャストのパケットに変換する
処理を実行させる付記１記載のパケット変換プログラム。
（付記３）
前記コンピュータに、さらに、
取得した前記パケットに、ＭＡＣヘッダを付加する
処理を実行させ、
前記送信対象パケットは、前記ＭＡＣヘッダが付加された前記パケットであり、
前記送信対象パケットをマルチキャストのパケットに変換する場合、付加した前記ＭＡＣヘッダのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子とブロードキャストまたはマルチキャストを示すパケット識別子とを設定することによって、前記ＭＡＣヘッダが付加された前記パケットをマルチキャストのパケットに変換する
処理を実行させる付記１記載のパケット変換プログラム。
（付記４）
前記コンピュータに、さらに、
前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とにより表されるマルチキャストアドレスにより示されるマルチキャストメンバへ参加するための参加宣言情報を送信する
処理を実行させる付記１〜３のうちいずれか１項に記載のパケット変換プログラム。
（付記５）
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部を備えるコンピュータに、
ネットワークを介して他のコンピュータからマルチキャストのパケットを受信すると、受信した前記パケットのＭＡＣアドレスのフィールドからサブネット識別子とパケット種別識別子を抽出し、
抽出した前記サブネット識別子が前記第１対応関係にある場合、受信した前記パケットのＭＡＣヘッダを変更することにより、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換し、
変換して得た前記パケットを前記仮想計算機に送信する、
処理を実行させるパケット変換プログラム。
（付記６）
受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する場合、抽出した前記パケット種別識別子に対応するＭＡＣアドレスを前記第２対応関係から得て、
得た前記ＭＡＣアドレスを、受信した前記パケットのＭＡＣアドレスのフィールドに設定することによって、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換し、
処理を実行させる付記５記載のパケット変換プログラム。
（付記７）
受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する場合、受信した前記パケットの第１のＭＡＣアドレスを削除して第２のＭＡＣアドレスを有効にすることによって、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する
処理を実行させる付記５記載のパケット変換プログラム。
（付記８）
抽出した前記サブネット識別子が前記第１対応関係になければ、受信した前記パケットを廃棄する、
処理を実行させる付記５〜７のうち１いずれか１項に記載のパケット変換プログラム。
（付記９）
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部と、
前記仮想計算機からブロードキャストまたはマルチキャストのＭＡＣアドレスを含むパケットを取得すると、取得した該パケットのＭＡＣアドレスに対応するサブネット識別子を前記第１対応関係から得る第１取得部と、
取得した前記パケットのＭＡＣアドレスに対応するパケット種別識別子を前記第２対応関係から得る第２取得部と、
ネットワークを介して他のコンピュータに送信される送信対象パケットのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とを設定することによって、前記対象パケットをマルチキャストのパケットに変換する変換部と、
変換して得られた前記対象パケットを、前記ネットワークを介して前記他のコンピュータに送信する送信部と
を備えることを特徴とするパケット変換装置。
（付記１０）
前記送信対象パケットは、取得した前記パケットであり、
前記変換部は、取得した前記パケットのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とを設定することによって、取得した前記パケットをマルチキャストのパケットに変換する
ことを特徴とする付記９に記載のパケット変換装置。
（付記１１）
前記パケット変換装置は、さらに、
取得した前記パケットに、ＭＡＣヘッダを付加する付加部
を備え、
前記送信対象パケットは、前記ＭＡＣヘッダが付加された前記パケットであり、
前記変換部は、付加した前記ＭＡＣヘッダのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子とブロードキャストまたはマルチキャストを示すパケット識別子とを設定することによって、前記ＭＡＣヘッダが付加された前記パケットをマルチキャストのパケットに変換する
ことを特徴とする付記９に記載のパケット変換装置。
（付記１２）
前記パケット変換装置は、さらに、
前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とにより表されるマルチキャストアドレスにより示されるマルチキャストメンバへ参加するための参加宣言情報を送信する参加宣言部
を備えることを特徴とする付記９〜１１のうちいずれか１項に記載のパケット変換装置。
（付記１３）
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部と、
ネットワークを介して他のコンピュータからマルチキャストのパケットを受信すると、受信した前記パケットのＭＡＣアドレスのフィールドからサブネット識別子とパケット種別識別子を抽出する抽出部と、
抽出した前記サブネット識別子が前記第１対応関係にある場合、受信した前記パケットのＭＡＣヘッダを変更することにより、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する変換部と、
変換して得た前記パケットを前記仮想計算機に送信する送信部と、
を備えることを特徴とするパケット変換装置。
（付記１４）
前記変換部は、抽出した前記パケット種別識別子に対応するＭＡＣアドレスを前記第２対応関係から得て、得た前記ＭＡＣアドレスを、受信した前記パケットのＭＡＣアドレスのフィールドに設定することによって、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する
ことを特徴とする付記１３記載のパケット変換装置。
（付記１５）
前記変換部は、受信した前記パケットの第１のＭＡＣアドレスを削除して第２のＭＡＣアドレスを有効にすることによって、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する
ことを特徴とする付記１３記載のパケット変換装置。
（付記１６）
前記抽出部は、抽出した前記サブネット識別子が前記第１対応関係になければ、受信した前記パケットを廃棄する、
ことを特徴とする付記１３〜１５のうち１いずれか１項に記載のパケット変換装置。
（付記１７）
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部を備えるコンピュータは、
前記仮想計算機からブロードキャストまたはマルチキャストのＭＡＣアドレスを含むパケットを取得すると、取得した該パケットのＭＡＣアドレスに対応するサブネット識別子を前記第１対応関係から得て、
取得した前記パケットのＭＡＣアドレスに対応するパケット種別識別子を前記第２対応関係から得て、
ネットワークを介して他のコンピュータに送信される送信対象パケットのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とを設定することによって、前記対象パケットをマルチキャストのパケットに変換し、
変換して得られた前記対象パケットを、前記ネットワークを介して前記他のコンピュータに送信する、
処理を実行するパケット変換方法。
（付記１８）
前記送信対象パケットは、取得した前記パケットであり、
前記コンピュータは、前記送信対象パケットをマルチキャストのパケットに変換する場合、取得した前記パケットのＭＡＣアドレスのフィールドに、前記第１対応関係から得られた前記サブネット識別子と前記第２対応関係から得られた前記パケット種別識別子とを設定することによって、取得した前記パケットをマルチキャストのパケットに変換する
処理を実行させる付記１７記載のパケット変換方法。
（付記１９）
仮想スイッチと接続されている仮想計算機のＭＡＣアドレスと該仮想計算機の属するテナントを識別するサブネット識別子との第１対応関係と、ブロードキャストまたはマルチキャストを表すＭＡＣアドレスとパケット種別識別子との第２対応関係とを記憶する記憶部を備えるコンピュータは、
ネットワークを介して他のコンピュータからマルチキャストのパケットを受信すると、受信した前記パケットのＭＡＣアドレスのフィールドからサブネット識別子とパケット種別識別子を抽出し、
抽出した前記サブネット識別子が前記第１対応関係にある場合、受信した前記パケットのＭＡＣヘッダを変更することにより、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換し、
変換して得た前記パケットを前記仮想計算機に送信する、
処理を実行するパケット変換方法。
（付記２０）
前記コンピュータは、
受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換する場合、抽出した前記パケット種別識別子に対応するＭＡＣアドレスを前記第２対応関係から得て、
得た前記ＭＡＣアドレスを、受信した前記パケットのＭＡＣアドレスのフィールドに設定することによって、受信した前記パケットを元のブロードキャストまたはマルチキャストのパケットに変換し、
処理を実行する付記１９記載のパケット変換方法。
【符号の説明】
【０１６１】
３０    仮想マシン
３１    物理サーバ
３２，３２ａ，３２ｂ    仮想スイッチ
３３    フォワーディング処理部
３４    送信先アドレス変換部
３５    フィルタリング処理部
３６    送信先アドレス逆変換部
３７    ＮＩＣ
３８    物理ネットワーク
３９    記憶部
４１    ＦＤＢ
４２    受信ルールテーブル
４３    アドレス変換テーブル
６１    ＩＧＭＰ送出部
８１    カプセリング部
８２    アドレス設定部
８３    デカプセリング部
【図２】
0005776337.tif 000002
【図３】
0005776337.tif 000003
【図４】
0005776337.tif 000004
【図５】
0005776337.tif 000005
【図６】
0005776337.tif 000006
【図７】
0005776337.tif 000007
【図８】
0005776337.tif 000008
【図１１】
0005776337.tif 000009
【図１２】
0005776337.tif 000010
【図１３】
0005776337.tif 000011
【図１５】
0005776337.tif 000012
【図１６】
0005776337.tif 000013
【図１７】
0005776337.tif 000014
【図１８】
0005776337.tif 000015
【図２１】
0005776337.tif 000016
【図１】
0005776337.tif 000017
【図９】
0005776337.tif 000018
【図１０】
0005776337.tif 000019
【図１４】
0005776337.tif 000020
【図１９】
0005776337.tif 000021
【図２０】
0005776337.tif 000022