説明

パケット交換通信網における迅速な端末間フェイルオーバーを提供する方法及び装置

【課題】迅速な端末間(エンドツーエンド)回復を可能にしたハードウェアをベースにしたフェイルオーバー機構が提供される。
【解決手段】ハードウェア・ロジックは、通信ネットワークの一端(一つのエンド)からもう1つの端(もう一つのエンド)に送られ、次に、戻される枢要部パケットを、周期的に発生し、送信し、受信し、そして処理する。通信ネットワーク・ノードまたは通信リンク故障が移送経路に沿って経験されているならば、次に、ハードウェア・ロジックは、運ばれている影響されたトラフィックを、代表的には数マイクロ秒以内で、予め創設されたバックアップ移送経路に交換する。通信ネットワークの回復力及び利用可能性を改善した供給された通信サービスの連続的な送出を可能にするという利点が、端末間(エンドツーエンド)で行われる迅速なフェイルオーバーから導出される。

【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本件出願は、2004年6月30日に提出された共同譲渡された米国特許出願シリアル番号第10/881,226号の一部継続出願である。
発明の分野
本発明は、パケット交換通信に関し、特に、ネットワークの故障を検出して迅速な端末間(エンドツーエンド)フェイルオーバーを提供する方法及び装置に関する。
【背景技術】
【0002】
フェイルオーバーは、現代の通信網もしくは通信ネットワークにおいて、最も多く望まれている機能の1つである。フェイルオーバー機能は、通信ネットワークにおいて経験されたもしくは遭遇された通信リンクまたは通信ネットワーク・ノードの故障を自動的に検出し、影響を受けたトラフィックを、欠陥のある通信リンクまたは欠陥のある通信ネットワーク・ノードと離れた代替の経路に切換える。影響を受けたトラフィックを1つの経路からもう1つの経路に切換えるプロセスは、高い優先順位、高い帯域幅、または経験を受けている破損状態からのリアルタイムの流れを保護するように充分に迅速に生じなければならない。
【0003】
フェイルオーバーを提供する現存の体系(スキーム)は、参照によりここに組み込まれるIEEE802.1dプロトコルに記載されたレイヤ2のスパニング・ツリー・プロトコル及び/またはレイヤ3の経路付け制御プロトコルのいずれかに依存しており、レイヤ3の経路付け制御プロトコルは、それに制限されるものではないが、例えば、the Border Gaterway Protocol (BGP), Cisco’s Interior Gateway Routing Protocol (IGRP), Open Shortest Path First (OSPF) のようなものであり、これらのすべては参照によりここに組み込まれるものとする。レイヤ2のスキームを用いれば、スパニング・ツリー・プロトコルは、通信リンク及び/または通信ネットワーク・ノードが故障したときはいつも、ネットワークに及ぶ非環式のセットのエッジを動的に修正する。レイヤ3では、経路付け制御プロトコルは、正当な通信リンクまたは通信ネットワーク・ノードの故障を含め、通信ネットワーク・トポロジが変化したときはいつも、代替の経路を計算する。
【0004】
しかしながら、上述の2つのスキームのいずれの1つも、高い優先順位、高い帯域幅、またはリアルタイムのサービスに対するサービスの破壊を保護するように充分に迅速であるフェイルオーバーを提供しない。スパニング・ツリー・プロトコルの代表的な収束時間、すなわち、新しいスパニング・ツリーを計算するのにかかる時間、は、約45秒である。最近、迅速なスパニング・ツリー・プロトコルIEEE802.1w(参照によりここに組み込まれるものとする)が、非常に小さいスパニング・ツリー/通信ネットワークに対して、予想される収束時間を5秒に減少するために提案されてきた。従って、大きいスパニング・ツリー/通信ネットワークに対する収束時間は、未だ、各余分のホップ(extra hop)ごとに追加の5秒で測定される数10秒である。レイヤ3の経路付け再計算は、等しく低速である。
【0005】
関連の技術は、2002年10月31日にWang等によって提出された“High Availability Ethernet Backplane Architecture”という名称の同時係属中の共同譲渡された米国特許出願番号第10/284,856号、並びに米国特許出願番号第10/284,856号の一部継続出願である、2002年12月20日にWang等によって提出された“Apparatus for Link Failure Detection on High Availability Ethernet Backplane”という名称の同時係属中の共同譲渡された米国特許出願番号第10/326,352号を含んでおり、これら双方とも参照により、ここに組み込まれるものとする。これらの関連の同時係属中の共同譲渡された米国特許出願は、通信ネットワーク・ノードをベースとしたフェイルオーバーの機能を記載しており、ここに、冗長ノード・ボード及び冗長スイッチ・ファブリック・ボードは、リンク故障が検出されたときに、各々が作業ポートに対するフェイルオーバーを独立的に開始することができるように、付属の通信リンクの完全性チェック(インテグリティ・チェック)をごく普通に行う。
【0006】
関連技術は、発明的かつ効果的なホップバイホップのフェイルオーバーの通信ネットワーク・ノードをベースにした望ましい機能を記載しているけれども、迅速な端末間(エンドツーエンド)機能を提供する必要性がある。
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の目的は、上述のフェイルオーバーの問題を扱うことである。
【課題を解決するための手段】
【0008】
本発明の態様によれば、通信ネットワークのフェイルオーバー性能を改善するための方法及び装置が提供される。
【0009】
本発明のもう1つの態様によれば、通信ネットワークに渡って設けられた少なくとも1つの通信セッションに関連したパケットを処理するに際してパケット切換え及びルーティングの一方を行うための通信ネットワーク・ノードが提供される。フェイルオーバー機能を支援するにおいて、該ネットワーク・ノードは:少なくとも1つの受信されたデータ・パケット及び少なくとも1つの枢要部パケットの一方を、通信セッションに対応するトラフィック・フローに関連させるためのハードウェア選別器と;少なくとも1つの枢要部パケットから導出された情報に基づいて、トラフィック・フローがネットワーク故障によって影響されているということをアサートするためのハードウェア枢要部プロセッサと;影響されたフローに関連した各データ・パケットを、フェイルオーバー移送経路に切換えるためのハードウェア・フェイルオーバー・モジュールと;を備える。
【0010】
本発明のさらにもう1つの態様によれば、通信ネットワークを横切って移送経路に渡って設けられる監視されたセッションのための端末間(エンドツーエンド)フェイルオーバー保護を提供する方法が提供される。該方法は:監視されたセッションに関して運ばれたパケットのパケット・ヘッダに保持された情報に基づいて枢要部リクエスト・パケットを発生し;監視されたセッションについて運ばれたパケットのヘッダに特定された送信先ネットワーク・アドレスにアドレス指定された枢要部リクエスト・パケットを送信し;監視されたセッションが、通信ネットワークを横切って移送経路において遭遇されたネットワーク故障によって影響されるということを選択的にアサートし;そして影響され監視されたセッションと関連するデータ・パケットを、対応のフェイルオーバー移送経路に切換える、ようにしている。
【発明の効果】
【0011】
通信ネットワークの回復力及び利用可能性を改善した供給された通信サービスの連続的な送出を可能にするという利点が、端末間(エンドツーエンド)で行われる迅速なフェイルオーバーから導出される。
【0012】
本発明の特徴及び長所は、添付図面を参照して為される例示的な実施形態の以下の詳細な説明から明瞭となるであろう。
なお、添付図面において同様の特徴は類似の符号を付されていることに注意されたい。
【発明を実施するための最良の形態】
【0013】
本発明の例示的な実施形態によれば、迅速な端末間(エンドツーエンド)回復を可能とするハードウェアをベースにしたフェイルオーバー・スキームが提供される。
【0014】
高速の端末間フェイルオーバー機能に対する支援を提供する例示的な通信ネットワーク・ノードのアーキテクチャは、Yik等によって2004年6月30日に提出された“Combined Pipelined Classification and Address Search Method and Apparatus for Switching Environments”という名称の同時係属中の共同譲渡された米国特許出願シリアル番号第10/881,226号に記載されており、この内容は、参照によりここに組み込まれるものとする。
【0015】
本発明の例示的な実施形態によれば、パケット交換ノードの端末間フェイルオーバー機構のアーキテクチャが提供される。迅速なフェイルオーバーは、通信ネットワークの局部化された故障に起因する破損無しで、臨界的な端末間サービスの継続的な提供を保証することを試みる重要な機能である。
【0016】
本発明の例示的な実施形態によれば、従順な通信ネットワーク・ノードと関連したハードウェア・ロジックが、端末間の迅速なフェイルオーバーを行うに際し、通信ネットワークの故障を検出するために枢要部のパケット上で動作を行う。従順な通信ネットワーク・ノードは、枢要部のパケットを周期的に発生して通信ネットワークの一端からもう一端に伝送し、そして戻し、パケットが通信ネットワークを横切って移送経路(トランスポートパス)に沿って運ばれるとき、保護されるセッションに関して運ばれるパケットによって用いられる動作状況の通信ネットワーク・ノードのインフラストラクチャを調査する。調査された経路に沿ったいずれかの場所でネットワークの故障が検出されたならば、次に、ハードウェア・ロジックは、管理プロセッサの介在無しで、保護された端末間セッションに関して運ばれたトラフィックを、予め定義されたフェイルオーバーのスタンドバイ(待機、予備)経路に切換える。従って、ネットワーク故障に対する端末間保護が、送信元と送信先との間の通信ネットワークを介する経路に沿って故障した通信ネットワークのインフラストラクチャに応答して、提供される。
【0017】
枢要部のパケットを介して保護されたセッションを監視することは、同じセッション内容のフローと関連したデータ・パケットと枢要部のパケットとが、送信元から送信先まで通信ネットワークを横切って同一の移送経路を横断するということを仮定する。この仮定は、最善の努力かつ非決定性のパケット転送技術を代表的に用いる、インターネット・プロトコル(IP)通信ネットワークに関して必ずしも有効ではないかもしれない。例えば、負荷平衡が用いられ得、それにおいて、ルータは、同じ送信先IPアドレスを有するパケットに対して異なった道筋(経路)を選択し得る。しかしながら、ほとんどの通信ネットワークにおいて、この仮定は有効であり、特に、3G IP通信ネットワークまたは私設ネットワークのような良く制御された環境において有効である。
【0018】
図1は、例示的システム100の例示的な高レベル・アーキテクチャを示す。移送経路102は、通信ネットワーク106を横切って少なくとも1つの保護されたセッションのためのパケット104を運ぶ。通信セッション識別子を所持するパケット104は、ホスト108−Aによって発生され、ホスト108−Bに送られ、そして、スイッチ/ルータ(SR)110−1からSR110−2まで通信ネットワーク106を横断する。移送経路102を介して搬送されるパケット104は、SR110−2で通信ネットワーク106を出て、通信ネットワーク106の配分部分114を介してホスト・ノード108−Bに送られる。対応のフェイルオーバー・スタンドバイ経路112は、SR110−1及びSR110−3の間で、通信ネットワーク106における異なった道筋(経路)に追随して、優先的に設けられる。ホスト108−Bは、また、SR110−3に接続されるダウン・リンク(114)をも有する。
【0019】
通常動作中、SR110−1は、ホスト108−Bに向かって枢要部のパケット116を周期的に送ることによって、移送経路102を用いる保護されたセッションの状況を監視する。各枢要部(HB:heartbeat)のパケット116を受信すると同時に、SR110−2は、SR110−1に対して予め決められた反対方向に移動する枢要部のパケット118を戻すことによって応答する。本発明のもう1つの履行によれば、枢要部のパケット116は、本発明の例示的実施形態を履行するカスタマのルータのようなカスタマ前提設備(ホスト・ノード108−Bによって例示される)に、通信ネットワーク106の配分部分114を横切って運ばれ得る。このような履行によれば、端末間のフェイルオーバーの保護が、通信ネットワーク106の配分部分114によって経験される故障についても与えられる。
【0020】
図2を参照すると、もし、SR110−1が、予め限定された時間周期内に枢要部のパケット118の応答を受信しないならば、次に、故障状態120が、移送経路102に沿ったどこかの場所で遭遇されてしまっていることを、保護されたセッションに関してアサート(assert)される。SR110−1は、移送経路102からフェイルオーバー・バックアップ経路112に、保護されたセッションに関して運ばれるすべてのパケット・トラフィックに渡って切換わる。本発明の例示的な実施形態の例示的な履行によれば、フェイルオーバー・バックアップ経路112は、通信ネットワーク106における配置されたリソースを保存するように、通常は消勢されており、この場合においては、フェイルオーバー・スタンドバイ経路112に渡って内容トラフィックを切換える前に、フェイルオーバー・スタンドバイ経路112は、付勢される。
【0021】
上述において、内容パケット104及び保護される移送経路102間の関連がほのめかされる。実際、パケット・トラフィック104には、通信セッション/パケット・フロー識別子が付され、保護された移送経路102は、通信セッション及び/またはパケット・フローと関連している。パケットの、特定の通信セッション/パケット・フローとの関連は、SR110−1のパケット選別器(classifier)要素によって決定される。代表的には、各パケット104の、通信セッション/パケット・フローとの関連を決定するに際し、パケット選別器は、各パケット104のヘッダ内に運ばれる少なくとも1つのパケット・ヘッダ・フィールド値に与えられるルールを用いる。従って、分類されたパケット104は、移送経路102によって横断される通信ネットワークのインフラストラクチャの動作状況に依存して、関連のセッション/パケット・フローに対するフェイルオーバー・バックアップ経路112に、または作業保護される移送経路102に、のいずれかに向けられ得る。
【0022】
本発明の例示的な実施形態によれば、パケット・トラフィックの、フェイルオーバー・バックアップ経路112への切換えは、送信先メディア・アクセス制御(MAC)アドレスを変更することによってか、または、ネットワーク故障に遭遇した保護されたセッションと関連するパケットのヘッダ内における送信先MACアドレス及び送信先IPアドレスの双方を変えることによってか、のいずれかによってハードウェア内で行われる。
【0023】
フェイルオーバー機構の例示的なアーキテクチャ200が図3に示されており、該図3は、本発明の例示的な実施形態を履行する通信ネットワーク設備によって用いられている3つの一次モジュールを示す。各モジュールは、以下に一層詳細に説明される。
【0024】
選別器(クラスファイア)202は、以下のために用いられる:
− 枢要部のパケット(リクエスト116及び応答118の双方)を識別するために;
− 枢要部のプロセッサ204に枢要部のパケット116/118を送るために;そして
− 保護されたセッション/フローに属するデータ・パケット104を識別するために、用いられる。
【0025】
枢要部のプロセッサ204は、以下のために用いられる:
− 出て行く枢要部のリクエスト・パケット116を周期的に発生するために;
− 選別器202によって識別された入って来る枢要部のリプライ118パケットを処理するために;
− 枢要部のパケット116/118からネットワーク故障の存在をアサートするために;そして
− ネットワーク故障の存在が、保護されたセッション/フローに関してアサートされる場合に、該アサーションについてフェイルオーバー・モジュール206に知らせるために、
用いられる。
【0026】
フェイルオーバー・モジュール206は、保護されたセッション/フローに関連したパケットのヘッダ内のネットワーク・アドレスを置き換えることによって、作業している移送経路102からバックアップ移送経路112に、特定のセッション/フローに属するパケットを切換えるために用いられる。
【0027】
本発明の例示的な実施形態によれば、選別器202は、ハードウェアにより例示された分類ルールの集合に対してパケット・ヘッダ内のフィールド値を整合させることによって、受信されたパケット104/116/118をフローに分類する。トラフィック・グループの多数のセッションが、単一のフローに属するものとして分類され得、多数のセッション及びフローに関連するパケットは、特定の移送経路102に沿って運ばれ得る。選別器202の例示的な履行は、上で同定した優先権の米国特許出願10/888,226に提起されている。他の例示的な履行は、Ternary Content Addressable Memory (TCAM)の使用、マイクロシーケンサの使用、またはハードウェア・ステート・マシンの使用を含む。受信されたパケット104/116/118が分類ルール208と一度整合すると、パケット104/116/118は、セッション/フローと関連され、対応のセッション/フローID210が割り当てられる。フローは、パケットの集合であり、そのすべては、同じ分類ルール208と整合し、このことは、パケットがセッションまたはトラフィック・グループに属するということを意味するよう理解される。フローID210は、次に、フロー・アクション・テーブル214における対応のエントリ212を参照するために用いられ、該エントリ212は、対応のフローに属するすべてのパケット上で取られるべきアクションを特定する。枢要部のパケットは、通信セッションに関して発生されるけれども、フローが単一のセッションを構成し得るので、ここに記載されたスイッチ/ルータ110におけるパケット処理は、フロー・アクションについて単に理解され得、このようなすべての点において、用語“セッション”及び“フロー”は、構成要素であるセッションが枢要部(heartbeat)のパケットを介して保護されているという理由でフローが保護されるのであるという条件で、互換性を有して用いられる。フロー・アクションの詳細な説明のために、上で参照した優先権の米国特許出願10/881,226を参照されたし。ここでの関連のフロー・アクションは、枢要部のパケット116/118及びフェイルオーバーを行うアクションの処理に関している。
【0028】
例示的な端末間(エンドツーエンド:end-to-end)フェイルオーバーの履行によれば、送信元ネットワーク・ノードSR110−1は、各保護されたセッションごとに2つの分類ルールに208に従って動作するよう構成されている。第1のルールは、各保護されたセッションごとに枢要部のパケット116/118を識別する。第2のルール208は、各保護されたセッションごとに対応のデータ・パケット104を識別する。
【0029】
枢要部のパケット116/118及びデータ・パケット104を識別する分類ルール208を限定することは、非常に柔軟である。完全照合が、高められた柔軟性のためのワイルドカードでもって、多数のパケット・ヘッダ・フィールドに関して行なわれ得る。例えば、分類ルール208は、以下のフィールドの組み合わせで整合するように構成され得る。
【0030】
【表1】

