(57)【要約】一次ルータ１１０と、二次ルータ１１６と、ピアルータとを備えた、データ通信ネットワークが開示される。オペレーションにおいては、一次ルータ１１０およびピアルータは、ピアセッションを行って、ネットワークトポロジの現在の状態に関する情報を交換する。さらに二次ルータ１１６は、ピアセッションを監視して、ネットワークトポロジの現在の状態の認識を維持し、一次ルータ１１０の故障を検出したとき、一次ルータ１１０に置き換わる。
2004527980.tif 000002
【特許請求の範囲】
【請求項１】
一次ルータと、
ピアルータと、
二次ルータと、
前記一次ルータと前記ピアルータとの間で有効なピアセッションとを有する、データ通信ネットワークであって、
前記一次ルータから発信する前記セッション内のパケットが、前記ピアルータに向かう途中で前記二次ルータによって受信され、前記ピアルータから発信する前記ピアセッション内のパケットが、前記一次ルータに向かう途中で前記二次ルータによって受信されることを特徴とするデータ通信ネットワーク。
【請求項２】
前記二次ルータが、前記パケットを処理することをさらに特徴とする、請求項１に記載のネットワーク。
【請求項３】
前記二次ルータが、前記一次ルータの故障を検出したとき、前記ピアセッションにおける前記一次ルータに置き換わることをさらに特徴とする、請求項１に記載のネットワーク。
【請求項４】
前記二次ルータが、前記ピアセッション内の各パケットを受信することをさらに特徴とする、請求項１に記載のネットワーク。
【請求項５】
一次ルータと、
ピアルータと、
二次ルータと、
前記一次ルータと前記ピアルータとの間で有効なピアセッションとを有する、データ通信ネットワークであって、
前記二次ルータが、前記ピアセッションを監視し、前記一次ルータの故障を検出したとき、前記ピアセッションにおける前記一次ルータに置き換わることを特徴とするデータ通信ネットワーク。
【請求項６】
前記二次ルータが、前記ピアセッション中に前記一次ルータと前記ピアルータとの間で送信された制御パケットを処理することをさらに特徴とする、請求項５に記載のネットワーク。
【請求項７】
一次ルータと、
ピアルータと、
二次ルータと、
前記一次ルータと前記ピアルータとの間で有効なピアセッションとを有する、データ通信ネットワークであって、
前記ピアルータから発信する前記ピアセッション内のパケットが、前記二次ルータおよび前記一次ルータによって独立して受信されることを特徴とするデータ通信ネットワーク。
【請求項８】
前記二次ルータが、前記一次ルータの状態を監視し、前記一次ルータの故障を検出したとき、前記ピアセッションにおける前記一次ルータに置き換わるための手段を備えた、請求項７に記載のデータ通信ネットワーク。
【請求項９】
前記二次ルータが、前記パケットを処理するための処理手段をさらに備えた、請求項７に記載のデータ通信ネットワーク。
【請求項１０】
前記二次ルータが、前記パケット内に含まれた現在のセッション状態を反映するプロトコルルーティング情報を記憶するための記憶手段を備えた、請求項７に記載のデータ通信ネットワーク。
【請求項１１】
ネットワークと交換バックプレーンとの間に結合されたラインカードと、
前記交換バックプレーンに結合された一次ルータと
前記交換バックプレーンに結合された二次ルータとを備えた、パケット交換ノードであって、
前記ラインカードが、１つまたは複数のピアルータと前記一次ルータとの間でピアセッション中の入パケットを、前記一次ルータおよび前記二次ルータに転送するパケット交換ノード。
【請求項１２】
前記二次ルータが、動的ルーティングプロトコルを実行するための手段を備えた、請求項１１に記載のパケット交換ノード。
【請求項１３】
前記二次ルータが、前記入パケットを処理して、現在のピアセッション状態を判断するための手段を備えた、請求項１１に記載のパケット交換ノード。
【請求項１４】
前記二次ルータが、現在のネットワークトポロジを記憶するための記憶手段をさらに備えた、請求項１３に記載のパケット交換ノード。
【請求項１５】
前記二次ルータが、前記一次ルータの状態を監視し、前記一次ルータの故障を検出したとき、前記ピアセッションにおける前記一次ルータに置き換わるための手段を備えた、請求項１１に記載のパケット交換ノード。
【請求項１６】
ネットワーク全体にわたって通信するための方法であって、
ピアセッション中に一次ルータから発信する出制御メッセージを、ピアルータに向かう途中で二次ルータに転送することと、
前記出制御メッセージを処理して、現在のセッション状態を反映するために、前記二次ルータ上のルーティングテーブルを更新することと、
ピアセッション中に前記ピアルータから発信する入制御メッセージを、前記一次ルータに向かう途中で二次ルータに転送することと、
前記入制御メッセージを処理して、現在のセッション状態を反映するために、前記二次ルータ上のルーティングテーブルを更新することとを含む方法。
【請求項１７】
前記一次ルータの状態を監視することと、前記一次ルータの故障を検出したとき、前記ピアセッションにおける前記一次ルータに置き換わることとをさらに含む、請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に冗長ルーティングに関し、より詳細には、一次ルータと二次ルータの間で同期を維持するための方法および装置に関する。
【背景技術】
【０００２】
データネットワークは、一般に、ソースネットワークノードから、１つまたは複数の宛先ネットワークノードにデータパケットまたはフレームをルーティングする。たとえばルータなどのネットワークデバイスが、パケットまたはフレームを受信すると、デバイスは、パケットまたはフレームがどのように転送されるべきかを判断するために、パケットまたはフレームを調べる。パケットまたはフレームが所望の宛先ノードで受信されるまで、中間ネットワークデバイスにより、必要に応じて追加転送決定を行うことができる。
【０００３】
データネットワークは、一般に、ネットワークを通じてソースノードから宛先ノードにデータパケットをルーティングするための、さまざまな分散型ルーティング手順の１つを用いる。オペレーションにおいては、ネットワークルータが、ルーティング機能を実行するために、ルーティングテーブルを維持する。パケットがルータに到達すると、パケット内に含まれているアドレス（たとえば宛先アドレス）を使用して、次のホップまたは次のノードを示すルーティングテーブルから所望のルートに沿って宛先ノードへ、エントリを検索する。次いで、ルータは、示された次のホップノードにパケットを転送する。パケットが所望の宛先ノードに到達するまで、連続するルータノードでそのプロセスが繰り返される。
【０００４】
ルータは、ルーティングテーブルを維持するために、他のルータとしばしばルーティング情報を交換する。ルータは、「ピア（ｐｅｅｒ）」セッションを行って、隣接ノード間のネットワークリンクのアクティブな状態を維持するために、ネットワーク内のそのピアと情報を交換することができる。ピアセッションは、トランスポート制御プロトコル（ＴＣＰ）またはユーザデータグラムプロトコル（ＵＤＰ）を使用して、トランスポートレイヤ情報の交換にしばしば依拠する。ＴＣＰパケットおよびＵＤＰパケットは、適切にセッションを行うために、それぞれの「ピア」ルータが理解しなければならない状態情報を伝える。従来、セッションに参加しているピアルータの１つが故障すると、一般に、他のピアルータが、セッションを終了し、スタンバイルータでフレッシュセッションを開始することが必要であった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
サービスプロバイダの主な関心事の１つに、ネットワークのダウンタイムがある。一般に、サービスプロバイダは、機器（すなわちハードウェア）や、よくありがちなソフトウェア故障によるネットワーク停止を最小限に押さえようと努力を重ねている。コンピュータシステムの開発者らは、ダウンタイムを最小限に押さえシステムの回復力を向上させるために、しばしば冗長対策を使用する。冗長構成は、ハードウェアおよび／またはソフトウェア障害を克服するために、代替リソースまたはバックアップリソースに依拠している。理想的には、冗長アーキテクチャにより、コンピュータシステムが、障害にもかかわらずサービスの混乱を最小限に押さえて、たとえばサービスプロバイダの顧客に対してトランスペアレントな方式で、オペレーションを続行することが可能となる。
【０００６】
オペレーションにおいては、一次デバイスが故障すると、対応するバックアップデバイスを一次デバイスに代用することができる。しかし、バックアップデバイスがアクティブな状態でなかった場合には、一次デバイスは故障したままであり、次いでバックアップデバイスをブートし、故障している要素のための代用として動作するよう構成しなければならない。さらに、バックアップデバイスは、故障した一次デバイスの状態からバックアップデバイスが引き継ぐことができるように、故障した一次デバイスの現在のアクティブな状態を判断する必要がある。バックアップデバイスを起動するのに必要な時間を、一般に同期時間（ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｔｉｍｅ）と呼ぶ。実際には、長い同期時間により、システムのサービスが著しく混乱することがあり、コンピュータネットワークデバイスの場合には、同期が十分にすばやく行われなかった場合には、多数のネットワーク接続が失われることがあり、それが、サービスプロバイダの可用性統計に直接影響を及ぼす可能性がある。
【課題を解決するための手段】
【０００７】
本発明の一態様においては、データ通信ネットワークには、一次ルータと、ピアルータと、二次ルータとが備えられ、一次ルータおよびピアルータがピアセッションを行う。一例示的実施形態によれば、一次ルータから発信するピアセッション内のパケットが、ピアルータに向かう途中で二次ルータによって受信される。同様に、ピアルータから発信するピアセッション内のパケットが、一次ルータに向かう途中で二次ルータによって受信される。
【０００８】
本発明のさらなる態様においては、データ通信ネットワークには、一次ルータと、ピアルータと、二次ルータとが備えられ、一次ルータおよびピアルータがピアセッションを行い、二次ルータがピアセッションを監視し、一次ルータの故障を検出したとき、一次ルータに置き換わることを特徴とする。
【０００９】
以下の記述、特許請求の範囲、および添付図面から、本発明のこれらのおよび他の特徴、態様、利点がより良く理解されるであろう。
【発明を実施するための最良の形態】
【００１０】
本発明の一例示的実施形態では、ルータなどのアクティブなネットワークデバイスの故障の際に、損失および待ち時間を減少するための方法が提供される。本発明の利点を理解するために、例示的ネットワーク環境の状況において本発明を記述することが有益であろう。
【００１１】
図１は、複数のホスト１００、１０２、１０４、１０６と複数のルータ１１０および１１６とを備えた、ローカルエリアネットワーク（ＬＡＮ）の簡略ブロック図である。ルータ１１０、１１６は、ＬＡＮ１０８に結合され、コンピュータネットワーク１２０にゲートウェイアクセスを提供すると考えることができる。コンピュータネットワーク１２０は、たとえば、インターネットあるいは他のグローバルまたはローカルコンピュータネットワークを備えることができる。ルータ１１０および１１６は、１つまたは複数の他のＬＡＮ（図示せず）に結合されることもできる。
【００１２】
本発明については、ＬＡＮ内のどのようなデータ処理デバイスもホストと考えることができることは、当業者なら理解されるであろう。たとえば、ホスト１００、１０２、１０４、１０６が、端末、パーソナルコンピュータ、ワークステーション、ミニコンピュータ、メインフレームなどであり得る。さらに、この実施形態および他の実施形態におけるＬＡＮは、イーサネット（登録商標）（ＩＥＥＥ８０２．３）、トークンリング（ＩＥＥＥ８０２．５）およびＦＤＤＩ（ＡＮＳＩＸ３Ｔ９．５）を有するがこれに限定されるものではない、１つまたは複数の異なる構成を有することができる。
【００１３】
任意のある時間に、ルータ１１０または１１６の１つが、一次ルータまたはアクティブなルータの状態を呈する。例示的ネットワークにおいては、ホスト１００、１０２、１０４、１０６は、一次ルータに向くよう構成されることが好ましい。したがって、ホストが、ＬＡＮ１０８の外でデータパケットを送信する必要がある場合には、ホストはデータパケットを一次ルータに向ける。
【００１４】
本発明がさまざまな方式で実施できることは、当業者なら理解されるであろう。たとえば、一実施形態では、一次および二次ルータは、パケット交換ノード１８０で実現できる。図２を参照すると、例示的パケット交換ノードが、交換バックプレーン１６０によって相互接続された複数のラインカード１２４、１２６、１２８を備えることができる。記述されている例示的実施形態では、ラインカードは、ＬＡＮ１３０、１３２、１３４の各グループに相互接続でき、好ましくは、交換バックプレーン１６０を介してデータ経路１３８、１４０、１４２を通って互いに相互接続される。
【００１５】
一例示的実施形態によれば、ラインカード１２４、１２６、１２８は、たとえば媒体アクセス制御（ＭＡＣ）ブリッジングおよびインターネットプロトコル（ＩＰ）ルーティングなどの、１つまたは複数の有効な通信プロトコルに従って、ＬＡＮ１３０、１３２、１３４の各グループに、かつＬＡＮ１３０、１３２、１３４の各グループからパケットを転送できる。ラインカード１２４、１２６、１２８は、コンピュータネットワーク１２０を介して他のパケット交換ノードまたはルータと通信でき、そのコンピュータネットワーク１２０は、たとえば、インターネットおよび／または他のグローバルまたはローカルコンピュータネットワークを含むことができる。記述されている例示的実施形態では、管理カード１７０および１７２は、交換バックプレーンに結合され、パケット交換ノード１８０のオペレーションのサポートでさまざまな機能を制御できる。
【００１６】
図３は、図２のラインカード１２４、１２６、１２８の１つまたは複数と同様であり得る、例示的ラインカード１５０の簡略ブロック図である。記述されている例示的ラインカード１５０は、ＬＡＮ間に結合されたアクセスコントローラ１５４と、パケット交換コントローラ１５２とを備えることができる。記述されている例示的アクセスコントローラ１５４は、ＬＡＮからインバウンドパケットを受信でき、インバウンドパケット上でフロー独立物理およびＭＡＣレイヤオペレーションを実施できる。記述されている例示的アクセスコントローラ１５４は、フロー依存処理のために、インバウンドパケットをパケット交換コントローラ１５２に送信できる。アクセスコントローラ１５４はまた、アウトバウンドパケットをパケット交換コントローラ１５２から受信することもできる。アクセスコントローラは、アウトバウンドパケット上で物理およびＭＡＣレイヤオペレーションを実施し、アウトバウンドパケットをＬＡＮへ、またはたとえば図２のコンピュータネットワーク１２０などのコンピュータネットワークへ送信することができる。
【００１７】
記述されている例示的パケット交換コントローラ１５２は、インバウンドパケットを受信し、パケットを分類し、インバウンドパケットのためのアプリケーションデータを生成し、アプリケーションデータに従ってインバウンドパケットを修正し、たとえば図２の交換バックプレーン１６０などの交換バックプレーン上で修正されたインバウンドパケットを送信することができる。一例示的実施形態では、パケット交換コントローラ１５２はまた、交換バックプレーンを介して他のパケット交換コントローラからアウトバウンドパケットを受信し、ＬＡＮに、またはたとえば図２のコンピュータネットワーク１２０などのコンピュータネットワークに転送するために、アウトバウンドパケットをアクセスコントローラ１５４に送信することができる。他の実施形態では、パケット交換コントローラ１５２はまた、アクセスコントローラ１５４に転送する前に、１つまたは複数のアウトバウンドパケットを出口処理することもできる。パケット交換コントローラ１５２は、非プログラマブル論理、プログラマブル論理、またはプログラマブル論理と非プログラマブル論理との任意の組み合わせで実施できる。
【００１８】
記述されている例示的実施形態では、管理カードは、ネットワークレイヤでルーティング機能を管理できる。記述されている例示的管理カードは、１つまたは複数の専用ルーティングプロトコルを実行する汎用プロセッサを備えることができるか、あるいは専用ハードウェアを使用して実施できる。一例示的実施形態では、管理カードは、ルーティングデータベースまたはルーティングテーブルを維持できる。ルーティングテーブルは、全ネットワークのトポロジ全体を反映する。
【００１９】
再び図２を参照すると、本発明の一例示的実施形態では、管理カード１７０および１７２は、トポロジに関連する情報を交換するために、交換バックプレーン１６０とラインカード１２４、１２６、１２８とを介して、ネットワーク内の隣接ルータとピアセッションで通信でき、その結果、ルーティングテーブルは、ネットワークトポロジ内で変更があった場合においても現行のまま保たれる。したがって、たとえば、ネットワークセグメント上で新しいノードが構成された場合にも、その情報は、ネットワーク全体を通じてピアセッションで同報通信されて、それぞれのルータが、現在のセッション状態を反映するためにそのルーティングテーブルを更新できるようになる。
【００２０】
本発明の一例示的実施形態では、転送テーブルをラインカード上に記憶して、それぞれの受信されたパケットの宛先アドレスを、それによってパケットが転送されるルートの識別情報にマッピングすることもできる。記述されている例示的実施形態では、ラインカード上のさまざまな転送テーブルは、管理カードによって記憶されているルーティングテーブルからの情報のサブセットを有することができる。一例示的実施形態によれば、管理カードは、共用メモリ通信経路１９０を介してルーティングテーブルへの変更が起きると、ラインカード上の個々の転送テーブルを周期的に更新できる。
【００２１】
オペレーションにおいては、データパケットがラインカードに到達すると、パケット交換コントローラ１５２（図３参照）は、少なくとも一部の宛先アドレスに基づいて、次のホップ判断を行うことができる。たとえば一実施形態では、パケット交換コントローラは、アドレスマッチングアルゴリズムを利用して、受信されたデータパケットのネットワークレイヤヘッダ内に置かれた宛先アドレスに対応するエントリについて転送テーブルを捜すことができる。パケット交換コントローラは、次いで、特定のネットワークの最大速度ケーパビリティであるワイヤ速度またはライン速度と呼ぶ速度で、交換バックプレーン１６０を通じて適切なラインカードにパケットを転送できる。受信側のラインカードは、次いで、パケットを適切なネットワークセグメントに送信する。さらに、制御メッセージがピアセッション中にラインカードに到達すると、パケット交換コントローラは、交換バックプレーンを通じて対応する管理カードにパケットを転送できる。
【００２２】
図４は、本発明の一例示的実施形態による、プログラマブルパケット交換コントローラ２００のブロック図である。プログラマブルパケット交換コントローラ２００は、たとえば、図３のパケット交換コントローラ１５２と同様であり得る。記述されている例示的実施形態では、プログラマブルパケット交換コントローラ２００は、パケットの入フローを分類しルーティングするためのフロー分析論理を有することができる。他の実施形態におけるパケット交換コントローラは、ある程度の数の構成要素を備えることができる。
【００２３】
たとえば、別の実施形態におけるパケット交換コントローラは、マッチングするものを探すために、所定のパターンに対してパケット部分を比較するためのパターンマッチングモジュールを備えることができる。さらに別の実施形態におけるパケット交換コントローラは、アウトバウンドパケットを生成するために、インバウンドパケットを編集するための編集モジュールを備えることができる。さらに、またさらに他の実施形態におけるパケット交換コントローラが、プログラマブルパケット交換コントローラ２００内に含まれる構成要素に加えてまたは含まれる構成要素の代わりに、たとえばポリシングエンジンなどの他の構成要素を備えることができる。
【００２４】
そのプログラム可能であるという性質により、プログラマブルパケット交換コントローラ２００は、多くの異なるプロトコルおよび／またはフィールドアップグレード能力／プログラム能力を取り扱う際の柔軟性を実現することが好ましい。プログラマブルパケット交換コントローラ２００はまた、パケット交換コントローラ、交換コントローラ、プログラマブルパケットプロセッサ、ネットワークプロセッサ、通信プロセッサ、または当業者によって一般に使用される別の呼称で呼ばれることもある。
【００２５】
記述されている例示的プログラマブルパケット交換コントローラ２００は、パケットバッファ２０２と、パケット分類エンジン２０４と、アプリケーションエンジン２０６とを備える。プログラマブルパケット交換コントローラ２００は、インバウンドパケット２０８を受信することが好ましい。パケット（またはデータユニット）は、イーサネット（登録商標）フレーム、ＡＴＭセル、ＴＣＰ／ＩＰおよび／またはＵＤＰ／ＩＰパケットを有することができるが、それらに限定されるものではなく、他のレイヤ２（データリンク／ＭＡＣレイヤ）データユニット、レイヤ３（ネットワークレイヤ）データユニット、またはレイヤ４（トランスポートレイヤ）データユニットを備えることもできる。たとえば、パケットバッファ２０２は、イーサネット（登録商標）を介して１つまたは複数の媒体アクセス制御（ＭＡＣ）レイヤインターフェースからインバウンドパケットを受信できる。
【００２６】
例示的実施形態では、受信されたパケットは、パケットバッファ２０２内に記憶することができる。パケットバッファ２０２は、パケットを受信し、かつ一時的に記憶するために、パケットＦＩＦＯを有することができる。パケットバッファ２０２は、処理するために、記憶されたパケットまたはその一部分を、パケット分類エンジン２０４およびアプリケーションエンジン２０６に提供することが好ましい。
【００２７】
パケットバッファ２０２はまた、アウトバウンドパケット２１８として交換コントローラからパケットを転送する前に、それらを編集するための編集モジュールを備えることもできる。編集モジュールは、リアルタイムで編集プログラムを作成するための編集プログラム構築エンジン、および／またはパケットを修正するための編集エンジンを備えることができる。アプリケーションエンジン２０６は、パケットのための処置決定を有することのできるアプリケーションデータ２１６を、パケットバッファ２０２に提供することが好ましく、かつ一実施形態では、編集プログラム構築エンジンは、アプリケーションデータを使用して、編集プログラムを作成することが好ましい。アウトバウンドパケット２１８は、交換ファブリックインターフェースを介して、たとえばイーサネット（登録商標）などの通信ネットワークに送信できる。
【００２８】
パケットバッファ２０２はまた、ヘッダデータエキストラクタとヘッダデータキャッシュのいずれかまたはその両方を備えることもできる。ヘッダデータエキストラクタを使用して、パケットから１つまたは複数のフィールドを抽出し、抽出されたヘッダデータとして抽出されたフィールドを、ヘッダデータキャッシュ内に記憶することが好ましい。抽出されたヘッダデータは、パケットヘッダのいくつかまたはすべてを有することができるが、それらに限定されるものではない。イーサネット（登録商標）システムにおいては、たとえば、ヘッダデータキャッシュは、それぞれのフレームの最初のＮバイトを記憶することもできる。
【００２９】
一例示的実施形態では、抽出されたヘッダデータは、処理するために、パケット分類エンジン２０４への出力信号２１０内に提供されることが好ましい。アプリケーションエンジンはまた、インターフェース２１４を介して抽出されたヘッダデータを要求し受信することもできる。抽出されたヘッダデータは、レイヤ２ＭＡＣアドレス、８０２．１Ｐ／Ｑタグ状態、レイヤ２カプセル化タイプ、レイヤ３プロトコルタイプ、レイヤ３アドレス、ＴｏＳ（サービスのタイプ）値、およびレイヤ４ポート番号の１つまたは複数を有することができるが、それらに限定されるものではない。他の実施形態では、出力信号２１０は、抽出されたヘッダデータの代わりにまたは抽出されたヘッダデータに加えて、インバウンドパケット全体を有することができる。さらに他の実施形態では、パケット分類エンジン２０４を使用して、アプリケーションエンジンによって使用されるのに適切なフォーマット内に入れるよう、抽出されたヘッダデータを編集し、かつ／またはデータをヘッダデータキャッシュ内にロードすることができる。
【００３０】
一例示的実施形態では、パケット分類エンジン２０４は、プログラマブルマイクロコード駆動型の埋め込み処理エンジンを含むことができる。パケット分類エンジン２０４は、命令ＲＡＭ（ＩＲＡＭ）（図示せず）に結合されることができる。パケット分類エンジンは、ＩＲＡＭ内に記憶されている命令を読み取り、実行することが好ましい。一実施形態では、パケット分類エンジンによって実行される命令の多くが、条件付きジャンプである。この実施形態では、分類論理は、好ましくは異なるタイプのパケット分類を示すエンドポイントに葉を含む決定木を有する。さらに、記述されている例示的実施形態では、決定木の枝が、命令の条件とヘッダデータキャッシュ内に記憶されているヘッダフィールドとの間の比較に基づいて選択されることがある。他の実施形態では、分類論理は、決定木に基づかないことがある。
【００３１】
上述したように、管理カード１７０および１７２が、デバイスのルーティング機能を実施するためのプロセッサを備えることができる。一例示的実施形態では、管理カードプロセッサは、プログラマブルマイクロコード駆動型の埋め込み処理エンジンを備えることができる。管理カードは、プロセッサに結合された命令ＲＡＭ（ＩＲＡＭ）（図示せず）をさらに有することができる。プロセッサは、ＩＲＡＭ内に記憶されている命令を読み取り、実行することができる。
【００３２】
記述されている例示的実施形態では、管理カードの１つ、たとえば図２の管理カード１７０が、一次ルータまたはアクティブなルータの状態を呈することがある。さらに、管理カードの１つ、たとえば図２の管理カード１７２が、一次管理カードまたはルータ１７０のアクティブな状態を反映するまたは複製する、冗長または二次管理カードあるいはルータとして機能できる。二次管理カード（二次ルータとしても知られている）１７２は、一般に、一次管理カード（一次ルータとしても知られている）１７０が故障していなければスタンバイモードであり、この時点で、二次管理カードまたはルータ１７２へのフェイルオーバーが開始されて、二次管理カードまたはルータ１７２が、一次管理カードまたはルータ１７０のために代用されることが可能となる。
【００３３】
図２に例示した実施形態では、管理カード１７０が最初、一次ルータまたはアクティブなルータである場合は、上述したパケットルーティングをサポートするのに必要なさまざまな制御機能を実施する。たとえば、一次ルータは、隣接ネットワークデバイスとのピアセッションに参加して、ネットワークの全トポロジを維持することができる。しかし、記述されている例示的実施形態では、一次および二次ルータは、それぞれのピアセッションからの状態情報を共用して、一次サブシステムと二次サブシステムとの間のリアルタイム同期を維持する。
【００３４】
一実施形態では、一次および二次ルータ上の同じアプリケーションプログラム、および二次またはスタンバイルータを通って、ピアセッション中に一次ルータからまたは一次ルータへ向かう途中の移動制御メッセージを実行することにより、リアルタイム同期が得られる。この実施形態では、次いで二次ルータはパケットを処理して、ネットワークトポロジの現在の状態を反映する正確なルーティングテーブルを維持するために、ピアセッションを監視することができる。
【００３５】
図５は、出制御または信号メッセージ、すなわちピアセッション中に一次ルータからピアルータに送信されるフレームのための、二次ルータプロトコルスタックの処理を図示する。たとえば、境界ゲートウェイプロトコル（ＢＧＰ）を操作する二次ルータが、出ＴＣＰ／ＩＰフレームを受信すると、その二次ルータは、インターフェースに関連するネットワークレイヤ３００を通ってメッセージを送信する。このレイヤは、受信されたフレームがＩＰフレームであることに注目し、あれば、メッセージの物理レイヤヘッダおよびトレーラを取り除き、メッセージをＩＰレイヤ３１０まで送信する。記述されている例示的実施形態では、ＩＰレイヤ３１０は、フレームの宛先アドレスを判断し、フレームがＴＣＰフレームであることを判断でき、フレームをＴＣＰストリームハンドラ３２０に渡すことができる。ＴＣＰストリームハンドラは、シーケンス番号を識別し、ストリームがＢＧＰストリームであることを識別する。
【００３６】
記述されている例示的実施形態では、ＢＧＰレイヤ３３０は、信号または制御メッセージ内の状態情報を調べて、たとえば更新テーブルエントリが、一次ルータによってピアルータに通信されているかどうかを判断することができる。例示的実施形態によれば、ピアルータによって追加または更新されたルーティングテーブルエントリを、二次ルータのルーティングテーブル内に追加または更新して、ピアルータの観点から見たセッション状態の正確な認識を維持することもできる。
【００３７】
同様に、図６は、入フレーム、すなわちピアルータからコンピュータネットワークを介して一次ルータに送信されるフレームのための二次ルータプロトコルスタックの処理を図示する。例示的実施形態によれば、二次ルータは、コンピュータネットワークから入フレームを受信し、それらを一次ルータにルーティングする。たとえば、境界ゲートウェイプロトコル（ＢＧＰ）を操作する二次ルータが、出ＴＣＰ／ＩＰフレームを受信すると、二次ルータは、インターフェースに関連するネットワークレイヤ４００を通ってメッセージを送信する。このレイヤは、受信されたフレームがＩＰフレームであることに注目し、あれば、メッセージの物理レイヤヘッダおよびトレーラを取り除き、ＩＰレイヤ４１０までメッセージを送信する。
【００３８】
記述されている例示的実施形態では、ＩＰレイヤは、フレームの宛先アドレスを判断し、フレームがＴＣＰフレームであることを判断でき、フレームをＴＣＰストリームハンドラ４２０に渡すことができる。ＴＣＰストリームハンドラは、シーケンス番号を識別し、ストリームがＢＧＰストリームであることを識別する。一実施形態では、二次ルータがバックアップモードで動作している場合には、ＴＣＰレイヤは、ピアセッション中に入制御メッセージへの肯定応答を生成しない。
【００３９】
記述されている例示的実施形態では、ＢＧＰレイヤ４３０が、信号または制御メッセージの状態情報を調べて、たとえば更新テーブルエントリが通信されているかどうかを判断することができる。次いで二次ルータは、ルーティングテーブルを応じて更新して、一次ルータの観点から見たセッション状態の正確な認識を維持することができる。この例では、ＢＧＰおよびＴＣＰが例示されているが、本発明は、たとえばＯＳＰＦやＵＤＰなどの複数のプロトコル、および他のプロトコルの組み合わせと合わせて使用することもできる。
【００４０】
本発明がさまざまな方式で実施できることは、当業者なら理解されるであろう。たとえば、図７を参照すると、本発明の一例示的実施形態では、一次ルータ１１０は、たとえば、さまざまなルーティングプロトコルのいずれかに従って、交換バックプレーン１６０を介して二次ルータ１１６に制御メッセージを転送できる。この実施形態では、二次ルータは、出制御フレームを処理し、ピアルータの観点から見たセッション状態を反映するために、処理されたメッセージに応答してそのルーティングテーブルを更新できる。次いで二次ルータは、プロトコルピア１２２に同報通信するために、制御フレームを交換バックプレーンに転送できる。
【００４１】
同様に、記述されている例示的実施形態では、一次および二次ルータに結合されるラインカードは、ピアセッション中に受信された入制御または信号メッセージを、交換バックプレーンを介して二次ルータに転送するようプログラミングできる。記述されている例示的実施形態では、二次ルータは、次いで入制御メッセージを処理し、一次ルータの観点から見た現在のセッション状態を反映するために、処理されたメッセージに応答してそのルーティングテーブルを更新できる。この実施形態では、二次ルータは、交換バックプレーンを介して一次ルータに制御メッセージを転送できる。
【００４２】
二次ルータが故障した場合には、二次ルータを通ってピアセッション中に一次ルータからまたは一次ルータに向かう途中の移動制御メッセージが、一次ルータとの制御プレーン通信に割り込むことができることは、当業者なら理解されるであろう。したがって、記述されている例示的実施形態では、一次ルータは、また二次ルータの状態を監視することもできる。たとえば、一次ルータは、状態要求を二次ルータに周期的に転送できる。この実施形態では、二次ルータが肯定応答で応答しなかった場合には、一次ルータは、二次ルータが故障していると仮定することがある。
【００４３】
あるいは、二次ルータは、状態メッセージを一次ルータに自動的に転送できる。この実施形態では、一次ルータが、二次ルータからスケジュールされた状態メッセージを受信しなかった場合には、一次ルータは、再び、二次ルータが故障していると仮定することがある。記述されている例示的実施形態では、一次ルータが二次ルータの故障を検出すると、一次ルータは、結合されるラインカードに、直接、一次ルータに制御メッセージを転送するよう命令できる。さらに、一次ルータはまた、故障した二次ルータをバイパスして、交換バックプレーンおよび結合されるラインカードを介してピアルータに制御メッセージを、直接に同報通信することもできる。
【００４４】
本発明の一例示的実施形態を記述してきたが、それが特許請求の範囲を限定するものとみなすべきではない。記述されている実施形態に対するさまざまな修正形態を実施でき、かつ他の多くの構成を用いてもこれと同じ結果を得ることが可能であることは、当業者なら理解されるであろう。たとえば、図８に例示されている簡略ブロック図を参照すると、一例示的代替実施形態では、プロトコルメッセージが、ピアセッション中に二次ルータを通って間接的に通信されていない。むしろ、ラインカード（図示せず）は、一次ルータ１１０と二次ルータ１１６の両方に、たとえばＢＧＰメッセージなどの入ルーティングプロトコルメッセージを転送できる。
【００４５】
さらに、この実施形態では、二次ルータは、一次ルータからネットワークの反対側の１つまたは複数のピアルータに、出メッセージを処理またはスヌープしないことがある。したがって、一次ルータは、二次ルータを監視して、二次ルータの故障によって引き起こされる可能性のあるピアセッション割込みを回避する必要がない。
【００４６】
オペレーションにおいては、二次ルータは、一般に、バックアップロールで機能している場合には、ピアセッション中に入プロトコルメッセージに応答または肯定応答しない。むしろ、二次ルータは、再び一次ルータの状態を監視し、一次ルータが故障したとき、ルーティングプロトコルメッセージへの応答を開始することができる。たとえば一実施形態では、二次ルータは、共用メモリメッセージングインターフェース１９０（図２参照）を介して、一次ルータを断続的にポーリングすることができ、一次ルータが応答しないと思われた場合には、直ちにプロトコルメッセージに応答を開始することができる。
【００４７】
さまざまな業界の当業者にとっては、本明細書の本発明自体が、他のタスクに対するソリューションおよび他の適用形態への適応を示唆していることであろう。本発明の趣旨および範囲から逸脱することなく、開示目的で本明細書に記載した本発明のこのような使用と、本発明の実施形態に対して実施できるであろう変更形態および修正形態とのすべてを、特許請求の範囲によって包含することが本出願人の意図である。
【図面の簡単な説明】
【００４８】
【図１】本発明の一例示的実施形態に従って、コンピュータネットワーク全体に通信をルーティングするために、複数のホストと一次および二次ルータとを備えたローカルエリアネットワーク（ＬＡＮ）を示すシステムブロック図である。
【図２】本発明の一例示的実施形態による、ルータなどのパケット交換ノードを備えたネットワーク環境を示す簡略ブロック図である。
【図３】本発明の一例示的実施形態による、ラインカードのブロック図である。
【図４】本発明の一例示的実施形態による、パケット交換コントローラである。
【図５】本発明の一例示的実施形態による、図１の二次ルータによる出制御メッセージのプロトコルスタック処理を図示する。
【図６】本発明の一例示的実施形態による、図１の二次ルータによる入制御メッセージのプロトコルスタック処理を図示する。
【図７】本発明の一例示的実施形態による、ピアセッション中の一次ルータと二次ルータとの間の制御メッセージのルーティングを例示する、ローカルエリアネットワークの簡略ブロック図である。
【図８】本発明の一例示的実施形態によるピアセッション中に、入プロトコルメッセージが一次ルータと二次ルータの両方に転送される、代替ローカルエリアネットワーク（ＬＡＮ）の簡略ブロック図である。
【図１】
2004527980.tif 000003
【図２】
2004527980.tif 000004
【図３】
2004527980.tif 000005
【図４】
2004527980.tif 000006
【図５】
2004527980.tif 000007
【図６】
2004527980.tif 000008
【図７】
2004527980.tif 000009
【図８】
2004527980.tif 000010
【国際公開パンフレット】
2004527980.tif 000011
2004527980.tif 000012
2004527980.tif 000013
2004527980.tif 000014
2004527980.tif 000015
2004527980.tif 000016
2004527980.tif 000017
2004527980.tif 000018
2004527980.tif 000019
2004527980.tif 000020
2004527980.tif 000021
2004527980.tif 000022
2004527980.tif 000023
2004527980.tif 000024
2004527980.tif 000025
2004527980.tif 000026
2004527980.tif 000027
2004527980.tif 000028
2004527980.tif 000029
2004527980.tif 000030
2004527980.tif 000031
【国際調査報告】
2004527980.tif 000032
2004527980.tif 000033