(57)【要約】一部の実施形態は、パケットが受信されたポートおよび／またはパケットの中の１つ以上のフィールドに基づいて、パケットの内部仮想ネットワーク識別子および／または内部ポリシー識別子を判定することができる。次いで、システムは、内部仮想ネットワーク識別子および／または内部ポリシー識別子に基づいて、パケットを処理および／または転送することができる。一部の実施形態は、遠隔ポートミラーリングを行うことができる。一部の実施形態は、パケットをカプセル化するＴｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ（ＴＲＩＬＬ）パケットで使用するために、パケットの中の第１組のＱｏＳビットを第２組のＱｏＳにマップすることができる。一部の実施形態は、ＴＲＩＬＬネットワークでネットワーク層マルチキャスティングを行うために、複数のマルチキャストツリーを効率的にサポートすることができる。
2013528340.tif 000002
【特許請求の範囲】
【請求項１】
スイッチであって、
該スイッチは、
判定機構であって、該判定機構は、マルチキャストパケットと関連付けられるソースアドレス、マルチキャストアドレス、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定するように構成される、判定機構と、
転送機構であって、該転送機構は、該内部マルチキャストグループ識別子に基づいて該マルチキャストパケットを転送するように構成される、転送機構と
を含む、スイッチ。
【請求項２】
前記判定機構は、
前記マルチキャストパケットの前記ソースアドレスおよび前記マルチキャストアドレスに基づいて、第１組のビットを判定することと、
該マルチキャストパケットの前記マルチキャストツリー識別子フィールドに基づいて、第２組のビットを判定することと、
該第１組のビットと該第２組のビットとを組み合わせることと
を行うように構成される、請求項１に記載のスイッチ。
【請求項３】
前記判定機構は、前記第１組のビットと前記第２組のビットとを連結させることによって、該第１組のビットと該第２組のビットとを組み合わせるように構成される、請求項２に記載のスイッチ。
【請求項４】
前記転送機構は、
前記内部マルチキャストグループ識別子に基づいて、１組の出口ポートを判定することと、
該１組の出口ポートの中の各ポートを介して、前記マルチキャストパケットの少なくとも１つのコピーを送信することと
を行うように構成される、請求項１に記載のスイッチ。
【請求項５】
前記マルチキャストパケットは、マルチキャストＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）パケットである、請求項１に記載のスイッチ。
【請求項６】
前記マルチキャストツリー識別子フィールドは、ルーティングブリッジ（ＲＢｒｉｄｇｅ）ニックネームである、請求項１に記載のスイッチ。
【請求項７】
前記ソースアドレスおよび前記マルチキャストアドレスは、イーサネット媒体アクセス制御（ＭＡＣ）アドレスである、請求項１に記載のスイッチ。
【請求項８】
前記ソースアドレスおよび前記マルチキャストアドレスは、インターネットプロトコル（ＩＰ）アドレスである、請求項１に記載のスイッチ。
【請求項９】
システムであって、
該システムは、
プロセッサと、
命令を記憶するメモリであって、該命令は、該プロセッサによって実行されるときに該システムに方法を行わせ、該方法は、
マルチキャストパケットと関連付けられるソースアドレス、マルチキャストアドレス、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定することと、
該内部マルチキャストグループ識別子に基づいて、該マルチキャストパケットを転送することと
を含む、メモリと
を含む、システム。
【請求項１０】
前記内部マルチキャストグループ識別子を判定することは、
前記マルチキャストパケットの前記ソースアドレスおよび前記マルチキャストアドレスに基づいて、第１組のビットを判定することと、
該マルチキャストパケットの前記マルチキャストツリー識別子フィールドに基づいて、第２組のビットを判定することと、
該第１組のビットと該第２組のビットとを組み合わせることと
を含む、請求項９に記載のシステム。
【請求項１１】
前記第１組のビットと前記第２組のビットとを組み合わせることは、該第１組のビットと該第２組のビットとを連結させることを含む、請求項１０に記載のシステム。
【請求項１２】
前記内部マルチキャストグループ識別子に基づいて、前記マルチキャストパケットを転送することは、
該内部マルチキャストグループ識別子に基づいて、１組の出口ポートを判定することと、
該１組の出口ポートの中の各ポートを介して、該マルチキャストパケットの少なくとも１つのコピーを送信することと
を含む、請求項９に記載のシステム。
【請求項１３】
方法であって、
該方法は、
マルチキャストパケットと関連付けられるソースアドレス、マルチキャストアドレス、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定することと、
該内部マルチキャストグループ識別子に基づいて、該マルチキャストパケットを転送することと
を含む、方法。
【請求項１４】
前記内部マルチキャストグループ識別子を判定することは、
前記マルチキャストパケットの前記ソースアドレスおよび前記マルチキャストアドレスに基づいて、第１組のビットを判定することと、
該マルチキャストパケットの前記マルチキャストツリー識別子フィールドに基づいて、第２組のビットを判定することと、
該第１組のビットと該第２組のビットを組み合わせることと
を含む、請求項１３に記載の方法。
【請求項１５】
前記第１組のビットと前記第２組のビットとを組み合わせることは、該第１組のビットと該第２組のビットとを連結させることを含む、請求項１４に記載の方法。
【請求項１６】
前記内部マルチキャストグループ識別子に基づいて、前記マルチキャストパケットを転送することは、
該内部マルチキャストグループ識別子に基づいて、１組の出口ポートを判定することと、
該１組の出口ポートの中の各ポートを介して、該マルチキャストパケットの少なくとも１つのコピーを送信することと
を含む、請求項１３に記載の方法。
【請求項１７】
スイッチであって、
該スイッチは、
判定機構であって、該判定機構は、パケットの１つ以上のフィールドに基づいて、該パケットのための内部仮想ネットワーク識別子を判定するように構成される、判定機構と、
転送機構であって、該転送機構は、該内部仮想ネットワーク識別子に基づいて、該パケットを転送するように構成される、転送機構と
を含む、スイッチ。
【請求項１８】
前記パケットの中の前記１つ以上のフィールドは、顧客ＶＬＡＮ（仮想ローカルエリアネットワーク）識別子を含む、請求項１７に記載のスイッチ。
【請求項１９】
前記パケットの中の前記１つ以上のフィールドは、サービスプロバイダＶＬＡＮ（仮想ローカルエリアネットワーク）識別子を含む、請求項１７に記載のスイッチ。
【請求項２０】
前記パケットの中の前記１つ以上のフィールドは、ソースＭＡＣ（媒体アクセス制御）アドレスを含む、請求項１７に記載のスイッチ。
【請求項２１】
前記パケットの中の前記１つ以上のフィールドは、ＶＰＮ（仮想プライベートネットワーク）識別子を含む、請求項１７に記載のスイッチ。
【請求項２２】
前記判定機構は、パケットの中の１つ以上のフィールド、および該パケットが受信されるポートと関連付けられるポート識別子に基づいて、前記内部仮想ネットワーク識別子を判定するように構成される、請求項１７に記載のスイッチ。
【請求項２３】
カプセル化機構を含み、該カプセル化機構は、ＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）ヘッダを前記パケットに追加するように構成される、請求項１７に記載のスイッチ。
【請求項２４】
前記ＴＲＩＬＬヘッダは、ＶＰＮ（仮想プライベートネットワーク）識別子を含む、請求項２３に記載のスイッチ。
【請求項２５】
スイッチであって、
該スイッチは、
判定機構であって、該判定機構は、パケットの１つ以上のフィールドに基づいて、該パケットのための内部ポリシー識別子を判定するように構成される、判定機構と、
ポリシー適用機構であって、該ポリシー適用機構は、該内部ポリシー識別子に基づいて該パケットを処理するように構成される、ポリシー適用機構と
を含む、スイッチ。
【請求項２６】
スイッチであって、
該スイッチは、
カプセル化機構であって、該カプセル化機構は、第２のパケットの中に第１のパケットのコピーをカプセル化するように構成される、カプセル化機構と、
転送機構であって、該転送機構は、
該第１のパケットのヘッダ情報を使用して、該第１のパケットを転送することと、
該第２のパケットのヘッダ情報を使用して、該第２のパケットを転送することと
を行うように構成される、転送機構と
を含む、スイッチ。
【請求項２７】
前記第１のパケットは、ユニキャストパケットである、請求項２６に記載のスイッチ。
【請求項２８】
前記第２のパケットは、マルチキャストパケットである、請求項２７に記載のスイッチ。
【請求項２９】
前記第１のパケットおよび前記第２のパケットは、Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ（ＴＲＩＬＬ）パケットである、請求項２６に記載のスイッチ。
【請求項３０】
前記第２のパケットの中に前記第１のパケットの前記コピーをカプセル化する一方で、前記カプセル化機構は、該第１のパケットのヘッダ情報を留保するように構成される、請求項２６に記載のスイッチ。
【請求項３１】
スイッチであって、
該スイッチは、
受信機構であって、該受信機構は、第１の仮想ネットワークと関連付けられる第１のマルチキャストツリー上でマルチキャストパケットを受信するように構成される、受信機構と、
転送機構であって、該転送機構は、
該第１の仮想ネットワークと関連付けられる該第１のマルチキャストツリー上で該マルチキャストパケットを転送することと、
第２の仮想ネットワークと関連付けられる第２のマルチキャストツリー上で該マルチキャストパケットのコピーを転送することと
を行うように構成される、転送機構と
を含む、スイッチ。
【請求項３２】
前記第１の仮想ネットワークおよび前記第２の仮想ネットワークは、ＶＬＡＮ（仮想ローカルエリアネットワーク）である、請求項３１に記載のスイッチ。
【請求項３３】
前記マルチキャストパケットは、ネットワーク層マルチキャストアドレスを含む、請求項３１に記載のスイッチ。
【請求項３４】
前記マルチキャストパケットは、ＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）マルチキャストパケットであり、前記第１のマルチキャストツリーおよび前記第２のマルチキャストツリーは、ＴＲＩＬＬマルチキャストツリーである、請求項３１に記載のスイッチ。
【請求項３５】
判定機構をさらに含み、該判定機構は、前記マルチキャストパケットのネットワーク層マルチキャストアドレスおよびネットワーク層ソースアドレスに基づいて、内部マルチキャストグループ識別子を判定するように構成され、前記転送機構は、該内部マルチキャストグループ識別子に基づいて、該マルチキャストパケットを転送するように構成される、請求項３１に記載のスイッチ。
【請求項３６】
スイッチであって、
該スイッチは、
ＱｏＳマッピング機構であって、該ＱｏＳマッピング機構は、第１のパケットをカプセル化するＴｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ（ＴＲＩＬＬ）パケットにおいて使用するために、該第１のパケットの中の第１組のサービスの質（ＱｏＳ）ビットを第２組のＱｏＳビットにマップするように構成され、該第１組のＱｏＳビットは、該第２組のＱｏＳビットとは異なる、ＱｏＳマッピング機構と、
該ＴＲＩＬＬパケットを生成することであって、該ＴＲＩＬＬパケットは、該第２組のＱｏＳビットを含む、ことと
を含む、スイッチ。
【請求項３７】
前記ＴＲＩＬＬパケットは、外部ＶＬＡＮ（仮想ローカルエリアネットワーク）タグを含み、前記第２組のＱｏＳビットは、該外部ＶＬＡＮタグの中に優先ビットを含む、請求項３６に記載のスイッチ。
【請求項３８】
前記第１のパケットは、インターネットプロトコル（ＩＰ）パケットをカプセル化し、前記第１組のＱｏＳビットは、該ＩＰパケットのヘッダの中にＩＰ差別化サービスコードポイント（ＤＳＣＰ）ビットを含む、請求項３７に記載のスイッチ。
【請求項３９】
前記第１のパケットは、内部ＶＬＡＮタグを含み、前記第１組のＱｏＳビットは、該内部ＶＬＡＮタグの中に優先ビットを含む、請求項３７に記載のスイッチ。
【請求項４０】
前記第２組のＱｏＳビットは、前記外部ＶＬＡＮタグの中にカノニカル形式指標（ＣＦＩ）ビットを含み、該カノニカル形式指標ビットは、ドロップ資格情報を符号化する、請求項３７に記載のスイッチ。
【請求項４１】
スイッチであって、
該スイッチは、
判定機構であって、該判定機構は、パケットと関連付けられる内部仮想ネットワーク識別子に基づいて、１組の出口ポートを判定するように構成される、判定機構と、
フラッディング機構であって、該フラッディング機構は、該１組の出口ポートの中の各出口ポートについて、該出口ポート上で該パケットを大量に送るように構成される、フラッディング機構と
を含む、スイッチ。
【請求項４２】
前記判定機構は、前記パケットの中の１つ以上のフィールド、および選択的に該パケットが受信されたポートに基づいて、前記内部仮想ネットワーク識別子を判定するようにさらに構成される、請求項４１に記載のスイッチ。
【請求項４３】
転送参照機構をさらに含み、該転送参照機構は、前記内部仮想ネットワーク識別子に基づいて、転送参照動作を行うように構成される、請求項４１に記載のスイッチ。
【請求項４４】
前記パケットは、ＴＲＩＬＬパケットであり、前記仮想ネットワーク識別子は、ＴＲＩＬＬオプションフィールドの中に記憶された仮想プライベートネットワーク（ＶＰＮ）識別子である、請求項４１に記載のスイッチ。
【請求項４５】
異なる仮想ネットワークからのパケットは、前記内部仮想ネットワーク識別子にマップされる、請求項４１に記載のスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本開示は、ネットワーク設計に関する。より具体的には、本開示は、パケットを処理および／または転送するための方法および装置に関する。
【背景技術】
【０００２】
コンピュータネットワークは、企業の情報技術インフラストラクチャの重要な要素になっている。帯域幅の飽くことのない需要、およびコンピュータネットワークの増大し続けるサイズおよび複雑性は、帯域幅を増加させ、コンピュータネットワークの管理可能性を向上させる必要性を生じさせている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
コンピュータネットワークの管理可能性は、ネットワーク仮想化を使用することによって向上させることができる。ネットワーク仮想化において、管理可能性を促進するために、大型の複雑なネットワークを複数の仮想ネットワークに分割することができる。残念ながら、このアプローチを使用して管理可能性を向上させることは、各スイッチにおいて要求される処理およびリソースの量を増加させ得る。
【課題を解決するための手段】
【０００４】
本明細書で説明されるいくつかの実施形態は、パケットを処理および転送するためのシステムおよび技法を提供する。具体的には、いくつかの実施形態は、パケットが受信されたポートおよび／またはパケットの中の１つ以上のフィールド（例えば、パケットのヘッダの中の１つ以上のフィールド）に基づいて、パケットの内部仮想ネットワーク識別子を判定するシステム（例えば、スイッチ）を提供する。本開示では、特に指定のないかぎり、「〜に基づく」という語句は、「完全に、または部分的に〜に基づく」を意味する。次いで、システムは、内部仮想ネットワーク識別子に基づいて、パケットを転送する。いくつかの実施形態では、システムは、ＴＲＩＬＬヘッダをパケットに追加することによって、ＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）パケットの中にパケットをカプセル化し、次いで、内部仮想ネットワーク識別子に基づいてＴＲＩＬＬパケットを転送する。
【０００５】
いくつかの実施形態では、内部仮想ネットワーク識別子の範囲は、スイッチまたはスイッチ内の転送モジュールを越えて延在しなくてもよい。パケットがネットワーク内の異なるスイッチを通って横断するにつれて、各スイッチは、異なる内部仮想ネットワーク識別子を判定してもよい。
【０００６】
パケットの中の１つ以上のフィールドは、顧客ＶＬＡＮ（仮想ローカルエリアネットワーク）識別子、サービスプロバイダＶＬＡＮ識別子、ソースＭＡＣ（媒体アクセス制御）アドレス、およびＶＰＮ（仮想プライベートネットワーク）識別子を含むことができる。
【０００７】
本明細書で説明されるいくつかの実施形態は、少なくとも１つのソーススイッチ、１つ以上の中間スイッチ、および少なくとも１つの宛先スイッチを含むネットワークを提供する。ソーススイッチは、パケットの中の１つ以上のフィールドに基づいて、パケットの第１の内部仮想ネットワーク識別子を判定し得る。次に、ソーススイッチは、ＴＲＩＬＬヘッダをパケットに追加することによって、ＴＲＩＬＬパケットの中にパケットをカプセル化し、第１の内部仮想ネットワーク識別子に基づいてＴＲＩＬＬパケットを転送し得る。パケットは、宛先スイッチに到達する前に１つ以上の中間スイッチを通過し得る。各中間スイッチは、ＴＲＩＬＬヘッダに基づいてＴＲＩＬＬパケットを転送し得る。ＴＲＩＬＬパケットが宛先スイッチに到達したときに、宛先スイッチは、パケットの中の１つ以上のフィールドに基づいて、ＴＲＩＬＬパケットの中にカプセル化されたパケットの第２の内部仮想ネットワーク識別子を判定し得る。次いで、宛先スイッチは、第２の内部仮想ネットワーク識別子に基づいてパケットを転送し得る。
【０００８】
いくつかの実施形態では、システムは、パケットが受信されたポートおよび／またはパケットの中の１つ以上のフィールドに基づいて、パケットの内部ポリシー識別子を判定することができる。次いで、システムは、内部ポリシー識別子と関連付けられるポリシーに従って、パケットを処理することができる。異なる仮想ネットワークからのパケットは、これらの仮想ネットワークからのパケットが同じポリシーに従って処理されるように所望される場合に、同じ内部ポリシー識別子にマップすることができる。ポリシーは、概して、どのようにしてパケットがシステム内で処理されるかを特定する恣意的な１組の規則を含むことができる。システムが所与のポリシーに従ってパケットを処理するときに、システムは、パケットをドロップすること、特定のリンクまたはパス上でパケットを送ること、および／またはパケットの中の情報を修正することを含むことができるが、それらに限定されない１つ以上の措置を行うことができる。パケットに行われる特定ポリシーベースの措置は、パケットに記憶された情報に依存することができ、パケットに対して行われた転送判定を無効にすることができる。
【０００９】
いくつかの実施形態では、システムは、（１）ＭＡＣソースアドレスおよび顧客ＶＬＡＮ識別子、（２）顧客ＶＬＡＮ識別子、（３）顧客ＶＬＡＮ識別子およびサービスプロバイダＶＬＡＮ識別子、（４）サービスプロバイダＶＬＡＮ識別子、（５）顧客ＶＬＡＮ識別子およびＶＰＮ識別子、および（６）ＶＰＮ識別子といったフィールドの組み合わせのうちの１つに基づいて、パケットの内部仮想ネットワーク識別子および／または内部ポリシー識別子を判定することができる。いくつかの実施形態では、システムは、ＴＲＩＬＬパケットをデフォルト内部仮想ネットワーク識別子またはデフォルト内部ポリシー識別子にマップすることができる。
【００１０】
本明細書で説明されるいくつかの実施形態は、遠隔ポートミーラリングを行うことができる。１つの定義によれば、遠隔ポートミーラリングは、あるパケットがコピーされ、ネットワークを横断してネットワーク分析器に送信される技法である。次いで、ネットワーク分析器は、パケットのコピーを分析して、ネットワークの問題を識別し、解決することに役立つために使用することができる。
【００１１】
いくつかの実施形態では、遠隔ポートミーラリングが可能なスイッチは、カプセル化機構と、転送機構とを含む。カプセル化機構は、第２のパケットの中に第１のパケットのコピーをカプセル化するように構成することができる。第２のパケットの中に第１のパケットのコピーをカプセル化することは、第１のパケットのヘッダ情報を留保する。具体的には、いくつかの実施形態では、第１のパケットのヘッダの中のＶＬＡＮ（仮想ローカルエリアネットワーク）識別子が留保される。いくつかの実施形態では、パケットのＴＲＩＬＬヘッダが留保される。転送機構は、第１のパケットのヘッダ情報を使用して、第１のパケットを転送し、第２のパケットのヘッダ情報を使用して、第２のパケットを転送するように構成することができる。
【００１２】
いくつかの実施形態では、第１のパケットは、イーサネット（登録商標）パケット（１つ以上のＶＬＡＮタグを有するか、または有しない）であり、第２のパケットは、ＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）パケットである。いくつかの実施形態では、第１のパケットおよび第２のパケットの両方は、ＴＲＩＬＬパケットである。パケットは、ユニキャスト、マルチキャスト、またはブロードキャストパケットとなり得ることに留意されたい。具体的には、いくつかの実施形態では、第１のパケットは、ユニキャストパケットまたはマルチキャストパケットのいずれか一方であり、第２のパケットは、ネットワーク分析器に送信されるユニキャストパケット、またはネットワーク分析器を含むマルチキャストグループと関連付けられるマルチキャストアドレスに送信される、マルチキャストパケットのいずれか一方である。
【００１３】
本明細書で説明されるいくつかの実施形態は、ソーススイッチと、少なくとも２つの宛先スイッチとを含むネットワークを提供する。ソーススイッチは、第２のパケットの中に第１のパケットのコピーをカプセル化し、第１のパケットを第１の宛先スイッチに送信し、第２のパケットを第２の宛先スイッチに送信するように構成されてもよい。第２の宛先スイッチは、第２のパケットを受信し、第２のパケットから第１のパケットのコピーを抽出し、ネットワーク分析器に連結されるポート上で第１のパケットのコピーを送信するように構成されてもよい。
【００１４】
本明細書で説明されるいくつかの実施形態は、第１のパケットをカプセル化するＴｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ（ＴＲＩＬＬ）パケットで使用するために、顧客から受信されたパケット（例えば、イーサネット（登録商標）パケット）の中の第１組のサービスの質（ＱｏＳ）ビットを第２組のＱｏＳビットにマップするように構成される、ＱｏＳマッピング機構を提供する。第１組のＱｏＳビットは、第２組のＱｏＳビットとは異なり得る。次いで、システム（例えば、スイッチ）は、第２組のビットを含むＴＲＩＬＬパケットを生成することができる。
【００１５】
サービスプロバイダのネットワーク、例えば、ＴＲＩＬＬネットワークは、ネットワーク内の１組の正規化ＱｏＳレベルを使用してもよい。マッピング機構は、サービスプロバイダが、異なる顧客ネットワークで使用される異なるＱｏＳレベルを、サービスプロバイダのネットワーク内で使用される正規化された１組のＱｏＳレベルにマップすることを可能にすることができる。具体的には、第２組のＱｏＳビットは、入口スイッチにおいて顧客から受信されたパケットに含有されるＱｏＳ情報と一致する、正規化ＱｏＳレベルに対応してもよい。
【００１６】
出口スイッチにおいて、ＴＲＩＬＬパケットを脱カプセル化することができ、元のＱｏＳビットを有する元のパケットを顧客のネットワークに転送することができる。このようにして、本明細書で説明されるいくつかの実施形態は、ＴＲＩＬＬネットワークにわたってＱｏＳビットを留保し、顧客が終端間ＱｏＳポリシーを実装することを可能にすることができる。
【００１７】
いくつかの実施形態では、顧客から受信されるパケットは、インターネットプロトコル（ＩＰ）パケットをカプセル化することができ、第１組のＱｏＳビットは、ＩＰパケットのヘッダにＩＰ差別化サービスコードポイント（ＤＳＣＰ）ビットを含むことができる。いくつかの実施形態では、顧客から受信されるパケットは、ＶＬＡＮ（仮想ローカルエリアネットワーク）タグを含むことができ、第１組のＱｏＳビットは、ＶＬＡＮタグに優先ビットを含むことができる。
【００１８】
ＴＲＩＬＬパケットは、外部ＶＬＡＮタグを含むことができ、第２組のＱｏＳビットは、外部ＶＬＡＮタグに優先ビットを含むことができる。第２組のＱｏＳビットはまた、外部ＶＬＡＮタグのカノニカル形式指標（ＣＦＩ）ビットに符号化される、ドロップ資格指標を含むこともできる。具体的には、いくつかの実施形態は、パケットを監視し、監視の結果に基づいて、第２組のＱｏＳビットの中の１つ以上のビット（例えば、ＣＦＩビットとして符号化されるドロップ資格指標）を判定することができる。
【００１９】
いくつかの実施形態は、入口スイッチと、出口スイッチとを含むネットワークを提供する。入口スイッチは、パケットをカプセル化するＴＲＩＬＬパケットで使用するために、顧客から受信されるパケットの中の第１組ＱｏＳビットを第２組のＱｏＳビットにマップするように構成することができる。入口スイッチは、第２組のＱｏＳビットを含むＴＲＩＬＬパケットを生成することができる。ネットワークはまた、第２組のＱｏＳビットに従ってＴＲＩＬＬパケットを処理および／または転送するように構成される、１つ以上の中間スイッチを含むことができる。出口スイッチは、ＴＲＩＬＬパケットを脱カプセル化して、顧客から受信された元のパケットを取得するように構成することができる。次いで、出口スイッチは、（元の１組のＱｏＳビットを有する）元のパケットを顧客のネットワークに送信することができる。
【００２０】
本明細書で説明されるいくつかの実施形態は、所与のソースおよびマルチキャストアドレスに対する複数のマルチキャストツリーを効率的にサポートするためのシステムおよび技法を提供する。具体的には、いくつかの実施形態は、ソースアドレスに基づく内部マルチキャストグループ識別子、マルチキャストアドレス、およびマルチキャストパケットと関連付けられるマルチキャストツリー識別子フィールドを判定することができる、システム（例えば、スイッチ）を提供する。マルチキャストパケットは、イーサネット（登録商標）またはＴＲＩＬＬマルチキャストパケットとなり得る。次いで、システムは、内部マルチキャストグループ識別子に基づいてマルチキャストパケットを転送することができる。
【００２１】
いくつかの実施形態では、システムは、マルチキャストパケットのソースアドレスおよびマルチキャストアドレスに基づいて、第１組のビットを、マルチキャストパケットのマルチキャストツリー識別子フィールドに基づいて、第２組のビットを判定することができる。次いで、システムは、内部マルチキャストグループ識別子を取得するように、第１組のビットおよび第２組のビットを組み合わせる（例えば、連結させる）ことができる。
【００２２】
システムは、内部マルチキャストグループ識別子に基づいて１組の出口ポートを判定し、１組の出口ポートの中の各ポートを介して、マルチキャストパケットの少なくとも１つのコピーを送信することによって、マルチキャストパケットを転送することができる。マルチキャストパケットが出口ポートに連結された複数の仮想プライベートネットワーク（ＶＰＮ）へ転送される場合、マルチキャストパケットの複数のコピーが同じ出口ポート上で送信されてもよいことに留意されたい。
【００２３】
マルチキャストパケットがイーサネット（登録商標）パケットである場合、システムは、ＴＲＩＬＬヘッダをマルチキャストパケットの各コピーに追加し、内部マルチキャストグループ識別子に基づいてＴＲＩＬＬカプセル化パケットを転送することができる。
【００２４】
いくつかの実施形態では、内部マルチキャストグループ識別子の範囲は、スイッチを越えて延在しない。パケットがネットワーク内の異なるスイッチを通って横断するにつれて、各スイッチは、異なる内部マルチキャストグループ識別子を判定することができる。
【００２５】
本明細書で説明されるいくつかの実施形態は、少なくとも１つのソーススイッチ、１つ以上の中間スイッチ、および少なくとも１つの宛先スイッチを含む、ネットワークを提供する。ソーススイッチは、パケットのヘッダの中の１つ以上のフィールドに基づいて、マルチキャストパケットの内部マルチキャストグループ識別子を判定してもよい。次に、ソーススイッチは、ＴＲＩＬＬマルチキャストパケットの中にマルチキャストパケットのコピーをカプセル化し、内部マルチキャストグループ識別子に基づいてＴＲＩＬＬマルチキャストパケットを転送してもよい。
【００２６】
ＴＲＩＬＬマルチキャストパケットは、宛先スイッチに到達する前に１つ以上の中間スイッチを通過してもよい。各中間スイッチは、内部マルチキャストグループ識別子を判定し、内部マルチキャストグループ識別子に基づいてＴＲＩＬＬマルチキャストパケットを転送してもよい。ＴＲＩＬＬマルチキャストパケットが宛先スイッチに到達したときに、宛先スイッチは、マルチキャストパケットを取得するようにＴＲＩＬＬマルチキャストパケットを脱カプセル化し、内部マルチキャストグループ識別子に基づいて、マルチキャストパケットを転送してもよい。スイッチによって判定される内部マルチキャストグループ識別子は、マルチキャストパケットまたはＴＲＩＬＬマルチキャストパケットを処理した他のスイッチによって判定された内部マルチキャストグループ識別子と同じであってもなくてもよい。
【００２７】
本明細書で説明されるいくつかの実施形態は、ＴＲＩＬＬネットワークでネットワーク層マルチキャスティングを行うためのシステムおよび技法を提供する。具体的には、いくつかの実施形態は、ネットワーク層マルチキャストアドレスを含むマルチキャストパケットを受信することができる、システム（例えば、スイッチ）を提供する。マルチキャストパケットは、第１の仮想ネットワークと関連付けられる第１のマルチキャストツリー上で受信することができる。次に、システムは、ネットワーク層マルチキャストアドレスに基づいて、その上でマルチキャストパケットが転送される第２の仮想ネットワークと関連付けられる、第２のマルチキャストツリーを判定することができる。次いで、システムは、第１の仮想ネットワークと関連付けられる第１のマルチキャストツリー上でマルチキャストパケットを転送し、第２の仮想ネットワークと関連付けられる第２のマルチキャストツリー上でマルチキャストパケットのコピーを転送することができる。
【００２８】
いくつかの実施形態では、マルチキャストパケットは、第１のマルチキャストツリーと関連付けられる第１のマルチキャストツリー識別子を含むことができ、マルチキャストパケットのコピーは、第２のマルチキャストツリーと関連付けられる第２のマルチキャストツリー識別子を含むことができる。第１のマルチキャストツリー識別子は、第１のマルチキャストツリーの根本にあるルーティングブリッジのニックネームとなり得て、第２のマルチキャストツリー識別子は、第２のマルチキャストツリーの根元にあるルーティングブリッジのニックネームとなり得る。
【００２９】
第１の仮想ネットワークおよび第２の仮想ネットワークは、ＶＬＡＮ（仮想ローカルエリアネットワーク）となり得る。ネットワーク層マルチキャストアドレスは、ＩＰ（インターネットプロトコル）マルチキャストアドレスとなり得る。マルチキャストパケットは、ＴＲＩＬＬマルチキャストパケットとなり得る。第１のマルチキャストツリーおよび第２のマルチキャストツリーは、ＴＲＩＬＬマルチキャストツリーとなり得る。
【００３０】
いくつかの実施形態では、システムは、マルチキャストパケットのネットワーク層マルチキャストアドレスおよびネットワーク層ソースアドレスに基づいて、内部マルチキャストグループ識別子を判定し、内部マルチキャストグループ識別子に基づいて、マルチキャストパケットを転送することができる。
【００３１】
本明細書で説明されるいくつかの実施形態は、仮想ネットワーク毎にパケットを大量に送るためのシステムおよび技法を提供する。動作中、システム（例えば、スイッチ）は、パケットを受信することができる。次に、システムは、パケットの中の１つ以上のフィールドおよび／またはパケットが受信されたポートに基づいて、内部仮想ネットワーク識別子を判定することができる。異なる仮想ネットワークからのパケットが、同じ内部仮想ネットワーク識別子にマップされてもよい。次いで、システムは、内部仮想ネットワーク識別子に基づいて転送参照動作を行うことができる。転送参照動作が失敗した場合、システムは、内部仮想ネットワーク識別子に基づいて、１組の出口ポートを判定することができる。次に、システムは、パケットのヘッダの中の仮想ネットワーク識別子（例えば、ＶＰＮ識別子）が出口ポートと関連付けられる場合に、１組の出口ポートのうちの１つの出口ポート上でパケットを大量に送ることができる。
【００３２】
一般に、仮想ネットワーク識別子は、仮想ネットワークを識別するために使用されるパケットの中の１つ以上のフィールドを含むことができる。仮想ネットワーク毎にパケットを大量に送ることは、転送参照動作が失敗したときに、パケットを大量に送るために必要とされるリソースの量を実質的に低減できることに留意されたい。さらに、仮想ネットワーク毎にパケットを大量に送ることは、ネットワークが異なる仮想ネットワークを別々にしておくことを可能にする。
【００３３】
いくつかの実施形態では、システムは、最初に、仮想ネットワーク識別子に基づいてマルチキャストツリーを判定し、マルチキャストツリーに基づいて１組の出口ポートを判定することによって、１組の出口ポートを判定することができる。
【００３４】
いくつかの実施形態では、システムは、パケットのコピーを１組の出口ポートに提供することができる。次に、各出口ポートは、ポート上でパケットを大量に送るか否かを判定するために、ＶＰＮ識別子を使用することができる。具体的には、各出口ポートは、ポートが、ＶＰＮ識別子と関連付けられるＶＰＮの一部であるホストを含むネットワークに連結される場合、ポート上でパケットを大量に送ることができる。
【００３５】
仮想ネットワーク識別子は、概して、パケットが属する仮想ネットワークを判定するために使用されるパケットの中の１つ以上のフィールドを指すことができる。いくつかの実施形態では、パケットは、ＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）パケットであり、仮想ネットワーク識別子は、ＶＰＮ識別子である。いくつかの実施形態では、パケットは、ＶＬＡＮパケットであり、仮想ネットワーク識別子は、ＶＬＡＮ識別子である。いくつかの実施形態では、仮想ネットワーク識別子は、パケットの中の１つ以上のフィールドの組み合わせであり、例えば、仮想ネットワーク識別子は、１つ以上のＶＬＡＮ識別子および／またはＶＰＮ識別子の組み合わせであってもよい。
【図面の簡単な説明】
【００３６】
【図１】図１は、本発明のいくつかの実施形態による、ＴＲＩＬＬネットワークを図示する。
【図２】図２は、本発明のいくつかの実施形態によるＴＲＩＬＬヘッダを含むイーサネット（登録商標）パケットの一部分を図示する。
【図３】図３は、本発明のいくつかの実施形態によるスイッチを図示する。
【図４Ａ】図４Ａは、本発明のいくつかの実施形態による内部仮想ネットワーク識別子に基づいてパケットを転送するための過程を図示するフローチャートを提示する。
【図４Ｂ】図４Ｂは、本発明のいくつかの実施形態による内部ポリシー識別子に基づいてポリシーをパケットに適用するための過程を図示するフローチャートを提示する。
【図５Ａ】図５は、本発明のいくつかの実施形態によるシステムを図示する。
【図５Ｂ】図５は、本発明のいくつかの実施形態によるシステムを図示する。
【図６Ａ】図６Ａは、本発明のいくつかの実施形態によるパケットヘッダ情報と内部仮想ネットワーク識別子との間の例示的なマッピングを図示する。
【図６Ｂ】図６Ｂは、本発明のいくつかの実施形態によるパケットヘッダ情報と内部ポリシー識別子との間のマッピングの実施例を図示する。
【図６Ｃ】記載なし。
【図６Ｄ】記載なし。
【図６Ｅ】記載なし。
【図７】図７は、本発明のいくつかの実施形態による、ＲＢｒｉｄｇｅがＴＲＩＬＬネットワークでネットワーク層マルチキャスティングを行うことができるか方法を図示する。
【図８】図８は、本発明のいくつかの実施形態によるスイッチを図示する。
【図９Ａ】図９Ａは、本発明のいくつかの実施形態による内部マルチキャストグループ識別子に基づいてパケットを転送するための過程を図示するフローチャートを提示する。
【図９Ｂ】図９Ｂは、本発明のいくつかの実施形態によるＴＲＩＬＬネットワークでネットワーク層マルチキャスティングを行うための過程を図示する、フローチャートを提示する。
【図１０】図１０は、本発明のいくつかの実施形態によるスイッチを図示する。
【図１１】図１１は、本発明のいくつかの実施形態による仮想ネットワーク毎にパケットを大量に送るための過程を図示するフローチャートを提示する。
【図１２】図１２は、本発明のいくつかの実施形態による、仮想ネットワーク毎にフラッディングを行うことができる方法を図示する。
【図１３】図１３は、本発明のいくつかの実施形態によるスイッチを図示する。
【図１４】図１４は、本発明のいくつかの実施形態による例示的なマッピング機構を図示する。
【図１５】図１５は、本発明のいくつかの実施形態によるパケットを処理するための過程を図示する、フローチャートを提示する。
【図１６】図１６は、従来の遠隔ポートミラーリングシステムを図示する。
【図１７Ａ】図１７Ａは、本発明のいくつかの実施形態によるカプセル化を使用する遠隔ポートミラーリングを図示する。
【図１７Ｂ】図１７Ｂは、本発明のいくつかの実施形態によるカプセル化を使用する遠隔ポートミラーリングを図示する。
【図１８】図１８は、本発明のいくつかの実施形態によるスイッチを図示する。
【図１９】図１９は、本発明のいくつか実施形態による、遠隔ポートミラーリングを行うための過程を図示するフローチャートを提示する。
【図２０】図２０は、本発明のいくつかの実施形態によるシステムを図示する。
【発明を実施するための形態】
【００３７】
以下の説明は、当業者が本発明を作製および使用することを可能にするように提示され、特定の用途およびその要件との関連で提供される。開示された実施形態への種々の修正が、当業者に容易に明白となり、本発明の精神および範囲から逸脱することなく、本明細書で定義される一般原則が、他の実施形態および用途に適用されてもよい。したがって、本発明は、示された実施形態に限定されないが、本明細書で開示される原則および特徴と一致する最も幅広い範囲に合致する。
【００３８】
（ＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ））
ＴＲＩＬＬは、ブリッジングとルーティングとの利点を組み合わせる。ブリッジ（例えば、２層転送を行うデバイス）は、単一のローカルエリアネットワークを作成するように、複数のリンクを透過的に接続することができる。ＴＲＩＬＬがないと、ブリッジは、ループを防止するために、その上でトラフィックが転送されるトポロジーを制限するスパニングツリープロトコル（ＳＴＰ）を使用する。残念ながら、ツリー上でトラフィックを転送することは、他のリンクが完全に利用されていない状態にして、ツリーの縁に対応するリンク上のトラフィック集中を生じさせる。ブリッジと違って、インターネットプロトコル（ＩＰ）ルータ（例えば、ＩＰ転送を行うデバイス）は、トラフィックを転送するためのスパニングツリーを作成する必要がない。しかしながら、ＩＰトラフィックを転送するルータは、ブリッジよりもより多くの構成を必要とし、ＩＰネットワーク内においてノードを移動させることは、ノードのＩＰアドレスを変更することを必要とする。ＩＰネットワーク内の各リンクは、アドレスプレフィックスと関連付けられ、そのリンク上の全てのノードは、そのＩＰプレフィックスを持たなければならない。ノードが異なるＩＰプレフィックスを有する別のリンクへ移動する場合、ノードは、そのＩＰアドレスを変更しなければならない。特に指定のない限り、「ＩＰ」という用語は、本開示では「ＩＰｖ４」および「ＩＰｖ６」の両方を指す。
【００３９】
ＴＲＩＬＬネットワークは、パケットを送るが、ブリッジのように、パケットの受信を介して２層アドレス場所を習得する「ルーティングブリッジ」（ＲＢｒｉｄｇｅと呼ばれる）を含む。パケットが送られるため、パケット転送はスパニングツリーに限定されない。また、ホップカウントがＴＲＩＬＬパケットに含まれるので、パケットは、ループの存在下ではネットワーク内で永久に循環することはない。さらに、２層アドレス場所が習得されるので、ＴＲＩＬＬネットワークは、なんらの制限もなく、ＩＰノードがネットワーク内で１つのリンクから別のリンクへ移動することを可能にする。
【００４０】
図１は、本発明のいくつかの実施形態によるＴＲＩＬＬネットワークを図示する。ＴＲＩＬＬネットワーク１００は、コアＲＢｒｉｄｇｅ１０２および１０４と、エッジＲＢｒｉｄｇｅ１０６、１０８、および１１０を含むサービスプロバイダのネットワークとなり得る。ＲＢｒｉｄｇｅ１０２、１０６、１０８、および１１０が顧客デバイスに連結される一方で、ＲＢｒｉｄｇｅ１０４は連結されない。具体的には、ＲＢｒｉｄｇｅ１０２上のポートＰ３を、サイトＳ１において顧客Ｃ３のネットワーク内のデバイスに連結することができ、ＲＢｒｉｄｇｅ１０６、１０８、および１１０上のＰ１と標識されたポートを、それぞれ、サイトＳ２、Ｓ３、およびＳ４において顧客Ｃ１のネットワーク内のデバイスに連結することができ、ＲＢｒｉｄｇｅ１１０のポートＰ３を、サイトＳ５において顧客Ｃ３のネットワーク内のデバイスに連結することができる。図１のポート番号は、顧客番号と合致し、すなわち、Ｐ１と標識されたポートは、顧客Ｃ１と関連付けられ、Ｐ３と標識されたポートは、顧客Ｃ３と関連付けられる等に留意されたい。これは、開示を容易にするために行われている。一般に、任意のＲＢｒｉｄｇｅ上の任意のポートは、潜在的に、１つ以上の顧客と関連付けられる１つ以上の仮想ネットワークに割り当てることができる。
【００４１】
顧客のネットワーク内の仮想ローカルエリアネットワーク（ＶＬＡＮ）は、複数の顧客サイトに及んでもよい。例えば、顧客Ｃ３のネットワーク内のＶＬＡＮ１１２および１１４は、サイトＳ１およびＳ５にノードを含む。同様に、顧客Ｃ１のネットワーク内のＶＬＡＮ１１６および１１８は、サイトＳ２およびＳ３にノードを含み、顧客Ｃ１のネットワーク内のＶＬＡＮ１２０は、サイトＳ３およびＳ４にノードを含む。
【００４２】
同じＶＬＡＮに属するが、異なるサイトに位置するノードは、ＴＲＩＬＬネットワーク１００を介して透過的に相互と通信することができる。具体的には、入口ＲＢｒｉｄｇｅは、顧客から受信されたパケット（例えば、１つ以上のＶＬＡＮタグを有するか、または有しないイーサネット（登録商標）パケット）をカプセル化し、ＴＲＩＬＬヘッダを使用して、ＴＲＩＬＬネットワーク１００内でパケットを送ることができる。次いで、出口ＲＢｒｉｄｇｅは、ＴＲＩＬＬヘッダを取り去り、適切なポート上で元の顧客パケットを送信することができる。例えば、パケット１２２は、サイトＳ１における顧客Ｃ３のネットワークから生じ、ＶＬＡＮ１１２と関連付けられるＶＬＡＮタグとともにＲＢｒｉｄｇｅ１０２のポートＰ３上で受信することができる。次に、このパケットに対する入口ＲＢｒｉｄｇｅであるＲＢｒｉｄｇｅ１０２は、パケット１２４を取得するために、ＴＲＩＬＬヘッダを追加することによってパケット１２２をカプセル化することができる（ＴＲＩＬＬヘッダはパケット１２４の中の影付き部分である）。次に、パケット１２４がパケットに対する出口ＲＢｒｉｄｇｅであるＲＢｒｉｄｇｅ１１０に到達するまで、ＴＲＩＬＬネットワーク１００を介してパケット１２４を送るために、パケット１２４のＴＲＩＬＬヘッダを使用することができる。次いで、ＲＢｒｉｄｇｅ１１０は、元のパケット１２２を取得するためにパケット１２４上のＴＲＩＬＬヘッダを取り去り、サイトＳ５における顧客Ｃ３のネットワーク内のＶＬＡＮ１１２の中の意図した宛先にパケットを送達することができるように、ポートＰ３上でパケット１２２を送信することができる。図１において、入口ＲＢｒｉｄｇｅにおいて受信されるパケットと出口ＲＢｒｉｄｇｅから送信されるパケットとは、同じであると示されている。しかしながら、これらのパケットは異なり得る。例えば、ＶＬＡＮ変換が行われているとき、入口ＲＢｒｉｄｇｅにおいて受信されるパケットと出口ＲＢｒｉｄｇｅから送信されるパケットとは、異なるＶＬＡＮタグを有することができる。
【００４３】
ＴＲＩＬＬパケット形式およびＲＢｒｉｄｇｅ転送の詳細は、参照することにより本明細書に組み込まれる、ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｄｒａｆｔ−ｉｅｔｆ−ｔｒｉｌｌ−ｒｂｒｉｄｇｅ−ｐｒｏｔｏｃｏｌ−１６において入手可能なＩＥＴＦ原稿「ＲＢｒｉｄｇｅｓ：Ｂａｓｅ  Ｐｒｏｔｏｃｏｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ」に見出すことができる。
【００４４】
本開示におけるいくつかの実施例は、ＲＢｒｉｄｇｅを含むＴＲＩＬＬネットワークとの関連で開示されているが、本発明は、ＴＲＩＬＬネットワークまたはＲＢｒｉｄｇｅに限定されない。「フレーム」または「パケット」という用語は、概して、一群のビットを指す。「フレーム」という用語の使用は、本発明を２層ネットワークに限定することを目的としない。同様に、「パケット」という用語の使用は、本発明を３層ネットワークに限定することを目的としない。特に指定のない限り、「フレーム」または「パケット」という用語は、「セル」または「データグラム」等の一群のビットを指す他の用語に置換することができる。
【００４５】
（ネットワーク仮想化）
ネットワーク仮想化は、サービスプロバイダが共通ネットワークインフラストラクチャ上で仮想ネットワーク（ＶＮ）を使えるように設定することを可能にする。ＶＮ上のユーザにとっては、トラフィックがユーザのために特異的に構築されている別個のネットワーク上で運ばれているかのように見える。しかしながら、実際には、複数のＶＮからのトラフィックが、共通ネットワークインフラストラクチャ上で運ばれ得る。
【００４６】
ネットワーク仮想化は、多くの用途を有する。例えば、ネットワーク仮想化は、政府規制に準拠する同じ物理ネットワーク上で複数の論理的に明確に異なるネットワークを作成するために使用することができる。ネットワーク仮想化の他の用途は、企業内の異なる組織間でネットワークリソースを区分化し、それにより、ネットワーク費用を削減し、ネットワーク管理を簡略化することを含むが、それに限定されない。
【００４７】
ネットワーク仮想化によって解決される問題に対処するための１つのアプローチは、顧客毎にリソースを使えるように設定できるように、ネットワーク内のリソース（例えば、ルータ、スイッチ等）を複製することである。しかしながら、このアプローチは、費用がかかり、拡張可能ではないので、非実用的である。
【００４８】
本発明のいくつかの実施形態は、ＴＲＩＬＬヘッダの中のＴＲＩＬＬオプションフィールドにＶＰＮ識別子を埋め込むことによって、ネットワーク仮想化および／またはＴＲＩＬＬネットワーク内の区分化を実装する。具体的には、入口ＲＢｒｉｄｇｅは、顧客から受信する各パケットのＶＰＮ識別子を判定し、ＴＲＩＬＬヘッダの中のＴＲＩＬＬオプションフィールドにＶＰＮ識別子を埋め込むことができる。次に、ＶＰＮ識別子は、ネットワーク仮想化および／またはＴＲＩＬＬネットワーク内の区分化をサポートするために使用することができる。具体的には、いったんＶＰＮ識別子がＴＲＩＬＬヘッダに埋め込まれると、ＴＲＩＬＬネットワーク内のＲＢｒｉｄｇｅは、パケットを取り扱う方法を判定するためにＶＰＮ識別子を使用することができる。
【００４９】
いくつかの実施形態では、システムは、ネットワーク仮想化および／または区分化を実装するためにサービスプロバイダＶＬＡＮ識別子を使用することができる。具体的には、入口ＲＢｒｉｄｇｅは、適切なＳタグを顧客から受信されたパケットに追加することができる（Ｓタグベースのアプローチは、すでにＳタグを有する着信パケットには有効ではない場合があることに留意されたい）。次に、ネットワーク仮想化および／またはネットワーク内の区分化を実装するために、Ｓタグを使用することができる。
【００５０】
（パケット形式）
図２は、本発明のいくつかの実施形態による、ＴＲＩＬＬヘッダを含むイーサネット（登録商標）パケットの一部分を図示する。図２に示されるパケットは、例示目的に過ぎず、本発明を限定することを目的としない。
【００５１】
パケット２００は、外部ＭＡＣ（媒体アクセス制御）アドレス２０２、外部ＶＬＡＮタグ２０４、ＴＲＩＬＬヘッダフィールド２０６、ＴＲＩＬＬオプションフィールド２０８、内部ＭＡＣアドレス２１０、および内部ＶＬＡＮタグ２１２といったフィールドのうちの１つ以上を含むことができる。典型的には、パケットは、上から下に伝送され、すなわち、外部ＶＬＡＮタグ２０４と関連付けられるビットが伝送媒体上に現れる前に、外部ＭＡＣアドレス２０２と関連付けられるビットが伝送媒体上に現れる。これらのフィールドの内容およびそれらの用途は、以下で論議される。
【００５２】
外部ＭＡＣアドレス２０２は、外部宛先ＭＡＣアドレス２１４と、外部ソースＭＡＣアドレス２１６とを含むことができる。これらのＭＡＣアドレスおよび外部ＶＬＡＮタグ２０４は、典型的には、パケットがサービスプロバイダのネットワークを横断するにつれて、各ＴＲＩＬＬホップで変化する。具体的には、各ホップで、外部ソースＭＡＣアドレス２１６は、そのホップに対するソースノード（例えば、ＲＢｒｉｄｇｅ）のＭＡＣアドレスと関連付けられ、外部宛先ＭＡＣアドレス２１４は、そのホップに対する宛先ノード（例えば、ＲＢｒｉｄｇｅ）のＭＡＣアドレスと関連付けられ、外部ＶＬＡＮタグ２０４は、そのホップに対するソースノードおよび宛先ノードを含むＶＬＡＮと関連付けられる。
【００５３】
外部ＶＬＡＮタグ２０４は、イーサネット（登録商標）型フィールド２１８と、外部ＶＬＡＮ識別子２２０とを含むことができる。イーサネット（登録商標）型フィールド２１８の値は、次のフィールドがＶＬＡＮ識別子であることを示す。ＶＬＡＮ識別子２２０は、複数のブロードキャストドメインを作成するためにサービスプロバイダのネットワークで使用することができる。
【００５４】
ＴＲＩＬＬヘッダフィールド２０６は、イーサネット（登録商標）型フィールド２２２と、ＴＲＩＬＬヘッダ２２４とを含むことができる。イーサネット（登録商標）型フィールド２２２の値は、次のフィールドがＴＲＩＬＬヘッダであることを示す。ＴＲＩＬＬヘッダ２２４は、サービスプロバイダのネットワークに埋め込まれたＴＲＩＬＬネットワークを介してパケットを送るための情報を含むことができる。具体的には、図２に示されるように、ＴＲＩＬＬヘッダ２２４は、ＴＲＩＬＬバージョンを示すバージョンフィールド２４６と、将来の使用のために留保されてもよい留保フィールド２４８と、このパケットがマルチキャストパケットであるか否かを示すマルチキャストフィールド２５０と、ＴＲＩＬＬヘッダに従う（３２ビットの言葉に関する）任意のＴＲＩＬＬオプションフィールドの長さを示すＴＲＩＬＬオプション長さ２５２と、パケットがサービスプロバイダのネットワークを横断するにつれて各ＲＢｒｉｄｇｅにおいて減少させられてもよいホップカウント２５４とを含むことができる。
【００５５】
ＴＲＩＬＬヘッダ２２４はまた、出口ＲＢｒｉｄｇｅニックネーム２５６と、入口ＲＢｒｉｄｇｅニックネーム２５８とを含む。入口ＲＢｒｉｄｇｅニックネーム２５８は、顧客のネットワークからパケットを受信する入口ＲＢｒｉｄｇｅに対応し、ユニキャストパケットについては、出口ＲＢｒｉｄｇｅニックネーム２５６は、パケットを顧客のネットワークに送信する出口ＲＢｒｉｄｇｅに対応する。マルチキャストパケットについては、出口ＲＢｒｉｄｇｅニックネーム２５６は、その上でパケットが転送されるマルチキャストツリーの根本であるＲＢｒｉｄｇｅに対応する。例えば、図１では、パケット１２２が入口ＲＢｒｉｄｇｅ１０２で受信されるときに、入口ＲＢｒｉｄｇｅ１０２は、パケット１２２が出口ＲＢｒｉｄｇｅ１１０に送られる必要があることを判定するために、パケット１２２の中のヘッダ情報を使用することができる。次に、入口ＲＢｒｉｄｇｅ１０２は、パケット１２４を取得するために、ＴＲＩＬＬヘッダフィールド２０６をパケット１２２に追加することができる。具体的には、ＲＢｒｉｄｇｅ１０２は、パケット１２４のＴＲＩＬＬヘッダの中の入口ＲＢｒｉｄｇｅニックネーム２５８を、ＲＢｒｉｄｇｅ１０２のニックネームに設定し、パケット１２４のＴＲＩＬＬヘッダの中の出口ＲＢｒｉｄｇｅニックネーム２５６を、ＲＢｒｉｄｇｅ１１０のニックネームに設定することができる。次いで、ＲＢｒｉｄｇｅ１０２は、完全に、または部分的にパケット１２４のＴＲＩＬＬヘッダに基づいて、パケット１２４を転送することができる。
【００５６】
ＴＲＩＬＬオプションフィールド２０８は、ビット符号化オプションと、ＴＬＶ（種類・長さ・値）形式で符号化された１つ以上のオプションとを含むことができる。具体的には、ＴＲＩＬＬオプションフィールド２０８は、１ビットオプションフラグであるビット符号化オプション２６０と、ＴＬＶ符号化オプション２２６とを含むことができる。例えば、２０ビットＶＰＮ識別子は、ＴＬＶ符号化オプションとして符号化することができる。具体的には、種類フィールド２６２の値は、このオプションがＶＰＮ識別子を特定することを示すことができる。長さフィールド２６４は、オクテットでＴＬＶ符号化オプションの長さおよびデータ部分を示すことができる。図２に示されるパケットでは、ＴＬＶ符号化オプション２２６は、２０ビットＶＰＮ識別子を特定するために使用され、長さフィールド２６４は、値０ｘ６に設定される。ＴＬＶ符号化オプション２２６のデータ部分は、長さフィールド２６４の直後に始まる。具体的には、図２に示されるパケットでは、フィールド２６６、２６８、および２２８の（オクテットでの）全長は、長さフィールド２６４によって特定されるような０ｘ６に等しい。さらに、図２に示されるように、ＴＬＶ符号化オプション２２６の中のデータ部分の最後の２０ビットは、ＶＰＮ識別子２２８を特定するために使用することができる。
【００５７】
２０ビットＶＰＮ識別子は、より小さいデータ部分、例えば、０ｘ６オクテットの代わりに０ｘ３オクテットだけを使用して特定することができることに留意されたい。しかしながら、いくつかの実施形態は、以下の明白ではない洞察を使用し、チップ設計を簡略化するように、および／または性能を向上させるように、２０ビットＶＰＮ識別子を語境界と整列させることが望ましくてもよい。したがって、いくつかの実施形態では、２０ビットＶＰＮ識別子が３２ビット語境界と整列させられるように、０ｘ３オクテットの代わりに０ｘ６オクテットが使用される。例えば、図２に示されるように、ＶＰＮ識別子２２８は、３２ビット語境界と整列させられる。
【００５８】
内部ＭＡＣアドレス２１０は、内部ソースＭＡＣアドレス２３２と、内部宛先ＭＡＣアドレス２３０とを含むことができる。内部ＭＡＣアドレス２１０は、顧客のネットワークから受信されたパケットのヘッダに存在したＭＡＣアドレスであり得る。例えば、図１では、サイトＳ１における顧客Ｃ３のネットワーク内のＶＬＡＮ１１２の中のソースノードが、パケットを、サイトＳ５における顧客Ｃ３のネットワーク内のＶＬＡＮ１１２の中の宛先ノードに送信すると想定する。このシナリオでは、内部ソースＭＡＣアドレス２３２は、サイトＳ１におけるソースノードに対応することができ、内部宛先ＭＡＣアドレス２３０は、サイトＳ５における宛先ノードに対応することができる。
【００５９】
内部ＶＬＡＮタグ２１２は、１つ以上のＶＬＡＮタグを含むことができる。例えば、内部ＶＬＡＮタグ２１２は、イーサネット（登録商標）型フィールド２３４およびＳ−ＶＬＡＮ識別子２３６を含むＳタグと、イーサネット（登録商標）型フィールド２３８およびＣ−ＶＬＡＮ−識別子２４０を含むＣタグと、イーサネット（登録商標）型フィールド２４２およびＶＬＡＮ識別子２４４を含む別のタグとを含むことができる。外部ＶＬＡＮタグ２０４および内部ＶＬＡＮタグ２１２の中の各ＶＬＡＮタグはまた、３ビット優先コードポイント（ＰＣＰ）フィールド（本開示では「優先」または「優先ビット」とも呼ばれる）、例えば、ＰＣＰ２７０と、１ビットＣＦＩフィールド、例えば、ＣＦＩ２７２とを含むこともできる。Ｓタグが使用されるときに、ＣＦＩフィールドは、ドロップ資格指標（ＤＥＩ）ビットを運ぶことができる。イーサネット（登録商標）型（例えば、２３４、２３８、および２４２）の中の値は、それに続くＶＬＡＮタグの種類を示すことができる。例えば、イーサネット（登録商標）型フィールド２３４および２３８は、ＳタグのＶＬＡＮ識別子およびＣタグのＶＬＡＮ識別子が、それぞれのイーサネット（登録商標）型フィールドに続くことを示すことができる。ＳタグおよびＣタグは、例えば、プロバイダブリッジング標準で定義されるような積層ＶＬＡＮアーキテクチャを作成するために、顧客によって使用することができる。Ｓタグはまた、ネットワーク仮想化および／または区分化を実装するために、サービスプロバイダによって使用されてもよい。パケット２００はまた、他のタグを含むこともでき、各タグは、タグの種類を示すタグ種類フィールド、およびタグに関係する内容（例えば、識別子）を記憶するフィールドを有する。例えば、パケット２００は、１６ビットタグ種類フィールドおよび１６ビットフロー識別子を含む、３２ビット輻輳通知タグ（ＣＮタグ）を含むことができる。輻輳通知タグは、ネットワーク輻輳を管理するために顧客によって使用されてもよい。
【００６０】
パケットが、図２に示されるフィールドの全てを含んでも含まなくてもよいことに留意されたい。例えば、いくつかの実施形態では、パケットは、内部ＶＬＡＮタグ２１２および／または外部ＶＬＡＮタグ２０４のうちの１つ以上を含まなくてもよい。さらに、フィールドのある実施形態が、いくつかの実施形態では許可されなくてもよい。例えば、いくつかの実施形態では、パケットは、ＳタグまたはＴＲＩＬＬオプションフィールドのいずれか一方を含んでもよいが、両方を含まなくてもよい。加えて、いくつかのフィールドの値は、相互に関係してもよい。例えば、いくつかの実施形態では、Ｓ−ＶＬＡＮ識別子２３６は、ＶＰＮＩＤ２２８の１２の最下位ビットにコピーされてもよい。
【００６１】
ＶＬＡＮタギングが、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）規格ＩＥＥＥ８０２．１Ｑで特定されている。この規格のＩＥＥＥ  ８０２．１Ｑ−２００５までを含む、規格の旧バージョンは、同じローカルエリアネットワーク（ＬＡＮ）内で複数のブロードキャストドメインを作成するために、どのようにして単一のＶＬＡＮタグをイーサネット（登録商標）パケットに追加することができるかを説明する。プロバイダブリッジングという用語は、Ｓタグ（サービスＶＬＡＮタグがプロバイダタブと呼ばれることもある）が単一のイーサネット（登録商標）パケットの中で積み重ねられることを可能にするこの規格の改正を指す。プロバイダブリッジングは、各顧客に利用可能なＶＬＡＮアドレススペースを制限することなく、サービスプロバイダが、共有ネットワークインフラストラクチャ上で複数の顧客からＶＬＡＮトラフィックを運ぶことを可能にする。プロバイダブリッジングについてのさらなる詳細は、規格ＩＥＥＥ８０２．１ａｄ．の仕様で見出すことができる。
【００６２】
いくつかの実施形態では、システムは、ＴＲＩＬＬヘッダをプロバイダブリッジングパケットに追加することができる。これらの実施形態では、顧客ネットワークから受信されるパケットは、Ｓタグを含んでもよい。サービスプロバイダのネットワークは、ＴＲＩＬＬヘッダをパケットに追加することができる。いくつかの実施形態では、システムは、最外ＶＬＡＮタグの中の優先ビットがＳタグの中の優先ビットと同じであることを確実にしてもよい。
【００６３】
（内部仮想ネットワーク識別子および内部ポリシー識別子）
パケットが入力ポート上で受信されるときに、パケットヘッダは、パケットがその上で転送される出力ポートを判定するために、スイッチによって処理される。しばしば、転送機構（例えば、転送参照を行うために特異的に設計されている集積回路）は、データパスの障害である。その結果として、処理速度を増加させ、転送機構のサイズおよび複雑性を減少させることが、通常、非常に重要である。
【００６４】
ＲＢｒｉｄｇｅにおけるネットワーク仮想化をサポートするための１つのアプローチは、転送参照を行うために、ＶＰＮ識別子および／またはパケットヘッダの中の他のフィールドを直接使用することである。残念ながら、このアプローチは、転送機構が転送参照を行うために多数のビットを使用することを要求し得る。結果として、このアプローチを使用して転送を行うスイッチを設計することが非常に高価となり得る。
【００６５】
本発明のいくつかの実施形態は、パケットがその上で受信されるポートおよび／またはパケットの中の１つ以上のフィールド（ＶＰＮ識別子を含んでもよい）に基づいて、内部仮想ネットワーク識別子を判定する。次に、パケットは、内部仮想ネットワーク識別子に基づいて転送される。内部仮想ネットワーク識別子の（ビットに関する）長さは、内部仮想ネットワーク識別子を判定するために使用される、パケットの中の１つ以上のフィールドの組み合わせた長さよりも小さくなり得る。この長さの縮小は、転送機構の処理速度を増加させ、実装の全体的なサイズおよび複雑性を減少させることができる。
【００６６】
ネットワーク仮想化機能性に有意に影響を及ぼすことなく、パケットの中の１つ以上のフィールドを、より短いサイズの内部仮想ネットワーク識別子にマップすることを可能にする、少なくとも２つの明白ではない洞察がある。第１の明白ではない洞察は、たとえ各顧客に多数の仮想ネットワークを作成する能力が与えられても、顧客の１人１人が多数の仮想ネットワークを使えるように設定する可能性は低い。例えば、たとえ各顧客に４Ｋ  ＶＬＡＮを作成する能力が与えられてもよくても、顧客の１人１人が４Ｋ  ＶＬＡＮを使えるように設定する可能性は低い。よって、内部仮想ネットワーク識別子は、各顧客が４Ｋ  ＶＬＡＮを使えるように設定する場合を取り扱うほど長くなる必要はない。４Ｋ  ＶＬＡＮアドレススペース全体が依然として各顧客に利用可能であることに留意されたい。
【００６７】
第２の明白ではない洞察は、複数の仮想ネットワークを単一の内部仮想ネットワーク識別子にマップできることである。ＲＢｒｉｄｇｅがローカルポート上でパケットを顧客に転送する必要がある場合に、ＲＢｒｉｄｇｅは、仮想ネットワークの一意的な内部仮想ネットワーク識別子を割り当てる必要があることに留意されたい。例えば、入口または出口ＲＢｒｉｄｇｅは、そのパケットがＲＢｒｉｄｇｅ上で顧客に直接対応するポートへ転送される、各仮想ネットワークの一意的な内部仮想ネットワーク識別子を割り当ててもよい。しかしながら、ＲＢｒｉｄｇｅが１組の仮想ネットワークに対する入口または出口ＲＢｒｉｄｇｅではない場合、ＲＢｒｉｄｇｅは、１組の仮想ネットワークを共通の「通過」内部仮想ネットワーク識別子にマップすることができる。例えば、ＲＢｒｉｄｇｅが複数の（ＶＬＡＮ識別子、ＶＰＮ識別子）タプルに対する入口または出口ＲＢｒｉｄｇｅではない場合、ＲＢｒｉｄｇｅは、これらの（ＶＬＡＮ識別子、ＶＰＮ識別子）タプルを同じ内部仮想ネットワーク識別子にマップすることができる。
【００６８】
図３は、本発明のいくつかの実施形態によるスイッチを図示する。
【００６９】
スイッチ３００は、通信チャネル、例えば、バスを介して相互と通信し得る複数の機構を含むことができる。スイッチ３００は、１つ以上の集積回路を使用して実現されてもよい。いくつかの実施形態では、スイッチ３００は、判定機構３０２と、転送機構３０４と、カプセル化機構３０６と、ポリシー適用機構３０８とを含むＲＢｒｉｄｇｅ（例えば、ＲＢｒｉｄｇｅ１０２）である。いくつかの実施形態では、これらの機構は、特定用途向け集積回路の一部であってもよい。
【００７０】
判定機構３０２は、パケットが受信されるポートおよび／またはパケットの中の１つ以上のフィールドに基づいて、パケット（例えば、イーサネット（登録商標）パケット）の内部仮想ネットワーク識別子および／または内部ポリシー識別子を判定するように構成されてもよい。具体的には、内部仮想ネットワーク識別子および／または内部ポリシー識別子を判定するために使用される、パケットのヘッダの中のフィールドは、Ｓ−ＶＬＡＮ識別子、Ｃ−ＶＬＡＮ識別子、ＶＰＮ識別子、および／または１つ以上のＭＡＣアドレスを含むことができる。スイッチおよび／またはポート構成は、内部仮想ネットワーク識別子および／または内部ポリシー識別子を判定するために、どのフィールドが使用されるかを判定することができる。例えば、スイッチの１つのポートは、全てのパケットを特定の内部仮想ネットワーク識別子および／または特定の内部ポリシー識別子にマップするように構成されてもよい。スイッチの別のポートは、１組のＣ−ＶＬＡＮ識別子を、対応する１組の内部仮想ネットワーク識別子および／または対応する１組の内部ポリシー識別にマップし、Ｃ−ＶＬＡＮ識別子が１組のＣ−ＶＬＡＮ識別子の中にない場合、デフォルト内部仮想ネットワーク識別子および／またはでフォルト内部ポリシー識別子をパケットに割り当てるように構成されてもよい。
【００７１】
転送機構３０４は、内部仮想ネットワーク識別子に基づいてパケットを転送するように構成されてもよい。具体的には、転送機構３０４は、内部仮想ネットワーク識別子を使用してインデックスを付けられる表（例えば、メモリの中のアレイ）を含んでもよい。表の中の各記録（例えば、アレイ要素）は、パケットを転送する方法を示す情報を含むことができる。例えば、記録は、発信ポートを識別するポート識別子を含んでもよい。記録はまた、ヘッダの中の１つ以上のフィールドを修正するための命令および／または情報を含んでもよい（例えば、記録は、ＶＬＡＮ変換が行われることを示し、新しいＶＬＡＮ識別子を特定してもよい）。加えて、記録は、パケットに追加される必要があるヘッダフィールド（例えば、ＴＲＩＬＬヘッダおよび／またはＳタグ）を含んでもよい。
【００７２】
カプセル化機構３０６は、ＴＲＩＬＬパケットの中にパケットをカプセル化するように構成されてもよい。具体的には、カプセル化機構３０６は、ＴＲＩＬＬパケットを取得するように、ＴＲＩＬＬヘッダをパケットに追加してもよい。いくつかの実施形態では、パケットヘッダ情報は、パケットに追加される必要があるＴＲＩＬＬヘッダを判定するために使用することができる。言い換えれば、これらの実施形態では、ＴＲＩＬＬヘッダおよび内部仮想ネットワーク識別子は、同時に判定される。いくつかの実施形態では、内部仮想ネットワーク識別子は、パケットに追加される必要があるＴＲＩＬＬヘッダを判定するために使用することができる（例えば、転送表の中の記録がＴＲＩＬＬヘッダを特定してもよい）。いったんＴＲＩＬＬヘッダが追加されると、発信ポートを介してＴＲＩＬＬパケットを送信することができる。
【００７３】
いくつかの実施形態では、転送機構３０４またはカプセル化機構３０６は、Ｓタグ（パケットにすでに存在していない場合）を追加してネットワーク仮想化を実装するように構成されてもよい。具体的には、顧客から受信されるパケットがＣタグを含むが、Ｓタグを含まない場合、ＲＢｒｉｄｇｅは、ネットワーク仮想化および／またはＴＲＩＬＬネットワーク内の区分化をサポートするように、Ｓタグをパケットに追加してもよい。本開示で説明されるシステムおよび技法は、ＴＲＩＬＬヘッダに埋め込まれたＶＰＮ識別子またはＳタグのいずれか一方を使用して、ネットワーク仮想化および／または区分化を実装するために使用されてもよい。
【００７４】
いくつかの実施形態では、ポリシー適用機構３０８は、内部ポリシー識別子と関連付けられるポリシーに従ってパケットを処理するように構成することができる。異なる仮想ネットワークからのパケットが、同じポリシーに従って処理されることを所望される場合、これらの仮想ネットワークからのパケットを同じ内部ポリシー識別子にマップすることができる。ポリシーは、概して、どのようにしてパケットがシステム内で処理されるかを特定する、恣意的な１組の規則を含むことができる。ポリシー適用機構３０８が所与のポリシーに従ってパケットを処理するときに、システムは、パケットを撤回すること、特定のリンクまたはパス上でパケットを送ること、および／またはパケットのヘッダの中の情報を修正することを含むことができるが、それらに限定されない、１つ以上の措置を行うことができる。ポリシー適用機構３０８がパケットに行う特定のポリシーベースの措置は、パケットに記憶された情報に依存することができ、転送機構３０４によってパケットに行われた転送判定を無効にすることができる。
【００７５】
図３は、例示目的のみであり、本発明を開示される形態に限定することを目的としないことに留意されたい。具体的には、いくつかの実施形態では、スイッチ３００は、ＲＢｒｉｄｇｅではなくてもよく、および／または図３に示されるものよりも少ない、または多くの機構を含んでもよい。
【００７６】
図４Ａは、本発明のいくつかの実施形態による、内部仮想ネットワーク識別子に基づいてパケットを転送するための過程を図示するフローチャートを提示する。
【００７７】
過程は、スイッチ、例えば、ＲＢｒｉｄｇｅ１０２によって行うことができる。パケットを受信すると、スイッチは、パケットが受信されるポートおよび／またはパケットのヘッダの中の１つ以上のフィールドに基づいて、パケットの内部仮想ネットワーク識別子を転送することができる（動作４０２）。具体的には、内部仮想ネットワーク識別子は、顧客ＶＬＡＮ識別子、サービスプロバイダＶＬＡＮ識別子、ソースＭＡＣアドレス、および／またはＶＰＮ識別子に基づいて判定することができる。例えば、スイッチは、コンテキストアドレス可能メモリ内のパケットヘッドの中の１つ以上のフィールドを参照することによって内部仮想ネットワーク識別子を判定してもよい。参照が失敗した場合、スイッチは、デフォルト内部仮想ネットワーク識別子をパケットに割り当ててもよい。デフォルト内部仮想ネットワーク識別子は、例えば、仮想ネットワーク規模または物理ネットワーク規模で、システム規模で、および／またはポート毎に、１つ以上の粒度のレベルで定義されてもよい。
【００７８】
次に、スイッチは、内部仮想ネットワーク識別子に基づいてパケットを転送することができる（動作４０４）。スイッチは、加えて、ＴＲＩＬＬヘッダを追加することによって、ＴＲＩＬＬパケットにパケットをカプセル化し、内部仮想ネットワーク識別子に基づいて判定された発信ポートを介してＴＲＩＬＬパケットを送信することができる。
【００７９】
図４Ｂは、本発明のいくつかの実施形態による、内部ポリシー識別子に基づいてポリシーをパケットに適用するための過程を図示する、フローチャートを提示する。
【００８０】
過程は、スイッチ、例えば、ＲＢｒｉｄｇｅ１０２によって行うことができる。パケットを受信すると、スイッチは、パケットが受信されるポートおよび／またはパケットのヘッダの中の１つ以上のフィールドに基づいて、パケットの内部ポリシー識別子を判定することができる（動作４５２）。具体的には、内部ポリシー識別子は、顧客ＶＬＡＮ識別子、サービスプロバイダＶＬＡＮ識別子、ソースＭＡＣアドレス、および／またはＶＰＮ識別子に基づいて判定することができる。例えば、スイッチは、コンテキストアドレス可能メモリ内のパケットヘッドの中の１つ以上のフィールドを調べることによって内部ポリシー識別子を判定してもよい。参照が失敗した場合、スイッチは、デフォルト内部ポリシー識別子をパケットに割り当ててもよい。デフォルト内部ポリシー識別子は、例えば、仮想ネットワーク規模または物理ネットワーク規模で、システム規模で、および／またはポート毎に、１つ以上の粒度のレベルで定義されてもよい。
【００８１】
次に、スイッチは、内部ポリシー識別子に基づいてパケットを処理することができる（動作４５４）。内部ポリシー識別子に基づいてパケットを処理することは、パケットを撤回すること、特定のリンクまたはパス上でパケットを送ること、および／またはパケットのヘッダの中の情報を修正することを含むことができるが、それらに限定されない、１つ以上の措置を行うことができる。行われる特定のポリシーベースの措置は、パケットに記憶された情報に依存することができ、内部仮想ネットワーク識別子に基づいてパケットに行われた転送判定を無効にすることができる。
【００８２】
図５Ａは、本発明のいくつかの実施形態による、パケットヘッダ情報と内部仮想ネットワーク識別子との間のマッピングの実施例を図示する。
【００８３】
上述のように、パケットが受信されるポートおよび／またはパケットのヘッダの中の１つ以上のフィールドを内部仮想ネットワーク識別子にマップすることができる。図５Ａに示されるマッピングは、パケットのヘッダからの（ＶＬＡＮ識別子、ＶＰＮ識別子）タプルを内部仮想ネットワーク識別子にマップしてもよい。図５に示されるマッピングは、例示目的のみであり、本発明を開示される形態に限定することを目的としない。
【００８４】
図５Ａに図示されるマッピングは、図１のＲＢｒｉｄｇｅ１０２、１０４、１０６、１０８、および１１０に対応し得る。ＲＢｒｉｄｇｅ１０６上のマッピングは、（ＶＬＡＮ識別子、ＶＰＮ識別子）タプル５０６および５０８を、それぞれ、内部仮想ネットワーク識別子ＩＶＮＩＤ−０１およびＩＶＮＩＤ−０２にマップし得る。ＲＢｒｉｄｇｅ１０８上のマッピングは、タプル５０６、５０８、および５１０を、それぞれ、内部仮想ネットワーク識別子ＩＶＮＩＤ−０３、ＩＶＮＩＤ−０４、およびＩＶＮＩＤ−０５にマップし得る。ＲＢｒｉｄｇｅ１１０上のマッピングは、タプル５０２、５０４、および５１０を、それぞれ、内部仮想ネットワーク識別子ＩＶＮＩＤ−０６、ＩＶＮＩＤ−０７、およびＩＶＮＩＤ−０８にマップし得る。
【００８５】
ＲＢｒｉｄｇｅ１０２上のマッピングは、タプル５０２および５０４を、それぞれ、内部仮想ネットワーク識別子ＩＶＮＩＤ−０９およびＩＶＮＩＤ−１０にマップし得る。タプル５０６、５０８、および５１０と関連付けられるトラフィックがＲＢｒｉｄｇｅ１０２を通過する場合、これらのタプルは、共通内部仮想ネットワーク識別子、すなわち、ＩＶＮＩＤ−１１にマップされ得る。全てのトラフィックがＲＢｒｉｄｇｅ１０４を通過する場合、ＲＢｒｉｄｇｅは、全てのタプルを、共通内部仮想ネットワーク識別子、つまり、ＩＶＮＩＤ−１２にマップし得る。
【００８６】
いくつかの実施形態では、内部仮想ネットワーク識別子の範囲は、ＲＢｒｉｄｇｅを越えて延在しない。よって、異なるＲＢｒｉｄｇｅが、同じタプルを異なる内部仮想ネットワーク識別子にマップし得る。例えば、タプル５０６は、それぞれ、ＲＢｒｉｄｇｅ１０６、１０８、１０２、および１０４上で、内部仮想ネットワーク識別子ＩＶＮＩＤ−０１、ＩＶＮＩＤ−０３、ＩＶＮＩＤ−１１、およびＩＶＮＩＤ−１２にマップされる。
【００８７】
ＲＢｒｉｄｇｅ１０６は、そのヘッダ情報がタプル５０６を含むポートＰ１上でパケットを受信するときに、関連内部仮想ネットワーク識別子、つまり、ＩＶＮＩＤ−０１を判定するために、図５Ａに示されるマッピングを使用することができる。次に、ＲＢｒｉｄｇｅ１０６は、ＩＶＮＩＤ−０１に基づいてパケットを転送することができる。具体的には、ＲＢｒｉｄｇｅ１０６は、ＩＶＮＩＤ−０１をキーとして使用して、転送参照を行うことができる。参照動作の結果は、ＴＲＩＬＬパケットを取得するように、ＴＲＩＬＬヘッダがパケットに追加されること、および結果として生じるＴＲＩＬＬパケットがＲＢｒｉｄｇｅ１０２に転送されることを示してもよい。ＲＢｒｉｄｇｅ１０２では、ＴＲＩＬＬパケットは、ＴＲＩＬＬヘッダに基づいてＲＢｒｉｄｇｅ１０８に転送されてもよい。
【００８８】
ＲＢｒｉｄｇｅ１０２は、ヘッダ情報に基づいて内部仮想ネットワーク識別子（例えば、ＩＶＮＩＤ−１１）を判定してもよいことに留意されたい。しかしながら、パケットがＴＲＩＬＬヘッダを有する場合、内部仮想ネットワーク識別子は、（パケットがＶＬＡＮ１１２または１１４に向かう予定であると仮定して）パケットを転送する目的でＲＢｒｉｄｇｅ１０２によって無視されてもよい。
【００８９】
パケットがＲＢｒｉｄｇｅ１０８で受信されるときに、内部仮想ネットワーク識別子（例えば、ＩＶＮＩＤ−０３）は、ヘッダ情報に基づいて判定されてもよい。次に、内部ネットワーク識別子が、転送参照を行うために使用されてもよい。参照動作の結果は、パケットがポートＰ１上でＶＬＡＮ１１６に転送されることを示してもよい。したがって、ＲＢｒｉｄｇｅ１０８は、ポートＰ１上でパケットをＶＬＡＮ１１６に転送してもよい。
【００９０】
図５Ｂは、本発明のいくつかの実施形態による、パケットヘッダ情報と内部ポリシー識別子との間のマッピングの実施例を図示する。
【００９１】
上述のように、パケットが受信されるポートおよび／またはパケットのヘッダの中の１つ以上のフィールドを内部仮想ネットワーク識別子にマップすることができる。図５Ｂに示されるマッピングは、パケットのヘッダからの（ＶＬＡＮ識別子、ＶＰＮ識別子）タプルを内部ポリシー識別子（ＩＰＩＤ）にマップする。一般に、内部ポリシー識別子と、施行されることが所望されるポリシーとの間には、１対１のマッピングがある。図５Ｂに示されるマッピングは、例示目的に過ぎず、本発明を開示される形態に限定することを目的としない。
【００９２】
図５Ｂに図示されるマッピングは、図１のＲＢｒｉｄｇｅ１０２および１１０に対応する。ＲＢｒｉｄｇｅ１１０上のマッピングは、（ＶＬＡＮ識別子、ＶＰＮ識別子）タプル５０２、５０４、５１０を、それぞれ、内部ポリシー識別子ＩＰＩＤ−０１、ＩＰＩＤ−０２、およびＩＰＩＤ−０２にマップしてもよい。ＲＢｒｉｄｇｅ１０２上のマッピングは、タプル５０２および５０４を、内部ポリシー識別子ＩＰＩＤ−０３にマップしてもよい。同じタプルが、異なるＲＢｒｉｄｇｅによって（どのポリシーが適用されるかに関して）異なる方法で取り扱われてもよいことに留意されたい。例えば、ＲＢｒｉｄｇｅ１１０が、異なるポリシーをタプル５０２および５０４と関連付けられるパケットに適用する（図５Ｂに示されるように、これらのタプルが異なるＩＰＩＤにマップされるため）一方で、ＲＢｒｉｄｇｅ１０２は、同じポリシーをタプル５０２および５０４と関連付けられるパケットに適用する。さらに、ＲＢｒｉｄｇｅは、同じポリシーを、異なる仮想ネットワークおよび／または顧客に属するパケットに適用してもよい。例えば、タプル５０４および５１０は、それぞれ、ＶＬＡＮ１１４および１２０に属するパケットに対応してもよい。図５Ｂに示されるように、ＲＢｒｉｄｇｅ１１０は、タプル５０４および５１０を同じＩＰＩＤにマップし、ＲＢｒｉｄｇｅ１１０は、同じポリシーをＶＬＡＮ１１４（顧客Ｃ３に属する）およびＶＬＡＮ１２０（顧客Ｃ１に属する）からのパケットに適用する。
【００９３】
（ＴＲＩＬＬネットワーク内で複数のマルチキャストツリーをサポートする）
マルチキャストパケットが入力ポート上で受信されるときに、マルチキャストパケットヘッダは、その上でマルチキャストパケットが転送される１組の出力ポートを判定するように、スイッチによって処理される。しばしば、転送機構（例えば、転送参照を行うために設計されている特定用途向け集積回路）は、データパスの障害である。その結果として、処理速度を増加させ、転送機構のサイズおよび複雑性を減少させることが、通常、非常に重要である。
【００９４】
複数のマルチキャストツリーをサポートするための１つのアプローチは、所与のソースアドレスおよびマルチキャストグループアドレスに対する転送表の中に複数の転送入力（例えば、マルチキャストツリーにつき１つの入力）を有することである。残念ながら、このアプローチは、転送表のサイズを大幅に増大させ、または転送表によってサポートすることができるマルチキャストグループの数を厳しく限定し得る。
【００９５】
いくつかの実施形態は、マルチキャストパケットのヘッダの中の１つ以上のフィールドに基づいて、内部マルチキャストグループ識別子を判定する。次いで、それを介してマルチキャストパケットが転送される、１組の出口ポートを判定するために、マルチキャストグループ識別子が使用される。
【００９６】
図６Ａは、本発明のいくつかの実施形態による、どのようにして内部マルチキャストグループ識別子を判定することができるかを図示する。
【００９７】
内部マルチキャストグループ識別子６１２は、２組のビットから成る。第１組のビット６０８は、マルチキャストパケットのソースアドレスおよびマルチキャストアドレス６０２を使用して、転送表６０４を参照することによって判定することができる。いくつかの実施形態では、転送表６０４は、コンテンツアドレス可能メモリを使用して実装される。第２組のビット６１０は、マルチキャストパケットの中のマルチキャストツリー識別子６０６に基づいて判定することができる。マルチキャストパケットがマルチキャストツリー識別子を持たない場合、スイッチは、例えば、ハッシュベースの技法を使用することによって、独自に第２組のビット６１０を選択することができる。
【００９８】
転送表がスイッチによってサポートされる各マルチキャストツリーの入力を記憶しないことに留意されたい。代わりに、転送表は、所与のソースアドレスおよびマルチキャストアドレスに対する単一の入力を記憶する。次いで、第２組のビットは、所与のソースアドレスおよびマルチキャストアドレスと関連付けられる複数のマルチキャストツリーからの特定のツリーを選択するために使用される。転送表が各マルチキャストツリーに対する入力を記憶するように要求されないため、本発明のいくつかの実施形態は、各マルチキャストツリーに対する入力を記憶するように転送表に要求する他のアプローチよりも、大幅に多数のマルチキャストツリーをサポートすることが可能である。
【００９９】
図６Ｂおよび６Ｃは、本発明のいくつかの実施形態による、同じソースおよびマルチキャストアドレスに対する異なるマルチキャストツリーを図示する。
【０１００】
ＲＢｒｉｄｇｅ６２２−６３６は、ＴＲＩＬＬネットワーク内にあり得る。マルチキャストグループは、ＲＢｒｉｄｇｅ６２２、６２６、６２８、６３０、および６３６（マルチキャストグループ内のＲＢｒｉｄｇｅは点で描いた円を使用して示されている）を含むことができる。図６Ｂおよび６Ｃは、点線を使用して２つのマルチキャストツリーを図示する。両方のマルチキャストツリーがＲＢｒｉｄｇｅ６３０に根差すことに留意されたい。
【０１０１】
図６Ｄは、本発明のいくつかの実施形態による、どのようにして内部マルチキャストグループ識別子を判定することができるかを図示する。
【０１０２】
マルチキャストパケットは、ＲＢｒｉｄｇｅ６２６で受信されるときに、転送表６５４を参照して第１組のビット６５８を取得するために、マルチキャストパケットのソースおよびマルチキャストアドレス６５２を使用してもよい。ソースおよびマルチキャストアドレス６５２は、イーサネット（登録商標）またはＩＰアドレスであってもよい。
【０１０３】
次に、ＲＢｒｉｄｇｅ６２６は、第２組のビットを判定するために、マルチキャストパケットの中のマルチキャストツリー識別子を使用してもよい。マルチキャストパケットの中のマルチキャストツリー識別子は、その上でマルチキャストパケットが転送されるマルチキャストツリーを識別することに留意されたい。いくつかの実施形態では、マルチキャストツリー識別子は、ＲＢｒｉｄｇｅニックネームである。例えば、ＲＢｒｉｄｇｅ６３０は、ＲＢｒｉｄｇｅ６３０に根差した複数のマルチキャストツリーに対応してもよい、複数のニックネームと関連付けられてもよい。
【０１０４】
図６Ｂに図示されるマルチキャストツリーは、マルチキャストツリー識別子６５６と関連付けることができ、ＲＢｒｉｄｇｅ６２６は、第２組のビット６６０を判定するためにマルチキャストツリー識別子６５６を使用してもよい。図６Ｃに図示されるマルチキャストツリーは、マルチキャストツリー識別子６６６と関連付けることができ、ＲＢｒｉｄｇｅ６２６は、第２組のビット６７０を判定するためにマルチキャストツリー識別子６６６を使用してもよい。
【０１０５】
次いで、ＲＢｒｉｄｇｅ６２６は、内部マルチキャストグループ識別子を取得するように、第１組のビットおよび第２組のビットを組み合わせることができる。例えば、マルチキャストパケットがマルチキャストツリー識別子６５６を含有する場合、ＲＢｒｉｄｇｅ６２６は、内部マルチキャストグループ識別子６６２を取得するように、第１組のビット６５８を第２組のビット６６０と組み合わせることができる。他方で、マルチキャストパケットがマルチキャストツリー識別子６６６を含有する場合、ＲＢｒｉｄｇｅ６２６は、内部マルチキャストグループ識別子６７２を取得するために第１組のビット６５８を第２組のビット６７０と組み合わせることができる。
【０１０６】
図６Ｅは、本発明のいくつかの実施形態による、１組の出口ポートを判定するために、どのようにして内部マルチキャストグループ識別子を使用することができるかを図示する。
【０１０７】
内部マルチキャストグループ識別子に基づいて１組の出口ポートを判定するために、出口ポート参照表６８０を使用することができる。例えば、内部マルチキャストグループ識別子６６２を使用して、ＲＢｒｉｄｇｅ６２６において表参照を行うことが、１組の出口ポート｛Ｐ−６３６｝を出力してもよい。ポートＰ−６３６は、ＲＢｒｉｄｇｅ６３６に連結されるＲＢｒｉｄｇｅ６２６上のポートを表す。同様に、内部マルチキャストグループ識別子６７２を使用して、ＲＢｒｉｄｇｅ６２６において表参照を行うことが、１組の出口ポート｛Ｐ−６２２，Ｐ−６３６｝を出力してもよい。ポートＰ−６２２は、ＲＢｒｉｄｇｅ６２２に連結されるＲＢｒｉｄｇｅ６２６上のポートを表す。いったん１組の出口ポートが判定されると、システムは、出口ポートを介してマルチキャストパケットのコピーを転送することができる。出口ポート参照表６８０は、内部マルチキャストグループ識別子を使用してインデックスを付けられるアレイとして実装されてもよい。アレイの中の各入力は、１組の出口ポートを記憶してもよい。
【０１０８】
（ＴＲＩＬＬネットワーク内のネットワーク層マルチキャスティング）
いくつかの実施形態は、ネットワーク層（例えば、ＩＰ層）マルチキャスティングを行うためのシステムおよび技法を提供する。コンピュータネットワーキングは、典型的には、しばしば、ネットワーキングスタックと呼ばれる、層状のソフトウェアアーキテクチャを使用して達成される。各層は通常、その層の中のパケットを処理するための規則および慣例を定義する、１組のプロトコルと関連付けられる。各下位層は、パケットの処理に役立つように、それの真上の層にサービスを行う。各ソースノードにおいて、各層は、典型的には、ペイロードがソースノードのネットワーキングスタックを介して上位層から下位層へ移動するにつれて、ヘッダを追加する。宛先ノードは、典型的には、ペイロードが宛先ノードにおいて最下位層から最上位層へ移動するにつれて、各層のヘッダを処理および除去することによって、逆過程を行う。
【０１０９】
ネットワーク層（例えば、ＩＰ層）におけるマルチキャストグループメンバーシップは、複数の仮想ネットワーク、例えば、ＶＰＮおよび／またはＶＬＡＮに及ぶことができる。例えば、図１では、ネットワーク層マルチキャストグループは、それぞれ、サイトＳ２、Ｓ３、およびＳ４におけるＶＬＡＮ１１６、１１８、および１２０の一部である、エンドホストを含んでもよい。いくつかの実施形態では、ＲＢｒｉｄｇｅは、ネットワーク層マルチキャスティングを行うことができ、すなわち、ＲＢｒｉｄｇｅは、ＴＲＩＬＬヘッダ、ＶＰＮ識別子、ＭＡＣアドレス、および／またはＶＬＡＮタグに基づいてパケットを転送することに加えて、ネットワーク層マルチキャストアドレスに基づいてパケットを転送することができる。
【０１１０】
図７は、本発明のいくつかの実施形態による、どのようにしてＲＢｒｉｄｇｅがＴＲＩＬＬネットワークでネットワーク層マルチキャスティングを行うことができるかを図示する。
【０１１１】
ＲＢｒｉｄｇｅ７０２−７１６は、複数の仮想ネットワーク、例えば、ＶＰＮおよび／またはＶＬＡＮを含む、ＴＲＩＬＬネットワーク内にあり得る。各仮想ネットワークは、複数のＴＲＩＬＬマルチキャストツリーをサポートしてもよい。例えば、点線を使用して図示されるＴＲＩＬＬマルチキャストツリー７１８は、ＶＬＡＮ  Ｖ１に属してもよく、鎖線を使用して図示されるＴＲＩＬＬマルチキャストツリー７２０は、ＶＬＡＮ  Ｖ２に属してもよい。
【０１１２】
ネットワーク層（例えば、ＩＰ層）マルチキャストグループは、複数の仮想ネットワーク、例えば、ＶＰＮおよび／またはＶＬＡＮにわたって広げられるエンドホストを含むことができる。例えば、マルチキャストグループは、ＲＢｒｉｄｇｅ７０２、７０８、７１２、および７１６（これらのＲＢｒｉｄｇｅは、それらの周囲に円を描くことによって強調されている）に連結されるＶＰＮおよび／またはＶＬＡＮ内にある、エンドホストを含んでもよい。このマルチキャストグループに対するマルチキャストパケットがＲＢｒｉｄｇｅにおいて受信されるときに、ＲＢｒｉｄｇｅは、特定のＶＬＡＮ上のＴＲＩＬＬマルチキャストツリー上でマルチキャストパケットを転送してもよい。例えば、マルチキャストパケットは、ＲＢｒｉｄｇｅ７０４において受信されるときに、ＶＬＡＮ  Ｖ１上のＴＲＩＬＬマルチキャストツリー７１８上でパケットを転送してもよい。
【０１１３】
マルチキャストパケットは、ＲＢｒｉｄｇｅ７１０において受信されるときに、マルチキャストパケットのネットワーク層マルチキャストアドレスに基づいてパケットを転送してもよい。具体的には、ＲＢｒｉｄｇｅ７１０は、マルチキャストパケットがＶＬＡＮ  Ｖ１およびＶＬＡＮ  Ｖ２の両方の上で転送される必要があると判定してもよい。ＲＢｒｉｄｇｅ７１０は、ＶＬＡＮ  Ｖ２上でサポートされる複数のマルチキャストツリーのうちのいずれか１つの上でマルチキャストパケットを転送してもよい。しかしながら、正しいマルチキャスト転送を確保するために、ＲＢｒｉｄｇｅ７１０は、マルチキャストパケットが受信された同じマルチキャストツリーに沿って、ＶＬＡＮ  Ｖ１上でマルチキャストパケットを転送する必要があってもよい。具体的には、ＲＢｒｉｄｇｅ７１０は、マルチキャストパケットを、それが受信されたものとは異なるＶＬＡＮ  Ｖ１上のマルチキャストツリー上で転送する場合、転送ループを作成することができ、および／またはマルチキャストパケットがマルチキャストグループの中のエンドホストの全てに到達しなくてもよい。ネットワークが複数のマルチキャストツリーをサポートしなければ、これらの問題が生じないことに留意されたい。
【０１１４】
ＲＢｒｉｄｇｅは、ネットワーク層マルチキャスティングを行うように構成されてもされなくてもよいことに留意されたい。例えば、上記の実施例では、ＲＢｒｉｄｇｅ７０４が、ネットワーク層マルチキャスティングを行うように構成されない一方で、ＲＢｒｉｄｇｅ７１０は、ネットワーク層マルチキャスティングを行うように構成される。
【０１１５】
いくつかの実施形態では、マルチキャストパケットは、ＴＲＩＬＬマルチキャストパケットとなり得て、その上でマルチキャストパケットが転送されるマルチキャストツリーと関連付けられるマルチキャストツリー識別子を含むことができる。ＴＲＩＬＬマルチキャストパケットのヘッダは、ＴＲＩＬＬパケットがマルチキャストパケットであることを示す、マルチキャストフィールド（例えば、図２のマルチキャストフィールド２５０）を含むことができる。出口ＲＢｒｉｄｇｅニックネーム（例えば、図２の出口ＲＢｒｉｄｇｅニックネーム２５６）は、その上でマルチキャストパケットが転送されるマルチキャストツリーの根本に対応することができる。
【０１１６】
図８は、本発明のいくつかの実施形態による、スイッチを図示する。
【０１１７】
スイッチ８００は、通信チャネル、例えば、バスを介して、相互と通信してもよい、複数の機構を含むことができる。スイッチ８００は、１つ以上の集積回路を使用して実現されてもよい。
【０１１８】
いくつかの実施形態では、スイッチ８００は、受信機構８０２と、判定機構８０４と、転送機構８０６と、カプセル化機構８０８と、脱カプセル化機構８１０とを含むＲＢｒｉｄｇｅ（例えば、ＲＢｒｉｄｇｅ１０２）である。いくつかの実施形態では、これらの機構は、特定用途向け集積回路の一部であってもよい。
【０１１９】
受信機構８０２は、マルチキャストパケット（例えば、イーサネット（登録商標）またはＴＲＩＬＬマルチキャストパケット）を受信するように構成されてもよい。判定機構８０４は、ソースアドレス、マルチキャストアドレス、およびマルチキャストパケットと関連付けられるマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定するように構成されてもよい。
【０１２０】
転送機構８０６は、内部マルチキャストグループ識別子に基づいてパケットを転送するように構成されてもよい。具体的には、転送機構８０６は、内部マルチキャストグループ識別子を使用してインデックスを付けられる、表（例えば、メモリの中のアレイ）を含んでもよい。表の中の各記録（例えば、アレイ要素）は、パケットを転送する方法を示す情報を含むことができる。例えば、記録は、出口ポートを識別する１組の出口ポート識別子を含んでもよい。記録はまた、ヘッダの中の１つ以上のフィールドを修正するための命令および／または情報を含んでもよい（例えば、記録は、ＶＬＡＮ変換が行われることを示し、新しいＶＬＡＮ識別子を特定してもよい）。加えて、記録は、パケットに追加される必要があるヘッダフィールド（例えば、ＴＲＩＬＬヘッダ）を含んでもよい。マルチキャストパケットが出口ポートに連結される複数のＶＬＡＮに送信される場合、マルチキャストパケットの複数のコピーがスイッチ８００の出口ポート上に送信されてもよい。
【０１２１】
カプセル化機構８０８は、ＴＲＩＬＬパケットの中にマルチキャストパケットのコピーをカプセル化するように構成されてもよい。具体的には、カプセル化機構８０８は、ＴＲＩＬＬマルチキャストパケットを取得するように、ＴＲＩＬＬヘッダをマルチキャストパケットのコピーに追加してもよい。いくつかの実施形態では、ＴＲＩＬＬヘッダおよび内部マルチキャストグループ識別子は、同時に判定されてもよい。いったんＴＲＩＬＬヘッダが追加されると、発信ポートを介してＴＲＩＬＬマルチキャストパケットを送信することができる。
【０１２２】
脱カプセル化機構８１０は、ＴＲＩＬＬマルチキャストパケットの中にカプセル化されたマルチキャストパケットを取得するように、（例えば、ＴＲＩＬＬヘッダを除去することによって）ＴＲＩＬＬマルチキャストパケットを脱カプセル化するように構成されてもよい。次いで、マルチキャストパケットを、顧客のネットワーク（例えば、顧客ＶＬＡＮ）に転送することができる。
【０１２３】
いくつかの実施形態では、スイッチ８００（例えば、図７のＲＢｒｉｄｇｅ７１０）は、ネットワーク層マルチキャスティングを行うように構成されてもよい。これらの実施形態では、受信機構８０２は、ネットワーク層マルチキャストアドレスを含むマルチキャストパケットを受信するように構成されてもよい。具体的には、受信機構８０２は、第１の仮想ネットワーク（例えば、ＶＬＡＮ  Ｖ１）と関連付けられる第１のマルチキャストツリー（例えば、図７のＴＲＩＬＬマルチキャストツリー７１８）上でマルチキャストパケットを受信してもよい。マルチキャストパケットは、第１のマルチキャストツリーと関連付けられる第１のマルチキャストツリー識別子を含んでもよい。第１のマルチキャストツリー識別子は、第１のマルチキャストツリーの根本にあるＲＢｒｉｄｇｅのニックネームとなり得る。
【０１２４】
判定機構８０４は、ネットワーク層マルチキャストアドレスに基づいて、その上でパケットが転送される１つ以上の仮想ネットワークと関連付けられる１つ以上のマルチキャストツリーを判定するように構成されてもよい。例えば、判定機構８０４は、ネットワーク層マルチキャストアドレスに基づいて、その上でマルチキャストパケットが転送される第２の仮想ネットワーク（例えば、ＶＬＡＮ  Ｖ２）と関連付けられる第２のマルチキャストツリー（例えば、図７のＴＲＩＬＬマルチキャストツリー７２０）を判定するように構成されてもよい。
【０１２５】
転送機構８０６は、１つ以上のマルチキャストツリーに基づいてマルチキャストパケットを転送するように構成されてもよい。例えば、転送機構８０６は、第１の仮想ネットワークと関連付けられる第１のマルチキャストツリー上でマルチキャストパケットを転送し、第２の仮想ネットワークと関連付けられる第２のマルチキャストツリー上でマルチキャストパケットのコピーを転送するように構成されてもよい。マルチキャストパケットのコピーは、第２のマルチキャストツリーと関連付けられる第２のマルチキャストツリー識別子を含んでもよい。第２のマルチキャストツリー識別子は、第２のマルチキャストツリーの根本にあるＲＢｒｉｄｇｅのニックネームとなり得る。
【０１２６】
いくつかの実施形態では、判定機構８０４は、マルチキャストパケットのネットワーク層マルチキャストアドレスおよびネットワーク層ソースアドレスに基づいて、内部マルチキャストグループ識別子を判定するように構成されてもよく、転送機構８０６は、内部マルチキャストグループ識別子に基づいて、マルチキャストパケットを転送するように構成されてもよい。
【０１２７】
図８は、例示目的のみであり、本発明を開示される形態に限定することを目的としないことに留意されたい。具体的には、いくつかの実施形態では、スイッチ８００は、ＲＢｒｉｄｇｅではなくてもよく、および／または図８に示されるものよりも少ない、または多くの機構を含んでもよい。
【０１２８】
図９Ａは、本発明のいくつかの実施形態による、内部マルチキャストグループ識別子に基づいてパケットを転送するための過程を図示する、フローチャートを提示する。
【０１２９】
過程は、スイッチ、例えば、ＲＢｒｉｄｇｅ１０２によって行うことができる。マルチキャストパケット（例えば、イーサネット（登録商標）またはＴＲＩＬＬマルチキャストパケット）を受信すると、スイッチは、マルチキャストパケットと関連付けられるソースアドレス（例えば、ソースＭＡＣまたはＩＰアドレス）、マルチキャストアドレス（例えば、マルチキャストＭＡＣまたはＩＰアドレス）、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定することができる（動作９０２）。
【０１３０】
いくつかの実施形態では、システムは、ソースアドレスおよびマルチキャストアドレスに基づいて判定される１組のビット、およびマルチキャストツリー識別子に基づいて判定される第２組のビットといった、２組のビットを組み合わせることによって、内部マルチキャストグループ識別子を判定することができる。具体的には、いくつかの実施形態では、２組のビットを組み合わせることは、内部マルチキャストグループ識別子を作成するように２組のビットを連結させることを有する。
【０１３１】
例えば、ソースＩＰアドレスおよびマルチキャストＩＰアドレスは、コンテキストアドレス可能メモリの中の第１組のビットを参照するために使用することができる。マルチキャストパケットがマルチキャストツリー識別子（例えば、ＲＢｒｉｄｇｅニックネーム）を含む場合、第２組のビットを判定するためにマルチキャストツリー識別子を使用することができる。マルチキャストパケットがマルチキャストツリー識別子を含まない場合、システムは、マルチキャストパケットの中の１つ以上のフィールドのハッシュ値を計算することによって（または任意の他の手段によって）第２組のビットを判定することができる。次に、内部マルチキャストグループ識別子を取得するように、第１組のビットを第２組のビットと連結させることができる。
【０１３２】
次に、スイッチは、内部マルチキャストグループ識別子に基づいてマルチキャストパケットを転送することができる（動作９０４）。具体的には、システムは、内部マルチキャストグループ識別子に基づいて１組の出口ポートを判定することができる。次に、システムは、１組の出口ポートの中の各ポートを介して、マルチキャストパケットの少なくとも１つのコピーを送信することができる。スイッチは、加えて、ＴＲＩＬＬヘッダを追加することによって、ＴＲＩＬＬマルチキャストパケットの中にマルチキャストパケットをカプセル化し、内部マルチキャストグループ識別子に基づいて判定された１組の出口ポートを介して、ＴＲＩＬＬマルチキャストパケットのコピーを送信することができる。
【０１３３】
図９Ｂは、本発明のいくつかの実施形態による、ＴＲＩＬＬネットワークでネットワーク層マルチキャスティングを行うための過程を図示する、フローチャートを提示する。
【０１３４】
過程は、スイッチ、例えば、図７のＲＢｒｉｄｇｅ７１０によって行うことができる。スイッチは、ネットワーク層マルチキャストアドレスを含むマルチキャストパケット（例えば、イーサネット（登録商標）またはＴＲＩＬＬマルチキャストパケット）を受信することができ、マルチキャストパケットは、第１の仮想ネットワークと関連付けられる第１のマルチキャストツリー上で受信される（動作９５２）。例えば、ＲＢｒｉｄｇｅ７１０は、ＶＬＡＮ  Ｖ１上のＴＲＩＬＬマルチキャストツリー７１８上でＲＢｒｉｄｇｅ７０４からマルチキャストパケットを受信してもよい。
【０１３５】
次に、スイッチは、ネットワーク層マルチキャストアドレスに基づいて、その上でマルチキャストパケットが転送される第２の仮想ネットワークと関連付けられる、第２のマルチキャストツリーを判定することができる（動作９５４）。例えば、ＲＢｒｉｄｇｅ７１０は、その上でマルチキャストパケットが転送されるＶＬＡＮ  Ｖ２上のＴＲＩＬＬマルチキャストツリー７２０を判定してもよい。第２のマルチキャストツリーは、ランダムに判定することができ、またはリンク利用に基づいて（例えば、最も輻輳していないマルチキャストツリーを判定することによって）判定することができる。
【０１３６】
次いで、スイッチは、第１の仮想ネットワークと関連付けられる第１のマルチキャストツリー上でマルチキャストパケットを転送し、第２の仮想ネットワークと関連付けられる第２のマルチキャストツリー上でマルチキャストパケットのコピーを転送することができる（動作９５６）。例えば、ＲＢｒｉｄｇｅ７１０は、ＴＲＩＬＬマルチキャストツリー７１８上でマルチキャストパケットをＲＢｒｉｄｇｅ７０８および７１４に転送し、ＴＲＩＬＬマルチキャストツリー７２０上でマルチキャストパケットのコピーをＲＢｒｉｄｇｅ７０６および７１６に転送してもよい。
【０１３７】
（仮想ネットワーク毎のフラッディング）
フラッディング参照動作が失敗した場合、スイッチは、パケットがその意図した宛先に到達することを確実にするように、パケットを大量に送ってもよい。残念ながら、フラッディングは、大量のネットワークリソースを消費し得る。したがって、概して、可能であればフラッディングの程度を制限することが望ましい。
【０１３８】
ＩＶＮＩＤベースのアプローチでは、複数の仮想ネットワーク（例えば、ＶＰＮまたはＶＬＡＮ）からのパケットが、同じＩＶＮＩＤ値にマップされてもよい。例えば、図５Ａでは、（ＶＬＡＮ識別子、ＶＰＮ識別子）タプル５０６、５０８、および５１０が、ＲＢｒｉｄｇｅ１０２上で同じＩＶＮＩＤ値にマップされる。１つのアプローチでは、パケットの転送参照動作が失敗した場合、スイッチは、少なくとも、パケットのＩＶＮＩＤにマップする仮想ネットワークに、パケットを大量に送ってもよい。例えば、Ｒｂｒｉｄｇｅ１０２上の転送参照動作が、ＩＶＮＩＤ−１１と関連付けられるパケットについて失敗した場合、Ｒｂｒｉｄｇｅ１０２は、少なくとも、タプル５０６、５０８、および／または５１０と関連付けられる全てのポート上でパケットを大量に送ってもよい。
【０１３９】
必要よりも多くの仮想ネットワーク上でパケットを大量に送ることは、ネットワーキングリソースを無駄にし得る。したがって、本発明のいくつかの実施形態では、フラッディングは仮想ネットワーク毎に行われる。具体的には、いくつかの実施形態では、ポートにおけるフィルタリングが、ＶＰＮ識別子に基づいて行われ、パケットがＶＰＮ識別子フィールドを含まない場合、ＶＰＮ識別子は、パケットの中の他のフィールドに基づいて判定することができる（例えば、ＶＰＮ識別子は、Ｓ−ＶＬＡＮ識別子に基づいて判定することができる）。例えば、ＲＢｒｉｄｇｅ１０２は、ＩＶＮＩＤに基づいて１組の出口ポートを判定することができる。次に、ＲＢｒｉｄｇｅ１０２は、パケットのコピーを１組の出口ポートに提供することができる。次いで、各出口ポートは、パケットの中の仮想ネットワーク識別子（例えば、ＴＲＩＬＬヘッダの中のＶＰＮ識別子、またはパケットの中の他のフィールドに基づいて判定されるＶＰＮ識別子）が出口ポートと関連付けられる場合のみ、パケットを大量に送ることができる。言い換えれば、いったんパケットがＩＶＮＩＤに基づく１組の出口ポートに提供された場合、出口ポートは、パケットの中の仮想ネットワーク識別子フィールドに基づいて、パケットをフィルタにかけることができる。例えば、図５Ａに示されるように、全てのパケットは、ＲＢｒｉｄｇｅ１０４上でＩＶＮＩＤ−１２にマップされる。この場合、転送参照が失敗した場合、パケットは、ＲＢｒｉｄｇｅ１０４上で全ての出口ポートに提供することができる。次いで、各出口ポートは、出口ポートがパケットの中の仮想ネットワーク識別子と関連付けられるか否かに応じて、パケットを大量に送ることができる。
【０１４０】
図１０は、本発明のいくつかの実施形態による、スイッチを図示する。
【０１４１】
スイッチ１０００は、通信チャネル、例えば、バスを介して、相互と通信してもよい、複数の機構を含むことができる。スイッチ１０００は、１つ以上の集積回路を使用して実現されてもよい。いくつかの実施形態では、スイッチ１０００は、転送参照機構１００２と、判定機構１００４と、フラッディング機構１００６とを含む、ＲＢｒｉｄｇｅ（例えば、ＲＢｒｉｄｇｅ１０２）である。いくつかの実施形態では、これらの機構は、特定用途向け集積回路の一部であってもよい。
【０１４２】
転送参照機構１００２は、パケットのヘッダの中の１つ以上のフィールドに基づいて、転送参照動作を行うように構成されてもよい。パケットのヘッダの中の１つ以上のフィールドは、顧客ＶＬＡＮ識別子、サービスプロバイダＶＬＡＮ識別子、ソースＭＡＣアドレス、宛先ＭＡＣアドレス、入口ＲＢｒｉｄｇｅニックネーム、および出口ＲＢｒｉｄｇｅニックネームを含むことができるが、それらに限定されない。いくつかの実施形態では、転送参照機構１００２は、コンテンツアドレス可能メモリを使用して参照を行うように構成されてもよい。
【０１４３】
スイッチ１０００は、パケットが受信されるポートおよび／またはパケットのヘッダの中の１つ以上のフィールドに基づいて、パケット（例えば、イーサネット（登録商標）パケット）の内部仮想ネットワーク識別子を判定してもよい。スイッチおよび／またはポート構成は、内部仮想ネットワーク識別子を判定するために、どのフィールドが使用されるかを判定することができる。例えば、スイッチの１つのポートは、全てのパケットを特定の内部仮想ネットワーク識別子にマップするように構成されてもよい。スイッチの別のポートは、１組のＣ−ＶＬＡＮ識別子を、対応する１組の内部仮想ネットワーク識別子にマップし、Ｃ−ＶＬＡＮ識別子が１組のＣ−ＶＬＡＮ識別子の中になければ、デフォルト内部仮想ネットワーク識別子をパケットに割り当てるように構成されてもよい。
【０１４４】
転送参照動作が成功した場合、スイッチ１０００は、転送参照動作の結果および内部仮想ネットワーク識別子に基づいて、パケットを転送してもよい。スイッチは、内部仮想ネットワーク識別子を使用してインデックスを付けられる、表（例えば、メモリの中のアレイ）を含んでもよい。表の中の各記録（例えば、アレイ要素）は、パケットを転送するために使用される情報を含むことができる。例えば、記録は、ヘッダの中の１つ以上のフィールドを修正するための命令および／または情報を含んでもよい（例えば、記録は、ＶＬＡＮ変換が行われることを示し、新しいＶＬＡＮ識別子を特定してもよい）。加えて、記録は、パケットに追加される必要があるヘッダフィールド（例えば、ＴＲＩＬＬヘッダ）を示してもよい。いったんパケットが出口ポートに提供されると、システムは、パケットに対するカプセル化を判定することができる。具体的には、出口ポートにおいて、システムは、Ｃタグ、Ｓタグ、ＴＲＩＬＬヘッダ、および／またはＶＰＮ識別子を含有するＴＲＩＬＬオプションフィールドとともに、出口ポートを介してパケットを送信するか否かを判定することができる。システムはまた、Ｃタグ、Ｓタグ、および／またはＶＰＮ識別子を変換すること等の変換動作を行うこともできる。
【０１４５】
しかしながら、転送参照動作が失敗した場合、判定機構１００４は、パケットのヘッダの中の仮想ネットワーク識別子に基づいて、１組の出口ポートを判定してもよい。例えば、システムは、ＶＬＡＮタグの中のＶＬＡＮ識別子、またはＴＲＩＬＬオプションフィールドの中のＶＰＮ識別子、あるいはそれらの組み合わせに基づいて、１組の出口ポートを判定することができる。
【０１４６】
フラッディング機構１００６は、１組の出口ポート上でパケットを大量に送るように構成されてもよい。フラッディングがパケットのヘッダの中の仮想ネットワーク識別子に基づいて判定された１組の出口ポート上で行われる場合、フラッディングは、ネットワーク内の特定のノードがパケットと関連付けられる仮想ネットワークに属するか否かにかかわらず、全てのポート上でパケットを大量に送るアプローチよりも効率的である。
【０１４７】
いくつかの実施形態では、パケットは、パケットのヘッダの中の仮想ネットワーク識別子に基づいて判定されてもよいマルチキャストツリー上で、パケットを転送することによって、大量に送られる。具体的には、スイッチ１０００は、そのヘッダがマルチキャストツリー識別子を含むＴＲＩＬＬマルチキャストパケットを作成することができる。次に、スイッチ１０００は、マルチキャストツリー識別子と関連付けられる１組の出口ポート上でＴＲＩＬＬマルチキャストパケットを転送することができる。いくつかの実施形態では、マルチキャストツリー識別子は、マルチキャストツリーの根本であるＲＢｒｉｄｇｅのニックネームである。
【０１４８】
図１０は、例示目的のみであり、本発明を開示される形態に限定することを目的としないことに留意されたい。いくつかの実施形態では、スイッチ１０００は、ＲＢｒｉｄｇｅではなくてもよく、および／または図１０に示されるものよりも少ない、または多くの機構を含んでもよい。
【０１４９】
いくつかの実施形態では、判定機構１００４は、パケットと関連付けられるＩＶＮＩＤ、および／またはパケットのヘッダの中の１つ以上のフィールドに基づいて、１組の出口ポートを判定してもよい。次に、フラッディング機構１００６は、パケットのコピーを１組の出口ポートの中の各出口ポートに提供することができる。次いで、フラッディング機構１００６は、パケットの中の仮想ネットワーク識別子にが出口ポートと関連付けられる場合のみ、出口ポート上でパケットのコピーを大量に送ることができる。例えば、出口ポートが、仮想ネットワーク識別子と関連付けられる顧客ネットワークに連結されない場合、出口ポートは、パケットをフィルタにかけて除去してもよい。
【０１５０】
図１１は、本発明のいくつかの実施形態による、仮想ネットワーク毎にパケットを大量に送るための過程を図示する、フローチャートを提示する。
【０１５１】
過程は、スイッチ、例えば、ＲＢｒｉｄｇｅ１０２によって行うことができる。パケットを受信すると、スイッチは、パケットの中の１つ以上のフィールドおよび／またはパケットが受信されたポートに基づいて、内部仮想ネットワーク識別子を判定することができる（動作１１０２）。次に、システムは、内部仮想ネットワーク識別子に基づいて転送参照動作を行うことができる（動作１１０４）。
【０１５２】
転送参照動作が成功した場合、スイッチは、それに従ってパケットを処理し、転送することができる（動作１１０６）。しかしながら、転送参照動作が失敗した場合、スイッチは、内部仮想ネットワーク識別子に基づいて１組の出口ポートを判定することができる（動作１１０８）。次に、スイッチは、パケットのコピーを１組の出口ポートの中の各出口ポートに提供することができる（動作１１１０）。次いで、システムは、パケットのヘッダの中の仮想ネットワーク識別子が出口ポートと関連付けられる場合に、出口ポート上でパケットを大量に送ることができる（動作１１１２）。例えば、出口ポートがＶＰＮ識別子と関連付けられる仮想ネットワークに連結されることをパケットの中のＶＰＮ識別子が示す場合に、システムは、口ポート上でパケットを大量に送ることができる。
【０１５３】
図１２は、本発明のいくつかの実施形態による、どのようにして仮想ネットワーク毎にフラッディングを行うことができるかを図示する。
【０１５４】
ＲＢｒｉｄｇｅ１２０２−１２１６は、ＴＲＩＬＬネットワーク内にあり得る。ＲＢｒｉｄｇｅ１２０２、１２０８、および１２１６は、同じ仮想ネットワークの一部である顧客ネットワークに連結することができる。例えば、ＲＢｒｉｄｇｅ１２０２、１２０４、１２０８、および１２１６は、異なる顧客サイトにおいてＶＬＡＮ１２１８に連結されてもよい。ＲＢｒｉｄｇｅ１２１０が、ＶＬＡＮ１２１８と関連付けられるＶＬＡＮ識別子を含むＲＢｒｉｄｇｅ１２０４からパケットを受信すると想定する。パケットに対する転送参照動作がＲＢｒｉｄｇｅ１２１０において失敗した場合、ＲＢｒｉｄｇｅ１２１０は、ＴＲＩＬＬマルチキャストパケットの中にパケットをカプセル化し、点線を使用して図１２に示されるようなマルチキャストツリー上でＴＲＩＬＬマルチキャストパケットを転送することができる。
【０１５５】
ＴＲＩＬＬマルチキャストツリーはＲＢｒｉｄｇｅ１２１０に根本があることに留意されたい。いくつかの実施形態では、ＴＲＩＬＬマルチキャストパケットヘッダは、パケットがマルチキャストパケットであることを示す、フィールド（例えば、図２のマルチキャストフィールド２５０）を含むことができる。さらに、ＴＲＩＬＬマルチキャストパケットヘッダは、その上でＴＲＩＬＬマルチキャストパケットが転送されるマルチキャストツリーを識別する出口ＲＢｒｉｄｇｅニックネームとして、マルチキャストツリー識別子を含むことができる。例えば、図２の出口ＲＢｒｉｄｇｅ２５６フィールドは、マルチキャストツリーの根本であるＲＢｒｉｄｇｅのニックネームとなるように、それを設定することによって、マルチキャストツリー識別子として使用することができる。
【０１５６】
（ＴＲＩＬＬネットワークにわたってサービスの質（ＱｏＳ）を保つ）
ＱｏＳとは、スイッチおよび／またはネットワークが、そのユーザ（アプリケーション、データフロー）のサービス要件（例えば、損失、遅延等）を満たす能力を指す。これは、典型的には、パケットに含有される情報に基づいて、異なる処理優先度および／またはリソースを提供することによって行われる。例えば、ＱｏＳ目的は、異なる優先レベルを、異なるアプリケーション、ユーザ、またはデータフローからのパケットに提供することによって満たすことができる。ＱｏＳは、目的通りに動作するためにネットワークからのある性能保証を必要とする、アプリケーションをサポートするために幅広く使用される。例えば、リアルタイムストリーミングマルチメディアアプリケーションはしばしば、適正な動作のためにＱｏＳ特徴に依存する。
【０１５７】
パケット交換ネットワークでは、ＱｏＳ情報はしばしば、パケットヘッダの中の１つ以上のビットの中で運ばれる。ネットワーク内の各スイッチまたはノードにおいて、パケットを処理する方法を判定するために、パケットの中のＱｏＳ情報を使用することができる。例えば、ＱｏＳビットは、パケットの優先レベルおよび／またはパケットのドロップ資格を示してもよい。スイッチは、異なる優先レベルに対する異なるパケット待ち行列を有してもよく、スイッチは、低優先パケットを処理するよりも高優先パケットを処理するために多くのリソース（例えば、多くのメモリおよび処理時間）を割り付けてもよく、輻輳時間中に、より低いドロップ資格を有するパケットの前に、より高い低いドロップ資格を有するパケットを破棄してもよい。
【０１５８】
終端間ＱｏＳポリシーを実装することは、ネットワーク管理者がネットワーク帯域幅をより効果的に利用することに役立つことができる。例えば、ネットワーク管理者は、遅延感受性アプリケーション、例えば、リアルタイムマルチメディアアプリケーションからのパケットが、高い優先度を有するネットワーク内で処理および／または転送されることを確実にするために、ネットワークのＱｏＳ特徴を使用することができる。
【０１５９】
効果的になるために、ＱｏＳは、典型的には、終端間で実装される必要がある。例えば、図１では、顧客Ｃ３がサイトＳ１およびＳ５の間のビデオ会議アプリケーションをサポートすることを希望すると想定する。この目的を達成するために、顧客Ｃ３は、他のパケットよりも高い優先度で、ビデオ会議パケットがネットワーク内で処理されることを望んでもよい。顧客Ｃ３は、それに従ってビデオ会議パケットが処理されることを確実にするように、サイトＳ１およびＳ５においてそのネットワークを構成することができる。しかしながら、顧客Ｃ３は、どのようにしてＴＲＩＬＬネットワーク１００内のスイッチがビデオ会議パケットを処理するかを直接制御することができなくてもよい。ＴＲＩＬＬネットワーク１００が高い優先度でビデオ会議パケットを処理しない場合、ビデオ会議パケットは、ＴＲＩＬＬネットワーク１００を横断している間に、許容できない量の遅延を体験し、それにより、ビデオ会議アプリケーションにＱｏＳを使用するという目的全体にそぐわない場合がある。
【０１６０】
終端間ＱｏＳを実装するための１つのアプローチは、サービスプロバイダのネットワーク（例えば、ＴＲＩＬＬネットワーク）内のＱｏＳ設定がクライアントのネットワーク内のＱｏＳ設定と同じであることを確実にすることである。残念ながら、このアプローチは、異なるクライアントのＱｏＳ設定が相互と対立する場合があるため、機能する可能性が低い。
【０１６１】
本発明のいくつかの実施形態は、異なるクライアントが異なるＱｏＳ要件を有するときでさえも、終端間ＱｏＳを実装するためのシステムおよび技法を提供する。具体的には、入口スイッチ（例えば、ＲＢｒｉｄｇｅ）は、顧客ネットワークからパケットを受信することができる。例えば、図１では、ＲＢｒｉｄｇｅ１０６は、サイトＳ２において顧客Ｃ１のネットワークからパケットを受信することができる。次に、入口スイッチは、顧客パケットの中のＱｏＳビットを、顧客パケットをカプセル化するＴＲＩＬＬパケットで使用するための別の１組のＱｏＳビットにマップすることができる。入口スイッチは、第２組のＱｏＳビットを含む、ＴＲＩＬＬパケットを生成することができる。サービスプロバイダは、ネットワーク内の１組の標準化ＱｏＳレベルを定義し、顧客のパケットの中のＱｏＳビットを、ネットワーク内の適切なＱｏＳレベルにマップすることができる。ＴＲＩＬＬパケットの中の１組のＱｏＳビットは、顧客パケットの中のＱｏＳビットとは異なり得ることに留意されたい。さらに、顧客パケットの中のＱｏＳビットが修正されないため、これらのビットが留保されることに留意されたい。
【０１６２】
加えて、サービスプロバイダは、サービスプロバイダネットワークに進入する顧客トラフィックを監視し、ネットワーク輻輳時間中に、より低いドロップ資格を有する他のパケットの前に破棄されてもよいように、より高いドロップ資格を有するパケットを「プロファイル外」とマークすることを希望してもよい。
【０１６３】
いったんＱｏＳビットがマップされると、入口スイッチは、ＴＲＩＬＬパケットを出口スイッチに送信することができる。各ホップで、ＴＲＩＬＬパケットの中のＱｏＳビットに従って、ＴＲＩＬＬパケットを処理することができる。最終的に、いったんＴＲＩＬＬパケットが出口スイッチに到達すると、出口スイッチは、ＴＲＩＬＬヘッダを取り去り、元のＱｏＳビットを含有するパケットを顧客のネットワークに送信することができる。例えば、図１では、入口ＲＢｒｉｄｇｅ１０６は、ＲＢｒｉｄｇｅ１０４を介してＴＲＩＬＬパケットを出口ＲＢｒｉｄｇｅ１１０に送信することができる。ＲＢｒｉｄｇｅ１０４では、ＴＲＩＬＬパケットの中のＱｏＳビットに従って、ＴＲＩＬＬパケットを処理鵜することができる。最終的に、出口ＲＢｒｉｄｇｅ１１０は、ＴＲＩＬＬパケットからＴＲＩＬＬヘッダを取り去り、元のＱｏＳビットを含有するパケットを、サイトＳ４における顧客Ｃ１のネットワークに送信することができる。
【０１６４】
図１３は、本発明のいくつかの実施形態によるスイッチを図示する。
【０１６５】
スイッチ１３００は、通信チャネル、例えば、バスを介して、相互と通信してもよい、複数の機構を含むことができる。スイッチ１３００は、１つ以上の集積回路を使用して実現されてもよい。いくつかの実施形態では、スイッチ１３００は、マッピング機構１３０２、転送機構１３０４、カプセル化機構１３０６、脱カプセル化機構１３０８とを含む。いくつかの実施形態では、これらの機構は、特定用途向け集積回路の中の機能ブロックとして実装されてもよい。図１３は、例示目的のみであり、本発明を開示される形態に限定することを目的としない。具体的には、いくつかの実施形態では、スイッチ１３００は、ＲＢｒｉｄｇｅではなくてもよく、および／または図１３に示されるものよりも少ない、または多くの機構を含んでもよい。
【０１６６】
転送機構１３０４は、パケットヘッダに含有される情報に基づいてパケットを転送するように構成されてもよい。具体的には、転送機構１３０４は、パケットヘッダの中のデータフィールド（例えば、ＭＡＣアドレス、ＶＬＡＮタグ、ＲＢｒｉｄｇｅニックネーム等）を使用して、コンテンツアドレス可能メモリの中ので参照を行うことによって、発信ポートを判定してもよい。
【０１６７】
入口スイッチでは、カプセル化機構１３０６は、ＴＲＩＬＬヘッダを追加することによって、ＴＲＩＬＬパケットの中にイーサネット（登録商標）パケット（１つ以上のＶＬＡＮタグを含んでもよい）をカプセル化するように構成されてもよい。イーサネット（登録商標）パケットヘッダは、イーサネット（登録商標）パケットに追加される必要があるＴＲＩＬＬヘッダ、およびその上でＴＲＩＬＬパケットが送信されるポートを判定するために使用することができる。いったんＴＲＩＬＬヘッダが追加されると、ＴＲＩＬＬパケットは、発信ポートを介して送信することができる。出口スイッチでは、脱カプセル化機構１３０８は、ＴＲＩＬＬを取り去るように構成されてもよい。
【０１６８】
マッピング機構１３０２は、顧客から受信されたイーサネット（登録商標）パケットの中の第１組のＱｏＳビットを、ＴＲＩＬＬヘッダで使用するための第２組のＱｏＳビットにマップするように構成されてもよい。ＴＲＩＬＬヘッダは、マッピング機構１３０２が第２組のビットを生成する前または後に作成されてもよい。サービスプロバイダのネットワーク（例えば、ＴＲＩＬＬネットワーク１００）は、１組の正規化ＱｏＳレベルを使用してもよい。マッピング機構１３０２は、元のイーサネット（登録商標）パケットに含有されるＱｏＳ情報と一致する正規化ＱｏＳレベルを選択してもよい。
【０１６９】
図１４は、本発明のいくつかの実施形態による、例示的なマッピング機構を図示する。
【０１７０】
図１４に図示される例示的なマッピング機構は、１つ以上のハードウェアおよび／またはソフトウェアモジュールを含むことができる。具体的には、マッピング機構は、表１４０４および１４０６等の１つ以上のＱｏＳマッピング表と、レジスタ１４０８等の１組のレジスタとを含むことができる。着信パケット１４０２（イーサネット（登録商標）パケットとなり得る）からの異なる組のＱｏＳビットに基づいて、参照を表１４０４および１４０６上で行うことができる。例えば、表１４０４上での参照が、パケット１４０２の中の最外ＶＬＡＮタグからのＱｏＳビットを使用して行われてもよい一方で、表１４０６上の参照は、パケット１４０２内にカプセル化されるＩＰパケットのヘッダからのインターネットプロトコル（ＩＰ）差別化サービスコードポイント（ＤＳＣＰ）ビットを使用して行われてもよい。レジスタ１４０８は、表１４０４または１４０６からの出力の代わりに使用されてもよい、デフォルトの１組のＱｏＳビットを提供してもよい。
【０１７１】
参照の結果は、サービスプロバイダのネットワーク内で使用される正規化された１組のＱｏＳレベルに対応する１組のＱｏＳビットとなり得る。いくつかの実施形態では、参照の結果は、３ビット優先レベル、６ビットＩＰ  ＤＳＣＰ値、２ビットドロップ先行値、および／または１ビットドロップ資格指標となり得る。ドロップ先行値およびドロップ資格指標は、輻輳中にパケットが撤回される確率を修正するために使用することができる。具体的には、ドロップ先行値は、パケットが監視中に許可された判定済み速度を超え、よって、輻輳中にパケットが撤回されてもよいことを示す。いくつかの実施形態では、パケットがその割当数量を超え、したがって、輻輳中に撤回できることを示す、ドロップ資格指標を運ぶために、ＶＬＡＮタグの中のＣＦＩビットが使用される。
【０１７２】
１つ以上の表および／またはレジスタからの参照結果は、入力としてマルチプレクサ１４１０に提供することができる。選択信号１４１２は、マルチプレクサ１４１０がその出力と連結する１組の入力を制御するように、制御入力としてマルチプレクサ１４１０に提供することができる。選択信号１４１２は、入力のうちの１つとしてパケット１４０２からヘッダ情報を受信してもよい、選択論理１４１８によって生成されてもよい。
【０１７３】
いくつかの実施形態では、選択論理１４１８は、パケット１４０２がＩＰパケットをカプセル化するか否か、およびＤＳＣＰビットがＱｏＳを判定するために使用されるべきか否かを判定することができる。もしそうであれば、選択論理１４１８は、マルチプレクサ１４１０に表１４０６から参照結果を出力させるように、選択信号１４１２を生成することができる。パケット１４０２がＩＰパケットをカプセル化しない場合、またはＤＳＣＰビットが信頼できない場合、選択論理１４１８は、パケット１４０２が１つ以上のＶＬＡＮタグ（例えば、Ｃタグ、Ｓタグ、または両方）を含むか否かを判定することができる。もしそうであれば、選択論理１４１８は、マルチプレクサ１４１０に表１４０４から参照結果を出力させるように、選択信号１４１２を生成することができる。パケット１４０２がＩＰパケットをカプセル化しない場合、またはＤＳＣＰビットが信頼できない場合、およびパケット１４０２がＶＬＡＮタグも含まない場合、選択論理１４１８は、マルチプレクサ１４１０に、レジスタ１４０８に記憶されたデフォルトＱｏＳビット値を出力させるように、選択信号１４１２を生成することができる。
【０１７４】
マルチプレクサ１４１０の出力は、アクセス制御リスト（ＡＣＬ）無効１４１４への入力として提供することができる。ＡＣＬ無効１４１４は、スイッチ上で構成される任意のＡＣＬに基づくマッピング表によって判定されたＱｏＳビットを無効にするために使用することができる。例えば、ＡＣＬ無効１４１４は、パケットヘッダの中のＱｏＳビットの値にかかわらず、ユーザが、特定のＱｏＳレベルを有することをあるパケット（例えば、特定のフローのパケット）に強制することを可能にすることができる。いくつかの実施形態では、ＡＣＬ無効１４１４は、三次コンテンツアドレス可能メモリを使用して実装することができる。ＡＣＬ無効１４１４は、ＱｏＳビットを無効にするか否かを判定するために、入力としてパケット１４０２のヘッダ情報（図１４には示されていない）を受信してもよいことに留意されたい。
【０１７５】
次いで、ＡＣＬ無効１４１４からの出力は、ポリサー１４１６に提供することができる。ポリサー１４１６は、ネットワーク内で定義されるＱｏＳポリシーを施行するのに役立つことができる。具体的には、ポリサー１４１６は、フローがそのサービスプロファイルに違反している場合に、パケットフローの中のパケットのＱｏＳビットを調整することができる。例えば、パケットが、フローに割り付けられたものよりも大きい帯域幅を使用しているパケットフローの一部である場合、ポリサー１４１６は、輻輳中にパケットが撤回される確率を増加させるように、パケットのドロップ先行を調整することができる。次いで、ポリサー１４１６の出力を、発信パケットで使用することができる。例えば、発信パケットが、パケット１４０２をカプセル化するＴＲＩＬＬパケットである場合、ポリサー１４１６の出力を使用して、外部ＶＬＡＮタグ（例えば、図２の外部ＶＬＡＮタグ２０４）の中のＱｏＳビットを設定することができる。
【０１７６】
元のＱｏＳビットは、内部ＶＬＡＮタグ（例えば、図２のＶＬＡＮタグ２１２の中の最外ＶＬＡＮ）のうちの１つの中で、またはＩＰヘッダの中で留保されてもよいことに留意されたい。そのような場合、出口スイッチにおいて、外部ＶＬＡＮタグは、取り除かれ、パケットは、内部ＶＬＡＮタグおよび／またはＩＰヘッダのうちの１つの中に留保された元のＱｏＳビットとともに顧客のネットワークに転送される。いくつかの実施形態では、システムは、元のＱｏＳビットを修正してもよい。これらの実施形態では、システムは、パケットを顧客のネットワークに転送する前に、出口スイッチにおいて元のＱｏＳビットを修正してもよい。
【０１７７】
図１５は、本発明のいくつかの実施形態による、パケットを処理するための過程を図示する、フローチャートを提示する。
【０１７８】
過程は、システムがパケットを受信することから始まることができる（動作１５０２）。次に、システムは、パケットの中の第１組のＱｏＳビットを、パケットをカプセル化するＴＲＩＬＬパケットで使用するための第２組のＱｏＳビットにマップすることができる（動作１５０４）。これら２組のＱｏＳビットは相互とは異なり得る（すなわち、これら２組が相互のコピーではなくてもよい）ことに留意されたい。第１組のＱｏＳビットは、１組の内部ＶＬＡＮタグ、例えば、図２の内部ＶＬＡＮタグ２１２の中の最外タグの中の優先ビットとなり得る。代替として、第１組のＱｏＳビットは、パケット内にカプセル化されるＩＰパケットのヘッダの中のＩＰ  ＤＳＣＰビットとなり得る。第２組のＱｏＳビットは、外部ＶＬＡＮタグ、例えば、図２の外部ＶＬＡＮタグ２０４の中の優先ビットとなり得る。いったん第２組のＱｏＳビットが判定されると、システムは、第２組のＱｏＳビットを含むＴＲＩＬＬパケットを生成することができる（動作１５０６）。次いで、システムは、ＴＲＩＬＬパケットを次のＴＲＩＬＬホップに送信することができる（動作１５０８）。
【０１７９】
（遠隔ポートミラーリング）
サービスプロバイダネットワークは、非常に大型で複雑となり得る。驚くほどのことではないが、ネットワークしばしば、デバッグされる必要がある。遠隔ポートミラーリングは、ネットワークの問題を識別して解決するために使用することができる技法である。
【０１８０】
図１６は、従来の遠隔ポートミラーリングシステムを図示する。イーサネット（登録商標）スイッチ１６０２、１６０４、１６０６、１６０８、および１６１０は、ＬＡＮ（ローカルエリアネットワーク）の一部である。ソースノード１６１４は、イーサネット（登録商標）スイッチ１６０２に連結され、宛先ノード１６１６は、イーサネット（登録商標）スイッチ１６０８に連結される。ネットワーク分析器１６１２は、イーサネット（登録商標）スイッチ１６１０に連結される。ネットワーク分析器１６１２は、ネットワーク内のパケットを分析し、問題を識別して解決するために使用することができる。遠隔ポートミラーリングでは、ネットワーク内のポート上で受信されるパケットのコピーが、ネットワーク分析器に送信される。
【０１８１】
例えば、遠隔ポートミラーリングは、ソースノード１６１４に連結されるイーサネット（登録商標）スイッチ１６０２上のポート上で行うことができる。ＶＬＡＮ識別子１６２２を有するパケット１６１８が、イーサネット（登録商標）スイッチ１６０２上のソース１６１４から受信されると想定する。さらに、パケット１６１８が宛先１６１６に向かう予定であると仮定する。図１６は、例示目的のみであることに留意されたい。図１６に示されるパケット形式は、実際のパケット形式を反映することを目的としていない。例えば、イーサネット（登録商標）パケットは、明確にするために図１６では示されていないソースおよび宛先ＭＡＣアドレスを含む。
【０１８２】
イーサネット（登録商標）スイッチ１６０２は、元のＶＬＡＮ識別子、すなわち、ＶＬＡＮ識別子１６２２を有するパケットを宛先１６１６に転送する。例えば、パケット１６１８は、宛先１６１６で受信される前に、イーサネット（登録商標）スイッチ１６０２、１６０６、および１６０８を横断し得る。従来のアプローチでは、異なるＶＬＡＮ識別子を有するパケット１６１８のコピーもまた、遠隔ポートミラーリング目的でネットワーク内で転送される。具体的には、イーサネット（登録商標）スイッチ１６０２は、ＶＬＡＮ識別子１６２２とは異なるＶＬＡＮ識別子１６２４を有するパケット１６２０を作成する。次いで、イーサネット（登録商標）スイッチ１６０２は、パケット１６２０をネットワーク分析器１６１２に転送する。パケット１６２０は、ネットワーク分析器１６１２で受信される前に、イーサネット（登録商標）スイッチ１６０２および１６１０を横断し得る。
【０１８３】
ＶＬＡＮ識別子１６２４は、ネットワーク分析トラフィックをタグ付けするためにネットワークで使用されることに留意されたい。元のＶＬＡＮ識別子を、ネットワーク分析トラフィックに特異的に使用されるＶＬＡＮ識別子と置換することは、これらのパケットがネットワーク分析器に送達されることを、従来のネットワークが確実にすることを可能にする。
【０１８４】
残念ながら、従来のポートミラーリング技法は、あるネットワークの問題を識別および／または解決できない場合がある。具体的には、従来のネットワークが元のＶＬＡＮ識別子を修正するので、ネットワーク分析器において受信されるパケットは、元のパケットではない。元のＶＬＡＮ識別子がネットワークの問題の原因のうちの１つであった場合、ネットワーク分析器は、ネットワークの問題を識別および／または解決できなくなる。
【０１８５】
従来の技法とは対照的に、本発明のいくつかの実施形態は、パケットのコピーをカプセル化し、パケットのカプセル化コピーをネットワーク分析器に転送する。本発明のいくつかの実施形態は、パケットのコピーをカプセル化するため、元のＶＬＡＮ識別子を留保し、選択的に、元のパケットの中の他のヘッダ情報を留保する。
【０１８６】
典型的には、カプセル化パケットを取得するようにパケットがカプセル化されるときに、パケットのコンテンツ全体が留保される。カプセル化パケットは通常、カプセル化パケットを転送するために使用される独自のヘッダを有する。カプセル化の１つの定義によれば、カプセル化は、新しいフィールドを、カプセル化パケットを転送するために使用されるパケットヘッダに追加する過程である。例えば、パケットは、ＴＲＩＬＬヘッダを、ネットワークを介してパケットを送るために使用されるパケットに追加することによって、カプセル化することができる。新しいフィールドがヘッダに追加されないので、および元のＶＬＡＮタグが留保されないので、単にＶＬＡＮタグを修正することは、カプセル化ではない。
【０１８７】
図１７Ａは、本発明のいくつかの実施形態による、カプセル化を使用する遠隔ポートミラーリングを図示する。
【０１８８】
ＶＬＡＮ識別子１７１８を有するパケット１７０６が、サイトＳ１における顧客Ｃ３のネットワーク内のＶＬＡＮ１１２の中のソースノードから、サイトＳ５における顧客Ｃ３のネットワーク内のＶＬＡＮ１１２の中の宛先ノードへ送信されると想定する。
【０１８９】
パケット１７０６がＲＢｒｉｄｇｅ１０２のポートＰ３上で受信されるときに、カプセル化パケット１７０８を取得するために、ＴＲＩＬＬヘッダ１７１０とともにパケット１７０６をカプセル化することができる。次いで、カプセル化パケット１７０８は、ＴＲＩＬＬネットワーク１００を介してＲＢｒｉｄｇｅ１１０に送ることができる。次いで、ＲＢｒｉｄｇｅ１１０は、カプセル化パケット１７０８からパケット１７０６を抽出し、パケット１７０６を、サイトＳ５における顧客Ｃ３のネットワーク内のＶＬＡＮ１１２の中の宛先ノードに転送することができる。上記の実施例では、パケット１７０６がイーサネット（登録商標）パケット（１つ以上のＶＬＡＮタグを有する、または有しない）であり、カプセル化パケット１７０８がＴＲＩＬＬパケットであることに留意されたい。
【０１９０】
本発明のいくつかの実施形態は、恣意的な粒度のレベルで遠隔ポートミラーリングを行うことができ、どのパケットをミラーリングするかを判定するために、任意に複雑な基準を使用することができる。具体的には、遠隔ポートミラーリングは、特定のポート上で受信または送信されるか、特定のＶＬＡＮタグを有するか、特定のソースノードに由来するか、特定の宛先ノードに向かう予定であるか、またはこれらの基準の組み合わせに合致するパケットについて有効にすることができる。一般に、システムは、ミラーリングされる必要があるパケットを識別するために、任意に複雑な論理関数（例えば、アクセス制御リスト）を使用してもよい。
【０１９１】
遠隔ポートミラーリングが、ＲＢｒｉｄｇｅ１０２のポートＰ３上で有効にされており、パケット１７０６が、ミラーリングされる必要があるパケットとして識別されていると仮定する。この場合、ＲＢｒｉｄｇｅ１０２は、パケット１７０６のコピーを作成し、カプセル化パケット１７１２を取得するために、ＴＲＩＬＬヘッダ１７１４を使用してパケット１７０６のコピーをカプセル化することができる。次いで、カプセル化パケット１７１２は、ＴＲＩＬＬネットワーク１００を介してＲＢｒｉｄｇｅ１０６に送ることができる。ＴＲＩＬＬヘッダ１７１４はＴＲＩＬＬヘッダ１７１０とは異なることに留意されたい。具体的には、ＴＲＩＬＬヘッダ１７１０が、パケット１７０８をＲＢｒｉｄｇｅ１１０に送らせる一方で、ＴＲＩＬＬヘッダ１７１４は、カプセル化パケット１７１２をＲＢｒｉｄｇｅ１０６に送らせる。次いで、ＲＢｒｉｄｇｅ１０６は、カプセル化パケット１７１２からパケット１７０６のコピー（図１７Ａではパケット１７１６として示される）を抽出し、パケット１７０６のコピーを、ＶＬＡＮ１７０４に属してもよいネットワーク分析器１７０２に転送することができる。ＶＬＡＮ１７０４は、ネットワークトラフィックを分析するために特異的に作成されていてもよい。ネットワーク分析器に送信されるパケットは、パケットがミラーリングされたパケットであるという何らかの指示を含んでもよい。例えば、ミラーリングされたパケットが特定のＶＬＡＮ識別子（例えば、図１７Ａに示されるようなＶＬＡＮ１７０４）を有する場合、パケットがミラーリングされたパケットであることを示すために、ＶＬＡＮ識別子を使用することができる。
【０１９２】
ＶＬＡＮ識別子が修正されなかった、すなわち、パケット１７１６の中のＶＬＡＮ識別子がパケット１７０６の中のＶＬＡＮ識別子と同じであることに留意されたい。このようにして、本発明のいくつかの実施形態は、遠隔ポートミラーリング中にＶＬＡＮ識別子情報を留保することによって、ネットワークをデバッグすることを促進する。
【０１９３】
遠隔ポートミラーリングはまた、ＴＲＩＬＬネットワークの内部にあるポート上で有効にすることもできる。これらの実施形態では、元のＴＲＩＬＬヘッダを留保するために、付加的なＴＲＩＬＬヘッダを追加することができる。
【０１９４】
図１７Ｂは、本発明のいくつかの実施形態によるカプセル化を使用する遠隔ポートミラーリングを図示する。
【０１９５】
以前のように、ＲＢｒｉｄｇｅ１０２は、カプセル化パケット１７０８を取得するために、ＴＲＩＬＬヘッダ１７１０とともにパケット１７０６をカプセル化することができる。次いで、カプセル化パケット１７０８は、ＴＲＩＬＬネットワーク１００を介してＲＢｒｉｄｇｅ１１０に送ることができる。次いで、ＲＢｒｉｄｇｅ１１０は、カプセル化パケット１７０８からパケット１７０６を抽出し、パケット１７０６を、サイトＳ５における顧客Ｃ３のネットワーク内のＶＬＡＮ１１２の中の宛先ノードに転送することができる。
【０１９６】
遠隔ポートミラーリングが、ＲＢｒｉｄｇｅ１０２をＲＢｒｉｄｇｅ１０６と連結するＲＢｒｉｄｇｅ１０２のポート上で有効にされており、パケット１７０８が、ミラーリングされる必要があるパケットとして識別されていると仮定する。この場合、ＲＢｒｉｄｇｅ１０２は、パケット１７０８のコピーを作成し、カプセル化パケット１７２０を取得するように、ＴＲＩＬＬヘッダ１７２２を使用してパケット１７０８のコピーをカプセル化することができる。次に、カプセル化パケット１７２０は、ＴＲＩＬＬネットワーク１００を介してＲＢｒｉｄｇｅ１０６に送ることができる。ＴＲＩＬＬヘッダ１７２２はＴＲＩＬＬヘッダ１７１０とは異なることに留意されたい。具体的には、ＴＲＩＬＬヘッダ１７１０が、パケット１７０８をＲＢｒｉｄｇｅ１１０に送らせる一方で、ＴＲＩＬＬヘッダ１７２２は、カプセル化パケット１７２０をＲＢｒｉｄｇｅ１０６に送らせる。次いで、ＲＢｒｉｄｇｅ１０６は、カプセル化パケット１７２０からパケット１７０８のコピー（図１７Ｂではパケット１７２４として示される）を抽出し、パケット１７０８のコピーを、ＶＬＡＮ１７０４に属してもよいネットワーク分析器１７０２に転送することができる。上記の実施例では、カプセル化パケット１７０８および１７２０がＴＲＩＬＬパケットであることに留意されたい。
【０１９７】
図１８は、本発明のいくつかの実施形態によるスイッチを図示する。
【０１９８】
スイッチ１８００は、通信チャネル、例えば、バスを介して、相互に通信し得る複数の機構を含むことができる。スイッチ１８００は、１つ以上の集積回路を使用して実現されてもよい。いくつかの実施形態では、スイッチ１８００は、コピー機構１８０２と、カプセル化機構１８０４と、転送機構１８０６とを含むＲＢｒｉｄｇｅ（例えば、ＲＢｒｉｄｇｅ１０２）である。
【０１９９】
スイッチ１８００は、宛先アドレスＤ１に向かう予定であり得るパケットを受信してもよい（例えば、パケットのヘッダ情報は、宛先アドレスＤ１を含んでもよい）。コピー機構１８０２は、パケットのコピーを作成するように構成されてもよい。いくつかの実施形態では、コピー機構１８０２は、最初に、どのパケットがミラーリングされる必要があるかを識別し、次いで、識別したパケットのコピーを作成するように構成されてもよい。ミラーリングされているパケットは、イーサネット（登録商標）パケット（１つ以上のＶＬＡＮタグを有するか、または有しない）またはＴＲＩＬＬパケットとなり得る。
【０２００】
カプセル化機構１８０４は、パケットのコピーをカプセル化して、宛先アドレスＤ２に向かう予定であるカプセル化パケットを取得するように構成されてもよい（例えば、カプセル化パケットのヘッダ情報が宛先アドレスＤ２を含んでもよい）。いくつかの実施形態では、カプセル化パケットは、ＴＲＩＬＬパケットである。宛先アドレスＤ２は、宛先アドレスＤ１と同じであってもなくてもよい。宛先アドレスは、ユニキャスト、マルチキャスト、またはブロードキャストアドレスとなり得る。具体的には、いくつかの実施形態では、第１のパケットは、ユニキャストパケットまたはマルチキャストパケットのいずれか一方であり、第２のパケットは、ネットワーク分析器に送信されるユニキャストパケット、またはネットワーク分析器を含むマルチキャストグループと関連付けられるマルチキャストアドレスに送信されるマルチキャストパケットのいずれか一方である。カプセル化パケットを取得するためにパケットのコピーをカプセル化することは、元のパケットのヘッダ情報（例えば、ＶＬＡＮ識別子、ＴＲＩＬＬヘッダ等）を留保することに留意されたい。
【０２０１】
転送機構１８０６は、アドレスＤ１に従って元のパケットを転送し、アドレスＤ２に従ってカプセル化パケットを転送するように構成されてもよい。例えば、転送機構１８０６は、最初に、２つのパケットに対する出力ポートを判定するために、（例えば、三次コンテキストアドレス可能メモリで参照を行うことによって）アドレスＤ１およびＤ２に対する転送参照を行ってもよい。次に、転送機構１８０６は、適切な出力ポートを介して送信されるようにパケットを待ち行列に入れてもよい。
【０２０２】
図１８は、例示目的に過ぎず、本発明を開示される形態に限定することを目的としないことに留意されたい。具体的には、いくつかの実施形態では、スイッチ１８００は、ＲＢｒｉｄｇｅではなくてもよく、および／または図１８に示されるものよりも少ないか、または多くの機構を含んでもよい。
【０２０３】
図１９は、本発明のいくつか実施形態による遠隔ポートミラーリングを行うための過程を図示するフローチャートを提示する。
【０２０４】
過程は、スイッチ、例えば、ＲＢｒｉｄｇｅ１０２によって行うことができる。スイッチは、第１のパケット、例えば、パケット１７０６を受信してもよい。次いで、スイッチは、第１のパケットがミラーリングされるか否かを判定してもよい。第１のパケットがミラーリングされる場合、スイッチは、第１のパケットのコピーを作成してもよい。
【０２０５】
次に、スイッチは、第２のパケット、例えば、パケット１７１２の中に第１のパケットのコピーをカプセル化してもよい（動作１９０２）。第１のパケットおよび第２のパケットは、異なるアドレスに向かうことになっていてもよいことに留意されたい。第１のパケットおよび第２のパケットは、ユニキャスト、マルチキャスト、またはブロードキャストパケットとなり得る。具体的には、いくつかの実施形態では、第１のパケットは、ユニキャストパケットまたはマルチキャストパケットのいずれか一方であり、第２のパケットは、ネットワーク分析器に送信されるユニキャストパケット、またはネットワーク分析器を含むマルチキャストグループと関連付けられるマルチキャストアドレスに送信されるマルチキャストパケットのいずれか一方である。
【０２０６】
次いで、スイッチは、第１のパケットのヘッダ情報を使用して、第１のパケットを転送し（動作１９０４）、第２のパケットのヘッダ情報を使用して、第２のパケットを転送することができる（動作１９０６）。動作１９０４および１９０６は、連続的に（任意の順序で）または同時に行われてもよいことに留意されたい。
【０２０７】
図２０は、本発明のいくつかの実施形態による、システムを図示する。
【０２０８】
システム２０００は、プロセッサ２００２（例えば、ネットワークプロセッサ）と、メモリ２００４とを含むことができる。プロセッサ２００２は、メモリ２００４に記憶された命令にアクセスし、実行することが可能であってもよい。例えば、プロセッサ２００２およびメモリ２００４は、バスによって連結されてもよい。メモリ２００４は、プロセッサ２００２によって実行されたときに、システム２０００に、本開示で明示的または暗示的に開示される１つ以上の過程を行わせる命令を記憶してもよい。
【０２０９】
いくつかの実施形態では、メモリ２００４は、パケットが受信されるポートおよび／またはパケットのヘッダの中の１つ以上のフィールドに基づいて、パケットの内部仮想ネットワーク識別子および／または内部ポリシー識別子を判定するため、ＴＲＩＬＬヘッダを追加することによってＴＲＩＬＬパケットの中にパケットをカプセル化するため、内部仮想ネットワーク識別子に基づいてパケットを転送するため、および／または内部ポリシー識別子に基づいてパケットを処理するための命令を記憶してもよい。
【０２１０】
いくつかの実施形態では、メモリ２００４は、マルチキャストパケットを受信し、ソースアドレス、マルチキャストアドレス、およびマルチキャストパケットと関連付けられるマルチキャストツリー識別子フィールドに基づいて、マルチキャストパケットの内部マルチキャストグループ識別子を判定し、内部マルチキャストグループ識別子に基づいてマルチキャストパケットを転送するための命令を記憶してもよい。さらに、メモリ２００４は、選択的に、カプセル化および／または脱カプセル化のための命令を記憶してもよい。
【０２１１】
いくつかの実施形態では、マルチキャストパケットは、ネットワーク層マルチキャストアドレスを含むことができ、第１の仮想ネットワークと関連付けられる第１のマルチキャストツリー上で受信されてもよい。メモリ２００４は、ネットワーク層マルチキャストアドレスに基づいて、その上でマルチキャストパケットが転送される第２の仮想ネットワークと関連付けられる第２のマルチキャストツリーを判定するための命令を記憶してもよい。これらの実施形態では、メモリ２００４はまた、第１の仮想ネットワークと関連付けられる第１のマルチキャストツリー上でマルチキャストパケットを転送し、第２の仮想ネットワークと関連付けられる第２のマルチキャストツリー上でマルチキャストパケットを転送するための命令を記憶してもよい。
【０２１２】
いくつかの実施形態では、メモリ２００４は、パケットのヘッダの中の１つ以上のフィールドに基づいて転送参照動作を行い、参照動作が失敗した場合に、パケットのヘッダの中の仮想ネットワーク識別子に基づいて１組の出口ポートを判定し、１組の出口ポート上でパケットを大量に送るための命令を記憶してもよい。
【０２１３】
いくつかの実施形態では、メモリ２００４は、パケットの中の第１組のＱｏＳビットを、第１のパケットをカプセル化するＴＲＩＬＬパケットにおいて使用するための第２組のＱｏＳビットにマップするための命令を記憶してもよく、第１組のＱｏＳビットは、第２組のＱｏＳビットとは異なる。
【０２１４】
いくつかの実施形態では、メモリ２００４は、第２のパケットの中に第１のパケットのコピーをカプセル化するための命令、第１のパケットのヘッダ情報を使用して第１のパケットを転送するための命令、および第２のパケットのヘッダ情報を使用して第２のパケットを転送するための命令を記憶してもよい。
【０２１５】
本開示で説明されるデータ構造およびコードは、一過性でないコンピュータ可読記憶媒体および／またはハードウェアモジュールおよび／またはハードウェア装置上で部分的または完全に記憶することができる。コンピュータ可読記憶媒体は、コードおよび／またはデータを記憶することが可能である、現在公知である、または後に開発される、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクまたはデジタルビデオディスク）、または他の非一過性の媒体等の磁気および光学記憶デバイスを含むが、それらに限定されない。本開示で説明されるハードウェアモジュールまたは装置は、現在公知であるか、または後に開発されるか、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、専用または共有プロセッサ、および／または他のハードウェアモジュールあるいは装置を含むが、それらに限定されない。具体的には、方法および／または過程は、方法および／または過程を行うことができるレジスタ転送論理（ＲＴＬ）回路を合成するようにコンパイルされてもよいハードウェア記述言語（ＨＤＬ）で記述されてもよい。
【０２１６】
本開示で説明される方法および過程は、コンピュータシステムがコードおよび／またはデータを読み出すか、および／または実行するときに、コンピュータシステムが関連方法および過程を行うように、コンピュータ可読記憶媒体またはデバイスに記憶されたコードおよび／またはデータとして部分的または完全に具現化することができる。方法および過程はまた、ハードウェアモジュールまたは装置が起動されたときに、関連方法および過程を行うように、ハードウェアモジュールまたは装置で部分的または完全に具現化することもできる。さらに、方法および過程は、コード、データ、およびハードウェアモジュールまたは装置の組み合わせを使用して具現化することができる。
【０２１７】
本発明の実施形態の前述の説明は、例示および説明の目的のみで提示されている。それらは、包括的となるか、または本発明を開示される形態に限定することを目的としない。したがって、多くの修正および変化例が当業者に明白となるであろう。加えて、上記の開示は、本発明を限定することを目的としない。本開示の範囲は、添付の請求項によって定義される。
【図６Ｂ】
2013528340.tif 000003
【図６Ｃ】
2013528340.tif 000004
【図１２】
2013528340.tif 000005
【図１】
2013528340.tif 000006
【図２】
2013528340.tif 000007
【図３】
2013528340.tif 000008
【図４Ａ】
2013528340.tif 000009
【図４Ｂ】
2013528340.tif 000010
【図５Ａ】
2013528340.tif 000011
【図５Ｂ】
2013528340.tif 000012
【図６Ａ】
2013528340.tif 000013
【図６Ｄ】
2013528340.tif 000014
【図６Ｅ】
2013528340.tif 000015
【図７】
2013528340.tif 000016
【図８】
2013528340.tif 000017
【図９Ａ】
2013528340.tif 000018
【図９Ｂ】
2013528340.tif 000019
【図１０】
2013528340.tif 000020
【図１１】
2013528340.tif 000021
【図１３】
2013528340.tif 000022
【図１４】
2013528340.tif 000023
【図１５】
2013528340.tif 000024
【図１６】
2013528340.tif 000025
【図１７Ａ】
2013528340.tif 000026
【図１７Ｂ】
2013528340.tif 000027
【図１８】
2013528340.tif 000028
【図１９】
2013528340.tif 000029
【図２０】
2013528340.tif 000030
【手続補正書】
【提出日】平成25年2月7日(2013.2.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スイッチであって、
該スイッチは、
判定機構であって、該判定機構は、マルチキャストＴｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ（ＴＲＩＬＬ）パケットと関連付けられるソースアドレス、マルチキャストアドレス、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定するように構成可能である、判定機構と、
転送機構であって、該転送機構は、該内部マルチキャストグループ識別子に基づいて該マルチキャストＴＲＩＬＬパケットに対して１つ以上の転送ポートを判定するように構成可能である、転送機構と
を含む、スイッチ。
【請求項２】
前記判定機構は、
前記マルチキャストパケットの前記ソースアドレスおよび前記マルチキャストアドレスに基づいて、第１組のビットを判定することと、
該マルチキャストパケットの前記マルチキャストツリー識別子フィールドに基づいて、第２組のビットを判定することと、
該第１組のビットと該第２組のビットとを組み合わせることと
を行うように構成可能である、請求項１に記載のスイッチ。
【請求項３】
前記判定機構は、前記第１組のビットと前記第２組のビットとを連結させることによって、該第１組のビットと該第２組のビットとを組み合わせるように構成可能である、請求項２に記載のスイッチ。
【請求項４】
前記転送機構は、
前記内部マルチキャストグループ識別子に基づいて、１組の出口ポートを判定することと、
該１組の出口ポートの中の各ポートを介して、前記マルチキャストパケットの少なくとも１つのコピーを送信することと
を行うように構成可能である、請求項１に記載のスイッチ。
【請求項５】
前記マルチキャストツリー識別子フィールドは、ルーティングブリッジ（ＲＢｒｉｄｇｅ）ニックネームである、請求項１に記載のスイッチ。
【請求項６】
前記ソースアドレスおよび前記マルチキャストアドレスは、イーサネット媒体アクセス制御（ＭＡＣ）アドレスである、請求項１に記載のスイッチ。
【請求項７】
前記ソースアドレスおよび前記マルチキャストアドレスは、インターネットプロトコル（ＩＰ）アドレスである、請求項１に記載のスイッチ。
【請求項８】
システムであって、
該システムは、
プロセッサと、
命令を記憶するメモリであって、該命令は、該プロセッサによって実行されるときに該システムに方法を行わせ、該方法は、
マルチキャストＴＲＩＬＬパケットと関連付けられるソースアドレス、マルチキャストアドレス、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定することと、
該内部マルチキャストグループ識別子に基づいて、該マルチキャストパケットに対して１つ以上の転送ポートを判定することと
を含む、メモリと
を含む、システム。
【請求項９】
前記内部マルチキャストグループ識別子を判定することは、
前記マルチキャストパケットの前記ソースアドレスおよび前記マルチキャストアドレスに基づいて、第１組のビットを判定することと、
該マルチキャストパケットの前記マルチキャストツリー識別子フィールドに基づいて、第２組のビットを判定することと、
該第１組のビットと該第２組のビットとを組み合わせることと
を含む、請求項８に記載のシステム。
【請求項１０】
前記第１組のビットと前記第２組のビットとを組み合わせることは、該第１組のビットと該第２組のビットとを連結させることを含む、請求項９に記載のシステム。
【請求項１１】
前記方法は、
前記内部マルチキャストグループ識別子に基づいて、１組の出口ポートを判定することと、
該１組の出口ポートの中の各ポートを介して、該マルチキャストパケットの少なくとも１つのコピーを送信することと
をさらに含む、請求項８に記載のシステム。
【請求項１２】
方法であって、
該方法は、
マルチキャストＴＲＩＬＬパケットと関連付けられるソースアドレス、マルチキャストアドレス、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定することと、
該内部マルチキャストグループ識別子に基づいて、該マルチキャストパケットに対して１つ以上の転送ポートを判定することと
を含む、方法。
【請求項１３】
前記内部マルチキャストグループ識別子を判定することは、
前記マルチキャストパケットの前記ソースアドレスおよび前記マルチキャストアドレスに基づいて、第１組のビットを判定することと、
該マルチキャストパケットの前記マルチキャストツリー識別子フィールドに基づいて、第２組のビットを判定することと、
該第１組のビットと該第２組のビットを組み合わせることと
を含む、請求項１２に記載の方法。
【請求項１４】
前記第１組のビットと前記第２組のビットとを組み合わせることは、該第１組のビットと該第２組のビットとを連結させることを含む、請求項１３に記載の方法。
【請求項１５】
前記内部マルチキャストグループ識別子に基づいて、１組の出口ポートを判定することと、
該１組の出口ポートの中の各ポートを介して、該マルチキャストパケットの少なくとも１つのコピーを送信することと
をさらに含む、請求項１２に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
仮想ネットワーク識別子は、概して、パケットが属する仮想ネットワークを判定するために使用されるパケットの中の１つ以上のフィールドを指すことができる。いくつかの実施形態では、パケットは、ＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）パケットであり、仮想ネットワーク識別子は、ＶＰＮ識別子である。いくつかの実施形態では、パケットは、ＶＬＡＮパケットであり、仮想ネットワーク識別子は、ＶＬＡＮ識別子である。いくつかの実施形態では、仮想ネットワーク識別子は、パケットの中の１つ以上のフィールドの組み合わせであり、例えば、仮想ネットワーク識別子は、１つ以上のＶＬＡＮ識別子および／またはＶＰＮ識別子の組み合わせであってもよい。
例えば、本発明は以下の項目を提供する。
（項目１）
スイッチであって、
該スイッチは、
判定機構であって、該判定機構は、マルチキャストパケットと関連付けられるソースアドレス、マルチキャストアドレス、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定するように構成される、判定機構と、
転送機構であって、該転送機構は、該内部マルチキャストグループ識別子に基づいて該マルチキャストパケットを転送するように構成される、転送機構と
を含む、スイッチ。
（項目２）
前記判定機構は、
前記マルチキャストパケットの前記ソースアドレスおよび前記マルチキャストアドレスに基づいて、第１組のビットを判定することと、
該マルチキャストパケットの前記マルチキャストツリー識別子フィールドに基づいて、第２組のビットを判定することと、
該第１組のビットと該第２組のビットとを組み合わせることと
を行うように構成される、項目１に記載のスイッチ。
（項目３）
前記判定機構は、前記第１組のビットと前記第２組のビットとを連結させることによって、該第１組のビットと該第２組のビットとを組み合わせるように構成される、項目２に記載のスイッチ。
（項目４）
前記転送機構は、
前記内部マルチキャストグループ識別子に基づいて、１組の出口ポートを判定することと、
該１組の出口ポートの中の各ポートを介して、前記マルチキャストパケットの少なくとも１つのコピーを送信することと
を行うように構成される、項目１に記載のスイッチ。
（項目５）
前記マルチキャストパケットは、マルチキャストＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ
Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）パケットである、項目１に記載のスイッチ。
（項目６）
前記マルチキャストツリー識別子フィールドは、ルーティングブリッジ（ＲＢｒｉｄｇｅ）ニックネームである、項目１に記載のスイッチ。
（項目７）
前記ソースアドレスおよび前記マルチキャストアドレスは、イーサネット媒体アクセス制御（ＭＡＣ）アドレスである、項目１に記載のスイッチ。
（項目８）
前記ソースアドレスおよび前記マルチキャストアドレスは、インターネットプロトコル（ＩＰ）アドレスである、項目１に記載のスイッチ。
（項目９）
システムであって、
該システムは、
プロセッサと、
命令を記憶するメモリであって、該命令は、該プロセッサによって実行されるときに該システムに方法を行わせ、該方法は、
マルチキャストパケットと関連付けられるソースアドレス、マルチキャストアドレス、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定することと、
該内部マルチキャストグループ識別子に基づいて、該マルチキャストパケットを転送することと
を含む、メモリと
を含む、システム。
（項目１０）
前記内部マルチキャストグループ識別子を判定することは、
前記マルチキャストパケットの前記ソースアドレスおよび前記マルチキャストアドレスに基づいて、第１組のビットを判定することと、
該マルチキャストパケットの前記マルチキャストツリー識別子フィールドに基づいて、第２組のビットを判定することと、
該第１組のビットと該第２組のビットとを組み合わせることと
を含む、項目９に記載のシステム。
（項目１１）
前記第１組のビットと前記第２組のビットとを組み合わせることは、該第１組のビットと該第２組のビットとを連結させることを含む、項目１０に記載のシステム。
（項目１２）
前記内部マルチキャストグループ識別子に基づいて、前記マルチキャストパケットを転送することは、
該内部マルチキャストグループ識別子に基づいて、１組の出口ポートを判定することと、
該１組の出口ポートの中の各ポートを介して、該マルチキャストパケットの少なくとも１つのコピーを送信することと
を含む、項目９に記載のシステム。
（項目１３）
方法であって、
該方法は、
マルチキャストパケットと関連付けられるソースアドレス、マルチキャストアドレス、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定することと、
該内部マルチキャストグループ識別子に基づいて、該マルチキャストパケットを転送することと
を含む、方法。
（項目１４）
前記内部マルチキャストグループ識別子を判定することは、
前記マルチキャストパケットの前記ソースアドレスおよび前記マルチキャストアドレスに基づいて、第１組のビットを判定することと、
該マルチキャストパケットの前記マルチキャストツリー識別子フィールドに基づいて、第２組のビットを判定することと、
該第１組のビットと該第２組のビットを組み合わせることと
を含む、項目１３に記載の方法。
（項目１５）
前記第１組のビットと前記第２組のビットとを組み合わせることは、該第１組のビットと該第２組のビットとを連結させることを含む、項目１４に記載の方法。
（項目１６）
前記内部マルチキャストグループ識別子に基づいて、前記マルチキャストパケットを転送することは、
該内部マルチキャストグループ識別子に基づいて、１組の出口ポートを判定することと、
該１組の出口ポートの中の各ポートを介して、該マルチキャストパケットの少なくとも１つのコピーを送信することと
を含む、項目１３に記載の方法。
（項目１７）
スイッチであって、
該スイッチは、
判定機構であって、該判定機構は、パケットの１つ以上のフィールドに基づいて、該パケットのための内部仮想ネットワーク識別子を判定するように構成される、判定機構と、
転送機構であって、該転送機構は、該内部仮想ネットワーク識別子に基づいて、該パケットを転送するように構成される、転送機構と
を含む、スイッチ。
（項目１８）
前記パケットの中の前記１つ以上のフィールドは、顧客ＶＬＡＮ（仮想ローカルエリアネットワーク）識別子を含む、項目１７に記載のスイッチ。
（項目１９）
前記パケットの中の前記１つ以上のフィールドは、サービスプロバイダＶＬＡＮ（仮想ローカルエリアネットワーク）識別子を含む、項目１７に記載のスイッチ。
（項目２０）
前記パケットの中の前記１つ以上のフィールドは、ソースＭＡＣ（媒体アクセス制御）アドレスを含む、項目１７に記載のスイッチ。
（項目２１）
前記パケットの中の前記１つ以上のフィールドは、ＶＰＮ（仮想プライベートネットワーク）識別子を含む、項目１７に記載のスイッチ。
（項目２２）
前記判定機構は、パケットの中の１つ以上のフィールド、および該パケットが受信されるポートと関連付けられるポート識別子に基づいて、前記内部仮想ネットワーク識別子を判定するように構成される、項目１７に記載のスイッチ。
（項目２３）
カプセル化機構を含み、該カプセル化機構は、ＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）ヘッダを前記パケットに追加するように構成される、項目１７に記載のスイッチ。
（項目２４）
前記ＴＲＩＬＬヘッダは、ＶＰＮ（仮想プライベートネットワーク）識別子を含む、項目２３に記載のスイッチ。
（項目２５）
スイッチであって、
該スイッチは、
判定機構であって、該判定機構は、パケットの１つ以上のフィールドに基づいて、該パケットのための内部ポリシー識別子を判定するように構成される、判定機構と、
ポリシー適用機構であって、該ポリシー適用機構は、該内部ポリシー識別子に基づいて該パケットを処理するように構成される、ポリシー適用機構と
を含む、スイッチ。
（項目２６）
スイッチであって、
該スイッチは、
カプセル化機構であって、該カプセル化機構は、第２のパケットの中に第１のパケットのコピーをカプセル化するように構成される、カプセル化機構と、
転送機構であって、該転送機構は、
該第１のパケットのヘッダ情報を使用して、該第１のパケットを転送することと、
該第２のパケットのヘッダ情報を使用して、該第２のパケットを転送することと
を行うように構成される、転送機構と
を含む、スイッチ。
（項目２７）
前記第１のパケットは、ユニキャストパケットである、項目２６に記載のスイッチ。
（項目２８）
前記第２のパケットは、マルチキャストパケットである、項目２７に記載のスイッチ。
（項目２９）
前記第１のパケットおよび前記第２のパケットは、Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ（ＴＲＩＬＬ）パケットである、項目２６に記載のスイッチ。
（項目３０）
前記第２のパケットの中に前記第１のパケットの前記コピーをカプセル化する一方で、前記カプセル化機構は、該第１のパケットのヘッダ情報を留保するように構成される、項目２６に記載のスイッチ。
（項目３１）
スイッチであって、
該スイッチは、
受信機構であって、該受信機構は、第１の仮想ネットワークと関連付けられる第１のマルチキャストツリー上でマルチキャストパケットを受信するように構成される、受信機構と、
転送機構であって、該転送機構は、
該第１の仮想ネットワークと関連付けられる該第１のマルチキャストツリー上で該マルチキャストパケットを転送することと、
第２の仮想ネットワークと関連付けられる第２のマルチキャストツリー上で該マルチキャストパケットのコピーを転送することと
を行うように構成される、転送機構と
を含む、スイッチ。
（項目３２）
前記第１の仮想ネットワークおよび前記第２の仮想ネットワークは、ＶＬＡＮ（仮想ローカルエリアネットワーク）である、項目３１に記載のスイッチ。
（項目３３）
前記マルチキャストパケットは、ネットワーク層マルチキャストアドレスを含む、項目３１に記載のスイッチ。
（項目３４）
前記マルチキャストパケットは、ＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）マルチキャストパケットであり、前記第１のマルチキャストツリーおよび前記第２のマルチキャストツリーは、ＴＲＩＬＬマルチキャストツリーである、項目３１に記載のスイッチ。
（項目３５）
判定機構をさらに含み、該判定機構は、前記マルチキャストパケットのネットワーク層マルチキャストアドレスおよびネットワーク層ソースアドレスに基づいて、内部マルチキャストグループ識別子を判定するように構成され、前記転送機構は、該内部マルチキャストグループ識別子に基づいて、該マルチキャストパケットを転送するように構成される、項目３１に記載のスイッチ。
（項目３６）
スイッチであって、
該スイッチは、
ＱｏＳマッピング機構であって、該ＱｏＳマッピング機構は、第１のパケットをカプセル化するＴｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ（ＴＲＩＬＬ）パケットにおいて使用するために、該第１のパケットの中の第１組のサービスの質（ＱｏＳ）ビットを第２組のＱｏＳビットにマップするように構成され、該第１組のＱｏＳビットは、該第２組のＱｏＳビットとは異なる、ＱｏＳマッピング機構と、
該ＴＲＩＬＬパケットを生成することであって、該ＴＲＩＬＬパケットは、該第２組のＱｏＳビットを含む、ことと
を含む、スイッチ。
（項目３７）
前記ＴＲＩＬＬパケットは、外部ＶＬＡＮ（仮想ローカルエリアネットワーク）タグを含み、前記第２組のＱｏＳビットは、該外部ＶＬＡＮタグの中に優先ビットを含む、項目３６に記載のスイッチ。
（項目３８）
前記第１のパケットは、インターネットプロトコル（ＩＰ）パケットをカプセル化し、前記第１組のＱｏＳビットは、該ＩＰパケットのヘッダの中にＩＰ差別化サービスコードポイント（ＤＳＣＰ）ビットを含む、項目３７に記載のスイッチ。
（項目３９）
前記第１のパケットは、内部ＶＬＡＮタグを含み、前記第１組のＱｏＳビットは、該内部ＶＬＡＮタグの中に優先ビットを含む、項目３７に記載のスイッチ。
（項目４０）
前記第２組のＱｏＳビットは、前記外部ＶＬＡＮタグの中にカノニカル形式指標（ＣＦＩ）ビットを含み、該カノニカル形式指標ビットは、ドロップ資格情報を符号化する、項目３７に記載のスイッチ。
（項目４１）
スイッチであって、
該スイッチは、
判定機構であって、該判定機構は、パケットと関連付けられる内部仮想ネットワーク識別子に基づいて、１組の出口ポートを判定するように構成される、判定機構と、
フラッディング機構であって、該フラッディング機構は、該１組の出口ポートの中の各出口ポートについて、該出口ポート上で該パケットを大量に送るように構成される、フラッディング機構と
を含む、スイッチ。
（項目４２）
前記判定機構は、前記パケットの中の１つ以上のフィールド、および選択的に該パケットが受信されたポートに基づいて、前記内部仮想ネットワーク識別子を判定するようにさらに構成される、項目４１に記載のスイッチ。
（項目４３）
転送参照機構をさらに含み、該転送参照機構は、前記内部仮想ネットワーク識別子に基づいて、転送参照動作を行うように構成される、項目４１に記載のスイッチ。
（項目４４）
前記パケットは、ＴＲＩＬＬパケットであり、前記仮想ネットワーク識別子は、ＴＲＩＬＬオプションフィールドの中に記憶された仮想プライベートネットワーク（ＶＰＮ）識別子である、項目４１に記載のスイッチ。
（項目４５）
異なる仮想ネットワークからのパケットは、前記内部仮想ネットワーク識別子にマップされる、項目４１に記載のスイッチ。
【国際調査報告】
2013528340.tif 000031
2013528340.tif 000032
2013528340.tif 000033
2013528340.tif 000034
2013528340.tif 000035