【0031】
例示的な履行によれば、各分類ルール208は、また、関連の3ビット重み付けを有する。パケット104/116/118の分類が、多数のルールに対応する多数の整合を戻すならば、選別器202は、ルールの重みに基づいてルール208を選択する。
【0032】
動作中、選別器202は、パケット・ヘッダの特定の多数のフィールドを、(任意のワイルドカードを考慮して)分類ルール208の各々における値と比較し、ルールの重みは、多数の整合間で選択されるよう用いられ、そして最後に、パケット・ヘッダの“最高”を整合させる単一のルール208を生成する。もし、多数のルールが、整合されたならば、最高の重みを有するルールは、整合されたルールとして選択される。ルールが同じ重みを有することが可能である。
【0033】
図4を参照すると、ルール208は、分類ルール・テーブル216におけるエントリとして特定化され、各分類ルール・テーブルのエントリは、フローID210と関連した識別子を有する。もし、同じ重みを有する多数のルール208が整合されたならば、次に、特定の履行に依存して、最高または最低のルール・エントリ識別子のいずれかを有するルール208が選択される。
【0034】
本発明の例示的な実施形態の例示的履行によれば、整合された分類ルール・テーブル・エントリ識別子が、フローID210として用いられる。
【0035】
受信されたパケットがフローID210に割り当てられた後、選別器202は、フロー・アクション・テーブル214へのテーブル・ルックアップを行うに際し、フローID210をインデックスとして用いる。フロー・アクション・テーブル214における各フロー・アクション・テーブル・エントリ212は、対応のフローに属するパケット上で行われるべきアクション(動作)のリストを特定する。例えば、各エントリ212において、アクション・コードが、行われるべき一次アクションを識別し、そして関連のパラメータも特定され得る。フロー・アクション・テーブル214における各エントリ212は、以下の例示的な情報を特定する:
【0036】
− アクション・コード:パケットについて/上で行われるべきフロー・アクションの符合化;
− 送信先ポート・マップ/枢要部フィールド/転送インデックス:このフロー・アクション・テーブル・エントリ・フィールドは、アクション・コードに依存する多数の意味を有する;
− VLAN ID置き換え:VLAN IDの可能化置き換え;
− VLAN ID:VLAN ID置き換えのための代用値;
− XP/DP置き換え:送信優先順位及び降下優先の可能化置き換え;
− XP:送信優先順位置き換えのための代用値;
− DP:降下優先置き換えのための代用値;
− スヌープ(Snoop):このパケットのミラー・ポートへのコピー;
− ポートID:ミラー・ポート仕様;
− TOSリマップ(Remap):IPヘッダのTOS/DSCPの可能化置き換え
− TOS/DSCP:TOS/DSCPフィールド置き換えのための代用値;
− 802.1pリマップ:パケット・ヘッダにおける802.1pフィールド(VLAN優先順位)を置き換え;
− 802.1p:802.1pフィールド置き換えのための代用値;
− レート・メタリング(Rate Metering):このフローのための可能化レート・メタリング;
− 計算(Counting):このフローのための可能化統計集合;そして
− メタリング/カウンタ・インデックス(Metering/Counter Index):フローのためのメタリング/計算のためのインデックス値。
【0037】
本説明は、フェイルオーバー関連のアクション(動作)だけに焦点を当てており、支援される他のフロー・アクションに関する詳細に対しては、上述の同時係属中の共同譲渡された優先権の米国特許出願10/881,226を参照されたし。フロー・アクション・モジュールは、包括的なセットのアクションを決定し、そのほとんどは、フェイルオーバー機能には無関係であり、特定のフローと関連されてしまったパケット上で動作される。アクションの1つが、フェイルオーバーと関連されるならば、必要なアクションは、フェイルオーバー・モジュール206によって行われる。
【0038】
2つのフィールド、特に:アクション・コード及び送信先ポート・マップ/枢要部フィールド/転送インデックスは、フェイルオーバーの機能に関係する。以下の表は、関連した例示的なアクション・コード及び関係付けられたパラメータを記載する:
【0039】
【表2】

