(57)【要約】【課題】  経路制御モジュールに過度の処理性能を要求することなく、予備系モジュールの経路制御情報を現用系モジュールに同期化できるパケット転送装置を提供する。【解決手段】  ネットワークから受信した経路制御パケットを現用系と待機系の双方の経路制御モジュール宛に転送し、待機系モジュールは、所定の経路制御情報処理を実行し、経路制御パケットの識別情報を現用系モジュールに通知し、現用系モジュールは、所定の経路制御情報処理を実行し、経路制御パケットの送信元に応答パケットを返信すると共に、待機系からの内部制御パケットの受信の有無とその内容に基づいて待機系モジュールの状態を判定するようにしたパケット転送装置。【選択図】図４
2005303501.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークの他のノード装置と所定のプロトコルで経路制御情報を交信する機能を備えたパケット転送装置であって、
それぞれネットワーク入出力回線に接続された複数のインタフェースモジュールと、
１つが現用系、残りが待機系として動作する動作モード切替え可能な少なくとも２つの経路制御モジュールと、
上記インタフェースモジュール間および各インタフェースモジュールと経路制御モジュールとの間でパケットを交換する内部スイッチ部とからなり、
上記各インタフェースモジュールが、ネットワークから受信した経路制御パケットを上記現用系と待機系の双方の経路制御モジュール宛に転送するための手段を有し、
待機系として動作中の経路制御モジュールが、上記経路制御パケットの受信に応答して上記プロトコルに従った経路制御情報処理を実行する手段と、上記経路制御パケットの識別情報を示す内部制御パケットを上記現用系の経路制御モジュールに送信するための手段を有し、
上記現用系として動作中の経路制御モジュールが、上記経路制御パケットの受信に応答して上記プロトコルに従った経路制御情報処理を実行し、上記経路制御パケットの送信元に応答パケットを返信する手段と、上記内部制御パケットの受信の有無とその内容に基づいて上記待機系の経路制御モジュールの状態を判定するための手段を有することを特徴とするパケット転送装置。
【請求項２】
前記各インタフェースモジュールが、ネットワークから受信したパケットのヘッダ情報から、受信パケットが所定プロトコルの経路制御パケットまたは経路制御用の応答パケットか否かを判定するための手段と、
経路制御パケットまたは経路制御用応答パケットに対して、前記現用系および待機系の経路制御モジュールの割り当てられた内部マルチキャストアドレスを含む内部ヘッダを付与するための第１の内部ヘッダ付加手段と、  
経路制御パケットおよび経路制御用応答パケット以外の受信パケットに対して、該受信パケットの宛先アドレスと対応した内部アドレスを含む内部ヘッダを付与するための第２の内部ヘッダ付加手段と、
上記第１、第２の内部ヘッダ付加手段から出力されたパケットを前記内部スイッチ部に転送するための手段を備えることを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
通信ネットワークの他のノード装置と所定のプロトコルで経路制御情報を交信する機能を備えたパケット転送装置であって、
それぞれネットワーク入出力回線に接続された複数のインタフェースモジュールと、
１つが現用系、残りが待機系として動作する動作モード切替え可能な少なくとも２つの経路制御モジュールと、
ノード制御モジュールと、
上記インタフェースモジュール間および各インタフェースモジュール、ノード制御モジュール、経路制御モジュール間でパケットを交換する内部スイッチ部とからなり、
上記各インタフェースモジュールが、ネットワークから受信した経路制御パケットを上記ノード制御モジュールに転送するための手段を有し、
上記ノード制御モジュールが、上記経路制御パケットを上記現用系と待機系の双方の経路制御モジュール宛に転送するための手段を有し、
待機系として動作中の経路制御モジュールが、上記経路制御パケットの受信に応答して上記プロトコルに従った経路制御情報処理を実行する手段と、上記経路制御パケットの識別情報を示す内部制御パケットを上記現用系の経路制御モジュールに送信するための手段を有し、
上記現用系として動作中の経路制御モジュールが、上記経路制御パケットの受信に応答して上記プロトコルに従った経路制御情報処理を実行し、上記経路制御パケットの送信元に応答パケットを返信する手段と、上記内部制御パケットの受信の有無とその内容に基づいて上記待機系の経路制御モジュールの状態を判定するための手段を有することを特徴とするパケット転送装置。
【請求項４】
前記各インタフェースモジュールが、前記経路制御パケットに該インタフェースモジュールに固有のシーケンス番号を付加するための手段を有し、
前記待機系として動作中の経路制御モジュールが、上記シーケンス番号を前記経路制御パケットの識別情報とすることを特徴とする請求項１〜請求項３の何れかに記載のパケット転送装置。
【請求項５】
前記各経路制御モジュールが、前記内部スイッチ部に接続された各経路制御モジュールの識別子と対応して、動作モードと最新の経路制御パケットの識別情報とを記憶するためのテーブルを備え、
前記現用系として動作中の経路制御モジュールが、経路制御パケットの受信の都度、該経路制御パケットの識別情報を上記テーブルに記憶し、所定時間内での待機系の経路制御モジュールからの内部制御パケットの受信の有無と、受信した内部制御パケットが示す経路制御パケットの識別情報と現用系の経路制御モジュールが受信した最新の経路制御パケットの識別情報との関係に基づいて、待機系の経路制御モジュールの状態を判定することを特徴とする請求項１〜請求項４の何れかに記載のパケット転送装置。
【請求項６】
前記現用系として動作中の経路制御モジュールが、前記内部制御パケットの受信に応答して、送信元の経路制御モジュールに応答パケットを送信するための手段を有し、
前記待機系として動作中の経路制御モジュールが、前記内部制御パケットを送信してから所定時間内に前記現用系の経路制御モジュールからの応答パケットを受信できなかった時、現用系と待機系の動作モードを切替えるための手段を備えたことを特徴とする請求項１〜請求項５の何れかに記載のパケット転送装置。
【請求項７】
前記現用系として動作中の経路制御モジュールが、所定イベントの発生時に前記プロトコルに従った経路制御情報処理を実行し、ネットワーク上の他のノード装置に経路制御パケットを送信するための手段と、上記経路制御パケットに適用した独立制御情報を示す内部制御パケットを待機系の経路制御モジュールに送信するための手段を有し、
前記待機系として動作中の経路制御モジュールが、所定イベントの発生時に前記プロトコルに従った経路制御情報処理を実行するための手段と、自らが生成した独立制御情報を上記現用系の経路制御モジュールから受信した内部制御パケットが示す独立制御情報に置き換えるための手段を有し、ネットワーク上の他のノード装置から応答パケットを受信した時、上記独立制御情報を適用して該応答パケットの処理することを特徴とする請求項１〜請求項６の何れかに記載のパケット転送装置。
【請求項８】
前記待機系として動作中の経路制御モジュールが、所定イベントの発生時に前記プロトコルに従った経路制御情報処理を実行し、所定時間内に前記現用系の経路制御モジュールから前記独立制御情報を示す内部制御パケットを受信できなかった時、現用系と待機系の動作モードを切替えるための手段を備えたことを特徴とする請求項７に記載のパケット転送装置。
【請求項９】
前記経路制御モジュールの１つがプロセッサによって実行される複数の経路制御処理ルーチンを有し、上記経路制御処理ルーチンを他の経路制御モジュールでプロセッサによって実行される経路制御ルーチンと個別に連携させることによって、互いに独立して動作する冗長化された少なくとも２つの仮想経路制御部を構成し、
前記各インタフェースモジュールが、ネットワークから受信した経路制御パケットに該経路制御パケットが所属する仮想網識別子を付与するための手段を有し、
前記各経路制御モジュールが、上記仮想網識別子と対応した仮想経路制御部を構成する現用系または待機系の経路制御処理ルーチンによって、上記経路制御パケットの受信に応答した経路制御情報処理を実行することを特徴とする請求項１〜請求項８の何れかに記載のパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送装置に関し、更に詳しくは、動作モード切替え可能な冗長化された経路制御情報処理部を備えたパケット転送装置に関する。
【背景技術】
【０００２】
近年、インターネットが普及し、ＩＰネットワークの適用分野が拡大するにつれて、キャリアが提供するＩＰネットワークに対して高い信頼性が求められている。インターネット上の回線接続点で回線間のパケット転送を行うＩＰスイッチングノード（ルータ）には、インターネット上の数万に及ぶ経路の情報が保持される。各ルータは、所定の経路制御プロトコルで、ネットワーク上の他のルータと経路制御パケットを交信し、それぞれが保持する経路情報を更新している。各ルータには、高速度のパケット転送機能が要求され、データ処理量もテラビット単位に届こうとしている。
【０００３】
このため、１つのルータでパケット転送処理部に障害が発生した場合、単位時間あたりに失われるデータ量が非常に大きなものとなる。また、ルータの経路情報制御部に障害が発生した場合、経路制御プロトコルの働きによって、ネットワーク上に新たな迂回経路が設定されるまでの間、誤った経路へのパケット転送が行われる可能性がある。
【０００４】
ＩＰルータでは、一般にルーティングモジュールと呼ばれている経路制御プロトコル処理モジュールを複数装備しておき、そのうちの１つを現用系として動作させ、残りを待機系とする冗長化したシステム構成が採用されている。待機系モジュールは、現用系モジュールに障害が発生した時に起動され、経路制御プロトコル処理を引き継ぐ。このように経路制御プロトコル処理モジュールを冗長化した構成は、障害モジュールを人手によって新たなモジュールに交換する構成に比較して、障害発生から復旧までの時間を大幅に短縮できる。
【０００５】
しかしながら、現用系モジュールに障害が発生した時点で待機系モジュールを起動する方式では、現用系に切替えられたモジュールが、同一の経路制御プロトコルが適用された周囲の他のルータから経路制御情報を収集し、経路テーブルを新たに構築し直す必要があるため、経路制御機能が通常状態に復旧するまでには、相当の時間が必要となる。
【０００６】
上記問題を解決するため、例えば、富士通株式会社、「GeoStream R900シリーズ プロダクトレポート Vol.1（高信頼化編）」（非特許文献１）は、冗長化された複数のルーティングモジュール（以下、経路制御モジュールと言う）を常時稼動状態としておき、待機系経路制御モジュールの経路制御情報を定常的に現用系モジュールの経路制御情報と同期させるＩＰスイッチングノードが提案されている。
【０００７】
上記従来方式によれば、現用系の経路制御モジュールで障害が発生した時、既に活性状態にある待機系の経路制御モジュールを現用系に切替えることが可能となる。この場合、予備系が既に立上っており、経路制御情報のデータベースが既に準備されているため、原理的には、他のノード装置からの経路制御情報の収集を行なうことなく、経路制御プロトコル処理を引き継ぐことが可能となる。尚、非特許文献１のパケット転送装置では、待機系の経路制御モジュールが保持する経路制御情報は、以下に述べるように、経路制御プロトコルの種類によって異なった方法で更新されている。
【０００８】
距離ベクトル型ルーティングプロトコルであるＲＩＰ(Routing Information Protocol)の場合、ネットワーク上の他のノード装置から受信した経路制御情報が、現用系と待機系の双方の経路制御モジュールに通知され、それぞれの系が互いに独立して経路制御情報データベースを構築または更新する。
【０００９】
リンク状態型ルーティングプロトコルであるＯＳＰＦ(Open Shortest Path First)の場合、他のノード装置から受信した経路制御情報が現用系の経路制御モジュールに通知され、現用系で構築したデータベース情報が、現用系と待機系のモジュール間通信によって、待機系モジュールのデータベースに反映（コピー）される。
【００１０】
パスベクトル型ルーティングプロトコルであるＢＧＰ(Border Gateway Protocol)の場合、現用系と待機系の経路制御モジュールが、ネットワーク上の対向ルータとの間に、それぞれ個別にＴＣＰコネクションを設定し、対向ルータから受信した経路制御情報を現用系と待機系の双方の経路制御モジュールに通知することによって、それぞれの系が互いに独立して経路制御情報データベースを構築または更新する。
【００１１】
【非特許文献１】富士通株式会社、「GeoStream R900シリーズ プロダクトレポート Vol.1（高信頼化編）」、[online]、２００１年１１月、[平成１５年８月１８日検索]、インターネット、URL：http://telecom.fujitsu.com/jp/products/report/geostream\_r900/report\_r900. pdf
【発明の開示】
【発明が解決しようとする課題】
【００１２】
然るに、非特許文献１に示されたパケット転送装置では、適用する経路制御プロトコルがＯＳＰＦの場合、現用系モジュールで更新した経路情報を待機系モジュールにコピーするようにしているため、モジュール間の通信量が増加し、各経路制御モジュールに高速の情報処理機能が要求される。
【００１３】
また、非特許文献１では、適用プロトコルがＯＳＰＦまたはＢＧＰの場合、現用系と待機系の双方のモジュールに、それぞれが保有する制御情報データベースを更新させているが、現用系モジュールと待機系モジュールとの間では、制御情報データベースの更新状態に関する情報の送受信はない。上記従来技術では、予備系異常時の系の切替え失敗を未然に防止するために、現用系モジュールが、予備系モジュールを定期的に監視しているが、ＯＳＰＦまたはＢＧＰの場合、現用系と予備系の経路制御情報データベースが実際に同期状態にあるか否かは保証できない。
【００１４】
本発明の目的は、適用される経路制御プロトコルの種別に関係なく予備系モジュールにおける経路制御情報の更新を保証しておき、現用系モジュールに障害が発生した時、経路制御情報処理を予備系モジュールで迅速に続行可能にしたパケット転送装置を提供することにある。
本発明の他の目的は、各経路制御モジュールに過度の処理性能を要求することなく、予備系モジュールの経路制御情報を現用系モジュールに同期化できるパケット転送装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、本発明のパケット転送装置は、それぞれネットワークに接続された複数のインタフェースモジュールと、１つが現用系、残りが待機系として動作する動作モード切替え可能な少なくとも２つの経路制御モジュールと、上記インタフェースモジュール間および各インタフェースモジュールと経路制御モジュールとの間でパケットを交換する内部スイッチ部とからなり、
上記各インタフェースモジュールが、ネットワークから受信した経路制御パケットを上記現用系と待機系の双方の経路制御モジュール宛に転送するための手段を有し、
待機系として動作中の経路制御モジュールが、上記経路制御パケットの受信に応答して上記プロトコルに従った経路制御情報処理を実行する手段と、上記経路制御パケットの識別情報を示す内部制御パケットを上記現用系の経路制御モジュールに送信するための手段を有し、
上記現用系として動作中の経路制御モジュールが、上記経路制御パケットの受信に応答して上記プロトコルに従った経路制御情報処理を実行し、上記経路制御パケットの送信元に応答パケットを返信する手段と、上記内部制御パケットの受信の有無とその内容に基づいて上記待機系の経路制御モジュールの状態を判定するための手段を有することを特徴とする。
【００１６】
尚、現用系モジュールと待機系モジュールへの経路制御パケットの配信は、各インタフェースモジュールが受信した経路制御パケットを経路制御モジュール以外の第３のモジュール、例えば、ノード制御モジュールに転送し、ノード制御モジュールが、受信した経路制御パケットを現用系モジュールと待機系モジュールに転送するようにしてもよい。また、経路制御パケットの識別情報としては、例えば、各インタフェースモジュールが経路制御パケットに付加したシーケンス番号を適用できる。
【００１７】
更に詳述すると、本発明の１つの特徴は、各経路制御モジュールが、内部スイッチ部に接続された各経路制御モジュールの識別子と対応して、動作モードと最新の経路制御パケットの識別情報とを記憶するためのテーブルを備え、現用系として動作中の経路制御モジュールが、経路制御パケットの受信の都度、該経路制御パケットの識別情報を上記テーブルに記憶し、所定時間内での待機系の経路制御モジュールからの内部制御パケットの受信の有無と、受信した内部制御パケットが示す経路制御パケットの識別情報と現用系の経路制御モジュールが受信した最新の経路制御パケットの識別情報との関係に基づいて、待機系の経路制御モジュールの状態を判定することにある。
【００１８】
本発明の１実施例では、現用系として動作中の経路制御モジュールが、上記内部制御パケットの受信に応答して、送信元の経路制御モジュールに応答パケットを送信するための手段を有し、待機系として動作中の経路制御モジュールが、内部制御パケットを送信してから所定時間内に前記現用系の経路制御モジュールからの応答パケットを受信できなかった時、現用系と待機系の動作モードを切替える。
【００１９】
本発明の他の特徴は、現用系として動作中の経路制御モジュールが、所定イベントの発生時に前記プロトコルに従った経路制御情報処理を実行し、ネットワーク上の他のノード装置に経路制御パケットを送信するための手段と、上記経路制御パケットに適用した独立制御情報を示す内部制御パケットを待機系の経路制御モジュールに送信するための手段を有し、
待機系として動作中の経路制御モジュールが、所定イベントの発生時に前記プロトコルに従った経路制御情報処理を実行するための手段と、自らが生成した独立制御情報を上記現用系の経路制御モジュールから受信した内部制御パケットが示す独立制御情報に置き換えるための手段を有し、ネットワーク上の他のノード装置から応答パケットを受信した時、上記独立制御情報を適用して該応答パケットの処理するようにしたことにある。
【００２０】
本発明の１実施例では、待機系として動作中の経路制御モジュールが、所定イベントの発生時に上記プロトコルに従った経路制御情報処理を実行し、所定時間内に前記現用系の経路制御モジュールから前記独立制御情報を示す内部制御パケットを受信できなかった時、現用系と待機系の動作モードを切替える。
【００２１】
本発明の更に他の特徴は、経路制御モジュールの１つがプロセッサによって実行される複数の経路制御処理ルーチンを有し、上記経路制御処理ルーチンを他の経路制御モジュールでプロセッサによって実行される経路制御ルーチンと個別に連携させることによって、互いに独立して動作する冗長化された少なくとも２つの仮想経路制御部を構成し、
各インタフェースモジュールが、ネットワークから受信した経路制御パケットに該経路制御パケットが所属する仮想網識別子を付与するための手段を有し、各経路制御モジュールが、上記仮想網識別子と対応した仮想経路制御部を構成する現用系または待機系の経路制御処理ルーチンによって、上記経路制御パケットの受信に応答した経路制御情報処理を実行するようにしたことにある。
【発明の効果】
【００２２】
本発明によれば、待機系の経路制御モジュールが、経路制御情報処理の契機となった経路制御パケットの識別情報を示す内部制御パケットを現用系の経路制御モジュールに送信するようにしているため、現用系の経路制御モジュールが、上記内部制御パケットの受信の有無によって、待機系モジュールの動作状態を判定できる。また、上記内部制御パケットが示す経路制御パケットの識別情報によって、待機系モジュールと現用系モジュールで実行中の経路制御情報処理が互いに同期した状態にあるか否かを判定できる。
【００２３】
更に、本発明によれば、現用系の経路制御モジュールが、所定イベントの発生に伴って経路制御情報処理を実行して、ネットワーク上の他のノード装置に経路制御パケットを送信する時、上記経路制御パケットに適用した独立制御情報を示す内部制御パケットを待機系の経路制御モジュールに送信するようにしているため、待機系モジュールと現用系モジュールで生成される独立制御情報の値が異なる場合でも、上記内部制御パケットで通知された独立制御情報を適用して、待機系モジュールが他のノード装置からの応答パケットを正常に処理することが可能となる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明によるパケット転送装置の実施例について、図面を参照して説明する。
図１は、本発明によるパケット転送装置のブロック構成図を示す。
パケット転送装置は、それぞれネットワークの入出力回線に接続された複数のインタフェースモジュール１０（１０−１〜１０−Ｎ）と、一方が現用系、他方が待機系となる経路制御モジュール３０Ａ、３０Ｂと、パケット転送装置を制御するノード制御モジュール５０と、パケット転送装置の機能を拡張するための少なくとも１つの拡張モジュール６０と、これらのモジュールを相互接続する内部スイッチ９０とからなる。
【００２５】
各インタフェースモジュール１０は、ネットワークからの受信パケットに、パケット転送先となるモジュールを示す内部ルーティング情報を含む内部ヘッダを付加して、内部スイッチ９０に出力する。内部スイッチ９０は、各インタフェースモジュール１０からの受信パケットを内部ルーティング情報に従って、他の何れかのモジュールに転送する。
【００２６】
本発明において、内部スイッチ９０の形式について特に制約はないが、後述するように、各インタフェースモジュール１０が、ネットワークから受信した経路制御パケットを２つの経路制御モジュール３０Ａ、３０Ｂに並列的に転送するためには、内部スイッチ９０として、例えば、各モジュールが、内部ヘッダが示すモジュールアドレスに従って転送パケットを選択的に受信処理するバス型のものが好ましい。この場合、各インタフェースモジュール１０は、経路制御モジュール３０Ａ、３０Ｂに共用されるマルチキャストアドレスをもつ内部ヘッダを付与することによって、ネットワークから受信した１つの経路制御パケットを経路制御モジュール３０Ａ、３０Ｂの双方に転送することが可能となる。バス型内部スイッチ９０を採用した場合、各モジュールから内部スイッチ９０へのパケット出力は、破線で示すバスアービタ７０によって制御する。
【００２７】
図２は、パケット転送装置で扱うパケットフォーマットの１例を示す。
各インタフェースモジュール１０がネットワークと送受信するパケットは、ＩＰヘッダ８１と、ＴＣＰ／ＵＤＰヘッダ８２と、ペイロード８３とからなる。各インタフェースモジュール１０は、ネットワークからパケットを受信すると、ＩＰヘッダ８１の前に内部ヘッダ８０を付加して、内部スイッチ９０に出力する。本実施例では、内部ヘッダ８０は、内部スイッチ９０におけるルーティング情報となる内部アドレス８０Ａと、ＴＣＰ／ＵＤＰヘッダ８２から判明するプロトコル種別８０Ｂと、インタフェースモジュール毎に固有の中継シーケンス番号８０Ｃと、インタフェースモジュール番号８０Ｄとを含む。
【００２８】
次に、図３〜図５を参照して、本発明のパケット転送装置における経路制御モジュール３０Ａ、３０Ｂの動作を概略的に説明する。ここでは、経路制御モジュール３０Ａが現用系、経路制御モジュール３０Ｂが待機系の動作モードに設定されているものとする。
【００２９】
図３は、インタフェースモジュール１０−２がネットワークから経路制御パケット８００を受信した場合の動作を示す。
インタフェースモジュール１０−２は、ネットワークからの受信パケットが経路制御パケット８００であることが判明すると、矢印１で示すように、内部スイッチ９０を介して、経路制御パケット８００を現用系、待機系の双方の経路制御モジュール３０Ａ、３０Ｂに転送する。但し、矢印２で示すように、経路制御パケット８００をインタフェースモジュール１０−２からノード制御装置５０に転送し、ノード制御装置５０が、これを現用系、待機系の双方の経路制御モジュール３０Ａ、３０Ｂに転送するようにしてもよい。
【００３０】
図４は、経路制御パケット８００を受信した場合の経路制御モジュール３０Ａ、３０Ｂの動作を示す。
ネットワーク上の他のノード装置から経路制御パケット８００を受信すると、経路制御モジュール３０Ａ、３０Ｂの双方が、予め用意された経路制御プロトコルに従って経路制御情報処理を実行し、それぞれが所有する経路情報データベースを更新する。本発明では、矢印３で示すように、現用系の経路制御モジュール３０Ａだけが、経路制御パケット８００の送信元ノード装置に対して応答パケット８１０を送信する。
【００３１】
待機系の経路制御モジュール３０Ｂは、自分が経路制御パケット８００を受信して、所定の経路制御情報処理を実行したことを知らせるために、現用系の経路制御モジュール３０Ａに対して、上記経路制御パケット８００の内部ヘッダから抽出した中継シーケンス番号８０Ｃを示す内部制御パケット８０１を送信する。
【００３２】
現用系モジュール３０Ａと待機系モジュール３０Ｂは、インタフェースモジュールからの経路制御パケット８００の受信の都度、それぞれが所有する後述する到達確認テーブル４１に、自分が処理した経路制御パケット８００の中継シーケンス番号８０Ｃを記憶している。現用系モジュール３０Ａは、待機系モジュール３０Ｂから内部制御パケット８０１を受信すると、応答（ＡＣＫ）を返送すると共に、到達確認テーブルを参照して、待機系から通知された中継シーケンス番号８０Ｃと現用系で処理した経路制御パケットの中継シーケンス番号８０Ｃとを照合し、これによって、待機系が現用系と同期して正常動作しているか否かを判断する。待機系モジュール３０Ｂは、現用系モジュール３０Ａからの応答を受信することによって、現用系が正常動作中であることを確認する。
【００３３】
図５は、本発明のパケット転送装置からネットワークの他のノード装置に対して、経路制御パケットを送信すべき所定のイベント（事象）、例えば、障害の検出や定期的なタイマ割り込みが発生した場合の経路制御モジュール３０Ａ、３０Ｂの動作を示す。
この場合、矢印４で示すように、現用系の経路制御モジュール３０Ａのみが、経路制御パケット８２０を発生する。この経路制御パケット８２０に対して、他のノード装置が応答パケット８３０を送信すると、インタフェース１０−２は、経路制御パケット８００の受信時と同様、矢印５で示すように、応答パケットを現用系、待機系の双方の経路制御モジュール３０Ａ、３０Ｂに転送する。
【００３４】
ここで、現用系の経路制御モジュール３０Ａが、例えば、タイマが示す時刻情報に依存して変化するランダム情報に代表される独立制御情報を経路制御パケット８２０に設定していた場合、他のノード装置は、経路制御パケット８２０が示す独立制御情報を含めた形で、上記応答パケット８３０を返送する。現用系の経路制御モジュール３０Ａは、応答パケット８３０を受信すると、応答パケット８３０が示す独立制御情報を自分が経路制御パケット８２０に付加した独立制御情報と照合することによって、正しい応答パケットか否かを判定する。
【００３５】
この場合、現用系と待機系の独立制御情報の値には相違があるため、待機系モジュールは、現用系モジュールで生成した独立制御情報を含む応答パケット８３０を正常に処理することが不可能となる。そこで、本発明では、現用系の経路制御モジュール３０Ａが独立制御情報を含む経路制御パケット８２０を生成した場合は、現用系の経路制御モジュール３０Ａが、独立制御情報を示す内部制御パケット８０２を待機系の経路制御モジュール３０Ｂに送信する。待機系の経路制御モジュール３０Ｂは、応答パケット８３０の処理に適用する独立制御情報を上記現用系の独立制御情報に置き換えることによって、応答パケット８３０を正常に処理することが可能となる。
【００３６】
図６は、インタフェースモジュール１０の１実施例を示すブロック図である。
インタフェースモジュール１０は、ネットワークの入力回線に接続され、ＯＳＩのレイヤ２の終端処理を実行する受信回路１１と、受信回路１１が出力したＩＰパケットを一時的に蓄積する受信バッファ１２と、受信バッファ１２からＩＰパケットを読み出し、ヘッダ部（ＩＰヘッダ８１とＴＣＰ／ＵＤＰヘッダ８２）の内容とパケット種別テーブル１４に基いて、受信ＩＰパケットが経路制御モジュール３０Ａ、３０Ｂに転送すべきパケット（以下、経路制御パケット８００と応答パケット８１０を含めて、単に経路制御パケットと言う）か否かを判定するヘッダ解析部１３を備える。
【００３７】
ヘッダ解析部１３は、受信ＩＰパケットが経路制御パケットの場合は、受信ＩＰパケットを経路制御パケット内部ヘッダ付加部１７に出力すると共に、パケット種別テーブル１４から判明する上記経路制御パケットのプロトコル種別を経路制御パケット内部ヘッダ付加部１７に通知する。また、経路制御パケット以外の受信ＩＰパケットは、中継パケット内部ヘッダ付加部１５に出力し、中継パケット内部ヘッダ付加部１５に、経路テーブル検索に必要となる宛先ＩＰアドレスを通知する。
【００３８】
中継パケット内部ヘッダ付加部１５は、上記宛先ＩＰアドレスに基づいて、経路テーブル１６から内部ルーティング情報（内部アドレス）を検索し、該内部アドレス８０Ａと、レジスタ領域１９Ｃ、１０Ｄから読み出された中継シーケンス番号８０Ｃおよびインタフェースモジュール番号８０Ｄを示す内部ヘッダ８０を生成し、受信ＩＰパケットに該内部ヘッダを付加して内部送信バッファ２０に出力する。レジスタ領域１９Ｃが示す中継シーケンス番号の値は、内部アドレスの生成の都度、更新される。中継パケット内部ヘッダ付加部１５が生成する内部ヘッダ８０のプロトコル種別８０Ｂは、無意味な値となる。
【００３９】
一方、経路制御パケット内部ヘッダ付加部１７は、レジスタ領域１８が示す経路制御モジュール３０Ａ、３０Ｂに共通のマルチキャストアドレスを内部アドレス８０Ａとし、ヘッダ解析部１３から通知されたプロトコル種別８０Ｂと、レジスタ領域１９Ｃ、１０Ｄから読み出された中継シーケンス番号８０Ｃとインタフェースモジュール番号８０Ｄとを示す内部ヘッダ８０を生成し、この内部ヘッダを付加した受信ＩＰパケットを内部送信バッファ２０に出力する。経路制御パケット内部ヘッダ付加部１７も、内部アドレスの生成の都度、レジスタ領域１９Ｃの中継シーケンス番号の値を更新する。
【００４０】
内部送信バッファ２０に蓄積された受信ＩＰパケットは、スイッチインタフェース２１によって読み出され、内部スイッチ９０に出力される。内部スイッチ９０に出力された受信ＩＰパケットは、上記内部ヘッダ８０が示す内部アドレス８０Ａに従って、内部スイッチ９０に接続された何れかのモジュールに転送される。本実施例の場合、マルチキャストアドレスをもつ受信ＩＰパケット（経路制御パケット）は、経路制御モジュール３０Ａと３０Ｂに転送され、経路制御パケット以外の受信ＩＰパケットは、他の何れかのインタフェースモジュール１０、ノード制御モジュール５０または拡張モジュール６０に転送されることになる。
【００４１】
スイッチインタフェース２１は、内部スイッチ９０を介して他の何れかのモジュールが出力した内部ヘッダ付きのパケット（送信ＩＰパケット）を受信すると、これを内部受信バッファ２２に出力する。内部受信バッファ２２に一時的に蓄積された送信ＩＰパケットは、必要に応じてシェーピング部２３によるシェーピング処理を受けた後、内部ヘッダを除去した形で送信バッファ２４に出力され、送信回路２５によってネットワークに送出される。
【００４２】
パケット種別テーブル１４および経路テーブル１６の更新と、レジスタ領域１８へのマルチキャストアドレスの設定は、各インタフェースモジュール１０に設けられたモジュール制御部２６を介して行われる。
【００４３】
図７は、パケット種別テーブル１４の構成を示す。
パケット種別テーブル１４は、複数のエントリ１４０（１４０−１、１４０−２、…）からなり、各エントリは、レイヤ種別１４２と、ポート番号１４２と、プロトコル種別１４３と、有効性表示１４４とを示している。レイヤ種別１４２とポート番号１４２は、受信ＩＰパケットのＴＣＰ／ＵＤＰヘッダの種別と、ＴＣＰ／ＵＤＰヘッダに含まれる宛先ポート番号を示している。プロトコル種別１４３は、レイヤ種別１４２とポート番号１４２によって決まる経路制御プロトコルの種類を示す。有効性表示１４４は、パケット種別テーブルに登録された各エントリが、そのインタフェースモジュール１０において有効か否かを示す。
【００４４】
ここに示した例では、パケット種別テーブル１４は、経路制御プロトコルとしてＲＩＰ、ＢＧＰ、ＯＳＰＦを定義しており、ＲＩＰのみが有効“１”となっている。図６に示したヘッダ解析部１３は、受信ＩＰパケットからＴＣＰ／ＵＤＰヘッダ８２の種別と宛先ポート番号を抽出し、パケット種別テーブル１４を参照する。その結果、受信ＩＰパケットがＲＩＰ用の経路制御パケットと判れば、ヘッダ解析部１３は、受信ＩＰパケットを経路制御パケット内部ヘッダ付加部１７に出力し、ＴＣＰ／ＵＤＰヘッダ種別と宛先ポート番号が、パケット種別テーブル１４のレイヤ１４１、ポート番号１４２に該当しなければ、中継パケット内部ヘッダ付加部１５に出力する。
【００４５】
受信ＩＰパケットのＴＣＰ／ＵＤＰヘッダ種別と宛先ポート番号が、パケット種別テーブル１４のレイヤ１４１とポート番号１４２に該当した場合でも、有効性表示１４４が“０”となっていれば、経路制御パケット内部ヘッダ付加部１７への転送はない。
【００４６】
図８は、経路制御モジュール３０（３０Ａ、３０Ｂ）の１実施例を示すブロック構成図である。
経路制御モジュール３０は、内部スイッチ９０に接続するためのスイッチインタフェース３１と、スイッチインタフェース３１に接続された受信バッファ３２および送信バッファ３３と、プロセッサ３４とを備える。プロセッサ３４が実行する本発明に関係するソフトウェアとして、メモリ３００に、経路制御情報処理ルーチン３５、冗長系連携制御ルーチン３６、経路テーブル管理ルーチン３７、パケット送受信処理ルーチン３８が用意されている。プロセッサ３４は、これらのソフトウェアの実行に伴って、経路制御情報データベース３９と、メモリ４００に形成された経路テーブル４０、到達確認テーブル４１、有効プロトコル判定テーブル４２を参照または更新する。
【００４７】
図９は、図８に示したソフトウェア３５〜３８と、データベース３９および各種テーブル４０〜４２との関係を示す機能ブロック図である。
パケット送受信処理ルーチン３８は、受信バッファ３２に蓄積された受信パケットの読み出しと、有効プロトコル判定テーブル４２による受信パケットの判定と、送信バッファ３３への送信パケットの出力とを実行する。有効プロトコル判定テーブル４２は、経路制御モジュール３０Ａ、３０Ｂで処理すべき経路制御プロトコルの種別を示している。
【００４８】
パケット送受信処理ルーチン３８は、受信パケットの経路制御プロトコル種別が、有効プロトコル判定テーブル４２で許可されたものでなければ、受信パケットを廃棄する。受信パケットが、ネットワークの他のノード装置からの経路制御パケットの場合は、経路制御情報処理ルーチン３５が実行され、経路制御モジュール間で送受信される内部制御パケットの場合は、冗長系連携制御ルーチン３６が実行される。
【００４９】
冗長系連携制御ルーチン３６は、到達確認テーブル４１を利用して、現用系３０Ａと待機系３０Ｂの同期状態を確認し、現用系３０Ａに異常が検出された時、現用系３０Ａと待機系３０Ｂの動作モードを切り替える機能をもつ。経路制御情報処理ルーチン３５は、経路制御情報処理の実行に伴って、経路情報データベース３９に蓄積された経路制御情報ファイル３９１、隣接ノード情報ファイル３９２、インタフェースモジュール情報ファイル３９３を参照または更新すると共に、ネットワークの他のノード装置との間で経路制御パケットの交信を行う。
【００５０】
経路テーブル管理ルーチン３７は、経路情報データベース３９の蓄積情報を利用して、経路テーブル４０を更新し、必要に応じて、各インタフェースモジュール１０に搭載されたモジュール制御部２６に、経路テーブル１６の内容を更新するための制御パケットを送信する。
【００５１】
ここでは、経路制御情報処理ルーチン３５と冗長系連携制御ルーチン３６を別々のルーチンとして扱っているが、後述するように、これらの２つのルーチンは互いに密接不可分な関係にあるため、実際の応用においては、冗長系連携制御ルーチン３６の機能一部または全てを経路制御情報処理ルーチン３５に組み込み、経路制御モジュール間で送受信される内部制御パケットを経路制御情報処理ルーチン３５で処理してもよい。
【００５２】
図１０は、冗長系連携制御ルーチン３６が利用する到達確認テーブル４１の１実施例を示す。
到達確認テーブル４１は、現用系経路制御モジュールと待機系経路制御モジュールに対応した複数のエントリ４１０−１、４１０−２からなる。各エントリは、モジュール識別子となるモジュールアドレス４１１と、動作モード４１２と、中継シーケンス番号４１３と、同期状態４１４とを示している。
【００５３】
モジュールアドレス４１１は、図４、図５で説明したシーケンス番号や独立制御情報を含む内部制御パケット８０１、８０２の宛先アドレスに相当する。動作モード４１２は、モジュールアドレス４１１で特定される経路制御モジュールが、現用系として動作中か待機系として動作中かを示している。
【００５４】
現用系経路制御モジュールが備える到達確認テーブル４１において、現用系エントリ４１０−１の中継シーケンス番号４１３は、経路制御パケット８００の内部ヘッダから抽出された中継シーケンス番号８０Ｃの値を示し、待機系エントリ４１０−２の中継シーケンス番号４１３は、内部制御パケット８０１で通知された中継シーケンス番号の値を示す。待機系経路制御モジュールが備える到達確認テーブル４１では、経路制御パケット８００の内部ヘッダから抽出された中継シーケンス番号８０Ｃの値が、待機系エントリ４１０−２の中継シーケンス番号４１３として記憶され、現用系エントリ４１０−１の中継シーケンス番号４１３は不定となる。
【００５５】
同期状態４１４は、現用系と待機系が同期しているか否かを示すと同時に、各経路制御モジュールが正常に動作しているか否かを示している。待機系エントリ４１０−２の中継シーケンス番号４１３は、現用系エントリ４１０−１よりも遅れて更新されため、待機系の中継シーケンス番号が所定時間内に現用系の中継シーケンス番号に一致すれば、現用系と待機系が互いに同期（SYNC）した状態にあると判断される。
【００５６】
図１１は、経路制御モジュール３０Ａ、３０Ｂのプロセッサ３４が、他のノード装置から経路制御パケット８００の受信時に実行する受動的な経路制御処理１００のフローチャートを示す。
【００５７】
受動的な経路制御処理１００では、経路制御情報処理ルーチン３５に従って、経路制御パケットの内容と対応した経路制御情報処理が実行され（ステップ１０１）、上記経路制御パケットの内部ヘッダが示す中継シーケンス番号８０Ｃに従って、到達確認テーブル４１の中継シーケンス番号４１３が更新される（１０２）。この場合、各経路制御モジュールは、自分のモジュールアドレス４１１に従って、現用系の経路制御モジュール３０Ａでは現用系エントリ４１０−１、待機系の経路制御モジュール３０Ｂでは待機系エントリ４１０−２の中継シーケンス番号４１３を更新する。
【００５８】
次に、他方の経路制御モジュールからの応答待ち許容時間Ｔを計測するための連携制御タイマを起動し（１０３）、自モジュールの動作モードを判定する（１０４）。
【００５９】
到達確認テーブル４１で、自モジュールの動作モード４１２が待機系になっていれば、到達確認テーブル４１が示す現用系の経路制御モジュールに対して、中継シーケンス番号４１３の通知パケット（内部制御パケット）を送信し（１１０）、現用系の経路制御モジュールからの応答（ＡＣＫ）パケットの受信を待つ（１１３）。連携制御タイマがタイムアウト（許容時間Ｔを経過）になる前に、応答パケットを受信した場合は、ステップ１２２を実行する。
【００６０】
ＡＣＫパケットを受信しない状態で、連携制御タイマがタイムアウトした場合は（１１１）、現用系の経路制御モジュールに障害が発生したものと判断する。この場合、動作モードを切替え（１１２）、ノード制御モジュール５０に経路制御モジュール（現用系）の障害を通知し（１１５）、ステップ１２０を実行する。尚、動作モードの切替えは、到達確認テーブル４１の現用系エントリ４１０−１の動作モード４１２を待機系に変更し、待機系エントリ４１０−２の動作モード４１２を現用系に変更することを意味している。この時、現用系から待機系に切替えられた経路制御モジュールのエントリ４１０−１は、同期状態４１４が“非同期”に変更される。
【００６１】
ステップ１０４で、動作モードが現用系になっていた場合は、連携制御タイマをチェックし（１０５）、タイムアウトになっていなければ、待機系経路制御モジュールからの中継シーケンス番号通知の受信を待つ（１０６）。連携制御タイマがタイムアウトになる前に、中継シーケンス番号通知を受信した場合は、待機系経路制御モジュールにＡＣＫパケットを送信し（１０７）、通知された中継シーケンス番号が、到達確認テーブル４１の現用系エントリ４１０−１が示す中継シーケンス番号４１３と一致しているか否かを判定する（１０８）。中継シーケンス番号が不一致の場合は、ステップ１０５に戻る。
【００６２】
中継シーケンス番号が一致していた場合は、到達確認テーブル４１の待機系エントリ４１０−２の中継シーケンス番号を更新し（１０９）、ステップ１２０を実行する。連携制御タイマがタイムアウト（許容時間Ｔを経過）になった時は、ノード制御モジュール５０に経路制御モジュール（待機系）の障害を通知（１１５）した後、到達確認テーブル４１の待機系エントリ４１０−２の同期状態４１４を“非同期”に設定して（１０９）、ステップ１２０を実行する。ノード制御モジュール５０は、経路制御モジュールの障害通知を受けると、予め指定されているシステム管理装置に対して、経路制御モジュールの障害通知メッセージを送信する。
【００６３】
ステップ１２０では、経路制御応答パケットの送信要否を判定し、送信すべき応答パケットがあれば、応答パケットを送信して（１２１）、経路制御処理が完了したか否かを判定する（１２２）。もし、経路制御処理が完了していなければ、ステップ１０１に戻り、一連の制御処理が完了する迄、経路制御情報処理を実行する。
【００６４】
図１２は、パケット転送装置から経路制御パケットを送信すべき事象が発生した場合に経路制御モジュール３０Ａ、３０Ｂが実行する能動的な経路制御情報処理２００のフローチャートを示す。
【００６５】
能動的な経路制御情報処理２００では、発生した事象に応じた経路制御情報処理を実行し（２０１）、独立制御情報が生成された場合は（２０２）、連携制御タイマを起動して（２０３）、動作モードを判定する（２０３）。動作モードが現用系に設定されていた場合は、到達確認テーブル４１が示す待機系の経路制御モジュールに独立制御情報を示す内部制御パケットを送信し（２０５）、待機系モジュールからのＡＣＫパケットの受信を待つ（２０７）。連携制御タイマがタイムアウトする前にＡＣＫパケットを受信した場合は、上記独立制御情報を含む経路制御パケットをネットワークの他のノード装置に送信する（２１９）。この後、経路制御処理が完了したか否かを判定し、完了していなければ、ステップ２０１に戻り、一連の制御処理が完了する迄、経路制御情報処理を実行する。
【００６６】
待機系モジュールからＡＣＫパケットを受信することなく、連携制御タイマがタイムアウトとなった場合（２０６）、到達確認テーブル４１の待機系エントリの同期状態４１４を“非同期”に設定し（２０８）、ノード制御モジュール５０に経路制御モジュール（待機系）の障害を通知（２０９）した後、ステップ２１９以降のシーケンスを実行する。
【００６７】
ステップ２０４で、動作モードが待機系に設定されていた場合は、現用系経路制御モジュールからの独立制御情報を示す内部制御パケットの受信を待つ（２１１）。連携制御タイマがタイムアウトする前に内部制御パケットを受信した場合は、自モジュールで生成した独立制御情報を上記内部制御パケットが示す独立制御情報に置き換え（２１２）、現用系の経路制御モジュールにＡＣＫパケットを返信して（２１３）、ステップ２２０を実行する。
【００６８】
独立制御情報を示す内部制御パケットを受信することなく、連携制御タイマがタイムアウトとなった場合（２１０）、現用系の経路制御モジュールに障害が発生したものと判断し、到達確認テーブル４１の現用系エントリと待機系エントリの動作モードを切替え（２１４）、自モジュールで生成した独立制御情報を適用した経路制御パケットをネットワークの他のノード装置に送信し（２１５）、ノード制御モジュール５０に経路制御モジュール（現用系）の障害を通知（２１６）ステップ２２０を実行する。
【００６９】
上記実施例から明らかなように、本発明によれば、現用系の経路制御モジュールが、パケット転送装置を代表して、ネットワーク上の他のノード装置と経路制御パケットを交信するが、パケット転送装置の内部では、現用系と待機系の経路制御モジュールが並列的に経路制御情報処理を実行し、それそれの経路情報データベースを互いに同期して更新している。従って、現用系の経路制御モジュールに障害が発生した時、これを検知して動作モードを切替えた待機系の経路制御モジュールが、新たな現用系の経路制御モジュールとなって、直ちに経路制御情報処理を引き継ぐことが可能となる。
【００７０】
上述した実施例では、各インタフェースのジュール１０が、ネットワークからの受信ＩＰパケットが経路制御パケットか否かを判定し、経路制御パケットを受信した場合は、受信パケットに現用系と待機系の経路制御モジュールに共通するマルチキャストアドレスをもつ内部ヘッダを付加することによって、現用系と待機系の双方の経路制御モジュールに経路制御パケットを転送できるようにしている。
【００７１】
しかしながら、図３に矢印２で示したように、各インタフェースモジュール１０が、ネットワークから受信した経路制御パケットをノード制御部５０に転送し、ノード制御部５０から現用系、待機系の経路制御モジュール１０Ａ、１０Ｂに経路制御パケットを転送する方式を採用した場合、各インタフェースモジュール１０では、パケット種別を判定することなく、全ての受信パケットを中継パケット内部ヘッダ付加部１５で処理すれば済むため、モジュールの構成を簡単化でき、インタフェースモジュール動作を高速化できる。
【００７２】
この方式の場合、ノード制御モジュール５０にパケット種別テーブル１４を設けておき、ノード制御部５０のプロセッサが、受信パケットが自ノードで処理可能な経路制御パケットか否かを判定し、処理可能な経路制御パケットであれば、現用系、待機系の経路制御モジュール１０Ａ、１０Ｂに共通のマルチキャストアドレスをもつ内部ヘッダを付加して、経路制御パケットを内部スイッチ９０に出力するようにすればよい。上記経路制御パケットの転送機能は、ノード制御モジュール５０に代えて、拡張モジュール６０に持たせてもよい。
【００７３】
図１３は、本発明の他の実施例を示す。本実施例では、現用系と待機系の経路制御モジュール１０Ａ、１０Ｂに、予めプロトコルの異なる複数種類の経路制御情報処理ルーチン３５（３５−１、３５−２、３５−３、…）を備えておき、これらのうち、ノード内で有効となるプロトコルを有効プロトコル判定テーブルで指定する。本実施例のように予め複数種類の経路制御情報処理機能を備えておけば、同一のパケット転送装置で各種プロトコルのネットワークに適合できる。また、本実施例は、経路制御プロトコルの異なる複数のネットワーク間の接続ノードに適用できる。
【００７４】
図１４は、本発明の更に他の実施例として、経路制御モジュール３０上で複数の仮想ルータを実現したパケット転送装置を示す。ここでの仮想ルータは、１つのパケット転送装置内で、同一プロトコルの複数の経路制御機能を並列的に動作させることによって、ネットワーク上の他のノード装置との間で、１つのパケット転送装置を互いに独立した複数のパケット転送装置（仮想ルータ）として機能させることを意味している。従って、本実施例の仮想ルータは、複数のルータを仮想的な１つのルータとみなすためのＶＲＲＰ（Virtual Router Redundancy Protocol）とは技術的に異なる。
【００７５】
図１４は、経路制御プロトコルとしてＯＳＰＦを適用した例について示しており、パケット転送装置は、内部スイッチ９０に接続して、３つの経路制御モジュール３０Ａ、３０Ｂ、３０Ｃを備えている。経路制御モジュール３０Ａでは、２つのＯＳＰＦ経路制御機能３５Ａ−１、３５Ａ−２が動作し、経路制御モジュール３０Ｂと３０Ｃでは、それぞれ１つのＯＳＰＦ経路制御機能３５Ｂ、３５Ｃが動作している。各ＯＳＰＦ経路制御機能は、図８に示したルーチン３５〜３７に相当し、それぞれが個別に経路制御情報データベース３９とテーブル４０〜４２を備えている。
【００７６】
図示した例では、破線で示すように、ＯＳＰＦ経路制御機能３５Ａ−１と３５Ｃで、冗長化された第１の仮想経路制御部８１が形成され、ＯＳＰＦ経路制御機能３５Ａ−２と３５Ｂで、冗長化された第２の仮想経路制御部８２が形成されている。第１、第２の仮想経路制御部８１、８２は、例えば、それぞれ同一ネットワーク上に形成される第１、第２の仮想私設網ＶＰＮ（Virtual Private Network）と対応し、第１の仮想経路制御部８１は、第１ＶＰＮにおける経路制御情報処理を実行し、第２の仮想経路制御部８２は、第２ＶＰＮにおける経路制御情報処理を実行する。また、第１の仮想経路制御部８１では、ＯＳＰＦ経路制御機能３５Ａ−１と３５Ｃのうちの一方が現用系、他方が待機系となり、第２の仮想経路制御部８２では、ＯＳＰＦ経路制御機能３５Ａ−２と３５Ｂのうちの一方が現用系、他方が待機系となって、図１１、図１２で説明した動作を実行する。
【００７７】
本実施例の場合、各経路制御パケットが所属するＶＰＮを判定し、第１の仮想経路制御部８１には、第１ＶＰＮの経路制御パケットのみを処理させ、第２の仮想経路制御部８２は、第２ＶＰＮの経路制御パケットのみを処理させる必要がある。ＶＰＮは、例えば、回線番号（インタフェースモジュール番号）と、受信パケットに付されるＩＥＥＥ８０２．１ｑのＶＬＡＮタグ、ＡＴＭセルヘッダが示すＶＰＩ／ＶＣＩなどのヘッダ情報によって特定される。従って、経路制御パケットが所属するＶＰＮを特定するためは、例えば、図１５に示すように、ＶＰＮ判定条件２８１と仮想経路制御部識別子（ＶＰＮ識別子）２８２との関係を定義したＶＰＮ判定テーブル２８を使用する。
【００７８】
図１６は、ＶＰＮ判定テーブル２８を参照して、受信パケットのＶＰＮを判定するようにしたインタフェースモジュール１０の１実施例を示す。
ここに示したインタフェースモジュール１０は、図６に示した受信回路部１１がＶＰＮ識別子付加部１７を備え、ＶＰＮ識別子付加部１７がＶＰＮ判定テーブル２８を参照して、各受信パケットの先頭部にＶＰＮ識別子を示す内部ヘッダを付加する。
【００７９】
例えば、インタフェースモジュール１０の接続回線がＡＴＭ網の場合、受信ＡＴＭセルは、受信回路部１１で可変長パケットに組立てられ、送信回路部２５において、可変長の送信パケットからＡＴＭセルに変換される。ＶＰＮ識別子付加部１７は、受信回路部１１で可変長パケット（ＩＰパケット）が組立てられた時、ＶＰＮ判定テーブル２８を参照し、該可変長パケットのＶＰＩ／ＶＣＩが、ＶＰＮ判定条件２８１に該当する場合は、仮想経路制御部識別子２８２を示す内部ヘッダを付加して、上記可変長パケットを受信バッファ１２に出力する。ＶＰＩ／ＶＣＩが、ＶＰＮ判定条件２８１に該当しなければ、例えば、オール“１”パターンを示す所定長の内部ヘッダを付加して、上記可変長パケットを受信バッファ１２に出力する。
【００８０】
インタフェースモジュール１０の接続回線が、例えば、ＭＰＬＳ網のようにラベル付きパケットを転送している場合、ＶＰＮ識別子付加部１７は、ＶＰＮ判定テーブル２８を参照して、受信パケットに付されたラベル情報がＶＰＮ判定条件２８１に該当するか否かを判定し、上述した内部ヘッダ付加を行えばよい。
【００８１】
本実施例では、ＶＰＮ識別子付加部１７で付加したＶＰＮ識別子は、図２に示した内部ヘッダ８０のインタフェースモジュール番号８０Ｄに続く内部ヘッダ情報項目となって、内部スイッチ部９０に出力され、受信パケットが経路制御パケットの場合は、経路制御モジュール３０Ａ〜３０Ｃに転送され、経路制御パケットでなければ、他の何れかのインタフェースモジュール、ノード制御モジュール５０、拡張モジュール６０に転送される。
【００８２】
経路制御モジュール３０Ａ〜３０Ｃは、内部スイッチ９０を介して経路制御パケットを受信すると、図９に示したパケット送受信ルーチン３８が、有効プロトコル判定テーブル４２を参照して、内部ヘッダ８０が示すプロトコル種別８０Ｂの有効性を判定する。自モジュールで処理可能なプロトコル種別の経路制御パケットであれば、パケット送受信ルーチン３８は、内部ヘッダ８０が示すＶＰＮ識別子で特定される仮想経路制御部（経路制御情報処理ルーチン３５）に上記経路制御パケットを渡す。これによって、仮想ルータによるＶＰＮ対応の経路制御情報処理を実現できる。
【００８３】
以上の実施例では、待機系が１台の冗長化構成について説明したが、システムの安全性を高めるために、待機系の経路制御モジュールの台数を２以上にしてもよい。この場合、各経路制御モジュールに優先度を与えておき、現用系モジュールの障害が発生した時、正常状態にある複数の待機系経路制御モジュールのうちで、優先度の最も高いモジュールの動作モードを現用系に切替えるようにする。上記優先度は、例えば、到達確認テーブル４１に登録されたモジュールアドレスの若い順にしてもよい。
【００８４】
待機系の経路制御モジュールが複数台となった場合、経路制御モジュール間で交信する内部制御パケットのアドレスとして、これらの経路制御モジュールに共通するマルチアドレスを適用すればよい、これによって、現用系モジュールから送信された内部制御パケットを全ての待機系モジュールで受信し、１つの待機系モジュールが送信した内部制御パケットを他の全てのモジュールで受信することができる。このようにすれば、待機系の各モジュールは、待機系の他のモジュールが現用系モジュールに送信したシーケンス番号通知、または独立制御情報パケットに対する応答を受信し、到達確認テーブル４１によって、他の全ての経路制御モジュールの同期状態を把握できる。従って、待機系モジュールが複数存在した場合でも、各モジュールは、現用系モジュールの障害が発生した時、自分の動作モードを切替えるべきか否かを判断することが可能となる。
【００８５】
以上の実施例では、マルチキャストアドレスを付与することによって、同一の経路制御パケットを現用系と待機系の双方の経路制御モジュールに並列的に転送しているが、各インタフェースモジュールで経路制御パケットの複製を生成し、現用系モジュールと待機系モジュールに個別アドレスのパケットを送信するようにしてもよい。また、経路制御パケットの複製は、内部スイッチで生成するようにしてもよい。
【図面の簡単な説明】
【００８６】
【図１】本発明によるパケット転送装置のブロック構成の１例を示す図。
【図２】パケット転送装置で扱うパケットフォーマットの１例を示す図。
【図３】ネットワークから経路制御パケットを受信した時のインタフェースモジュール１０の動作を示す図。
【図４】経路制御パケットを受信した時の経路制御モジュール３０の動作を示す図。
【図５】本発明のパケット転送装置から他のノード装置に経路制御パケットを送信する時の経路制御モジュール３０の動作を示す図。
【図６】インタフェースモジュール１０の１実施例を示すブロック図。
【図７】インタフェースモジュール１０が備えるパケット種別テーブル１４の１例を示す図。
【図８】経路制御モジュール３０の１実施例を示すブロック図。
【図９】図８に示した経路制御モジュール３０が備えるソフトウェア、データベース、各種テーブルの関係を示す機能ブロック図。
【図１０】経路制御モジュール３０が備える到達確認テーブル４１の１例を示す図。
【図１１】経路制御パケットの受信時に経路制御モジュール３０が実行する経路制御情報処理ルーチンの１実施例を示すフローチャート。
【図１２】経路制御パケットの送信時に経路制御モジュール３０が実行する経路制御情報処理ルーチンの１実施例を示すフローチャート。
【図１３】本発明によるパケット転送装置の他の実施例を示す図。
【図１４】本発明によるパケット転送装置の更に他の実施例を示す図。
【図１５】図１４の実施例で参照されるＶＰＮ判定テーブルの１例を示す図。
【図１６】図１４の実施例に適用されるインタフェースモジュールの他の実施例を示す図。
【符号の説明】
【００８７】
１０：インタフェースモジュール、１７：経路制御パケット内部ヘッダ付加部、
３０：経路制御モジュール、３５：経路制御情報処理ルーチン、
３６：冗長系連携制御ルーチン、３７：経路テーブル管理ルーチン、
３８：パケット送受信ルーチン、３９：経路制御情報データベース、
４０：経路テーブル、４１：到達確認テーブル、４２：有効プロトコル判定テーブル、
５０：ノード制御モジュール、６０：拡張モジュール、９０：内部スイッチ。
【図１】
2005303501.tif 000003
【図２】
2005303501.tif 000004
【図３】
2005303501.tif 000005
【図４】
2005303501.tif 000006
【図５】
2005303501.tif 000007
【図６】
2005303501.tif 000008
【図７】
2005303501.tif 000009
【図８】
2005303501.tif 000010
【図９】
2005303501.tif 000011
【図１０】
2005303501.tif 000012
【図１１】
2005303501.tif 000013
【図１２】
2005303501.tif 000014
【図１３】
2005303501.tif 000015
【図１４】
2005303501.tif 000016
【図１５】
2005303501.tif 000017
【図１６】
2005303501.tif 000018