(57)【特許請求の範囲】
【請求項１】
マルチシャーシシステムにおけるアグリゲーションスイッチであって、
マルチシャーシリンクアグリゲートを形成するように構成されたリモートアグリゲーションスイッチの１つまたは複数のポートインターフェースとともにグループ化された、前記アグリゲーションスイッチの第１の組のポートインターフェースであって、前記マルチシャーシリンクアグリゲートは、前記アグリゲーションスイッチおよび前記リモートアグリゲーションスイッチをエッジノードに結合する、第１の組のポートインターフェースと、
前記アグリゲーションスイッチを前記リモートアグリゲーションスイッチに結合するための仮想ファブリックリンクを形成するように構成された、第２の組のポートインターフェースと、
処理モジュールであって、
前記リモートアグリゲーションスイッチへの前記仮想ファブリックリンクの接続障害を判断し、
前記第１の組のポートインターフェースの１つまたは複数を、エッジノードに結合するためのリンクアグリゲートに再構成し、
前記第１の組のポートインターフェースの１つまたは複数においてスパニングツリープロトコルを起動する
ように動作可能な処理モジュールと
を備える、アグリゲーションスイッチ。
【請求項２】
前記処理モジュールが、
前記第１の組のポートインターフェースをマルチシャーシリンクアグリゲートとして指定するリンクパラメータを、前記第１の組のポートインターフェースをリンクアグリゲートとして指定するリンクパラメータに再割り当てする
ことによって、前記第１の組のポートインターフェースをリンクアグリゲートに再構成するように動作可能である、請求項１に記載のアグリゲーションスイッチ。
【請求項３】
前記第１の組のポートインターフェースがそれぞれ、
リンクパラメータのリンクアグリゲートへの変化を検出し、
ＭＡＣテーブルエントリをフラッシュし、
リンクアグリゲートの一部として、ＭＡＣテーブルエントリを再配置する
ように動作可能である、請求項２に記載のアグリゲーションスイッチ。
【請求項４】
前記処理モジュールが、
前記第１の組のポートインターフェース上でスパニングツリープロトコルをイネーブルし、
仮想ローカルエリアネットワークに属するパケットの前記アグリゲーションスイッチを通るループを識別し、
識別されたループを防止するように、前記アグリゲーションスイッチの１つまたは複数のポートインターフェース上で、前記仮想ローカルエリアネットワークに属するパケットの転送をブロックする
ことによって、前記第１の組のポートインターフェースにおいてスパニングツリープロトコルを起動するように動作可能である、請求項１に記載のアグリゲーションスイッチ。
【請求項５】
前記第１の組のポートインターフェースが、
宛先アドレスを含む、着信パケットを受信し、
着信パケットの宛先アドレスに基づいて、前記リモートアグリゲーションスイッチ上のハードウェアデバイスに対応する宛先ハードウェアデバイス情報を求め、
着信パケットから、宛先ハードウェアデバイス情報を含むプリペンドされたヘッダを有するパケットを発生し、
前記仮想ファブリックリンクを通した前記リモートアグリゲーションスイッチへの送信のために、プリペンドされたヘッダを有するパケットを前記第２の組のポートインターフェースに送信する
ように動作可能である、請求項１に記載のアグリゲーションスイッチ。
【請求項６】
前記第２の組のポートインターフェースが、
前記仮想ファブリックリンクの障害を判断し、
前記仮想ファブリックリンクを通したパケットの転送をブロックする
ように動作可能である、請求項５に記載のアグリゲーションスイッチ。
【請求項７】
スイッチにおける方法であって、
マルチシャーシモードで動作するステップであって、
前記スイッチ内の第１の組のポートインターフェースを通してエンドノードと通信するステップであって、前記第１の組のポートインターフェースは、前記エンドノードと通信するリモートスイッチの１つまたは複数のポートインターフェースとともにマルチシャーシリンクアグリゲートを形成するように構成される、通信するステップと、
仮想ファブリックリンクを形成するように構成された前記スイッチ内の第２の組のポートインターフェースを通して、前記リモートスイッチと通信するステップと
を含む、マルチシャーシモードで動作するステップと、
前記仮想ファブリックリンクの接続障害が発生すると、スタンドアロンモードで動作するステップであって、複数の前記第１の組のポートインターフェースをリンクアグリゲートに再構成し、複数の前記第１の組のポートインターフェースにおいてスパニングツリープロトコルを起動する、スタンドアロンモードで動作するステップと
を含む、方法。
【請求項８】
所定のテーブルからスタンドアロンモードでの動作のためのリンクパラメータを決定するステップをさらに含み、スタンドアロンモードでの動作のためのリンクパラメータは、リンクアグリゲートのためのリンクパラメータ、および前記リモートスイッチのシステム識別子とは異なるシステム識別子を含む、請求項７に記載の方法。
【請求項９】
リンクアグリゲートのためのリンクパラメータを用いて複数の前記第１の組のポートインターフェースを再構成するステップと、
複数の前記第１の組のポートインターフェースのリンクアグリゲートへの再構成を検出するステップと、
マルチシャーシリンクアグリゲートに関連する前記第１の組のポートインターフェースによって、ＭＡＣテーブルエントリをフラッシュするステップと、
リンクアグリゲートに対するＭＡＣテーブルエントリを再配置するステップと
をさらに含む、請求項７に記載の方法。
【請求項１０】
複数の前記第１の組のポートインターフェースにおいてスパニングツリープロトコルを起動するステップが、
前記第１の組のポートインターフェース上でスパニングツリープロトコルをイネーブルするステップと、
前記スイッチを通るパケットフローのためのアクティブパスを識別するステップと、
１つまたは複数の他のパスのための前記スイッチの１つまたは複数のポートインターフェース上のパケットフローにおけるパケットの転送をブロックするステップと
を含む、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にデータネットワークに関し、具体的には１つまたは複数のデータネットワークのノード間のトポロジー的な冗長性および回復力をもたらすためのシステムおよび方法に関する。
【背景技術】
【０００２】
データネットワークは、多くの異なるコンピューティングデバイス、例えばパーソナルコンピュータ、ＩＰ電話デバイス、またはサーバが、互いに、および／またはネットワークに接続された様々な他のネットワーク要素またはリモートサーバと通信することを可能にする。例えばデータネットワークは、非限定的に例えばボイスオーバＩＰ（ＶｏＩＰ）、データおよびビデオアプリケーションを含む複数のアプリケーションをサポートする、メトロイーサネット(登録商標)または企業イーサネットネットワークを含むことができる。このようなネットワークは通常、ネットワークを通してトラフィックをルーティングする、一般にスイッチまたはルータとして知られる多くの相互接続されたノードを含む。
【０００３】
様々なノードは多くの場合、ネットワークのサイズに応じて一般に２つまたは３つの「階層」または「レイヤ」を特徴付ける、ネットワークの特定のエリア内のそれらの場所に基づいて区別される。通常は３階層のネットワークは、エッジレイヤ、アグリゲーションレイヤ、およびコアレイヤからなる（一方、２階層ネットワークは、エッジレイヤおよびコアレイヤのみからなる）。データネットワークのエッジレイヤは、ローカルエリアネットワークなどの企業ネットワークまたはホームネットワークから、メトロまたはコアネットワークへの接続性をもたらすエッジ（アクセスとも呼ばれる）ネットワークを含む。エッジ／アクセスレイヤは、ネットワークのエントリポイントであり、すなわちそれに顧客ネットワークワークが名目的に接続され、エッジレイヤにあるスイッチはエッジノードとして知られる。種々のタイプのエッジネットワークは、デジタル加入者線、ハイブリッドファイバ同軸（ＨＦＣ）、およびファイバトゥザホームを含む。エッジノードは、例えば接続されたデバイスに対するＬ２スイッチング機能を行うことができる。エッジノードは一般に、複数のエッジノードから来るアクセスリンクを終端するアグリゲーションレイヤに接続される。アグリゲーションレイヤにあるスイッチは、アグリゲーションスイッチとして知られる。アグリゲーションスイッチは、例えばアグリゲートリンクを通じてエッジノードから受信されるトラフィックの、Ｌ２スイッチングおよびＬ３ルーティングを行うことができる。アグリゲーションレイヤは、アグリゲーションスイッチから（３階層ネットワークにおいて）、またはエッジノードから（２階層ネットワークにおいて）受信されるトラフィックのレイヤ３／ＩＰルーティングを行う、メトロまたはコアネットワークレイヤに接続される。理解されるように、ネットワークの各増分のレイヤにおけるノードは通常、より大きな容量およびより高速のスループットを有する。
【０００４】
データネットワークが直面する主な課題の１つは、満足なネットワーク性能をもたらすために決定的に重要であるネットワーク回復力、すなわち断続的な構成要素障害、リンク障害などにもかかわらず高い可用性を維持する能力の必要性である。ネットワーク回復力は、一部はトポロジー的な冗長性によって、すなわち単一の障害ポイントを防止するために冗長ノード（およびノード内の冗長な構成要素）、およびノード間の複数の物理パスをもたらすことによって達成することができ、ならびに一部は障害の発生後すぐに、ネットワークを通るトラフィックフローをルーティングするために代替パスに収束するように、冗長性を利用するためのＬ２／Ｌ３プロトコルによって達成することができる。理解されるように、代替パスへのシームレスな遷移を達成するために、検出および収束時間は迅速に（有利には１秒未満で）行われなければならない。
【０００５】
イーサネットプロトコルは、コンピュータとネットワークの間で通信するためのホームおよび企業ネットワークなどの、ローカルエリアネットワーク（ＬＡＮ）において普遍的に用いられるトランスポート技術である。しかしアクセスおよびアグリゲーションネットワークならびにメトロネットワークにおける、イーサネットプロトコル技術の使用は、増大し続け、企業ネットワークにおけると同様にエッジネットワークに大変革を起こしている。アクセス技術としてイーサネットは他のアクセス技術よりも重要な利点、すなわち（ｉ）データ、ビデオ、および音声アプリケーションのために将来にわたって使用され得るトランスポート、（ｉｉ）データサービスのためのコスト効率の良いインフラストラクチャ、および（ｉｉｉ）簡潔であり相互運用性を確実にするようになる世界的に受け入れられる標準、を提供する。
【０００６】
イーサネット技術を、エッジおよびアグリゲーションレイヤネットワークにおけるキャリア品位のサービス環境に適合させるために、障害に対する回復力を含む対処すべきいくつかの問題がある。１つの知られている解決策では通例、イーサネットネットワークにおいて障害が起きたときに障害を検出し、トラフィックを代替パスに迂回するために、スパニングツリープロトコル（ＳＴＰ）が用いられる。一般にＳＴＰは、スイッチ間の複数の物理パスに依存するが、任意の時点では特定のパケットフローに対して１つのパスだけがアクティブあり、他方のパスは、ブロックモード（「アクティブ／パッシブ」パラダイムを規定する）に置かれる。障害が起きたときは、代替パスはブロックモードからアクティブ状態にされ、それによって接続を再確立する。
【０００７】
しかしＳＴＰは一部のネットワークトポロジーにおいて結果として、非限定的にエッジノードとデータネットワークのアグリゲーションスイッチとの間の収束を含む、許容できない収束時間（例えば最大で数秒）を生じ得る。さらにＳＴＰはアクティブ／パッシブ動作パラダイムをもたらすだけであり、それによってすべてのリンクが同時に能動的にトラフィックを転送することはない。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】ＩＥＥＥ  ８０２．１ＡＸ−２００８、２００８年１１月３日
【非特許文献２】ＩＥＥＥ  ８０２．１Ｑ、Ｖｉｒｔｕａｌ  Ｂｒｉｄｇｅｄ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ、２００５年版
【非特許文献３】ＩＥＥＥ  ８０２．１Ｄ、Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｌｏｃａｌ  ａｎｄ  ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋｓ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）Ｂｒｉｄｇｅｓ、２００４年版
【発明の概要】
【発明が解決しようとする課題】
【０００９】
したがって非限定的に、イーサネットネットワークのエッジノードとアグリゲーションスイッチの間などの、１つまたは複数のデータネットワークのノード間の回復力をもたらすためのシステムおよび方法の必要性がある。回復力があり、様々なタイプのネットワークノードに適合可能な通信制御プロトコルをもたらすための、システムおよび方法の必要性がある。このようなネットワークにおける１つまたは複数のリンクの障害による復旧をもたらすためのシステムおよび方法の必要性がある。
【図面の簡単な説明】
【００１０】
【図１】本発明によるネットワークアーキテクチャの一実施形態の概略ブロック図である。
【図２】本発明によるマルチシャーシシステムの一実施形態の概略ブロック図である。
【図３】本発明によるマルチシャーシシステムにおけるアグリゲーションスイッチの一実施形態の概略ブロック図である。
【図４】本発明によるマルチシャーシシステムにおけるアグリゲーションスイッチの、ネットワークインターフェースモジュールの一実施形態の概略ブロック図である。
【図５】本発明によるマルチシャーシシステムにおけるアグリゲーションスイッチを通るパケットフローの一実施形態の概略ブロック図である。
【図６】本発明によるマルチシャーシシステムにおける送信元アドレス学習の一実施形態の概略ブロック図である。
【図７】本発明によるマルチシャーシシステムにおけるパケットのプリペンドされたヘッダの一実施形態の概略ブロック図である。
【図８】本発明によるアグリゲーションスイッチの管理制御モジュールの一実施形態の概略ブロック図である。
【図９】本発明による、仮想ファブリックリンクが作動可能なときの、マルチシャーシシステムにおけるリンクステータスの一実施形態の概略ブロック図である。
【図１０】本発明による仮想ファブリックリンクの接続障害の場合のマルチシャーシシステムにおけるリンクステータスの一実施形態の概略ブロック図である。
【図１１】本発明による、仮想ファブリックリンクを通して接続障害が生じたときの復旧のための一実施形態の概略ブロック図である。
【図１２】本発明による、仮想ファブリックリンクを通して接続障害が生じたときの復旧のための方法の一実施形態の論理フロー図である。
【図１３】本発明による、アグリゲーションスイッチ上のマルチシャーシリンクアグリゲートの再構成の方法の一実施形態の論理フロー図である。
【図１４】本発明による、アグリゲーションスイッチによるスパニングツリープロトコル（ＳＴＰ）イネーブル化のための方法の一実施形態の論理フロー図である。
【図１５】本発明による、ＶＦＬが作動可能のときに、アグリゲーションスイッチによってマルチシャーシモードに戻るための方法の一実施形態の論理フロー図である。
【図１６】本発明による、アグリゲーションスイッチによってスタンドアロンモードで動作する方法の一実施形態の論理フロー図である。
【図１７】本発明による、アグリゲーションスイッチによってマルチシャーシモードで動作する方法の一実施形態の論理フロー図である。
【発明を実施するための形態】
【００１１】
図１は、ネットワークノードの能力をより十分に利用する、アクティブ／アクティブパラダイム（すなわちすべてのリンクが同時に能動的にトラフィックを転送する）をもたらすマルチシャーシリンクアグリゲーションを有する、回復力のあるネットワーク１００の一実施形態を示す。本明細書では以下の略称が用いられる。
ＣＭＭ    シャーシ管理モジュール
ＬＡＧ  リンクアグリゲーション
Ｌ２  ネットワークに対するＯＳＩモデルのレイヤ２（「データリンクレイヤ」）
Ｌ３  ネットワークに対するＯＳＩモデルのレイヤ３（「ネットワークレイヤ」）
ＭＡＣ  媒体アクセス制御プロトコル
ＭＣ−ＬＡＧ  マルチシャーシリンクアグリゲートグループ
ＭＣ−ＶＦＡ  マルチシャーシ仮想ファブリックアグリゲーション
ＮＩＭ  ネットワークインターフェースモジュール
ＳＴＰ  スパニングツリープロトコル
ＶＬＡＮ  仮想ローカルエリアネットワーク
ＡＳＩＣ  特定用途向け集積回路
本出願では以下の標準が参照され、参照により本明細書に組み込まれる：１）以前にＩＥＥＥ  ８０２．３ａｄタスクフォースによって２０００年３月に追加されたＩＥＥＥ８０２．３標準の４３項であり、現在は２００８年１１月３日にＩＥＥＥ８０２．１ＡＸ−２００８に組み込まれている、リンクアグリゲーション制御プロトコル（ＬＡＣＰ）、２）ＩＥＥＥ標準８０２．１Ｑ、Ｖｉｒｔｕａｌ  Ｂｒｉｄｇｅｄ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ、２００５年版、ならびに３）ＩＥＥＥ  ８０２．１Ｄ、Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｌｏｃａｌ  ａｎｄ  ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋｓ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）Ｂｒｉｄｇｅｓ、２００４年版。
【００１２】
リンクアグリゲーション制御プロトコル（ＬＡＣＰ）は、２つのピアノード間の、リンクアグリゲーショングループ（ＬＡＧ）と呼ばれるいくつかの物理リンクのバンドリングを制御して、それらの間に単一の論理チャネルを形成する方法をもたらす。ピアノードは、ＬＡＣＰパケットを交換することによって物理リンクのＬＡＧへのバンドリングをネゴシエートし、あるいはＬＡＧは手動で構成することができる。リンクアグリゲーションは、いずれの単一ポートまたはリンク単独で届けることできるものより多くのデータを転送するための、費用のかからない方法を提供する。一実施形態ではＬＡＧのポートは、すべての銅線ポート（ＣＡＴ−５Ｅ／ＣＡＴ−６）、すべてのマルチモードファイバポート（ＳＸ）、またはすべてのシングルモードファイバポート（ＬＸ）などの、同じ物理タイプを含む。他の実施形態ではＬＡＧのポートは、異なる物理タイプを有することができる。
【００１３】
向上された回復力をもたらし、単一の障害のポイントを取り除くために、図１からわかるようにＬＡＧは２つのデバイスにわたって分割され、本明細書ではマルチシャーシリンクアグリゲーショングループ（ＭＣ−ＬＡＧ）１０２と呼ばれる。例えば図１では、ＭＣ−ＬＡＧ１０２ａはエッジノード１０４から生じ、２つのサブセットに分割され、各サブセットにおいてＭＣ−ＬＡＧ１０２ａの１つまたは複数の物理リンクで、２つのアグリゲーションスイッチ１０６ａおよび１０６ｂに接続される。一実施形態ではエッジノード１０４は、ＭＣ−ＬＡＧ１０２ａのすべての利用可能なリンクにわたってトラフィックを分散するために負荷バランス技法を用いることができる。ＭＣ−ＬＡＧ１０２ａを通して送信される各パケットに対して、負荷バランスアルゴリズムに基づいて物理リンクの１つが選択される（通常は、送信元および宛先インターネットプロトコル（ＩＰ）、または媒体アクセス制御（ＭＡＣ）アドレス情報に対して演算するハッシュ関数を用いる）。ＭＣ−ＬＡＧ１０２の物理リンクにわたる負荷バランスは、結果として帯域幅のより効率的な使用をもたらす。
【００１４】
図１からわかるようにエッジノード１０４は、アクセスネットワーク１２２を通して、ＬＡＮ内で動作するブリッジ、スイッチ、ルータなどの企業ネットワークデバイス１１０に接続され、および／またはＤＳＬモデム、セットトップボックス、光回線終端装置などのホームネットワークデバイス１１２にも接続され得る。エッジノード１０４はスイッチまたはサーバであり、一実施形態では機能的にＤＳＬアクセスマルチプレクサ（ＤＳＬＡＭ）、ケーブルモデム終端システム（ＣＭＴＳ）、光回線終端装置（ＯＬＴ）などを含むことができるが、他のタイプのデバイスも含むことができる。
【００１５】
一実施形態ではアグリゲーションスイッチ１０６は、仮想ファブリックリンク（ＶＦＬ）１２４に結合される。ＶＦＬ１２４は、トラフィック転送、ＭＡＣアドレシング、マルチキャストフロー、アドレス解決プロトコル（ＡＲＰ）テーブル、レイヤ２制御プロトコル（例えばスパニングツリー、イーサネットリング保護、論理リンク検出プロトコル）、ルーティングプロトコル（例えばＲＩＰ、ＯＳＰＦ、ＢＧＰ）、およびそれに接続されたＭＣ−ＬＡＧ１０２のステータスに関する、アグリゲーションスイッチ１０６間の情報の交換のための接続をもたらす。アグリゲーションスイッチ１０６はエッジノード１０４に対して透過的に動作し、エッジノード１０４によって単一の論理デバイスとして扱われる。エッジノード１０４は、ＭＣ−ＬＡＧ１０２ａ上で能動的にトラフィックを転送することができ、一方、アグリゲーションスイッチ１０６間の、ＭＡＣアドレステーブルおよび他の転送情報の同期は、一実施形態では、低減された量の制御メッセージングと共に、ＶＦＬ１２４を通してレイヤ２（Ｌ２）パケットフローによって駆動される。この機能は、アグリゲーションスイッチ１０６の対への、エッジノード１０４のデュアルホーミングを可能にし、レイヤ２マルチパスイントラストラクチャならびに基本レイヤ３アクセスインフラストラクチャをもたらす。
【００１６】
加えて一実施形態では、このマルチシャーシ仮想ファブリックアグリゲーション（ＭＣ−ＶＦＡ）機能は、エッジノード１０４とアグリゲーションスイッチ１０６の間のレイヤ２冗長性プロトコル（例えばスパニングツリー）を必要とせずにこの機能をもたらし、一方で依然として、エッジアップリンク障害ならびにアグリゲーション／コアスイッチ障害に対するキャリア品位の検出および収束時間を容易にする。特にデータセンタに対する、多くの最近のネットワーク設計は、エッジノードとアグリゲーションスイッチの間のますます多くのレイヤ２隣接関係を必要としている。この傾向は、ループ検出機能および収束時間など、スパニングツリープロトコルの限界を押し広げつつある。スパニングツリー収束時間は、多くの現在のネットワークトポロジーでは最大で数秒になり得る。一実施形態でのマルチシャーシアーキテクチャは、好ましくはループ防止のためにスパニングツリープロトコル動作を稼働することを必要とせずに、エッジノード１０４とアグリゲーションスイッチ１０６の間のデュアルホーム、レイヤ２マルチパス接続をもたらし、一方で依然として一実施形態ではネットワークトポロジーのいくつかの部分において、マルチシャーシ機能性と共にスパニングツリープロトコル動作を可能にするように十分に柔軟性を有する（例えばアグリゲーションスイッチ間で、ＶＦＬ１２４を通して、ならびにアグリゲーションスイッチをコアネットワークノード１１６または他のスイッチ／ルータに接続するリンクを通して）。
【００１７】
一実施形態でのＭＣ−ＶＦＡアーキテクチャの利点は、エッジノード１０４のアクティブ／アクティブ転送モードであり、それによってアグリゲーションスイッチ１０６ａおよびアグリゲーションスイッチ１０６ｂへのＭＣ−ＬＡＧアップリンクの両方の組がトラフィックを処理して、ＭＣ−ＬＡＧリンクの帯域幅の使用の効率を向上させる。この機能はまた一実施形態では、アクセスアップリンク障害およびノード障害に対する高速なフェイルオーバ検出および収束時間を容易にする。加えて本明細書では、ＶＦＬ１２４の障害の場合の復旧の機構のための一実施形態が述べられる。
【００１８】
図１からわかるように一実施形態では、アグリゲーションスイッチ１０６はまた、本明細書で述べられるようにＭＣ−ＬＡＧ機能（ＭＣ−ＶＦＡアーキテクチャの一部として）を用いて、ネットワークスイッチおよび／またはルータなどの１つまたは複数のネットワークノード１１６を含むメトロまたはコアネットワーク１２０に接続される。例えばアグリゲーションスイッチ１０６ｂは、ＭＣ−ＬＡＧ１０２ｂを通してネットワークノード１１６ｂおよび１１６ｃに接続され、ネットワークノード１１６ｂおよび１１６ｃは同様にＶＦＬを通して状態情報を交換する。ＭＣ−ＬＡＧ１０２ｂアーキテクチャは、アグリゲーションスイッチ１０６ｂと、ネットワークノード１１６ｂおよび１１６ｃとの間の、デュアルホーム、レイヤ２マルチパス接続をもたらす。一実施形態ではネットワークノード１１６はまた、ＭＣ−ＬＡＧ１０２ｃおよびＶＦＬ１２４からわかるように、ＭＣ−ＬＡＧ機能性を用いて接続され得る。アグリゲーションスイッチ１０６はまた、ＬＡＧ１１８などの標準のＬＡＧまたは他のトランクまたはリンクを用いて、ネットワークノード１１６に接続され得る。
【００１９】
次に図２に関連して、ＭＣ−ＶＦＡアーキテクチャについてより詳しく述べる。エッジノード１０４ａは、第１のＭＣ−ＬＡＧ１  １０２ａによってアグリゲーションスイッチ１０６ａおよび１０６ｂに接続され、一方、エッジノード１０４ｂは、第２のＭＣ−ＬＡＧ２  １０２ｂによってアグリゲーションスイッチ１０４ａおよび１０４ｂに接続される。各ＭＣ−ＬＡＧ１０２ａおよび１０２ｂは、少なくとも２つのサブセットに分割された複数の物理リンクを含み、２つのサブセットのそれぞれは少なくとも１つの物理リンクを含む。図２からわかるように第１の組のＭＣ−ＬＡＧ１０２ａ物理リンクは第１のアグリゲーションスイッチ１０６ａにおいて終端され、第２の組のＭＣ−ＬＡＧ１０２ａ物理リンクは第２のアグリゲーションスイッチ１０６ｂにおいて終端される。ＭＣ−ＬＡＧ１は、論理的デュアルホーム、レイヤ２マルチパスを形成する。ＭＣ−ＬＡＧメンバポートは、ＭＣ−ＬＡＧ１０２のメンバである、外部のユーザポートである。一実施形態ではＶＦＬ１２４は、回復力のために各アグリゲーションスイッチ１０６上に複数のネットワークインターフェースモジュールに広がり、シャーシ間トラフィックおよび制御／状態データ転送をもたらすリンクアグリゲート（ＬＡＧ）である。マルチシャーシシステム１４０は、アグリゲーションスイッチ１０６、仮想ファブリックリンク１２４、ＭＣ−ＬＡＧ１０２ａおよび１０２ｂの少なくとも１つ、および対応するダウンストリームエッジノード１０４に接続されたそれらのそれぞれのＭＣ−ＬＡＧメンバポートを含む。アグリゲーションスイッチ１０６ａおよび１０６ｂは、それぞれがスタンドアロンスイッチとして動作可能であり、それぞれがそれ自体の個別の物理シャーシに入れられた、個別の物理スイッチである。アグリゲーションスイッチ１０６ａおよび１０６ｂは、中央局またはデータセンタ内などの同じ地理的エリアにあってもよく、または地理的多様性をもたらすために異なる建物または都市などにおいて別々の地理的場所にあってもよい。
【００２０】
アグリゲーションスイッチ１０６に接続されたＭＣ−ＬＡＧクライアントとして動作するエッジノード１０４は、好ましくはリンクの選択が所与のパケットフローに対して固定されたままである限り、種々の方法を用いてトラフィックをＭＣ−ＬＡＧのそれらのリンクに割り当てることができる。これは、通信しているエンドステーションのいずれの対の間でトラフィックが順次届けられることを確実にする。一実施形態では好ましくは、エッジデバイスからＭＣ−ＬＡＧアグリゲーションスイッチのそれぞれまで、同数のアップリンクポートが構成される。言い換えれば、エッジノードとアグリゲーションスイッチの１つとの間でＭＣ−ＬＡＧのために２つのアップリンクが構成された場合は、エッジノードと他方のアグリゲーションスイッチとの間にもＭＣ−ＬＡＧのために２つのアップリンクが構成されるべきである。必須ではないがこの構成は、アグリゲーションスイッチとエッジノードの間のフローに対してより一様なトラフィック分布をもたらす。
【００２１】
次に、アグリゲーションスイッチ１０６の間の仮想ファブリックリンク（ＶＦＬ）１２４について、図３に関連してより詳しく述べる。一実施形態ではアグリゲーションスイッチ１０６はそれぞれ、少なくとも１つの制御管理モジュール（ＣＭＭ）１５０ａ（プライマリ）、および好ましくは第２のＣＭＭモジュール１５０ｂ（バックアップ）、ならびにラインカードまたはポートモジュールなどの複数のネットワークインターフェースモジュール（ＮＩＭ）１５２を含む。ＶＦＬ１２４は、第１および第２のアグリゲーションスイッチ１０６において、１つまたは複数のＮＩＭ１５２に接続されたＶＦＬメンバポートのアグリゲートである。例えばＶＦＬ１２４は、アグリゲーションスイッチ１０６ａのＮＩＭ１５２ａとアグリゲーションスイッチ１０６ｂのＮＩＭ１５２ｂとの間の物理リンクの第１のサブセットＡ、およびアグリゲーションスイッチ１０６ａのＮＩＭ１５２ｎと１０６ｂとの間の物理リンクの第２のサブセットＢを含む。一実施形態ではＶＦＬリンクは、アグリゲーションスイッチ１０６のＮＩＭ１５２内にあるスイッチングＡＳＩＣ２１０の間に接続される。ＮＩＭ１５２はまたそれぞれ、以下でさらに述べられるキューイングＡＳＩＣ２１２を含む。スイッチングファブリック集積回路（ＩＣ）２１４は、アグリゲーションスイッチ１０６内の様々なＮＩＭ１５２の間の相互接続をもたらす。
【００２２】
マルチシャーシシステム内の各アグリゲーションスイッチ１０６には、一意のシャーシ識別子が割り当てられる。各アグリゲーションスイッチ１０６に対するシャーシＩＤは、一意でグローバルであり、例えば各アグリゲーションスイッチはそのピアアグリゲーションスイッチのシャーシＩＤを知っている。各アグリゲーションスイッチ１０６内のＩＣ、ＮＩＭ、ＣＭＭなどの様々な構成要素に対する一意のハードウェアデバイス識別子（ＭＩＤ）も発生され、ローカルおよびリモートオブジェクトの管理を可能にする。一実施形態では、スイッチングＡＳＩＣ２１０に対するハードウェアデバイス識別子は、マルチシャーシシステム内でグローバルな意味を有し、一方、キューイングＡＳＩＣ２１２などの他の構成要素に対するＭＩＤはローカルな意味のみを有することができる。例えば、スイッチングＡＳＩＣ２１０に割り当てられたハードウェアデバイス識別子は、両方のアグリゲーションスイッチ１０６によって知られており、一方、他のデバイスに対するハードウェアデバイス識別子は、ローカルアグリゲーションスイッチに限定され、リモートアグリゲーションスイッチに対しては意味をもたない。
【００２３】
一実施形態ではスイッチングＡＳＩＣ２１０には、下記など、それのアグリゲーションスイッチに割り当てられたレンジ内のグローバルな一意のハードウェアデバイス識別子（ＭＩＤ）が割り当てられる。
【００２４】
アグリゲーションスイッチ１０６ａ：シャーシＩＤ＝１およびＭＩＤ値０−３１
アグリゲーションスイッチ１０６ｂ：シャーシＩＤ＝２およびＭＩＤ値３２−６３
図３には、スイッチングＡＳＩＣ２１０に割り当てられた例示のＭＩＤが示される。割り当てられたレンジを知っていることによってモジュールは、アグリゲーションスイッチ１０６ａ内またはアグリゲーションスイッチ１０６ｂ内など、そのＭＩＤからスイッチングＡＳＩＣの場所を判断することができる。
【００２５】
一実施形態ではスイッチングＡＳＩＣ２１０は、アグリゲーションスイッチ１０６の間でデータを交換しパケットを制御するために、プリペンデッドヘッダモードにおいて動作する。図４は、ネットワークインターフェースモジュール（ＮＩＭ）１５２の一実施形態の概略ブロック図をより詳しく示す。スイッチングＡＳＩＣ２１０は、エッジノード１０４ａおよび１０４ｂなどの外部ノードに接続された複数の外部ポートインターフェース２４０を含む。外部ポートインターフェース２４０の１つまたは複数は、ＭＣ−ＬＡＧ、ＬＡＧ、または他のトランクグループ、固定リンクなどに対するメンバポートを含むことができる。外部ポート２４０は、銅線ポート（ＣＡＴ−５Ｅ／ＣＡＴ−６）、マルチモードファイバポート（ＳＸ）、またはシングルモードファイバポート（ＬＸ）などの、同じ物理インターフェースタイプを有することができる。他の実施形態では外部ポート２４０は、１つまたは複数の異なる物理インターフェースタイプを有することができる。
【００２６】
外部ポート２４０には、外部ポートインターフェース識別子（ポートＩＤ）例えば、スイッチングＡＳＩＣ２１０に関連する、ｇｐｏｒｔおよびｄｐｏｒｔ値などのデバイスポート値が割り当てられる。一実施形態ではスイッチングＡＳＩＣ２１０のＭＩＤと、スイッチングＡＳＩＣ２１０上の外部ポート２４０に対する外部ポートインターフェース識別子とは、マルチシャーシシステム１４０におけるローカルまたはリモートアグリゲーションスイッチ１０６のいずれかで上の、スイッチングＡＳＩＣ２１０の物理外部ポートインターフェース２４０を一意に識別するために用いられる。他の実施形態では、変換モジュールまたは他のエンティティを含むポートマネージャは、スイッチングＡＳＩＣ２１０のＭＩＤと、外部ポート識別子とを単一の整数値に変換してグローバルポート値（ＧＰＶ）例えばＭＩＤ４を発生し、デバイスポート識別子（ｄｐｏｒｔ）５はＧＰＶ２０に変換される。いずれの例においても、ローカルおよびリモートアグリゲーションスイッチの両方において、ＮＩＭ１５２の外部ポートに対する一意の外部ポート識別子が発生される。一意のポート識別子はまた、スイッチングＡＳＩＣ２１０からＮＩＭ１５２上の処理モジュールへの内部ポートなどの、スイッチングＡＳＩＣ２１０の内部ポートにも割り当てられる。これらの内部ポートはまたは、ポート識別子およびスイッチングＡＳＩＣのＭＩＤによって一意に識別される。
【００２７】
スイッチングＡＳＩＣ２１０はさらに、着信パケットの宛先アドレスを判断するパケット管理ユニット（ＰＭＵ）２４２を含む。パケットは、スイッチングＡＳＩＣ２１０の別の外部ポートインターフェース２４０に、ローカルまたはリモートアグリゲーションスイッチ上の別のＮＩＭ１５２への送信のためにキューイングＡＳＩＣ２１２に、またはスイッチングＡＳＩＣ２１０の外部または内部のＮＩＭ１５２の処理モジュール２６６への送信のためにプロセッサインターフェース（ＰＩ）２４４に、切り換えることができる。
【００２８】
一実施形態では、パケットがローカルまたはリモートアグリゲーションスイッチ上の別のＮＩＭ１５２に送信されるときは、スイッチングＡＳＩＣ２１０は、ハードウェアデバイス情報（ＨＤＩ）を含むようにパケットヘッダを追加するあるいは変更するプリペンデッドパケットヘッダインターフェース（ＰＰＨＩ）に、パケットを転送する。ＨＤＩは、パケットの送信元および／または宛先に関連するハードウェアデバイスの識別子を含む。一実施形態ではプリペンドされたヘッダは、パケット優先度および負荷バランス識別子などの他の情報を含むことができる。宛先ＨＤＩ情報を取得するためにＰＰＨＩは、ＭＡＣ／ＨＤＩ転送テーブル２５０へのルックアッププロセスを行う。アドレステーブルメモリ２４８に記憶されたＭＡＣ／ＨＤＩ転送テーブル２５０は、アグリゲーションスイッチ１０６に接続された外部デバイス、ノード、モジュール、ソフトウェアまたはハードウェアに対するＭＡＣアドレスなどの、ＭＡＣアドレスエントリのリストを含む。ＭＡＣアドレスエントリは、関連付けられたＭＡＣアドレスを有するデバイスに到達するようにパケットをブリッジするまたはルーティングするために用いられる、関連するハードウェアデバイス情報を含む。宛先ハードウェアデバイス情報は例えば、宛先ＭＡＣアドレスに関連付けられたローカルまたはピアアグリゲーションスイッチのいずれかの、スイッチングＡＳＩＣ２１０のポート識別子およびＭＩＤ（例えば、ＭＩＤ＝２４、ポートＩＤ＝５、またはＭＩＤ＝５４、デバイスポート＝１２）を含む。他の実施形態では宛先ハードウェアデバイス情報は、宛先ＭＡＣアドレスに関連付けられた外部ポートインターフェースのグローバルポート値（ＧＰＶ）を含むことができる。ＭＡＣ／ＨＤＩ転送テーブル２５０は、送信元トランクマップ、トランクビットマップテーブル、トランクグループテーブル、ＶＬＡＮマッピングテーブルなどの１つまたは複数のテーブルを含むことができる。一実施形態ではＭＡＣ／ＨＤＩ転送テーブル２５０またはその一部は、ＮＩＭ１５２のキューイングＡＳＩＣ内に配置することもできる。
【００２９】
一実施形態では、スイッチングＡＳＩＣ２１０が、リモートアグリゲーションスイッチへのリンクを有するアクティブＶＦＬメンバポート２５２を含むときは、ＭＡＣ／ＨＤＩ転送テーブル２５０は、ｇｐｏｒｔ値をスイッチングＡＳＩＣ  ＭＩＤ値およびデバイスポート値に関連付けるためのテーブル、および／または外部ポートインターフェースに対する論理アグリゲートグループ識別子マッピングを有するテーブルなどの、追加のＨＤＩ情報を含むことができる。
【００３０】
一実施形態ではプリペンドされたヘッダは、スイッチングＡＳＩＣのハードウェアデバイス識別子ＭＩＤ、および送信元ポートのデバイスポート識別子を含む、外部または内部ポートインターフェースなどの、送信元ポートに関連するハードウェアデバイス情報ＨＤＩを含む。
【００３１】
他の実施形態ではプリペンドされたヘッダは、ＶＦＬポート１２４に接続されたスイッチングＡＳＩＣ２１０に関連するＨＤＩを含む（図３でのアグリゲーションスイッチ１０６ａに対してＭＩＤ＝０、ＭＩＤ＝３１など）。次いでＶＦＬポートに接続されたスイッチングＡＳＩＣ２１０は、ＶＦＬを通してパケットを送信する前に、プリペンドされたヘッダ内のＨＤＩをトランスレートまたは変換することになる。
【００３２】
一実施形態ではＰＰＨＩ２４６はまた、送信元ポート、例えばパケットを最初に受信した外部ポートインターフェース２４０、に関連する送信元ハードウェアデバイス情報を付加する。送信元ハードウェアデバイス情報は、スイッチングＡＳＩＣ２１０のＭＩＤ、およびポート識別子（例えばデバイスポート）、および／または外部ポートインターフェース２４０のグローバルポート値（ＧＰＶ）を含むことができる。一実施形態ではまた、宛先ハードウェアデバイス識別子またはＭＩＤ、宛先デバイスポート、ＶＬＡＮ  ＩＤ、パケットタイプ（マルチキャスト、ユニキャスト、ブロードキャスト）、パケット優先度および負荷バランス識別子などの、追加の情報もプリペンドされたヘッダに追加される。一実施形態では宛先ＨＤＩは、ＭＡＣ／ＨＤＩ転送テーブル２５０などのアドレステーブル２４８から取り出される。
【００３３】
次いでプリペンドされたヘッダを有するパケットは、ファブリックＩＣ２１４を通してルーティングするために、キューイングＡＳＩＣ２１２に送信される。キューイングＡＳＩＣ２１２は、パケットバッファ２６０、トラフィックおよびバッファ管理をもたらすためのキュー管理２６２、およびグローバルＨＤＩアドレステーブル２６４を含む。グローバルＨＤＩアドレステーブル２６４は、宛先ＨＤＩを、他のＮＩＭ１５２の１つまたは複数内のキューイングＡＳＩＣ２１２における適切なキューにマップする。例えばマッピングは、プリペンドされたヘッダ内のハードウェアデバイス情報に基づいて、アグリゲーションスイッチ１０６内の他のキューイング／スイッチングＡＳＩＣ内の外部ポートインターフェースの１つまたは複数に対する適切な外向きキューに、パケットを切り換えるための情報をもたらす。他の例では、宛先ＨＤＩがリモートアグリゲーションスイッチ上の宛先を示す（すなわち宛先デバイス識別子が、リモート／ピアスイッチレンジに属する）ときは、キューイングＡＳＩＣ２１２は、ＶＦＬ１２４を通したリモートアグリゲーションスイッチへの送信のために、ローカルアグリゲーションスイッチ１０６内のＶＦＬポートインターフェースの１つまたは複数に対する適切な外向きキューにパケットを切り換え、例えばグローバルＨＤＩアドレステーブル２６４は、関連するハードウェアデバイスがリモートアグリゲーションスイッチ上にあることを示す。一実施形態では、特定のＶＦＬポートインターフェースに対応する外向きキューの決定は、プリペンドされたヘッダ内にある、前にスイッチングＡＳＩＣ２１０によって挿入された、負荷バランス識別子に基づいて行われる。
【００３４】
スイッチングＡＳＩＣ２１０およびキューイングＡＳＩＣ２１２は、別々の集積回路またはモジュールとして示されるが、ＡＳＩＣの１つまたは複数の機能または構成要素は、他方のＡＳＩＣに含める、または代替のＡＳＩＣに組み合わせる、あるいは１つまたは複数の集積回路に実装することができる。
【００３５】
図５は、アグリゲーションスイッチ１０６ａを通ってＶＦＬ１２４に至るまでのパケットフローの一実施形態の概略ブロック図を示す。この例では、企業デバイス１１０またはホームネットワークデバイス１１２などの送信元ＭＡＣアドレスを有するデバイス３００は、パケットを、例えばエッジノード１０４を通して、リモートアグリゲーションスイッチ１０６ｂの外部ポートインターフェースを通してアクセスすることができるデバイスの宛先ＭＡＣアドレスを有して、アグリゲーションスイッチ１０６ａに送信する。ＮＩＭ１５２ｎ内の、例えば図５のＭＩＤ＝３１を有する、スイッチングＡＳＩＣ２１０ｎは、例えばポートＩＤ＝２を有する外部ポートインターフェース２４０上でパケットを受信する。スイッチングＡＳＩＣ２１０ｎは、宛先ＭＡＣアドレスを抽出し、アドレステーブルルックアップを行って、ＭＡＣ／ＨＤＩ転送テーブル２５０から、宛先ＭＡＣアドレスに関連付けられたハードウェアデバイス情報（ＨＤＩ）を求める。宛先ＨＤＩは、例えばローカルアグリゲーションスイッチ１０６ａまたはリモートアグリゲーションスイッチ１０６ｂのいずれかのＮＩＭ１５２、キューイングＡＳＩＣ２１２、スイッチングＡＳＩＣ２１０、外部ポート識別子２４０、ＶＦＬ１２４のメンバポートなど、ＭＡＣアドレスを有する宛先デバイスへのパスにおける１つまたは複数のハードウェア構成要素のデバイスモジュール識別子（ＭＩＤ）を含むことができる。一実施形態では宛先ＨＤＩは、スイッチングＡＳＩＣ２１０のＭＩＤ、および宛先デバイスへのアクセスをもたらす外部ポートインターフェース２４０のポート識別子（例えばデバイスポート）を含むことができる。さらに一実施形態ではプリペンドされたヘッダは、元のパケットから取り出されたパラメータ（送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ＩＰアドレス、宛先ＩＰアドレス）に基づく、パケット優先度および負荷バランス識別子を含む。他の例ではＨＤＩは、外部ポートインターフェース２４０に対するグローバルポート値（ＧＰＶ）、または宛先デバイスへのアクセスをもたらすＮＩＭ１５２のＭＩＤを含む。他の実施形態では、宛先ＭＡＣアドレスがリモートアグリゲーションスイッチに関連するときは、ＨＤＩは、ＮＩＭ１５２ａ、またはＶＦＬ１２４に接続されたスイッチングＡＳＩＣ２１０（ＭＩＤ＝０など）に対するハードウェアデバイス識別子ＭＩＤを含む。宛先ＨＤＩは、元のパケットヘッダ（レイヤ２、イーサネットパケットヘッダタイプなど）に情報を追加するプリペンドされたヘッダに追加される。スイッチングＡＳＩＣ２１０ｎはまた、送信側外部ポートインターフェース例えばポートＩＤ＝２に関連する、１つまたは複数のデバイスについての送信元ハードウェアデバイス情報（ＨＤＩ）を含む。送信元ＨＤＩは、送信側スイッチングＡＳＩＣ２１０のＭＩＤ、送信元ポート識別子（例えばデバイスポート）、グローバルポート値、送信元ＮＩＭ１５２に対するＭＩＤ、シャーシＩＤなどの、１つまたは複数のハードウェアデバイス識別子を含む。
【００３６】
プリペンドされたヘッダを有するパケットは、キューイングＡＳＩＣ２１２ｎに送信され、次いでキューイングＡＳＩＣ２１２ｎは、宛先ＨＤＩに基づいて、パケットを送信するためにローカルアグリゲーションスイッチ上のＮＩＭ１５２を決定する。宛先ＨＤＩが、アグリゲーションスイッチ１０６ａ上のローカル外部ポートインターフェースを示すときは（例えばプリペンドされたヘッダに含まれた宛先ＭＩＤに基づいて）、キューイングＡＳＩＣ２１２ｎは、ローカル外部ポートインターフェースの対応するＮＩＭ１５２への送信のために、パケットを外向きキュー内に置く。図５に示される他の例ではキューイングＡＳＩＣ２１２ｎは、宛先ＨＤＩがリモートアグリゲーションスイッチ上の宛先ハードウェアデバイスを示す、例えばＨＤＩがリモートアグリゲーションスイッチ上のＭＩＤ＝４５を有するスイッチングＡＳＩＣを示すと判断する。リモートアグリゲーションスイッチに到達するようにパケットは、ＶＦＬ１２４に接続されたＮＩＭ１５２に送信される。この例ではキューイングＡＳＩＣ２１２ｎは、プリペンドされたヘッダを有するパケットを、ファブリックＩＣ２１４を通して、ＶＦＬ１２４に接続されたＮＩＭ１５２ａに送信する。ＶＦＬメンバポートの選択は、プリペンドされたヘッダ上で運ばれる負荷バランス識別子パラメータに基づいて行われる。ＮＩＭ１５２ａ内のキューイングＡＳＩＣ２１２ａは、プリペンドされたヘッダを有するパケットを受信し、ＶＦＬ１２４を通した送信のためにパケットをキューに入れる。次いでスイッチングＡＳＩＣ２１０ａは、送信元および／または宛先ＨＤＩを含むプリペンドされたヘッダを有するパケットを、ＶＦＬ１２４を通してリモートアグリゲーションスイッチに送信する。
【００３７】
一実施形態ではスイッチングＡＳＩＣ２１０ａは、ＶＦＬ１２４を通して送信する前に、プリペンドされたヘッダを変更することができる。例えばスイッチングＡＳＣＩ２１０ａは、ローカルな意味を有する宛先ＨＤＩ（例えばｇｐｏｒｔ値、またはローカルハードウェアデバイス識別子ＭＩＤ）を、グローバルな意味を有するＨＤＩにトランスレートすることができる。次いでスイッチングＡＳＩＣ２１０ａは、送信元および／または宛先ＨＤＩを含むプリペンドされたヘッダを有するパケットを、ＶＦＬ１２４を通してリモートアグリゲーションスイッチに送信する。
【００３８】
一実施形態では、アグリゲーションスイッチ１０６の複数のスイッチングＡＳＩＣ２１０、例えば図３においてスイッチングＡＳＩＣ  ＭＩＤ＝０およびＭＩＤ＝３１が、ＶＦＬ１２４に接続されたときは、ＶＦＬ１２４を通して送信されるトラフィックは分散することができる。例えばキューイングＡＳＩＣ２１２のグローバルＨＤＩアドレステーブル２６４内の負荷バランス識別子マップテーブルは、以下の分布を示すことになる。
【００３９】
【表１】
0005873597.tif 000002
【００４０】
キューイングＡＳＩＣ２１２は、負荷バランス識別子または他の負荷バランス技法を用いて、パケットを適切なＶＦＬポートインターフェースにマップする。例えば、アグリゲーションスイッチ１０６内に８個のＮＩＭ１５２を有する一実施形態では、キューイングＡＳＩＣ２１２ｎは、８個のＮＩＭ（モジュールＩＤ、ポート）のために構成された、８個の１組のキューを有する。一実施形態では、ＶＦＬ１２４に接続されたキューイングＡＳＩＣ２１２は、ＶＦＬメンバポートインターフェースに対して関係するキューの個別の組を有する。ＶＦＬのためのキューの組は、アグリゲーションスイッチ１０６を接続する内部ＶＦＬポートに関連するＦＩＦＯに割り当てられる。一実施形態では、複数の仮想ファブリックリンクメンバポートを有し、キューは、ＶＦＬメンバポートをホストするキューイングＡＳＩＣ２１２ａおよび２１２ｎの間でリモートシャーシ上の宛先ポートが等しく分散されるように、割り当てられる。
【００４１】
一実施形態では、ＮＩＭ１５２内のＭＡＣ／ＨＤＩ転送テーブルは、システムを通って流れるレイヤ２パケットに応答して配置され、次いで更新される。プリペンドされたヘッダは送信元ＭＡＣアドレスおよび送信元ＨＤＩ情報を含むので、ＮＩＭ１５２、例えば一実施形態では特にスイッチングＡＳＩＣ２１０は、この情報を用いてＭＡＣ／ＨＤＩ転送テーブル２５０に配置することができる。ＶＦＬ１２４を通して送信元ＭＡＣアドレスおよび送信元ＨＤＩを有するレイヤ２パケットを交換するようにプリペンデッドヘッダモードにおいて動作することによって、スイッチングＡＳＩＣ２１０はアグリゲーションスイッチ１０６の間でＭＡＣアドレステーブルを同期することができる。ＭＡＣ／ＨＤＩ転送テーブルはスイッチングＡＳＩＣ２１０内にあるものとして述べられたが、ＭＡＣ／ＨＤＩ転送テーブルは別法としてまたは追加として、キューイングＡＳＩＣ２１２ｎ内に、またはＮＩＭ１５２の別のモジュール内に含むことができる。他の実施形態ではＣＭＭ１５０（プライマリおよびセカンダリ）はまた、アグリゲーションスイッチ１０６の間の１つまたは複数のタイプのリンクのためのＭＡＣ／ＨＤＩ転送テーブルを含むことができる。
【００４２】
図６は、マルチシャーシシステムにおけるパケットのプリペンドされたヘッダの一実施形態の概略ブロック図である。プリペンドされたヘッダ３００は、送信元ＨＤＩ３０２、宛先ＨＤＩ３０４、ＶＬＡＮ  ＩＤ３０６、パケットタイプ３０８、送信元ＭＡＣアドレス３１０、宛先ＭＡＣアドレス３１２のためのフィールドを含む。一実施形態ではプリペンドされたヘッダはまた、負荷バランス識別子３１４およびパケット優先度３１６を含むことができる。宛先ＨＤＩ３０４は例えば、宛先ＭＡＣアドレスに関連付けられたローカルまたはピアアグリゲーションスイッチのいずれかの、スイッチングＡＳＩＣ２１０のポート識別子およびＭＩＤ（例えばＭＩＤ＝２４、ポートＩＤ＝５、またはＭＩＤ＝５４、デバイスポート＝１２）を含む。他の実施形態では宛先ハードウェアデバイス情報は、宛先ＭＡＣアドレスに関連する外部ポートインターフェースのグローバルポート値（ＧＰＶ）を含むことができる。宛先ハードウェアデバイス情報はまた、ＶＦＬに接続されたスイッチングＡＳＩＣ２１０、ＮＩＭ１５２、キューイングＡＳＩＣなどのＭＩＤを含むことができる。送信元ＨＤＩ３０２は、スイッチングＡＳＩＣ２１０のＭＩＤ、および外部ポートインターフェース２４０のポート識別子（例えばデバイスポート）および／またはグローバルポート値（ＧＰＶ）を含むことができる。負荷バランス識別子３１４は、ピアアグリゲーションスイッチに到達するために通過／ゲートウェイポートとしてどのＶＦＬメンバポートを用いるべきかを、キューイングＡＳＩＣ２１２が決定するのを助けるために用いられる。パケット優先度３１６は、特定の優先キューを判断するためにキューイングＡＳＩＣ２１２によって用いられる。
【００４３】
図７は送信元ＭＡＣ学習を示す、マルチシャーシシステムの一実施形態の概略ブロック図を示す。エッジノード１０４は、論理アグリゲートグループＬＡＧ１  ２８２、マルチシャーシ論理アグリゲートグループＭＣ−ＬＡＧ１  １０２ａ、マルチシャーシ論理アグリゲートグループＭＣ−ＬＡＧ２  １０２ｂ、および固定ポートリンク２８０を通して、アグリゲーションスイッチ１０６ａおよび１０６ｂに接続される。一実施形態ではアグリゲーションスイッチ１０６は、ＬＡＧ１および他のタイプのトランクグループなどの論理アグリゲートグループについての構成情報、およびそれらに関連するハードウェアデバイス情報を通信する。一実施形態ではハードウェアデバイス情報は、論理アグリゲートグループに関連する物理ポート、例えばスイッチングＡＳＩＣのハードウェアデバイスまたはモジュール識別子（ＭＩＤ）、および論理アグリゲートグループに関連するリンクに対する外部ポート識別子（デバイスポート値またはｇｐｏｒｔ値）を含む。
【００４４】
例えば一実施形態では、アグリゲーションスイッチＡはアグリゲーションスイッチＢに、アグリゲートグループ識別子ＬＡＧ１を有する論理アグリゲートグループは、ハードウェアデバイスモジュール識別子ＭＩＤ＝３１と、識別子デバイスポート＝１、２を有する外部ポートインターフェースとを有するスイッチングＡＳＩＣに関連することを通知する。アグリゲーションスイッチＢはアグリゲーションスイッチＡに、アグリゲートグループ識別子ＭＣ−ＬＡＧ１を有する論理アグリゲートグループは、ハードウェアデバイスモジュール識別子ＭＩＤ＝４５と、外部ポートインターフェース識別子デバイスポート＝１、２とを有するスイッチングＡＳＩＣに関連することを通知する。別法としてまたはスイッチングＡＳＩＣのＭＩＤおよびデバイスポート値の追加として、論理アグリゲートグループに関連するＮＩＭの識別子、キューイングＡＳＩＣなどの、他のハードウェアデバイス情報が交換される。アグリゲーションスイッチ１０６はまた、通常のアグリゲートおよびマルチシャーシアグリゲートグループの両方に対する、論理アグリゲートグループの構成情報への更新の通知を交換する。アグリゲーションスイッチ１０６の論理アグリゲートグループおよびマルチシャーシアグリゲートに関連するハードウェアデバイス情報は、アグリゲーションスイッチ１０６のＮＩＭ１５２内のＭＡＣ／ＨＤＩ転送テーブルの１つまたは複数に含まれる。例えば一実施形態では、両方のアグリゲーションスイッチ１０６内のＭＡＣ／ＨＤＩ転送テーブルの１つまたは複数は、以下の情報を含む：
【００４５】
【表２】
0005873597.tif 000003
【００４６】
論理アグリゲートグループ（例えばＬＡＧ１）に対する同じアグリゲートグループ識別子は、両方のアグリゲーションスイッチ１０６によって知られ、利用されるので、一実施形態ではマルチシャーシシステムは、論理グループの各タイプに、およびアグリゲーションスイッチ１０６のそれぞれに対して、アグリゲートグループ識別子のサブセットを割り当てる。例えば、最大で１２８個の可能なアグリゲートグループを有する一実施形態では、アグリゲートグループ識別子の割り当ては以下を含むことになる：
【００４７】
【表３】
0005873597.tif 000004
【００４８】
アグリゲーションスイッチ１０６は、割り当てられたレンジおよびアグリゲートグループのタイプに基づいて、アグリゲートグループ識別子を割り当てる。したがってアグリゲーションスイッチ１０６におけるパケット転送は、ＭＡＣ／ＨＤＩ転送テーブルにアクセスし、論理アグリゲートグループとハードウェアデバイス情報との間のマッピングを用いることによって行われる。典型的にはアグリゲート識別子情報は、プリペンドされたヘッダ内では転送されない。
【００４９】
一実施形態では、ＬＡＧまたはＭＣ−ＬＡＧにわたる負荷バランスを容易にするために、アグリゲーションスイッチ１０６が、（ＭＩＤ、ポートＩＤ）などの宛先ＨＤＩ情報を有して、ＶＦＬ１２４を通してパケットを受信したときは、アグリゲーションスイッチ１０６は、各ＬＡＧまたはＭＣ−ＬＡＧアグリゲートグループのアクティブメンバであるすべてのポートのリストを含んだその内部トランクテーブルの１つまたは複数において、送信元ＨＤＩ（宛先ＭＩＤ、宛先ポート識別子）において識別されたポートを求めて検索することによって、宛先ＨＤＩが論理アグリゲートグループに含まれるかどうかを判定する。宛先ポートが関連するＬＡＧまたはＭＣ−ＬＡＧ内に見付かったときは、アグリゲーションスイッチ１０６は、関連するＬＡＧの１つまたは複数の異なる外部ポートインターフェースにパケットを割り当てることによって、負荷バランス技法を実行する。例えば、リモートアグリゲーションスイッチ１０６ｂにおいてＶＦＬに接続されたスイッチングＡＳＩＣ２１０が、ＭＩＤ＝４５、ポート２の宛先ＨＤＩを有するパケットを受信したときは、スイッチングＡＳＩＣ２１０は、以下に示される例で、そのＭＡＣ／ＨＤＩテーブルからＭＩＤ＝４５、ポート２はＭＣ−ＬＡＧ１の一部であると判断する。次いでスイッチングＡＳＩＣは負荷バランスを行うことを決定し、１つまたは複数のハッシュアルゴリズムを通して、代わりにパケットをＭＣ−ＬＡＧ１のＭＩＤ＝４５、ポート１を通して送信することを決定する。この特定の例では次いでスイッチングＡＳＩＣは、外部ポート（ＭＩＤ＝４５、ポート１）からパケットを送信する前に、プリペンドされたヘッダを削除することになる。
【００５０】
【表４】
0005873597.tif 000005
【００５１】
他の実施形態ではノードまたはネットワーク管理アプリケーション内のＭＡＣアドレステーブルは、論理アグリゲーショングループについてのＨＤＩを含まなくてもよい。ユーザにより表示されるＭＡＣアドレステーブルは、固定ポートについてのＨＤＩのみを含むことができ、したがって両方のアグリゲーションスイッチ１０６に対して同様となる。
【００５２】
【表５】
0005873597.tif 000006
【００５３】
【表６】
0005873597.tif 000007
【００５４】
ＭＡＣ／ＨＤＩ転送テーブルは、トラフィックがＶＦＬ１２４を通って流れるのに従って、送信元ＭＡＣアドレスに関連付けられたＬＡＧ識別子に対して自動的に同期される。したがって論理的にアグリゲーションスイッチ１０６は、ＭＡＣ学習のための単一のブリッジとして動作する。さらにＭＡＣ学習は、トラフィックがＶＦＬ１２４を通って流れるのに従って自動的に生じるので、プロセス間通信メッセージをベースとするＭＡＣテーブル同期を必要とせずに、最小のレイヤ２／制御モジュール管理のソフトウェア介入が必要なだけである。
【００５５】
図８は、アグリゲーションスイッチ１０６のための管理制御モジュール（ＭＣＭ）４００の一実施形態の概略ブロック図を示す。一実施形態ではＭＣＭ４００は、アグリゲーションスイッチ１０６の中央管理モジュール（ＣＭＭ）１５０内に（ＭＣＭ−ＣＭＭ４０２として示される）、またはアグリゲーションスイッチ１０６の指定されたネットワークインターフェースモジュール（ＮＩＭ）１５２における処理モジュール内に（ＭＣＭ−ＮＩＭ４０４として示される）、またはそれらの組み合わせにおいて実装される。
【００５６】
一実施形態ではＭＣＭ−ＣＭＭ４０２は、ＭＣＭ４００と要素および／またはネットワークマネージャモジュール４０６との間のインターフェース、ならびにアグリゲーションスイッチ１０６上で動作可能なＭＣＭ４００に登録された他のアプリケーション４０８へのインターフェースを含む。登録されたアプリケーション４０８は、例えばＶＬＡＮマネージャアプリケーションモジュール４１０、スパニングツリープロトコル（ＳＴＰ）アプリケーションモジュール４１２、送信元学習アプリケーションモジュール４１４、リンクアグリゲーションアプリケーションモジュール４１６、およびポートマネージャアプリケーションモジュール４１８を含む。本明細書で述べられる機能もたらすために、追加のまたは異なるアプリケーションも、ＭＣＭ４００と協調および動作することができる。
【００５７】
ＭＣＭ４００は、登録されたアプリケーション４０８と協調して広範な通知をもたらす。例えばＭＣＭ４００は、登録されたアプリケーション４０８に、マルチシャーシシステムのステータスについて、およびいつマルチシャーシモードで動作すべきか、およびいつスタンドアロンモードで動作すべきかを知らせる。ステータス情報は、ローカルおよびリモートアグリゲーションスイッチ上の管理構成によって、またはアグリゲーションスイッチによって個々に行われる、もしくは制御データ交換、ネゴシエーション、および合意後すぐにマルチシャーシシステム内の両方のアグリゲーションスイッチによって行われる実行時の決定によって、駆動される。
【００５８】
ＭＣＭ４００はまた、登録されたアプリケーション４０８からサービスを要求する。例えばＭＣＭ４００はＶＬＡＮマネージャ４１０に、マルチシャーシピアスイッチ間のプロセス間通信チャネルをセットアップするために、ＶＦＬメンバポートをマルチシャーシ制御ＶＬＡＮのメンバとして構成するように要求する。ＳＴＰアプリケーションモジュール４１２は、ＩＥＥＥ  ８０２．１Ｄ、Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｌｏｃａｌ  ａｎｄ  ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋｓ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）Ｂｒｉｄｇｅｓ、２００４年版において規定されるスパニングツリープロトコル、ＩＥＥＥ８０２．１Ｑ、Ｖｉｒｔｕａｌ  Ｂｒｉｄｇｅｄ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ、２００５年版において規定される複数のスパニングツリープロトコル、またはネットワーク内の複数のアクティブパスによるパケットループを軽減するための他の同様なタイプのネットワークプロトコルなどの、スパニングツリープロトコル含む。送信元学習アプリケーションモジュール４１４は、アグリゲーションスイッチ内のＭＡＣ／ＨＤＩ転送テーブルの更新および学習を協調させる。リンクアグリゲーションモジュール４１６は、メンバポートをリンクアグリゲート（ＬＡＧ）およびマルチシャーシリンクアグリゲートグループ（ＭＣ−ＬＡＧ）に構成、ネゴシエート、およびグループ化するために、ＬＡＣＰまたは他の同様なプロトコルを実行する。ポートマネージャアプリケーションモジュール４１８は、ポートインターフェース２４０のステータスを監視する。
【００５９】
一実施形態ではＭＣＭ−ＣＭＭ４０２は、マルチシャーシプロトコルに関連する管理制御機能を行うために、指定されたＮＩＭ１５２を選択する。例えばマルチシャーシプロトコルは、アグリゲーションスイッチ１０６が、互いを発見し、マスタスイッチを選出し、システム情報を交換し、定期的なヘルスチェックを実行することを可能にする。指定されたＮＩＭ１５２の使用は、ＣＭＭ１５０のみにおけるＭＣＭアプリケーション４００の機能の集中化を回避する。加えてＭＣＭ−ＣＭＭ４０２は、プライマリに指定されたＮＩＭ１５２における障害に備えて、バックアップに指定されるＮＩＭ１５２を選択する。一実施形態では指定されたＮＩＭは、最も低い作動可能なスロット番号に基づいて選択される。
【００６０】
一実施形態ではＭＣＭ４００は、仮想ファブリックリンク（ＶＦＬ）１２４の制御および管理のためのマルチシャーシ状態アプリケーションモジュール４２０を含む。マルチシャーシ状態アプリケーションモジュール４２０は、ＶＦＬ１２４を管理および構成し、ＶＦＬ１２４およびそのメンバポートの状態を監視および／または制御するために、ポートマネージャアプリケーションモジュール４１８とインターフェースする。ＭＣＭ−ＣＭＭ４０２およびＭＣＭ−ＮＩＭ４０４は、ＶＦＬ１２４のメンバポートおよびリンクについてのポート状態およびリンク状態イベントを受け取るように、ポートマネージャアプリケーションモジュール４１８に登録する。マルチシャーシ状態アプリケーションモジュール４２０は、物理レベルにおけるリンクの状態と共に、標準のＬＡＣＰプロトコルまたは他の同様なプロトコルを用いて各ＶＦＬメンバポートの状態を追跡する。ＬＡＣＰプロトコルに加えてマルチシャーシステータスプロトコルは、両方のマルチシャーシスイッチ上の指定されたＮＩＭ上で稼働する構成要素のステータスおよび／または運用性をチェックするために定期的なキープアライブチェック（Ｈｅｌｌｏプロトコル）を実行する。ＭＣＭ４００は、ＶＦＬ１２４の作動可能状態を追跡し、ＶＦＬステータスについてのイベント、すなわちアグリゲート生成／削除／アップ／ダウンを処理する。
【００６１】
ＭＣＭ−ＣＭＭ４０２および／またはＭＣＭ−ＮＩＭ４０４は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、マイクロコンピュータ、中央処理装置、フィールドプログラマブルゲートアレイ、プログラマブルロジックデバイス、状態機械、論理回路、アナログ回路、デジタル回路、および／または回路のハードコーディングおよび／または作動可能な命令に基づいて信号（アナログおよび／またはデジタル）を処理する任意のデバイス、などの１つまたは複数の処理デバイスを含む。ＭＣＭ−ＣＭＭ４０２および／またはＭＣＭ−ＮＩＭ４０４は、内部メモリまたは外部メモリである、メモリを含む。ＭＣＭ−ＣＭＭ４０２および／またはＭＣＭ−ＮＩＭ４０４のメモリは、単一のメモリデバイスまたは複数のメモリデバイスとすることができる。このようなメモリデバイスは、リードオンリメモリ、ランダムアクセスメモリ、揮発性メモリ、不揮発性メモリ、スタティックメモリ、ダイナミックメモリ、フラッシュメモリ、キャッシュメモリ、および／またはデジタル情報を記憶する任意のデバイスとすることができる。ＭＣＭ−ＣＭＭ４０２および／またはＭＣＭ−ＮＩＭ４０４はその機能の１つまたは複数を、状態機械、アナログ回路、デジタル回路、および／または論理回路によって実現することができ、対応する作動可能な命令を記憶したメモリは、状態機械、アナログ回路、デジタル回路、および／または論理回路を備えた回路内に埋め込む、またはその外部とすることができる。ＭＣＭ−ＣＭＭ４０２および／またはＭＣＭ−ＮＩＭ４０４は、ハードコードされた、および／またはソフトウェア、および／または本明細書で述べられるステップおよび／または機能を実行するために内部メモリおよび／または外部メモリによって記憶された作動可能な命令を実行することができる。ＭＣＭ−ＣＭＭ４０２および／またはＭＣＭ−ＮＩＭ４０４は、単一の、または１つまたは複数の集積回路において実現することができる。
【００６２】
マルチシャーシシステム１４０においては、アグリゲーションスイッチ１０６の間の仮想ファブリックリンクの接続性の障害は、ネットワークの安定性に深刻な影響を生じる。問題は特定のトポロジーに依存するが、例えば接続性損失、不必要な溢れおよびＭＡＣ移動を含む。これらの問題は、高い帯域幅使用量、およびアグリゲーションスイッチ１０６上での高い処理利用、ならびにループされたパケットおよび重複パケットを引き起こし得る。加えて単一の接続を通じてマルチシャーシシステム１４０に接続されたエッジノード１０４は、ＶＦＬ１２４障害によりトラフィックの影響を受け得る。単一に接続されたエッジノード１０４との間で交換されるトラフィックの一部は、宛先に到達するために元々（障害の前は）ＶＦＬ１２４を通って流れることを必要し得るので、このトラフィックは今や失われることになる。
【００６３】
ＶＦＬ１２４の障害後すぐに生じる別の問題は、アグリゲーションスイッチ１０６上の同期されないＭＡＣテーブルによる永久的な溢れである。データ転送は、機能できるが、アグリゲーションスイッチ１０６の１つはエッジノード１０４からの所与のアップストリームパケットフローが、マルチシャーシシステム１４０内のコアネットワークノード１１６からのダウンストリームトラフィックと比べて異なるアグリゲーションスイッチを通って送信されたときは、ＭＡＣアドレスのいくつかを学習することができないので、最適とすることはできず、結果として本来なら溢れることのないトラフィックの溢れを生じる。ＶＦＬ１２４障害後すぐの、これらおよび他の問題を回避することを試みるために、本明細書では図９−１７に関連して、復旧のためのプロセスおよびシステムについて述べられる。
【００６４】
図９は、ＶＦＬ１２４が作動可能なときの、アグリゲーションスイッチ１０６のリンクステータスの一実施形態を示す。マルチシャーシモードではＶＦＬ１２４が作動可能なときは、スパニングツリープロトコルは、ＭＣ−ＬＡＧメンバポート、例えば図９のアグリゲーションスイッチ１０６ａのポートＳ１／１およびＳ１／２、およびアグリゲーションスイッチ１０６ｂのポートＳ２／１およびＳ２／２上では、自動的にディセーブルされる。エッジノード１０４から、アグリゲーションスイッチ１０６ａおよび１０６ｂに結合されたＭＣ−ＬＡＧ１０２のリンクは、単一の論理ノードへの単一のリンクアグリゲートグループ（ＬＡＧ）の一部である。スパニングツリープロトコルは、アグリゲーションスイッチ１０６と、ネットワークノード１１６などの、メトロ／コアネットワーク内のノードとの間のネットワークの一部分においてイネーブルされる。加えてスパニングツリープロトコルは、ＶＦＬメンバポートにおいてイネーブルされ、転送状態となるように構成される。
【００６５】
アグリゲーションスイッチ１０６とネットワークノード１１６の間のループを防止するために、スパニングツリープロトコルは、アグリゲーションスイッチ１０６からパケットを転送するための１つまたは複数のポート、およびアグリゲーションスイッチ１０６からのパケットフローの転送がブロックされる１つまたは複数のポートを決定する。パケットフローは、ＶＬＡＮ、ならびに各ＶＬＡＮに対して転送およびブロックするためのアグリゲーションスイッチ上のポートを選択するように実装された複数のスパニングツリープロトコルとの一部とすることができる。例えばＳＴＰは、ポートインターフェースＳ１／３およびポートインターフェースＳ２／３上でイネーブルされる。ＶＬＡＮのためのパケットフローに対してなど、パケットフローに対するループを防止するために、ポートインターフェースＳ１／３は、パケットフローまたはＶＬＡＮのためにパケットを送信または受信することがブロックされている。このようなパケットはポートインターフェースＳ１／３によって捨てられる。したがって、アグリゲーションスイッチ１０６ａとネットワークノード１１６の間のリンク４４０は、パケットフローに対してブロック状態となる。
【００６６】
アグリゲーションスイッチ１０６は、ＶＦＬの接続障害を検出するように動作可能である。例えばＭＣＭ−ＣＭＭ４０２およびＭＣＭ−ＮＩＭ４０４は、ＶＦＬ１２４のメンバポートについてのポート状態およびリンク状態イベントを受信するように、ポートマネージャアプリケーションモジュール４１８に登録する。または他の実施形態ではマルチシャーシ状態アプリケーションモジュール４２０は、物理レベルにおけるリンクの状態と共に、標準のＬＡＣＰプロトコルまたは他の同様なプロトコルを用いて、各ＶＦＬメンバポートの状態を追跡する。ＬＡＣＰプロトコルに加えてマルチシャーシ状態アプリケーションモジュール４２０は、アグリゲーションスイッチ１０６上のＶＦＬ１２４のステータスをチェックするために定期的なキープアライブチェック（Ｈｅｌｌｏプロトコル）を実行することができる。したがってＭＣＭ４００は、ＶＦＬ１２４の作動可能状態を追跡し、ＶＦＬステータスについてのイベント、すなわちアグリゲート生成／削除／アップ／ダウンを処理するように動作可能である。
【００６７】
図１０は、例えばアグリゲーションスイッチ１０６ａはもはやＶＦＬ１２４を通してアグリゲーションスイッチ１０６ｂと通信できない、ＶＦＬ１２４の接続障害の場合のマルチシャーシシステム１４０のリンクステータスの一実施形態を示す。発生する問題は、アグリゲーションスイッチ１０６は、コアネットワークノード１１６からのダウンストリームパケットフローと比べて異なるアグリゲーションスイッチを通して送信される、エッジノード１０４からの所与のアップストリームパケットフローに対してＭＡＣアドレスを学習できないことである。アグリゲーションスイッチ１０６は依然として、エッジノード１０４に対するＭＡＣアドレステーブルの内容の観点から、論理的な単一のブリッジである。ならびに、仮想ファブリックリンク１２４は作動可能ではないので、アグリゲーションスイッチ１０６は、それらのＭＡＣテーブルエントリを同期することができない。
【００６８】
例えばステップ１で、Ｈ１の送信元ＭＡＣアドレスを有するデータパケットが、未知の宛先を有して、ポートＥＮ１／１においてエッジノード１０４に入る。エッジノード１０４は、そのＭＡＣテーブルを更新して、送信元アドレスＨ１はポートＥＮ１／１を通して到達できることを学習する。次いでステップ２でエッジノード１０４は、ホストＨ１０へのポートＩＤ  ＥＮ１／４などの、その出力ポートにパケットを溢れさせる。加えて、ＭＣ−ＬＡＧ１０２依然として構成されているので、エッジノードは２つのアグリゲーションスイッチ１０６を単一のＭＡＣエンティティと見なし、ステップ３でアグリゲーションスイッチ１０６ａへのポートＥＮ１／３など、ＭＣ−ＬＡＧ１０２のメンバポートの１つを選択してパケットを溢れさせる。ステップ４でアグリゲーションスイッチ１０６ａは、リンク４４０を通してネットワークノード１１６にパケットを送信し、これはステップ５でホストＨ２にパケットを届ける。しかしステップ６でネットワークノード１１６はまた、リンク４４２を通してアグリゲーションスイッチ１０６ｂにパケットを溢れさせる。ステップ７でアグリゲーションスイッチ１０６ｂから、パケットはエッジノード１０４に戻るように送信される。パケットは、例えば別のＭＣ−ＬＡＧポートＥＮ１／２に進入する。次いでエッジノード１０４は、そのＭＡＣアドレステーブルを更新して、送信元アドレスＨ１はＭＣ−ＬＡＧ１０２を通して到達できることを学習する。ＭＡＣアドレスＨ１は、ポートＥＮ１／１を通して到達可能であると正しく学習されたが、今やこれはＭＣ−ＬＡＧ１０２を通して到達可能と誤って再学習される。
【００６９】
加えてステップ８では、ＭＣ−ＬＡＧ１０２から戻って受信されたパケットは、再びホストＨ１０に溢れるようになる。次いでホストＨ１０もまた、送信元ＭＡＣアドレスＨ１は、エッジノードポートＥＮ１／１ではなくＭＣ−ＬＡＧ１０２を通じて到達可能であることを再学習する。ホストＨ１とＨ１０の間の接続性は失われ得る。この例からわかるようにＶＦＬ１２４がダウンしたときは、溢れたパケットはエッジノード１０４にループバックし、誤ったＭＡＣ移動を引き起こす。
【００７０】
図１１は、ＶＦＬ１２４を通して接続障害が起きたときの復旧の一実施形態を示す。実施形態は、本明細書で述べられる問題の１つまたは複数を軽減する助けとなる。一実施形態では、アグリゲーションスイッチ１０６が、ＶＦＬ１２４を通してアグリゲーションスイッチ１０６が通信できなくなるような接続障害が起きたと判断したときは、アグリゲーションスイッチ１０６はＭＣ−ＬＡＧ１０２を、エッジノード１０４に接続された１つまたは複数のリンクアグリゲートに再構成する。一実施形態ではＭＣ−ＬＡＧ１０２は少なくとも２つのリンクアグリゲートに再構成され、そこで少なくとも１つのリンクアグリゲートＬＡＧ１  ４２０はエッジノード１０４からアグリゲーションスイッチ１０６ａに接続され、少なくとも１つの他のリンクアグリゲートＬＡＧ２  ４２２はエッジノード１０４からアグリゲーションスイッチ１０６ｂに接続される。次にアグリゲーションスイッチ１０６は、エッジノード１０４に接続されたリンクアグリゲートＬＡＧ１  ４２０およびＬＡＧ２  ４２２上、ならびにアグリゲーションスイッチ１０６とコアネットワーク１２０の間で、スパニングツリープロトコルをイネーブルする。スパニングツリープロトコルは例えば、ＩＥＥＥ  ８０２．１Ｄ、Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｌｏｃａｌ  ａｎｄ  ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋｓ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）Ｂｒｉｄｇｅｓ、２００４年版において規定されるスパニングツリープロトコル、ＩＥＥＥ８０２．１Ｑ、Ｖｉｒｔｕａｌ  Ｂｒｉｄｇｅｄ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ、２００５年版において規定される複数のスパニングツリープロトコル、またはネットワーク内の複数のアクティブパスによるパケットループを軽減するための他の同様なタイプのネットワークプロトコルを含む。
【００７１】
アグリゲーションスイッチ１０６がＭＣ−ＬＡＧ１０２を、エッジノード１０４に接続された１つまたは複数のリンクアグリゲートに再構成するときは、ＭＣ−ＬＡＧ１０２のメンバポート上で前に学習されたＭＡＣテーブルエントリは、アグリゲーションスイッチ１０６およびエッジノード１０４の両方においてフラッシュされる。新たに形成されたリンクアグリゲートＬＡＧ１  ４２０およびＬＡＧ２  ４２２に対して、新しいＭＡＣエントリが学習される。またアグリゲーションスイッチ１０６は、異なるＭＡＣアドレスが割り当てられ、エッジノード１０４によって２つの独立した論理エンティティと見なされる。ここでアグリゲーションスイッチ１０６はスタンドアロンモードで作動可能となり、もはやＶＦＬ１２４を通してＭＡＣテーブルエントリを同期する必要はない。
【００７２】
加えて、エッジノード１０４に結合されたリンクアグリゲート上、およびネットワークノード１１６に結合されたリンク４４０、４４２上でイネーブルされたスパニングツリープロトコルは、１つまたは複数のポートをブロック状態に置くことによってループを防止する助けとなる。特定のパケットフローまたはＶＬＡＮ、またはすべてのトラフィックに対してスパニングツリープロトコルは、ネットワークを通るアクティブパスを決定し、ループを防止するために１つまたは複数の他のパスをブロックする。図１１に示される例では、アグリゲーションスイッチ１０６ａ内のポートＩＤＳ１／３はブロック状態に置かれ、アグリゲーションスイッチ１０６ｂ内のポートＳ２／３は転送状態に置かれる。他の例ではスパニングツリープロトコルは、パケットフローまたはＶＬＡＮに対して、アグリゲーションスイッチ１０６ｂのポートＩＤ  Ｓ２／３をブロック状態に、およびアグリゲーションスイッチ１０６ａ内のポートＳ１／３を転送状態に置くように決定することができる。スパニングツリープロトコルは、複数のスパニングツリープロトコルを用いることなどによりＶＬＡＮをベースとして、またはすべてのトラフィックフローに対して、アクティブパスを決定することができる。
【００７３】
リンクアグリゲートＬＡＧ１  ４２０およびＬＡＧ２  ４２２上でスパニングツリープロトコルをイネーブルすることによってパケットループは抑止される。Ｈ１から生じるデータパケットはループバックしないので、エッジノード１０４におけるＭＡＣ移動は防止される。結果としてＨ１とＨ１０（ならびに他のホスト）の間の接続性は安定となる。
【００７４】
図１２は、ＶＦＬ１２４を通して接続障害が起きたときの、復旧の方法の一実施形態の論理フロー図を示す。ステップ５０２では、アグリゲーションスイッチ１０６がＶＦＬ１２４を通してリモートアグリゲーションスイッチへ通信できないような接続障害が、アグリゲーションスイッチ１０６によって検出される。一実施形態では、アグリゲーションスイッチ１０６内のポートマネージャアプリケーションモジュール４１８は、ＶＦＬ１２４のメンバポートについてのポート状態およびリンク状態イベントを受け取り、障害をアグリゲーションスイッチ１０６のＭＣＭ４００に報告する。または他の実施形態では、アグリゲーションスイッチ１０６のマルチシャーシ状態アプリケーションモジュール４２０は、物理レベルにおけるリンクの状態と共に、標準のＬＡＣＰプロトコルまたは他の同様なプロトコルを用いて各ＶＦＬメンバポートの状態を追跡する。他の実施形態ではマルチシャーシ状態アプリケーションモジュール４２０は、ＶＦＬ１２４のステータスをチェックするために定期的なキープアライブチェック（Ｈｅｌｌｏプロトコル）を実行することができる。アグリゲーションスイッチ１０６はまた、他の方法またはアプリケーションを用いて、ＶＦＬ１２４の作動可能状態を追跡し、ＶＦＬステータスを判断することができる。
【００７５】
アグリゲーションスイッチ１０６が、ＶＦＬの接続障害が起きたと判断したときは、ステップ５０４でアグリゲーションスイッチ１０６は、そのＭＣ−ＬＡＧ１０２のメンバポートの組の１つまたは複数を、エッジノードに結合された少なくとも１つのリンクアグリゲートに再構成する。ステップ５０６ではリンクアグリゲート上で、ネットワーク内の複数のアクティブパスによるパケットループを軽減するために、スパニングツリープロトコルまたは他の同様なタイプのネットワークプロトコルがイネーブルされる。
【００７６】
図１３は、アグリゲーションスイッチ１０６の１つでのＭＣ−ＬＡＧ１０２のメンバポートの再構成の方法の一実施形態の論理フロー図を、より詳しく示す。ステップ５１０では、アグリゲーションスイッチ１０６のリンクアグリゲーションアプリケーションモジュール４１６は、ＭＣ−ＬＡＧ１０２の１組のメンバポートのリンクパラメータを、リンクアグリゲートに対応する値に再構成する。一実施形態ではリンクパラメータは、以前にＩＥＥＥ  ８０２．３ａｄタスクフォースによって２０００年３月に追加されたＩＥＥＥ８０２．３標準の４３項であり、現在は２００８年１１月３日にＩＥＥＥ８０２．１ＡＸ−２００８に組み込まれている、リンクアグリゲーション制御プロトコル（ＬＡＣＰ）によって記述されているものなどの、パラメータを含む。他の同様なタイプのリンクアグリゲーションプロトコルを実装することもできる。再構成されるＭＣ−ＬＡＧ１０２のメンバポートの組は、ＭＣ−ＬＡＧ１０２のメンバポートの１つまたは複数を含む。アグリゲーションスイッチ１０６の追加のポートも、ＭＣ−ＬＡＧ１０２のメンバポートの組から、エッジノード１０４に結合された新たに形成されたリンクアグリゲートに再構成され得る。
【００７７】
一実施形態では、スタンドアロンモードおよびマルチシャーシモードのためのリンクパラメータは、システム管理者によって予め構成される。別法としてリンクパラメータは、アグリゲーションスイッチ１０６によって自動的に決定される。例えばリンクアグリゲーションアプリケーションモジュール４１６は、スタンドアロンモードおよび／またはマルチシャーシモードのための１組のリンクパラメータを選択するように構成することができる。スタンドアロンリンクパラメータは、ＶＦＬ１２４が接続障害を有するときなど、アグリゲーションスイッチがスタンドアロンモードで動作するときに実施される。マルチシャーシリンクパラメータは、アグリゲーションスイッチがマルチシャーシモードで動作しており、ＶＦＬ１２４が作動可能であるときに実施される。スタンドアロンモードおよびマルチシャーシモードにおけるリンクパラメータの例は、以下の表に示される。
【００７８】
【表７】
0005873597.tif 000008
【００７９】
リンクアグリゲーションアプリケーションモジュール４１６は１組のＭＣ−ＬＡＧメンバポートを、第２の異なるシステム識別子、およびリンクアグリゲートのためのアクタ管理キーを用いて再構成する。これらのメンバポートは、エッジノード１０４に結合された新しいリンクアグリゲートに再グループ化される。１つまたは複数の新しいリンクアグリゲートは、ＭＣ−ＬＡＧメンバポートの組から形成することができる。アグリゲーションスイッチ１０６は、ＬＡＣＰまたは他のタイプのリンクアグリゲートプロトコルを用いて、新たに構成されたリンクアグリゲートメンバポートを通して、および隣接デバイスへの新たに構成されたリンクアグリゲートのメンバリンクにわたって、システム識別子および管理キーを交換する。結果としてエッジノード１０６は、ＭＣ−ＬＡＧ１０２からリンクアグリゲートへの変化を検出する。次いでエッジノード１０６は、リンクアグリゲートのそのメンバポートを、新しい１組のリンクパラメータを用いて再構成する。リンクパラメータの変化はメンバポートに、ＬＡＣＰまたは他のタイプのリンクアグリゲートプロトコルを用いて再ネゴシエートさせ、新たに構成されたリンクアグリゲート、例えば図１１のＬＡＧ１  ４２０またはＬＡＧ２  ４２２を形成させる。
【００８０】
加えてステップ５１２で、ＭＣ−ＬＡＧ１０２の、１つまたは複数のリンクアグリゲートへの再構成が検出されたときは、ステップ５１４でＭＣ−ＬＡＧに対するＭＡＣテーブルエントリはフラッシュされる。ステップ５１６で、新たに構成されたリンクアグリゲート、例えばＬＡＧ１  ４２０またはＬＡＧ２  ４２２に対して、新しいＭＡＣテーブルエントリが学習される。
【００８１】
図１４は、アグリゲーションスイッチ１０６の１つによるＳＴＰイネーブル化の方法の一実施形態の論理フロー図をより詳しく示す。アグリゲーションスイッチ１０６のＳＴＰアプリケーションモジュール４１２は、ＶＦＬ１２４のステータスの通知のために登録する。ＳＴＰアプリケーションモジュール４１２が、ＶＦＬ１２４が「ダウン」しているとの通知、またはＶＦＬ１２４の接続障害を示す他のイベントを受け取ったときは、ステップ５２０でＳＴＰアプリケーションモジュールは、新たに構成されたリンクアグリゲートメンバポート上でＳＴＰ動作をイネーブルする。ＳＴＰアプリケーションモジュール４１２は、ステップ５２２でＶＬＡＮごとをベースとするなどにより、１つまたは複数のパケットフローのためのネットワークを通る１つまたは複数のアクティブパスを決定し、ステップ５２４でパケットフローに対するループを防止するために１つまたは複数の他のパスをブロックする。
【００８２】
図１５は、ＶＦＬ１２４が再び作動可能になったときに、アグリゲーションスイッチ１２４の１つによってマルチシャーシモードに戻る方法の一実施形態の論理フロー図を示す。ステップ５２６でアグリゲーションスイッチ１０６は、ＶＦＬ１２４が再び作動可能であり、リモートアグリゲーションスイッチと通信できることを検出する。リンクアグリゲーションアプリケーションモジュール４１６は、リンクアグリゲートメンバポートの１つまたは複数を、システム識別子およびＭＣ−ＬＡＧに対するアクタ管理キーに再構成する。ステップ５２８でこれらのメンバポートは、リモートアグリゲーションスイッチの１つまたは複数のメンバポートを用いて、エッジノード１０４に結合されたＭＣ−ＬＡＧ１０２に再グループ化される。アグリゲーションスイッチ１０６は、ＬＡＣＰまたは他のタイプのリンクアグリゲーションプロトコルを用いて、メンバポートを通して、およびエッジノード１０６への新たに構成されたＭＣ−ＬＡＧのメンバリンクにわたって、システム識別子および管理キーを交換する。結果としてエッジノード１０６は、リンクアグリゲートからＭＣ−ＬＡＧへの変化を検出する。次いでエッジノード１０６は、そのメンバポートをＭＣ−ＬＡＧに再構成する。リンクパラメータの変化は、メンバポートにＬＡＣＰまたは他のタイプのリンクアグリゲーションプロトコルを用いて再ネゴシエートさせ、ＭＣ−ＬＡＧ１０２を形成させる。加えて、ＭＣ−ＬＡＧメンバポートの再構成が検出されたときは、リンクアグリゲート、例えばＬＡＧ１  ４２０およびＬＡＧ２  ４２２に対するＭＡＣテーブルエントリはフラッシュされる。新たに形成されたＭＣ−ＬＡＧに対して新しいＭＡＣテーブルエントリが学習される。ステップ５３０でＳＴＰは、新たに形成されたＭＣ−ＬＡＧのメンバポート上でディセーブルされる。次いでアグリゲーションスイッチ１０６は、本明細書で述べられるようにマルチシャーシモードで動作し、ＶＦＬ１２４を通してＭＡＣテーブルエントリを同期する。
【００８３】
図１６は、アグリゲーションスイッチ１０６によって、スタンドアロンモードで動作する方法の一実施形態の論理フロー図を示す。上述のようにアグリゲーションスイッチ１０６のマルチシャーシモードからスタンドアロンモードへの再構成は、ＶＦＬ１２４の接続障害の検出後すぐに起動される。他の実施形態では、アグリゲーションスイッチ１０６のマルチシャーシモードからスタンドアロンモードへの再構成は、システム管理者からのスタンドアロンコマンドによって起動される。例えばシステム管理者は、例えばリモートアグリゲーションスイッチに対して保守を行うために、ＶＦＬ１２４が作動可能なときでも、アグリゲーションスイッチ１０６の１つをスタンドアロンモードに再構成することが必要な場合がある。ステップ５３２でアグリゲーションスイッチ１０６は、要素マネージャモジュール４０６からスタンドアロンコマンドを受け取る。次いでステップ５３４でアグリゲーションスイッチ１０６は、ＭＣ−ＬＡＧ１０２の１組のメンバポートを、エッジノード１０４に接続された１つまたは複数のリンクアグリゲートに再構成する。次にステップ５３６でアグリゲーションスイッチ１０６は、エッジノード１０４への１つまたは複数のリンクアグリゲート上でスパニングツリープロトコルをイネーブルする。スタンドアロンモードではＭＡＣテーブルの同期は必要ないので、アグリゲーションスイッチ１０６は、ＶＦＬ１２４を通したパケットの転送をブロックする。次いでアグリゲーションスイッチ１０６は、再びマルチシャーシモード起動するためのコマンドを受け取るまで、スタンドアロンモードで動作し続ける。
【００８４】
アグリゲーションスイッチのスタンドアロンモードからマルチシャーシモードへの再構成は、システム管理者からのマルチシャーシコマンドによって起動される。図１７は、アグリゲーションスイッチ１０６によってマルチシャーシモードで動作する方法の一実施形態の論理フロー図を示す。ステップ５４０でアグリゲーションスイッチ１０６は、マルチシャーシモードで動作するためのコマンドを受け取る。ステップ５４２でアグリゲーションスイッチ１０６の１つまたは複数のポートは、リモートアグリゲーションスイッチの１つまたは複数のポートを用いて、エッジノード１０４に結合されたＭＣ−ＬＡＧ１０２に再グループ化される。ステップ５４４で、ＭＣ−ＬＡＧ１０２のメンバポート上でＳＴＰはディセーブルされる。次いでアグリゲーションスイッチ１０６は、マルチシャーシモードで動作し、再びＶＦＬ１２４を通して、プリペンドされたヘッダを用いてパケットを転送して、アグリゲーションスイッチ１０６の間でＭＡＣテーブルエントリを同期する。
【００８５】
アグリゲーションスイッチ１０６のスタンドアロンモードへの再構成は、仮想ファブリックリンク１２４がマルチシャーシシステム内で作動可能でなくなったときに起きる問題に対処する。実施形態は、接続性の損失、不必要な溢れ、ＭＡＣ移動、ループされたパケット、重複したパケットを軽減するのを助ける。実施形態は、マルチシャーシシステムにおける高い可用性および回復力をもたらすのを助ける。
【００８６】
本明細書で用いられ得る、「に結合され」および／または「結合」という（１つまたは複数の）用語は、アイテムの間の直接の結合、および／または介在するアイテムを通じたアイテムの間の間接の結合を含み（例えばアイテムは、非限定的に構成要素、要素、回路、および／またはモジュールを含む）、間接の結合の場合は介在するアイテムは信号の情報を変更しないが、その電流レベル、電圧レベル、および／または電力レベルを調整する場合がある。本明細書でさらに用いられ得る、推論される結合（すなわち、１つの要素が推論により別の要素に結合される）は、「に結合される」と同じやり方での２つのアイテムの間の直接および間接の結合を含む。
【００８７】
本明細書で用いられる「するように動作可能」という用語は、アイテムが、述べられるまたは必要な対応する機能の１つまたは複数を行うために、処理モジュール、データ、（１つまたは複数の）入力、（１つまたは複数の）出力などの、１つまたは複数を含むことを示し、さらに、述べられるまたは必要な対応する機能を行うために、１つまたは複数の他のアイテムへの推論される結合を含み得る。また本明細書で用いられ得る「に接続される」および／または「接続」または「相互接続」という（１つまたは複数の）用語は、ノード／デバイスの間の直接の接続またはリンク、および／または介在するアイテムを通じたノード／デバイスの間の間接の接続を含む（例えばアイテムは、非限定的に構成要素、要素、回路、モジュール、ノード、デバイスなどを含む）。さらに本明細書で用いられ得る、推論される接続（すなわち、１つの要素が推論により別の要素に接続される）は、「に接続される」と同じやり方での２つのアイテムの間の直接および間接の接続を含む。
【００８８】
また実施形態について上記で、特定の機能の動作およびそれらの関係を示す方法ステップを用いて述べられた。これらの機能ビルディングブロックおよび方法ステップの境界およびシーケンスは、本明細書では説明の都合上で任意に定義されたものである。特定の機能および関係が適切に行われる限り、代替の境界およびシーケンスを定義することができる。したがっていずれのこのような代替の境界またはシーケンスも、特許請求される本発明の範囲および趣旨内にある。同様にフロー図ブロックも本明細書において特定の重要な機能を示すために任意に定義されたものである。用いられる範囲で、フロー図ブロック境界およびシーケンスは他のやり方で定義することもでき、依然として特定の重要な機能を行うことができる。したがって、機能ビルディングブロックおよびフロー図ブロックの両方のこのような代替の定義は、特許請求される本発明の範囲および趣旨内にある。当業者にはまた、本明細書における機能ビルディングブロック、および他の例示的ブロック、モジュール、構成要素は図示されるように、または１つまたは複数の個別構成要素、ネットワーク、システム、データベース、または適切なソフトウェアを実行する処理モジュールなど、またはそれらの人の組み合わせによって実現できることが理解されよう。
【図１】
0005873597.tif 000009
【図２】
0005873597.tif 000010
【図３】
0005873597.tif 000011
【図４】
0005873597.tif 000012
【図５】
0005873597.tif 000013
【図６】
0005873597.tif 000014
【図７】
0005873597.tif 000015
【図８】
0005873597.tif 000016
【図９】
0005873597.tif 000017
【図１０】
0005873597.tif 000018
【図１１】
0005873597.tif 000019
【図１２】
0005873597.tif 000020
【図１３】
0005873597.tif 000021
【図１４】
0005873597.tif 000022
【図１５】
0005873597.tif 000023
【図１６】
0005873597.tif 000024
【図１７】
0005873597.tif 000025