【0040】
例示的に上に示したように、3つのフラッグ/ビットが、フェイルオーバー機能を可能化するまたは不能化するために用いられる:
− FLOVF−E:フェイルオーバー機能可能化フラッグ/ビット、もしロジック高“1”にセットされたならば、フェイルオーバー機構が対応のフローに対して可能化され、このことは、監視されたセッションに関してネットワークの故障が一度アサートされてしまうと、トラフィック104が特定のフェイルオーバー経路112に転送されるであろうということを意味する。
− FLOVE−H:ハードウェア可能化フラッグ/ビットは、代表的には、ハードウェア・ロジック200によってロジック低“0”に初期設定される。ネットワーク故障が、保護されたセッションに影響を与えるということを、枢要部のプロセッサ204が、アサートしたとき、枢要部のプロセッサ204は、このビットをロジック高“1”にセットする。もし、FLOVF−Eも1にセットされたならば(すなわち、自動フェイルオーバー機能が可能化されたならば)、次に、対応のフェイルオーバー移送経路112への自動フェイルオーバーが続いて起こるであろう。
− FLOVE−S:ソフトウェア可能化フラッグ/ビットは、FLOVE−S及びFLOVF−Eの双方がセットされたならば、内容トラフィック104をフェイルオーバー移送経路112に切換えるために提供する高レベル・スイッチ/ルータ110の制御によって制御され、ハードウェア・ロジック200によるネットワーク故障のアサーションをバイパスする。
【0041】
要約すれば、本発明の例示的な実施形態の例示的な履行によれば、ハードウェア・ロジック200は、セッションに対応するフローに対して、(FLOVF−E=1)AND (FLOVE−H=1 OR FLOVE−S=1)が論理的に真ならば、そして真であるだけならば、特定の保護されたセッションに対して、ハードウェアにおいて、MAC及び/またはIPアドレスのリマッピング(remapping)を行うであろう。もし、要件(論理的表現)が満足されないならば、次に、保護されたセッションの各パケット104の構成成分は、移送経路102を介して転送されるであろう。
【0042】
本発明の例示的な実施形態の例示的な履行によれば、ネットワーク故障が移送経路102に沿って通信ネットワークを横切って移送されるべきフローに向かうパケットによって経験されているということを、枢要部のプロセッサ204がアサートしているとき、信号220を選別器202に送ることによって対応のフローIDを特定する。信号220を受信すると同時に、選別器202は、FLOVE−Hビットをこのフローに対して“1”にセットする。
【0043】
本発明の例示的な実施形態によれば、フェイルオーバー・モジュール206は、故障された経路からバックアップ経路にパケットから切換えるために必要な送信先MACアドレスまたは送信先IPアドレスの置き換えを行う。
【0044】
選別器202は、以下の情報を有するフェイルオーバー・モジュール206を提供する:
− アクション・コード−送信先MAC ADDR(アドレス)または送信先IP ADDR置き換え;
− 監視されたセッションID;
− 修正されるべきパケット;
− フロー・アクション・モジュール222に後で通されるであろう、フェイルオーバー機能と無関係の他のフロー・アクション・パラメータ;そして
− パケットのためのスイッチ応答。
【0045】
予備スイッチ応答は、上述の同時係属かつ共同譲渡された優先権の米国特許出願10/881,226に例示的に記載されているように、選別器202によって発生され、そしてパケット104を適正に送信するよう、スイッチ/ルータ・ノード110の切換え機能に対して必要とされる情報を含んでいる。スイッチ応答は、非常に多くのフィールドを含んでおり、フェイルオーバー機能に関連した該フィールドは、次のものを含む。
【0046】
【表3】

