(57)【要約】  通信を行うための方法が、第１および第２のラインカード（32）を有し、ラインカードがポート（36）を有し、レイヤ２のネットワークで分散型メディアアクセス制御（ＭＡＣ）ブリッジとして動作するネットワークノード（30）を構成するステップを含む。各ラインカードは、それぞれの転送データベース（ＦＤＢ）（58）を有する。ネットワークノードのポートで、ＭＡＣ発信元アドレスからデータパケットを受信すると、データパケットは、ＭＡＣ宛先アドレスに伝送するために第１のラインカードに伝えられる。データパケットのＭＡＣ発信元アドレスを第１のラインカードのＦＤＢ内の記録と照合する。ＦＤＢが、ＭＡＣ発信元アドレスとデータパケットを受信したポートとの関連付けの記録を含まない場合、第１のラインカードのＦＤＢに記録が追加され、第１のラインカードは第２のラインカードにメッセージを送信し、第２のラインカードに関連付けについて通知する。
2009538083.tif 000002
【特許請求の範囲】
【請求項１】
通信を行うための方法であって、
少なくとも第１のラインカードおよび第２のラインカードを有し、前記第１および第２のラインカードがそれぞれのポートを有し、レイヤ２のネットワーク内で分散型メディアアクセス制御（ＭＡＣ）ブリッジとして動作するネットワークノードを構成するステップと、
各々の前記ラインカードに、ＭＡＣアドレスを前記ネットワークノードのそれぞれの前記ポートに関連付ける記録を保持するそれぞれの転送データベース（ＦＤＢ）を提供するステップと、
前記ネットワークノードの前記ポートの１つで、ＭＡＣ発信元アドレスから、前記ネットワーク上のＭＡＣ宛先アドレスを指定するデータパケットを受信するステップと、
前記ＭＡＣ宛先アドレスに伝送するために、前記ネットワークノード内の受信した前記データパケットを少なくとも前記第１のラインカードに転送するステップと、
前記データパケットの前記ＭＡＣ発信元アドレスを前記第１のラインカードの前記ＦＤＢ内の前記記録と照合するステップと、
前記第１のラインカードの前記ＦＤＢが、前記ＭＡＣ発信元アドレスと、前記データパケットを受信した前記ポートの前記１つとの関連付けの記録を含まない場合、前記第１のラインカードの前記ＦＤＢに前記記録を追加して、少なくとも前記第２のラインカードにメッセージを送信し、少なくとも前記第２のラインカードに前記関連付けについて通知するステップとを有することを特徴とする、通信を行うための方法。
【請求項２】
前記メッセージを送信する前記ステップが、少なくとも前記第２のラインカードに、前記ＭＡＣアドレスとそれぞれの前記ポートとの間の新しい関連付けについて通知するメッセージを所定の時間に周期的に送信するステップを含む請求項１に記載の方法。
【請求項３】
前記方法が、さらに、前記第２のラインカードで前記メッセージを受信するステップと、前記メッセージに応答して、前記第２のラインカードの前記ＦＤＢ内に前記関連付けの記録がまだ存在していない場合、前記第２のラインカードの前記ＦＤＢに前記記録を追加するステップとを有する請求項１に記載の方法。
【請求項４】
前記方法が、さらに、前記ラインカードのポートを介して伝送されるデータパケットに応答して追加される第１の種類の前記記録を、別の前記ラインカードから受信されるメッセージに応答して追加される第２の種類の前記記録と区別するために、各々の前記ラインカードのそれぞれの前記ＦＤＢ内の前記記録にマークするステップを有する請求項３に記載の方法。
【請求項５】
前記方法が、さらに、
それぞれのエージング時間を各々の前記記録に関連付けるステップと、
前記ラインカードにより伝送されるさらなるパケットに応答して前記ＦＤＢ内の前記記録をリフレッシュするステップと、
前記記録がそれぞれの前記エージング時間内にリフレッシュされない場合、前記記録をそれぞれの前記ＦＤＢから除去するステップとを有する請求項４に記載の方法。
【請求項６】
前記メッセージを送信する前記ステップが、前記第１のラインカードから前記ネットワークノードのスイッチングコアを介して少なくとも前記第２のラインカードに同期パケットを送信するステップを含む請求項１に記載の方法。
【請求項７】
前記同期パケットを送信する前記ステップが、前記ＦＤＢ内の前記記録が、前記ＭＡＣ発信元アドレスを、前記データパケットを受信した前記ポートの前記１つと異なるポートに関連付ける場合、前記第１のラインカードの前記ＦＤＢ内の前記記録を変更し、少なくとも前記第２のラインカードに同期更新パケットを送信して前記記録が変更されたことを表示するステップを含む請求項６に記載の方法。
【請求項８】
前記第１および第２のラインカードが、リンク集約（ＬＡＧ）において結合されたそれぞれの第１および第２のポートを有し、受信した前記データパケットを転送する前記ステップが、前記第１のポートを介して前記ＭＡＣ宛先アドレスに前記データパケットを伝送するステップを有し、かつ、前記メッセージを送信する前記ステップが、前記ＬＡＧグループのメンバである全ての前記ラインカードに前記関連付けについて通知するために、前記メッセージ内で前記ＬＡＧグループを識別するステップを含む請求項１〜７の何れか一項に記載の方法。
【請求項９】
前記データパケットを伝送する前記ステップが、前記ＭＡＣ宛先アドレスが前記ＦＤＢ内に見つからないときに、前記ラインカードの前記ポートを介して前記データパケットをフラッディングするステップを含み、前記データパケットは、前記ＬＡＧグループ内の前記ポートのうちの１つのみを介してフラッディングされる請求項８に記載の方法。
【請求項１０】
前記ネットワークノードが、レイヤ２のバーチャルプライベートネットワーク（ＶＰＮ）内の多数のバーチャルＭＡＣブリッジとして動作するように構成されており、各々の前記バーチャルＭＡＣブリッジが、それぞれのＶＰＮインスタンスにサービスを提供するように構成されており、かつ、前記ＭＡＣアドレスをそれぞれの前記ポートに関連付ける前記記録が、各々の前記ＶＰＮインスタンスについて別々に保持される請求項１〜７の何れか一項に記載の方法。
【請求項１１】
前記ＶＰＮインスタンスが、前記ネットワークノードがサービスを提供する多数のＶＰＬＳインスタンスの中のある１つのＶＰＬＳインスタンスであり、前記メッセージを送信する前記ステップが、前記ＶＰＬＳインスタンスにサービスを提供する全ての前記ラインカードに通知するために、前記メッセージ内で前記ＶＰＬＳインスタンスを識別するステップを含む請求項１０に記載の方法。
【請求項１２】
前記方法が、さらに、
さらなるＭＡＣ発信元アドレスから受信したさらなるデータパケットを、前記ネットワーク上で伝送するために前記第２のラインカードに転送するステップと、
前記さらなるＭＡＣ発信元アドレスを前記第２のラインカードの前記ＦＤＢ内の前記記録と照合するステップと、
前記さらなるデータパケットに応答して、前記ＭＡＣ発信元アドレスに関連するさらなる記録を前記第２のラインカードの前記ＦＤＢに追加して、さらなるメッセージを送信し少なくとも前記第１のラインカードに前記さらなる記録について通知するステップとを有する請求項１〜７の何れか一項に記載の方法。
【請求項１３】
ネットワーク通信のためのノードであって、
スイッチングコアと、
前記ノードがレイヤ２のネットワーク内のバーチャル媒体アクセス制御（ＭＡＣ）ブリッジとして動作するように、前記スイッチングコアを通してデータパケットを転送するように構成される複数のラインカードであって、前記複数のラインカードが少なくとも第１のラインカードおよび第２のラインカードを有し、前記第１および第２のラインカードがそれぞれのポートを有し、かつ、ＭＡＣアドレスを前記ラインカードのそれぞれの前記ポートに関連付ける記録を保持するそれぞれの転送データベース（ＦＤＢ）を有する複数のラインカードとを備え、
ＭＡＣ発信元アドレスから前記ラインカードの１つの前記ポートの１つで、ＭＡＣ宛先アドレスを指定するデータパケットを受信する際に、前記ラインカードの１つが、前記ＭＡＣ宛先アドレスに伝送するために、前記スイッチングコアを介して少なくとも前記第１のラインカードに前記データパケットを転送するように前記ラインカードが配置されており、記第１のラインカードが、前記データパケットの前記ＭＡＣ発信元アドレスを前記第１のラインカードの前記ＦＤＢ内の前記記録と照合し、前記第１のラインカードの前記転送データベースが、前記ＭＡＣ発信元アドレスと、前記データパケットを受信した前記ポートの１つとの関連付けの記録を含まない場合、前記第１のラインカードの前記ＦＤＢに前記記録を追加して、少なくとも前記第２のラインカードにメッセージを送信し、少なくとも前記第２のラインカードに前記関連付けについて通知することを特徴とする、ネットワーク通信のためのノード。
【請求項１４】
少なくとも前記第１のラインカードが、少なくとも前記第２のラインカードに、前記ＭＡＣアドレスとそれぞれの前記ポートとの間の新しい関連付けについて通知するメッセージを所定の時間に周期的に送信するようになっている請求項１３に記載のノード。
【請求項１５】
前記メッセージに応答して、前記第２のラインカードが、前記第２のラインカードの前記ＦＤＢ内に前記関連付けの記録がまだ存在していない場合、前記第２のラインカードの前記ＦＤＢに前記記録を追加する請求項１３に記載のノード。
【請求項１６】
前記ラインカードのポートを介して伝送されるデータパケットに応答して追加される第１の種類の前記記録を、別の前記ラインカードから受信されるメッセージに応答して追加される第２の種類の前記記録と区別するために、各々の前記ラインカードのそれぞれの前記ＦＤＢ内の前記記録がマークされる請求項１５に記載のノード。
【請求項１７】
エージング時間が各々の前記記録に関連付けられ、前記ラインカードが、前記ラインカードにより伝送されるさらなるパケットに応答して前記ＦＤＢ内の前記記録をリフレッシュし、かつ、前記記録がそれぞれの前記エージング時間内にリフレッシュされない場合、前記記録をそれぞれの前記ＦＤＢから除去するように動作する請求項１６に記載のノード。
【請求項１８】
前記メッセージが、前記第１のラインカードから前記スイッチングコアを介して少なくとも前記第２のラインカードに送信される同期パケットを有する請求項１３に記載のノード。
【請求項１９】
前記ＦＤＢ内の前記記録が、前記ＭＡＣ発信元アドレスを、前記データパケットを受信した前記ポートの前記１つと異なるポートに関連付ける場合、前記第１のラインカードの前記ＦＤＢ内の前記記録が変更されるように前記ラインカードが動作し、かつ、前記同期パケットが、前記少なくとも第２のラインカードに前記記録が変更されたことを表示する同期更新パケットを有する請求項１８に記載のノード。
【請求項２０】
前記第１および第２のラインカードが、リンク集約（ＬＡＧ）において結合されたそれぞれの第１および第２のポートを有し、前記データパケットが前記第１のポートを介して前記ＭＡＣ宛先アドレスに伝送され、かつ、前記ＬＡＧグループのメンバである全ての前記ラインカードに前記関連付けについて通知するために、前記メッセージ内で前記ＬＡＧグループが識別される請求項１３〜１９の何れか一項に記載のノード。
【請求項２１】
前記ラインカードが、前記ＭＡＣ宛先アドレスが前記ＦＤＢ内に見つからないときに、前記ラインカードの前記ポートを介して前記データパケットをフラッディングし、前記データパケットが、前記ＬＡＧグループ内の前記ポートのうちの１つのみを介してフラッディングされる請求項２０に記載のノード。
【請求項２２】
前記ノードが、レイヤ２のバーチャルプライベートネットワーク（ＶＰＮ）内の多数のバーチャルＭＡＣブリッジとして動作するように、前記ラインカードの少なくとも一部が構成されており、各々の前記バーチャルＭＡＣブリッジが、それぞれのＶＰＮインスタンスにサービスを提供するように構成されており、かつ、前記ＭＡＣアドレスをそれぞれの前記ポートに関連付ける前記記録が、各々の前記ＶＰＮインスタンスについて別々に保持される請求項１３〜１９の何れか一項に記載のノード。
【請求項２３】
前記ＶＰＮインスタンスが、前記ネットワークノードがサービスを提供する多数のＶＰＬＳインスタンスの中のある１つのＶＰＬＳインスタンスであり、前記ＶＰＬＳインスタンスにサービスを提供する全ての前記ラインカードに前記関連付けについて通知するために、前記ＶＰＬＳインスタンスが前記メッセージ内で識別される請求項２２に記載のノード。
【請求項２４】
前記ラインカードが、さらなるＭＡＣ発信元アドレスから受信したさらなるデータパケットを、前記ネットワーク上で伝送するために前記第２のラインカードに転送するようになっており、前記第２のラインカードが、前記さらなるＭＡＣ発信元アドレスを前記第２のラインカードの前記ＦＤＢ内の前記記録と照合し、前記さらなるデータパケットに応答して、前記ＭＡＣ発信元アドレスに関連するさらなる記録を前記第２のラインカードの前記記録に追加して、さらなるメッセージを送信し少なくとも前記第１のラインカードに前記さらなる記録について通知する請求項１３〜１９の何れか一項に記載のノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に通信ネットワークに関し、特に、バーチャルプライベートＬＡＮサービス（ＶＰＬＳ：Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  ＬＡＮ  Ｓｅｒｖｉｃｅｓ）においてブリッジング（ｂｒｉｄｇｉｎｇ）を行うための方法およびシステム、ならびに他の分散型ブリッジングシステムに関する。
【背景技術】
【０００２】
ローカルエリアネットワーク（ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）は、レイヤ２のレベルでコンピューティングシステムを互いに接続する。「レイヤ２」という用語は、論理リンク、データリンク、または媒体アクセス制御（ＭＡＣ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）層としても知られる、周知の開放型システム間インタフェース（ＯＳＩ：Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）モデルによって規定されるプロトコルスタックにおける第２層を指す。各々のコンピューティングシステムは、ＭＡＣ装置を介してＬＡＮに接続される。「情報技術のＩＥＥＥ標準、システム間の電気通信および情報交換、ローカルおよびメトロポリタンエリアネットワーク、共通仕様、第３部：媒体アクセス制御（ＭＡＣ）ブリッジ（ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ，Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ａｎｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｘｃｈａｎｇｅ  ｂｅｔｗｅｅｎ  Ｓｙｓｔｅｍｓ，Ｌｏｃａｌ  ａｎｄ  Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ，Ｃｏｍｍｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ，Ｐａｒｔ  ３：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）Ｂｒｉｄｇｅｓ」（ＡＮＳＩ／ＩＥＥＥ標準８０２．１Ｄとして公開（２００４年））に記載のＭＡＣブリッジを使用して、多数のＬＡＮを互いに接続することが可能である（８０２．１Ｄ標準、ならびに本明細書で引証した他のＩＥＥＥ標準は、ｓｔａｎｄａｒｄｓ．ｉｅｅｅ．ｏｒｇ／ｃａｔａｌｏｇ／で入手可能である）。この８０２．１Ｄ標準の内容は本明細書中で引用されることによって本明細書に組み込まれている。８０２．１Ｄ標準を実現するＭＡＣブリッジによって、物理的に分離された複数のＬＡＮに接続されるＭＡＣ装置は、互いにあたかも単一のＬＡＮに接続されているように見えるようになる。ブリッジは、ブリッジポートをそれぞれのＬＡＮに相互接続する２つ以上のＭＡＣ装置を含む。
【０００３】
ＭＡＣブリッジは、受信したパケットの宛先ＭＡＣアドレスをブリッジポートにマッピングする転送データベース（ＦＤＢ：Ｆｏｒｗａｒｄｉｎｇ  Ｄａｔａｂａｓｅ）を保持する。ブリッジは、学習処理によって転送データベースを構築するが、この場合、ブリッジは、各々の着信パケットの発信元ＭＡＣアドレスを、パケットを受信したポートに関連付ける。宛先アドレスが転送データベース内に見つからない着信パケットを受信したときは、ブリッジは、そのパケットが到着したポート以外の全ての利用可能なポートを通してパケットをフラッディング（ｆｌｏｏｄ）（ブロードキャスト（ｂｒｏａｄｃａｓｔ））する。宛先アドレスを認識しない他のＭＡＣブリッジはさらに、全ての関連ポートに対してパケットをフラッディングする。フラッディングメカニズムを通して、パケットは、最終的に少なくとも一度は全ての相互接続されたブリッジを通過し、ついにはその宛先に到達する。
【０００４】
最近、高速かつ高性能のレイヤ３のパケットネットワーク上で、イーサネット（登録商標）フレームのようなレイヤ２のパケットを転送（ｔｒａｎｓｐｏｒｔ）するための様々な手段が提案され且つ開発されている。この目的のための方法は、例えば、Ｍａｒｔｉｎｉ（マーティニ）他、「ＩＰ／ＭＰＬＳネットワーク上でイーサネット（登録商標）フレームを転送するためのカプセル化の方法（Ｅｎｃａｐｓｕｌａｔｉｏｎ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｔｒａｎｓｐｏｒｔ  ｏｆ  Ｅｔｈｅｒｎｅｔ（登録商標）  Ｆｒａｍｅｓ  Ｏｖｅｒ  ＩＰ／ＭＰＬＳ  Ｎｅｔｗｏｒｋｓ）」（ＩＥＴＦ  ｄｒａｆｔ−ｉｅｔｆ−ｐｗｅ３−ｅｔｈｅｒｎｅｔ（登録商標）−ｅｎｃａｐ−１１．ｔｘｔ（２００５年１１月））で説明されており、この内容は本明細書中で引用されることによって本明細書に組み込まれている。このドラフト、ならびに本明細書で引用された他のインターネットドラフトは、インターネット技術標準化委員会（ＩＥＴＦ：Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）から、ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｉｎｔｅｒｎｅｔ−ｄｒａｆｔｓで入手可能である。このドラフトは、当業技術分野で周知のように、マルチプロトコルラベルスイッチング（ＭＰＬＳ：Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）または汎用ルーティングカプセル化（ＧＲＥ：Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ）のような他のトンネル化プロトコルを使用して、インターネットプロトコル（ＩＰ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク上で転送するために、イーサネット（登録商標）トラフィックをカプセル化するためのメカニズムを規定している。
【０００５】
Ｍａｒｔｉｎｉ（マーティニ）他により提案されたモデルによれば、ネイティブイーサネット（登録商標）ＬＡＮは、ＩＰネットワークを通るトンネルによって互いにリンクされるプロバイダエッジ（ＰＥ：Ｐｒｏｖｉｄｅｒ  Ｅｄｇｅ）装置によって、ＩＰネットワークに接続される。イーサネット（登録商標）フレームおよび関連処理機能のカプセル化の結果、ＩＰネットワークは、イーサネット（登録商標）のトランキング（ｔｒｕｎｋｉｎｇ）およびスイッチングの動作をエミュレートするので、イーサネット（登録商標）「擬似ワイヤ」（ＰＷ：Ｐｓｅｕｄｏ−Ｗｉｒｅ）として扱うことができる。換言すれば、ＩＰネットワークを通してトンネルに接続されたネイティブイーサネット（登録商標）ＬＡＮの視点からすれば、各々のＰＷは、２つのイーサネット（登録商標）ポート間の物理的接続をエミュレートするバーチャルイーサネット（登録商標）ポイントツーポイント接続である。また、Ｍａｒｔｉｎｉ（マーティニ）のカプセル化方法は、ＩＥＥＥ標準８０２．１Ｑで規定されているようなバーチャルＬＡＮ（ＶＬＡＮｓ：Ｖｉｒｔｕａｌ ＬＡＮｓ）と共に使用してもよい。
【０００６】
この機能をさらに一歩進めて、何人かの著者は、ＩＰネットワーク上で異なるＬＡＮを互いにリンクする、バーチャルプライベートＬＡＮサービス（ＶＰＬＳ）を作成するための様々な方法を説明している。こうした方法は、例えば、Ｋｏｍｐｅｌｌａ（コンペラ）他、「バーチャルプライベートＬＡＮサービス（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  ＬＡＮ  Ｓｅｒｖｉｃｅ）」（ＩＥＴＦ  ｄｒａｆｔ−ｉｅｔｆ−ｌ２ｖｐｎ−ｖｐｌｓ−ｂｇｐ−０６．ｔｘｔ（２００５年１２月））、およびＬａｓｓｅｒｒｅ（ラッサレ）他、「ＭＰＬＳ上でのバーチャルプライベートＬＡＮサービス（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  ＬＡＮ  Ｓｅｒｖｉｃｅｓ  ｏｖｅｒ  ＭＰＬＳ）」（ＩＥＴＦ  ｄｒａｆｔ−ｉｅｔｆ−ｌ２ｖｐｎ−ｖｐｌｓ−ｌｄｐ−０８．ｔｘｔ（２００５年１１月））で説明されており、これらの内容は本明細書中で引用されることによって本明細書に組み込まれている。
【０００７】
ＶＰＬＳ（トランスペアレントＬＡＮサービス−ＴＬＳとしても知られる）は、大規模なネットワーク上の多数のサイト間のブリッジのような機能を提供する。ユーザは正規のイーサネット（登録商標）インタフェースを介してＶＰＬＳに接続する。ユーザの接続先であるノード間のＰＷはＶＰＬＳエントリ自体を形成する。ＶＰＬＳ内の全てのノードは、バーチャルブリッジとして機能する。バーチャルブリッジノードは「バーチャルポート（Ｖｉｒｔｕａｌ  Ｐｏｒｔｓ）」を有し、これはＶＰＬＳの一部であるＰＷのエンドポイントである。ユーザが実際に接続されるインタフェースは、ネットワークエッジでの物理ポートである。バーチャルインタフェースおよび物理インタフェースの両者は，フレーム転送およびアドレス学習の視点からは同一に取り扱われる。単一のプロバイダノードは、各々異なるユーザに属する多数のＶＰＬＳインスタンスに参加することができる。エンドユーザの観点からすれば、ＶＰＬＳネットワークはトランスペアレントである。ユーザは、プロバイダネットワークが単一のＬＡＮドメインであるという錯覚（ｉｌｌｕｓｉｏｎ）が生ずる。したがって、異なる物理ＬＡＮ上のユーザノードは、ＶＰＬＳ接続を通して互いに結合され、レイヤ２のバーチャルプライベートネットワーク（ＶＰＮ：Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）を規定することができる。このＶＰＮは、ユーザにとっては単一のイーサネット（登録商標）ＬＡＮのように見える。
【０００８】
リンク集約（ＬＡＧ：Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ）は、データネットワーク内の２つのエンドポイント間の並列物理リンクのグループを互いに結合して単一の論理リンク（「ＬＡＧグループ」とも呼ばれる）にし得る技術である。トラフィックを送受信するクライアントに対してトランスペアレントなやり方で、エンドポイント間で伝送されるトラフィックが物理リンク間で分配される。イーサネット（登録商標）ネットワークについては、リンク集約は、ＩＥＥＥ標準８０２．３第４３節、「搬送波感知多重アクセス／衝突検出（ＣＳＭＡ／ＣＤ）アクセス方法および物理層仕様（２００２年版）（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ（ＣＳＭＡ／ＣＤ）Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ  ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ（２００２  Ｅｄｉｔｉｏｎ））」によって規定されており、この内容は本明細書中で引用されることによって本明細書に組み込まれている。第４３節は、リンク集約プロトコル副層を規定するが、これはリンク集約グループ内の物理リンクの標準媒体アクセス制御（ＭＡＣ）層機能と、集約リンク上でトラフィックを送受信するＭＡＣクライアントとの間でインタフェースを行うものである。リンク集約プロトコル副層は、グループ内の物理リンク間でＭＡＣクライアントにより送出されるデータフレームを分配する分配機能と、集約リンク上でフレームを受信しそれらを適切なＭＡＣクライアントに渡す収集機能とを有する。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】「情報技術のＩＥＥＥ標準、システム間の電気通信および情報交換、ローカルおよびメトロポリタンエリアネットワーク、共通仕様、第３部：媒体アクセス制御（ＭＡＣ）ブリッジ（ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ，Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ａｎｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｘｃｈａｎｇｅ  ｂｅｔｗｅｅｎ  Ｓｙｓｔｅｍｓ，Ｌｏｃａｌ  ａｎｄ  Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ，Ｃｏｍｍｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ，Ｐａｒｔ  ３：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）Ｂｒｉｄｇｅｓ）」（ＡＮＳＩ／ＩＥＥＥ標準８０２．１Ｄとして公開（２００４年））
【非特許文献２】Ｍａｒｔｉｎｉ（マーティニ）他、「ＩＰ／ＭＰＬＳネットワーク上でイーサネット（登録商標）フレームを転送するためのカプセル化の方法（Ｅｎｃａｐｓｕｌａｔｉｏｎ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｔｒａｎｓｐｏｒｔ  ｏｆ  Ｅｔｈｅｒｎｅｔ（登録商標）  Ｆｒａｍｅｓ  Ｏｖｅｒ  ＩＰ／ＭＰＬＳ  Ｎｅｔｗｏｒｋｓ）」（ＩＥＴＦ  ｄｒａｆｔ−ｉｅｔｆ−ｐｗｅ３−ｅｔｈｅｒｎｅｔ（登録商標）−ｅｎｃａｐ−１１．ｔｘｔ、２００５年１１月）
【非特許文献３】Ｋｏｍｐｅｌｌａ（コンペラ）他、「バーチャルプライベートＬＡＮサービス（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  ＬＡＮ  Ｓｅｒｖｉｃｅ）」（ＩＥＴＦ  ｄｒａｆｔ−ｉｅｔｆ−ｌ２ｖｐｎ−ｖｐｌｓ−ｂｇｐ−０６．ｔｘｔ（２００５年１２月））
【非特許文献４】Ｌａｓｓｅｒｒｅ（ラッサレ）他、「ＭＰＬＳ上でのバーチャルプライベートＬＡＮサービス（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  ＬＡＮ  Ｓｅｒｖｉｃｅｓ  ｏｖｅｒ  ＭＰＬＳ）」（ＩＥＴＦ  ｄｒａｆｔ−ｉｅｔｆ−ｌ２ｖｐｎ−ｖｐｌｓ−ｌｄｐ−０８．ｔｘｔ（２００５年１１月））
【非特許文献５】ＩＥＥＥ標準８０２．３第４３節、「搬送波感知多重アクセス／衝突検出（ＣＳＭＡ／ＣＤ）アクセス方法および物理層仕様（２００２年版）（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ（ＣＳＭＡ／ＣＤ）Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ  ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ（２００２  Ｅｄｉｔｉｏｎ））」
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、特に実施態様において、ＭＡＣ学習のための改善された方法、およびそうした方法を実現するためのネットワークノードを提供することを目的とする。こうした方法は、特にノードの多数のポートがＬＡＧグループ内で結合されるときに、レイヤ２のバーチャルプライベートネットワークおよび他の種類の分散型ブリッジノードでバーチャルブリッジとして機能するように構成されたノードのコンテクスト（ｃｏｎｔｅｘｔ）で特に有用である。しかし、本発明の原理は、必要な変更を加えて、何らかの分散型ＭＡＣ学習環境でＭＡＣ学習を容易にするために適用され得る。
【００１１】
本発明の実施態様によっては、ネットワークノードは、それぞれのポートを有する多数のラインカードを備えており、レイヤ２のバーチャルプライベートネットワーク（ＶＰＮ）内のバーチャルＭＡＣブリッジとして動作するように構成される（こうしたＶＰＮの一例は、上記で説明したＶＰＬＳである）。各々のラインカードは、通常、データパケットにとってイングレス（ｉｎｇｒｅｓｓ）およびエグレス（ｅｇｒｅｓｓ）の両者として機能し、イングレスおよびエグレスの機能が共有するそれぞれのＭＡＣ転送データベース（ＦＤＢ：ＭＡＣ  Ｆｏｒｗａｒｄｉｎｇ  Ｄａｔａｂａｓｅ）を有する。イングレスラインカードは、そのポートの１つでＶＰＮ上の着信データパケットを受信するときに、ＭＡＣ宛先アドレスに基づいてパケットが転送される際に通過すべきラインカードおよびポートを選択するためにＦＤＢを参照する（また、ＭＡＣ宛先アドレスがＦＤＢ内に見つからないときは、ＶＰＮ内のポートを介してパケットをフラッディングする）。
【００１２】
パケットの伝送を進めるべきエグレスラインカード（単数または複数）は、データパケットのＭＡＣ発信元アドレスをそれ自体のＦＤＢ内の記録と照合する。伝送側ラインカードのＦＤＢが、ＭＡＣ発信元アドレスを、データパケットを受信したイングレスラインカードのポートに関連付ける記録を含まない場合、伝送側ラインカードは、そのＦＤＢに記録を追加する。適当な時点で、ラインカードは、同期メッセージを残りのラインカードに送信して、残りのラインカードに、ＭＡＣ発信元アドレスとイングレスポートとの関連付けについて通知する。通常、全てのラインカードは、ある所定の時点で同期メッセージを送信するが、状況によっては、ＦＤＢ内に新しい関連付けが登録される際に即座に同期メッセージを送信してもよい。同期メッセージを受信すると、他のラインカードは適宜それら自体のＭＡＣ  ＦＤＢを更新する。
【００１３】
パケットの転送宛先がリンク集約グループ（ＬＡＧ）である場合、ＬＡＧメンバの選択（すなわち、パケットが転送されるリンクの選択）は通常、イングレスラインカード上で行われる。上記で説明した同期方法がない場合、ＬＡＧ内の他のメンバは伝送のための当該パケットを受信せず、対応するラインカードのＦＤＢが更新されないことがある。こうしたラインカードが着信パケットを受信したときに、その結果は、ＦＤＢが不完全なため常時のフラッディングになることがある。本明細書で説明する同期メカニズムは、ノード内のＬＡＧグループの（またはＶＰＮインスタンス全体にわたる）全てのラインカード内のＦＤＢを更新することによって上記の問題を回避する。通常、伝送側ラインカードが、ＬＡＧグループに属するポートを介してデータパケットを伝送するときに、ラインカードが送信する同期メッセージは、ＶＰＮインスタンスおよび着信ポートを識別する。同じＬＡＧグループ内の他のラインカード（およびこのＶＰＮインスタンスにサービスを提供する全ての他のラインカード）は、他のラインカードが当該ＭＡＣアドレスからパケットをまだ受信していないときでも、この情報を使用して、ＭＡＣアドレスの関連付けを学習することができる。
【課題を解決するための手段】
【００１４】
したがって、本発明の実施態様によれば、通信を行うための方法であって、
少なくとも第１および第２のラインカードを有し、第１および第２のラインカードがそれぞれのポートを有し、レイヤ２のネットワーク内で分散型メディアアクセス制御（ＭＡＣ）ブリッジとして動作するネットワークノードを構成するステップと、
各々のラインカードに、ＭＡＣアドレスをネットワークノードのそれぞれのポートに関連付ける記録を保持するそれぞれの転送データベース（ＦＤＢ）を提供するステップと、
ネットワークノードのポートの１つで、ＭＡＣ発信元アドレスから、ネットワーク上のＭＡＣ宛先アドレスを指定するデータパケットを受信するステップと、
ＭＡＣ宛先アドレスに伝送するために、ネットワークノード内の受信したデータパケットを少なくとも第１のラインカードに転送するステップと、
データパケットのＭＡＣ発信元アドレスを第１のラインカードのＦＤＢ内の記録と照合するステップと、
第１のラインカードのＦＤＢが、ＭＡＣ発信元アドレスと、データパケットを受信したポートの１つとの関連付けの記録を含まない場合、第１のラインカードのＦＤＢに記録を追加して、少なくとも第２のラインカードにメッセージを送信し、少なくとも第２のラインカードに関連付けについて通知するステップとを有する方法が提供される。
【００１５】
１つの実施態様では、メッセージを送信するステップは、少なくとも第２のラインカードにＭＡＣアドレスとそれぞれのポートとの間の新しい関連付けについて通知するメッセージを所定の時間に周期的に送信するステップを含む。
【００１６】
好ましくは、本方法は、さらに、第２のラインカードでメッセージを受信するステップと、メッセージに応答して、第２のラインカードのＦＤＢ内に関連付けの記録がまだ存在していない場合、第２のラインカードのＦＤＢにその記録を追加するステップとを有する。開示されている実施態様では、本方法は、さらに、ラインカードのポートを介して伝送されるデータパケットに応答して追加される第１の種類の記録を、別のラインカードから受信されるメッセージに応答して追加される第２の種類の記録と区別するために、各々のラインカードのそれぞれのＦＤＢ内の記録にマークするステップを有する。本方法は、さらに、それぞれのエージング時間を各々の記録に関連付けるステップと、ラインカードにより伝送されるさらなるパケットに応答してＦＤＢ内の記録をリフレッシュするステップと、記録がそれぞれのエージング時間内にリフレッシュされない場合、記録をそれぞれのＦＤＢから除去するステップとを有してもよい。
【００１７】
実施態様によっては、メッセージを送信するステップは、第１のラインカードからネットワークノードのスイッチングコアを介して少なくとも第２のラインカードに同期パケットを送信するステップを含む。１つの実施態様では、同期パケットを送信するステップは、ＦＤＢ内の記録が、ＭＡＣ発信元アドレスを、データパケットを受信したポートの１つと異なるポートに関連付ける場合、第１のラインカードのＦＤＢ内の記録を変更し、少なくとも第２のラインカードに同期更新パケットを送信して記録が変更されたことを表示するステップを含む。
【００１８】
開示されている実施態様では、第１および第２のラインカードは、リンク集約（ＬＡＧ）において結合されたそれぞれの第１および第２のポートを有し、受信したデータパケットを転送するステップは、第１のポートを介してＭＡＣ宛先アドレスにデータパケットを伝送するステップを含み、メッセージを送信するステップは、ＬＡＧグループのメンバである全てのラインカードに関連付けについて通知するために、メッセージ内でＬＡＧグループを識別するステップを含む。好ましくは、データパケットを伝送するステップは、ＭＡＣ宛先アドレスがＦＤＢ内に見つからないときに、ラインカードのポートを介してデータパケットをフラッディングするステップを含み、データパケットは、ＬＡＧグループ内のポートのうちの１つのみを介してフラッディングされる。
【００１９】
実施態様によっては、ネットワークノードは、レイヤ２のバーチャルプライベートネットワーク（ＶＰＮ）内の多数のバーチャルＭＡＣブリッジとして動作するように構成されており、各々のバーチャルＭＡＣブリッジは、それぞれのＶＰＮインスタンスにサービスを提供するように構成されており、かつ、ＭＡＣアドレスをそれぞれのポートに関連付ける記録は、各々のＶＰＮインスタンスについて別々に保持される。開示されている実施態様では、ＶＰＮインスタンスは、ネットワークノードがサービスを提供する多数のＶＰＬＳインスタンスの中のある１つのＶＰＬＳインスタンスであり、メッセージを送信するステップは、ＶＰＬＳインスタンスにサービスを提供する全てのラインカードに通知するために、メッセージ内でＶＰＬＳインスタンスを識別するステップを含む。
【００２０】
好ましくは、本方法は、さらなるＭＡＣ発信元アドレスから受信したさらなるデータパケットを、ネットワーク上で伝送するために第２のラインカードに転送するステップと、さらなるＭＡＣ発信元アドレスを第２のラインカードのＦＤＢ内の記録と照合するステップと、さらなるデータパケットに応答して、ＭＡＣ発信元アドレスに関連するさらなる記録を第２のラインカードのＦＤＢに追加して、さらなるメッセージを送信し少なくとも第１のラインカードにさらなる記録について通知するステップとを有する。
【００２１】
また、本発明の実施形態によれば、ネットワーク通信のためのノードであって、
スイッチングコアと、
ノードがレイヤ２のネットワーク内のバーチャル媒体アクセス制御（ＭＡＣ）ブリッジとして動作するように、スイッチングコアを通してデータパケットを転送するように構成される複数のラインカードであって、この複数のラインカードが少なくとも第１のラインカードおよび第２のラインカードを含み、第１および第２のラインカードがそれぞれのポートを有し、かつ、ＭＡＣアドレスをラインカードのそれぞれのポートに関連付ける記録を保持するそれぞれの転送データベース（ＦＤＢ）を有する複数のラインカードとを備え、
ＭＡＣ発信元アドレスからラインカードの１つのポートの１つで、ＭＡＣ宛先アドレスを指定するデータパケットを受信する際に、ラインカードの１つが、ＭＡＣ宛先アドレスに伝送するために、スイッチングコアを介して少なくとも第１のラインカードにデータパケットを転送するようにラインカードが配置されており、第１のラインカードが、データパケットのＭＡＣ発信元アドレスを第１のラインカードのＦＤＢ内の記録と照合し、第１のラインカードの転送データベースが、ＭＡＣ発信元アドレスと、データパケットを受信したポートの１つとの関連付けの記録を含まない場合、第１のラインカードのＦＤＢに記録を追加して、少なくとも第２のラインカードにメッセージを送信し、少なくとも第２のラインカードに関連付けについて通知するノードが提供される。
【００２２】
本発明は、添付の図面と共になされる実施形態の以下の詳細な説明からより完全に理解されるであろう。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態に係る通信システムを概略的に例示するブロック図である。
【図２】本発明の実施形態に係る、ネットワークノード内のラインカードの詳細を概略的に示すブロック図である。
【図３】本発明の実施形態に係る、ＭＡＣ学習のための方法を概略的に例示するフローチャートである。
【発明を実施するための形態】
【００２４】
図１は、本発明の実施形態に係る通信システム２０を概略的に例示するブロック図である。通信システム２０において、レイヤ２のＶＰＮは、ＶＰＬＳの形態で、例示する端末２２および２４を含むネットワークの様々な部分にあるＭＡＣユーザ端末を接続するように設定される。図示のシナリオでは、端末２２は、イーサネット（登録商標）ＬＡＮのようなＬＡＮに接続されており、その一方で、端末２４は、インターネットまたは他のレイヤ３のネットワークのようなワイドエリアネットワーク（ＷＡＮ：Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）２８に接続されている。しかし、ＶＰＬＳは、端末２２および２４のユーザが、あたかも同じＬＡＮドメインに接続されているように互いに通信することを可能にする。
【００２５】
簡潔にするため、図１では２つのユーザ端末のみを図示するが、所定のＶＰＬＳは通常、様々な異なるロケーションの多数のユーザを接続してもよい。さらに、以下に説明する実施形態は単一のＶＰＬＳインスタンスのみに関連するが、様々なユーザのグループおよび組織にサービスを提供するように、通信システム２０に多数の異なるＶＰＬＳインスタンスを設定してもよい。この特定の構成のＬＡＮ２６およびＷＡＮ２８は、純粋に例示の目的で図１に示すものであって、本発明の原理は、レイヤ２のバーチャルプライベートネットワークをサポートする実質上任意のネットワーク構成に適用され得る。
【００２６】
図１に示す例示的構成では、ネットワークノード３０は、ＬＡＮ２６およびＷＡＮ２８をリンクする。ネットワークノード３０は、スイッチングコア３４がリンクする多数のラインカード３２を備える。ラインカード３２はポート３６を有し、ポート３６は、ＬＡＮ２６およびＷＡＮ２８（および場合によってはさらに他のネットワーク）内の他のノードに接続される。通常、各々のラインカードは多数のポートを有するが、図１では少数のポートだけのみを図示している。以下の説明では、説明を簡潔にするため、ポート３６はイーサネット（登録商標）ポートであると仮定する。代替的には、ラインカードの一部または全ては他の種類のポートを有してもよく、インターネットプロトコル（ＩＰ）ネットワークのような他の種類のネットワークに接続してもよい。例えば、代替実施形態（図示せず）では、Ｗ２８はレジリエントパケットリング（ＲＰＲ：Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）ネットワークを有し、ラインカード３２の一部はＲＰＲインタフェースを有する。イーサネット（登録商標）ネットワークをＲＰＲネットワークに接続するために使用し得るネットワークノードの特徴は、例えば、２００４年１１月１９日出願の米国特許出願第１０／９９３，８８２号で説明されており、これは本特許出願と同じ譲受人に譲受され、この内容は本明細書中で引用されることによって本明細書に組み込まれている。追加的または代替的に、ラインカード３２は、ＷＡＮ内の適切なラベルスイッチルータを介しＷＡＮ２８を通して、マルチプロトコルラベルスイッチング（ＭＰＬＳ）トンネルのようなトンネルに接続してもよい。
【００２７】
図１に示す実施形態では、ラインカード３２のいくつかのポート３６は、それぞれの物理リンクによってＷＡＮ２８内のスイッチ４０に接続されており、これらのポートはＬＡＧグループ３８内で結合されている。こうしたＬＡＧグループは、１つ以上のＶＰＬＳインスタンスにサービスを提供してもよい。ＶＰＬＳの視点から、ＬＡＧグループは、個別の物理リンクの帯域幅の合計に等しい集約帯域幅（すなわち、容量）を有する単一の論理リンクである。物理レベルでは、例えば、ラインカードが、ＬＡＮ２６から、ＷＡＮ２８に伝送すべき着信パケットを受信するときに、このラインカードは、当該パケットの発信・伝送のために、ＬＡＧグループ内のポートの１つを選択する。ポートは通常、負荷バランスの考慮慮項を満足するように選択される。例えば、送信されるパケットが通過するポートを選択するために、ラインカードは、各々の着信パケットのヘッダ内のあるフィールドに、ハッシュ関数を適用してもよい。また、ＬＡＧグループは、グループ内の物理リンクの１つが故障または他の理由で利用できなくなる場合に備えて、ビルトイン保護（ｂｕｉｌｔ−ｉｎ  ｐｒｏｔｅｃｔｉｏｎ）を提供してもよい。
【００２８】
図２は、本発明の実施形態に係る、ネットワークノード３０内の１つのラインカード３２の詳細を概略的に示すブロック図である。ラインカードは、それぞれ対応する処理チャネル５０に関連付けられる多数のポート３６を有する（各々のチャネル５０は、概念をわかりやすくするために、別個の機能ブロックとして図示しているが、実際には、チャネルは別個の物理装置でなくてもよく、むしろ、多数のポートにサービスを提供する処理装置が実行するスレッドまたは処理部として構成されてもよい）。図２に示す例では、（チャネル１と表示する）第１のチャネルのポート３６は、他のラインカード（この図では図示せず）上の１つ以上のポートと共に、ＬＡＧグループ３８の一部としてスイッチ４０にリンクされるものと仮定する。ＬＡＮ２６または他のノードおよび媒体にリンクされるポート、および関連するチャネルの設計および動作は同様である。チャネル５０はパケットプロセッサ５２を有し、パケットプロセッサ５２は、イングレス経路５４とエグレス経路５６とを有している。パケットプロセッサ５２は、ＭＡＣ学習および転送機能のためにＭＡＣ  ＦＤＢ５８を使用する。ＦＤＢは、ラインカード３２上の処理チャネル間で共有される。このような構成は、以下の図３を参照して説明する方法によって確立され支持される。
【００２９】
ＶＰＬＳ環境では、ＦＤＢ５８内の各々の記録は、個々のＶＰＬＳインスタンスに属する個々のＭＡＣアドレスに対応する。オプションで、所定のＶＰＬＳは、一般に上記のＩＥＥＥ標準８０２．１Ｑに規定された形で動作するいくつかのバーチャルＬＡＮ（ＶＬＡＮ）に分割されてもよい。すなわち、データベース内の各々の記録は、通常、ＭＡＣアドレス、ＶＰＬＳ識別子、および、オプションで、（ＦＩＤとして知られる）ＶＬＡＮ識別子またはＶＬＡＮグループ化識別子を含むキーによって識別される。着信パケットのヘッダパラメータがキーと一致することが判明したときに、データベース内の対応する記録は、ノード３０がパケットを宛先に転送するために必要な出力インタフェースおよび他の伝送パラメータを表示する。例えば、簡単なイーサネット（登録商標）インタフェースの場合、記録は単に、パケットが伝送される際に通過すべきラインカードおよびポートを識別するものでもよい。パケットがＬＡＧグループを介して転送される場合、記録はＬＡＧグループを識別する。また、以下に説明するように、記録は、記録のコンテンツがデータパケットからこのラインカード自体のパケットプロセッサによって学習されたものであるか否か、または、記録のコンテンツが他のラインカードから同期（「ＳＹＮＣ」）パケット内で受信されたか否かを表示する「ＳＥＬＦ」フラグを含む。
【００３０】
スイッチ４０から着信パケットを受信すると、ポート３６は、パケットをイングレス経路５４に渡す。パケットプロセッサ５２は、（通常、何らかのパケットヘッダフィールドに基づく検索（ｌｏｏｋｕｐ）処理および分類処理によって）ＶＰＬＳを識別し、着信パケットから（ＭＡＣ宛先アドレス（ＤＡ：Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）および、オプションで、ＶＬＡＮ識別子を含む）他のキーパラメータを抽出し、キーを使用してＭＡＣ転送データベース５８を照会する。記録が見つかった場合、パケットプロセッサは、パケットが転送される際に通過すべきエグレスポート、およびパケットを受信した際に通過したイングレスポートを表示するタグをパケットに追加する。記録により表示される出力インタフェースがＬＡＧグループである場合、パケットプロセッサは、（例えば、ハッシュ関数を使用して）ＬＡＧグループ内の物理ポートの１つを選択し、パケットに、選択されたポートを介して伝送するためのタグを付ける。そして、パケットプロセッサは、タグを付けたパケットをスイッチングコア３４に渡し、スイッチングコア３４は、パケットを適切なポートのエグレス経路５６に伝える。
【００３１】
しかし、パケットプロセッサ５２がイングレス経路５４上で、そのキーについてＭＡＣ転送データベース５８内に対応する記録が存在しないパケットを受信するときに、パケットプロセッサ５２は、フラッディングのためのタグをパケットに付ける。この場合、スイッチングコア３４は、このＶＰＬＳインスタンスにより使用される（パケットを受信した際に通過したイングレスポート以外の）全てのポートを介して伝送するためのパケットを渡す。しかし、ＶＰＬＳインスタンスにサービスを提供する各々のＬＡＧグループについて、フラッディングされたパケットは、グループ内の１つのポートのみを介して伝送される。
【００３２】
特に、ＲＰＲ環境で動作するノードについて、データベースを構築する際に適用し得るＭＡＣ転送データベース５８および学習処理の他の態様は、上記の米国特許出願第１０／９９３，８８２号で説明されている。
【００３３】
図３は、本発明の実施形態に係る、ノード３０内のラインカード３２によって適用されるＭＡＣ学習のための方法を概略的に例示するフローチャートである。この方法は、転送ステップ６０で、エグレス経路５６上のパケットを処理する際に、パケットプロセッサ５２によって実行される。エグレス上での学習は、フラッディングされたパケットについて特に有利であるが、それは、この場合、多数のラインカードがパケットを受信し、ＭＡＣソースアドレス（ＳＡ：Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）およびＶＰＬＳインスタンスのインタフェースの関連付けを学習することができるからである。
【００３４】
キー検査ステップ６２で、パケットプロセッサ５２はＦＤＢ５８を参照して、エグレス経路５６上のパケットのキーパラメータ（ＭＡＣ  ＳＡ、ＶＰＬＳインスタンス、および、オプションで、ＶＬＡＮタグ）を検索する。このキーを持つ記録がデータベース内に存在しない場合、エントリ書き込みステップ６４で、パケットプロセッサは、このキーに対応する新しい記録を作成する。この記録は、現在のパケットが受信される際に通過した入力インタフェースに基づいて、このキーを持つイングレス経路５４上で受信される後続のパケットが転送される際に通過すべきインタフェースを表示する。新しい記録を生成したパケットがデータパケットである場合、パケットプロセッサは、記録にＳＥＬＦフラグを立てて、それ自体のチャネル５０のエグレス経路５６を通して転送されたパケットから転送パラメータを学習したことを表示する。そうでない場合、パケットプロセッサは、これがＳＹＮＣ記録であることを表示する。
【００３５】
そして、転送決定ステップ６６で、パケットプロセッサは、新しい記録を生成したパケットをどのように処理するかを決定する。パケットがデータパケットである場合、転送ステップ６８で、そのパケットは適切な出力ポートに転送される。そうでない場合、廃棄ステップ７０で、パケットは単に廃棄される。
【００３６】
（望ましくはＦＤＢのエージング時間より短い期間であるべき）ある定期的な間隔で、パケットプロセッサ５２は同期（「ＳＹＮＣ」）メッセージを送信して、ＦＤＢ５８内で作成した各々のＳＥＬＦエントリを、ノード３０内の他のラインカード３２に報告する。このメッセージは、通常、ノード３０が転送するデータパケットと同じヘッダを有するが、同期メッセージであることを表示する専用ヘッダフィールドを持つメッセージパケットを有する。スイッチングコア３４は、普通のデータパケットを転送するのと同じやり方で、このＳＹＮＣパケットを他のラインカードに伝える。しかし、パケットを受信したラインカードは、当該パケットを同期メッセージとして認識するので、ステップ６４（または以下に説明するようにステップ８４）で当該パケットをさらに転送せずに内部で処理する。
【００３７】
ステップ６４で新しいＳＡを持つＳＹＮＣパケットを処理するために、各々のラインカードは、パケット内で識別されるＶＰＬＳインスタンスを検査する。ラインカードがこのＶＰＬＳインスタンスにサービスを提供するように構成されていない場合、そのラインカードは単に同期メッセージを廃棄する。そうでない場合、ＳＹＮＣパケットから抽出されたキーフィールドへのエントリが存在しないときに、ラインカードは、記録をそれ自体のＦＤＢに追加する。この場合、上記のように、記録は、当該記録が別のラインカードから受信したＳＹＮＣエントリであるという表示を有する。
【００３８】
したがって、例えば（図１に戻ると）、端末２２からのＶＰＬＳパケットがノード３０によってスイッチ４０を介して端末２４に転送されるときに、そのパケットはＬＡＧグループ３８内のポート３６のうちの１つのみを通して転送される。しかし、パケットが転送される際に通過するラインカードが送出するＳＹＮＣパケットによって、ＬＡＧグループ内にポートを有する３つのラインカード３２は全て、端末２２のＭＡＣアドレスのポートの関連付けを学習する。その結果、端末２４がパケットを端末２２に返送するときは、ＬＡＧグループ３８に関連するラインカードは全て、フラッディングなしに端末２２への適切なインタフェースにパケットを転送することができる。このＶＰＬＳインスタンスをサポートするように構成された他のラインカードも（たとえ同じＬＡＧグループ内になくても）、ＳＹＮＣパケットからＭＡＣソースアドレスのインタフェースの関連付けを学習する。
【００３９】
上記で説明したやり方でＳＹＮＣメッセージを分配するためのパケットの使用は、ハードウェアにおいて追加の制御チャネルを必要とせずに、ノード３０内の既存の転送メカニズムを利用している点で有利である。代替的には、同期メッセージは、専用の制御チャネルを使用してラインカード間で分配されてもよい。さらに、代替的または追加的に、ラインカードは、当該ＶＰＬＳインスタンスにサービスを提供するものとして登録されている他のラインカードのみに同期メッセージを分配してもよい。しかし、無差別に全てのラインカードにＳＹＮＣパケットを送信することで、ＭＡＣ学習メカニズムの動作が簡単になり、そのために発生する通信上の負担はそれほど大きくならないことを、本特許出願の発明者は発見した。単一のパケットの中で多数の同期エントリを送信することによってさらなる節約を行うことができる。この場合、同じパケット内の多数の記録について、上記で説明した処理を単純に繰り返すことになる。
【００４０】
もはや有効でない記録を除去して新しい記録のための空間を解放するために、ＭＡＣ転送データベース５８にエージングメカニズムが適用される。この目的で、データベース内の各々の記録は、それが作成または最近更新された時を表示するタイムスタンプを有する。所定のキーを持つ記録は、同じキーを持つさらなるパケットが受信されることなくタイムスタンプの後に所定のエージング期間が経過した場合、データベースから除去される。エージングはＳＥＬＦおよびＳＹＮＣ両方の記録に適用され、通常、両方の記録に対して同じエージング時間を有する。「有効な（ｌｉｖｅ）」記録のエージングを防止するために、ラインカード３２は、以下に説明するやり方で記録のタイムスタンプをリフレッシュする。
【００４１】
再び図３を参照すると、ステップ６２で、パケットプロセッサ５２が、ＦＤＢ５８が現在そのエグレス経路５６にあるパケットのキーに対応する記録をすでに収容していると決定したときに、ステップ７２で、パケットプロセッサは、パケットをどのように処理するかを決定する。パケットがデータパケットである場合、ステップ７４で、パケットプロセッサは、ＦＤＢ内の記録を検査して、現在のパケットが記録に一致するか否かを決定する。換言すれば、パケットプロセッサは、現在のパケットが、ＦＤＢ内に記録がなかった場合、すでに存在するものと同じ記録を生成するか否か（すなわち、既存の記録が、現在のパケットと同じポートをイングレスポートとして持つＳＥＬＦ記録であるか否か）を決定する。そうである場合、パケットプロセッサは、リフレッシュステップ７６で、記録のタイムスタンプをリフレッシュし、ステップ６８で、適切な出力ポートにパケットを転送する。
【００４２】
また一方で、ステップ７４で、パケットプロセッサが、現在のパケットのキーと一致するＦＤＢ５８へのエントリがＳＹＮＣ記録であることを決定した場合、パケットプロセッサは更新ステップ７８で記録をしかるべく更新する。更新処理の一部として、パケットプロセッサは、記録内のＳＹＮＣ表示をＳＥＬＦに変更する。また、ステップ７８では、エグレス経路５６内のパケットによって与えられるキーを検索する際に、パケットのイングレスポートがＭＡＣ転送データベース５８内でこのキーのために現在記録されているインタフェースと異なっていることを、パケットプロセッサ５２が発見することもあり得る。この種の食い違いは、例えば、端末２４が異なる場所に移動した場合、または故障もしくは新しい装置の設置によってネットワーク構成が変化した場合に発生することがある。この場合、パケットプロセッサは、新しいパラメータをＳＥＬＦ記録に書き込んで古い記録を上書きする。
【００４３】
パケットプロセッサは、更新決定ステップ８０で、ＦＤＢ記録内で行った変更を他のラインカードに通知しなければならないか否かを決定する。記録に記載されたインタフェースに変更がなかった場合、パケットプロセッサは、ステップ６８で単にデータパケットを適切な出力ポートに転送する。しかし、インタフェースが変更された場合は、パケットプロセッサは、更新ステップ８２で、専用のＳＹＮＣＵＰＤＡＴＥパケット（同期更新パケット）を他のラインカードに送信する。このパケットは上記で説明したＳＹＮＣパケットと同様であるが、追加の更新（「ＵＰＤＡＴＥ」）情報を含んでいる。通常、ＳＹＮＣＵＰＤＡＴＥパケットは、ＳＹＮＣパケットを伝送するためにスケジューリングされた時間だけ待機することなく、ステップ７６でＦＤＢ記録が更新されるとすぐに送信される。ＳＹＮＣＵＰＤＡＴＥ（同期更新）を促したデータパケットは、ステップ６８で適切な出力ポートに転送される。
【００４４】
上記のやり方で専用のパケットとしてマークされたＳＹＮＣＵＰＤＡＴＥパケットを送信することによって、古い情報を持つラインカード間ですでに送信されたものであり得る複数のＳＹＮＣパケット間の競合状態を回避しつつ、全てのラインカードのＭＡＣ転送データベースが即座に更新されるようになる。パケットプロセッサは、それら自体の記録データと異なるという結果を伴うＳＹＮＣＵＰＤＡＴＥパケットを受信すると、記録がＳＹＮＣエントリであるかまたはＳＥＬＦエントリであるかにかかわらず、以下に説明するように、記録を変更してエントリ状態をＳＹＮＣに設定する。
【００４５】
ここでステップ７２に戻ると、パケットプロセッサ５２が、現在のパケットがデータパケットではない（すなわち、ＳＹＮＣパケットまたはＳＹＮＣＵＰＤＡＴＥパケットである）と決定した場合、パケットプロセッサ５２は、記録検査ステップ８４で、現在のパケットのキーに対応するＦＤＢ５８内の既存の記録がＳＹＮＣエントリであるかまたはＳＥＬＦエントリであるかを決定する検査を行う。ＳＹＮＣエントリである場合、パケットプロセッサは、必要な場合、ＳＹＮＣ更新ステップ８６で記録を更新する。換言すれば、パケットで表示されるインタフェースが既存の記録で表示されるインタフェースと異なっている場合、パケットプロセッサは、パケットに従って記録を更新する。パケットプロセッサは、記録が変更されようがされまいが、記録のタイムスタンプをリフレッシュする。そして、ステップ７０でパケットを廃棄する。
【００４６】
パケットプロセッサは、ステップ８４で、現在のパケットのキーに対応するＦＤＢ５８内の既存の記録がＳＥＬＦ記録としてマークされていると決定した場合、タイプ検査ステップ８８で、パケットのタイプを検査する。現在のパケットがＳＹＮＣパケットである場合、ＳＹＮＣパケットはＳＥＬＦエントリを上書きしないので、パケットプロセッサは、ステップ７０でパケットを廃棄する。また一方で、現在のパケットがＳＹＮＣＵＰＤＡＴＥパケットである場合、パケットプロセッサは、ＳＹＮＣパケットを更新するステップ９０で、ＦＤＢ５８内のＳＥＬＦ記録を上書きし、この上書きされた記録をＳＹＮＣエントリとしてマークする。そして、ステップ７０でパケットを廃棄する。
【００４７】
本発明の他の実施形態（図示せず）では、ラインカード３２とスイッチ４０との間の並列リンクのような、ノード３０と他のネットワーク要素との間の冗長リンクを、ＬＡＧにおいてだけでなく、リンクの一方が故障した場合の保護のためにも使用してもよい。また、こうした実施形態は、ＭＡＣ転送データベースの更新および同期のための上記で説明した方法から利益を得ることがある。特に、待機中のラインカードは、故障の場合に起動して代替サービスを提供するときに、ダミーデータを生成し新しいアクティブのリンクの各々を通して伝送するために、同期されたＭＡＣ転送データベースを使用することが可能である。こうしたパケットを受信する際に、ネットワーク内の他の装置は、新しいアクティブのポートの使用を学習する。このようなダミーパケット伝送のメカニズムは、２００２年１月７日に出願され、米国特許出願公開第２００３／０２０８６１８号公報として公開された米国特許出願第１０／０３６，５１８号で詳細に説明されており、この開示内容は本明細書中で引用されることによって本明細書に組み込まれている。このような保護機能をサポートするために、ＦＤＢ５８は、上記で説明したようなＶＰＬＳインスタンスについてだけではなく、保護されたリンク上で終端されるポイントツーポイントサービスについても更新される。この後者のポイントツーポイントサービスの場合、ＦＤＢ記録は、ＶＰＬＳ  ＩＤではなく、ＭＡＣアドレスおよび接続ＩＤを含む。
【００４８】
これまで説明した実施形態は特にある例示的ネットワークおよび機器のトポロジーに関連し、ある特定の通信プロトコルに言及しているが、本発明の原理は、異なる種類の機器及びプロトコルを使用するような、レイヤ２のバーチャルプライベートネットワークの他の種類およびトポロジーにも同様に適用され得る。すなわち、上記で説明した実施形態は一例として引証したものであり、本発明は上記で特に図示し説明したものに制限されないことが認識されるであろう。むしろ、本発明の範囲は、上記で説明した様々な特徴の組み合わせおよび副次的組み合わせ、ならびに上記の説明を読んだ当業者により想起され先行技術で開示されていないような本発明の変形および修正を含む。
【図１】
2009538083.tif 000003
【図２】
2009538083.tif 000004
【図３】
2009538083.tif 000005
【国際調査報告】
2009538083.tif 000006