(57)【要約】  ここでの開示は、仮想拡張ローカルエリアネットワーク（ＶＸＬＡＮ）ゲートウェイについて記載する。動作中に、このＶＸＬＡＮゲートウェイは、物理的なホストからイーサネットパケットを受信する。このイーサネットパケットは、この物理的なホストが存在するローカルレイヤ２ネットワークのブロードキャストドメインとは異なる、離れたレイヤ２ネットワークのブロードキャストドメイン内に存在する仮想マシンをあて先とするものである。そして、このＶＸＬＡＮゲートウェイは、受信したイーサネットパケットのためのＶＸＬＡＮ識別子を判定する。このＶＸＬＡＮゲートウェイは、更にこのイーサネットパケットを仮想拡張ローカルエリアネットワーク識別子及びインターネットプロトコル（ＩＰ）ヘッダとでカプセル化し、ＩＰネットワークにカプセル化したパケットを転送し、これによって、ＩＰネットワークを介して仮想マシンへのパケットを転送し、離れたレイヤ２ネットワークブロードキャストドメインとローカルレイヤ２ネットワークブロードキャストドメインを共通のレイヤ２ブロードキャストドメインの一部にする。
2015531212.tif 000002
【特許請求の範囲】
【請求項１】
仮想拡張ローカルエリアネットワークのゲートウェイを容易にするための、コンピュータで実行される方法であって、
物理的なホストから、前記物理的なホストの存在する局所的なレイヤ２ネットワークのブロードキャストドメインと異なる、離れたレイヤ２ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信する工程と、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定する工程と、
前記イーサネットパケットを、前記仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル（ＩＰ）ヘッダとともにカプセル化する工程と、
転送されたパケットがＩＰネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ２ネットワークのブロードキャストドメインと前記局所的なレイヤ２ネットワークのブロードキャストドメインとが共通のレイヤ２ブロードキャストドメインの一部になるように、前記カプセル化されたパケットを前記ＩＰネットワークに転送する工程と、
を含むことを特徴とするコンピュータで実行される方法。
【請求項２】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル（ＡＲＰ）リクエストである、ことを特徴とする請求項１に記載のコンピュータで実行される方法。
【請求項３】
前記仮想拡張ローカルエリアネットワークの識別子をＩＰマルチキャストグループに対応付けるデータ構造を維持する工程と、
前記ＩＰヘッダ内の送信先ＩＰアドレスを、前記ＩＰマルチキャストグループに対応するＩＰアドレスに設定する工程と、をさらに含むことを特徴とする請求項１に記載のコンピュータで実行される方法。
【請求項４】
前記物理的なホストのメディアアクセス制御（ＭＡＣ）アドレスと、
前記物理的なホストの仮想ローカルエリアネットワーク（ＶＬＡＮ）タグ、
の少なくとも１つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する工程をさらに含むことを特徴とする請求項１に記載のコンピュータで実行される方法。
【請求項５】
外部イーサネットヘッダ、ＩＰヘッダ及び内部イーサネットヘッダを含むパケットを前記仮想マシンから受信する工程と、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ及びＩＰヘッダを取り除くことによってカプセル除去を行う工程と、
前記物理的なホストに前記カプセル除去されたパケットを転送する工程と、をさらに含むことを特徴とする請求項１に記載のコンピュータで実行される方法。
【請求項６】
２つのレイヤ２ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、第２の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する工程をさらに含むことを特徴とする請求項１に記載のコンピュータで実行される方法。
【請求項７】
オープンフローコントローラから設定情報を受信する工程を更に含むことを特徴とする請求項１に記載のコンピュータで実行される方法。
【請求項８】
プロセッサによって実行される場合に、仮想拡張ローカルエリアネットワークのゲートウェイを容易にするための方法を、前記プロセッサに実行させるための命令を格納する記録媒体であって、前記方法は、
物理的なホストから、前記物理的なホストの存在する局所的なレイヤ２ネットワークのブロードキャストドメインと異なる、離れたレイヤ２ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信する工程と、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定する工程と、
前記イーサネットパケットを、前記仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル（ＩＰ）ヘッダとともにカプセル化する工程と、
転送されたパケットがＩＰネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ２ネットワークのブロードキャストドメインと前記局所的なレイヤ２ネットワークのブロードキャストドメインとが共通のレイヤ２ブロードキャストドメインの一部になるように、前記カプセル化されたパケットを前記ＩＰネットワークに転送する工程と、
を含むことを特徴とする記録媒体。
【請求項９】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル（ＡＲＰ）リクエストである、ことを特徴とする請求項８に記載の記録媒体。
【請求項１０】
前記方法は、
前記仮想拡張ローカルエリアネットワークの識別子をＩＰマルチキャストグループに対応付けるデータ構造を維持する工程と、
前記ＩＰヘッダ内の送信先ＩＰアドレスを、前記ＩＰマルチキャストグループに対応するＩＰアドレスに設定する工程と、をさらに含むことを特徴とする請求項８に記載の記録媒体。
【請求項１１】
前記方法は、
前記物理的なホストのメディアアクセス制御（ＭＡＣ）アドレスと、
前記物理的なホストの仮想ローカルエリアネットワーク（ＶＬＡＮ）タグ、
の少なくとも１つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する工程をさらに含むことを特徴とする請求項８に記載の記録媒体。
【請求項１２】
前記方法は、
外部イーサネットヘッダ、ＩＰヘッダ及び内部イーサネットヘッダを含むパケットを前記仮想マシンから受信する工程と、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ及びＩＰヘッダを取り除くことによってカプセル除去を行う工程と、
前記物理的なホストに前記カプセル除去されたパケットを転送する工程と、をさらに含むことを特徴とする請求項８に記載の記録媒体。
【請求項１３】
前記方法は、２つのレイヤ２ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、第２の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する工程をさらに含むことを特徴とする請求項８に記載の記録媒体。
【請求項１４】
前記方法は、オープンフローコントローラから設定情報を受信する工程を更に含むことを特徴とする請求項８に記載の記録媒体。
【請求項１５】
仮想拡張ローカルエリアネットワークのゲートウェイを容易にするためのスイッチングシステムであって、前記スイッチングシステムは、
プロセッサと、
前記プロセッサと接続され、前記プロセッサによって実行される場合に前記プロセッサに方法を実行させるための命令を格納する、ストレージ装置を含み、前記方法は、
物理的なホストから、前記物理的なホストの存在する局所的なレイヤ２ネットワークのブロードキャストドメインと異なる、離れたレイヤ２ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信する工程と、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定する工程と、
前記イーサネットパケットを、前記仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル（ＩＰ）ヘッダとともにカプセル化する工程と、
転送されたパケットがＩＰネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ２ネットワークのブロードキャストドメインと前記局所的なレイヤ２ネットワークのブロードキャストドメインとが共通のレイヤ２ブロードキャストドメインの一部になるように、前記カプセル化されたパケットを前記ＩＰネットワークに転送する工程と、
を含むことを特徴とするスイッチングシステム。
【請求項１６】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル（ＡＲＰ）リクエストである、ことを特徴とする請求項１５に記載のスイッチングシステム。
【請求項１７】
前記方法は、
前記仮想拡張ローカルエリアネットワークの識別子をＩＰマルチキャストグループに対応付けるデータ構造を維持する工程と、
前記ＩＰヘッダ内の送信先ＩＰアドレスを、前記ＩＰマルチキャストグループに対応するＩＰアドレスに設定する工程と、をさらに含むことを特徴とする請求項１５に記載のスイッチングシステム。
【請求項１８】
前記方法は、
前記物理的なホストのメディアアクセス制御（ＭＡＣ）アドレスと、
前記物理的なホストの仮想ローカルエリアネットワーク（ＶＬＡＮ）タグ、
の少なくとも１つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する工程をさらに含むことを特徴とする請求項１５に記載のスイッチングシステム。
【請求項１９】
前記方法は、
外部イーサネットヘッダ、ＩＰヘッダ及び内部イーサネットヘッダを含むパケットを前記仮想マシンから受信する工程と、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ及びＩＰヘッダを取り除くことによってカプセル除去を行う工程と、
前記物理的なホストに前記カプセル除去されたパケットを転送する工程と、をさらに含むことを特徴とする請求項１５に記載のスイッチングシステム。
【請求項２０】
前記方法は、２つのレイヤ２ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、第２の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する工程をさらに含むことを特徴とする請求項１５に記載のスイッチングシステム。
【請求項２１】
前記方法は、オープンフローコントローラから設定情報を受信する工程を更に含むことを特徴とする請求項１５に記載のスイッチングシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
インターネットの飛躍的な成長によって、様々なアプリケーションには、至る所でアクセス可能な配信媒体が実現した。そして、これらアプリケーションは、帯域幅に対する要求を増大させた。その結果、サービスプロバイダは、競って多彩な能力を備えたより大きく、より高速なデータセンタを構築した。その一方、仮想化技術の発達によって、データセンタにおける多数の仮想マシン（ＶＭ）の実装が可能となった。これらの仮想マシンは本質的に物理的なホストとして動作することができ、ウェブサーバやデータベースサーバなどの様々な機能を実行することができる。仮想マシンはソフトウェアで実装されているため、様々な場所を自由に移動することができる。この機能によって、サービスプロバイダは顧客ニーズに応じて物理的なリソース（例えば計算能力やネットワーク容量）を区切ったり切り離したりすることが可能になり、さらにこのようなリソースを動的に割り当てることが可能になる。
【０００２】
仮想化はサービスプロバイダにとって前例のない柔軟性をもたらす一方で、従来型のレイヤ２ネットワークアーキテクチャは固定式であり、この仮想マシンの動的な性質に容易に適合することができない。例えば、従来型のデータセンタのアーキテクチャでは、ホストはしばしば１つ以上のレイヤ２（例えばイーサネット）スイッチによって相互接続されてレイヤ２ブロードキャストドメインを形成する。そのレイヤ２ブロードキャストドメインの物理的な範囲はその伝送媒体によって制限される。結果として、異なるデータセンタは、典型的には異なるレイヤ２ブロードキャストドメインに関連付けられ、また、複数のレイヤ２ブロードキャストドメインが単一のデータセンタ内に存在し得る。１つのデータセンタ内のＶＭが他のデータセンタ内のＶＭや記憶装置と通信するためには、このような通信はレイヤ３ネットワーク上で行われる必要がある。即ち、送信元と送信先は異なるレイヤ２ブロードキャストドメインに属するため、送信元と送信先の間のパケットはレイヤ３装置（例えばＩＰルータ）によって処理され転送されなければならない。このアーキテクチャは利点を有する一方で、フラットなレイヤ２処理は独自の優位性を有する。実際、レイヤ３及びレイヤ２の両方の優位性とネットワーク内の処理能力を利用できれば理想的である。
【０００３】
上述した問題を解決する１つの方法は、仮想拡張ローカルエリアネットワーク（virtual extensible local area network, VXLAN）を実装することである。ＶＸＬＡＮはインターネット技術タスクフォース（Internet Engineering Task Force、IETF）によって運営される、ネットワークの仮想化技術の標準技術であり、レイヤ３のＩＰネットワーク上にオーバーレイされた論理的なレイヤ２ネットワークを生成することによって機能する。ＶＭによって生成されたイーサネットパケットは、遠隔データセンタに転送される前にＩＰヘッダ内にカプセル化され、この遠隔データセンタではこのＩＰヘッダを取り除いて元のイーサネットパケットが送信先に配信される。このＩＰカプセル化機構は論理的なレイヤ２ブロードキャストドメインを任意の数の離れた場所に拡張することができ、異なるデータセンタ又は同一のデータセンタ内の異なるセクションを（ＶＭと装置がその内部にあるので）同一のレイヤ２ブロードキャストドメイン内のものとすることができる。このＶＸＬＡＮ機能は典型的にはホストのハイパーバイザ内に存在し、ハイパーバイザの仮想化スイッチと協同して機能する。ＶＸＬＡＮのより詳細は、https://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02で入手可能なＩＥＴＦドラフト「VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks,」に記載されており、参照により組み込まれる。
【０００４】
しかしながら、既存のＶＸＬＡＮの実装では、同一の論理的なレイヤ２ブロードキャストネットワーク内に物理的なホストとＶＭの混合を容易に収容できない。これは、デフォルトのＶＸＬＡＮの機能は、あるＶＸＬＡＮに属するＶＭによって生成されたイーサネットパケットをハイパーバイザ内でカプセル化するためである。反対に、物理的なホストは、生成したイーサネットパケット、物理的なホストでなければそのイーサネットパケットは他のＶＸＬＡＮ対応のＶＭに配信される、をカプセル化する機構を持たないために、同じＶＸＬＡＮに容易に参加することができない。
【発明の概要】
【０００５】
ここでの開示は、仮想化ネットワーク装置および物理的なネットワーク装置の統合を容易にするネットワーク通信システムについて記載する。特に、このシステムは、仮想拡張ローカルエリアネットワーク（ＶＸＬＡＮ）ゲートウェイを提供する。動作中に、このＶＸＬＡＮゲートウェイは、物理的なホストからイーサネットパケットを受信する。このイーサネットパケットは、この物理的なホストが存在する局所的なレイヤ２ネットワークのブロードキャストドメインとは異なる、離れたレイヤ２ネットワークのブロードキャストドメイン内に存在する仮想マシンをあて先とするものである。そして、このＶＸＬＡＮゲートウェイは、受信したイーサネットパケットのためのＶＸＬＡＮネットワーク識別子（ＶＮＩ）を判定する。このＶＸＬＡＮゲートウェイは、更にこのイーサネットパケットをＶＮＩ及びインターネットプロトコル（ＩＰ）ヘッダとでカプセル化してＩＰネットワークにカプセル化したパケットを転送し、これによって、ＩＰネットワークを介して仮想マシンへのパケットを転送し、離れたレイヤ２ネットワークブロードキャストドメインと局所的なレイヤ２ネットワークブロードキャストドメインを共通のレイヤ２ブロードキャストドメインの一部にする。
【０００６】
物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル（Address resolution protocol、ARP）リクエストパケットであり得る。加えて、ＶＸＬＡＮゲートウェイは、ＶＮＩからＩＰマルチキャストグループを対応付けるデータ構造を維持する。また、ＶＸＬＡＮゲートウェイは、ＩＰヘッダ内の送信先ＩＰアドレスをＩＰマルチキャストグループに対応するＩＰアドレスに設定する。また、ＶＸＬＡＮゲートウェイは、メディアアクセス制御（ＭＡＣ）アドレスとオプションとして物理的なホストの仮想ローカルエリアネットワーク（ＶＬＡＮ）タグとをＶＮＩに対応付けたデータ構造を維持することができる。このデータ構造は、特定のＶＬＡＮの全ての物理的なホストを包含するエントリを含み得る。これは、いかなるホスト特有の情報なしにＶＮＩとＶＬＡＮタグとの間のマッピングとして示される。
【０００７】
さらに、ＶＸＬＡＮゲートウェイは仮想マシンからパケットを受信することができ、このパケットは外部イーサネットヘッダ、外部ＩＰヘッダおよび内部イーサネットヘッダを含む。そして、ＶＸＬＡＮゲートウェイは、仮想マシンから受信したパケットを、そのイーサネットヘッダの外部とＩＰヘッダを取り除くことによってカプセル除去を行い、このカプセル除去したパケットを物理的なホストに転送する。ＶＸＬＡＮゲートウェイは更に、第２のＶＸＬＡＮゲートウェイとのトンネルを確立することによって、２つのレイヤ２ネットワークブロードキャストドメインを共通のＶＮＩで接続する。オプションとして、ＶＸＬＡＮゲートウェイはオープンフロー（OpenFlow）コントローラから設定情報を受信することができる。
【図面の簡単な説明】
【０００８】
【図１】はＶＸＬＡＮゲートウェイを容易にするネットワークアーキテクチャの一例を示す。
【図２】は従来型のイーサネットパケットのヘッダフォーマットとそのＶＸＬＡＮのカプセル化を表わす。
【図３】はＶＸＬＡＮゲートウェイを介してＩＰネットワーク越しにＶＭとの通信を開始する物理的なホストの処理の一例を示す時系列の図を表わす。
【図４】はＶＸＬＡＮゲートウェイを介してＶＭと通信する物理的なホストの処理の一例を示すフローチャートを表わす。
【図５】はＶＸＬＡＮゲートウェイによって、離れて設置された２つのデータセンタが接続して単一のレイヤ２ブロードキャストドメインを形成するネットワークアーキテクチャの一例を示す。
【図６】はオープンフローコントローラを用いるＶＸＬＡＮゲートウェイの設定を容易にするネットワークアーキテクチャの一例を示す。
【図７】はＶＸＬＡＮゲートウェイを容易にするコンピュータシステムの一例を示す。  これらの図では参照のように数字は同一の図要素を指す。
【発明を実施するための形態】
【０００９】
以下の記載は当業者が実施形態を使用し作ることができるように表わされ、特定のアプリケーションとその要求の文脈において提供される。開示された実施形態に対する様々な変形例はこれらの当業者にとって容易に明らかであり、ここで定義される一般的な原理は真意や本開示範囲から逸脱しない他の実施形態やアプリケーションにも適用される。従って、本発明は示された実施形態に限定されるものではなく、ここで開示される原理や機能と整合する最も広い範囲に従う。
【００１０】
ここで開示されるシステムの実施形態は、ＶＭと物理的なホストとの間の通信のＶＸＬＡＮカプセル化を可能にする問題を解決し、これは、物理的なホストのためのゲートウェイとして動作し、かつ、ＶＸＬＡＮカプセル化とカプセル除去とを物理的なホストの代理で実行するＶＸＬＡＮゲートウェイを容易にすることによってなされる。上述したように、（カリフォルニア、パロアルトのヴィーエムウェア，インコーポレイテッドによるＥＳＸ（登録商標）プロダクトファミリなどの）ハイパーバイザ内のＶＸＬＡＮ機能は、ＶＸＬＡＮ対応のイーサネットブロードキャストドメインの一部であるＶＭによって生成されたイーサネットパケットを自動的にカプセル化する。そのプロトコルスタックにこのＶＸＬＡＮ機能を持たない、物理的なホストがＶＸＬＡＮ対応のブロードキャストドメインに参加することができる使用可能な機構は、現時点では存在しない。これは、ＶＸＬＡＮヘッダで物理的なホストのイーサネットパケットをカプセル化することができる装置がネットワーク内に存在しないためである。
【００１１】
この問題を解決するため、同一のレイヤ２ブロードキャストドメインに物理的なホストとして存在するＶＸＬＡＮゲートウェイは、物理的なホストの代わりにカプセル化及びカプセル除去を実行する。図１はＶＸＬＡＮゲートウェイを容易にするネットワークアーキテクチャの一例を示す。この例では、ＩＰネットワーク１００は複数の従来型のレイヤ２ネットワークと接続する。特に、ホスト１０２はＩＰルータ１３０と接続する。ホスト１０２は、いくつかのＶＭ，ＶＭ１０８、ＶＭ１１０及びＶＭ１１２をホストする。ＶＭ１０８及びＶＭ１１０はＶＸＬＡＮ１に属し、ＶＭ１１２はＶＸＬＡＮ２に属する。（ハイパーバイザなどの）仮想化ソフトウェア１０４はホスト１０２内のＶＭを管理し、またＶＸＬＡＮモジュール１０６を含む。ＶＸＬＡＮモジュール１０６はＶＭ１０８、ＶＭ１１０及びＶＭ１１２の生成したイーサネットパケットをカプセル化及びカプセル除去を行う責務を負う。
【００１２】
同様に、ホスト１０３はＩＰルータ１３２と接続される。ホスト１０３はいくつかのＶＭ、ＶＭ１１８、ＶＭ１２０及びＶＭ１２２をホストする。ＶＭ１１８はＶＸＬＡＮ１に属し、ＶＭ１２０及びＶＭ１２２はＶＸＬＡＮ２に属する。仮想化ソフトウェア１１４はＶＭ１１８、ＶＭ１２０及びＶＭ１２２を管理するとともに、ＶＸＬＡＮモジュール１１６を含む。同一のＶＸＬＡＮ内のＶＭが互いに通信する場合、ＶＭによって生成されるイーサネットパケットはＩＰヘッダでカプセル化され、その後送信先の（送信先のＩＰアドレスを有する）物理的なホスト内のＶＸＬＡＮモジュールに配信される。
【００１３】
例えば、ＶＭ１０８がＶＭ１１８と通信する場合、ＶＭ１０８は、ＶＭ１１８のＭＡＣアドレスをそのＭＡＣ送信先アドレス（ＤＡ）とするイーサネットパケットを生成する。（なお、同一のＶＸＬＡＮ内のＶＭは同一の論理レイヤ２ブロードキャストドメイン内であるものとし、従って互いのＭＡＣアドレスを学習することが想定されている。）このイーサネットパケットがＶＸＬＡＮモジュール１０６に到達した場合、ＶＸＬＡＮモジュール１０６はパケットのＭＡＣ送信元アドレス（ＳＡ）、ＭＡＣ  ＤＡ及びオプションとしてＶＬＡＮタグを調べて、送信元（ＶＭ１０８）及び送信先（ＶＭ１１８）の両方がＶＸＬＡＮ１に属することを判定する。さらに、ＶＸＬＡＮモジュール１０６は、パケットのＭＡＣ  ＤＡに基づいて、送信先の物理的なホスト１０３のＩＰアドレスを判定する。次に、ＶＸＬＡＮモジュール１０６は、適切なＶＸＬＡＮヘッダとＩＰヘッダ（図２とともにより詳細に説明する）とともにイーサネットパケットをカプセル化し、ＩＰルータ１３０にこのカプセル化したパケットを送信する。このカプセル化されたパケットはホスト１０３に関連付けられたＩＰ送信先アドレスを有するので、ＩＰルータ１３０（及びＩＰネットワーク１００内の他のＩＰルータ）は適切な転送のための決定、及びホスト１０３に向けた適切なパケットの転送を行うことができる。
【００１４】
ホスト１０３がカプセル化されたパケットを受信した場合、ＶＸＬＡＮモジュール１１６は最初にＩＰヘッダを取り除いて内部イーサネットパケットを取り出す。続いて、仮想化ソフトウェア１１４は、ＶＮＩ及び当該内部イーサネットヘッダのＭＡＣ  ＤＡに基づいて、内部イーサネットパケットをＶＭ１１８に転送する。なお、ＶＸＬＡＮ１１６がイーサネットパケットを受信する場合、ＶＸＬＡＮ１１６は、内部イーサネットパケット（ＶＭ１０８のＭＡＣアドレス）とＩＰ送信先アドレス（ホスト１０２のＩＰアドレス）との関連のマッピングを確立することができる。従って、将来的にＶＭ１１８がイーサネットパケットをＶＭ１０８に送信する場合、ＶＸＬＡＮモジュール１１６はホスト１０２のＩＰアドレスをＩＰ送信先アドレスとしてＶＸＬＡＮカプセル化を行うことができる。
【００１５】
送信元のＶＭが送信先のＶＭのＭＡＣアドレス（及び送信先のＶＭのＩＰアドレスのみ）の知識を有しない状況である場合、典型的には、送信元のＶＭは、送信元のＶＭのＩＰアドレスとともにアドレス解決プロトコル（Address resolution protocol、ARP）リクエストを発行する。このＡＲＰリクエストは、レイヤ２ブロードキャストドメイン内の全てのホスト（及びＶＭ）が受信するブロードキャストレイヤ２メッセージである。ＶＸＬＡＮの場合、例えば、ＶＭ１０８がＡＲＰリクエストを送信する場合、このＡＲＰリクエストは最初にＶＸＬＡＮモジュール１０６に到達する。次に、ＶＸＬＡＮモジュール１０６がＶＸＬＡＮ全体にブロードキャストされることが意図されているＡＲＰリクエストであることを判定し、ＶＸＬＡＮモジュール１０６は、送信先ＩＰアドレスをＩＰマルチキャストグループとするＩＰヘッダとともにこのＡＲＰリクエストをカプセル化する。即ち、それぞれのＶＸＬＡＮは、ＶＸＬＡＮ内の全ての物理的なホストを含むＩＰマルチキャストツリーに関連付けられる。このようにして、ＶＸＬＡＮ全体に対するブロードキャストパケットがある場合、ホストのハイパーバイザ内のＶＸＬＡＮモジュールはＩＰマルチキャストヘッダとともにパケットをカプセル化することができ、ＶＸＬＡＮ内の全てのホストにこのカプセル化したパケットをマルチキャストすることができる。
【００１６】
従って、ＡＲＰリクエストは、同一のＶＸＬＡＮに関連付けられた全てのホストにマルチキャストされる。それぞれの受信ホスト上のＶＸＬＡＮモジュールはそのパケットをカプセル除去し、そのＶＸＬＡＮに属する全てのＶＭに内部ＡＲＰリクエストを局所的(locally)にブロードキャストする。これに応答して、ＡＲＰリクエスト内のＩＰアドレスと一致するＩＰアドレスを有するＶＭは、ＡＲＰレスポンスを生成し、このＡＲＰレスポンスは局所的なＶＸＬＡＮモジュールによってカプセル化されてリクエストしたＶＭにユニキャストで戻される。
【００１７】
図１に示す例では、物理的なホスト（又はＶＸＬＡＮ対応でないＶＭ）がＩＰネットワーク１００に接続される場合、直接又はレイヤ２スイッチを介するいずれによっても、ＶＸＬＡＮに属する任意のＶＭと物理的なホストが通信することは例え不可能でなくても困難である。なぜなら、物理的なホストからのイーサネットパケットは恐らくＶＸＬＡＮヘッダ及びＩＰヘッダとともにカプセル化されないため、このイーサネットパケットは任意のＶＭに配信することができないためである。ＶＸＬＡＮゲートウェイ１２４を用いることは１つの解決法であり、このゲートウェイは、ＶＸＬＡＮモジュール１０６又は１０８の機能を実行するスタンドアローン装置であり得る。例えば、物理的なホスト１２６は、レイヤ２スイッチ１２７を介してＶＸＬＡＮゲートウェイ１２４と接続することができる。物理的なホスト１２６は、ＶＸＬＡＮゲートウェイ１２４によってＶＸＬＡＮ１に対応付けられるＶＬＡＮ１に属する。物理的なホスト１２８は、ＶＸＬＡＮ対応をしていない、いくつかのＶＭ１３８、ＶＭ１４０、ＶＭ１４２をホストすることができる。ＶＭ１３８はＶＸＬＡＮ１に対応付けられるＶＬＡＮ１に属する。ＶＭ１４０及びＶＭ１４２は、ＶＸＬＡＮ２に対応付けられるＶＬＡＮ２に属する。また、ホスト１２８はＶＸＬＡＮゲートウェイ１２４に接続される。
【００１８】
物理的なホスト１２６がＶＭ１０８と通信する場合、物理的なホスト１２６は、ＭＡＣ  ＤＡとしてのＶＭ１０８のＭＡＣアドレス、ＭＡＣ  ＳＡとしての自身のＭＡＣアドレス及びＶＬＡＮ１に対応するＶＬＡＮタグとともにイーサネットパケットを送信することができる。このイーサネットパケットがＶＸＬＡＮゲートウェイ１２４に到達した場合、ＶＸＬＡＮゲートウェイ１２４はパケットのＭＡＣ  ＳＡ及びＭＡＣ  ＤＡ、並びにＶＬＡＮタグを調べる。なお、ＶＸＬＡＮゲートウェイは、ＭＡＣアドレスを対応付けるマッピング情報のセットと、オプションとしてＶＸＬＡＮへのＶＬＡＮタグを対応付けるマッピング情報のセットとを維持する。そして、当該マッピング情報を維持するためのデータ構造はまた、特定のＶＬＡＮ上の全ての物理的なホストを包含するためのエントリを含む。これは、ホスト特有の情報を有することなく、ＶＮＩとＶＬＡＮタグとの間のマッピングとして示される。物理的なホスト１２６が適切に設定されている場合、ＶＸＬＡＮゲートウェイ１２４は、イーサネットパケットのＭＡＣ  ＳＡとＭＡＣ  ＤＡ（及びオプションとしてＶＬＡＮタグ）とがＶＸＬＡＮ１に関連付けられていることを特定する。（なお、ＶＬＡＮタグに値があれば、ＶＸＬＡＮゲートウェイ１２４は、ＭＡＣアドレスを用いることなくＶＬＡＮからＶＸＬＡＮへ直接的に対応付けることができる。しかし、ＶＬＡＮが設定されていない場合、ＶＸＬＡＮゲートウェイ１２４はＭＡＣ  ＳＡ、ＭＡＣ  ＤＡ又はその両方をＶＸＬＡＮに対応付けることができる。）更に、ＶＸＬＡＮゲートウェイ１２４はまた、ＶＭのＭＡＣアドレスとＶＭの物理的なホストのＩＰアドレスとの間のマッピング情報のセットを維持する。従って、物理的なホスト１２６により生成されたイーサネットパケットのＭＡＣ  ＤＡ、即ちＶＭ１０８のＭＡＣアドレスに基づいて、ＶＸＬＡＮゲートウェイ１２４は、ＶＸＬＡＮのカプセル化には、ホスト１０２のＩＰアドレスが送信先のＩＰアドレスとして用いられるべきである、ということを判定することができる。加えて、ＶＸＬＡＮゲートウェイ１２４は、このカプセル化では自身のＩＰアドレスを送信元ＩＰアドレスとして用いる。続いて、ＶＸＬＡＮでは、適切なＶＬＡＮヘッダとＩＰヘッダとともにホスト１２６からのイーサネットヘッダをカプセル化し、カプセル化されたパケットをＩＰネットワーク１００に送信する。
【００１９】
このカプセル化されたパケットがホスト１０２に到達した場合、このカプセル化されたパケットはＶＸＬＡＮモジュール１０６に転送される。次に、ＶＸＬＡＮモジュール１０６はＩＰヘッダを取り除いて内部イーサネットパケットを取得する。なお、ＶＸＬＡＮモジュール１０６は、ＩＰヘッダの送信元ＩＰアドレス（即ちＶＸＬＡＮゲートウェイ１２４のＩＰアドレス）と内部イーサネットパケット（即ちホスト１２６のＭＡＣアドレス）との間のマッピングを学習することができる。このマッピング情報は、ホスト１２６へのアウトバンドのトラフィック（outbound traffic）をカプセル化するために用いられる。続いて、ＶＸＬＡＮモジュール１０６は、ＭＡＣ  ＤＡに基づいて内部イーサネットパケットをＶＭ１０８に転送する。
【００２０】
ＶＭ１０８がホスト１２６にイーサネットパケットを送信して戻す場合、同様のＶＸＬＡＮのカプセル化／カプセル除去プロセスが実行される。特に、ＶＸＬＡＮモジュール１０６は、ＶＭ１０８からホスト１２６へのイーサネットパケットはＶＸＬＡＮ１に属すことを特定する。さらに、ＶＸＬＡＮモジュール１０６は、イーサネットパケットのＭＡＣ  ＤＡ（即ちホスト１２６のＭＡＣアドレス）に基づいてホスト１２６のＩＰアドレスをＶＸＬＡＮのカプセル化のための送信先ＩＰアドレスとして特定し、送信元のＩＰアドレスとしてホスト１０２のＩＰアドレスを用いる。そして、ホスト１０２はカプセル化されたイーサネットパケットを、ＶＸＬＡＮゲートウェイ１２４までこのパケットを配信するＩＰネットワーク１００に送信する。そして、ＶＸＬＡＮゲートウェイ１２４は、このパケットのＩＰヘッダを取り除くことによってカプセル除去を行い、内部イーサネットパケットをホスト１２６に転送する。
【００２１】
図２は従来型のイーサネットパケットのヘッダフォーマットとそのＶＸＬＡＮのカプセル化を示している。この例では、従来型のイーサネットパケット２００は典型的にペイロード２０３とイーサネットヘッダ２０８を含む。典型的に、ペイロード２０３はＩＰヘッダ２０６を含むＩＰパケットを含む。イーサネットヘッダ２０８は、ＭＡＣ  ＤＡ２０４、ＭＡＣ  ＳＡ２０２及びオプションとしてＶＬＡＮタグ２０５を含む。
【００２２】
ある実施形態では、ＶＸＬＡＮゲートウェイ１２４は、従来型のイーサネットパケット２００をカプセル化されたパケット２２０にカプセル化することができる。カプセル化されたパケット２２０は、典型的に、内部イーサネットパケット２００が属すＶＸＬＡＮを示すためのＶＮＩを含むＶＸＬＡＮヘッダ２２２、トランスポートレイヤのプロトコルとＶＸＬＡＮのために予約されたポート番号を示すＵＤＰヘッダ２１８、及び外部ＩＰヘッダ２１０を含む。加えて、カプセル化されたパケット２２０は外部イーサネットヘッダ２１２を含む。
【００２３】
例えばイーサネットパケット２００を、ホスト１２６によって生成されてＶＭ１０８をあて先とするイーサネットパケットの例とする。典型的に、ホスト１２６の上位レイヤのアプリケーションは、ＶＭ１０８のＩＰアドレスを用いてＶＭ１０８をあて先とするＩＰパケットを生成する。このＩＰパケットはペイロード２０３となり、ＶＭ１０８のＩＰアドレスはＩＰヘッダ２０６の送信先ＩＰアドレスとなり得る。加えて、ホスト１２６のＩＰアドレスはＩＰヘッダ２０６の送信元アドレスとなり得る。そして、ホスト１２６のデータリンクレイヤはイーサネットヘッダ２０８を生成してペイロード２０３をカプセル化する。イーサネットヘッダ２０８のＭＡＣ  ＤＡ２０４はＶＭ１０８のＭＡＣアドレスとなり得、そしてイーサネットヘッダ２０８のＭＡＣ  ＳＡ２０２はホスト１２６のＭＡＣアドレスとなり得る。これは、ホスト１２６がＶＭ１０８のＭＡＣアドレスを学習したことを前提とするものである。ホスト１２６がＶＭ１０８のＭＡＣアドレスの知識を持たない場合、ホスト１２６はＡＲＰを用いてＶＭ１０８のＭＡＣアドレスを発見することができる。このＡＲＰプロセスは図３とともに説明する。そして、ホスト１２６はイーサネットパケット２００をＶＸＬＡＮゲートウェイ１２４に送信する。
【００２４】
ＶＸＬＡＮゲートウェイ１２４はホスト１２６からイーサネットパケットを受信し、ＶＸＬＡＮゲートウェイ１２４はイーサネットＭＡＣ  ＤＡ２０４、ＭＡＣ  ＳＡ２０２及びオプションとしてＶＬＡＮタグ２０５を調べる。ＶＸＬＡＮゲートウェイ１２４は、この情報に基づいて、イーサネットパケット２００がＶＸＬＡＮ１と関連付けられていると判定する。さらに、ＶＸＬＡＮゲートウェイ１２４は、ＭＡＣ  ＤＡ２０４に基づいて、ＶＸＬＡＮのカプセル化のための送信先ＩＰアドレスがホスト１０２のＩＰアドレスであると判定する。続いて、ＶＸＬＡＮゲートウェイ１２４は、（ＶＸＬＡＮ１に対応する）ＶＸＬＡＮヘッダ２２２を含むＶＸＬＡＮヘッダを組み立て、適切なＵＤＰポート番号を含んだＵＤＰヘッダ２１８を付加する。加えて、ＶＸＬＡＮゲートウェイ１２４は、ホスト１０２のＩＰアドレスを送信先アドレスとして、かつＶＸＬＡＮゲートウェイ１２４の自身のＩＰアドレスを送信元アドレスとして用いる外部ＩＰヘッダ２１０を組み立てる。そして、ＶＸＬＡＮゲートウェイ１２４は、外部イーサネットヘッダ２１２を組み立てる。外部イーサネットヘッダ２１２が用いられて、パケット２２０がＶＸＬＡＮゲートウェイ１２４から次ホップのＩＰルータに送信される。外部イーサネットヘッダ２１２は、ＩＰルータ１３４のＭＡＣアドレスであるＭＡＣ  ＤＡ２１４、ＶＸＬＡＮゲートウェイ１２４のＭＡＣアドレスであるＭＡＣ  ＳＡ、及びオプションとして外部のＬＡＮタグ２１７を有する。
【００２５】
ひとたびパケット２２０がＩＰルータ１３４に到達すると、ＩＰルータ１３４は外部イーサネットヘッダ２１２を取り除き、外部ＩＰヘッダ２１０に基づいてパケットを転送する。このプロセスは、パケットがホスト１０２に到着するまでＩＰネットワーク１００を通して続く。
【００２６】
上述したように、ホスト１２６が始めてＶＭ１０８と通信しようとする場合は、ホスト１２６はＶＭ１０８のＩＰアドレスを有するがＭＡＣアドレスを有しないことがあり得る。ＶＭ１０８のＭＡＣアドレスを発見するため、ホスト１２６はＡＲＰクエリ動作を実行することができる。図３はこのプロセスの時系列の図を表わす。最初に、ホスト１２６は、イーサネットブロードキャストパケット３０２で運ばれるＡＲＰリクエストメッセージを生成する。その後、ホスト１２６はブロードキャストパケット３０２をＶＸＬＡＮゲートウェイ１２４に送信する。次に、ＶＸＬＡＮゲートウェイ１２４は、パケット３０２のＭＡＣ  ＳＡに基づいてホスト１２６がＶＸＬＡＮ１に属すことを特定する。加えて、パケット３０２は、イーサネットブロードキャストパケットであるため、ＶＸＬＡＮゲートウェイ１２４は、ＶＸＬＡＮ１に対応するＩＰマルチキャストグループにパケット３０２をマッピングし、パケット３０２にカプセル化するＩＰマルチキャストヘッダ３０３を生成する。なお、ＩＰマルチキャストグループはホスト１０２と１０３を含む。これは、これらのホストが両方ともＶＸＬＡＮ１（ホスト１０２にはＶＭ１０８とＶＭ１１０、及びホスト１０３にはＶＭ１１８）に属すＶＭをホストしているためである。このＩＰマルチキャストパケットは、その後ホスト１０２とホスト１０３の両方にＩＰネットワーク１００で配信される。ホスト１０２のＶＸＬＡＮモジュール１０６は、その後パケット３０２からＩＰヘッダ３０３を取り除き、ＶＸＬＡＮ１に属す全てのＶＭ（例えばＶＭ１０８とＶＭ１１０）にパケット３０２を局所的にブロードキャストする。加えて、ＶＸＬＡＮモジュール１０６は、パケット３０２内のＭＡＣ  ＳＡであるホスト１２６のＭＡＣアドレスと、それに対応するＩＰアドレス、即ちＶＸＬＡＮゲートウェイ１２４のＩＰアドレスであってＩＰマルチキャストパケットの送信元ＩＰアドレス、との間のマッピングを学習する。
【００２７】
同様に、ホスト１０３のＶＸＬＡＮモジュール１１６は、同じＩＰマルチキャストパケットを受信して、ＶＭ１１８に内部イーサネットブロードキャストパケット３０２を転送する（図３には不図示）。
【００２８】
続いて、ＶＭ１０８は、ＶＭ１０８のＩＰアドレスがパケット３０２内のＡＲＰリクエストのＩＰアドレスと一致することを判定する。これに応答して、ＶＭ１０８はＡＲＰレスポンスメッセージを生成し、これをイーサネットのユニキャストパケット３０４にカプセル化する。このイーサネットのユニキャストパケット３０４はホスト１２６のＭＡＣアドレスをＭＡＣ  ＤＡとし、ＶＭ１０８自身のＭＡＣアドレスをＭＡＣ  ＳＡとするものである。そして、ホスト１０２のＶＸＬＡＮモジュール１０６は、ユニキャストＩＰヘッダ３０５とともにパケット３０４をカプセル化する。このＩＰヘッダ３０５の送信元ＩＰアドレスはホスト１０２のＩＰアドレスであり、送信先ＩＰアドレスはＶＸＬＡＮゲートウェイ１２４のＩＰアドレスである。このユニキャストＩＰパケットがＶＸＬＡＮゲートウェイ１２４に到達した場合、ＶＸＬＡＮゲートウェイ１２４はＩＰヘッダ３０５を取り除き、内部イーサネットパケット３０４をホスト１２６に転送する。次に、ホスト１２６はパケット３０４が運ぶＡＲＰレスポンスを受信して、ＶＭ１０８のＭＡＣアドレスを学習する。
【００２９】
次に、ホスト１２６は、ＶＭ１０８へのペイロードを運ぶ、通常のユニキャストイーサネットパケット３０６を生成する。このパケット３０６のＭＡＣ  ＤＡはＶＭ１０８のＭＡＣアドレスであり、パケット３０４（ＡＲＰレスポンス）に基づいてホスト１２６が学習したものである。このパケット３０６のＭＡＣ  ＳＡはホスト１２６のＭＡＣアドレスである。ＶＸＬＡＮゲートウェイ１２４は、ユニキャストＩＰヘッダ３０７に続くＶＸＬＡＮヘッダとともにパケット３０６をカプセル化する。ＩＰヘッダ３０７は送信先ＩＰアドレスとしてホスト１０２のＩＰアドレスを有するとともに、送信元ＩＰアドレスとしてＶＸＬＡＮゲートウェイ１２４のＩＰアドレスを有する。続けて、ホスト１０２のＶＸＬＡＮモジュール１０６はＩＰヘッダ３０７を取り除き、内部イーサネットパケット３０６をＶＭ１０８に転送する。
【００３０】
ＶＭ１０８が返信としてイーサネットパケット３０８を送信する場合、ＶＸＬＡＮモジュール１０６はユニキャストＩＰヘッダ３０９とともにパケット３０８をカプセル化する。ユニキャストＩＰヘッダ３０９は、送信先ＩＰアドレスとしてＶＸＬＡＮゲートウェイ１２４のＩＰアドレスを有するとともに、その送信元ＩＰアドレスとしてホスト１０２のＩＰアドレスを有する。そして、ＶＸＬＡＮゲートウェイ１２４がカプセル化されたパケットを受信してＩＰヘッダ３０９を取り除き、内部イーサネットパケット３０８をホスト１２６に転送する。
【００３１】
図４はＶＸＬＡＮゲートウェイを介してＶＭと通信する物理的なホストの一般的なプロセスを示すフローチャートを表わす。動作中に、ＶＸＬＡＮ内のＶＭとの通信を開始するため、物理的なホストは、まずＶＸＬＡＮゲートウェイに到達するＡＲＰリクエストをブロードキャストする（動作４０２）これに応答して、ＶＸＬＡＮゲートウェイは、物理的なホストのＭＡＣアドレスおよびオプションとしてそのＶＬＡＮタグに基づいて、ＡＲＰリクエストを特定のＶＸＬＡＮ及び対応するＩＰマルチキャストグループにマッピングする（動作４０４）。ＶＸＬＡＮゲートウェイは、ＶＸＬＡＮヘッダ、ＵＤＰヘッダ及び外部ＩＰヘッダ（送信先ＩＰアドレスとしてのＩＰマルチキャストグループアドレスを含む）とともにそのＡＲＰリクエストと、外部イーサネットヘッダをカプセル化する（動作４０６）。ＶＸＬＡＮゲートウェイは、そしてカプセル化されたパケットをＩＰネットワークに送信する（動作４０８）。
【００３２】
カプセル化されたパケットは、ＩＰネットワークによって、同一のＶＸＬＡＮに属すＶＭをホストする全てのホストに送信される。結果として、ＡＲＰリクエストに対応するＶＭをホストするホスト上のＶＸＬＡＮ対応のハイパーバイザは、カプセル化されたパケットを受信して、そのパケットのカプセル除去を行い、同一のＶＸＬＡＮに属しかつホスト上で動作するＶＭに内部ＡＲＰリクエストを転送する（動作４１０）。続いて、ＡＲＰリクエストと一致するＩＰアドレスを有するＶＭは、当該ＡＲＰリクエストに応答する（動作４１２）。これに応答して、ＶＭのハイパーバイザは、送信先ＩＰアドレスとしてのＶＸＬＡＮゲートウェイのＩＰアドレスとともにＡＲＰレスポンスをカプセル化し、カプセル化されたパケットをＩＰネットワークに送信する（動作４１４）。
【００３３】
次に、ＶＸＬＡＮゲートウェイはカプセル化されたＡＲＰレスポンスパケットを受信し、カプセル除去を行う（動作４１６）。そして、ＶＸＬＡＮゲートウェイはカプセル除去のされたＡＲＰレスポンスパケットを物理的なホストに転送する（動作４１８）。次に、当該物理的なホストは送信先のＶＭのＭＡＣアドレスを学習する（動作４２０）。この物理的なホストは、このＶＭが同一のレイヤ２ブロードキャストネットワークに存在するかのように、このＶＭのＭＡＣアドレスを用いてＶＭと通信を開始することができる（動作４２２）。
【００３４】
ある実施形態では、ＶＸＬＡＮ非対応の物理的なホストに対するＶＸＬＡＮ機能の提供に加えて、ＶＸＬＡＮゲートウェイは、ＶＸＬＡＮ対応でない２つのデータセンタを１つの共通のＶＸＬＡＮ  ＩＤによる１つのＶＸＬＡＮドメインに「縫い合わせる」(stitch)ことができる。このような「縫い合わせ」を容易にするため、２つのデータセンタ内に存在する２つのＶＸＬＡＮはそれぞれこれらの間のトンネル（ある実施形態では例えばＩＰＳＥＣベース等のＩＰベースのトンネル）を確立する。ある実施形態では、このトンネルはＩＰｓｅｃのトンネルである。この２つのＶＸＬＡＮゲートウェイは、一方のデータセンタから他方のデータセンタに透過的にパケットを通過させることができ、従って２つのデータセンタを単一のブロードキャストドメインに接続させることができる。なお、ＩＰｓｅｃのトンネルは例として用いたものであり、２つのＶＸＬＡＮゲートウェイは任意のトンネリングプロトコルを用いることができる。
【００３５】
図５は、離れて位置する２つのデータセンタが接続してＶＸＬＡＮゲートウェイによる単一のレイヤ２ブロードキャストドメインを形成する、ネットワークアーキテクチャの例を示している。この例では、ホスト５０４はＶＭ５１８、ＶＭ５２０及びＶＭ５２２をホストする。ホスト５０６は、ＶＭ５０８、ＶＭ５１０及びＶＭ５１２をホストする。ホスト５０４はＶＸＬＡＮゲートウェイ５１６に接続され、ホスト５０６はＶＸＬＡＮゲートウェイ５１６に接続される。ＶＸＬＡＮゲートウェイ５１６及び５０６は両方ともＩＰネットワーク５００に接続され、これらの間にトンネル５１５を確立する。
【００３６】
動作中、それぞれのＶＸＬＡＮゲートウェイは、局所的な(locally)ＭＡＣアドレスからＶＸＬＡＮへ対応付けるだけでなく離れたデータセンタ内のＭＡＣアドレスからＶＸＬＡＮへ対応付ける、マッピング情報のセットを維持する。例えば、ＶＭ５０８がＶＭ５１８をあて先とするイーサネットパケットを送信する場合、ＶＸＬＡＮゲートウェイ５１４は、このイーサネットパケットをＶＸＬＡＮヘッダ及びＩＰヘッダとともにカプセル化して、このカプセル化したパケットを、トンネル５１５を介してＶＸＬＡＮゲートウェイ５１６に送信する。次に、ＶＸＬＡＮゲートウェイ５１６はこのパケットをカプセル除去し、ホスト５０４に内部イーサネットパケットを送信する。本質的に、ＶＸＬＡＮゲートウェイ５１６及び５０６は、ＶＸＬＡＮ対応のハイパーバイザ内のＶＸＬＡＮモジュールの機能を提供する。
【００３７】
上述したように、ＶＸＬＡＮゲートウェイは、典型的にはＭＡＣアドレス及び（オプションとして）ＶＬＡＮタグからＶＸＬＡＮＩＤへ対応付けるマッピング情報のセットを維持する。さらに、ＶＸＬＡＮのカプセル化は、ＭＡＣ  ＤＡから送信先ＩＰアドレス（内部イーサネットに応じてユニキャストかマルチキャストの一方）へのマッピングを必要とする。ある実施形態では、図６に示すように、オープンフローコントローラ（OpenFlow controller）が、ネットワーク内のそれぞれのＶＸＬＡＮゲートウェイのこのような設定を容易にすることができる。この例では、全てのマッピング情報（フロー定義の形式で格納される）がオープンフローコントローラ６０２からＶＸＬＡＮゲートウェイ１２４に、セキュア（例えばＳＳＬ）なトンネル６０４を介して通信される。オープンフローコントローラ６０２によって提供されるこの設定情報は、ＶＸＬＡＮゲートウェイ１２４によって使用されて、特定のフローに対するエントリを含んだ転送テーブルを構築することができる。それぞれのフローは、１２の値の組｛ＭＡＣ  ＤＡ、ＭＡＣ  ＳＡ、イーサタイプ、送信元ＩＰ、送信先ＩＰ、等｝が任意のフィールドで用いるワイルドカードの可能性とともに用いられて定義される。オープンフローのより詳細は、https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.2.pdf, which is incorporated by reference hereinで見ることができる。
【００３８】
ここに記載されるＶＸＬＡＮゲートウェイは、単体の装置（stand-alone appliance）、スッチ又はルータの一部、あるいはホストの一部として実装され得ることに留意すべきである。さらに、ＶＸＬＡＮゲートウェイはハードウェア、ソフトウェア又はこれらの組み合わせに実装され得る。図７は、ＶＸＬＡＮゲートウェイを容易にするコンピュータシステムの例を示す。この例では、コンピュータシステム７０２は、プロセッサ７０４、メモリ７０６及びストレージ装置７０８を含む。また、コンピュータシステム７０２はディスプレイ７１０、キーボード７１２及びポインティングデバイス７０８に接続される。ストレージ装置７０８は、データ７３０と、メモリ７０６に読み込まれた場合にプロセッサ７０４によって実行される命令であってオペレイティングシステム７１６及びＶＸＬＡＮゲートウェイシステム７１８を実施する命令とを格納する。ゲートウェイシステム７１８は、通信モジュール７２０、ＶＸＬＡＮマッピングモジュール７２２、パケットカプセル化モジュール７２４、ＩＰトンネルモジュール７２６及びオープンフローモジュール７２８を含む。プロセッサによって実行される場合、これらのモジュールは協同して又は分離して上述した機能を実行する。
【００３９】
この詳細な説明で示したデータ構造及びコードは、典型的には、任意の装置又は記録媒体であってコード及びデータの少なくともいずれかをコンピュータシステムによって用いるための、コンピュータで読み出し可能な記録媒体に格納される。このコンピュータで読み出し可能な記録媒体には、揮発性メモリ、不揮発性メモリ、ならびにディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスク又はデジタル・ビデオ・ディスク）若しくは現在知られ又は今後開発される記録可能でコンピュータで読み出し可能な他の媒体などの磁気及び光記録装置、を含むがこれに限られない。
【００４０】
この詳細な説明のセクションで説明した方法及びプロセスは、上述したコンピュータで読み出し可能な記録媒体に格納可能な、コード及びデータの少なくともいずれかとして具体化され得る。コンピュータシステムが、コンピュータで読み出し可能な記録媒体に格納されたこのコード及びデータの少なくともいずれかを読み出して実行する場合、コンピュータシステムは、データ構造及びコードとして具体化され、かつコンピュータで読み出し可能な記録媒体に格納された、方法及びプロセスを実行する。
【００４１】
さらに、上述した方法及びプロセスはハードウェアモジュールに含まれ得る。例えば、ハードウェアモジュールは、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、及び現在知られ又は今後開発される他のプログラム可能な論理デバイス、を含み得るがこれに限られない。ハードウェアモジュールが有効化された場合、このハードウェアモジュールは、当該ハードウェアモジュールに含まれる方法及びプロセスを実行する。
【００４２】
本発明の実施形態に係る前述の説明は、概説及び説明のみを目的として提示されたものである。それらは、網羅的であること又は本発明を記載された形式に限定することを意図するものではない。従って、多くの変形例及びバリエーションは当業者にとって明らかである。さらに、上の開示は本発明を制限することを意図したものではない。本発明のスコープは付加された請求項によって定義される。
【図１】
2015531212.tif 000003
【図２】
2015531212.tif 000004
【図３】
2015531212.tif 000005
【図４】
2015531212.tif 000006
【図５】
2015531212.tif 000007
【図６】
2015531212.tif 000008
【図７】
2015531212.tif 000009
【手続補正書】
【提出日】平成27年8月26日(2015.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク内のパケットの送信元及び送信先とは別の物理的な装置が仮想拡張ローカルエリアネットワークのゲートウェイを実行するための方法であって、前記方法は、
前記ゲートウェイを実行する前記物理的な装置とは別の物理的なホストから、前記物理的なホストの存在する局所的なレイヤ２ネットワークのブロードキャストドメインと異なる、離れたレイヤ２ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信する工程と、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定する工程と、
前記イーサネットパケットを、前記判定した仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル（ＩＰ）ヘッダとともにカプセル化する工程と、
転送されたパケットがＩＰネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ２ネットワークのブロードキャストドメインと前記局所的なレイヤ２ネットワークのブロードキャストドメインとが共通のレイヤ２ブロードキャストドメインの一部になるように、前記ゲートウェイを実行する前記物理的な装置が接続する前記ＩＰネットワークに前記カプセル化されたパケットを転送する工程と、
を含むことを特徴とする方法。
【請求項２】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル（ＡＲＰ）リクエストのパケットである、ことを特徴とする請求項１に記載の方法。
【請求項３】
前記仮想拡張ローカルエリアネットワークの識別子をＩＰマルチキャストグループに対応付けるデータ構造を維持する工程と、
前記イーサネットパケットがブロードキャスト送信先レイヤ２アドレスを有する場合、前記ＩＰヘッダ内の送信先ＩＰアドレスを、前記ＩＰマルチキャストグループに対応するＩＰアドレスに設定する工程と、をさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
（ｉ）前記物理的なホストのメディアアクセス制御（ＭＡＣ）アドレスと（ｉｉ）前記物理的なホストの仮想ローカルエリアネットワーク（ＶＬＡＮ）タグ、の少なくとも１つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する工程をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
外部イーサネットヘッダ、ＩＰヘッダ、前記仮想拡張ローカルエリアネットワークの識別子及び内部イーサネットヘッダを含むパケットであって、前記仮想マシンを送信元とする該パケットを受信する工程と、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ、ＩＰヘッダ及び仮想拡張ローカルエリアネットワークの識別子を取り除くことによってカプセル除去を行う工程と、
前記ゲートウェイを実行する前記物理的な装置から前記物理的なホストに前記カプセル除去されたパケットを転送する工程と、をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
２つのレイヤ２ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、パケットの前記送信元及び前記送信先とは別の第２の物理的な装置が実行する第２の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する工程をさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
ネットワーク内のパケットの送信元及び送信先とは別の物理的な装置の複数の処理ユニットの組によって実行される場合に、仮想拡張ローカルエリアネットワークのゲートウェイを実行するプログラムを格納する記録媒体であって、前記プログラムは、
前記ゲートウェイを実行する前記物理的な装置とは別の物理的なホストから、前記物理的なホストの存在する局所的なレイヤ２ネットワークのブロードキャストドメインと異なる、離れたレイヤ２ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信し、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定し、
前記イーサネットパケットを、前記判定した仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル（ＩＰ）ヘッダとともにカプセル化し、
転送されたパケットがＩＰネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ２ネットワークのブロードキャストドメインと前記局所的なレイヤ２ネットワークのブロードキャストドメインとが共通のレイヤ２ブロードキャストドメインの一部になるように、前記ゲートウェイを実行する前記物理的な装置が接続する前記ＩＰネットワークに前記カプセル化されたパケットを転送する、
複数の命令の複数の組を含むことを特徴とする記録媒体。
【請求項８】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル（ＡＲＰ）リクエストのパケットである、ことを特徴とする請求項７に記載の記録媒体。
【請求項９】
前記プログラムは、
前記仮想拡張ローカルエリアネットワークの識別子をＩＰマルチキャストグループに対応付けるデータ構造を維持し、
前記イーサネットパケットがブロードキャスト送信先レイヤ２アドレスを有する場合、前記ＩＰヘッダ内の送信先ＩＰアドレスを、前記ＩＰマルチキャストグループに対応するＩＰアドレスに設定する、複数の命令の複数の組をさらに含むことを特徴とする請求項７に記載の記録媒体。
【請求項１０】
前記プログラムは、
（ｉ）前記物理的なホストのメディアアクセス制御（ＭＡＣ）アドレスと（ｉｉ）前記物理的なホストの仮想ローカルエリアネットワーク（ＶＬＡＮ）タグ、の少なくとも１つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する、複数の命令の複数の組をさらに含むことを特徴とする請求項７に記載の記録媒体。
【請求項１１】
前記プログラムは、
外部イーサネットヘッダ、ＩＰヘッダ、前記仮想拡張ローカルエリアネットワークの識別子及び内部イーサネットヘッダを含むパケットであって、前記仮想マシンを送信元とする該パケットを受信し、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ、ＩＰヘッダ及び仮想拡張ローカルエリアネットワークの識別子を取り除くことによってカプセル除去を行い、
前記ゲートウェイを実行する前記物理的な装置から前記物理的なホストに前記カプセル除去されたパケットを転送する、複数の命令の複数の組をさらに含むことを特徴とする請求項７に記載の記録媒体。
【請求項１２】
前記プログラムは、２つのレイヤ２ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、パケットの前記送信元及び前記送信先とは別の第２の物理的な装置が実行する第２の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する、複数の命令の組をさらに含むことを特徴とする請求項７に記載の記録媒体。
【請求項１３】
前記プログラムは、オープンフローコントローラから設定情報を受信する、複数の命令の組を更に含むことを特徴とする請求項７に記載の記録媒体。
【請求項１４】
ネットワーク内のパケットの送信元及び送信先とは別の、仮想拡張ローカルエリアネットワークのゲートウェイを実行するスイッチ装置であって、前記スイッチ装置は、
複数の処理ユニットの組と、
前記複数の処理ユニットの組と接続され、前記複数の処理ユニットの少なくとも１つによって実行されるプログラムを格納する、記録媒体とを含み、
前記プログラムは、
前記ゲートウェイを実行する前記スイッチ装置とは別の物理的なホストから、前記物理的なホストの存在する局所的なレイヤ２ネットワークのブロードキャストドメインと異なる、離れたレイヤ２ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信し、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定し、
前記イーサネットパケットを、前記判定した仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル（ＩＰ）ヘッダとともにカプセル化し、
転送されたパケットがＩＰネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ２ネットワークのブロードキャストドメインと前記局所的なレイヤ２ネットワークのブロードキャストドメインとが共通のレイヤ２ブロードキャストドメインの一部になるように、前記ゲートウェイを実行する前記物理的な装置が接続する前記ＩＰネットワークに前記カプセル化されたパケットを転送する、
複数の命令の複数の組を含むことを特徴とするスイッチ装置。
【請求項１５】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル（ＡＲＰ）リクエストのパケットである、ことを特徴とする請求項１４に記載のスイッチ装置。
【請求項１６】
前記プログラムは、
前記仮想拡張ローカルエリアネットワークの識別子をＩＰマルチキャストグループに対応付けるデータ構造を維持し、
前記イーサネットパケットがブロードキャスト送信先レイヤ２アドレスを有する場合、前記ＩＰヘッダ内の送信先ＩＰアドレスを、前記ＩＰマルチキャストグループに対応するＩＰアドレスに設定する、複数の命令の複数の組をさらに含むことを特徴とする請求項１４に記載のスイッチ装置。
【請求項１７】
前記プログラムは、
（ｉ）前記物理的なホストのメディアアクセス制御（ＭＡＣ）アドレスと（ｉｉ）前記物理的なホストの仮想ローカルエリアネットワーク（ＶＬＡＮ）タグ、の少なくとも１つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する、複数の命令の組をさらに含むことを特徴とする請求項１４に記載のスイッチ装置。
【請求項１８】
前記プログラムは、
外部イーサネットヘッダ、ＩＰヘッダ、前記仮想拡張ローカルエリアネットワークの識別子及び内部イーサネットヘッダを含むパケットであって、前記仮想マシンを送信元とする該パケットを受信し、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ、ＩＰヘッダ及び仮想拡張ローカルエリアネットワークの識別子を取り除くことによってカプセル除去を行い、
前記ゲートウェイを実行する前記物理的な装置から前記物理的なホストに前記カプセル除去されたパケットを転送する、複数の命令の複数の組をさらに含むことを特徴とする請求項１４に記載のスイッチ装置。
【請求項１９】
前記プログラムは、２つのレイヤ２ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、パケットの前記送信元及び前記送信先とは別の第２の物理的な装置が実行する第２の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する、命令の組をさらに含むことを特徴とする請求項１４に記載のスイッチ装置。
【請求項２０】
前記プログラムは、オープンフローコントローラから設定情報を受信する、命令の組をさらに含むことを特徴とする請求項１４に記載のスイッチ装置。
【請求項２１】
前記イーサネットパケットは、前記物理的なホストから受信したときに、カプセル化されていないイーサネットパケットである、ことを特徴とする請求項１に記載の方法。
【国際調査報告】
2015531212.tif 000010
2015531212.tif 000011