【0047】
選別器202が、リマッピング・タスクを有するフェイルオーバー・モジュール206を提供するとき、該フェイルオーバー・モジュール206は、リマッピング・テーブル218の適切な行へのインデックスとして監視されたセッションIDを用い、テーブルにおける各エントリは、次のものを含む:
− 監視されたセッションを切換えるための送信先IPアドレスを特定するD−IP ADDR(アドレス)。このエントリは、送信先IPアドレスの置き換えのためだけに用いられる。
− 送信先ビット・マップは、監視されたセッションを切換えるための出現(エグレス)ポート・マップを特定する。
− VLAN TCIは、監視されたセッションを切換える際に用いられるべき新しいVLAN ID及び802.1p優先権を示す。
− VLANタグ・アウトは、各ポート上に転送される場合に、パケットがVLANタグで送信されるか否かを各ポートごとに1で示す、新しいVLANのためのVLANタグ・アウト・マップを特定する。
− DMACは、監視されたセッションを切換えるための送信先MACアドレスを示す。レイヤ3のリマッピングが生じるべきならば、次のホップMACアドレスを示す。
【0048】
パケットを処理するためのアクション・コードが、L2アドレス・リマッピング(remapping)を意味するならば、次に、リマッピング・テーブル218の正しいエントリから情報を抽出した後、フェイルオーバー・モジュール206の機能は、次のものを含む:
− 送信先ビット・マップ、VLANタグ・アウト、及びリマッピング・テーブル・エントリで特定される値ヲ有するVLAN TCIを置き換えることによって、予備スイッチ応答を修正する;
− リマッピング・テーブル・エントリで特定される値を有するパケット・ヘッダにおける送信先MACアドレスを置き換える;そして
− パケット・ヘッダが修正されてしまったとき、スイッチ応答における再計算サイクリック冗長チェック(CRC)ビットを論理高“1”にセットする。
【0049】
しかしながら、パケットを処理するためのアクション・コードが、L2及びL3アドレス・リマッピングを意味するならば、フェイルオーバー・モジュール206の機能は、パケットがブリッジされるかまたは経路付けられるかに依存して異なるであろう。L2データベースの検索が、送信先MACアドレスを管理プロセッサ・ポートに関連させることに帰結するならば、パケットが経路付けられる。また、送信先IPアドレスが変更されるときはいつも、レイヤ3(IP)及びレイヤ4のチェックサム(UDPまたはTCPのいずれか)も変更しなければならない。以下の表は、4つのIPリマッピング・シナリオの各々において、取られるアクションをリストアップしている。
【0050】
IPチェックサム及びTCPまたはUDPチェックサムは、参照によりここに組み込まれるIETF RFC 1624 に記載されるような送信先IPアドレス(及びもし適用可能ならば、TTL)に対する修正だけを考慮して、増分的に再計算され得る。
【0051】
すべての場合において、リマッピング・テーブル218における情報は、パケット・ヘッダ及びスイッチ応答を修正するために用いられる:
【0052】
【表4】

