(57)【特許請求の範囲】
【請求項１】
サービスパケットのパケットロス位置特定方法であって、この方法は仮想拡張ローカルエリアネットワーク・トンネル・エンドポイント（ＶＴＥＰ）に適用され、
サービスパケットを前記ＶＴＥＰから別のＶＴＥＰへルーティングするサービス転送経路をシミュレートするためのシミュレーションパケットを取得し、ここで、前記ＶＴＥＰに接続している第１の仮想マシン（ＶＭ）から前記別のＶＴＥＰに接続している第２のＶＭへ送信された前記サービスパケットが前記第２のＶＭに到達せず、かつ前記シミュレーションパケットのパケット特徴パラメータが、前記サービスパケットのパケット特徴パラメータと同一であり、
ローカルのチップ転送ロジックに従って、前記シミュレーションパケットのパケット特徴パラメータから外側ユーザデータグラムプロトコル（ＵＤＰ）ソースポート番号を算出し、
算出された前記外側ＵＤＰソースポート番号と、前記シミュレーションパケットにマッチングするローカルレジスタエントリに格納している仮想拡張ローカルエリアネットワーク（ＶＸＬＡＮ）トンネル識別子に基づいて前記シミュレーションパケットに対してＶＸＬＡＮカプセル化を行い、かつ前記シミュレーションパケットのＶＸＬＡＮヘッダの先頭の予約フィールドの値が設定値であり、
前記ＶＸＬＡＮトンネル識別子に対応するＶＸＬＡＮトンネルを通じて、ＶＸＬＡＮカプセル化されたシミュレーションパケットを転送することにより、前記サービス転送経路におけるＶＸＬＡＮカプセル化されたシミュレーションパケットを受信した各デバイスがパケットロス位置特定デバイスへパケットロス位置特定パラメータを送信し、前記パケットロス位置特定デバイスが最後に受信したパケットロス位置特定パラメータにおけるデバイス識別子に基づいて前記サービス転送経路における前記サービスパケットのパケットロス位置を特定するようにすることを含むことを特徴とする、方法。
【請求項２】
前記パケットロス位置特定デバイスがＶＸＬＡＮにおいてＶＴＥＰを管理するコントローラであり、前記サービス転送経路をシミュレートするためのシミュレーションパケットを取得することは、前記コントローラから前記シミュレーションパケットを受信することを含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記パケットロス位置特定デバイスが前記ＶＴＥＰであり、前記サービス転送経路をシミュレートするためのシミュレーションパケットを取得することは、前記シミュレーションパケットを生成することを含むことを特徴とする、請求項１に記載の方法。
【請求項４】
前記ローカルレジスタエントリは、前記コントローラから受信され、前記コントローラが第１のＶＭから送信されたサービスパケットが第２のＶＭに到達しなかったと特定した際に生成したものであることを特徴とする、請求項２に記載の方法。
【請求項５】
前記ローカルレジスタエントリは、前記ＶＴＥＰが、第１のＶＭから送信されたサービスパケットが第２のＶＭに到達しなかったと特定した際に生成したものであることを特徴とする、請求項３に記載の方法。
【請求項６】
各前記パケットロス位置特定パラメータに含まれるデバイス識別子が、前記サービス転送経路におけるＶＸＬＡＮカプセル化されたシミュレーションパケットを受信した各デバイスに指示することを特徴とする、請求項１に記載の方法。
【請求項７】
前記ＶＴＥＰが複数のデバイスを集約して形成したスタックデバイスであり、前記方法はさらに、
前記ＶＴＥＰ中の各メンバデバイスが、前記コントローラから送信された、当該メンバデバイスのデバイス識別子を含むシミュレーションパケットを受信し、シミュレーションパケットにおける前記メンバデバイスのデバイス識別子の位置が、シミュレーションパケットにおけるパケット特徴パラメータの位置と異なることを含むことを特徴とする、請求項２に記載の方法。
【請求項８】
前記ＶＴＥＰが複数のデバイスを集約して形成したスタックデバイスであり、前記方法はさらに、
前記ＶＴＥＰ中の各メンバデバイスが、前記コントローラから送信された、前記シミュレーションパケットを含む設定パケットを受信し、前記設定パケットのソースＭＡＣアドレスが前記第１のＶＭのＭＡＣアドレスであり、
前記設定パケットのソースＭＡＣアドレスが、自メンバデバイスが学習したソースＭＡＣアドレスにマッチングするものであるか否かを判定し、マッチングするものである場合には、前記設定パケットの中から、前記シミュレーションパケットを解析することを含むことを特徴とする、請求項２に記載の方法。
【請求項９】
パケットロス位置特定装置であって、このパケットロス位置特定装置は仮想ローカルエリアネットワーク・トンネル・エンドポイント（ＶＴＥＰ）であり、
前記パケットロス位置特定装置は、不揮発性メモリとプロセッサーとを含み、
前記不揮発性メモリは、プロセッサーによって実行される機器読み取り可能なコマンドを記憶し、
前記プロセッサーは、不揮発性メモリに記憶されている機器読み取り可能なコマンドを読み取ることにより、
サービスパケットを前記ＶＴＥＰから別のＶＴＥＰへルーティングするサービス転送経路をシミュレートするためのシミュレーションパケットを取得し、ここで、前記ＶＴＥＰに接続している第１の仮想マシン（ＶＭ）から前記別のＶＴＥＰに接続している第２のＶＭへ送信された前記サービスパケットが前記第２のＶＭに到達せず、かつ前記シミュレーションパケットのパケット特徴パラメータが、前記サービスパケットのパケット特徴パラメータと同一であり、
ローカルのチップ転送ロジックに従って、前記シミュレーションパケットのパケット特徴パラメータから外側ユーザデータグラムプロトコル（ＵＤＰ）ソースポート番号を算出し、
算出された前記外側ＵＤＰソースポート番号と、前記シミュレーションパケットにマッチングするローカルレジスタエントリに格納している仮想拡張ローカルエリアネットワーク（ＶＸＬＡＮ）トンネル識別子に基づいて前記シミュレーションパケットに対してＶＸＬＡＮカプセル化を行い、かつ前記シミュレーションパケットのＶＸＬＡＮヘッダの先頭の予約フィールドの値が設定値であり、
前記ＶＸＬＡＮトンネル識別子に対応するＶＸＬＡＮトンネルを通じて、ＶＸＬＡＮカプセル化されたシミュレーションパケットを転送することにより、前記サービス転送経路におけるＶＸＬＡＮカプセル化されたシミュレーションパケットを受信した各デバイスがパケットロス位置特定デバイスへパケットロス位置特定パラメータを送信し、前記パケットロス位置特定デバイスが最後に受信したパケットロス位置特定パラメータにおけるデバイス識別子に基づいて前記サービス転送経路における前記サービスパケットのパケットロス位置を特定するようにする
ことを実現することを特徴とする、装置。
【請求項１０】
前記パケットロス位置特定デバイスがＶＸＬＡＮにおいてＶＴＥＰを管理するコントローラであり、前記プロセッサーは不揮発性メモリに記憶されている機器読み取り可能なコマンドを読み取ることにより、
前記コントローラから送信された、サービス転送経路をシミュレートするためのシミュレーションパケットを受信することを実現することを特徴とする、請求項９に記載の装置。
【請求項１１】
前記パケットロス位置特定デバイスが前記ＶＴＥＰであり、前記プロセッサーは不揮発性メモリに記憶されている機器読み取り可能なコマンドを読み取ることにより、
サービス転送経路をシミュレートするためのシミュレーションパケットを生成することを実現することを特徴とする、請求項９に記載の装置。
【請求項１２】
前記ローカルレジスタエントリは、前記コントローラから受信され、前記コントローラが第１のＶＭから送信されたサービスパケットが第２のＶＭに到達しなかったと特定した際に生成したものであることを特徴とする、請求項１０に記載の装置。
【請求項１３】
前記ローカルレジスタエントリは、前記ＶＴＥＰが、第１のＶＭから送信されたサービスパケットが第２のＶＭに到達しなかったと特定した際に生成したものであることを特徴とする、請求項１１に記載の装置。
【請求項１４】
各前記パケットロス位置特定パラメータに含まれるデバイス識別子が、前記サービス転送経路におけるＶＸＬＡＮカプセル化されたシミュレーションパケットを受信した各デバイスに指示することを特徴とする、請求項９に記載の装置。
【請求項１５】
前記ＶＴＥＰが複数のデバイスを集約して形成したスタックデバイスであり、プロセッサーは不揮発性メモリに記憶されている機器読み取り可能なコマンドを読み取ることにより、
前記ＶＴＥＰ中の各メンバデバイスが、前記コントローラから送信された、当該メンバデバイスのデバイス識別子を含むシミュレーションパケットを受信することを実現し、シミュレーションパケットにおける前記メンバデバイスのデバイス識別子の位置が、シミュレーションパケットにおけるパケット特徴パラメータの位置と異なることを特徴とする、請求項１０に記載の装置。
【請求項１６】
前記ＶＴＥＰが複数のデバイスを集約して形成したスタックデバイスであり、プロセッサーは不揮発性メモリに記憶されている機器読み取り可能なコマンドを読み取ることにより、
前記ＶＴＥＰ中の各メンバデバイスが、前記コントローラから送信された、前記シミュレーションパケットを含む設定パケットを受信し、前記設定パケットのソースＭＡＣアドレスが前記第１のＶＭのＭＡＣアドレスであり、
前記設定パケットのソースＭＡＣアドレスが、自メンバデバイスが学習したソースＭＡＣアドレスにマッチングするものであるか否かを判定し、マッチングするものである場合には、前記設定パケットの中から、前記シミュレーションパケットを解析する
ことを実現することを特徴とする、請求項１０に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
仮想拡張ローカルエリアネットワーク（ＶＸＬＡＮ：Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  ＡｒｅａＮｅｔｗｏｒｋ）とは、Ｌ２（レイヤー２）パケットをＬ３（レイヤー３）プロトコルでカプセル化する技術であり、具体的には、ユーザデータグラムプロトコル（ＵＤＰ：Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）フォーマットの外側トンネルをデータの経路として導入することを含む。そのうち、元のパケットデータをペイロードとして伝送する。
【発明の概要】
【０００２】
ペイロードの外側でＵＤＰを伝送手段として使用しているため、ペイロードがＬ２、Ｌ３ネットワークにおいて円滑に伝送されることを確保し、これによりＬ２ネットワークがＬ３ネットワークをカバーすることになる。ここで、カバーする仮想ネットワークをオーバーレイ（ｏｖｅｒｌａｙ）ネットワークと称し、カバーされる物理ネットワークをアンダーレイ（ｕｎｄｅｒｌａｙ）ネットワークと称する。
【図面の簡単な説明】
【０００３】
【図１】図１は、本発明の実施例で提供する、ＶＸＬＡＮに適用されるパケットロス位置特定方法のフローチャートである。
【図２】図２は、本発明の実施例で提供するパケットロス位置特定方法の応用ネットワーク構築図である。
【図３】図３は、本発明の実施例で提供するパケットロス位置特定方法の応用ネットワーク構築図である。
【図４】図４は本発明の実施例で提供する、ＶＸＬＡＮに適用されるパケットロス位置特定装置の構成の模式図である。
【図５】図５は本発明の実施例で提供する、ＶＸＬＡＮに適用されるパケットロス位置特定装置のハードウェア構成の模式図である。
【発明を実施するための形態】
【０００４】
本発明の明細書、特許請求の範囲及び上記図面に記載の「第１」、「第２」等の用語は、類似する対象を区別するためのもので、特定の順序又は先後の順序を表現するものではない。このように使用される用語は、ここで記載される本発明の実施例をここで図示または記載された順序以外の順序で実施できるように、適宜交換可能である。
【０００５】
以下、添付の図面及び具体的な実施例を参照しながら、本発明を説明する。
【０００６】
図１は、本発明の実施例で提供する、ＶＸＬＡＮに適用されるパケットロス位置特定方法のフローチャートである。図１に示すように、該方法は以下のステップを含む。
【０００７】
ステップ２０１において、第１の仮想ローカルエリアネットワーク・トンネル・エンドポイント（ＶＴＥＰ：ＶＸＬＡＮ  Ｔｕｎｎｅｌ  Ｅｎｄ  Ｐｏｉｎｔ）は、ローカルで接続している第１の仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）から送信されたサービスパケットが第２のＶＴＥＰに接続している第２のＶＭに到達しなかった場合、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する。前記シミュレーションパケットのパケット特徴パラメータは、前記サービスパケットのパケット特徴パラメータと同一である。
【０００８】
本発明の実施例において、第１のＶＴＥＰ、第２のＶＴＥＰ、第１のＶＭ、第２のＶＭは、説明の便宜上、名付けたものである。
【０００９】
本発明の実施例において、シミュレーションパケットのパケット特徴パラメータは、第１のＶＭから送信され第２のＶＭに到達しなかったサービスパケットのパケット特徴パラメータと同一である。ここで、パケット特徴パラメータは、５タプルであってもよく、７タプルであってもよい。そのうち、５タプルには、宛先ＩＰアドレス、ソースＩＰアドレス、宛先ポート番号、ソースポート番号、プロトコルの種類というパラメータが含まれる。７タプルには、宛先ＩＰアドレス、ソースＩＰアドレス、宛先ＭＡＣアドレス、ソースＭＡＣアドレス、宛先ポート番号、ソースポート番号、プロトコルの種類というパラメータが含まれる。
【００１０】
本発明の実施例において、第１のＶＭから送信され第２のＶＭに到達しなかったサービスパケットにはペイロードが含まれているが、シミュレーションパケットにはペイロードが含まれていない。
【００１１】
ステップ２０２において、第１のＶＴＥＰは、ローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出することにより、外側ＵＤＰソースポート番号を特定する。また、第１のＶＴＥＰは、シミュレーションパケットのために特定した外側ＵＤＰソースポート番号及びローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリにおけるＶＸＬＡＮトンネル識別子を用いて、シミュレーションパケットに対してＶＸＬＡＮカプセル化を行う。また、第１のＶＴＥＰは、前記ＶＸＬＡＮトンネル識別子に対応するＶＸＬＡＮトンネルを通じて、ＶＸＬＡＮカプセル化されたシミュレーションパケットを転送する。これにより、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信した中間デバイスがパケットロス位置特定デバイスへ、前記サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信するようにする。
【００１２】
ＶＸＬＡＮカプセルにおける外側ＵＤＰヘッダ（Ｏｕｔｅｒ  ＵＤＰ  Ｈｅａｄｅｒ）のＵＤＰソースポート番号は、第１のＶＴＥＰがローカルのチップ転送ロジックに従ってパケットのパケット特徴パラメータ（例えば、パケットの宛先ＩＰアドレス等）を算出して得られたものである。このチップ転送ロジックはチップメーカーにより設置されるもので、通常は公開されない。これに基づき、本発明の実施例において、第１のＶＭから第２のＶＭへのサービス転送経路をシミュレートするには、第１のＶＴＥＰが上記サービスパケットと同様の処理方法で上記シミュレーションパケットを処理する必要がある。具体的にはステップ２０２に記載されている通りで、すなわち改めて上記サービスパケットと同じチップ転送ロジックに従ってシミュレーションパケットに対して転送処理を実行する。シミュレーションパケットのパケット特徴パラメータは、第１のＶＭから送信され第２のＶＭに到達しなかったサービスパケットのパケット特徴パラメータと同一であるため、第１のＶＴＥＰがローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出して得られた外側ＵＤＰヘッダのＵＤＰソースポート番号は、上記サービスパケットのために算出した外側ＵＤＰヘッダのＵＤＰソースポート番号と完全に同一であるはずである。
【００１３】
本発明の実施例では、ステップ２０２においてシミュレーションパケットにマッチングするレジスタエントリにおけるＶＸＬＡＮトンネル識別子は、第１のＶＴＥＰが上記サービスパケットを送信する際に用いるＶＸＬＡＮトンネルに対応するＶＸＬＡＮトンネル識別子である。これにより、シミュレーションパケットと上記サービスパケットが同一のＶＸＬＡＮトンネルを通じて転送されることを確保することで、サービスパケットのサービス転送経路をリアルにシミュレートすることが確保される。本発明の実施例において、シミュレーションパケットにマッチングするレジスタエントリを、アクセス制御リスト（ＡＣＬ：Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ）エントリとしてもよい。ＡＣＬエントリに対してマッチングを行うマッチング項目は、シミュレーションパケットのパケット特徴パラメータ、シミュレーションパケットの識別子である。ＵＤＰソースポート番号の算出に影響しないように、ここでは、シミュレーションパケットにおいて、シミュレーションパケットの識別子の位置は、パケット特徴パラメータの位置と異なる。ＡＣＬエントリにおける処理動作は、上記ＶＸＬＡＮトンネル識別子をシミュレーションパケットに割り当てることである。
【００１４】
ＶＸＬＡＮにおいて、一般的にコントローラによりＶＴＥＰを管理する。ＶＸＬＡＮにコントローラが存在する場合、ＶＸＬＡＮにおいてＶＴＥＰを管理するためのコントローラを上記パケットロス位置特定デバイスとしてもよい。
【００１５】
本発明の実施例において、コントローラがパケットロス位置特定デバイスである場合、上記ステップ２０１において「第１のＶＴＥＰは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する」ことは、第１のＶＴＥＰが、コントローラから送信された、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信することを含む。
【００１６】
コントローラがパケットロス位置特定デバイスである場合、上記ステップ２０２において「ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリ」は、コントローラが、第１のＶＭから送信されたサービスパケットが第２のＶＭに到達しなかったと特定した際に生成して第１のＶＴＥＰに送信したものである。
【００１７】
本発明の実施例において、コントローラがパケットロス位置特定デバイスである場合、第１のＶＴＥＰは、単一のデバイスであってもよく、複数のデバイスを集約して形成したスタックデバイスであってもよい。
【００１８】
そのうち、第１のＶＴＥＰが単一のデバイスである場合、コントローラはネットワークのグローバルトポロジ情報を有するため、上記サービスパケットが第１のＶＴＥＰから送信されたものと特定できる。したがって、第１のＶＴＥＰへ上記シミュレーションパケット、及びシミュレーションパケットにマッチングするレジスタエントリを送信する。
【００１９】
一方、第１のＶＴＥＰが複数のデバイスを集約して形成したスタックデバイスである場合、コントローラは、上記サービスパケットがスタックデバイスの中のどのメンバデバイスにより受信されたものかを特定できない。サービスパケットが異なるメンバデバイスに入ると、サービス転送経路が異なる可能性がある。それゆえ、コントローラは、スタックデバイスと通信して、スタックデバイスは何台のメンバデバイスによりスタック構成されているかを取得し、さらに各メンバデバイスのデバイス識別子、例えばスロット番号を取得する必要がある。これに基づき、上記した「第１のＶＴＥＰが、コントローラから送信された、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信する」ことは、以下の２つの形態のいずれかで実現してもよい。
【００２０】
第１の形態において、コントローラは、第１のＶＴＥＰ中の各メンバデバイスへ、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを送信する。コントローラから各メンバデバイスに送信されるシミュレーションパケットは、上記パケット特徴パラメータに加えて、該メンバデバイスのデバイス識別子をさらに含む。例えば、第１のＶＴＥＰがメンバデバイス１〜３からなる場合、コントローラからメンバデバイス１に送信されるシミュレーションパケットは、上記パケット特徴パラメータに加えて、メンバデバイス１のデバイス識別子をさらに含む。コントローラからメンバデバイス２に送信されるシミュレーションパケットは、上記パケット特徴パラメータに加えて、メンバデバイス２のデバイス識別子をさらに含む。コントローラからメンバデバイス３に送信されるシミュレーションパケットは、上記パケット特徴パラメータに加えて、メンバデバイス３のデバイス識別子をさらに含む。
【００２１】
この形態において、第１のＶＴＥＰがパケット特徴パラメータを用いて行うＵＤＰソースポート番号の算出にデバイス識別子が干渉しないように、シミュレーションパケットにおけるデバイス識別子の位置を、シミュレーションパケットにおける特徴パラメータの位置と異ならせる。
【００２２】
この形態において、「第１のＶＴＥＰが、コントローラから送信された、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信する」ことは、以下のことを含む。
【００２３】
第１のＶＴＥＰ中の各メンバデバイスは、コントローラから送信されたシミュレーションパケットを受信する。このシミュレーションパケットは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのものであって、かつ当該メンバデバイスのデバイス識別子を含む。
【００２４】
第１のＶＴＥＰ中の各メンバデバイスは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのものであって、かつ自デバイスのデバイス識別子を含むシミュレーションパケットを受信すると、図１に示すフローのステップ２０２を実行する。この形態において、コントローラは、第１のＶＴＥＰ中の各メンバデバイスへ同一の、シミュレーションパケットにマッチングするレジスタエントリを送信する。
【００２５】
第２の形態は、スタックデバイス中のメンバデバイスがローカルのメンバポートでソースＭＡＣアドレスを学習する場合に適用される。
【００２６】
この形態において、コントローラは、第１のＶＴＥＰ中の各メンバデバイスへ設定パケットを送信する。この設定パケットは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを含む。この形態において、設定パケットのソースＭＡＣアドレスは第１のＶＭのＭＡＣアドレスであり、設定パケットに含まれているシミュレーションパケットは、上記パケット特徴パラメータを含み、該メンバデバイスのデバイス識別子を含まない。例えば、第１のＶＴＥＰがメンバデバイス１〜３からなる場合、この形態において、コントローラはメンバデバイス１、メンバデバイス２、メンバデバイス３へ同一の設定パケットを送信する。この設定パケットのソースＭＡＣアドレスは第１のＶＭのＭＡＣアドレスであり、設定パケットに含まれているシミュレーションパケットは上記パケット特徴パラメータを含む。
【００２７】
これに基づき、この形態において、「第１のＶＴＥＰが、コントローラから送信された、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信する」ことは、以下のことを含む。
【００２８】
第１のＶＴＥＰ中の各メンバデバイスは、コントローラから送信された設定パケットを受信する。この設定パケットは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを含む。
【００２９】
第１のＶＴＥＰ中の各メンバデバイスは、前記設定パケットのソースＭＡＣアドレスが、自メンバデバイスが学習したソースＭＡＣアドレスにマッチングするものであるか否かを判定する。マッチングするものである場合には、前記設定パケットの中から、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを解析する。この形態において、シミュレーションパケットはメンバデバイスのデバイス識別子を含む必要がなく、かつパケットのソースＭＡＣアドレスにマッチングするメンバデバイスが図１に示すフローを実行する。
【００３０】
本発明の一実施例では、ＶＸＬＡＮに上記コントローラが存在するか否かに関わらず、第１のＶＴＥＰを上記パケットロス位置特定デバイスとしてもよい。
【００３１】
本発明の一実施例において、第１のＶＴＥＰがパケットロス位置特定デバイスである場合、上記ステップ２０１において「サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する」ことは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを生成することを含む。
【００３２】
本発明の一実施例において、第１のＶＴＥＰがパケットロス位置特定デバイスである場合、上記ステップ２０２において「ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリ」は、第１のＶＴＥＰが、第１のＶＭから送信されたサービスパケットが第２のＶＭに到達しなかったと特定した際に生成したものである。
【００３３】
本発明の実施例において、ＶＸＬＡＮカプセル化された上記サービスパケットと区別するために、第１のＶＴＥＰから送信されたＶＸＬＡＮカプセル化されたシミュレーションパケットにおけるＶＸＬＡＮヘッダ内の予約フィールドを設定値、例えば１００とする。本発明の実施例において、予約フィールドはＶＸＬＡＮヘッダ内の先頭の一つの予約フィールドである。
【００３４】
第１のＶＴＥＰがＶＸＬＡＮカプセル化されたシミュレーションパケットを送信すると、第１のＶＭから第２のＶＭへのサービス転送経路におけるデバイスは、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信することになる。ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスは、シミュレーションパケットのＶＸＬＡＮカプセルを用いて、ローカルに格納しているマッチングルールに対してマッチングを行う。マッチングができた場合、パケットロス位置特定デバイスへ、上記サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信する。ここでのマッチングルールは、パケットロス位置特定デバイスから送信されたものであってもよく、予め配置されたものであってもよい。下記の２つの実施例では、いずれもパケットロス位置特定デバイスからマッチングルールを送信することを例とする。上述したＶＸＬＡＮカプセル化によれば、ここでのマッチングルールについて具体的には、ＶＸＬＡＮカプセル中の外側ＵＤＰヘッダ内のＵＤＰ宛先ポート番号が、ＶＸＬＡＮプロトコルで規定する設定ポート番号であり、かつＶＸＬＡＮヘッダ内の予約フィールドの値が設定値、例えば１００であるとしてもよい。本発明の実施例において、予約フィールドはＶＸＬＡＮヘッダ内の先頭の一つの予約フィールドである。
【００３５】
本発明の実施例において、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスから送信されるパケットロス位置特定パラメータは、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスのデバイス識別子を含む。本発明の実施例において、上記サービスパケットが通過したサービス転送経路を特定するために、パケットロス位置特定パラメータは、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したポートの識別子をさらに含む。
【００３６】
本発明の一実施例において、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスは、第２のＶＭが接続している第２のＶＴＥＰではない。なぜなら、ＶＸＬＡＮカプセル化されたシミュレーションパケットは、上記サービスパケットのパケットロスが発生した時に送信されるため、通常、第２のＶＭが接続している第２のＶＴＥＰには到達できないからである。これに基づき、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスは、パケットロス位置特定デバイスにパケットロス位置特定パラメータを送信するとともに、引き続きＶＸＬＡＮカプセル中の外側ＩＰヘッダの宛先ＩＰアドレスに基づいて転送経路を特定して、受信したＶＸＬＡＮカプセル化されたシミュレーションパケットを転送する。ここで、ＶＸＬＡＮカプセル中の外側ＩＰヘッダの宛先ＩＰアドレスに基づいて特定した転送経路として等コスト経路が複数ある場合、ＶＸＬＡＮカプセル中のＵＤＰソースポート番号に基づいてハッシュ演算を行うことで転送経路を１つ特定して、受信したＶＸＬＡＮカプセル化されたシミュレーションパケットを転送してもよい。本発明のもう１つの実施例では、ＶＸＬＡＮカプセル化されたシミュレーションパケットは、第２のＶＭが接続している第２のＶＴＥＰに到達できる。ＶＸＬＡＮカプセル化されたシミュレーションパケットが通常のサービスに干渉しないように、本発明の実施例では、第２のＶＴＥＰは、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信した場合、パケットロス位置特定デバイスにパケットロス位置特定パラメータを送信する。但し、第２のＶＴＥＰは、シミュレーションパケットを引き続き転送するのではなく、受信したＶＸＬＡＮカプセル化されたシミュレーションパケットを破棄する。以下、第２のＶＴＥＰがＶＸＬＡＮカプセル化されたシミュレーションパケットを受信した場合の処理について説明する。例えば、第２のＶＴＥＰでパケットロスが発生した場合、又は、第１のＶＭが第２のＶＭにアクセスするときにＮ個（Ｎは１より大きい）の同じサービスパケットを同時に第２のＶＭに送信した結果、Ｍ個（ＭはＮより小さい）のサービスパケットが第２のＶＭに到達し、すなわちＮ−Ｍ個のサービスパケットは第２のＶＭに到達しない場合がある。第１のＶＴＥＰは、図１に示すようなフローに従ってＮ個のシミュレーションパケットを特定するとともに、ローカルのチップ転送ロジックに従ってＮ個のシミュレーションパケットをそれぞれＶＸＬＡＮカプセル化して転送すると仮定する場合、Ｍ個のシミュレーションパケットが第２のＶＴＥＰに到達し、第２のＶＴＥＰは受信したＶＸＬＡＮカプセル化されたシミュレーションパケットを破棄することになる。
【００３７】
本発明の実施例では、上記コントローラがパケットロス位置特定デバイスであるか、それとも第１のＶＴＥＰがパケットロス位置特定デバイスであるかに関わらず、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスはパケットロス位置特定デバイスにパケットロス位置特定パラメータを送信する。パケットロス位置特定デバイスはパケットロス位置特定パラメータを受信すると、受信したパケットロス位置特定パラメータに基づいて、第１のＶＭと第２のＶＭとの間にあるパケットロス発生デバイスを特定する。
【００３８】
ここで、「受信したパケットロス位置特定パラメータに基づいて、第１のＶＭと第２のＶＭとの間にあるパケットロス発生デバイスを特定する」ことは、具体的には下記の２つの形態により実現してもよい。
【００３９】
形態ａにおいて、パケットロス位置特定デバイスは、設定されたパケットロス位置特定時間に達すると、受信したパケットロス位置特定パラメータに基づいて、第１のＶＭと第２のＶＭとの間にあるパケットロス発生デバイスを特定する。
【００４０】
具体的には、この形態ａにおいて「受信したパケットロス位置特定パラメータに基づいて、第１のＶＭと第２のＶＭとの間にあるパケットロス発生デバイスを特定する」ことは、以下のことを含む。
【００４１】
設定されたパケットロス位置特定時間に達したか否かを検出する。達した場合には、受信したすべてのパケットロス位置特定パラメータの中から、最後に受信したパケットロス位置特定パラメータを特定し、この最後に受信したパケットロス位置特定パラメータにおけるデバイス識別子に対応するデバイスをパケットロス発生デバイスとして特定する。
【００４２】
この形態ａにおいて、設定されたパケットロス位置特定時間は、実際の状況に応じて設置してもよいが、通常は、シミュレーションパケットが２つのデバイスの間で転送される時間をはるかに上回る時間とする。
【００４３】
形態ｂにおいて、パケットロス位置特定デバイスは、設定されたパケットロス位置特定時間に達すると受信したパケットロス位置特定パラメータに基づいて第１のＶＭと第２のＶＭとの間にあるパケットロス発生デバイスを特定するのではなく、シミュレーションパケットの転送に伴って位置特定を実行する。
【００４４】
この形態ｂにおいて、「受信したパケットロス位置特定パラメータに基づいて、第１のＶＭと第２のＶＭとの間にあるパケットロス発生デバイスを特定する」ことは、以下のことを含む。
【００４５】
パケットロス位置特定パラメータを受信する度に、該パケットロス位置特定パラメータを現在のパケットロス位置特定パラメータとし、現在のパケットロス位置特定パラメータを受信した時間を特定する。この特定した時間後の設定時間内にさらにパケットロス位置特定パラメータを受信すると、該パケットロス位置特定パラメータを現在のパケットロス位置特定パラメータとする動作に戻る。この特定した時間後の設定時間内にパケットロス位置特定パラメータが受信されない場合、現在のパケットロス位置特定パラメータにおけるデバイス識別子に対応するデバイスをパケットロス発生デバイスとして特定する。
【００４６】
この形態ｂにおいて、設定時間は、シミュレーションパケットが２つのデバイスの間で転送される時間を上回る時間である。
【００４７】
本発明の実施例では、形態ａであるか、それとも形態ｂであるかに関わらず、最終的には、第１のＶＭが接続している第１のＶＴＥＰと第２のＶＭが接続している第２のＶＴＥＰとの間にあるデバイスの中からパケットロス発生デバイスを特定する。
【００４８】
図１に示すフローから明らかなように、本発明の実施例では、１つのＶＭのサービスパケットがもう１つのＶＭに到達できない場合、サービスパケットのサービス転送経路をシミュレートすることによって、サービスパケットの転送過程においてパケットロスが発生したデバイスを迅速に特定することができる。このような方法は、パケットロスの発生位置を迅速かつ簡単に特定することができるとともに、作業負荷を大幅に削減することができる。
【００４９】
以下、２つの実施例により、ＶＸＬＡＮに適用されるパケットロス位置特定方法を説明する。
【００５０】
図２は、本発明の実施例で提供するパケットロス位置特定方法の応用ネットワーク構築図である。図２において、オーバーレイネットワーク１０には、ＶＴＥＰ１とＶＴＥＰ２との２つのＶＴＥＰが示されている。そのうち、ＶＭ１はＶＴＥＰ１に接続され、ＶＭ２はＶＴＥＰ２に接続され、ＶＭ１とＶＭ２は２つの異なるサーバー上の仮想マシンである。コントローラはＶＴＥＰ１とＶＴＥＰ２を制御する。アンダーレイネットワーク２０には、デバイス３１〜デバイス３６との６つのデバイスが示されている。図２において、コントローラがパケットロス位置特定デバイスである。
【００５１】
図２では、ＶＭ１から送信されたサービスパケット（パケット０と記す）が、アクセスしようとするＶＭ２に到達しなかった場合を例とする。ＶＴＥＰ１は単一のデバイスである。
【００５２】
コントローラは、パケット特徴パラメータがパケット０のパケット特徴パラメータと完全に同一であるシミュレーションパケット（パケット１と記す）を１つ構成し、パケット１をＶＴＥＰ１に送信する。パケット特徴パラメータは上述したとおりである。
【００５３】
コントローラは、パケット１にマッチングするレジスタエントリをさらに生成し、レジスタエントリをＶＴＥＰ１に送信する。ここで、レジスタエントリは、パケット１のパケット特徴パラメータを含む。例えば、レジスタエントリは、ソースＩＰアドレスと、宛先ＩＰアドレスと、シミュレーションパケットとしてのパケット１の識別子と、パケット０を転送するＶＸＬＡＮトンネルの識別子とを含む。本発明の実施例では、パケット０を転送するＶＸＬＡＮトンネルの識別子はＶＸＬＡＮトンネル１００である。
【００５４】
コントローラは、マッチングルールをＶＴＥＰ１とＶＴＥＰ２との間に介在しているデバイス（すなわちデバイス３１〜デバイス３６）及びＶＴＥＰ２に配信する。図２には、コントローラがマッチングルールを図２におけるデバイス３１〜デバイス３５に送信する経路について図示されていない。ここで、マッチングルールについては、ＶＸＬＡＮカプセル中のＶＸＬＡＮヘッダ内の先頭の一つの予約フィールドが設定値であり、かつＶＸＬＡＮカプセル中の外側ＵＤＰヘッダ内のＵＤＰ宛先ポート番号が設定されたＶＸＬＡＮポート番号であるとしてもよい。
【００５５】
ＶＴＥＰ１は、コントローラから送信されたパケット１を受信し、ローカルのチップ転送ロジックに従ってパケット１のパケット特徴パラメータを算出することにより、ＵＤＰソースポート番号を特定する。また、ＶＴＥＰ１は、パケット１のために特定したＵＤＰソースポート番号及びコントローラから送信された、パケット１にマッチングするレジスタエントリにおけるＶＸＬＡＮトンネル１００を用いて、パケット１に対してＶＸＬＡＮカプセル化を行う。また、ＶＴＥＰ１は、ＶＸＬＡＮトンネル１００に対応するＶＸＬＡＮトンネルを通じて、ＶＸＬＡＮカプセル化されたパケット１を転送する。ここで、パケット１のＶＸＬＡＮカプセルはパケット０のＶＸＬＡＮカプセルに比べて、パケット１のＶＸＬＡＮヘッダ内の先頭の一つの予約フィールドの値が設定値であるという点において相違する。パケット１のＶＸＬＡＮカプセル中の外側ＵＤＰヘッダ内のＵＤＰソースポート番号はパケット１のために特定したＵＤＰソースポート番号であり、ＵＤＰ宛先ポート番号はＶＸＬＡＮプロトコルで規定する設定ポート番号であり、外側ＩＰヘッダの外側宛先ＩＰアドレスはＶＴＥＰ２のＩＰアドレスであり、外側ソースＩＰアドレスはＶＴＥＰ１のＩＰアドレスである。ここで、ＶＸＬＡＮカプセル化されたパケット１をパケット２と称する。
【００５６】
デバイス３１は、パケット２を受信し、パケット２のＶＸＬＡＮカプセル中のＶＸＬＡＮヘッダ内の先頭の一つの予約フィールドの値が設定値であり、かつＶＸＬＡＮカプセル中の外側ＵＤＰヘッダ内の宛先ＵＤＰポート番号がＶＸＬＡＮプロトコルで規定する設定ポート番号であることを発見し、コントローラから配信されたマッチングルールを満たすと判定する。そして、デバイス３１は、コントローラへパケットロス位置特定パラメータを送信する。ここでのパケットロス位置特定パラメータは、デバイス３１のデバイス識別子を含む。
【００５７】
デバイス３１は、パケット２のＶＸＬＡＮカプセル中の外側ＩＰヘッダの外側宛先ＩＰアドレスに基づいて、この外側宛先ＩＰアドレスまでの経路を特定する。その結果、この経路は、順にデバイス３１→デバイス３２→デバイス３３→デバイス３４→デバイス３５→ＶＴＥＰ２と、デバイス３１→デバイス３６→デバイス３３→デバイス３４→デバイス３５→ＶＴＥＰ２という２つの等コスト経路を含むことを発見する。これに基づき、デバイス３１は、パケット２のＶＸＬＡＮカプセル中の外側ＵＤＰヘッダのＵＤＰソースポート番号に基づいてハッシュ演算を行い、ハッシュ演算の結果に基づいて、デバイス３１→デバイス３２→デバイス３３→デバイス３４→デバイス３５→ＶＴＥＰ２という経路を選択して、受信したパケット２を引き続き転送する。
【００５８】
デバイス３２〜デバイス３５がパケット２を受信した後に行う処理は、デバイス３１で行う処理と類似する。
【００５９】
ＶＴＥＰ２は、パケット２を受信した後、パケット２のＶＸＬＡＮカプセル中のＶＸＬＡＮヘッダ内の先頭の一つの予約フィールドの値が設定値であり、かつＶＸＬＡＮカプセル中の外側ＵＤＰヘッダ内のＵＤＰ宛先ポート番号がＶＸＬＡＮプロトコルで規定する設定ポート番号であることを発見し、コントローラから送信されたマッチングルールを満たすと判定する。そして、ＶＴＥＰ２は、コントローラへパケットロス位置特定パラメータを送信する。また、ＶＸＬＡＮカプセル中の外側ＩＰヘッダの外側宛先ＩＰアドレスが自ＶＴＥＰ２のＩＰアドレスであることを発見すると、受信したパケット２を破棄する。
【００６０】
コントローラは、受信した全てのパケットロス位置特定パラメータを収集して統計することにより、パケットロス発生デバイスを特定する。コントローラが如何にパケットロス発生デバイスを特定するかについて、上記形態ａを例にして説明する。
【００６１】
例えば、コントローラが受信したパケットロス位置特定パラメータは、（デバイス３１）、（デバイス３２）、（デバイス３３）、（デバイス３４）であるとする。
【００６２】
上記形態ａに基づいて、コントローラは、設定されたパケットロス位置特定時間に達すると、受信したすべてのパケットロス位置特定パラメータの中から、最後に受信したパケットロス位置特定パラメータ（デバイス３４）を特定し、この最後に受信したパケットロス位置特定パラメータに対応するデバイス、すなわちデバイス３４をパケットロス発生デバイスとして特定する。すなわち、上記パケット０はデバイス３４でパケットロスが発生したと特定する。
【００６３】
これにより、コントローラは、受信したパケットロス位置特定パラメータを収集して統計することにより、パケット０のパケットロスが発生したパケットロス発生デバイスを特定する。
【００６４】
図３は、本発明の実施例で提供するパケットロス位置特定方法の応用ネットワーク構築図である。図３において、オーバーレイネットワーク３０には、ＶＴＥＰ３とＶＴＥＰ４との２つのＶＴＥＰが示されている。ＶＭ３はＶＴＥＰ３に接続され、ＶＭ４はＶＴＥＰ４に接続され、ＶＭ３とＶＭ４は２つの異なるサーバー上の仮想マシンである。アンダーレイネットワーク４０には、デバイス４１〜デバイス４５との５つのデバイスが示されている。図３において、ＶＴＥＰ３がパケットロス位置特定デバイスである。
【００６５】
図３では、ＶＭ３から送信されたサービスパケット（パケット４０と記す）が、アクセスしようとするＶＭ４に到達しなかった場合を例とする。
【００６６】
ＶＴＥＰ３は、パケット特徴パラメータがパケット４０のパケット特徴パラメータと完全に同一であるシミュレーションパケット（パケット４１と記す）を１つ構成する。パケット特徴パラメータは上述したとおりである。
【００６７】
ＶＴＥＰ３は、パケット４１にマッチングするレジスタエントリをローカルに格納している。レジスタエントリは、パケット４１のパケット特徴パラメータを含む。例えば、レジスタエントリは、ソースＩＰアドレスと、宛先ＩＰアドレスと、シミュレーションパケットとしてのパケット４１の識別子と、パケット４０を転送するＶＸＬＡＮトンネルの識別子とを含む。本発明の実施例では、パケット４０を転送するＶＸＬＡＮトンネルの識別子はＶＸＬＡＮトンネル４００である。
【００６８】
ＶＴＥＰ３は、マッチングルールをＶＴＥＰ３とＶＴＥＰ４との間に介在しているデバイス（すなわちデバイス４１〜デバイス４５）及びＶＴＥＰ４に送信する。
【００６９】
ここで、マッチングルールについては、ＶＸＬＡＮカプセル中のＶＸＬＡＮヘッダ内の先頭の一つの予約フィールドが設定値であり、かつＶＸＬＡＮカプセル中の外側ＵＤＰヘッダ内のＵＤＰ宛先ポート番号が設定されたＶＸＬＡＮポート番号であるとしてもよい。
【００７０】
ＶＴＥＰ３は、ローカルのチップ転送ロジックに従ってパケット４１のパケット特徴パラメータを算出することにより、ＵＤＰソースポート番号を特定する。また、ＶＴＥＰ３は、パケット４１のために特定したＵＤＰソースポート番号及びローカルに予め配置された、パケット４１にマッチングするレジスタエントリにおけるＶＸＬＡＮトンネル４００を用いて、パケット４１に対してＶＸＬＡＮカプセル化を行う。また、ＶＴＥＰ３は、ＶＸＬＡＮトンネル４００に対応するＶＸＬＡＮトンネルを通じて、ＶＸＬＡＮカプセル化されたパケット４１を転送する。ここで、パケット４１のＶＸＬＡＮカプセルはパケット４０のＶＸＬＡＮカプセルに比べて、パケット４１のＶＸＬＡＮヘッダ内の先頭の一つの予約フィールドの値が設定値であるという点において相違する。パケット４１のＶＸＬＡＮカプセル中の外側ＵＤＰヘッダ内のＵＤＰソースポート番号はパケット４１のために特定したＵＤＰソースポート番号であり、ＵＤＰ宛先ポート番号はＶＸＬＡＮプロトコルで規定する設定ポート番号であり、外側ＩＰヘッダの外側宛先ＩＰアドレスはＶＴＥＰ４のＩＰアドレスであり、外側ソースＩＰアドレスはＶＴＥＰ３のＩＰアドレスである。ここで、ＶＸＬＡＮカプセル化されたパケット４１をパケット４２と称する。
【００７１】
デバイス４１は、パケット４２を受信し、パケット４２のＶＸＬＡＮカプセル中のＶＸＬＡＮヘッダ内の先頭の一つの予約フィールドの値が設定値であり、かつＶＸＬＡＮカプセル中の外側ＵＤＰヘッダ内の宛先ＵＤＰポート番号がＶＸＬＡＮプロトコルで規定する設定ポート番号であることを発見し、ＶＴＥＰ３から配信されたマッチングルールを満たすと判定する。そして、デバイス４１は、ＶＴＥＰ３へパケットロス位置特定パラメータを送信する。ここでのパケットロス位置特定パラメータは、デバイス４１のデバイス識別子を含む。
【００７２】
デバイス４１は、パケット４２のＶＸＬＡＮカプセル中の外側ＩＰヘッダの外側宛先ＩＰアドレスに基づいて、この外側宛先ＩＰアドレスまでの経路を特定する。その結果、この経路は、順にデバイス４１→デバイス４２→デバイス４３→デバイス４４→ＶＴＥＰ４と、デバイス４１→デバイス４５→デバイス４３→デバイス４４→ＶＴＥＰ４という２つの等コスト経路を含むことを発見する。これに基づき、デバイス４１は、パケット４２のＶＸＬＡＮカプセル中の外側ＵＤＰヘッダのＵＤＰソースポート番号に基づいてハッシュ演算を行い、ハッシュ演算の結果に基づいて、デバイス４１→デバイス４２→デバイス４３→デバイス４４→ＶＴＥＰ４という経路を選択して、受信したパケット４２を引き続き転送する。
【００７３】
デバイス４２〜デバイス４５がパケット４２を受信した後に行う処理は、デバイス４１で行う処理と類似する。
【００７４】
ＶＴＥＰ４は、パケット４２を受信した後、パケット４２のＶＸＬＡＮカプセル中のＶＸＬＡＮヘッダ内の先頭の一つの予約フィールドの値が設定値であり、かつＶＸＬＡＮカプセル中の外側ＵＤＰヘッダ内のＵＤＰ宛先ポート番号がＶＸＬＡＮプロトコルで規定する設定ポート番号であることを発見し、ＶＴＥＰ３から送信されたマッチングルールを満たすと特定する。そして、ＶＴＥＰ４は、ＶＴＥＰ３へパケットロス位置特定パラメータを送信する。また、ＶＸＬＡＮカプセル中の外側ＩＰヘッダの外側宛先ＩＰアドレスが自ＶＴＥＰ４のＩＰアドレスであることを発見すると、受信したパケット４２を破棄する。
【００７５】
ＶＴＥＰ３は、受信したパケットロス位置特定パラメータに基づいてパケットロス発生デバイスを特定する。ＶＴＥＰ３が如何にパケットロス発生デバイスを特定するかについて、上記形態ｂを例にして説明する。
【００７６】
例えば、ＶＴＥＰ３はまずデバイス４１から送信されたパケットロス位置特定パラメータを受信し、デバイス４１から送信されたパケットロス位置特定パラメータを現在のパケットロス位置特定パラメータとする。また、現在のパケットロス位置特定パラメータを受信した時間が時間Ｔ１であると特定し、Ｔ１後の設定時間（例えば１００ｍｓ）内にさらにパケットロス位置特定パラメータを受信したか否かを判定する。デバイス４２から送信されたパケットロス位置特定パラメータをさらに受信したことを発見すると、デバイス４２から送信されたパケットロス位置特定パラメータを現在のパケットロス位置特定パラメータとする。また、現在のパケットロス位置特定パラメータを受信した時間を時間Ｔ２として特定し、Ｔ２後の設定時間（例えば１００ｍｓ）内にさらにパケットロス位置特定パラメータを受信したか否かを判定する。デバイス４３から送信されたパケットロス位置特定パラメータをさらに受信したことを発見すると、デバイス４３から送信されたパケットロス位置特定パラメータを現在のパケットロス位置特定パラメータとする。また、現在のパケットロス位置特定パラメータを受信した時間を時間Ｔ３として特定し、Ｔ３後の設定時間（例えば１００ｍｓ）内にさらにパケットロス位置特定パラメータを受信したか否かを判定する。パケットロス位置特定パラメータがさらに受信されないことを発見すると、デバイス４３をパケットロス発生デバイスとして特定する。すなわち、上記パケット４０はデバイス４３でパケットロスが発生したと特定する。
【００７７】
以上は、本発明の実施例で提供するパケットロス位置特定方法を説明した。以下、本発明の実施例で提供するパケットロス位置特定装置を説明する。
【００７８】
図４は、本発明の実施例で提供する、ＶＸＬＡＮに適用されるパケットロス位置特定装置の構成の模式図である。前記装置は第１のＶＴＥＰに適用される。図４に示すように、この装置は、特定手段４０１と転送手段４０２とを含む。
【００７９】
特定手段４０１は、第１のトンネル・エンドポイント（ＶＴＥＰ）にローカルで接続している第１の仮想マシンＶＭから送信されたサービスパケットが第２のＶＴＥＰに接続している第２のＶＭに到達しなかった場合、前記サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する。本発明の実施例において、前記シミュレーションパケットのパケット特徴パラメータは、前記サービスパケットのパケット特徴パラメータと同一である。
【００８０】
転送手段４０２は、第１のＶＴＥＰのローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出することにより、ＵＤＰのソースポート番号を特定する。また、転送手段４０２は、シミュレーションパケットのために特定したＵＤＰソースポート番号及びローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリにおけるＶＸＬＡＮトンネル識別子を用いて、シミュレーションパケットに対してＶＸＬＡＮカプセル化を行う。また、転送手段４０２は、前記ＶＸＬＡＮトンネル識別子に対応するＶＸＬＡＮトンネルを通じて、ＶＸＬＡＮカプセル化されたシミュレーションパケットを転送する。これにより、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスがパケットロス位置特定デバイスへ、前記サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信するようにする。
【００８１】
本発明の実施例において、ＶＸＬＡＮにおいてＶＴＥＰを管理するコントローラが前記パケットロス位置特定デバイスである場合、「前記特定手段４０１は、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する」ことは、コントローラから送信された、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信することを含む。
【００８２】
本発明の実施例において、第１のＶＴＥＰが前記パケットロス位置特定デバイスである場合、「前記特定手段４０１は、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する」ことは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを生成することを含む。
【００８３】
本発明の実施例において、シミュレーションパケットにマッチングするレジスタエントリにおける前記ＶＸＬＡＮトンネル識別子は、第１のＶＴＥＰが前記サービスパケットを送信する際に用いるＶＸＬＡＮトンネルに対応するＶＸＬＡＮトンネル識別子である。
【００８４】
本発明の実施例において、ＶＸＬＡＮにおいてＶＴＥＰを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、コントローラが、第１のＶＭから送信されたサービスパケットが第２のＶＭに到達しなかったと特定した際に生成して第１のＶＴＥＰに送信したものである。
【００８５】
本発明の実施例において、第１のＶＴＥＰが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、第１のＶＴＥＰが、第１のＶＭから送信されたサービスパケットが第２のＶＭに到達しなかったと特定した際に生成したものである。
【００８６】
本発明の実施例において、第１のＶＴＥＰが前記パケットロス位置特定デバイスである場合、図４に示すように、この装置はさらに以下のものを含む。
【００８７】
受信手段４０３は、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスから送信されるパケットロス位置特定パラメータを受信する。パケットロス位置特定パラメータは、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスのデバイス識別子を含む。
【００８８】
位置特定手段４０４は、受信したパケットロス位置特定パラメータに基づいて、第１のＶＭと第２のＶＭとの間にあるパケットロス発生デバイスを特定する。
【００８９】
本発明の実施例において、ＶＸＬＡＮにおいてＶＴＥＰを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記第１のＶＴＥＰが複数のデバイスを集約して形成したスタックデバイスであれば、「前記特定手段４０１は、コントローラから送信された、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信する」ことは、以下のことを含む。
【００９０】
コントローラから送信されたシミュレーションパケットを受信する。このシミュレーションパケットは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのものであって、かつ前記第１のＶＴＥＰ中のメンバデバイスのデバイス識別子を含む。シミュレーションパケットにおける前記デバイス識別子の位置は、シミュレーションパケットにおけるパケット特徴パラメータの位置と異なる。
【００９１】
あるいは、コントローラから送信された設定パケットを受信する。この設定パケットは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを含む。前記設定パケットのソースＭＡＣアドレスは前記第１のＶＭのＭＡＣアドレスである。
【００９２】
前記設定パケットのソースＭＡＣアドレスが、前記第１のＶＴＥＰ中のメンバデバイスが学習したソースＭＡＣアドレスにマッチングするものであるか否かを判定する。マッチングするものである場合には、前記設定パケットの中から、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを解析する。
【００９３】
本発明の実施例では、図４に示す装置のハードウェア構成の模式図をさらに提供する。図５を参照する。図５は、本発明の実施例で提供する、ＶＸＬＡＮに適用されるパケットロス位置特定装置のハードウェア構成の模式図である。前記装置は第１のＶＴＥＰである。
【００９４】
図５に示すように、この装置は、プロセッサー５０１（例えばＣＰＵ）と、不揮発性メモリ５０２とを含む。
【００９５】
本発明の実施例において、不揮発性メモリ５０２は、プロセッサー５０１によって実行可能な特定コマンド及び転送コマンドを含む機器読み取り可能なコマンドを記憶する。
【００９６】
本発明の実施例において、プロセッサー５０１（例えばＣＰＵ）は、不揮発性メモリ５０２に記憶されている特定コマンドを読み取ることにより、以下のステップを実現する。
【００９７】
ローカルで接続している第１の仮想マシンＶＭから送信されたサービスパケットが第２のＶＴＥＰに接続している第２のＶＭに到達しなかった場合、前記サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する。前記シミュレーションパケットのパケット特徴パラメータは、前記サービスパケットのパケット特徴パラメータと同一である。
【００９８】
本発明の実施例において、プロセッサー５０１は、不揮発性メモリ５０２に記憶されている転送コマンドを読み取ることにより、以下のステップを実現する。
【００９９】
ローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出することにより、ＵＤＰのソースポート番号を特定する。また、シミュレーションパケットのために特定したＵＤＰソースポート番号及びローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリにおけるＶＸＬＡＮトンネル識別子を用いて、シミュレーションパケットに対してＶＸＬＡＮカプセル化を行う。また、前記ＶＸＬＡＮトンネル識別子に対応するＶＸＬＡＮトンネルを通じて、ＶＸＬＡＮカプセル化されたシミュレーションパケットを転送する。これにより、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスがパケットロス位置特定デバイスへ、前記サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信するようにする。
【０１００】
本発明の実施例において、ＶＸＬＡＮにおいてＶＴＥＰを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記プロセッサー５０１は、不揮発性メモリ５０２に記憶されている特定コマンドを読み取ることにより、以下のことを実現する。
【０１０１】
コントローラから送信された、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信する。
【０１０２】
第１のＶＴＥＰが前記パケットロス位置特定デバイスである場合、前記プロセッサー５０１は、不揮発性メモリ５０２に記憶されている特定コマンドを読み取ることにより、以下のことを実現する。
【０１０３】
サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを生成する。
【０１０４】
本発明の実施例において、前記シミュレーションパケットにマッチングするレジスタエントリにおける前記ＶＸＬＡＮトンネル識別子は、第１のＶＴＥＰが前記サービスパケットを送信する際に用いるＶＸＬＡＮトンネルに対応するＶＸＬＡＮトンネル識別子である。
【０１０５】
ＶＸＬＡＮにおいてＶＴＥＰを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、コントローラが、第１のＶＭから送信されたサービスパケットが第２のＶＭに到達しなかったと特定した際に生成して第１のＶＴＥＰに送信したものである。
【０１０６】
第１のＶＴＥＰが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、第１のＶＴＥＰが、第１のＶＭから送信されたサービスパケットが第２のＶＭに到達しなかったと特定した際に生成したものである。
【０１０７】
本発明の実施例において、第１のＶＴＥＰが前記パケットロス位置特定デバイスである場合、不揮発性メモリ５０２は受信コマンド及び位置特定コマンドをさらに記憶する。
【０１０８】
本発明の実施例において、プロセッサー５０１は、不揮発性メモリ５０２に記憶されている受信コマンドを読み取ることにより、以下のステップを実現する。
【０１０９】
ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスから送信されるパケットロス位置特定パラメータを受信する。パケットロス位置特定パラメータは少なくとも、ＶＸＬＡＮカプセル化されたシミュレーションパケットを受信したデバイスのデバイス識別子を含む。
【０１１０】
本発明の実施例において、プロセッサー５０１は、不揮発性メモリ５０２に記憶されている位置特定コマンドを読み取ることにより、以下のステップを実現する。
【０１１１】
受信したパケットロス位置特定パラメータに基づいて、第１のＶＭと第２のＶＭとの間にあるパケットロス発生デバイスを特定する。
【０１１２】
本発明の実施例において、ＶＸＬＡＮにおいてＶＴＥＰを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記第１のＶＴＥＰが複数のデバイスを集約して形成したスタックデバイスであれば、前記プロセッサー５０１は、不揮発性メモリ５０２に記憶されている特定コマンドを読み取ることにより、以下のことを実現する。
【０１１３】
第１のＶＴＥＰ中の各メンバデバイスは、コントローラから送信されたシミュレーションパケットを受信する。このシミュレーションパケットは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのものであって、かつ当該メンバデバイスのデバイス識別子を含む。シミュレーションパケットにおける前記デバイス識別子の位置は、シミュレーションパケットにおけるパケット特徴パラメータの位置と異なる。
【０１１４】
あるいは、第１のＶＴＥＰ中の各メンバデバイスは、コントローラから送信された設定パケットを受信する。この設定パケットは、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを含む。前記設定パケットのソースＭＡＣアドレスは前記第１のＶＭのＭＡＣアドレスである。
【０１１５】
第１のＶＴＥＰ中の各メンバデバイスは、前記設定パケットのソースＭＡＣアドレスが、自デバイスが学習したソースＭＡＣアドレスにマッチングするものであるか否かを判定する。マッチングするものである場合には、前記設定パケットの中から、サービスパケットを第１のＶＭから第２のＶＭに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを解析する。
【０１１６】
上述した例は本発明の好ましい実施例に過ぎず、本発明はこれらに限定されるものではない。本発明の要旨を逸脱しない範囲で行われたいかなる修正、等価の代替及び改良等はいずれも、本発明の範囲に含まれることは言うまでもない。
【図１】
0006514415.tif 000002
【図２】
0006514415.tif 000003
【図３】
0006514415.tif 000004
【図４】
0006514415.tif 000005
【図５】
0006514415.tif 000006