(57)【要約】【課題】ＳＮＭＰやｔｒａｃｅｒｏｕｔｅに未対応の機器が接続されていてもネットワークトポロジを推定でき、且つ、ネットワークトポロジ把握用の専用パケットを送出することなくネットワークトポロジを推定できる、ネットワークトポロジ推定システム、ネットワークトポロジ推定方法及び記録媒体を提供する。【解決手段】ネットワークトポロジ推定システムは、パケットを取得するパケット取得手段１２と、発信元とあて先のＭＡＣアドレス及びＩＰアドレスをパケットから取得するアドレス取得手段１３と、ネットワークセグメントを判定するネットワークセグメント判定手段１４と、ネットワークセグメントに含まれるルータを特定するルータ特定手段１５と、該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手段１６と、ネットワークトポロジを推定するネットワークトポロジ推定手段１７と、を備える。【選択図】図１
2010068152.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを流れるパケットを取得するパケット取得手段と、
前記パケット取得手段で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手段と、
前記パケット取得手段で取得したパケットのうちＤＨＣＰ応答パケットを抽出し、前記ＤＨＣＰ応答パケットに含まれるネットワーク情報からネットワークセグメントを判定するネットワークセグメント判定手段と、
前記アドレス取得手段で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手段と、
前記ネットワークセグメント判定手段で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手段で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手段と、
前記ネットワークセグメント判定手段で判定したネットワークセグメント及び前記ネットワークセグメント結合ルータ特定手段で特定した該ネットワークセグメントの間をつなぐルータよりネットワークトポロジを推定するネットワークトポロジ推定手段と、
を備えるネットワークトポロジ推定システム。
【請求項２】
ネットワークを流れるパケットを取得するパケット取得手段と、
前記パケット取得手段で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手段と、
前記パケット取得手段で取得したパケットのうちＡＲＰ応答パケットを抽出し、前記ＡＲＰ応答パケットに含まれるネットワーク情報からネットワークセグメントを判定するネットワークセグメント判定手段と、
前記アドレス取得手段で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手段と、
前記ネットワークセグメント判定手段で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手段で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手段と、
前記ネットワークセグメント判定手段で判定したネットワークセグメント及び前記ネットワークセグメント結合ルータ特定手段で特定した該ネットワークセグメントの間をつなぐルータよりネットワークトポロジを推定するネットワークトポロジ推定手段と、
を備えるネットワークトポロジ推定システム。
【請求項３】
ネットワークを流れるパケットを取得するパケット取得手段と、
前記パケット取得手段で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手段と、
前記アドレス取得手段で取得した前記ＩＰアドレスから前記ＩＰアドレスが属するネットワークセグメントを判定するネットワークセグメント判定手段と、
前記アドレス取得手順で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手段と、
前記ネットワークセグメント判定手段で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手段で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手段と、
前記ネットワークセグメント判定手段で判定したネットワークセグメント及び前記ネットワークセグメント結合ルータ特定手段で特定した該ネットワークセグメントの間をつなぐルータよりネットワークトポロジを推定するネットワークトポロジ推定手段と、
を備えるネットワークトポロジ推定システム。
【請求項４】
ネットワークを流れるパケットを取得するパケット取得手順と、
前記パケット取得手順で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手順と、
前記パケット取得手順で取得したパケットのうちＤＨＣＰ応答パケットを抽出し、前記ＤＨＣＰ応答パケットに含まれるネットワーク情報からネットワークセグメントを判定するネットワークセグメント判定手順と、
前記アドレス取得手順で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手順と、
前記ネットワークセグメント判定手順で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手順で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手順と、
で、ネットワークトポロジを推定することを特徴とするネットワークトポロジ推定方法。
【請求項５】
ネットワークを流れるパケットを取得するパケット取得手順と、
前記パケット取得手順で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手順と、
前記パケット取得手順で取得したパケットのうちＡＲＰ応答パケットを抽出し、前記ＡＲＰ応答パケットに含まれるネットワーク情報からネットワークセグメントを判定するネットワークセグメント判定手順と、
前記アドレス取得手順で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手順と、
前記ネットワークセグメント判定手順で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手順で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手順と、
で、ネットワークトポロジを推定することを特徴とするネットワークトポロジ推定方法。
【請求項６】
ネットワークを流れるパケットを取得するパケット取得手順と、
前記パケット取得手順で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手順と、
前記アドレス取得手順で取得した前記ＩＰアドレスから前記ＩＰアドレスが属するネットワークセグメントを判定するネットワークセグメント判定手順と、
前記アドレス取得手順で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手順と、
前記ネットワークセグメント判定手順で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手順で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手順と、
で、ネットワークトポロジを推定することを特徴とするネットワークトポロジ推定方法。
【請求項７】
請求項４から６のいずれかに記載のネットワークトポロジ推定方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、観測されたパケットの情報でネットワークトポロジを推定するネットワークトポロジ推定システム、ネットワークトポロジ推定方法及び当該方法をコンピュータに実行させるためのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
昨今、インターネットが広く普及し、その上で使用されるサービスも多種多様なものとなってきている。そのようなネットワークの利用者は専門的な知識を特っていない場合がほとんどで、さらにその修理や保守に携わる担当者も新しいネットワーク技術に追いつけないという状況がある。
【０００３】
そのため、ネットワークを使ったサービスの利用者や提供者、さらにはネットワークの保守担当者にとって、インターネットに関わるネットワークの情報を正確に把握することは必要不可欠である。特に、その構成図は必須となる。
【０００４】
現在、ネットワーク構成を取得する方法として、また、ネットワークに接続したＰＣからネットワーク情報を取得するためのコマンドや検査パケットを送出し、その応答状況から判断する手段も存在する。例えば、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）と呼ばれるプロトコルや、ｔｒａｃｅｒｏｕｔｅ（ｔｒａｃｅｒｔ）というコマンドをＰＣより操作することにより、ネットワーク機器の情報や経路を取得することができる。また、トポロジ決定メッセージという専用のパケットを故意的に送出することによりネットワークの構成を把握しようとする方法も知られている（例えば、特許文献１を参照。）。
【特許文献１】特開２００４−０２３１５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＳＮＭＰやｔｒａｃｅｒｏｕｔｅでネットワークトポロジを把握しようとすれば、ネットワークに接続する全ての機器がＳＮＭＰやｔｒａｃｅｒｏｕｔｅに対応していることが必要である。このため、ＳＮＭＰやｔｒａｃｅｒｏｕｔｅに未対応の機器が接続されていた場合、ネットワークトポロジを把握することが困難という課題がある。
【０００６】
また、ネットワークトポロジ把握用の専用パケットを送出するためには、現状のネットワークに新たに機器を接続する必要がある。これには２つの課題がある。１つはウイルス等の侵入や個人情報等の流出の危険を防止しなければならないという課題である。もう１つはネットワーク障害が発生している場合、当該機器の接続あるいは当該機器からの専用パケット送出により、ネットワーク障害の状況把握が困難になるため、ネットワーク障害時の対策をしなければならないという課題である。
【０００７】
そこで、本発明は、これらの課題を解決するためになされたもので、ＳＮＭＰやｔｒａｃｅｒｏｕｔｅに未対応の機器が接続されていてもネットワークトポロジを推定でき、且つ、ネットワークトポロジ把握用の専用パケットを送出することなくネットワークトポロジを推定できる、ネットワークトポロジ推定システム、ネットワークトポロジ推定方法及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記目的を達成するために、本発明に係るネットワークトポロジ推定システム、ネットワークトポロジ推定方法及び記録媒体は、ネットワークを流れるパケットを監視するだけでネットワークのトポロジを推定することとした。
【０００９】
具体的には、本発明に係るネットワークトポロジ推定システムは、ネットワークを流れるパケットを取得するパケット取得手段と、前記パケット取得手段で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手段と、前記パケット取得手段で取得したパケットのうちＤＨＣＰ応答パケットを抽出し、前記ＤＨＣＰ応答パケットに含まれるネットワーク情報からネットワークセグメントを判定するネットワークセグメント判定手段と、前記アドレス取得手段で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手段と、前記ネットワークセグメント判定手段で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手段で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手段と、前記ネットワークセグメント判定手段で判定したネットワークセグメント及び前記ネットワークセグメント結合ルータ特定手段で特定した該ネットワークセグメントの間をつなぐルータよりネットワークトポロジを推定するネットワークトポロジ推定手段と、を備える。
【００１０】
前記ネットワークトポロジ推定システムのネットワークトポロジ推定方法は、ネットワークを流れるパケットを取得するパケット取得手順と、前記パケット取得手順で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手順と、前記パケット取得手順で取得したパケットのうちＤＨＣＰ応答パケットを抽出し、前記ＤＨＣＰ応答パケットに含まれるネットワーク情報からネットワークセグメントを判定するネットワークセグメント判定手順と、前記アドレス取得手順で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手順と、前記ネットワークセグメント判定手順で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手順で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手順と、で、ネットワークトポロジを推定することを特徴とする。
【００１１】
前記ネットワークトポロジ推定システムではパケットを送出することなくネットワーク上のパケットを取得するために、パケット取得手段としてモニタハブと呼ばれる装置を用いることが好ましい。通常使用されるハブは接続している他のネットワークケーブルと電気的に接続し相互にパケットを送受信するが、このモニタハブは、１つあるいは複数のネットワークケーブルに流れるパケットの取得だけを行い、送出はできないように制限することができる。
【００１２】
取得したパケットからＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）リクエストの応答パケットを抽出し、このパケットに含まれるネットワークアドレス、サブネットマスク、デフォルトゲートウェイなどのネットワーク情報を取り出す。このネットワーク情報は１つあるいは複数存在するが、それぞれ個別に保持する。
【００１３】
次に、抽出したそれぞれのネットワークについて、１つあるいは複数のルータが特つＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）の情報を特定する。最後に、各ネットワーク情報とルータのＮＩＣ情報を元にそれぞれのネットワークのつながりを推定することにより、ネットワークのトポロジを推定する。
【００１４】
従って、本発明に係るネットワークトポロジ推定システム及びネットワークトポロジ推定方法は、パケット取得手段が取得したパケットのうちＤＨＣＰリクエストの応答パケットの内容を解析することでＳＮＭＰやｔｒａｃｅｒｏｕｔｅに未対応の機器が接続されていてもネットワークトポロジを推定でき、且つ、ネットワークトポロジ把握用の専用パケットを送出することなくネットワークトポロジを推定できる。
【００１５】
パケット取得手段が取得したパケットのうちＤＨＣＰリクエストの応答パケットの内容を解析してネットワークトポロジを推定する場合を説明したが、パケット取得手段が取得したパケットのうちＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）の応答パケットからＩＰアドレスの集合を特定してもよい。
【００１６】
すなわち、本発明に係る他のネットワークトポロジ推定システムは、ネットワークを流れるパケットを取得するパケット取得手段と、前記パケット取得手段で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手段と、前記パケット取得手段で取得したパケットのうちＡＲＰ応答パケットを抽出し、前記ＡＲＰ応答パケットに含まれるネットワーク情報からネットワークセグメントを判定するネットワークセグメント判定手段と、前記アドレス取得手段で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手段と、前記ネットワークセグメント判定手段で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手段で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手段と、前記ネットワークセグメント判定手段で判定したネットワークセグメント及び前記ネットワークセグメント結合ルータ特定手段で特定した該ネットワークセグメントの間をつなぐルータよりネットワークトポロジを推定するネットワークトポロジ推定手段と、を備える。
【００１７】
前記ネットワークトポロジ推定システムのネットワークトポロジ推定方法は、ネットワークを流れるパケットを取得するパケット取得手順と、前記パケット取得手順で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手順と、前記パケット取得手順で取得したパケットのうちＡＲＰ応答パケットを抽出し、前記ＡＲＰ応答パケットに含まれるネットワーク情報からネットワークセグメントを判定するネットワークセグメント判定手順と、前記アドレス取得手順で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手順と、前記ネットワークセグメント判定手順で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手順で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手順と、で、ネットワークトポロジを推定することを特徴とする。
【００１８】
従って、本発明に係るネットワークトポロジ推定システム及びネットワークトポロジ推定方法は、パケット取得手段が取得したパケットのうちＡＲＰの応答からＩＰアドレスの集合を特定することでも同様に、ＳＮＭＰやｔｒａｃｅｒｏｕｔｅに未対応の機器が接続されていてもネットワークトポロジを推定でき、且つ、ネットワークトポロジ把握用の専用パケットを送出することなくネットワークトポロジを推定できる。
【００１９】
さらに、パケット取得手段が取得したＩＰパケットから直接送信元／宛先のＩＰアドレスを抽出してもよい。
【００２０】
すなわち、本発明に係る他のネットワークトポロジ推定システムは、ネットワークを流れるパケットを取得するパケット取得手段と、前記パケット取得手段で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手段と、前記アドレス取得手段で取得した前記ＩＰアドレスから前記ＩＰアドレスが属するネットワークセグメントを判定するネットワークセグメント判定手段と、前記アドレス取得手順で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手段と、前記ネットワークセグメント判定手段で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手段で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手段と、前記ネットワークセグメント判定手段で判定したネットワークセグメント及び前記ネットワークセグメント結合ルータ特定手段で特定した該ネットワークセグメントの間をつなぐルータよりネットワークトポロジを推定するネットワークトポロジ推定手段と、を備える。
【００２１】
前記ネットワークトポロジ推定システムのネットワークトポロジ推定方法は、ネットワークを流れるパケットを取得するパケット取得手順と、前記パケット取得手順で取得した前記パケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びに前記パケットの宛先のＭＡＣアドレス及びＩＰアドレスを前記パケットから取得するアドレス取得手順と、前記アドレス取得手順で取得した前記ＩＰアドレスから前記ＩＰアドレスが属するネットワークセグメントを判定するネットワークセグメント判定手順と、前記アドレス取得手順で取得した前記ＩＰアドレス及び前記ＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手順と、前記ネットワークセグメント判定手順で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、前記ルータ特定手順で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手順と、で、ネットワークトポロジを推定することを特徴とする。
【００２２】
従って、本発明に係るネットワークトポロジ推定システム及びネットワークトポロジ推定方法は、パケット取得手段が取得したＩＰパケットから直接送信元／宛先のＩＰアドレスを抽出することでも同様に、ＳＮＭＰやｔｒａｃｅｒｏｕｔｅに未対応の機器が接続されていてもネットワークトポロジを推定でき、且つ、ネットワークトポロジ把握用の専用パケットを送出することなくネットワークトポロジを推定できる。
【００２３】
また、本発明に係る記録媒体は、前記ネットワークトポロジ推定方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。ネットワークトポロジ推定方法をコンピュータに実行させることができる。
【発明の効果】
【００２４】
本発明は、ＳＮＭＰやｔｒａｃｅｒｏｕｔｅに未対応の機器が接続されていてもネットワークトポロジを推定でき、且つ、ネットワークトポロジ把握用の専用パケットを送出することなくネットワークトポロジを推定できる、ネットワークトポロジ推定システム、ネットワークトポロジ推定方法及び記録媒体を提供することができる。すなわち、本発明によれば、調査対象のネットワークに不要なパケットを送出することなく、あらかじめネットワーク構成に関する情報を送出しない機器であっても、流れるパケットを監視するだけでネットワークのトポロジを推定することが可能となる。
【発明を実施するための最良の形態】
【００２５】
添付の図面を参照して本発明の実施の形態を説明する。以下に説明する実施の形態は本発明の構成の例であり、本発明は、以下の実施の形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【００２６】
図１は、本実施例のネットワークトポロジ推定システムを説明するブロック図である。本実施例のネットワークトポロジ推定システムは、
ネットワーク１１を流れるパケットを取得するパケット取得手段１２と、パケット取得手段１２で取得したパケットの発信元のＭＡＣアドレス及びＩＰアドレス、並びにパケットの宛先のＭＡＣアドレス及びＩＰアドレスをパケットから取得するアドレス取得手段１３と、パケット取得手段１２で取得したパケットからネットワークセグメントを判定するネットワークセグメント判定手段１４と、アドレス取得手段１３で取得したＩＰアドレス及びＭＡＣアドレスの組からネットワークセグメントに含まれるルータを特定するルータ特定手段１５と、ネットワークセグメント判定手段１４で判定したネットワークセグメントの間を流れるパケットのＭＡＣアドレスから、ルータ特定手段１５で特定したルータのうち該ネットワークセグメントの間をつなぐルータを特定するネットワークセグメント結合ルータ特定手段１６と、ネットワークセグメント判定手段１４で判定したネットワークセグメント及びネットワークセグメント結合ルータ特定手段１６で特定した該ネットワークセグメントの間をつなぐルータよりネットワークトポロジを推定するネットワークトポロジ推定手段１７と、を備える。
【００２７】
パケット取得手段１２は、ネットワーク１１からパケットを取得する。例えば、パケット取得手段１２は、前述のモニタハブである。
【００２８】
図２、図３、図４は、図１のネットワークトポロジ推定システムのネットワークトポロジ推定方法を説明するフロー図である。図２は、ネットワークセグメント判定手段１４がネットワークセグメントを判定する方法を説明するフロー図である。
【００２９】
まず、ステップＳ２１でネットワークセグメントを判定するための終了条件を設定する。例えば、検出されたパケットをすべて処理する、３つ以上のネットワークセグメントを判定する、などである。ステップＳ２２で終了条件を満たしているか否かを判断する。初回又は終了条件を満たしていない場合、ネットワークセグメントの判定を続ける。
【００３０】
ネットワークセグメント判定手段１４が行うネットワークセグメントの判定の方法としては以下の３種類がある。
（１）ＤＨＣＰ応答パケットの内容から判断
（２）ＡＲＰ応答パケットの内容を判断
（３）各パケットの送信元および宛先のＩＰアドレスから判断
以下に、それぞれの方法について詳細に説明する。
【００３１】
「（１）ＤＨＣＰ応答パケットの内容から判断」は、ステップＳ２３とステップＳ２６で行われる。ステップＳ２３で、パケット取得手段１２がネットワークから取得したパケットについてＤＨＣＰリクエストの応答パケットかどうかを判断する。当該パケットがＤＨＣＰリクエストの応答パケットの場合、ステップＳ２６で当該パケットからネットワーク情報を取得する。これは、ＩＰアドレスを動的に払い出すＤＨＣＰプロトコルのやりとりを利用したものである。ＤＨＣＰサーバがネットワーク内に設置されていることが利用の前提となる。
【００３２】
ＤＨＣＰプロトコルは、ＩＥＴＦ（ｌｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）による技術仕様であり、ＲＦＣ２１３２で定義されている。ＤＨＣＰサーバがＩＰアドレスを払い出す際は、オプションとして、サブネットマスクとデフオルトゲートウェイも含められているため、この内容を把握すればネットワークセグメントを特定できる。
【００３３】
「（２）ＡＲＰ応答パケットの内容を判断」は、ステップＳ２４とステップＳ２７で行われる。ＤＨＣＰはネットワークにつながった端末があった場合など、パケットをモニタしているだけではキャプチャすることは難しい。そこで次にＡＲＰプロトコルを用いた抽出を行う。
【００３４】
ステップＳ２３の判断で、パケット取得手段１２がネットワークから取得したパケットについてＤＨＣＰリクエストの応答パケットでなかった場合、ステップＳ２４で、当該パケットがＡＲＰの応答パケットかどうかを判断する。当該パケットがＡＲＰの応答パケットの場合、ステップＳ２７で当該パケットからネットワーク情報を取得する。
【００３５】
ＡＲＰプロトコルは、ＩＥＴＦのＲＦＣ８２６で定義されており、ＩＰアドレスからＭＡＣアドレスに変換するために用いられる。ＩＰパケットを送受信するためにはＭＡＣアドレスが必須であるが、通信相手のＩＰアドレスしか分からない場合の解決として、ＡＲＰの要求パケットを送出することにより、ＩＰアドレスを取得する。１９２．１６８．ではじまるＩＰアドレスのネットワークは市販のルータ等で用いられるプライベートアドレスで、サブネットマスクとして２５５．２５５．２５５．０となっている場合がほとんどである。このように仮定すれば、上記のように集められた複数のＩＰアドレスに対し図５の例のように、
サブネットマスク：２５５．２５５．２５５．０
ネットワークアドレス：１９２．１６８．１．０
のように推定することができる。
【００３６】
「（３）各パケットの送信元および宛先のＩＰアドレスから判断」は、ステップＳ２５で行われる。ＡＲＰパケットも定常的にネットワークに流れるわけではなく、ネットワークトポロジ推定のためには、「（２）ＡＲＰ応答パケットの内容を判断」だけでは十分ではない。そこで、３つ目の方法として全てのＩＰパケットに対して処理を行うことで対処する。
【００３７】
アドレス取得手段１３は、各パケットの発信元・宛先のそれぞれのＩＰアドレスとＭＡＣアドレスの組のリストを作成する。図６は、図７のようなネットワークを想定し、図６のアクセス例のような通信を行った場合に流れるパケットについて、それぞれの発信元・宛先から抽出されるＭＡＣアドレスとＩＰアドレスを表にしたものである。
【００３８】
ネットワークＮ１，Ｎ２，Ｎ３はそれぞれルータＲ１，Ｒ２で接続されている。通常ルータはネットワークに物理的につながるためのデバイスであるＮＩＣを２つ以上持っており、図７の例では、Ｒ１はＮ１ａ，Ｎ１ｂ、Ｒ２はＮ２ｂ，Ｎ２ｃのＮＩＣを持っていることとする。ネットワークアドレスは例として図７のように設定されていることとする。
【００３９】
このような状況で、Ｎ２のネットワークのパケットを観測している場合に、ＰＣ２からＲ１へのアクセスで抽出されるパケットは、発信元ＰＣ２と宛先Ｒ１のＩＰアドレスとＭＡＣアドレスが抽出されることになる。ＰＣ２からＲ２へのアクセスでも同様にＰＣ２とＲ２のＩＰアドレスとＭＡＣアドレスが抽出される。ＰＣ１からＳ１にアクセスがあったとすると、そのパケットの発信元と宛先にはＰＣ１とＳ１のＩＰアドレス、Ｎ２ｂとＮ１ｂのＭＡＣアドレスが抽出される。
【００４０】
このように抽出されたものの中からＩＰアドレスのみを抽出し、ＩＰアドレスａ１．ａ２．ａ３．ａ４から、ａ１．ａ２．ａ３が同じものを１つのグループとしてまとめると図８のようになる。一般に家庭内で使用される規模のネットワークではクラスＣと呼ばれるＩＰアドレス体系が適用されており、ａ１．ａ２．ａ３が固定され、ａ４のみＰＣ等の各端末に割り当てられる。また、インターネット上のＩＰアドレスはネットワークサービスを提供するプロバイダにより割り当てがなされており、ａ１．ａ２．ａ３までが同一プロバイダであることが多い。図８のグループはこのような観点から整理されており、ネットワークのセグメントを推定することが可能となる。また、家庭内のネットワークを対象としている場合は、１９２．１６８．＊．＊といったアドレス以外は全てインターネットあるいはその他のネットワークなどとして一纏めしても構わない。
【００４１】
以上のようにして、ネットワークセグメント判定手段１４がネットワークのセグメント化を行った後、アドレス取得手段１３が取得したＭＡＣアドレス及びＩＰアドレスを用いて、ルータ特定手段１５は各ネットワークセグメント間を接続するルータの特定を行う。ルータ特定手段１５の処理フローは図３のようになる。
【００４２】
ルータはつなげるネットワークの数以上のＮＩＣを持っており、それぞれのＮＩＣに振られているＭＡＣアドレスは異なる。まず、ルータ特定手段１５は、ステップＳ３１でルータのＮＩＣ情報を取得完了したかどうかを判断する。ＮＩＣ情報を取得が未完了の場合、ルータ特定手段１５は、ステップＳ３２でＩＰパケットの送信元及びあて先のパケット数の対応表をネットワーク単位で作成する。次に、ルータ特定手段１５は、ステップＳ３２で作成した対応表から送信元及びあて先が同じネットワークでパケット数が０のネットワークを抽出する（ステップＳ３３）。さらに、ルータ特定手段１５は、ステップＳ３３で抽出したネットワークから複数のＩＰアドレスを組としてもつＮＩＣをルータのＮＩＣと特定する（ステップＳ３４）。
【００４３】
具体的には、ルータ特定手段１５は、以下のようにルータを特定する。アドレス取得手段１３が取得した図６のようなアドレスの組をＭＡＣアドレス毎に集計すると、図９のようになる。ルータ機能を持たない端末は、そのＮＩＣに振られている１組のＭＡＣアドレスとＩＰアドレスしか現れないが、ルータからは１つのＭＡＣアドレスに対し、複数のＩＰアドレスの組が存在する。これは他のネットワークから流れてきているパケットをルーティングしているためである。この観点から、ルータ特定手段１５はアドレス取得手段１３で取得したＩＰアドレス及びＭＡＣアドレスの組から複数のＩＰアドレスを持つＭＡＣアドレスを抽出する。図９では、ａａ：ｂｂ：ｃｃ：ｄｄ：ｅｅ：００とｃｃ：ｄｄ：ｅｅ：ｆｆ：００：１１となり、これらはルータだと判断される。
【００４４】
次に、ネットワークセグメント結合ルータ特定手段１６は、ネットワークセグメント判定手段１４が判定したネットワークセグメントとルータ特定手段１５が特定したルータを用いてネットワークのつながりを推定する。ネットワークセグメント結合ルータ特定手段１６の処理フローは図４のようになる。
【００４５】
まず、ネットワークセグメント結合ルータ特定手段１６は、ステップＳ４１でネットワーク間のつながりの推定が完了しているか確認する。ネットワーク間のつながりの推定が完了していない場合、ネットワークセグメント結合ルータ特定手段１６は、ステップＳ４２でルータを流れるアドレスのグループからどのルータを介してつながっているかを推定する。
【００４６】
具体的には、ネットワークセグメント結合ルータ特定手段１６は、以下のようにネットワーク間のつながりを特定する。図１０は、ネットワークセグメント判定手段１４が図８のように推定したネットワークグループとルータ特定手段１５が図９のように特定したルータとをネットワークセグメント結合ルータ特定手段１６が関連付けた関係を図にしたものである。例えば、図９のＮ０．１，２の行より、ネットワークＢのパケットはＲ１のａａ：ｂｂ：ｃｃ：ｄｄ：ｅｅ：００を通じてネットワークＡにつながっており、Ｎ０．４，５より、ネットワークＣはｃｃ：ｄｄ：ｅｅ：ｆｆ：００：１１を通じてネットワークＡにつながっていることが推定される。このようにして、抽出された複数のネットワークのつながりを推定することができる。
【００４７】
以上に述べたように実施すれば、ネットワークセグメントの特定、ルータの特定、ネットワークのつながりの推定を行うことでネットワークトポロジを推定することが可能となる。なお、推定に十分なパケットを流通させるため、ブラウザの閲覧やメールの送受信など、通常ネットワークを使用している環境で本手法を適用するのが良い。
【００４８】
（記録媒体の実施例）
本実施形態のネットワークトポロジ推定方法は、ネットワークトポロジ推定方法のプログラム（ネットワークトポロジ推定プログラム）をコンピュータが実行することで実現することができる。ネットワークトポロジ推定プログラムは、例えば、記録媒体に格納されて提供される。記録媒体としては、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ等の記録媒体や、半導体メモリ等が例示される。ネットワークトポロジ推定プログラムは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットを介して提供されてもよい。
【００４９】
図１１は、記録媒体９０に記録されたプログラムを実行するためのコンピュータ３００の例を示した図である。コンピュータ３００は、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ等の記録媒体９０を読み取る記録媒体読み取り装置１１１と、作業用メモリ（ＲＡＭ）１１２と、記録媒体９０に記録されたプログラムを記憶するメモリ１１３と、ディスプレイ１１４と、入力装置であるマウス１１５及びキーボード１１６と、プログラムの実行を制御するＣＰＵ１１７と、データを記憶するハードディスク１１８と、ＬＡＮやインターネットに接続するケーブル１１９と、を備えている。図１１では、作業用メモリ１１２、メモリ１１３、ＣＰＵ１１７及びハードディスク１１８は筐体に内蔵されるので破線で示している。
【００５０】
コンピュータ３００は、記録媒体９０が記録媒体読み取り装置１１１に挿入されると、記録媒体読み取り装置１１１から記録媒体９０に格納されたネットワークトポロジ推定プログラムがメモリ１１３にインストールされる。メモリ１１３へのインストール完了後、ＣＰＵ１１７はネットワークトポロジ推定プログラムにアクセス可能になり、当該プログラムによって、コンピュータ３００は、本実施形態のネットワークトポロジ推定システムとして動作することが可能になる。
【００５１】
コンピュータ３００が図１のネットワークトポロジ推定システムとして動作する場合、ＣＰＵ１１７がアドレス取得手段１３、ネットワークセグメント判定手段１４、ルータ特定手段１５、ネットワークセグメント結合ルータ特定手段１６及びネットワークトポロジ推定手段１７として機能する。ＣＰＵ１１７は図示しないパケット取得手段１２が取得したパケットを前述のように解析してネットワークセグメントの特定、ルータの特定、ネットワークのつながりの推定を行う。また、特定されたネットワークセグメント、ルータネットワーク間のつながりの結果は作業用メモリ１１２に一時的に保管される。コンピュータ３００は、ネットワークトポロジの推定結果をディスプレイ１１４に表示することができる。
【００５２】
ここでのコンピュータ３００は、図１１のようなパーソナルコンピュータに限らず、記録媒体読み取り装置１１１、ＣＰＵ１１７を具備しソフトウエアによる処理や制御を行うＤＶＤプレーヤ、ゲーム機、携帯電話などを含む。
【産業上の利用可能性】
【００５３】
本発明に係るネットワークトポロジ推定システム、ネットワークトポロジ推定方法及び記録媒体は、家庭内ＬＡＮや企業内ＬＡＮに適用することができる。
【図面の簡単な説明】
【００５４】
【図１】本発明に係るネットワークトポロジ推定システムを説明するブロック図である。
【図２】本発明に係るネットワークトポロジ推定システムのネットワークトポロジ推定方法を説明するフロー図である。
【図３】本発明に係るネットワークトポロジ推定システムのネットワークトポロジ推定方法を説明するフロー図である。
【図４】本発明に係るネットワークトポロジ推定システムのネットワークトポロジ推定方法を説明するフロー図である。
【図５】ＩＰアドレスの例を説明する図である。
【図６】発信元及び宛先から抽出されるＭＡＣアドレスとＩＰアドレスを表にまとめた図である。
【図７】推定するネットワークの構成を説明する図である。
【図８】ネットワークグループの例を説明する図である。
【図９】ルータ特定方法を説明する図である。
【図１０】本発明に係るネットワークトポロジ推定システムが推定したネットワークのつながりを説明する図である。
【図１１】記録媒体に記録されたプログラムを実行するためのコンピュータの例を示した図である。
【符号の説明】
【００５５】
１１、Ｎ１、Ｎ２、Ｎ３：ネットワーク
１２：パケット取得手段
１３：アドレス取得手段
１４：ネットワークセグメント判定手段
１５：ルータ特定手段
１６：ネットワークセグメント結合ルータ特定手段
１７：ネットワークトポロジ推定手段
Ｒ１、Ｒ２：ルータ
Ｓ１：サーバ
ＰＣ１：パーソナルコンピュータ１
ＰＣ２：パーソナルコンピュータ２
９０：記録媒体
１１１：記録媒体読み取り装置
１１２：作業用メモリ
１１３：メモリ
１１４：ディスプレイ
１１５：マウス
１１６：キーボード
１１７：ＣＰＵ
１１８：ハードディスク
１１９：ケーブル
３００：コンピュータ
【図１】
2010068152.tif 000003
【図２】
2010068152.tif 000004
【図３】
2010068152.tif 000005
【図４】
2010068152.tif 000006
【図５】
2010068152.tif 000007
【図６】
2010068152.tif 000008
【図７】
2010068152.tif 000009
【図８】
2010068152.tif 000010
【図９】
2010068152.tif 000011
【図１０】
2010068152.tif 000012
【図１１】
2010068152.tif 000013