(57)【特許請求の範囲】
【請求項１】
ネットワーク接続装置において、
ルーティング経路の計算を行うコントロールプレーンと、複数のポートと接続され、ルーティングテーブルを参照して前記複数のポート間でパケットを転送する複数のフォワーディングプレーンとを有し、
前記コントロールプレーンは、前記複数のポートの何れかと送信先との間に障害が発生した場合に備え、事前に前記複数のポートの何れかと予備経路との組み合わせを含むシナリオ情報を計算し、
前記シナリオ情報は、前記複数のフォワーディングプレーンのそれぞれに異なる内容で保有されることを特徴とするネットワーク接続装置。
【請求項２】
ルーティングプロトコル計算処理を実施するコントロールプレーンと、第１のポートと第２のポートと第３のポートとを接続し、ルーティングテーブルを参照して、前記複数のポート間でパケットの中継を実施する複数のフォワーディングプレーンとからなるネットワーク接続装置において、
前記コントロールプレーンは、前記複数のポートと出力先との間の通信に障害が発生する際の転送先を計算し、
前記複数のフォワーディングプレーンは、前記コントロールプレーンが計算した障害発生ポートと転送ポートとの関係からなるシナリオ情報をそれぞれ保持し、
前記シナリオ情報は、前記複数のフォワーディングプレーンごとに異なる内容であることを特徴とするネットワーク接続装置。
【請求項３】
請求項１または請求項２に記載のネットワーク接続装置であって、
前記フォワーディングプレーンは、前記ポートの接続先との通信に障害が発生したことを検出したとき、前記シナリオ情報に基づいて、前記ルーティングテーブルの更新を行うことを特徴とするネットワーク接続装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク接続装置およびネットワーク接続方法に係り、経路切換性能を向上させたネットワーク接続装置およびネットワーク接続方法に関する。
【背景技術】
【０００２】
近年の大規模ネットワークにおける、ルータの運用では、回線障害の検知と障害回復の短時間化が不可欠となっている。
【０００３】
特許文献１には、高速なルーティングテーブル検索を可能とするルータ装置が記載されている。
また、非特許文献２には、ルータをControl Plane（コントロールプレーン）と、Forwarding Plane（フォワーディングプレーン）とに分割し、Control Planeでルーティングプロトコル計算を実施し、Forwarding Planeでデータ中継するルータが記載されている。
【０００４】
【特許文献１】特開平６−２６１０７８号公報
【非特許文献１】G. Jones、"Operational Security Requirements for Large Internet Service Provider (ISP) IP Network Infrastructure"、ＩＥＴＦ、インターネット＜URL:http://www.ietf.org/rfc/rfc3871.txt?number=3871＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
回線障害の検知に関しては、ＢＦＤ（Bidirectional Forwarding Detection）等が提案されている。しかし、障害回復の短時間化に必要な経路切替性能を飛躍的に向上させる技術は見当たらない。特許文献１および非特許文献１にも、上述の記載はない。
【０００６】
本発明によれば、障害発生から障害回復までの期間の短いネットワーク接続装置およびネットワーク接続方法を提供できる。
【課題を解決するための手段】
【０００７】
上述した課題は、第１のポートで受信したパケットに含まれる宛先情報に基づいて、ルーティングテーブルを参照して、パケットを第２のポートから送信し、第２のポートの接続先に障害がある際の転送先である第３のポートを事前に計算し、第２のポートと第３のポートとの組み合わせを含むシナリオ情報を保持し、ポートのいずれかに障害を検出したとき、シナリオ情報に基づいて、ルーティングテーブルを更新することを特徴とするネットワーク接続装置により解決できる。
【０００８】
また、ルーティングプロトコル計算処理を実施するコントロールプレーンと、第１のポートと第２のポートと第３のポートとを接続し、ルーティングテーブルを参照して、複数のポート間でパケットの中継を実施するフォワーディングプレーンとからなり、コントロールプレーンは、複数のポートの出力先に障害が発生する際の転送先を計算し、フォワーディングプレーンは、コントロールプレーンが計算した障害発生ポートと転送ポートとの関係からなるシナリオ情報を保持することを特徴とするネットワーク接続装置により解決できる。
【０００９】
さらに、第１のポートで受信したパケットに含まれる宛先情報に基づいて、ルーティングテーブルを参照するステップと、第２のポートの接続先に障害がある際の転送先である第３のポートを事前に計算するステップと、第２のポートと第３のポートとの組み合わせを含むシナリオ情報を保持するステップと、ポートのいずれかに障害を検出したとき、シナリオ情報に基づいて、ルーティングテーブルを更新するステップとを含むネットワーク接続方法により解決できる。
【発明の効果】
【００１０】
本発明のネットワーク接続装置によれば、障害発生時の対応シナリオを事前に準備しておくので、経路切換性能を向上させることができる。
【発明を実施するための最良の形態】
【００１１】
以下本発明の実施の形態について、実施例を用いて図面を参照しながら説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
実施例を図１ないし図７を用いて説明する。ここで、図１はネットワーク接続装置のブロック図である。図２は障害発生から通信回復までの時間を説明する図である。図３は大規模ネットワーク接続装置システムを説明するブロック図である。図４は接続装置ネットワークを説明するブロック図である。図５はシナリオ情報データベースを説明する図である。図６はシナリオ情報更新を説明するフローチャートである。
【００１２】
図１において、ネットワーク接続装置１０１Ａは、計算処理部２１０を含むControl Plane２００と、パケット中継部３９０を含むForwarding Plane３００とから構成される。Control Plane２００は、計算処理部２１０とルーティングテーブル管理情報ＤＢ２２０とからなる。計算処理部２１０は、さらにルーティングプロトコル計算処理部２１１と、Forwarding Plane指示部２１２とから構成される。また、Forwarding Plane３００は、Forwarding Plane指示部が送信した指示を受信するシナリオ情報更新部３１０と、シナリオ情報ＤＢ３２０と、複数のポート３１０を接続するパケット中継部３９０と、パケット中継部３９０からのパケットを監視する転送制御部３４０と、転送制御部３４０が検出した障害に基づいてルーティングテーブルを更新する障害内容反映部３３０と、障害内容反映部３３０の指示に基づいてRouting Table３８０を更新するRouting Table更新部３５０と、Routing Table３８０とから構成される。
【００１３】
Control Plane２００は、ルーティング情報を一元管理する。ルーティンプロトコル計算処理部２１１は、経路変更が発生したとき、ルーティングプロトコル計算を実施する。ルーティンプロトコル計算処理部２１１は、ルーティングプロトコル計算の結果に基づいて、Routing Table管理情報ＤＢ２２０を更新する。ルーティンプロトコル計算処理部２１１は、また、ルーティングプロトコル計算の結果に基づいて、Forwarding Plane指示部２１２とRouting Table更新部３５０とを介して、Routing Table３８０を更新する。
【００１４】
Forwarding Plane３００のパケット中継部３９０は、ポート１１０−１からパケットを受信すると、受信したパケットのヘッダーに含まれる宛先情報をキーにRouting Table３８０を検索して、宛先情報に対応するＮＥＸＴ ＨＯＰ（ネクストホップ）に該当するポート１１０−２またはポート１１０−３から送信する。
【００１５】
ルーティンプロトコル計算処理部２１１は、ポート１１０が接続されたパス（現用系パス）の障害を想定して、この障害を前提とした予備系パスを演算する。現用系パスと対応する予備系パスとの組み合わせを、シナリオと呼ぶ。また、複数のシナリオをシナリオ情報と呼ぶ。シナリオ情報は、Forwarding Plane指示部２１２とシナリオ情報更新部３１０とを介して、シナリオ情報ＤＢ３２０に登録される。なお、経路変更があった場合にも、シナリオ情報ＤＢ３２０は更新される。
【００１６】
Forwarding Plane３００の転送制御部３４０が、キャリア断、一定期間ＢＦＤパケットによるヘルスチェックが来ない等から、障害を検知すると、転送制御部３４０は、障害発生をControl Plane２００のルーティンプロトコル計算処理部２１１に通知する。転送制御部３４０は、また、障害発生を障害内容反映部３３０に通知する。障害内容反映部３３０は、シナリオ情報ＤＢ３２０を参照して、障害の発生した現用系パスに対応する予備系パスを呼び出す。障害内容反映部３３０は、この予備系パスを用いて、Routing Table更新部３５０を介して、Routing Table３８０を更新する。Control Plane２００のルーティンプロトコル計算処理部２１１は、障害発生通知を受信すると、ルーティングプロトコル計算を実施する。ルーティンプロトコル計算処理部２１１は、ルーティングプロトコル計算の結果に基づいて、Routing Table管理情報ＤＢ２２０を更新する。ルーティンプロトコル計算処理部２１１は、また、ルーティングプロトコル計算の結果に基づいて、Forwarding Plane指示部２１２とRouting Table更新部３５０とを介して、Routing Table３８０を更新する。なお、Routing Table３８０の更新は、シナリオに基づいて既に実施されているので、後半の処理は、削除しても良い。また、ヘルスチェックは、ＢＦＤパケット以外にHelloパケットでも良い。
【００１７】
シナリオ方式の効果について、図２を参照して説明する。図２において、横軸は時間の経過であり、非シナリオ方式とシナリオ方式とを対比させている。非シナリオ方式では、回線障害が発生した後、障害検知、経路計算、切換の３ステップが必要である。一方、シナリオ方式では、回線障害の前に回線障害を前提とした、経路計算を実施済みなので、回線障害が発生した後、障害検知、切換の２ステップのみが必要である。すなわち、シナリオ方式では、非シナリオ方式に比べ、シナリオがあれば回線障害の発生から通信回復までの時間を短縮できる。
【００１８】
図３を参照して、大規模ネットワーク接続装置を説明する。図１のネットワーク接続装置１０１Ａでは、Control Plane２００とForwarding Plane３００とが１対１対応であった。一方、図３の大規模ネットワーク接続装置１０１Ｂでは、Control Plane２００とForwarding Plane３００とが１対４対応である。もちろん、Ｎを２以上の整数として１対Ｎ対応でも構わない。図３のControl Plane２００とForwarding Plane３００のハードウェア構成は、図１のそれらと同一である。
【００１９】
図１との対比において異なるのは、大規模ネットワーク接続装置１０１ＢのControl Plane２００に管理装置１００が接続されている点である。しかし、逆にネットワーク接続装置１０１ＡのControl Plane２００に管理装置１００が接続されていても良い。ネットワーク接続装置１０１ＡのControl Plane２００のRouting Table管理情報ＤＢ２２０と、Forwarding Plane３００のRouting Table３８０とは、実質的に同じ情報を蓄えている。一方、大規模ネットワーク接続装置１０１ＢのControl Plane２００のRouting Table管理情報ＤＢ２２０は、配下の全てのForwarding Plane３００のRouting Table３８０の情報を全て含むのに対して、個々のForwarding Plane３００-１〜３００-４のRouting Table３８０には、自Forwarding Planeの情報のみを含んでいる。同様に、個々のForwarding Plane３００-１〜３００-４のシナリオ情報ＤＢ３２０には、自Forwarding Planeの情報のみを含んでいる。
【００２０】
本実施例では、１面のControl Planeに複数面のForwarding Planeが接続されている。これは、一つの回線障害に対して、複数のForwarding Planeから一つのControl Planeに複数の障害通知が上がることを意味する。非シナリオ方式では、Control Planeでの経路計算負荷に、通信回復までの時間が依存する。これに対して、シナリオ方式では、シナリオを複数のForwarding Planeに配布しておくので、応答性能が低下しない効果がある。
【００２１】
なお、上述のようにシナリオを複数のForwarding Planeに配布しておくことが、より好ましいが、Control Planeに一括して蓄えていても良い。これは経路計算が必要ではなく、単にテーブルを参照するだけだからである。
【００２２】
図４を参照して、ネットワーク接続装置の動作を説明しよう。図４に示すネットワーク５００において、左端のネットワーク接続装置１０１-０から、右端のネットワーク接続装置１０１-５に向けた通信が行われている。なお、円で示すネットワーク接続装置１０１には、「Ｒ」と数字で示す固有番号が付与されている。また、ネットワーク接続装置１０１と他のネットワーク接続装置１０１とを接続する直線で示すパスにも「Ｐ」と数字で示す固有番号が付与されている。以下、これらの固有番号を用いて説明する。また、Ｒ０のRouting Table３８０を、一点鎖線の矢印の先に拡大して示す。
【００２３】
Ｒ０からＲ５への通信は、実線矢印で示すＲ３１とＲ３２とを経由する経路を現用系としている。このとき、Ｒ０とＲ３１との間のＰ３１に障害が発生したとしよう。Ｒ３１からのヘルスチェックが一定期間到着しないことから、Ｒ０はＲ３１またはＰ３１の障害を検出する。Ｒ０は、この障害をＰ３１の障害として、シナリオ情報を参照する。図５を用いて後述するシナリオ情報には、Ｐ３１の障害の場合、ＮＥＸＴ ＨＯＰをＲ３１からＲ１１に変更することが記載されているので、Routing Table３８０を参照し、宛先情報欄３８１０にＲ５とあるレコードのＮＥＸＴ ＨＯＰ情報欄３８２０をＲ３１からＲ１１に書き換える。具体的には、Ｒ０は送信先ポートを、ポート１０１-３からポート１０１-１に変更する。この結果、Ｒ０からＲ５への通信は、破線矢印で示すＲ１１とＲ１２とを経由する予備系経路に変更される。
【００２４】
図５を参照して、シナリオ情報データベースを説明する。図５において、シナリオ情報ＤＢ３２０は、イベント欄３２１０とアクション３２２０とから構成されている。アクション３２２０は、さらに操作欄３２２１と変更対象欄３２２２と変更データ欄３２２３とから構成されている。ここで、イベント欄３２１０には、想定される障害発生パスの固有番号を記載する。また、操作欄３２２１にはRouting Table３８０における操作を記載する。変更対象欄３２２２にはRouting Table３８０における変更前データを記載する。さらに、変更データ欄３２２３にはRouting Table３８０における変更後データを記載する。
【００２５】
イベント欄３２１０に、「Ｐ３１」と記載されたレコードは、図４の説明で用いたシナリオである。具体的には、Ｐ３１に障害があることを通知された障害内容反映部３３０は、Routing Table更新部３５０に対して、Routing TableのＮＥＸＴ ＨＯＰ欄に、Ｐ３１に対応する「Ｒ３１」があるとき、全て「Ｒ１１」に置き換える制御をする。
なお、シナリオ情報ＤＢにない障害が発生した場合は、Control Planeでの、ルーティングプロトコル計算処理部によるRouting Table更新を待つ。
【００２６】
図６を参照して、シナリオ情報の更新タイミングを説明しよう。図６はルーティングプロトコル計算処理部２１１で実行されるフローである。ルーティングプロトコル計算処理部２１１は、経路変更の有無と、予め定めた期間に到達したか否かとを常に監視している。経路変更があったと判断すると（Ｓ７０１）、ステップ７０３のシナリオ情報更新処理に遷移し、タイマーをリセットした（Ｓ７０４）後、ステップ７０１に戻る。ステップ７０１で経路変更が無かったと判断すると、ステップ７０２に遷移し、前回のシナリオ更新から一定期間経過しているか判定する（Ｓ７０２）。ステップ７０２で、Ｙｅｓならステップ７０３に遷移する。ステップ７０２で、Ｎｏならステップ７０１に遷移する。
【００２７】
本実施例に拠れば、ルーティングプロトコルをネットワーク接続装置内に分散して配置するので、経路切換性能を飛躍的に向上させることができる。
【図面の簡単な説明】
【００２８】
【図１】ネットワーク接続装置のブロック図である。
【図２】障害発生から通信回復までの時間を説明する図である。
【図３】大規模ネットワーク接続装置システムを説明するブロック図である。
【図４】接続装置ネットワークを説明するブロック図である。
【図５】シナリオ情報データベースを説明する図である。
【図６】シナリオ情報更新を説明するフローチャートである。
【符号の説明】
【００２９】
１００…管理装置、１０１…ネットワーク接続装置、１１０…ポート、２００…Control Plane、２１０…計算処理部、２１１…ルーティングプロトコル計算処理部、２１２…Forwarding Plane指示部、２２０…Routing Table管理情報ＤＢ、３００…Forwarding Plane、３１０…シナリオ情報更新部、３２０…シナリオ情報ＤＢ、３３０…障害方法反映部、３４０…転送制御部、３５０…Routing Table更新部、３８０…Routing Table、３９０…パケット中継部、５００…ネットワーク。
【図１】
0004714081.tif 000002
【図２】
0004714081.tif 000003
【図３】
0004714081.tif 000004
【図４】
0004714081.tif 000005
【図５】
0004714081.tif 000006
【図６】
0004714081.tif 000007