(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2015-531212(P2015-531212A)
(43)【公表日】2015年10月29日
(54)【発明の名称】仮想ネットワークおよび物理ネットワークを統合するための方法およびシステム
(51)【国際特許分類】
H04L 12/70 20130101AFI20151002BHJP
H04L 12/749 20130101ALI20151002BHJP
H04L 12/761 20130101ALI20151002BHJP
【FI】
H04L12/70 D
H04L12/749
H04L12/761
【審査請求】有
【予備審査請求】未請求
【全頁数】28
(21)【出願番号】特願2015-527450(P2015-527450)
(86)(22)【出願日】2013年6月3日
(85)【翻訳文提出日】2015年3月27日
(86)【国際出願番号】US2013043937
(87)【国際公開番号】WO2014028094
(87)【国際公開日】20140220
(31)【優先権主張番号】61/683,100
(32)【優先日】2012年8月14日
(33)【優先権主張国】US
(31)【優先権主張番号】13/791,264
(32)【優先日】2013年3月8日
(33)【優先権主張国】US
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LT,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US,UZ,VC
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
(71)【出願人】
【識別番号】514097912
【氏名又は名称】ヴィーエムウェア, インコーポレイテッド
【氏名又は名称原語表記】VMware, Inc.
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(72)【発明者】
【氏名】スリドハル, タユマナヴァン
(72)【発明者】
【氏名】ぺトラス, マーガレット
(72)【発明者】
【氏名】マハリンガム, マルリック
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030HB11
5K030HD01
5K030HD09
5K030MD07
(57)【要約】
ここでの開示は、仮想拡張ローカルエリアネットワーク(VXLAN)ゲートウェイについて記載する。動作中に、このVXLANゲートウェイは、物理的なホストからイーサネットパケットを受信する。このイーサネットパケットは、この物理的なホストが存在するローカルレイヤ2ネットワークのブロードキャストドメインとは異なる、離れたレイヤ2ネットワークのブロードキャストドメイン内に存在する仮想マシンをあて先とするものである。そして、このVXLANゲートウェイは、受信したイーサネットパケットのためのVXLAN識別子を判定する。このVXLANゲートウェイは、更にこのイーサネットパケットを仮想拡張ローカルエリアネットワーク識別子及びインターネットプロトコル(IP)ヘッダとでカプセル化し、IPネットワークにカプセル化したパケットを転送し、これによって、IPネットワークを介して仮想マシンへのパケットを転送し、離れたレイヤ2ネットワークブロードキャストドメインとローカルレイヤ2ネットワークブロードキャストドメインを共通のレイヤ2ブロードキャストドメインの一部にする。
【特許請求の範囲】
【請求項1】
仮想拡張ローカルエリアネットワークのゲートウェイを容易にするための、コンピュータで実行される方法であって、
物理的なホストから、前記物理的なホストの存在する局所的なレイヤ2ネットワークのブロードキャストドメインと異なる、離れたレイヤ2ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信する工程と、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定する工程と、
前記イーサネットパケットを、前記仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル(IP)ヘッダとともにカプセル化する工程と、
転送されたパケットがIPネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ2ネットワークのブロードキャストドメインと前記局所的なレイヤ2ネットワークのブロードキャストドメインとが共通のレイヤ2ブロードキャストドメインの一部になるように、前記カプセル化されたパケットを前記IPネットワークに転送する工程と、
を含むことを特徴とするコンピュータで実行される方法。
【請求項2】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル(ARP)リクエストである、ことを特徴とする請求項1に記載のコンピュータで実行される方法。
【請求項3】
前記仮想拡張ローカルエリアネットワークの識別子をIPマルチキャストグループに対応付けるデータ構造を維持する工程と、
前記IPヘッダ内の送信先IPアドレスを、前記IPマルチキャストグループに対応するIPアドレスに設定する工程と、をさらに含むことを特徴とする請求項1に記載のコンピュータで実行される方法。
【請求項4】
前記物理的なホストのメディアアクセス制御(MAC)アドレスと、
前記物理的なホストの仮想ローカルエリアネットワーク(VLAN)タグ、
の少なくとも1つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する工程をさらに含むことを特徴とする請求項1に記載のコンピュータで実行される方法。
【請求項5】
外部イーサネットヘッダ、IPヘッダ及び内部イーサネットヘッダを含むパケットを前記仮想マシンから受信する工程と、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ及びIPヘッダを取り除くことによってカプセル除去を行う工程と、
前記物理的なホストに前記カプセル除去されたパケットを転送する工程と、をさらに含むことを特徴とする請求項1に記載のコンピュータで実行される方法。
【請求項6】
2つのレイヤ2ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、第2の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する工程をさらに含むことを特徴とする請求項1に記載のコンピュータで実行される方法。
【請求項7】
オープンフローコントローラから設定情報を受信する工程を更に含むことを特徴とする請求項1に記載のコンピュータで実行される方法。
【請求項8】
プロセッサによって実行される場合に、仮想拡張ローカルエリアネットワークのゲートウェイを容易にするための方法を、前記プロセッサに実行させるための命令を格納する記録媒体であって、前記方法は、
物理的なホストから、前記物理的なホストの存在する局所的なレイヤ2ネットワークのブロードキャストドメインと異なる、離れたレイヤ2ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信する工程と、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定する工程と、
前記イーサネットパケットを、前記仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル(IP)ヘッダとともにカプセル化する工程と、
転送されたパケットがIPネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ2ネットワークのブロードキャストドメインと前記局所的なレイヤ2ネットワークのブロードキャストドメインとが共通のレイヤ2ブロードキャストドメインの一部になるように、前記カプセル化されたパケットを前記IPネットワークに転送する工程と、
を含むことを特徴とする記録媒体。
【請求項9】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル(ARP)リクエストである、ことを特徴とする請求項8に記載の記録媒体。
【請求項10】
前記方法は、
前記仮想拡張ローカルエリアネットワークの識別子をIPマルチキャストグループに対応付けるデータ構造を維持する工程と、
前記IPヘッダ内の送信先IPアドレスを、前記IPマルチキャストグループに対応するIPアドレスに設定する工程と、をさらに含むことを特徴とする請求項8に記載の記録媒体。
【請求項11】
前記方法は、
前記物理的なホストのメディアアクセス制御(MAC)アドレスと、
前記物理的なホストの仮想ローカルエリアネットワーク(VLAN)タグ、
の少なくとも1つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する工程をさらに含むことを特徴とする請求項8に記載の記録媒体。
【請求項12】
前記方法は、
外部イーサネットヘッダ、IPヘッダ及び内部イーサネットヘッダを含むパケットを前記仮想マシンから受信する工程と、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ及びIPヘッダを取り除くことによってカプセル除去を行う工程と、
前記物理的なホストに前記カプセル除去されたパケットを転送する工程と、をさらに含むことを特徴とする請求項8に記載の記録媒体。
【請求項13】
前記方法は、2つのレイヤ2ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、第2の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する工程をさらに含むことを特徴とする請求項8に記載の記録媒体。
【請求項14】
前記方法は、オープンフローコントローラから設定情報を受信する工程を更に含むことを特徴とする請求項8に記載の記録媒体。
【請求項15】
仮想拡張ローカルエリアネットワークのゲートウェイを容易にするためのスイッチングシステムであって、前記スイッチングシステムは、
プロセッサと、
前記プロセッサと接続され、前記プロセッサによって実行される場合に前記プロセッサに方法を実行させるための命令を格納する、ストレージ装置を含み、前記方法は、
物理的なホストから、前記物理的なホストの存在する局所的なレイヤ2ネットワークのブロードキャストドメインと異なる、離れたレイヤ2ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信する工程と、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定する工程と、
前記イーサネットパケットを、前記仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル(IP)ヘッダとともにカプセル化する工程と、
転送されたパケットがIPネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ2ネットワークのブロードキャストドメインと前記局所的なレイヤ2ネットワークのブロードキャストドメインとが共通のレイヤ2ブロードキャストドメインの一部になるように、前記カプセル化されたパケットを前記IPネットワークに転送する工程と、
を含むことを特徴とするスイッチングシステム。
【請求項16】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル(ARP)リクエストである、ことを特徴とする請求項15に記載のスイッチングシステム。
【請求項17】
前記方法は、
前記仮想拡張ローカルエリアネットワークの識別子をIPマルチキャストグループに対応付けるデータ構造を維持する工程と、
前記IPヘッダ内の送信先IPアドレスを、前記IPマルチキャストグループに対応するIPアドレスに設定する工程と、をさらに含むことを特徴とする請求項15に記載のスイッチングシステム。
【請求項18】
前記方法は、
前記物理的なホストのメディアアクセス制御(MAC)アドレスと、
前記物理的なホストの仮想ローカルエリアネットワーク(VLAN)タグ、
の少なくとも1つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する工程をさらに含むことを特徴とする請求項15に記載のスイッチングシステム。
【請求項19】
前記方法は、
外部イーサネットヘッダ、IPヘッダ及び内部イーサネットヘッダを含むパケットを前記仮想マシンから受信する工程と、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ及びIPヘッダを取り除くことによってカプセル除去を行う工程と、
前記物理的なホストに前記カプセル除去されたパケットを転送する工程と、をさらに含むことを特徴とする請求項15に記載のスイッチングシステム。
【請求項20】
前記方法は、2つのレイヤ2ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、第2の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する工程をさらに含むことを特徴とする請求項15に記載のスイッチングシステム。
【請求項21】
前記方法は、オープンフローコントローラから設定情報を受信する工程を更に含むことを特徴とする請求項15に記載のスイッチングシステム。
【発明の詳細な説明】
【背景技術】
【0001】
インターネットの飛躍的な成長によって、様々なアプリケーションには、至る所でアクセス可能な配信媒体が実現した。そして、これらアプリケーションは、帯域幅に対する要求を増大させた。その結果、サービスプロバイダは、競って多彩な能力を備えたより大きく、より高速なデータセンタを構築した。その一方、仮想化技術の発達によって、データセンタにおける多数の仮想マシン(VM)の実装が可能となった。これらの仮想マシンは本質的に物理的なホストとして動作することができ、ウェブサーバやデータベースサーバなどの様々な機能を実行することができる。仮想マシンはソフトウェアで実装されているため、様々な場所を自由に移動することができる。この機能によって、サービスプロバイダは顧客ニーズに応じて物理的なリソース(例えば計算能力やネットワーク容量)を区切ったり切り離したりすることが可能になり、さらにこのようなリソースを動的に割り当てることが可能になる。
【0002】
仮想化はサービスプロバイダにとって前例のない柔軟性をもたらす一方で、従来型のレイヤ2ネットワークアーキテクチャは固定式であり、この仮想マシンの動的な性質に容易に適合することができない。例えば、従来型のデータセンタのアーキテクチャでは、ホストはしばしば1つ以上のレイヤ2(例えばイーサネット)スイッチによって相互接続されてレイヤ2ブロードキャストドメインを形成する。そのレイヤ2ブロードキャストドメインの物理的な範囲はその伝送媒体によって制限される。結果として、異なるデータセンタは、典型的には異なるレイヤ2ブロードキャストドメインに関連付けられ、また、複数のレイヤ2ブロードキャストドメインが単一のデータセンタ内に存在し得る。1つのデータセンタ内のVMが他のデータセンタ内のVMや記憶装置と通信するためには、このような通信はレイヤ3ネットワーク上で行われる必要がある。即ち、送信元と送信先は異なるレイヤ2ブロードキャストドメインに属するため、送信元と送信先の間のパケットはレイヤ3装置(例えばIPルータ)によって処理され転送されなければならない。このアーキテクチャは利点を有する一方で、フラットなレイヤ2処理は独自の優位性を有する。実際、レイヤ3及びレイヤ2の両方の優位性とネットワーク内の処理能力を利用できれば理想的である。
【0003】
上述した問題を解決する1つの方法は、仮想拡張ローカルエリアネットワーク(virtual extensible local area network, VXLAN)を実装することである。VXLANはインターネット技術タスクフォース(Internet Engineering Task Force、IETF)によって運営される、ネットワークの仮想化技術の標準技術であり、レイヤ3のIPネットワーク上にオーバーレイされた論理的なレイヤ2ネットワークを生成することによって機能する。VMによって生成されたイーサネットパケットは、遠隔データセンタに転送される前にIPヘッダ内にカプセル化され、この遠隔データセンタではこのIPヘッダを取り除いて元のイーサネットパケットが送信先に配信される。このIPカプセル化機構は論理的なレイヤ2ブロードキャストドメインを任意の数の離れた場所に拡張することができ、異なるデータセンタ又は同一のデータセンタ内の異なるセクションを(VMと装置がその内部にあるので)同一のレイヤ2ブロードキャストドメイン内のものとすることができる。このVXLAN機能は典型的にはホストのハイパーバイザ内に存在し、ハイパーバイザの仮想化スイッチと協同して機能する。VXLANのより詳細は、https://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02で入手可能なIETFドラフト「VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks,」に記載されており、参照により組み込まれる。
【0004】
しかしながら、既存のVXLANの実装では、同一の論理的なレイヤ2ブロードキャストネットワーク内に物理的なホストとVMの混合を容易に収容できない。これは、デフォルトのVXLANの機能は、あるVXLANに属するVMによって生成されたイーサネットパケットをハイパーバイザ内でカプセル化するためである。反対に、物理的なホストは、生成したイーサネットパケット、物理的なホストでなければそのイーサネットパケットは他のVXLAN対応のVMに配信される、をカプセル化する機構を持たないために、同じVXLANに容易に参加することができない。
【発明の概要】
【0005】
ここでの開示は、仮想化ネットワーク装置および物理的なネットワーク装置の統合を容易にするネットワーク通信システムについて記載する。特に、このシステムは、仮想拡張ローカルエリアネットワーク(VXLAN)ゲートウェイを提供する。動作中に、このVXLANゲートウェイは、物理的なホストからイーサネットパケットを受信する。このイーサネットパケットは、この物理的なホストが存在する局所的なレイヤ2ネットワークのブロードキャストドメインとは異なる、離れたレイヤ2ネットワークのブロードキャストドメイン内に存在する仮想マシンをあて先とするものである。そして、このVXLANゲートウェイは、受信したイーサネットパケットのためのVXLANネットワーク識別子(VNI)を判定する。このVXLANゲートウェイは、更にこのイーサネットパケットをVNI及びインターネットプロトコル(IP)ヘッダとでカプセル化してIPネットワークにカプセル化したパケットを転送し、これによって、IPネットワークを介して仮想マシンへのパケットを転送し、離れたレイヤ2ネットワークブロードキャストドメインと局所的なレイヤ2ネットワークブロードキャストドメインを共通のレイヤ2ブロードキャストドメインの一部にする。
【0006】
物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル(Address resolution protocol、ARP)リクエストパケットであり得る。加えて、VXLANゲートウェイは、VNIからIPマルチキャストグループを対応付けるデータ構造を維持する。また、VXLANゲートウェイは、IPヘッダ内の送信先IPアドレスをIPマルチキャストグループに対応するIPアドレスに設定する。また、VXLANゲートウェイは、メディアアクセス制御(MAC)アドレスとオプションとして物理的なホストの仮想ローカルエリアネットワーク(VLAN)タグとをVNIに対応付けたデータ構造を維持することができる。このデータ構造は、特定のVLANの全ての物理的なホストを包含するエントリを含み得る。これは、いかなるホスト特有の情報なしにVNIとVLANタグとの間のマッピングとして示される。
【0007】
さらに、VXLANゲートウェイは仮想マシンからパケットを受信することができ、このパケットは外部イーサネットヘッダ、外部IPヘッダおよび内部イーサネットヘッダを含む。そして、VXLANゲートウェイは、仮想マシンから受信したパケットを、そのイーサネットヘッダの外部とIPヘッダを取り除くことによってカプセル除去を行い、このカプセル除去したパケットを物理的なホストに転送する。VXLANゲートウェイは更に、第2のVXLANゲートウェイとのトンネルを確立することによって、2つのレイヤ2ネットワークブロードキャストドメインを共通のVNIで接続する。オプションとして、VXLANゲートウェイはオープンフロー(OpenFlow)コントローラから設定情報を受信することができる。
【図面の簡単な説明】
【0008】
【
図1】はVXLANゲートウェイを容易にするネットワークアーキテクチャの一例を示す。
【
図2】は従来型のイーサネットパケットのヘッダフォーマットとそのVXLANのカプセル化を表わす。
【
図3】はVXLANゲートウェイを介してIPネットワーク越しにVMとの通信を開始する物理的なホストの処理の一例を示す時系列の図を表わす。
【
図4】はVXLANゲートウェイを介してVMと通信する物理的なホストの処理の一例を示すフローチャートを表わす。
【
図5】はVXLANゲートウェイによって、離れて設置された2つのデータセンタが接続して単一のレイヤ2ブロードキャストドメインを形成するネットワークアーキテクチャの一例を示す。
【
図6】はオープンフローコントローラを用いるVXLANゲートウェイの設定を容易にするネットワークアーキテクチャの一例を示す。
【
図7】はVXLANゲートウェイを容易にするコンピュータシステムの一例を示す。 これらの図では参照のように数字は同一の図要素を指す。
【発明を実施するための形態】
【0009】
以下の記載は当業者が実施形態を使用し作ることができるように表わされ、特定のアプリケーションとその要求の文脈において提供される。開示された実施形態に対する様々な変形例はこれらの当業者にとって容易に明らかであり、ここで定義される一般的な原理は真意や本開示範囲から逸脱しない他の実施形態やアプリケーションにも適用される。従って、本発明は示された実施形態に限定されるものではなく、ここで開示される原理や機能と整合する最も広い範囲に従う。
【0010】
ここで開示されるシステムの実施形態は、VMと物理的なホストとの間の通信のVXLANカプセル化を可能にする問題を解決し、これは、物理的なホストのためのゲートウェイとして動作し、かつ、VXLANカプセル化とカプセル除去とを物理的なホストの代理で実行するVXLANゲートウェイを容易にすることによってなされる。上述したように、(カリフォルニア、パロアルトのヴィーエムウェア,インコーポレイテッドによるESX(登録商標)プロダクトファミリなどの)ハイパーバイザ内のVXLAN機能は、VXLAN対応のイーサネットブロードキャストドメインの一部であるVMによって生成されたイーサネットパケットを自動的にカプセル化する。そのプロトコルスタックにこのVXLAN機能を持たない、物理的なホストがVXLAN対応のブロードキャストドメインに参加することができる使用可能な機構は、現時点では存在しない。これは、VXLANヘッダで物理的なホストのイーサネットパケットをカプセル化することができる装置がネットワーク内に存在しないためである。
【0011】
この問題を解決するため、同一のレイヤ2ブロードキャストドメインに物理的なホストとして存在するVXLANゲートウェイは、物理的なホストの代わりにカプセル化及びカプセル除去を実行する。
図1はVXLANゲートウェイを容易にするネットワークアーキテクチャの一例を示す。この例では、IPネットワーク100は複数の従来型のレイヤ2ネットワークと接続する。特に、ホスト102はIPルータ130と接続する。ホスト102は、いくつかのVM,VM108、VM110及びVM112をホストする。VM108及びVM110はVXLAN1に属し、VM112はVXLAN2に属する。(ハイパーバイザなどの)仮想化ソフトウェア104はホスト102内のVMを管理し、またVXLANモジュール106を含む。VXLANモジュール106はVM108、VM110及びVM112の生成したイーサネットパケットをカプセル化及びカプセル除去を行う責務を負う。
【0012】
同様に、ホスト103はIPルータ132と接続される。ホスト103はいくつかのVM、VM118、VM120及びVM122をホストする。VM118はVXLAN1に属し、VM120及びVM122はVXLAN2に属する。仮想化ソフトウェア114はVM118、VM120及びVM122を管理するとともに、VXLANモジュール116を含む。同一のVXLAN内のVMが互いに通信する場合、VMによって生成されるイーサネットパケットはIPヘッダでカプセル化され、その後送信先の(送信先のIPアドレスを有する)物理的なホスト内のVXLANモジュールに配信される。
【0013】
例えば、VM108がVM118と通信する場合、VM108は、VM118のMACアドレスをそのMAC送信先アドレス(DA)とするイーサネットパケットを生成する。(なお、同一のVXLAN内のVMは同一の論理レイヤ2ブロードキャストドメイン内であるものとし、従って互いのMACアドレスを学習することが想定されている。)このイーサネットパケットがVXLANモジュール106に到達した場合、VXLANモジュール106はパケットのMAC送信元アドレス(SA)、MAC DA及びオプションとしてVLANタグを調べて、送信元(VM108)及び送信先(VM118)の両方がVXLAN1に属することを判定する。さらに、VXLANモジュール106は、パケットのMAC DAに基づいて、送信先の物理的なホスト103のIPアドレスを判定する。次に、VXLANモジュール106は、適切なVXLANヘッダとIPヘッダ(
図2とともにより詳細に説明する)とともにイーサネットパケットをカプセル化し、IPルータ130にこのカプセル化したパケットを送信する。このカプセル化されたパケットはホスト103に関連付けられたIP送信先アドレスを有するので、IPルータ130(及びIPネットワーク100内の他のIPルータ)は適切な転送のための決定、及びホスト103に向けた適切なパケットの転送を行うことができる。
【0014】
ホスト103がカプセル化されたパケットを受信した場合、VXLANモジュール116は最初にIPヘッダを取り除いて内部イーサネットパケットを取り出す。続いて、仮想化ソフトウェア114は、VNI及び当該内部イーサネットヘッダのMAC DAに基づいて、内部イーサネットパケットをVM118に転送する。なお、VXLAN116がイーサネットパケットを受信する場合、VXLAN116は、内部イーサネットパケット(VM108のMACアドレス)とIP送信先アドレス(ホスト102のIPアドレス)との関連のマッピングを確立することができる。従って、将来的にVM118がイーサネットパケットをVM108に送信する場合、VXLANモジュール116はホスト102のIPアドレスをIP送信先アドレスとしてVXLANカプセル化を行うことができる。
【0015】
送信元のVMが送信先のVMのMACアドレス(及び送信先のVMのIPアドレスのみ)の知識を有しない状況である場合、典型的には、送信元のVMは、送信元のVMのIPアドレスとともにアドレス解決プロトコル(Address resolution protocol、ARP)リクエストを発行する。このARPリクエストは、レイヤ2ブロードキャストドメイン内の全てのホスト(及びVM)が受信するブロードキャストレイヤ2メッセージである。VXLANの場合、例えば、VM108がARPリクエストを送信する場合、このARPリクエストは最初にVXLANモジュール106に到達する。次に、VXLANモジュール106がVXLAN全体にブロードキャストされることが意図されているARPリクエストであることを判定し、VXLANモジュール106は、送信先IPアドレスをIPマルチキャストグループとするIPヘッダとともにこのARPリクエストをカプセル化する。即ち、それぞれのVXLANは、VXLAN内の全ての物理的なホストを含むIPマルチキャストツリーに関連付けられる。このようにして、VXLAN全体に対するブロードキャストパケットがある場合、ホストのハイパーバイザ内のVXLANモジュールはIPマルチキャストヘッダとともにパケットをカプセル化することができ、VXLAN内の全てのホストにこのカプセル化したパケットをマルチキャストすることができる。
【0016】
従って、ARPリクエストは、同一のVXLANに関連付けられた全てのホストにマルチキャストされる。それぞれの受信ホスト上のVXLANモジュールはそのパケットをカプセル除去し、そのVXLANに属する全てのVMに内部ARPリクエストを局所的(locally)にブロードキャストする。これに応答して、ARPリクエスト内のIPアドレスと一致するIPアドレスを有するVMは、ARPレスポンスを生成し、このARPレスポンスは局所的なVXLANモジュールによってカプセル化されてリクエストしたVMにユニキャストで戻される。
【0017】
図1に示す例では、物理的なホスト(又はVXLAN対応でないVM)がIPネットワーク100に接続される場合、直接又はレイヤ2スイッチを介するいずれによっても、VXLANに属する任意のVMと物理的なホストが通信することは例え不可能でなくても困難である。なぜなら、物理的なホストからのイーサネットパケットは恐らくVXLANヘッダ及びIPヘッダとともにカプセル化されないため、このイーサネットパケットは任意のVMに配信することができないためである。VXLANゲートウェイ124を用いることは1つの解決法であり、このゲートウェイは、VXLANモジュール106又は108の機能を実行するスタンドアローン装置であり得る。例えば、物理的なホスト126は、レイヤ2スイッチ127を介してVXLANゲートウェイ124と接続することができる。物理的なホスト126は、VXLANゲートウェイ124によってVXLAN1に対応付けられるVLAN1に属する。物理的なホスト128は、VXLAN対応をしていない、いくつかのVM138、VM140、VM142をホストすることができる。VM138はVXLAN1に対応付けられるVLAN1に属する。VM140及びVM142は、VXLAN2に対応付けられるVLAN2に属する。また、ホスト128はVXLANゲートウェイ124に接続される。
【0018】
物理的なホスト126がVM108と通信する場合、物理的なホスト126は、MAC DAとしてのVM108のMACアドレス、MAC SAとしての自身のMACアドレス及びVLAN1に対応するVLANタグとともにイーサネットパケットを送信することができる。このイーサネットパケットがVXLANゲートウェイ124に到達した場合、VXLANゲートウェイ124はパケットのMAC SA及びMAC DA、並びにVLANタグを調べる。なお、VXLANゲートウェイは、MACアドレスを対応付けるマッピング情報のセットと、オプションとしてVXLANへのVLANタグを対応付けるマッピング情報のセットとを維持する。そして、当該マッピング情報を維持するためのデータ構造はまた、特定のVLAN上の全ての物理的なホストを包含するためのエントリを含む。これは、ホスト特有の情報を有することなく、VNIとVLANタグとの間のマッピングとして示される。物理的なホスト126が適切に設定されている場合、VXLANゲートウェイ124は、イーサネットパケットのMAC SAとMAC DA(及びオプションとしてVLANタグ)とがVXLAN1に関連付けられていることを特定する。(なお、VLANタグに値があれば、VXLANゲートウェイ124は、MACアドレスを用いることなくVLANからVXLANへ直接的に対応付けることができる。しかし、VLANが設定されていない場合、VXLANゲートウェイ124はMAC SA、MAC DA又はその両方をVXLANに対応付けることができる。)更に、VXLANゲートウェイ124はまた、VMのMACアドレスとVMの物理的なホストのIPアドレスとの間のマッピング情報のセットを維持する。従って、物理的なホスト126により生成されたイーサネットパケットのMAC DA、即ちVM108のMACアドレスに基づいて、VXLANゲートウェイ124は、VXLANのカプセル化には、ホスト102のIPアドレスが送信先のIPアドレスとして用いられるべきである、ということを判定することができる。加えて、VXLANゲートウェイ124は、このカプセル化では自身のIPアドレスを送信元IPアドレスとして用いる。続いて、VXLANでは、適切なVLANヘッダとIPヘッダとともにホスト126からのイーサネットヘッダをカプセル化し、カプセル化されたパケットをIPネットワーク100に送信する。
【0019】
このカプセル化されたパケットがホスト102に到達した場合、このカプセル化されたパケットはVXLANモジュール106に転送される。次に、VXLANモジュール106はIPヘッダを取り除いて内部イーサネットパケットを取得する。なお、VXLANモジュール106は、IPヘッダの送信元IPアドレス(即ちVXLANゲートウェイ124のIPアドレス)と内部イーサネットパケット(即ちホスト126のMACアドレス)との間のマッピングを学習することができる。このマッピング情報は、ホスト126へのアウトバンドのトラフィック(outbound traffic)をカプセル化するために用いられる。続いて、VXLANモジュール106は、MAC DAに基づいて内部イーサネットパケットをVM108に転送する。
【0020】
VM108がホスト126にイーサネットパケットを送信して戻す場合、同様のVXLANのカプセル化/カプセル除去プロセスが実行される。特に、VXLANモジュール106は、VM108からホスト126へのイーサネットパケットはVXLAN1に属すことを特定する。さらに、VXLANモジュール106は、イーサネットパケットのMAC DA(即ちホスト126のMACアドレス)に基づいてホスト126のIPアドレスをVXLANのカプセル化のための送信先IPアドレスとして特定し、送信元のIPアドレスとしてホスト102のIPアドレスを用いる。そして、ホスト102はカプセル化されたイーサネットパケットを、VXLANゲートウェイ124までこのパケットを配信するIPネットワーク100に送信する。そして、VXLANゲートウェイ124は、このパケットのIPヘッダを取り除くことによってカプセル除去を行い、内部イーサネットパケットをホスト126に転送する。
【0021】
図2は従来型のイーサネットパケットのヘッダフォーマットとそのVXLANのカプセル化を示している。この例では、従来型のイーサネットパケット200は典型的にペイロード203とイーサネットヘッダ208を含む。典型的に、ペイロード203はIPヘッダ206を含むIPパケットを含む。イーサネットヘッダ208は、MAC DA204、MAC SA202及びオプションとしてVLANタグ205を含む。
【0022】
ある実施形態では、VXLANゲートウェイ124は、従来型のイーサネットパケット200をカプセル化されたパケット220にカプセル化することができる。カプセル化されたパケット220は、典型的に、内部イーサネットパケット200が属すVXLANを示すためのVNIを含むVXLANヘッダ222、トランスポートレイヤのプロトコルとVXLANのために予約されたポート番号を示すUDPヘッダ218、及び外部IPヘッダ210を含む。加えて、カプセル化されたパケット220は外部イーサネットヘッダ212を含む。
【0023】
例えばイーサネットパケット200を、ホスト126によって生成されてVM108をあて先とするイーサネットパケットの例とする。典型的に、ホスト126の上位レイヤのアプリケーションは、VM108のIPアドレスを用いてVM108をあて先とするIPパケットを生成する。このIPパケットはペイロード203となり、VM108のIPアドレスはIPヘッダ206の送信先IPアドレスとなり得る。加えて、ホスト126のIPアドレスはIPヘッダ206の送信元アドレスとなり得る。そして、ホスト126のデータリンクレイヤはイーサネットヘッダ208を生成してペイロード203をカプセル化する。イーサネットヘッダ208のMAC DA204はVM108のMACアドレスとなり得、そしてイーサネットヘッダ208のMAC SA202はホスト126のMACアドレスとなり得る。これは、ホスト126がVM108のMACアドレスを学習したことを前提とするものである。ホスト126がVM108のMACアドレスの知識を持たない場合、ホスト126はARPを用いてVM108のMACアドレスを発見することができる。このARPプロセスは
図3とともに説明する。そして、ホスト126はイーサネットパケット200をVXLANゲートウェイ124に送信する。
【0024】
VXLANゲートウェイ124はホスト126からイーサネットパケットを受信し、VXLANゲートウェイ124はイーサネットMAC DA204、MAC SA202及びオプションとしてVLANタグ205を調べる。VXLANゲートウェイ124は、この情報に基づいて、イーサネットパケット200がVXLAN1と関連付けられていると判定する。さらに、VXLANゲートウェイ124は、MAC DA204に基づいて、VXLANのカプセル化のための送信先IPアドレスがホスト102のIPアドレスであると判定する。続いて、VXLANゲートウェイ124は、(VXLAN1に対応する)VXLANヘッダ222を含むVXLANヘッダを組み立て、適切なUDPポート番号を含んだUDPヘッダ218を付加する。加えて、VXLANゲートウェイ124は、ホスト102のIPアドレスを送信先アドレスとして、かつVXLANゲートウェイ124の自身のIPアドレスを送信元アドレスとして用いる外部IPヘッダ210を組み立てる。そして、VXLANゲートウェイ124は、外部イーサネットヘッダ212を組み立てる。外部イーサネットヘッダ212が用いられて、パケット220がVXLANゲートウェイ124から次ホップのIPルータに送信される。外部イーサネットヘッダ212は、IPルータ134のMACアドレスであるMAC DA214、VXLANゲートウェイ124のMACアドレスであるMAC SA、及びオプションとして外部のLANタグ217を有する。
【0025】
ひとたびパケット220がIPルータ134に到達すると、IPルータ134は外部イーサネットヘッダ212を取り除き、外部IPヘッダ210に基づいてパケットを転送する。このプロセスは、パケットがホスト102に到着するまでIPネットワーク100を通して続く。
【0026】
上述したように、ホスト126が始めてVM108と通信しようとする場合は、ホスト126はVM108のIPアドレスを有するがMACアドレスを有しないことがあり得る。VM108のMACアドレスを発見するため、ホスト126はARPクエリ動作を実行することができる。
図3はこのプロセスの時系列の図を表わす。最初に、ホスト126は、イーサネットブロードキャストパケット302で運ばれるARPリクエストメッセージを生成する。その後、ホスト126はブロードキャストパケット302をVXLANゲートウェイ124に送信する。次に、VXLANゲートウェイ124は、パケット302のMAC SAに基づいてホスト126がVXLAN1に属すことを特定する。加えて、パケット302は、イーサネットブロードキャストパケットであるため、VXLANゲートウェイ124は、VXLAN1に対応するIPマルチキャストグループにパケット302をマッピングし、パケット302にカプセル化するIPマルチキャストヘッダ303を生成する。なお、IPマルチキャストグループはホスト102と103を含む。これは、これらのホストが両方ともVXLAN1(ホスト102にはVM108とVM110、及びホスト103にはVM118)に属すVMをホストしているためである。このIPマルチキャストパケットは、その後ホスト102とホスト103の両方にIPネットワーク100で配信される。ホスト102のVXLANモジュール106は、その後パケット302からIPヘッダ303を取り除き、VXLAN1に属す全てのVM(例えばVM108とVM110)にパケット302を局所的にブロードキャストする。加えて、VXLANモジュール106は、パケット302内のMAC SAであるホスト126のMACアドレスと、それに対応するIPアドレス、即ちVXLANゲートウェイ124のIPアドレスであってIPマルチキャストパケットの送信元IPアドレス、との間のマッピングを学習する。
【0027】
同様に、ホスト103のVXLANモジュール116は、同じIPマルチキャストパケットを受信して、VM118に内部イーサネットブロードキャストパケット302を転送する(
図3には不図示)。
【0028】
続いて、VM108は、VM108のIPアドレスがパケット302内のARPリクエストのIPアドレスと一致することを判定する。これに応答して、VM108はARPレスポンスメッセージを生成し、これをイーサネットのユニキャストパケット304にカプセル化する。このイーサネットのユニキャストパケット304はホスト126のMACアドレスをMAC DAとし、VM108自身のMACアドレスをMAC SAとするものである。そして、ホスト102のVXLANモジュール106は、ユニキャストIPヘッダ305とともにパケット304をカプセル化する。このIPヘッダ305の送信元IPアドレスはホスト102のIPアドレスであり、送信先IPアドレスはVXLANゲートウェイ124のIPアドレスである。このユニキャストIPパケットがVXLANゲートウェイ124に到達した場合、VXLANゲートウェイ124はIPヘッダ305を取り除き、内部イーサネットパケット304をホスト126に転送する。次に、ホスト126はパケット304が運ぶARPレスポンスを受信して、VM108のMACアドレスを学習する。
【0029】
次に、ホスト126は、VM108へのペイロードを運ぶ、通常のユニキャストイーサネットパケット306を生成する。このパケット306のMAC DAはVM108のMACアドレスであり、パケット304(ARPレスポンス)に基づいてホスト126が学習したものである。このパケット306のMAC SAはホスト126のMACアドレスである。VXLANゲートウェイ124は、ユニキャストIPヘッダ307に続くVXLANヘッダとともにパケット306をカプセル化する。IPヘッダ307は送信先IPアドレスとしてホスト102のIPアドレスを有するとともに、送信元IPアドレスとしてVXLANゲートウェイ124のIPアドレスを有する。続けて、ホスト102のVXLANモジュール106はIPヘッダ307を取り除き、内部イーサネットパケット306をVM108に転送する。
【0030】
VM108が返信としてイーサネットパケット308を送信する場合、VXLANモジュール106はユニキャストIPヘッダ309とともにパケット308をカプセル化する。ユニキャストIPヘッダ309は、送信先IPアドレスとしてVXLANゲートウェイ124のIPアドレスを有するとともに、その送信元IPアドレスとしてホスト102のIPアドレスを有する。そして、VXLANゲートウェイ124がカプセル化されたパケットを受信してIPヘッダ309を取り除き、内部イーサネットパケット308をホスト126に転送する。
【0031】
図4はVXLANゲートウェイを介してVMと通信する物理的なホストの一般的なプロセスを示すフローチャートを表わす。動作中に、VXLAN内のVMとの通信を開始するため、物理的なホストは、まずVXLANゲートウェイに到達するARPリクエストをブロードキャストする(動作402)これに応答して、VXLANゲートウェイは、物理的なホストのMACアドレスおよびオプションとしてそのVLANタグに基づいて、ARPリクエストを特定のVXLAN及び対応するIPマルチキャストグループにマッピングする(動作404)。VXLANゲートウェイは、VXLANヘッダ、UDPヘッダ及び外部IPヘッダ(送信先IPアドレスとしてのIPマルチキャストグループアドレスを含む)とともにそのARPリクエストと、外部イーサネットヘッダをカプセル化する(動作406)。VXLANゲートウェイは、そしてカプセル化されたパケットをIPネットワークに送信する(動作408)。
【0032】
カプセル化されたパケットは、IPネットワークによって、同一のVXLANに属すVMをホストする全てのホストに送信される。結果として、ARPリクエストに対応するVMをホストするホスト上のVXLAN対応のハイパーバイザは、カプセル化されたパケットを受信して、そのパケットのカプセル除去を行い、同一のVXLANに属しかつホスト上で動作するVMに内部ARPリクエストを転送する(動作410)。続いて、ARPリクエストと一致するIPアドレスを有するVMは、当該ARPリクエストに応答する(動作412)。これに応答して、VMのハイパーバイザは、送信先IPアドレスとしてのVXLANゲートウェイのIPアドレスとともにARPレスポンスをカプセル化し、カプセル化されたパケットをIPネットワークに送信する(動作414)。
【0033】
次に、VXLANゲートウェイはカプセル化されたARPレスポンスパケットを受信し、カプセル除去を行う(動作416)。そして、VXLANゲートウェイはカプセル除去のされたARPレスポンスパケットを物理的なホストに転送する(動作418)。次に、当該物理的なホストは送信先のVMのMACアドレスを学習する(動作420)。この物理的なホストは、このVMが同一のレイヤ2ブロードキャストネットワークに存在するかのように、このVMのMACアドレスを用いてVMと通信を開始することができる(動作422)。
【0034】
ある実施形態では、VXLAN非対応の物理的なホストに対するVXLAN機能の提供に加えて、VXLANゲートウェイは、VXLAN対応でない2つのデータセンタを1つの共通のVXLAN IDによる1つのVXLANドメインに「縫い合わせる」(stitch)ことができる。このような「縫い合わせ」を容易にするため、2つのデータセンタ内に存在する2つのVXLANはそれぞれこれらの間のトンネル(ある実施形態では例えばIPSECベース等のIPベースのトンネル)を確立する。ある実施形態では、このトンネルはIPsecのトンネルである。この2つのVXLANゲートウェイは、一方のデータセンタから他方のデータセンタに透過的にパケットを通過させることができ、従って2つのデータセンタを単一のブロードキャストドメインに接続させることができる。なお、IPsecのトンネルは例として用いたものであり、2つのVXLANゲートウェイは任意のトンネリングプロトコルを用いることができる。
【0035】
図5は、離れて位置する2つのデータセンタが接続してVXLANゲートウェイによる単一のレイヤ2ブロードキャストドメインを形成する、ネットワークアーキテクチャの例を示している。この例では、ホスト504はVM518、VM520及びVM522をホストする。ホスト506は、VM508、VM510及びVM512をホストする。ホスト504はVXLANゲートウェイ516に接続され、ホスト506はVXLANゲートウェイ516に接続される。VXLANゲートウェイ516及び506は両方ともIPネットワーク500に接続され、これらの間にトンネル515を確立する。
【0036】
動作中、それぞれのVXLANゲートウェイは、局所的な(locally)MACアドレスからVXLANへ対応付けるだけでなく離れたデータセンタ内のMACアドレスからVXLANへ対応付ける、マッピング情報のセットを維持する。例えば、VM508がVM518をあて先とするイーサネットパケットを送信する場合、VXLANゲートウェイ514は、このイーサネットパケットをVXLANヘッダ及びIPヘッダとともにカプセル化して、このカプセル化したパケットを、トンネル515を介してVXLANゲートウェイ516に送信する。次に、VXLANゲートウェイ516はこのパケットをカプセル除去し、ホスト504に内部イーサネットパケットを送信する。本質的に、VXLANゲートウェイ516及び506は、VXLAN対応のハイパーバイザ内のVXLANモジュールの機能を提供する。
【0037】
上述したように、VXLANゲートウェイは、典型的にはMACアドレス及び(オプションとして)VLANタグからVXLANIDへ対応付けるマッピング情報のセットを維持する。さらに、VXLANのカプセル化は、MAC DAから送信先IPアドレス(内部イーサネットに応じてユニキャストかマルチキャストの一方)へのマッピングを必要とする。ある実施形態では、
図6に示すように、オープンフローコントローラ(OpenFlow controller)が、ネットワーク内のそれぞれのVXLANゲートウェイのこのような設定を容易にすることができる。この例では、全てのマッピング情報(フロー定義の形式で格納される)がオープンフローコントローラ602からVXLANゲートウェイ124に、セキュア(例えばSSL)なトンネル604を介して通信される。オープンフローコントローラ602によって提供されるこの設定情報は、VXLANゲートウェイ124によって使用されて、特定のフローに対するエントリを含んだ転送テーブルを構築することができる。それぞれのフローは、12の値の組{MAC DA、MAC SA、イーサタイプ、送信元IP、送信先IP、等}が任意のフィールドで用いるワイルドカードの可能性とともに用いられて定義される。オープンフローのより詳細は、https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.2.pdf, which is incorporated by reference hereinで見ることができる。
【0038】
ここに記載されるVXLANゲートウェイは、単体の装置(stand-alone appliance)、スッチ又はルータの一部、あるいはホストの一部として実装され得ることに留意すべきである。さらに、VXLANゲートウェイはハードウェア、ソフトウェア又はこれらの組み合わせに実装され得る。
図7は、VXLANゲートウェイを容易にするコンピュータシステムの例を示す。この例では、コンピュータシステム702は、プロセッサ704、メモリ706及びストレージ装置708を含む。また、コンピュータシステム702はディスプレイ710、キーボード712及びポインティングデバイス708に接続される。ストレージ装置708は、データ730と、メモリ706に読み込まれた場合にプロセッサ704によって実行される命令であってオペレイティングシステム716及びVXLANゲートウェイシステム718を実施する命令とを格納する。ゲートウェイシステム718は、通信モジュール720、VXLANマッピングモジュール722、パケットカプセル化モジュール724、IPトンネルモジュール726及びオープンフローモジュール728を含む。プロセッサによって実行される場合、これらのモジュールは協同して又は分離して上述した機能を実行する。
【0039】
この詳細な説明で示したデータ構造及びコードは、典型的には、任意の装置又は記録媒体であってコード及びデータの少なくともいずれかをコンピュータシステムによって用いるための、コンピュータで読み出し可能な記録媒体に格納される。このコンピュータで読み出し可能な記録媒体には、揮発性メモリ、不揮発性メモリ、ならびにディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(デジタル多用途ディスク又はデジタル・ビデオ・ディスク)若しくは現在知られ又は今後開発される記録可能でコンピュータで読み出し可能な他の媒体などの磁気及び光記録装置、を含むがこれに限られない。
【0040】
この詳細な説明のセクションで説明した方法及びプロセスは、上述したコンピュータで読み出し可能な記録媒体に格納可能な、コード及びデータの少なくともいずれかとして具体化され得る。コンピュータシステムが、コンピュータで読み出し可能な記録媒体に格納されたこのコード及びデータの少なくともいずれかを読み出して実行する場合、コンピュータシステムは、データ構造及びコードとして具体化され、かつコンピュータで読み出し可能な記録媒体に格納された、方法及びプロセスを実行する。
【0041】
さらに、上述した方法及びプロセスはハードウェアモジュールに含まれ得る。例えば、ハードウェアモジュールは、特定用途向け集積回路(ASIC)チップ、フィールドプログラマブルゲートアレイ(FPGA)、及び現在知られ又は今後開発される他のプログラム可能な論理デバイス、を含み得るがこれに限られない。ハードウェアモジュールが有効化された場合、このハードウェアモジュールは、当該ハードウェアモジュールに含まれる方法及びプロセスを実行する。
【0042】
本発明の実施形態に係る前述の説明は、概説及び説明のみを目的として提示されたものである。それらは、網羅的であること又は本発明を記載された形式に限定することを意図するものではない。従って、多くの変形例及びバリエーションは当業者にとって明らかである。さらに、上の開示は本発明を制限することを意図したものではない。本発明のスコープは付加された請求項によって定義される。
【手続補正書】
【提出日】2015年8月26日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ネットワーク内のパケットの送信元及び送信先とは別の物理的な装置が仮想拡張ローカルエリアネットワークのゲートウェイを実行するための方法であって、前記方法は、
前記ゲートウェイを実行する前記物理的な装置とは別の物理的なホストから、前記物理的なホストの存在する局所的なレイヤ2ネットワークのブロードキャストドメインと異なる、離れたレイヤ2ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信する工程と、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定する工程と、
前記イーサネットパケットを、前記判定した仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル(IP)ヘッダとともにカプセル化する工程と、
転送されたパケットがIPネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ2ネットワークのブロードキャストドメインと前記局所的なレイヤ2ネットワークのブロードキャストドメインとが共通のレイヤ2ブロードキャストドメインの一部になるように、前記ゲートウェイを実行する前記物理的な装置が接続する前記IPネットワークに前記カプセル化されたパケットを転送する工程と、
を含むことを特徴とする方法。
【請求項2】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル(ARP)リクエストのパケットである、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記仮想拡張ローカルエリアネットワークの識別子をIPマルチキャストグループに対応付けるデータ構造を維持する工程と、
前記イーサネットパケットがブロードキャスト送信先レイヤ2アドレスを有する場合、前記IPヘッダ内の送信先IPアドレスを、前記IPマルチキャストグループに対応するIPアドレスに設定する工程と、をさらに含むことを特徴とする請求項1に記載の方法。
【請求項4】
(i)前記物理的なホストのメディアアクセス制御(MAC)アドレスと(ii)前記物理的なホストの仮想ローカルエリアネットワーク(VLAN)タグ、の少なくとも1つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する工程をさらに含むことを特徴とする請求項1に記載の方法。
【請求項5】
外部イーサネットヘッダ、IPヘッダ、前記仮想拡張ローカルエリアネットワークの識別子及び内部イーサネットヘッダを含むパケットであって、前記仮想マシンを送信元とする該パケットを受信する工程と、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ、IPヘッダ及び仮想拡張ローカルエリアネットワークの識別子を取り除くことによってカプセル除去を行う工程と、
前記ゲートウェイを実行する前記物理的な装置から前記物理的なホストに前記カプセル除去されたパケットを転送する工程と、をさらに含むことを特徴とする請求項1に記載の方法。
【請求項6】
2つのレイヤ2ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、パケットの前記送信元及び前記送信先とは別の第2の物理的な装置が実行する第2の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する工程をさらに含むことを特徴とする請求項1に記載の方法。
【請求項7】
ネットワーク内のパケットの送信元及び送信先とは別の物理的な装置の複数の処理ユニットの組によって実行される場合に、仮想拡張ローカルエリアネットワークのゲートウェイを実行するプログラムを格納する記録媒体であって、前記プログラムは、
前記ゲートウェイを実行する前記物理的な装置とは別の物理的なホストから、前記物理的なホストの存在する局所的なレイヤ2ネットワークのブロードキャストドメインと異なる、離れたレイヤ2ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信し、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定し、
前記イーサネットパケットを、前記判定した仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル(IP)ヘッダとともにカプセル化し、
転送されたパケットがIPネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ2ネットワークのブロードキャストドメインと前記局所的なレイヤ2ネットワークのブロードキャストドメインとが共通のレイヤ2ブロードキャストドメインの一部になるように、前記ゲートウェイを実行する前記物理的な装置が接続する前記IPネットワークに前記カプセル化されたパケットを転送する、
複数の命令の複数の組を含むことを特徴とする記録媒体。
【請求項8】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル(ARP)リクエストのパケットである、ことを特徴とする請求項7に記載の記録媒体。
【請求項9】
前記プログラムは、
前記仮想拡張ローカルエリアネットワークの識別子をIPマルチキャストグループに対応付けるデータ構造を維持し、
前記イーサネットパケットがブロードキャスト送信先レイヤ2アドレスを有する場合、前記IPヘッダ内の送信先IPアドレスを、前記IPマルチキャストグループに対応するIPアドレスに設定する、複数の命令の複数の組をさらに含むことを特徴とする請求項7に記載の記録媒体。
【請求項10】
前記プログラムは、
(i)前記物理的なホストのメディアアクセス制御(MAC)アドレスと(ii)前記物理的なホストの仮想ローカルエリアネットワーク(VLAN)タグ、の少なくとも1つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する、複数の命令の複数の組をさらに含むことを特徴とする請求項7に記載の記録媒体。
【請求項11】
前記プログラムは、
外部イーサネットヘッダ、IPヘッダ、前記仮想拡張ローカルエリアネットワークの識別子及び内部イーサネットヘッダを含むパケットであって、前記仮想マシンを送信元とする該パケットを受信し、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ、IPヘッダ及び仮想拡張ローカルエリアネットワークの識別子を取り除くことによってカプセル除去を行い、
前記ゲートウェイを実行する前記物理的な装置から前記物理的なホストに前記カプセル除去されたパケットを転送する、複数の命令の複数の組をさらに含むことを特徴とする請求項7に記載の記録媒体。
【請求項12】
前記プログラムは、2つのレイヤ2ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、パケットの前記送信元及び前記送信先とは別の第2の物理的な装置が実行する第2の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する、複数の命令の組をさらに含むことを特徴とする請求項7に記載の記録媒体。
【請求項13】
前記プログラムは、オープンフローコントローラから設定情報を受信する、複数の命令の組を更に含むことを特徴とする請求項7に記載の記録媒体。
【請求項14】
ネットワーク内のパケットの送信元及び送信先とは別の、仮想拡張ローカルエリアネットワークのゲートウェイを実行するスイッチ装置であって、前記スイッチ装置は、
複数の処理ユニットの組と、
前記複数の処理ユニットの組と接続され、前記複数の処理ユニットの少なくとも1つによって実行されるプログラムを格納する、記録媒体とを含み、
前記プログラムは、
前記ゲートウェイを実行する前記スイッチ装置とは別の物理的なホストから、前記物理的なホストの存在する局所的なレイヤ2ネットワークのブロードキャストドメインと異なる、離れたレイヤ2ネットワークのブロードキャストドメインに存在する仮想マシンをあて先とするイーサネットパケットを受信し、
前記受信したイーサネットパケットの仮想拡張ローカルエリアネットワークの識別子を判定し、
前記イーサネットパケットを、前記判定した仮想拡張ローカルエリアネットワークの識別子及びインターネットプロトコル(IP)ヘッダとともにカプセル化し、
転送されたパケットがIPネットワークを介して前記仮想マシンに送信され、前記離れたレイヤ2ネットワークのブロードキャストドメインと前記局所的なレイヤ2ネットワークのブロードキャストドメインとが共通のレイヤ2ブロードキャストドメインの一部になるように、前記ゲートウェイを実行する前記物理的な装置が接続する前記IPネットワークに前記カプセル化されたパケットを転送する、
複数の命令の複数の組を含むことを特徴とするスイッチ装置。
【請求項15】
前記物理的なホストから受信したイーサネットパケットは、アドレス解決プロトコル(ARP)リクエストのパケットである、ことを特徴とする請求項14に記載のスイッチ装置。
【請求項16】
前記プログラムは、
前記仮想拡張ローカルエリアネットワークの識別子をIPマルチキャストグループに対応付けるデータ構造を維持し、
前記イーサネットパケットがブロードキャスト送信先レイヤ2アドレスを有する場合、前記IPヘッダ内の送信先IPアドレスを、前記IPマルチキャストグループに対応するIPアドレスに設定する、複数の命令の複数の組をさらに含むことを特徴とする請求項14に記載のスイッチ装置。
【請求項17】
前記プログラムは、
(i)前記物理的なホストのメディアアクセス制御(MAC)アドレスと(ii)前記物理的なホストの仮想ローカルエリアネットワーク(VLAN)タグ、の少なくとも1つを前記仮想拡張ローカルエリアネットワークの識別子と対応付ける、データ構造を維持する、複数の命令の組をさらに含むことを特徴とする請求項14に記載のスイッチ装置。
【請求項18】
前記プログラムは、
外部イーサネットヘッダ、IPヘッダ、前記仮想拡張ローカルエリアネットワークの識別子及び内部イーサネットヘッダを含むパケットであって、前記仮想マシンを送信元とする該パケットを受信し、
前記仮想マシンから受信したパケットの外部イーサネットヘッダ、IPヘッダ及び仮想拡張ローカルエリアネットワークの識別子を取り除くことによってカプセル除去を行い、
前記ゲートウェイを実行する前記物理的な装置から前記物理的なホストに前記カプセル除去されたパケットを転送する、複数の命令の複数の組をさらに含むことを特徴とする請求項14に記載のスイッチ装置。
【請求項19】
前記プログラムは、2つのレイヤ2ネットワークのブロードキャストドメインを共通の仮想拡張ローカルエリアネットワークの識別子で接続すべく、パケットの前記送信元及び前記送信先とは別の第2の物理的な装置が実行する第2の仮想拡張ローカルエリアネットワークのゲートウェイとのトンネルを確立する、命令の組をさらに含むことを特徴とする請求項14に記載のスイッチ装置。
【請求項20】
前記プログラムは、オープンフローコントローラから設定情報を受信する、命令の組をさらに含むことを特徴とする請求項14に記載のスイッチ装置。
【請求項21】
前記イーサネットパケットは、前記物理的なホストから受信したときに、カプセル化されていないイーサネットパケットである、ことを特徴とする請求項1に記載の方法。
【国際調査報告】