(57)【特許請求の範囲】
【請求項１】
仮想プライベートＬＡＮサービス（ＶＰＬＳ：ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ＬＡＮ  ｓｅｒｖｉｃｅ）に基づく通信ネットワークのエッジルータにおいてメッセージを処理する方法であって、エッジルータは第２エッジルータと相互接続され、エッジルータおよび第２エッジルータはそれぞれ第１装置および第２装置に対して通信ネットワークへのアクセスを提供し、方法は、
第１装置のＭＡＣアドレスをＬ２送信元アドレスとして含み、第２装置のＩＰアドレスをＬ３宛先アドレスとして含む第１装置からのメッセージが受信されるとき、メッセージのＬ２送信元アドレスを第１装置の仮想ＭＡＣアドレスへ変換することと、
第１装置の仮想ＭＡＣアドレスを有するメッセージを、第２装置のＩＰアドレスに応じて第２エッジルータへ送信することと
を備え、
第１装置の仮想ＭＡＣアドレスは、エッジルータを識別する情報ＰＥＩＤと、第１装置を識別する情報ＶＭＩＤと、第１装置が識別される際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含む、方法。
【請求項２】
メッセージがアドレス解決プロトコル（ＡＲＰ：Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）要求メッセージである場合、第１装置が仮想マシンであり、第２装置が仮想マシンまたはクラウド顧客装置であり、
メッセージがＡＲＰ応答メッセージである場合、第１装置が仮想マシンまたはクラウド顧客装置であり、第２装置が仮想マシンである、請求項１に記載の方法。
【請求項３】
エッジルータを識別する情報が、エッジルータのＭＡＣアドレスのネットワークインターフェースカードの特定フィールドから得られるか、または、エッジルータのＩＰアドレスから得られる、請求項１または２に記載の方法。
【請求項４】
エッジルータに格納されたｕＭＡＣ−ｖＭＡＣマッピングテーブルに応じて、メッセージの送信元アドレスを、第１装置の仮想ＭＡＣアドレスに変換することをさらに備える、請求項１または２に記載の方法。
【請求項５】
ＶＰＬＳに基づく通信ネットワークのエッジルータにおいてデータパケットを送信する方法であって、エッジルータは第２エッジルータと相互接続され、エッジルータおよび第２エッジルータはそれぞれ第１装置および第２装置に対して通信ネットワークへのアクセスを提供し、方法は、
送信元アドレスが第１装置のＭＡＣアドレスであり、宛先アドレスが第２装置の仮想ＭＡＣアドレスである第１装置からの第１データパケットが受信されるとき、第１データパケットの送信元アドレスを第１装置の仮想ＭＡＣアドレスへ変換することと、
送信元アドレスが第２装置の仮想ＭＡＣアドレスであり、宛先アドレスが第１装置の仮想ＭＡＣアドレスである第２装置からの第２データパケットが受信されるとき、第２データパケットの宛先アドレスを第１装置のＭＡＣアドレスへ変換することと
を備え、
第１装置の仮想ＭＡＣアドレスは、エッジルータを識別する情報ＰＥＩＤと、第１装置を識別する情報ＶＭＩＤと、第１装置を識別する際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含み、
第２装置の仮想ＭＡＣアドレスは、第２エッジルータを識別する情報ＰＥＩＤと、第２装置を識別する情報ＶＭＩＤと、第２装置を識別する際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含む、方法。
【請求項６】
第２装置の仮想ＭＡＣアドレスのＰＥＩＤ情報に応じて、第１データパケットの出力ポートを決定することと、
第１装置の仮想ＭＡＣアドレスのＰＥＩＤ情報に応じて、第２データパケットの出力ポートを決定することと
をさらに備える、請求項５に記載の方法。
【請求項７】
エッジルータに格納されたｕＭＡＣ−ｖＭＡＣマッピングテーブルに応じて、第１データパケットの送信元アドレスが第１装置の仮想ＭＡＣアドレスへ変換され、第２データパケットの宛先アドレスが第１装置のＭＡＣアドレスへ変換される、請求項５または６に記載の方法。
【請求項８】
ＶＰＬＳに基づく通信ネットワークにおいてメッセージを処理するエッジルータであって、エッジルータは第２エッジルータと相互接続され、エッジルータおよび第２エッジルータはそれぞれ第１装置および第２装置に対して通信ネットワークへのアクセスを提供し、エッジルータは、
第１装置のＭＡＣアドレスをＬ２送信元アドレスとして含み、第２装置のＩＰアドレスをＬ３宛先アドレスとして含む第１装置からのメッセージが受信されるとき、メッセージの送信元アドレスを第１装置の仮想ＭＡＣアドレスへ変換するように構成される送信元アドレス変換モジュールと、
第１装置の仮想ＭＡＣアドレスを有するメッセージを、第２装置のＩＰアドレスに応じて第２エッジルータへ送信するように構成されるメッセージ送信モジュールと
を備え、
第１装置の仮想ＭＡＣアドレスは、エッジルータを識別する情報ＰＥＩＤと、第１装置を識別する情報ＶＭＩＤと、第１装置を識別する際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含む、エッジルータ。
【請求項９】
メッセージがＡＲＰ要求メッセージである場合、第１装置が仮想マシンであり、第２装置が仮想マシンまたはクラウド顧客装置であり、
メッセージがＡＲＰ応答メッセージである場合、第１装置が仮想マシンまたはクラウド顧客装置であり、第２装置が仮想マシンである、請求項８に記載のエッジルータ。
【請求項１０】
エッジルータを識別する情報が、エッジルータのＭＡＣアドレスのネットワークインターフェースカードの特定フィールドから得られるか、または、エッジルータのＩＰアドレスから得られる、請求項８または９に記載のエッジルータ。
【請求項１１】
送信元アドレス変換モジュールが、エッジルータに格納されたｕＭＡＣ−ｖＭＡＣマッピングテーブルに応じて、メッセージの送信元アドレスを、第１装置の仮想ＭＡＣアドレスに変換するようにさらに構成される、請求項８または９に記載のエッジルータ。
【請求項１２】
ＶＰＬＳに基づく通信ネットワークにおいてデータパケットを送信するエッジルータであって、エッジルータは第２エッジルータと相互接続され、エッジルータおよび第２エッジルータはそれぞれ第１装置および第２装置に対して通信ネットワークへのアクセスを提供し、エッジルータは、
第１装置のＭＡＣアドレスである送信元アドレスと、第２装置の仮想ＭＡＣアドレスである宛先アドレスとを含む第１装置からの第１データパケットが受信されるとき、第１データパケットの送信元アドレスを第１装置の仮想ＭＡＣアドレスへ変換するように構成される第１ＭＡＣアドレス変換モジュールと、
第２装置の仮想ＭＡＣアドレスである送信元アドレスと、第１装置の仮想ＭＡＣアドレスである宛先アドレスとを含む第２装置からの第２データパケットが受信されるとき、第２データパケットの宛先アドレスを第１装置のＭＡＣアドレスへ変換するように構成される第２ＭＡＣアドレス変換モジュールと
を備え、
第１装置の仮想ＭＡＣアドレスは、エッジルータを識別する情報ＰＥＩＤと、第１装置を識別する情報ＶＭＩＤと、第１装置を識別する際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含み、
第２装置の仮想ＭＡＣアドレスは、第２エッジルータを識別する情報ＰＥＩＤと、第２装置を識別する情報ＶＭＩＤと、第２装置を識別する際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含む、エッジルータ。
【請求項１３】
第２装置の仮想ＭＡＣアドレスのＰＥＩＤ情報に応じて、第１データパケットの出力ポートを決定するように構成される第１データ出力ポート決定モジュールと、
第１装置の仮想ＭＡＣアドレスのＰＥＩＤ情報に応じて、第２データパケットの出力ポートを決定するように構成される第２データ出力ポート決定モジュールと
をさらに備える、請求項１２に記載のエッジルータ。
【請求項１４】
第１ＭＡＣアドレス変換モジュールが、エッジルータに格納されたｕＭＡＣ−ｖＭＡＣマッピングテーブルに応じて、第１データパケットの送信元アドレスを第１装置の仮想ＭＡＣアドレスに変換するようにさらに構成され、
第２ＭＡＣアドレス変換モジュールが、エッジルータに格納されたｕＭＡＣ−ｖＭＡＣマッピングテーブルに応じて、第２データパケットの宛先アドレスを第１装置のＭＡＣアドレスに変換するようにさらに構成される、請求項１２または１３に記載のエッジルータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信分野、特に、仮想プライベートＬＡＮサービス（ＶＰＬＳ：ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ＬＡＮ  ｓｅｒｖｉｃｅ）に基づくルータに関する。
【背景技術】
【０００２】
クラウドコンピューティングは、効率的で、オンデマンドの、費用効率の高いコンピューティングサービスを、企業、組織、または個人へ提供するための魅力的なモデルである。知られているように、仮想マシンは、クラウドサービスにより提供されている基本的なコンピューティングリソースブロックである。各仮想マシンは、一組の仮想ネットワークインターフェースカード（ｖＮＩＣｓ：Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄｓ）を有する独立したＩＰホストとして動作し、各ｖＮＩＣは自身のＭＡＣアドレスを有し、物理イーサネット（登録商標）インターフェースへマッピングされている。近年、異なるデータセンターの全ての仮想マシンおよび物理サーバーを単一のＬＡＮ（つまり、同一サブネット内）上で動作させることで、仮想マシンの管理が簡素化され、および仮想マシンの移行が柔軟になるなどの多くの恩恵がもたらされ得ることが認識されており、具体的には、Ｃｉｓｃｏ、「Ｄａｔａ  Ｃｅｎｔｅｒ  Ｉｎｔｅｒｃｏｎｎｅｃｔ：Ｌａｙｅｒ  ２  Ｅｘｔｅｎｓｉｏｎ  Ｂｅｔｗｅｅｎ  Ｒｅｍｏｔｅ  Ｄａｔａ  Ｃｅｎｔｅｒｓ」を参考されたい。今日では、ＶＰＬＳは、ＩＰ／ＭＰＬＳインフラ上で透過型ＬＡＮサービス（ＴＬＳ：ｔｒａｎｓｐａｒｅｎｔ  ＬＡＮ  ｓｅｒｖｉｃｅ）を提供する主要技術として広くみなされてきた。図１に、ＶＰＬＳサービスに基づく単一大型Ｌ２ネットワーク上のクラウドネットワーキングの一般的なアーキテクチャを示す。
【０００３】
今日では、単一の物理ホスト／サーバーが、仮想化技術を用いて、現在数十台から数百台の仮想マシンをサポートすることができ、具体的にはＩｇｏｒ  Ｇａｓｈｉｎｓｋｙ、「Ｄａｔａ  Ｃｅｎｔｅｒ  Ｓｃａｌａｂｉｌｉｔｙ  Ｐａｎｅｌ」、ｈｔｔｐ：／／ｗｗｗ．ｎａｎｏｇ．ｏｒｇ／ｍｅｅｔｉｎｇｓ／ｎａｎｏｇ５２／ｐｒｅｓｅｎｔａｔｉｏｎｓ／Ｔｕｅｓｄａｙ／Ｇａｓｈｉｎｓｋｙ−３−Ｙ−Ｄａｔａｃｅｎｔｅｒ−ｓｃａｌａｂｉｌｉｔｙ．ｐｄｆ、２０１０年６月１４日を参考されたいが、これにより、１つのデータセンターにおける仮想マシンの数は１００万台から１０００万台に上り得る（つまり、物理ホスト／サーバーの１０から１００倍）。その数は将来さらに大きくなり得ると考えられる。そのような大きい数は、Ｌ２クラウドネットワークの規模および密度両方の著しい増加を意味する。知られているように、大型かつフラットなＬＡＮは厳しい拡張の難題に悩まされており、具体的にはＧｉｒｉｓｈ  Ｃｈｉｒｕｖｏｌｕら、「Ｉｓｓｕｅｓ  ａｎｄ  Ａｐｐｒｏａｃｈｅｓ  ｏｎ  Ｅｘｔｅｎｄｉｎｇ  Ｅｔｈｅｒｎｅｔ（登録商標）  Ｂｅｙｏｎｄ  ＬＡＮｓ」、ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｍａｇａｚｉｎｅ、２００４年３月を参考されたい。本発明は、ＶＰＬＳに基づくクラウドネットワーキングにおける以下の特定の技術課題を解決することを目的とする。
【０００４】
課題１：プロバイダのエッジルータにおけるＭＡＣアドレスおよび転送テーブルの激増。仮想マシンの数が多くなると、ＭＡＣアドレスおよび転送エントリも大量となる。相互接続されたデータセンターの数をＮとし、その各々はＭ台の仮想マシンを有すると仮定する。図１に示すように、各ＶＰＬＳ  ＰＥのＭＡＣ転送エントリ数は少なくともＮ×Ｍである。表１に、プロバイダエッジルータのＭＡＣ転送テーブルにおけるＭＡＣアドレスおよび転送エントリの典型的な数を示す。たとえば、行１（２）は、１つのサービスインスタンスが、１００万台（１０００万台）の仮想マシンが動作する１つのデータセンターを介して提供される状況を示す。行３（４）は、１つのサービスインスタンスが、各々１００万台（１０００万台）の仮想マシンが動作する５つのデータセンターを介して共同して提供される状況を示す。これは、ＭＡＣアドレスおよび転送エントリの数が１００万個から５０００万個であることを意味する。それらは、４０００個から１０万個のＭＡＣアドレスおよび転送規則をサポートする最新のイーサネットスイッチの容量を凌駕する。
【０００５】
【表１】
0005941223.tif 000002
【０００６】
近年、課題１を解決するために、一部の提案された解決方法は、ＭＡＣアドレススタッキング、あるいは、ＭＡＣ−ｉｎ−ＭＡＣカプセル化を利用する。この手法は、プロバイダエッジルータにおけるＭＡＣアドレスおよび転送エントリ数を減少させる。しかしながら、ＭＡＣアドレススタッキングは、２０バイトのカプセル化のオーバーヘッドをもたらす。クラウドネットワーキング要素における仮想マシンの数が多いことを考量すれば、累積したオーバーヘッドは相当な余剰トラフィックの主要因となる。
【０００７】
この問題の最良の既存の解決方法は、仮想マシンまたはホスト／サーバーに直接接続された、第１ホップのスイッチによるＭＡＣアドレススタッキングである。この解決方法の主な欠点は：データセンターの旧式の配備には利用できないことである。この解決方法は、ＭＡＣアドレススタッキングを実行するために、第１ホップのスイッチがＩＥＥＥ８０２．１ａｈと互換性があることを要求する。しかしながら、全ての既存のデータセンターがこの要求を満たしているというのは間違いである。現実には、８０２．１ａｈをサポートすることができるデータセンタースイッチは、もしあってもごく少ない。そのため、この解決方法は、一般的なデータセンター配備の場合には無効である。
【０００８】
まとめると、本発明の目的は、カプセル化のオーバーヘッドなしで、アドレスおよび転送テーブルの激増に対処するという問題を解決するための解決方法を見出すことである。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Ｃｉｓｃｏ、「Ｄａｔａ  Ｃｅｎｔｅｒ  Ｉｎｔｅｒｃｏｎｎｅｃｔ：Ｌａｙｅｒ  ２  Ｅｘｔｅｎｓｉｏｎ  Ｂｅｔｗｅｅｎ  Ｒｅｍｏｔｅ  Ｄａｔａ  Ｃｅｎｔｅｒｓ」
【非特許文献２】Ｉｇｏｒ  Ｇａｓｈｉｎｓｋｙ、「Ｄａｔａ  Ｃｅｎｔｅｒ  Ｓｃａｌａｂｉｌｉｔｙ  Ｐａｎｅｌ」、ｈｔｔｐ：／／ｗｗｗ．ｎａｎｏｇ．ｏｒｇ／ｍｅｅｔｉｎｇｓ／ｎａｎｏｇ５２／ｐｒｅｓｅｎｔａｔｉｏｎｓ／Ｔｕｅｓｄａｙ／Ｇａｓｈｉｎｓｋｙ−３−Ｙ−Ｄａｔａｃｅｎｔｅｒ−ｓｃａｌａｂｉｌｉｔｙ．ｐｄｆ、２０１０年６月１４日
【非特許文献３】Ｇｉｒｉｓｈ  Ｃｈｉｒｕｖｏｌｕら、「Ｉｓｓｕｅｓ  ａｎｄ  Ａｐｐｒｏａｃｈｅｓ  ｏｎ  Ｅｘｔｅｎｄｉｎｇ  Ｅｔｈｅｒｎｅｔ  Ｂｅｙｏｎｄ  ＬＡＮｓ」、ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｍａｇａｚｉｎｅ、２００４年３月
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、Ｌ２ドメインクラウドネットワーキングにおける上述の技術課題を解決するための仮想ＭＡＣに基づく対処方法を提案する。
【課題を解決するための手段】
【００１１】
第１の態様によれば、本発明は、ＶＰＬＳに基づく通信ネットワークのエッジルータにおいてメッセージを処理する方法であって、エッジルータは第２エッジルータと相互接続され、エッジルータおよび第２エッジルータはそれぞれ第１装置および第２装置に対して通信ネットワークへのアクセスを提供し、方法は：第１装置のＭＡＣアドレスをＬ２送信元アドレスとして含み、第２装置のＩＰアドレスをＬ３宛先アドレスとして含む第１装置からのメッセージが受信されるとき、メッセージのＬ２送信元アドレスを第１装置の仮想ＭＡＣアドレスへ変換することと、第１装置の仮想ＭＡＣアドレスを有するメッセージを、第２装置のＩＰアドレスに応じて第２エッジルータへ送信することとを備え、第１装置の仮想ＭＡＣアドレスは、エッジルータを識別する情報ＰＥＩＤと、第１装置を識別する情報ＶＭＩＤと、第１装置が識別される際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含む、方法を示す。
【００１２】
本発明の実施形態によれば、メッセージがアドレス解決プロトコル（ＡＲＰ：Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）要求メッセージである場合、第１装置が仮想マシンであり、第２装置が仮想マシンまたはクラウド顧客装置であり、メッセージがＡＲＰ応答メッセージである場合、第１装置が仮想マシンまたはクラウド顧客装置であり、第２装置が仮想マシンである。
【００１３】
本発明の実施形態によれば、エッジルータを識別する情報が、エッジルータのＭＡＣアドレスのネットワークインターフェースカードの特定フィールドから得られるか、または、エッジルータのＩＰアドレスから得られる。
【００１４】
本発明の好ましい実施形態によれば、方法は、エッジルータに格納されたｕＭＡＣ−ｖＭＡＣマッピングテーブルに応じて、メッセージの送信元アドレスを、第１装置の仮想ＭＡＣアドレスに変換することを備える。
【００１５】
第２の態様によれば、本発明は、ＶＰＬＳに基づく通信ネットワークのエッジルータにおいてデータパケットを送信する方法であって、エッジルータは第２エッジルータと相互接続され、エッジルータおよび第２エッジルータはそれぞれ第１装置および第２装置に対して通信ネットワークへのアクセスを提供し、方法は：
送信元アドレスが第１装置のＭＡＣアドレスであり、宛先アドレスが第２装置の仮想ＭＡＣアドレスである第１装置からの第１データパケットが受信されるとき、第１データパケットの送信元アドレスを第１装置の仮想ＭＡＣアドレスへ変換することと、
送信元アドレスが第２装置の仮想ＭＡＣアドレスであり、宛先アドレスが第１装置の仮想ＭＡＣアドレスである第２装置からの第２データパケットが受信されるとき、第２データパケットの宛先アドレスを第１装置のＭＡＣアドレスへ変換することとを備え、
第１装置の仮想ＭＡＣアドレスは、エッジルータを識別する情報ＰＥＩＤと、第１装置を識別する情報ＶＭＩＤと、第１装置を識別する際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含み、
第２装置の仮想ＭＡＣアドレスは、第２エッジルータを識別する情報ＰＥＩＤと、第２装置を識別する情報ＶＭＩＤと、第２装置を識別する際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含む、方法を示す。
【００１６】
本発明の実施形態によれば、方法は、第２装置の仮想ＭＡＣアドレスのＰＥＩＤ情報に応じて、第１データパケットの出力ポートを決定することと、第１装置の仮想ＭＡＣアドレスのＰＥＩＤ情報に応じて、第２データパケットの出力ポートを決定することとをさらに備える。
【００１７】
本発明の好ましい実施形態によれば、エッジルータに格納されたｕＭＡＣ−ｖＭＡＣマッピングテーブルに応じて、第１データパケットの送信元アドレスが第１装置の仮想ＭＡＣアドレスへ変換され、第２データパケットの宛先アドレスが第１装置のＭＡＣアドレスへ変換される。
【００１８】
第３の態様によれば、本発明は、ＶＰＬＳに基づく通信ネットワークにおいてメッセージを処理するエッジルータであって、エッジルータは第２エッジルータと相互接続され、エッジルータおよび第２エッジルータはそれぞれ第１装置および第２装置に対して通信ネットワークへのアクセスを提供し、エッジルータは：第１装置のＭＡＣアドレスをＬ２送信元アドレスとして含み、第２装置のＩＰアドレスをＬ３宛先アドレスとして含む第１装置からのメッセージが受信されるとき、メッセージの送信元アドレスを第１装置の仮想ＭＡＣアドレスへ変換するように構成される送信元アドレス変換モジュールと、第１装置の仮想ＭＡＣアドレスを有するメッセージを、第２装置のＩＰアドレスに応じて第２エッジルータへ送信するように構成されるメッセージ送信モジュールとを備え、第１装置の仮想ＭＡＣアドレスは、エッジルータを識別する情報ＰＥＩＤと、第１装置を識別する情報ＶＭＩＤと、第１装置を識別する際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含む、エッジルータを示す。
【００１９】
第４の態様によれば、本発明は、ＶＰＬＳに基づく通信ネットワークにおいてデータパケットを送信するエッジルータであって、エッジルータは第２エッジルータと相互接続され、エッジルータおよび第２エッジルータはそれぞれ第１装置および第２装置に対して通信ネットワークへのアクセスを提供し、エッジルータは：第１装置のＭＡＣアドレスである送信元アドレスと、第２装置の仮想ＭＡＣアドレスである宛先アドレスとを含む第１装置からの第１データパケットが受信されるとき、第１データパケットの送信元アドレスを第１装置の仮想ＭＡＣアドレスへ変換するように構成される第１ＭＡＣアドレス変換モジュールと、第２装置の仮想ＭＡＣアドレスである送信元アドレスと、第１装置の仮想ＭＡＣアドレスである宛先アドレスとを含む第２装置からの第２データパケットが受信されるとき、第２データパケットの宛先アドレスを第１装置のＭＡＣアドレスへ変換するように構成される第２ＭＡＣアドレス変換モジュールとを備え、第１装置の仮想ＭＡＣアドレスは、エッジルータを識別する情報ＰＥＩＤと、第１装置を識別する情報ＶＭＩＤと、第１装置を識別する際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含み、第２装置の仮想ＭＡＣアドレスは、第２エッジルータを識別する情報ＰＥＩＤと、第２装置を識別する情報ＶＭＩＤと、第２装置を識別する際に衝突が起こり得る場合の衝突回避用の情報ＶＩＤＣＡとを含む、エッジルータを示す。
【００２０】
第１に、本発明は、ＶＰＬＳ  ＰＥルータにおけるＭＡＣアドレスおよび転送テーブルサイズを大きく削減する。同一ＰＥＩＤ値を有する全ての仮想ＭＡＣアドレスは１つの転送エントリを共有するので、ＶＰＬＳ  ＰＥ間通信のための転送テーブルは、表２に示した形式へ削減され得る。それゆえ、そのようなテーブル内の転送エントリ数は、仮想ＭＡＣ数ではなく、異なるＰＥＩＤの数に等しい。また、ＶＰＬＳ  ＰＥは、自身の配下の仮想マシンへＭＡＣフレーム転送を行うためのｕＭＡＣ−ｖＭＡＣマッピングテーブルを維持する必要がある。数値比較のため、データセンター数は５とし、各々１０００万台の仮想マシンを保持すると仮定する。従来のＶＰＬＳ  ＰＥでは、転送テーブルが５０００万エントリを保持する必要がある。しかしながら、本発明により、ＶＰＬＳ  ＰＥが１０００万４エントリの転送テーブルを維持することが可能となる。転送テーブルサイズが約８０％削減されることがわかる。また、学習すべきＭＡＣアドレス数もまた約８０％削減される。
【００２１】
第２に、本発明は、プロバイダのＶＰＬＳ  ＰＥおよび仮想マシン間の中間スイッチの修正またはあらゆるアップグレードを要しない。そのため、提案された解決方法は、既存のデータセンターへ適用可能であり、投資を保護することができる。
【００２２】
また、本発明は、ＭＡＣアドレススタッキングを要しない。それゆえ、余剰の通信オーバーヘッドをもたらすことはない。また、本発明は、仮想マシンまたはクラウド顧客上のＭＡＣフレームの修正を要しない。さらに、本発明は、アドレス要求／応答処理において余剰の通信オーバーヘッドをもたらさない。
【００２３】
以下の詳細な説明および図面を参照して、本発明の例示の実施形態がより包括的に理解されるであろう。図面において、同一の要素は同一の参照符号により示され、また、図面は例示の目的のためだけに提供されるので、本発明を限定するように解釈され得ない。
【図面の簡単な説明】
【００２４】
【図１】例示のＶＰＬＳに基づくＬ２ドメインクラウドネットワーキング環境１００を示す図である。
【図２】ローカル一意仮想ＭＡＣアドレスの例示の符号化フォーマットを示す図である。
【図３】本発明によるＶＰＬＳ  ＰＥ間アドレス要求／応答のアドレス解決処理を例示する図である。
【図４】本発明によるＶＰＬＳ  ＰＥ間通信の実施形態を例示する図である。
【発明を実施するための形態】
【００２５】
それでは、図面を参照して、本発明の様々な例示の実施形態をより包括的に説明することにする。本明細書で開示される特定の構造および機能の詳細は、例示の実施形態を説明するためだけのものであることは注意されたい。例示の実施形態は様々な代替形式で具現化され得るが、本明細書に記載された実施形態に限定されるように解釈されることはないだろう。当業者は、本明細書では明示的に示したり記載したりしないが、本発明の原理を具現化し、特許請求の範囲および他の均等形式に記載された本発明の範囲内である様々な配置を考案し得ることは理解されよう。
【００２６】
様々な要素を「第１」および「第２」などの用語で記載するが、これらの用語はこれらの要素を互いに区別するためだけに用いられているので、これらの要素はこれらの用語により限定されるであろうことは理解されよう。たとえば、例示の実施形態の範囲から逸脱しない状況において、第１要素は第２要素と呼ばれることがあり、同様に、第２要素は第１要素と呼ばれることがある。本願の記載にて用いられているように、「および」という用語は連結の意味および分離の意味を同時に表すことができ、関連する項目のリスト内の１つまたは複数の項目の一部または全部の組合せを含む。「備える（ｃｏｍｐｒｉｓｅ）」、「含む（ｉｎｃｌｕｄｅ）」、「含む（ｃｏｎｔａｉｎ）」、および「有する（ｈａｖｅ）」という用語は、本明細書で用いられる場合、特性、整数、ステップ、操作、要素、および／または構成要素の存在を示すが、それは、１つまたは複数の他の特性、整数、ステップ、操作、要素、構成要素、および／またはそれらの組の存在または追加を排さないこともまた理解されよう。さらに、「１つの（ａ）」、「１つの（ａｎ）」、および「もう１つの（ａｎｏｔｈｅｒ）」に関する実施形態の記載は、必ずしも単一の実施形態を指すものではない。
【００２７】
本明細書にて用いられている全ての用語（技術用語および科学用語を含む）の意味は、別途定義されていなければ、例示の実施形態の当業者に理解されるものと完全に同一である。一部の他の代替の実施態様では、機能／操作は、図面に示された順序以外で発生し得ることもまた注意されたい。たとえば、連続して示された２つの図は、実際には基本的に同時に実行されることがあり、あるいは、ある場合においては、これらの図は関連する機能／動作次第で逆順で実行されることがある。
【００２８】
本願における「ＭＡＣアドレス」は一般的な意味、つまりグローバル一意ＭＡＣアドレスを意味し、「仮想ＭＡＣアドレス」は、具体的には、ローカル仮想ＭＡＣアドレス＜ＰＥＩＤ、ＶＩＤＣＡ、ＶＩＤ＞を意味することは注意されたい。
【００２９】
本発明の実施形態によれば、図１は、例示のＶＰＬＳに基づくＬ２ドメインクラウドネットワーキング環境を示す。ＶＰＬＳ  ＰＥ１０１は、顧客スイッチ１１１により、顧客ＬＡＮに接続される。データセンター１２０および１２１は、ＶＰＬＳ  ＰＥ１０２に接続される。データセンター１３０は、ＶＰＬＳ  ＰＥ１０３に接続される。ＶＰＬＳ  ＰＥ１０１、１０２、および１０３は、ＬＳＰを用いて相互接続される。
【００３０】
データセンター１２０、１２１、および１３０は同じ構造であり、データセンター１２０のみ以下詳細に述べる。データセンター１２０において、ラック１４０および１４２は仮想マシンをホストする。ラック１４０および１４２はアクセススイッチ１２６および１２８にそれぞれ接続される。アクセススイッチは、物理ホスト／サーバーおよび仮想マシンへ／から直接的に接続性を提供する。アクセススイッチ１２６および１２８は集約スイッチ１２４へ接続される。典型的なデータセンターでは、集約スイッチは多数のアクセススイッチを相互接続することができる。そして、集約スイッチ１２４はコアスイッチ１２２へ接続される。コアスイッチは複数の集約スイッチを接続することができる。コアスイッチ１２２は、ＶＰＬＳ  ＰＥ１０２に接続されて、外部のプロバイダネットワークへのデータセンター１２０のゲートウェイとしても動作する。
【００３１】
本願の発明者は、ＰＥおよびＶＭの識別子を、ＶＭのローカル一意仮想ＭＡＣ＜ＰＥＩＤ、ＶＩＤＣＡ、ＶＩＤ＞内に、併せて符号化することを考える。仮想マシンのローカル一意仮想ＭＡＣは３つの部分を有する。ＶＩＤ部分は、仮想マシンを識別する。ＶＩＤＣＡ部分は、１つのＶＩＤが３つ以上の仮想マシンに関連づけられている場合の、ＶＩＤ衝突回避のためのものである。ＰＥＩＤは、仮想マシンをホストするデータセンターのコアスイッチに接続された、ＶＰＬＳ  ＰＥルータを識別する。
【００３２】
図２は、ローカル一意仮想ＭＡＣアドレスの例示の符号化フォーマットを示す。
【００３３】
この例では、各仮想マシンは、ＶＰＬＳ  ＰＥにより、＜ＰＥＩＤ，  ＶＩＤＣＡ，  ＶＩＤ＞で表され得るローカル一意仮想ＭＡＣが割り当てられることになり、ここで、
（１）Ｉ／Ｇ：個別／グループアドレスビット。その値は、個別アドレスを示すために０に設定される。
（２）Ｕ／Ｌ：ユニバーサル／ローカル管理アドレスビット。その値は、ローカルに管理されたアドレスを示すために１に設定される。
（３）ＰＥＩＤ：仮想マシンをホストするデータセンターのコアスイッチに接続された、ＶＰＬＳ  ＰＥを識別するＫビットのフィールド。Ｋの参考値は１６であり得、データセンターを相互接続するための６５５３６台のＶＰＬＳ  ＰＥを識別し得る。
【００３４】
注：ＰＥＩＤは複数の識別手法に基づき得る。たとえば、ＰＥＩＤは、ＶＰＬＳ  ＰＥのグローバル一意ＭＡＣのＮＩＣ（ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄ）特定フィールドから導出され得る。また、ＰＥＩＤは、ＶＰＬＳ  ＰＥのＩＰアドレスから導出され得る。
【００３５】
（４）ＶＩＤＣＡ：ＶＩＤ衝突回避に用いるＬビットフィールド。Ｌの参考値は６であり得る。
【００３６】
（５）ＶＩＤ：仮想マシンを識別する（４６−Ｋ−Ｌ）ビットのフィールド。（４６−Ｋ−Ｌ）の参考値は２４であり得、１６，７７７，２１６台の管轄下の仮想マシンを識別できる。
【００３７】
注：ＶＩＤは複数の識別手法に基づき得る。たとえば、ＶＩＤは仮想マシンのグローバル一意ＭＡＣのＮＩＣ特定フィールドから導出され得る。また、ＶＩＤは、仮想マシンおよびその対応するアクセススイッチを併せた情報から導出され得る。
【００３８】
ＶＩＤ衝突に関して２つの場合が存在する。たとえば、１つ目は：（図１に示されるように）データセンター１２０の仮想マシン（たとえば、ＶＭ１９０）が、同じデータセンターの他の仮想マシン（たとえば、ＶＭ１９１）と同じＶＩＤを有する場合である。２つ目は：データセンター１２０の仮想マシン（たとえば、ＶＭ１９０）が、データセンター１２１の他の仮想マシン（たとえば、ＶＭ１９２）と同じＶＩＤを有する場合である。これら２つの場合の両方に対して、ＶＩＤ衝突は、同じＶＩＤに対して異なるＶＩＤＣＡ値を割り当てることで対処され得る。例示の実施形態のように、ＶＩＤＣＡは、集約／コアスイッチ、またはデータセンターの情報を含み得る。
【００３９】
データセンター１２０の仮想マシン（たとえば、ＶＭ１９０）は、データセンター１３０の他の仮想マシン（たとえば、ＶＭ１９４）の同じＶＩＤを有し得ることに注意されたい。データセンター１２０および１３０は、異なるＶＰＬＳ  ＰＥ（つまり、１０２および１０３）と接続される。ＶＩＤはＶＰＬＳ  ＰＥに関してローカルな重要性のみを有するので、この場合は、ＶＩＤ衝突の１つの場合とはみなされ得ない。
【００４０】
以下では、ＶＰＬＳ  ＰＥ間通信において、送信元ＶＰＬＳ  ＰＥは仮想ＭＡＣを用いて、送信元および宛先仮想マシンをそれぞれ識別する。宛先ＶＰＬＳ  ＰＥは、宛先仮想マシンの仮想ＭＡＣを、そのグローバル一意ＭＡＣに変換する。
【００４１】
図３は、ＶＰＬＳ  ＰＥ間のアドレス要求／応答のための修正されたアドレス解決処理を例示する。本実施形態では、ＡＲＰは一例のプロトコルとしてのみ示されている。本明細書における修正は、異なる実施形態における他のプロトコルについても同様であり得る。
【００４２】
ステップ３０１において、ＶＭ１９０は、Ｍ３０１（ＡＲＰ要求）を、ＶＭ１９０のグローバル一意ＭＡＣアドレス（ＶＭ１９０＠ｕＭＡＣ）をその送信元ＭＡＣアドレスとして、ＶＰＬＳ  ＰＥ１０２へ送信する。
【００４３】
ステップ３０２において、ＶＰＬＳ  ＰＥ１０２は、ＡＲＰ要求Ｍ３０１を受信すると、ＶＭ１９０のグローバル一意仮想ＭＡＣアドレス（ＶＭ１９０＠ｕＭＡＣ）の代わりに、ＶＭ１９０のローカル一意仮想ＭＡＣアドレス（ＶＭ１９０＠ｖＭＡＣ）を用いて、Ｍ３０２（ＡＲＰ要求）をＶＰＬＳ  ＰＥ１０３へ送信する。そして、ＶＰＬＳ  ＰＥ１０３は、同じローカル一意仮想ＭＡＣアドレス（ＶＭ１９０＠ｖＭＡＣ）を送信元ＭＡＣアドレスとして、Ｍ３０３（ＡＲＰ要求）をＶＭ１９４に送信する。
【００４４】
ステップ３０３において、ＶＭ１９４は、Ｍ３０３（ＡＲＰ要求）を受信した後、ＶＭ１９４のグローバル一意ＭＡＣアドレス（ＶＭ１９４＠ｕＭＡＣ）をＶＭ１９４へ到達するためのＭＡＣアドレスとして、Ｍ３０４（ＡＲＰ応答）をＶＰＬＳ  ＰＥ１０３へ送信する。
【００４５】
ＶＭ１９４は、受信したＡＲＰ要求パケットＭ３０３から、ＶＭ１９０＠ｖＭＡＣがＶＭ１９０＠ＩＰに関連づけられていると気づき得ることに注意されたい。
【００４６】
ステップ３０４において、ＶＰＬＳ  ＰＥ１０３は、ＡＲＰ応答Ｍ３０４を受信すると、ＶＭ１９４のグローバル一意仮想ＭＡＣアドレス（ＶＭ１９４＠ｕＭＡＣ）の代わりに、ＶＭ１９４のローカル一意仮想ＭＡＣアドレス（ＶＭ１９４＠ｖＭＡＣ）を用いて、Ｍ３０５（ＡＲＰ応答）をＶＰＬＳ  ＰＥ１０２へ送信する。そして、ＶＰＬＳ  ＰＥ１０２は、同じローカル一意仮想ＭＡＣアドレス（ＶＭ１９４＠ｖＭＡＣ）をＶＭ１９４に到達するためのＭＡＣアドレスとして、Ｍ３０６（ＡＲＰ応答）をＶＭ１９０へ送信する。
【００４７】
ＶＰＬＳ  ＰＥ間アドレス要求／応答について、送信元ＶＰＬＳ  ＰＥは、送信元仮想マシンの仮想ＭＡＣを要求において用いる。宛先ＶＰＬＳ  ＰＥは、宛先仮想マシンの仮想ＭＡＣを応答において用いる。結果として、送信元および宛先仮想マシンの両方のグローバル一意ＭＡＣアドレスは、ＶＰＬＳ  ＰＥにより隠蔽される。
【００４８】
本発明では、ＶＰＬＳ  ＰＥ内アドレス要求／応答のためのアドレス解決には影響がないことに注意されたい。例として、ＶＭ１９０がＶＭ１９１の（または１９３の）ＭＡＣアドレスを要求しようとすると仮定する。ＶＭ１９０は、ＶＭ１９０のグローバル一意ＭＡＣアドレス（ＶＭ１９０＠ｕＭＡＣ）をその送信元ＭＡＣアドレスとして、ＡＲＰ要求をＶＰＬＳ  ＰＥ１０２に送信する。ＶＰＬＳ  ＰＥ１０２は、ＶＭ１９１（または１９３）にＶＰＬＳ  ＰＥ間ＬＳＰを渡ることなく到達できることに気づく。そのため、要求における送信元ＭＡＣアドレスはＶＭ１９０のローカル一意仮想ＭＡＣアドレス（ＶＭ１９０＠ｖＭＡＣ）に変更されることはない。最後に、ＡＲＰ応答がＶＭ１９０に返送されることになる。その応答においては、ＶＭ１９１の（または１９３の）ＭＡＣアドレスは、ＶＭ１９１＠ｕＭＡＣ（またはＶＭ１９３＠ｖＭＡＣ）、つまり、グローバル一意ＭＡＣアドレスである。それは、ＶＰＬＳ  ＰＥ１０２において、ＶＭ１９１の（または１９３の）ローカル一意仮想ＭＡＣアドレスに変更されることはない。
【００４９】
本発明の例示の実施形態は、ＶＰＬＳ  ＰＥ上のＭＡＣアドレステーブルを提供する。以下のテーブルは、ＶＰＬＳ  ＰＥ１０２に関する。
【００５０】
表２は、ＶＰＬＳ  ＰＥ１０２を例にした例示のＰＥＩＤテーブルである。このテーブルには、ＶＰＬＳ  ＰＥ１０２のＰＥＩＤと異なるＰＥＩＤと、それらに関連づけられたポートとが記録されている。テーブルは、ＶＰＬＳ  ＰＥ間アドレス要求／応答から得られ得る。ＰＥＩＤ列の値は、仮想マシンのローカル一意仮想ＭＡＣアドレス内のＰＥＩＤフィールドから導出される。
【００５１】
【表２】
0005941223.tif 000003
【００５２】
たとえば、ＰＥＩＤ１０３は、ＶＭ１９４の（または１９５の）ローカル一意仮想ＭＡＣアドレス、つまり、ＶＭ１９４＠ｖＭＡＣ（またはＶＭ１９５＠ｖＭＡＣ）から得られ得る。実際には、仮想ＭＡＣ内に同一のＰＥＩＤを有する全ての宛先仮想マシンは、ＰＥＩＤテーブルにおいて１つの共通のエントリを共有することになる。たとえば、ＶＭ１９４および１９５は、例示の表２における２番目のエントリを共有する。ＰＥＩＤテーブルのサイズは、他のＶＰＬＳ  ＰＥ下の仮想マシン数により決定されないことに注意されたい。代わりに、ＰＥＩＤテーブルのサイズは、ＬＳＰを介してＶＰＬＳ  ＰＥ１０２と接続されたＶＰＬＳ  ＰＥの数により決定される。
【００５３】
表３は、ＶＰＬＳ  ＰＥ１０２を例とする例示のｕＭＡＣ−ｖＭＡＣマッピングテーブルである。
【００５４】
【表３】
0005941223.tif 000004
【００５５】
このテーブルは、仮想マシンのグローバルおよびローカル一意仮想ＭＡＣアドレス、つまり、ｕＭＡＣおよびｖＭＡＣ間のマッピング関係を維持する。ＶＰＬＳ  ＰＥ１０２下の仮想マシンのみがこのマッピングテーブル内で考慮されるべきであることに注意されたい。加えて、これらの仮想マシンのローカル一意仮想ＭＡＣアドレスは、ＰＥＩＤ１０２と同じＰＥＩＤを有するので、ＰＥＩＤ値はマッピングテーブル内で省略され得る。結果として、ＶＩＤＣＡおよびＶＩＤフィールドのみが、ｕＭＡＣおよびｖＭＡＣ間のマッピングにおいて必要となる。表３から、ＶＩＤ値がまれに同じであるとき、それらはＶＩＤＣＡ値によりさらに識別され得ることもわかる。また、ｕＭＡＣ−ｖＭＡＣマッピングテーブルのサイズは、ＶＰＬＳ  ＰＥ１０２下の仮想マシン数により決定されることに注意されたい。
【００５６】
ＶＰＬＳ  ＰＥ１０２下の仮想マシンのみがこのマッピングテーブルにおいて考慮されていることに注意されたい。加えて、これらの仮想マシンのローカル一意仮想ＭＡＣアドレスはＰＥＩＤ１０２と同じＰＥＩＤを有しているので、ＰＥＩＤ値はマッピングテーブルにおいて省略され得る。結果として、ＶＩＤＣＡおよびＶＩＤフィールドのみが、ｕＭＡＣおよびｖＭＡＣ間のマッピングにおいて必要となる。表３より、ＶＩＤ値がまれに同じである場合、それらはＶＩＤＣＡ値によりさらに識別され得ることもわかる。また、ｕＭＡＣ−ｖＭＡＣマッピングテーブルのサイズがＶＰＬＳ  ＰＥ１０２下の仮想マシン数により決定されることに注意されたい。
【００５７】
図４は、ＶＰＬＳ  ＰＥ間通信のための修正されたＭＡＣフレーム転送を例示する。例として、通信ピアは異なるＶＰＬＳ  ＰＥ下の２つの仮想マシンであると仮定する。しかしながら、この例示は、通信ピアの１つがクラウド顧客である場合にも有効である。
【００５８】
ステップ４０１において、ＶＭ１９０はＭ４０１（ユニキャストＭＡＣフレーム）をＶＭ１９４へ送信しようとする。ＶＭ１９０は、たとえばセクション４記載の修正されたアドレス解決処理の後のＡＲＰキャッシュ等から、ＶＭ１９４＠ｖＭＡＣをＶＭ１９４のデータリンク層アドレスとして取得する。結果として、Ｍ４０１の送信先ＭＡＣアドレスは、ＶＭ１９４＠ｖＭＡＣに設定される。以下のステップを行うため、ＶＭ１９４＠ｖＭＡＣは、＜ＰＥＩＤ１０３、ＶＩＤＣＡ４、ＶＩＤ４＞として明確に表現されると仮定する。加えて、ＶＭ１９０は、そのグローバル一意ＭＡＣアドレスＶＭ１９０＠ｕＭＡＣを、Ｍ４０１の送信元ＭＡＣアドレスとして用いる。
【００５９】
ステップ４０２において、ＶＰＬＳ  ＰＥ１０２は、ＶＭ１９０からＶＭ１９４へのユニキャストパス上で、ＭＡＣフレームＭ４０１をインターセプトする。ＶＰＬＳ  ＰＥ１０２は、Ｍ４０１が配下にない仮想マシンへ宛てられたユニキャストＭＡＣフレームであることに気づき、というのは、その送信先ＭＡＣアドレスが、フィールドがＰＥＩＤ１０３であるローカル一意仮想ＭＡＣアドレスであるためである。ＰＥＩＤテーブルを調べることで、ＶＰＬＳ  ＰＥ１０２は宛先ＰＥがＶＰＬＳ  ＰＥ１０３であることを知る。そして、ＶＰＬＳ  ＰＥ１０２は、ＶＭ１９０のローカル一意仮想ＭＡＣアドレス、つまり、ＶＭ１９０＠ｖＭＡＣを送信元ＭＡＣアドレスとして、Ｍ４０２（ユニキャストＭＡＣフレーム）をＶＰＬＳ  ＰＥ１０３へ送信する。以下のステップを行うため、ＶＭ１９０＠ｖＭＡＣはさらに、＜ＰＥＩＤ１０２、ＶＩＤＣＡ１、ＶＩＤ１＞と表されると仮定する。
【００６０】
ステップ４０３において、ＶＰＬＳ  ＰＥ１０３は、Ｍ４０２を受信すると、自身が宛先ＰＥであることを送信先ＭＡＣアドレスのＰＥＩＤフィールドから知る。ＶＰＬＳ  ＰＥ１０３はそのｕＭＡＣ−ｖＭＡＣマッピングテーブルを調べ、ＶＭ１９４が送信先であると気づく。そして、ＶＰＬＳ  ＰＥ１０３は、ＶＭ１９４のグローバル一意ＭＡＣアドレス、つまり、ＶＭ１９４＠ｕＭＡＣを送信先ＭＡＣアドレスとして、Ｍ４０３（ユニキャストＭＡＣフレーム）をＶＭ１９４へ送信する。
【００６１】
ステップ４０４において、ＶＭ１９４は、Ｍ４０３を受信した後、ＶＭ１９０のデータリンク層アドレスがＶＭ１９０＠ｖＭＡＣであることをこのフレームから学び、それはそのＡＲＰキャッシュ内へさらに格納され得る。ＶＭ１９４がＭ４０４（ユニキャストＭＡＣフレーム）をＶＭ１９０へ送信しようとするとき、ＶＭ１９０＠ｖＭＡＣ（より具体的には、＜ＰＥＩＤ１０２、ＶＩＤＣＡ１、ＶＩＤ１＞）をフレームの送信先ＭＡＣアドレスとみなす。
【００６２】
ステップ４０５において、ＶＰＬＳ  ＰＥ１０３は、ＶＭ１９４からＶＭ１９０へのユニキャストパス上で、ＭＡＣフレームＭ４０４をインターセプトする。ＶＰＬＳ  ＰＥ１０３は、Ｍ４０４が自身の配下にない仮想マシンへ宛てられたユニキャストＭＡＣフレームであると気づき、というのは、その送信先ＭＡＣアドレスがフィールドがＰＥＩＤ１０２であるローカル一意仮想ＭＡＣアドレスだからである。そのＰＥＩＤテーブルを調べることで、ＶＰＬＳ  ＰＥ１０３は宛先ＰＥがＶＰＬＳ  ＰＥ１０２であることを知る。そして、ＶＰＬＳ  ＰＥ１０３は、ＶＭ１９４のローカル一意仮想ＭＡＣアドレス、つまり、ＶＭ１９４＠ｖＭＡＣを送信元ＭＡＣアドレスとして、Ｍ４０５（ユニキャストＭＡＣフレーム）をＶＰＬＳ  ＰＥ１０２へ送信する。
【００６３】
ステップ４０６において、ＶＰＬＳ  ＰＥ１０２は、Ｍ４０５を受信すると、自身が宛先ＰＥであることを送信先ＭＡＣアドレスのＰＥＩＤフィールドから知る。ＶＰＬＳ  ＰＥ１０２はそのｕＭＡＣ−ｖＭＡＣマッピングテーブルを調べ、その結果、ＶＭ１９０が送信先であることを知る。そして、ＶＰＬＳ  ＰＥ１０２は、ＶＭ１９０のグローバル一意ＭＡＣアドレス、つまり、ＶＭ１９０＠ｕＭＡＣを送信先ＭＡＣアドレスとして、Ｍ４０６（ユニキャストＭＡＣフレーム）をＶＭ１９０へ送信する。
【００６４】
ＶＰＬＳ  ＰＥ間通信のため、送信元ＶＰＬＳ  ＰＥは、宛先仮想マシンの仮想ＭＡＣのＰＥＩＤ部分に基づいて、ＭＡＣフレームの出口ポートを決定する。同一ＰＥＩＤを有する仮想ＭＡＣは１つの共通転送エントリを共有し、これにより転送テーブルのサイズが減少する。宛先ＶＰＬＳ  ＰＥは、ＭＡＣフレームを受信すると、宛先仮想マシンの変換されたグローバル一意ＭＡＣに基づいて、ＭＡＣフレームの出口ポートを決定する。
【００６５】
本発明では、ＶＰＬＳ  ＰＥ内通信のためのＭＡＣフレーム転送に影響がないことに注意されたい。例として、ＶＭ１９０がＶＭ１９１の（または１９３の）ＭＡＣアドレスを要求しようとすると仮定する。ＶＭ１９０は、ＡＲＰ要求を、ＶＭ１９０のグローバル一意ＭＡＣアドレス（ＶＭ１９０＠ｕＭＡＣ）をその送信元ＭＡＣアドレスとして、ＶＰＬＳ  ＰＥ１０２へ送信する。ＶＰＬＳ  ＰＥ１０２は、ＶＭ１９１（または１９３）にＶＰＬＳ  ＰＥ間ＬＳＰを渡ることなく到達できることに気づく。そのため、要求における送信元ＭＡＣアドレスは、ＶＭ１９０のローカル一意仮想ＭＡＣアドレス（ＶＭ１９０＠ｖＭＡＣ）に変更されることはない。最後に、ＡＲＰ応答は、ＶＭ１９０へ返送されることになる。応答において、ＶＭ１９１の（または１９３の）ＭＡＣアドレスは、ＶＭ１９１＠ｕＭＡＣ（またはＶＭ１９３＠ｖＭＡＣ）、つまり、グローバル一意ＭＡＣアドレスである。それは、ＶＰＬＳ  ＰＥ１０２において、ＶＭ１９１の（または１９３の）ローカル一意仮想ＭＡＣアドレスに変更されることはない。
【００６６】
例として、通信ピアが同一ＶＰＬＳ  ＰＥ下の２つの仮想マシンであると仮定する。しかしながら、以下の例示は、通信ピアの１つがクラウド顧客である場合にも有効である。ＶＭ１９０がユニキャストＭＡＣフレームをＶＭ１９２へ送信しようとすると仮定する。このフレームは、ＶＭ１９０のグローバル一意ＭＡＣアドレス（ＶＭ１９０＠ｕＭＡＣ）をその送信元ＭＡＣアドレスとして用い、また、ＶＭ１９２のグローバル一意ＭＡＣアドレス（ＶＭ１９２＠ｕＭＡＣ）をその送信先ＭＡＣアドレスとして用いる。ＶＰＬＳ  ＰＥ１０２は、ＶＭ１９０からＶＭ１９２へのユニキャストパス上で、ＭＡＣフレームをインターセプトする。送信元および送信先データリンク層アドレスの両方がグローバル一意ＭＡＣアドレスであるので、ＶＰＬＳ  ＰＥ１０２はフレームの送信元および送信先がＶＰＬＳ  ＰＥ内の通信ピアであることに気づく。それゆえ、ＶＰＬＳ  ＰＥ１０２はｕＭＡＣ−ｖＭＡＣマッピングテーブルを調べ、ＭＡＣフレームの出口ポートを決定する。転送中にＭＡＣアドレス変換が行われないことがわかる。
【００６７】
本発明は、図３および図４に示された方法を実行するエッジルータにさらに関する。
【００６８】
実施形態によれば、ＶＰＬＳ  ＰＥ１０２は、たとえば、送信元アドレス変換モジュールとメッセージ送信モジュールを備える。送信元アドレス変換モジュールは、ＶＭ１９０のグローバル一意ＭＡＣアドレス（ＶＭ１９０＠ｕＭＡＣ）を送信元ＭＡＣアドレスとし、ＩＰアドレス（ＶＭ１９４＠ＩＰ）を宛先アドレスとして含むＶＭ１９０からのメッセージを受信すると、表３のｕＭＡＣ−ｖＭＡＣマッピングテーブル内の項目を調べることで、ＶＭ１９０＠ｕＭＡＣをＶＭ１９０＠ｖＭＡＣに送信元アドレスとして変換し得る。メッセージ送信モジュールは、送信元アドレスをＶＭ１９０＠ｖＭＡＣとして含むメッセージを、宛先アドレスＶＭ１９４＠ＩＰに応じてＶＰＬＳ  ＰＥ１０３へ送信する。この処理において、メッセージはＡＲＰ要求メッセージである。
【００６９】
メッセージがＡＲＰ応答メッセージである場合、ＶＰＬＳ  ＰＥ１０３（具体的には、ＶＰＬＳ  ＰＥ１０３に含まれる送信元アドレス変換モジュールおよびメッセージ送信モジュール）は、図３のステップＳ３０３およびＳ３０４に示されたように、アドレス変換およびメッセージ送信の同様のステップを実行する。
【００７０】
本実施形態では、送信元アドレス変換モジュールは、ＶＰＬＳ  ＰＥ１０２または１０３に格納されたｕＭＡＣ−ｖＭＡＣマッピングテーブルに応じて、メッセージの送信元アドレスをＶＭ１９０＠ｖＭＡＣまたはＶＭ１９４＠ｖＭＡＣに変換し得る。
【００７１】
本発明の他の実施形態によれば、ＶＰＬＳ  ＰＥ１０２（またはＶＰＬＳ  ＰＥ１０３）は、ＶＭ１９０のグローバル一意ＭＡＣアドレスである送信元アドレスと、ＶＭ１９４のローカル仮想ＭＡＣアドレスＶＭ１９４＠ｖＭＡＣである宛先アドレスとを含むＶＭ１９０からの第１データパケットが受信されるとき、送信元アドレスをＶＭ１９０のグローバル一意ＭＡＣアドレスへ変換するように構成される第１ＭＡＣアドレス変換モジュールを含み得、ＶＰＬＳ  ＰＥ１０２（またはＶＰＬＳ  ＰＥ１０３）は、ＶＭ１９４のローカル仮想ＭＡＣアドレスＶＭ１９４＠ｖＭＡＣである送信元アドレスと、ＶＭ１９４のローカル仮想ＭＡＣアドレスＶＭ１９４＠ｖＭＡＣである宛先アドレスとを含むＶＭ１９４からの第２データパケットが受信されるとき、データパケットの宛先アドレスをＶＭ１９０のグローバル一意ＭＡＣアドレスへ変換するように構成される第２ＭＡＣアドレス変換モジュールを含み得る。
【００７２】
好ましくは、ＶＰＬＳ  ＰＥ１０２（またはＶＰＬＳ  ＰＥ１０３）は、ＶＭ１９４の仮想ＭＡＣアドレスのＰＥＩＤ情報に応じて、第１データパケットの出力ポートを決定するように構成される第１データ出力ポート決定モジュールと、ＶＭ１９０の仮想ＭＡＣアドレスのＰＥＩＤ情報に応じて、第２データパケットの出力ポートを決定するように構成される第２データ出力ポート決定モジュールとをさらに含み得る。
【００７３】
ＭＡＣアドレスおよび仮想ＭＡＣアドレス間で変換を行うために、ＶＰＬＳ  ＰＥ１０２（ＶＰＬＳ  ＰＥ１０３）は、格納されたｕＭＡＣ−ｖＭＡＣマッピングテーブルに応じて、ＭＡＣアドレスおよび仮想ＭＡＣアドレス間の変換のためのモジュールを対応して備える。
【００７４】
本発明によるルータの実施形態では、モジュールまたは要素は、要素機能を実行するためのプロセッサまたはコンピュータにより実行可能な命令として実装され得る。命令の例には、ソフトウェア、プログラムコード、およびファームウェアが含まれる。プロセッサにより実行される場合、命令は、作動により、プロセッサに要素機能を実行させることができる。命令は、プロセッサにより読み取り可能な記憶装置に格納し得る。記憶装置の例には、デジタルまたは固体記憶装置、磁気ディスクまたは磁気テープ等の磁気記憶媒体、ハードディスク、または光学読み取り可能なデジタルデータ記憶媒体が含まれる。
【００７５】
従来技術の解決方法と比較して、本発明は以下の利点をもたらす：最良の既存の解決方法は第１ホップのスイッチにＭＡＣアドレススタッキング／デスタッキング（ｄｅ−ｓｔａｃｋｉｎｇ）を求める。これは、その解決方法が伝統的なスイッチを利用するデータセンターには無効であることを意味する。しかしながら、本発明の提案された解決方法は、プロバイダのＶＰＬＳ  ＰＥおよび仮想マシン間のあらゆる中間スイッチの変更を要しない。それゆえ、新しい解決方法はより経済的で汎用的である。さらに、最良の既存の解決方法では、ＭＡＣアドレススタッキングにより、第１ホップのスイッチへの追加の作業負荷をもたらす。しかしながら、提案された解決方法はそのようなスタッキング処理を要しない。ＶＰＬＳ  ＰＥのＬ２情報は送信先仮想マシンの仮想ＭＡＣ内に共に符号化されているので、仮想ＭＡＣ自身は、バックボーンＭＡＣ情報を含み、それゆえ、図１に示されたバックボーンネットワーク内の主要エンティティＶＰＬＳ  ＰＥ１０２、１０３等のＭＡＣのような、追加のバックボーンＭＡＣが不要である。
【００７６】
本明細書では特定の実施形態が記載されているが、本発明の範囲はこれらの特定の実施形態に限定されない。本発明の範囲は、以下の特許請求の範囲およびそのあらゆる均等形式により定義される。
【図１】
0005941223.tif 000005
【図２】
0005941223.tif 000006
【図３】
0005941223.tif 000007
【図４】
0005941223.tif 000008