【0053】
本発明の例示的な実施形態によれば、枢要部のリクエスト・メッセージは、移送経路102に沿って送信元から送信先に、関連の監視されるセッション・データ・パケット104と同じ方向に送られる枢要部のパケット116にカプセル化される(encapsulated)。枢要部のリプライ・メッセージは、対応の枢要部のリクエストが受信されたということをセンダSR110−1に通知するために、送信先から送信元に逆方向に送られる枢要部のパケット118にカプセル化される。
【0054】
本発明の例示的な実施形態の履行によれば、枢要部のパケット116/118は、インターネット・コントロール・メッセージ・プロトコル(ICMP)フォーマットを有する。ICMPは、IPルータ及びホストにとって必須のプロトコルであり、広範に履行されている。欠陥ICMPフォーマットを用いれば、他の供給業者の設備との相互操作性からの利益を受ける。特に、ICMP枢要部リクエスト・パケット116は、ホスト・ノード108−Bが解釈の及び範囲を拡張するICMPプロトコルを履行する場合には、保護されたセッションの送信先ホスト・ノード108−Bに向けられ得るが、しかしながら、対応の枢要部のリプライ・パケット118の発生は、ICMPプロトコルの関数が、エンド・ホスト・ノードの特徴を良く表すようにソフトウェアで実行される場合には、遅延をこうむる。
【0055】
以下は、枢要部のパケット116のために用いられる、例示的な枢要部のICMPエコー(echo)・リクエスト・パケット・フォーマットである:
【表5】

【0056】
以下は、枢要部のパケット118のために用いられる、例示的な枢要部のICMPエコー・リプライ・パケット・フォーマットである:
【表6】

