(57)【要約】【課題】通信経路を特定する。【解決手段】本方法では、第1NWと第2NWとに接続される第3NW内に第1NWから第2NWへのパケットが通過すると推定される経路が複数存在する際、第1NW内の未使用アドレスの中から送信元アドレスを特定し、第2NW内の未使用アドレスの中から送信先アドレスを特定し、第3NWの境界に設置され且つ第2NWと接続されるルータに、特定した送信先アドレス宛のパケットを第2NWに転送しないよう当該ルータのARPテーブルの設定を変更させ、第3NWの境界に設置され且つ第1NWと接続されるルータのアドレスをソースルーティングとして含み、特定した送信元アドレス及び送信先アドレスを送信元及び送信先とする試験パケットを所定回送出し、各経路上のルータであって計測対象のルータの各々から試験パケット送信前後の入力パケットカウンタ値を取得し、試験パケット送信前後の入力パケットカウンタ値の差に基づき試験パケットの経路を特定する。【選択図】図２
2010245866.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークと第２のネットワークとに接続される第３のネットワークを監視するためのコンピュータに、
前記第３のネットワーク内に、前記第１のネットワークから前記第２のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、前記第１のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、前記第２のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、
前記第３のネットワークの境界に設置されるエッジルータのうち前記第２のネットワークと接続されるエッジルータである出力エッジルータに、前記試験用送信先アドレス宛のパケットを前記第２のネットワークに転送しないよう当該出力エッジルータのＡＲＰテーブルの設定を変更させるステップと、
前記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第１入力パケット数として記憶装置に格納する第１取得ステップと、
前記エッジルータのうち前記第１のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを所定回数送出する試験パケット送出ステップと、
前記計測対象ルータの各々から前記入力パケットカウンタの値を取得し、第２入力パケット数として前記記憶装置に格納する第２取得ステップと、
前記記憶装置に格納されている前記第１入力パケット数と前記第２入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定ステップと、
を実行させるための通信経路推定プログラム。
【請求項２】
前記試験用アドレス特定ステップが、
送信元アドレスグループと送信先アドレスグループとの組み合わせ毎に、前記送信元アドレスグループに属するアドレスから前記送信先アドレスグループに属するアドレスへ送信されるパケットが通過すると推定される前記通信経路の識別情報を格納するための経路推定テーブルに基づき、特定の組み合わせに係る前記送信元アドレスグループに属する、前記第１のネットワーク内の未使用アドレスのうちのいずれかを前記試験用送信元アドレスとして特定し、前記特定の組み合わせに係る前記送信先アドレスグループに属する、前記第２のネットワーク内の未使用アドレスのうちのいずれかを前記試験用送信先アドレスとして特定するステップ
を含み、
前記通信経路特定ステップにおいて特定された前記通信経路の識別情報を、前記特定の組み合わせに対応付けて前記経路推定テーブルに格納するステップ
をさらに実行させるための請求項１記載の通信経路推定プログラム。
【請求項３】
前記第１のネットワークから前記第２のネットワークへ送信されるパケットが通過すると推定される前記通信経路の数を用いた剰余演算の結果に従ってグループ分けを行う場合において、前記剰余演算の結果に従ってグループ分けされる前記送信元アドレスグループと前記剰余演算の結果に従ってグループ分けされる前記送信先アドレスグループとの全ての組み合わせを含む前記経路推定テーブルを生成するステップ
をさらに実行させるための請求項２記載の通信経路推定プログラム。
【請求項４】
前記試験パケット送出ステップが、
パケットサイズが６４バイト以下となる前記試験パケットを送出させるステップ
を含み、
前記第１取得ステップ及び前記第２取得ステップが、
パケットサイズが６４バイト以下のパケットについてのカウンタの値を、前記入力パケットカウンタの値として取得するステップ
を含む請求項１乃至３のいずれか１つ記載の通信経路推定プログラム。
【請求項５】
第１のネットワークと第２のネットワークとに接続される第３のネットワークを監視するためのコンピュータにより実行される通信経路推定方法であって、
前記第３のネットワーク内に、前記第１のネットワークから前記第２のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、前記第１のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、前記第２のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、
前記第３のネットワークの境界に設置されるエッジルータのうち前記第２のネットワークと接続されるエッジルータである出力エッジルータに、前記試験用送信先アドレス宛のパケットを前記第２のネットワークに転送しないよう当該出力エッジルータのＡＲＰテーブルの設定を変更させるステップと、
前記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第１入力パケット数として記憶装置に格納する第１取得ステップと、
前記エッジルータのうち前記第１のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを所定回数送出する試験パケット送出ステップと、
前記計測対象ルータの各々から前記入力パケットカウンタの値を取得し、第２入力パケット数として前記記憶装置に格納する第２取得ステップと、
前記記憶装置に格納されている前記第１入力パケット数と前記第２入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定ステップと、
を含む通信経路推定方法。
【請求項６】
第１のネットワークと第２のネットワークとに接続される第３のネットワークを監視するためのコンピュータであって、
前記第３のネットワーク内に、前記第１のネットワークから前記第２のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、前記第１のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、前記第２のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス決定手段と、
前記第３のネットワークの境界に設置されるエッジルータのうち前記第２のネットワークと接続されるエッジルータである出力エッジルータに、前記試験用送信先アドレス宛のパケットを前記第２のネットワークに転送しないよう当該出力エッジルータのＡＲＰテーブルの設定を変更させるテーブル制御手段と、
前記エッジルータのうち前記第１のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを所定回数送出する試験パケット送信手段と、
前記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、前記試験パケット送出前の入力パケットカウンタの値である第１入力パケット数と前記試験パケット送出後の前記入力パケットカウンタの値である第２入力パケット数とを取得して前記記憶装置に格納する入力パケット数取得手段と、
前記記憶装置に格納されている前記第１入力パケット数と前記第２入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定手段と、
を有するコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ネットワーク内を流れるパケットの通信経路を推定するための技術に関する。
【背景技術】
【０００２】
図２７に、ＩＰ（Internet Protocol）ネットワークの一例を示す。このようなネットワークにおいて、例えば以下のような理由で、ネットワーク上の通信経路を特定することが重要となっている。具体的には、第１に、図２８に示すように、パケットの欠損が生じた場合に、障害が発生している通信経路がどの経路であるかを特定するためである。第２に、通信経路がネットワーク設計時に想定したとおりの経路になっているかを確認するためである。第３に、メンテナンス工事などを行う場合に、サービスに影響が出ないよう正しく迂回されているかを確認するためである。
【０００３】
ところで、ＩＰネットワークにおけるルーティング制御にはＯＳＰＦ（Open Shortest Path First）プロトコルがよく用いられる。ＯＳＰＦでは、各ネットワーク装置（例えばルータなど）がＬＳＡ（Link State Advertisement）と呼ばれるパケットを交換し、トポロジ及びルーティングテーブルを生成・保持する。
【０００４】
このようなＯＳＰＦによるルーティングを実施するネットワークに対して、当該ネットワーク内を流れるパケットをキャプチャする経路監視サーバを設け、ＬＳＡを収集することにより、ネットワーク内の通信経路を特定する技術が従来から存在している。例えば図２７では、経路監視サーバが、ルータＥを流れるパケットをキャプチャし、ルータと同様のトポロジ及びルーティングテーブルを生成・保持する。
【０００５】
一方、ＯＳＰＦでは、ある宛先までのコストが等しい通信経路（ＥＣＭＰ（Equal Cost Multi-Path）と呼ばれる）が複数存在する場合に、各通信経路に負荷を分散することができる。なお、各通信経路への振り分けは、例えば送信元アドレスと送信先アドレスとの組み合わせ毎に行われる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２３６８８１号公報
【特許文献２】特開２００６−３３２３５号公報
【特許文献３】特開２００５−２５２３６８号公報
【特許文献４】特開２００１−３０８９１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
例えば図２７に示したネットワークにおいて、ルータＧからルータＨまでのＥＣＭＰとして、経路１「ルータＧ−ルータＡ−ルータＥ−ルータＮ１−ルータＤ−ルータＨ」と、経路２「ルータＧ−ルータＢ−ルータＣ−ルータＤ−ルータＨ」とがあった場合、「12.0.0.0/8」から「10.0.0.0/8」へのパケットは、経路１と経路２とに分散して送信される。ここで、経路監視サーバは、経路１と経路２とをルーティングテーブルから特定することができる。
【０００８】
しかしながら、各通信経路への振り分けは、送信元アドレスと送信先アドレスとの組み合わせ毎に行われるため、経路監視サーバは、パケットがどちらの通信経路を通過するかをルーティングテーブルから判別することはできない。
【０００９】
従って、本技術の目的は、パケットが通過すると推定される通信経路がネットワーク内に複数存在する場合に、当該ネットワークを監視するためのサーバにて、パケットの通信経路を特定できるようにすることである。
【課題を解決するための手段】
【００１０】
本通信経路推定方法は、第１のネットワークと第２のネットワークとに接続される第３のネットワークを監視するためのコンピュータにより実行される方法であって、第３のネットワーク内に、第１のネットワークから第２のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、第１のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、第２のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、第３のネットワークの境界に設置されるエッジルータのうち第２のネットワークと接続されるエッジルータである出力エッジルータに、試験用送信先アドレス宛のパケットを第２のネットワークに転送しないよう当該出力エッジルータのＡＲＰ（Address Resolution Protocol）テーブルの設定を変更させるステップと、通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第１入力パケット数として記憶装置に格納する第１取得ステップと、エッジルータのうち第１のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ試験用送信元アドレス及び試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した試験パケットを所定回数送出する試験パケット送出ステップと、計測対象ルータの各々から入力パケットカウンタの値を取得し、第２入力パケット数として記憶装置に格納する第２取得ステップと、記憶装置に格納されている第１入力パケット数と第２入力パケット数との差を計測対象ルータ毎に算出し、算出した差に基づき、試験パケットが通過した通信経路を特定する通信経路特定ステップとを含む。
【発明の効果】
【００１１】
パケットが通過すると推定される通信経路がネットワーク内に複数存在する場合に、当該ネットワークを監視するためのサーバにて、パケットの通信経路を特定できるようになる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施の形態の前提となる技術を説明するための図である。
【図２】図２は、本実施の形態における経路監視サーバ及びルータの機能ブロック図である。
【図３】図３は、ルーティングテーブルのテーブル例を示す図である。
【図４】図４は、ネットワークの構成例を示す図である。
【図５】図５は、カウントテーブルのテーブル例を示す図である。
【図６】図６は、経路推定テーブルのテーブル例を示す図である。
【図７】図７は、試験パケット送信結果テーブルのテーブル例を示す図である。
【図８】図８は、本実施の形態の全体の流れを説明するための図である。
【図９】図９は、通信経路数が２の場合における経路推定テーブルの一例を示す図である。
【図１０】図１０は、試験パケット（ＳＲＣ＝12.0.0.3、ＤＳＴ＝10.0.0.3）を送信し、当該試験パケットの通信経路を特定する処理を説明するための図である。
【図１１】図１１は、ＲＭＯＮ ＭＩＢ情報に含まれるカウンタを示す図である。
【図１２】図１２は、試験パケット（ＳＲＣ＝12.0.0.3、ＤＳＴ＝10.0.0.3）送信前後の入力パケット数を示す図である。
【図１３】図１３は、試験パケット（ＳＲＣ＝12.0.0.3、ＤＳＴ＝10.0.0.4）を送信し、当該試験パケットの通信経路を特定する処理を説明するための図である。
【図１４】図１４は、試験パケット（ＳＲＣ＝12.0.0.3、ＤＳＴ＝10.0.0.4）送信前後の入力パケット数を示す図である。
【図１５】図１５は、試験パケット（ＳＲＣ＝12.0.0.4、ＤＳＴ＝10.0.0.3）を送信し、当該試験パケットの通信経路を特定する処理を説明するための図である。
【図１６】図１６は、試験パケット（ＳＲＣ＝12.0.0.4、ＤＳＴ＝10.0.0.3）送信前後の入力パケット数を示す図である。
【図１７】図１７は、試験パケット（ＳＲＣ＝12.0.0.4、ＤＳＴ＝10.0.0.4）を送信し、当該試験パケットの通信経路を特定する処理を説明するための図である。
【図１８】図１８は、試験パケット（ＳＲＣ＝12.0.0.4、ＤＳＴ＝10.0.0.4）送信前後の入力パケット数を示す図である。
【図１９】図１９は、経路推定テーブルに経路ＩＤを登録する処理を説明するための図である。
【図２０】図２０は、経路監視サーバの処理フロー（第１の部分）を示す図である。
【図２１】図２１は、経路監視サーバの処理フロー（第２の部分）を示す図である。
【図２２】図２２は、試験パケット送信処理の処理フローを示す図である。
【図２３】図２３は、ＩＰヘッダの構成図である。
【図２４】図２４は、ＵＤＰパケットを用いるようにした変形例を示す図である。
【図２５】図２５は、ＵＤＰヘッダの構成図である。
【図２６】図２６は、パケットをキャプチャするようにした変形例を示す図である。
【図２７】図２７は、ネットワークの構成例を示す図である。
【図２８】図２８は、ネットワーク障害の一例を示す図である。
【図２９】図２９は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１３】
例えば、パケットが通過すると推定される通信経路がネットワーク内に複数存在する場合において、当該ネットワークを監視するためのサーバにて個々のパケットの通信経路を特定する方法として、図１に示すような方法が考えられる。なお、図１では、ルータＧからルータＨまでのＥＣＭＰとして、経路１「ルータＧ−ルータＡ−ルータＥ−ルータＮ１−ルータＤ−ルータＨ」と、経路２「ルータＧ−ルータＢ−ルータＣ−ルータＤ−ルータＨ」とがあるものとする。
【００１４】
まず、経路監視サーバが、送信元サブネット（図１では「12.0.0.0/8」）内のアドレスと送信先サブネット（図１では「10.0.0.0/8」）内のアドレスとの組み合わせの中から調査対象となる組み合わせを１つ特定する。例えば、「12.0.0.1」と「10.0.0.1」との組み合わせが特定されたものとする。そして、経路監視サーバは、「12.0.0.1」を送信元アドレス（ＳＲＣ）とし、「10.0.0.1」を送信先アドレス（ＤＳＴ）とするｐｉｎｇ（Packet INternet Groper）パケットを生成し、試験パケットとして所定回数（例えば１０００回）送信する。この際、経路監視サーバは、ルータＧのアドレスをソースルーティングとしてＩＰヘッダのオプション（Ｏｐｔｉｏｎ）フィールドに設定し、試験パケットがルータＧを経由するようにする。
【００１５】
そして、経路監視サーバは、例えばルータＡ及びルータＢの各々について、試験パケット送信前の入力パケット数と、試験パケット送信後の入力パケット数との差分を算出し、試験パケット送信前後の入力パケット数の差が、試験パケットの送信回数（例えば１０００回）と等しい又は近似するルータを特定する。そして、経路監視サーバは、特定したルータを含む通信経路を、「12.0.0.1」から「10.0.0.1」へのパケットの通信経路として特定する。そして、このような処理を送信元サブネット内のアドレスと送信先サブネット内のアドレスとの全ての組み合わせについて実施することにより、個々のパケットの通信経路を特定することができる。
【００１６】
しかしながら、この方法では、大量の試験パケットが送信先サブネット内のユーザ端末やサーバなどに送信されることとなり、送信先サブネット内のユーザ端末やサーバに過度の負荷がかかってしまうという問題がある。なお、試験パケットとしてｐｉｎｇパケットを送信した場合、ｐｉｎｇパケットを受信したユーザ端末やサーバが応答パケットを送信するため、送信元サブネット内のユーザ端末やサーバにも過度の負荷がかかってしまう。
【００１７】
そこで、本実施の形態では、送信元サブネット内の未使用アドレス及び送信先サブネット内の未使用アドレスを用いて試験パケットを送信し、試験パケットが送信先サブネット内に流入しないようにすることで、稼働中のユーザ端末やサーバに負荷をかけることなく、パケットの通信経路を特定する。また、通信経路の振り分け規則に従って構成される経路推定テーブルを生成することで、実際に送信されるパケットについての通信経路を推定できるようにする。以下、本実施の形態について説明する。
【００１８】
図２に本技術の一実施の形態に係る経路監視サーバ及びルータの機能ブロック図を示す。経路監視サーバは、トポロジ・経路管理部１１と、ルーティングテーブル格納部１２と、経路判定部１３と、テーブル制御部１４と、試験パケット送信部１５と、入力パケット数取得部１６と、ＭＩＢ収集結果格納部１７と、経路推定テーブル格納部１８と、試験パケット送信結果テーブル格納部１９と、未使用アドレス格納部２０を有する。なお、経路判定部１３は、試験用アドレス決定部１３１と、通信経路特定部１３２とを有する。また、ルータは、スイッチ部３１と、ＭＩＢ情報格納部３２と、ＳＮＭＰ送受信部３３とを有する。
【００１９】
なお、トポロジ・経路管理部１１は、各ルータからＬＳＡを収集し、ルーティングテーブルを生成してルーティングテーブル格納部１２に格納したり、通信経路を特定するよう経路判定部１３に指示したりするなどの処理を実施する。経路判定部１３は、ルータのＡＲＰ（Address Resolution Protocol）テーブルの設定を変更させるためのＳＮＭＰ（Simple Network Management Protocol）コマンドの発行をテーブル制御部１４に指示する。また、経路判定部１３は、経路推定テーブル格納部１８及び未使用アドレス格納部２０に格納されているデータに従って試験用アドレスを決定し、試験パケットの送信を試験パケット送信部１５に指示する。さらに、経路判定部１３は、ＲＭＯＮ ＭＩＢ情報を収集するためのＳＮＭＰコマンドの発行を入力パケット数取得部１６に指示する。また、ルーティングテーブル格納部１２及びＭＩＢ収集結果格納部１７に格納されているデータに基づき試験パケットの通過した通信経路を特定し、特定した通信経路の識別情報を試験パケット送信結果テーブル格納部１９に格納する。さらに、経路判定部１３は、試験パケット送信結果テーブル格納部１９に格納されているデータに従って、経路推定テーブル格納部１８に通信経路の識別情報を登録する。テーブル制御部１４は、経路判定部１３からの指示に従って、ＡＲＰテーブルの設定を変更させるためのＳＮＭＰコマンドをルータに発行する。試験パケット送信部１５は、経路判定部１３からの指示に従って、後で説明する試験パケット送信処理を実施する。入力パケット数取得部１６は、経路判定部１３からの指示に従って、ＲＭＯＮ ＭＩＢ情報を収集するためのＳＮＭＰコマンドをルータに発行し、収集したＲＭＯＮ ＭＩＢ情報をＭＩＢ収集結果格納部１７に格納する。
【００２０】
また、スイッチ部３１は、伝送路を介して他のルータと接続されており、ルーティングテーブル（図示せず）に従ってパケット転送などの処理を実施する。ＳＮＭＰ送受信部３３は、経路監視サーバからの要求に応じて、ＭＩＢ情報格納部３２に格納されているＲＭＯＮ ＭＩＢ情報を経路監視サーバに送信する。なお、ルータの機能については、基本的には従来の機能と変わらないため、これ以上述べない。
【００２１】
図３に、ルーティングテーブル格納部１２に格納されるルーティングテーブルの一例を示す。図３の例では、ルーティングテーブルには、送信元サブネットの列と、送信先サブネットの列と、通信経路の列とが含まれる。通信経路の列には、送信元サブネットから送信先サブネットへ送信されるパケットが通過すると推定される１又は複数の通信経路が設定される。なお、図３は、図４に示すようなネットワーク構成の場合におけるルーティングテーブルの例を示す。図４では、ルータＧがサブネット「12.0.0.0/8」と接続されており、ルータＣがサブネット「11.0.0.0/8」と接続されており、ルータＨがサブネット「10.0.0.0/8」と接続されている。例えば図３において、「12.0.0.0/8」から「10.0.0.0/8」へ送信されるパケットについては、２つの通信経路が設定されている。
【００２２】
図５に、ＭＩＢ収集結果格納部１７に格納されるカウントテーブルの一例を示す。図５の例では、カウントテーブルには、計測対象ルータの列と、試験パケット送信前の入力パケット数の列と、試験パケット送信後の入力パケット数の列とが含まれる。
【００２３】
図６に、経路推定テーブル格納部１８に格納される経路推定テーブルの一例を示す。図６の例では、経路推定テーブルには、送信元アドレスのModule(Ｎ)の列と、送信先アドレスのModule(Ｎ)の列と、経路ＩＤの列とが含まれる。なお、送信元アドレスのModule(Ｎ)の列には、送信元アドレスの末尾の値をＮで割った際の余りが設定される。同様に、送信先アドレスのModule(Ｎ)の列には、送信先アドレスの末尾の値をＮで割った際の余りが設定される。そして、図６の例では、経路推定テーブルには、送信元アドレスのModule(Ｎ)と送信先アドレスのModule(Ｎ)との全ての組み合わせについてのエントリ（すなわち、Ｎ×Ｎ個のエントリ）が含まれる。
【００２４】
図７に、試験パケット送信結果テーブル格納部１９に格納される試験パケット送信結果テーブルの一例を示す。図７の例では、試験パケット送信結果テーブルには、送信元アドレスの列と、送信先アドレスの列と、経路ＩＤの列とが含まれる。経路ＩＤの列には、試験パケットの通過した通信経路のＩＤが設定される。なお、詳細は後で説明するが、試験パケット送信結果テーブルには、経路推定テーブルと同じ数のレコードが登録される。すなわち、経路推定テーブルにＮ×Ｎ個のエントリが含まれる場合には、試験パケット送信結果テーブルにもＮ×Ｎ個のレコードが登録される。
【００２５】
次に、図８乃至図１９を用いて、本実施の形態の全体の流れを説明する。ここでは、図８に示すようなネットワークにおいて、送信元サブネット「12.0.0.0/8」から送信先サブネット「10.0.0.0/8」へのパケットが、経路１「ルータＧ−ルータＡ−ルータＥ−ルータＮ１−ルータＤ−ルータＨ」と、経路２「ルータＧ−ルータＢ−ルータＣ−ルータＤ−ルータＨ」のどちらを通過するかを経路監視サーバにて特定する場合を例に説明する。なお、前提として、ルーティングテーブル格納部１２には、図３に示したようなルーティングテーブルが格納されているものとする。また、経路推定テーブル格納部１８には、図９に示すような経路推定テーブルが格納されているものとする。なお、図９は通信経路数Ｎが２の場合の経路推定テーブルの例を示す。
【００２６】
まず、例えば経路監視サーバの管理者が、経路監視サーバを操作して、送信元サブネット及び送信先サブネット内の未使用アドレスを入力する。ここでは、経路監視サーバの管理者が、事前に調査を行うなどして、送信元サブネット及び送信先サブネット内の未使用アドレスを把握しているものとする。そして、経路監視サーバは、未使用アドレスの入力を受け付け、未使用アドレス格納部２０に格納する（図８：ステップ（１））。
【００２７】
そして、経路監視サーバは、経路推定テーブルに格納されているエントリ毎に、未使用アドレス格納部２０に格納されている未使用アドレスの中から、当該エントリに対応する試験用送信元アドレスと試験用送信先アドレスとを選択し、選択した試験用送信元アドレスと試験用送信先アドレスとを含むレコードを試験パケット送信結果テーブルに登録する（ステップ（２））。なお、試験パケット送信結果テーブルにおける経路ＩＤの列には、この時点では、まだ何も設定されない。
【００２８】
例えば図９に示した経路推定テーブルにおいて、送信元アドレスのModule(Ｎ)が０に設定されているエントリについては、送信元サブネット「12.0.0.0/8」内の未使用アドレスである「12.0.0.3」、「12.0.0.4」、・・・の中から、２で割った際の余りが０になる値を末尾に含むアドレスを試験用送信元アドレスとして選択する。また、送信元アドレスのModule(Ｎ)が１に設定されているエントリについては、送信元サブネット「12.0.0.0/8」内の未使用アドレスである「12.0.0.3」、「12.0.0.4」、・・・の中から、２で割った際の余りが１になる値を末尾に含むアドレスを試験用送信元アドレスとして選択する。同様に、経路推定テーブル（図９）において、送信先アドレスのModule(Ｎ)が０に設定されているエントリについては、送信先サブネット「10.0.0.0/8」内の未使用アドレスである「10.0.0.3」、「10.0.0.4」、・・・の中から、２で割った際の余りが０になる値を末尾に含むアドレスを試験用送信先アドレスとして選択する。また、送信先アドレスのModule(Ｎ)が１に設定されているエントリについては、送信先サブネット「10.0.0.0/8」内の未使用アドレスである「10.0.0.3」、「10.0.0.4」、・・・の中から、２で割った際の余りが１になる値を末尾に含むアドレスを試験用送信先アドレスとして選択する。
【００２９】
従って、経路管理サーバは、経路推定テーブル（図９）の１行目のエントリに対応する試験用送信元アドレス及び試験用送信先アドレスとして、例えば「12.0.0.4」及び「10.0.0.4」を選択する。また、経路推定テーブル（図９）の２行目のエントリに対応する試験用送信元アドレス及び試験用送信先アドレスとして、例えば「12.0.0.4」及び「10.0.0.3」を選択する。さらに、経路推定テーブル（図９）の３行目のエントリに対応する試験用送信元アドレス及び試験用送信先アドレスとして、例えば「12.0.0.3」及び「10.0.0.4」を選択する。また、経路推定テーブル（図９）の４行目のエントリに対応する試験用送信元アドレス及び試験用送信先アドレスとして、例えば「12.0.0.3」及び「10.0.0.3」を選択する。
【００３０】
そして、経路監視サーバは、ルータＨにＳＮＭＰコマンドを発行し、ルータＨのＡＲＰテーブルの設定を変更させる（ステップ（３））。具体的には、ステップ（２）において決定した試験用送信アドレス（上の説明では「10.0.0.3」及び「10.0.0.4」）の各々に対応するＭＡＣアドレスの設定を、ルータＨのＭＡＣアドレス（図８では「44:55:66:77」）に変更させるためのＳＮＭＰコマンドを発行する。なお、これは、ルータＨが試験用送信先アドレス宛のパケットを送信先サブネット「10.0.0.0/8」に転送しないようにするためである。
【００３１】
図１０の説明に移行して、経路監視サーバは、試験パケット送信結果テーブルにおいて未処理のレコードを特定する。ここでは、送信元アドレス及び送信先アドレスとして「12.0.0.3」及び「10.0.0.3」を含むレコードが特定されたものとする。
【００３２】
そして、経路監視サーバは、計測対象ルータ（図１０ではルータＡ及びＢ）の各々からＲＭＯＮ ＭＩＢ情報を収集する（図１０：ステップ（４））。そして、収集したＲＭＯＮ ＭＩＢ情報に含まれる入力パケットカウンタの値を、試験パケット送信前の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。なお、入力パケットカウンタは、インタフェース毎に保持され、図１１に示すようにパケットサイズによってさらに複数のカウンタに分かれている。本実施の形態では、パケットサイズが６４バイト以下のパケットを試験パケットとして用いるので、図１１におけるetherStatsUndersizePktsとetherStatsPkts64Octetsとの合計をカウントテーブルに格納する。
【００３３】
そして、経路監視サーバは、特定したレコードに含まれる送信元アドレス及び送信先アドレスを用いてｐｉｎｇパケットを生成し、試験パケットとして所定回数送信する（ステップ（５））。この際、ルータＧのアドレスをソースルーティングとしてＩＰヘッダのオプション（Ｏｐｔｉｏｎ）フィールドに設定し、試験パケットがルータＧを経由するようにする。なお、ステップ（３）においてルータＨのＡＲＰテーブルを変更しているので、この試験パケット（ＳＲＣ＝12.0.0.3、ＤＳＴ＝10.0.0.3）は、送信先サブネット「10.0.0.0/8」に転送されることはない。
【００３４】
そして、経路監視サーバは、試験パケットを所定回数送信した後、再び計測対象ルータの各々からＲＭＯＮ ＭＩＢ情報を収集する（ステップ（６））。そして、収集したＲＭＯＮ ＭＩＢ情報に含まれる入力パケットカウンタの値を、試験パケット送信後の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
【００３５】
そして、経路監視サーバは、試験パケット送信前の入力パケット数と試験パケット送信後の入力パケット数との差を算出し、試験パケットが通過した通信経路を特定する（ステップ（７））。特定された通信経路の経路ＩＤは、試験パケット送信結果テーブルに登録される。
【００３６】
例えばカウントテーブルに図１２に示すようなデータが格納されている場合、試験パケット（ＳＲＣ＝12.0.0.3、ＤＳＴ＝10.0.0.3）はルータＢ（すなわち、経路２）を通過していたことが分かる。従って、経路２がこの試験パケットの通信経路として特定され、経路ＩＤ「２」が試験パケット送信結果テーブルに登録される。
【００３７】
図１３の説明に移行して、経路監視サーバは、試験パケット送信結果テーブルにおいて次のレコードを特定する。ここでは、送信元アドレス及び送信先アドレスとして「12.0.0.3」及び「10.0.0.4」を含むレコードが特定されたものとする。そして、経路監視サーバは、カウントテーブルをクリアした後、計測対象ルータの各々からＲＭＯＮ ＭＩＢ情報を収集する（図１３：ステップ（８））。そして、収集したＲＭＯＮ ＭＩＢ情報に含まれる入力パケットカウンタの値を、試験パケット送信前の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
【００３８】
そして、経路監視サーバは、特定したレコードに含まれる送信元アドレス及び送信先アドレスを用いてｐｉｎｇパケットを生成し、試験パケットとして所定回数送信する（ステップ（９））。この際、ルータＧのアドレスをソースルーティングとしてＩＰヘッダのオプション（Ｏｐｔｉｏｎ）フィールドに設定し、試験パケットがルータＧを経由するようにする。なお、ステップ（３）においてルータＨのＡＲＰテーブルを変更しているので、この試験パケット（ＳＲＣ＝12.0.0.3、ＤＳＴ＝10.0.0.4）は、送信先サブネット「10.0.0.0/8」に転送されることはない。
【００３９】
そして、経路監視サーバは、試験パケットを所定回数送信した後、再び計測対象ルータの各々からＲＭＯＮ ＭＩＢ情報を収集する（ステップ（１０））。そして、収集したＲＭＯＮ ＭＩＢ情報に含まれる入力パケットカウンタの値を、試験パケット送信後の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
【００４０】
そして、経路監視サーバは、試験パケット送信前の入力パケット数と試験パケット送信後の入力パケット数との差を算出し、試験パケットが通過した通信経路を特定する（ステップ（１１））。特定された通信経路の経路ＩＤは、試験パケット送信結果テーブルに登録される。
【００４１】
例えばカウントテーブルに図１４に示すようなデータが格納されている場合、試験パケット（ＳＲＣ＝12.0.0.3、ＤＳＴ＝10.0.0.4）はルータＡ（すなわち、経路１）を通過していたことが分かる。従って、この試験パケットの通信経路として経路１が特定され、経路ＩＤ「１」が試験パケット送信結果テーブルに登録される。
【００４２】
図１５の説明に移行して、経路監視サーバは、試験パケット送信結果テーブルにおいて次のレコードを特定する。ここでは、送信元アドレス及び送信先アドレスとして「12.0.0.4」及び「10.0.0.3」を含むレコードが特定されたものとする。
【００４３】
そして、経路監視サーバは、カウントテーブルをクリアした後、計測対象ルータの各々からＲＭＯＮ ＭＩＢ情報を収集する（図１５：ステップ（１２））。そして、収集したＲＭＯＮ ＭＩＢ情報に含まれる入力パケットカウンタの値を、試験パケット送信前の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
【００４４】
そして、経路監視サーバは、特定したレコードに含まれる送信元アドレス及び送信先アドレスを用いてｐｉｎｇパケットを生成し、試験パケットとして所定回数送信する（ステップ（１３））。この際、ルータＧのアドレスをソースルーティングとしてＩＰヘッダのオプション（Ｏｐｔｉｏｎ）フィールドに設定し、試験パケットがルータＧを経由するようにする。なお、ステップ（３）においてルータＨのＡＲＰテーブルを変更しているので、この試験パケット（ＳＲＣ＝12.0.0.4、ＤＳＴ＝10.0.0.3）は、送信先サブネット「10.0.0.0/8」に転送されることはない。
【００４５】
そして、経路監視サーバは、試験パケットを所定回数送信した後、再び計測対象ルータの各々からＲＭＯＮ ＭＩＢ情報を収集する（ステップ（１４））。そして、収集したＲＭＯＮ ＭＩＢ情報に含まれる入力パケットカウンタの値を、試験パケット送信後の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
【００４６】
そして、経路監視サーバは、試験パケット送信前の入力パケット数と試験パケット送信後の入力パケット数との差を算出し、試験パケットが通過した通信経路を特定する（ステップ（１５））。特定された通信経路の経路ＩＤは、試験パケット送信結果テーブルに登録される。
【００４７】
例えばカウントテーブルに図１６に示すようなデータが格納されている場合、試験パケット（ＳＲＣ＝12.0.0.4、ＤＳＴ＝10.0.0.3）はルータＡ（すなわち、経路１）を通過していたことが分かる。従って、この試験パケットの通信経路として経路１が特定され、経路ＩＤ「１」が試験パケット送信結果テーブルに登録される。
【００４８】
図１７の説明に移行して、経路監視サーバは、試験パケット送信結果テーブルにおいて次のレコードを特定する。ここでは、送信元アドレス及び送信先アドレスとして「12.0.0.4」及び「10.0.0.4」を含むレコードが特定されたものとする。
【００４９】
そして、経路監視サーバは、カウントテーブルをクリアした後、計測対象ルータの各々からＲＭＯＮ ＭＩＢ情報を収集する（図１７：ステップ（１６））。そして、収集したＲＭＯＮ ＭＩＢ情報に含まれる入力パケットカウンタの値を、試験パケット送信前の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
【００５０】
そして、経路監視サーバは、特定したレコードに含まれる送信元アドレス及び送信先アドレスを用いてｐｉｎｇパケットを生成し、試験パケットとして所定回数送信する（ステップ（１７））。この際、ルータＧのアドレスをソースルーティングとしてＩＰヘッダのオプション（Ｏｐｔｉｏｎ）フィールドに設定し、試験パケットがルータＧを経由するようにする。なお、ステップ（３）においてルータＨのＡＲＰテーブルを変更しているので、この試験パケット（ＳＲＣ＝12.0.0.4、ＤＳＴ＝10.0.0.4）は、送信先サブネット「10.0.0.0/8」に転送されることはない。
【００５１】
そして、経路監視サーバは、試験パケットを所定回数送信した後、再び計測対象ルータの各々からＲＭＯＮ ＭＩＢ情報を収集する（ステップ（１８））。そして、収集したＲＭＯＮ ＭＩＢ情報に含まれる入力パケットカウンタの値を、試験パケット送信後の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
【００５２】
そして、経路監視サーバは、試験パケット送信前の入力パケット数と試験パケット送信後の入力パケット数との差を算出し、試験パケットが通過した通信経路を特定する（ステップ（１９））。特定された通信経路の経路ＩＤは、試験パケット送信結果テーブルに登録される。
【００５３】
例えばカウントテーブルに図１８に示すようなデータが格納されている場合、試験パケット（ＳＲＣ＝12.0.0.4、ＤＳＴ＝10.0.0.4）はルータＢ（すなわち、経路２）を通過していたことが分かる。従って、この試験パケットの通信経路として経路２が特定され、経路ＩＤ「２」が試験パケット送信結果テーブルに登録される。
【００５４】
そして、経路監視サーバは、試験パケット送信結果テーブルの全てのレコードについて処理が完了すると、図１９に示すように、試験パケット送信結果テーブルに従って、経路推定テーブルに経路ＩＤを登録する。
【００５５】
図１９において、試験パケット送信結果テーブルにおけるレコード１９０１（「12.0.0.3」及び「10.0.0.3」を含むレコード）は、送信元アドレスのModule(Ｎ)及び送信先アドレスのModule(Ｎ)がともに１に設定されているエントリ１９１４に対応する。従って、エントリ１９１４の経路ＩＤの列には、レコード１９０１に従って「２」が登録される。また、試験パケット送信結果テーブルにおけるレコード１９０２（「12.0.0.3」及び「10.0.0.4」を含むレコード）は、送信元アドレスのModule(Ｎ)が１、かつ、送信先アドレスのModule(Ｎ)が０に設定されているエントリ１９１３に対応する。従って、エントリ１９１３の経路ＩＤの列には、レコード１９０２に従って「１」が登録される。さらに、試験パケット送信結果テーブルにおけるレコード１９０３（「12.0.0.4」及び「10.0.0.3」を含むレコード）は、送信元アドレスのModule(Ｎ)が０、かつ、送信先アドレスのModule(Ｎ)が１に設定されているエントリ１９１２に対応する。従って、エントリ１９１２の経路ＩＤの列には、レコード１９０３に従って「１」が登録される。また、試験パケット送信結果テーブルにおけるレコード１９０４（「12.0.0.4」及び「10.0.0.4」を含むレコード）は、送信元アドレスのModule(Ｎ)及び送信先アドレスのModule(Ｎ)がともに０に設定されているエントリ１９１１に対応する。従って、エントリ１９１１の経路ＩＤの列には、レコード１９０４に従って「２」が登録される。
【００５６】
なお、経路推定テーブルは通信経路の振り分け規則に従って構成されているので、この経路推定テーブルから、実際に送信されるパケットの通信経路を推定することができる。例えば、「12.0.0.1」から「10.0.0.1」へ送信されるパケットについては、送信元アドレスのModule(Ｎ)及び送信先アドレスのModule(Ｎ)がともに１となるので、図１９に示したエントリ１９１４に該当する。従って、「12.0.0.1」から「10.0.0.1」へ送信されるパケットの通信経路は、経路推定テーブルから、経路２であると推定することができる。
【００５７】
次に、図２０乃至図２３を用いて、経路監視サーバの具体的な処理フローを説明する。まず、トポロジ・経路管理部１１が、各ルータからＬＳＡを受信し、一旦記憶装置に格納する（図２０：ステップＳ１）。そして、トポロジ・経路管理部１１は、記憶装置に格納されているＬＳＡからルーティングテーブルを生成し、ルーティングテーブル格納部１２に格納する（ステップＳ３）。例えば図３に示したようなルーティングテーブルが生成される。
【００５８】
そして、トポロジ・経路管理部１１は、送信元サブネットと送信先サブネットとの組み合わせのうち通信経路が複数設定されている組み合わせがルーティングテーブルに格納されているか判断する（ステップＳ５）。通信経路が複数設定されている組み合わせがルーティングテーブルに格納されていなければ（ステップＳ５：Ｎｏルート）、端子Ａを介して処理を終了する。
【００５９】
一方、通信経路が複数設定されている組み合わせがルーティングテーブルに格納されている場合（ステップＳ５：Ｙｅｓルート）、トポロジ・経路管理部１１は、通信経路を特定するよう経路判定部１３に指示する。
【００６０】
そして、経路判定部１３は、トポロジ・経路管理部１１から通信経路を特定する旨の指示を受信すると、未使用アドレス入力画面（図示せず）を表示装置に表示させる。そして、例えば経路監視サーバの管理者は、経路監視サーバを操作して、送信元サブネット及び送信先サブネットの各々について未使用アドレスを入力する。ここでは、経路監視サーバの管理者が、事前に調査を行うなどして、送信元サブネット及び送信先サブネット内の未使用アドレスを把握しているものとする。そして、経路判定部１３は、送信元サブネット及び送信先サブネットの各々の未使用アドレスの入力を受け付け、未使用アドレス格納部２０に格納する（ステップＳ７）。なお、本ステップの処理は、図８に示したステップ（１）に相当する。
【００６１】
そして、経路判定部１３は、ルーティングテーブルから通信経路数Ｎを取得し、Ｎ×Ｎ個のエントリを経路推定テーブルに登録する（ステップＳ９）。すなわち、経路判定部１３は、送信元アドレスのModule(Ｎ)と送信元アドレスのModule(Ｎ)との全ての組み合わせについてのエントリを経路推定テーブルに登録する。
【００６２】
そして、経路判定部１３の試験用アドレス決定部１３１は、経路推定テーブルのエントリ毎に、未使用アドレスの中から当該エントリに対応する試験用送信元アドレスと試験用送信先アドレスとを選択し、選択した試験用送信元アドレスと試験用送信先アドレスとを含むレコードを試験パケット送信結果テーブルに追加する（ステップＳ１１）。なお、本ステップの処理は、図８に示したステップ（２）に相当する。
【００６３】
そして、経路判定部１３は、ステップＳ１１において選択した試験用送信先アドレスを含むＳＮＭＰコマンド発行指示をテーブル制御部１４に出力する。ここで、出力エッジルータとは、通信経路における終端のルータであって、送信先サブネットと接続されるルータを指す。そして、テーブル制御部１４は、経路判定部１３からＳＮＭＰコマンド発行指示を受信すると、ＡＲＰテーブルの設定を変更させるためのＳＮＭＰコマンドを出力エッジルータに発行することにより、出力エッジルータのＡＲＰテーブルの設定を変更させる（ステップＳ１３）。ここでは、ＳＮＭＰコマンド発行指示に含まれる試験用送信先アドレスに対応するＭＡＣアドレスが、出力エッジルータのＭＡＣアドレスとなるようＡＲＰテーブルを変更させる。なお、本ステップの処理は、図８に示したステップ（３）に相当する。その後、処理は、端子Ｂを介してステップＳ１５（図２１）に移行する。
【００６４】
図２１の説明に移行して、端子Ｂの後、経路判定部１３は、試験パケット送信結果テーブルから未処理のレコードを特定する（図２１：ステップＳ１５）。そして、経路判定部１３は、ＲＭＯＮ ＭＩＢ情報を取得するよう入力パケット数取得部１６に指示する。
【００６５】
そして、入力パケット数取得部１６は、経路判定部１３からの指示に応じて、ＳＮＭＰコマンドを各計測対象ルータに送信して各計測対象ルータからＲＭＯＮ ＭＩＢ情報を収集する。そして、収集したＲＭＯＮ ＭＩＢ情報に含まれる入力パケットカウンタの値を、カウントテーブルにおける試験パケット送信前の入力パケット数の列に計測対象ルータ毎に格納する（ステップＳ１７）。なお、上でも述べたが、etherStatsUndersizePktsとetherStatsPkts64Octetsとの合計をカウントテーブルに格納する。本ステップの処理は、図１０に示したステップ（４）、図１３に示したステップ（８）、図１５に示したステップ（１２）及び図１７に示したステップ（１６）に相当する。
【００６６】
その後、経路判定部１３は、特定したレコードに含まれる試験用送信元アドレス及び試験用送信先アドレスを含む試験パケット送信指示を試験パケット送信部１５に出力する。そして、試験パケット送信部１５は、経路判定部１３からの試験パケット送信指示を受信すると、試験パケット送信指示に含まれる試験用送信元アドレス及び試験用送信先アドレスを用いて試験パケット送信処理を実施する（ステップＳ１９）。この試験パケット送信処理については、図２２及び図２３を用いて説明する。なお、本ステップの処理は、図１０に示したステップ（５）、図１３に示したステップ（９）、図１５に示したステップ（１３）及び図１７に示したステップ（１７）に相当する。
【００６７】
まず、試験パケット送信部１５は、試験用送信元アドレス及び試験用送信先アドレスをＩＰヘッダのＳＲＣ及びＤＳＴに設定し、入力エッジルータのアドレスをソースルーティングとしてＩＰヘッダのオプションフィールドに設定することにより、ｐｉｎｇパケットを生成し、生成したｐｉｎｇパケットを試験パケットとして送信する（図２２：ステップＳ３１）。ここで、入力エッジルータとは、通信経路における先頭のルータであって、送信元サブネットと接続されるルータを指す。また、図２３にＩＰヘッダの構成を示す。なお、ＩＰヘッダについては、従来のものと変わらないため、これ以上述べない。
【００６８】
そして、試験パケット送信部１５は、試験パケットの送信回数が所定回数に達したか判断する（ステップＳ３３）。試験パケットの送信回数が所定回数に達していなければ（ステップＳ３３：Ｎｏルート）、ステップＳ３１の処理に戻り、上で述べた処理を繰り返す。
【００６９】
一方、試験パケットの送信回数が所定回数に達した場合（ステップＳ３３：Ｙｅｓルート）、試験パケット送信処理を終了し、元の処理に戻る。
【００７０】
図２１の説明に戻って、試験パケット送信処理を実施した後、経路判定部１３は、ＲＭＯＮ ＭＩＢ情報を取得するよう入力パケット数取得部１６に指示する。
【００７１】
そして、入力パケット数取得部１６は、経路判定部１３からの指示に応じて、ＳＮＭＰコマンドを各計測対象ルータに送信して各計測対象ルータからＲＭＯＮ ＭＩＢ情報を収集する。そして、収集したＲＭＯＮ ＭＩＢ情報に含まれる入力パケットカウンタの値を、カウントテーブルにおける試験パケット送信後の入力パケット数の列に計測対象ルータ毎に格納する（ステップＳ２１）。なお、上でも述べたが、etherStatsUndersizePktsとetherStatsPkts64Octetsとの合計をカウントテーブルに格納する。本ステップの処理は、図１０に示したステップ（６）、図１３に示したステップ（１０）、図１５に示したステップ（１４）及び図１７に示したステップ（１８）に相当する。
【００７２】
そして、経路判定部１３の通信経路特定部１３２が、カウントテーブルに格納されている試験パケット送信前の入力パケット数と試験パケット送信後の入力パケット数との差を計測対象ルータ毎に算出し、一旦記憶装置に格納する（ステップＳ２３）。
【００７３】
そして、通信経路特定部１３２は、試験パケット送信前後の入力パケット数の差に基づき通信経路を特定し、特定した通信経路の経路ＩＤを試験パケット送信結果テーブルに登録する（ステップＳ２５）。すなわち、試験パケット送信前後の入力パケット数の差が試験パケット送信回数と等しい又は近似する計測対象ルータを含む通信経路を特定する。なお、本ステップの処理は、図１０に示したステップ（７）、図１３に示したステップ（１１）、図１５に示したステップ（１５）及び図１７に示したステップ（１９）に相当する。
【００７４】
そして、経路判定部１３は、試験パケット送信結果テーブルにおける全てのレコードについて処理が完了したか判断する（ステップＳ２７）。試験パケット送信結果テーブルにおける全てのレコードについて処理が完了していなければ（ステップＳ２７：Ｎｏルート）、ステップＳ１５に戻り、上で述べた処理を繰り返す。
【００７５】
一方、試験パケット送信結果テーブルにおける全てのレコードについて処理が完了した場合（ステップＳ２７）、経路判定部１３は、試験パケット送信結果テーブルに従って、経路推定テーブルの各エントリに経路ＩＤを登録する（ステップＳ２９）。本ステップの処理を実施すると、図１９に示したように、経路推定テーブルの各エントリに経路ＩＤが登録される。その後、経路判定部１３は、通信経路が複数設定されている、送信元サブネットと送信先サブネットとの組み合わせ全てについて処理が完了したか判断する（ステップＳ３０）。通信経路が複数設定されている全ての組み合わせについて処理が完了していなければ（ステップＳ３０：Ｎｏルート）、端子Ｃを介してステップＳ７に戻り、未処理の組み合わせに対して、上で述べた処理を実施する。一方、通信経路が複数設定されている全ての組み合わせについて処理が完了した場合（ステップＳ３０：Ｙｅｓルート）、処理を終了する。
【００７６】
以上のような処理を実施することにより、送信先サブネットに負荷をかけることなく、試験パケットの通信経路を特定することができる。また、経路推定テーブルから、実際に送信元サブネットから送信先サブネットへ送信される個々のパケットの通信経路を推定することができるようになる。
【００７７】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した経路監視サーバ及びルータの機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【００７８】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしてもよい。
【００７９】
なお、上ではｐｉｎｇパケットを試験パケットとして送信する例を説明したが、例えば図２４に示すようにＵＤＰ（User Datagram Protocol）パケットを送信するようにしてもよい。この場合、図２５に示すようなＵＤＰヘッダを付加してＵＤＰパケットを生成するようにすればよい。
【００８０】
また、上では、試験パケット送信結果テーブルの各レコードについて、試験パケットを送信して、試験パケット送信前後の入力パケット数の差に基づいて通信経路を特定する例を説明したが、例えば図２６に示すように、経路監視サーバが、実際に送信されるパケット（図２６では、ＳＲＣ＝12.0.0.5、ＤＳＴ＝10.0.0.2）をキャプチャし、このパケットが通過した通信経路の経路ＩＤを経路推定テーブルに登録するようにしてもよい。例えば、図２６では、パケットをキャプチャすることで、当該パケットが経路１を通過していることが分かるので、送信元アドレスのModule(Ｎ)が１、かつ、送信先アドレスのModule(Ｎ)が０に設定されているエントリの経路ＩＤに１を登録することができる。なお、残りのエントリについては、上で述べたような処理で経路ＩＤを登録するようにすればよい。
【００８１】
また、上では、送信元アドレスのModule(Ｎ)と送信先アドレスのModule(Ｎ)との全ての組み合わせを含む経路推定テーブルを例に説明したが、通信経路の振り分け規則が変われば、新たな規則に従って経路推定テーブルを構成するようにすればよい。例えば、特殊な事情で、１つの経路に偏って振り分けられる場合には、その偏り方に従って経路推定テーブルを構成する。
【００８２】
また、上では、etherStatsUndersizePktsとetherStatsPkts64Octetsの２つのカウンタを用いる例を説明したが、ネットワーク内をほとんど流れることのないパケットサイズの試験パケットを流し、試験パケットの送信前後のカウンタ値を比較することで通信経路を特定できるのであれば、他のサイズについてのカウンタを用いるようにしてもよい。
【００８３】
以上本実施の形態をまとめると以下のようになる。
【００８４】
本通信経路推定方法は、第１のネットワークと第２のネットワークとに接続される第３のネットワークを監視するためのコンピュータにより実行される方法であって、第３のネットワーク内に、第１のネットワークから第２のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、第１のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、第２のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、第３のネットワークの境界に設置されるエッジルータのうち第２のネットワークと接続されるエッジルータである出力エッジルータに、試験用送信先アドレス宛のパケットを第２のネットワークに転送しないよう当該出力エッジルータのＡＲＰテーブルの設定を変更させるステップと、通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第１入力パケット数として記憶装置に格納する第１取得ステップと、エッジルータのうち第１のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ試験用送信元アドレス及び試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した試験パケットを所定回数送出する試験パケット送出ステップと、計測対象ルータの各々から入力パケットカウンタの値を取得し、第２入力パケット数として記憶装置に格納する第２取得ステップと、記憶装置に格納されている第１入力パケット数と第２入力パケット数との差を計測対象ルータ毎に算出し、算出した差に基づき、試験パケットが通過した通信経路を特定する通信経路特定ステップとを含む。
【００８５】
このようにすれば、第３のネットワークを監視するためのコンピュータ（例えば経路監視サーバ）にて、複数の通信経路の中から、試験パケットの通過する通信経路を特定することができるようになる。また、試験用送信先アドレス宛のパケットを第２のネットワークに転送しないよう、出力エッジルータのルーティングテーブルの設定を変更させてから試験パケットを送信するので、第２のネットワークへ負荷をかけることなく、通信経路を特定することができる。
【００８６】
また、上で述べた試験用アドレス特定ステップが、送信元アドレスグループと送信先アドレスグループとの組み合わせ毎に、送信元アドレスグループに属するアドレスから送信先アドレスグループに属するアドレスへ送信されるパケットが通過すると推定される通信経路の識別情報を格納するための経路推定テーブルに基づき、特定の組み合わせに係る送信元アドレスグループに属する、第１のネットワーク内の未使用アドレスのうちのいずれかを試験用送信元アドレスとして特定し、特定の組み合わせに係る送信先アドレスグループに属する、第２のネットワーク内の未使用アドレスのうちのいずれかを試験用送信先アドレスとして特定するステップを含むようにしてもよい。そして、上で述べた通信経路特定ステップにおいて特定された通信経路の識別情報を、特定の組み合わせに対応付けて経路推定テーブルに格納するステップをさらに含むようにしてもよい。
【００８７】
例えばユーザが通信経路の振り分け規則を予め知っているような場合には、その規則に従って、送信元アドレスグループと送信先アドレスグループとの各組み合わせを用意しておけば、各組み合わせに対応する通信経路の識別情報を経路推定テーブルに自動的に登録することができる。そして、経路推定テーブルから、実際に第１のネットワークから第２のネットワークへ送信されるパケットの通信経路を推定することができるようになる。
【００８８】
さらに、第１のネットワークから第２のネットワークへ送信されるパケットが通過すると推定される通信経路の数を用いた剰余演算の結果に従ってグループ分けを行う場合において、剰余演算の結果に従ってグループ分けされる送信元アドレスグループと剰余演算の結果に従ってグループ分けされる送信先アドレスグループとの全ての組み合わせを含む経路推定テーブルを生成するステップをさらに含むようにしてもよい。
【００８９】
このようにすれば、送信元アドレス及び送信先アドレスに対する剰余演算の結果に従って通信経路の振り分けが行われる場合に、ユーザが送信元アドレスグループと送信先アドレスグループとの組み合わせを用意しておかなくても済むようになる。
【００９０】
また、上で述べた試験パケット送出ステップが、パケットサイズが６４バイト以下となる試験パケットを送出させるステップを含むようにしてもよい。そして、上で述べた第１取得ステップ及び第２取得ステップが、パケットサイズが６４バイト以下のパケットについてのカウンタの値を、入力パケットカウンタの値として取得するステップを含むようにしてもよい。ネットワーク上を流れる通常のパケットは、パケットサイズが６４バイトより大きいパケットであり、このようにすれば、通常のパケットと試験パケットとを区別でき、より正確に通信経路を特定することができるようになる。
【００９１】
なお、経路監視サーバをハードウエアと共に実現するためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００９２】
また、経路監視サーバは、図２９に示すように、メモリ２５０１（記憶部）とＣＰＵ２５０３（処理部）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。ＯＳ及びＷｅｂブラウザを含むアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。このようなコンピュータは、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００９３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９４】
（付記１）
第１のネットワークと第２のネットワークとに接続される第３のネットワークを監視するためのコンピュータに、
前記第３のネットワーク内に、前記第１のネットワークから前記第２のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、前記第１のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、前記第２のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、
前記第３のネットワークの境界に設置されるエッジルータのうち前記第２のネットワークと接続されるエッジルータである出力エッジルータに、前記試験用送信先アドレス宛のパケットを前記第２のネットワークに転送しないよう当該出力エッジルータのＡＲＰテーブルの設定を変更させるステップと、
前記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第１入力パケット数として記憶装置に格納する第１取得ステップと、
前記エッジルータのうち前記第１のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを所定回数送出する試験パケット送出ステップと、
前記計測対象ルータの各々から前記入力パケットカウンタの値を取得し、第２入力パケット数として前記記憶装置に格納する第２取得ステップと、
前記記憶装置に格納されている前記第１入力パケット数と前記第２入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定ステップと、
を実行させるための通信経路推定プログラム。
【００９５】
（付記２）
前記試験用アドレス特定ステップが、
送信元アドレスグループと送信先アドレスグループとの組み合わせ毎に、前記送信元アドレスグループに属するアドレスから前記送信先アドレスグループに属するアドレスへ送信されるパケットが通過すると推定される前記通信経路の識別情報を格納するための経路推定テーブルに基づき、特定の組み合わせに係る前記送信元アドレスグループに属する、前記第１のネットワーク内の未使用アドレスのうちのいずれかを前記試験用送信元アドレスとして特定し、前記特定の組み合わせに係る前記送信先アドレスグループに属する、前記第２のネットワーク内の未使用アドレスのうちのいずれかを前記試験用送信先アドレスとして特定するステップ
を含み、
前記通信経路特定ステップにおいて特定された前記通信経路の識別情報を、前記特定の組み合わせに対応付けて前記経路推定テーブルに格納するステップ
をさらに実行させるための付記１記載の通信経路推定プログラム。
【００９６】
（付記３）
前記第１のネットワークから前記第２のネットワークへ送信されるパケットが通過すると推定される前記通信経路の数を用いた剰余演算の結果に従ってグループ分けを行う場合において、前記剰余演算の結果に従ってグループ分けされる前記送信元アドレスグループと前記剰余演算の結果に従ってグループ分けされる前記送信先アドレスグループとの全ての組み合わせを含む前記経路推定テーブルを生成するステップ
をさらに実行させるための付記２記載の通信経路推定プログラム。
【００９７】
（付記４）
前記試験パケット送出ステップが、
パケットサイズが６４バイト以下となる前記試験パケットを送出させるステップ
を含み、
前記第１取得ステップ及び前記第２取得ステップが、
パケットサイズが６４バイト以下のパケットについてのカウンタの値を、前記入力パケットカウンタの値として取得するステップ
を含む付記１乃至３のいずれか１つ記載の通信経路推定プログラム。
【００９８】
（付記５）
第１のネットワークと第２のネットワークとに接続される第３のネットワークを監視するためのコンピュータにより実行される通信経路推定方法であって、
前記第３のネットワーク内に、前記第１のネットワークから前記第２のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、前記第１のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、前記第２のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、
前記第３のネットワークの境界に設置されるエッジルータのうち前記第２のネットワークと接続されるエッジルータである出力エッジルータに、前記試験用送信先アドレス宛のパケットを前記第２のネットワークに転送しないよう当該出力エッジルータのＡＲＰテーブルの設定を変更させるステップと、
前記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第１入力パケット数として記憶装置に格納する第１取得ステップと、
前記エッジルータのうち前記第１のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを所定回数送出する試験パケット送出ステップと、
前記計測対象ルータの各々から前記入力パケットカウンタの値を取得し、第２入力パケット数として前記記憶装置に格納する第２取得ステップと、
前記記憶装置に格納されている前記第１入力パケット数と前記第２入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定ステップと、
を含む通信経路推定方法。
【００９９】
（付記６）
第１のネットワークと第２のネットワークとに接続される第３のネットワークを監視するためのコンピュータであって、
前記第３のネットワーク内に、前記第１のネットワークから前記第２のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、前記第１のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、前記第２のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス決定手段と、
前記第３のネットワークの境界に設置されるエッジルータのうち前記第２のネットワークと接続されるエッジルータである出力エッジルータに、前記試験用送信先アドレス宛のパケットを前記第２のネットワークに転送しないよう当該出力エッジルータのＡＲＰテーブルの設定を変更させるテーブル制御手段と、
前記エッジルータのうち前記第１のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを所定回数送出する試験パケット送信手段と、
前記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、前記試験パケット送出前の入力パケットカウンタの値である第１入力パケット数と前記試験パケット送出後の前記入力パケットカウンタの値である第２入力パケット数とを取得して前記記憶装置に格納する入力パケット数取得手段と、
前記記憶装置に格納されている前記第１入力パケット数と前記第２入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定手段と、
を有するコンピュータ。
【符号の説明】
【０１００】
１１  トポロジ・経路管理部    １２  ルーティングテーブル格納部
１３  経路判定部    １４  テーブル制御部
１５  試験パケット送信部    １６  入力パケット数取得部
１７  ＭＩＢ収集結果格納部    １８  経路推定テーブル格納部
１９  試験パケット送信結果テーブル格納部    ２０  未使用アドレス格納部
３１  スイッチ部    ３２  ＭＩＢ情報格納部
３３  ＳＮＭＰ送受信部
１３１  試験用アドレス決定部    １３２  通信経路特定部
【図１】
2010245866.tif 000003
【図２】
2010245866.tif 000004
【図３】
2010245866.tif 000005
【図４】
2010245866.tif 000006
【図５】
2010245866.tif 000007
【図６】
2010245866.tif 000008
【図７】
2010245866.tif 000009
【図８】
2010245866.tif 000010
【図９】
2010245866.tif 000011
【図１０】
2010245866.tif 000012
【図１１】
2010245866.tif 000013
【図１２】
2010245866.tif 000014
【図１３】
2010245866.tif 000015
【図１４】
2010245866.tif 000016
【図１５】
2010245866.tif 000017
【図１６】
2010245866.tif 000018
【図１７】
2010245866.tif 000019
【図１８】
2010245866.tif 000020
【図１９】
2010245866.tif 000021
【図２０】
2010245866.tif 000022
【図２１】
2010245866.tif 000023
【図２２】
2010245866.tif 000024
【図２３】
2010245866.tif 000025
【図２４】
2010245866.tif 000026
【図２５】
2010245866.tif 000027
【図２６】
2010245866.tif 000028
【図２７】
2010245866.tif 000029
【図２８】
2010245866.tif 000030
【図２９】
2010245866.tif 000031