(57)【特許請求の範囲】
【請求項１】
複数のノードが接続されて構成される特定の通信ネットワーク内で発生するループ状通信経路を検出する経路ループ検出装置において、
前記通信ネットワークの状態変化の前後における、コスト増加リンク又は削除リンクの情報及び最短パスの情報に基づいて、ループ状通信経路を判定する経路ループ検出部、を備え、
前記経路ループ検出部は、
前記通信ネットワークの状態変化前の任意の二つのノード間の最短パスであって、コスト増加リンク又は削除リンクが含まれる最短パスｐｊ’（但し、ｊは１からｍまでの整数、ｍはコスト増加リンク又は削除リンクが含まれる最短パスの総個数）の集合「Ｐ’＝［ｐ１’，ｐ２’，・・・，ｐｍ’］」を抽出し、
集合Ｐ’に対して、前記通信ネットワークの状態変化後の対応する最短パスｐｊの集合「Ｐ＝［ｐ１，ｐ２，・・・，ｐｍ］」を抽出し、
前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓの次のノード（２番ノード）ｎが、発ノードとなっている前記通信ネットワークの状態変化前の最短パスｐｊ’を検出し、該検出した最短パスｐｊ’における発ノードの次のノード（２番ノード）ｎ’を調べ、
該発見した２番ノードｎ’に、発ノードｓが同じである前記通信ネットワークの状態変化後の最短パスｐｊが存在するか調べ、
該発見された前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓと２番ノードｎの間で、ループ状通信経路が発生している可能性ありと判定する、
ことを特徴とする経路ループ検出装置。
【請求項２】
複数のノードが接続されて構成される特定の通信ネットワーク内で発生するループ状通信経路を検出する経路ループ検出方法であって、
前記通信ネットワークの状態変化の前後における、コスト増加リンク又は削除リンクの情報及び最短パスの情報に基づいて、ループ状通信経路を判定する経路ループ検出ステップ、を含み、
前記経路ループ検出ステップにおいて、
前記通信ネットワークの状態変化前の任意の二つのノード間の最短パスであって、コスト増加リンク又は削除リンクが含まれる最短パスｐｊ’（但し、ｊは１からｍまでの整数、ｍはコスト増加リンク又は削除リンクが含まれる最短パスの総個数）の集合「Ｐ’＝［ｐ１’，ｐ２’，・・・，ｐｍ’］」を抽出し、
集合Ｐ’に対して、前記通信ネットワークの状態変化後の対応する最短パスｐｊの集合「Ｐ＝［ｐ１，ｐ２，・・・，ｐｍ］」を抽出し、
前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓの次のノード（２番ノード）ｎが、発ノードとなっている前記通信ネットワークの状態変化前の最短パスｐｊ’を検出し、該検出した最短パスｐｊ’における発ノードの次のノード（２番ノード）ｎ’を調べ、
該発見した２番ノードｎ’に、発ノードｓが同じである前記通信ネットワークの状態変化後の最短パスｐｊが存在するか調べ、
該発見された前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓと２番ノードｎの間で、ループ状通信経路が発生している可能性ありと判定する、
ことを特徴とする経路ループ検出方法。
【請求項３】
複数のノードが接続されて構成される特定の通信ネットワーク内で発生するループ状通信経路を検出する経路ループ検出処理を行うためのコンピュータプログラムであって、
前記通信ネットワークの状態変化の前後における、コスト増加リンク又は削除リンクの情報及び最短パスの情報に基づいて、ループ状通信経路を判定する経路ループ検出ステップ、をコンピュータに実行させるコンピュータプログラムであり、
前記経路ループ検出ステップにおいて、
前記通信ネットワークの状態変化前の任意の二つのノード間の最短パスであって、コスト増加リンク又は削除リンクが含まれる最短パスｐｊ’（但し、ｊは１からｍまでの整数、ｍはコスト増加リンク又は削除リンクが含まれる最短パスの総個数）の集合「Ｐ’＝［ｐ１’，ｐ２’，・・・，ｐｍ’］」を抽出し、
集合Ｐ’に対して、前記通信ネットワークの状態変化後の対応する最短パスｐｊの集合「Ｐ＝［ｐ１，ｐ２，・・・，ｐｍ］」を抽出し、
前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓの次のノード（２番ノード）ｎが、発ノードとなっている前記通信ネットワークの状態変化前の最短パスｐｊ’を検出し、該検出した最短パスｐｊ’における発ノードの次のノード（２番ノード）ｎ’を調べ、
該発見した２番ノードｎ’に、発ノードｓが同じである前記通信ネットワークの状態変化後の最短パスｐｊが存在するか調べ、
該発見された前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓと２番ノードｎの間で、ループ状通信経路が発生している可能性ありと判定する、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路ループ検出装置、経路ループ検出方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、インターネット等、ＩＰ（Internet Protocol）を用いた通信ネットワーク（以下、「ＩＰネットワーク」と称する）が普及し大いに活用されているが、これに伴いネットワークの状態に対する関心も高まっている。このためネットワーク管理者は、ＩＰネットワークの状態を日々監視し、ユーザからのネットワーク状態に係る問い合わせに対して回答できるように準備することが求められている。
【０００３】
ＩＰネットワークにおける不安定な状態の一つとして、一時的にループ状の通信経路が形成される現象がある。この現象について図４を参照して説明する。図４に示されるＩＰネットワークにおいて、５台のルータＡ，Ｂ，Ｃ，Ｄ，Ｅが通信回線で接続されている。又、図４中には各ルータ間のリンクのコスト値が示されている。図４の例では、ルータＣ，Ｅ間で障害が発生することを想定している。まず、障害発生前において、ルータＡからルータＥへのパス（通信経路）はルータＡ→ルータＣ→ルータＥであり、ルータＢからルータＥへのパスはルータＢ→ルータＣ→ルータＥであり、ルータＣからルータＥへのパスはルータＣ→ルータＥであり、ルータＤからルータＥへのパスはルータＤ→ルータＢ→ルータＣ→ルータＥである。このパスはリンクコストが最小となっている。ここで、ルータＣ，Ｅ間で障害が発生すると、通常、その障害発生箇所に接続しているルータが該障害発生を検知し、該障害情報を隣接するルータに広報する。ここでは、ルータＣがルータＣ，Ｅ間の障害発生を検知し、該障害情報を隣接するルータＡ，Ｂに広報することとする。
【０００４】
ルータＣは、ルータＣ，Ｅ間の障害情報を隣接するルータＡ，Ｂに広報するとともに、自身の経路表を再計算する。ルータＡ，ＢはルータＣから障害情報を受信すると、それぞれ自身の経路表を再計算する。これにより、障害発生後のルータＡ，Ｂ，Ｃ，ＤからルータＥへの各パスは、ルータＣ，Ｅ間を回避しつつリンクコスト最小のものとして、ルータＡ→ルータＢ→ルータＤ→ルータＥ、ルータＢ→ルータＤ→ルータＥ、ルータＣ→ルータＢ→ルータＤ→ルータＥ、ルータＤ→ルータＥとなるはずである。
【０００５】
しかし実際には、ルータＣとルータＡ，Ｂでは経路表の更新タイミングが若干ずれる可能性が高く、一時的に通信経路の不整合が生じ得る。例えば、ルータＣの経路表更新の方が早く完了し、ルータＡ，Ｂの経路表はまだ更新されていない状態を想定する。この状態では、ルータＣからルータＥへのパスは障害発生後のものであるが、ルータＡ，ＢからルータＥへのパスはまだ障害発生前のままである。この場合、ルータＡからルータＥへ向かうパケットは、まずルータＡから障害発生前のパスに従ってルータＣに転送される。一方、ルータＣでは障害発生後のパスに従ってルータＥに向かうパケットをルータＢに転送する。すると、ルータＢでは、障害発生前のパスに従ってルータＥに向かうパケットをルータＣに転送する。これにより、ルータＢとルータＣの間でパケットが循環することとなる。つまり、ルータＢとルータＣの間でループ状の通信経路が形成される。この状態は、ルータＢの経路表が更新された時点で解消される。従って、ルータＢ，Ｃ間のループ状通信経路は一時的なものではある。但し、一時的ではあってもループ状通信経路にパケットが流入することによって当該ルータＢ，Ｃの負荷がパケットの循環により増大し、輻輳状態になる等、通信上の何らかの影響が発生し得る。この影響がユーザの通信に対して顕在化すると、ユーザからネットワーク管理者に対して問い合わせが行くかもしれない。従って、ネットワーク管理者は、上記したような、一時的なループ状通信経路についても把握しておくことが望ましい。
【０００６】
その一時的なループ状通信経路の検出に係る従来技術として、例えば非特許文献１に記載の技術が知られている。非特許文献１に記載の従来技術では、ＩＰネットワーク上でパケットをキャプチャ（捕獲）し、ある二つのパケット間で、ヘッダ中のＴＴＬ（Time To Live）とチェックサムのみが違うパケットを検出した場合に、ループ状通信経路ありと判断している。
【非特許文献１】U.Hengartner，S.Moon，R.Mortier，C.Diot，“Detection and Analysis of Routing Loops in Packet Traces”，Internet Measurement Workshop（IMW）2002，2002年11月6日
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上述した従来のループ状通信経路検出技術では、パケットのキャプチャ箇所で発生したループ状通信経路しか検出することができない。従って、任意の箇所で発生し得るループ状通信経路をくまなく検出するためには、ＩＰネットワーク上の全ルータ又は全リンクでパケットをキャプチャしなければならず、膨大なコストがかかるという問題が生じる。
【０００８】
本発明は、このような事情を考慮してなされたもので、その目的は、パケットのキャプチャによらずに、特定のＩＰネットワーク内で発生するループ状通信経路を検出することのできる経路ループ検出装置、経路ループ検出方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明に係る経路ループ検出装置は、複数のノードが接続されて構成される特定の通信ネットワーク内で発生するループ状通信経路を検出する経路ループ検出装置において、前記通信ネットワークの状態変化の前後における、コスト増加リンク又は削除リンクの情報及び最短パスの情報に基づいて、ループ状通信経路を判定する経路ループ検出部を備えたことを特徴とする。
【００１０】
本発明に係る経路ループ検出装置においては、前記経路ループ検出部は、前記通信ネットワークの状態変化前の任意の二つのノード間の最短パスであって、コスト増加リンク又は削除リンクが含まれる最短パスｐｊ’（但し、ｊは１からｍまでの整数、ｍはコスト増加リンク又は削除リンクが含まれる最短パスの総個数）の集合「Ｐ’＝［ｐ１’，ｐ２’，・・・，ｐｍ’］」を抽出し、集合Ｐ’に対して、前記通信ネットワークの状態変化後の対応する最短パスｐｊの集合「Ｐ＝［ｐ１，ｐ２，・・・，ｐｍ］」を抽出し、前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓの次のノード（２番ノード）ｎが、発ノードとなっている前記通信ネットワークの状態変化前の最短パスｐｊ’を検出し、該検出した最短パスｐｊ’における発ノードの次のノード（２番ノード）ｎ’を調べ、該発見した２番ノードｎ’に、発ノードｓが同じである前記通信ネットワークの状態変化後の最短パスｐｊが存在するか調べ、該発見された前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓと２番ノードｎの間で、ループ状通信経路が発生している可能性ありと判定することを特徴とする。
【００１１】
本発明に係る経路ループ検出装置においては、前記通信ネットワークはリンク状態型の経路制御プロトコルを利用しており、前記経路ループ検出装置は、該経路制御プロトコルによって取得された前記通信ネットワークの状態変化の情報を利用することを特徴とする。
【００１２】
本発明に係る経路ループ検出装置においては、ネットワークトポロジー及び最短パスを保存するトポロジー・パス管理部と、前記通信ネットワークの状態変化の前後のネットワークトポロジーを比較し、コスト増加リンク及び削除リンクを検出するトポロジー比較部とを備えたことを特徴とする。
【００１３】
本発明に係る経路ループ検出装置においては、リンク状態データベースを保存するＬＳＤＢ管理部と、リンク状態データベースに基づいて、ネットワークトポロジー及び最短パスを算出するトポロジー・パス計算部とを備えたことを特徴とする。
【００１４】
本発明に係る経路ループ検出装置においては、前記通信ネットワーク内に広報されるリンク状態広告メッセージを受信するＬＳＡ受信部と、該受信されたリンク状態広告メッセージに基づいて、リンク状態データベースを作成するＬＳＤＢ作成部とを備えたことを特徴とする。
【００１５】
本発明に係る経路ループ検出装置においては、前記ＬＳＤＢ管理部に保存されているリンク状態データベースの内容を任意に変更するための手段を備えたことを特徴とする。
【００１６】
本発明に係る経路ループ検出装置においては、前記管理部は、情報の履歴を保存しておくことを特徴とする。
【００１７】
本発明に係る経路ループ検出方法は、複数のノードが接続されて構成される特定の通信ネットワーク内で発生するループ状通信経路を検出する経路ループ検出方法であって、前記通信ネットワークの状態変化の前後における、コスト増加リンク又は削除リンクの情報及び最短パスの情報に基づいて、ループ状通信経路を判定する経路ループ検出ステップを含むことを特徴とする。
【００１８】
本発明に係る経路ループ検出方法においては、前記経路ループ検出ステップにおいて、前記通信ネットワークの状態変化前の任意の二つのノード間の最短パスであって、コスト増加リンク又は削除リンクが含まれる最短パスｐｊ’（但し、ｊは１からｍまでの整数、ｍはコスト増加リンク又は削除リンクが含まれる最短パスの総個数）の集合「Ｐ’＝［ｐ１’，ｐ２’，・・・，ｐｍ’］」を抽出し、集合Ｐ’に対して、前記通信ネットワークの状態変化後の対応する最短パスｐｊの集合「Ｐ＝［ｐ１，ｐ２，・・・，ｐｍ］」を抽出し、前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓの次のノード（２番ノード）ｎが、発ノードとなっている前記通信ネットワークの状態変化前の最短パスｐｊ’を検出し、該検出した最短パスｐｊ’における発ノードの次のノード（２番ノード）ｎ’を調べ、該発見した２番ノードｎ’に、発ノードｓが同じである前記通信ネットワークの状態変化後の最短パスｐｊが存在するか調べ、該発見された前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓと２番ノードｎの間で、ループ状通信経路が発生している可能性ありと判定することを特徴とする。
【００１９】
本発明に係るコンピュータプログラムは、複数のノードが接続されて構成される特定の通信ネットワーク内で発生するループ状通信経路を検出する経路ループ検出処理を行うためのコンピュータプログラムであって、前記通信ネットワークの状態変化の前後における、コスト増加リンク又は削除リンクの情報及び最短パスの情報に基づいて、ループ状通信経路を判定する経路ループ検出ステップをコンピュータに実行させることを特徴とする。
【００２０】
本発明に係るコンピュータプログラムにおいては、前記経路ループ検出ステップにおいて、前記通信ネットワークの状態変化前の任意の二つのノード間の最短パスであって、コスト増加リンク又は削除リンクが含まれる最短パスｐｊ’（但し、ｊは１からｍまでの整数、ｍはコスト増加リンク又は削除リンクが含まれる最短パスの総個数）の集合「Ｐ’＝［ｐ１’，ｐ２’，・・・，ｐｍ’］」を抽出し、集合Ｐ’に対して、前記通信ネットワークの状態変化後の対応する最短パスｐｊの集合「Ｐ＝［ｐ１，ｐ２，・・・，ｐｍ］」を抽出し、前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓの次のノード（２番ノード）ｎが、発ノードとなっている前記通信ネットワークの状態変化前の最短パスｐｊ’を検出し、該検出した最短パスｐｊ’における発ノードの次のノード（２番ノード）ｎ’を調べ、該発見した２番ノードｎ’に、発ノードｓが同じである前記通信ネットワークの状態変化後の最短パスｐｊが存在するか調べ、該発見された前記通信ネットワークの状態変化後の最短パスｐｊにおける発ノードｓと２番ノードｎの間で、ループ状通信経路が発生している可能性ありと判定することを特徴とする。
これにより、前述の経路ループ検出装置がコンピュータを利用して実現できるようになる。
【発明の効果】
【００２１】
本発明によれば、パケットのキャプチャによらずに、特定のＩＰネットワーク内で発生するループ状通信経路を検出することができるという効果が得られる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、本発明の一実施形態に係るＩＰネットワークの概略構成図である。図１に示されるＩＰネットワークにおいて、４台のルータ２が通信回線で接続されている。このＩＰネットワークは、監視対象である特定のネットワークである。本実施形態に係る経路ループ検出装置１は、１台のルータ２に、直接的に又は通信回線を介して接続している。
【００２３】
図１のＩＰネットワークは、ＯＳＰＦ（Open Shortest Path First）やＩＳ−ＩＳ（Intermediate System − Intermediate System）などのリンク状態型の経路制御プロトコルを利用している。本実施形態では、ＯＳＰＦを例に挙げて説明する。ＯＳＰＦの詳細については、ＩＥＴＦ（Internet Engineering Task Force）発行の技術仕様書（Request For Comments：ＲＦＣ）の「RFC2328 “OSPF Version 2”」に開示されている。
【００２４】
ルータ２は、ＯＳＰＦを実装し、ＯＳＰＦによってＩＰネットワーク内のネットワークトポロジーを認識する。
【００２５】
ここで、ＯＳＰＦの概略を説明する。
ＯＳＰＦでは、各ルータ２が、自身が持つリンク状態（通信リンクの接続状態や通信リンクのコスト値など）を、リンク状態広告メッセージ（Link State Advertisement：ＬＳＡ）を用いてＩＰネットワーク全体に広報する。ルータ２は他のルータ２から発信されたＬＳＡを受信し、その受信したＬＳＡからリンク状態データベース（Link-state Database：ＬＳＤＢ）を作成する。ＬＳＤＢは、ルータ２間の接続の有無をマトリックス形式で記録する。また、ＬＳＤＢは、あるルータ２から他のルータ２に向かう接続（リンク）が存在する場合には、そのリンクのコスト値を記録する。ルータ２は、ＬＳＤＢに基づいて、ＩＰネットワークにおいて自己から宛先までのコストが最小となる最短経路木を作成する。ルータ２は、最短経路木に基づいて経路表を作成する。
【００２６】
また、ＯＳＰＦでは、ルータ２は、自身が持つリンク状態を、定期的にＬＳＡを用いて送信すること（Refresh LSA）に加えて、自身が持つリンク状態に変化があった場合にも、例えばルータに接続した通信リンクが切れたことを検知した場合や通信リンクのコスト値が変わった場合などに、ＬＳＡを送信する。ルータ２は、以前に受信したＬＳＡとは異なるメッセージ内容のＬＳＡを受信すると、ＬＳＤＢを書き換え、最短経路木および経路表を再生成する。従って、ＯＳＰＦが動作するＩＰネットワークにおいてＬＳＡを収集し監視すれば、ＩＰネットワークの経路状態の変化を検知することができる。
以上がＯＳＰＦの概略である。
【００２７】
本実施形態に係る経路ループ検出装置１は、自身と接続しているルータ２との間でＯＳＰＦ隣接関係を確立する。これにより、経路ループ検出装置１は、該接続ルータ２を介して、ＩＰネットワーク内に広報されたＬＳＡを受信することができる。経路ループ検出装置１は、受信したＬＳＡに基づいてＬＳＤＢを作成する。その作成されたＬＳＤＢは、各ルータ２が有するＬＳＤＢと同じ内容になる。これにより、経路ループ検出装置１は、ＩＰネットワークのトポロジーを把握することができる。又、経路ループ検出装置１は、そのＬＳＤＢに基づいて各ルータ２に関する最短経路木を作成することにより、任意のルータ間の最短パスを把握することができる。
【００２８】
図２は、本実施形態に係る経路ループ検出装置１の構成を示すブロック図である。図２において、経路ループ検出装置１は、ＬＳＡ受信部１１とＬＳＡ管理部１２とＬＳＡ比較部１３とＬＳＤＢ作成部１４とＬＳＤＢ管理部１５とトポロジー・パス計算部１６とトポロジー・パス管理部１７とトポロジー比較部１８と経路ループ検出部１９と結果表示部２０とログ記録部２１とを有する。
【００２９】
ＬＳＡ受信部１１は、ＯＳＰＦ隣接関係を確立しているルータ２からＬＳＡを受信する。ＬＳＡ管理部１２は、その受信されたＬＳＡをメモリに保持する。ＬＳＡ比較部１３は、ＬＳＡが受信される度に、過去に受信されたＬＳＡの内から今回受信されたＬＳＡと「Link State ID」が同じであるものを抽出し、抽出したＬＳＡと今回受信されたＬＳＡとを比較し、メッセージ内容が同じである場合に今回受信されたＬＳＡが「Refresh LSA」であると判定する。ＬＳＡ比較部１３は、「Refresh LSA」以外のＬＳＡが受信されたときに、「新規ＬＳＡ受信あり」をＬＳＤＢ作成部１４へ通知する。
【００３０】
ＬＳＤＢ作成部１４は、ＬＳＡ比較部１３から「新規ＬＳＡ受信あり」の通知を受けると、ＬＳＡ管理部１２で保持されているＬＳＡに基づいてＬＳＤＢを作成する。ＬＳＤＢ管理部１５は、ＬＳＤＢ作成部１４で作成されたＬＳＤＢをメモリに保持する。
【００３１】
トポロジー・パス計算部１６は、ＬＳＤＢ管理部１５で保持される最新ＬＳＤＢに基づいて、ＩＰネットワークのトポロジーと任意の二つのノード（ルータ）間の最短パスとを算出する。ネットワークトポロジーは、ノード間のリンクの情報とリンクのコスト値とを有する。トポロジー・パス管理部１７は、トポロジー・パス計算部１６で算出されたネットワークトポロジーと最短パスをメモリに保持する。トポロジー・パス管理部１７は、最新の情報と変更直前の情報とを保持する。トポロジー比較部１８は、変更前後のネットワークトポロジーを比較し、コスト値が増加したリンク及び削除されたリンクを検出する。
【００３２】
経路ループ検出部１９は、トポロジー比較部１８の検出結果に基づいて、ループ状通信経路を検出する。結果表示部２０は、経路ループ検出部１９の検出結果を表示装置に画面表示させる。ログ記録部２１は、経路ループ検出部１９の検出結果を検出時刻とともに記録する。なお、経路ループ検出部１９の検出結果をプリンタで印字出力したり、或いは、通信回線を介して所定の宛先へ送信したりするように構成してもよい。
【００３３】
次に、図３を参照して、本実施形態に係る経路ループ検出装置１の動作を説明する。図３は、本実施形態に係る経路ループ検出処理の手順を示すフローチャートである。
【００３４】
図３において、ステップＳ１では、ＬＳＡ受信部１１がＬＳＡを受信し、ＬＳＡ管理部１２が該受信ＬＳＡをメモリに書き込む。ステップＳ２では、ＬＳＡ比較部１３が、該受信ＬＳＡが「Refresh LSA」であるか否かを判定する。この結果、「Refresh LSA」である場合は、ＩＰネットワークに変化がないので、ループ状通信経路は発生していないとして図３の処理を終了する。一方、「Refresh LSA」ではない場合はステップＳ３に進む。
【００３５】
ステップＳ３では、ＬＳＤＢ作成部１４がＬＳＤＢを作成し、ＬＳＤＢ管理部１５が該作成されたＬＳＤＢをメモリに書き込み、トポロジー・パス計算部１６が最新ＬＳＤＢに基づいてＩＰネットワークのトポロジーと各ノード間の最短パスとを再計算し、トポロジー・パス管理部１７が該再計算結果をメモリに書き込む。これにより、ＩＰネットワークの状態変化前後のそれぞれのネットワークトポロジー及び最短パスがトポロジー・パス管理部１７に保持されている。
【００３６】
ステップＳ４では、トポロジー比較部１８が変更前後のネットワークトポロジーを比較してコスト値が増加したリンク及び削除されたリンクを検出し、コスト増加リンク又は削除リンクが存在するか否かを判断する。コスト増加リンク又は削除リンクのいずれも存在しない場合には、ＩＰネットワークに変化があってもループ状通信経路の発生はないので、ループ状通信経路は発生していないとして図３の処理を終了する。
【００３７】
一方、コスト増加リンク又は削除リンクが存在する場合には、経路変更によってループ状通信経路の発生の可能性があるので、ステップＳ５以降の処理に進む。ステップＳ５以降の処理（ステップＳ５〜Ｓ９）は、経路ループ検出部１９が行う。経路ループ検出部１９は、トポロジー比較部１８の検出結果、及び、トポロジー・パス管理部１７が保持する情報を用いる。以下、ループ状通信経路の具体例として図４の例を挙げて説明する。なお、パス表記の際には、符号及び矢印で表す。例えば、ルータＡからルータＢ経由でルータＣに至るパスは、「Ａ→Ｂ→Ｃ」と表す。
【００３８】
ステップＳ５では、ＩＰネットワークの状態変化前の任意の二つのノード間の最短パスであって、コスト増加リンク又は削除リンクが含まれる最短パスｐｊ’（但し、ｊは１からｍまでの整数）の集合「Ｐ’＝［ｐ１’，ｐ２’，・・・，ｐｍ’］」を抽出する。但し、ｍは、コスト増加リンク又は削除リンクが含まれる最短パスの総個数である。
【００３９】
図４の例では、ルータＣ，Ｅ間の障害発生によってＩＰネットワークの状態が変化し、ネットワークトポロジーが変更され、障害箇所のルータＣ，Ｅ間のリンクが削除されるので、ルータＣ，Ｅ間のリンクが削除リンクとして検出される。これにより、ルータＣ，Ｅ間の障害発生前における最短パスの内から、ルータＣ，Ｅ間のリンクを含む最短パスを全て抽出し、集合Ｐ’を作成する。ルータＣ，Ｅ間の障害発生前の最短パスの内、ルータＣ，Ｅ間のリンクを含む最短パスは、ｐ１’「Ａ→Ｃ→Ｅ」、ｐ２’「Ｂ→Ｃ→Ｅ」、ｐ３’「Ｃ→Ｅ」及びｐ４’「Ｄ→Ｂ→Ｃ→Ｅ」の４個である。これら４個の最短パスｐ１’，ｐ２’，ｐ３’，ｐ４’で集合Ｐ’を構成する。
【００４０】
ステップＳ６では、集合Ｐ’に対して、ＩＰネットワークの状態変化後の対応する最短パスｐｊの集合「Ｐ＝［ｐ１，ｐ２，・・・，ｐｍ］」を抽出する。ＩＰネットワークの状態変化後の最短パスｐｊは、ＩＰネットワークの状態変化前の最短パスｐｊ’と同じ発着ノードのパスである。
【００４１】
図４の例では、以下のように集合Ｐ’［ｐ１’，ｐ２’，ｐ３’，ｐ４’］に対応する集合Ｐ［ｐ１，ｐ２，ｐ３，ｐ４］が作成される。
ｐ１’「Ａ→Ｃ→Ｅ」に対応するｐ１「Ａ→Ｂ→Ｄ→Ｅ」。
ｐ２’「Ｂ→Ｃ→Ｅ」に対応するｐ２「Ｂ→Ｄ→Ｅ」。
ｐ３’「Ｃ→Ｅ」に対応するｐ３「Ｃ→Ｂ→Ｄ→Ｅ」。
ｐ４’「Ｄ→Ｂ→Ｃ→Ｅ」に対応するｐ４「Ｄ→Ｅ」。
【００４２】
ステップＳ７では、ＩＰネットワークの状態変化後の最短パスｐｊにおける発ノードｓの次のノード（２番ノード）ｎが、発ノードとなっているＩＰネットワークの状態変化前の最短パスｐｊ’を検出する。そして、検出した最短パスｐｊ’における発ノードの次のノード（２番ノード）ｎ’を調べる。
【００４３】
図４の例では、ｐ１「Ａ→Ｂ→Ｄ→Ｅ」及びｐ３「Ｃ→Ｂ→Ｄ→Ｅ」の２番ノードｎは「Ｂ」、ｐ２「Ｂ→Ｄ→Ｅ」の２番ノードｎは「Ｄ」、ｐ４「Ｄ→Ｅ」の２番ノードｎは「Ｅ」である。それら２番ノードｎが発ノードとなっている最短パスｐｊ’は、ｐ２’「Ｂ→Ｃ→Ｅ」及びｐ４’「Ｄ→Ｂ→Ｃ→Ｅ」である。そして、ｐ２’「Ｂ→Ｃ→Ｅ」の２番ノードｎ’は「Ｃ」、ｐ４’「Ｄ→Ｂ→Ｃ→Ｅ」の２番ノードｎ’は「Ｂ」である。
【００４４】
ステップＳ８では、ステップＳ７で発見した２番ノードｎ’に、発ノードｓが同じであるＩＰネットワークの状態変化後の最短パスｐｊが存在するか調べる。
【００４５】
図４の例では、２番ノードｎ’として「Ｂ」及び「Ｃ」が発見される。そして、ＩＰネットワークの状態変化後の最短パスｐ１「Ａ→Ｂ→Ｄ→Ｅ」，ｐ２「Ｂ→Ｄ→Ｅ」，ｐ３「Ｃ→Ｂ→Ｄ→Ｅ」，ｐ４「Ｄ→Ｅ」の内、発ノードｓが「Ｂ」であるのはｐ２「Ｂ→Ｄ→Ｅ」であり、発ノードｓが「Ｃ」であるのはｐ３「Ｃ→Ｂ→Ｄ→Ｅ」である。
【００４６】
ステップＳ８の結果、該当する最短パスｐｊが存在する場合はステップＳ９へ進む。一方、該当する最短パスｐｊが存在しない場合は、ループ状通信経路は発生していないとして図３の処理を終了する。
【００４７】
ステップＳ９では、ステップＳ８で発見されたＩＰネットワークの状態変化後の最短パスｐｊにおける発ノードｓと２番ノードｎの間で、ループ状通信経路が発生している可能性ありと判定する。
【００４８】
図４の例では、ｐ２「Ｂ→Ｄ→Ｅ」とｐ３「Ｃ→Ｂ→Ｄ→Ｅ」が発見されるので、ｐ２「Ｂ→Ｄ→Ｅ」におけるノードＢ，Ｄ間とｐ３「Ｃ→Ｂ→Ｄ→Ｅ」におけるノードＣ，Ｂ間とで、一時的にループ状通信経路が発生している可能性ありと判断する。この結果は、図４の例として上述したルータＢ，Ｃ間の一時的なループ状通信経路を含むものとなっている。
【００４９】
上述したように本実施形態によれば、パケットのキャプチャによらずに、ＩＰネットワーク上で発生するループ状通信経路の検出を行うことができるという効果が得られる。
【００５０】
本実施形態によれば、企業内や組織内等、イントラドメインでのＩＰ経路制御において一時的なループ状通信経路を検出することが可能となるので、従来のネットワーク監視方法では検出が困難であった一時的な品質劣化要因の一つとして一時的なループ状通信経路を検出できるようになる。これにより、ユーザからのネットワーク状態に係る問い合わせに対して迅速に回答することが可能となり、利用者の満足度を向上させることが期待できる。
【００５１】
なお、本実施形態に係る経路ループ検出装置１は、専用のハードウェアにより実現されるものであってもよく、あるいはパーソナルコンピュータ等のコンピュータシステムにより構成され、図２に示される経路ループ検出装置１の各部の機能を実現するためのプログラムを実行することによりその機能を実現させるものであってもよい。
【００５２】
また、その経路ループ検出装置１には、周辺機器として入力装置、表示装置等（いずれも図示せず）が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはＣＲＴ（Cathode Ray Tube）や液晶表示装置等のことをいう。
また、上記周辺機器については、経路ループ検出装置１に直接接続するものであってもよく、あるいは通信回線を介して接続するようにしてもよい。
【００５３】
また、図３に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、経路ループ検出処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００５４】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５５】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上述した実施形態では、リアルタイムでループ状通信経路を検出するように構成したが、オフライン処理でループ状通信経路を検出するように構成することも可能である。以下、オフライン処理でループ状通信経路を検出する構成について説明する。
【００５６】
上述した図２の構成では、各部１１〜２１がＬＳＡ受信により一連の動作を行うことによって、ＩＰネットワークの状態変化時点でリアルタイムにループ状通信経路を検出することができる。これに対して、ＬＳＡ受信により一連の動作を行う部分と、この部分とは独立で動作を行う部分とに分けることが挙げられる。この実施例をいくつか挙げる。
【実施例１】
【００５７】
ＬＳＡ受信部１１からＬＳＤＢ管理部１５までがＬＳＡ受信により一連の動作を行ってＬＳＤＢをリアルタイムに構築するようにする。ここで、ＬＳＤＢ管理部１５は、ＬＳＤＢの履歴を保存しておく。例えば、最新のＬＳＤＢから過去一定期間分のＬＳＤＢを保存する。そして、トポロジー・パス計算部１６からログ記録部２１までは、ＬＳＤＢの構築とは独立して動作を行う。これにより、ＬＳＤＢ管理部１５で保存されているＬＳＤＢに基づいて、過去の任意の時点でループ状通信経路が発生したかを検出するための処理を、任意の時点で行うことができる。
【実施例２】
【００５８】
ＬＳＡ受信部１１からトポロジー・パス管理部１７までがＬＳＡ受信により一連の動作を行って、ＬＳＤＢの構築、さらにネットワークトポロジーと最短パスの算出及び記録を行う。ここで、トポロジー・パス管理部１７は、ネットワークトポロジー及び最短パスの履歴を保存しておく。例えば、最新の情報から過去一定期間分の情報を保存する。そして、トポロジー比較部１８からログ記録部２１までは、それとは独立に動作を行う。これにより、トポロジー・パス管理部１７で保存されている情報に基づいて、過去の任意の時点でループ状通信経路が発生したかを検出するための処理を、任意の時点で行うことができる。
【実施例３】
【００５９】
ＬＳＡ受信部１１からトポロジー比較部１８までがＬＳＡ受信により一連の動作を行って、ＬＳＤＢの構築、ネットワークトポロジーと最短パスの算出及び記録、さらにコスト増加リンク及び削除リンクの検出を行う。ここで、トポロジー比較部１８は、コスト増加リンク及び削除リンクの検出結果の履歴を保存しておく。例えば、最新の情報から過去一定期間分の情報を保存する。そして、経路ループ検出部１９からログ記録部２１までは、それとは独立に動作を行う。これにより、トポロジー・パス管理部１７で保存されている情報に基づいて、過去の任意の時点でループ状通信経路が発生したかを検出するための処理を、任意の時点で行うことができる。この実施例３は、図３においてステップＳ５〜Ｓ９のみをオフラインで処理する構成である。
【００６０】
これら実施例１，２，３によれば、ユーザが指定した過去の任意の時点に対してその直前、直後の各保存情報を使用することにより、該指定時点付近でループ状通信経路が発生する可能性があったか否かを判定することが可能になる。
【００６１】
なお、ＬＳＡ受信により一連の動作を行う部分と、この部分とは独立で動作を行う部分とは、同じ装置に実装してもよく、或いは、それぞれ別の装置として構成してもよい。
【実施例４】
【００６２】
又、ネットワーク計画作業前などに、ＩＰネットワークの状態変化（リンクのコスト値の変更など）を仮想的に行って、ループ状通信経路が発生するか否かを調べるためのシミュレーションを行うように構成してもよい。この場合、ＬＳＤＢ管理部１５で保持しているＬＳＤＢに対して仮想する変更を行うことができるように構成する。これより、ＬＳＤＢ上にＩＰネットワークの仮の状態変化を反映させることができる。ＬＳＤＢの変更後、トポロジー・パス計算部１６以降を動作させる。これにより、ネットワーク計画作業前などに、あるネットワーク状態変化によってループ状通信経路が発生するか否かを調べることができる。これにより、ユーザやネットワークに与える影響を最小限とするネットワーク作業計画を立てることができるという効果が得られる。例えば、リンクのコスト値等を調整してループ状通信経路が発生しない構成とした上で、実際の作業を実施することが可能となる。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態に係るＩＰネットワークの概略構成図である。
【図２】同実施形態に係る経路ループ検出装置１の構成を示すブロック図である。
【図３】同実施形態に係る経路ループ検出処理の手順を示すフローチャートである。
【図４】一時的なループ状通信経路の発生例を説明するための概略図である。
【符号の説明】
【００６４】
１…経路ループ検出装置、２…ルータ（ノード）、１１…ＬＳＡ受信部、１２…ＬＳＡ管理部、１３…ＬＳＡ比較部、１４…ＬＳＤＢ作成部、１５…ＬＳＤＢ管理部、１６…トポロジー・パス計算部、１７…トポロジー・パス管理部、１８…トポロジー比較部、１９…経路ループ検出部、２０…結果表示部、２１…ログ記録部
【図１】
0004906764.tif 000002
【図２】
0004906764.tif 000003
【図３】
0004906764.tif 000004
【図４】
0004906764.tif 000005