【0057】
ICMP識別子フィールドは、2バイトの長さであり、概して、ICMPエコー・リクエストをそれらの関連のリプライ(replies)と整合させるために用いられる、ということに注意されたし。本発明の例示的な実施形態によれば、監視されたセッションIDは、下部のバイト内に埋め込まれ:エコー・リクエストのICMPタイプは、0x08であり、エコー・リプライ(reply)のICMPタイプは、0x00である。
【0058】
本発明の例示的な実施形態のもう1つの履行によれば、枢要部パケット116/118は、アプリケーションの必要性に完全に満たすように操作管理職員によってプログラムされ得る柔軟な包括的(ジェネリックの)非ICMPフォーマットを有する。ジェネリック(包括的)・フォーマットは、改善された柔軟性を提供するけれども、フェイルオーバー機構は、他のエンド・ノードとは相互動作可能ではないかもしれない。
【0059】
ここで上述したように、選別器202は、枢要部パケット116/118を識別して、それを枢要部プロセッサ204に転送する。ジェネリック・フォーマットを有する枢要部パケットに対して、セッションIDと、カプセル化(インカプシュレート)された枢要部メッセージがリクエストであるかまたはリプライであるかに関する指示とが、フロー・アクション・テーブル214から検索されるものとして選別器202によって提供される。ICMPフォーマットを有する枢要部パケット116/118に対して、情報が、上述したように、枢要部プロセッサ204によってパケット・ヘッダから抽出される。
【0060】
本発明の例示的な実施形態によれば、枢要部プロセッサ204は、保護されたセッションごとのレコードを用いて枢要部パケット情報の経過を追い、各レコードは、枢要部パケットを発生するためにかつ以下のセッションの状況を監視するために必要な情報を提供する:
【0061】
− 可能化フラッグは、対応のセッションに対して枢要部リクエスト・パケット116の周期的送信を可能とする;
− 操作管理職員は、各監視されたセッションごとにリクエスト枢要部パケット116のための枢要部パケット・フォーマット−プログラム可能フォーマットを構成した。ジェネリック枢要部パケット・フォーマットが用いられる場合にのみ適用可能である;
− 操作管理職員は、それに制限されるわけだはないが、例えば、送信先マップ、VLAN仕様、及び優先仕様(ここで上述したような)のような情報を含むパケット116/118を転送するに際し、パケット116/118を切換えるために必要とされる情報を特定するスイッチ応答を構成した;
− 送信期間仕様:保護されたセッションのための連続した枢要部リクエスト・メッセージ(116)の送信間のプログラム可能な時間間隔、例示的には0.1msの単位にある;
− 送信タイマは、枢要部リクエスト・メッセージ(パケット116)が特定のセッションのために送られてから経過された時間の経過を、例示的には0.1msの単位で追う;
− プログラム可能な反復閾値は、監視されたセッションがネットワーク故障に遭遇しているということがアサートされる(asserted)前に、受信されている単一のリプライ無しで送られ得る連続した枢要部リクエスト・メッセージ(パケット116)の数を特定する;
− 反復カウンタは、受信されている単一リプライ無しで送られた連続した枢要部リクエスト・メッセージ(パケット116)の数を追跡する;そして
− フローID210の仕様は、保護されたセッションと関連する。
【0062】
本発明の例示的な実施形態によれば、保護された移送経路102に対して上流の“送信元”スイッチ/ルータ・ノード110−1は、枢要部パケット116にカプセル化(インカプシュレート)された枢要部リクエスト・メッセージを周期的に発生して送信し、保護された移送経路102に沿って遭遇された通信ネットワークのインフラストラクチャの状況を精査する。図5を参照すると、各監視された移送先経路102ごとに、上流SRノード110−1のフェイルオーバー機能500は、以下のものを含む:
【0063】
− 可能化フラグ=1(502)ならば、次に、上述したプログラム可能レートで増分される(506)送信タイマをスタートさせる(504);そして
− (循環的)送信タイマが送信期間に達したときはいつも(508)、枢要部プロセッサ204は、:
i. 該セッションのための枢要部リクエスト・パケット116を発生する(510);
ii. 枢要部リクエスト・パケット116を転送するために用いられる切換え情報を特定するスイッチ応答(レスポンス)を発生する(512);
iii. 切換え/ルーティング・ネットワーク・ノード110−1におけるパケットの集合したフローに枢要部パケット116及び対応のスイッチ応答を注入する(514);
iv. 送信タイマをリセットする(516);そして
v. 反復カウンタを増分する(518)。
【0064】
本発明の例示的な実施形態によれば、保護された移送経路102に対して下流の“送信先”または“ターゲット”スイッチ/ルータ・ノード110−2は、受信された枢要部リクエスト・メッセージに応答し、フェイルオーバー機能600は、以下のものを含む:
【0065】
− 受信された(602)枢要部リクエスト・パケット116を枢要部プロセッサ204に転送し(604)、もし、該パケットがICMPフォーマットを有するならば、該枢要部プロセッサ204は、
i. ICMPチェックサムを確認する(606);
ii. チェックサムが正しいならば、次に、枢要部プロセッサ204は、
1)パケット・ヘッダからセッションIDを検索する(608);
2)ICMP枢要部リプライ・パケット118におけるカプセル化(インカプシュレーション)のための枢要部リプライ・メッセージを発生する(610);
3)枢要部リプライ・パケット118を転送するに際し用いられるべき切換え情報を特定するスイッチ応答を発生する(612);
4)切換え/ルーティング・ノード110−2におけるパケットにスイッチ応答を有する枢要部リプライ・パケット118を注入する(614);そして
5)受信された枢要部リクエスト・パケット116を廃棄する(616);
iii. もし、チェックサムが正しくないならば(606)、次に、枢要部プロセッサ204は、枢要部リクエスト・パケット116を単に廃棄する(616)。任意選択的には、枢要部プロセッサ204は、受信された悪い枢要部リクエスト・パケット116について管理プロセッサに知らせ得る(618)。
− もし、受信された(602)枢要部リクエスト・パケット116がジェネリック・フォーマットを有するならば、次に、枢要部プロセッサ204及びプロセス600は、ステップ610から再開する。
【0066】
本発明の例示的な実施形態によれば、保護された移送経路102に対して下流の“送信先”または“ターゲット”スイッチ/ルータ・ノード110−2は、枢要部パケット118にカプセル化(インカプシュレート)された枢要部リプライ・メッセージを、SRノード110−1に送り戻す。枢要部リプライ・パケット118が、SRノード110−1で受信されたとき、選別器202は、それを枢要部プロセッサ204に転送する。
【0067】
図7を参照すると、ICMPフォーマットを有する枢要部パケット118のために、枢要部プロセッサ204のフェイルオーバー機能700は、さらに以下のものを含む:
【0068】
− もし、ICMPチェックサムが正しいならば(704)、受信された(702)枢要部パケットを枢要部プロッセ204に転送する(706);
− パケット・ヘッダから監視されたセッションIDを抽出する(708);
− 該セッションのために反復カウンタをリセットする(710);そして
− 枢要部リプレイ・パケット118を廃棄する(712)。
もし、ICMPチェックサムが正しくないならば、次に、枢要部プロセッサ204は、さらなるアクションを取って、受信されたリプライ枢要部パケット118を廃棄する。
【0069】
もし、受信された枢要部リプライ・パケット118がジェネリック・フォーマットを有するならば、次に、枢要部プロセッサ204のフェイルオーバー機能は、次の物を含む:
− 選別器202によって提供される場所からセッションIDを抽出する(708);
− 該セッションのために反復カウンタをリセットする(710);そして
− 枢要部リプライ・パケット118を廃棄する。
【0070】
上述したように、枢要部プロセッサ204は、枢要部リプライ・パケット118が、N個の(Nは各監視されたセッションごとに構成される)枢要部リクエスト・パケット116の周期シーケンスに応答して受信されなかったならば、セッションがネットワーク故障によって影響されたということを決定する。
【0071】
本発明の例示的な実施形態によれば、反復カウンタにおける値が反復閾値を超えたならば、次に、枢要部プロセッサ204は、セッションが故障を経験しているということを示す信号を選別器202に送る。該信号は、選別器202によって用いられる対応のフローID210を含んで、対応のフェイルオーバー移送経路112が用いられるべきであるフロー210を識別する。枢要部プロセッサ204は、また、スイッチ/ルータ・ノード110−1と関連した管理プロセッサにインターラプトを送る。
【0072】
選別器202が枢要部プロセッサ204からスイッチオーバー信号を受信すると、その後、選別器202は、フロー・アクション・テーブル214の対応のフロー・エントリ212におけるFLOVE−Hビットをロジック高“1”にセットする。結果として、該フローのための引き続くデータ・パケット104は、上述したようにアドレス・リマッピングのためにフェイルオーバー・モジュール206に転送されるであろう。
【0073】
高速フェイルオーバー機能は、ここで上述した例示的なハードウェアの履行によって与えられる:こうむるただ1つの遅延は、ネットワーク故障が生じたということを認識するために必要とされる時間に関するものである。検出におけるこの遅延は、連続する枢要部リクエスト間の送信間隔と、故障がアサートされる前の(対応のリプライのない)送信の数との積である。双方のパラメータは、プログラム可能である。最適なパラメータを選択することは、設計選択に任されたトレードオフ(取り決め)に関連している。
【0074】
本発明のもう1つの例示的な履行によれば、ネットワーク・リソースの使用のオーバーヘッドが問題である応用に対しては、枢要部のリクエスト・メッセージは、監視されたフローの構成要素を有するパケットの、データ・パケット(104)・ヘッダ内に埋め込まれ得る。ターゲット・ノードがリプライを送るリクエストは、運ばれたデータ・パケット104の予め存在するヘッダ内の任意の便利なフィールドを用いて、単一のビットで符合化され得る。上述したのと実質的に同一の機構が用いられ得るが:どんな特別の枢要部のパケットも処理されないという、並びに、1ビットを含む該ストリームのためのデータ・パケットが枢要部リプライを示すロジック高“1”にセットされている間の時間期間の満了時に枢要部発生のためのタイミング機構がトリガを行う、という顕著な相違を有する。
【0075】
提起された実施形態は、例示のためだけのものであり、当業者なら、上述の実施形態に対する変更が、本発明の精神から逸脱することなく為され得るということを理解するであろう。本発明の範囲は、特許請求の範囲のみによって限定される。
【図面の簡単な説明】
【0076】
【図1】本発明の例示的な実施形態の例示的な履行による、通信ネットワークを横断する経路に渡って設けられたサービス、並びに枢要部パケットが交換される正常状態を示す概略図である。
【図2】本発明の例示的な実施形態のもう1つの例示的な履行による、保護されたセッションについての内容の移送がフェイルオーバー移送経路に切換えられる、ネットワーク故障を経験している保護されたセッションを示す概略図である。
【図3】本発明の例示的な実施形態による、例示的なフェイルオーバー機構を履行する切換え/ルータ・ネットワーク・ノード素子を示す概略図である。
【図4】本発明の例示的な実施形態による、パケット選別器の例示的なアーキテクチャを示す概略図である。
【図5】本発明の例示的な実施形態による、保護されたセッションの監視を行う上流通信ネットワーク・ノードの例示的なプロセス・ステップを示すフロー図である。
【図6】本発明の例示的な実施形態による、枢要部リクエストに応答する下流通信ネットワーク・ノードの例示的なプロセス・ステップを示すフロー図である。
【図7】本発明の例示的な実施形態による、枢要部パケットにカプセル化(インカプシュレート)された枢要部リプライ・メッセージを処理する上流通信ネットワーク・ノードの例示的なプロセス・ステップを示すフロー図である。
【符号の説明】
【0077】
100 高レベル・アーキテクチャ
102 移送経路
104 パケット
106 通信ネットワーク
108−A ホスト
108−B ホスト
110−1 スイッチ/ルータ
110−2 スイッチ/ルータ
110−3 スイッチ/ルータ
112 フェイルオーバー・スタンドバイ(バックアップ)経路
114 分配部分
116 枢要部のパケット
118 枢要部のパケット
120 故障状態
200 フェイルオーバー機構のアーキテクチャ
202 選別器(クラスファイア)
204 枢要部のプロセッサ
206 フェイルオーバー・モジュール
208 分類ルール
210 セッション/フローID
212 エントリ
214 フロー・アクション・テーブル
216 分類ルール・テーブル



