(57)【要約】【課題】特定の転送先にミラーパケットを転送することを可能とするミラーパケット転送プログラム及びミラーパケット転送方法を提供する。【解決手段】ミラーパケットに付加されるＶＬＡＮＩＤ毎に、各ＶＬＡＮＩＤが付加されたミラーパケットの通過を許可するポートを特定し、特定したポートの数が１であるＶＬＡＮＩＤが付加されたミラーパケットを、特定したポートに転送することと、特定したポートの数が２であるＶＬＡＮＩＤが付加されたミラーパケットを、特定したポートのうち、接続している仮想マシンの数が１であるポートに転送することとを示す転送情報を生成し、仮想マシンによって送信されたパケットから第１ミラーパケットが生成された場合、転送情報を記憶した記憶部を参照し、第１ミラーパケットに対応する第１ポートに第１ミラーパケットを転送する。【選択図】図１１
2020027961.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンによって送信されたパケットから生成されるミラーパケットの転送処理を仮想スイッチに実行させるミラーパケット転送プログラムであって、
前記ミラーパケットに付加されるＶＬＡＮＩＤ毎に、各ＶＬＡＮＩＤが付加された前記ミラーパケットの通過を許可するポートを特定し、
特定した前記ポートの数が１である前記ＶＬＡＮＩＤが付加された前記ミラーパケットを、特定した前記ポートに転送することと、特定した前記ポートの数が２である前記ＶＬＡＮＩＤが付加されたミラーパケットを、特定した前記ポートのうち、接続している仮想マシンの数が１であるポートに転送することとを示す転送情報を生成し、
前記仮想マシンによって送信されたパケットから第１ミラーパケットが生成された場合、前記転送情報を記憶した記憶部を参照し、前記第１ミラーパケットに対応する第１ポートに前記第１ミラーパケットを転送する、
ことを特徴とするミラーパケット転送プログラム。
【請求項２】
請求項１において、
前記転送情報を生成する処理では、各ポートと接続している仮想マシンのＭＡＣアドレスを示すアドレス情報を記憶した記憶部を参照し、特定した前記ポートの数が２である前記ＶＬＡＮＩＤが付加されたミラーパケットを、特定した前記ポートのうち、対応する前記ＭＡＣアドレスの数が１であるポートに転送することを示す前記転送情報を生成する、
ことを特徴とするミラーパケット転送プログラム。
【請求項３】
請求項１において、
前記転送する処理では、
前記仮想スイッチと異なる他の仮想スイッチと接続している第２ポートに前記第１ミラーパケットを転送し、
前記他の仮想スイッチから前記第２ポートに前記第１ミラーパケットが転送されたことに応じて、前記転送情報を記憶した記憶部を参照し、前記第１ポートに前記第１ミラーパケットを転送する、
ことを特徴とするミラーパケット転送プログラム。
【請求項４】
請求項１において、
前記第１ミラーパケットは、前記仮想スイッチと同じ物理マシンで動作する仮想マシンから送信されたパケットを複製することによって生成されたミラーパケットである、
ことを特徴とするミラーパケット転送プログラム。
【請求項５】
請求項１において、
前記第１ミラーパケットは、前記仮想スイッチと異なる物理マシンで動作する仮想マシンから送信されたパケットを複製することによって生成されたミラーパケットである、
ことを特徴とするミラーパケット転送プログラム。
【請求項６】
請求項１において、
前記転送する処理では、前記転送情報を記憶した記憶部を参照し、取得した前記第１ミラーパケットと同じＶＬＡＮＩＤが付加されたミラーパケットの通過を許可するポートを前記第１ポートとして特定する、
ことを特徴とするミラーパケット転送プログラム。
【請求項７】
仮想マシンによって送信されたパケットから生成されるミラーパケットを転送するミラーパケット転送方法であって、
前記ミラーパケットに付加されるＶＬＡＮＩＤ毎に、各ＶＬＡＮＩＤが付加された前記ミラーパケットの通過を許可するポートを特定し、
特定した前記ポートの数が１である前記ＶＬＡＮＩＤが付加された前記ミラーパケットを、特定した前記ポートに転送することと、特定した前記ポートの数が２である前記ＶＬＡＮＩＤが付加されたミラーパケットを、特定した前記ポートのうち、接続している仮想マシンの数が１であるポートに転送することとを示す転送情報を生成し、
前記仮想マシンによって送信されたパケットから第１ミラーパケットが生成された場合、前記転送情報を記憶した記憶部を参照し、前記第１ミラーパケットに対応する第１ポートに前記第１ミラーパケットを転送する、
ことを特徴とするミラーパケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ミラーパケット転送プログラム及びミラーパケット転送方法に関する。
【背景技術】
【０００２】
例えば、利用者にサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、利用者に対してサービスの提供を行うための情報処理システムを構築して稼働させる。具体的に、事業者は、例えば、物理マシンに生成した仮想マシン（以下、ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅとも呼ぶ）や仮想スイッチを用いた情報処理システムの構築を行う。
【０００３】
上記のような情報処理システムにおいて、仮想スイッチは、例えば、各ＶＭと接続しているポートにおいて入出力が行われるパケットからミラーパケットを生成し、生成したミラーパケットを他のＶＭ（以下、監視ＶＭとも呼ぶ）に転送する。そして、監視ＶＭは、例えば、仮想スイッチから転送されたミラーパケットのそれぞれを解析する。これにより、監視ＶＭは、仮想スイッチを経由するパケットについての監視を行うことが可能になる（例えば、特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０８８９３６号公報
【特許文献２】特開２００９−０３３７１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、例えば、ＶＭが生成されている各物理マシン間のネットワークがトンネルによって接続される場合、各物理マシンには、他の物理マシンに送信するパケットに対してトンネル処理を行う仮想スイッチが生成される。
【０００６】
具体的に、トンネル処理を行う仮想スイッチでは、この場合、パケットに対するトンネル処理に加え、監視ＶＭが生成されている物理マシンを示す情報の生成が行われる。そして、トンネル処理を行う仮想スイッチは、生成した情報を参照することにより、トンネル処理が行われたミラーパケットを監視ＶＭに送信する。
【０００７】
これに対し、例えば、ＤＰＤＫ（Ｄａｔａ  Ｐｌａｎｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ）が用いられているネットワークのように、ＶＭが生成されている各物理マシン間のネットワークがＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって接続されている場合、各物理マシンでは、トンネル処理を行う必要がないため、トンネル処理を行う仮想スイッチが生成されない。したがって、各物理マシンでは、この場合、監視ＶＭが生成されている物理マシンを特定することができず、監視ＶＭに対するミラーパケットの送信を行うことができない。
【０００８】
そこで、一つの側面では、本発明は、特定の転送先にミラーパケットを転送することを可能とするミラーパケット転送プログラム及びミラーパケット転送方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施の形態の一態様では、仮想マシンによって送信されたパケットから生成されるミラーパケットの転送処理を仮想スイッチに実行させるミラーパケット転送プログラムであって、前記ミラーパケットに付加されるＶＬＡＮＩＤ毎に、各ＶＬＡＮＩＤが付加された前記ミラーパケットの通過を許可するポートを特定し、特定した前記ポートの数が１である前記ＶＬＡＮＩＤが付加された前記ミラーパケットを、特定した前記ポートに転送することと、特定した前記ポートの数が２である前記ＶＬＡＮＩＤが付加されたミラーパケットを、特定した前記ポートのうち、接続している仮想マシンの数が１であるポートに転送することとを示す転送情報を生成し、前記仮想マシンによって送信されたパケットから第１ミラーパケットが生成された場合、前記転送情報を記憶した記憶部を参照し、前記第１ミラーパケットに対応する第１ポートに前記第１ミラーパケットを転送する。
【発明の効果】
【００１０】
一つの側面によれば、特定の転送先にミラーパケットを転送することを可能とする。
【図面の簡単な説明】
【００１１】
【図１】図１は、情報処理システム１０の構成について説明する図である。
【図２】図２は、情報処理システム１０の構成について説明する図である。
【図３】図３は、情報処理システム１０の構成について説明する図である。
【図４】図４は、情報処理システム１０の構成について説明する図である。
【図５】図５は、物理マシン１のハードウエア構成を説明する図である。
【図６】図６は、物理マシン２のハードウエア構成を説明する図である。
【図７】図７は、ＳＷ２１の機能のブロック図である。
【図８】図８は、ＳＷ２３の機能のブロック図である。
【図９】図９は、第１の実施の形態におけるミラーパケット転送処理の概略を説明するフローチャート図である。
【図１０】図１０は、第１の実施の形態におけるミラーパケット転送処理の概略を説明する図である。
【図１１】図１１は、第１の実施の形態におけるミラーパケット転送処理の概略を説明する図である。
【図１２】図１２は、第１の実施の形態におけるミラーパケット転送処理の詳細を説明するフローチャート図である。
【図１３】図１３は、第１の実施の形態におけるミラーパケット転送処理の詳細を説明するフローチャート図である。
【図１４】図１４は、第１の実施の形態におけるミラーパケット転送処理の詳細を説明するフローチャート図である。
【図１５】図１５は、第１の実施の形態におけるミラーパケット転送処理の詳細を説明するフローチャート図である。
【図１６】図１６は、第１の実施の形態におけるミラーパケット転送処理の詳細を説明するフローチャート図である。
【図１７】図１７は、情報生成処理の具体例について説明する図である。
【図１８】図１８は、情報生成処理の具体例について説明する図である。
【図１９】図１９は、アドレス情報１３１の具体例について説明する図である。
【図２０】図２０は、転送情報１３２の具体例について説明する図である。
【図２１】図２１は、ＶＬＡＮＩＤが付加されたミラーパケットの具体例を説明する図である。
【発明を実施するための形態】
【００１２】
［情報処理システムの構成］
初めに、情報処理システム１０の構成について説明を行う。図１から図４は、情報処理システム１０の構成について説明する図である。具体的に、情報処理システム１０は、物理マシン１と物理マシン２とを含む複数の物理マシンを有する。
【００１３】
物理マシン１及び物理マシン２は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスク（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びネットワーク等からなるハードウエア（図示しない）をそれぞれ有する。そして、物理マシン１及び物理マシン２のハードウエア上では、それぞれ仮想化ソフトウエア（図示しない）が動作する。
【００１４】
物理マシン１の仮想化ソフトウエアは、物理マシン１のハードウエアの一部を割り当てることによって、例えば、図１に示すように、ＶＭ１１、監視ＶＭ１２、仮想スイッチ２１（以下、ＳＷ２１または第１ＳＷ２１とも呼ぶ）及び仮想スイッチ２２（以下、ＳＷ２２とも呼ぶ）をそれぞれ生成する。
【００１５】
物理マシン２の仮想化ソフトウエアは、物理マシン２のハードウエアの一部を割り当てることによって、例えば、図１に示すように、ＶＭ１３、仮想スイッチ２３（以下、ＳＷ２３または第２ＳＷ２３とも呼ぶ）及び仮想スイッチ２４（以下、ＳＷ２４とも呼ぶ）をそれぞれ生成する。
【００１６】
ＳＷ２１は、例えば、ポート２１ａ、ポート２１ｂと、ポート２１ｃと、ポート２１ｄとを含む複数のポートを有し、ＶＭ１１から送信されたパケットを複製することによってミラーパケットを生成する。そして、ＳＷ２１は、例えば、パケットの転送を制御するプロトコルであるオープンフロー（Ｏｐｅｎ  Ｆｌｏｗ）の設定に従って、生成したミラーパケットをＳＷ２２に送信する。また、ＳＷ２１は、例えば、物理マシン１と異なる物理マシン（例えば、物理マシン２）からパケット（ミラーパケット）を受信した場合についても同様に、受信したパケットをＳＷ２２に送信する。その後、ＳＷ２１は、例えば、ＳＷ２２から転送されたパケットを監視ＶＭ１２に送信する。なお、図１に示す例において、ポート２１ａ、ポート２１ｂ、ポート２１ｃ及びポート２１ｄは、ＶＭ１１、監視ＶＭ１２、物理マシン１のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）３１及びＳＷ２２とそれぞれ接続している。
【００１７】
ＳＷ２２は、例えば、ポート２２ａを含む複数のポートを有し、オープンフローの設定に従って、ＳＷ２１から送信されたミラーパケットを監視ＶＭ１２と接続する仮想スイッチに送信する。具体的に、ＳＷ２２は、例えば、ＳＷ２１から送信されたミラーパケットをＳＷ２１に送信する。なお、図１に示す例において、ポート２２ａは、ＳＷ２１と接続している。
【００１８】
ＳＷ２３は、例えば、ポート２３ａ、ポート２３ｂと、ポート２３ｃと、ポート２３ｄとを含む複数のポートを有し、ＶＭ１３から送信されたパケットを複製することによってミラーパケットを生成する。そして、ＳＷ２３は、例えば、オープンフローの設定に従って、生成したミラーパケットをＳＷ２４に送信する。また、ＳＷ２３は、例えば、物理マシン２と異なる物理マシン（例えば、物理マシン１）からパケット（ミラーパケット）を受信した場合についても同様に、受信したパケットをＳＷ２４に送信する。その後、ＳＷ２３は、例えば、ＳＷ２４から転送されたパケットを監視ＶＭ１２に送信する。なお、図１に示す例において、ポート２３ａ、ポート２３ｃ及びポート２３ｄは、ＶＭ１３、物理マシン２のＮＩＣ３２及びＳＷ２４とそれぞれ接続している。
【００１９】
ＳＷ２４は、例えば、ポート２４ａを含む複数のポートを有し、ＳＷ２３から送信されたミラーパケットを監視ＶＭ１２と接続する仮想スイッチに送信する。具体的に、ＳＷ２４は、例えば、ＳＷ２３から送信されたミラーパケットをＳＷ２３に送信する。なお、図１に示す例において、ポート２４ａは、ＳＷ２３と接続している。
【００２０】
ここで、例えば、物理マシン１と物理マシン２との間のネットワークがトンネルによって接続される場合、物理マシン１及び２には、他の物理マシンに対して送信するミラーパケットに対してトンネル処理を行う仮想スイッチがそれぞれ生成される。具体的に、物理マシン１及び物理マシン２には、例えば、図２に示すように、トンネル処理を行う仮想スイッチとして仮想スイッチ４１（以下、ＳＷ４１とも呼ぶ）と仮想スイッチ４２（以下、ＳＷ４２とも呼ぶ）とがそれぞれ生成される。
【００２１】
そして、ＳＷ４１及びＳＷ４２では、この場合、他の物理マシンに送信されるパケットに対するトンネル処理に加え、監視ＶＭ１２が生成されている物理マシンを示す情報の生成が行われる。具体的に、例えば、図２に示すように、監視ＶＭ１２が物理マシン１に生成されている場合、ＳＷ４２は、ＶＭ１３から送信されたパケットのミラーパケットを監視ＶＭ１２に送信するために、監視ＶＭ１２が物理マシン１に生成されていることを示す情報の生成を行う。また、例えば、図３に示すように、監視ＶＭ１２が物理マシン２に生成されている場合、ＳＷ４１は、ＶＭ１１から送信されたパケットのミラーパケットを監視ＶＭ１２に送信するために、監視ＶＭ１２が物理マシン２に生成されていることを示す情報の生成を行う。
【００２２】
これにより、監視ＶＭ１２は、異なる物理マシンに生成されたＶＭから送信されたミラーパケットについても収集することが可能になる。
【００２３】
これに対し、図１に示すように、物理マシン１と物理マシン２との間のネットワークがＶＬＡＮによって接続されている場合、物理マシン１及び２では、トンネル処理を行う必要がないため、ＳＷ４１やＳＷ４２の生成が行われない。したがって、ＳＷ２２は、この場合、ＳＷ２１から送信されたパケットをそのままＳＷ２１に送信する。また、ＳＷ２４は、この場合、ＳＷ２３から送信されたパケットをそのままＳＷ２３に送信する。
【００２４】
しかしながら、ＳＷ２１及びＳＷ２３は、ＳＷ４１及びＳＷ４２と異なり、監視ＶＭ１２が生成されている物理マシンを特定することができない。そのため、ＳＷ２１及びＳＷ２３は、ＳＷ２２及びＳＷ２４から送信されたミラーパケットを監視ＶＭ１２に対して送信できない場合がある。
【００２５】
具体的に、ＳＷ２１は、ＳＷ４１が物理マシン１に生成されていない場合、ＳＷ２２からミラーパケットを受信した場合であっても、図１に示すように、監視ＶＭ１２が物理マシン１に生成されているのか、または、図４に示すように、監視ＶＭ１２が物理マシン２に生成されているのかを判定することができない。同様に、ＳＷ２３は、ＳＷ４２が物理マシン２に生成されていない場合、ＳＷ２４からミラーパケットを受信した場合であっても、図１に示すように、監視ＶＭ１２が物理マシン１に生成されているのか、または、図４に示すように、監視ＶＭ１２が物理マシン２に生成されているのかを判定することができない。そのため、ＳＷ２１及びＳＷ２３は、監視ＶＭ１２に対するミラーパケットの送信を行うことができない場合がある。
【００２６】
そこで、例えば、本実施の形態におけるＳＷ２１は、ミラーパケットに付加されるＶＬＡＮＩＤ毎に、各ＶＬＡＮＩＤが付加されたミラーパケットの通過を許可するポートを特定する。そして、ＳＷ２１は、特定したポートの数が１であるＶＬＡＮＩＤが付加されたミラーパケットを、特定したポートに転送することと、特定したポートの数が２であるＶＬＡＮＩＤが付加されたミラーパケットを、特定したポートのうち、接続している仮想マシンの数が１であるポートに転送することとを示す転送情報を生成する。
【００２７】
その後、ＳＷ２１は、ＶＭ１１からのパケットの受信に伴って新たなミラーパケット（以下、第１ミラーパケットとも呼ぶ）が生成された場合、転送情報を記憶した記憶部を参照し、第１ミラーパケットに対応するポート（以下、第１ポートとも呼ぶ）に第１ミラーパケットを転送する。
【００２８】
すなわち、ＳＷ２１は、ＶＬＡＮ毎に、各ＶＬＡＮに対応するポートの数を特定し、さらに、各ポートの先に接続されているＶＭの数を特定する。そして、ＳＷ２１は、対応するポートの数が１であったＶＬＡＮが存在した場合、そのＶＬＡＮの監視ＶＭ１２がＳＷ２１と異なる物理マシンである物理マシン２に生成されていると判定する。また、ＳＷ２１は、対応するポートの数が２であったＶＬＡＮが存在した場合、そのＶＬＡＮの監視ＶＭ１２が生成されている物理マシンを、各ポートの先に接続されているＶＭの数に従って判定する。
【００２９】
これにより、ＳＷ２１は、トンネル処理を行う仮想スイッチ（監視ＶＭ１２が生成されている物理マシンを特定する情報を生成する仮想スイッチ）が同じ物理マシンに存在していない場合であっても、ミラーパケットを監視ＶＭ１２に転送することが可能になる。
【００３０】
［情報処理システムのハードウエア構成］
次に、情報処理システム１０のハードウエア構成について説明する。図５は、物理マシン１のハードウエア構成を説明する図である。また、図６は、物理マシン２のハードウエア構成を説明する図である。
【００３１】
物理マシン１は、図５に示すように、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００３２】
記憶媒体１０４は、例えば、ミラーパケットを監視ＶＭ１２に対して転送する処理（以下、ミラーパケット転送処理とも呼ぶ）を行うためのプログラム１１０を記憶するプログラム格納領域（図示しない）を有する。また、記憶媒体１０４は、例えば、ミラーパケット転送処理を行う際に用いられる情報を記憶する記憶部１３０（以下、情報格納領域１３０とも呼ぶ）を有する。なお、記憶媒体１０４は、例えば、ＨＤＤであってよい。
【００３３】
ＣＰＵ１０１は、記憶媒体１０４からメモリ１０２にロードされたプログラム１１０を実行してミラーパケット転送処理を行う。
【００３４】
外部インターフェース１０３は、例えば、物理マシン２と通信を行う。
【００３５】
また、物理マシン２は、図６に示すように、プロセッサであるＣＰＵ２０１と、メモリ２０２と、外部インターフェース（Ｉ／Ｏユニット）２０３と、記憶媒体２０４とを有する。各部は、バス２０５を介して互いに接続される。
【００３６】
記憶媒体２０４は、例えば、ミラーパケット転送処理を行うためのプログラム２１０を記憶するプログラム格納領域（図示しない）を有する。また、記憶媒体２０４は、例えば、ミラーパケット転送処理を行う際に用いられる情報を記憶する記憶部２３０（以下、情報格納領域２３０とも呼ぶ）を有する。なお、記憶媒体２０４は、例えば、ＨＤＤであってよい。
【００３７】
ＣＰＵ２０１は、記憶媒体２０４からメモリ２０２にロードされたプログラム２１０を実行してミラーパケット転送処理を行う。
【００３８】
外部インターフェース２０３は、例えば、物理マシン１と通信を行う。
【００３９】
［情報処理システムの機能］
次に、情報処理システム１０の機能について説明を行う。図７は、ＳＷ２１の機能のブロック図である。また、図８は、ＳＷ２３の機能のブロック図である。
【００４０】
ＳＷ２１は、図７に示すように、物理マシン１のＣＰＵ１０１やメモリ１０２等のハードウエアとプログラム１１０とが有機的に協働することにより、パケット受信部１１１と、パケット複製部１１２と、パケット送信部１１３と、ポート検出部１１４と、情報管理部１１５と、パケット転送部１１６とを含む各種機能を実現する。
【００４１】
また、ＳＷ２１は、図７に示すように、アドレス情報１３１と、転送情報１３２とを情報格納領域１３０に記憶する。
【００４２】
パケット受信部１１１は、ＳＷ２１の外部から送信されたパケットを受信する。具体的に、パケット受信部１１１は、例えば、ＶＭ１１から送信されたパケットやＳＷ２２から送信されたパケットを受信する。また、パケット受信部１１１は、例えば、ＮＩＣ３１を介して、物理マシン２（ＶＭ１３）から送信されたパケットを受信する。
【００４３】
パケット複製部１１２は、例えば、ＶＭ１１から送信されたパケットを複製することによってミラーパケットを生成する。
【００４４】
パケット送信部１１３は、ＳＷ２１の外部に対してパケットを送信する。具体的に、パケット送信部１１３は、例えば、ＳＷ２２に対してパケットを送信する。また、パケット送信部１１３は、例えば、ＮＩＣ３１を介して、物理マシン２（ＶＭ１３）に対してパケットを送信する。
【００４５】
ポート検出部１１４は、ミラーパケットに付加されるＶＬＡＮＩＤ毎に、各ＶＬＡＮＩＤが付加されたミラーパケットの通過を許可するポートを特定する。そして、ポート検出部１１４は、特定したポートの数が１であるＶＬＡＮＩＤが付加されたミラーパケットを、特定したポートに転送することと、特定したポートの数が２であるＶＬＡＮＩＤが付加されたミラーパケットを、特定したポートのうち、接続しているＶＭの数が１であるポートに転送することとを示す転送情報１３２を生成する。
【００４６】
具体的に、ポート検出部１１４は、各ポートと接続しているＶＭのＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）を示すアドレス情報１３１を参照し、特定したポート毎に、接続しているＶＭの数の特定を行う。
【００４７】
情報管理部１１５は、ポート検出部１１４が生成した転送情報１３２を情報格納領域１３０に記憶する。
【００４８】
パケット転送部１１６は、ＶＭ１１から受信したパケットを複製することによって第１ミラーパケットが生成された場合、転送情報１３２を記憶した情報格納領域１３０を参照し、第１ミラーパケットに対応する第１ポートを特定する。そして、パケット転送部１１６は、特定した第１ポートに対して第１ミラーパケットを転送する。
【００４９】
そして、ＳＷ２３は、図８に示すように、物理マシン２のＣＰＵ２０１やメモリ２０２等のハードウエアとプログラム２１０とが有機的に協働することにより、パケット受信部２１１と、パケット複製部２１２と、パケット送信部２１３と、ポート検出部２１４と、情報管理部２１５と、パケット転送部２１６とを含む各種機能を実現する。
【００５０】
また、ＳＷ２３は、図８に示すように、アドレス情報２３１と、転送情報２３２とを情報格納領域２３０に記憶する。
【００５１】
なお、パケット受信部２１１、パケット複製部２１２、パケット送信部２１３、ポート検出部２１４、情報管理部２１５及びパケット転送部２１６の機能は、パケット受信部１１１、パケット複製部１１２、パケット送信部１１３、ポート検出部１１４、情報管理部１１５及びパケット転送部１１６の機能と同じであるため説明を省略する。また、アドレス情報２３１及び転送情報２３２の内容は、アドレス情報１３１及び転送情報１３２の内容と同じであるため説明を省略する。
【００５２】
［第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図９は、第１の実施の形態におけるミラーパケット転送処理の概略を説明するフローチャート図である。また、図１０及び図１１は、第１の実施の形態におけるミラーパケット転送処理の概略を説明する図である。以下、ＳＷ２１において行われるパケット転送処理について説明を行う。なお、ＳＷ２３において行われるパケット転送処理については、ＳＷ２１において行われるパケット転送処理と同じ内容であるため説明を省略する。
【００５３】
ＳＷ２１は、図９に示すように、情報生成タイミングまで待機する（Ｓ１のＮＯ）。情報生成タイミングは、転送情報１３２を生成するタイミングであって、例えば、事業者が物理マシン１に対して転送情報１３２を生成する旨の情報を入力したタイミングであってよい。
【００５４】
そして、情報生成タイミングになった場合（Ｓ１のＹＥＳ）、ＳＷ２１は、ミラーパケットに付加されるＶＬＡＮＩＤ毎に、各ＶＬＡＮＩＤが付加されたミラーパケットの通過を許可するポートを特定する（Ｓ２）。
【００５５】
続いて、ＳＷ２１は、Ｓ２の処理で特定したポート数が１であるＶＬＡＮＩＤが付加されたミラーパケットを、Ｓ２の処理で特定したポートに転送することと、Ｓ２の処理で特定したポート数が２であるＶＬＡＮＩＤが付加されたミラーパケットを、Ｓ２の処理で特定したポートのうち、接続しているＶＭの数が１であるポートに転送することとを示す転送情報１３２を生成する（Ｓ３）。
【００５６】
具体的に、ＳＷ２１は、図１０に示すように、例えば、ＶＭ１１からのパケットの送信が開始される前に、転送情報１３２を生成して情報格納領域１３０に記憶する。
【００５７】
その後、ＳＷ２１は、ＶＭ１１によって送信されたパケットからミラーパケットが生成されるまで待機する（Ｓ４のＮＯ）。
【００５８】
そして、ＶＭ１１によって送信されたパケットからミラーパケットを生成した場合（Ｓ４のＹＥＳ）、ＳＷ２１は、Ｓ３の処理で生成した転送情報１３２を記憶した情報格納領域１３０を参照し、Ｓ４の処理で取得したミラーパケットに対する第１ポートに、Ｓ４の処理で取得したミラーパケットを転送する（Ｓ５）。
【００５９】
具体的に、ＳＷ２１のポート２１ａは、図１１に示すように、ＶＭ１１から送信されたパケットを受信した場合、受信したパケットからミラーパケットを生成する。そして、ＳＷ２１は、転送情報１３２を記憶した情報格納領域１３０を参照し、例えば、生成したミラーパケット（ミラーパケットに付加されたＶＬＡＮＩＤ）に対応するポート２１ｃを特定する。その後、ＳＷ２１は、生成したミラーパケットをポート２１ｃに対して転送する。
【００６０】
これにより、ＳＷ２１は、トンネル処理を行う仮想スイッチ（監視ＶＭ１２が生成されている物理マシンを特定する情報を生成する仮想スイッチ）が同じ物理マシンに存在していない場合であっても、監視ＶＭ１２に対してミラーパケットを転送することが可能になる。
【００６１】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図１２から図１６は、第１の実施の形態におけるミラーパケット転送処理の詳細を説明するフローチャート図である。また、図１７から図２１は、第１の実施の形態におけるミラーパケット転送処理の詳細を説明する図である。
【００６２】
［情報生成処理］
初めに、ミラーパケット転送処理のうち、転送情報１３２の生成を行う処理（以下、情報生成処理とも呼ぶ）について説明を行う。図１２及び図１３は、情報生成処理を説明するフローチャート図である。
【００６３】
ＳＷ２１のポート検出部１１４は、図１２に示すように、ＶＬＡＮＩＤの入力があるまで待機する（Ｓ１１のＮＯ）。具体的に、ポート検出部１１４は、例えば、事業者が物理マシン１に対してＶＬＡＮＩＤ（転送情報１３２の生成を行うＶＬＡＮＩＤ）の入力を行うまで待機する。
【００６４】
そして、ＶＬＡＮＩＤの入力があった場合（Ｓ１１のＹＥＳ）、ポート検出部１１４は、情報格納領域１３０に記憶されたアドレス情報１３１を参照し、Ｓ１１の処理で入力されたＶＬＡＮＩＤに対応するポートを特定する（Ｓ１２）。以下、アドレス情報１３１の具体例について説明を行う。
【００６５】
［アドレス情報の具体例］
図１９は、アドレス情報１３１の具体例について説明する図である。
【００６６】
図１９に示すアドレス情報１３１は、アドレス情報１３１に含まれる各情報を記憶する「項番」と、ミラーパケットに付加されるＶＬＡＮＩＤを記憶する「ＶＬＡＮＩＤ」と、ＳＷ２１のポートの識別情報が記憶される「ポートＩＤ」と、各ＶＭのＭＡＣアドレスが設定される「ＭＡＣアドレス」とを項目として有する。なお、以下、図１等で説明したポート２１ｂ及びポート２１ｃを、それぞれＰＴ２１ｂ及びＰＴ２１ｃとも呼ぶ。
【００６７】
具体的に、図１９に示すアドレス情報１３１において、「項番」が「１」である情報には、「ＶＬＡＮＩＤ」として「０ｘ４００」が記憶され、「ポートＩＤ」として「ＰＴ２１ｃ」が記憶され、「ＭＡＣアドレス」として「ＭＡＣ０」が記憶されている。
【００６８】
また、図１９に示すアドレス情報１３１において、「項番」が「２」である情報には、「ＶＬＡＮＩＤ」として「０ｘ４００」が記憶され、「ポートＩＤ」として「ＰＴ２１ｃ」が記憶され、「ＭＡＣアドレス」として「ＭＡＣ１」が記憶されている。
【００６９】
また、図１９に示すアドレス情報１３１において、「項番」が「３」である情報には、「ＶＬＡＮＩＤ」として「０ｘ４００」が記憶され、「ポートＩＤ」として「ＰＴ２１ｃ」が記憶され、「ＭＡＣアドレス」として「ＭＡＣ２」が記憶されている。
【００７０】
さらに、図１９に示すアドレス情報１３１において、「項番」が「４」である情報には、「ＶＬＡＮＩＤ」として「０ｘ４００」が記憶され、「ポートＩＤ」として「ＰＴ２１ｂ」が記憶され、「ＭＡＣアドレス」として「ＭＡＣ３」が記憶されている。図１９に含まれる他の情報についての説明は省略する。
【００７１】
そして、図１９に示すアドレス情報１３１において、「ＶＬＡＮＩＤ」に「０ｘ４００」が設定された情報（「項番」が「１」から「４」である情報）の「ポートＩＤ」には、それぞれ「ＰＴ２１ｃ」、「ＰＴ２１ｃ」、「ＰＴ２１ｃ」及び「ＰＴ２１ｂ」が記憶されている。そのため、ポート検出部１１４は、Ｓ１２の処理において、Ｓ１１の処理で入力されたＶＬＡＮＩＤに対応するポートとして「ＰＴ２１ｃ」及び「ＰＴ２１ｂ」を特定する。
【００７２】
図１２に戻り、ポート検出部１１４は、Ｓ１２の処理で特定したポートの数が１であるか否かを判定する（Ｓ１３）。
【００７３】
その結果、Ｓ１２の処理で特定したポートの数が１であると判定した場合（Ｓ１３のＹＥＳ）、ポート検出部１１４は、Ｓ１１の処理で入力されたＶＬＡＮＩＤと、Ｓ１２の処理で特定したポートとを対応付けた転送情報１３２を生成する（Ｓ１４）。
【００７４】
すなわち、ミラーパケットが転送される可能性があるポートの数が１である場合、ポート検出部１１４は、ＳＷ２１と異なる物理マシンに監視ＶＭ１２が生成されていると判断できる。そして、ポート検出部１１４は、この場合、ミラーパケットが転送される可能性がある１のポートが監視ＶＭ２１と接続するポートであると判断できる。
【００７５】
そのため、ポート検出部１１４は、Ｓ１４の処理において、Ｓ１１の処理で入力されたＶＬＡＮＩＤと、Ｓ１２の処理で特定したポート（ミラーパケットが転送される可能性があるポート）とを対応付けた転送情報１３２の生成を行う。以下、転送情報１３２の具体例について説明を行う。
【００７６】
［転送情報の具体例］
図２０は、転送情報１３２の具体例について説明する図である。具体的に、図２０は、ＳＷ２１のポートについての転送情報１３２の具体例について説明する図である。
【００７７】
図２０に示す転送情報１３２は、転送情報１３２に含まれる各情報を記憶する「項番」と、ミラーパケットに付加されるＶＬＡＮＩＤを記憶する「ＶＬＡＮＩＤ」と、ＳＷ２１のポートの識別情報が記憶される「ポートＩＤ」とを項目として有する。
【００７８】
具体的に、図２０に示す転送情報１３２において、「項番」が「１」である情報には、「ＶＬＡＮＩＤ」として「０ｘ４００」が記憶され、「ポートＩＤ」として「ＰＴ２１ｂ」が記憶されている。すなわち、「項番」が「１」である情報は、「ＶＬＡＮＩＤ」として「０ｘ４００」が付加されているミラーパケットが生成された場合、生成されたミラーパケットを「ポートＩＤ」が「ＰＴ２１ｂ」であるポートに転送すべきことを示している。
【００７９】
また、図２０に示す転送情報１３２において、「項番」が「２」である情報には、「ＶＬＡＮＩＤ」として「０ｘ４０１」が記憶され、「ポートＩＤ」として「ＰＴ２１ｃ」が記憶されている。すなわち、「項番」が「２」である情報は、「ＶＬＡＮＩＤ」として「０ｘ４０１」が付加されているミラーパケットが生成された場合、生成されたミラーパケットを「ポートＩＤ」が「ＰＴ２１ｃ」であるポートに転送すべきことを示している。
【００８０】
さらに、図２０に示す転送情報１３２において、「項番」が「３」である情報には、「ＶＬＡＮＩＤ」として「０ｘ４０２」が記憶され、「ポートＩＤ」として「ＰＴ２１ｃ」が記憶されている。すなわち、「項番」が「３」である情報は、「ＶＬＡＮＩＤ」として「０ｘ４０２」が付加されているミラーパケットが生成された場合、生成されたミラーパケットを「ポートＩＤ」が「ＰＴ２１ｃ」であるポートに転送すべきことを示している。
【００８１】
図１２に戻り、ポート検出部１１４は、Ｓ１４の処理で生成した転送情報１３２を情報格納領域１３０に記憶する（Ｓ１５）。
【００８２】
一方、Ｓ１２の処理で特定したポートの数が１以外（ポートの数が２）であると判定した場合（Ｓ１３のＮＯ）、ポート検出部１１４は、図１３に示すように、Ｓ１２の処理で特定したポートのうちの１つ特定する（Ｓ２１）。
【００８３】
そして、ポート検出部１１４は、情報格納領域１３０に記憶されたアドレス情報１３１を参照し、Ｓ１１の処理で入力されたＶＬＡＮＩＤと、Ｓ２１の処理で特定したポートとに対応するＭＡＣアドレスを特定する（Ｓ２２）。
【００８４】
具体的に、図１９で説明したアドレス情報１３１において、「ＶＬＡＮＩＤ」が「０ｘ４００」であって「ポートＩＤ」が「ＰＴ２１ｃ」である情報（「項番」が「１」から「３」である情報）の「ＭＡＣアドレス」は、「ＭＡＣ０」、「ＭＡＣ１」及び「ＭＡＣ２」である。
【００８５】
そのため、Ｓ１１の処理で入力された「ＶＬＡＮＩＤ」が「０ｘ４００」であって、Ｓ２１の処理で特定した「ポートＩＤ」が「ＰＴ２１ｃ」である場合、ポート検出部１１４は、Ｓ２２の処理において、ＭＡＣアドレスとして「ＭＡＣ０」、「ＭＡＣ１」及び「ＭＡＣ２」を特定する。
【００８６】
一方、図１９で説明したアドレス情報１３１において、「ＶＬＡＮＩＤ」が「０ｘ４００」であって「ポートＩＤ」が「ＰＴ２１ｂ」である情報（「項番」が「４」である情報）の「ＭＡＣアドレス」は、「ＭＡＣ３」である。
【００８７】
そのため、Ｓ１１の処理で入力された「ＶＬＡＮＩＤ」が「０ｘ４００」であって、Ｓ２１の処理で特定した「ポートＩＤ」が「ＰＴ２１ｂ」である場合、ポート検出部１１４は、Ｓ２２の処理において、ＭＡＣアドレスとして「ＭＡＣ３」を特定する。
【００８８】
そして、Ｓ２２の処理で特定されたＭＡＣアドレスの数が１以外である場合（Ｓ２３のＮＯ）、ポート検出部１１４は、Ｓ２１以降の処理を再度行う。
【００８９】
一方、Ｓ２２の処理で特定されたＭＡＣアドレスの数が１である場合（Ｓ２３のＹＥＳ）、ポート検出部１１４は、Ｓ１１の処理で入力されたＶＬＡＮＩＤと、Ｓ２１の処理において最後に特定したポートとを対応付けた転送情報１３２を生成する（Ｓ２４）。
【００９０】
その後、ＳＷ１１の情報管理部１１５は、Ｓ２４の処理で生成した転送情報１３２を情報格納領域１３０に記憶する（Ｓ２５）。そして、ＳＷ１１は、情報生成処理を終了する。
【００９１】
すなわち、ミラーパケットが転送される可能性があるポートの数が２である場合、ポート検出部１１４は、ＳＷ２１と同じ物理マシン（物理マシン１）に監視ＶＭ１２が生成されていると判断できる。また、ポート検出部１１４は、この場合、ミラーパケットが転送される可能性がある２のポートのうち、一方が監視ＶＭ１２に接続するポートであり、他方が物理マシン１の外部に接続するポートであると判断できる。
【００９２】
さらに、対応するＭＡＣアドレスの数が２以上であるポートは、物理マシン１の外部に接続されたポートであると判断できる。一方、対応するＭＡＣアドレスの数が１であるポートは、ＳＷ２１と同じ物理マシン（物理マシン１）に生成された１のＶＭに接続するポートであると判断できる。
【００９３】
そのため、ポート検出部１１４は、Ｓ２４の処理において、Ｓ１１の処理で入力されたＶＬＡＮＩＤと、Ｓ２１の処理において最後に特定したポート（対応するＭＡＣアドレスの数が１であるポート）とを対応付けた転送情報１３２の生成を行う。以下、情報生成処理の具体例について説明を行う。
【００９４】
［情報生成処理の具体例］
図１７及び図１８は、情報生成処理の具体例について説明する図である。
【００９５】
初めに、監視ＶＭ１２が物理マシン２に生成されている場合の具体例について説明を行う。図１７は、監視ＶＭ１２が物理マシン２に生成されている場合の具体例を説明する図である。以下、ＶＭ１１から送信されたパケットのミラーパケットには、ＶＬＡＮＩＤとして０ｘ４００が付加されるものとして説明を行う。また、以下、図１７に示す例において、ポート２１ｃ、ポート２３ｂ及びポート２３ｃのそれぞれには、ＶＬＡＮＩＤが０ｘ４００であるミラーパケットの中継を行う旨の設定が行われているものとして説明を行う。
【００９６】
図１７に示す例において、ＳＷ２１のポートのうち、ポート２１ａにおいてＶＬＡＮＩＤとして０ｘ４００が付加されたミラーパケット（ＶＭ１１から送信されたパケットのミラーパケット）の中継を行うポートは、ポート２１ｃのみである。
【００９７】
そのため、ポート検出部１１４は、この場合、ＶＬＡＮＩＤとして０ｘ４００が付加されたミラーパケットをポート２１ｃに送信することを示す転送情報１３２を生成する。
【００９８】
次に、監視ＶＭ１２が物理マシン１に生成されている場合の具体例について説明を行う。図１８は、監視ＶＭ１２が物理マシン１に生成されている場合の具体例を説明する図である。以下、図１８に示す例において、ポート２１ｂ、ポート２１ｃ及びポート２３ｃのそれぞれにおいて、ＶＬＡＮＩＤが０ｘ４００であるミラーパケットの中継を行う旨の設定（ＶＬＡＮの設定）が行われているものとする。
【００９９】
図１８に示す例において、ＳＷ２１のポートのうち、ポート２１ａにおいてＶＬＡＮＩＤとして０ｘ４００が付加されたミラーパケット（ＶＭ１１から送信されたパケットのミラーパケット）の中継を行うポートは、ポート２１ｂまたはポート２１ｃである。
【０１００】
また、図１９で説明したアドレス情報１３１には、ポート２１ｃに対応するＭＡＣアドレスの数が３であり、ポート２１ｂに対応するＭＡＣアドレスが１である旨の情報が含まれている。
【０１０１】
そのため、ポート検出部１１４は、ＶＬＡＮＩＤとして０ｘ４００が付加されたミラーパケットの中継を行うポートであるポート２１ｂ及びポート２１ｃのうち、対応するＭＡＣアドレスの数が１であるポート２１ｂを、監視ＶＭ２１と接続するポートとして特定することが可能になる。したがって、ポート検出部１１４は、この場合、ＶＬＡＮＩＤとして０ｘ４００が付加されたミラーパケットをポート２１ｂに送信することを示す転送情報１３２を生成する。
【０１０２】
これにより、ＳＷ２１は、トンネル処理を行う仮想スイッチが同じ物理マシン（物理マシン１）に存在していない場合であっても、監視ＶＭ１２に対してミラーパケットを転送することが可能になる。
【０１０３】
［ミラーパケット転送処理の詳細］
次に、ミラーパケット転送処理のうち、情報生成処理以外の処理について説明を行う。図１４から図１６は、ミラーパケット転送処理のうち、情報生成処理以外の処理を説明するフローチャート図である。
【０１０４】
ＳＷ２１のパケット受信部１１１は、図１４に示すように、ＳＷ２１の外部から送信されたパケットを受信するまで待機する（Ｓ３１のＮＯ）。具体的に、パケット受信部１１１は、例えば、ＶＭ１１から送信されたパケットをポート２１ａが受信するまで待機する。また、パケット受信部１１１は、例えば、ＳＷ２２から送信されたパケットをポート２１ｄが受信するまで待機する。さらに、パケット受信部１１１は、例えば、物理マシン２等の他の物理マシン（他の物理マシンに生成されたＶＭ）から送信されたパケットをポート２１ｃが受信するまで待機する。
【０１０５】
そして、ＳＷ２１の外部から送信されたパケットを受信した場合（Ｓ３１のＹＥＳ）、パケット受信部１１１は、受信したパケットがＳＷ２２から送信されたパケットであるか否かを判定する（Ｓ３２）。
【０１０６】
さらに、Ｓ３１の処理で受信したパケットがＳＷ２２から送信されたパケットでないと判定した場合（Ｓ３２のＮＯ）、パケット受信部１１１は、Ｓ３１の処理で受信したパケットが物理マシン２等の他の物理マシンから送信されたパケットであるか否かを判定する（Ｓ３３）。
【０１０７】
その結果、Ｓ３１の処理で受信したパケットが物理マシン２等の他の物理マシンから送信されたパケットであると判定した場合（Ｓ３３のＹＥＳ）、ＳＷ２１のパケット転送部１１６は、Ｓ３１の処理で受信したパケットを、同じ物理マシン１で動作するＳＷ２２に転送する（Ｓ３４）。そして、ＳＷ２１は、ミラーパケット転送処理を終了する。
【０１０８】
一方、Ｓ３１の処理で受信したパケットが他の物理マシンから送信されたパケットでないと判定した場合、すなわち、Ｓ３１の処理で受信したパケットがＶＭ１１から送信されたパケットであると判定した場合（Ｓ３３のＮＯ）、ＳＷ２１のパケット複製部１１２は、図１６に示すように、Ｓ３１の処理で受信したパケットを複製することによってミラーパケットを生成する（Ｓ５１）。
【０１０９】
続いて、ＳＷ２１のパケット送信部１１３は、Ｓ３１の処理で受信したパケットを宛先に送信する（Ｓ５２）。
【０１１０】
そして、パケット転送部１１６は、Ｓ５１の処理で生成したミラーパケットに対し、Ｓ３１の処理で受信したパケットの送信元のＶＭに対応するＶＬＡＮＩＤを付加する（Ｓ５３）。
【０１１１】
具体的に、パケット転送部１１６は、Ｓ３１の処理で受信したパケットの送信元のＶＭがＶＭ１１である場合、Ｓ５１の処理で生成したミラーパケットに対してＶＭ１１に対応するＶＬＡＮＩＤを付加する。以下、ＶＬＡＮＩＤが付加されたミラーパケットの具体例について説明を行う。
【０１１２】
［ＶＬＡＮＩＤが付加されたミラーパケットの具体例］
図２１は、ＶＬＡＮＩＤが付加されたミラーパケットの具体例を説明する図である。
【０１１３】
図２１に示すように、ミラーパケットの「イーサネット（登録商標）ヘッダ」に含まれる「ＶＬＡＮタグ」に対応する領域には、「ＶＬＡＮＩＤ」に対応する領域が含まれている。そのため、パケット転送部１１６は、Ｓ５３の処理において、例えば、Ｓ３１の処理で受信したパケットの送信元のＶＭに対応するＶＬＡＮＩＤを「ＶＬＡＮＩＤ」に対応する領域に設定する。
【０１１４】
図１６に戻り、パケット転送部１１６は、Ｓ５３の処理でＶＬＡＮＩＤを付加したミラーパケットを、同じ物理マシン１で動作するＳＷ２２に転送する（Ｓ５４）。そして、ＳＷ２１は、ミラーパケット転送処理を終了する。
【０１１５】
また、Ｓ３２の処理において、Ｓ３１の処理で受信したパケットがＳＷ２２から送信されたパケットであると判定した場合（Ｓ３２のＹＥＳ）、パケット転送部１１６は、図１５に示すように、情報格納領域１３０に記憶された転送情報１３２を参照し、Ｓ３１の処理で受信したパケットに付加されたＶＬＡＮＩＤに対応するポートを特定する（Ｓ４１）。
【０１１６】
具体的に、図２０で説明した転送情報１３２において、「ＶＬＡＮＩＤ」が「０ｘ４００」である情報（「項番」が「１」である情報）に対応する「ポートＩＤ」には、「ＰＴ２１ｂ」が記憶されている。そのため、ＶＭ１１に対応する「ＶＬＡＮＩＤ」が「０ｘ４００」である場合、パケット転送部１１６は、Ｓ４１の処理において、ポートＩＤとして「ＰＴ２１ｂ」を特定する。
【０１１７】
すなわち、パケット転送部１１６は、この場合、監視ＶＭ１２がＳＷ２１と同じ物理マシン（物理マシン１）に生成されており、かつ、監視ＶＭ１２がポート２１ｂに接続されていることを特定する。
【０１１８】
そして、パケット転送部１１６は、Ｓ３１の処理で受信したパケットを、Ｓ４１の処理で特定したポートに転送する（Ｓ４２）。
【０１１９】
これにより、ＳＷ２１は、予め生成した転送情報１３２を参照することで、監視ＶＭ１２に対してミラーパケットを転送することが可能になる。そのため、ＳＷ２１は、トンネル処理を行う仮想スイッチが物理マシン１に生成されていない場合であっても、監視ＶＭ１２に対してミラーパケットを転送することが可能になる。
【０１２０】
このように、本実施の形態におけるＳＷ１１は、ミラーパケットに付加されるＶＬＡＮＩＤ毎に、各ＶＬＡＮＩＤが付加されたミラーパケットの通過を許可するポートを特定する。そして、ＳＷ２１は、特定したポートの数が１であるＶＬＡＮＩＤが付加されたミラーパケットを、特定したポートに転送することと、特定したポートの数が２であるＶＬＡＮＩＤが付加されたミラーパケットを、特定したポートのうち、接続している仮想マシンの数が１であるポートに転送することとを示す転送情報１３２を生成する。
【０１２１】
その後、ＳＷ２１は、ＶＭ１１からのパケットの受信に伴って第１ミラーパケットが生成された場合、転送情報１３２を記憶した情報格納領域１３０を参照し、第１ミラーパケットに対応する第１ポートに第１ミラーパケットを転送する。
【０１２２】
すなわち、ＳＷ２１は、ＶＬＡＮ毎に、各ＶＬＡＮに対応するポートの数を特定し、さらに、各ポートの先に接続されているＶＭの数を特定する。そして、ＳＷ２１は、対応するポートの数が１であったＶＬＡＮが存在した場合、そのＶＬＡＮの監視ＶＭ１２がＳＷ２１と異なる物理マシンである物理マシン２に生成されていると判定する。また、ＳＷ２１は、対応するポートの数が２であったＶＬＡＮが存在した場合、そのＶＬＡＮの監視ＶＭ１２が生成されている物理マシンを、各ポートの先に接続されているＶＭの数に従って判定する。
【０１２３】
これにより、ＳＷ２１は、トンネル処理を行う仮想スイッチ（監視ＶＭ１２が生成されている物理マシンを特定する情報を生成する仮想スイッチ）が同じ物理マシンである物理マシン１に存在していない場合であっても、監視ＶＭ１２に対してミラーパケットを転送することが可能になる。
【０１２４】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１２５】
（付記１）
仮想マシンによって送信されたパケットから生成されるミラーパケットの転送処理を仮想スイッチに実行させるミラーパケット転送プログラムであって、
前記ミラーパケットに付加されるＶＬＡＮＩＤ毎に、各ＶＬＡＮＩＤが付加された前記ミラーパケットの通過を許可するポートを特定し、
特定した前記ポートの数が１である前記ＶＬＡＮＩＤが付加された前記ミラーパケットを、特定した前記ポートに転送することと、特定した前記ポートの数が２である前記ＶＬＡＮＩＤが付加されたミラーパケットを、特定した前記ポートのうち、接続している仮想マシンの数が１であるポートに転送することとを示す転送情報を生成し、
前記仮想マシンによって送信されたパケットから第１ミラーパケットが生成された場合、前記転送情報を記憶した記憶部を参照し、前記第１ミラーパケットに対応する第１ポートに前記第１ミラーパケットを転送する、
ことを特徴とするミラーパケット転送プログラム。
【０１２６】
（付記２）
付記１において、
前記転送情報を生成する処理では、各ポートと接続している仮想マシンのＭＡＣアドレスを示すアドレス情報を記憶した記憶部を参照し、特定した前記ポートの数が２である前記ＶＬＡＮＩＤが付加されたミラーパケットを、特定した前記ポートのうち、対応する前記ＭＡＣアドレスの数が１であるポートに転送することを示す前記転送情報を生成する、
ことを特徴とするミラーパケット転送プログラム。
【０１２７】
（付記３）
付記１において、
前記転送する処理では、
前記仮想スイッチと異なる他の仮想スイッチと接続している第２ポートに前記第１ミラーパケットを転送し、
前記他の仮想スイッチから前記第２ポートに前記第１ミラーパケットが転送されたことに応じて、前記転送情報を記憶した記憶部を参照し、前記第１ポートに前記第１ミラーパケットを転送する、
ことを特徴とするミラーパケット転送プログラム。
【０１２８】
（付記４）
付記１において、
前記第１ミラーパケットは、前記仮想スイッチと同じ物理マシンで動作する仮想マシンから送信されたパケットを複製することによって生成されたミラーパケットである、
ことを特徴とするミラーパケット転送プログラム。
【０１２９】
（付記５）
付記１において、
前記第１ミラーパケットは、前記仮想スイッチと異なる物理マシンで動作する仮想マシンから送信されたパケットを複製することによって生成されたミラーパケットである、
ことを特徴とするミラーパケット転送プログラム。
【０１３０】
（付記６）
付記１において、
前記転送する処理では、前記転送情報を記憶した記憶部を参照し、取得した前記第１ミラーパケットと同じＶＬＡＮＩＤが付加されたミラーパケットの通過を許可するポートを前記第１ポートとして特定する、
ことを特徴とするミラーパケット転送プログラム。
【０１３１】
（付記７）
仮想マシンによって送信されたパケットから生成されるミラーパケットを転送するミラーパケット転送方法であって、
前記ミラーパケットに付加されるＶＬＡＮＩＤ毎に、各ＶＬＡＮＩＤが付加された前記ミラーパケットの通過を許可するポートを特定し、
特定した前記ポートの数が１である前記ＶＬＡＮＩＤが付加された前記ミラーパケットを、特定した前記ポートに転送することと、特定した前記ポートの数が２である前記ＶＬＡＮＩＤが付加されたミラーパケットを、特定した前記ポートのうち、接続している仮想マシンの数が１であるポートに転送することとを示す転送情報を生成し、
前記仮想マシンによって送信されたパケットから第１ミラーパケットが生成された場合、前記転送情報を記憶した記憶部を参照し、前記第１ミラーパケットに対応する第１ポートに前記第１ミラーパケットを転送する、
ことを特徴とするミラーパケット転送方法。
【０１３２】
（付記８）
付記７において、
前記転送情報を生成する処理では、各ポートと接続している仮想マシンのＭＡＣアドレスを示すアドレス情報を記憶した記憶部を参照し、特定した前記ポートの数が２である前記ＶＬＡＮＩＤが付加されたミラーパケットを、特定した前記ポートのうち、対応する前記ＭＡＣアドレスの数が１であるポートに転送することを示す前記転送情報を生成する、
ことを特徴とするミラーパケット転送方法。
【０１３３】
（付記９）
付記７において、
前記転送する処理では、前記転送情報を記憶した記憶部を参照し、取得した前記第１ミラーパケットと同じＶＬＡＮＩＤが付加されたミラーパケットの通過を許可するポートを前記第１ポートとして特定する、
ことを特徴とするミラーパケット転送方法。
【符号の説明】
【０１３４】
１：物理マシン              ２：物理マシン
１１：ＶＭ                  １２：監視ＶＭ
１３：ＶＭ                  ２１：ＳＷ
２１ａ：ポート              ２１ｂ：ポート
２１ｃ：ポート              ２１ｄ：ポート
２２：ＳＷ                  ２２ａ：ポート
２３：ＳＷ                  ２３ａ：ポート
２３ｂ：ポート              ２３ｃ：ポート
２３ｄ：ポート              ２４：ＳＷ
２４ａ：ポート              ３１：ＮＩＣ
３２：ＮＩＣ
【図１】
2020027961.tif 000003
【図２】
2020027961.tif 000004
【図３】
2020027961.tif 000005
【図４】
2020027961.tif 000006
【図５】
2020027961.tif 000007
【図６】
2020027961.tif 000008
【図７】
2020027961.tif 000009
【図８】
2020027961.tif 000010
【図９】
2020027961.tif 000011
【図１０】
2020027961.tif 000012
【図１１】
2020027961.tif 000013
【図１２】
2020027961.tif 000014
【図１３】
2020027961.tif 000015
【図１４】
2020027961.tif 000016
【図１５】
2020027961.tif 000017
【図１６】
2020027961.tif 000018
【図１７】
2020027961.tif 000019
【図１８】
2020027961.tif 000020
【図１９】
2020027961.tif 000021
【図２０】
2020027961.tif 000022
【図２１】
2020027961.tif 000023