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