(57)【要約】  間接的な転送情報ベースのルックアップにより引き起こされる転送プレーンの機能性又は性能の劣化なく、宛て先ノードへのカレントルートを無効化させるネットワークイベントに応じてインターネットプロトコル高速リルート処理を実行するための、ルータにより実装される方法が開示される。当該方法は、ルータにより、ネットワークイベント識別子に関連付けられるネットワークイベントを受信し又は生成するステップと、前記ネットワークイベントにより影響されるルートを判定するために、イベントテーブル内で前記ネットワークイベント識別子をルックアップするステップと、のセットを含む。前記方法は、さらに、ルーティング情報ベース内で、高速リルート転送オブジェクトを伴うルートが前記ネットワークイベントにより影響されるかを判定することと、転送情報ベース内で、バックアップネクストホップ転送オブジェクトを用いて、カレントネクストホップ転送オブジェクトを上書きすることと、を含む。【選択図】図１Ａ
2016508010.tif 000002
【特許請求の範囲】
【請求項１】
転送プレーンの機能性又は性能を劣化させることなく、宛て先ノードへのカレントルートを無効化させるネットワークイベントに応じてインターネットプロトコル高速リルート処理を実行するための、ルータにより実装される方法であって、
ルータにより、ネットワークイベント識別子に関連付けられるネットワークイベントを受信（１０１）し又は生成するステップと、
前記ネットワークイベントにより影響されるルートを判定するために、イベントテーブル内で前記ネットワークイベント識別子をルックアップ（１０３）するステップと、
ルーティング情報ベース内で、高速リルート転送オブジェクトを伴うルートが前記ネットワークイベントにより影響されるかを判定（１０５）するステップと、
転送情報ベース内で、バックアップネクストホップ転送オブジェクトを用いて、カレントネクストホップ転送オブジェクトを上書き（１０７）するステップと、
を含む方法。
【請求項２】
前記高速リルート転送オブジェクトは、レプリカのプライマリネクストホップ転送オブジェクト及びレプリカのバックアップネクストホップ転送オブジェクトを含む高速リルート転送オブジェクトである、請求項１の方法。
【請求項３】
前記カレントネクストホップ転送オブジェクトを上書きすることは、
前記ルーティング情報ベースからの前記バックアップネクストホップ転送オブジェクトで、前記転送情報ベース内の前記カレントネクストホップ転送オブジェクトを上書きするステップ、
をさらに含む、請求項１の方法。
【請求項４】
前記高速リルートオブジェクトを伴う前記ルートが前記ネットワークイベントにより影響されるかを判定することは、
前記高速リルートオブジェクトが階層的な高速リルートオブジェクトであるかを判定（１５５）するステップ、
をさらに含む、請求項１の方法。
【請求項５】
圧縮されたプライマリネクストホップ及び１つ以上のバックアップネクストホップを生成するために、１つ以上の非階層的な高速リルートオブジェクトのチェーンを横断することにより前記ネットワークイベントの受信の前に準備された階層的な高速リルートオブジェクトを使用するステップ、をさらに含み、
各バックアップネクストホップは、ネットワークイベントに関連付けられる、
請求項１の方法。
【請求項６】
前記ルーティング情報ベース内で高速リルート転送オブジェクトを伴うルートが前記ネットワークイベントにより影響されるかを判定することは、
プライマリルートが前記ネットワークイベントの後に有効であるかを判定するステップ、
をさらに含む、請求項１の方法。
【請求項７】
前記ルーティング情報ベース内で高速リルート転送オブジェクトを伴うルートが前記ネットワークイベントにより影響されるかを判定することは、
バックアップルートが前記ネットワークイベントの後に有効であるかを判定するステップ、
をさらに含む、請求項１の方法。
【請求項８】
転送プレーンの機能性又は性能を劣化させることなく、宛て先ノードへのカレントルートを無効化させるネットワークイベントに応じてインターネットプロトコル高速リルート処理を実行するためネットワークエレメントであって、
ルーティング情報ベース（３５７）を記憶する第１の記憶デバイスと、
ネットワーク処理デバイス（３５９）及び転送情報ベース（３６１）を記憶する記憶デバイスを含むラインカード（３５１Ａ）と、
を備え、
前記ネットワークプロセッサは、プロキシ機能モジュール（３６３）及びスイッチ機能モジュール（３６５）を実行するように構成され、
前記プロキシ機能モジュール（３６３）は、ネットワークイベント識別子に関連付けられるネットワークイベントを受信し又は生成し、前記ネットワークイベントにより影響されるルートを判定するために、イベントテーブル内で前記ネットワークイベント識別子をルックアップし、前記ルーティング情報ベース内で、高速リルート転送オブジェクトを伴うルートが前記ネットワークイベントにより影響されるかを判定する、ように構成され、
前記スイッチ機能モジュール（３６５）は、前記転送情報ベース内で、バックアップネクストホップ転送オブジェクトを用いて、カレントネクストホップ転送オブジェクトを上書きする、ように構成される、
ネットワークエレメント。
【請求項９】
前記高速リルート転送オブジェクトは、レプリカのプライマリネクストホップ転送オブジェクト及びレプリカのバックアップネクストホップ転送オブジェクトを含む高速リルート転送オブジェクトである、請求項８のネットワークエレメント。
【請求項１０】
前記スイッチ機能モジュール（３６５）は、前記ルーティング情報ベースからの前記バックアップネクストホップ転送オブジェクトで、前記転送情報ベース内の前記カレントネクストホップ転送オブジェクトを上書きする、ようにさらに構成される、請求項８のネットワークエレメント。
【請求項１１】
前記スイッチ機能モジュールは、前記高速リルートオブジェクトが階層的な高速リルートオブジェクトであるかを判定する、ようにさらに構成される、請求項８のネットワークエレメント。
【請求項１２】
前記プロキシ機能モジュールは、圧縮されたプライマリネクストホップ及び１つ以上のバックアップネクストホップを生成するために、１つ以上の非階層的な高速リルートオブジェクトのチェーンを横断する、ようにさらに構成され、
各バックアップネクストホップは、ネットワークイベントに関連付けられる、
請求項８のネットワークエレメント。
【請求項１３】
前記プロキシ機能モジュールは、プライマリルートが前記ネットワークイベントの後に有効であるかを判定する、ようにさらに構成される、請求項８のネットワークエレメント。
【請求項１４】
前記プロキシ機能モジュールは、バックアップルートが前記ネットワークイベントの後に有効であるかを判定する、ようにさらに構成される、請求項８のネットワークエレメント。
【発明の詳細な説明】
【技術分野】
【０００１】
[関連出願への相互参照]
本出願は、２０１３年３月１４日に提出された米国仮特許出願第６１／７８４，３６１号からの優先権を主張する。
【０００２】
[発明の分野]
本発明の実施形態は、ネットワークルーティングの分野に関する。具体的には、実施形態は、プライマリルートの障害に応じて、予め決定される代替ルートへとスイッチングすることにより、データトラフィックを迅速にリルートするための方法及びシステムに関する。
【背景技術】
【０００３】
インターネットプロトコル（ＩＰ）トラフィックは、インターネットのノードにより実行されるディスカバリプロトコル及びルーティングプロトコルを用いて、インターネットをまたいでルーティングされ得る。それらプロトコルは、ノード間で交換されるトポロジー情報を用いて、任意のデータトラフィックのソースから任意のデータトラフィックの宛て先への最適かつループフリーなルートをノードにより判定可能なように実行される。ネットワーク内の各ノードは、ディスカバリプロトコルを通じて確定されるトポロジーを利用して、ネットワークにわたって一貫した転送テーブルを構築する。これらルート及び転送テーブルへと到達する処理を、「収束（convergence）」と呼ぶことができる。しかしながら、これらルート及びテーブルの再計算は時間を要し（長い収束時間）、その間にいくつかのトラフィックがブロックされ又は逸失し得る。
【０００４】
ＩＰ及びＭＰＬＳ（Multi-Protocol  Label  Switching）高速リルート技術は、バックアップパスを提供することにより、ルーティングプロトコルの長い収束に伴う問題を解決し、バックアップパスはネットワーク障害が生じた際に使用される。映像、音声及びテレビジョンといったリアルタイムサービスのためのＩＰトランスポートの使用量の増加と、全て途絶することなく作動することが期待されるウェブサービスの数の増加とに起因して、これら技術は重要である。
【０００５】
ＯＳＰＦ（open  shortest  path  first）／ＩＳＩＳ（intermediate  system-intermediate  system）／ＬＤＰ（link  discovery  protocol）  ＬＦＡ（loop  free  alternative）、ＭＲＴ（maximally  redundant  trees）、ＢＧＰ（border  gateway  protocol）の高速リルート（ＦＲＲ）といった既存の技術において使用される標準的なアプローチは、ルーティング／シグナリングプロトコルを用いてネットワーク情報を収集し、その情報に基づいて近傍のリンク又はノードの障害に備えるために必要なバックアップパスを計算し、そしてそれらバックアップパスで転送プレーンを予め設定しておくことである。すると、転送プレーンは、障害イベントに反応することができ、ルーティングプロトコルによる更新されたネットワーク情報の収集とその収束とを待つことなく、プライマリパスをバックアップパスへとスイッチングすることができる。
【発明の概要】
【０００６】
間接的な転送情報ベースのルックアップにより引き起こされる転送プレーンの機能性又は性能の劣化なく、宛て先ノードへのカレントルートを無効化させるネットワークイベントに応じてインターネットプロトコル高速リルート処理を実行するための、ルータにより実装される方法が開示される。当該方法は、ルータにより、ネットワークイベント識別子に関連付けられるネットワークイベントを受信し又は生成するステップと、上記ネットワークイベントにより影響されるルートを判定するために、イベントテーブル内で上記ネットワークイベント識別子をルックアップするステップと、のセットを含む。上記方法は、上記ルーティング情報ベース内で、高速リルート転送オブジェクトを伴うルートが上記ネットワークイベントにより影響されるかを判定することと、転送情報ベース内で、バックアップネクストホップ転送オブジェクトを用いて、カレントネクストホップ転送オブジェクトを上書きすることと、をさらに含む。
【０００７】
間接的な転送情報ベースのルックアップにより引き起こされる転送プレーンの機能性又は性能の劣化なく、宛て先ノードへのカレントルートを無効化させるネットワークイベントに応じてインターネットプロトコル高速リルート処理を実行するためネットワークエレメントが開示される。当該ネットワークエレメントは、ルーティング情報ベースを記憶する第１の記憶デバイスと、ネットワーク処理デバイス及び転送情報ベースを記憶する記憶デバイスを含むラインカードと、を備える。上記ネットワークプロセッサは、プロキシ機能モジュール及びスイッチ機能モジュールを実行するように構成される。上記プロキシ機能モジュールは、ネットワークイベント識別子に関連付けられるネットワークイベントを受信し又は生成し、上記ネットワークイベントにより影響されるルートを判定するために、イベントテーブル内で上記ネットワークイベント識別子をルックアップし、上記ルーティング情報ベース内で、高速リルート転送オブジェクトを伴うルートが上記ネットワークイベントにより影響されるかを判定する、ように構成される。上記スイッチ機能モジュールは、上記転送情報ベース内で、バックアップネクストホップ転送オブジェクトを用いて、カレントネクストホップ転送オブジェクトを上書きする、ように構成される。
【図面の簡単な説明】
【０００８】
本発明は、添付図面の図において限定としてではなく例として示されており、その中で、同種の参照符号は同様の要素を示す。本開示中の“一（an）”実施形態又は“１つの（one）”実施形態への様々な言及は、必ずしも同一の実施形態へのものではなく、そのような言及は少なくとも１つを意味することに留意すべきである。さらに、特定の特徴、構造または特性が、一実施形態との関連において説明されている場合、明示的に説明されているか否かにかかわらず、他の実施形態との関連においてそのような特徴、構造または特性を作用させることは、当業者の知識の範囲内であると思量される。
【０００９】
【図１Ａ】高速リルートルーティング情報ベース転送オブジェクトを用いる高速リルート処理を実装するための処理の１つの実施形態のフローチャートである。
【図１Ｂ】階層的な高速リルートルーティング情報ベース転送オブジェクトを用いる高速リルート処理を実装するための処理の１つの実施形態のフローチャートである。
【図２Ａ】高速リルートルーティング情報ベース転送オブジェクトを用いる一例としてのトポロジー及びルータ構成の１つの実施形態の図である。
【図２Ｂ】階層的な高速リルートルーティング情報ベース転送オブジェクトを用いる一例としてのトポロジー及びルータ構成の１つの実施形態の図である。
【図３Ａ】高速リルートルーティング情報ベース転送オブジェクトを用いる高速リルート処理を実装するネットワークエレメントの１つの例示的な実施形態の図である。
【図３Ｂ】高速リルートルーティング情報ベース転送オブジェクトを用いる高速リルート処理を実装するネットワークエレメントの１つの例示的な実施形態の図である。
【発明を実施するための形態】
【００１０】
以下の説明では、多数の特定の詳細が記載される。しかしながら、発明の実施形態は、これらの特定の詳細なしに実践され得ると理解される。他の例では、本説明の理解を曖昧にしないために、周知の回路、構造及び技法は、詳細には示されない。他の例では、本発明を曖昧にしないために、制御構造、ゲートレベル回路及び完全なソフトウェア命令シーケンスは、詳細には示されない。当業者は、含まれる説明があれば、過度の実験を行うことなく適切な機能を実装することができるであろう。
【００１１】
以下の説明及び請求項において、“連結される（coupled）”及び“接続される（connected）”との用語が、それらの派生語とともに用いられ得る。これらの用語は、互いに類義語として意図されていないことが理解されるべきである。“連結される”は、互いに物理的又は電気的に直接接触している又は接触していない可能性がある２以上の要素が互いに協働し又はインタラクションすることを示すために用いられる。“接続される”は、互いに連結される２以上の要素間の通信の確立を示すために用いられる。
【００１２】
実施形態の理解を容易にするために、ある項目のオプションとしての性質（例えば、本発明の所与の実施形態によりサポートされない特徴；所与の実施形態によりサポートされるがいくつかの状況で使用され他では使用されない特徴）を表すために、図中で破線が使用される。
【００１３】
図に示す技術は、１つ以上の電子デバイス上に格納され、実行されるコード及びデータを用いて実装されることができる。電子デバイス（例えば、エンドステーション、ネットワークエレメント）は、非一時的なマシン読取り可能な媒体（例えば、磁気ディスク、光ディスク、読取り専用メモリ、フラッシュメモリデバイス、相変化メモリ）、及び一時的なマシン読取り可能な送信媒体（例えば、搬送波、赤外線信号といった、電子、光、音響、又は他の形式の伝搬される信号）といったマシン読取り可能な媒体を用いて、（ソフトウェア命令からなる）コード及びデータを格納し、及び（内部的に、及び／又はネットワーク上の他の電子デバイスと）通信する。加えて、そのような電子デバイスは、典型的には、（コード及び／又はデータを記憶するための）１つ以上の非一時的なマシン読取り可能な媒体、ユーザ入力／出力デバイス（例えば、キーボード、タッチスクリーン、及び／又はディスプレイ）、並びに（伝播信号を用いてコード及び／又はデータを送信するための）ネットワーク接続といった、１つ以上の他のコンポーネントに連結される１つ以上のプロセッサのセットといったハードウェアを含む。プロセッサのセットと他のコンポーネントとの連結は、典型的には、１つ以上のバス及びブリッジ（バスコントローラとも呼ばれる）を通じてなされる。したがって、所与の電子デバイスの非一時的なマシン読取り可能な媒体は、その電子デバイスの１つ以上のプロセッサ上で実行するための命令群を記憶する。本発明の一実施形態の１つ以上の部分は、ソフトウェア、ファームウェア及び／又はハードウェアの異なる組合せを用いて実装されてよい。
【００１４】
ここで用いられるものとして、ネットワークデバイス（例えば、ルータ、スイッチ、ブリッジ）は、ネットワーク上の他の機器（例えば、他のネットワークデバイス、エンドステーション）と通信可能に相互接続するハードウェア及びソフトウェアを含む、１つのネットワーキング機器である。いくつかのネットワークデバイスは、複数のネットワーキング機能（例えば、ルーティング、ブリッジング、スイッチング、レイヤ２アグリゲーション、セッションボーダコントロール、ＱｏＳ（Quality  of  Service）、及び／又は加入者管理）についてのサポートを提供し、及び／又は複数のアプリケーションサービス（例えば、データ、音声、及び映像）についてのサポートを提供する、“マルチサービスネットワークデバイス”である。加入者エンドステーション（例えば、サーバ、ワークステーション、ラップトップ、ネットブック、パームトップ、携帯電話、スマートフォン、マルチメディアフォン、ＶＯＩＰ（Voice  Over  Internet  Protocol）フォン、ユーザ機器、端末、ポータブルメディアプレイヤー、ＧＰＳユニット、ゲームシステム、セットトップボックス）は、インターネット上で提供されるコンテンツ／サービス、及び／又は、インターネット上にオーバレイされる（例えば、インターネットを通じてトンネリングされる）仮想プライベートネットワーク（ＶＰＮ）上で提供されるコンテンツ／サービスにアクセスする。コンテンツ及び／又はサービスは、典型的には、サービスプロバイダ又はコンテンツプロバイダに属する１つ以上のエンドステーション（例えば、サーバエンドステーション）、又はピアツーピアサービスに加入しているエンドステーションにより提供され、例えば、公共のウェブページ（例えば、フリーコンテンツ、ストアフロント、検索サービス）、個人用のウェブページ（例えば、ｅメールサービスを提供する、ユーザ名／パスワードでアクセスされるウェブページ）、及び／又はＶＰＮ上の企業ネットワークを含み得る。典型的には、加入者エンドステーションは、エッジネットワークデバイスに（例えば、アクセスネットワークに（有線又は無線で）連結される顧客構内機器を通じて）連結される。エッジネットワークデバイスは他のエッジネットワークデバイスに（例えば、１つ以上のコアネットワークデバイスを通じて）連結され、他のエッジネットワークデバイスは他のエンドステーション（例えば、サーバエンドステーション）に連結される。
【００１５】
ここで以下に説明する本発明の実施形態は、インターネットプロトコル（ＩＰ）及びマルチプロトコルラベルスイッチング（ＭＰＬＳ）、メディアアクセス制御（ＭＡＣ）ルート、又はデータネットワークにおける通信のために使用される他のアドレッシング方式、のための高速リルートを実装するための方法及び装置を提供する。当該方法及び装置は、プライマリ又はバックアップのネクストホップ転送情報ベース転送オブジェクトのレプリカを用いることにより、転送の劣化（増加したオーバヘッド又は転送プレーン内処理）の無い高速リルートを実装し、これは他のルートはそうではないがいくつかのルートがバックアップパスを使用することを可能にする。上記方法及び装置は、制御プレーン及び転送プレーンの双方において、多くのルートが同じ高速リルート転送オブジェクトをネクストホップとして指し示すことを可能にする。上記方法及び装置は、転送プレーン内のネクストホップの唯一回の書き換えの使用によって、プライマリ又はバックアップネクストホップの間でのスイッチングを行い、これはそのバックアップネクストホップを用いる全てのルートをスイッチングすることを可能にする。上記方法及び装置は、プライマリルート及びバックアップルートの双方についての完全な階層的転送パスを維持する制御プレーンをサポートする。
【００１６】
実施形態のいくつかの重要な特性は、制御プレーン機能において、高速リルート（ＦＲＲ）ネクストホップがプライマリネクストホップ及びバックアップネクストホップを伴う保護された（バックアップ）パスを提供することを含む。転送プレーン機能では、非階層的なＦＲＲのネクストホップは、いかなる時点でも、プライマリネクストホップ転送オブジェクト又はバックアップネクストホップ転送オブジェクトのいずれかのレプリカである。この手法において、転送プレーン機能は、ＦＲＲ機能を全く意識しないことができ、それにより転送の劣化が回避される。
【００１７】
従来技術の欠点は、高速リルートがルーティング情報ベース及び転送情報ベース内の間接処理（indirection）の使用に起因する追加的な演算及びリソースを要することを含む。また、転送の劣化の無い階層的な高速リルートはサポートされない。
【００１８】
高速リルーティング（ＦＲＲ）技術は、ＬＦＡ（Loop  Free  Alternates）及びリモートＬＦＡを含み、これらはＯＳＰＦ（open  shortest  path  first）プロトコル及びＩＳＩＳ（intermediate  system  -  intermediate  system  ）プロトコルといったＩＧＰ（Interior  Gateway  Protocol）に基づくインターネットプロトコル高速リルーティング（ＩＰＦＲＲ）を提供するために用いられる技術である。ルータ内で稼動するＩＧＰは、適用可能なネットワークエリアの範囲内の全てのリンクを追跡するデータベースを構築する。ＬＦＡは、ＩＧＰデータベースを用いてループフリーの代替ルートを計算する。ＢＧＰ（border  gateway  protocol）ダイバースパス、ＢＧＰベストエクスターナル及びＢＧＰアドパスは、単一のプレフィクスについて複数の代替（alternates）への分配及び学習のケイパビリティと、ＩＰＦＲＲを実現する能力とをＢＧＰルータに付与するＢＧＰ技術である。ＭＲＴ（Maximally  Redundant  Trees）は、ＩＧＰにより提供されるネットワークのトポロジーの知識に基づく他のＩＰＦＲＲ技術である。ここで説明される実施形態は、各々がこれら技術に適合性を有する。特定のルーティング技術及びＦＲＲ技術を用いて例が議論されるかもしれないが、当業者は、それら例の原理、ステップ及び構造が他の技術にも適用可能であることを理解するはずである。
【００１９】
［概要］
１つの実施形態において、ＦＲＲ機能は、次の４つの機能へと区分されるように考えられ得る：（１）制御プレーン機能、（２）転送プレーン機能、（３）ＦＲＲプロキシ機能、及び（４）スイッチング機能。制御プレーン機能は、定義されるプライマリ及びバックアップネクストホップを伴う保護されたネクストホップを有するルートを含む、ルーティング／転送情報を管理する。制御プレーンは、ルーティングプロトコル及びシグナリングプロトコルに参加して、ルーティング情報ベース（ＲＩＢ）又は類似のデータ構造を構築する。制御プレーンは、転送プレーンのために転送情報ベース（ＦＩＢ）の更新をも行う。
【００２０】
転送プレーン機能は、ＦＩＢに基づくデータトラフィックの転送を実装する。転送プレーンは、ＦＲＲ機能を認識しない。ＦＲＲプロキシ機能は、制御プレーンと転送プレーンとの間の中間的な機能である。制御プレーンに向けては、ＦＲＲプロキシ機能は転送プレーンとして動作し、転送プレーンに向けては、ＦＲＲプロキシ機能は制御プレーンとして動作する。ＦＲＲプロキシ機能は、物理的には転送処理ユニット（即ち、中央処理ユニット若しくはネットワーク処理ユニット）と同じ場所に位置し、若しくは制御プレーン処理ユニット（即ち、中央処理ユニット）と同じ場所に位置し、又は別個の処理ユニット内にあり得る。ＦＲＲネクストホップの無いルートについては、ＦＲＲプロキシ機能は、ルート及びネクストホップを単純に転送プレーンへとリレーする。ＦＲＲネクストホップを伴うルートについては、ＦＲＲプロキシ機能は、ＦＲＲネクストホップを、ＦＲＲネクストホップにより参照されるプライマリネクストホップのレプリカによって置き換えることになる。加えて、ＦＲＲプロキシ機能は、バックアップネクストホップスイッチ機能へとバックアップネクストホップ及びトリガイベント識別子をリレーして、スイッチ機能がＦＲＲネクストホップを上書きすることによりＦＲＲスイッチオーバーを実行することを可能にし、即ち、適用可能なイベントが識別された場合に、プライマリネクストホップのレプリカがバックアップネクストホップ情報で上書きされる。
【００２１】
１つのＦＦＲネクストホップが他のＦＲＲネクストホップを参照する階層的なＦＦＲのケースでは、ＦＲＲプロキシ機能は、非ＦＲＲネクストホップに到達するまでプライマリネクストホップの参照群を通じてネクストホップチェーンを辿ることにより、複数のＦＲＲネクストホップのチェーンを単一のＦＲＲネクストホップへと圧縮する。ＦＲＲプロキシ機能は、この最初の非ＦＲＲネクストホップのレプリカとしてＦＲＲネクストホップを提供する。非階層的なケースのように、バックアップ及びトリガのアイデンティティがスイッチング機能へと提供される。しかしながら、階層的なＦＲＲのケースでは、複数のバックアップが存在するかもしれず、その場合各バックアップが別個のイベントによりトリガされる。これは、ＢＧＰ  ＦＲＲがＬＤＰ  ＦＲＲに階層的に組合せられるユースケースによって例示され、これ以降でさらに議論される。バックアップネクストホップのセットは、プライマリ参照に沿ってネクストホップチェーンを辿ることにより決定され、但しバックアップネクストホップ及びトリガアイデンティティが取得される１レベルは例外である。よって、ＦＲＲのｎレベルの階層についてｎ個のバックアップが存在し、各レベルについて１つであろう。ＦＲＲプロキシ機能は、他のＦＲＲネクストホップに変化があった場合に、ネクストホップチェーン内の他のＦＲＲネクストホップに依存する階層的ＦＲＲの更新も担当する。
【００２２】
上述したようなＦＲＲスイッチング機能は、ＦＲＲスイッチオーバーの実行に責任を有する。ＦＲＲプロキシ機能でそうであったように、スイッチング機能は転送プレーンと若しくは制御プレーンと同じ場所に位置し、又は別個の処理ユニット内にあることができる。スイッチオーバーは、プロキシ機能により特定されたＦＩＢネクストホップ転送オブジェクトの上書きによって実装される。他の実施形態において、プロキシ機能及びスイッチング機能は、機能の任意の組合せ又は置換によって、組合せて又は別個に実装されることができる。
【００２３】
図１Ａは、高速リルートルーティング情報ベース転送オブジェクトを用いる高速リルート処理を実装するための処理の１つの実施形態のフローチャートである。１つの実施形態において、当該処理は、ルータのプロキシ機能及び／又はスイッチング機能により実行される。これら機能は、制御プレーン及び転送プレーンに、具体的には、一般的なルータの中央処理ユニット若しくはネットワーク処理ユニット（例えば制御プレーン用）、又はルータ内のラインカードのセットの中央処理ユニット若しくはネットワーク処理ユニットであり得る、これらプレーンの処理ユニットに実装されることができる。ここで使用されるところによれば、「セット」とは、１つの項目を含めて、任意の正の整数個の項目をいう。
【００２４】
処理は、ネットワークイベントを受信することに応じて開始され得る（ブロック１０１）。ネットワークイベントは、隣接ルータからのメッセージといったように外部の送信元から、又はポート若しくは類似の送信元からの信号といったように内部の送信元から受信され得る。ネットワークイベントは、障害の起きたポートというようにルータの機能における変化、又は障害の起きたリンクというようにネットワークの機能における変化のインジケータであり得る。ネットワークイベントは、当該ネットワークイベントのタイプを示すことのできるイベント識別子を含み得る。これらネットワークイベントのいかなるタイプの符号化も利用することができ、ルータは、イベント識別子を用いてイベントのタイプをルックアップすることができる（ブロック１０３）。１つの実施形態において、イベントテーブルをルータの制御プレーンにより維持することができ、イベントテーブルは、ネットワークイベント又はネットワークイベント識別子を含む通知のタイプの各々の受信に応じてとるべきアクションを識別するエントリのセットを収容する。１つの例示的な実施形態において、ネットワークイベントは、バックアップルートへとスイッチングされるべきルートを明示的に識別する高速リルートメッセージであり得る。
【００２５】
１つの実施形態において、ネットワークイベントは、ルータのルーティング情報ベースにおいて定義されているルートが影響を受ける形でネットワークのトポロジーが変化したことを示す。影響を受けるルートの各々が、高速リルート転送オブジェクトが含まれるかを判定するためにチェックされる（ブロック１０５）。ルーティング情報ベース内のエントリは、ルータから宛て先へのルートに関する情報を含むデータ構造である。この情報は、ネクストホップ情報と、ルータへ到来する全てのデータトラフィックをその宛て先へ向けて転送することを可能とする同様の情報とを含み得る。ルーティング情報ベースは、ルータのデータプレーンにより利用される転送情報ベースを管理し及び更新し、それは既知の各宛て先についてのネクストホップ情報を含む同様のデータ構造を含む。これらエントリはここでは「オブジェクト」として説明され、但し、当業者は、いかなるタイプのデータ構造をもその情報を表現し及び体系化するために使用し得ることを理解するはずである。さらに、当該オブジェクトは転送のために利用される情報のセットを形成するため、ここでは転送オブジェクトとの用語が利用される。
【００２６】
高速リルート転送オブジェクトは、代替ルート情報を収容し得る転送オブジェクトである。高速リルート転送オブジェクトは、任意の数の代替ルートについてのネクストホップ情報と、関連する代替ルート情報とを含む情報を含み得る。ネクストホップ情報は、アドレス（例えば、ＩＰアドレス、ポート、ラベル、又は類似のアドレス）と、ルータといった近接ネットワークデバイスに関する関連情報とを含み得る。代替ルートの識別及び構成は、いかなるタイプのルーティングプロトコル及び／又は保護プロトコルを用いて達成されてもよい。ネクストホップ情報は、ネクストホップ転送オブジェクトとして言及され得る。
【００２７】
ネットワークイベント識別子のタイプに依存して、高速リルート転送オブジェクトを伴う各宛て先についてのプライマリルートがリンク障害、ポート障害又は当該プライマリルートに関連付けられる類似の問題に起因してもはや有効でないかの判定が行われる。プライマリルートがもはや有効でない場合、オプションとして、バックアップルートが有効かの判定が行われてもよい（バックアップルートが有効でなければ、本処理は終了してもよく、ルーティングプロトコルの再収束を要する）。バックアップルートが有効である場合、転送プレーンの転送情報ベース内の宛て先についてのカレントネクストホップ転送オブジェクトが、ルーティング情報ベースの高速リルート転送オブジェクトにおいて定義された通りのバックアップネクストホップのネクストホップ転送オブジェクトのコピー又はレプリカで上書きされる（ブロック１０７）。転送プレーンは、データパケット転送の際のこの処理には関与しない。ネクストホップオブジェクトの上書き処理あるいは「スイッチング」処理は、データ転送処理にとっては透過的である。データ転送処理は、インカミングのデータトラフィックの宛て先アドレスをルックアップし、スイッチングの前後で転送情報ベースにおけるルックアップから異なるネクストホップ情報を受け取る。
【００２８】
間接的なネクストホップルックアップではバックアップネクストホップオブジェクトを識別するために転送情報ベース内でポインタが利用されるはずであったが、ルーティング情報ベース内の高速リルート転送オブジェクトの使用と、転送機能から分離したＦＲＲスイッチ及びＦＲＲプロキシ機能の実装は、転送機能が転送情報ベース上で間接的なネクストホップルックアップを実行しなければならないことに起因する転送機能の劣化の無い、高速リルートの実装を提供する。
【００２９】
１つの実施形態では、ＦＲＲスイッチ又はＦＲＲプロキシ機能により転送情報ベースへと上書きされるネクストホップ転送オブジェクトは、元のオブジェクトをコピーから区別することを可能とする一意の識別子を有するレプリカ又はコピーである。
【００３０】
図１Ａに関連して図示され説明される例としての処理は、プライマリルート及びバックアップルートが存在するケースに関与する。但し、当業者は、高速リルート転送オブジェクトがいかなる数の代替パス及び／又はネクストホップをも定義し得ることを理解するはずである。それら代替パスは、プライマリパス及び任意の数のバックアップパスの無効化を、残りの有効なバックアップパスのうちの１つを選択して解決することができるように、ランク付けされ又は同様に体系化され得る。
【００３１】
図１Ａの図示され説明される実施形態において、プライマリルートは、バックアップ又は類似の代替ルートで上書きされる。しかしながら、当該処理は逆向きに適用されることもでき、それはバックアップをプライマリルート又は他の代替ルートで上書きすることにより行われる。例えば、障害又は単なるレポーティングエラーであるかもしれないリンクの可用性における瞬間的な変動のみが存在する状況である。それらケースでは、ルーティングプロトコルは、収束に至るために十分な時間を有しなかったかもしれず、高速リルート処理が収束の前に正確なルート選択を迅速に行うことができる。
【００３２】
図１Ｂは、階層的な高速リルートルーティング情報ベース転送オブジェクトを用いる高速リルート処理を実装するための処理の１つの実施形態のフローチャートである。１つの実施形態において、当該処理は、ルータのＦＲＲプロキシ機能及び／又はＦＲＲスイッチ機能により実行される。これら機能は、制御プレーン及び転送プレーンに、具体的には、一般的なルータの中央処理ユニット若しくはネットワーク処理ユニット（例えば制御プレーン用）、又はルータ内のラインカードのセットの中央処理ユニット若しくはネットワーク処理ユニットであり得る、これらプレーンの処理ユニットに実装されることができる。概要において上で議論したように、階層的な高速リルーティングは、ネットワークイベントの受信前に準備される階層的な高速リルートオブジェクトを利用する。階層的な高速リルートオブジェクトは、１つ以上の非階層的な高速リルートオブジェクトのチェーンを横断し、プライマリネクストホップと１つ以上のバックアップネクストホップとを階層的な高速リルートオブジェクトへと圧縮することにより生成され、各バックアップネクストホップは、異なるネットワークイベントに関連付けられる。階層的な高速リルートオブジェクトは、ルーティング情報ベースへデータ投入がされる際に、ネットワークトポロジーの変化に応じて、又は管理上の指示によって、生成されることができる。
【００３３】
処理は、ネットワークイベントを受信することに応じて開始され得る（ブロック１５１）。ネットワークイベントは、隣接ルータからのメッセージといったように外部の送信元から、又はポート若しくは類似の送信元からの信号といったように内部の送信元から受信され得る。ネットワークイベントは、障害の起きたポートというようにルータの機能における変化、又は障害の起きたリンクというようにネットワークの機能における変化のインジケータであり得る。ネットワークイベントは、当該ネットワークイベントのタイプを示すことのできるイベント識別子を含み得る。これらネットワークイベントのいかなるタイプの符号化も利用することができ、ルータは、イベント識別子を用いてイベントのタイプをルックアップすることができる（ブロック１５３）。１つの実施形態において、イベントテーブルをルータの制御プレーンにより維持することができ、イベントテーブルは、ネットワークイベント又はネットワークイベント識別子を含む通知のタイプの各々の受信に応じてとるべきアクションを識別するエントリのセットを収容する。イベントテーブルは、制御プレーンにより、転送処理の近傍に位置するスイッチング機能に向けて区別され得る。１つの実施形態において、ネットワークイベントは、バックアップルートへとスイッチングされるべきルートを明示的に識別する高速リルートメッセージであり得る。
【００３４】
１つの実施形態において、ネットワークイベントは、ルータのルーティング情報ベースにおいて定義されているルートが影響を受ける形でネットワークのトポロジーが変化したことを示す。影響を受けるルートの各々が、階層的な高速リルート転送オブジェクトが含まれるかを判定するためにチェックされる（ブロック１５５）。「階層的な高速リルート」転送オブジェクトは、複数のプロトコル又はネットワークレベルを包含する代替ルート情報を収容することができる。階層的な高速リルート転送オブジェクトは、任意の数の代替ルート及びネットワークレベル又はプロトコルを含む情報と、関連する代替ルート情報とを含み得る。各ネットワークレベルについてのネクストホップ情報は、当該転送オブジェクトのネットワークレベルに依存して、アドレス（例えば、ＩＰアドレス、ポート、ラベル、又は類似のアドレス）と、ルータ又はネットワークエッジデバイスといった近接ネットワークデバイスに関する関連情報とを含み得る。代替ルートの識別及び構成は、いかなるタイプの又は組合せのルーティングプロトコル及び／又は保護プロトコルを用いて達成されてもよい。
【００３５】
ネットワークイベント識別子のタイプに依存して、階層的な高速リルート転送オブジェクトを伴う各宛て先についてのプライマリルートがリンク障害、ポート障害又は当該プライマリルートに関連付けられる類似の問題に起因してもはや有効でないかの判定が行われる。プライマリルートがもはや有効でない場合、バックアップルートが有効かの判定が行われてもよい（バックアップルートが有効でなければ、本処理は終了してもよく、ルーティングプロトコルの再収束を要する）。バックアップルートが有効である場合、転送プレーンの転送情報ベース内の宛て先についてのカレントネクストホップ転送オブジェクトが、ルーティング情報ベースの階層的な高速リルート転送オブジェクトにおいて定義された通りのバックアップネクストホップのネクストホップ転送オブジェクトのコピー又はレプリカで上書きされる（ブロック１５７）。
【００３６】
非階層的なケースでちょうどそうであったように、転送プレーンは、データパケット転送の際のこの処理には関与しない。ネクストホップオブジェクトの上書き処理あるいは「スイッチング」処理は、データ転送処理にとっては透過的である。データ転送処理は、インカミングのデータトラフィックの宛て先アドレスをルックアップし、スイッチングの前後で転送情報ベースにおけるルックアップから異なるネクストホップ情報を受け取る。
【００３７】
間接的なネクストホップルックアップではバックアップネクストホップオブジェクトを識別するために転送情報ベース内でポインタが利用されるはずであったが、ルーティング情報ベース内の階層的な高速リルート転送オブジェクトの使用と、転送機能から分離したＦＲＲスイッチ及びＦＲＲプロキシ機能の実装は、転送機能が転送情報ベース上で間接的なネクストホップルックアップを実行しなければならないことに起因する転送機能の劣化の無い、高速リルートの実装を提供する。標準的な転送情報ベース及びルーティング情報ベースは、転送の劣化の無い階層的な高速リルート処理をサポート可能ではない。
【００３８】
１つの実施形態では、非階層的な処理と同様に、スイッチ又はプロキシ機能により転送情報ベースへと上書きされるネクストホップ転送オブジェクトは、元のオブジェクトをコピーから区別することを可能とする一意の識別子を有するレプリカ又はコピーである。
【００３９】
図１Ｂに関連して図示され説明される例は、プライマリルート及びバックアップルートが存在するケースに関与する。但し、当業者は、階層的な高速リルート転送オブジェクトが各ネットワークレベルでいかなる数の代替パス及び／又はネクストホップをも定義し得ることを理解するはずである。それら代替パスは、プライマリパス及び任意の数のバックアップパスの無効化を、残りの有効なバックアップパスのうちの１つを選択して解決することができるように、ランク付けされ又は同様に体系化され得る。
【００４０】
図２Ａは、高速リルートルーティング情報ベース転送オブジェクトを用いる一例としてのトポロジー及びルータ構成の１つの実施形態の図である。高速リルート転送オブジェクトを用いる非階層的な高速リルート処理の動作を例示するために簡略化された例において４つのノードを伴うネットワークトポロジー２０１が示されている。ネットワークトポロジー２０１は、ソースノード「Ｓ」、２つの中間ノード「Ｎ」及び「Ｎ１」、並びに宛て先ノードを含む。ここでのソースノードは、Ｎ又はＮ１を介する２つの代替ルートのうちの１つを通じた宛て先ノードへのデータトラフィックの配送処理が行われているノードをいう。
【００４１】
図示されている他の情報は、ソースノードの制御プレーン２０３及び転送プレーン２０５へ分離された様々な機能の構成である。ＦＩＢ２０７は、Ｎを識別するカレントネクストホップオブジェクト２０９を含み、これはＳからＤへのプライマリパスの一部である。制御プレーン２０３、より具体的にはルーティング情報ベース２１１は、宛て先アドレス又は宛て先アドレスプレフィックス（例えば、３．１．１．０／２４）、高速リルート用の高速リルートネクストホップオプション（例えば、１．１．１．１及び２．１．１．１のネクストホップ転送オブジェクトへのポインタ）、を含む図示された転送オブジェクトを含み、それら高速リルートネクストホップオプションは、元のネクストホップ転送オブジェクトを指し示す。スイッチ機能２１５は、ネットワークイベントトリガ２１９に応じて、レプリカのネクストホップ転送オブジェクト２１７を、転送プレーンへ、具体的には転送プレーンの転送情報ベース２０７へ上書きするように示されている。転送プレーンの「前」と「後」の様子が示されており、転送情報ベース２０７は、スイッチの「前」のケースでは、宛て先アドレスへと割当てられていたプライマリルートネクストホップのネクストホップ転送オブジェクトレプリカを有する。スイッチの「後」のケースでは、転送情報ベース２０７において同じ宛て先アドレスへと割当てられていたレプリカネクストホップ転送オブジェクトを有する。
【００４２】
図２Ｂは、階層的な高速リルートルーティング情報ベース転送オブジェクトを用いる一例としてのトポロジー及びルータ構成の１つの実施形態の図である。非階層的な例の図と同様に、この図は、説明のための簡略化されたネットワークを示している。この例としてのネットワーク２５１は、ソースノードＳ、宛て先ノードＤ１、２つの中間ノードＮ１及びＮ２、並びに２つのプロバイダエッジノードＰＥ１及びＰＥ２を含む。この例としてのネットワークトポロジーにおいて、Ｓから各ＰＥへのノード群は、第１のネットワークドメイン内にあり、ルーティングはマルチプロトコルラベルスイッチング（ＭＰＬＳ）を介して実装される。各ＰＥにおいて、ルーティングは、Ｄ１へ到達するために他のネットワークへと遷移し、このルーティングはＢＧＰにより管理される。よって、この例では、管理すべき複数のネットワークレベルが存在する。各ネットワークレベルは、複数のルートを有することができる。この例では、３つの代替ＭＰＬＳルートが存在する（即ち、リンクディスカバリプロトコル（ＬＤＰ）を用いて判定されるラベルスイッチパスであり、Ｌ１１、Ｌ１２及びＬ２２とラベリングされ、ソースとＰＥとの間のＭＰＬＳネットワークを横断する。２つのＰＥからは、宛て先Ｄ１へのｖ１及びｖ２とラベリングされた２つのパスが存在する。
【００４３】
非階層的なケースでそうであったように、ＦＩＢ２５３は、ネクストホップオブジェクトのセットを含む。制御プレーン２５５は、ルーティング情報ベース２５７内に宛て先Ｄのためのエントリを含み、ルーティング情報ベース２５７には、２つのＢＧＰレベルのエントリを含む階層的な高速リルート転送オブジェクト２５９と、１つのＬＤＰ高速リルート転送オブジェクト２６１とが存在する。ＢＧＰ高速リルート転送オブジェクト２５９は、ＰＥ１及びＰＥ２へ到達するためのネクストホップ転送オブジェクトへのポインタあるいは参照を含む。これらネクストホップ転送オブジェクトの各々は、ＭＰＬＳを介してそれぞれのＰＥへ到達するための転送オブジェクトに結び付けられている。ＰＥ１は、ＬＳＰ１１及びＬＳＰ１２を介して到達可能であり、第２レベルの転送オブジェクト２６１がＬＳＰ１１及びＬＳＰ１２についてのネクストホップ転送オブジェクトへのポインタを含む。ＰＥ２は、単一のＬＳＰ２２を介してのみ到達可能であり、第２レベルの転送オブジェクトがＬＳＰ２２のネクストホップ転送オブジェクトを指し示す。
【００４４】
ＦＲＲスイッチ機能２６３は、あり得るトリガの実例を示しており、それらトリガは、ＬＳＰ１１のレプリカである転送プレーン２６５のＦＩＢ２５３内のプライマリパスのネクストホップ転送オブジェクトの上書きをもたらし、トリガに依存して、上書きはＬＳＰ２２又はＬＳＰ１２のレプリカで行われる。ＢＧＰ及びＬＤＰを用いる２レベルの階層的なネットワークが示されているが、当業者は、２レベルの例に関連して議論した原理、処理及び構造と整合するいかなる数の追加的なレイヤ及びルートをも有し得ることを理解するはずであり、その処理がここまでに議論された。
【００４５】
図３Ａは、高速リルートルーティング情報ベース転送オブジェクトを用いる高速リルート処理を実装するネットワークエレメントの１つの例示的な実施形態の図である。この図は、制御プレーン３０１と転送プレーン３０３との間の関係を示す実装の抽象図である。制御プレーンは、ルーティング情報ベース（ＲＩＢ）３０５を含み、ＲＩＢ３０５は、ネットワークトポロジーを判定するために近隣のルータと通信するルーティングプロトコル又はディスカバリプロトコル３０７により維持される。
【００４６】
制御プレーン３０１は、（上述したプロキシ機能及びスイッチング機能を包含する）ＩＰ  ＦＲＲプロキシ３０９にＲＩＢ情報とネットワークイベント情報とを提供し、それら情報は転送プレーン３０３を再構成する（即ち、転送情報ベース３１１を更新／上書きする）ことによりプライマリルートからバックアップ（又は他の代替）ルートへのスイッチングを実行するために必要であり、そのスイッチングは、ＲＩＢとそれに続いてＦＩＢ３１１の転送情報を更新するためのディスカバリ又はルーティングプロトコルの収束を待つよりもむしろ即座に行われる。
【００４７】
このやり方で、転送プレーン３０３の追加的なリソースを要する間接的なＦＩＢルックアップ又は類似の動作のオーバヘッドに関わらず、転送プレーン３０３により、その機能の劣化無く、データを継続的に転送することができる。抽象的に示された内容は、これ以降で説明される単一のルータ内の個別のハードウェアで実装されることができる。上記抽象図は、階層的な又は非階層的な高速リルート転送オブジェクトのいずれかを伴う実施形態に適用される。
【００４８】
図３Ｂは、高速リルートルータ情報ベース転送オブジェクトを用いる高速リルート処理を実装するネットワークエレメントの１つの例示的な実施形態の図である。１つの実施形態において、ルータ３５０は、ラインカード３５１Ａ、３５１Ｂ、スイッチファブリック３５３、及び中央処理ユニット３５５Ａ、３５５Ｂのセットを含む。ラインカード３５１Ａ、３５１Ｂは、受信されるデータトラフィックを宛て先ノードへ向けて転送することを含む転送プレーンの実装に主に責任を有する。中央処理ユニット３５５Ａ、３５５Ｂは、ルーティング情報ベース（ＲＩＢ）３５７を管理することを含む制御プレーンの実装に主に責任を有する。スイッチファブリック３５３は、ラインカード３５１Ａ、３５１Ｂの間のデータトラフィックの通信を遂行する。
【００４９】
ラインカード３５１Ａ、３５１Ｂは、ネットワーク処理ユニット３５９及び／又は中央処理ユニット３５５Ａ、３５５Ｂのセットを含み得る。ネットワーク処理ユニット（ＮＰＵ）３５９は、転送機能モジュール３７５を介するデータトラフィック及び転送機能を実行するように構成されるいかなるタイプのプロセッサであってもよく、恐らくは複数のレベルの受信データトラフィックの処理を含む。ＮＰＵ３５９は、各宛て先アドレス又は宛て先プレフィクスについてのネクストホップ情報を伴う転送情報ベース（ＦＩＢ）３６１を含み又はそれと通信関係にあり得る。ＦＩＢ３６１は、ＮＰＵ３５９の内部又は外部の記憶デバイス内にあり得る。ＮＰＵ３５９は、上述したＦＲＲプロキシ機能をプロキシ機能モジュール３６３として、及び上述したスイッチ機能をスイッチ機能モジュール３６５として実装することができ、それらはソフトウェア若しくはファームウェアとして実行され、又はＮＰＵ３５９へと回路化（hardwired）される。他の実施形態において、ラインカード３５１Ａ、３５１Ｂは、別個の中央処理ユニット３５５Ａ（ＣＰＵ）を含むことができ、当該ＣＰＵは、プロキシ機能モジュール３６３又はスイッチ機能モジュール３６５を実行し得る汎用的な機能及びプログラマビリティを伴う処理デバイスである。
【００５０】
他の実施形態において、プロキシ機能モジュール３６３及びスイッチ機能モジュール３６５は、ラインカード又はラインカードのセットのＣＰＵ３５５Ａよりもむしろ、ルータのＣＰＵ３５５Ｂにより実装される。ルータのＣＰＵ３５５Ｂは、ルーティング情報ベース（ＲＩＢ）３５７を維持するディスカバリ３７１及びルーティングプロトコルをも実装し得る。ＲＩＢ３５７は、ＣＰＵ３５５Ｂの内部又は外部の記憶デバイス内にあり得る。同様に、ＣＰＵ３５５Ｂは、ネットワークイベント識別子をネットワークイベントに応じて取るべきアクションへとマッピングするイベントテーブル３７３へのアクセスを維持し又は遂行し得る。
【００５１】
上の説明は限定ではなく例示を意図していることが理解されるべきである。当業者にとって、上の説明を読んで理解した後に多くの他の実施形態が明らかであろう。従って、本発明の範囲は、添付の特許請求の範囲を参照することで、当該特許請求の範囲に与えられる均等の完全な範囲と共に判定されるべきである。
【図１Ａ】
2016508010.tif 000003
【図１Ｂ】
2016508010.tif 000004
【図２Ａ】
2016508010.tif 000005
【図２Ｂ】
2016508010.tif 000006
【図３Ａ】
2016508010.tif 000007
【図３Ｂ】
2016508010.tif 000008
【国際調査報告】
2016508010.tif 000009
2016508010.tif 000010