【特許請求の範囲】
【請求項1】
通信ネットワークに渡って設けられた少なくとも1つの通信セッションに関連したパケットを処理するに際してパケット切換え及びルーティングの一方を行うための通信ネットワーク・ノードであって、
a. 少なくとも1つの受信されたデータ・パケット及び少なくとも1つの枢要部パケットの一方を、通信セッションに対応するトラフィック・フローに関連させるためのハードウェア選別器、
b. 少なくとも1つの枢要部パケットから導出された情報に基づいて、トラフィック・フローがネットワーク故障によって影響されているということをアサートするためのハードウェア枢要部プロセッサ、及び
c. 影響されたフローに関連した各データ・パケットを、フェイルオーバー移送経路に切換えるためのハードウェア・フェイルオーバー・モジュール、
を備えたネットワーク・ノード。
【請求項2】
枢要部パケットを識別して、該枢要部パケットをハードウェア・プロセッサに転送するための選別器手段をさらに備える請求項1に記載のネットワーク・ノード。
【請求項3】
枢要部プロセッサは、さらに、
a. 枢要部リクエスト・パケット及び枢要部リプライ・パケットの一方を発生するための枢要部パケット発生手段、
b. 枢要部リクエスト・パケット及び枢要部リプライ・パケットの一方を送信するための送信手段、
c. 最後の枢要部リクエスト・パケットの送信から経過した時間の長さを追跡するためのタイマ、及び
d. 枢要部リクエスト・パケットの送信間の時間の長さを特定するための第1の閾値レジスタ、
を備える請求項1に記載のネットワーク・ノード。
【請求項4】
枢要部プロセッサは、さらに、
a. 最後の枢要部リプライ・パケットが受信されてから送信された枢要部リクエスト・パケットの数を計数するための反復カウンタ、及び
b. 最後の枢要部リプライ・パケットが受信されてから送信された枢要部パケットの最大数を特定するための第2の閾値レジスタ、
を備える請求項3に記載のネットワーク・ノード
【請求項5】
枢要部パケットは、インターネット・コントロール・メッセージ・プロトコル・フォーマット及びジェネリック・フォーマットの一方を有する請求項1に記載のネットワーク・ノード。
【請求項6】
通信ネットワークを横切って移送経路に渡って設けられる監視されたセッションのための端末間(エンドツーエンド)フェイルオーバー保護を提供する方法であって、
a. 監視されたセッションに関して運ばれたパケットのパケット・ヘッダに保持された情報に基づいて枢要部リクエスト・パケットを発生し、
b. 監視されたセッションについて運ばれたパケットのヘッダに特定された送信先ネットワーク・アドレスにアドレス指定された枢要部リクエスト・パケットを送信し、
c. 監視されたセッションが、通信ネットワークを横切って移送経路において遭遇されたネットワーク故障によって影響されるということを選択的にアサートし、そして
d. 影響され監視されたセッションと関連するデータ・パケットを、対応のフェイルオーバー移送経路に切換える、
ようにした方法。
【請求項7】
さらに、引き続く枢要部パケットを周期的に送信するようにした請求項6に記載の方法。
【請求項8】
連続する枢要部パケット間の時間間隔を限定するためにタイマが用いられる請求項7に記載の方法。
【請求項9】
監視されたセッションがネットワーク故障によって影響されるということをアサートし、
当該方法は、さらに、送信された枢要部リクエスト・パケットに対応する枢要部リプライ・パケットが所定の時間期間中に受信されなかったならば、監視されたセッションがネットワーク故障を経験しているということをアサートするようにした請求項7に記載の方法。
【請求項10】
監視されたセッションがネットワーク故障によって影響されるということをアサートし、
当該方法は、さらに、複数の順次の枢要部リクエスト・パケットの送信に続いて枢要部リプライ・パケットが受信されなかったならば、監視されたセッションがネットワーク故障を経験しているということをアサートするようにした請求項7に記載の方法。
【請求項11】
複数の順次の枢要部リクエスト・パケットの送信に続いて枢要部リプライ・パケットが受信されなかったならば、監視されたセッションがネットワーク故障を経験しているということをアサートし、
当該方法は、さらに、
a. 送信された各枢要部リクエスト・パケットで反復カウンタを増分し、そして
b. 枢要部リプライ・パケットが受信されたときはいつも、監視されたセッションと関連する反復カウンタをリセットする、
ようにした請求項10に記載の方法。
【請求項12】
フェイルオーバー移送経路を提供する前ステップをさらに備える請求項6に記載の方法。
【請求項13】
さらに、
a. 監視されたセッションと関連する枢要部パケット及びデータ・パケットの一方を受信し、そして
b. 受信された枢要部パケットを枢要部プロセッサに転送する、
ようにした請求項6に記載の方法。
【請求項14】
監視されたセッションがネットワーク故障によって影響されるということを選択的にアサートすることは、枢要部パケットを処理することから決定される請求項13に記載の方法。
【請求項15】
影響され監視されたセッションと関連したデータ・パケットを対応のフェイルオーバー移送経路に切換えることは、さらに、影響されたセッションと関連した各パケット・ヘッダにおける送信先メディア・アクセス・コントロール(MAC)アドレスを、フェイルオーバー移送経路と関連した送信先MACアドレスと置き換えることを含む請求項6に記載の方法。
【請求項16】
影響され監視されたセッションに関連したデータ・パケットを対応のフェイルオーバー移送経路に切換えることは、さらに、
a. 影響されたセッションと関連した各パケット・ヘッダにおける送信先メディア・アクセス・コントロール(MAC)アドレスを、フェイルオーバー移送経路と関連した送信先MACアドレスと置き換えること、及び
b. 影響されたセッションと関連した各パケット・ヘッダにおける送信先インターネット・プロトコル(IP)アドレスを、フェイルオーバー移送経路と関連した送信先IPアドレスと置き換えること、
を含む請求項6に記載の方法。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−20318(P2006−20318A)
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願番号】特願2005−190649(P2005−190649)
【出願日】平成17年6月29日(2005.6.29)
【出願人】(597092370)ザ−リンク・セミコンダクタ−・インコ−ポレイテッド (7)
【氏名又は名称原語表記】ZARLINK SEMICONDUCTOR INC.
【Fターム(参考)】