(57)【特許請求の範囲】
【請求項１】
ＶＸＬＡＮ（Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）スイッチの入出力ボードを介して、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）からマルチキャストデータパケットを受信し、前記マルチキャストデータパケットに対応する１つ以上のマルチキャストグループメンバポートが第１仮想ポートであるとき、前記マルチキャストデータパケットを前記ＶＸＬＡＮスイッチのファブリックボードへ送信することと、
前記ＶＸＬＡＮスイッチの前記ファブリックボードを介して、前記入出力ボードから送信されたマルチキャストデータパケットを受信し、前記マルチキャストデータパケットが前記ファブリックボードによってレイヤ３マルチキャスト転送されるべきと特定し、且つ、前記マルチキャストデータパケットに対応するマルチキャストグループメンバポートがＶＸＬＡＮトンネルポートであるとき、前記マルチキャストデータパケットのソースＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを前記ＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスとして変更し、変更された前記マルチキャストデータパケットを前記ＶＸＬＡＮスイッチでの、前記マルチキャストグループメンバポートに対応する入出力ボードへ送信することと、
前記ＶＸＬＡＮスイッチでの前記マルチキャストグループメンバポートに対応する前記入出力ボードを介して、前記ファブリックボードから送信されたマルチキャストデータパケットを受信し、当該マルチキャストデータパケットにＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットをＶＸＬＡＮへ転送することと、を含むことを特徴とするマルチキャストデータパケット転送方法。
【請求項２】
前記マルチキャストデータパケットに対応するマルチキャストグループメンバポートは、前記マルチキャストデータパケットにマッチングされたレイヤ３マルチキャストグループエントリに含まれ、
前記方法は、
前記入出力ボードを介して、前記マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索することと
前記ファブリックボードを介して、前記マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索することとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記当該マルチキャストデータパケットを前記ＶＸＬＡＮスイッチのファブリックボードへ送信することは、
マルチキャストデータパケットに、第１仮想チップの識別子である第１宛先チップ識別子と第１仮想ポートの識別子である第１宛先ポート識別子とを含む第１内部カプセルを付加することと、
前記入出力ボードが１つのファブリックボードに接続されたとき、前記入出力ボードを前記ファブリックボードに接続するためのインナーポートを介して、前記第１内部カプセルが付加されたマルチキャストデータパケットを送信することと、
前記入出力ボードが複数のファブリックボードに接続されたとき、前記入出力ボードを前記複数のファブリックボードのそれぞれに接続するための複数のインナーポートのうちの１つを介して、前記第１内部カプセルが付加されたマルチキャストデータパケットを送信することとを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記マルチキャストデータパケットが前記ファブリックボードによってレイヤ３マルチキャスト転送されるべきと特定することは、
前記第１内部カプセルのヘッダから前記第１宛先チップ識別子および前記第１宛先ポート識別子を特定することと、
特定された前記第１宛先チップ識別子が前記第１仮想チップの識別子であり、且つ前記第１宛先ポート識別子が前記第１仮想ポートの識別子であるとき、前記第１内部カプセルが付加されたマルチキャストデータパケットから前記第１内部カプセルを除去することと、
得られたマルチキャストデータパケットの宛先ＭＡＣアドレスがマルチキャストＭＡＣアドレスであり、且つ当該マルチキャストデータパケットの宛先ＩＰアドレスがマルチキャストＩＰアドレスであるとき、当該マルチキャストデータパケットが前記ファブリックボードによってレイヤ３マルチキャスト転送されるべきと特定することとを含むことを特徴とする請求項３に記載の方法。
【請求項５】
変更された前記マルチキャストデータパケットを前記ＶＸＬＡＮスイッチでの、前記マルチキャストグループメンバポートに対応する入出力ボードへ送信することは、
前記マルチキャストグループメンバポートに基づいて目標出力ポートを特定し、前記目標出力ポートを備える入出力ボードを前記マルチキャストグループメンバポートに対応する入出力ボードとして選択することと、
変更されたマルチキャストデータパケットに第２内部カプセルを付加し、前記第２内部カプセルが付加されたマルチキャストデータパケットを前記目標出力ポートを備える入出力ボードへ送信することとを含み、
前記第２内部カプセルは、前記マルチキャストグループメンバポートに対応するＶＸＬＡＮトンネルカプセルエントリのインデックスと前記マルチキャストグループメンバポートに対応するＶＦＩ（Ｖｉｒｔｕａｌ  Ｆｏｒｗａｒｄｉｎｇ  Ｉｎｓｔａｎｃｅ）とを含み、
前記マルチキャストデータパケットにＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットをＶＸＬＡＮへ転送することは、
前記第２内部カプセルのヘッダからＶＸＬＡＮトンネルカプセルエントリのインデックスおよびＶＦＩを特定することと、前記第２内部カプセルが付加されたマルチキャストデータパケットから前記第２内部カプセルを除去することと、前記ＶＸＬＡＮトンネルカプセルエントリのインデックスに対応する、ローカルに格納されたＶＸＬＡＮトンネルカプセルエントリを見つけ出すことと、予め設定されたＶＦＩとＶＮＩＤとの間のマッピング関係から、前記特定されたＶＦＩに対応するＶＮＩＤを検索することと、前記ＶＸＬＡＮトンネルカプセルエントリおよび検索されたＶＮＩＤに基づいて前記マルチキャストデータパケットに前記ＶＸＬＡＮカプセルを付加することと、前記ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットを前記見つけ出されたＶＸＬＡＮトンネルカプセルエントリにおける出力ポートを介して送信することとを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記マルチキャストグループメンバポートに基づいて目標出力ポートを特定することは、
前記マルチキャストグループメンバポートに関連付けられたＶＸＬＡＮトンネルに対応する、ローカルに格納された次ホップエントリを見つけ出すことと、
前記次ホップエントリが１つの次ホップを含む場合、前記次ホップエントリに含まれる前記次ホップを目標次ホップとして特定することと、
前記次ホップエントリが２つ以上の次ホップを含む場合、前記２つ以上の次ホップから１つの次ホップを選択して目標次ホップとして特定することと、
前記次ホップエントリにおいて、前記目標次ホップに対応する出力ポートが単一の物理ポートであるとき、前記単一の物理ポートを目標出力ポートとして特定し、前記目標次ホップに対応する出力ポートが、２つ以上の物理ポートをバインディングして形成されたポートグループであるとき、前記ポートグループにおける１つの物理ポートを前記目標出力ポートとして特定することとを含むことを特徴とする請求項５に記載の方法。
【請求項７】
ＶＸＬＡＮ（Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）スイッチであって、
入出力ボード処理手段と、ファブリックボード処理手段とを備え、
前記入出力ボード処理手段は、
前記ＶＸＬＡＮスイッチの入出力ボードに設けられ、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）からマルチキャストデータパケットを受信し、前記マルチキャストデータパケットに対応する１つ以上のマルチキャストグループメンバポートが第１仮想ポートであるとき、前記マルチキャストデータパケットを前記ＶＸＬＡＮスイッチのファブリックボードへ送信し、且つ、
前記ファブリックボードからマルチキャストデータパケットを受信し、前記ファブリックボードから受信された前記マルチキャストデータパケットにＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットをＶＸＬＡＮへ転送し、
前記ファブリックボード処理手段は、
前記ＶＸＬＡＮスイッチの前記ファブリックボードに設けられ、前記入出力ボードから送信されたマルチキャストデータパケットを受信し、前記マルチキャストデータパケットが前記ファブリックボードによってレイヤ３マルチキャスト転送されるべきと特定し、
前記マルチキャストデータパケットに対応するマルチキャストグループメンバポートがＶＸＬＡＮトンネルポートであるとき、前記マルチキャストデータパケットのソースＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを前記ＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスとして変更し、変更された前記マルチキャストデータパケットを前記ＶＸＬＡＮスイッチでの、前記マルチキャストグループメンバポートに対応する入出力ボードへ送信することを特徴とするＶＸＬＡＮスイッチ。
【請求項８】
前記マルチキャストデータパケットに対応するマルチキャストグループメンバポートは、前記マルチキャストデータパケットにマッチングされたレイヤ３マルチキャストグループエントリに含まれ、
前記入出力ボード処理手段は、さらに、前記マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索し、
前記ファブリックボード処理手段は、さらに、前記マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索することを特徴とする請求項７に記載のＶＸＬＡＮスイッチ。
【請求項９】
前記入出力ボード処理手段は、前記当該マルチキャストデータパケットを前記ＶＸＬＡＮスイッチのファブリックボードへ送信する手順において、
マルチキャストデータパケットに、第１仮想チップの識別子である第１宛先チップ識別子と第１仮想ポートの識別子である第１宛先ポート識別子とを含む第１内部カプセルを付加し、
前記入出力ボードが１つのファブリックボードに接続されたとき、前記入出力ボードを前記ファブリックボードに接続するためのインナーポートを介して、前記第１内部カプセルが付加されたマルチキャストデータパケットを送信し、
前記入出力ボードが複数のファブリックボードに接続されたとき、前記入出力ボードを前記複数のファブリックボードのそれぞれに接続するための複数のインナーポートのうちの１つを介して、前記第１内部カプセルが付加されたマルチキャストデータパケットを送信することを特徴とする請求項７に記載のＶＸＬＡＮスイッチ。
【請求項１０】
前記ファブリックボード処理手段は、前記得られたマルチキャストデータパケットがレイヤ３マルチキャスト転送されるべきと特定する手順において、
前記第１内部カプセルのヘッダから前記第１宛先チップ識別子および前記第１宛先ポート識別子を特定し、特定された前記第１宛先チップ識別子が前記第１仮想チップの識別子であり、且つ前記第１宛先ポート識別子が前記第１仮想ポートの識別子であるとき、前記第１内部カプセルが付加されたマルチキャストデータパケットから前記第１内部カプセルを除去し、
得られたマルチキャストデータパケットの宛先ＭＡＣアドレスがマルチキャストＭＡＣアドレスであり、且つ当該マルチキャストデータパケットの宛先ＩＰアドレスがマルチキャストＩＰアドレスであるとき、当該マルチキャストデータパケットが前記ファブリックボードによってレイヤ３マルチキャスト転送されるべきと特定することを特徴とする請求項９に記載のＶＸＬＡＮスイッチ。
【請求項１１】
前記ファブリックボード処理手段は、変更された前記マルチキャストデータパケットを前記ＶＸＬＡＮスイッチでの、前記マルチキャストグループメンバポートに対応する入出力ボードへ送信する手順において、
前記マルチキャストグループメンバポートに基づいて目標出力ポートを特定し、前記目標出力ポートを備える入出力ボードを前記マルチキャストグループメンバポートに対応する入出力ボードとして選択し、
変更されたマルチキャストデータパケットに第２内部カプセルを付加し、前記第２内部カプセルが付加されたマルチキャストデータパケットを前記目標出力ポートを備える入出力ボードへ送信し、前記第２内部カプセルは、前記マルチキャストグループメンバポートに対応するＶＸＬＡＮトンネルカプセルエントリのインデックスと前記マルチキャストグループメンバポートに対応するＶＦＩ（Ｖｉｒｔｕａｌ  Ｆｏｒｗａｒｄｉｎｇ  Ｉｎｓｔａｎｃｅ）とを含み、
前記マルチキャストデータパケットに前記ＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットをＶＸＬＡＮへ転送することは、
前記第２内部カプセルのヘッダからＶＸＬＡＮトンネルカプセルエントリのインデックスおよびＶＦＩを特定し、前記第２内部カプセルが付加されたマルチキャストデータパケットから前記第２内部カプセルを除去し、前記ＶＸＬＡＮトンネルカプセルエントリのインデックスに対応する、ローカルに格納されたＶＸＬＡＮトンネルカプセルエントリを見つけ出し、予め設定されたＶＦＩとＶＮＩＤとの間のマッピング関係から、前記特定されたＶＦＩに対応するＶＮＩＤを検索し、前記ＶＸＬＡＮトンネルカプセルエントリおよび検索されたＶＮＩＤに基づいて前記マルチキャストデータパケットに前記ＶＸＬＡＮカプセルを付加し、前記ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットを前記見つけ出されたＶＸＬＡＮトンネルカプセルエントリにおける出力ポートを介して送信することを含むことを特徴とする請求項７に記載のＶＸＬＡＮスイッチ。
【請求項１２】
前記ファブリックボード処理手段は、前記マルチキャストグループメンバポートに基づいて目標出力ポートを特定する手順において、
前記マルチキャストグループメンバポートに関連付けられたＶＸＬＡＮトンネルに対応する、ローカルに格納された次ホップエントリを見つけ出し、
前記次ホップエントリが１つの次ホップを含む場合、前記次ホップエントリに含まれる前記次ホップを目標次ホップとして特定し、前記次ホップエントリが２つ以上の次ホップを含む場合、前記２つ以上の次ホップから１つの次ホップを選択して目標次ホップとして特定し、
前記次ホップエントリにおいて、前記目標次ホップに対応する出力ポートが単一の物理ポートであるとき、前記単一の物理ポートを目標出力ポートとして特定し、前記目標次ホップに対応する出力ポートが、２つ以上の物理ポートをバインディングして形成されたポートグループであるとき、前記ポートグループにおける１つの物理ポートを前記目標出力ポートとして特定することを特徴とする請求項１１に記載のＶＸＬＡＮスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、出願番号が２０１５１０２２０８８６.５であり、発明の名称が「ＶＸＬＡＮを跨ぐマルチキャストデータパケット転送方法および装置」であり、出願日が２０１５年０５月０４日である中国特許出願に基づいて優先権を主張する。当該中国特許出願の全ての内容は、ここに参考として引用される。
【０００２】
ＶＸＬＡＮ（Ｖｉｒｔｕａｌ ｅＸｔｅｎｓｉｂｌｅ Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ、仮想拡張ローカルエリアネットワーク）技術は、ＩＰネットワークに基づく、「ＭＡＣ ｉｎ ＵＤＰ」カプセル化形態を用いるレイヤ２ＶＰＮ技術である。ＶＸＬＡＮ技術は、既存のサービスプロバイダや企業ＩＰネットワークに基づいて、分散された物理的なサイトへレイヤ２の相互接続を供給可能であるとともに、異なるテナントに対するサービスの分離をサポートできる。ＶＸＬＡＮ技術は、主にデータセンターネットワークに適用される。
【図面の簡単な説明】
【０００３】
【図１】本発明の様々な実施例に係るマルチキャストデータパケット転送方法を示すフローチャートである。
【図２】本発明の様々な実施例に係るマルチキャストデータパケットをファブリックボードへ送信する方法を示すフローチャートである。
【図３】本発明の様々な実施例に係るマルチキャストデータパケットを入出力ボードへ送信する方法を示すフローチャートである。
【図４】本発明の様々な実施例に係る目標出力ポートを特定する方法を示すフローチャートである。
【図５】本発明の様々な実施例に係るマルチキャストデータパケットを転送するためのネットワーク構成図である。
【図６】本発明の様々な実施例に係るＶＸＬＡＮスイッチを示す構成図である。
【図７】本発明の様々な実施例に係るＶＸＬＡＮスイッチのハードウェア構成図である。
【発明を実施するための形態】
【０００４】
理解の容易化および説明の目的で、本発明を主に実施例を参照しながら説明する。以下の説明において、多数の具体的な詳細は、本発明の完全な理解を与えるために記載される。しかし、明らかなように、本発明は、これらの具体的な詳細に関する制限がなくても実施され得る。他の場合において、いくつかの方法および構成は、不必要に本発明を不明瞭にすることのないように、詳細に記載されていない。本発明ここで、用語「備える」と「含む」は、要素として範囲内に入らせると理解されるべきが、それらの要素しかないと意味しない。
【０００５】
スイッチは、一般的に、フレーム型であり、メインボード（ｍａｉｎ ｂｏａｒｄ）、入出力ボード（Ｉ/Ｏ ｂｏａｒｄ）およびファブリックボード（ｆａｂｒｉｃ ｂｏａｒｄ）を含む。メインボードは、プロトコルスタックの算出、転送用のエントリに対する配分と制御、機器の管理を実施するためのボードである。入出力ボードは、データパケット転送、例えば、データパケットの内部転送と外部転送を実施するためのボードである。ファブリックボードは、フレーム型スイッチ内部の異なるボード間あるいは異なるチップ間で、データパケットと制御パケットを転送するためのボードである。ファブリックボードでのチップは、パケット転送機能を有し、異なる入出力ボード間でパケットを転送する。
【０００６】
ＶＸＬＡＮスイッチの構成は、フレーム型スイッチの構成と類似しており、メインボード、入出力ボードおよびファブリックボードを含む。一般的には、入出力ボードの数が１より大きい。
【０００７】
ＶＸＬＡＮ応用において、フレーム型スイッチと同じように、ＶＸＬＡＮスイッチのファブリックボードでのチップのそれぞれは、パケット転送機能を有し、異なる入出力ボード間でパケットを転送する。
【０００８】
幾つかの実施例では、ＶＸＬＡＮのレイヤ３ゲートウェイ機能の実現に向けて、ＶＸＬＡＮスイッチのうちの１つがゲートウェイとして選択されて改良される。その選択されたＶＸＬＡＮスイッチは、ゲートウェイＶＸＬＡＮスイッチと呼称される。
【０００９】
ゲートウェイＶＸＬＡＮスイッチに対する改良は、下記のようになる。
ゲートウェイＶＸＬＡＮスイッチのファブリックボードは、転送機能および様々なエントリ機能を有するチップを採用する。エントリ機能は、少なくともメインボードによって配分されたエントリを受信し保存する機能、エントリ検索機能などを含む。幾つかの実施例では、ファブリックボードは、ゲートウェイＶＸＬＡＮスイッチの入出力ボードに用いられるスイッチチップを採用してもよい。
【００１０】
ゲートウェイＶＸＬＡＮスイッチのファブリックボードが転送機能およびエントリ機能を有するチップを採用する場合、ゲートウェイＶＸＬＡＮスイッチに入ったマルチキャストデータパケットのレイヤ３転送は、ＶＸＬＡＮスイッチの入出力ボードとファブリックボードとの協調によって実施されてもよい。
【００１１】
図１は、本発明の様々な実施例に係るマルチキャストデータパケット転送方法を示すフローチャートである。当該方法は、ゲートウェイＶＸＬＡＮスイッチに用いられる。幾つかの実施例では、ゲートウェイＶＸＬＡＮスイッチのファブリックボードは、転送機能およびエントリ機能を有するチップ、例えば、入出力ボードに用いられるスイッチチップを採用する。図１に示すように、当該方法は、下記のステップを含む。
【００１２】
ステップ１０１では、ゲートウェイＶＸＬＡＮスイッチの入出力ボードは、ＶＬＡＮ（Ｖｉｒｔｕａｌ Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）からマルチキャストデータパケットを受信し、マルチキャストデータパケットに対応する1つ以上のマルチキャストグループメンバポートが第１仮想ポートであるとき、マルチキャストデータパケットをゲートウェイＶＸＬＡＮスイッチのファブリックボードへ送信する。
【００１３】
幾つかの実施例では、マルチキャストデータパケットに対応するマルチキャストグループメンバポートは、当該マルチキャストデータパケットにマッチングされたレイヤ３マルチキャストグループエントリに含まれる。ステップ１０１において、入出力ボードは、マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索してもよい。
【００１４】
幾つかの実施例では、ローカルのレイヤ３マルチキャストグループテーブルは、メインボードによって直接に設定されてもよい。
【００１５】
幾つかの実施例では、レイヤ３マルチキャストグループエントリは、１つ以上のマルチキャストグループメンバポートを含んでもよい。１つ以上のマルチキャストグループメンバポートが第１仮想ポートであるとき、入出力ボードは、マルチキャストデータパケットをゲートウェイＶＸＬＡＮスイッチのファブリックボードへ送信してもよい。第１仮想ポートであるマルチキャストグループメンバポートがないとき、例えば、マルチキャストグループメンバポートがＶＬＡＮポートであるとき、入出力ボードは、他の処理を実行してもよい。
【００１６】
第１仮想ポートの意味は、後述するため、ここで説明しない。
幾つかの実施例では、ステップ１０１において、マルチキャストデータパケットが入出力ボードからファブリックボードへ順調に送信されることを確保するために、入出力ボードは、マルチキャストデータパケットに内部カプセルを付加してもよい。当該内部カプセルは、後文で第１内部カプセルと呼称される。ステップ１０１において、入出力ボードは、マルチキャストデータパケットをゲートウェイＶＸＬＡＮスイッチのファブリックボードへ送信する際、図２に示す下記ステップを実行してもよい。
【００１７】
ステップａ１では、入出力ボードは、マルチキャストデータパケットに第１内部カプセルを付加する。
【００１８】
幾つかの実施例では、第１内部カプセルは、第１宛先チップ識別子および第１宛先ポート識別子を含む。第１宛先チップ識別子は、第１仮想チップの識別子であってもよく、第１宛先ポート識別子は、第１仮想ポートの識別子であってもよい。
【００１９】
幾つかの実施例では、第１仮想チップは、ファブリックボードが引き続きエントリ検索およびマルチキャストデータパケット転送を行えるよう指示するための予め配置された仮想チップであってもよい。第１仮想ポートは、ファブリックボードが引き続きエントリ検索およびマルチキャストデータパケット転送を行えるよう指示するための予め配置された仮想ポートであってもよい。
【００２０】
ステップａ２では、入出力ボードは、１つのファブリックボードに接続されたとき、入出力ボードをファブリックボードに接続するためのインナーポートを介して、第１内部カプセルが付加されたマルチキャストデータパケットを送信する。入出力ボードは、複数のファブリックボードに接続されたとき、入出力ボードを複数のファブリックボードのそれぞれに接続するための複数のインナーポートのうちの１つを介して、第１内部カプセルが付加されたマルチキャストデータパケットを送信する。
【００２１】
幾つかの実施例では、入出力ボードが複数のファブリックボードに接続されたとき、入出力ボードを複数のファブリックボードのそれぞれに接続するための複数のインナーポートは、１つの論理的インナーポートグループとしてバインディングされてもよい。ステップａ２では、入出力ボードは、複数のファブリックボードに接続されたとき、入出力ボードを複数のファブリックボードのそれぞれに接続するための複数のインナーポートのうちの１つを介して第１内部カプセルが付加されたマルチキャストデータパケットを送信する際、インナーポートグループから１つのインナーポートを選択して、当該選択されたインナーポートを介して、第１内部カプセルが付加されたマルチキャストデータパケットを送信してもよい。インナーポートグループから１つのインナーポートを選択する方式は、複数あり得る。例えば、１つのインナーポートは、ランダムに選択されてもよいし、あるアルゴリズム（例えば、ハッシュアルゴリズム）に従って選択されてもよい。
【００２２】
上記ステップａ１およびステップａ２の処理後、第１内部カプセルが付加されたマルチキャストデータパケットは、ゲートウェイＶＸＬＡＮスイッチのファブリックボードで受信可能である。
【００２３】
ステップ１０２では、ゲートウェイＶＸＬＡＮスイッチのファブリックボードは、入出力ボードから送信されたマルチキャストデータパケットを受信し、当該マルチキャストデータパケットが自ファブリックボードによってレイヤ３マルチキャスト転送されるべきと特定する。マルチキャストデータパケットに対応するマルチキャストグループメンバポートがＶＸＬＡＮトンネルポートであるとき、当該ファブリックボードは、マルチキャストデータパケットのソースＭＡＣアドレスをゲートウェイＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレに変更し、変更されたマルチキャストデータパケットをＶＸＬＡＮスイッチでのマルチキャストグループメンバポートに対応する入出力ボードへ送信してもよい。幾つかの実施例では、ＶＸＬＡＮスイッチでのマルチキャストグループメンバポートに対応する入出力ボードは、対応する入出力ボードと略称される。
【００２４】
幾つかの実施例では、マルチキャストデータパケットに対応するマルチキャストグループメンバポートは、マルチキャストデータパケットにマッチングされたレイヤ３マルチキャストグループエントリに含まれる。ステップａ２では、当該ファブリックボードは、ローカルのレイヤ３マルチキャストグループテーブルから、マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリを検索することで、検索されたレイヤ３マルチキャストグループエントリにおけるマルチキャストグループメンバポートがＶＸＬＡＮトンネルポートであるか否かを判定する。
【００２５】
幾つかの実施例では、ファブリックボードでローカルに格納されたレイヤ３マルチキャストグループエントリは、メインボードがレイヤ３マルチキャストグループテーブル学習方式により習得してからファブリックボードへ配分したものであってもよい。
【００２６】
幾つかの実施例では、ＶＸＬＡＮトンネルポートは、仮想化されたトンネルポートであり、ＶＸＬＡＮトンネルカプセルインデックスにより表されてもよい。例えば、ＶＸＬＡＮトンネルポートは、Ｔｕｎｎｅｌ１であってもよい。Ｔｕｎｎｅｌ１は、ＶＸＬＡＮトンネルカプセルインデックスである。
【００２７】
幾つかの実施例では、レイヤ３マルチキャストグループエントリは、複数のマルチキャストグループメンバポートを含んでもよい。ステップ１０２において、マルチキャストグループメンバポートの数が１より大きいとき、マルチキャストグループメンバポートごとに、当該ファブリックボードは、マルチキャストグループメンバポートがＶＸＬＡＮトンネルポートであるか否かを認識してもよい。当該マルチキャストグループメンバポートがＶＸＬＡＮトンネルポートである場合、当該ファブリックボードは、マルチキャストデータパケットのソースＭＡＣアドレスをＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスに変更し、変更されたマルチキャストデータパケットを対応する入出力ボードへ送信してもよい。当該マルチキャストグループメンバポートがＶＸＬＡＮトンネルポートではない場合、例えば、仮想ローカルネットワーク（ＶＬＡＮ）ポートである場合、当該ファブリックボードは、他の操作を実行してもよいが、ここで説明しない。
【００２８】
幾つかの実施例では、レイヤ３マルチキャストグループエントリは、複数のマルチキャストグループメンバポートを含んでもよく、ファブリックボードは、マルチキャストデータパケットの１つのコピーを受信可能である。レイヤ３マルチキャストグループエントリに含まれるマルチキャストグループメンバポートの数がＮ（Ｎは１より大きい）であるとき、ファブリックボードは、マルチキャストグループメンバポートの数に応じてマルチキャストデータパケットをコピーしてもよい。そして、コピーされたマルチキャストデータパケットの数がＮ-１である。そして、ファブリックボードは、マルチキャストデータパケットとコピーされたマルチキャストデータパケットをマルチキャストグループメンバポートにそれぞれ割り当ててもよい。コピーされたマルチキャストデータパケットのコンテンツがオリジナルマルチキャストデータパケットのと同じであるため、幾つかの実施例においてコピーされたマルチキャストデータパケットは、マルチキャストデータパケットとも略称される。上記処理により、各マルチキャストグループメンバポートは、何れもマルチキャストデータパケットの１つのコピーを受信できる。
【００２９】
幾つかの実施例では、ステップ１０１での第１内部カプセルに基づいて、ステップ１０２において、ファブリックボードは、マルチキャストデータパケットが自ファブリックボードによってレイヤ３マルチキャスト転送されるべきと特定する際、下記の処理を実行してもよい。
【００３０】
ファブリックボードは、第１内部カプセルのヘッダから第１宛先チップ識別子および第１宛先ポート識別子を特定してもよい。特定された第１宛先チップ識別子が上記第１仮想チップの識別子であり、且つ第１宛先ポート識別子が上記第１仮想ポートの識別子である場合、ファブリックボードは、第１内部カプセルが付加されたマルチキャストデータパケットから当該第１内部カプセルを除去してもよい。得られたマルチキャストデータパケットの宛先ＭＡＣアドレスがマルチキャストＭＡＣアドレス、且つ同マルチキャストデータパケットの宛先ＩＰアドレスがマルチキャストＩＰアドレスである場合、ファブリックボードは、マルチキャストデータパケットが自ファブリックボードによってレイヤ３マルチキャスト転送されるべきと特定してもよい。
【００３１】
幾つかの実施例では、特定された第１宛先チップ識別子が上記第１仮想チップの識別子ではなく、および/または、第１宛先ポート識別子が上記第１仮想ポートの識別子ではない場合、ファブリックボードは、第１内部カプセルが付加されたマルチキャストデータパケットから第１内部カプセルを除去せずに、第１宛先ポート識別子に基づいてマルチキャストデータパケットを直接に転送してもよい。
【００３２】
幾つかの実施例では、ステップ１０２において、ファブリックボードは、変更されたマルチキャストデータパケットを対応する入出力ボードへ送信する際、図３に示す処理を実行してもよい。
【００３３】
ステップｂ１において、ファブリックボードは、マルチキャストグループメンバポートに基づいて目標出力ポートを特定し、目標出力ポートを備える入出力ボードを対応する入出力ボードとして選択してもよい。
【００３４】
幾つかの実施例では、ファブリックボードは、マルチキャストグループメンバポートに基づいて目標出力ポートを特定する際、図４に示す処理を実行してもよい。
【００３５】
ステップｂ１１において、ファブリックボードは、マルチキャストグループメンバポートに関連づけられたＶＸＬＡＮトンネルに対応する、ローカルに格納された次ホップエントリ（Ｎｅｘｔ Ｈｏｐ Ｅｎｔｒｙ）を検索してもよい。
【００３６】
ステップｂ１２において、次ホップエントリが１つの次ホップを含む場合、ファブリックボードは、次ホップエントリに含まれる次ホップを目標次ホップとして特定してもよい。次ホップエントリが２つ以上の次ホップを含む場合、ファブリックボードは、２つ以上の次ホップから１つの次ホップを選択して目標次ホップとして特定してもよい。２つ以上の次ホップから１つの次ホップを選択する方式は、複数あり得る。例えば、次ホップは、ランダムに選択されてもよいし、あるアルゴリズム（例えば、ハッシュアルゴリズム）に従って選択されてもよい。
【００３７】
ステップｂ１３では、次ホップエントリにおいて、目標次ホップに対応する出力ポートが単一の物理ポートであるとき、ファブリックボードは、単一の物理ポートを目標出力ポートとして特定してもよい。目標次ホップに対応する出力ポートが、２つ以上の物理ポートをバインディングして形成されたポートグループであるとき、ファブリックボードは、ポートグループにおける１つの物理ポートを目標出力ポートとして特定してもよい。
【００３８】
物理ポートは、ポートグループから選択されてもよい。物理ポートをポートグループから選択する方式は、複数あり得る。例えば、物理ポートは、ランダムに選択されてもよいし、あるアルゴリズム（例えば、ハッシュアルゴリズム）に従って選択されてもよい。
【００３９】
ステップｂ２において、ファブリックボードは、変更されたマルチキャストデータパケットに第２内部カプセルを付加し、第２内部カプセルが付加されたマルチキャストデータパケットを対応する入出力ボードへ送信してもよい。第２内部カプセルは、マルチキャストグループメンバポートに対応するＶＸＬＡＮトンネルカプセルエントリのインデックスと、マルチキャストグループメンバポートに対応する仮想転送インスタンス（ＶＦＩ：Ｖｉｒｔｕａｌ Ｆｏｒｗａｒｄｉｎｇ Ｉｎｓｔａｎｃｅ）とを含んでもよい。
【００４０】
幾つかの実施例では、マルチキャストグループメンバポートに対応するＶＸＬＡＮトンネルカプセルエントリのインデックスは、マルチキャストグループメンバポートに対応するＶＸＬＡＮトンネルカプセルエントリに格納されてもよい。マルチキャストグループメンバポートに対応するＶＦＩは、マルチキャストグループメンバポートに対応するＶＦＩエントリに格納されてもよい。
【００４１】
幾つかの実施例では、ＶＸＬＡＮトンネルカプセルエントリおよびＶＦＩエントリは、ファブリックボードに予め設定されたものであってもよい。
【００４２】
ステップｂ１およびステップｂ２の説明によれば、対応する入出力ボードで受信されたマルチキャストデータパケットは、第２内部カプセルが付加されたマルチキャストデータパケットであることがわかる。
【００４３】
ステップ１０３において、ゲートウェイＶＸＬＡＮスイッチでの対応する入出力ボードは、ファブリックボードから送信されたマルチキャストデータパケットを受信し、受信されたマルチキャストデータパケットにＶＸＬＡＮカプセルを付加してＶＸＬＡＮへ転送する。
【００４４】
幾つかの実施例では、ステップ１０２においてファブリックボードがマルチキャストデータパケットを対応する入出力ボードへ送信する方式によれば、対応する入出力ボードで受信されたマルチキャストデータパケットは、第２内部カプセルが付加されたマルチキャストデータパケットである。ステップ１０３において、第２内部カプセルが付加されたマルチキャストデータパケットを受信した後、対応する入出力ボードは、第２内部カプセルのヘッダからＶＸＬＡＮトンネルカプセルエントリのインデックスおよびＶＦＩを特定し、第２内部カプセルが付加されたマルチキャストデータパケットから第２内部カプセルを除去し、ＶＸＬＡＮトンネルカプセルエントリのインデックスに対応する、ローカルに格納されたＶＸＬＡＮトンネルカプセルエントリを見つけ出し、予め設定されたＶＦＩとＶＮＩＤとの間のマッピング関係から、特定されたＶＦＩに対応するＶＮＩＤを検索し、ＶＸＬＡＮトンネルカプセルエントリおよび検索されたＶＮＩＤに基づいてマルチキャストデータパケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットを見つけ出されたＶＸＬＡＮトンネルカプセルエントリにおける出力ポートを介して送信してもよい。
【００４５】
幾つかの実施例では、ＶＸＬＡＮトンネルカプセルエントリおよび検索されたＶＮＩＤに基づいてマルチキャストデータパケットにＶＸＬＡＮカプセルを付加する際、対応する入出力ボードは、ＶＸＬＡＮトンネルカプセルエントリにおけるＶＸＬＡＮトンネルカプセル情報に応じてマルチキャストデータパケットにＶＸＬＡＮアウターヘッダを付加し、検索されたＶＮＩＤを利用してマルチキャストデータパケットにＶＸＬＡＮフィールド（例えば、ＶＮＩＤフィールド）を付加してもよい。幾つかの実施例では、ＶＸＬＡＮアウターヘッダは、少なくともアウターイーサネット（登録商標）（ＥＴＨ）カプセルを含む。アウターイーサネットカプセルは、少なくともアウターソースＭＡＣアドレス、アウター宛先ＭＡＣアドレス、アウターソースＩＰアドレス、アウター宛先ＩＰアドレスなどを含む。
【００４６】
幾つかの実施例では、ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットを見つけ出されたＶＸＬＡＮトンネルカプセルエントリにおける出力ポートを介して送信する際、下記の処理が含まれてもよい。対応する入出力ボードは、見つけ出されたＶＸＬＡＮトンネルカプセルエントリから出力ポートを認識してもよい。当該出力ポートが単一の物理ポートである場合、対応する入出力ボードは、当該単一の物理ポートを介して、ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットを直接に送信してもよい。当該出力ポートが少なくとも２つの物理ポートをバインディングして形成されたポートグループである場合、対応する入出力ボードは、ポートグループから１つの物理ポートを選択して、当該選択された物理ポートを介して、ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットを送信してもよい。
【００４７】
幾つかの実施例では、ポートグループから１つの物理ポートを選択する方式は、対応する入出力ボードによって選択された物理ポートと上記ファブリックボードによって目標出力ポートの特定の時に選択された物理ポートとが一致することを確保する必要がある。例えば、もしファブリックボードがハッシュアルゴリズムを利用して物理ポートを選択すれば、対応する入出力ボードは、同様にハッシュアルゴリズムを利用して物理ポートを選択してもよい。
【００４８】
幾つかの実施例では、対応する入出力ボードローカルに格納されたＶＸＬＡＮトンネルカプセルエントリは、対応する入出力ボードに予め設定されたものであってもよい。
【００４９】
図１に示す処理からわかるように、本発明の実施例によれば、ゲートウェイＶＸＬＡＮスイッチのファブリックボードは、転送機能およびエントリ機能を有するチップ、例えば、入出力ボードに用いられるスイッチチップを採用してもよい。ＶＬＡＮからマルチキャストデータパケットを受信した後、ゲートウェイＶＸＬＡＮスイッチの入出力ボードは、マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索してもよい。マルチキャストデータパケットに対応する１つ以上のマルチキャストグループメンバポートが第１仮想ポートであるとき、入出力ボードは、当該マルチキャストデータパケットをゲートウェイＶＸＬＡＮスイッチのファブリックボードへ送信してもよい。ゲートウェイＶＸＬＡＮスイッチのファブリックボードは、マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索してもよい。レイヤ３マルチキャストグループエントリにおける、マルチキャストデータパケットに対応するマルチキャストグループメンバポートがＶＸＬＡＮトンネルポートであるとき、ファブリックボードは、マルチキャストデータパケットのソースＭＡＣアドレスをゲートウェイＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスに変更し、変更されたマルチキャストデータパケットをゲートウェイＶＸＬＡＮスイッチでの、マルチキャストグループメンバポートに対応する入出力ボードへ送信してもよい。ゲートウェイＶＸＬＡＮスイッチでの対応する入出力ボードは、マルチキャストデータパケットにＶＸＬＡＮカプセルを付加し、当該ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットをＶＸＬＡＮへ転送してもよい。したがって、ＶＸＬＡＮのレイヤ３ゲートウェイ機能がゲートウェイＶＸＬＡＮスイッチを利用して実施され、マルチキャストデータパケットがＶＬＡＮからＶＸＬＡＮへ送信される。さらに、すべての処理がゲートウェイＶＸＬＡＮスイッチ内で実施されたため、帯域幅リソースの無駄遣いがなくなり、マルチキャストデータパケットのワイヤ・スピード（Ｗｉｒｅ Ｓｐｅｅｄ）転送が達成できる。
【００５０】
図５に示すネットワーキングを例として、図１に示す処理を説明する。図５において、物理マシン（ＰＭ：Ｐｈｙｓｉｃａｌ Ｍａｃｈｉｎｅ）１、ＰＭ２、ＰＭ３、ＰＭ４とＰＭ５がＶＬＡＮにおける機器であり、仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ Ｍａｃｈｉｎｅ）１、ＶＭ２、ＶＭ３、ＶＭ４とＶＭ５がＶＸＬＡＮにおけるマシンである。ゲートウェイＶＸＬＡＮスイッチは、ＶＬＡＮとＶＸＬＡＮの間に設けられ、入出力ボード、ファブリックボードおよびメインボード（図５で図示せず）を備える。ファブリックボードは、転送機能およびエントリ機能を有するチップ、例えば、入出力ボードに用いられるスイッチチップを採用する。図５に示すネットワーキングには、入出力ボード１、入出力ボード２、入出力ボード３が例として挙げられる。
【００５１】
この実施例において、ＰＭ１がマルチキャストデータパケットを送信することが例として挙げられる。
【００５２】
ゲートウェイＶＸＬＡＮスイッチの入出力ボード１は、ローカルポート、例えば、図５に示すポート１０を介して、ＰＭ０１から送信されたマルチキャストデータパケットを受信してもよい。ここで、受信されたマルチキャストデータパケットは、パケット０と呼称される。
【００５３】
入出力ボード１は、パケット０の宛先ＭＡＣアドレスがマルチキャストＭＡＣアドレスであり、且つパケット０の宛先ＩＰアドレスがマルチキャストＩＰアドレスであることを見出し、パケット０をマルチキャストデータパケットとして特定する。
【００５４】
入出力ボード１は、マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索してもよい。
【００５５】
入出力ボード１は、レイヤ３マルチキャストグループエントリが５つのマルチキャストグループメンバポートを含むことを見出せる。そのうちの３つのマルチキャストグループメンバポートが第１仮想ポートであり、残りの２つのマルチキャストグループメンバポートがＶＬＡＮポートである。
【００５６】
受信されたパケット０に加えて、ファブリックボード１は、パケット０の２つのコピーを生成してもよい。その３つの分のパケット０のうち、２つが２つのＶＬＡＮポートへそれぞれ送信され、１つが第１仮想ポートへ送信される。第１仮想ポートへ送信されたパケットは、パケット２と呼称される。
【００５７】
入出力ボード１は、パケット２に第１内部カプセルを付加してもよい。第１内部カプセルにおいて、第１宛先チップ識別子は、第１仮想チップの識別子、例えば、図５に示すＣｈｉｐ０１であり、第１宛先ポート識別子は、第１仮想ポートの識別子、例えば、図５に示すＰｏｒｔ１である。ここで、第１内部カプセルをパケット２に付加して得られたパケットは、パケット３と呼称される。
【００５８】
図５に示すように、入出力ボード１は、ポート１１とポート１２とポート１３とを含むポートグループを介して、ファブリックボードのそれぞれに接続される。入出力ボード１は、ポートグループから１つのポート、例えば、ポート１１を選択して、パケット２をポート１１を介してファブリックボード１へ送信してもよい。出力ボード１がポートを選択する方式は、予め設定されてもよい。例えば、ハッシュアルゴリズムが用いられてもよい。幾つかの実施例では、出力ボード１は、Ｐｏｒｔ１１の数のハッシュ演算を行い、ハッシュ演算の結果に対応する番号のインナーポートを選択してもよい。
【００５９】
ファブリックボード１は、パケット３を受信し、パケット３の第１内部カプセルのヘッダにおける第１宛先チップ識別子（Ｃｈｉｐ０１）および第１宛先ポート識別子（Ｐｏｒｔ１）がそれぞれ第１仮想チップの識別子および第１仮想ポートの識別子であると特定する。ファブリックボード１は、第１内部カプセルを除去して上記パケット２を取得してもよい。
【００６０】
ファブリックボード１は、パケット２の宛先ＭＡＣアドレスがマルチキャストＭＡＣアドレスであり、且つパケット２の宛先ＩＰアドレスがマルチキャストＩＰアドレスであると特定するため、自ファブリックボード１がパケット２に対してレイヤ３マルチキャスト転送を行う必要があると特定してもよい。
【００６１】
ファブリックボード１は、パケット２の宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索してもよい。
【００６２】
ファブリックボード１は、レイヤ３マルチキャストグループエントリに３つのマルチキャストグループメンバポートが含まれることを見出してもよい。例えば、その３つのマルチキャストグループメンバポートは、それぞれＰｏｒｔ１１、Ｐｏｒｔ１２、Ｐｏｒｔ１３（ファブリックボードにおけるものである）と記されるが、図５に図示されていない。
【００６３】
ファブリックボード１は、パケット２の２つのコピーを生成して、それぞれパケット２１、パケット２２と表してもよい。ファブリックボード１は、３つのマルチキャストグループメンバポートのそれぞれに対してパケット２とパケット２の２つのコピーとを割り当てる。例えば、パケット２１がＰｏｒｔ１１に割り当てられ、パケット２２がＰｏｒｔ１２に割り当てられ、パケット２がＰｏｒｔ１３に割り当てられる。
【００６４】
Ｐｏｒｔ１１を以下で例として説明するが、Ｐｏｒｔ１２、Ｐｏｒｔ１３も同じように処理されてもよい。
【００６５】
ファブリックボード１は、Ｐｏｒｔ１１がＶＸＬＡＮトンネルポートであると特定し、パケット２１のソースＭＡＣアドレスをゲートウェイＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスに変更してもよい。ここで、変更されたパケット２１は、パケット４と呼称される。
【００６６】
ファブリックボード１は、ＶＸＬＡＮトンネルポートに関連付けられたＶＸＬＡＮトンネルに対応する、ローカルに格納された次ホップエントリを見つけ出してもよい。見つけ出された次ホップエントリが１つの次ホップを含み、且つ当該次ホップに対応する出力ポートが少なくとも２つの物理ポートをバインディングして形成されたポートグループであることを特定した後、ファブリックボード１は、ポートグループにおける１つの物理ポートを目標出力ポートとして選択してもよい。選択された物理ポートを備える入出力ボードは、マルチキャストグループメンバポートＰｏｒｔ１１に関連づけられた入出力ボードである。ここで、当該目標出力ポートを備える入出力ボードは、入出力ボード２である。
【００６７】
ファブリックボード１は、ローカルに格納されたＶＸＬＡＮトンネルカプセルエントリから、マルチキャストグループメンバポートＰｏｒｔ１１に対応するＶＸＬＡＮトンネルカプセルエントリを見つけ出し、ローカルに格納されたＶＦＩエントリから、マルチキャストグループメンバポートＰｏｒｔ１１に対応するＶＦＩエントリを見つけ出してもよい。
【００６８】
ファブリックボード１は、パケット４に第２内部カプセルを付加してもよい。第２内部カプセルをパケット４に付加して得られたパケットは、パケット５と呼称される。第２内部カプセルは、ファブリックボード１によって見つけ出されたＶＸＬＡＮトンネルカプセルエントリのインデックスと、ファブリックボード１によって見つけ出されたＶＦＩエントリにおけるＶＦＩとを含んでもよい。
【００６９】
ファブリックボード１は、自ファブリックボード１を入出力ボード２に接続するためのインナーポートを介して、パケット５を入出力ボード２へ送信してもよい。
【００７０】
入出力ボード２は、ファブリックボード１から送信されたパケット５を受信し、第２内部カプセルのヘッダからＶＸＬＡＮトンネルカプセルエントリおよびＶＦＩを特定し、パケット５から第２内部カプセルを除去してもよい。こうして、上記パケット４が取得される。
【００７１】
入出力ボード２は、ＶＸＬＡＮトンネルカプセルエントリのインデックスに対応する、ローカルに格納されたＶＸＬＡＮトンネルカプセルエントリを見つけ出し、予め設定されたＶＦＩとＶＮＩＤとの間のマッピング関係から、特定されたＶＦＩ（例えば、図５に示すＶＮＩＤ２００）に対応するＶＮＩＤを検索し、ＶＸＬＡＮトンネルカプセルエントリおよび検索されたＶＮＩＤに基づいてパケット４にＶＸＬＡＮカプセルを付加してもよい。ＶＸＬＡＮカプセルをパケット４に付加して得られたパケットは、パケット６と呼称される。
【００７２】
幾つかの実施例では、入出力ボード２は、下記の処理により、パケット４にＶＸＬＡＮカプセルを付加してもよい。入出力ボード２は、ＶＸＬＡＮトンネルカプセルエントリにおけるＶＸＬＡＮトンネルカプセル情報に応じてパケット４にＶＸＬＡＮアウターヘッダを付加し、検索されたＶＮＩＤ（例えば、図３に示すＶＮＩＤ２００）を利用してパケット３にＶＸＬＡＮフィールド（例えば、ＶＮＩＤフィールド）を付加してもよい。図５に示すように、パケット６のＶＸＬＡＮカプセルにおいて、ＶＸＬＡＮアウターヘッダは、アウターＥＴＨカプセルを含む。当該アウターＥＴＨカプセルは、アウターソースＭＡＣアドレス、アウター宛先ＭＡＣアドレス、アウターソースＩＰアドレスおよびアウター宛先ＩＰアドレスを含む。
【００７３】
入出力ボード２は、見つけ出されたＶＸＬＡＮトンネルカプセルエントリにおける出力ポートを介してパケット６を送信してもよい。幾つかの実施例では、入出力ボード２は、見つけ出されたＶＸＬＡＮトンネルカプセルエントリから出力ポートを認識してもよい。認識された出力ポートは、ファブリックボードによって見つけ出された次ホップの出力ポートである。上述した通り、出力ポートは、少なくとも２つの物理ポートをバインディングして形成されたポートグループである。よって、認識された出力ポートは、ポートグループとなる。入出力ボード２は、ファブリックボードが目標出力ポートを選択する方式に応じて、ポートグループから１つの物理ポートを選択してもよい。こうして、送信パケット５が送信されたポートとファブリックボードによって選択された目標出力ポートとが一致することは、確保される。
【００７４】
この実施例において、Ｐｏｒｔ１１に関連付けられたマルチキャストグループメンバがＶＭ１１である場合、ＶＸＬＡＮのＶＭ１１は、ＰＭ１から送信されたマルチキャストデータパケットを受信する。同様に、Ｐｏｒｔ１２に関連付けられたマルチキャストグループメンバがＶＭ１２である場合、ＶＸＬＡＮのＶＭ１２は、ＰＭ１から送信されたマルチキャストデータパケットを受信する。さらに、Ｐｏｒｔ１３に関連付けられたマルチキャストグループメンバがＶＭ１３である場合、ＶＸＬＡＮのＶＭ１３は、ＰＭ１から送信されたマルチキャストデータパケットを受信する。こうして、ゲートウェイＶＸＬＡＮスイッチの利用により、マルチキャストデータパケットは、ＶＬＡＮからＶＸＬＡＮへ転送される。
【００７５】
図６は、本発明の様々な実施例に係るＶＸＬＡＮスイッチを示す構成図である。図６に示すように、ＶＸＬＡＮスイッチは、少なくとも入出力ボード６１およびファブリックボード６２を含む。ファブリックボード６２は、転送機能およびエントリ機能を有するチップが用いられる。図６に示すように、ＶＸＬＡＮスイッチは、入出力ボード６１に設けられる入出力ボード処理手段６０１と、ファブリックボード６２に設けられるファブリックボード処理手段６０２とを備えてもよい。
【００７６】
入出力ボード処理手段６０１は、ＶＬＡＮからマルチキャストデータパケットを受信し、マルチキャストデータパケットに対応する1つ以上のマルチキャストグループメンバポートが第１仮想ポートであるとき、マルチキャストデータパケットをＶＸＬＡＮスイッチのファブリックボード６２へ送信する。入出力ボード処理手段６０１は、さらに、ファブリックボード６２から送信されたマルチキャストデータパケットを受信し、当該マルチキャストデータパケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットをＶＸＬＡＮへ転送する。
【００７７】
ファブリックボード処理手段６０２は、入出力ボード６１から送信されたマルチキャストデータパケットを受信し、マルチキャストデータパケットがファブリックボード６２によってレイヤ３マルチキャスト転送されるべきと特定する。マルチキャストデータパケットに対応するマルチキャストグループメンバポートがＶＸＬＡＮトンネルポートであるとき、ファブリックボード処理手段６０２は、マルチキャストデータパケットのソースＭＡＣアドレスをＶＸＬＡＮスイッチのゲートウェイＭＡＣアドレスとして変更し、変更されたマルチキャストデータパケットをＶＸＬＡＮスイッチでの、マルチキャストグループメンバポートに対応する入出力ボードへ送信する。
【００７８】
幾つかの実施例では、マルチキャストデータパケットに対応するマルチキャストグループメンバポートは、当該マルチキャストデータパケットにマッチングされたレイヤ３マルチキャストグループエントリに含まれる。入出力ボード処理手段６０１は、さらに、マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索する。ファブリックボード処理手段６０２は、さらに、マルチキャストデータパケットの宛先ＩＰアドレスと宛先ＭＡＣアドレスとにマッチングされたレイヤ３マルチキャストグループエントリをローカルのレイヤ３マルチキャストグループテーブルから検索する。
【００７９】
幾つかの実施例では、入出力ボード処理手段６０１は、下記の手順により、マルチキャストデータパケットをＶＸＬＡＮスイッチのファブリックボード６２へ送信してもよい。
【００８０】
入出力ボード処理手段６０１は、マルチキャストデータパケットに第１内部カプセルを付加する。第１内部カプセルは、第１宛先チップ識別子および第１宛先ポート識別子を含む。第１宛先チップ識別子は、第１仮想チップの識別子であってもよく、第１宛先ポート識別子は、第１仮想ポートの識別子であってもよい。
【００８１】
入出力ボード６１が１つのファブリックボード６２に接続されたとき、入出力ボード処理手段６０１は、入出力ボード６１をファブリックボード６２に接続するためのインナーポートを介して、第１内部カプセルが付加されたマルチキャストデータパケットを送信する。入出力ボード６１が複数のファブリックボード６２に接続されたとき、入出力ボード処理手段６０１は、入出力ボード６１を複数のファブリックボード６２のそれぞれに接続するための複数のインナーポートのうちの１つを介して、第１内部カプセルが付加されたマルチキャストデータパケットを送信する。
【００８２】
幾つかの実施例では、ファブリックボード処理手段６０２は、下記の手順により、マルチキャストデータパケットがファブリックボード６２によってレイヤ３マルチキャスト転送されるべきと特定してもよい。
【００８３】
ファブリックボード処理手段６０２は、第１内部カプセルのヘッダから第１宛先チップ識別子および第１宛先ポート識別子を特定する。特定された第１宛先チップ識別子が第１仮想チップの識別子であり、第１宛先ポート識別子が第１仮想ポートの識別子である場合、ファブリックボード処理手段６０２は、第１内部カプセルが付加されたマルチキャストデータパケットから第１内部カプセルを除去する。マルチキャストデータパケットの宛先ＭＡＣアドレスがマルチキャストＭＡＣアドレスであり、マルチキャストデータパケットの宛先ＩＰアドレスがマルチキャストＩＰアドレスである場合、ファブリックボード処理手段６０２は、マルチキャストデータパケットがファブリックボード６２によってレイヤ３マルチキャスト転送されるべきと特定する。
【００８４】
幾つかの実施例では、ファブリックボード処理手段６０２は、下記の手順により、変更されたマルチキャストデータパケットをＶＸＬＡＮスイッチでの、マルチキャストグループメンバポートに対応する入出力ボードへ送信してもよい。
【００８５】
ファブリックボード処理手段６０２は、マルチキャストグループメンバポートに基づいて目標出力ポートを特定し、目標出力ポートを備える入出力ボードを対応する入出力ボードとして選択し、変更されたマルチキャストデータパケットに第２内部カプセルを付加し、第２内部カプセルが付加されたマルチキャストデータパケットを取得して目標出力ポートを備える入出力ボードへ送信する。第２内部カプセルは、マルチキャストグループメンバポートに対応するＶＸＬＡＮトンネルカプセルエントリのインデックスとマルチキャストグループメンバポートに対応するＶＦＩとを含んでもよい。
【００８６】
幾つかの実施例では、入出力ボード処理手段６０１は、下記の手順により、マルチキャストデータパケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットをＶＸＬＡＮへ転送してもよい。
【００８７】
入出力ボード処理手段６０１は、第２内部カプセルのヘッダからＶＸＬＡＮトンネルカプセルエントリのインデックスおよびＶＦＩを特定し、第２内部カプセルが付加されたマルチキャストデータパケットから第２内部カプセルを除去し、ＶＸＬＡＮトンネルカプセルエントリのインデックスに対応する、ローカルに格納されたＶＸＬＡＮトンネルカプセルエントリを見つけ出し、予め設定されたＶＦＩとＶＮＩＤとの間のマッピング関係から、特定されたＶＦＩに対応するＶＮＩＤを検索し、ＶＸＬＡＮトンネルカプセルエントリおよび検索されたＶＮＩＤに基づいてマルチキャストデータパケットにＶＸＬＡＮカプセルを付加し、ＶＸＬＡＮカプセルが付加されたマルチキャストデータパケットを見つけ出されたＶＸＬＡＮトンネルカプセルエントリにおける出力ポートを介して送信する。
【００８８】
幾つかの実施例では、ファブリックボード処理手段６０２は、下記の手順により、マルチキャストグループメンバポートに基づいて目標出力ポートを特定してもよい。
【００８９】
ファブリックボード処理手段６０２は、マルチキャストグループメンバポートに関連付けられたＶＸＬＡＮトンネルに対応する、ローカルに格納された次ホップエントリを見つけ出す。
【００９０】
次ホップエントリが１つの次ホップを含む場合、ファブリックボード処理手段６０２は、次ホップエントリに含まれる次ホップを目標次ホップとして特定する。次ホップエントリが２つ以上の次ホップを含む場合、ファブリックボード処理手段６０２は、２つ以上の次ホップから１つの次ホップを選択して目標次ホップとして特定する。次ホップエントリにおいて、目標次ホップに対応する出力ポートが単一の物理ポートであるとき、ファブリックボード処理手段６０２は、単一の物理ポートを目標出力ポートとして特定する。目標次ホップに対応する出力ポートが、２つ以上の物理ポートをバインディングして形成されたポートグループであるとき、ファブリックボード処理手段６０２は、ポートグループにおける１つの物理ポートを目標出力ポートとして特定する。
【００９１】
図７は、本発明の様々な実施例に係るＶＸＬＡＮスイッチのハードウェア構成図である。図７に示すように、当該機器ハードウェア構成は、入出力ボード７１およびファブリックボード７２を含む。
【００９２】
入出力ボード７１は、第１ＣＰＵ７１１および第１メモリ７１２を備える。
第１メモリ７１２は、入出力ボード処理手段６０１を格納する。
【００９３】
第１ＣＰＵ７１１は、第１メモリ７１２に格納された入出力ボード処理手段６０１が入出力ボード処理手段６０１の上記操作を実行するように制御するように、入出力ボード処理手段６０１で動作している制御プログラムを格納する。そして、上記操作について、ここで説明しない。
【００９４】
ファブリックボード７２は、第２ＣＰＵ７２１および第２メモリ７２２を備える。
第２メモリ７２２は、ファブリックボード処理手段６０２を格納する。
【００９５】
第２ＣＰＵ７２１は、第２メモリ７２２に格納されたファブリックボード処理手段６０２がファブリックボード処理手段６０２の上記操作を実行するように制御するように、ファブリックボード処理手段６０２で動作している制御プログラムを格納する。そして、上記操作について、ここで説明しない。
【００９６】
本発明の全体を通して具体的に説明したが、本発明の代表的な例は、幅広い範囲の応用に適用される。そして、上記説明は、本発明を制限するためのものではなく、本発明の各側面を理解しやすくするために与えられる。
【００９７】
本発明の用語、記述および図面は、本発明を制限するためのものではない。本発明の要旨と原則内でなされたあらゆる補正、均等物による置換、改良等は、何れも本発明の保護範囲内に含まれる。
【図１】
0006488426.tif 000002
【図２】
0006488426.tif 000003
【図３】
0006488426.tif 000004
【図４】
0006488426.tif 000005
【図５】
0006488426.tif 000006
【図６】
0006488426.tif 000007
【図７】
0006488426.tif 000008