(57)【要約】  インテリアゲートウェイプロトコル（ＩＧＰ）ネットワークにおいてリンクステートフラッディング低減（ＬＳＦＲ）を実現する機構が開示される。該機構は、ネットワーク内の複数のノードの接続性を示すデータを受信することを含む。接続性に基づき、フラッディングトポロジが構築される。これは、ノードのうち１つをルートノードとして選択することと、ルートノードをネットワーク内のノードに接続するリンクのツリーを構築することを含む。フラッディングトポロジは、メモリに記憶される。フラッディングトポロジは、ネットワーク内の残りのノードに対するものでなくてもよい。次いで、フラッディングトポロジを通じて、リンクステートメッセージがフラッディングされ得る。
2021510280.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにおける第１のノードで実現される方法であって、
前記第１のノードの受信器で、前記第１のノードを含む前記ネットワーク内の複数のノードの接続性を示すデータを受信するステップと、
前記第１のノードのプロセッサにより、前記接続性に基づくフラッディングトポロジを、
前記ノードのうち１つをルートノードとして選択すること、及び
前記ルートノードを前記ネットワーク内のノードに接続するリンクのツリーを構築すること
により構築するステップと、
前記フラッディングトポロジを前記ネットワーク内の前記複数のノードに送信することなく、前記フラッディングトポロジをメモリに記憶するステップと、
前記第１のノードの送信器により、前記フラッディングトポロジを通じてリンクステートメッセージをフラッディングするステップと、
を含む方法。
【請求項２】
前記受信器で、前記ツリーに追加すべきリーフリンクの数を指定する要求を受信するステップと、
前記プロセッサにより、前記フラッディングトポロジに対し、前記ネットワーク内のノード間における前記数のリーフリンクを追加するステップと、
をさらに含む請求項１に記載の方法。
【請求項３】
リーフリンクを追加する前、前記フラッディングトポロジにおける前記リンクのツリーは、前記ネットワーク内のノード全てを前記ルートノードに接続するための最小数のリンクを含む、請求項１乃至２のうちいずれか１項に記載の方法。
【請求項４】
前記プロセッサにより、新たに接続されたノードとの隣接関係を確立するステップであり、前記新たに接続されたノードは、リンクを介して前記第１のノードに直接接続される、ステップと、
前記プロセッサにより、前記フラッディングトポロジが再計算されるまで、前記新たに接続されたノードを前記フラッディングトポロジにおける前記リンクのツリーに加えるステップと、
をさらに含む請求項１乃至３のうちいずれか１項に記載の方法。
【請求項５】
前記受信器で、前記フラッディングトポロジから除外されたリンクを通して第１のリンクステートメッセージを受信するステップと、
前記送信器により、前記フラッディングトポロジ上のリンクを通して前記第１のリンクステートメッセージをフラッディングするステップと、
をさらに含む請求項１乃至４のうちいずれか１項に記載の方法。
【請求項６】
前記受信器で、前記ネットワーク内の第２のノードがダウンしていることを示す第２のリンクステートメッセージを受信するステップと、
前記送信器により、前記第１のノードと前記第２のノードのネイバーとの間を接続するリンクに前記第２のリンクステートメッセージをフラッディングするステップと、
をさらに含む請求項１乃至５のうちいずれか１項に記載の方法。
【請求項７】
前記受信器で、前記ネットワーク内の第１のリンクがダウンしていることを示す第３のリンクステートメッセージを受信するステップと、
前記第１のリンクがクリティカル要素であると判定するステップと、
前記判定に基づき、ネイバーに接続するリンクであり、前記第１のリンクにアタッチされたノードに隣接するノードをさらに接続するリンクに、前記第３のリンクステートメッセージを送るステップと、
をさらに含む請求項１乃至６のうちいずれか１項に記載の方法。
【請求項８】
前記プロセッサにより、クリティカル要素を決定するステップであり、クリティカル要素は、その故障が前記フラッディングトポロジを分割するリンク又はノードである、ステップと、
クリティカルインターフェースが故障したとき、前記フラッディングトポロジの使用を停止するステップと、
をさらに含む請求項１乃至７のうちいずれか１項に記載の方法。
【請求項９】
前記リンクステートメッセージは、オープンショーテストパスファースト（ＯＳＰＦ）リンクステートアドバタイズメント（ＬＳＡ）である、請求項１乃至８のうちいずれか１項に記載の方法。
【請求項１０】
前記リンクステートメッセージは、中間システム対中間システム（ＩＳ‐ＩＳ）リンクステートプロトコルデータユニット（ＬＳＰ）である、請求項１乃至８のうちいずれか１項に記載の方法。
【請求項１１】
前記リンクステートメッセージは、前記フラッディングトポロジを介してリンクステートフラッディング低減をサポートする前記ネットワーク内のノードを示すために設定されるフラッディング低減（Ｆ）フラグを含む、請求項１乃至９のうちいずれか１項に記載の方法。
【請求項１２】
前記リンクステートメッセージは、集中リンクステートフラッディング低減、分散リンクステートフラッディング低減、又は静的構成リンクステートフラッディング低減を示すために設定されるモードフィールドを含む、請求項１乃至１１のうちいずれか１項に記載の方法。
【請求項１３】
前記リンクステートメッセージは、前記フラッディングトポロジにおける前記リンクのツリーを構築するためのアルゴリズムを示すために設定されるアルゴリズムフィールドを含む、請求項１乃至１２のうちいずれか１項に記載の方法。
【請求項１４】
前記リンクステートメッセージは、フルネットワークフラッディングからリンクステートフラッディング低減に切り替えるために設定される動作（ＯＰ）フィールドを含む、請求項１乃至１３のうちいずれか１項に記載の方法。
【請求項１５】
ネットワークにおける第１のノードであって、
当該第１のノードを含む前記ネットワーク内の複数のノードの接続性を示すデータを受信するように構成された受信器と、
前記受信器に結合されたプロセッサであり、
前記接続性に基づくフラッディングトポロジを、
前記ノードのうち１つをルートノードとして選択すること、及び
前記ルートノードを前記ネットワーク内のノードに接続するリンクのツリーを構築すること
により構築するように構成される、プロセッサと、
前記プロセッサに結合されたメモリであり、前記フラッディングトポロジを記憶するように構成される、メモリと、
前記プロセッサに結合された送信器であり、前記フラッディングトポロジを前記ネットワーク内の残りのノードに送信することなく、前記フラッディングトポロジを通じてリンクステートメッセージをフラッディングするように構成される、送信器と、
を備えた第１のノード。
【請求項１６】
前記受信器は、前記ツリーに追加すべきリーフリンクの数を指定する要求を受信するようにさらに構成され、前記プロセッサは、前記フラッディングトポロジに対し、前記ネットワーク内のノード間における前記数のリーフリンクを追加するようにさらに構成される、請求項１５に記載の第１のノード。
【請求項１７】
リーフリンクを追加する前、前記フラッディングトポロジにおける前記リンクのツリーは、前記ネットワーク内のノード全てを前記ルートノードに接続するための最小数のリンクを含む、請求項１５乃至１６のうちいずれか１項に記載の第１のノード。
【請求項１８】
前記プロセッサは、新たに接続されたノードとの隣接関係を確立するようにさらに構成され、前記新たに接続されたノードは、リンクを介して当該第１のノードに直接接続され、前記プロセッサは、前記フラッディングトポロジが再計算されるまで、前記新たに接続されたノードを前記フラッディングトポロジにおける前記リンクのツリーに加えるようにさらに構成される、請求項１５乃至１７のうちいずれか１項に記載の第１のノード。
【請求項１９】
前記受信器は、前記フラッディングトポロジから除外されたリンクを通して第１のリンクステートメッセージを受信するようにさらに構成され、前記送信器は、前記フラッディングトポロジ上のリンクを通して前記第１のリンクステートメッセージをフラッディングするようにさらに構成される、請求項１５乃至１８のうちいずれか１項に記載の第１のノード。
【請求項２０】
前記受信器は、前記ネットワーク内の第２のノードがダウンしていることを示す第２のリンクステートメッセージを受信するようにさらに構成され、前記送信器は、当該第１のノードと前記第２のノードのネイバーとの間を接続するリンクに前記第２のリンクステートメッセージをフラッディングするようにさらに構成される、請求項１５乃至１９のうちいずれか１項に記載の第１のノード。
【請求項２１】
前記受信器は、前記ネットワーク内の第１のリンクがダウンしていることを示す第３のリンクステートメッセージを受信するようにさらに構成され、前記プロセッサは、前記第１のリンクがクリティカル要素であると判定するようにさらに構成され、前記送信器は、前記判定に基づき、ネイバーに接続するリンクであり、前記第１のリンクにアタッチされたノードに隣接するノードにさらに接続するリンクに、前記第３のリンクステートメッセージを送るようにさらに構成される、請求項１５乃至２０のうちいずれか１項に記載の第１のノード。
【請求項２２】
前記プロセッサは、
クリティカル要素を決定し、クリティカル要素は、その故障が前記フラッディングトポロジを分割するリンク又はノードであり、
クリティカル要素が故障したとき、前記フラッディングトポロジの使用を停止する
ようにさらに構成される、請求項１５乃至２１のうちいずれか１項に記載の第１のノード。
【請求項２３】
前記リンクステートメッセージは、オープンショーテストパスファースト（ＯＳＰＦ）リンクステートアドバタイズメント（ＬＳＡ）である、請求項１５乃至２２のうちいずれか１項に記載の第１のノード。
【請求項２４】
前記リンクステートメッセージは、中間システム対中間システム（ＩＳ‐ＩＳ）リンクステートプロトコルデータユニット（ＬＳＰ）である、請求項１５乃至２２のうちいずれか１項に記載の第１のノード。
【請求項２５】
前記リンクステートメッセージは、前記フラッディングトポロジを介してリンクステートフラッディング低減をサポートする前記ネットワーク内のノードを示すために設定されるフラッディング低減（Ｆ）フラグを含む、請求項１５乃至２４のうちいずれか１項に記載の第１のノード。
【請求項２６】
前記リンクステートメッセージは、集中リンクステートフラッディング低減、分散リンクステートフラッディング低減、又は静的構成リンクステートフラッディング低減を示すために設定されるモードフィールドを含む、請求項１５乃至２５のうちいずれか１項に記載の第１のノード。
【請求項２７】
前記リンクステートメッセージは、前記フラッディングトポロジにおける前記リンクのツリーを構築するためのアルゴリズムを示すために設定されるアルゴリズムフィールドを含む、請求項１５乃至２６のうちいずれか１項に記載の第１のノード。
【請求項２８】
前記リンクステートメッセージは、フルネットワークフラッディングからリンクステートフラッディング低減に切り替えるために設定される動作（ＯＰ）フィールドを含む、請求項１５乃至２６のうちいずれか１項に記載の第１のノード。
【請求項２９】
ネットワークにおける第１のノードにより使用されるコンピュータプログラムプロダクトを含む非一時的コンピュータ読取可能媒体であって、前記コンピュータプログラムプロダクトは、プロセッサにより実行されたとき前記第１のノードに請求項１乃至１４のうちいずれか１項に記載の方法を実行させるように当該非一時的コンピュータ読取可能媒体に記憶されたコンピュータ実行可能命令を含む、非一時的コンピュータ読取可能媒体。
【請求項３０】
ネットワークにおける第１のノードであって、
当該第１のノードを含む前記ネットワーク内の複数のノードの接続性を示すデータを受信する受信手段と、
前記接続性に基づくフラッディングトポロジを、
前記ノードのうち１つをルートノードとして選択すること、及び
前記ルートノードを前記ネットワーク内のノードに接続するリンクのツリーを構築すること
により構築する処理手段と、
前記フラッディングトポロジを記憶するメモリ記憶手段と、
前記フラッディングトポロジを前記ネットワーク内の残りのノードに送信することなく、前記フラッディングトポロジを通じてリンクステートメッセージをフラッディングする送信手段と、
を備えた第１のノード。
【請求項３１】
前記受信手段、処理手段、メモリ記憶手段、及び送信手段は、請求項２乃至１４のうちいずれか１項に記載の方法を実行するように構成される、請求項３０に記載の第１のノード。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本特許出願は、Huaimo  Chenにより2018年1月12日に出願され「Open  Shortest  Path  First  (OSPF)  Flood  Minimization」と題された米国仮特許出願第62/616,499号、Huaimo  Chenにより2018年2月1日に出願され「Intermediate  System-Intermediate  System  (IS-IS)  Flood  Minimization」と題された米国仮特許出願第62/624,986号、及びHuaimo  Chenにより2018年10月25日に出願され「Interior  Gateway  Protocol  Flood  Minimization」と題された米国仮特許出願第62/750,677号の利益を主張し、これらの全てが参照により本明細書で援用される。
【０００２】
［技術分野］
本開示は、概してインテリアゲートウェイプロトコル（Interior  Gateway  Protocol、ＩＧＰ）ベースのネットワークに関し、具体的に、別個のフラッディングトポロジを作成してＩＧＰベースのネットワークにおけるパケットフラッディングの最小化をサポートする機構に関連する。
【背景技術】
【０００３】
特定のネットワークは、リンクステート情報を採用してパケットをルーティングする。そのようなネットワークでは、各ノードは、同期処理の一部としてリンクステートメッセージにおいてネットワークにわたりノードのリンクステート情報をブロードキャストする。ノードのリンクステート情報は、ノードを識別し、ノードのネイバーを示し、そのようなネイバーとコンタクトするための距離及び／又はルーティングコストを示すデータを含む。各ノードは、他のノードからのリンクステートメッセージを受信し、リンクステート情報を使用してリンクステートデータベースを埋める。次いで、各ノードは、他のノードとデータパケットを通信するための最短パスを決定するために、対応するリンクステートデータベースを使用することができる。そのようなネットワークは、特定のスケーラビリティ問題を被る。具体的には、各ノードは、リンクステートメッセージをネットワーク内の全ての他のノードに周期的にブロードキャストする。より多くのノードがネットワークに追加されると、より多くのリンクステートメッセージがブロードキャストされ、その結果、帯域幅に関してデータトラフィックと競合するシグナリングオーバヘッドを常に増加させることになる。
【発明の概要】
【０００４】
一実施形態において、本開示は、ネットワークにおける第１のノードで実現される方法を含む。当該方法は、第１のノードの受信器で、第１のノードを含むネットワーク内の複数のノードの接続性を示すデータを受信するステップを含む。当該方法は、第１のノードのプロセッサにより、接続性に基づくフラッディングトポロジを構築するステップをさらに含む。フラッディングトポロジは、ノードのうち１つをルートノードとして選択すること、及びルートノードをネットワーク内のノードに接続するリンクのツリーを構築することにより構築される。フラッディングトポロジは、ネットワーク内の複数のノードに送信することなく、フラッディングトポロジをメモリに記憶される。当該方法は、第１のノードの送信器により、フラッディングトポロジを通じてリンクステートメッセージをフラッディングするステップをさらに含む。フラッディングトポロジを採用することで、リンクステートメッセージが全てのリンクを通じてフラッディングされる必要なく、リストステートメッセージはネットワーク内の全てのノードに到達することができる。これは、冗長なリンクステートメッセージトラフィックを低減し、したがってネットワークトラフィック輻輳を低減する。そのような低減は、フラッディングトポロジがネットワークノードの数に比例する方法でネットワークトラフィックの輻輳を低減するので、ネットワークスケーラビリティの増大をさらに提供する。また、各ノードがネットワークを通じてフラッディングトポロジを送信することなくフラッディングトポロジを別個に計算できるようにすることは、ネットワークトラフィック輻輳をさらに低減する。
【０００５】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、受信器で、ツリーに追加すべきリーフリンクの数を指定する要求を受信するステップと、プロセッサにより、フラッディングトポロジに対し、ネットワーク内のノード間における上記数のリーフリンクを追加するステップと、をさらに含むことを含む。フラッディングトポロジへのリーフリンクの追加は、冗長性を加えるが、安定性も加える。さらなるリーフリンクは、フラッディングトポロジを切り離す可能性のある機器故障の潜在的な原因の数を低減する。
【０００６】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リーフリンクを追加する前、フラッディングトポロジにおけるリンクのツリーは、ネットワーク内のノード全てをルートノードに接続するための最小数のリンクを含むことを含む。
【０００７】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、プロセッサにより、新たに接続されたノードとの隣接関係を確立するステップをさらに含むことを含む。新たに接続されたノードは、リンクを介して第１のノードに直接接続される。当該方法は、プロセッサにより、フラッディングトポロジが再計算されるまで、新たに接続されたノードをフラッディングトポロジにおけるリンクのツリーに加えるステップをさらに含む。これにより、新しいノードは、フラッディングトポロジをネットワーク全体により即時に再計算する必要なく、フラッディングトポロジに追加されることが可能である。
【０００８】
任意で、前述の態様のいずれかにおいて、態様の別の実施態様は、受信器で、フラッディングトポロジから除外されたリンクを通して第１のリンクステートメッセージを受信するステップと、送信器により、フラッディングトポロジ上のリンクを通して第１のリンクステートメッセージをフラッディングするステップと、をさらに含むことを含む。これにより、フラッディングトポロジの外部から受信されたリンクステートメッセージは、全てのインターフェースを通してフラッディングすることなく、ネットワークにわたり転送されることが可能である。これは、フラッディングトポロジを採用できないデバイスとの後方互換性を可能にするために使用されてもよい。
【０００９】
任意で、前述の態様のいずれかにおいて、態様の別の実施態様は、受信器で、ネットワーク内の第２のノードがダウンしていることを示す第２のリンクステートメッセージを受信するステップと、送信器により、第１のノードと第２のノードのネイバーとの間を接続するリンクに第２のリンクステートメッセージをフラッディングするステップと、をさらに含むことを含む。これは、誤動作に直接接続されていないネットワークの部分のフラッディングトポロジを維持しながら、誤動作しているノードの周りの通信を可能にする。
【００１０】
任意で、前述の態様のいずれかにおいて、態様の別の実施態様は、受信器で、ネットワーク内の第１のリンクがダウンしていることを示す第３のリンクステートメッセージを受信するステップをさらに含むことを含む。当該方法は、第１のリンクがクリティカル要素であると判定するステップをさらに含む。当該方法は、判定に基づき、ネイバーに接続するリンクであり、第１のリンクにアタッチされたノードに隣接するノードをさらに接続するリンクに、第３のリンクステートメッセージを送るステップをさらに含む。これは、誤動作に直接接続されていないネットワークの部分に関するフラッディングトポロジを維持しながら、誤動作しているリンクの周りの通信を可能にする。
【００１１】
任意で、前述の態様のいずれかにおいて、該該態様の別の実装は、プロセッサにより、クリティカル要素を決定するステップであり、クリティカル要素は、その故障がフラッディングトポロジを分割するリンク又はノードである、ステップと、クリティカルインターフェースが故障したとき、フラッディングトポロジの使用を停止するステップと、をさらに含むことを含む。クリティカル要素の故障は、フラッディングトポロジを複数のトポロジに分ける。したがって、クリティカル要素の故障は、リンクステートメッセージがフラッディングトポロジを通じてネットワーク内の全てのノードに到達することを妨げる可能性がある。この潜在的な問題の認識を維持することで、ネットワークは、クリティカルインターフェースを省略する別のフラッディングトポロジを生成できるまで、一般的なフラッディングに戻ることができる。
【００１２】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、オープンショーテストパスファースト（ＯＳＰＦ）リンクステートアドバタイズメント（ＬＳＡ）であることを含む。
【００１３】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、中間システム対中間システム（ＩＳ‐ＩＳ）リンクステートプロトコルデータユニット（ＬＳＰ）であることを含む。
【００１４】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、フラッディングトポロジを介してリンクステートフラッディング低減をサポートするネットワーク内のノードを示すために設定されるフラッディング低減（Ｆ）フラグを含むことを含む。Ｆフラグは、後方互換性を可能にする。
【００１５】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、集中リンクステートフラッディング低減、分散リンクステートフラッディング低減、又は静的構成リンクステートフラッディング低減を示すために設定されるモードフィールドを含むことを含む。
【００１６】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、フラッディングトポロジにおけるリンクのツリーを構築するためのアルゴリズムを示すために設定されるアルゴリズムフィールドを含むことを含む。
【００１７】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、フルネットワークフラッディングからリンクステートフラッディング低減に切り替えるために設定される動作（ＯＰ）フィールドを含むことを含む。
【００１８】
一実施形態において、本開示は、ネットワークにおける第１のノードを含む。当該第１のノードは、当該第１のノードを含むネットワーク内の複数のノードの接続性を示すデータを受信するように構成された受信器を備える。当該第１のノードは、受信器に結合されたプロセッサをさらに備える。プロセッサは、接続性に基づくフラッディングトポロジを構築するように構成される。これは、ノードのうち１つをルートノードとして選択すること、及びルートノードをネットワーク内のノードに接続するリンクのツリーを構築することにより生じる。当該第１のノードは、プロセッサに結合されたメモリであり、フラッディングトポロジを記憶するように構成される、メモリをさらに備える。当該第１のノードは、プロセッサに結合された送信器であり、フラッディングトポロジをネットワーク内の残りのノードに送信することなく、フラッディングトポロジを通じてリンクステートメッセージをフラッディングするように構成される、送信器をさらに備える。フラッディングトポロジを採用することで、リンクステートメッセージが全てのリンクを通じてフラッディングされる必要なく、リストステートメッセージはネットワーク内の全てのノードに到達することができる。これは、冗長なリンクステートメッセージトラフィックを低減し、したがってネットワークトラフィック輻輳を低減する。そのような低減は、フラッディングトポロジがネットワークノードの数に比例する方法でネットワークトラフィックの輻輳を低減するので、ネットワークスケーラビリティの増大をさらに提供する。また、各ノードがネットワークを通じてフラッディングトポロジを送信することなくフラッディングトポロジを別個に計算できるようにすることは、ネットワークトラフィック輻輳をさらに低減する。
【００１９】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、受信器は、ツリーに追加すべきリーフリンクの数を指定する要求を受信するようにさらに構成され、プロセッサは、フラッディングトポロジに対し、ネットワーク内のノード間における上記数のリーフリンクを追加するようにさらに構成されることを含む。フラッディングトポロジへのリーフリンクの追加は、冗長性を加えるが、安定性も加える。さらなるリーフリンクは、フラッディングトポロジを切り離す可能性のある機器故障の潜在的な原因の数を低減する。
【００２０】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リーフリンクを追加する前、フラッディングトポロジにおけるリンクのツリーは、ネットワーク内のノード全てをルートノードに接続するための最小数のリンクを含むことを含む。
【００２１】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、プロセッサは、新たに接続されたノードとの隣接関係を確立するようにさらに構成され、新たに接続されたノードは、リンクを介して当該第１のノードに直接接続され、プロセッサは、フラッディングトポロジが再計算されるまで、新たに接続されたノードをフラッディングトポロジにおけるリンクのツリーに加えるようにさらに構成されることを含む。これにより、新しいノードは、フラッディングトポロジをネットワーク全体により即時に再計算する必要なく、フラッディングトポロジに追加されることが可能である。
【００２２】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、受信器は、フラッディングトポロジから除外されたリンクを通して第１のリンクステートメッセージを受信するようにさらに構成され、送信器は、フラッディングトポロジ上のリンクを通して第１のリンクステートメッセージをフラッディングするようにさらに構成されることを含む。これにより、フラッディングトポロジの外部から受信されたリンクステートメッセージは、全てのインターフェースを通してフラッディングすることなく、ネットワークにわたり転送されることが可能である。これは、フラッディングトポロジを採用できないデバイスとの後方互換性を可能にするために使用されてもよい。
【００２３】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、受信器は、ネットワーク内の第２のノードがダウンしていることを示す第２のリンクステートメッセージを受信するようにさらに構成され、送信器は、当該第１のノードと第２のノードのネイバーとの間を接続するリンクに第２のリンクステートメッセージをフラッディングするようにさらに構成されることを含む。これは、誤動作に直接接続されていないネットワークの部分のフラッディングトポロジを維持しながら、誤動作しているノードの周りの通信を可能にする。
【００２４】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、受信器は、ネットワーク内の第１のリンクがダウンしていることを示す第３のリンクステートメッセージを受信するようにさらに構成され、プロセッサは、第１のリンクがクリティカル要素であると判定するようにさらに構成され、送信器は、判定に基づき、ネイバーに接続するリンクであり、第１のリンクにアタッチされたノードに隣接するノードにさらに接続するリンクに、第３のリンクステートメッセージを送るようにさらに構成されることを含む。これは、誤動作に直接接続されていないネットワークの部分に関するフラッディングトポロジを維持しながら、誤動作しているリンクの周りの通信を可能にする。
【００２５】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、プロセッサは、クリティカル要素を決定し、クリティカル要素は、その故障がフラッディングトポロジを分割するリンク又はノードであり、クリティカル要素が故障したとき、フラッディングトポロジの使用を停止するようにさらに構成されることを含む。クリティカル要素の故障は、フラッディングトポロジを複数のトポロジに分ける。したがって、クリティカル要素の故障は、リンクステートメッセージがフラッディングトポロジを通じてネットワーク内の全てのノードに到達することを妨げる可能性がある。この潜在的な問題の認識を維持することで、ネットワークは、クリティカルインターフェースを省略する別のフラッディングトポロジを生成できるまで、一般的なフラッディングに戻ることができる。
【００２６】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、オープンショーテストパスファースト（ＯＳＰＦ）リンクステートアドバタイズメント（ＬＳＡ）であることを含む。
【００２７】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、中間システム対中間システム（ＩＳ‐ＩＳ）リンクステートプロトコルデータユニット（ＬＳＰ）であることを含む。
【００２８】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、フラッディングトポロジを介してリンクステートフラッディング低減をサポートするネットワーク内のノードを示すために設定されるフラッディング低減（Ｆ）フラグを含むことを含む。Ｆフラグは、後方互換性を可能にする。
【００２９】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、集中リンクステートフラッディング低減、分散リンクステートフラッディング低減、又は静的構成リンクステートフラッディング低減を示すために設定されるモードフィールドを含むことを含む。
【００３０】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、フラッディングトポロジにおけるリンクのツリーを構築するためのアルゴリズムを示すために設定されるアルゴリズムフィールドを含むことを含む。
【００３１】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、リンクステートメッセージは、フルネットワークフラッディングからリンクステートフラッディング低減に切り替えるために設定される動作（ＯＰ）フィールドを含むことを含む。
【００３２】
一実施形態において、本開示は、ネットワークにおける第１のノードにより使用されるコンピュータプログラムプロダクトを含む非一時的コンピュータ読取可能媒体を含み、コンピュータプログラムプロダクトは、プロセッサにより実行されたとき第１のノードに前述の態様のうちいずれか１つを実行させるように当該非一時的コンピュータ読取可能媒体に記憶されたコンピュータ実行可能命令を含む。
【００３３】
一実施形態において、本開示は、ネットワークにおける第１のノードを含む。当該第１のノードは、当該第１のノードを含むネットワーク内の複数のノードの接続性を示すデータを受信する受信手段を備える。当該第１のノードは、接続性に基づくフラッディングトポロジを構築する処理手段をさらに備える。これは、ノードのうち１つをルートノードとして選択すること、及びルートノードをネットワーク内のノードに接続するリンクのツリーを構築することにより生じる。当該第１のノードは、フラッディングトポロジを記憶するメモリ記憶手段をさらに備える。当該第１のノードは、フラッディングトポロジをネットワーク内の残りのノードに送信することなく、フラッディングトポロジを通じてリンクステートメッセージをフラッディングする送信手段をさらに備える。
【００３４】
任意で、前述の態様のいずれかにおいて、該態様の別の実装は、受信手段、処理手段、メモリ記憶手段、及び送信手段は、前述の態様のうちいずれか１つを実行するように構成されることを含む。
【００３５】
明瞭さを目的とし、前述の実施形態のいずれか１つを、他の前述の実施形態のいずれか１つ以上と組み合わせて、本開示の範囲内の新たな実施形態を作り出すことができる。
【００３６】
これら及び他の特徴が、添付の図面及び特許請求の範囲に関連して解される以下の詳細な説明から、より明確に理解されるであろう。
【図面の簡単な説明】
【００３７】
本開示のより完全な理解のため、添付の図面及び詳細な説明に関連して解される、以下の簡単な説明を参照する。同様の参照番号は同様の部分を表す。
【図１】一例示的なＩＧＰネットワークの概略図である。
【図２】分散リンクステートフラッディング低減（link  state  flooding  reduction、ＬＳＦＲ）をサポートするためのフラッディングトポロジを有する一例示的なＩＧＰネットワークの概略図である。
【図３】リーフを採用したフラッディングトポロジを有する一例示的なＩＧＰネットワークの概略図である。
【図４】ＩＧＰネットワークにおける動作のための一例示的なネットワークノードの概略図である。
【図５】フラッディングトポロジを構築する一例示的な方法のフローチャートである。
【図６】フラッディングトポロジを構築する別の例示的な方法のフローチャートである。
【図７】フラッディングトポロジを構築する別の例示的な方法のフローチャートである。
【図８】一例示的なフラッディング機構の概略図である。
【図９】新しいノードを発見すると採用される一例示的なフラッディング機構の概略図である。
【図１０】ノードがダウンしたことを発見すると採用される一例示的なフラッディング機構の概略図である。
【図１１】ノードがダウンしたことを発見すると採用される別の例示的なフラッディング機構の概略図である。
【図１２】リンクがダウンしたことを発見すると採用される一例示的なフラッディング機構の概略図である。
【図１３】フラッディングトポロジ内にクリティカルインターフェースを有する一例示的なＩＧＰネットワークの概略図である。
【図１４】ＬＳＦＲのノードサポートを示すための一例示的なオープンショーテストパスファースト（Open  Shortest  Path  First、ＯＳＰＦ）バージョン２（version  two、ｖ２）符号化の概略図である。
【図１５】ＬＳＦＲのノードサポートを示すための一例示的なＯＳＰＦバージョン３（version  three、ｖ３）符号化の概略図である。
【図１６】ＬＳＦＲのノードサポートを示すための一例示的な中間システム‐中間システム（Intermediate  System-Intermediate  System、ＩＳ‐ＩＳ）符号化の概略図である。
【図１７】ＩＧＰネットワークにおけるＬＳＦＲを管理するための一例示的なＬＳＦＲ制御タイプ長値（type  length  value、ＴＬＶ）符号化の概略図である。
【図１８】集中ＬＳＦＲを分散ＬＳＦＲと統合するための一例示的なＴＬＶ符号化の概略図である。
【図１９】ＩＧＰネットワークにおいてＬＳＦＲ機構を動作させる一例示的な方法のフローチャートである。
【図２０】ＩＧＰネットワークにおいてＬＳＦＲ機構を動作させるためのデバイスの一実施形態である。
【発明を実施するための形態】
【００３８】
最初に、１つ以上の実施形態の例示的な実装が以下に提供されるが、開示されるシステム及び／又は方法は、現在知られているか又は存在するかに関わらず任意の数の手法を使用して実現され得ることを理解されたい。本開示は、本明細書で例示及び説明される例示的な設計及び実装を含む、以下に示す例示的な実装、図面、及び手法に限定されるべきでなく、別記の特許請求の範囲の範囲内で、それらの同等物の全範囲と共に修正され得る。
【００３９】
本明細書において、ＯＳＰＦ及び／又はＩＳ‐ＩＳネットワークなどのＩＧＰネットワークにおけるリンクステートメッセージに関連する信号オーバヘッドを低減するための種々の機構が開示される。ノードからネットワークドメイン内の全ての他のノードにリンクステートメッセージを通信することは、フラッディングと呼ばれる。開示される機構は、集合的にＬＳＦＲと呼ばれ、実ネットワークのトポロジのサブセットであるフラッディングトポロジを生成することにより、リンクステートメッセージフラッディングの影響を低減する。一般に、各ノードは、フラッディングトポロジを通じてリンクステートメッセージを送信することにより、フラッディングトポロジから除外されたネットワークリンクを通してそのようなメッセージを送信することなく、ネットワークをフラッディングする。これは、各ノードで受信されるメッセージの冗長コピーの数を最小化しながら、メッセージがネットワーク内の全ての他のノードに到達することを可能にする。例えば、フラッディングトポロジは、ノードを接続するリンクのツリー（例えば、スパニングツリー）として生成されてもよい。そのようなリンクのツリーは、各ノードがフラッディングされたメッセージの単一コピーを受け取ることを保証しながら、リンクステートメッセージが全てのノードにフラッディングされることを可能にする。信頼性を高めるために、ネットワーク管理者による指示に応じて、リンクのツリーにリーフが追加されてもよい。これは、返ってメッセージ冗長性を加えるが、リンク又はノードが誤動作している場合にフラッディングトポロジにわたり代替的なメッセージパスを提供することにより、ネットワーク信頼性を高める。分散モードにおいて、各ノードは、共通アルゴリズムを採用することによりフラッディングツリーを決定し、共通アルゴリズムは、管理者により選択され得る。これにより、各ノードは、ネットワーク輻輳を増加させることになるネットワークを通じてのフラッディングトポロジのコピーのフラッディングをすることなく、フラッディングトポロジのコピーを維持することができる。フラッディング低減（Flooding  reduction、Ｆ）フラグがさらに開示される。Ｆフラグにより、各ノードは、ＬＳＦＲサポートを通信することができ、したがって、ノードは、ＬＳＦＲをサポートしないノードとの後方互換性（backwards  compatibility）を維持しながらフラッディングトポロジを採用することができる。Ｆフラグはまた、非ＬＳＦＲノードがフラッディングトポロジツリーのルートから遠く離れて接続されることを可能にする。さらに、ネットワーク変更の場合にリンクステートメッセージフラッディングを管理する機構が開示される。例えば、新しいノードがネットワークに入り、すでにフラッディングトポロジ上にある近隣ノード（ネイバーノード（neighbor  node））と通信するとき、ネイバーノードは、フラッディングトポロジの再計算が生じ、新しいフラッディングトポロジが構築されるまで、新しいノードをフラッディングトポロジに加え得る。さらに、リンク又はノードが誤動作しているとき、誤動作に隣接するノードは、フラッディングトポロジから除外されたリンクを介して、誤動作に隣接する他のノードにリンクステートメッセージを通信し、そのようなノードが、誤動作が対処されるまで、リンクステートメッセージを継続して受信することを保証することができる。さらに、ノードは各々、クリティカル要素（critical  elements）の知識を保持し得る。クリティカル要素は、故障するとフラッディングトポロジを２つ以上の分断部分に分割するフラッディングトポロジリンク／インターフェース又はノードである。クリティカル要素の故障の通知に対して、ノードは、リンク／ノードが修復されるまで、あるいは故障した要素を含まない新しいフラッディングトポロジを計算できるまで、全てのリンクを通じてのリンクステートメッセージのフラッディングに戻ってネットワーク機能性を維持し得る。クリティカル要素がフラッディングトポロジリンク（又はインターフェース）であるとき、クリティカル要素はクリティカルインターフェース又はクリティカルリンクと呼ばれる。クリティカル要素がフラッディングトポロジノードであるとき、クリティカル要素はクリティカルノードと呼ばれる。
【００４０】
図１は、一例示的なＩＧＰネットワーク１００の概略図である。ＩＧＰネットワーク１００は、ＯＳＰＦ及び／又はＩＳ‐ＩＳなどのＩＧＰプロトコルに基づいてルーティング及び／又はスイッチング情報を交換するように構成されたネットワークである。ＩＧＰネットワーク１００は、リンク１１５により相互接続された複数のノード１１１を含む。ノード１１１は、第１のインターフェース上のソースからデータパケットを受信し、第２のインターフェースを介して到達可能なデータパケットの宛先を決定し、第２のインターフェースを介してデータパケットを宛先に転送することができるネットワークデバイスである。議論を明瞭にするため、用語のデータパケットは、本明細書で用いられるとき、データパケットとデータフレームの双方を含む。リンク１１５は、第１のノード１１１のインターフェースから第２のノード１１１のインターフェースに信号を伝搬することができる媒体である。
【００４１】
ノード１１１は、相互接続されてネットワークドメイン１１０を形成する。本明細書で用いられるとき、ネットワークドメイン１１０は、ネットワークアドレス指定スキーム、ポリシー、及び／又はプロトコルを共有する相互接続されたノード１１１のグループである。具体的には、ネットワークドメイン１１０のノード１１１は、リンクステートルーティングプロトコルを採用する。リンクステートルーティングプロトコルを採用するとき、ネットワークドメイン１１０内の各ノード１１１は、完全なネットワークトポロジ（例えば、ルーティングテーブル）を維持し、ネットワークトポロジに関連するローカルに記憶された情報を採用することにより、データパケットの次のホップを独立して決定する。ネットワークトポロジは、ノード１１１及びリンク１１５の接続、ノード１１１の隣接関係（adjacencies）、ノード１１１のインターフェース情報、及び／又は他のリンク１１５／ノード１１１の関係情報などの、ＩＧＰネットワーク１００の構造を示すデータを含む。
【００４２】
ノード１１１は、ネットワークドメイン１１０にわたりリンクステート情報を共有する。ノード１１１のリンクステート情報は、ノード１１１を識別するデータ（例えば、ノード１１１のアドレス）、ノード１１１の近隣（ネイバー（neighbors））のリスト、及びノード１１１とノード１１１のネイバーとの間のコスト／遅延を含む。ノード１１１は、単一のリンク１１５により分離されたとき、ネイバーである。リンクステート情報を共有するために、ノード１１１は、ネットワークドメイン１１０にわたりリンクステートメッセージをフラッディングする。ＯＳＰＦでは、リンクステートメッセージはリンクステートアドバタイズメント（link  state  advertisements、ＬＳＡ）として知られている。ＩＳ‐ＩＳでは、リンクステートメッセージはリンクステートプロトコルデータユニット（link  state  protocol  data  units、ＬＳＰ）として知られている。いくつかの例において、各ノード１１１は、全てのインターフェース上でリンクステートメッセージをフラッディングする。本明細書で用いられるとき、フラッディングは、予め定義されたネットワークインターフェースセット上のパケット／フレームの同時送信を示す。このようなアプローチは、ＩＧＰネットワーク１００のサイズが増大すると問題を生じる可能性がある。例えば、各ノード１１１が全てのインターフェースを介して全ての他のノード１１１にリンクステートメッセージを周期的に送信するとき、リンクステートデータに関連するネットワークトラフィックは、さらなるノード１１１がＩＧＰネットワーク１００に追加されると急激に増加する可能性がある。さらに、各ノード１１１は、全てのインターフェース上で各々の他のノード１１１のリンクステートメッセージを受信し得る。これは、各ノード１１１が複数の冗長なリンクステートメッセージを受信する結果をもたらす可能性がある。
【００４３】
本開示は、ネットワークドメイン１１０内のノード１１１により採用されるプロトコルを修正して、冗長なリンクステートメッセージを低減する。冗長なリンクステートメッセージ通信を低減する処理は、本明細書においてリストステートフラッディング低減（list  state  flood  reduction、ＬＳＦＲ）と呼ばれる。具体的には、ノード１１１が、ＩＧＰネットワーク１００のトポロジのサブセットであるフラッディングトポロジを生成及び維持するように修正される。リンクステートメッセージは、ＩＧＰネットワーク１００のトポロジ全体を通じてではなく、フラッディングトポロジを通じてフラッディングされる。このアプローチは、冗長なリンクステートメッセージの通信を低減し、これは、ＩＧＰネットワーク１００のスケーラビリティを増大させる。さらに、リンクステートメッセージトラフィックの低減は、全体的なネットワーク保守シグナリングを低減し、したがって、データトラフィックに関するノード１１１の通信容量を増大させる。
【００４４】
図２は、分散ＬＳＦＲをサポートするためのフラッディングトポロジ２１９を有する一例示的なＩＧＰネットワーク２００の概略図である。例えば、ＩＧＰネットワーク２００は、ＩＧＰネットワーク１００上でＬＳＦＲを実現するために採用され得る。ＩＧＰネットワーク２００は、ノード２１１、ルートノード２１２、及び第１のノード２１３を含み、これらはＩＧＰネットワーク１００内のノード１１１と実質的に同様でもよい。ルートノード２１２は、フラッディングトポロジ２１９として採用されるスパニングツリーのルートとして選択されたノード２１１である。第１のノード２１３は、ノード２１１であり、本明細書で論じられるＬＳＦＲスキームを説明するときに議論の明瞭さをサポートするために区別されている。ＩＧＰネットワーク２００は、フラッディングトポロジリンク２１６及びリンク２１７を含み、これらはリンク１１５と実質的に同様である。太線で示されたフラッディングトポロジリンク２１６は、フラッディングトポロジ２１９に含まれるリンクであり、したがってリンクステートメッセージを送信するために採用される。太線なしで示されたリンク２１７は、フラッディングトポロジ２１９に含まれず、以下で図に関連して論じられるように、ある特定の場合にのみリンクステートメッセージを伝える。
【００４５】
ＩＧＰネットワーク２００は、分散モードで動作し得る。分散モードにおいて、各ノード２１１、２１２、及び２１３は、ネットワークにおける変更が検出された後、フラッディングトポロジ２１９を生成する。フラッディングトポロジ２１９は、リンクステートメッセージを送信するために採用されるフラッディングトポロジリンク２１６のツリーである。ノード２１１、２１２、及び２１３は、フラッディングトポロジ２１９を生成するために同じアルゴリズムを採用する。したがって、各ノード２１１、２１２、及び２１３は、フラッディングトポロジ２１９を示すフラッディングデータをＩＧＰネットワーク２００の残りのノードに送信することなく、フラッディングトポロジ２１９をローカルメモリに記憶する。このようにして、フラッディングトポロジ２１９を示すデータは、全てのノード２１１に送信されるわけではない。フラッディングトポロジ２１９は、以下で図に関連して論じられるように、いくつかのアルゴリズムに従って生成できる。
【００４６】
各ノード２１１、２１２、及び２１３は、各ノード２１１、２１２、及び２１３においてＩＧＰネットワーク２００内のノード２１２、２１１、及び／又は２１３の接続性（connectivity）を示すデータを受信した後、フラッディングトポロジ２１９を生成することができる。データの受信／送信は、既存のフラッディングトポロジ２１９を通じて、及び／又は既存のフラッディングトポロジ２１９が存在しない場合には一般的なフラッディングを介して生じ得る。各ノード２１１、２１２、及び２１３は、選択されたアルゴリズムを採用することにより、フラッディングトポロジ２１９のコピーを構築することができる。例えば、ＩＧＰネットワーク２００のノードのうち１つが、ルートノード２１２として選択される。ルートノード２１２は、多くの機構によりノード２１１／２１３から選択できる。例えば、ルートノード２１２は、最大又は最小の識別子（identifier、ＩＤ）、インターネットプロトコル（internet  protocol、ＩＰ）アドレス、媒体アクセス制御（media  access  control、ＭＡＣ）アドレス等を有するノードとして、ノード２１１／２１３から選択されてもよい。ひとたびルートノード２１２が選択されると、フラッディングトポロジリンク２１６のツリーが構築され、それにより、フラッディングトポロジリンク２１６のツリーはルートノード２１２をネットワーク内のノードに接続する。例えば、フラッディングトポロジ２１９は、スパニングツリー及び／又は最小重み（minimum  weight）スパニングツリーとして構築されてもよい。スパニングツリーはグラフのサブセットであり、全ての頂点（ノード２１１、２１２、及び２１３）が最小数のエッジ（リンク２１６）を介して接続される。最小重みスパニングツリーはグラフのサブセットであり、全ての頂点（ノード２１１、２１２、及び２１３）が最小エッジ重み（例えば、レイテンシの観点でのリンクコスト）を介して接続される。ルートノード２１２を有するフラッディングトポロジ２１９のツリーは、Ｏ（Ｎ）で計算されてもよく、Ｏ（Ｎ）は、入力（例えば、ノード数）に基づく線形計算時間を示すビッグＯ記法である。
【００４７】
フラッディングトポロジ２１９は、いくつかの基準を満たすＩＧＰネットワーク２００のトポロジのサブネットワークトポロジである。第１に、フラッディングトポロジ２１９は、サブネットワーク内で、実ネットワーク（例えば、ＩＧＰネットワーク２００）内と同等の、全てのノードに対する到達可能性を提供する。第２に、ｎ（ｎ＞０）個のリンク２１６が故障しているとき、サブネットワーク内の全てのノード（例えば、ノード２１１、２１２、及び２１３）への到達可能性は、実ネットワーク内と同じであるべきである。第３に、ｍ（ｍ＞０）個のノードが故障しているとき、サブネットワーク内の全てのライブノードへの到達可能性は、実ネットワーク内と同じであるべきである。第４に、リストステートフラッディングを低減するために、フラッディングトポロジ２１９内のフラッディングトポロジリンク２１６の数を最小化すべきである。
【００４８】
ひとたびフラッディングトポロジ２１９が生成されると、ノード２１１、２１２、及び２１３は、フラッディングトポロジ２１９を通じて、ＯＳＰＦ  ＬＳＡ及び／又はＩＳ‐ＩＳ  ＬＳＰなどのリンクステートメッセージをフラッディングすることができる。フラッディングトポロジ２１９は、リンクステートメッセージをフラッディングするときにいくつかの基準を採用することによりＩＧＰネットワーク２００と相互作用するように設計される。例えば、リンクステートメッセージは、フラッディングトポロジ２１９と実ＩＧＰネットワーク２００のトポロジの双方を使用する。さらに、フラッディングトポロジ２１９及び関連するフラッディング機構は、多くの場合、ＩＧＰネットワーク２００内のあらゆるノード２１１、２１２、及び／又は２１３へのリンクステートメッセージ（例えば、リンクステートメッセージ２２１）のフラッディングをサポートすべきであり、これらは、以下で図に関連してより詳細に論じられる。例えば、フラッディング機構は、ｎ（ｎ＞１）個のノードがダウンしているとき（例えば、ノード故障）、リンクステートメッセージが全てのノード、ノード２１１、２１２、及び／又は２１３に到達することを可能にすべきである。別の例として、フラッディング機構は、ｍ（ｍ＞１）個のリンクがダウンしているとき（例えば、リンク／インターフェース故障）、リンクステートメッセージが全てのノード２１１、２１２、及び／又は２１３に到達することを可能にすべきである。フラッディング機構は、リンクステートメッセージフラッディングを低減（例えば、ほぼ最小化）しながら、そのような基準を満たすべきである。また、フラッディング機構は、ＬＳＦＲをサポートするノード２１１、２１２、及び／又は２１３とＬＳＦＲが不可能なノードとを含むフラッディングトポロジ２１９で動作するように、後方互換性があるべきである。互換性は、以下で図に関連してより詳細に論じられる。一般に、能力のないノードは、フラッディングトポロジ２１９上に配置されるが、ルートノード２１２から遠く離れる。次いで、能力のないノードは、フラッディングトポロジ２１９からリンクステートメッセージを受信し、それらを全てのインターフェースを通じてフラッディングすることができる。
【００４９】
説明を目的として、フラッディングトポロジ２１９を通じてのリンクステートメッセージフラッディング機構が、第１のノード２１３の観点から論じられる。本明細書で用いられるとき、用語の第１のノード２１３は、議論を明瞭にするため、ＩＧＰネットワーク２００から任意に選択されたノード２１１を示す。第１のノード２１３は、例えば、１つ以上のリンク２１６を通じてルートノード２１２から、リンクステートメッセージ２２１を受信することができる。リンクステートメッセージ２２１は、ＬＳＡ、ＬＳＰ、又はリンクステート情報を搬送する他のパケット／フレームでもよい。リンクステートメッセージ２２１は、ソースノード２１１／２１２のＩＤ、ノード２１１／２１２の隣接関係、リンク２１６／２１７のＩＤ、インターフェース情報（例えば、ポートデータ）、及び／又はリンク２１６／２１７のコスト（例えば、レイテンシ）などのリンク／ノード状態情報などの接続性データを含んでもよい。
【００５０】
第１のノード２１３は、フラッディングトポロジリンク２１６を通じてリンクステートメッセージ２２１を受信する。第１のノード２１３は、そのような情報がローカルに記憶されたデータより新しいとき、リンクステートメッセージ２２１からのデータを解析し、記憶する。次いで、第１のノード２１３は、フラッディングトポロジ２１９のフラッディングトポロジリンク２１６を通じてリンクステートメッセージ２２１をネイバーノード２１１に転送する。リンクステートメッセージ２２１は、リンクステートメッセージ２２１を受信したインターフェースを戻って（例えば、ルートノード２１２に向けて戻って）フラッディングされることはない。図示のように、リンクステートメッセージ２２１は、一般に、以下で図に関連してより詳細に論じられるように、特定の場合でない限り、フラッディングトポロジ２１９の外部のリンク２１７を通してフラッディングされることはない。したがって、リンクステートフラッディングは、フラッディングトポロジ２１９に従って達成される。フラッディングトポロジ２１９が全てのノード２１１、２１２、及び２１３を接続すると、ＩＧＰネットワーク２００内の各ノードはリンクステートメッセージ２２１のコピーを受信し、（例えば、ルーティングテーブル内の）ローカルのリンクステート情報を更新する。しかしながら、リンクステートメッセージ２２１は、一般にリンク２１７を通してフラッディングされないので、ノード２１１、２１２、及び２１３は、一般にリンクステートメッセージ２２１の冗長コピーを受信しない。したがって、リンクステートメッセージ２２１のフラッディングが低減され、それにより、各ノード２１１、２１２、及び２１３は、各インターフェース上のコピーの代わりにリンクステートメッセージ２２１の単一コピーを受信する。
【００５１】
一般に、リンクステートメッセージ２２１のフラッディングをフラッディングトポロジ２１９に制限することは、いくつかの利点を結果としてもたらす。例えば、本明細書で説論じられるフラッディング機構は全体的なネットワークトラフィックを低減し、したがってネットワーク性能を強化する。さらに、本明細書で論じられるフラッディング機構は、分散モードにおいてフラッディングトポロジ２１９が各ノードで算出されるため、ネットワーク輻輳を改善する。さらに、本明細書で論じられるフラッディング機構は、他のリンクステートフラッディング機構と比較したとき、構成要件を低減し得る。
【００５２】
機器の故障から保護するために、ＩＧＰネットワーク２００にいくらかの冗長性が設計されてもよいことに留意されたい。具体的には、潜在的なＩＧＰネットワーク２００の通信問題を緩和するために、フラッディングトポロジ２１９に付加的なリンク２１６が追加されてもよい。そのような場合、いくつかのノード２１１、２１２、２１３は、複数のリンクステートメッセージ２２１を受信し得る。したがって、ＬＳＦＲは、冗長なリンクステートメッセージに基づいて、さらなる信頼性との間でバランスがとられ得る。フラッディングトポロジ２１９の信頼性を高めるための機構を以下で論じる。
【００５３】
図３は、リーフリンク３１８を採用するフラッディングトポロジ３１９を有する一例示的なＩＧＰネットワーク３００の概略図であり、これは、ネットワーク信頼性を高めるために採用され得る。ＩＧＰネットワーク３００は、ＩＧＰネットワーク２００と実質的に同様であるが、フラッディングトポロジ３１９内に付加的なリーフリンク３１８を含む。したがって、ＩＧＰネットワーク３００は、ルートノード３１２、ノード３１１、リンク３１７、及びフラッディングトポロジリンク３１６を含むフラッディングトポロジ３１９を含み、これらは、それぞれ、ルートノード２１２、ノード２１１／２１３、リンク２１７、フラッディングトポロジ２１９、及びフラッディングトポロジリンク２１６と実質的に同様である。
【００５４】
リーフリンク３１８は、ＩＧＰネットワーク３００の信頼性をサポートするためにフラッディングトポロジ３１９に追加されたリンクである。リーフリンク３１８は、破線の太線で示されている。リーフリンク３１８がフラッディングトポロジ３１９に追加され（例えば、円形を作成している）、ノード３１１／３１２へのリンク３１６／３１７のいくつかは、他のノード３１１／３１２をフラッディングトポロジリンク３１６のツリーから分離させることなく、誤動作する可能性がある。しかしながら、リーフリンク３１８の追加は、リーフリンク３１８のエンドポイントノード３１１／３１２のうちの１つに、冗長なリンクステートメッセージを受信させ得る。したがって、ＩＧＰネットワーク３００の信頼性は、わずかに増加したシグナリングオーバヘッドを犠牲にして高められる。
【００５５】
リーフリンク３１８の追加は、フラッディングトポロジ３１９を構築する処理の間に生じてもよい。例えば、システム管理者は、フラッディングトポロジ３１９に追加すべきリーフリンク３１８の数を選択することができる。そのような選択は、ＩＧＰネットワーク３００内の全てのノード３１１／３１２に送信できる。したがって、各ノード３１１／３１２は、フラッディングトポロジ３１９におけるフラッディングトポロジリンク３１６のツリーに追加すべきリーフリンク３１８の数を指定する要求を受信する。各ノード３１１／３１２は、上記で論じられた接続性情報に基づいてフラッディングトポロジ３１９を構築することができる。リーフリンク３１８を追加する前、フラッディングトポロジ３１９内のリンク３１６のツリーは、ＩＧＰネットワーク３００内のノード３１１全てをルートノード３１２に接続するための最小数のリンクを含んでもよい。フラッディングトポロジ３１９を生成した後、ノード３１１／３１２は、システム管理者からの要求で指定されたとおりの数のリーフリンク３１８  ｋ個（ｋ＞＝０）をフラッディングトポロジ３１９に追加する。リーフリンク３１８は、信頼性を高めるために、ＩＧＰネットワーク３００内のノード３１１／３１２の間に追加される。リーフリンク３１８は、いくつかの機構に基づいて配置できる。例えば、故障するとフラッディングトポロジ３１９を複数のツリー／部分に分割することになる任意のフラッディングトポロジリンク３１６又はノード３１１／３１２は、クリティカル要素として指定できる。リーフリンク３１８は、ＩＧＰネットワーク３００内のクリティカル要素の数を最小化するように選択された位置に配置されてもよい。さらなるリーフリンク３１８の配置機構を以下で論じる。
【００５６】
例えば、フラッディングトポロジ３１９は、Ｆｔと呼ばれ、図５〜図７に関連して説明される機構のうち１つにより構築されてもよい。そのような場合、フラッディングトポロジ３１９は、ツリーの形状をとり得る。次いで、整数個のリーフリンク３１８  ｋ個（ｋ＞＝０）をツリーに追加して、増大した接続性を有する強化されたフラッディングトポロジ３１９を作成することができる。例えば、フラッディングトポロジ３１９上のノードＸに直接接続されたｍ個（ｍ＞０）のリンク３１７が存在し得る。例えば、決定的アルゴリズム又はルールを使用することにより、リーフリンク３１８の数ｋを選択でき、ここでｋ＜＝ｍである。１つのアルゴリズム又はルールが、フラッディングトポロジ３１９に現在接続されていないリンク３１７のうち最小又は最大のＩＤを有するｋ個のリーフリンク３１８を選択することを含んでもよい。（例えば、これらｋ個のリンクの非リーフ端のＩＤは、ノードＸに直接接続された他のリンクのＩＤより小さい／大きい。）あらゆるノードは、固有のＩＤを有し得る。したがって、これらリンクの非リーフ端のうち、より小さい又はより大きいＩＤを有するｋ個のリーフリンクを選択することは、決定的である。特定の例として、このアルゴリズム下でｋ＝１である場合、選択されるリーフリンク３１８は、ノードＸに直接接続された全てのリンクの非リーフ端のＩＤの中で最小／最大のＩＤを有する。
【００５７】
別の例示的な機構において、第１のノードＬが、フラッディングトポロジ３１９  Ｆｔ内の第２のノードＮに直接接続され得る。第３のノードへの接続／隣接関係は、第１のノードＬから、決定的アルゴリズム又はルールを使用することにより、Ｆｔ内のリーフリンク３１８として選択できる。例えば、第１のノードＬは、隣接関係を介してフラッディングトポロジ３１９  Ｆｔ内の第３のノードＮｉ（ｉ＝１，２，．．．，ｓ）に直接接続され得る。さらに、第３のノードＮｉは、第２のノードＮでなく、ＩＤｉは、第３のノードＮｉのＩＤであり、Ｈｉ（ｉ＝１，２，．．．，ｓ）は、フラッディングトポロジ３１９  Ｆｔにおける第１のノードＬから第３のノードＮｉへのホップ数である。１つのアルゴリズム又はルールは、第３のノードＮｊ（１＜＝ｊ＜＝ｓ）への接続を、ＨｊがＨ１，Ｈ２，．．．，Ｈｓの中で最大であるようなリーフリンク３１８として選択することである。別の第３のノードＮａ（１＜＝ａ＜＝ｓ）が存在し、Ｈｊ＝Ｈａである場合、より小さい（又はより大きい）ノードＩＤを有する第３のノードを選択する。具体的には、ＨｊがＨａに等しく、ＩＤｊ＜ＩＤａである場合、より小さいＩＤを有するリンクを選択することにより第３のノードＮｊへの接続を選択する（あるいは、Ｈｊ＝＝Ｈａ及びＩＤｊ＜ＩＤａの場合、より大きいノードＩＤを有するものを選択するためにＮａへの接続を選択する）。
【００５８】
例示を目的として、リーフリンク３１８として追加されるべき選択されたノードＬとフラッディングトポロジ３１９  Ｆｔ内のノードとの間の合計接続数は、ＮＬｃとして示され得る。リーフリンク３１８の数ＮＬｃは、プログラムで制限できる。一例において、ＮＬｃは１０などの指定数に設定され、これは、リーフノードＬとフラッディングトポロジ３１９  Ｆｔ内のノードとの間の最大１０個の接続が選択され、フラッディングトポロジ３１９  Ｆｔに追加されて、強化されたフラッディングトポロジ３１９  Ｆｔを生成できることを示す。別の例において、ＮＬｃは、ネットワーク内のノード３１１／３１２の数の指定パーセンテージ（例えば、５パーセント）に設定され、これは、選択されＦｔに追加されるべきリーフノードとＦｔ内のノードとの間の接続数が、ＩＧＰネットワーク３００内のノード３１１／３１２の数の最大５パーセントであることを示す。例えば、１０００個のノード３１１／３１を有するネットワークでは、１０００の５％は５０である。ゆえに、リーフノードＬとフラッディングトポロジ３１９  Ｆｔ内のノードとの間の最大５０個のリーフリンク３１８が選択され、フラッディングトポロジ３１９  Ｆｔに追加される。
【００５９】
図４は、ＩＧＰネットワーク１００、２００、及び／又は３００内のノードなどの、ＩＧＰネットワーク内で動作する一例示的なネットワークノード４００の概略図である。例えば、ネットワークノード４００は、ノード１１１、２１１、２１２、２１３、３１１、及び／又は３１２を実現するために採用できる。さらに、ネットワークノード４００は、ネットワークトポロジ２１９及び／又は３１９を計算するために採用されてもよい。ネットワークノード４００はまた、ＬＳＡ又はＬＳＰなどのリンクステートメッセージ（例えば、リンクステートメッセージ２２１）を、そのようなフラッディングトポロジを通じて受信、処理、及び転送して、ＬＳＦＲを実現し得る。したがって、ネットワークノード４００は、本明細書に記載されるように、開示される例／実施形態を実現するのに適する。ネットワークノード４００は、下流ポート４２０、上流ポート４５０、及び／又はトランシーバユニット（Ｔｘ／Ｒｘ）４１０を含み、Ｔｘ／Ｒｘ４１０は、ネットワークを通じて上流及び／又は下流にデータを通信するための送信器及び／又は受信器を含む。ネットワークノード４００は、データを処理する論理ユニット及び／又は中央処理装置（central  processing  unit、ＣＰＵ）を含むプロセッサ４３０と、データを記憶するメモリ４３２をさらに含む。ネットワークノード４００は、光又は無線通信ネットワークを介したデータの通信のために上流ポート４５０及び／又は下流ポート４２０に結合された光対電気（optical-to-electrical、ＯＥ）コンポーネント、電気対光（electrical-to-optical、ＥＯ）コンポーネント、及び／又は無線通信コンポーネントをさらに含んでもよい。ネットワークノード４００は、いくつかの場合、ユーザとの間でデータをやりとりするための入力及び／又は出力（input/output、Ｉ／Ｏ）デバイスをさらに含んでもよい。
【００６０】
プロセッサ４３０は、ハードウェア及びソフトウェアにより実現される。プロセッサ４３０は、１つ以上のＣＰＵチップ、コア（例えば、マルチコアプロセッサとして）、フィールドプログラマブルゲートアレイ（field-programmable  gate  arrays、ＦＰＧＡ）、特定用途向け集積回路（application  specific  integrated  circuits、ＡＳＩＣ）、及びデジタル信号プロセッサ（digital  signal  processors、ＤＳＰ）として実装されてもよい。プロセッサ４３０は、下流ポート４２０、Ｔｘ／Ｒｘ４１０、上流ポート４５０、及びメモリ４３２と通信する。プロセッサ４３０は、ＬＳＦＲモジュール４１４を備える。ＬＳＦＲモジュール４１４は、本明細書に記載される開示の実施形態を実現する。具体的には、ＬＳＦＲモジュール４１４は、接続性情報に基づいてフラッディングトポロジを構築し得る。ＬＳＦＲモジュール４１４は、以下で論じられる方法５００、６００、及び／又は７００によってなど、いくつかの機構を採用することによりフラッディングトポロジを構築してもよい。また、ＬＳＦＲモジュール４１４は、ユーザ／システム管理者により指示されたとおりの数のリーフリンクをフラッディングトポロジに追加してもよい。ＬＳＦＲモジュール４１４は、フラッディングトポロジをメモリ４３２に記憶し得る。次いで、ＬＳＦＲモジュール４１４は、下流ポート４２０、Ｔｘ／Ｒｘ４１０、及び／又は上流ポート４５０を採用することにより、フラッディングトポロジを介してＩＧＰネットワークを通じて、ＯＳＰＦ  ＬＳＡ及び／又はＩＳ‐ＩＳ  ＬＳＰなどのリンクステートメッセージを受信及び／又はフラッディングし得る。また、ＬＳＦＲモジュール４１４は、以下で図に関連して論じられるように、リンクステートメッセージのケース特有の処理を採用してもよい。例えば、ＬＳＦＲモジュール４１４は、起動においてフラッディングトポロジに新しいノードを追加してもよく、リンク／ノード故障の場合にフラッディングトポロジの外部にリンクステートメッセージを転送してもよい。また、ＬＳＦＲモジュール４１４は、クリティカル要素の認識を維持し、クリティカル要素故障の場合にリンクステートメッセージの一般的なフラッディングに戻ってもよい。ＬＳＦＲモジュール４１４により実現されるこれら及び他の機構は、以下で図に関連してより詳細に論じられる。さらに、ＬＳＦＲモジュール４１４は、ネットワークノード４００の異なるステートへの変換をもたらす。あるいは、ＬＳＦＲモジュール４１４は、メモリ４３２に記憶されプロセッサ４３０により実行される命令として（例えば、非一時的媒体に記憶されたコンピュータプログラムプロダクトとして）実装できる。
【００６１】
メモリ４３２は、ディスク、テープドライブ、ソリッドステートドライブ（solid-state  drives）、読取専用メモリ（read  only  memory、ＲＯＭ）、ランダムアクセスメモリ（random  access  memory、ＲＡＭ）、フラッシュメモリ、三値連想メモリ（ternary  content-addressable  memory、ＴＣＡＭ）、スタティックランダムアクセスメモリ（static  random-access  memory、ＳＲＡＭ）等などの１つ以上のメモリタイプを含む。メモリ４３２は、オーバーフローデータ記憶デバイスとして、プログラムが実行のために選択されたときそのようなプログラムを記憶するため、及びプログラム実行中に読み出された命令及びデータを記憶するために使用され得る。
【００６２】
図５、図６、及び図７は、フラッディングトポロジを構築する例示的な方法を示す。一般に、フラッディングトポロジの構築は、１）最大／最小のノードＩＤを有するノードなどのルールに従ってノードＲを選択すること、２）Ｒをツリーのルートとして使用してツリーを構築すること、及び３）フラッディングトポロジに機器故障緩和を加えるために、必要に応じてｋ個（ｋ＞＝０）のリーフをツリーに接続することを含む。分散モードにおいて、ネットワーク内のノードの各々は、このアルゴリズムを使用してフラッディングトポロジを生成し、ゆえに、フラッディングトポロジは、ＩＧＰネットワーク内で分散／フラッディングされない。２つの例示的な機構タイプを以下で論じる。１つの機構タイプは、ノードがＬＳＦＲをサポートしているかどうかをチェックすることなく、フラッディングトポロジのツリーを構築する。そのような機構は、ドメイン内の全てのルータがＬＳＦＲをサポートすると仮定する。第２の機構タイプは、フラッディングトポロジのツリーを構築する間、各ノードがＬＳＦＲをサポートするかどうかを考慮する。そのような機構は、ＬＳＦＲをサポートするノードをルートノードにより近く配置して、ＬＳＦＲをサポートするノードをフラッディングトポロジに連続的に接続できるようにする。ＬＳＦＲのサポートは、Ｆフラグにおいてシグナリングでき、Ｆフラグは、ＩＳ‐ＩＳルータ能力タイプ長値（type  length  value、ＴＬＶ）及び／又はＯＳＰＦ  ＬＳＡに含めることができる。例えば、Ｆフラグは、１に設定されてノード／ルータがＬＳＦＲをサポートすることを示し、０に設定されてノード／ルータがＬＳＦＲをサポートしないことを示すことができる。次いで、ルートノードは、対応するルールに従って、例えば、（例えば、Ｆフラグが１に設定されたノードの中で）ＬＳＦＲもサポートする最大／最小のノードＩＤを有するノードとして選択できる。
【００６３】
図５は、フラッディングトポロジ２１９及び／又は３１９などのフラッディングトポロジを構築する一例示的な方法５００のフローチャートである。したがって、方法５００は、ノード１１１、２１１、２１２、２１３、３１１、３１２、及び／又は４００により採用され得る。方法５００は、ノードＲと最初に空のフラッディングトポロジＦｔとを最初に含む候補キュー（candidate  queue、Ｃｑ）を用いてルートノードＲからのツリーを構築する機構である。
【００６４】
ブロック５０１において、フラッディングトポロジ生成が開始される。例えば、フラッディングトポロジは、ネットワークに変更があるとき再計算できる。別の例として、フラッディングトポロジは、イベントの発生において再計算できる。具体的には、フラッディングトポロジは、クリティカル要素の故障において再計算できる。別の例として、フラッディングトポロジは、再計算を要求するユーザ／システム管理者からのメッセージを受信すると再計算できる。上述のように、分散モードにおいて、方法５００は、ＬＳＦＲが可能なネットワーク内の各ノード上で実質的に同時に開始される。
【００６５】
ブロック５０３において、フラッディングトポロジのルートノードが例えばＩＤ番号に基づいて選択される。選択したルートノードは、空の候補キューに追加される。さらに、フラッディングトポロジは、ブロック５０３において空で初期化されてもよい。次いで、方法５００はブロック５０５に進み、ブロック５０５はブロック５０７、５１１、及び５１３と反復ループを形成する。
【００６６】
ブロック５０５は、どのノードがＬＳＦＲをサポートするかを方法５００が考慮するかどうかに応じて変わる。方法５００が、どのノードがＬＳＦＲをサポートするかを考慮しない場合、ブロック５０５は、候補キューから最初のノードを除去し、除去したノードをフラッディングトポロジに追加する。除去したノードがルートノードでない（例えば、除去したノードの追加の前に、フラッディングトポロジが空でない）場合、除去したノードとフラッディングトポロジに追加された最後のノードとの間のリンクもフラッディングトポロジに含まれる。したがって、ブロック５０５は、ルートノードから順に候補キューを通して反復し、ノードをフラッディングトポロジ上に配置する。
【００６７】
方法５００が、どのノードがＬＳＦＲをサポートするかを考慮する場合、ブロック５０５は、候補キューから、ＬＳＦＲもサポートする最初のノードを除去する。候補キュー内のいずれのノードもＬＳＦＲをサポートしないとき、（ＬＳＦＲをサポートしない）候補キュー内の最初のノードが候補キューから除去される。次いで、除去されたノードと、該当する場合はフラッディングトポロジにおける前のノードへの対応するリンクが、フラッディングトポロジに追加される。このようにして、ブロック５０５は、ＬＳＦＲをサポートするノードをルートノードにより近いフラッディングトポロジ上の位置に配置することができる。これは、ＬＳＦＲをサポートしないノードをルートノードから遠く離して配置する結果をもたらし、したがって、フラッディングトポロジにわたるリンクステートデータの通信に関してそのようなノードへの依存を低減する。
【００６８】
ブロック５０７において、ネットワーク内のノードのリストがフラッディングトポロジ上のノードのリストと比較される。全てのノードがフラッディングトポロジに追加されたとき、方法５００はブロック５０９に進み、完成したフラッディングトポロジＦＴを返す。少なくとも１つのノードがフラッディングトポロジＦＴに含まれていないとき、方法５００はブロック５１１に進む。
【００６９】
ブロック５１１は、どのノードがＬＳＦＲをサポートするかを方法５００が考慮するかどうかに応じて変わる。方法５００が、どのノードがＬＳＦＲをサポートするかを考慮しない場合、ブロック５１１は、フラッディングトポロジに追加された最後のノードに接続されるノードＸｉ（ｉ＝１，２，３，．．．ｎ）のリストを決定し、そのようなノードは、まだフラッディングトポロジ内ではない。次いで、そのようなノードＸｉは、リンクコスト及び／又はリンク／ノード／インターフェースＩＤによりソートされ得る。リンクコストは、レイテンシ、リンク長、又はリンク最大帯域幅、及び／又は他のリンク能力を示し得る。さらに、リンクコストは、フラッディングトポロジに追加された最後のノードと対応するノードＸｉとの間のコストを示してもよい。そのようなアプローチは、より低コストのリンクを有するノードＸｉを候補キューにおいてより高位に配置するために採用され得る。したがって、そのようなより低コストのリンクは、ルートノードのより近くに追加され、フラッディングトポロジにおいてより多く利用される可能性が高い。コストが同一のとき、リンク／ノード／インターフェースＩＤが採用されて順序を決定することができる。方法５００が、どのノードがＬＳＦＲをサポートするかを考慮する場合、ブロック５１１は、コストを決定するときにＬＳＦＲサポートを考慮してもよい。例えば、実メトリックが採用されて、ＬＳＦＲをサポートするノードのコストを決定することができる。さらに、ＬＳＦＲをサポートしないノードの実メトリックは、最も低コストの非ＬＳＦＲのメトリックが最も高コストのＬＳＦＲのメトリックより高いようにファクタによりスケーリングすることができる。このようにしてコストを採用することにより、ＬＳＦＲをサポートしないノードは、候補キューの末尾に配置される。これは、ＬＳＦＲをサポートしないノードをルートノードから可能な限り遠く離して配置することをさらにサポートする。
【００７０】
ブロック５１３において、ブロック５１１からのノードＸｉは、ブロック５１１でソートされた順に候補キューの末尾に追加される。次いで、方法５００はブロック５０５に戻り、候補キューからの次のノードをフラッディングトポロジへ追加し得る。
【００７１】
上述のアプローチを採用することにより、フラッディングトポロジは、ルートノードで開始するバランスのとれたツリーとして成長する。ルートノードは、最初にフラッディングトポロジに追加される。次いで、ルートノードに接続された各ノード（例えば、第１段（degree）ノード）がフラッディングツリーに追加される。次いで、ルートノードに接続されたノードに接続された各ノード（例えば、第１段ノードに接続された第２段ノード）がフラッディングツリーに追加される。この処理は、全てのノードが対応するリンクと共にフラッディングトポロジに追加されるまで続く。
【００７２】
図６は、フラッディングトポロジ２１９及び／又は３１９などのフラッディングトポロジを構築する別の例示的な方法６００のフローチャートである。したがって、方法６００は、ノード１１１、２１１、２１２、２１３、３１１、３１２、及び／又は４００により採用され得る。方法６００は、ノードＲと最初に空のフラッディングトポロジＦｔとを最初に含む候補キューを用いてルートノードＲからのツリーを構築する機構である。方法６００は、ブロック６０１、６０３、６０５、６０７、６０９、及び６１１を採用しており、これらはそれぞれ、ブロック５０１、５０３、５０５、５０７、５０９、及び５１１と実質的に同様である。また、方法６００はブロック６１３を採用しており、これはブロック５１３と同様である。しかしながら、ブロック６１３は、ブロック６１１からのノードＸｉを、候補キューの先頭にではなく候補キューの末尾に追加する。方法６００は、ノードＸｉをソートするときにそのようなノードがＬＳＦＲ可能であるかどうかを考慮してもよく、あるいは方法６００は、ＬＳＦＲ能力を考慮せずに（例えば、方法５００と実質的に同様の方法で）動作してもよい。
【００７３】
したがって、方法６００は方法５００と実質的に同様だが、フラッディングツリーは別様に成長する。具体的には、ツリーは、最初の分岐に接続された全てのノードがフラッディングトポロジに追加されるまで、ルートノードから最初の分岐に沿って成長する。次いで、（まだ追加されていない）ルートノードから２番目の分岐にアタッチされたノードが、フラッディングトポロジに追加される、等である。ＬＳＦＲ能力が考慮される場合、ＬＳＦＲ可能でないノードは、ブロック６１１におけるソートにより、シーケンス内でより後方に配置できる。
【００７４】
図７は、フラッディングトポロジ２１９及び／又は３１９などのフラッディングトポロジを構築する別の例示的な方法７００のフローチャートである。したがって、方法７００は、ノード１１１、２１１、２１２、２１３、３１１、３１２、及び／又は４００により採用され得る。方法７００は、ノードＲと最初に空のフラッディングトポロジＦｔとを最初に含む候補キューを用いてルートノードＲからのツリーを構築する機構である。方法７００は、ブロック７０１、７０３、７０５、７０７、及び７０９を採用しており、これらはそれぞれ、ブロック５０１、５０３、５０５、５０７、及び５０９と実質的に同様である。方法７００は、ブロック７１１及び７１３をさらに含み、これらはそれぞれ、ブロック５１１及び５１３と同様である。しかしながら、ブロック７１１及び７１３は、ＩＤ又はフラッディングトポロジ内の前のノードに戻るコストではなく、ルートノードに戻るコストに基づいて候補キュー内のノードＸｉを順序づける。
【００７５】
具体的には、ブロック７１１は、ブロック７０５でフラッディングトポロジに追加された最後のノードに結合される各ノードＸｉについて、ルートノードへの最低コストを判定する。ＬＳＦＲ能力を考慮する例において、ＬＳＦＲをサポートしないノードを横断する経路は増加したコストを割り当られ、そのような経路が除外されること、及び／又は完全なＬＳＦＲサポートパスが利用できないときのみフラッディングトポロジ上で採用されることを保証することができる。フラッディングトポロジに追加された最後のノードに結合されるノードＸｉは、ルートノードに戻る関連最短コストと共に候補キューに追加される。すでにフラッディングトポロジにある別のノードへの接続に起因して、ノードＸｉが前の反復の間に候補キューに事前に含まれていた場合、ルートノードへの新しいコストがルートノードへの前のコストと比較される。次いで、新しいコストが前のコストより小さい場合、コストが更新される。このアプローチは、各反復の間、ルートノードに戻る最低コストに基づいて、候補キューにおいて各ノードを考慮させる。次いで、候補キューは、ルートノードに戻るコストにより、及び／又はインターフェース／ノード／リンクＩＤに基づいてソートされる。
【００７６】
したがって、方法７００は方法５００と実質的に同様であるが、フラッディングツリーは別様に成長する。例えば、方法７００のフラッディングトポロジは、ルートノードに戻る最低コストの順序でノードを追加することにより成長する。このアプローチは、フラッディングトポロジを主に最低コストパスで埋めさせる。最低コストパスがフラッディングトポロジに配置され、それにより、そのようなパスが最大量のリンクステートトラフィックで用いられる。したがって、より高コストのパスは、除外されるか、あるいはフルの接続性を保証するための最後の手段としてのみフラッディングトポロジに含まれる。ゆえに、そのようなより高コストのパスの使用、及び／又は非ＬＳＦＲ対応デバイスを横断するパスの使用は、最小量のリンクステートトラフィックに対して用いられる。
【００７７】
例えば、方法５００、６００、及び７００に従って生成されるようなフラッディングトポロジの採用は、特定の問題を結果としてもたらす可能性がある。例えば、ネットワーク内で変更が発生したとき、特に、複数のリンク又はノードの故障が発生したときに、ネットワーク内の各ノードが短時間で完全なフラッディングトポロジを取得することを保証するために、特定の機構が採用され得る。そのような問題を緩和する１つのアプローチは、ノードに冗長なフラッディングトポロジを維持／計算させることである。そのような冗長フラッディングトポロジは、ダウンしたリンク又はノードを除外する変更をフラッディングするための基本フラッディングトポロジを含んでもよい。さらに、冗長フラッディングトポロジは、１つのリンク又はノード故障のため、及び複数のリンク又はノード故障のための情報（フラッディングパスなど）を含んでもよい。採用され得る別の機構は、ルートノードにおける変更を考慮する機構である。例えば、ノードＸが、フラッディングツリーを計算するために使用されたルートノードＲがダウンし又は到達不能であることを見出したとき、ノードＸは、最小／最大のノードＩＤを有するノードなどの何らかのルールに従って新しいルートノードＲを選択する。次いで、ノードＸは、上記で論じられたようにフラッディングツリーを計算し、フラッディングツリーに基づいて（例えば、即時に）フラッディングトポロジを構築する。さらに、新しいノードが既存のトポロジに追加され、到達可能であるとき、ノードＸは、新しいノードＩＤが新しい最小／最大のノードＩＤであるなどのルートノード選択ルールに従って、新しいノードがフラッディングツリーの新しいルートであるかどうかを判定するためにチェックしてもよい。新しいノードが新しいルートノードである場合、ノードＸは、新しいノードＲをルートとして使用してフラッディングツリーを計算し、５秒などの予め定義された時間間隔の後、フラッディングツリーに基づいてフラッディングトポロジを構築する。
【００７８】
図８は、一例示的なフラッディング機構８００の概略図であり、これは、ＩＧＰネットワーク１００、２００、及び／又は３００などのＩＧＰネットワークで採用され得る。フラッディング機構８００は、第１のノード８１３に関して採用され、これは、フラッディングトポロジ２１９及び／又は３１９などのフラッディングトポロジを採用するＩＧＰネットワーク内の任意のノード（例えば、ノード１１１、２１１、２１２、２１３、３１１、３１２、及び／又は４００）であり得る。そのようなフラッディングトポロジは、例えば、方法５００、６００、及び／又は７００に従って生成できる。
【００７９】
説明の目的で図示されるように、ノード８１３は、フラッディングトポロジから除外されたリンク８１７と、フラッディングトポロジに含まれるリンク８１６に結合されている。上述のように、ノード８１３は、一般に、フラッディングトポロジからリンクステート情報を受信し、そのようなリンクステート情報をフラッディングトポロジに結合された他のインターフェースを通じてフラッディングする。しかしながら、ノード８１３がフラッディングトポロジに含まれないリンク８１７からリンクステート情報を受信する特定のケースが生じる可能性がある。例えば、ノード８１３は、ＬＳＦＲが可能でないノードからリンクステートメッセージ８２１を受信することがあり、したがって、リンクステートメッセージ８２１を全てのインターフェース上でフラッディングした。別の例として、ノード８１３は、ノード／リンクが誤動作したとき、フラッディングトポロジの外部からリンクステートメッセージ８２１を受信することがある。したがって、ノード８１３は、例に応じて種々の措置を講じることができる。一例において、リンクステートメッセージ８２１が、フラッディングトポロジ上でないリンク８１７から受信された場合、ノード８１３は、リンクステートメッセージ８２１を受信したリンク８１７を除く、ノード８１３にアタッチされた（attached）全ての他のリンク８１６及び８１７を通じて、ノード８１３のネイバーにリンクステートメッセージ８２３及び８２２を送信する（例えば、リンクステートフラッディングは実ネットワークトポロジに従う）。メッセージ８２２及び８２３は、メッセージ８２１のコピーであることに注意する。別の例において、リンクステートメッセージ８２１が、フラッディングトポロジ上でないリンク８１７から受信された場合、ノード８１３は、ノード８１３にアタッチされフラッディングトポロジ上に含まれる全てのリンク８１６を通じてノード８１３のネイバーにリンクステートメッセージ８２３を送信する。したがって、ノード８１３は、フラッディングトポロジから除外されたリンク８１７を通してリンクステートメッセージ８２１を受信し、フラッディングトポロジの外部にリンクステートメッセージ８２２をフラッディングするように構成され得る。
【００８０】
図９は、第１のノード９１３により第２の新しいノード９１４を発見すると採用される一例示的なフラッディング機構９００の概略図である。フラッディング機構９００は、ＩＧＰネットワーク１００、２００、及び／又は３００などのＩＧＰネットワークで採用され得る。フラッディング機構９００は、ノード９１３に関して採用され、これは、フラッディングトポロジ２１９及び／又は３１９などのフラッディングトポロジを採用するＩＧＰネットワーク内の任意のノード（例えば、ノード１１１、２１１、２１２、２１３、３１１、３１２、及び／又は４００）であり得る。そのようなフラッディングトポロジは、例えば、方法５００、６００、及び／又は７００に従って生成できる。フラッディング機構９００は、新しいノード９１４が発見されたとき、フラッディング機構８００と共に採用できる。
【００８１】
機構９００は、新しいノード９１４が、すでにネットワーク上で動作している第１のノード９１３として示されるノード９１３に接続されたとき、リンクステートフラッディングを調整するアプローチを例示する。機構９００は、第１のノード９１３が新たに接続された新しいノード９１４との隣接関係を確立したとき、トリガされ得る。図示のように、新たに接続された新しいノード９１４は、リンク９１９を介して第１のノード９１３に直接接続される。第１のノード９１３は、（例えば、ネットワークに変更があった後に）フラッディングトポロジを再構築できるまで、新しいノード９１４が対応するリンク９１９を介してフラッディングトポロジに結合されると仮定する。したがって、リンク９１９は、第１のノード９１３のメモリにおいて、フラッディングトポロジリンクとして一時的に（temporally）ラベル付けされる。したがって、リンク９１９は、フラッディングトポロジが再計算されるまで、新たに接続された新しいノード９１４をフラッディングトポロジ内のリンクのツリーに加えるために採用される。新しいノード９１４がフラッディングトポロジに追加された後、第１のノード９１３は、フラッディングトポロジ内のリンク９１６を通じてリンクステートメッセージ９２１を受信し得る。次いで、第１のノード９１３は、フラッディングトポロジリンク９１６と新しいノード９１４へのリンク９１９の双方を通してリンクステートメッセージ９２２（メッセージ９２１のコピー）を転送し得る。リンクステートメッセージ９２１は、その他の方法でフラッディングトポロジから除外されているリンク９１７には転送されなくてもよい。
【００８２】
図１０は、ノードが誤動作した（例えば、ダウンした）ことを発見すると採用される一例示的なフラッディング機構１０００の概略図である。フラッディング機構１０００は、ＩＧＰネットワーク１００、２００、及び／又は３００などのＩＧＰネットワーク上で動作する。フラッディング機構１０００は、第１のノード１０１３に関して例示されており、これは、フラッディングトポロジ２１９及び／又は３１９などのフラッディングトポロジを採用するＩＧＰネットワーク内の任意のノード（例えば、ノード１１１、２１１、２１２、２１３、３１１、３１２、及び／又は４００）であり得る。そのようなフラッディングトポロジは、例えば、方法５００、６００、及び／又は７００に従って生成できる。フラッディング機構１０００は、ダウンノード１０３１が誤動作したとき、フラッディング機構８００及び／又は９００と共に採用できる。
【００８３】
図示のように、機構１０００は、ノード１０１１、ルートノード１０１２、及び第１のノード１０１３がリンク１０１７及びフラッディングトポロジリンク１０１６により接続されたＩＧＰネットワーク上で動作し、これらはそれぞれ、ノード２１１、ルートノード２１２、第１のノード２１３、リンク２１７、及びフラッディングトポロジリンク２１６と実質的に同様である。機構１０００は、任意のノード上で動作し得、議論を明瞭にするため第１のノード１０１３の観点から例示される。機構１０００は、第１のノード１０１３がフラッディングトポロジリンク１０１６を通じてネイバーノード１０３３から新しいリンクステートメッセージ１０２１を受信したときに開始され得る。リンクステートメッセージ１０２１は、ダウンノード１０３１が機能していないことを示す。ダウンノード１０３１はノード１０３３との間でネイバーであり、ノード１０３３は第１のノード１０１３のネイバーでもある。ダウンノード１０３１はノード１０３４との間でネイバーであり、ノード１０３４は第１のノード１０１３のネイバーではない。
【００８４】
リンクステートメッセージ１０２１がフラッディングトポロジリンク１０１６から受信されたとき、第１のノード１０１３は、リンクステートメッセージ１０２１を受信したフラッディングトポロジリンク１０１６を除くフラッディングトポロジリンク１０１６を通じて、第１のノード１０１３のネイバーにリンクステートメッセージ１０２２（メッセージ１０２１のコピー）を送信する。これは、新しいリンクステートメッセージ１０２１がフラッディングトポロジを通じて適切に転送されることを保証する。さらに、第１のノード１０１３は、第１のノード１０１３及びダウンノード１０３１の双方に対してネイバーであるノード１０３３に、リンクステートメッセージ１０２３（メッセージ１０２１の別のコピー）を送信する。そのようなリンクステートメッセージ１０２３は、第１のノード１０１３をノード１０３３にアタッチするリンク１０１７を通じて、そのようなリンク１０１７がフラッディングトポロジに含まれていなくても送信される。この機構１０００は、ノードネイバー１０３３がリンクステートメッセージ１０２１に関してダウンノード１０３１に依存し得ることを考慮する。したがって、第１のノード１０１３は、ネイバーノード１０３３にダウンノード１０３１を通知して、リンクステートメッセージ１０２１がそのようなノード１０３３に伝搬されることを保証する。第１のノード１０１３は、ダウンノード１０３１の残りのネイバーノード１０３４にリンクステートメッセージ１０２１を転送しなくてもよく、なぜならば、ノード１０３４は第１のノード１０１３のネイバーではないためである。本機構は、ノード１０３４のネイバーに依存して、ダウンノード１０３１が動作不能であることをノード１０３４に知らせる。このアプローチは、ダウンノード１０３１が誤動作したとき、ネットワーク内のあらゆるノードが全ての他のノードにコンタクトすることを防止する。
【００８５】
したがって、第１のノード１０１３は、ネットワーク内の第２のダウンノード１０３１がダウンしていることを示すリンクステートメッセージ１０２１（例えば、本明細書で論じられる他のリンクステートメッセージとの区別のため、第３のリンクステートメッセージ）を受信し得る。次いで、第１のノード１０１３は、フラッディングトポロジから除外され、かつ第１のノード１０１３とダウンノード１０３１のネイバーノード１０３３との間を接続するリンク１０１７に、リンクステートメッセージ１０２１をフラッディングし得る。
【００８６】
図１１は、ノードが誤動作した（例えば、ダウンした）ことを発見すると採用される別の例示的なフラッディング機構１１００の概略図である。フラッディング機構１１００は、ＩＧＰネットワーク１００、２００、及び／又は３００などのＩＧＰネットワーク上で動作する。フラッディング機構１１００は、第１のノード１１１３に関して例示されており、これは、フラッディングトポロジ２１９及び／又は３１９などのフラッディングトポロジを採用するＩＧＰネットワーク内の任意のノード（例えば、ノード１１１、２１１、２１２、２１３、３１１、３１２、及び／又は４００）であり得る。そのようなフラッディングトポロジは、例えば、方法５００、６００、及び／又は７００に従って生成できる。フラッディング機構１１００は、ダウンノード１１３１が誤動作したとき、フラッディング機構８００及び／又は９００と共に採用できる。
【００８７】
図示のように、機構１１００は、ノード１１１１、ルートノード１１１２、及び第１のノード１１１３がリンク１１１７及びフラッディングトポロジリンク１１１６により接続されたＩＧＰネットワーク上で動作し、これらはそれぞれ、ノード１０１１、ルートノード１０１２、第１のノード１０１３、リンク１０１７、及びフラッディングトポロジリンク１０１６と実質的に同様である。さらに、ダウンノード１１３１が誤動作し、これはダウンノード１０３１と同様である。また、ネットワークは、第１のノード１１１３及びダウンノード１１３１に対してネイバーであるノード１１３３と、ダウンノード１０３１のネイバーであり第１のノード１１１３のネイバーではないノード１１３４を含む。
【００８８】
機構１１００は、機構１０００と同様であるが、第１のノード１１１３がフラッディングトポロジ上でないリンク１１１７を通じてネイバーノードから新しいリンクステートメッセージ１１２１を受信したときに採用される。リンクステートメッセージ１１２１は、ダウンノード１１３１がダウン／誤動作していることを示す情報を含む。一例において、第１のノード１１１３は、リンクステートメッセージ１１２１を受信したリンク１１１７を除く第１のノード１１１３に接続された全てのリンク１１１６及び１１１７を通じて、全てのネイバーノードにリンクステートメッセージ１１２１を送信する。そのような応答は、機構８００と実質的に同様であり、実ネットワークトポロジに従うことによりリンクステートメッセージ１１２１をフラッディングできる。そのような例は、第１のノード１１１３がフラッディングトポロジを通じてリンクステートメッセージを適切に受信していないことを想定し、リンクステートメッセージ１１２１が可能な限り広範囲に送信されることを保証するための措置を講じる。
【００８９】
別の例において、第１のノード１１１３は、フラッディングトポロジリンク１１１６を通じてリンクステートメッセージ１１２２（メッセージ１１２１のコピー）をフラッディングする。第１のノード１１１３は、フラッディングトポロジ上でないリンク１１１７を通じて、第１の１１１３ノード及びダウンノード１１３１の双方に対してネイバーであるノード１１３３にリンクステートメッセージ１１２２をさらにフラッディングする。リンクステートメッセージ１１２２は、リンクステートメッセージ１１２１を受信したリンク１１１７上で戻って転送される必要はない。さらに、第１のノード１１１３は、ダウンノード１１３１の残りのネイバーノード１１３４にリンクステートメッセージ１１２１を転送しなくてもよく、なぜならば、ノード１１３４は第１のノード１１１３のネイバーではないためである。そのような例は、フラッディングトポロジに沿ってリンクステート情報を転送し、ダウンノード１１３１のネイバーに誤動作を知らせることに焦点を合わせる。
【００９０】
いずれの例においても、第１のノード１１１３は、ネットワーク内の第２のダウンノード１１３１がダウンしていることを示すリンクステートメッセージ１１２１（例えば、本明細書で論じられる他のリンクステートメッセージとの区別のため、第３のリンクステートメッセージ）を受信する。次いで、第１のノード１１１３は、フラッディングトポロジから除外され、かつ第１のノード１１１３とダウンノード１１３１のネイバーノード１１３３との間を接続するリンク１１１７に、リンクステートメッセージ１１２２をフラッディングする。
【００９１】
図１２は、リンク１２３１が誤動作した（例えば、ダウンした）ことを発見すると採用される一例示的なフラッディング機構１２００の概略図である。フラッディング機構１２００は、ＩＧＰネットワーク１００、２００、及び／又は３００などのＩＧＰネットワーク上で動作する。フラッディング機構１２００は、第１のノード１２１３に関して例示されており、これは、フラッディングトポロジ２１９及び／又は３１９などのフラッディングトポロジを採用するＩＧＰネットワーク内の任意のノード（例えば、ノード１１１、２１１、２１２、２１３、３１１、３１２、及び／又は４００）であり得る。そのようなフラッディングトポロジは、例えば、方法５００、６００、及び／又は７００に従って生成できる。フラッディング機構１２００は、リンク１２３１がダウン／誤動作したとき、フラッディング機構８００、９００、１０００、及び／又は１１００と共に採用できる。
【００９２】
図示のように、機構１２００は、ノード１２１１、ルートノード１２１２、及び第１のノード１２１３がリンク１２１７及びフラッディングトポロジリンク１２１６により接続されたＩＧＰネットワーク上で動作し、これらはそれぞれ、ノード１０１１、ルートノード１０１２、第１のノード１０１３、リンク１０１７、及びフラッディングトポロジリンク１０１６と実質的に同様である。さらに、ダウンリンク１２３１が誤動作する。ノード１２３２は、ダウンリンク１２３１を介して第１のノード１２１３に結合されている。ノード１２３３は、第１のノード１２１３とダウンリンク１２３１に隣接するノード１２３２との双方に対するネイバーである。ノード１２３４は、（ダウンリンクに隣接する）ノード１２３２に対するネイバーであるが、第１のノード１２１３のネイバーではない。
【００９３】
第１のノード１２１３は、本ケースではフラッディングトポロジリンク１２１６であるリンクを通じて、本ケースではルートノード１２１２であるネイバーノードから、より新しいリンクステートメッセージ１２２１を受信すると、リンク１２３１がダウンしていることを見出す。第１のノード１２１３は、最初、ダウンリンク１２３１がフラッディングトポロジ上であるかどうかを判定するためにチェックする。ダウンリンク１２３１がフラッディングトポロジ上でない場合、ダウンリンク１２３１はリンクステートフラッディングに影響を及ぼさず、フラッディングトポロジにわたりリンクステートメッセージ１２２２（メッセージ１２２１のコピー）を転送すること以外に措置が講じられる必要はない。図示の例において、ダウンリンク１２３１はフラッディングトポロジ上であるので、第１のノード１２１３は、ダウンリンク１２３１が第１のノード１２１３の近隣インターフェース上であるかどうかをチェックすることに進む。ダウンリンク１２３１が近隣インターフェース上でない場合、第１のノード１２１３は、ダウンリンク１２３１に隣接するノードが何らかのシグナリングを処理することを可能にでき、したがって、フラッディングトポロジにわたりリンクステートメッセージ１２２２を転送すること以外に措置を講じないことが可能である。このアプローチは、ネットワーク内のあらゆるノードがダウンリンク１２３１を検出するとシグナリングすることを防止する。図示の例において、ダウンリンク１２３１は第１のノード１２１３に隣接しているので、第１のノード１２１３は、フラッディングトポロジを再計算できるまで、ダウンリンク１２３１に依存する可能性のあるノードがリンクステート情報を継続して受信することを保証するために、シグナリングの合理性をとる。この場合、第１のノード１２１３は、フラッディングトポロジにわたり、リンクステートメッセージ１２２１を受信したフラッディングトポロジリンク１２１６を除く各フラッディングトポロジリンク１２１６に、リンクステートメッセージ１２２２を送信する。さらに、第１のノード１２１３は、第１のノード１２１３とダウンリンク１２３１に隣接するノード１２３２との双方に対するネイバーであるノード１２３３にコンタクトするために、必要に応じて、フラッディングトポロジから除外されたリンク１２１７を通じてリンクステートメッセージ１２２３（メッセージ１２２１の別のコピー）を送信する。さらに、第１のノード１２１３は、ノード１２３２の残りのネイバーノード１２３４にリンクステートメッセージ１２２１を転送しなくてもよく、なぜならば、ノード１２３４は第１のノード１２１３のネイバーではないためである。このアプローチは、リンクステート情報を受信するためにダウンリンク１２３１に潜在的に依存するノード１２３３が、壊れたフラッディングトポロジにも関わらず、そのようなリンクステート情報を継続して受信することを可能にする。
【００９４】
したがって、第１のノード１２１３は、機構１２００を採用することにより、ネットワーク内のリンク１２３１（例えば、第１のリンク）がダウンしていることを示すリンクステートメッセージ１２２１（例えば、本明細書で論じられる他のリンクステートメッセージとの区別のため、第４のリンクステートメッセージ）を受信することができる。第１のノード１２１３は、第１のリンク１２１３がフラッディングトポロジ内にあること、及び第１のリンク１２３１が第１のノード１２１３に接続されていることを判定することができる。判定に基づき、次いで、第１のノード１２１３は、ネイバーに接続するリンク１２１６及び／又は１２１７であり、第１のリンクに隣接するノード１２３２にさらに接続するリンク１２１６及び／又は１２１７に、リンクステートメッセージ１２２１を送信することができる。
【００９５】
既存の／古いフラッディングトポロジ上のリンク１２３１がダウンしているか、又は（例えば、機構１０００及び１１００で論じられるように）ノードがダウンしているとき、その後すぐに新しいフラッディングトポロジが生成されることに留意されたい。機構１０００、１１００、及び／又は１２００は、新しいフラッディングトポロジがノードにより計算及び採用できるまで、既存のフラッディングトポロジが動作し続けることを可能にする。上述の機構１０００、１１００、及び１２００は、ネットワークトポロジが誤動作により複数の孤立したフラッディングトポロジに分割されない限り、リンク又はノードがダウンしたときにネットワークが機能し続けることを可能にする。クリティカルインターフェースは、以下で論じられるようなシナリオを扱うために、メモリに保存することができる。
【００９６】
図１３は、フラッディングトポロジ１３１９内にクリティカルインターフェース１３３５を有する一例示的なＩＧＰネットワーク１３００の概略図である。ＩＧＰネットワーク１３００は、ＩＧＰネットワーク１００、２００、及び／又は３００と実質的に同様である。ＩＧＰネットワーク１３００はノード１３１１及びルートノード１３１２を含み、これらはノード１１１、２１１、２１２、２１３、３１１、３１２、及び／又は４００と同様でもよい。ＩＧＰネットワーク１３００のフラッディングトポロジ１３１９は、フラッディングトポロジ２１９及び／又は３１９と同様でもよい。そのようなフラッディングトポロジ１３１９は、例えば、方法５００、６００、及び／又は７００に従って生成できる。ノード１３１１及びルートノード１３１２は、フラッディング機構８００、９００、１０００、１１００、及び／又は１２００を採用してもよい。
【００９７】
フラッディングトポロジ１３１９を計算すると、ノード１３１１及びルートノード１３１２は、フラッディングトポロジ１３１９内の任意のクリティカルインターフェース１３３５の認識を維持する。クリティカルインターフェース１３３５は、除去された場合にフラッディングトポロジ１３１９を２つ以上の接続されていないリンクトポロジに分割することになる、フラッディングトポロジ１３１９上の任意のインターフェース（例えば、リンク又はノード）である。図示の例において、フラッディングトポロジ１３１９は、フラッディングトポロジリンクの複数ループを含む。ループ内のフラッディングトポロジリンクが除去されたとき、フラッディングトポロジ１３１９は、依然として、ループのうち損傷のない部分を通してループ上の全てのノードにリンクステート情報を転送することができる。したがって、そのようなリンクはクリティカルインターフェースではない。しかしながら、クリティカルインターフェース１３３５がフラッディングトポロジ１３１９から除去された場合、フラッディングトポロジ１３１９は、第１のツリー１３４１と第２のツリー１３４２に分割される。クリティカルインターフェース１３３５がない場合、フラッディングトポロジ１３１９のリンクが２つのツリーを接続しないことになるので、第１のツリー１３４１と第２のツリー１３４２はリンクステート情報を通信することができない。
【００９８】
クリティカルインターフェース１３３５は、フラッディングトポロジ１３１９の計算中／計算後に各ノード１３１１／１３１２で決定され、メモリに保存され得る。クリティカルインターフェース１３３５の数は、上記で論じられたようにより多くのリーフリンクを追加することにより低減できる。クリティカルインターフェース１３３５に関連するリンク又はノードが誤動作したとき、ノード１３１１／１３１２は（リンクステートメッセージを介した誤動作の通知に対して）、新しいフラッディングトポロジ１３１９が生成されてクリティカルインターフェースの故障に対処し、全てのノード１３１１／１３１２を再接続することができるまで、全てのインターフェース上でのリンクステートメッセージのフラッディングに戻ってもよい。
【００９９】
したがって、ノード１３１２／１３１１は、クリティカルインターフェース１３３５を決定し得、クリティカルインターフェース１３３５は、その故障がフラッディングトポロジ１３１９を分割するリンク又はノードである。ノード１３１２／１３１１は、クリティカルインターフェース１３３５が故障したとき、フラッディングトポロジ１３１９の使用を停止することができる。
【０１００】
図１４は、ＬＳＦＲのノードサポートを示すための一例示的なＯＳＰＦ  ｖ２符号化１４００の概略図である。例えば、ＩＧＰネットワーク１００、２００、３００、及び／又は１３００などのＩＧＰネットワークにおける、ノード１１１、２１１、２１２、２１３、３１１、３１２、４００、１３１１、１３１２、及び／又は１３３３などのノードが、符号化１４００を採用して、ノードがＬＳＦＲをサポートするかどうかを示してもよい。そのような情報は、例えば、方法５００、６００、及び／又は７００に基づいてフラッディングトポロジを構築するとき、他のノードにより採用されてもよい。ＬＳＦＲを採用し、したがって符号化１４００を採用するＯＳＰＦ  ｖ２ノードは、フラッディング機構８００、９００、１０００、１１００、及び／又は１２００をさらに採用してもよい。
【０１０１】
符号化１４００を採用して、ＯＳＰＦ  ｖ２と互換性のあるＩＧＰネットワークにＬＳＦＲを組み込むことができる。具体的には、符号化１４００は、ＯＳＰＦ  ｖ２  ＬＳＡに含めることができる。符号化１４００は、ＬＳＡが発信されてからの時間（例えば、秒単位）を示すために設定されるＬＳエイジフィールド１４０１を含む。ＬＳＡエイジフィールド１４０１は、１６ビット長でもよく、ビット０からビット１５にわたってもよい。符号化１４００は、ＬＳＡにより記述されるようにＩＧＰネットワーク内のルーティングドメインの一部でサポートされる任意的な能力を示すデータを含み得るオプションフィールド１４０２をさらに含む。オプションフィールド１４０２は、８ビット長でもよく、ビット１６からビット２３にわたってもよい。符号化１４００は、ＬＳＡのタイプを示すために設定できるＬＳタイプフィールド１４０３をさらに含む。例えば、ＬＳタイプフィールド１４０３を１に設定して、ＬＳＡがルータ（例えばノード）ＬＳＡであることを示すことができる。ＬＳタイプフィールド１４０３は、８ビット長でもよく、ビット２４からビット３１にわたってもよい。符号化１４００は、ＬＳＡにより記述されているインターネット環境の部分を識別するデータを含むリンクステートＩＤフィールド１４０４をさらに含む。例えば、リンクステートＩＤフィールド１４０４は、ＬＳＡがルータのインターフェースの収集されたステートを記述していることを示すために設定できる。リンクステートＩＤフィールド１４０４は、３２ビット長でもよく、ビット０からビット３１にわたってもよい。符号化１４００は、ＬＳＡを発信したルータのルータＩＤを含むアドバタイジングルータフィールド１４０５をさらに含む。アドバタイジングルータフィールド１４０５は、３２ビット長でもよく、ビット０からビット３１にわたってもよい。符号化１４００は、ＬＳＡを識別するためのデータを含むＬＳシーケンス番号フィールド１４０６をさらに含む。ＬＳシーケンス番号フィールド１４０６のデータは、古い又は重複したＬＳＡを検出するために採用できる。ＬＳシーケンス番号フィールド１４０６は、３２ビット長でもよく、ビット０からビット３１にわたってもよい。符号化１４００は、エラーチェックをサポートするためのチェックサムデータを含むＬＳチェックサムフィールド１４０７をさらに含む。ＬＳチェックサムフィールド１４０７は、１６ビット長でもよく、ビット０からビット１５にわたってもよい。符号化１４００は、ＬＳＡの長さをバイト単位で示すデータを含むＬＳ長フィールド１４０８をさらに含む。ＬＳ長フィールド１４０８は、１６ビット長でもよく、ビット１６からビット３０１にわたってもよい。
【０１０２】
符号化１４００は、ＬＳＡを開始するルータの種々の特性を示すために採用される種々のフラグをさらに含む。符号化は、ビット位置５に仮想（virtual、Ｖ）フラグ１４２１を含むことができ、これは、ルータが１つ以上の隣接仮想リンクに対するエンドポイントであるときを示すために設定できる。符号化は、ビット位置６に外部（external、Ｅ）フラグ１４２２をさらに含むことができ、これは、ルータが自律システム境界ルータであるときを示すために設定できる。符号化は、ビット位置７に境界（border、Ｂ）フラグ１４２３をさらに含むことができ、これは、ルータが境界エリアルータであるときを示すために設定できる。
【０１０３】
符号化１４００は、Ｆフラグ１４３１をさらに含む。Ｆフラグ１４３１は、１ビットでもよく、ビット位置８に配置されてもよい。Ｆフラグ１４３１は、ＬＳＡを開始したルータが（例えば、本明細書で論じられるＬＳＦＲ機構に従って）フラッディング低減をサポートすることを示すために設定（例えば、１に設定）できる。また、Ｆフラグ１４３１のビット位置は、デフォルトで未設定にされる（unset）（例えば、ゼロに設定される）ことが可能であり、それにより、ＬＳＦＲをサポートしないルータを、ＬＳＡを受信したルータにより識別できる。したがって、符号化１４００により、リンクステートメッセージは、フラッディングトポロジを介してリンクステートフラッディング低減をサポートするネットワーク内のノードを示すために設定されるＦフラグを含むことができる。
【０１０４】
符号化１４００は、ＬＳＡにより記述されるリンクの数を示すリンク数フィールド１４０９をさらに含む。リンク数フィールド１４０９は、１６ビット長でもよく、ビット位置１６からビット位置３１にわたってもよい。符号化１４００は、ＬＳＡにより記述される各リンクのためのリンクＩＤフィールド１４１０をさらに含む。リンクＩＤフィールド１４１０は、対応するリンクが接続されているオブジェクト（例えばノード）を識別するＩＤを含む。リンクＩＤフィールド１４１０は、３２ビット長でもよく、ビット０からビット３１にわたってもよい。符号化１４００は、ＬＳＡにより記述される各リンクのためのリンクデータフィールド１４１１をさらに含む。リンクデータフィールド１４１１は、対応するリンク／インターフェースに関連するアドレス情報（例えば、ＩＰアドレス情報）を含む。リンクデータフィールド１４１１は、３２ビット長でもよく、ビット０からビット３１にわたってもよい。
【０１０５】
符号化１４００は、ＬＳＡにより記述される各リンクのためのタイプフィールド１４１２をさらに含む。タイプフィールド１４１２は、ルータリンクを記述するデータを含む。タイプフィールド１４１２は、８ビット長でもよく、ビット０からビット７にわたってもよい。符号化１４００は、ＬＳＡにより記述される各リンクのためのサービスタイプ（type  of  service、ＴｏＳ）数フィールド１４１３をさらに含む。ＴｏＳ数フィールド１４１３は、ＬＳＡに含まれる対応するリンクのＴｏＳメトリックの数を示す。ＴｏＳ数フィールド１４１３は、８ビット長でもよく、ビット８からビット１５にわたってもよい。符号化１４００は、対応するリンクを使用するコスト（例えば、ルーティングコスト／レイテンシ等）を含むメトリックフィールド１４１４をさらに含む。メトリックフィールド１４１４は、１６ビット長でもよく、ビット１６からビット３１にわたってもよい。符号化１４００は、対応するリンクに関連するＴｏＳ情報を示すＴｏＳフィールド１４１５及びＴｏＳメトリックフィールド１４１６をさらに含んでもよい。Ｔｏｓフィールド１４１５は、ＴｏＳメトリックフィールド１４１６により参照されるサービスタイプを示し、８ビット長でもよく、ビット位置０からビット位置７にわたってもよい。Ｔｏｓメトリックフィールド１４１６は、リンクに対するＴｏＳ特有の情報を示してもよく、１６ビット長でもよく、ビット１６からビット３１にわたってもよい。
【０１０６】
図１５は、ＬＳＦＲのノードサポートを示すための一例示的なＯＳＰＦ  ｖ３符号化１５００の概略図である。例えば、ＩＧＰネットワーク１００、２００、３００、及び／又は１３００などのＩＧＰネットワークにおける、ノード１１１、２１１、２１２、２１３、３１１、３１２、４００、１３１１、１３１２、及び／又は１３３３などのノードが、符号化１５００を採用して、ノードがＬＳＦＲをサポートするかどうかを示してもよい。そのような情報は、例えば、方法５００、６００、及び／又は７００に基づいてフラッディングトポロジを構築するとき、他のノードにより採用されてもよい。ＬＳＦＲを採用し、したがって符号化１５００を採用するＯＳＰＦ  ｖ３ノードは、フラッディング機構８００、９００、１０００、１１００、及び／又は１２００をさらに採用してもよい。
【０１０７】
符号化１５００を採用して、ＯＳＰＦ  ｖ３と互換性のあるＩＧＰネットワークにＬＳＦＲを組み込むことができる。具体的には、符号化１５００は、ＯＳＰＦ  ｖ３  ＬＳＡに含めることができる。符号化１５００は、ＬＳエイジフィールド１５０１、ＬＳタイプフィールド１５０３、リンクステートＩＤフィールド１５０４、アドバタイジングルータフィールド１５０５、ＬＳシーケンス番号フィールド１５０６、ＬＳチェックサムフィールド１５０７、及びＬＳ長フィールド１５０８を含んでもよく、これらはそれぞれ、ＬＳエイジフィールド１４０１、ＬＳタイプフィールド１４０３、リンクステートＩＤフィールド１４０４、アドバタイジングルータフィールド１４０５、ＬＳシーケンス番号フィールド１４０６、ＬＳチェックサムフィールド１４０７、及びＬＳ長フィールド１４０８と実質的に同様でもよい。ＬＳタイプフィールド１４０３とは異なり、ＬＳタイプフィールド１５０３は１６ビット長であり、ビット位置１６からビット位置３１にわたる。
【０１０８】
符号化１５００は、ＬＳＡを開始したルータによりサポートされる任意的な能力を示すために設定できるオプションフィールド１５０９をさらに含む。オプションフィールド１５０９は、３２ビット長でもよく、ビット０からビット３１にわたってもよい。オプションフィールド１５０９は、ＬＳＡを開始したルータの種々の特性を示すために採用される種々のフラグを含む。オプションフィールド１５０９は、Ｖフラグ１５２１、Ｅフラグ１５２２、及びＢフラグ１５２３を含んでもよく、これらはそれぞれ、Ｖフラグ１４２１、Ｅフラグ１４２２、及びＢフラグ１４２３と実質的に同様でもよい。オプションフィールド１５０９は、ＬＳＡを開始したルータがワイルドカードマルチキャストレシーバであることを示すために設定され得るワイルドカード（wildcard、Ｗ）フラグ１５２４をさらに含んでもよい。Ｗフラグ１５２４は、１ビット長でもよく、ビット位置４に配置されてもよい。
【０１０９】
オプションフィールド１５０９は、Ｆフラグ１５３１をさらに含む。Ｆフラグ１５３１は、１ビットでもよく、ビット位置８に配置されてもよい。Ｆフラグ１５３１は、ＬＳＡを開始したルータが（例えば、本明細書で論じられるＬＳＦＲ機構に従って）フラッディング低減をサポートすることを示すために設定（例えば、１に設定）できる。Ｆフラグ１５３１のビット位置は、デフォルトで未設定にされる（例えば、ゼロに設定される）ことが可能であり、それにより、ＬＳＦＲをサポートしないルータを、ＬＳＡを受信したルータにより識別できる。したがって、符号化１５００により、リンクステートメッセージは、フラッディングトポロジを介してリンクステートフラッディング低減をサポートするネットワーク内のノードを示すために設定されるＦフラグを含むことができる。
【０１１０】
符号化１５００は、ＬＳＡにより記述される各リンクのためのタイプフィールド１５１２及びメトリックフィールド１５１４をさらに含んでもよい。タイプフィールド１５１２及びメトリックフィールド１５１４はそれぞれ、タイプフィールド１４１２及びメトリックフィールド１４１４と実質的に同様でもよい。符号化１５００は、ＬＳＡに記述される各リンクのためのインターフェースＩＤフィールド１５１０、ネイバーインターフェースＩＤフィールド１５１５、及びネイバールータＩＤフィールド１５１６をさらに含んでもよい。インターフェースＩＤフィールド１５１０、ネイバーインターフェースＩＤフィールド１５１５、及びネイバールータＩＤフィールド１５１６は各々、３２ビット長で、ビット位置０からビット位置３１にわたってもよい。インターフェースＩＤフィールド１５１０は、記述されているインターフェース（例えば、リンク）に割り当てられたＩＤを示す。ネイバーインターフェースＩＤフィールド１５１５は、記述されているリンクに結合された近隣ルータのインターフェースＩＤを示す。ネイバールータＩＤフィールド１５１６は、記述されているリンクに結合された近隣ルータのルータＩＤを示す。
【０１１１】
図１６は、ＬＳＦＲのノードサポートを示すための一例示的なＩＳ‐ＩＳ符号化１６００の概略図である。例えば、ＩＧＰネットワーク１００、２００、３００、及び／又は１３００などのＩＧＰネットワークにおける、ノード１１１、２１１、２１２、２１３、３１１、３１２、４００、１３１１、１３１２、及び／又は１３３３などのノードが、ＩＳ‐ＩＳ符号化１６００を採用して、ノードがＬＳＦＲをサポートするかどうかを示してもよい。そのような情報は、例えば、方法５００、６００、及び／又は７００に基づいてフラッディングトポロジを構築するとき、他のノードにより採用されてもよい。ＬＳＦＲを採用し、したがって符号化１６００を採用するＩＳ‐ＩＳノードは、フラッディング機構８００、９００、１０００、１１００、及び／又は１２００をさらに採用してもよい。
【０１１２】
符号化１６００を採用して、ＩＳ‐ＩＳと互換性のあるＩＧＰネットワークにＬＳＦＲを組み込むことができる。具体的には、符号化１６００は、ＩＳ‐ＩＳ  ＬＳＰにＴＬＶとして含めることができる。符号化１６００は、符号化がＩＳ‐ＩＳルータ対応ＴＬＶであることを示すために設定されるタイプフィールド１６０１を含む。例えば、タイプフィールド１６０１は、８ビット長でもよく、ビット位置０からビット位置７にわたってもよく、２４２に設定されてもよい。符号化１６００は、長さフィールド１６０２を含み、これは、８ビット長でもよく、ビット位置８からビット位置１５にわたってもよく、ＴＬＶの長さを示すために設定されてもよい。長さフィールド１６０２は、５〜２５５の間のこれらを含む値に設定できる。符号化１６００は、ルータＩＤフィールド１６０３をさらに含み、これは、３２又は４８ビット長であり、ビット位置１６からビット位置１５又は３１ビットにわたってもよく、リンクステートメッセージを開始したルータのＩＤを含む。符号化１６００は、リンクステートメッセージを開始したルータの能力を示すフラグ１６０５のセットをさらに含む。フラグ１６０５は、８ビット長でもよく、ビット１６からビット２３にわたってもよい。フラグ１６０５は、ビット位置２２に配置され得る脱ループ（de-looping）（Ｄ）フラグ１６２１を含み、ＴＬＶがＩＳ‐ＩＳシステム内のレベル間でリークされ得るかどうかを示すために設定されてもよい。フラグ１６０５は、ビット位置２３に配置され得るセット（Ｓ）フラグ１６２２をさらに含み、ＴＬＶがＩＳ‐ＩＳネットワークドメイン全体にわたりフラッディングしているか又は特定のＩＳ‐ＩＳネットワークレベルに含まれるかを示すために設定されてもよい。
【０１１３】
フラグ１６０５は、Ｆフラグ１６３１をさらに含み、これは、ビット位置２１に配置されてもよい。Ｆフラグ１６３１は、ＬＳＰを開始したルータが（例えば、本明細書で論じられるＬＳＦＲ機構に従って）フラッディング低減をサポートすることを示すために設定（例えば、１に設定）できる。Ｆフラグ１６３１のビット位置は、デフォルトで未設定にされる（例えば、ゼロに設定される）ことが可能であり、それにより、ＬＳＦＲをサポートしないルータを、ＬＳＰを受信したルータにより識別できる。したがって、符号化１６００により、リンクステートメッセージは、フラッディングトポロジを介してリンクステートフラッディング低減をサポートするネットワーク内のノードを示すために設定されるＦフラグを含むことができる。
【０１１４】
符号化１６００は、ＬＳＰに関連するさらなる情報を含む１つ以上の任意的なサブＴＬＶ１６０６をさらに含んでもよい。
【０１１５】
図１７は、ＩＧＰネットワークにおけるＬＳＦＲを管理するための一例示的なＬＳＦＲ制御ＴＬＶ符号化１７００の概略図である。例えば、ＩＧＰネットワーク１００、２００、３００、及び／又は１３００などのＩＧＰネットワークにおける、ノード１１１、２１１、２１２、２１３、３１１、３１２、４００、１３１１、１３１２、及び／又は１３３３などのノードが、ＬＳＦＲ制御ＴＬＶ符号化１７００を受信して、ネットワークにおけるＬＳＦＲの実装を制御してもよい。具体的には、ＬＳＦＲ制御ＴＬＶ符号化１７００は、ユーザ／システム管理者がＬＳＦＲ及び関連するフラッディングトポロジの動作モードを選択及し及び／又は切り替えることを可能にし得る。ＬＳＦＲ制御ＴＬＶ符号化１７００は、符号化１４００、１５００、及び／又は１６００などのリンクステートメッセージの一部として採用されてもよい。そのような情報は、例えば、方法５００、６００、及び／又は７００に基づいてフラッディングトポロジを構築するとき、ノードにより採用されてもよい。ＬＳＦＲ制御ＴＬＶ符号化１７００は、さらに、ＬＳＦＲフラッディング機構８００、９００、１０００、１１００、及び／又は１２００をいつ採用すべきかをノードに示してもよい。
【０１１６】
ＬＳＦＲ制御ＴＬＶ符号化１７００は、ＴＬＶをＬＳＦＲ制御ＴＬＶとして識別するデータを含み得る情報ＴＬＶタイプフィールド１７０１を採用する。ＴＬＶタイプフィールド１７０１は、１６ビット長でもよく、ビット位置０からビット位置１５にわたってもよい。ＬＳＦＲ制御ＴＬＶ符号化１７００は、ＬＳＦＲ制御ＴＬＶの長さを示すデータを含むＴＬＶ長フィールド１７０２をさらに採用する。ＴＬＶ長フィールド１７０２は、１６ビット長でもよく、ビット位置１６からビット位置３１にわたってもよい。
【０１１７】
ＬＳＦＲ制御ＴＬＶ符号化１７００は、動作（ＯＰ）フィールド１７３１をさらに採用し、これは、３ビット長でもよく、ビット位置０からビット位置２にわたってもよい。ＯＰフィールド１７３１は、ＬＳＦＲ可能であるノードのＬＳＦＲ動作モードを選択及び／又は変更するために採用できる。ＯＰフィールド１７３１は、ノードがフラッディング低減を実行すべきであることを示すデータを含むことができ、あるいはノードがフラッディングトポロジを使用せずに通常のフラッディングにロールバックすべきであることを示すデータを含んでもよい。したがって、ＬＳＦＲ制御ＴＬＶ符号化１７００により、リンクステートメッセージは、フルネットワークフラッディングからリンクステートフラッディング低減に切り替えるために設定されるＯＰフィールドを含むことができる。例えば、ユーザ／システム管理者は、ＯＰフィールド１７３１を採用して、必要に応じてＬＳＦＲをオン及び／又はオフにしてもよい。
【０１１８】
ＬＳＦＲ制御ＴＬＶ符号化１７００は、モード（ＭＯＤ）フィールド１７３２をさらに採用し、これは、３ビット長でもよく、ビット位置３からビット位置５にわたってもよい。ＬＳＦＲは、集中モード、分散モード、及び静的構成モードを含む３つのモードを含んでもよく、ＭＯＤフィールド１７３２は、モード間の切り替えをシグナリングするために採用されてもよい。例えば、ＭＯＤフィールド１７３２は、集中モードに設定でき、これは、ＩＧＰネットワークに、リーダー及び／又はバックアップリーダーを選択するように指示する。次いで、リーダーはフラッディングトポロジを計算し、フラッディングトポロジを他のノードにフラッディングする。あらゆるノードがリーダーからのフラッディングトポロジを受信し、使用する。ＭＯＤフィールド１７３２はまた、分散モードに設定でき、これは、ＩＧＰネットワーク内のノードに、上記で論じられたように共通アルゴリズムを採用することによりフラッディングトポロジを計算するように指示する。ＭＯＤフィールド１７３２はまた、静的構成モードに設定でき、これは、ＩＧＰネットワーク内のノードに、構成されたフラッディングトポロジを採用するように指示する。したがって、ＬＳＦＲ制御ＴＬＶ符号化１７００により、リンクステートメッセージは、集中リンクステートフラッディング低減、分散リンクステートフラッディング低減、又は静的構成リンクステートフラッディング低減を示すために設定されるＭＯＤフィールド１７３２を含むことができる。
【０１１９】
ＬＳＦＲ制御ＴＬＶ符号化１７００は、アルゴリズムフィールド１７３３をさらに採用し、これは、８ビット長でもよく、ビット位置６からビット位置１３にわたってもよい。アルゴリズムフィールド１７３３は、集中及び／又は分散モードにおいてノードにより使用されるべきフラッディングトポロジを計算するためのアルゴリズム（例えば、方法５００、６００、及び／又は、７００）を示すデータを含んでもよい。したがって、ＬＳＦＲ制御ＴＬＶ符号化１７００により、リンクステートメッセージは、フラッディングトポロジにおけるリンクのツリーを構築するためのアルゴリズムを示すために設定されるアルゴリズムフィールド１７３３を含むことができる。
【０１２０】
符号化１７００は、ＬＳＦＲ実装に関連するさらなる情報を含む１つ以上の任意的なサブＴＬＶ１７０６をさらに含んでもよい。
【０１２１】
図１８は、集中ＬＳＦＲを分散ＬＳＦＲと統合するための一例示的なＴＬＶ符号化１８００の概略図である。具体的には、ＴＬＶ符号化１８００は、ＬＳＦＲ制御ＴＬＶ符号化１７００と関連して、例えば、ＭＯＤフィールド１７３２が集中モードに設定されているときに使用されてもよい。ＴＬＶ符号化１８００は、情報ＴＬＶタイプフィールド１８０１及びＴＬＶ長フィールド１８０２を含み、これらはそれぞれ、情報ＴＬＶタイプフィールド１７０１及びＴＬＶ長フィールド１７０２と実質的に同様である。ＴＬＶ符号化１８００は、プライオリティフィールド１８０３をさらに含み、これは、８ビット長でもよく、ビット位置０からビット位置７にわたってもよい。プライオリティフィールド１８０３は、集中モードにおいてリーダーになるために、ＴＬＶを発したノードのプライオリティを示すために採用されてもよい。符号化１８００は、ＬＳＦＲ実装に関連するさらなる情報を含む１つ以上の任意的なサブＴＬＶ１８０６をさらに含んでもよい。そのようなサブＴＬＶ１８０６は、リーダーサブＴＬＶ及び／又はバックアップリーダーサブＴＬＶを含んでもよく、これらはそれぞれ、リーダー及び／又はバックアップリーダーを選択するための方法／アルゴリズムを含む。
【０１２２】
図１９は、ＩＧＰネットワークにおいてＬＳＦＲ機構を動作させる一例示的な方法１９００のフローチャートである。方法１９００は、ＩＧＰネットワーク１００、２００、３００、及び／又は１３００などのＩＧＰネットワークにおける、ノード１１１、２１１、２１２、２１３、３１１、３１２、４００、１３１１、１３１２、及び／又は１３３３などのノードにより採用されてもよい。方法１９００は、ＯＳＰＦ及び／又はＩＧＰネットワークで採用されてもよく、したがって、符号化１４００、１５００、及び／又は１６００と関連して採用されてもよい。方法１９００は、例えば、方法５００、６００、及び／又は７００を採用することにより、フラッディングトポロジを構築するために採用されてもよい。方法１９００は、さらに、フラッディング機構８００、９００、１０００、１１００、及び／又は１２００などのフラッディング機構を採用してもよい。方法１８００は、さらに、ＬＳＦＲ制御ＴＬＶ符号化１７００の受信により開始されてもよい。
【０１２３】
方法１９００は、ＩＧＰネットワーク内の任意のノードで実現でき、これは、議論を明瞭にする目的で第１のノードとして示される。ブロック１９０１において、第１のノードで、ネットワーク内の複数のノードの接続性を示すデータが受信される。そのようなデータは、リンクステートデータを含み、例えば、ＯＳＰＦ  ＬＳＡ又はＩＳ‐ＩＳ  ＬＳＰなどのリンクステートメッセージの一般的なフラッディングに従って受信できる。
【０１２４】
ブロック１９０３で、第１のノード（及び、ネットワーク内の全てのノード）が、接続性に基づいてフラッディングトポロジを構築する。フラッディングトポロジは、ネットワークノードのうち１つをルートノードとして選択し、ルートノードをネットワーク内の他のノードに接続するフラッディングトポロジリンクのツリーを構築することにより構築できる。例えば、ブロック１９０３は、方法５００、６００、及び／又は７００を採用することによりフラッディングトポロジを構築してもよい。フラッディングトポロジの構築は、周期的に、及び／又はリンク／ノードの誤動作、クリティカルインターフェースの誤動作などの条件の発生に対して生じてもよい。上記で論じられたように、フラッディングトポロジは、ノードのＬＳＦＲ能力に基づいて、例えば、Ｆフラグを採用したリンクステートメッセージにおけるアドバタイジングに応じて構築できる。さらに、第１のノード（及び全てのノード）は、（例えば、リンクステートメッセージ内の）ＬＳＦＲ制御ＴＬＶ符号化１７００に示されるアルゴリズムに従ってフラッディングトポロジを構築することができる。
【０１２５】
任意のブロック１９０５において、第１のノードは、ツリーに追加すべきリーフリンクの数を指定する要求を受信してもよい。要求は、例えば、ユーザ／ネットワーク管理者により開始される、リンクステートメッセージに含まれるＴＬＶでもよい。要求が受信された場合、第１のノード（及び、ネットワーク内の全てのノード）は、要求で指定された数のリーフリンクをフラッディングトポロジに追加する。そのようなリーフリンクは、例えば、上記で図３に関連して論じられたように、ネットワーク内のノード間に追加される。例えば、リーフリンクは、クリティカルインターフェースの数を低減するために追加できる、リンクＩＤ／インターフェースＩＤ／ノードＩＤに基づいて追加できる、等である。そのようなリーフリンクを追加する前、フラッディングトポロジにおけるリンクのツリーは、ネットワーク内のノード全てをルートノードに接続するための最小数のリンクを含んでもよい。リーフリンクは、冗長なリンクステートメッセージ通信をわずかに増加させることを犠牲にして、フラッディングトポロジの信頼性を高め得る。
【０１２６】
ブロック１９０７において、第１のノードが、フラッディングトポロジをネットワーク内の他のノードに送信することなく、フラッディングトポロジをメモリに記憶する。このアプローチは、フラッディングトポロジが予め選択されたアルゴリズムに従って各ノードで作成されることを保証し、これは、次に、フラッディングトポロジに関連するリンクステートメッセージフラッディングを低減する。
【０１２７】
ブロック１９０９において、第１のノードが、フラッディングトポロジを通じてリンクステートメッセージをフラッディングする。さらに、第１のノードは、フラッディングトポロジの外部にリンクステートメッセージをフラッディングしない。
【０１２８】
任意のブロック１９１１において、第１のノードは、リンク／ノード状態の変化に基づいてフラッディング手順を変更してもよい。例えば、第１のノードは、ネットワークで発生する変更のタイプに応じて、フラッディング機構８００、９００、１０００、１１００、及び／又は１２００を採用してもよい。具体的な例として、第１のノードは、新たに接続されたノードから第１のリンクステートメッセージを受信することができ、新たに接続されたノードは、リンクを介して第１のノードに直接接続されている。次いで、第１のノードは、フラッディングトポロジが再計算されるまで、フラッディングトポロジにおけるリンクのツリーに、新たに接続されたノードを加えることができる。別の例として、第１のノードは、フラッディングトポロジから除外されたリンクを通して第２のリンクステートメッセージを受信することができる。次いで、第１のノードは、フラッディングトポロジの外部に第２のリンクステートメッセージをフラッディングすることができる。別の例として、第１のノードは、ネットワーク内の第２のノードがダウンしていることを示す第３のリンクステートメッセージを受信することができる。次いで、第１のノードは、フラッディングトポロジから除外され、かつ第１のノードと第２のノードのネイバーとの間を接続するリンクに、第３のリンクステートメッセージをフラッディングすることができる。別の例として、第１のノードは、ネットワーク内の第１のリンクがダウンしていることを示す第４のリンクステートメッセージを受信することができる。第１のノードは、第１のリンクがフラッディングトポロジ内にあり、第１のリンクが第１のノードに接続されていることを判定することができる。判定に基づき、第１のノードは、ネイバーに接続するリンクであり、第１のリンクに隣接するノードをさらに接続するリンクに、第４のリンクステートメッセージを送信することができる。別の例として、第１のノードは、ネットワーク内のクリティカルインターフェースを決定することができ、クリティカルインターフェースは、その故障がフラッディングトポロジを分割するリンク又はノードである。第１のノードは、クリティカルインターフェースが故障したとき、フラッディングトポロジの使用を停止することができる。
【０１２９】
図２０は、ＩＧＰネットワークにおいてＬＳＦＲ機構を動作させるデバイス２０００の一実施形態である。例えば、デバイス２０００は、方法１９００を実現するために採用されてもよい。さらに、デバイス２０００は、ＩＧＰネットワーク１００、２００、３００、及び／又は１３００などのＩＧＰネットワークにおける、ノード１１１、２１１、２１２、２１３、３１１、３１２、４００、１３１１、１３１２、及び／又は１３３３などのノードとして採用されてもよい。デバイス２０００は、ＯＳＰＦ及び／又はＩＧＰネットワークで採用されてもよく、したがって、符号化１４００、１５００、及び／又は１６００と関連して採用されてもよい。デバイス２０００は、例えば、方法５００、６００、及び／又は７００を採用することにより、フラッディングトポロジを構築するために採用されてもよい。デバイス２０００は、さらに、フラッディング機構８００、９００、１０００、１１００、及び／又は１２００などのフラッディング機構を採用してもよい。デバイス２０００は、さらに、ＬＳＦＲ制御ＴＬＶ符号化１７００の受信により制御されてもよい。
【０１３０】
デバイス２０００は、受信モジュール２００１を含み、これは、第１のノードを含むネットワーク内の複数のノードの接続性を示すデータを受信する手段である。デバイス２０００は、フラッディングトポロジ構築モジュール２００３を含み、これは、接続性に基づくフラッディングトポロジを、ノードのうち１つをルートノードとして選択し、ルートノードをネットワーク内のノードに接続するリンクのツリーを構築することにより構築する手段である。デバイス２０００は、記憶モジュール２００５を含み、これは、フラッディングトポロジをネットワーク内の複数のノードに送信することなくフラッディングトポロジを記憶する手段である。デバイス２０００は、フラッディングモジュール２００７をさらに含み、これは、フラッディングトポロジを通じてリンクステートメッセージをフラッディングする手段である。
【０１３１】
一実施形態において、ネットワーク内の第１のノードが、第１のノードを含むネットワーク内の複数のノードの接続性を示すデータを受信する受信手段を含む。第１のノードは、第１のノードのプロセッサ手段により、接続性に基づくフラッディングトポロジを、ノードのうち１つをルートノードとして選択することにより、ルートノードをネットワーク内のノードに接続するリンクのツリーを構築することにより、フラッディングトポロジをネットワーク内の複数のノードに送信することなくフラッディングトポロジをメモリに記憶することにより、及びフラッディングトポロジを通じてリンクステートメッセージをフラッディングすることにより、構築する構築手段をさらに含む。
【０１３２】
第１のコンポーネントは、第１のコンポーネントと第２のコンポーネントとの間のライン、トレース、又は別の媒体を除き、介在するコンポーネントが存在しないとき、第２のコンポーネントに直接結合される。第１のコンポーネントは、第１のコンポーネントと第２のコンポーネントとの間にライン、トレース、又は他の媒体以外の介在するコンポーネントが存在するとき、第２のコンポーネントに間接的に結合される。用語「結合される」及びその変形は、直接結合及び間接結合の双方を含む。用語「約」の使用は、別段示されない限り、その後に続く数の±１０％を含む範囲を意味する。
【０１３３】
本開示においていくつかの実施形態が提供されたが、開示されたシステム及び方法は、本開示の主旨又は範囲から逸脱することなく多くの他の特定の形態で具現化されてもよいことが理解され得る。本例は、限定的なものでなく例示的なものとみなされるべきであり、その意図は、本明細書で与えられる詳細に限定されるべきではない。例えば、種々の要素又はコンポーネントが別のシステムと組み合わせられ、又は統合されてもよく、あるいは、特定の特徴が省略され、又は実現されなくてもよい。
【０１３４】
さらに、様々な実施形態において個別又は別個に記載及び例示された手法、システム、サブシステム、及び方法は、本開示の範囲から逸脱することなく他のシステム、コンポーネント、手法、又は方法と組み合わせられ、あるいは統合されてもよい。他の変更、置換、及び改変の例が当業者により確認可能であり、本明細書に開示された主旨及び範囲から逸脱することなくなされ得る。
【図１】
2021510280.tif 000003
【図２】
2021510280.tif 000004
【図３】
2021510280.tif 000005
【図４】
2021510280.tif 000006
【図５】
2021510280.tif 000007
【図６】
2021510280.tif 000008
【図７】
2021510280.tif 000009
【図８】
2021510280.tif 000010
【図９】
2021510280.tif 000011
【図１０】
2021510280.tif 000012
【図１１】
2021510280.tif 000013
【図１２】
2021510280.tif 000014
【図１３】
2021510280.tif 000015
【図１４】
2021510280.tif 000016
【図１５】
2021510280.tif 000017
【図１６】
2021510280.tif 000018
【図１７】
2021510280.tif 000019
【図１８】
2021510280.tif 000020
【図１９】
2021510280.tif 000021
【図２０】
2021510280.tif 000022
【国際調査報告】
2021510280.tif 000023
2021510280.tif 000024