(57)【特許請求の範囲】
【請求項１】
パケット転送方法であって、
ＶＸＬＡＮスイッチのＩ／Ｏボードによって、ＶＬＡＮからパケットを受信し、ローカルのレイヤ３テーブルから前記パケットの宛先ＩＰアドレスに対応するレイヤ３エントリを検索し、レイヤ３エントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、前記パケットの送信元ＭＡＣアドレスを前記ＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスに変更し、前記パケットの宛先ＭＡＣアドレスをレイヤ３エントリ内のＭＡＣアドレスに変更し、前記変更されたパケットに、第１仮想チップＩＤである第１宛先チップＩＤと第１仮想ポートＩＤである第１宛先ポートＩＤとを含む第１内部カプセルを付加し、前記第１内部カプセルが付加された前記パケットを前記ＶＸＬＡＮスイッチのファブリックボードに送信するステップと、
前記ＶＸＬＡＮスイッチのファブリックボードによって、前記Ｉ／Ｏボードから送信されたパケットを受信し、受信したパケットのレイヤ２転送を実行することを判定するステップとを備え、
前記判定することは、
前記受信したパケットの第１内部カプセルにおける前記第１宛先チップＩＤおよび前記第１宛先ポートＩＤを判定することと、
前記第１宛先チップＩＤが前記第１仮想チップＩＤであり、かつ前記第１宛先ポートＩＤが前記第１仮想ポートＩＤである場合、前記パケットから前記第１内部カプセルを除去することと、
前記第１内部カプセルを除去した後、前記パケットの前記宛先ＭＡＣアドレスが前記ＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスではない場合、前記パケットのレイヤ２転送を行うことを判定することとを含み、前記方法はさらに、
ローカルのＭＡＣテーブルから前記パケットの前記宛先ＭＡＣアドレスに対応するＭＡＣエントリを検索し、前記ＭＡＣエントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、パケットをＭＡＣエントリ内の出口ポートに関連づけられた、前記ＶＸＬＡＮスイッチのＩ／Ｏボードに送信するステップと、
ＭＡＣエントリ内の出口ポートに関連づけられた、前記ＶＸＬＡＮスイッチのＩ／Ｏボードによって、前記ファブリックボードから送信されたパケットを受信し、受信したパケットにＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮカプセルが付加されたパケットをＶＸＬＡＮに転送するステップと、を備えることを特徴とするパケット転送方法。
【請求項２】
前記ＶＸＬＡＮスイッチのファブリックボードに前記第１内部カプセルが付加された前記パケットを送信するステップは、
前記Ｉ／Ｏボードが一つのファブリックボードに接続される場合、前記Ｉ／Ｏボードがファブリックボードに接続される内部ポートを介して、前記第１内部カプセルが付加されたパケットを送信し、前記Ｉ／Ｏボードが複数のファブリックボードに接続される場合、Ｉ／Ｏボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して前記第１内部カプセルが付加されたパケットを送信すること、を備えることを特徴とする請求項１に記載のパケット転送方法。
【請求項３】
前記ＭＡＣエントリ内の出口ポートに関連付けられた、前記ＶＸＬＡＮスイッチの前記Ｉ／Ｏボードへ前記パケットを送信するステップは、
前記パケットに第２内部カプセルを付加することと、
前記第２内部カプセルが付加されたパケットを、前記ＭＡＣエントリ内の出口ポートに関連付けられた、前記ＶＸＬＡＮスイッチの前記Ｉ／Ｏボードへ送信することと、を備え、
前記第２内部カプセルは、前記ＭＡＣエントリ内の出口ポートの情報を含み、
前記受信したパケットにＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮカプセルが付加されたパケットを前記ＶＸＬＡＮに転送するステップは、
前記パケットの第２内部カプセルから出口ポートの情報を判定し、前記パケットから前記第２内部カプセルを除去し、前記出口ポートの情報に基づいて、ローカルのＶＸＬＡＮトンネルカプセルテーブルからＶＸＬＡＮトンネルカプセルエントリを検索し、前記出口ポートの情報に対応するＶＮＩＤを判定し、検索されたＶＸＬＡＮトンネルカプセルエントリと判定したＶＮＩＤに基づいて、前記パケットにＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮトンネルカプセルエントリ内の出口ポートを介して、ＶＸＬＡＮカプセルされたパケットを送信することを備える
ことを特徴とする請求項１に記載のパケット転送方法。
【請求項４】
前記ＭＡＣエントリ内の前記出口ポートに関連付けられたＩ／Ｏボードを判定するステップは、
前記ＭＡＣエントリ内の出口ポートに関連付けられたＶＸＬＡＮトンネルに対応してローカルのネクストホップエントリを検索することと、
ネクストホップエントリに一つのネクストホップが含まれる場合、ネクストホップエントリ内のネクストホップを対象ネクストホップとして判定し、ネクストホップエントリに複数のネクストホップが含まれる場合、複数のネクストホップのうちの一つを対象ネクストホップとして選択することと、
前記ネクストホップエントリ内の前記対象ネクストホップに対応する出口ポートが単一の物理ポートである場合、前記物理ポートが位置するＩ／Ｏボードを前記ＭＡＣエントリ内の出口ポートに関連付けられたＩ／Ｏボードとして判定し、前記ネクストホップエントリ内の前記対象ネクストホップに対応する出口ポートが複数の物理ポートがバインディングされた物理ポートグループである場合、前記物理ポートグループ内の一つの物理ポートが位置するＩ／Ｏボードを前記ＭＡＣエントリ内の出口ポートに関連付けられたＩ／Ｏボードとして判定することと、を備えることを特徴とする請求項１に記載のパケット転送方法。
【請求項５】
ＶＸＬＡＮスイッチであって、
前記ＶＸＬＡＮスイッチのＩ／Ｏボード上に配置され、ＶＬＡＮからパケットを受信し、前記パケットの宛先ＩＰアドレスに対応するレイヤ３エントリをローカルのレイヤ３テーブルから検索し、レイヤ３エントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、前記パケットの送信元ＭＡＣアドレスをＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスに変更し、前記パケットの宛先ＭＡＣアドレスを前記レイヤ３エントリ内のＭＡＣアドレスに変更し、前記変更されたパケットに、第１仮想チップＩＤである第１宛先チップＩＤと第１仮想ポートＩＤである第１宛先ポートＩＤとを含む第１内部カプセルを付加し、前記第１内部カプセルが付加された前記パケットを前記ＶＸＬＡＮスイッチのファブリックボードに送信し、前記ファブリックボードから送信されたパケットを受信し、受信したパケットにＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮカプセルが付加されたパケットをＶＸＬＡＮに転送するＩ／Ｏボード処理部と、
前記ＶＸＬＡＮスイッチのファブリックボード上に配置され、前記Ｉ／Ｏボードによって送信されたパケットを受信し、前記受信したパケットのレイヤ２転送を実行することを判定し、ローカルのＭＡＣテーブルから前記パケットの前記宛先ＭＡＣアドレスに対応するＭＡＣエントリを検索し、前記ＭＡＣエントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、前記パケットをＭＡＣエントリ内の出口ポートに関連付けられた、前記ＶＸＬＡＮスイッチのＩ／Ｏボードに送信するファブリックボード処理部と、を備え、
前記ファブリックボード処理部は、
前記受信したパケットの第１内部カプセルから前記第１宛先チップＩＤおよび前記第１宛先ポートＩＤを判定し、前記第１宛先チップＩＤが前記第１仮想チップＩＤであり、かつ前記第１宛先ポートＩＤが前記第１仮想ポートＩＤである場合、前記パケットから前記第１内部カプセルを除去し、前記第１内部カプセルを除去した後、前記パケットの前記宛先ＭＡＣアドレスが前記ＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスではない場合、前記パケットのレイヤ２転送を行うことを判定することにより、前記第１内部カプセルが付加された前記受信したパケットのレイヤ２転送を実行することを判定することを特徴とするＶＸＬＡＮスイッチ。
【請求項６】
前記Ｉ／Ｏボード処理部は、
前記Ｉ／Ｏボードが一つのファブリックボードに接続される場合、前記Ｉ／Ｏボードがファブリックボードに接続される内部ポートを介して、前記第１内部カプセルが付加されたパケットを送信し、前記Ｉ／Ｏボードが複数のファブリックボードに接続される場合、Ｉ／Ｏボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して前記第１内部カプセルが付加されたパケットを送信することと、により、前記ＶＸＬＡＮスイッチのファブリックボードに前記第１内部カプセルが付加された前記パケットを送信することを特徴とする請求項５に記載のＶＸＬＡＮスイッチ。
【請求項７】
前記ファブリックボード処理部は、
前記パケットに第２内部カプセルを付加することと、
前記第２内部カプセルが付加されたパケットを、前記ＭＡＣエントリ内の出口ポートに関連付けられた、前記ＶＸＬＡＮスイッチの前記Ｉ／Ｏボードへ送信することと、により、前記ＭＡＣエントリ内の出口ポートに関連付けられた、前記ＶＸＬＡＮスイッチの前記Ｉ／Ｏボードへ前記パケットを送信し、
前記第２内部カプセルは、前記ＭＡＣエントリ内の出口ポートの情報を含み、
前記Ｉ／Ｏボード処理部は、
前記パケットの第２内部カプセルから出口ポートの情報を判定し、前記パケットから前記第２内部カプセルを除去し、前記出口ポートの情報に基づいて、ローカルのＶＸＬＡＮトンネルカプセルテーブルからＶＸＬＡＮトンネルカプセルエントリを検索し、前記出口ポートの情報に対応するＶＮＩＤを判定し、検索されたＶＸＬＡＮトンネルカプセルエントリと判定したＶＮＩＤに基づいて、前記パケットにＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮトンネルカプセルエントリ内の出口ポートを介して、ＶＸＬＡＮカプセルが付加されたパケットを送信することにより、前記受信したパケットにＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮカプセルが付加されたパケットを前記ＶＸＬＡＮに転送する、ことを特徴とする請求項５に記載のＶＸＬＡＮスイッチ。
【請求項８】
前記ファブリックボード処理部は、
前記ＭＡＣエントリ内の出口ポートに関連付けられたＶＸＬＡＮトンネルに対応してローカルのネクストホップエントリを検索することと、
ネクストホップエントリに一つのネクストホップが含まれる場合、ネクストホップエントリ内のネクストホップを対象ネクストホップとして判定し、ネクストホップエントリに複数のネクストホップが含まれる場合、複数のネクストホップのうちの一つを対象ネクストホップとして選択することと、
前記ネクストホップエントリ内の前記対象ネクストホップに対応する出口ポートが単一の物理ポートである場合、前記物理ポートが位置するＩ／Ｏボードを前記ＭＡＣエントリ内の出口ポートに関連付けられたＩ／Ｏボードとして判定し、前記ネクストホップエントリ内の前記対象ネクストホップに対応する出口ポートが複数の物理ポートがバインディングされた物理ポートグループである場合、前記物理ポートグループ内の一つの物理ポートが位置するＩ／Ｏボードを前記ＭＡＣエントリ内の出口ポートに関連付けられたＩ／Ｏボードとして判定することと、により、前記ＭＡＣエントリ内の前記出口ポートに関連付けられたＩ／Ｏボードを判定する、ことを特徴とする請求項５に記載のＶＸＬＡＮスイッチ。
【発明の詳細な説明】
【背景技術】
【０００１】
ＶＸＬＡＮ（Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークに基づいて、「ＭＡＣ  ｉｎ  ＵＤＰ」カプセルを採用するレイヤ２ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）技術である。ＶＸＬＡＮは、サービスプロバイダまたは企業ＩＰネットワークに基づいて、分散した物理的なサイトの間でレイヤ２相互接続を実行し、異なるテナントに対してサービス分離を提供することができる。ＶＸＬＡＮは、データセンターネットワークに適用することができる。
【０００２】
本発明の特徴は、例として示されるが、以下の図面に限定されない。以下の図面では、同様の要素に同様の参照番号を付す。
【図面の簡単な説明】
【０００３】
【図１】本発明のいくつかの実施例に係るＶＬＡＮからＶＸＬＡＮへのパケットの転送方法を示すフローチャートである。
【図２】本発明のいくつかの実施例に係るＩ／Ｏボードによってファブリックボードに変更されたパケットを送信する方法を示すフローチャートである。
【図３】本発明のいくつかの実施例に係る対応するＩ／Ｏボードの判定方法を示すフローチャートである。
【図４】本発明のいくつかの実施例に係るパケットを対応するＩ／Ｏボードに送信する方法を示すフローチャートである。
【図５】本発明のいくつかの実施例に係るＶＬＡＮからＶＸＬＡＮへパケットを転送するためのネットワーキング構造を示す図である。
【図６】本発明のいくつかの実施例に係るＶＬＡＮからＶＸＬＡＮへパケットを転送する装置の構造を示す図である。
【図７】本発明のいくつかの実施例に係るＶＬＡＮからＶＸＬＡＮへパケットを転送する装置のハードウェア構造を示す図である。
【発明を実施するための形態】
【０００４】
簡単に例示する目的で、本実施形態は、その実施例を主に参照して記述される。以下の説明では、本実施形態を十分に理解するために具体的かつ詳細に記述されている。しかしながら、本実施形態は、これらの具体的かつ詳細に記載された内容に限定せずに実施可能であることは明らかである。他の実施例では、本実施形態が不必要に不明瞭とならないように、いくつかの方法および構造は詳細に記述していない。本実施形態を通じて、用語「ａ」および「ａｎ」は、特定のエレメントの少なくとも一つを示す。本明細書において、用語「含む」は、それを含むが、それに限定することではないことを意味し、用語「含み」は、それを含んでいるが、それに限定することではないことを意味し、用語「に基づく」は、少なくとも部分的にそれを基づくことを意味する。
【０００５】
スイッチは、フレーム型であり、メインボードと、入出力（Ｉ／Ｏ）ボードと、ファブリックボードとを備える。メインボードは、プロトコルスタックの計算、転送エントリの配布および制御、および装置の管理を実行するためのボードである。Ｉ／Ｏボードは、データパケットの内部転送や外部転送などのデータパケットの転送を実行するためのボードである。ファブリックボードは、装置内のボードの間およびチップの間でデータパケットおよび制御パケットを転送するためのボードである。ファブリックボード上のチップは、パケット転送機能を有し、異なるＩ／Ｏボードの間でパケットを転送することができる。
【０００６】
ＶＸＬＡＮスイッチは、フレーム型スイッチの構造と同様に、メインボードと、Ｉ／Ｏボードと、ファブリックボードとを含む。一例として、二つ以上のＩ／Ｏボードが配置されている。
【０００７】
ＶＸＬＡＮの適用において、ＶＸＬＡＮスイッチは、ファブリックボードがスイッチのファブリックボードと同様に設置される。ＶＸＬＡＮスイッチのファブリックボード上のチップは、パケット転送機能を有し、異なるＩ／Ｏボードの間でパケットを転送することができる。
【０００８】
本発明のいくつかの実施例では、ＶＸＬＡＮスイッチがゲートウェイとして選択される。ゲートウェイとして選択されたＶＸＬＡＮスイッチ（以下、ゲートウェイＶＸＬＡＮスイッチという）は、改善することができる。
【０００９】
ゲートウェイＶＸＬＡＮスイッチは、以下のように改善することができる。
ゲートウェイＶＸＬＡＮスイッチのファブリックボードは、転送機能とさまざまなエントリ機能を備えたチップを使用する。エントリ機能は、メインボードによって配布されたエントリを受信して保存する機能や、エントリ検索機能などを含む。例えば、ファブリックボードに用いられるチップは、ゲートウェイＶＸＬＡＮスイッチのＩ／Ｏボードに用いられたスイッチチップであってもよい。
【００１０】
ゲートウェイＶＸＬＡＮスイッチのファブリックボードが、転送機能およびエントリ機能を有するチップを使用する場合、ゲートウェイＶＸＬＡＮスイッチに入力したパケットのレイヤ３転送がゲートウェイＶＸＬＡＮスイッチのＩ／Ｏボードとファブリックボードとの連携を介して実行できる。以下では、いくつかの実施例および図１を参照して、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）からＶＸＬＡＮにパケットの転送方法を説明する。
【００１１】
図１は、本発明のいくつかの実施例に係るＶＬＡＮからＶＸＬＡＮへのパケットの転送方法を示すフローチャートである。この方法は、ゲートウェイＶＸＬＡＮスイッチに適用することができる。ゲートウェイＶＸＬＡＮスイッチのファブリックボードは、転送機能とさまざまなエントリ機能を備えたチップを使用する。たとえば、ファブリックボードに用いられるチップは、ゲートウェイＶＸＬＡＮスイッチのＩ／Ｏボードに用いられるチップと同一であってもよい。これにより、図１に示すように、この方法は、下記のステップ２０１〜２０３を含む。
【００１２】
ステップ２０１において、ゲートウェイＶＸＬＡＮスイッチのＩ／Ｏボードは、ＶＬＡＮからパケットを受信し、ローカルのレイヤ３テーブルからパケットの宛先ＩＰアドレスに対応するレイヤ３エントリを検索し、レイヤ３エントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、パケットの送信元ＭＡＣアドレスをゲートウェイＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスに変更し、パケットの宛先ＭＡＣアドレスをレイヤ３エントリ内のＭＡＣアドレスに変更し、変更されたパケットをゲートウェイＶＸＬＡＮスイッチのファブリックボードに送信する。
【００１３】
本発明の一つの実施例では、Ｉ／Ｏボードのローカルのレイヤ３エントリは、レイヤ３エントリ学習方法に従ってＩ／Ｏボードによって学習されるか、またはメインボードに設置されるか、あるいはレイヤ３エントリ学習方法に従ってメインボードによって学習され、Ｉ／Ｏボードに配布されてもよい。一例として、レイヤ３エントリは、ルーティングエントリであってもよく、宛先ＩＰアドレス、ＶＬＡＮ  ＩＤ（ｉｄｅｎｔｉｔｙ）、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、出口ポートなどを含んでもよい。レイヤ３エントリに含まれた内容に応じて、ステップ２０１でパケットの宛先ＩＰアドレスに対応するレイヤ３エントリは、パケットの宛先ＩＰアドレスを含むレイヤ３エントリである。
【００１４】
ステップ２０１の例では、Ｉ／Ｏボードからファブリックボードへの変更されたパケットの送信されることを確保するために、Ｉ／Ｏボードはパケットに内部カプセルを付加する。仮に、この内部カプセルを、第１内部カプセルと呼ぶこととする。ステップ２０１の例では、図２を参照すると、Ｉ／Ｏボードが変更されたパケットをファブリックボードへ送信する方法は、下記のステップａ１およびステップａ２を含む。
【００１５】
ステップａ１において、変更されたパケットに第１内部カプセルを付加する。
第１内部カプセルは、第１宛先チップＩＤと第１宛先ポートＩＤとを含む。第１宛先チップＩＤは第１仮想チップＩＤであり、第１宛先ポートＩＤは第１仮想ポートＩＤである。
【００１６】
本発明の一つの実施例では、第１仮想チップＩＤは、エントリ検索およびパケット転送を行うことをファブリックボードに指示するための予め設置された仮想チップＩＤであってもよい。第１仮想ポートＩＤは、エントリ検索およびパケット転送を行うことをファブリックボードに指示するための予め設置された仮想ポートＩＤであってもよい。ゲートウェイＶＸＬＡＮスイッチが複数のファブリックボードを含む場合、すべてのファブリックボードには、第１仮想チップＩＤと第１仮想ポートＩＤが配置される。
【００１７】
ステップａ２において、Ｉ／Ｏボードが一つのファブリックボードに接続されると、第１内部カプセルが付加されたパケットは、Ｉ／Ｏボードがファブリックボードに接続される内部ポートを介して送信される。Ｉ／Ｏボードが複数のファブリックボードに接続されると、第１内部カプセルが付加されたパケットは、Ｉ／Ｏボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して送信される。
【００１８】
Ｉ／Ｏボードが複数のファブリックボードに接続される場合、Ｉ／Ｏボードが複数のファブリックボードにそれぞれ接続される内部ポートは、束ねられて内部ポートグループとなる。したがって、ステップａ２の例では、Ｉ／Ｏボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して、第１内部カプセルが付加されたパケットを送信するプロセスは、内部ポートグループから一つの内部ポートを選択するステップと、選択された内部ポートを介して、第１内部カプセルが付加されたパケットを送信するステップとを含む。内部ポートグループから一つの内部ポートを選択する方法としては、たとえば、内部ポートをランダムに選択する方法や、ハッシュアルゴリズムなどのアルゴリズムで内部ポートを選択する方法などの様々な方法がある。
【００１９】
ステップａ１およびステップａ２によれば、ゲートウェイＶＸＬＡＮスイッチのＩ／Ｏボードは、ゲートウェイＶＸＬＡＮスイッチのファブリックボードに変更されたパケットを送信することができる。
【００２０】
ステップ２０２において、ゲートウェイＶＸＬＡＮスイッチのファブリックボードは、Ｉ／Ｏボードによって送信されたパケットを受信し、受信したパケットのレイヤ２転送を実行することを判定し、そのパケットの宛先ＭＡＣアドレスに対応するＭＡＣエントリをローカルのＭＡＣテーブルから検索し、ＭＡＣエントリ内の出口ポートがＶＸＬＡＮトンネルポートであるときに、パケットをＭＡＣエントリ内の出口ポートに関連付けられた、ゲートウェイＶＸＬＡＮスイッチのＩ／Ｏボードに送信する。
【００２１】
本発明の一つの実施例では、ＭＡＣエントリ内の出口ポートに関連付けられたＩ／Ｏボードは、対応するＩ／Ｏボードと呼ばれる。
【００２２】
ステップ２０１で説明した第１内部カプセルに基づいて、ファブリックボードによる受信したパケットのレイヤ２転送の実行を判定するプロセスは、以下のように実行される。
【００２３】
ファブリックボードは、受信したパケットの第１内部カプセルのヘッダから第１宛先チップＩＤおよび第１宛先ポートＩＤを判定する。第１宛先チップＩＤが第１仮想チップＩＤであり、第１宛先ポートＩＤが第１仮想ポートＩＤである場合、ファブリックボードは当該パケットから第１内部カプセルを除去する。第１内部カプセルが除去された後、パケットの宛先ＭＡＣアドレスがゲートウェイＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスではない場合、ファブリックボードは、受信したパケットのレイヤ２転送を実行することを判定する。
【００２４】
ステップ２０２の例では、ファブリックボードのローカルのＭＡＣテーブルは、メインボードに配置されてもよく、またはＭＡＣエントリ学習方法に従ってメインボードによって学習され、ファブリックボードに配布されてもよい。ＭＡＣエントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、ＶＸＬＡＮトンネルポートは仮想トンネルポートである。本発明の一つの実施例では、ＶＸＬＡＮトンネルポートは、ＶＸＬＡＮトンネルカプセルのインデックスで表す。たとえば、ＶＸＬＡＮトンネルポートはトンネル１で表す。トンネル１はＶＸＬＡＮトンネルカプセルのインデックスである。
【００２５】
本発明の一つの実施例では、ステップ２０２で説明した対応するＩ／Ｏボードは、ＶＸＬＡＮトンネルポート（即ち、ＭＡＣエントリ内の出口ポートである）に関連付けられたＶＸＬＡＮトンネルに対応したネクストホップエントリによって判定できる。実施例では、図３を参照すると、対応するＩ／Ｏボードの判定方法は、下記のステップを含む。
【００２６】
ステップｂ１１において、ＶＸＬＡＮトンネルポートに関連付けられたＶＸＬＡＮトンネルに対応してローカルのネクストホップエントリを検索する。
【００２７】
ステップｂ１２において、ネクストホップエントリに一つのネクストホップが含まれる場合、ネクストホップエントリ内のネクストホップを対象ネクストホップとして判定し、ネクストホップエントリに複数のネクストホップが含まれる場合、ネクストホップエントリ中の複数のネクストホップから一つのネクストホップを対象ネクストホップとして選択する。
【００２８】
ネクストホップエントリ内の複数のネクストホップから一つのネクストホップを選択する方法としては、例えば、ネクストホップをランダムに選択する方法や、ハッシュアルゴリズムなどの選択方法によってネクストホップを選択する方法などの様々な方法がある。
【００２９】
ステップｂ１３において、ネクストホップエントリでの対象ネクストホップに対応した出口ポートが単一の物理ポートである場合、対応するＩ／Ｏボードは、物理ポートが位置するＩ／Ｏボードである。ネクストホップエントリでの対象ネクストホップに対応した出口ポートが、複数の物理ポートを束ねて形成する物理ポートグループである場合、対応するＩ／Ｏボードは、物理ポートグループ内で一つの物理ポートが位置するＩ／Ｏボードである。
【００３０】
ここで、物理ポートグループ内で一つの物理ポートは、物理ポートグループから選択されてもよい。物理ポートグループから一つの物理ポートを選択する方法としては、たとえば、物理ポートをランダムに選択する方法や、ハッシュアルゴリズムなどの選択方法によって物理ポートを選択する方法などの様々な方法がある。
【００３１】
以上で、ステップｂ１１〜ｂ１３により、対応するＩ／Ｏボードを判定することができる。
【００３２】
本発明の一つの実施例では、ファブリックボードは、変更されたパケットに第２内部カプセルを付加し、第２内部カプセルが付加されたパケットを対応するＩ／Ｏボードに送信する。これにより、対応するＩ／Ｏボードは、ファブリックボードによって送信され第２内部カプセルが付加されたパケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮカプセルが付加されたパケットをＶＸＬＡＮに転送することができる。
【００３３】
ステップ２０２の例では、図４を参照すると、パケットを対応するＩ／Ｏボードに送信する方法には、下記のステップが含まれる。
【００３４】
ステップｂ１において、パケットに第２内部カプセルを付加する。
第２内部カプセルは、ＭＡＣエントリ内の出口ポートの情報を含む。ＭＡＣエントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、ＶＸＬＡＮトンネルポートはＶＸＬＡＮトンネルカプセルのインデックスで表す。これによって、第２内部カプセルに含まれたＭＡＣエントリ内の出口ポートの情報は、ＶＸＬＡＮトンネルカプセルのインデックスに相当する。
【００３５】
ステップｂ２において、第２内部カプセルが付加されたパケットを対応するＩ／Ｏボードに送信する。
【００３６】
ステップｂ１およびｂ２によれば、対応するＩ／Ｏボードによってファブリックボードから受信したパケットは、第２内部カプセルが付加されたパケットである。
【００３７】
ステップ２０３において、ゲートウェイＶＸＬＡＮスイッチの対応するＩ／Ｏボードは、ファブリックボードによって送信されたパケットを受信し、受信したパケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮカプセルが付加されたパケットをＶＸＬＡＮに転送する。
【００３８】
ステップ２０３の例では、受信したパケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮカプセルが付加されたパケットをＶＸＬＡＮに転送するプロセスは、以下のように実行される。
【００３９】
対応するＩ／Ｏボードは、当該パケットの第２内部カプセルのヘッダから出口ポートの情報を判定し、当該パケットに対して第２内部カプセルを除去する。また、対応するＩ／Ｏボードは、出口ポートの情報に従ってローカルのＶＸＬＡＮトンネルカプセルテーブルからＶＸＬＡＮトンネルカプセルエントリを検索し、出口ポートの情報に対応するＶＮＩＤ（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  ＩＤ）を判定し、検索されたＶＸＬＡＮトンネルカプセルエントリおよび判定されたＶＮＩＤに基づいて、当該パケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮトンネルカプセルエントリ内の出口ポートを介してＶＸＬＡＮカプセルが付加されたパケットを送信する。
【００４０】
出口ポートの情報に対応するＶＮＩＤは、予め配置されたローカルのＶＮＩＤテーブルによって判定されてもよい。ＶＮＩＤテーブル内のＶＮＩＤエントリは、ＶＮＩＤおよびＶＸＬＡＮトンネルカプセルのインデックスを含む。ＭＡＣエントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、ＶＸＬＡＮトンネルポートはＶＸＬＡＮトンネルカプセルのインデックスで表す。ＶＸＬＡＮトンネルカプセルのインデックスは、ＭＡＣエントリ内の出口ポートの情報に相当する。したがって、出口ポートの情報に対応するＶＮＩＤを判定するプロセスは、予め配置されたローカルのＶＮＩＤテーブルから出口ポートの情報を含むＶＮＩＤエントリを検索し、検索されたＶＮＩＤエントリ内のＶＮＩＤを出口ポートの情報に対応するＶＮＩＤとして判定する。
【００４１】
ＭＡＣエントリ内の出口ポートは、ＶＸＬＡＮトンネルポートである。ＶＸＬＡＮトンネルポートがＶＸＬＡＮトンネルカプセルのインデックスで表す場合、出口ポートの情報に基づいて、ローカルのＶＸＬＡＮトンネルカプセルテーブルからＶＸＬＡＮトンネルカプセルエントリを検索するプロセスは、ＶＸＬＡＮトンネルカプセルのインデックスに基づいてローカルのＶＸＬＡＮトンネルカプセルテーブルからＶＸＬＡＮトンネルカプセルエントリを検索することを意味する。
【００４２】
ＶＸＬＡＮトンネルカプセルエントリおよびＶＮＩＤに基づいてパケットにＶＸＬＡＮカプセルを付加するプロセスは、ＶＸＬＡＮトンネルカプセルエントリ内のＶＸＬＡＮトンネルカプセル情報に基づいてパケットにＶＸＬＡＮの外層ヘッダを付加するステップと、ＶＮＩＤに基づいてＶＸＬＡＮフィールド（例えば、ＶＮＩＤフィールド）をパケットに付加するステップとを含む。ＶＸＬＡＮの外層ヘッダには、外側イーサネット（登録商標）（ＥＴＨ）カプセルが含まれている。外側ＥＴＨカプセルは、外側送信元ＭＡＣアドレス、外側宛先ＭＡＣアドレス、外側送信元ＩＰアドレスおよび外側宛先ＩＰアドレスを含む。
【００４３】
本発明の一つの実施例では、検索されたＶＸＬＡＮトンネルカプセルエントリ内の出口ポートを介してパケットを送信するプロセスは、検索されたＭＡＣエントリ内の出口ポートを識別するステップと、出口ポートが単一の物理ポートである場合、単一の物理ポートを介してパケットを送信し、出口ポートが、複数の物理ポートを束ねて構成された物理ポートグループである場合、物理ポートグループから一つの物理ポートを選択し、選択された物理ポートを介してパケットを送信するステップとを含む。物理ポートはランダムに選択できず、対応するＩ／Ｏボードを判定するときにファブリックボードによって選択された物理ポートと同一である必要がある。Ｉ／Ｏボードがファブリックボードによって選択された物理ポートと同一になることを確保するように物理ポートを選択する方法は複数ある。たとえば、ファブリックボードはハッシュアルゴリズムに従って物理ポートを選択し、Ｉ／Ｏボードもハッシュアルゴリズムに従って物理ポートを選択する。
【００４４】
本発明の一つの実施例では、Ｉ／Ｏボードのローカルのカプセルエントリは、Ｉ／Ｏボードに予め配置されていてもよい。
【００４５】
本発明の一つの実施例では、ゲートウェイＶＸＬＡＮスイッチのファブリックボードに使用されるチップは、転送機能と様々なエントリ機能を有するチップである。例えば、Ｉ／Ｏボードが使用するチップと同一なチップを使用してもよい。したがって、ゲートウェイＶＸＬＡＮスイッチがＩ／Ｏボードを介してＶＸＬＡＮからパケットを受信すると、Ｉ／Ｏボードのローカルのレイヤ３テーブルからパケットの宛先ＩＰアドレスに対応するレイヤ３エントリが検索される。レイヤ３エントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、Ｉ／Ｏボードは、パケットの送信元ＭＡＣアドレスと宛先ＭＡＣアドレスを変更し、変更されたパケットをファブリックボードに送信する。パケットの宛先ＭＡＣアドレスと一致するＭＡＣエントリは、ファブリックボードのローカルＭＡＣテーブルから検索される。ＭＡＣエントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、レイヤ３エントリ内の出口ポートに関連付けられた、ゲートウェイＶＸＬＡＮスイッチのＩ／Ｏボードは、パケットをＶＸＬＡＮカプセル化し、ＶＸＬＡＮカプセル化されたパケットをＶＸＬＡＮに転送する。ＶＸＬＡＮレイヤ３ゲートウェイ機能は、ゲートウェイＶＸＬＡＮスイッチを介して実装することができる。パケットは、ＶＬＡＮからＶＸＬＡＮに転送することができる。プロセス全体がゲートウェイＶＸＬＡＮスイッチ内で実行される。これにより、任意の帯域幅資源が無駄にならず、パケットのワイヤスピード転送が実現することができる。
【００４６】
以下、一例を参照して図１に示すフローチャートを説明する。
図５は、本発明のいくつかの実施例に係るＶＬＡＮからＶＸＬＡＮにパケットを転送するためのネットワーキング構造を示す図である。図５に示すように、物理マシン（ＰＭ）１〜ＰＭ５はＶＬＡＮ内の装置で、仮想マシン（ＶＭ）１〜ＶＭ５はＶＸＬＡＮ内の装置である。ゲートウェイＶＸＬＡＮスイッチは、ＶＬＡＮとＶＸＬＡＮとの間に接続され、メインボード、Ｉ／Ｏボード、およびファブリックボードを含む。メインボードは図５に図示されていない。ファブリックボードは、転送機能およびさまざまなエントリ機能を備えたチップを使用する。ファブリックボードに使用されるチップは、Ｉ／Ｏボードに使用されるチップと同一である。図５には、ＶＸＬＡＮスイッチの３つのＩ／Ｏボードを示す。
【００４７】
ＶＬＡＮからＶＸＬＡＮにパケットを転送するプロセスを説明する。ここでは、ＰＭ１がＶＭ１をアクセスすると想定する。
【００４８】
ゲートウェイＶＸＬＡＮスイッチのＩ／Ｏボード１は、ローカルポート（例えば、図５のポート１０）を介してＰＭ１からパケットを受信する。ここでは、Ｉ／Ｏボードで受信したパケットをパケット０と呼ぶ。
【００４９】
Ｉ／Ｏボード１は、パケット０の宛先ＩＰアドレスに対応するレイヤ３エントリをローカルのレイヤ３テーブルから検索する。
【００５０】
検索されたレイヤ３エントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合に、パケット０がファブリックボードへ転送されることを示す。Ｉ／Ｏボード１は、パケット０の送信元ＭＡＣアドレスをゲートウェイＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスに変更し、パケット０の宛先ＭＡＣアドレスを、検索されたレイヤ３エントリ内の宛先ＭＡＣアドレスに変更する。図５において、検索されたレイヤ３エントリ内の宛先ＭＡＣアドレスは、ＶＭ１のＭＡＣアドレスである。ここで、送信元ＭＡＣアドレスと宛先ＭＡＣアドレスが変更されたパケット０は、パケット１と呼ばれる。
【００５１】
Ｉ／Ｏボード１は、パケット１に第１内部カプセルを付加する。第１内部カプセルに含まれた第１宛先チップＩＤは、第１仮想チップＩＤ（例えば、図５に示すチップ０１）であり、第１内部カプセルに含まれた第１宛先ポートＩＤは、第１仮想ポートＩＤ（例えば、図５に示すポート１）である。ここで、第１内部カプセルが付加されたパケット１は、パケット２と呼ばれる。
【００５２】
Ｉ／Ｏボード１は、図５に示すように、内部ポート１１、内部ポート１２及び内部ポート１３がバインディングされた内部ポートグループを介して各ファブリックボードに接続されている。Ｉ／Ｏボード１は、内部ポートグループから一つの内部ポートを選択し、例えば、図５に示す内部ポート１１を選択してパケット２をファブリックボード１に送信する。Ｉ／Ｏボード１による内部ポートの選択方法は、予め設定されていてもよい。例えば、Ｉ／Ｏボード１は、パケット２の宛先ＩＰアドレスに対してハッシュアルゴリズムに従ってハッシュ演算を行うことができ、ハッシュ演算結果に対応する番号を有する内部ポートを選択する。
【００５３】
ファブリックボード１は、パケット２を受信し、パケット２の第１内部カプセルのヘッダから第１仮想チップＩＤである第１宛先チップＩＤ、および第１仮想ポートＩＤである第１宛先ポートＩＤがそれぞれチップ０１およびポート１であると判定し、パケット２から第１内部カプセルを除去する。この場合、パケット１が復元される。
【００５４】
ファブリックボード１は、パケット１の宛先ＭＡＣアドレスを識別し、パケット１の宛先ＭＡＣアドレスがゲートウェイＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスではないと発見し、パケット１のレイヤ２転送を行うことを判定する。
【００５５】
ファブリックボード１は、パケット１の宛先ＭＡＣアドレスに対応するＭＡＣエントリをローカルのＭＡＣテーブルから検索する。ファブリックボード１は、検索されたＭＡＣエントリ内の出口ポートがＶＸＬＡＮトンネルポートであると発見し、ＶＸＬＡＮトンネルポートに関連付けられたＶＸＬＡＮトンネルに対応してローカルのネクストホップエントリを検索する。検索されたネクストホップエントリが一つのネクストホップを有し、且つネクストホップの出口ポートが複数の物理ポートがバインディングされた物理ポートグループである場合、ファブリックボード１は、物理ポートグループ内で一つの物理ポートが配置されるＩ／Ｏボードを対応するＩ／Ｏボードとして選択する。ネクストホップの出口ポートが単一の物理ポートである場合、ファブリックボード１は、単一の物理ポートが配置されるＩ／Ｏボードを対応するＩ／Ｏボードとして選択する。ここでは、対応するＩ／ＯボードがＩ／Ｏボード２であると想定する。
【００５６】
ファブリックボード１は、パケット１に第２内部カプセルを付加する。ここで、第２内部カプセルが付加されたパケット１は、パケット３と呼ばれる。第２内部カプセルは、検索されたＭＡＣエントリ内の出口ポートの情報を含む。検索されたＭＡＣエントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、ＶＸＬＡＮトンネルポートはＶＸＬＡＮトンネルカプセルのインデックスで表す。第２内部カプセルに含まれた出口ポートの情報は、ＶＸＬＡＮトンネルカプセルのインデックスに相当する。
【００５７】
ファブリックボード１は、ファブリックボード１がＩ／Ｏボード２に接続される内部ポートを介して、パケット３をＩ／Ｏボード２に送信する。
【００５８】
Ｉ／Ｏボード２は、ファブリックボード１によって送信されたパケット３を受信し、パケット３の第２内部カプセルのヘッダ内の出口ポートの情報を判定し、パケット３から第２内部カプセルを除去する。この場合、パケット１が復元される。
【００５９】
Ｉ／Ｏボード２は、出口ポートの情報に基づいて、ローカルのＶＸＬＡＮトンネルカプセルテーブルからＶＸＬＡＮトンネルカプセルエントリを検索し、出口ポートの情報に対応するＶＮＩＤを判定する。
【００６０】
Ｉ／Ｏボード２は、検索されたＶＸＬＡＮトンネルカプセルエントリおよび判定したＶＮＩＤに基づいてパケット１をＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮトンネルカプセルエントリ内の出口ポートを介して、ＶＸＬＡＮカプセルが付加されたパケット１を送信する。ここでは、ＶＸＬＡＮカプセルが付加されたパケット１がパケット４と呼ばれる。
【００６１】
検索されたＶＸＬＡＮトンネルカプセルエントリおよび判定したＶＮＩＤに基づいてＩ／Ｏボード２がパケット１をＶＸＬＡＮカプセルを付加するプロセスは、ＶＸＬＡＮトンネルカプセルエントリ内のＶＸＬＡＮトンネルカプセル情報に基づいて、パケット１にＶＸＬＡＮの外層ヘッダを付加するステップと、ＶＮＩＤ（すなわち、出口ポートが属するＶＸＬＡＮのＶＮＩＤ、例えば、図５に示すＶＸＬＡＮのＶＮＩＤ２００）に基づいて、ＶＸＬＡＮフィールド（すなわち、ＶＮＩＤフィールド）をパケット１に付加するステップとを含む。パケット１のＶＸＬＡＮの外層ヘッダには、外側イーサネット（ＥＴＨ）カプセルが含まれている。外側ＥＴＨカプセルは、外側送信元ＭＡＣアドレス、外側宛先ＭＡＣアドレス、外側送信元ＩＰアドレスおよび外側宛先ＩＰアドレスを含む。
【００６２】
Ｉ／Ｏボード２は、検索されたＶＸＬＡＮトンネルカプセルエントリ内の出口ポートに応じてパケット４を送信する。一例では、検索されたＶＸＬＡＮトンネルカプセルエントリ内の出口ポートに応じてＩ／Ｏボード２がパケット４を送信するプロセスは、検索されたＶＸＬＡＮトンネルカプセルエントリ内の出口ポートを識別するステップを含む。識別された出口ポートは、ファブリックボード１によって発見されたネクストホップの出口ポートである。ファブリックボード１によって発見されたネクストホップの出口ポートが、複数の物理ポートがバインディングされた物理ポートグループである場合、検索されたＶＸＬＡＮトンネルカプセルエントリ内の識別された出口ポートは物理ポートグループである。したがって、Ｉ／Ｏボード２は、対応するＩ／Ｏボードを判定する際に、ファブリックボード１による物理ポートの選択方法によって、識別された出口ポートから一つの物理ポートを選択することにより、パケット４を送信するポートがファブリックボード１によって選択された物理ポートと同一であることが確保される。
【００６３】
ＶＸＬＡＮのＶＭ１は、ＰＭ１によって送信されたパケットを受信することができる。したがって、パケットは、ゲートウェイＶＸＬＡＮスイッチを介して、ＶＬＡＮからＶＸＬＡＮに転送することができる。
【００６４】
ＶＬＡＮからＶＸＬＡＮにパケットを転送する装置は、以下の実施例を参照して説明される。
【００６５】
図６は、本発明のいくつかの実施例に係るＶＬＡＮからＶＸＬＡＮにパケットを転送する装置の構造を示す図である。この装置は、ゲートウェイとして使用されるＶＸＬＡＮスイッチである。ＶＸＬＡＮスイッチには、Ｉ／Ｏボードとファブリックボードが含まれている。ファブリックボードは、転送機能とさまざまなエントリ機能を備えたチップを使用する。図６に示すように、ＶＸＬＡＮスイッチは、Ｉ／Ｏボード処理部６０１とファブリックボード処理部６０２とをさらに備える。
【００６６】
Ｉ／Ｏボード処理部６０１は、ＶＸＬＡＮスイッチのＩ／Ｏボード上に配置され、ＶＸＬＡＮからパケットを受信し、パケットの宛先ＩＰアドレスに対応するレイヤ３エントリをローカルのレイヤ３テーブルから検索し、レイヤ３エントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、パケットの送信元ＭＡＣアドレスをＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスに変更し、パケットの宛先ＭＡＣアドレスをレイヤ３エントリのＭＡＣアドレスに変更し、変更されたパケットをＶＸＬＡＮスイッチのファブリックボードに送信し、ファブリックボードから送信されたパケットを受信し、受信したパケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮカプセルが付加されたパケットをＶＸＬＡＮに転送する。
【００６７】
ファブリックボード処理部６０２は、ＶＸＬＡＮスイッチのファブリックボード上に配置され、Ｉ／Ｏボードによって送信されたパケットを受信し、受信したパケットのレイヤ２転送を実行することを判定し、ローカルのＭＡＣテーブルからパケットの宛先ＭＡＣアドレスに対応するＭＡＣエントリを検索し、ＭＡＣエントリ内の出口ポートがＶＸＬＡＮトンネルポートである場合、パケットをゲートウェイＶＸＬＡＮスイッチにおいてＭＡＣエントリ内の出口ポートに関連付けられたＩ／Ｏボードに送信することができる。
【００６８】
実施例では、Ｉ／Ｏボード処理部６０１は、以下のプロセスによりＶＸＬＡＮスイッチのファブリックボードに変更されたパケットを送信する。
【００６９】
Ｉ／Ｏボード処理部６０１は、変更されたパケットに第１内部カプセルを付加する。第１内部カプセルは、第１宛先チップＩＤと第１宛先ポートＩＤとを含む。第１宛先チップＩＤは第１仮想チップＩＤであり、第１宛先ポートＩＤは第１仮想ポートＩＤである。
【００７０】
実施例では、Ｉ／Ｏボードが一つのファブリックボードに接続されている場合、Ｉ／Ｏボード処理部６０１は、Ｉ／Ｏボードがファブリックボードに接続される内部ポートを介して第１内部カプセルが付加されたパケットを送信する。Ｉ／Ｏボードが複数のファブリックボードに接続されている場合、Ｉ／Ｏボード処理部６０１は、Ｉ／Ｏボードが複数のファブリックボードにそれぞれ接続されている内部ポートの一つを介して第１内部カプセルが付加されたパケットを送信する。
【００７１】
実施例では、ファブリックボード処理部６０２は、以下のプロセスにより第１内部カプセルが付加された受信したパケットのレイヤ２転送を実行することを判定することができる。ファブリックボード処理部６０２は、第１内部カプセルが付加された受信したパケットの第１内部カプセルのヘッダから第１宛先チップＩＤおよび第１宛先ポートＩＤを判定する。第１宛先チップＩＤが第１仮想チップＩＤであり、第１宛先ポートＩＤが第１仮想ポートＩＤである場合、ファブリックボード処理部６０２は、第１内部カプセルが付加されたパケットに対して第１内部カプセルを除去する。ファブリックボード処理部６０２は、第１内部カプセルが除去された後に、パケットの宛先ＭＡＣアドレスがＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスではないと判定した場合、パケットのレイヤ２転送を行うことを判定する。
【００７２】
実施例では、ファブリックボード処理部６０２は、以下のプロセスにより、パケットを、ＭＡＣエントリ内の出口ポートに関連付けられた、ＶＸＬＡＮスイッチのＩ／Ｏボードに送信する。
【００７３】
ファブリックボード処理部６０２は、パケットに第２内部カプセルを付加し、第２内部カプセルが付加されたパケットを、ＭＡＣエントリ内の出口ポートに関連付けられた、ＶＸＬＡＮスイッチのＩ／Ｏボードに送信する。第２内部カプセルは、ＭＡＣエントリ内の出口ポートの情報を含む。
【００７４】
実施例では、Ｉ／Ｏボード処理部６０１は、以下のプロセスにより、変更されたパケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮカプセルが付加されたパケットをＶＸＬＡＮに転送することができる。
【００７５】
対応するＩ／Ｏボード処理部６０１は、パケットの第２内部カプセルのヘッダから出口ポートの情報を判定し、パケットから第２内部カプセルを除去する。対応するＩ／Ｏボード処理部６０１は、出口ポートの情報に基づいて、Ｉ／ＯボードのローカルのＶＸＬＡＮトンネルカプセルテーブルからＶＸＬＡＮトンネルカプセルエントリを検索し、出口ポートの情報に対応するＶＮＩＤを判定し、検索されたＶＸＬＡＮトンネルカプセルエントリと判定したＶＮＩＤに基づいて、パケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮトンネルカプセルエントリ内の出口ポートを介して、ＶＸＬＡＮカプセルが付加されたパケットを送信する。
【００７６】
実施例では、ファブリックボード処理部６０２は、以下のプロセスにより、ＭＡＣエントリ内の出口ポートに関連付けられたＩ／Ｏボードを判定する。
【００７７】
ファブリックボード処理部６０２は、ＭＡＣエントリ内の出口ポートに関連付けられたＶＸＬＡＮトンネルに対応してローカルのネクストホップエントリを検索する。
【００７８】
ネクストホップエントリに一つのネクストホップが含まれる場合、ファブリックボード処理部６０２は、ネクストホップエントリ内のネクストホップを対象ネクストホップとして判定する。ネクストホップエントリに複数のネクストホップが含まれる場合、ファブリックボード処理部６０２は、ネクストホップエントリ内の複数のネクストホップのうちの一つを対象ネクストホップとして選択する。
【００７９】
ファブリックボード処理部６０２は、ネクストホップエントリ内の対象ネクストホップに対応する出口ポートが単一の物理ポートである場合、物理ポートが配置されたＩ／ＯボードをＭＡＣエントリ内の出口ポートに関連付けられたＩ／Ｏボードとして判定する。ファブリックボード処理部６０２は、ネクストホップエントリ内の対象ネクストホップに対応する出口ポートが、複数の物理ポートがバインディングされた物理ポートグループである場合、物理ポートグループ内の一つの物理ポートが配置されたＩ／ＯボードをＭＡＣエントリ内の出口ポートに関連付けられたＩ／Ｏボードとして判定する。
【００８０】
本発明のいくつかの実施例によれば、ＶＬＡＮからＶＸＬＡＮにパケットを転送するための装置のハードウェア構造も示されている。この装置はゲートウェイとして使用されるＶＸＬＡＮスイッチである。図７に示すように、ＶＸＬＡＮスイッチのハードウェア構成では、Ｉ／Ｏボード７０およびファブリックボード７１が含まれる。
【００８１】
Ｉ／Ｏボード７０は、第１プロセッサ７０１（例えば、ＣＰＵ）と第１非一時的記憶装置７０２とを含む。
【００８２】
第１非一時的記憶装置７０２は、第１プロセッサ７０１によって実行可能なＩ／Ｏボード処理指令が含まれたコンピュータ読み取り可能な指令を格納することができる。
【００８３】
第１プロセッサ７０１は、第１非一時的記憶部７０２に記憶されたＩ／Ｏボード処理指令を読み出して実行することにより、図６に示すＩ／Ｏボード処理部の機能を実現することができる。
【００８４】
ファブリックボード７１は、第２プロセッサ７１１（例えば、ＣＰＵ）と、第２非一時的記憶装置７１２とを含む。
【００８５】
第２非一時的記憶装置７１２は、第２プロセッサ７１１によって実行可能なファブリックボード処理指令が含まれたコンピュータ読み取り可能な指令を格納することができる。
【００８６】
第２プロセッサ７１１は、第２非一時的記憶装置７１２に記憶されたファブリックボード処理指令を読み出して実行することにより、図６に示すファブリックボード処理部の機能を実現することができる。
【００８７】
本発明の全体で具体的に記載されているが、本発明の代表的な例は、広範囲で有用性を有し、上記の議論は限定的であると解釈されるべきではなく、本発明の態様の例示的な論議として提供される。
【００８８】
本明細書には、実施例とともに変更例を記載して説明する、本明細書で使用される用語、説明、および図面は、単なる例として説明されるが、これに限定することはない。さまざまな変更は、添付の特許請求の範囲およびそれらの同等物によって定義された本発明の精神および範囲を逸脱することなく行うことが可能である。添付の特許請求の範囲およびそれらの同等物では、全ての用語は、特に明記しない限り最も広く合理的な意味を持つ。
【図１】
0006574054.tif 000002
【図２】
0006574054.tif 000003
【図３】
0006574054.tif 000004
【図４】
0006574054.tif 000005
【図５】
0006574054.tif 000006
【図６】
0006574054.tif 000007
【図７】
0006574054.tif 000008