(58)【調査した分野】(Int.Cl.,DB名)
前記VXLANカプセルが付加されたパケットから前記VXLANカプセルを除去する前に、前記VXLANスイッチのI/Oボードが前記パケットのVXLANカプセルのヘッダからVNIDを識別するステップをさらに備え、
VXLANカプセルを除去した後、前記VXLANスイッチのI/Oボードによって、パケットのレイヤ3転送を行うことを判定するステップは、前記VXLANカプセルを除去した後、前記パケットの宛先MACアドレスとVNIDに対応するMACエントリをローカルのMACテーブルから検索し、前記MACエントリが検索され、かつ前記パケットの宛先MACアドレスが前記VXLANスイッチのゲートウェイMACアドレスである場合に、前記VXLANカプセルを除去した後、前記パケットのレイヤ3転送を行うことを判定することを備えることを特徴とする請求項1に記載のパケット転送方法。
前記I/Oボード処理部501は、前記第1VXLANカプセルが付加されたパケットから前記VXLANカプセルを除去する前に、前記パケットのVXLANカプセルのヘッダからVNIDをさらに識別し、
前記I/Oボード処理部は、前記パケットの宛先MACアドレスと前記VNIDに対応するMACエントリをローカルのMACテーブルから検索し、前記MACエントリが検索され、かつ前記パケットの宛先MACアドレスが前記VXLANスイッチのゲートウェイMACアドレスである場合に、前記パケットのレイヤ3転送を行うことを判定すること、により、前記パケットのレイヤ3転送を行う、ことを特徴する請求項6に記載のVXLANスイッチ。
【発明を実施するための形態】
【0003】
簡単に例示する目的で、本実施形態は、その実施例を主に参照して記述される。以下の説明では、本実施形態を十分に理解するために具体的かつ詳細に記述されている。しかしながら、本実施形態は、これらの具体的かつ詳細に記載された内容に限定せずに実施可能であることは明らかである。他の実施例では、本実施形態が不必要に不明瞭とならないように、いくつかの方法および構造は詳細に記述していない。本実施形態を通じて、用語「a」および「an」は、特定のエレメントの少なくとも一つを示す。本明細書において、用語「含む」は、それを含むが、それに限定することではないことを意味し、用語「含み」は、それを含んでいるが、それに限定することではないことを意味し、用語「に基づく」は、少なくとも部分的にそれを基づくことを意味する。
【0004】
スイッチは、フレーム型であり、メインボードと、入出力(I/O)ボードと、ファブリックボードとを備える。メインボードは、プロトコルスタックの計算、転送エントリの配布と制御、および装置の管理を実行するためのボードである。I/Oボードは、データパケットの内部転送や外部転送などのデータパケットの転送を実行するためのボードである。ファブリックボードは、装置内にボードの間およびチップの間でデータパケットおよび制御パケットを転送するためのボードである。ファブリックボード上のチップは、パケット転送機能を有し、異なるI/Oボードの間でパケットを転送することができる。
【0005】
VXLANスイッチは、スイッチと同様な構造を持ち、メインボードと、I/Oボードと、ファブリックボードとを含む。一例として、二つ以上のI/Oボードが配置されている。
【0006】
VXLANの適用において、VXLANスイッチは、ファブリックボードがスイッチのファブリックボードと同様に設置される。VXLANスイッチのファブリックボード上のチップは、パケット転送機能を有し、異なるI/Oボードの間でパケットを転送することができる。
【0007】
本開示のいくつかの実施例では、VXLANスイッチがゲートウェイとして選択される。ゲートウェイとして選択されたVXLANスイッチ(以下、ゲートウェイVXLANスイッチという)は、改善することができる。
【0008】
ゲートウェイVXLANスイッチは、以下のように改善することができる。
ゲートウェイVXLANスイッチのファブリックボードは、転送機能とさまざまなエントリ機能を備えたチップを使用する。エントリ機能は、メインボードによって配布されたエントリを受信して保存する機能や、エントリ検索機能などを含む。例えば、ファブリックボードによって用いられるチップは、ゲートウェイVXLANスイッチのI/Oボードに用いられたスイッチチップであってもよい。
【0009】
ゲートウェイVXLANスイッチのファブリックボードが、転送機能およびエントリ機能を有するチップを使用する場合、ゲートウェイVXLANスイッチに入力したパケットのレイヤ3転送がゲートウェイVXLANスイッチのI/Oボードとファブリックボードとの連携を介して実行できる。以下では、いくつかの実施例および
図1を参照してVXLANからVLAN(Virtual Local Area Network)へのパケットの転送方法を説明する。
【0010】
図1は、本開示のいくつかの実施例に係るVXLANからVLANへのパケットの転送方法を示すフローチャートである。この方法は、ゲートウェイVXLANスイッチに適用できる。ゲートウェイVXLANスイッチのファブリックボードは、転送機能とさまざまなエントリ機能を備えたチップを使用する。たとえば、ファブリックボードに用いられるチップは、ゲートウェイVXLANスイッチのI/Oボードに用いられるチップと同一であってもよい。これにより、
図1に示すように、この方法は、下記のステップ201〜203を含む。
【0011】
ステップ201において、ゲートウェイVXLANスイッチのI/Oボードは、VXLANカプセルが付加されたパケットを受信し、VXLANカプセルが付加されたパケットからVXLANカプセルを除去し、パケットのレイヤ3転送を行うことを判定し、パケットをゲートウェイVXLANスイッチのファブリックボードに送信する。
【0012】
ステップ201の例では、ゲートウェイVXLANスイッチのI/Oボードが、VXLANカプセルが付加されたパケットからVXLANカプセルを除去する前に、パケットのVXLANカプセルのヘッダから仮想ネットワークID(VNID)を識別するステップを含む。
【0013】
ステップ201の例では、ゲートウェイVXLANスイッチのI/Oボードは、識別されたVNIDに応じてパケットのレイヤ3転送を実行することを判定してもよい。識別されたVNIDに応じて、ゲートウェイVXLANスイッチのI/Oボードがパケットのレイヤ3転送の実行を判定するための方法は、以下のように実施される。
【0014】
ゲートウェイVXLANスイッチのI/Oボードは、VNIDとパケットの宛先MACアドレスに対応するMACエントリをローカルのMACテーブルから検索する。MACエントリが検索され、且つパケットの宛先MACアドレスがゲートウェイVXLANスイッチのゲートウェイMACアドレスである場合、ゲートウェイVXLANスイッチのI/Oボードは、パケットのレイヤ3転送を実行することを判定する。
【0015】
MACエントリが検索されるが、パケットの宛先MACアドレスがゲートウェイVXLANスイッチのゲートウェイMACアドレスではない場合、パケットをレイヤ2パケット転送方法によって転送できる。
【0016】
本開示の一つの実施例では、I/OボードのローカルのMACテーブルは、MACエントリ学習方法に従ってI/Oボードによって学習されるか、またはメインボードに設置されるか、あるいはMACエントリ学習方法に従ってメインボードによって学習され、I/Oボードに配布されてもよい。
【0017】
ステップ201の例では、VXLANカプセルが除去された後に、I/Oボードからファブリックボードへのパケットの送信を確保するために、I/Oボードはパケットに内部カプセルを付加できる。仮に、この内部カプセルを、第1内部カプセルと呼ぶこととする。ステップ201の例では、
図2を参照すると、I/Oボードによるパケットのファブリックボードへの送信方法は、下記のステップa1およびステップa2を含む。
【0018】
ステップa1において、VXLANカプセルが除去された後、パケットに第1内部カプセルを付加する。
【0019】
第1内部カプセルは、第1宛先チップID(identity)および第1宛先ポートID(identity)を含む。第1宛先チップIDは第1仮想チップIDであり、第1宛先ポートIDは第1仮想ポートIDである。
【0020】
本開示の一つの実施例では、第1仮想チップIDは、エントリ検索およびパケット転送を行うことをファブリックボードに指示するための予め設置された仮想チップIDであってもよい。第1仮想ポートIDは、エントリ検索およびパケット転送を行うことをファブリックボードに指示するための予め設置された仮想ポートIDであってもよい。ゲートウェイVXLANスイッチが複数のファブリックボードを含む場合、すべてのファブリックボードには、第1仮想チップIDと第1仮想ポートIDが配置される。
【0021】
ステップa2において、I/Oボードが一つのファブリックボードに接続されるとき、第1内部カプセルが付加されたパケットは、I/Oボードがファブリックボードに接続される内部ポートを介して送信される。I/Oボードが複数のファブリックボードに接続されるとき、第1内部カプセルが付加されたパケットは、I/Oボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して送信される。
【0022】
I/Oボードが複数のファブリックボードに接続される場合、I/Oボードが複数のファブリックボードにそれぞれ接続される内部ポートは、内部ポートグループとしてバインディングすることができる。したがって、ステップa2の例では、I/Oボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して、第1内部カプセルが付加されたパケットを送信するプロセスは、内部ポートグループから一つの内部ポートを選択するステップと、選択された内部ポートを介して、第1内部カプセルが付加されたパケットを送信するステップとを含む。内部ポートグループから一つの内部ポートを選択する方法としては、例えば、内部ポートをランダムに選択する方法や、ハッシュアルゴリズムなどのアルゴリズムで内部ポートを選択する方法などの様々な方法がある。
【0023】
ステップa1およびステップa2によれば、ゲートウェイVXLANスイッチのI/Oボードは、VXLANカプセルが除去された後にゲートウェイVXLANスイッチのファブリックボードにパケットを送信することができる。
【0024】
ステップ202において、ゲートウェイVXLANスイッチのファブリックボードは、I/Oボードによって送信されたパケットを受信し、受信したパケットのレイヤ3転送を実行することを判定し、そのパケットの宛先IPアドレスに対応するレイヤ3エントリをローカルのレイヤ3テーブルから検索し、そのパケットの送信元MACアドレスをゲートウェイVXLANスイッチのゲートウェイMACアドレスに変更し、そのパケットの宛先MACアドレスをレイヤ3エントリ内の宛先MACアドレスに変更し、レイヤ3エントリ内の出口ポートがVXLANトンネルポートであるときに、変更されたパケットを、レイヤ3エントリ内の出口ポートに関連付けられた、ゲートウェイVXLANスイッチのI/Oボードに送信する。
【0025】
本開示の一つの実施例では、レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードは、対応するI/Oボードと呼ばれる。
【0026】
ステップ201で説明した第1内部カプセルに基づいて、ファブリックボードによる受信したパケットのレイヤ3転送の実行を判定するプロセスは、以下のように実行される。
【0027】
ファブリックボードは、受信したパケットの第1内部カプセルのヘッダから第1宛先チップIDおよび第1宛先ポートIDを判定する。第1宛先チップIDが第1仮想チップIDであり、第1宛先ポートIDが第1仮想ポートIDである場合、ファブリックボードはパケットから第1内部カプセルを除去する。第1内部カプセルが除去された後、パケットの宛先MACアドレスがゲートウェイVXLANスイッチのゲートウェイMACアドレスである場合、ファブリックボードは、受信したパケットのレイヤ3転送を実行することを判定する。
【0028】
本開示の一つの実施例では、第1宛先チップIDが第1仮想チップIDではなく、かつ/または第1宛先ポートIDが第1仮想ポートIDではないと判定する場合、ファブリックボードは、パケットから第1内部カプセルを除去せず、第1内部カプセルの第1宛先ポートIDに従ってパケットを転送してもよい。
【0029】
ステップ202の例では、ファブリックボードのローカルのレイヤ3テーブルは、メインボードに配置されてもよく、またはレイヤ3エントリ学習方法に従ってメインボードによって学習され、ファブリックボードに配布されてもよい。一つの実施例として、レイヤ3エントリは、ルーティングエントリであってもよく、宛先IPアドレス、VLAN(Virtual Local Area Network)識別子(ID)、宛先MACアドレス、送信元MACアドレス、出口ポートなどを含んでもよい。レイヤ3エントリに含まれる内容によれば、ステップ202におけるパケットの宛先IPアドレスに対応するレイヤ3エントリは、パケットの宛先IPアドレスを含むレイヤ3エントリである。
【0030】
本開示の一つの実施例では、VLANポートは、単一の物理ポートであってもよく、複数の物理ポートがバインディングされた物理ポートグループであってもよい。単一の物理ポート、および複数の物理ポートがバインディングされた物理ポートグループは、VLANポートと呼ばれる。
【0031】
本開示の一つの実施例では、ファブリックボードは、変更したパケットに第2内部カプセルが付加し、第2内部カプセルが付加されたパケットを対応するI/Oボードに送信する。これにより、対応するI/Oボードは、第2内部カプセルが付加されたパケットをVXLANに送信することができる。
【0032】
ステップ202の例では、
図3を参照すると、変更されたパケットを対応するI/Oボードに送信する方法には、下記のステップが含まれる。
【0033】
ステップb1において、対象出口ポートをレイヤ3エントリ内の出口ポートに応じて判定する。
【0034】
本開示の一実施例では、対象出口ポートは、レイヤ3エントリ内の出口ポートの種類に応じて判定されてもよい。例えば、レイヤ3エントリ内の出口ポートはVLANポートである。VLANポートが単一の物理ポートである場合、対象出口ポートは、物理ポートとして判定される。VLANポートが複数の物理ポートがバインディングされた物理ポートグループである場合、対象出口ポートは、物理ポートグループ内の一つの物理ポートとして判定される。物理ポートは物理ポートグループから選択されてもよい。物理ポートグループから一つの物理ポートを選択する方法としては、たとえば、一つの物理ポートをランダムに選択する方法や、ハッシュアルゴリズムなどの選択アルゴリズムに従って一つの物理ポートを選択する方法など複数の方法がある。
【0035】
ステップb2において、対象出口ポートが位置するI/Oボードを対応するI/Oボードとして判定する。
【0036】
本開示の一実施例では、ステップb1に記載された対象出口ポートに応じて対応するI/Oボードを判定することができる。
【0037】
ステップb3において、変更されたパケットに第2内部カプセルを付加する。
第2内部カプセルは、第2宛先チップIDおよび第2宛先ポートIDを含む。第2宛先チップIDは、対応するI/Oボードでパケットを転送するためのチップのIDである。対応するI/Oボードで一つのチップが配置される場合、第2宛先チップIDは、このチップのIDである。対応するI/Oボードで複数のチップが配置される場合、複数のチップのうちの一つは、パケットを転送するために予め割り当てられる。第2宛先チップIDは、この割り当てられたチップのIDである。第2宛先ポートIDは、ステップb1で記載した対象出口ポートのIDである。
【0038】
ステップb4において、第2内部カプセルが付加されたパケットを対応するI/Oボードに送信する。
【0039】
ステップb1およびステップb4によれば、対応するI/Oボードによってファブリックボードから受信したパケットは、第2内部カプセルが付加されたパケットである。
【0040】
ステップ203において、ゲートウェイVXLANスイッチの対応するI/Oボードは、ファブリックボードによって送信されたパケットを受信し、レイヤ3エントリ内の出口ポートを介して該パケットをVLANに転送する。
【0041】
ステップ203の例では、レイヤ3エントリ内の出口ポートを介してVLANにパケットを転送するプロセスは、以下のように実行される。
【0042】
対応するI/Oボードは、パケットの第2内部カプセルのヘッダから第2宛先チップIDおよび第2宛先ポートIDを判定する。第2宛先チップIDが、I/Oボードでパケットを転送するためのチップのIDであり、第2宛先ポートIDがI/Oボードに接続される物理ポートのIDである場合、パケットが物理ポートを介してI/Oボードによって転送されることを示し、対応するI/Oボードは、パケットから第2内部カプセルを除去し、第2宛先ポートIDに対応する物理ポートを介してパケットをVLANに送信する。
【0043】
本開示の一つの実施例では、I/Oボードのローカルのカプセルエントリは、I/Oボード上に予め配置されてもよい。
【0044】
本開示の一つの実施例では、ゲートウェイVXLANスイッチのファブリックボードは、たとえば、転送機能と様々なエントリ機能を有するチップを使用する。例えば、I/Oボードによって使用されるものと同一である。したがって、ゲートウェイVXLANスイッチがI/Oボードを介してVXLANカプセルが付加されたパケットを受信すると、VXLANカプセルが付加されたパケットからVXLANカプセルを除去する。VXLANカプセルを除去した後、パケットのレイヤ3転送を実行すると判定すると、そのパケットはゲートウェイVXLANスイッチのファブリックボードに送信される。その後、ファブリックボードのローカルのレイヤ3テーブルからパケットの宛先IPアドレスに対応するレイヤ3エントリが検索される。レイヤ3エントリ内の出口ポートがVXLANトンネルポートである場合、レイヤ3エントリ内の出口ポートに関連付けられる、ゲートウェイVXLANスイッチのI/Oボードは、変更されたパケットをVLANに送信する。したがって、ゲートウェイVXLANスイッチは、レイヤ3ゲートウェイ機能を有するVXLANが実現され、パケットをVXLANからVLANに転送のプロセス全体が実行される。これにより、任意の帯域幅資源が無駄にならず、パケットのワイヤスピード転送が実現することができる。
【0045】
以下、一例を参照して
図1に示すフローチャートを説明する。
図4は、本開示のいくつかの実施例に係るVXLANからVLANへパケットを転送するためのネットワーキング構造を示す図である。
図4に示すように、物理マシン(PM)1〜PM5は、VLAN内のデバイスであり、仮想マシン(VM)1〜VM5はVXLAN内のデバイスである。ゲートウェイVXLANスイッチは、VLANとVXLANとの間に接続され、メインボード、I/Oボード、およびファブリックボードを含む。メインボードは
図4に示されていない。ファブリックボードは、転送機能およびさまざまなエントリ機能を備えたチップを使用する。ファブリックボードによって使用されるチップは、I/Oボードによって使用されるチップと同一である。
図4は、VXLANスイッチの3つのI/Oボードを示す。
【0046】
VXLANからVLANへパケットを転送するプロセスを説明する。ここでは、VM1がPM1をアクセスすると想定する。
【0047】
ゲートウェイVXLANスイッチのI/Oボード1は、ローカルのポート(例えば、
図4のポート10)を介してVXLANのVM1からパケットを受信する。ここでは、I/Oボードで受信したパケットをパケット0と呼ぶ。パケット0には、VXLANに対応するVXLANカプセルを付加する。VXLANカプセルには、VXLANのVNID100と、VXLANに対応するVXLAN外層ヘッダが含まれる。
図4に示すパケット0のVXLAN外層ヘッダは、外側ETHカプセルを含む。外側ETHカプセルは、外側送信元MACアドレス、外側宛先MACアドレス、外側送信元IPアドレスおよび外側宛先IPアドレスを含む。
図4は、VXLANカプセルが付加されたパケットの構造を示す。
【0048】
I/Oボード1は、VXLANカプセルからVNID100を取得し、パケット0からVXLANカプセルを除去する。ここでは、VXLANカプセルが除去されたパケット0をパケット1と呼ぶ。
【0049】
I/Oボード1は、パケット1の宛先MACアドレスと取得されたVNID100に対応するMACエントリをローカルのMACテーブルから検索する。MACエントリが検索され、パケット1の宛先MACアドレスがゲートウェイVXLANスイッチのゲートウェイMACアドレスである場合、I/Oボード1は、パケット1のレイヤ3転送を実行すると判定する。
【0050】
I/Oボード1は、パケット1に第1内部カプセルを付加する。第1内部カプセルにおける第1宛先チップIDは、第1仮想チップID(例えば、
図4に示すチップ01)であり、第1内部カプセルにおける第1宛先ポートIDは、第1仮想ポートID(例えば、
図4に示すポート1)である。ここで、第1内部カプセルが付加されたパケット1は、パケット2と呼ばれる。
【0051】
I/Oボード1は、
図4に示すように、内部ポート11、内部ポート12及び内部ポート13がバインディングされた内部ポートグループを介して各ファブリックボードに接続されている。I/Oボード1は、内部ポートグループから選択された一つの内部ポート(例えば、
図4に示す内部ポート11)を介して、パケット2をファブリックボード1に送信する。I/Oボード1による内部ポートの選択方法は、予め設定されていてもよい。例えば、I/Oボード1は、パケット2の宛先IPアドレスに対してハッシュアルゴリズムに従ってハッシュ演算を行うことができ、ハッシュ演算結果に対応する番号を有する内部ポートを選択する。
【0052】
ファブリックボード1は、パケット2を受信し、パケット2の第1内部カプセルのヘッダから第1宛先チップIDおよび第1宛先ポートIDがそれぞれチップ01およびポート1であって、且つ第1仮想チップIDおよび第1仮想ポートIDであると判定し、パケット2から第1内部カプセルを除去する。この場合、パケット1が復元される。
【0053】
ファブリックボード1は、パケット1の宛先MACアドレスを識別し、パケット1の宛先MACアドレスがゲートウェイVXLANスイッチのゲートウェイMACアドレスであると発見し、パケット1のレイヤ3転送を実行すると判定する。
【0054】
ファブリックボード1は、パケット1の宛先IPアドレスに対応するレイヤ3エントリをローカルのレイヤ3テーブルから検索し、検索されたレイヤ3エントリ内の出口ポートがVLANポートであることを発見する。ファブリックボード1は、パケット1の送信元MACアドレスをゲートウェイVXLANスイッチのゲートウェイMACアドレスに変更し、パケット1の宛先MACアドレスを検索されたレイヤ3エントリの宛先MACアドレスに変更する。
図4において、検索されたレイヤ3エントリの宛先MACアドレスは、PM1のMACアドレスである。ここで、送信元MACアドレスと宛先MACアドレスとが変更されたパケット1はパケット3と呼ばれる。
【0055】
ファブリックボード1は、検索されたレイヤ3エントリ内の出口ポートが複数の物理ポートをバインディングした物理ポートグループであると発見し、物理ポートグループ内の一つが位置するI/Oボードを対応するI/Oボードとして選択する。検索されたレイヤ3エントリ内の出口ポートが単一の物理ポートである場合、ファブリックボード1は、単一の物理ポートが位置するI/Oボードを対応するI/Oボードとして選択する。ここでは、単一の物理ポートが位置するI/OボードがI/Oボード2であると想定する。
【0056】
ファブリックボード1は、パケット3に第2内部カプセルを付加する。ここで、第2内部カプセルが付加されたパケット3は、パケット4と呼ばれる。第2内部カプセルは、第2宛先チップIDと、第2宛先ポートIDとを含む。第2宛先チップIDは、I/Oボード2でパケットを転送するためのチップのIDである。
図4において、このチップのIDはチップ02である。第2宛先ポートIDは、対象出口ポートである。
図4では、対象出口ポートは、ポート20である。
【0057】
ファブリックボード1は、ファブリックボード1がI/Oボード2に接続される内部ポートを介して、パケット4をI/Oボード2に送信する。
【0058】
I/Oボード2は、ファブリックボード1によって送信されたパケット4を受信し、パケット4の第2内部カプセルのヘッダから第2宛先チップIDおよび第2宛先ポートIDを判定する。第2宛先チップIDが、I/Oボード2でパケットを転送するためのチップ(例えばチップ02)のIDであり、且つ第2宛先ポートIDがI/Oボード2に接続された物理ポート(たとえば、ポート20)のIDである場合、I/Oボード2は、パケット4から第2内部カプセルを除去する。この場合、パケット3が復元される。
【0059】
I/Oボード2は、第2宛先ポートID(たとえば、ポート20)に対応する出口ポートを介してパケット3を送信する。
【0060】
PM1は、VXLANのVM1によって送信されたパケットを受信することができる。したがって、パケットは、ゲートウェイVXLANスイッチを介してVXLANからVLANに転送することができる。
【0061】
VXLANからVLANにパケットを転送する装置は、以下の実施例を参照して説明される。
【0062】
図5は、本開示のいくつかの実施例に係るVXLANからVLANにパケットを転送する装置の構造を示す図である。この装置は、ゲートウェイとして使用されるVXLANスイッチである。VXLANスイッチには、I/Oボードとファブリックボードが含まれている。I/Oボードの数とファブリックボードの数はいずれも1以上である。ファブリックボードは、転送機能とさまざまなエントリ機能を備えたチップを使用する。
図5に示すように、VXLANスイッチは、I/Oボード処理部501とファブリックボード処理部502とをさらに備える。
【0063】
I/Oボード処理部501は、VXLANスイッチのI/Oボード上に位置し、第1VXLANカプセルが付加されたパケットを受信し、第1VXLANカプセルが付加されたパケットから第1VXLANカプセルを除去し、パケットのレイヤ3転送を実行することを判定し、パケットをVXLANスイッチのファブリックボードに送信することができる。I/Oボード処理部501は、ファブリックボードによって送信されたパケットを受信し、ファブリックボードで検索されたレイヤ3エントリ内の出口ポートを介してパケットをVLANに転送することができる。
【0064】
ファブリックボード処理部502は、VXLANスイッチのファブリックボード上に位置し、I/Oボードによって送信されたパケットを受信し、受信したパケットのレイヤ3転送を実行することを判定し、ローカルのレイヤ3テーブルからパケットの宛先IPアドレスに対応するレイヤ3エントリを検索し、パケットの送信元MACアドレスをVXLANスイッチのゲートウェイMACアドレスに変更し、パケットの宛先MACアドレスをレイヤ3エントリの宛先MACアドレスに変更し、レイヤ3エントリ内の出口ポートがVLANポートである場合、変更されたパケットを、レイヤ3エントリ内の出口ポートに関連付けられた、VXLANスイッチのI/Oボードに送信することができる。
【0065】
実施例では、第1VXLANカプセルを行われたパケットから第1VXLANカプセルを除去する前に、I/Oボード処理部501は、パケットのVXLANカプセルのヘッダからVNIDを識別することができる。
【0066】
I/Oボード処理部501は、以下のプロセスにより、パケットのレイヤ3転送を行うことを判定する。I/Oボード処理部501は、パケットの宛先MACアドレスとVNIDに対応するMACエントリをローカルのMACテーブルから検索する。MACエントリが検索され、且つパケットの宛先MACアドレスがVXLANスイッチのゲートウェイMACアドレスである場合、I/Oボード処理部501は、パケットのレイヤ3転送を行うことを判定する。
【0067】
実施例では、I/Oボード処理部501は、以下のプロセスによりVXLANスイッチのファブリックボードにパケットを送信する。
【0068】
I/Oボード処理部501は、第1VXLANカプセルが除去された後、パケットに第1内部カプセルを付加する。第1内部カプセルは、第1宛先チップIDと第1宛先ポートIDとを含む。第1宛先チップIDは第1仮想チップIDであり、第1宛先ポートIDは第1仮想ポートIDである。
【0069】
実施例では、I/Oボードが一つのファブリックボードに接続されているとき、I/Oボード処理部501は、I/Oボードがファブリックボードに接続される内部ポートを介して、第1内部カプセルが付加されたパケットを送信する。I/Oボードが複数のファブリックボードに接続される場合、I/Oボード処理部501は、I/Oボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して、第1内部カプセルが付加されたパケットを送信する。
【0070】
実施例では、ファブリックボード処理部502は、以下のプロセスにより第1内部カプセルが付加された受信したパケットのレイヤ3転送を実行することを判定することができる。
【0071】
ファブリックボード処理部502は、第1内部カプセルが付加され受信したパケットの第1内部カプセルのヘッダから第1宛先チップIDおよび第1宛先ポートIDを判定する。第1宛先チップIDが第1仮想チップIDであり、第1宛先ポートIDが第1仮想ポートIDである場合、ファブリックボード処理部502は、第1内部カプセルが付加されたパケットから第1内部カプセルを除去する。ファブリックボード処理部502は、第1内部カプセルが除去された後に、パケットの宛先MACアドレスがVXLANスイッチのゲートウェイMACアドレスであると判定した場合、パケットのレイヤ3転送を行うことを判定する。
【0072】
実施例では、ファブリックボード処理部502は、以下のプロセスにより、ファブリックボードが変更したパケットを、レイヤ3エントリ内の出口ポートに関連付けられた、VXLANスイッチのI/Oボードに送信する。ファブリックボード処理部502は、レイヤ3エントリ内の出口ポートに応じて対象出口ポートを判定し、対象出口ポートが位置するI/Oボードをレイヤ3エントリ内の出口ポートに関連付けられたI/Oボードとして判定し、変更されたパケットに第2内部カプセルが付加し、第2内部カプセルが付加されたパケットを、レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードに送信する。第2内部カプセルは、第2宛先チップID、および第2宛先ポートIDを含む。第2宛先チップIDは、レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードでパケットを転送するためのチップのIDである。第2宛先ポートIDは、対象出口ポートのIDである。
【0073】
実施例では、I/Oボード処理部501は、以下のプロセスにより、検索されたレイヤ3エントリ内の出口ポートを介してパケットをVLANに転送することができる。I/Oボード処理部501は、パケットの第2内部カプセルのヘッダから第2宛先チップIDおよび第2宛先ポートIDを判定する。第2宛先チップIDが、レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードでパケットを転送するためのチップのIDであり、かつ第2宛先ポートIDが、レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードに接続した物理ポートのIDである場合、I/Oボード処理部501は、パケットから第2内部カプセルを除去し、第2宛先ポートIDに対応する物理ポートを介してVLANにパケットを送信する。
【0074】
ファブリックボード処理部502は、以下のプロセスにより、レイヤ3エントリ内の出口ポートに応じて、対象出口ポートを判定する。ファブリックボード処理部502は、レイヤ3エントリ内の出口ポートが単一の物理ポートである場合、該物理ポートを対象出口ポートとして判定する。ファブリックボード処理部502は、レイヤ3エントリ内の出口ポートが、複数の物理ポートがバインディングされた物理ポートグループである場合、物理ポートグループ内の一つの物理ポートを対象出口ポートとして判定する。
【0075】
本開示のいくつかの実施例によれば、VXLANからVLANにパケットを転送するための装置のハードウェア構造も示されている。この装置はゲートウェイとして使用されるVXLANスイッチである。
図6に示すように、VXLANスイッチのハードウェア構成では、I/Oボード60およびファブリックボード61が含まれる。
【0076】
I/Oボード60は、第1プロセッサ601(例えば、CPU)と第1非一時的記憶装置602とを含む。
【0077】
第1非一時的記憶装置602は、第1プロセッサ601によって実行可能なI/Oボード処理指令が含まれたコンピュータ読み取り可能な指令を格納することができる。
【0078】
第1プロセッサ601は、第1非一時的記憶部602に記憶されたI/Oボード処理指令を読み出して実行することにより、
図5に示すI/Oボード処理部の機能を実現することができる。
【0079】
ファブリックボード61は、第2プロセッサ611(例えば、CPU)と、第2非一時的記憶装置612とを含む。
【0080】
第2非一時的記憶装置612は、第2プロセッサ611によって実行可能なファブリックボード処理指令が含まれたコンピュータ読み取り可能な指令を格納することができる。
【0081】
第2プロセッサ611は、第2非一時的記憶装置612に記憶されたファブリックボード処理指令を読み出して実行することにより、
図5に示すファブリックボード処理部の機能を実現することができる。
【0082】
本開示の全体で具体的に記載されているが、本開示の代表的な例は、広範囲で有用性を有し、上記の議論は限定的であると解釈されるべきではなく、本開示の態様の例示的な論議として提供される。
【0083】
本明細書には、実施例とともに変更例を記載して説明する、本明細書で使用される用語、説明、および図面は、単なる例として説明されるが、これに限定することはない。さまざまな変更は、添付の特許請求の範囲およびそれらの同等物によって定義された本発明の精神および範囲を逸脱することなく行うことが可能である。添付の特許請求の範囲およびそれらの同等物では、全ての用語は、特に明記しない限り最も広く合理的な意味を持つ。