(57)【要約】  顧客エッジデバイスおよび通信事業者エッジデバイスなどのネットワークデバイス間のループを検出する技術は、デバイスで発生するメディアアクセス制御（ＭＡＣ）アドレス移動の回数をカウントすること、およびＭＡＣアドレス移動回数を事前設定されたＭＡＣ移動しきい値と比較することを伴う。この技術は、ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出された１セットのポート間を移動するとき、そのＭＡＣアドレスに関連付けられたＭＡＣ移動カウントを人為的に加速することを含む。ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出された１セットのポート間で移動するということは、ループを強く暗示しているので、ＭＡＣ移動カウントが人為的に加速される。ＭＡＣが、そのＭＡＣアドレスが前に検出された１セットのポート間で移動していると判定されると、ＭＡＣ移動カウントを加重することにより、ＭＡＣ移動カウントが人為的に加速される。
2009518961.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークデバイス間のループを検出する方法であって、
メディアアクセス制御（ＭＡＣ）移動しきい値を設定するステップと、
ＭＡＣ移動カウントを取得するように、ネットワークデバイスのポート間でＭＡＣアドレスが移動する回数をカウントするステップと、
ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出されたポートに移動したかを判定するステップと、
ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出されたポートに移動した場合、ＭＡＣ移動カウントを加重するステップと、
そのＭＡＣ移動カウントをＭＡＣ移動しきい値と比較するステップと、
ＭＡＣ移動カウントがＭＡＣ移動しきい値を超えた場合、ループが存在すると結論付けるステップと
を含む、方法。
【請求項２】
ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出されたポートに移動したかを判定するステップが、そのＭＡＣアドレスが前に検出された１セットのポートのレコードを維持するステップを含む、請求項１に記載の方法。
【請求項３】
該セットのポートを最大数に限定するステップをさらに含む、請求項２に記載の方法。
【請求項４】
ループが各ブロードキャストドメインベースで検出される、請求項１に記載の方法。
【請求項５】
ＭＡＣ移動カウントを加重するステップがＭＡＣ移動カウントを指数関数的に加重するステップを含む、請求項１に記載の方法。
【請求項６】
ＭＡＣ移動カウントを加重するステップがＭＡＣ移動カウントを直線的に加重するステップを含む、請求項１に記載の方法。
【請求項７】
ＭＡＣ移動カウントがＭＡＣ移動カウントの関数として加重される、請求項１に記載の方法。
【請求項８】
ＭＡＣ移動カウントを加重するステップが、ＭＡＣ移動カウントをソースＭＡＣアドレスであるＭＡＣアドレスの関数として加重するステップを含む、請求項１に記載の方法。
【請求項９】
ＭＡＣ移動しきい値を設定するステップが時間単位当たりのＭＡＣ移動回数を識別するステップを含む、請求項１に記載の方法。
【請求項１０】
ループが存在すると結論付けられた場合にループ保護アクションを開始するステップをさらに含む、請求項１に記載の方法。
【請求項１１】
顧客ネットワークと通信事業者ネットワーク間のループを検出する方法であって、
メディアアクセス制御（ＭＡＣ）移動しきい値を設定するステップと、
ＭＡＣ移動カウントを判定するために、顧客ネットワークからの顧客トラフィックによって引き起こされる通信事業者デバイスのポート間、すなわち、顧客ネットワークからのトラフィックを受信する通信事業者ネットワーク内にある通信事業者デバイスのポート間のＭＡＣアドレス移動をモニタするステップと、
ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出されたポートに移動したかを判定するステップと、
ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出されたポートに移動した場合、ＭＡＣ移動カウントを加重するステップと、
通信事業者デバイスにおいて、ＭＡＣ移動カウントをＭＡＣ移動しきい値と比較するステップと、
ＭＡＣ移動カウントがＭＡＣ移動しきい値を超えた場合、ループが存在すると結論付けるステップと
を含む、方法。
【請求項１２】
ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出されたポートに移動したかを判定するステップが、そのＭＡＣアドレスが前に検出された１セットのポートのレコードを維持するステップを含む、請求項１１に記載の方法。
【請求項１３】
該セットのポートを最大数に限定することをさらに含む、請求項１２に記載の方法。
【請求項１４】
ループが各ブロードキャストドメインベースで検出される、請求項１１に記載の方法。
【請求項１５】
ＭＡＣ移動カウントがＭＡＣ移動カウントの関数として加重される、請求項１１に記載の方法。
【請求項１６】
ＭＡＣ移動カウントを加重するステップが、ＭＡＣ移動カウントをソースＭＡＣアドレスであるＭＡＣアドレスの関数として加重するステップを含む、請求項１１に記載の方法。
【請求項１７】
ＭＡＣ移動率がＭＡＣ移動しきい値を超えた場合、通信事業者デバイスでループ保護アクションを開始するステップをさらに含む、請求項１１に記載の方法。
【請求項１８】
顧客ネットワークと通信事業者ネットワーク間のループを検出するシステムであって、
メディアアクセス制御（ＭＡＣ）移動しきい値を設定することと、
ＭＡＣ移動カウントを取得するように、ネットワークデバイスのポート間でＭＡＣアドレスが移動する回数をカウントすることと、
ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出されたポートに移動したかを判定することと、
ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出されたポートに移動した場合、ＭＡＣ移動カウントを加重することと、
ＭＡＣ移動カウントをＭＡＣ移動しきい値と比較することと、
ＭＡＣ移動カウントがＭＡＣ移動しきい値を超えた場合、ループが存在すると結論付けることと
を行うように構成されたループ管理エンジンを含む、システム。
【請求項１９】
ループ管理エンジンが、ＭＡＣアドレスが前に検出された１セットのポートのレコードを維持するように構成された、請求項１８に記載のシステム。
【請求項２０】
該セットのポートが最大数に限定される、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００４年３月２５日に出願された、以前出願され同時係属中の特許出願第１０／８０９，０２８号の一部継続出願である。加えて、本出願は、２００５年１２月７日に出願された仮出願第６０／７４８，１３３号の優先権を主張する。
【０００２】
本発明は概してネットワーク管理に関し、詳細にはネットワークデバイス間のループの検出および管理に関する。
【背景技術】
【０００３】
ミッションクリティカルネットワークは、グローバルビジネス環境でますます重要な役割を果たすようになっており、極めて複雑にリンクされるようになり、サポートを通信事業者ネットワークに依存するようになってきている。多くの場合、通信事業者ネットワークサービスの提供者は、その顧客のネットワークの顧客構内機器（ＣＰＥ）を管理せず、そのため、トラフィックループを含めて、種々のネットワーク障害を引き起こす可能性のある、顧客ネットワークにおける構成エラーを制御していない。顧客ネットワークにおけるそのような構成エラーは、トラフィックを顧客ネットワークおよび通信事業者ネットワークのエッジデバイスに渡って終わることのない循環パスに陥らせる可能性があり、通信事業者ネットワークの全体の安定に重大な影響を与えるおそれがある。通信事業者はＣＰＥを制御しないので、通信事業者がソースでのループを解決することはできない。顧客ネットワークに起因するループを解決するには、典型的には、通信事業者による手動のトラブルシューティングが必要である。手動のトラブルシューティングは高価であり、時間がかかる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
通信事業者ネットワークと顧客ネットワークとの間の関係を考えれば、必要とされるものは、ネットワークデバイス間、特に顧客ネットワークと通信事業者ネットワークのエッジデバイス間のループを検出および管理する技術である。
【課題を解決するための手段】
【０００５】
顧客エッジデバイスおよび通信事業者エッジデバイスなどのネットワークデバイス間のループを検出する技術は、デバイスで発生するメディアアクセス制御（ＭＡＣ）アドレス移動（例えば、ソースＭＡＣアドレス移動）の回数をカウントすること、およびＭＡＣアドレス移動の回数を事前設定されたＭＡＣ移動しきい値と比較することを伴う。この技術は、ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出された１セットのポート間を移動するとき、そのＭＡＣアドレスに関連付けられたＭＡＣ移動カウントを人為的に加速することを含む。ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出された１セットのポート間で移動するということは、ループを強く暗示しているので、ＭＡＣ移動カウントが人為的に加速される。ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出された１セットのポート間で移動していると判定されると、ＭＡＣ移動カウントを加重することにより、ＭＡＣ移動カウントが人為的に加速される。
【０００６】
ＭＡＣ移動をカウントした結果としてループが検出されると、ループ保護アクションが開始されることができる。典型的には、検出されたループに応答して開始されるループ保護アクションは、対応するデバイスで、ループするパケットのフローをブロッキングすることを伴う。
【０００７】
本発明の他の態様および利点は、本発明の原理を例として添付の図面に関連付けて示す以下の詳細な説明から明らかになろう。
【０００８】
説明全体にわたって、類似した要素を表すために類似した参照番号が用いられることがある。
【発明を実施するための最良の形態】
【０００９】
図１は、第２のネットワーク１０４、例えば、通信事業者ネットワークに接続された第１のネットワーク１０２、例えば、顧客ネットワークを示している。顧客ネットワークは２つの顧客エッジデバイス（顧客エッジデバイスＡおよびＢ、１０６および１０８）を備え、通信事業者ネットワークは２つの通信事業者エッジデバイス（通信事業者エッジデバイスＡおよびＢ、１１０および１１２）を備えている。図１の例において、顧客エッジデバイスおよび通信事業者エッジデバイスは、国際標準化機構（ＩＳＯ）によって定義された開放型システム間相互接続（ＯＳＩ）モデルのレイヤ２でイーサネット（登録商標）を利用する。当業界でよく知られているように、イーサネット（登録商標）はネットワークデバイスにメディアアクセス制御（ＭＡＣ）アドレスを割り当てておいて、ネットワーク全体に渡ってパケットをどのように転送するかを決めるために「ソース」および「宛先」ＭＡＣアドレスが使用される。
【００１０】
図１に示されている顧客エッジデバイス１０６および１０８ならびに通信事業者エッジデバイス１１０および１１２は、各顧客エッジデバイスが各通信事業者エッジデバイスに接続されるという冗長な構成で相互に接続される。この冗長な構成によると、顧客ネットワークと通信事業者ネットワーク間の各リンクは、主リンクに障害が発生した場合に利用が可能な第２のリンクを有する。冗長な構成は、リンクの障害時に、向上した信頼性を提供するが、冗長な構成は、通信事業者ネットワークおよび顧客ネットワークのエッジデバイス間に渡るトラフィックループを可能にする。
【００１１】
冗長な構成に加えて、図１は、通信事業者エッジデバイス１１０および１１２で行われるＭＡＣアドレスの学習の例も示している。図１の例において、学習は、顧客エッジデバイスＡ  １０６のポートＰ１からＸというソースＭＡＣアドレス（これ以降、「ソースＭＡＣ」または「ソースＭＡＣ  Ｘ」と称される）と共に伝送されるパケットに基づく。パケットベースのネットワーキング分野、特にイーサネット（登録商標）ネットワークでよく知られているように、  そのパケットが通信事業者エッジデバイスＡに到着すると、通信事業者エッジデバイスは、パケットのソースＭＡＣアドレスをパケットが到着したポートに関連付けて、その関連付けられたペアを転送テーブルに記憶する。図１で波線ボックス１１４によって示されているとおり、通信事業者エッジデバイスＡは、学習プロセスにより、ソースＭＡＣ  ＸをポートＰ１に関連付ける。そうすると、その関連付けられたＭＡＣアドレスとポートのペアのＭＡＣアドレスと一致する宛先ＭＡＣアドレスを有するパケットがそれ以降受信されると、そのパケットを転送するために、この関連付けられたペアが使用される。
【００１２】
ソースＭＡＣ学習に加えて、パケットのヘッダで運ばれた宛先ＭＡＣアドレス（例えば、次ホップ）への到達方法を通信事業者エッジデバイスＡ  １１０がまだ知らない場合、その通信事業者エッジデバイスはそのパケットを、その通信事業者エッジデバイスのすべてのポート（パケットが受信されたポートを除く）から「フラッディング」して、相補パケットがどのポートで受信されるか判明するのを待つ。フラッディングはイーサネット（登録商標）ベースのネットワーキングではよく知られた技術なので、本明細書では、これ以上詳しく説明しない。フラッディングの結果、通信事業者エッジデバイスＢ  １１２がソースＭＡＣ  Ｘを有するパケットのコピーをポートＰ４で受信する。上述の学習プロセスにより、通信事業者エッジデバイスＢは、ソースＭＡＣ  ＸをそのポートＰ４に関連付けて、その関連付けを転送テーブルに記憶する（波線ボックス１１６を参照）。
【００１３】
同じパケットが顧客エッジデバイスＡ  １０６のポートＰ１ではなく、顧客エッジデバイスＡのポートＰ２から送出された場合、通信事業者エッジデバイスＡおよびＢの学習プロセスおよびフラッディングプロセスは逆になる。図２は、顧客エッジデバイスＡ  ２０６のポートＰ２から通信事業者エッジデバイス  Ｂ  ２１２に伝送される、ソースＭＡＣ  Ｘを有する顧客パケットの場合の学習プロセスおよびフラッディングプロセスを示している。図２に示されているように、通信事業者エッジデバイスＢはそのパケットを受信し、ソースＭＡＣ  ＸをポートＰ１を介して学習する（波線ボックス２１６を参照）。通信事業者エッジデバイスＢが、その受信されたパケットの宛先ＭＡＣアドレスの次ホップをまだ知らないとすると、通信事業者エッジデバイスＢは、通信事業者エッジデバイスＡ  ２１０にポートＰ４を介してそのパケットをフラッディングする。通信事業者エッジデバイスＢにおけるフラッディングに応答して、通信事業者エッジデバイスＡは、ソースＭＡＣ  ＸをそのポートＰ４を介して学習する（波線ボックス２１４を参照）。
【００１４】
図１および図２のシナリオの場合、顧客エッジデバイスＡがパケットを通信事業者ネットワークにポートＰ１またはＰ２から転送すると、通信事業者エッジデバイスは必要な学習を行い、通信事業者ネットワークは安定した状態になる（例えば、転送テーブルが安定し、学習は新規のフローに限定される）。しかし、顧客ネットワークが、同じパケット（または同じソースＭＡＣを有する異なるパケット）が顧客エッジデバイスＡのポートＰ１およびポートＰ２から転送されることが可能な構成エラーを検出すると、顧客エッジデバイスＡと通信事業者エッジデバイスＡおよびＢとの間で１つまたは複数のループが作成される可能性がある。
【００１５】
図３は、同じソースＭＡＣを有するパケットが顧客エッジデバイスＡ  ３０６の２つのポートから通信事業者ネットワークに転送されたときに顧客ネットワーク３０２と通信事業者ネットワーク３０４との間に作成されるループを示している。図３を参照すると、顧客エッジデバイスＡは、ソースＭＡＣ  Ｘを有するパケットをポートＰ１およびポートＰ２の両方から転送している。通信事業者エッジデバイスＡ  ３１０は、ソースＭＡＣ  Ｘを有するパケットの１つをポートＰ１で受信し、ソースＭＡＣ  ＸをＰ１を介して上述のように学習する。通信事業者エッジデバイスＡは、受信されたパケットを通信事業者エッジデバイスＢ  ３１２にもフラッディングする。通信事業者エッジデバイスＢは、ソースＭＡＣ  Ｘを有するパケットの１つをそのポートＰ１で受信し、ソースＭＡＣ  ＸをＰ１を介して学習する。通信事業者エッジデバイスＢは、受信されたパケットを通信事業者エッジデバイスＡにもフラッディングする。通信事業者エッジデバイスＡは、ポートＰ４で、通信事業者エッジデバイスＢからフラッティングされたパケットを受信し、そのパケットをポートＰ１にフラッディングすることにより応答する（波線３２０によって示されているとおり）。同様に、通信事業者エッジデバイスＢは、ポートＰ４で、通信事業者エッジデバイスＡからフラッティグされたパケットを受信し、そのパケットをポートＰ１にフラッディングすることにより応答する（波線３２２によって示されているとおり）。したがって、このフラッディングは、（時計回りに）顧客エッジデバイスＡから通信事業者エッジデバイスＡへ、通信事業者エッジデバイスＢへ流れて、顧客エッジデバイスＡに戻る１つのループ、および（反時計回りに）顧客エッジデバイスＡから通信事業者エッジデバイスＢへ、通信事業者エッジデバイスＡへ流れて、顧客エッジデバイスＡに戻るもう１つのループを作成する。ループするトラフィックは、通信事業者ネットワークのパフォーマンスに重大な負の影響を与える可能性がある。
【００１６】
顧客エッジデバイスと通信事業者エッジデバイスとの間でループが作成された結果、通信事業者エッジデバイスＡおよびＢの３１０および３１２は、ソースＭＡＣ  Ｘを２つの異なるポートを介して学習する。例えば、通信事業者エッジデバイスＡがポートＰ１でパケットを受信すると、通信事業者エッジデバイスは、ソースＭＡＣ  ＸをポートＰ１を介して学習し、ポートＰ４でパケットを受信すると、ソースＭＡＣ  ＸをポートＰ４を介して学習する（波線ボックス３１４および３１６を参照）。これにより、通信事業者エッジデバイスはソースＭＡＣアドレスとポートの関連付けが絶えず変化する不安定な状態になる。ソースＭＡＣアドレスとポートの関連付けの各変更は、ソースＭＡＣアドレスがある１つのポートに出現したかと思えば、移動して別のポートに出現するので、本明細書では「ＭＡＣ移動」と称される。要するに、ループが存在する場合、影響を受ける通信事業者エッジデバイスは、発生するＭＡＣ移動率に著しい増加を認める。
【００１７】
本発明の実施形態によれば、顧客エッジデバイスおよび通信事業者エッジデバイスなどのネットワークデバイス間のループは、ループの存在を検出するためにデバイスで発生するＭＡＣ移動をモニタし、次いで、ＭＡＣ移動が、ループが存在していることを示している場合にループ保護アクションを開始することにより管理される。ループの存在を示すＭＡＣ移動回数はユーザプログラマブルであり、デバイス構成内で事前設定される。ＭＡＣ移動回数はＭＡＣ移動回数しきい値として表されることができ、例えば、ＭＡＣ移動率またはＭＡＣ移動回数に関して定義される。典型的には、検出されたループに応答して開始されるループ保護アクションは、対応するデバイスで、ループするパケットのフローをブロッキングすることを伴う。
【００１８】
図４は、本発明の実施形態に従ってネットワークデバイス間のループを管理する方法のプロセス流れ図である。ブロック４３０で、パケット情報が受信される。ブロック４３２で、ソースＭＡＣアドレスとポートの関連付けが学習される。判断ポイント４３４で、学習されたソースＭＡＣアドレスとポートの関連付けがＭＡＣ移動をトリガするかが判定される。学習されたソースＭＡＣとポートの関連付けがＭＡＣ移動をトリガしない場合、ループ保護アクションは取られない（ブロック４３６）。しかし、学習されたソースＭＡＣアドレスと関連付けがＭＡＣ移動をトリガする場合、ＭＡＣ移動回数がモニタされる（ブロック４３８）。判断ブロック４４０で、ＭＡＣ移動回数が、事前設定されたＭＡＣ移動しきい値を超えているかが判定される。事前設定されたＭＡＣ移動しきい値を超えていない場合、ループ保護アクションは取られない（ブロック４３６）。しかし、事前設定されたＭＡＣ移動しきい値を超えている場合、ループが存在すると結論付けられ、ループ保護アクションが開始される（ブロック４４２）。
【００１９】
図５は、図３の通信事業者エッジデバイスＡに関する、図４で示された方法の実施態様の例を示している。この実施態様例は、その通信事業者エッジデバイスのＭＡＣ学習状態および時間の関数としてのＭＡＣ移動の累計回数のテーブルを示している。このテーブルは、時間ｔ０から時間ｔ５までに発生した５回のＭＡＣ移動を含んでいる。ＭＡＣ移動およびＭＡＣ移動しきい値は、実施態様に応じて、ＭＡＣ移動回数またはＭＡＣ移動率について定義されることができ、および／または表記されることができる。一般的には、ＭＡＣ移動率は次のように計算される。
ＭＡＣ移動率＝ＭＡＣ移動回数／経過時間
図５の例では、ＭＡＣ移動率は５／（ｔ５−ｔ０）として計算される。ある実施形態では、ＭＡＣ移動率は、１秒当たりのＭＡＣ移動回数としてプログラムされ、ＭＡＣ移動が、ＭＡＣ移動ごとに増分されるカウンタでモニタされる。
【００２０】
例示の目的であるが、図５の例のＭＡＣ移動率が事前設定されたＭＡＣ移動しきい値を超えたと想定する。図４に関して上述されたように、ＭＡＣ移動率が事前設定されたＭＡＣ移動しきい値を超えたと判定されると、ループ保護アクションが開始される。ある実施形態では、ループ保護アクションは、ＭＡＣ移動しきい値を超えたソースＭＡＣアドレスに関連するパケットフローのすべてをブロッキングすることを伴う。図３の例において、通信事業者エッジデバイスＡおよびＢの３１０および３１２の両方でＭＡＣ移動率を超えると、ソースＭＡＣ  Ｘを有する対応するフローが両方の通信事業者エッジデバイスのポートでブロッキングされる。図６は、ブロッキング状態の関連ポート（ポートのすべてがフローのブロッキング状態にされることができる）、および通信事業者エッジデバイスの関連ポートでソースＭＡＣフローをブロッキングすると、ループの存在がどのように排除されるかを示している。
【００２１】
ある実施形態では、ブロッキングが自動的に解放された後、事前設定された期間、ブロッキングが持続するように構成される。理論的には、顧客エッジデバイスでの構成エラーは、ブロッキングが実施されている期間中に訂正される。ポートが解放されたときに構成エラーがまだ存在している場合、再びループが開始されることができて、結果的に、ブロッキングが再び開始されることになる。別の実施形態では、ブロッキングは、ブロッキングが手動で解放されるまで持続するように構成される。ブロッキングを解放する他の技術の実現が可能である。
【００２２】
ある実施形態では、ブロッキングは、ＭＡＣ移動しきい値を超えるフローに固有である。すなわち、ＭＡＣ移動しきい値を超えていないフローからのパケットは、ループ保護が開始されたとき、ブロッキングされない。例えば、ソースＭＡＣ  Ｘが２つの異なるＶＬＡＮ（例えば、ＶＬＡＮ  １０およびＶＬＡＮ  ２０）を利用している場合で、ＶＬＡＮ  １０のパケットのみがループしていて、それらのパケットが、ＭＡＣ移動しきい値を超える原因になっている場合、ソースＭＡＣ  ＸおよびＶＬＡＮ  １０を有するパケットのみがブロッキングされる。この「フロー固有の」ブロッキングは、任意のフロー指定、カテゴリー、クラス等に適用されることができる。フローは、例えば、ソースＭＡＣ、宛先ＭＡＣ、ＶＬＡＮ  ＩＤ、ＭＰＬＳラベル、タグなどの任意の組合せで指定することができる。それとは対照的に、ポートがブロッキング状態になると、ＩＥＥＥ  ８０２．１Ｄで定義されたスパニングツリープロトコル（ＳＴＰ）などの他のループ管理システムがポート上の全トラフィックをブロッキングする。
【００２３】
対応するフローをブロッキングすると、ループの問題は排除されるが、対応するフローを、図６に示されているように両方の通信事業者エッジデバイスでブロッキングすると、ブロッキングされたトラフィックはその宛先に（少なくとも一時的に）到達することはできない。別の実施形態では、通信事業者エッジデバイスの一方でＭＡＣ移動しきい値が超えられる前に、他方の通信事業者エッジデバイスがＭＡＣ移動しきい値を超えて、ブロッキングを開始するであろう。図７は、通信事業者エッジデバイスＢ  ７１２が通信事業者エッジデバイスＡ  ７１０の前にブロッキングを開始する場合を示している。具体的には、通信事業者エッジデバイスＢが、図７に示されているように、ポートＰ１およびポートＰ４で対応するフローをブロッキングする。この場合には、通信事業者エッジデバイスＢにおけるブロッキングの結果としてループ状態が排除され、ソースＭＡＣ  Ｘを有するパケットは、そうなっても、顧客エッジデバイスＡ  ７０６から通信事業者エッジデバイスＡを経由して通信事業者ネットワークに進むことができる。さらに、ループ状態が排除されるので、通信事業者エッジデバイスＡは、おそらく、ＭＡＣ移動しきい値を超えることはなく、したがって、そのデバイス自身のブロッキングを開始しない。ある実施形態では、ループを回避するために通信事業者エッジデバイスＢのポートＰ４をブロッキングする必要はない。さらに、ポートＰ４をアンブロックのままにすると、通信事業者エッジデバイスは相互に通信することができる。
【００２４】
ある実施形態では、ループ検出に応答してブロッキングされてよいフローは構成可能である。すなわち、各通信事業者エッジデバイスは、一部のフローのみのブロッキングを許可するように構成されてよい。ブロッキング可能なフローの指名は、例えば、ポート、仮想回路、ＶＬＡＮ、ＭＰＬＳラベル、タグ付きパケット、タグなしパケットなどの任意の組合せを含むことができる。ある実施形態では、ブロッキング可能なフローの指定は、ブロッキング可能なポートのリストおよびブロッキング可能なポート上でブロッキングされてよいＶＬＡＮのリストを含む。ＶＬＡＮは、例えば、特定のＶＬＡＮ（例えば、ＶＬＡＮ  １０）、ＶＬＡＮ範囲（例えば、１０−２０、４０−５０および６０）、全ＶＬＡＮ、または指定されたＶＬＡＮを除く全ＶＬＡＮとして識別できる。
【００２５】
ループ管理システムも、ブロッキングアクションを示すメッセージをロギングするように構成されることができる。メッセージは、ｓｙｓｌｏｇサーバに送信されることができる。アンブロックを示すメッセージも生成されて、ｓｙｓｌｏｇサーバに送信されることができる。
【００２６】
ＭＡＣ移動しきい値は、多くの様々な方法で設定できる。ある方法によると、顧客エッジデバイスと通信事業者エッジデバイスとの間で１つまたは複数のループが意図的に作成され、ＭＡＣ移動回数がモニタされる。例えば、ＭＡＣ移動率が時間単位ごとのＭＡＣ移動回数をカウントすることにより測定される。次いで、測定されたＭＡＣ移動率を考慮してＭＡＣ移動しきい値が設定される。
【００２７】
本明細書で言及される場合、用語「ＭＡＣ移動」は、どのプロトコル（１つまたは複数）が実行されているかに応じて、ポート以外のフィーチャに対する変更を含むことがある。このように、ＭＡＣ移動を構成するものは、フィーチャ（すなわち、プロトコル）に固有である。ＭＡＣ移動を構成し得る変更の例には、次のようなものがある。
１）図３に関して上述されたように、あるポートから別のポートへのソースＭＡＣの移動
２）あるＶＬＡＮから別のＶＬＡＮへの（例えば、ＶＬＡＮ  １０からＶＬＡＮ  ２０への）ソースＭＡＣの移動
３）ある非同期転送モード（ＡＴＭ）ＶＣから別のＡＴＭ  ＶＣへのソースＭＡＣの移動（関連ＶＬＡＮ  ＩＤが同じままであっても）
４）あるＭＰＬＳ（ｍｕｌｔｉｐｒｏｔｏｃｏｌ  ｌａｂｅｌ  ｓｗｉｔｃｈｅｄ）ラベルから別のＭＰＬＳラベルへのソースＭＡＣの移動。
【００２８】
図８は、本発明の実施形態が実施されることができるネットワークノード８００の実施形態を示している。例のネットワークノードは通信事業者エッジデバイスとして実装されることができて、一次制御モジュール８５６、二次制御モジュール８５８、スイッチファブリック８６０ならびに３つの回線カード８６２Ａ、８６２Ｂおよび８６２Ｃ（回線カードＡ、ＢおよびＣ）を備えている。このネットワークノードは、しばしばデータグラムと称される個別の単位でトラフィックを扱う。ある実施形態では、このネットワークノードは、レイヤ２、レイヤ３および／またはレイヤ４ヘッダ情報を用いてそのネットワークノード内のトラフィックを転送するイーサネット（登録商標）スイッチ／ルータである。このネットワークノードは、イーサネット（登録商標）、ＡＴＭおよびフレームリレーなどのネットワークプロトコルをサポートする回線カードを備えることができる。イーサネット（登録商標）ベースのスイッチ／ルータが説明されているが、開示されたループ管理技術は他のタイプのネットワークノードにも適用できる。
【００２９】
回線カードのそれぞれは、少なくとも１つのポート８６４、プロセッサ８６６およびメモリ８６８を備え、それらは、トラフィックをネットワークノードに受信する、トラフィックをバッファリングする、転送の決定を行う、およびトラフィックをネットワークノードから伝送するなどの機能を実行する。各回線カード内のプロセッサは、多機能プロセッサおよび／または動作可能にメモリに接続されるアプリケーション固有のプロセッサを備えることができる。プロセッサは、パケット解析、パケット分類、および転送の決定などの機能を実行する。各回線カード内のメモリは、オペレーションコードを記憶する、トラフィックをバッファリングする、論理ポート情報を記憶する、および他のデータ構造を記憶するための回路を備える。オペレーションコードは、典型的には、電気的に消去可能なプログラマブル読取専用メモリ（ＥＥＰＲＯＭ）またはフラッシュＲＯＭなどの不揮発性メモリに記憶され、一方では、トラフィックおよびデータ構造は、典型的には、ランダムアクセスメモリ（ＲＡＭ）などの揮発性メモリに記憶される。ＲＡＭに記憶されるデータ構造の例としては、トラフィック転送情報（すなわち、出口ポートテーブル）がある。転送情報は、コンテンツアドレス可能メモリ（ＣＡＭ）またはＣＡＭとＲＡＭの組合せに記憶されることもできる。プロセッサおよびメモリは個別の機能ユニットとして示されているが、場合によっては、プロセッサおよびメモリは同じデバイスに統合される。加えて、回線カードには、２つ以上の個別のプロセッサユニットおよび２つ以上のメモリユニットがあってよい。
【００３０】
スイッチファブリック８６０は、入力ポートと出力ポート間のデータパスを提供し、例えば、共用メモリ、共用バスおよびクロスポイントマトリックスを備えることができる。示されていないが、ネットワークノード８００は、冗長なスイッチファブリックを装備することができる。
【００３１】
一次および二次制御モジュール８５６および８５８は、ネットワーク管理機能およびプロトコル実行機能など、種々の機能をサポートする。これらの制御モジュールによって実行されるネットワーク管理機能の例としては、構成コマンドの実行、タイミング制御の提供、ハードウェアテーブルのプログラミング、システム情報の提供、ユーザインターフェースのサポート、ハードウェア変更の管理、バス管理、論理ポートの管理、ＶＬＡＮの管理およびプロトコル処理がある。制御モジュールによって実行されるプロトコルの例には、Ｌ２学習、ＳＴＰおよびＬＡＣＰなどのレイヤ２（Ｌ２）プロトコルならびにＯＳＰＦ、ＢＧＰおよびＩＳＩＳなどのレイヤ３（Ｌ３）プロトコルがある。レイヤは、ＩＳＯによってＯＳＩモデルで定義されている。
【００３２】
制御モジュール８５６および８５８は、それぞれ、指定された機能を実行するためにプロセッサ８７０およびメモリ８７２を備えている。各制御モジュール内のプロセッサは、
多機能マイクロプロセッサおよび／または動作可能にメモリに接続されるアプリケーション固有のプロセッサを備えることができる。メモリは、オペレーションコードを記憶するためのＥＥＰＲＯＭまたはフラッシュＲＯＭならびにトラフィックをバッファリングし、ポート情報およびＶＬＡＮテーブルなどのデータ構造を記憶するためのＤＲＡＭを備えることができる。プロセッサおよびメモリは個別の機能ユニットとして示されているが、場合によっては、プロセッサおよびメモリは同じデバイスに統合される。加えて、制御モジュールには、２つ以上の個別のプロセッサユニットおよび２つ以上のメモリユニットがあってよい。
【００３３】
ある実施形態では、図１−図７に関して上述されたループ管理機能は、制御モジュールおよび回線カードに存在するループ管理エンジンのサポートを受けて実行される。図９は、ネットワークノードの制御モジュールおよび回線カードに存在するループ管理エンジン９７４の機能を記載したものである。ループ管理エンジンは、ソフトウェアおよびハードウェアの組合せで体現できる。ループ管理エンジンの機能要素には、ＭＡＣ移動しきい値モジュール９８０、ＭＡＣ移動カウンタモジュール９８２、ＭＡＣ移動比較モジュール９８４およびポートブロッキングモジュール９８６がある。これらのモジュールは、図１−図７に関して上述された対応する機能を実行する。
【００３４】
上述のように、ネットワークノードのポート間のＭＡＣアドレスの移動は、ループを暗示している。特に、ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出された１セットのポート間で移動する場合、ループの強い暗示であることが認識されている。ネットワーク内のループを検出するためには、ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出された１セットのポート間で移動しているときを迅速に、かつ信頼できるように識別することが望ましい。本発明の実施形態によると、迅速かつ信頼できるループ検出は、ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出された１セットのポート間で移動しているとき、そのＭＡＣアドレスに関連付けられたＭＡＣ移動カウントを人為的に加速することにより達成される。ＭＡＣ移動カウントを加速すると、ＭＡＣ移動しきい値をより高いレベルに設定できるようになり、そのレベルが、ＭＡＣアドレス移動を引き起こすことになるネットワーク内の通常の活動で超えられることは少なくなると思われる。ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出された１セットのポート間で移動していると判定されると、ＭＡＣ移動カウントを加重することにより、ＭＡＣ移動カウントが人為的に加速される。最も基本的なケースでは、ループが発生すると、ネットワークノードの２つのポート間でのみＭＡＣ移動が行われる。しかし、より複雑なネットワーク構成では、ループが発生すると、より大きい１セットのポート間でＭＡＣ移動が行われる可能性がある。この現象に対処するために、そのＭＡＣアドレスが前に検出されたポートセットは、２より大きい、ポートの最大数に設定されるとよい。
【００３５】
ＭＡＣ移動カウントの人為的加速は、図４に関して上述された方法の機能拡張として実現されることができる。ある実施形態では、図４の方法は、図１０に関して以下で説明されるように拡張される。特に、図１０は、図４の方法のブロック４３８と４４０との間で実行されるプロセスを示している。図４の方法によると、ブロック４３８で、ＭＡＣ移動回数がモニタされる。図１０の判断ポイント４３９Ａを参照すると、ＭＡＣ移動回数がモニタされた後、ＭＡＣ移動が、そのＭＡＣアドレスが前に検出された１セットのポート間で発生しているかどうかが判定される。ＭＡＣ移動が、そのＭＡＣアドレスが前に検出された１セットのポート間で発生していない場合（例えば、毎回、ソースＭＡＣアドレスが新しいポートに移動していた場合）、プロセスは判断ポイント４４０（図４）に進み、そこで、ＭＡＣ移動回数が、事前設定されたＭＡＣ移動しきい値と比較される。他方、ＭＡＣ移動が、そのＭＡＣが前に検出された１セットのポート間で発生している場合（例えば、ソースＭＡＣアドレスが限定された１セットのポート間で振動していた場合）は、プロセスはブロック４３９Ｂに進む。ブロック４３９Ｂで、加重されたＭＡＣ移動回数が計算される。加重されたＭＡＣ移動回数が計算された後、プロセスは判断ポイント４４０（図４）に進み、そこで、ＭＡＣ移動回数、この場合には、加重されたＭＡＣ移動回数が、事前設定されたＭＡＣ移動しきい値と比較される。ＭＡＣ移動回数がＭＡＣ移動しきい値を超えている場合、ループが存在すると結論付けられる。ＭＡＣ移動が、そのＭＡＣアドレスが前に検出された１セットのポート間で発生している場合、ＭＡＣ移動回数が加重されるので、ＭＡＣ移動回数はＭＡＣ移動しきい値を、ＭＡＣ移動回数が加重されなかった場合よりも早く超える。加えて、加重されたＭＡＣ移動回数と加重されないＭＡＣ移動回数との差は、ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出された１セットのポート間で戻って進むときを識別しやすくする。ある実施形態では、ＭＡＣ移動しきい値は、加重されないＭＡＣ移動カウントによるのとは対照的に、加重されたＭＡＣ移動カウントによってのみ超えられると予想されるレベルに引き上げられる。
【００３６】
図４および図１０に関して上述されたプロセスの例が図１１Ａから図１１Ｃに示されている。図１１Ａは、ネットワークノードの２つの異なるポート間のＭＡＣアドレス（例えば、ソースＭＡＣ  Ｘ）の移動を示している。このネットワークノードは、一次制御モジュール８５６、回線カードＡ  ８６２Ａおよび回線カードＢ  ８６２Ｂを備えている。ポートＰ１は回線カードＡ上にあり、ポートＰ４は回線カードＢ上にある。図１１Ａに示されているように、時間ｔ０では、ソースＭＡＣ  ＸはポートＰ１で検出されている。時間ｔ１では、ソースＭＡＣ  ＸはポートＰ４で検出されており、このことはＭＡＣ移動を形成し、ネットワークノード内でＭＡＣ処理を開始する。時間ｔ２では、ソースＭＡＣ  Ｘは再びポートＰ１で検出され、このことはもう１つのＭＡＣ移動を形成し、再びＭＡＣ移動処理を開始する。ＭＡＣ移動のこのプロセスは時間ｔ５まで続く。
【００３７】
図１１Ｂは、ＭＡＣアドレスが、それが前に検出されたポートで検出されたかどうか、および図１１Ａに示されたＭＡＣ移動に適用される加重方式に応じてＭＡＣ移動カウントがどのように変化するかを示している。１列目は時間ｔ０−ｔ５を示し、それらは、図１１Ａに示された時間ｔ０−ｔ５に対応する。２列目は、ＭＡＣアドレスが現在検出されたポートが、そのＭＡＣアドレスが前に検出された１セットのポートのものであるかどうかを示しており、３列目は、ソースＭＡＣアドレスが前に検出された１セットのポートを識別している。時間ｔ０を参照すると、ソースＭＡＣ  Ｘは、ポートＰ１でのみ検出されているので、「前のポート」フィールドは、「ｎｏ（いいえ）」を表す「Ｎ」である。さらに時間ｔ１では、ソースＭＡＣ  ＸはポートＰ４で検出され、それは、そのＭＡＣアドレスが前に検出されたポートの１つではない。時間ｔ２では、ソースＭＡＣ  Ｘは、それが前に検出されたポートに戻る。時間ｔ２より先では、ソースＭＡＣ  ＸはポートＰ１とＰ４との間で振動し、そのため、「前のポート」フィールドは「ｙｅｓ（はい）」を表す「Ｙ」である。
【００３８】
４列目は、ポートＰ１とＰ４との間で認識されるＭＡＣ移動の回数を追跡している。ＭＡＣ移動回数は、ＭＡＣ移動ごとに１だけ増分され、実際のＭＡＣ移動カウントと称される。
【００３９】
図１１Ｂにおいて、例示の目的で、ＭＡＣ移動に３種類の加重方式が適用されている。それら３つのＭＡＣ移動加重方式は次のものである。
１）列５の線形加重３の線形加重方式であって、この場合、
加重されたＭＡＣ移動カウント（ＭＭＣ）＝ＭＭＣ＊３
２）列６の指数加重方式であって、この場合、
加重されたＭＭＣ＝２＾ＭＭＣ
３）列７の指数加重方式であって、この場合、
加重されたＭＭＣ＝ＭＭＣ＾ＭＭＣ
数例の加重方式が提示されているが、他の加重方式も可能である。
さらに、上述の加重方式は静的な加重方式であるが、加重方式は動的でもよい。例えば、加重方式は、ＭＡＣ移動カウントが増えるにつれて加重を増やすように構成されてよい。ＭＡＣ移動カウントの関数である他の加重方式も可能である。ある実施形態では、加重方式は、ソースＭＡＣアドレスの関数として選択される。例えば、異なるソースＭＡＣアドレスには異なる加重方式が使用される。これは、特定のソースＭＡＣアドレス、例えば、特定のポートで受信されるべきでない一部の制御ＭＡＣアドレスの効率的な識別を可能にする。
【００４０】
図１１Ｂの行ごとに見ると、時間ｔ０およびｔ１では、ＭＡＣが、そのＭＡＣが前に検出されたポートで検出されないため、ＭＡＣ移動カウントは加重されない。ｔ２では、ＭＡＣが、そのＭＡＣが前に検出されたポートで検出されたため、加重されたＭＡＣ移動カウントが計算される。実際のＭＡＣ移動カウントが２なので、加重されたＭＡＣ移動カウントは、３種類の加重方式を使用して、それぞれ、６、４および４と計算される。図１１Ｂでは３種類の加重方式が並行して示されているが、任意の一時点では加重方式は１つのみ実行される可能性が最も高いことに留意されたい。時間ｔ３では、実際のＭＡＣ移動カウントは３であって、加重されたＭＡＣ移動カウントは、それぞれ、９、８および２７と計算されている。時間ｔ４では、実際のＭＡＣ移動カウントは４であって、加重されたＭＡＣ移動カウントは、それぞれ、１２、１６および２５６と計算されている。時間ｔ５では、実際のＭＡＣ移動カウントは５であって、加重されたＭＡＣ移動カウントは、それぞれ、１５、３２および３，１２５と計算されている。図１１Ｂに示されているように、それぞれのケースで、加重されたＭＡＣ移動カウントは、実際の、または「加重されていない」ＭＡＣ移動カウントより大きい。さらに、ＭＡＣ移動回数が増えるにつれて、実際のＭＡＣ移動カウントと加重されたＭＡＣ移動カウントの差が増大する。実際のＭＡＣ移動カウントと加重されたＭＡＣ移動カウントの差は、適用される加重方式に応じて異なる率で増大する。例えば、列３の加重方式を適用すると、ＭＡＣ移動が５回発生しただけで、加重されたＭＡＣ移動カウントは、すでに、実際のＭＡＣ移動カウントの６２５倍である。
【００４１】
図１１Ｃは、実際のＭＡＣ移動カウントおよび図１１Ｂの列６からの加重されたＭＡＣ移動カウント（すなわち、加重されたＭＭＣ＝２＾ＭＭＣ）について、ＭＡＣ移動カウントを時間ｔ５でのＭＡＣ移動しきい値と関連付けて示している。このケースでは、ＭＡＣ移動しきい値は２０回のＭＡＣ移動に設定されており、図に示されているように、時間ｔ５での加重されたＭＡＣ移動カウントの３２はＭＡＣ移動しきい値を超えている。それとは対照的に、時間ｔ５での実際のＭＡＣ移動カウントの５は、ＭＡＣ移動があと１５回発生するまで、ＭＡＣ移動しきい値を超えない。
【００４２】
ループ検出技術のある実施態様では、ネットワークノード（例えば、サービスプロバイダのエッジデバイス）は、ＭＡＣ移動を追跡するためにＭＡＣ移動テーブルを維持する。図１２は、上述のようなＭＡＣ移動を追跡するためのフィールドを含む例示的なＭＡＣ移動テーブルを示している。ＭＡＣ移動テーブルのフィールドおよび対応するフィールドの説明は次のとおりである。
１）ＭＡＣアドレス  −  ソースＭＡＣアドレス
２）ブロードキャストドメインＩＤ  −  識別されたソースＭＡＣアドレスについてＭＡＣ移動が追跡されるブロードキャストドメイン。ブロードキャストドメインは、顧客ＶＬＡＮ、プロバイダＶＬＡＮ、プロバイダバックボーンＶＬＡＮ、プロバイダサービスインスタンス、またはＶＰＬＳドメインなど（これらに限定されるわけでない）、任意の識別可能なブロードキャストドメインを含むことができる。
３）ＭＡＣ移動カウント  −  事前設定された時間間隔内でＭＡＣアドレスが移動した回数
４）ポートセット  −  事前設定された時間間隔内でソースＭＡＣアドレスが前に検出されたポートのレコード
５）ポートセットのサイズ  −  ポートセット内のポートの最大数。ＭＡＣ移動テーブルの１例が説明されたが、ＭＡＣ移動テーブルの他の実施形態も可能である。
【００４３】
図１２に関して上述されたＭＡＣ移動テーブルを使用するとき、追跡されるＭＡＣアドレスごとにＭＡＣアドレスおよびブロードキャストドメインが記憶される。ＭＡＣアドレスについてＭＡＣ移動が識別されると、ポートセット内のポートの数が超えられていない限り、ＭＡＣアドレスの移動先のポートがポートセットに追加される。加えて、ＭＡＣアドレスが現在検出されたポートがそのポートセット内のポートの１つと一致するかを判定する検査が行われる。現在のポートとポートセット内のポートの１つが一致すると、そのＭＡＣアドレスは、そのＭＡＣアドレスが前に検出されたポートに戻ったことが示されたことになる。図１０に関して上述されたように、そのＭＡＣアドレスが前に検出されたポートがポートセット内のポートの１つと一致しない場合、ＭＡＣ移動カウントが通常通り増やされる（例えば、１カウントだけ増分される）。他方、そのＭＡＣアドレスが現在検出されたポートが、ポートセット内のポートの１つと一致する場合、該当の加重方式を用いて、加重されたＭＡＣ移動カウントが計算される。ある実施形態では、ＭＡＣ移動が検出されるたびに、ＭＡＣ移動テーブルにそのＭＡＣアドレスがまだ存在していなければ、ＭＡＣ移動テーブルに新規項目が作成される。ＭＡＣ移動テーブルに含まれるＭＡＣアドレスの数は、実施態様固有である。
【００４４】
ある実施形態では、ＭＡＣ移動カウントの加重は、ネットワークノード内でＭＡＣ移動加重モジュールによって行われる。図１３は、図９のループ管理エンジンの要素およびＭＡＣ移動加重モジュールを有するループ管理エンジンを示している。ループ管理エンジンの機能要素としては、ＭＡＣ移動しきい値モジュール９８０、ＭＡＣ移動カウンタモジュール９８２、ＭＡＣ移動加重モジュール９８３、ＭＡＣ移動比較モジュール９８４およびポートブロッキングモジュール９８６がある。これらのモジュールは、図１−図７および図１０−図１２に関して上述された対応する機能を実行する。特に、ＭＡＣ移動加重モジュールは、ＭＡＣが、そのＭＡＣが前に検出された１セットのポート間で移動しているかどうかを判定する機能および加重されたＭＡＣ移動カウントを計算する機能を実行する。
【００４５】
本明細書で言及された場合、ＭＡＣ移動カウントは、ＭＡＣ移動回数、既知の時間間隔内のＭＡＣ移動回数またはＭＡＣ移動率を表すことができる。
【００４６】
図１４は、ネットワークデバイス間のループを検出する方法のプロセス流れ図である。ブロック１４０２で、ＭＡＣ移動しきい値が設定される。ブロック１４０４で、ＭＡＣ移動カウントを取得するように、ネットワークデバイスのポート間でＭＡＣアドレスが移動する回数がカウントされる。ブロック１４０６で、ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出されたポートに移動したかが判定される。ブロック１４０８で、ＭＡＣアドレスが、そのＭＡＣアドレスが前に検出されたポートに移動した場合、ＭＡＣ移動カウントが加重される。ブロック１４１０で、そのＭＡＣ移動カウントがＭＡＣ移動しきい値と比較される。ブロック１４１２で、ＭＡＣ移動カウントがＭＡＣ移動しきい値を超えた場合、ループが存在すると結論付けられる。
【００４７】
本発明の具体的な実施形態が説明され、例示されたが、本発明は、本明細書で説明され、例示された部分の特定の形式または配置に限定されない。本発明は、特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【００４８】
【図１】第２のネットワーク、例えば、通信事業者ネットワークに接続された第１のネットワーク、例えば、顧客ネットワークを示した図である。
【図２】顧客エッジデバイスＡから通信事業者エッジデバイスＢに伝送された顧客パケットの場合の学習プロセスおよびフラッディングプロセスを示した図である。
【図３】同じソースＭＡＣアドレスを有するパケットが顧客エッジデバイスＡの２つのポートから通信事業者ネットワークに転送されたときに顧客ネットワークと通信事業者ネットワークとの間に作成されるループを示した図である。
【図４】本発明の実施形態に従ってネットワークデバイス間のループを管理する方法のプロセス流れ図である。
【図５】図３の通信事業者エッジデバイスＡに関する、図４で示された方法の実施態様の例を示した図である。
【図６】ブロッキング状態のポート、および通信事業者エッジデバイスでソースＭＡＣフローをブロッキングすると、ループの存在がどのように排除されるかを示した図である。
【図７】通信事業者エッジデバイスＢが通信事業者エッジデバイスＡの前にブロッキングを開始する場合を示した図である。
【図８】本発明の実施形態が実施されることができるネットワークノードの実施形態を示した図である。
【図９】本発明に従ってループ管理エンジンの機能を記載した図である。
【図１０】図４のプロセス流れ図の機能拡張を示した図である。
【図１１Ａ】ネットワークノードの２つの異なるポート間のＭＡＣアドレスの移動を示した図である。
【図１１Ｂ】ＭＡＣアドレスが、それが前に検出されたポートで検出されたかどうか、および図１１Ａに示されたＭＡＣ移動に適用される加重方式に応じてＭＡＣ移動カウントがどのように変化するかを示した図である。
【図１１Ｃ】実際のＭＡＣ移動カウントおよび列２からの加重されたＭＡＣ移動カウントについて、時間ｔ５でのＭＡＣ移動しきい値と関連付けて図１１ＢのＭＡＣ移動カウントを示した図である。
【図１２】ＭＡＣ移動を追跡するためのフィールドを含む例示的なＭＡＣ移動テーブルを示した図である。
【図１３】図９のループ管理エンジンの要素およびＭＡＣ移動加重モジュールを有するループ管理エンジンを示した図である。
【図１４】ネットワークデバイス間のループを検出する方法のプロセス流れ図である。
【図１】
2009518961.tif 000003
【図２】
2009518961.tif 000004
【図３】
2009518961.tif 000005
【図４】
2009518961.tif 000006
【図５】
2009518961.tif 000007
【図６】
2009518961.tif 000008
【図７】
2009518961.tif 000009
【図８】
2009518961.tif 000010
【図９】
2009518961.tif 000011
【図１０】
2009518961.tif 000012
【図１１Ａ】
2009518961.tif 000013
【図１１Ｂ】
2009518961.tif 000014
【図１１Ｃ】
2009518961.tif 000015
【図１２】
2009518961.tif 000016
【図１３】
2009518961.tif 000017
【図１４】
2009518961.tif 000018
【国際調査報告】
2009518961.tif 000019