(57)【特許請求の範囲】
【請求項１】
第１回線と、第１回線の使用不可時に切り替えて使用される第２回線とを備える冗長構成のネットワークで発生するルートフラッピングを防止する装置であって、
第１回線に接続されたルータに少なくとも接続され、前記ルータによる第１回線と第２回線の間での経路切替を検出する経路切替判定部と、
第１回線での障害発生に伴う第１回線から第２回線への経路切替が検出された第１時刻と、第１回線の回復に伴う第２回線から第１回線への経路切替が検出された第２時刻と、を記録する時刻記録部と、
第２時刻と第１時刻との差分に基づき、第１回線と第２回線の間での経路切替の回数をカウントする期間であるフラッピング判定期間を設定する判定基準設定部と、
第１時刻から前記フラッピング判定期間が経過するまでの間に経路切替の回数が所定の上限値に到達したとき、ルートフラッピングが発生したと判定するフラッピング判定部と、
ルートフラッピングが発生したと判定されたとき、第１回線を遮断するよう前記ルータに指令して第２回線に経路固定する経路固定部と、
を備えることを特徴とするルートフラッピング防止装置。
【請求項２】
前記経路切替判定部は、前記ルータの有するルーティングテーブルにおけるエントリの入れ替わりを監視して、第１回線と第２回線の間での経路切替を検出することを特徴とする請求項１に記載のルートフラッピング防止装置。
【請求項３】
前記経路切替判定部は、前記ルータに記録されているログデータに基づき第１回線と第２回線の間での経路切替を検出することを特徴とする請求項１に記載のルートフラッピング防止装置。
【請求項４】
前記経路切替判定部は、前記ルータで採用されているルーティングプロトコルにしたがって隣接するルータ間で交換されるメッセージを参照して、第１回線と第２回線の間での経路切替を検出することを特徴とする請求項１に記載のルートフラッピング防止装置。
【請求項５】
前記判定基準設定部は、前記ルータの有するルーティングテーブルのエントリ数を参照し、該エントリ数に応じて前記フラッピング判定期間を設定することを特徴とする請求項１ないし４のいずれかに記載のルートフラッピング防止装置。
【請求項６】
前記判定基準設定部は、前記ルータのＣＰＵ稼働率を参照し、該ＣＰＵ稼働率に応じて前記フラッピング判定期間を設定することを特徴とする請求項１ないし４のいずれかに記載のルートフラッピング防止装置。
【請求項７】
前記判定基準設定部は、前記ルーティングテーブルのエントリ数または前記ルータのＣＰＵ稼働率に応じて前記上限値を設定することを特徴とする、請求項５、または請求項２を引用する請求項６のいずれかに記載のルートフラッピング防止装置。
【請求項８】
前記経路切替判定部は、第１回線に接続されたルータと第２回線に接続されたルータの双方に接続され、いずれのルータにおいても第１回線と第２回線の間での経路切替がなされたと判定されるとき、前記時刻記録部が時刻を記録することを特徴とする請求項１ないし４のいずれかに記載のルートフラッピング防止装置。
【請求項９】
第１回線と、第１回線の使用不可時に切り替えて使用される第２回線とを備える冗長構成のネットワークにおいて、第１回線に接続されたルータまたは該ルータに接続される装置で実行されるプログラムであって、
前記ルータによる第１回線と第２回線の間での経路切替を検出する経路切替機能と、
第１回線での障害発生に伴う第１回線から第２回線への経路切替が検出された第１時刻と、第１回線の回復に伴う第２回線から第１回線への経路切替が検出された第２時刻と、を記録する時刻記録機能と、
第２時刻と第１時刻との差分に基づき、第１回線と第２回線の間での経路切替の回数をカウントする期間であるフラッピング判定期間を設定する判定基準設定機能と、
第１時刻から前記フラッピング判定期間が経過するまでの間に経路切替の回数が所定の上限値に到達したとき、ルートフラッピングが発生したと判定するフラッピング判定機能と、
ルートフラッピングが発生したと判定されたとき、第１回線を遮断するよう前記ルータに指令して第２回線に経路固定する経路固定機能と、
を備えることを特徴とするルートフラッピング防止プログラム。
【請求項１０】
第１回線と、第１回線の使用不可時に切り替えて使用される第２回線とを備える冗長構成のネットワークにおいて第１回線に接続されるルータであって、
当該ルータによる第１回線と第２回線の間での経路切替を検出する経路切替部と、
第１回線での障害発生に伴う第１回線から第２回線への経路切替が検出された第１時刻と、第１回線の回復に伴う第２回線から第１回線への経路切替が検出された第２時刻と、を記録する時刻記録部と、
第２時刻と第１時刻との差分に基づき、第１回線と第２回線の間での経路切替の回数をカウントする期間であるフラッピング判定期間を設定する判定基準設定部と、
第１時刻から前記フラッピング判定期間が経過するまでの間に経路切替の回数が所定の上限値に到達したとき、ルートフラッピングが発生したと判定するフラッピング判定部と、
ルートフラッピングが発生したと判定されたとき、第１回線を遮断して第２回線に経路固定する経路固定部と、
を備えることを特徴とするルートフラッピング防止ルータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的ルーティングを行うネットワークにおいて発生するルートフラッピングを検出および防止する技術に関する。
【背景技術】
【０００２】
一般に、二つの拠点間を結ぶ通信経路の信頼性を向上させるために、通信回線を冗長構成にすることが広く行われている。この構成では、二つの拠点間に正系回線と副系回線とを設け、正系回線での通信中に何らかの障害が発生した場合、副系回線へと切替を行うことで、通信が長期間途切れることを防止する。正系回線から副系回線への切替はルータ間のルーティング制御によって自動的に行われる。正系回線が正常な状態に復帰した場合には、副系回線から正系回線へと再び通信経路が切り替えられる。
【０００３】
上記のような動的なルーティングを行うネットワークでは、正系回線と副系回線との間で頻繁に通信経路の切替が行われるために、拠点間の通信が不安定になる現象が発生することがある。このような現象を「ルートフラッピング」という。ルートフラッピングの発生原因としては、以下のものが考えられる。１．ルータの設計ミスや、誤ったルート情報の設定のため。２．ダイヤルアップ等の一時的なルートが設定されているため。３．ルータ間の物理的な接続または論理的な接続が不安定であるため。上記のうち、１および２はネットワーク層に起因するものであり、３はネットワーク層以外に起因するものである。
【０００４】
ルートフラッピングは拠点間の通信を不安定にし、その状態が継続すると通信を途絶させてしまうこともあるので、ルートフラッピングの発生を速やかに検出して対策を講じる必要がある。例えば、特許文献１には、各ルータが他のルータに設定されるアップデートタイマー値に基づき適切なタイムアウトタイマー値を設定することで、フラッピング現象を防止する技術が開示されている。これによると、各ルータは、他のルータからネットワークを介して受信するアップデートメッセージからタイマー値を抽出し、予め設定されたタイマー値と受信したタイマー値との比較結果に基づきタイマー値を再設定する。
【特許文献１】特開２００５−２１８１０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１では、各ルータに事前に設定されたタイマー値以上の周期で発生するフラッピングを防止することができないという問題がある。また、特許文献１は、ＲＩＰ（Routing Information Protocol）またはＲＩＰｎｇ（Routing Information Protocol Next Generation）というルーティングプロトコルの仕組みを利用しているため、これら以外のルーティングプロトコルを使用するルータに対しては適用できないという問題もある。
【０００６】
本発明はこうした状況に鑑みてなされたものであり、その目的は、ルーティングプロトコルに依存することなくルートフラッピングの発生を検出および予防可能な技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、第１回線と、第１回線の使用不可時に切り替えて使用される第２回線とを備える冗長構成のネットワークで発生するルートフラッピングを防止する装置である。この装置は、第１回線に接続されたルータに少なくとも接続され、ルータによる第１回線と第２回線の間での経路切替を検出する経路切替判定部と、第１回線での障害発生に伴う第１回線から第２回線への経路切替が検出された第１時刻と、第１回線の回復に伴う第２回線から第１回線への経路切替が検出された第２時刻と、を記録する時刻記録部と、第２時刻と第１時刻との差分に基づき、第１回線と第２回線の間での経路切替の回数をカウントする期間であるフラッピング判定期間を設定する判定基準設定部と、第１時刻からフラッピング判定期間が経過するまでの間に経路切替の回数が所定の上限値に到達したとき、ルートフラッピングが発生したと判定するフラッピング判定部と、ルートフラッピングが発生したと判定されたとき、第１回線を遮断するようルータに指令して第２回線に経路固定する経路固定部と、を備える。
【０００８】
この態様によると、フラッピング判定期間内に経路切替の回数が上限値に到達した場合、ルートフラッピングが発生したと判定する。フラッピング判定期間は、第１回線から第２回線への最初の経路切替時刻と、その後の第１回線の回復に伴う経路切替時刻とに基づき設定されるので、経路切替の周期の長短にかかわらず、ルートフラッピングを検出することができる。また、ルートフラッピングが検出されると第１回線を遮断してしまうので、以降は安定した通信を確保することができる。
【０００９】
経路切替判定部は、ルータの有するルーティングテーブルにおけるエントリの入れ替わりを監視して、第１回線と第２回線の間での経路切替を検出してもよい。これによると、ルーティングテーブルを利用する任意のルーティングプロトコルに対してルートフラッピングを検出することができる。しかしながら、ルータに記録されているログデータ、またはルーティングプロトコルにしたがって隣接するルータ間で交換されるメッセージを参照して、第１回線と第２回線の間での経路切替を検出してもよい。
【００１０】
判定基準設定部は、ルータの有するルーティングテーブルのエントリ数を参照し、該エントリ数に応じてフラッピング判定期間を設定してもよい。あるいは、判定基準設定部は、ルータのＣＰＵ稼働率を参照し、該ＣＰＵ稼働率に応じてフラッピング判定期間を設定してもよい。これによると、冗長構成ネットワークの稼働状況に応じたフラッピング判定期間が設定されるため、ルートフラッピングによる通信への影響が増大する前にルートフラッピングを検出することが可能となる。
【００１１】
判定基準設定部は、ルーティングテーブルのエントリ数またはルータのＣＰＵ稼働率に応じて上限値を設定してもよい。これによると、冗長構成ネットワークの稼働状況に応じた上限値が設定されるため、ルートフラッピングによる通信への影響が増大する前にルートフラッピングを検出することが可能となる。
【００１２】
なお、以上の構成要素の任意の組合せ、本発明を方法、装置、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によれば、ルーティングプロトコルに依存することなくルートフラッピングの発生を検出および予防することができる。
【発明を実施するための最良の形態】
【００１４】
図１は、正系回線４０と副系回線５０とを有する冗長化ネットワーク１０の概念図である。拠点Ａ  ２０と拠点Ｂ  ３０には、それぞれローカルネットワークが組まれている。拠点ＡはルータＡ１  ２４とルータＡ２  ２６とを有し、拠点ＢはルータＢ１  ３４とルータＢ２  ３６とを有する。ルータＡ１とルータＢ１の間には正系回線４０が接続され、ルータＡ２とルータＢ２の間には副系回線５０が接続される。なお、この例では、拠点ＡＢ間の通信は通常は正系回線４０のみを使用して実施されており、副系回線５０は正系回線４０で障害が発生したときのみ利用されるものとする。このように、二つの拠点間に複数の物理的経路を設定することで拠点間の通信の信頼性を向上させることは、ネットワーク設計において広く行われている。
【００１５】
図１の概念図を参照してネットワーク１０におけるルーティングを簡単に説明する。各ルータＡ１、Ａ２、Ｂ１、Ｂ２は、それぞれルーティングテーブル２５、２７、３５、３７を保持している。各ルーティングテーブルには、ネットワークアドレスとそれに対応するあて先とが記録される。図中の「ｃｏｎｎｅｃｔ」はローカルネットワークに接続されていることを意味する。また、「ｎｅｔａｄｄ」はネットワークアドレスを表す。
【００１６】
拠点Ａの端末２２から拠点Ｂの端末３２へとパケットを送信する場合を考える。拠点Ｂのネットワークアドレス１０．１．２．０／２４を有するパケットがルータＡ１に到達する。ルータＡ１が自身のルーティングテーブル２５を参照すると、そのアドレスがルータＢ１の先にあることが分かるので、正系回線４０を介してパケットをルータＢ１へと転送する。ルータＢ１は、自身のルーティングテーブル３５から、パケットのネットワークアドレス１０．１．２．０／２４がローカルネットワークであることが分かるので、そのパケットを拠点Ｂのローカルネットワークへと流す。こうして、パケットが端末３２へと到達する。
【００１７】
図２は、冗長化ネットワーク１０において正系回線４０に障害が発生した場合を示す。各ルータは、隣接したルータとルーティング情報を定期的に交換している。このため、正系回線４０が不通であるという情報は、ルータＡ１およびＢ１を通じて他のルータにも伝搬される。各ルータは、所定のルーティングプロトコルにしたがって、それぞれのルーティングテーブルを再計算する。図２には、再計算後のルーティングテーブル２５、２７、３５、３７が示されている。正系回線４０の障害によって、正系回線のネットワークアドレス１０．２．１．０／２４に対応するエントリが、各ルーティングテーブルから削除される。また、正系回線４０に接続しているルータＡ１、Ｂ１はあて先から削除され、代わりに副系回線５０に接続されるルータＡ２、Ｂ２を経由するものに書き換えられる。
【００１８】
この状態において、拠点Ａの端末２２から拠点Ｂの端末３２へとパケットを送信する場合を考える。拠点Ｂのネットワークアドレス１０．１．２．０／２４を有するパケットがルータＡ２に到達する。ルータＡ２が自身のルーティングテーブル２７を参照すると、そのアドレスがルータＢ２の先にあることが分かるので、副系回線５０を介してそのパケットをルータＢ２へと転送する。ルータＢ２は、自身のルーティングテーブル３７から、パケットのネットワークアドレス１０．１．２．０／２４がローカルネットワークであることが分かるので、送信されたパケットを拠点Ｂのローカルネットワークへと流す。こうして、パケットが端末３２へと到達する。
【００１９】
上記のように、正系回線４０に何らかの障害が発生した場合、正系回線４０から副系回線５０への切替は、各ルータのルーティングテーブルが書き換えられることで達成される。正系回線が回復すると、再びルーティングテーブルが書き換えられて、拠点ＡＢ間の通信は正系回線を経由したものに切り替わる。
【００２０】
しかしながら、正系回線の障害原因が完全に取り除かれておらず、正系回線の切断が断続的に発生するような場合は、各ルータのルーティングテーブルが頻繁に書き換えられ、正系回線と副系回線の間で経路の切替が繰り返し発生することになる。このような状態に陥ると、各ルータ内部での経路選択に要する計算負荷が増大してパケット転送処理ができなくなり、通信が不安定化してしまう。これがルートフラッピングの発生原因である。
【００２１】
正系回線の障害要因のうち、ネットワーク層における問題は、従来のルーティングプロトコルでも検出可能である。しかしながら、ネットワーク層以外の層での障害要因は、従来のルーティングプロトコルでは検出できない。そのため、正系回線の障害要因が取り除かれるまではフラッピング動作が繰り返されることになり、特に問題が多い。
【００２２】
そこで、本発明の一実施形態では、様々な障害が元で発生するフラッピング動作を検出可能なルートフラッピング防止装置を提供する。
【００２３】
図３は、本実施形態に係るフラッピング防止装置を備えた冗長化ネットワーク１００を示す。正系回線４０および副系回線５０、各拠点Ａ、Ｂ内のルータは、図１および２に示したものと同様である。また、それらのネットワークアドレスも図１および図２で示したものと同様である。図３では、拠点Ａ内にフラッピング防止装置６０が設けられている。フラッピング防止装置６０は、拠点ＡのルータＡ１およびルータＡ２に接続され、それぞれのルーティングテーブルを定期的に監視する。
【００２４】
図４は、フラッピング防止装置６０の詳細な構成を示す機能ブロック図である。ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵやメモリをはじめとする素子で実現でき、ソフトウェア的には以下で述べる機能を有するコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックとして描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００２５】
フラッピング検知部６４は、ルータＡ１、Ａ２と接続され、正系回線および副系回線の間で発生するフラッピングを検知する。フラッピング検知部６４は、経路切替判定部６６、時刻記録部６８、回復時間計算部７０、判定基準設定部７２およびフラッピング判定部７４を含む。
【００２６】
経路切替判定部６６は、ルータＡ１およびＡ２と接続され、それぞれのルーティングテーブルを監視する。ルータＡ１のルーティングテーブルにおいて、既存のエントリのうち正系回線を経由したあて先が、副系回線を経由したあて先に変更されたことを検出して、通信経路が正系回線から副系回線に切り替わったと判定する。例えば、図１および図２のルーティングテーブル２５において、正系回線４０を介したあて先であるルータＢ１に対応するエントリが、ルータＡ２へと変わったことを契機として、経路の切替を判定する。このため、経路切替判定部６６には、拠点Ａ、Ｂの各ルータが正系回線と副系回線のいずれに接続されているかが予め登録されている。
【００２７】
経路切替判定部６６は、正系回線の障害回復に伴う副系回線から正系回線への経路切替も、上述と同様な方法で検出する。
【００２８】
上記のように、ルータＡ１のルーティングテーブルのみを参照して正系回線から副系回線への切替を判定してもよい。しかしながら、経路切替判定部６６は、ルータＡ１のルーティングテーブルに基づき経路切替と判定した場合、続いてルータＡ２のルーティングテーブルをも参照して、同様に正系回線を経由したエントリが副系回線経由に切り替わったか否かを確認することが好ましい。ルータＡ２ではエントリに変化の様子が見られない場合、切替と判定するのを保留してもよい。これによって、正系回線から副系回線への切替をより正確に判定することができる。逆に、副系回線から正系回線への切替を、ルータＡ２のルーティングテーブルのみを参照して判定してもよいが、併せてルータＡ１のルーティングテーブルも参照して判定することが好ましい。
【００２９】
時刻記録部６８は、経路切替判定部６６によって正系回線から副系回線への切替があったと判定された時刻ｔ０を記録する。また、時刻記録部６８は、副系回線から正系回線への切替があったと判定された時刻ｔ１も記録する。
【００３０】
回復時間計算部７０は、正系回線から副系回線への切替があった時刻ｔ０と、副系回線から正系回線への切替があった時刻ｔ１との間の経過時間（ｔ１−ｔ０）を計算する。
【００３１】
判定基準設定部７２は、フラッピングの発生を検出するための基準値を設定する。まず、経過時間（ｔ１−ｔ０）に係数ｃを乗じて、フラッピング判定期間Ｔを設定する。このフラッピング判定期間Ｔは、正系回線と副系回線との間の経路切替回数をカウントする期間である。係数ｃは、定数（例えば、「２」）であってもよいし、後述するように、各種条件に応じて変化するパラメータであってもよい。
また、判定基準設定部７２は、フラッピング上限値Ｆを設定する。
【００３２】
フラッピング判定部７４は、上述のフラッピング判定期間Ｔの間に、正系回線と副系回線との間での切り替え回数がフラッピング上限値Ｆに到達した場合、フラッピングが発生していると判定する。判定結果は経路固定部７６に渡される。フラッピング判定期間Ｔの間の切替回数がフラッピング上限値Ｆ未満であった場合、すなわちフラッピングが発生していないと判定した場合、フラッピング判定部７４はフラッピング判定期間Ｔとフラッピング上限値Ｆとをリセットする。すなわち、これら基準値は、正系回線と副系回線の間での経路切替の起こり方によって毎回異なる値に設定されることになる。
【００３３】
経路固定部７６は、フラッピング検知部６４によって正系回線と副系回線の間でフラッピングが検出された場合、拠点ＡＢ間の経路を副系回線に固定する。このようにするのは、正系回線での障害が取り除かれていないことからフラッピングが発生していると考えられるため、通信経路を副系回線に固定することで安定した通信を確保するためである。具体的には、フラッピングが発生したとき、経路固定部７６は、ルータＡ１のインタフェースをディセーブルするか、またはルータＡをシャットダウンすることで正系回線での通信を遮断し、通信経路を副系回線に固定する。こうすることで、以降のフラッピングが防止される。
【００３４】
正系回線の障害が取り除かれた後、ルータＡ１が手動で再起動され、副系回線から正系回線へと通信経路が復帰する。
【００３５】
続いて、図５のタイミングチャートを参照して、本実施形態においてルートフラッピングを検出する手法を詳細に説明する。図５中、正系回線８０と副系回線８２では、横線が正常な通信状態を表しており、太線はその回線が通信経路として選択されていることを表している。
【００３６】
正系回線で障害が発生して通信が遮断されると、ルータ間のルーティングプロトコルにより副系回線への経路切替８５が発生する。経路切替判定部６６によりこの切替が検出されると、時刻記録部６８はこの時刻ｔ０を記録する。その後、正系回線が回復すると、副系回線から正系回線への経路切替８６が発生する。同様に、経路切替判定部６６によりこの切替が検出されると、時刻記録部６８はこの時刻ｔ１を記録する。
【００３７】
回復時間計算部７０は回復時間（ｔ１−ｔ０）を計算し、判定基準設定部７２は、フラッピング判定期間Ｔ＝ｃ（ｔ１−ｔ０）を計算する。さらに、判定基準設定部７２はフラッピング上限値Ｆも設定する。ここで、ｔＦ＝ｔ０＋Ｔとすると、時刻ｔＦまでの間に正系回線と副系回線の間での経路切替回数がＦに到達すると、フラッピングと判定されることになる。
【００３８】
図５では、正系回線での障害発生と回復により、時刻ｔ２での経路切替８７、および時刻ｔ３での経路切替８８が発生した様子が示されている。フラッピング判定部７４は、経路切替が発生する毎にカウンタｄをインクリメントしていく。そして、時刻ｔＦよりも前の時刻ｔｎにおいてＦ回目の経路切替８９が発生したとき、フラッピング判定部７４はフラッピングが発生したと判定する。これに応じて、経路固定部７６は正系回線をシャットダウンし、以降副系回線に経路が固定される。
【００３９】
このように、本実施形態では、正系回線から副系回線への最初の切替時刻と、副系回線から正系回線への最初の復帰時刻とに基づき、経路切替をカウントする期間であるフラッピング判定期間を設定する。そして、フラッピング判定期間内での経路切替回数が所定のフラッピング上限値に達した場合に、フラッピングが発生したと判定する。経路切替回数がフラッピング上限値に達しない場合は、フラッピング判定期間とフラッピング上限値をリセットする。
【００４０】
本実施形態では、フラッピング判定期間は正系回線から副系回線への最初の切替時刻および復帰時刻に基づき決定される。つまり、ルーティングプロトコルにおいて設定されているアップデート時間やタイムアウト時間等に関係なく、動的に決定される。したがって、検出できる経路切替の周期に上限はなく、任意の周期（例えば、３０秒、１８０秒、５分等）で発生するフラッピングを検出することができる。また、フラッピングを検出するための経路切替の周期等を事前に設定しておく必要がない。
【００４１】
図６は、フラッピング防止装置６０の動作を示すフローチャートである。
経路切替判定部６６は、ルーティングプロトコルによる正系回線から副系回線への経路切替を検出する（Ｓ１０）。時刻記録部６８は、経路切替の時刻ｔ０を記録し、フラッピング判定部７４は経路切替カウンタｄを１だけインクリメントする（Ｓ１２）。その後正系回線の回復に伴い、経路切替判定部６６は、ルーティングプロトコルによる副系回線から正系回線への経路切替を検出する（Ｓ１４）。時刻記録部６８は経路切替の時刻ｔ１を記録し、フラッピング判定部７４は経路切替カウンタｄをインクリメントする（Ｓ１６）。
【００４２】
回復時間計算部７０は回復時間（ｔ１−ｔ０）を計算し、判定基準設定部７２はフラッピング判定期間Ｔ＝ｃ（ｔ１−ｔ０）を計算する（Ｓ１８）。また、判定基準設定部７２はフラッピング上限値Ｆを設定する（Ｓ２０）。
フラッピング判定部７４は、正系回線と副系回線の間での経路切替回数をカウントし、最初に経路切替が検出された時刻ｔ０からフラッピング判定期間Ｔが経過するまでの間に、経路切替カウンタｄがＦに達するか否かを判定する（Ｓ２２）。カウンタｄがＦに達すると（Ｓ２２のＹ）、フラッピング判定部７４はフラッピングが発生したと判断する。これに応じて、経路固定部７６は正系回線を遮断し、通信経路を副系回線に固定する（Ｓ２４）。カウンタｄがＦに到達しなかった場合（Ｓ２２のＮ）、フラッピング判定部７４はフラッピング判定期間Ｔと経路切替カウンタｄとをリセットする（Ｓ２６）。
【００４３】
図７（ａ）、（ｂ）は、フラッピング判定期間Ｔを算出するための係数ｃと、フラッピング上限値Ｆの設定方法の一例を示す。
図７（ａ）は、ルータのＣＰＵ稼働率を基準として設定する場合のテーブル１５０を示す。列１５２は、フラッピング防止装置６０が接続されているルータＡ１またはＡ２のＣＰＵ稼働率を表し、列１５４は係数ｃを表し、列１５６はフラッピング上限値Ｆを表す。判定基準設定部７２は、ルータＡ１またはＡ２のＣＰＵ稼働率を定期的に取得し、予め準備されているテーブル１５０を参照して、ＣＰＵ稼働率に応じた係数ｃおよびフラッピング上限値Ｆを設定する。一例として、テーブル１５０は、ＣＰＵ稼働率が高いほど、係数ｃおよびフラッピング上限値Ｆが小さくなるように準備されている。これは、ＣＰＵ稼働率が高いほど、経路切替が発生したときに必要となるルーティング再計算に要する負荷による影響が大きいため、なるべく早期にフラッピング発生と判定して副系回線に固定する方が、通信の安定に寄与すると考えられるからである。
【００４４】
図７（ｂ）は、ルータのルーティングテーブルにおけるエントリ数を基準として設定する場合のテーブル１６０を示す。列１６２は、フラッピング防止装置６０が接続されているルータＡ１またはＡ２のルーティングテーブル内のエントリ数を表し、列１６４は係数ｃを表し、列１６６はフラッピング上限値Ｆを表す。判定基準設定部７２は、ルータＡ１またはＡ２のルーティングテーブル内のエントリ数を定期的に取得し、予め準備されているテーブル１６０を参照して、エントリ数に応じた係数ｃおよびフラッピング上限値Ｆを設定する。一例として、テーブル１６０は、エントリ数が多いほど、係数ｃおよびフラッピング上限値Ｆが小さくなるように準備されている。これは、エントリ数が多いほど、経路切替が発生したときに必要となるルーティング再計算に要する負荷による影響が大きいため、なるべく早期にフラッピング発生と判定して副系回線に固定する方が、通信の安定に寄与すると考えられるからである。
【００４５】
なお、係数ｃとフラッピング上限値Ｆは定数であってもよい（例えば、ｃ＝２、Ｆ＝３）。この場合、冗長化ネットワークの稼働状況や過去の障害状況などに応じて、係数ｃとフラッピング上限値Ｆを最適な値にチューニングしておくことが好ましい。
【００４６】
図８および図９は、複数の拠点間と正系回線および副系回線による冗長化ネットワークを形成している場合の、フラッピング防止装置の配置の例を示す。図８および図９では、センター１１０と、拠点Ａ  １２０および拠点Ｂ  １３０とが、それぞれ正系回線１１２、１１６および副系回線１１４、１１８で結ばれている。主に、センター１１０の側から拠点Ａ、Ｂに対してサービスが提供されているものとする。
【００４７】
図８では、フラッピング防止装置６０は各拠点Ａ、Ｂのルータに接続されている。この場合、各拠点において独自にフラッピングの発生を検出し副系回線への経路固定ができるため、好ましい。しかしながら、図９に示すように、センター１１０の側に拠点別にフラッピング防止装置６０を設けてもよい。この場合、フラッピング発生後の障害回復に取りかかり易いというメリットがある。
【００４８】
以上説明したように、本実施形態に係るフラッピング防止装置では、正系回線と副系回線の間での経路切替を検出し、フラッピング判定期間Ｔ内に経路切替の回数がフラッピング上限値Ｆに到達した場合、フラッピングが発生したと判定する。そして、フラッピングが発生すると、正系回線を自動的に遮断することによって副系回線に通信経路を固定させて、拠点間の通信の安定を確保する。このように、正系回線を完全に遮断してしまうので、ルーティングプロトコルに関係なく確実に通信を安定させることができる。
フラッピング判定期間Ｔは、正系回線から副系回線への最初の経路切替時刻と、その後の正系回線の復帰に伴う経路切替時刻とに基づき設定されるので、経路切替の周期の長短にかかわらず、フラッピングを検出することができる。また、フラッピング発生と判定するための経路切替の周期を事前に設定しておく必要がない。
また、経路切替判定部は、ルータのルーティングテーブルにおけるエントリの入れ替えに基づいて経路切替を判定するので、ＲＩＰやＲＩＰｎｇに限らず、ルーティングテーブルを利用する任意のルーティングプロトコルに対して本実施形態を適用することができる。さらに、ルーティングプロトコルを利用せずにフラッピングの有無を判定するので、ネットワーク層以外で生じた障害を原因とするルートフラッピングも検出することができる。
【００４９】
以上、本発明をいくつかの実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００５０】
請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【００５１】
実施の形態では、フラッピング防止装置の経路切替判定部は、接続されているルータのルーティングテーブルを参照して、正系回線と副系回線との間の経路切替を検出することを説明した。しかしながら、経路切替判定部は、各ルータに記録されているログデータを参照して経路切替を検出してもよい。あるいは、経路切替判定部は、ルーティングプロトコルにしたがってルータ間で交換されているメッセージを参照して、経路切替を検出してもよい。これらの場合も、実施形態と同様に、判定基準設定部７２がフラッピング判定期間Ｔおよびフラッピング上限値Ｆを最初に設定する。フラッピング判定部７４は、フラッピング判定期間Ｔの間に特定のログまたはメッセージがＦ回出現した場合に、フラッピングが発生したと判定する。
【００５２】
実施の形態では、ルータの外部にフラッピング防止装置を設けることを述べた。しかしながら、正系回線または副系回線のいずれかに接続されているルータに、本発明に係るフラッピング防止機能を持たせるようにしてもよい。この場合、経路切替の検出は、一台のルータのルーティングテーブル（または、ログデータ、メッセージ）に基づき行われることになる。
【図面の簡単な説明】
【００５３】
【図１】正系回線と副系回線とを有する冗長化ネットワークの概念図である。
【図２】冗長化ネットワークにおいて正系回線に障害が発生した場合を示す図である。
【図３】本発明の一実施形態に係るフラッピング防止装置を備えた冗長化ネットワークを示す図である。
【図４】フラッピング防止装置の詳細な構成を示す機能ブロック図である。
【図５】ルートフラッピング検出のタイミングチャートである。
【図６】フラッピング防止装置の動作を示すフローチャートである。
【図７】（ａ）、（ｂ）は、フラッピング判定期間Ｔを算出するための係数ｃと、フラッピング上限値Ｆの設定方法の一例を示す図である。
【図８】複数の拠点間と正系回線および副系回線による冗長化ネットワークを形成している場合の、フラッピング防止装置の配置の例を示す図である。
【図９】複数の拠点間と正系回線および副系回線による冗長化ネットワークを形成している場合の、フラッピング防止装置の配置の例を示す図である。
【符号の説明】
【００５４】
１０  ネットワーク、  ２２、３２,端末、  ２４、２６、３４、３６  ルータ、  ４０  正系回線、  ５０  副系回線、  ６０  フラッピング防止装置、  ６４  フラッピング検知部、  ６６  経路切替判定部、  ６８  時刻記録部、  ７０  回復時間計算部、  ７２  判定基準設定部、  ７４  フラッピング判定部、  ７６  経路固定部、  １００  ネットワーク。
【図１】
0004980971.tif 000002
【図２】
0004980971.tif 000003
【図３】
0004980971.tif 000004
【図４】
0004980971.tif 000005
【図５】
0004980971.tif 000006
【図６】
0004980971.tif 000007
【図７】
0004980971.tif 000008
【図８】
0004980971.tif 000009
【図９】
0004980971.tif 000010