(57)【要約】【課題】マスタルータと冗長化のために設けられたバックアップルータとが、各種の状態遷移に対して動的な設定内容を常に一致させることのできる通信システム、バックアップルータ、その冗長化処理プログラムおよびその冗長化処理方法を得ること。【解決手段】マスタルータ２０６とバックアップルータ２０９は、第１あるいは第２のシェアードハブ２０３、２１３を介して第１あるいは第２のネットワーク２０１、２０２と接続されている。バックアップルータはマスタルータと同一のパケットを受信し、パケットによって各種の状態遷移に対して動的な設定内容を常にマスタルータと一致させることができる。バックアップルータ２０９は、送られてきたパケットを各種機能の状態遷移後に送信することなく廃棄する。【選択図】図１
2007208502.tif 000002
【特許請求の範囲】
【請求項１】
マスタ側のルータとしてのマスタルータと、
このマスタルータの障害を検出するマスタルータ障害検出手段と、このマスタルータ障害検出手段が前記マスタルータの障害を検出するまでの間、このマスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行して受信するパケット受信手段と、このパケット受信手段の受信したパケットに前記マスタルータと同一のパケット処理を行わせるパケット処理手段と、このパケット処理手段が処理したパケットを送信することなく廃棄するパケット廃棄手段とを具備するバックアップルータと、
前記マスタルータおよびバックアップルータに同一のパケットを分岐して供給するパケット分岐供給手段
とを具備することを特徴とする通信システム。
【請求項２】
前記マスタルータおよびバックアップルータのパケット出力側から出力されるパケットを合流させるパケット合流手段を具備することを特徴とする請求項１記載の通信システム。
【請求項３】
前記マスタルータと前記バックアップルータは、互いに同一の仮想ＭＡＣアドレスおよび仮想ＩＰアドレスを割り振られていることを特徴とする請求項１記載の通信システム。
【請求項４】
前記マスタルータは所定の時間間隔で自己が正常であることを示す制御パケットを送信し、前記バックアップルータの前記マスタルータ障害検出手段はこの制御パケットが前記時間間隔を超える予め定めた時間が経過しても送信されなかったとき、前記マスタルータの障害の発生を検出することを特徴とする請求項１記載の通信システム。
【請求項５】
前記マスタルータが送出する制御パケットは優先度を示す情報あるいはマスタであることを示す情報を付属しており、前記バックアップルータは自己の優先度と比較して自己の優先度が低いことをもって、あるいは送られてきた制御パケットがマスタからのものであることをもって、前記パケット廃棄手段の廃棄を実行するバックアップルータであることを判別する比較判別手段を具備することを特徴とする請求項１記載の通信システム。
【請求項６】
マスタ側のルータとしてのマスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行して受信するパケット受信手段と、
このパケット受信手段の受信したパケットを処理するパケット処理手段と、
前記マスタルータの障害を検出するマスタルータ障害検出手段と、
このマスタルータ障害検出手段が前記マスタルータの障害を検出するまでの間、前記パケット受信手段が受信したパケットを送信することなく廃棄するパケット廃棄手段
とを具備することを特徴とするバックアップルータ。
【請求項７】
前記マスタルータ障害検出手段が前記マスタルータの障害を検出した時点から、前記パケット受信手段が受信したパケットを前記マスタルータに代わって送信するマスタルータ代行手段を具備することを特徴とする請求項６記載のバックアップルータ。
【請求項８】
マスタ側のルータとしてのマスタルータと並行した伝送路に冗長化のために配置されたバックアップルータのコンピュータに、
前記マスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行して受信するパケット受信処理と、
このパケット受信処理で受信したパケットを処理するパケット処理と、
前記マスタルータの障害を検出するマスタルータ障害検出処理と、
このマスタルータ障害検出処理で前記マスタルータの障害を検出するまでの間、前記パケット受信処理で受信したパケットを送信することなく廃棄するパケット廃棄処理
とを実行させることを特徴とするバックアップルータの冗長化処理プログラム。
【請求項９】
前記マスタルータ障害検出処理で前記マスタルータの障害を検出した時点から、前記パケット受信処理で受信したパケットを前記マスタルータに代わって送信するマスタルータ代行処理を更に実行することを特徴とする請求項８記載のバックアップルータの冗長化処理プログラム。
【請求項１０】
マスタ側のルータとしてのマスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行して受信するパケット受信ステップと、
このパケット受信ステップで受信したパケットを解析して、処理するパケット処理ステップと、
前記マスタルータの障害を検出するマスタルータ障害検出ステップと、
このマスタルータ障害検出ステップで前記マスタルータの障害を検出するまでの間、前記パケット受信手段が受信したパケットを送信することなく廃棄するパケット廃棄ステップ
とを具備することを特徴とするバックアップルータの冗長化処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタルータとバックアップルータから構成された冗長化されたルータ装置を配置した通信システム、これを構成するバックアップルータ、バックアップルータの冗長化処理プログラムおよびバックアップルータの冗長化処理方法に関する。
【背景技術】
【０００２】
ルータ等の経路選択機器（以下、ルータと総称する。）は、ネットワーク上での通信の宛先に至る経路の選択に用いられている。通信経路における情報の伝達の信頼性を確保するためには、発信元から宛先までの経路を二重化あるいは冗長化することが必要である（たとえば特許文献１参照）。
【０００３】
図５は、２つの通信端末の間をルータで冗長化した通信システムの構成を表わしたものである。この通信システム１００では、第１の通信端末１０１と第２の通信端末１０２の間にマスタルータ１０３を経る経路の他に、バックアップルータ１０４を経る経路が用意されている。マスタルータ１０３が正常な場合には、マスタルータ１０３を経由して第１の通信端末１０１と第２の通信端末１０２がパケットの送受信を行うようになっている。マスタルータ１０３に障害が発生すると、バックアップルータ１０４がその時点から第１の通信端末１０１と第２の通信端末１０２の間のパケットの送受信を代行する。
【特許文献１】特開２００３−２４４１９２号公報（第００５１〜第００５９段落、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ルータは通信システム１００での通信の宛先に至る経路の選択だけでなく、さまざまな機能を果たしている。これらの機能はパケット転送に伴って動的な情報を持つが、一般的にこれらの情報は、その時点で使用されているマスタルータ１０３のみが保持する。このため、マスタルータ１０３が障害を起こすと、バックアップルータ１０４はその情報を引き継ぐことができない。このためバックアップルータ１０４に切り替わった際に、パケット転送や変換など動的な情報を必要とする機能では、マスタルータ１０３と同じ動作ができず、その結果、通信が途絶えることや、意図しない動作を行ってしまうことがあり得る。
【０００５】
また、従来の通信システム１００では、図示しないが、それぞれの状態変化の通知を行うための通知手段と、通知を受けたときに状態を一致させるための状態一致手段をルータ内に用意する必要がある。通信システム１００はこれらの手段をルータ内の多数の機能に個別に対応することは困難である。更に、そのためには実現のためのハードウェアあるいはソフトウェアを用意する必要があって、システムを複雑にするという問題があった。また情報を受け渡すためにパケットを使用する場合は、回線の多くの帯域が使用されてしまう問題もある。
【０００６】
前記した多数の機能のうち、一例としてルータの機能として搭載されるＮＡＰＴ(Network Address Port Translation)と呼ばれるアドレス変換機能が持つ情報をマスタルータとバックアップルータで共有する例を具体的に説明する。ＮＡＰＴの機能は、１つのＩＰアドレスを複数の端末で共有する機能である。ＩＰアドレスとＴＣＰ／ＵＤＰ（Transmission Control Protocol/User Datagram Protocol）のポート番号などを組み合わせて、変換前の情報と変換後の情報を、図示しない所定の変換テーブルに登録しておくことで、同一のＩＰアドレスをあて先にするパケットを、適切な端末に振り分けることができる。
【０００７】
マスタルータが正常な場合、ＮＡＰＴは次のような動作を行う。図５に示すように第１の通信端末１０１のＩＰアドレスを「１９２．１６８．０．１」とし、第２の通信端末１０２のＩＰアドレスを「１０．０．０．１」とする。マスタルータ１０３とバックアップルータ１０４の仮想ＩＰアドレスとしてのＮＡＰＴアドレスが共に「１７２．１６．０．１」であるとする。
【０００８】
今、第１の通信端末１０１が第２の通信端末１０２に対して任意のパケットを送信したとする。この送信パケットの送信元および送信先を示すアドレス情報およびポート番号は、たとえば次のようになる。
「ｓｒｃ  １９２．１６８．０．１：２０００  ｄｓｔ  １０．０．０．１：１０００」
【０００９】
マスタルータ１０４はこのパケットを受信すると、アドレスとポートを変換する。ＮＡＰＴアドレスが「１７２．１６．０．１」なので、マスタルータ１０４によって変換された送信パケットの送信元および送信先を示すアドレス情報およびポート番号は、たとえば次のようになる。
「ｓｒｃ  １７２．１６．０．１：３０００  ｄｓｔ  １０．０．０．１：１０００」
【００１０】
このとき、マスタルータ１０４のＮＡＰＴ用の変換テーブル（以下、ＮＡＰＴ変換テーブルという。）には、次の情報を一部に含むエントリが登録される。ここで、「１７２．１６．０．１：３０００」が第２の通信端末１０２に対応して割り振られたＮＡＰＴアドレスおよびポート番号である。
「１９２．１６８．０．１：２０００ − １７２．１６．０．１：３０００」
【００１１】
この後、送信パケットを受信した第２の通信端末１０２がこれに応答して応答パケットを送出してきたとする。この応答パケットのアドレス情報およびポート番号は、次のようになる。
「ｓｒｃ  １０．０．０．１：１０００  ｄｓｔ  １７２．１６．０．１：３０００」
【００１２】
マスタルータ１０４は、前記したＮＡＰＴ変換テーブルを用いて応答パケットのアドレス情報およびポート番号を次のように逆変換して送出する。
「ｓｒｃ  １０．０．０．１：１０００  ｄｓｔ  １９２．１６８．０．１：２０００」
【００１３】
このようにして、マスタルータ１０４が正常のときに、第２の通信端末１０２が送出したパケットを第１の通信端末１０１が受信することができる。
【００１４】
また、第１の通信端末のほかに「１９２．１６８．０．２」を持つ通信端末があったとしても、同様に同じＮＡＰＴアドレスに変換して、別のポート番号を使用することで第２の通信端末と通信することができる。
【００１５】
ところで、従来の冗長構成でマスタルータ１０４がＮＡＰＴ変換テーブルに第２の通信端末１０２についてのエントリを登録した後に障害を発生させたとする。この場合、バックアップルータ１０４は第１の通信端末１０１から第２の通信端末１０２に送信するパケットあるいは第２の通信端末１０２から第１の通信端末１０１に送信するパケットを受信する。しかしながら、バックアップルータ１０４のＮＡＰＴ変換テーブルには対応するエントリが存在しない。したがって、パケットの宛先を変換することができず、廃棄してしまう。
【００１６】
ＮＡＰＴは一例であるが、従来の通信システム１００では、このような問題を解決するために、マスタルータ側で前記したアドレス変換テーブルの内容等の各種の状態変化が動的に発生した場合に、その変化の内容をバックアップルータ側に通知することが提案されている。この提案では、マスタルータ側に生じたそれぞれの状態変化の内容を、状態変化の種別ごとに個別に通知するようになっている。
【００１７】
このように従来の通信システムでは、それぞれの状態変化の通知を行うための通知手段と、通知を受けたときに状態を一致させるための状態一致手段を用意する必要がある。したがって、通信システムはこれらの手段を実現するためのハードウェアあるいはソフトウェアを用意する必要があって、システムを複雑にするという問題があった。
【００１８】
そこで本発明の目的は、マスタルータと冗長化のために設けられたバックアップルータとが、各種の状態遷移を、マスタルータからバックアップルータに情報を提供することなく簡易に一致させることのできる通信システム、バックアップルータ、その冗長化処理プログラムおよびその冗長化処理方法を提供することにある。
【課題を解決するための手段】
【００１９】
本発明では、（イ）マスタ側のルータとしてのマスタルータと、（ロ）このマスタルータの障害を検出するマスタルータ障害検出手段と、このマスタルータ障害検出手段がマスタルータの障害を検出するまでの間、このマスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行して受信するパケット受信手段と、このパケット受信手段の受信したパケットにマスタルータと同一のパケット処理を行わせるパケット処理手段と、このパケット処理手段が処理したパケットを送信することなく廃棄するパケット廃棄手段とを具備するバックアップルータと、（ハ）マスタルータおよびバックアップルータに同一のパケットを分岐して供給するパケット分岐供給手段とを通信システムに具備させる。
【００２０】
すなわち本発明では、通信システムにマスタルータとバックアップルータを冗長化のために具備させ、パケット分岐供給手段を用いてバックアップルータにもマスタルータの受信するパケットと同一のパケットを時間的に並行して受信させる。従来の冗長構成では通常バックアップルータにはパケットが送信されないか、パケットが送信されてもバックアップルータでは受信しないようになっているが、本発明ではバックアップルータにもマスタルータと同様にパケットを受信させ、そのパケットに対する処理をマスタルータと同様に行わせることで、ルータの持つ各機能の情報を順次動的に更新させる。
【００２１】
したがって、本発明は受信パケットの内容で情報が一意に定まる機能にほぼ限定されるが、初期状態をそろえておけば特にマスタルータから情報をもらわなくてもバックアップルータが保持する情報はマスタルータのそれと常に一致することになる。もちろんバックアップルータがパケットを送信してしまうと、送出するパケットがマスタルータの送出したものと重複するため、バックアップルータは従来とは異なる場所でパケット廃棄手段が必要だが、これは対応可能な情報をすべて更新したあと、例えば送信直前に変更すればよい。すなわち、本発明では、バックアップ動作時のパケット廃棄手段の場所を変更するだけで、マスタルータの運用情報をある程度引き継ぐことができる。
【００２２】
また、本発明では、（イ）マスタ側のルータとしてのマスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行して受信するパケット受信手段と、（ロ）このパケット受信手段の受信したパケットを処理するパケット処理手段と、（ハ）マスタルータの障害を検出するマスタルータ障害検出手段と、（ニ）このマスタルータ障害検出手段がマスタルータの障害を検出するまでの間、パケット受信手段が受信したパケットを送信することなく廃棄するパケット廃棄手段とをバックアップルータに具備させる。
【００２３】
すなわち本発明では、バックアップルータのパケット受信手段にマスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行して受信させて処理させるようにしている。本発明ではバックアップルータがマスタルータと同一のパケットを受信するので、マスタルータが正常な状態のときにこれを送信先に送信すると送出するパケットが重複してしまう。そこでバックアップルータのパケット廃棄手段は、マスタルータの障害を検出するまでの間、パケット受信手段が受信したパケットを送信することなく廃棄するようにしている。
【００２４】
本発明のバックアップルータの冗長化処理プログラムでは、（イ）マスタルータと並行した伝送路に冗長化のために配置されたバックアップルータのコンピュータに、（ロ）マスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行して受信するパケット受信処理と、（ハ）このパケット受信処理で受信したパケットを処理するパケット処理と、（ニ）マスタルータの障害を検出するマスタルータ障害検出処理と、（ホ）このマスタルータ障害検出処理でマスタルータの障害を検出するまでの間、パケット受信処理で受信したパケットを送信することなく廃棄するパケット廃棄処理とを実行させることを特徴としている。
【００２５】
すなわち本発明のバックアップルータの冗長化処理プログラムでは、マスタルータと並行した伝送路に冗長化のために配置されたバックアップルータのコンピュータに、マスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行してパケットを受信させたとき、従来のように受信させる前に廃棄処理を行わず、ルータの各機能はマスタルータと同様にパケット処理を行う。そして、マスタルータ障害検出処理でマスタルータの障害を検出するまでの間、送信側に設けたパケット廃棄処理でパケットを廃棄する。
【００２６】
また、本発明では、（イ）マスタ側のルータとしてのマスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行して受信するパケット受信ステップと、（ロ）このパケット受信ステップで受信したパケットを解析して、処理するパケット処理ステップと、（ハ）マスタルータの障害を検出するマスタルータ障害検出ステップと、（ニ）このマスタルータ障害検出ステップでマスタルータの障害を検出するまでの間、パケット受信手段が受信したパケットを送信することなく廃棄するパケット廃棄ステップとをバックアップルータの冗長化処理方法に具備させる。
【００２７】
すなわち本発明のバックアップルータの冗長化処理方法は、パケット受信ステップでマスタルータの受信するパケットと同一のパケットをこのマスタルータと時間的に並行して受信させることで、バックアップルータの動的な情報をマスタルータと同期させる。そして対応する機能の情報の更新が終わった後、パケット廃棄ステップでパケットは最終的に廃棄する。
【発明の効果】
【００２８】
以上説明したように本発明によれば、冗長化のために配置されたバックアップルータがマスタルータの受信するパケットの廃棄を行う場所を変更するだけで、マスタルータとバックアップルータの情報を一致させることができる。マスタルータに存在するエントリと同一のものがバックアップルータで作成され、かつ更新されるので、マスタルータに障害が発生したような場合にバックアップルータ側にもマスタルータ側と同一内容の変換エントリが存在することになり、従来はバックアップできなかった機能においても直ちにマスタルータの代行を行うことが可能である。
【発明を実施するための最良の形態】
【００２９】
以下実施例につき本発明を詳細に説明する。
【実施例１】
【００３０】
図１は本発明の一実施例における、ルータ装置によって冗長化された通信システムの構成を表わしたものである。この通信システム２００は、第１のネットワーク２０１と第２のネットワーク２０２を接続する通信経路を冗長化したものである。第１のネットワーク２０１は第１のシェアードハブ２０３のこの第１のネットワーク２０１側のポート２０４に接続されており、他端側の１つのポート２０５にマスタルータ２０６の一方のポート２０７が接続されている。第１のシェアードハブ２０３の前記した他端側の他方のポート２０８には、バックアップルータ２０９の一方のポート２１１が接続されている。マスタルータ２０６の他方のポート２１２は、第２のシェアードハブ２１３の第１のネットワーク２０１側の一方のポート２１４に接続されており、バックアップルータ２０９の他方のポート２１５は、第２のシェアードハブ２１３の第１のネットワーク２０１側の他方のポート２１６に接続されている。第２のシェアードハブ２１３の第２のネットワーク２０２側のポート２１７は第２のネットワーク２０２に接続されている。
【００３１】
ここで第１のシェアードハブ２０３および第２のシェアードハブ２１３は、リピータハブとも呼ばれているハブであり、受け取った信号を接続されている全ポートに出力する。したがって、第１のシェアードハブ２０３はポート２０４から受け取った信号をポート２０５およびポート２０８から分岐するように並行に出力し、第２のシェアードハブ２１３はポート２１７から受け取った信号をポート２１４およびポート２１６から分岐するように並行に出力することになる。
【００３２】
マスタルータ２０６およびバックアップルータ２０９は、それぞれ自身の物理的なＭＡＣアドレス（Media Access Control Address）を割り当てられていることはもちろんのこと、第１のネットワーク２０１側で使用する仮想ＭＡＣアドレスＶＭＡＣ1と、仮想ＩＰアドレスＶＩＰ1、および第２のネットワーク２０２側で使用する仮想ＭＡＣアドレスＶＭＡＣ2と、仮想ＩＰアドレスＶＩＰ2をそれぞれ共通に割り当てられている。これは、第１のネットワーク２０１から第１のシェアードハブ２０３を経由して送られてきた制御パケットがマスタルータ２０６とバックアップルータ２０９の双方を宛先として受け取れるようにするためであり、また、同様に第２のネットワーク２０２から第２のシェアードハブ２１３を経由して送られてきた制御パケットがマスタルータ２０６とバックアップルータ２０９の双方を宛先として受け取れるようにするためである。
【００３３】
図２は、本実施例のマスタルータの構成の要部を表わしたものである。なお、バックアップルータ２０９の構成はマスタルータ２０６と実質的に同一であるので、その図示を省略し、その説明は適宜省略する。マスタルータ２０６は、各ポート２０７、２１２からパケットを受信するパケット受信部２２１を備えている。パケット受信部２２１によって受信されたパケットは受信管理部２２２で参照される。
【００３４】
受信管理部２２２はそのパケットが図１に示す第１のシェアードハブ２０３から送られてきたものであれば、すなわちポート２０７から受信されたものであれば、第１のネットワーク２０１側で使用する仮想ＭＡＣアドレスＶＭＡＣ1にアドレスが一致するかどうかの判別を行う。また、受信したそのパケットが第２のシェアードハブ２１３からのものであれば、すなわちポート２１２から受信されたものであれば、第２のネットワーク２０２側で使用する仮想ＭＡＣアドレスＶＭＡＣ2にアドレスが一致するかどうかの判別を行う。なお、バックアップルータ２０９の場合には、これらのポート２０７、２１２の代わりにポート２１１、２１５（図１）からの受信がチェックされる。
【００３５】
受信管理部２２２でアドレスが不一致で受信すべきパケットであるとされなかったパケットは、パケット受信部２２１で廃棄される。アドレスが一致して受信すべきパケットであるとされた場合には、パケット受信部２２１はこれを受信インタフェース（Ｉ／Ｆ）処理部２２３に受け渡す。従来のルータではバックアップルータの場合はここですべてのパケットが廃棄される。
【００３６】
受信インタフェース処理部２２３は、情報管理部２２４で通常の受信インタフェース処理を行う。ルータのインタフェース処理にはさまざまな機能が存在する。情報管理部２２４はこれらの機能を実現するために使用するための情報管理テーブル２２４Ａを備えている。たとえば、既に説明したＮＡＰＴとしての機能なら情報管理テーブル２２４Ａは変換テーブルとしての性格を持っている。パケットフィルタ（ファイアウォール）の機能なら、許可するパケットについての管理テーブルとなる。もちろん情報管理テーブル２２４Ａはルーティング情報を指すものであっても構わない。
【００３７】
受信インタフェース処理部２２３で処理されたパケットは、ルーティング部２２５に送られ、送信インタフェース（Ｉ／Ｆ）処理部２２６に送られる。送信インタフェース処理部２２６でも受信側と同様にインタフェース処理が行われる。この後、マスタルータ２０６の場合は、パケット送信部２２７を経てポート２１２から図１に示す第２のシェアードハブ２１３に向けて、あるいはポート２０７から第１のシェアードハブ２０３に向けてパケットが送出されることになる。なお、本実施例のバックアップルータ２０９の場合には、パケット送信部２２７に近いパケット廃棄部２２９でパケットが廃棄される。パケット廃棄部２２９は、送信インタフェース処理部２２６に接続されている。
【００３８】
送信インタフェース処理部２２６には、制御パケットの送信を制御する制御パケット送信制御部２２８も接続されている。制御パケット送信制御部２２８には、自己のルータがマスタか否かの状態を保持するマスタ状態管理部２３０が接続されている。本実施例でマスタルータ２０６は定期的に自分の優先度を付与した制御パケットを送信し続ける。
【００３９】
以上説明したマスタルータ２０６は、ＣＰＵ（Central Processing Unit）２３１と、プログラム格納用記憶媒体２３２を備えている。そして、既に説明した各部品２２１〜２２９の少なくとも一部については、プログラム格納用記憶媒体２３２に格納された制御プログラムを実行することでソフトウェア的に実現するようになっている。
【００４０】
ところで図１に示す通信システム２００では、システム管理者がマスタルータ２０６とバックアップルータ２０９にそれぞれマニュアルで優先度の設定を行っている。一例としては、コンフィグレーション（configuration）によって優先度をソフトウェア的に設定する。起動時には２つのルータ２０６、２０９のいずれがマスタ側であるかは分からない。
【００４１】
図３は、本実施例の通信システムでマスタルータとバックアップルータの機能の切替処理の様子を表わしたものである。初期状態で２つのルータ２０６、２０９は、それぞれ所定の時間間隔（たとえば１秒間隔）で、自己の優先度を付した制御パケットを、図２に示すパケット送信部２２８からマルチキャストする。ルータは制御パケットを受信すると（ステップＳ３０１：Ｙ）、この制御パケットに組み込まれていた優先度を示すデータを抽出して、自己について設定されている優先度と比較する（ステップＳ３０２）。そして、自己の優先度の方が高ければ（ステップＳ３０３：Ｙ）、マスタ状態に遷移してマスタルータとしての処理を実行する（ステップＳ３０４）。自己よりも高い優先度の制御パケットを受信し、自己の方が低いことを判別すれば（ステップＳ３０３：Ｎ）、バックアップルータに遷移する（ステップＳ３０５）。
【００４２】
ある時点でマスタルータ２０６に障害が発生し、制御パケットの送信を停止したとする。この結果、バックアップルータ２０９は制御パケットを時間ｔ以上受信できないことになる（ステップＳ３０６：Ｙ）。そこで、この時間ｔ以上受信できない時点以後、バックアップルータ２０９はマスタルータの処理を代行して実行する（ステップＳ３０７）。
【００４３】
この図３に示した制御では、２つのルータの中でそれぞれの優先度を比較してマスタの決定を行うようにした。３つ以上のルータで同様にしてマスタの決定を行うことができる。すなわち、時間ｔが経過する前に受信した制御パケットすべてに対して同様の判定を行うことで３つ以上のルータであっても、優先度の比較によってマスタの決定が行われる。
【００４４】
なお、マスタルータ２０６が障害から回復した場合、図３に示したような判定を用いて自動的にマスタルータに復旧する手法と、バックアップルータ２０９をマスタルータとさせたまま、ルータ２０６の方はバックアップルータとして復旧する手法と２通りの手法がある。どちらの手法も可能であるが、前者の手法の場合には両ルータ２０６、２０９の情報の同期処理を行う必要がある。
【００４５】
ところで、本実施例の通信システム２００では、マスタルータ２０６とバックアップルータ２０９はそれぞれ同一の仮想ＭＡＣアドレスＶＭＡＣ1、ＶＭＡＣ2と、仮想ＩＰアドレスＶＩＰ1、ＶＩＰ2をそれぞれ割り当てられている。したがって、たとえば第１のネットワーク２０１から第１のシェアードハブ２０３を経由して送られてきたパケットはマスタルータ２０６とバックアップルータ２０９で共に受信されることになる。
【００４６】
図４は、これらのルータにおける他のネットワークに転送するパケットの受信処理を表わしたものである。図２と共に説明する。マスタルータ２０６およびバックアップルータ２０９は、パケット受信部２２１でパケットの受信を待機している（ステップＳ３２１）。パケットが受信されると（Ｙ）、受信インタフェース処理部２２３で受信インタフェース処理を行い（ステップＳ３２２）、続いてルーティング部２２５でルーティング処理を行う（ステップＳ３２３）。次のステップＳ３２４では、送信インタフェース処理部２２６による送信インタフェース処理が実行される。
【００４７】
ここでたとえば、ステップＳ３２２の受信インタフェース処理で通信システム２００が前記したＮＡＰＴと呼ばれるアドレス変換技術を用いて、複数の通信端末に１つのグローバルＩＰアドレスを割り当てる機能を利用していたとする。本実施例におけるＮＡＰＴの条件として、変換するアドレスの設定や変換テーブルの情報がまったく同一であることと、あるパケットを受信した場合に変換先のアドレスやポート番号が一意に決定される仕様であることが必要となる。この場合、情報管理部２２４は変換テーブルとして機能する。本実施例でマスタルータ２０６とバックアップルータ２０９は共にパケットを受信して処理するので、マスタルータ２０６とバックアップルータ２０９が全く同一の変換テーブルを参照して同一の変換処理を行うことになる。
【００４８】
ここではステップＳ３２２の受信インタフェース処理を例にしてマスタルータ２０６とバックアップルータ２０９の処理を説明した。マスタルータ２０６とバックアップルータ２０９は、ルーティング処理Ｓ３２３や送信インタフェース処理Ｓ３２４についても、情報管理部２２４の同一内容の情報管理テーブルを参照し、パケットについて同一の処理を行う。
【００４９】
ステップＳ３２４では、送信インタフェース処理部２２６による送信インタフェース処理が実行される。その後、送信インタフェース処理部２２６は、自己のルータがマスタとしての機能を果たしている場合に（ステップＳ３２５：Ｙ）、受信したパケットをパケット送信部２２７から送信する処理を行う（ステップＳ３２６）。これに対して、自己のルータがマスタとしての機能を果たしていない場合には（ステップＳ３２５：Ｎ）、パケット廃棄部２２９でその受信したパケットが廃棄される（ステップＳ３２７）。すなわちバックアップルータ２０９は、マスタルータ２０６が受信するすべてのパケットを常に受信するが、マスタルータとしての処理を実行する場合（図３ステップＳ３０７）以外は、受信したパケットを送信することはない。
【００５０】
以上説明した本実施例では、マスタルータ２０６に障害が発生したとき、バックアップルータ２０９の本発明に対応する各機能が、マスタルータと同一の動作をするための情報を、そのまま自己の機能の情報管理部２２４から得ることができることを大きな特徴としている。
【００５１】
ところで、この通信システム２００が正常に機能する前提として、マスタルータ２０６とバックアップルータ２０９の各機能が、共に同時刻のパケット受信によって同一の情報を作成することが必要である。すなわち本発明では、冗長化させたい機能に関して、マスタルータ２０６とバックアップルータ２０９が互いに同一のソフトウェアおよびハードウェアから構成されていること、情報の更新に乱数を使用しない機能であることが常に必須である。冗長化させたい機能によってはパケットを受信した時点の動的な情報が常に同一であることも必要条件となる。
【００５２】
完全な同期を必要とする機能では、パケット受信のタイミングのわずかな違いで同期が崩れることもありうる。例えば、ＮＡＰＴでポート番号を“２０００”から“３０００”に変換するようなキャッシュがあったとする。キャッシュがタイムアウトする瞬間にその変換エントリに合致するパケットを受信したとして、わずかなタイミングでマスタルータ２０６のみキャッシュがタイムアウトする前に受信でき、バックアップルータ２０９ではキャッシュがタイムアウトしてから受信されてしまったとする。この場合マスタルータ２０６ではポート番号が“３０００”に変換されるが、バックアップルータ２０９では“３０００”以外のポート番号、例えば“３００１”に変換されるおそれがある。
【００５３】
このように一度同期が崩れてしまうと、その後の通信は冗長化されなくなってしまう。このような場合においては、例えば変換したポート番号を交換する、あるいはテーブル上に存在するエントリの数を交換するなど、さまざまな方法で同期が取れているか確認することで対処すればよい。
【００５４】
また、障害を発生させたマスタルータ２０６の障害が解消した場合について考える。通常マスタルータに障害が発生した場合、バックアップルータ２０９はマスタルータとして動作するが、マスタルータ２０６はバックアップルータとしての動作をすることはない。例えば故障や電源断などである。従ってマスタルータは障害復旧時に、現在マスタとして動作しているルータ２０９と同期は取れていない。マスタルータ２０６が復旧しても、当初のバックアップルータ２０９はマスタルータのままにして、都合の良いときに手動などで別途復旧させる方法が好ましい。
【００５５】
もっとも、本発明は従来からの解決策である、マスタルータから情報をパケット等のデータ列で受信して同期を取る仕組みの補助的に使用する手段もあり得る。この場合、簡易的に実現可能とした本発明の特徴自体は減殺されるが、同期が崩れたときだけパケット等のデータ列により同期を取る動作をすればよい。したがって、従来よりも同期をとるために必要なパケットは大きく削減され、帯域占有率を低減させる効果が期待できる。また、この場合はマスタルータに障害が発生した後に復旧する際も、現在のマスタルータと先に同期を取ればよい。
【００５６】
以上説明した実施例によれば、マスタルータ２０６およびバックアップルータ２０９の間で情報管理部２２４の情報管理テーブル２２４Ａの内容が一致しているので、マスタルータ２０６の障害発生時にバックアップルータ２０９は特別な対応を採ることなく、直ちにマスタルータとしての機能を実行することができる。
【００５７】
なお、実施例では第１のシェアードハブ２０３とマスタルータ２０６およびバックアップルータ２０９の間、および第２のシェアードハブ２１３とマスタルータ２０６およびバックアップルータ２０９の間を直結させた通信路で構成したが、これらの間に１つまたは複数のネットワークが介在していてもよいことは当然である。
【００５８】
また、実施例では冗長化のための複数のルータにシェアードハブを用いて同一のパケットを伝送するようにしたが、同様の機能を有するパケット分岐手段を使用してもよいことはもちろんである。
【００５９】
更に実施例ではマスタルータ２０６とバックアップルータ２０９が物理的に異なったものであるとの前提で説明を行ったが、１つの装置にこれらが組み込まれていてもよい。この場合に、制御するＣＰＵやハードウェアが少なくとも一部、共通化されていてもよいことは当然である。更に、マスタルータ２０６に対してバックアップルータ２０９が１つである必要はなく、複数配置されていてもよい。この場合には、たとえば実施例で説明した優先度を個々のバックアップルータに割り当てることで、マスタルータを代行する、あるいはマスタルータに切り替えられるバックアップルータを選択することができる。
【００６０】
また、実施例ではＮＡＰＴを例にあげたが、他にもフィルタ（ファイアウォール）機能でも、動的に許可されている情報を簡単に引き継ぐことができる。またパケットの送受信ログや統計情報の取得等も、マスタルータが故障してもバックアップルータ側から同じ情報を取得することができる。本発明は、従来の冗長構成におけるマスタルータおよびバックアップルータの機能をなんら妨げることがなく、多数の機能が自動的にバックアップされることになる。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施例におけるルータ装置によって冗長化された通信システムのシステム構成図である。
【図２】本実施例のマスタルータのブロック図である。
【図３】本実施例の通信システムでマスタルータとバックアップルータの機能の切替処理の様子を表わした流れ図である。
【図４】本実施例でルータにおける他のネットワークに転送するパケットの受信処理を表わした流れ図である。
【図５】従来の経路選択機器で冗長化された通信システムの構成を表わしたシステム構成図である。
【符号の説明】
【００６２】
２００  通信システム
２０１  第１のネットワーク
２０２  第２のネットワーク
２０３  第１のシェアードハブ
２０６  マスタルータ
２０９  バックアップルータ
２１３  第２のシェアードハブ
２２３  受信インタフェース処理部
２２４  情報管理部
２２４Ａ  情報管理テーブル
２２９  パケット廃棄部
２３１  ＣＰＵ
２３２  プログラム格納用記憶媒体
【図１】
2007208502.tif 000003
【図２】
2007208502.tif 000004
【図３】
2007208502.tif 000005
【図４】
2007208502.tif 000006
【図５】
2007208502.tif 000007