(57)【要約】      （修正有）【課題】情報を取得できない中継器を特定する経路探索プログラム、経路探索装置及び経路探索方法を提供する。【解決手段】ルータ３ａがサーバ装置２から送信された応答パケットを受信する毎に、応答パケットをルータ３ａから取得し、取得した応答パケットが中継可能なルータの数を、応答パケットが端末４ａ〜４ｅに到達するために最低限経由する必要がある中継器の数に更新し、サーバ装置からのホップ数が少ない順に経由させるルータを変えながら、更新した応答パケットを端末に向けて１回以上送信し、送信した応答パケットが端末に到達したか否かの情報に基づき、サーバ装置と端末との間に存在するルータを特定する。【選択図】図１０
2017112450.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１装置によって送受信されるパケットが経由する中継器に関する情報である経路情報を作成し、
前記経路情報に情報が含まれる第１中継器が、第２装置から前記第１装置に向けて送信された第１パケットを受信した場合において、前記経路情報に基づいて前記第１パケットが経由した全ての中継器を特定できない場合、前記第１装置から送信された、前記第１パケットに対する応答パケットを前記第２装置に送信しないように前記第１中継器に設定し、
前記第１中継器が前記応答パケットを受信する毎に、前記応答パケットを前記第１中継器から取得し、取得した前記応答パケットが中継可能な中継器の数を、前記応答パケットが前記第２装置に到達するために最低限経由する必要がある中継器の数に更新し、
前記第１装置からのホップ数が少ない順に経由させる中継器を変えながら、更新した前記応答パケットを前記第２装置に向けて１回以上送信し、送信した前記応答パケットが前記第２装置に到達したか否かの情報に基づき、前記第１装置と前記第２装置との間に存在する中継器を特定する、
処理を実行させることを特徴とする経路探索プログラム。
【請求項２】
請求項１において、
前記中継器の数を更新する処理では、前記第１パケットのＩＰヘッダに含まれる情報から、前記応答パケットが前記第２装置に到達するために最低限経由する必要がある中継器の数を特定する、
ことを特徴とする経路探索プログラム。
【請求項３】
請求項１において、
前記中継器を特定する処理では、
既に特定された前記中継器が存在しない場合、前記第１装置からのホップ数が最小である中継器を１つずつ経由させるように、更新した前記応答パケットを前記第２装置に向けて順に送信し、既に特定された前記中継器が存在する場合、特定された前記中継器から、前記第１装置からのホップ数が最大である中継器を選択し、選択した前記中継器からのホップ数が１である中継器を１つずつ経由させるように、更新した前記応答パケットを前記第２装置に向けて順に送信し、
前記応答パケットが前記第２装置に到達した場合、前記第２装置に到達した前記応答パケットに経由させた中継器を前記第１装置と前記第２装置との間に存在する中継器として特定し、特定した前記中継器の情報により前記経路情報を更新し、
前記第１装置と前記第２装置との間に存在する中継器として特定された中継器の数が、前記第１装置と前記第２装置との間に存在する中継器の数になるまで、前記応答パケットを送信する処理及び前記経路情報を更新する処理を繰り返し実行する、
ことを特徴とする経路探索プログラム。
【請求項４】
請求項３において、
前記中継器を特定する処理では、前記応答パケットが前記第２装置に到達したことを示す到達パケットを、前記第１中継器が前記第２装置から受信した場合に、送信した前記応答パケットが前記第２装置に到達したと判定する、
ことを特徴とする経路探索プログラム。
【請求項５】
請求項３において、
前記中継器を特定する処理では、前記応答パケットが前記第２装置に到達しなかったことを示す未到達パケットを、前記第１中継器が受信した場合に、送信した前記応答パケットが前記第２装置に到達しなかったと判定する、
ことを特徴とする経路探索プログラム。
【請求項６】
請求項５において、
前記未到達パケットは、前記第１パケットに対する応答パケットが前記第１装置から送信されないことに応じて、前記第２装置が前記第１装置に向けて再送する前記第１パケットを含む、
ことを特徴とする経路探索プログラム。
【請求項７】
請求項５において、
前記未到達パケットは、中継可能な中継器の数を経由した前記応答パケットの存在を検知したことに応じて、中継可能な中継器の数を経由した前記応答パケットの存在を検知した中継器が前記第１中継器に送信するパケットを含む、
ことを特徴とする経路探索プログラム。
【請求項８】
請求項３において、
前記中継器を特定する処理では、
特定された前記中継器の数が前記第１中継器と前記第２装置との間に存在する中継器の数になる前に、前記第１装置と前記第２装置との間のコネクションが終了した場合、前記中継器を特定する処理の実行を中止し、
前記第１中継器が前記第２装置から前記第１装置に向けて送信された新たなパケットを受信した場合、前記中継器を特定する処理の実行を再開する、
ことを特徴とする経路探索プログラム。
【請求項９】
請求項３において、
前記中継器を特定する処理では、送信した前記応答パケットのうち、前記第２装置に到達した前記応答パケットが存在しない場合、前記第１装置からのホップ数が前記第２装置に到達した前記応答パケットに経由させた中継器のホップ数と同じである仮中継器が存在すると判定し、前記仮中継器を前記第１装置と前記第２装置との間に存在する中継器として特定する、
ことを特徴とする経路探索プログラム。
【請求項１０】
請求項３において、
前記中継器を特定する処理では、
特定された前記中継器の数が前記第１中継器と前記第２装置との間に存在する中継器の数になる前に、前記第２装置が前記第１パケットを再送するまでの時間が所定時間以下になった場合、前記中継器を特定する処理の実行を中止し、
前記第１中継器が前記第２装置から前記第１装置に向けて送信された新たなパケットを受信した場合、前記中継器を特定する処理の実行を再開する、
ことを特徴とする経路探索プログラム。
【請求項１１】
第１装置によって送受信されるパケットが経由する中継器に関する情報である経路情報を作成する情報作成部と、
前記経路情報に情報が含まれる第１中継器が、第２装置から前記第１装置に向けて送信された第１パケットを受信した場合において、前記経路情報に基づいて前記第１パケットが経由した全ての中継器を特定できない場合、前記第１装置から送信された、前記第１パケットに対する応答パケットを前記第２装置に送信しないように前記第１中継器に設定する中継器設定部と、
前記第１中継器が前記応答パケットを受信する毎に、前記応答パケットを前記第１中継器から取得し、取得した前記応答パケットが中継可能な中継器の数を、前記応答パケットが前記第２装置に到達するために最低限経由する必要がある中継器の数に更新するパケット更新部と、
前記第１装置からのホップ数が少ない順に経由させる中継器を変えながら、更新した前記応答パケットを前記第２装置に向けて１回以上送信し、送信した前記応答パケットが前記第２装置に到達したか否かの情報に基づき、前記第１装置と前記第２装置との間に存在する中継器を特定する中継器特定部とを有する、
ことを特徴とする経路探索装置。
【請求項１２】
第１装置によって送受信されるパケットが経由する中継器に関する情報である経路情報を作成し、
前記経路情報に情報が含まれる第１中継器が、第２装置から前記第１装置に向けて送信された第１パケットを受信した場合において、前記経路情報に基づいて前記第１パケットが経由した全ての中継器を特定できない場合、前記第１装置から送信された、前記第１パケットに対する応答パケットを前記第２装置に送信しないように前記第１中継器に設定し、
前記第１中継器が前記応答パケットを受信する毎に、前記応答パケットを前記第１中継器から取得し、取得した前記応答パケットが中継可能な中継器の数を、前記応答パケットが前記第２装置に到達するために最低限経由する必要がある中継器の数に更新し、
前記第１装置からのホップ数が少ない順に経由させる中継器を変えながら、更新した前記応答パケットを前記第２装置に向けて１回以上送信し、送信した前記応答パケットが前記第２装置に到達したか否かの情報に基づき、前記第１装置と前記第２装置との間に存在する中継器を特定する、
ことを特徴とする経路探索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路探索プログラム、経路探索装置及び経路探索方法に関する。
【背景技術】
【０００２】
利用者に対してサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、利用者に対して各種サービスを提供するために、例えば、業務システムの構築を行う。この業務システムは、例えば、利用者が端末（以下、利用者端末とも呼ぶ）を介して送信した処理要求を受信し、その処理要求の内容に基づく処理を行う。
【０００３】
上記のように送信された処理要求は、業務システムが構築された物理マシンの配備場所等によって、例えば、複数のネットワーク機器（ルータやスイッチ等の中継器を含む）を介して業務システムに到達する。これにより、利用者は、業務システムが構築された物理マシンと利用者端末との間の物理的な距離が離れている場合であっても、業務システムに対して処理要求を送信することが可能になる。
【０００４】
ここで、上記のようなネットワーク機器には、例えば、事業者が管理していないネットワーク機器（通信キャリア等の他事業者が管理しているネットワーク機器）が含まれている可能性がある。そのため、事業者は、業務システムと利用者端末との間のネットワーク上に配備されているネットワーク機器の情報を予め取得する場合がある。具体的に、事業者は、例えば、業務システムと利用者端末との間に配備されているネットワーク機器の情報を取得するためのコマンド（ｔｒａｃｅｒｏｕｔｅやｐｉｎｇ等）を実行し、必要な情報の取得を行う。
【０００５】
これにより、事業者は、業務システムと利用者端末との間のネットワークにおいて障害が発生した場合に、予め取得した情報に基づいて、障害の原因究明等を行うことが可能になる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−００８６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のように配備されたネットワーク機器には、設定の内容等によって、ネットワーク機器の情報を取得するためのコマンドに対する応答を行わないネットワーク機器が存在する。この場合、事業者は、業務システムと利用者端末との間に配備された全てのネットワーク機器の情報を取得することができない。そのため、事業者は、この場合、業務システムと利用者端末との間のネットワークにおいて障害が発生した場合に、障害の原因究明等を行うことができない。
【０００８】
そこで、一つの実施の形態の目的は、情報を取得できない中継器の存在を特定する経路探索プログラム、経路探索装置及び経路探索方法を提供することにある。
【課題を解決するための手段】
【０００９】
実施の形態の一つの側面によれば、コンピュータに、第１装置によって送受信されるパケットが経由する中継器に関する情報である経路情報を作成し、前記経路情報に情報が含まれる第１中継器が、第２装置から前記第１装置に向けて送信された第１パケットを受信した場合において、前記経路情報に基づいて前記第１パケットが経由した全ての中継器を特定できない場合、前記第１装置から送信された、前記第１パケットに対する応答パケットを前記第２装置に送信しないように前記第１中継器に設定し、前記第１中継器が前記応答パケットを受信する毎に、前記応答パケットを前記第１中継器から取得し、取得した前記応答パケットが中継可能な中継器の数を、前記応答パケットが前記第２装置に到達するために最低限経由する必要がある中継器の数に更新し、前記第１装置からのホップ数が少ない順に経由させる中継器を変えながら、更新した前記応答パケットを前記第２装置に向けて１回以上送信し、送信した前記応答パケットが前記第２装置に到達したか否かの情報に基づき、前記第１装置と前記第２装置との間に存在する中継器を特定する、処理を実行させる。
【発明の効果】
【００１０】
一つの側面によれば、情報を取得できない中継器の存在を特定する。
【図面の簡単な説明】
【００１１】
【図１】情報処理システム１０の構成を示す図である。
【図２】情報を取得することができないルータ３が存在する場合の具体例を説明する図である。
【図３】情報を取得することができないルータ３が存在する場合の具体例を説明する図である。
【図４】監視装置１のハードウエア構成を示す図である。
【図５】監視装置１の機能ブロック図である。
【図６】第１の実施の形態における経路探索処理の概略を示すフローチャート図である。
【図７】第１の実施の形態における経路探索処理の概略を示すフローチャート図である。
【図８】第１の実施の形態における経路探索処理の概略を説明する図である。
【図９】第１の実施の形態における経路探索処理の概略を説明する図である。
【図１０】第１の実施の形態における経路探索処理の概略を説明する図である。
【図１１】第１の実施の形態における経路探索処理の概略を説明する図である。
【図１２】第１の実施の形態における経路探索処理の概略を説明する図である。
【図１３】第１の実施の形態における経路探索処理の詳細を説明するフローチャート図である。
【図１４】第１の実施の形態における経路探索処理の詳細を説明するフローチャート図である。
【図１５】第１の実施の形態における経路探索処理の詳細を説明するフローチャート図である。
【図１６】第１の実施の形態における経路探索処理の詳細を説明するフローチャート図である。
【図１７】第１の実施の形態における経路探索処理の詳細を説明するフローチャート図である。
【図１８】第１の実施の形態における経路探索処理の詳細を説明するフローチャート図である。
【図１９】第１の実施の形態における経路探索処理の詳細を説明するフローチャート図である。
【図２０】経路情報１３１の具体例を説明する図である。
【図２１】ホップ数情報１３２の具体例を説明する図である。
【図２２】一時経路情報１３３の具体例を説明する図である。
【図２３】一時経路情報１３３の具体例を説明する図である。
【図２４】一時経路情報１３３の具体例を説明する図である。
【図２５】経路情報１３１の具体例を説明する図である。
【図２６】ホップ数情報１３２の具体例を説明する図である。
【図２７】一時経路情報１３３の具体例を説明する図である。
【図２８】経路情報１３１の具体例を説明する図である。
【図２９】ホップ数情報１３２の具体例を説明する図である。
【発明を実施するための形態】
【００１２】
［情報処理システムの構成］
図１は、情報処理システム１０の構成を示す図である。図１に示す情報処理システム１０は、サーバ装置２と、ルータ（中継器）３ａ、３ｂ、３ｃ、３ｄ、３ｅ、３ｆ、３ｇ、３ｈ、３ｉ、３ｊ及び３ｋと、利用者端末４ａ、４ｂ、４ｃ、４ｄ及び４ｅとを有する。なお、以下、各ルータをまとめて単にルータ３とも呼び、各利用者端末をまとめて単に利用者端末４とも呼ぶ。
【００１３】
サーバ装置２は、利用者に対してサービスを提供するための業務システムが構築された物理マシンである。サーバ装置２は、例えば、複数の物理マシンからなるものであってもよい。
【００１４】
利用者端末４は、利用者が業務システム（サーバ装置２）に対して処理要求パケット（以下、単にパケットとも呼ぶ）を送信する際に用いる端末である。利用者端末２は、例えば、携帯電話やＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等である。
【００１５】
そして、ルータ３は、利用者端末４から送信されたパケットを中継し、パケットの宛先（例えば、サーバ装置２）に対して送信する。ルータ３は、例えば、事業者が管理していないルータを含む。そのため、例えば、事業者は、サーバ装置２と利用者端末４との間のネットワーク上に配備されているルータ３の情報を予め取得する。これにより、事業者は、サーバ装置２と利用者端末との間のネットワークにおいて障害が発生した場合に、予め作成した情報に基づいて、障害の原因究明等を行うことが可能になる。
【００１６】
［情報を取得することができないルータが存在する場合の具体例］
次に、情報を取得することができないルータ３が存在する場合の具体例を説明する。図２及び図３は、情報を取得することができないルータ３が存在する場合の具体例を説明する図である。
【００１７】
図１で説明したルータ３には、各ルータの情報を取得するためのコマンドに対する応答を行わない設定がされたルータが存在する。そのため、事業者は、この場合、サーバ装置２と利用者端末４との間に配備された全てのルータ３の情報を取得することができない。
【００１８】
具体的に、図２に示す例において、ルータ３ｅ、３ｇ及び３ｉが応答を行わないルータである場合、事業者は、例えば、ルータ３ｇを含むネットワーク及びルータ３ｅ及び３ｉを含むネットワーク（図２の破線部分）についての情報を取得することができない。すなわち、この場合、事業者は、ルータ３ｄと利用者端末４ａとの間のネットワーク及びルータ３ｂと利用者端末４ｃとの間のネットワークにおけるルータの数等の情報を取得することができない。
【００１９】
そのため、例えば、図３に示すように、ルータ３ｇにおいて障害が発生し、サーバ装置２と利用者端末４ａとの間の通信を行うことができなくなった場合であっても、事業者は、予め作成したルータ３の情報に基づいて、障害の発生場所の特定等の原因究明を容易に行うことができない。
【００２０】
そこで、本実施の形態では、サーバ装置２が送受信するパケットが経由するルータ３の情報である経路情報を作成する監視装置１（以下、コンピュータ１または経路探索装置１とも呼ぶ）を配備する。そして、監視装置１は、例えば、経路情報に情報が含まれるルータ３ａが利用者端末４ａからのパケット（以下、第１パケットとも呼ぶ）を受信した場合、第１パケットが経由した全ルータ３を特定できるか否かを判定する。その結果、経由した全ルータ３を特定できない場合、監視装置１は、ルータ３ａがサーバ装置２から取得した第１パケットの応答パケットを取得し、応答パケットが中継可能なルータ３の数を、応答パケットが利用者端末４ａに到達するために最低限経由する必要があるルータの数に更新する。
【００２１】
その後、監視装置１は、サーバ装置２からのホップ数が少ない順に経由させるルータ３を変えながら、応答パケットを利用者端末４ａに向けて送信する。そして、監視装置１は、利用者端末４ａに送信した応答パケットが利用者端末４ａに到達したか否かの情報に基づき、サーバ装置２と利用者端末４ａとの間に存在するルータ３を特定する。
【００２２】
すなわち、監視装置１は、応答パケットが中継可能なルータ３の数をサーバ装置２と利用者端末４ａとの間の最短経路上に存在するルータ３の数に更新することにより、最短経路を経由した応答パケットのみを利用者端末４ａに到達させることができる。そのため、監視装置１は、応答パケットが利用者端末４ａに到達した場合、その応答パケットが経由したルータ３を、サーバ装置２と利用者端末４ａの間の最短経路上に存在するルータ３として特定することができる。
【００２３】
また、監視装置１は、サーバ装置２からのホップ数が少ない順に経由させるルータ３を変えながら応答パケットを送信することにより、サーバ装置２と利用者端末４ａの間の最短経路上に存在するルータ３を、サーバ装置２に近いルータ３から順に特定することが可能になる。そのため、監視装置１は、応答パケットを再度送信する場合、既に特定したルータ３を経由させるように応答パケットを送信することが可能になる。したがって、監視装置１は、サーバ装置２と利用者端末４ａの間の最短経路上に存在する全ルータ３を特定するまでに送信する応答パケットの数を抑制することが可能になる。
【００２４】
［情報処理システム１０のハードウエア構成］
次に、情報処理システム１０のハードウエア構成について説明する。図４は、監視装置１のハードウエア構成を示す図である。
【００２５】
監視装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２６】
記憶媒体１０４は、例えば、記憶媒体１０４内のプログラム格納領域（図示しない）に、サーバ装置１と利用者端末４との間に存在するルータ３を特定するための処理（以下、経路探索処理とも呼ぶ）等を行うためのプログラム１１０を記憶する。また、記憶媒体１０４は、例えば、経路探索処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。
【００２７】
ＣＰＵ１０１は、図４に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働して経路探索処理を行う。また、外部インターフェース１０３は、ルータ３ａ等と通信を行う。
【００２８】
［情報処理システムの機能］
次に、情報処理システム１０の機能について説明する。図５は、監視装置１の機能ブロック図である。
【００２９】
監視装置１のＣＰＵ１０１は、プログラム１１０と協働することにより、例えば、パケット受信部１１１と、情報作成部１１２と、パケット判定部１１３と、中継器設定部１１４として動作する。また、監視装置１のＣＰＵ１０１は、プログラム１１０と協働することにより、例えば、パケット更新部１１５と、パケット送信部１１６と、中継器特定部１１７として動作する。また、情報格納領域１３０には、経路情報１３１と、ホップ数情報１３２と、一時経路情報１３３とが記憶されている。なお、以下、ルータ３ａが監視装置１と各パケットの送受信を行うものとして説明を行う。
【００３０】
パケット受信部１１１は、ルータ３ａが利用者端末４から受信した第１パケットを受信する。具体的に、ルータ３ａは、利用者端末４がサーバ装置２に対して送信した第１パケットを受信する毎に、例えば、サーバ装置２及び監視装置１に送信する。そして、パケット受信部１１１は、ルータ３ａが送信した第１パケットを受信する。また、ルータ３ａは、第１パケットに対する応答パケット（サーバ装置２が第１パケットに対して送信した応答パケット）を受信する毎に、例えば、応答パケットの送信先である利用者端末４に送信せずに、監視装置１のみに送信する。そして、パケット受信部１１１は、ルータ３ａが送信した応答パケットを受信する。
【００３１】
情報作成部１１２は、経路情報１３１、ホップ数情報１３２及び一時経路情報１３３の作成を行う。そして、情報作成部１１２は、作成した経路情報１３１、ホップ数情報１３２及び一時経路情報１３３を情報格納領域１３０に記憶する。
【００３２】
経路情報１３１は、第１パケットが経由するルータ３に関する情報である。具体的に、経路情報１３１は、サーバ装置２と各利用者端末４との間の最短経路上に存在する各ルータ３の情報を含む。ホップ数情報１３２は、サーバ装置２から各ルータ３までのホップ数を設定する情報である。また、一時経路情報１３３は、サーバ装置２と利用者端末４に含まれる特定の利用者端末（例えば、利用者端末４ａ）との間の最短経路上に存在するルータ３の一部のみが特定されている場合に、その特定されたルータ３の一部の情報を一時的に設定する情報である。経路情報１３１、ホップ数情報１３２及び一時経路情報１３３の具体例については後述する。
【００３３】
パケット判定部１１３は、パケット受信部１１１が第１パケットを受信する毎に、経路情報１３１を参照する。そして、パケット判定部１１３は、受信した第１パケットが経由した全てのルータ３（経路）を特定できるか否かを判定する。
【００３４】
中継器設定部１１４は、例えば、ルータ３ａが利用者端末４から第１パケットを受信する毎に、受信した第１パケットをサーバ装置２に送信するとともに、監視装置１にも送信するように設定を行う。
【００３５】
また、中継器設定部１１４は、第１パケットが経由した全てのルータ３をパケット判定部１１３が特定できなかった場合、サーバ装置２が送信した応答パケットを送信先（例えば、利用者端末４ａ）に送信しないように、ルータ３ａに設定を行う。さらに、中継器設定部１１４は、この場合、応答パケットを監視装置１に送信するように、ルータ３ａに設定を行う。
【００３６】
パケット更新部１１５は、パケット受信部１１１がルータ３ａから応答パケットを受信する毎に、受信した応答パケットが中継可能なルータ３の数を、その応答パケットが送信先の利用者端末に到達するために最低限経由する必要があるルータ３の数に更新する。なお、パケット更新部１１３は、例えば、第１パケットのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダに含まれる情報から、応答パケットが送信先の利用者端末に到達するために最低限経由する必要があるルータ３の数を特定する。
【００３７】
パケット送信部１１６は、例えば、パケット更新部１１５が更新した応答パケットを、応答パケットの送信先の利用者端末４に送信する。
【００３８】
中継器特定部１１７は、サーバ装置２からのホップ数が少ない順に経由させるルータ３を変えながら、サーバ装置２に対して応答パケットを１回以上送信するように、パケット送信部１１６に対して指示を行う。また、中継器特定部１１７は、パケット送信部１１６が送信した応答パケットが、送信先の利用者端末４に到達したか否かの情報を取得する。
【００３９】
具体的に、中継器特定部１１７は、中継器特定部１１７が既に特定したルータ３が存在しない場合、サーバ装置２からのホップ数が最小であるルータ３を１つずつ経由させながら、サーバ装置２に対して応答パケットを順に送信するように、パケット送信部１１６に対して指示を行う。
【００４０】
一方、中継器特定部１１７は、中継器特定部１１７が既に特定したルータ３が存在する場合、中継器特定部１１７が既に特定したルータ３からサーバ装置２からのホップ数が最大であるルータ３を選択する。そして、中継器特定部１１７は、この場合、選択したルータ３からのホップ数が１であるルータ３を１つずつ経由させながら、サーバ装置２に対して応答パケットを順に送信するように、パケット送信部１１６に対して指示を行う。
【００４１】
そして、中継器特定部１１７は、パケット送信部１１６が送信した応答パケットが送信先の利用者端末４に到達したか否かの情報に基づき、サーバ装置２と応答パケットの送信先の利用者端末４との間に存在するルータ３を特定する。具体的に、中継器特定部１１７は、応答パケットが送信先の利用者端末４に到達した場合に、その応答パケットに経由させたルータ３を、サーバ装置２と送信先の利用者端末４との間に存在するルータ３として特定する。
【００４２】
その後、中継器特定部１１７は、サーバ装置２と送信先の利用者端末４との間に存在するルータ３として特定されたルータ３の数が、サーバ装置２と送信先の利用者端末４との間に存在するルータ３の数になるまで、上記の処理を繰り返し実行する。すなわち、中継器特定部１１７は、パケット送信部１１６に対する応答パケットの送信の指示と、サーバ装置２と送信先の利用者端末４との間に存在するルータ３の特定とを繰り返し実行する。
【００４３】
なお、中継器特定部１１７は、パケット受信部１１１が、応答パケットの到達に伴って送信先の利用者端末４が送信するａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ（ＡＣＫ）パケットを受信した場合、その応答パケットが送信先の利用者端末４に到達したものと判定する。以下、この場合にパケット受信部１１１が受信したパケットを到達パケットとも呼ぶ。
【００４４】
一方、中継器特定部１１７は、パケット受信部１１１が、中継可能な数のルータ３を中継しても送信先の利用者端末４に到達しなかった応答パケットの存在を示すパケットをルータ３（ルータ３のいずれか）から受信した場合、その応答パケットが送信先の利用者端末４に到達しなかったものと判定する。また、中継器特定部１１７は、応答パケットの送信先の利用者端末４が再送した第１パケットを受信した場合、その応答パケットが送信先の利用者端末４に到達しなかったものと判定する。さらに、中継器特定部１１７は、パケット送信部１１６が応答パケットを送信してから所定のタイムアウト時間を経過するまでの間に、パケット受信部１１１が第１パケット及び応答パケットに関するパケットを受信しなかった場合、その応答パケットが送信先の利用者端末４に到達しなかったものと判定する。
【００４５】
また、中継器設定部１１４は、ルータ３ａが応答パケットの送信先の利用者端末４から未到達パケットを受信した場合、受信した未到達パケットをサーバ装置２に送信せずに、監視装置１に送信するように、ルータ３ａに設定を行う。一方、中継器設定部１１４は、ルータ３ａが応答パケットの送信先の利用者端末４から到達パケットを受信した場合、受信した到達パケットをサーバ装置２及び監視装置１に送信するように、ルータ３ａに設定を行う。なお、中継器設定部１１４は、例えば、ルータ３ａが利用者端末４から第１パケットを受信した場合に、到達パケット及び未到達パケットを受信した場合に関する設定を行うものであってよい。
【００４６】
［第１の実施の形態］
次に、第１の実施の形態について説明する。図６及び図７は、第１の実施の形態における経路探索処理の概略を示すフローチャート図である。また、図８から図１２は、第１の実施の形態における経路探索処理の概略を説明する図である。図８から図１２を参照しながら図６及び図７の経路探索処理の概略について説明する。なお、以下、図８等に示すように、監視装置１からルータ３ａまでのホップ数が「１」であるものとして説明を行う。
【００４７】
監視装置１は、図６に示すように、経路情報１３１を作成するタイミング（以下、経路情報作成タイミングとも呼ぶ）になるまで待機する（Ｓ１のＮＯ）。経路情報作成タイミングは、例えば、事業者が業務システムの稼働を開始するタイミングであってよい。その後、経路情報作成タイミングになった場合（Ｓ１のＹＥＳ）、監視装置１は、図８に示すように、経路情報１３１の作成を行う（Ｓ２）。
【００４８】
すなわち、監視装置１は、サーバ装置２と各利用者端末４との間に存在するルータ３のうち、情報の取得を行うことができるルータの情報を取得する。そして、監視装置１は、取得した情報から経路情報１３１を作成する。これにより、事業者は、例えば、経路情報１３１に情報が含まれるルータ３において障害が発生した場合に、障害の発生場所を迅速に特定することが可能になる。
【００４９】
なお、事業者は、各ルータ３の情報の入力を監視装置１に対して入力することにより、経路情報１３１の作成を行うものであってもよい。経路情報１３１の具体例については後述する。
【００５０】
そして、監視装置１は、図７に示すように、ルータ３ａが第１パケットを受信するまで待機する（Ｓ１１のＮＯ）。その後、ルータ３ａが第１パケットを受信した場合（Ｓ１１のＹＥＳ）、監視装置１は、図９に示すように、経路情報１３１に基づいて、第１パケットがルータ３ａに到達するまでの間に経由した全てのルータ３を特定できるか否かを判定する（Ｓ１２）。すなわち、監視装置１は、経路情報１３１に含まれる情報に基づいて、ルータ３ａが受信した第１パケットが経由した経路を特定することができるか否かを判定する。
【００５１】
その結果、第１パケットがルータ３ａに到達するまでの間に経由した全てのルータ３を特定できた場合（Ｓ１２のＮＯ）、監視装置１は、ルータ３ａが次の第１パケットを受信するまで待機する（Ｓ１１のＮＯ）。すなわち、この場合、監視装置１は、経路情報１３１に含まれる情報に基づいて、ルータ３ａが受信した第１パケットが経由した経路を特定することができると判定する。そのため、監視装置１は、この場合、ルータ３ａが受信した第１パケットの送信元の利用者端末４とサーバ装置２との間の経路の特定を行う必要がないと判定し、Ｓ１３以降の処理を実行しない。
【００５２】
一方、第１パケットがルータ３ａに到達するまでの間に経由した全てのルータ３を特定できなかった場合（Ｓ１２のＹＥＳ）、監視装置１は、図１０に示すように、第１パケットの応答パケットを送信先の利用者端末４に送信しないようにルータ３ａに設定を行う（Ｓ１３）。その後、監視装置１は、ルータ３ａがサーバ装置２から応答パケットを受信するまで待機する（Ｓ１４のＮＯ）。そして、ルータ３ａがサーバ装置２から応答パケットを受信した場合（Ｓ１４のＹＥＳ）、監視装置１は、図１１に示すように、応答パケットをルータ３ａから取得する（Ｓ１５）。
【００５３】
すなわち、この場合、監視装置１は、ルータ３ａが受信した応答パケットの送信元の利用者端末４とサーバ装置２との間の経路の特定を行うために、送信先である利用者端末４への応答パケットの送信を禁止する一方、応答パケットをルータ３ａから取得する。
【００５４】
その後、監視装置１は、図１１に示すように、応答パケットが中継可能な中継器の数を、応答パケットが送信先の利用者端末４に到達するために最低限経由する必要があるルータ３の数に更新する（Ｓ１６）。これにより、監視装置１は、応答パケットが最短経路（最小数のルータ３）を経由して送信先の利用者端末４に送信された場合のみ、送信先の利用者端末４に到達させることが可能になる。
【００５５】
なお、監視装置１は、例えば、ルータ３ａが第１パケットを受信した際に、その第１パケットのＩＰヘッダに含まれるＴＴＬ（Ｔｉｍｅ  ｔｏ  ｌｉｖｅ）に設定されていた情報に基づき、応答パケットが送信先の利用者端末４に到達するために最低限経由する必要があるルータ３の数を特定するものであってよい。
【００５６】
すなわち、監視装置１は、例えば、ＴＴＬに設定される値の初期値と、第１パケットのＴＴＬに設定された値との差を算出することにより、第１パケットがルータ３ａに到達するまでに経由したルータ３の数を特定する。そして、監視装置１は、第１パケットがルータ３ａに到達するまでに経由したルータ３の数から、応答パケットが送信先の利用者端末４に到達するために最低限経由する必要があるルータ３の数を特定する。
【００５７】
具体的に、ルータ３ａから取得した第１パケットのＴＴＬに設定された値が「１２５」である場合、監視装置１は、第１パケットを送信した利用者端末４のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がｗｉｎｄｏｗｓ（登録商標：パケットのＴＴＬの初期値として「１２８」を設定するＯＳ）であると推定する。そして、監視装置１は、パケットのＴＴＬの初期値として推定される「１２８」と、第１パケットのＴＴＬに設定された値である「１２５」との差である「３」を、第１パケットがルータ３ａに到達するまでに経由したルータ３の数として特定する。そのため、監視装置１は、この場合、応答パケットが送信先の利用者端末４に到達するために最低限経由する必要があるルータ３の数として「３」を特定する。
【００５８】
ここで、応答パケットのＴＴＬに「３」を設定した場合、応答パケットのＴＴＬは、送信先の利用者端末４の直前のルータ３において「０」になる。そのため、この場合、応答パケットは、送信先の利用者端末４まで到達しない。したがって、監視装置１は、応答パケットが送信先の利用者端末４に到達するために最低限経由する必要があるルータ３の数として「３」を特定した場合、応答パケットのＴＴＬに「４」（すなわち、監視装置１から送信先の利用者端末４までのホップ数）を設定する。
【００５９】
その後、監視装置１は、図１２に示すように、サーバ装置２からのホップ数が少ない順に経由させるルータ３ａを変えながら、応答パケットを利用者端末４に向けて１回以上送信する。そして、監視装置１は、応答パケットが利用者端末４に到達したか否かの情報に基づき、サーバ装置２と利用者端末４との間に存在するルータ３を特定する（Ｓ１７）。
【００６０】
すなわち、応答パケットは、サーバ装置２と送信先の利用者端末４との間の最短経路（最小数のルータ３）を経由して送信先の利用者端末４に送信された場合のみ、送信先の利用者端末４に到達する。そのため、監視装置１は、応答パケットが送信先の利用者端末４に到達した場合、その応答パケットに経由させたルータ３が、サーバ装置２と送信先の利用者端末４との間に存在するルータ３であると特定することが可能になる。
【００６１】
また、監視装置１は、サーバ装置２からのホップ数が少ない順に経由させるルータ３を変えながら応答パケットを送信することにより、サーバ装置２と送信先の利用者端末４の間に存在するルータ３のうち、サーバ装置２に近いルータ３から順に特定することが可能になる。そのため、監視装置１は、応答パケットの送信を再度行う場合、既に特定したルータ３を経由させるように応答パケットを送信することが可能になる。したがって、監視装置１は、サーバ装置２と利用者端末４の間に存在する全ルータ３を特定するまでに送信する必要がある応答パケットの数を抑制することが可能になる。
【００６２】
このように、監視装置１は、サーバ装置２が送受信するパケットが経由するルータ３に関する情報である経路情報１３１を作成する。そして、監視装置１は、経路情報１３１に情報が含まれるルータ３ａが、利用者端末４からサーバ装置２に向けて送信された第１パケットを受信した場合において、経路情報１３１に基づいて第１パケットが経由した全てのルータ３を特定できるか否かを判定する。その結果、経路情報１３１に基づいて第１パケットが経由した全てのルータ３を特定できない場合、監視装置１は、第１パケットをサーバ装置２に送信するとともに、第１パケットに対する応答パケットを送信先の利用者端末４に送信しないようにルータ３ａに設定する。
【００６３】
その後、監視装置１は、ルータ３ａが応答パケットを受信する毎に、応答パケットをルータ３ａから取得し、取得した応答パケットが中継可能なルータ３の数を、応答パケットが送信先の利用者端末４に到達するために最低限経由する必要があるルータ３の数に更新する。さらに、監視装置１は、サーバ装置２からのホップ数が少ない順に経由させるルータ３ａを変えながら、更新した応答パケットを送信先の利用者端末４に向けて１回以上送信する。そして、監視装置１は、送信した応答パケットが送信先の利用者端末４に到達したか否かの情報に基づき、サーバ装置２と送信先の利用者端末４との間に存在するルータ３を特定する。これにより、監視装置１は、情報を取得することができないルータ３を含む経路を特定することが可能になる。
【００６４】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図１３から図１９は、第１の実施の形態における経路探索処理の詳細を説明するフローチャート図である。また、図２０から図２９は、第１の実施の形態における経路探索処理の詳細を説明する図である。図２０から図２９を参照しながら、図１３から図１９の経路探索処理の詳細を説明する。なお、以下、図８等に示す情報処理システム１０において、第１パケットが利用者端末４ａからサーバ装置２に向けて送信された場合における経路探索処理について説明を行う。
【００６５】
監視装置１の情報作成部１１２は、図１３に示すように、経路情報作成タイミングになるまで待機する（Ｓ２１のＮＯ）。そして、経路情報作成タイミングになった場合（Ｓ２１のＹＥＳ）、監視装置１は、経路情報１３１の作成を行う（Ｓ２２）。以下、経路情報１３１の具体例について説明を行う。
【００６６】
［経路情報の詳細］
図２０、図２５及び図２８は、経路情報１３１の具体例を説明する図である。図２０、図２５及び図２８に示す経路情報１３１は、経路情報１３１に含まれる各情報を識別する「項番」と、利用者端末４のサブネットアドレスを示す「送信元サブネットアドレス」とを項目として有する。また、図２０、図２５及び図２８に示す経路情報１３１は、「送信元サブネットアドレス」に設定されたサブネットアドレスに対応する利用者端末４が送信した第１パケットがサーバ装置２に到達するまでに経由する経路（ルータ３の順序）を示す情報である「経由順序」を項目として有する。
【００６７】
具体的に、図２０に示す経路情報１３１において、「項番」が「１」である情報には、「送信元サブネットアドレス」として「１０．０．０．０／８」が設定され、「経由順序」として「１０．０．０．１（ルータ３ａ）」が設定されている。すなわち、図２０に示す経路情報１３１の「項番」が「１」である情報は、サブネットアドレスが「１０．０．０．０／８」である利用者端末４からサーバ装置２に送信される第１パケットが、ＩＰアドレスが「１０．０．０．１」であるルータ３のみを経由する旨を示している。
【００６８】
また、図２０に示す経路情報１３１において、「項番」が「７」である情報には、「送信元サブネットアドレス」として「１８．０．０．０／８」が設定され、「経由順序」として「１８．０．０．１（ルータ３ｄ）  →  １１．０．０．１（ルータ３ｂ）  →  １０．０．０．１（ルータ３ａ）」が設定されている。すなわち、図２０に示す経路情報１３１の「項番」が「７」である情報は、サブネットアドレスが「１８．０．０．０／８」である利用者端末４からサーバ装置２に送信される第１パケットが、ルータ３ｄ、ルータ３ｂ及びルータ３ａを順に経由する旨を示している。図２０の他の情報については説明を省略する。
【００６９】
図１３に戻り、情報作成部１１２は、ホップ数情報１３２を作成する（Ｓ２３）。以下、ホップ数情報１３２の具体例について説明を行う。
【００７０】
［ホップ数情報の詳細］
図２１、図２６及び図２９は、ホップ数情報１３２の具体例を説明する図である。図２１、図２６及び図２９に示すホップ数情報１３２は、ホップ数情報１３２に含まれる各情報を識別する「項番」と、ルータ３を識別する「ルータ名」と、「ルータ名」に設定されたルータのＩＰアドレスを示す「ＩＰアドレス」とを項目として有する。また、図２１、図２６及び図２９に示すホップ数情報１３２は、サーバ装置２から「ルータ名」に設定されたルータ３までのホップ数を示す「ホップ数」を項目として有する。
【００７１】
具体的に、図２１に示すホップ数情報１３２において、「項番」が「１」である情報には、「ルータ名」として「ルータ３ａ」が設定され、「ＩＰアドレス」として「１０．０．０．１」が設定され、「ホップ数」として「１」が設定されている。また、図２１に示すホップ数情報１３２において、「項番」が「５」である情報には、「ルータ名」として「ルータ３ｆ」が設定され、「ＩＰアドレス」として「１９．０．０．１」が設定され、「ホップ数」として「３」が設定されている。
【００７２】
すなわち、図２１に示すホップ数情報１３２において、「項番」が「５」である情報は、図８等に示すように、サーバ装置２から送信された応答パケットが、ルータ３ｆに到達するまでに３台のルータ（ルータ３ａ、ルータ３ｃ及びルータ３ｆ）が経由することを示している。
【００７３】
図１４に戻り、監視装置１のパケット受信部１１１は、ルータ３ａが第１パケットを受信するまで待機する（Ｓ３１のＮＯ）。そして、ルータ３ａが第１パケットを受信した場合（Ｓ３１のＹＥＳ）、パケット受信部１１１は、Ｓ３１の処理で受信した第１パケットがコネクションの先頭のパケットであるか否かを判定する（Ｓ３２）。その結果、第１パケットがコネクションの先頭のパケットであると判定した場合（Ｓ３２のＹＥＳ）、監視装置１のパケット判定部１１３は、第１パケットがルータ３ａに到達するまでの間に経由した全てのルータ３を特定できるか否かを判定する（Ｓ３３）。
【００７４】
具体的に、パケット判定部１１３は、経路情報１３１に、第１パケットの送信元の利用者端末４ａからサーバ装置２までの経路についての情報が存在するか否かを判定する。そして、第１パケットの送信元の利用者端末４ａからサーバ装置２までの経路についての情報が経路情報１３１に含まれる場合、パケット判定部１１３は、第１パケットがルータ３ａに到達するまでの間に経由した全てのルータ３を特定できると判定する。
【００７５】
また、Ｓ３１の処理で受信した第１パケットがコネクションの先頭のパケットでない場合（Ｓ３２のＮＯ）、パケット受信部１１１は、次の第１パケットを受信するまで待機する（Ｓ３１のＮＯ）。
【００７６】
すなわち、Ｓ３１の処理においてコネクションの先頭でないパケットを受信した場合、パケット受信部１１１は、そのパケットの経路の情報が既に経路情報１３１に存在しているか、そのパケットの経路を特定するための経路探索処理が既に実行されているものと判定することができる。そのため、監視装置１は、この場合、Ｓ３３以降の処理を実行しない。これにより、監視装置１は、経路探索処理を効率的に実行することが可能になる。
【００７７】
さらに、パケット受信部１１１は、第１パケットがルータ３ａに到達するまでの間に経由した全てのルータ３を特定できた場合も同様に（Ｓ３３のＮＯ）、次の第１パケットを受信するまで待機する（Ｓ３１のＮＯ）。
【００７８】
一方、第１パケットがルータ３ａに到達するまでの間に経由した全てのルータ３を特定できない場合（Ｓ３３のＹＥＳ）、監視装置１のパケット更新部１１５は、一時経路情報１３３に情報が存在するか否かを判定する（Ｓ３４）。以下、一時経路情報１３３の具体例について説明を行う。
【００７９】
［一時経路情報の詳細］
図２２、図２３、図２４及び図２７は、一時経路情報１３３の具体例を説明する図である。図２２、図２３、図２４及び図２７に示す一時経路情報１３３は、図２０で説明した経路情報１３１と同じ項目を有している。
【００８０】
具体的に、図２２に示す一時経路情報１３３において、「項番」が「１」である情報には、「送信元サブネットアドレス」として「２０．０．０．０／８」が設定され、「経由順序」として「→  １１．０．０．１（ルータ３ｂ）  →  １０．０．０．１（ルータ３ａ）」が設定されている。すなわち、図２２に示す一時経路情報１３１の「項番」が「１」である情報は、サブネットアドレスが「２０．０．０．０／８」である利用者端末４とサーバ装置２との間に存在するルータ３のうち、ルータ３ｂ及びルータ３ａのみが特定されていることを示している。
【００８１】
図１４に戻り、一時経路情報１３３に情報が存在しない場合（Ｓ３４のＮＯ）、パケット更新部１１５は、第１パケットのＩＰヘッドに含まれる情報から、応答パケットが第１パケットの送信元である利用者端末４ａに到達するために最低限経由する必要があるルータ３の数を特定する（Ｓ３５）。
【００８２】
すなわち、一時経路情報１３３に情報が存在しない場合、その一時経路情報１３３は、特定が行われている途中の経路が存在しないことを示している。そのため、パケット更新部１１５は、この場合、パケット受信部１１１が受信した第１パケットの経路の特定を開始するために、応答パケットのＩＰヘッダに含まれるＴＴＬの更新に用いる情報を取得する。以下、図８等に示すように、更新された応答パケットが利用者端末４ａに到達するために最低限経由する必要があるルータ３の数が「４」（ルータ３ａ、３ｂ、３ｄ及び３ｇ）であるものとして説明を行う。すなわち、以下、図８等に示すように、監視装置１から利用者端末４ａまでのホップ数が「５」であるものとする。
【００８３】
その後、中継器設定部１１４は、第１パケットに対する応答パケットを利用者端末４ａに送信せずに、監視装置１に送信するようにルータ３ａを設定する（Ｓ３６）。これにより、パケット更新部１１５は、応答パケットのＴＴＬの更新を行うことが可能になる。また、中継器設定部１１４は、パケット更新部１１５によってＴＴＬが更新されていない応答パケットが利用者端末４ａに送信されることを防ぐことが可能になる。
【００８４】
そして、中継器設定部１１４は、利用者端末４ａから送信された未到達パケットをサーバ装置２に送信せずに、監視装置１に送信するようにルータ３ａを設定する。また、中継器設定部１１４は、利用者端末４ａから送信された到達パケットをサーバ装置２及び監視装置１に送信するようにルータ３ａを設定する（Ｓ３７）。これにより、中継器設定部１１４は、サーバ装置２に送信する必要がないパケットがサーバ装置２に送信されることを防止することが可能になる。そのため、中継器設定部１１４は、経路探索処理がサーバ装置２で実行されている他の処理に影響を及ぼすことを防止することが可能になる。
【００８５】
一方、Ｓ３４の処理において、一時経路情報１３３に情報が存在する場合（Ｓ３４のＹＥＳ）、監視装置１は、Ｓ３５からＳ３７の処理を行わない。すなわち、パケット受信部１１１が受信した第１パケットがコネクションの先頭のパケットであって（Ｓ３１のＹＥＳ、Ｓ３２のＹＥＳ）、一時経路情報１３３に情報が存在する場合（Ｓ３４のＹＥＳ）とは、経路探索処理の実行中に終了したコネクションが再開した場合である。そのため、この場合、監視装置１は、応答パケットの更新を行うための準備段階の処理（Ｓ３５からＳ３７）を再度実行しない。
【００８６】
そして、Ｓ３７の処理の後、または、一時経路情報１３３に情報が存在した場合（Ｓ３４のＹＥＳ）、監視装置１の中継器特定部１１７は、サーバ装置２と利用者端末４ａとの間の最短経路上に存在するルータ３を特定するための処理（以下、中継器特定処理とも呼ぶ）を実行する（Ｓ３８）。以下、中継器特定処理について説明を行う。
【００８７】
［中継器特定処理］
中継器特定部１１７は、図１６に示すように、一時経路情報１３３に情報が存在するか否か、すなわち、サーバ装置２と利用者端末４ａとの間に存在するルータ３として既に特定されたルータが存在するか否かを判定する（Ｓ５１）。そして、一時経路情報１３３に情報が存在しない場合（Ｓ５１のＮＯ）、中継器特定部１１７は、サーバ装置２からのホップ数が最小であるルータ３を、応答パケットに経由させるルータ３として決定する（Ｓ５２）。
【００８８】
すなわち、一時経路情報１３３に情報が存在しない場合、中継器特定部１１７は、サーバ装置２と利用者端末４ａとの間に存在するルータ３の特定を初めから行う必要がある。そのため、中継器特定部１１７は、図８等に示す例において、サーバ装置２からのホップ数が最小であるルータ３であるルータ３ａを、応答パケットに経由させるルータとして決定する。
【００８９】
一方、一時経路情報１３３に情報が存在する場合（Ｓ５１のＹＥＳ）、中継器特定部１１７は、一時経路情報１３３に情報が含まれるルータ３のうち、サーバ装置２からのホップ数が最大であるルータを選択する。そして、中継器特定部１１７は、この場合、選択したルータからのホップ数が１であるルータを、応答パケットに経由させるルータとして決定する（Ｓ５３）。すなわち、中継器特定部１１７は、この場合、サーバ装置２と利用者端末４ａとの間に存在するルータ３の特定を、一時経路情報１３３に情報が含まれるルータ３の続きから行う。
【００９０】
具体的に、図２２に示す一時経路情報１３３の「項番」が「１」である情報の「経由順序」には、「→  １１．０．０．１（ルータ３ｂ）  →  １０．０．０．１（ルータ３ａ）」が設定されている。そのため、図２２に示す例において、中継器特定部１１７は、サーバ装置２と利用者端末４ａとの間に存在するルータ３として、ルータ３ａ及びルータ３ｂが既に特定されていると判定する。そして、図２１のホップ数情報１３２に示すように、ルータ３ａのホップ数が「１」であり、ルータ３ｂのホップ数が「２」である。したがって、中継器特定部１１７は、サーバ装置２からのホップ数が最大であるルータとしてルータ３ｂを特定する。その後、中継器特定部１１７は、例えば、図２０に示す経路情報１３１の「項番」が「３」である情報を参照し、ルータ３ｂからのホップ数が「１」であるルータ（サーバ装置２からのホップ数が「３」であるルータ）であるルータ３ｄを、応答パケットに経由させるルータとして決定する。
【００９１】
その後、中継器特定部１１７は、Ｓ３１の処理においてパケット受信部１１１が受信した第１パケットがコネクションの最後のパケットであるか否かを判定する（Ｓ５４）。すなわち、受信した第１パケットがコネクションの最後のパケットである場合、サーバ装置２と利用者端末４ａとの間のコネクションが終了するため、監視装置１は、経路探索処理を引き続き実行することができなくなる。したがって、中継器特定部１１７は、この場合、中継器特定処理を終了する。
【００９２】
一方、Ｓ３１の処理においてパケット受信部１１１が受信した第１パケットがコネクションの最後のパケットでない場合（Ｓ５４のＮＯ）、パケット受信部１１１は、サーバ装置２が送信した応答パケット（第１パケットに対する応答パケット）を受信するまで待機する（Ｓ５５のＮＯ）。そして、応答パケットを受信した場合（Ｓ５５のＹＥＳ）、パケット更新部１１５は、Ｓ３５の処理で特定したルータ３の数に基づいて応答パケットを更新する（Ｓ５６）。
【００９３】
具体的に、パケット更新部１１５は、Ｓ３５の処理で特定した数に「１」を加算した値を、応答パケットのＴＴＬに設定する。そのため、第１パケットが利用者端末４ａから送信された場合、パケット更新部１１５は、応答パケットが利用者端末４ａに到達するために最低限経由する必要があるルータ３の数である「４」に「１」を加算した「５」を、応答パケットのＴＴＬに設定する。これにより、パケット更新部１１５は、応答パケットが最短経路を経由した場合にのみ、応答パケットを利用者端末４ａに到達させることが可能になる。
【００９４】
続いて、パケット送信部１１６は、図１７に示すように、中継器特定部１１７の指示に応じて、Ｓ５２、Ｓ５３またはＳ７２の処理で決定したルータ３を経由させるように、利用者端末４ａに向けて応答パケットを送信する（Ｓ６１）。Ｓ７２の処理については後述する。
【００９５】
具体的に、Ｓ５２、Ｓ５３、またはＳ７２の処理においてルータ３ｄに決定した場合、パケット送信部１１６は、ルータ３ｄを経由するように、応答パケットを送信する。なお、パケット送信部１１６は、送信した応答パケットに既に経由させたルータ３を示す情報を蓄積する送信情報（図示しない）を作成するものであってもよい。
【００９６】
その後、パケット受信部１１１が利用者端末４ａから到達パケット（Ｓ６１の処理で送信した応答パケットに対する到達パケット）を受信した場合（Ｓ６２のＹＥＳ）、中継器特定部１１７は、サーバ装置２と利用者端末４ａとの間に存在する全てのルータ３の特定が完了したか否かを判定する。具体的に、中継器特定部１１７は、例えば、サーバ装置２から応答パケットに経由させるルータとして決定したルータ３までのホップ数と、サーバ装置２から利用者端末４ａまでのホップ数との差が２以上であるか否かを判定する（Ｓ６３）。
【００９７】
すなわち、中継器特定部１１７は、利用者端末４ａから到達パケットを受信した場合、Ｓ６１の処理で送信した応答パケットに経由させたルータ３が、サーバ装置２と利用者端末４ａとの間に存在するルータであると判定する。そのため、中継器特定部１１７は、この場合、サーバ装置２と利用者端末４ａとの間に存在する全てのルータ３の特定が完了したか否かの判定を行う。
【００９８】
なお、応答パケットに経由させるルータとして決定したルータ３までのホップ数と、利用者端末４ａまでのホップ数との差が１である場合、中継器特定部１１７は、決定したルータ３と利用者端末４ａとが同じセグメントに配備されていると判定できる。そのため、中継器特定部１１７は、決定したルータ３及び利用者端末４ａまでのそれぞれのホップ数の差が２以上であるか否かの判定を行うことにより、サーバ装置２と利用者端末４ａとの間に存在する全てのルータ３の特定が完了したか否かの判定を行う。
【００９９】
そして、Ｓ６３の処理において、ホップ数の差が２以上でない場合（Ｓ６３のＮＯ）、中継器特定部１１７は、一時経路情報１３３として情報が記憶されたルータ３を、サーバ装置２と利用者端末４ａとの間に存在する全てのルータ３として特定する。また、中継器特定部１１７は、この場合、Ｓ５２、Ｓ５３またはＳ７２の処理において応答パケットに経由させるルータとして決定したルータ３を、サーバ装置２と利用者端末４ａとの間に存在する全てのルータ３として特定する（Ｓ６４）。すなわち、この場合、中継器特定部１１７は、サーバ装置２と利用者端末４ａとの間に存在する全てのルータ３の特定が完了したと判定する。
【０１００】
その後、中継器特定部１１７は、サーバ装置２と利用者端末４ａとの間に存在する全てのルータ３として特定したことに伴い、一時経路情報１３３として記憶された情報を削除する（Ｓ６５）。そして、中継器特定部１１７は、中継器特定処理を終了する。
【０１０１】
一方、ホップ数の差が２以上である場合（Ｓ６３のＹＥＳ）、中継器特定部１１７は、図１８に示すように、Ｓ５２、Ｓ５３またはＳ７２の処理において応答パケットに経由させるルータとして決定したルータ３を、サーバ装置１と利用者端末４ａとの間に存在するルータ３として特定する。そして、中継器特定部１１７は、この場合、特定したルータ３の情報を一時経路情報として記憶する（Ｓ７１）。その後、中継器特定部１１７は、Ｓ７１の処理で特定したルータ３からのホップ数が１であるルータを、応答パケットに経由させるルータとして決定する（Ｓ７２）。
【０１０２】
すなわち、中継器特定部１１７は、この場合、サーバ装置２と利用者端末４ａとの間に存在するルータ３を特定するための処理を引き続き実行する。そのため、中継器特定部１１７は、Ｓ７２の処理において、応答パケットに経由させる新たなルータ３を決定する必要がある。
【０１０３】
具体的に、Ｓ５３の処理において決定したルータ３ｄのホップ数は、図２１に示すように、「３」である。一方、サーバ装置２から利用者端末４ａまでのホップ数は、「５」である。そのため、中継器特定部１１７は、サーバ装置２から応答パケットに経由させるルータとして決定したルータ３までのホップ数と、サーバ装置２から利用者端末４ａまでのホップ数との差が２以上であると判定する（Ｓ６３のＹＥＳ）。
【０１０４】
したがって、中継器特定部１１７は、この場合、図２３の下線部分に示すように、ルータ３ｄを示す「→  １８．０．０．１（ルータ３ｄ）」を、一時経路情報１３３の一部として記憶する（Ｓ７１）。その後、中継器特定部１１７は、経路情報１３１を参照し、例えば、ルータ３ｄからのホップ数が「１」であるルータ３ｈを、応答パケットに経由させるルータ３として決定する（Ｓ７２）。なお、図２０に示す経路情報１３１には、図８等に示すルータ３ｇの情報が含まれていない。そのため、中継器特定部１１７は、ルータ３ｇを応答パケットに経由させるルータ３として決定することはできない。
【０１０５】
その後、パケット受信部１１１は、利用者端末４ａから送信された次の第１パケットに対応する新たな応答パケットを受信するまで待機する（Ｓ７３のＮＯ）。そして、パケット受信部１１１が新たな応答パケットを受信した場合（Ｓ７３のＹＥＳ）、パケット更新部１１５は、Ｓ５６の処理と同様に、Ｓ３５の処理で特定したルータ３の数に基づいて新たな応答パケットを更新する（Ｓ７４）。
【０１０６】
すなわち、パケット受信部１１１が利用者端末４ａから送信された到達パケットを受信した場合、その到達パケットは、サーバ装置２に対しても送信される（Ｓ３７）。そのため、この場合、サーバ装置２が利用者端末４ａに送信した応答パケットに関する処理は完了している。そこで、中継器特定部１１７は、この場合、利用者端末４ａから送信された次の第１パケットに対する新たな応答パケットを受信するまで待機する。そして、中継器特定部１１７は、その新たな応答パケットによって、中継器特定処理を引き続き実行する。
【０１０７】
なお、図２１で説明したホップ数情報１３２に含まれる情報は、経路毎の情報である。そのため、パケット受信部１１１は、Ｓ７３の処理において、サーバ装置２までの経路が利用者端末４ａと同じである利用者端末４からパケットを受信した場合、そのパケットを用いてＳ７４以降の処理を行うものであってよい。
【０１０８】
その後、中継器特定部１１７は、中継器特定処理が終了するまで、Ｓ６１以降の処理を再度実行する。
【０１０９】
一方、利用者端末４ａ等から未到達パケットを受信した場合（Ｓ６２のＮＯ、Ｓ８１のＹＥＳ）、中継器特定部１１７は、図１９に示すように、サーバ装置２からのホップ数が、Ｓ５２、Ｓ５３またはＳ７２の処理で決定したルータ３と同じホップ数であるルータ３が存在するか否かを判定する（Ｓ８３）。
【０１１０】
具体的に、図８等に示す例において、利用者端末４ａは、ルータ３ｈから先に続く経路上に存在しない。そのため、Ｓ６１の処理において送信された応答パケットは、利用者端末４ａに到達しない。したがって、この場合、パケット受信部１１１は、再送された第１パケット（未到達パケット）を受信する（Ｓ８１のＹＥＳ）。
【０１１１】
これにより、中継器特定部１１７は、ルータ３ｈ（Ｓ５２、Ｓ５３またはＳ７２の処理で決定したルータ３）がサーバ装置２と利用者端末４ａとの間に存在するルータではないと判定することが可能になる。そのため、中継器特定部１１７は、サーバ装置２と利用者端末４ａとの間に存在するルータの特定を引き続き行う。
【０１１２】
なお、利用者端末４等から未到達パケットを受信できない場合（Ｓ６２のＮＯ、Ｓ８１のＮＯ）、中継器特定部１１７は、利用者端末４ａに向けて応答パケットを送信してから経過した時間が所定のタイムアウト時間を経過するまで待機する（Ｓ８２のＮＯ）。そして、利用者端末４ａに向けて応答パケットを送信してから経過した時間が所定のタイムアウト時間を経過するまで待機した結果、利用者端末４等から送信された未到達パケットを受信できない場合についても（Ｓ８２のＹＥＳ）、中継器特定部１１７は、Ｓ８３の処理を実行する。
【０１１３】
また、中継器特定部１１７は、Ｓ８３の処理において、Ｓ６１の処理で説明した送信情報を参照するものであってもよい。そして、中継器特定部１１７は、既に送信した応答パケットに経由させていないルータ３に、Ｓ５２、Ｓ５３またはＳ７２の処理で決定したルータ３と同じホップ数であるルータ３が存在するか否かを判定するものであってもよい（Ｓ８３）。これにより、中継器特定部１１７は、既に送信した応答パケットが経由したルータ３を経由する応答パケットが再度送信されることを防ぐことが可能になる。
【０１１４】
そして、Ｓ８３の処理の結果、サーバ装置２からのホップ数が同じホップ数であるルータ３が存在すると判定した場合（Ｓ８３のＹＥＳ）、中継器特定部１１７は、Ｓ５２、Ｓ５３またはＳ７２で決定したルータ３とホップ数が同じであるルータ３を、応答パケットに経由させるルータとして特定する（Ｓ８４）。
【０１１５】
なお、Ｓ８４の処理が実行される場合、Ｓ６１の処理で送信した応答パケットに対する到達パケットは、サーバ装置２にまだ送信されていない。そのため、中継器特定部１１７は、この場合、Ｓ６１の処理で送信した応答パケットを用いて中継器特定処理を引き続き実行する。これにより、中継器特定部１１７は、Ｓ６１の処理で送信した応答パケットに対する到達パケットの送信を待ちながら、中継特定処理を引き続き実行することが可能になる。
【０１１６】
そして、Ｓ８４の処理の後、中継器特定部１１７は、例えば、利用者端末４ａが第１パケットの再送を行うまでの時間が所定時間（例えば、１００（ｍｓ））以下であるか否かを判定する（Ｓ８５）。具体的に、中継器特定部１１７は、例えば、各利用者端末４がパケットの再送を行う時間間隔を示す情報を予め取得する。そして、中継器特定部１１７は、例えば、取得した情報を参照することによって、利用者端末４ａが第１パケットの再送を行うまでの時間が所定時間以下になっているか否かの判定を行う。
【０１１７】
その結果、利用者端末４ａが第１パケットの再送を行うまでの時間が所定時間以下である場合（Ｓ８５のＹＥＳ）、中継器特定部１１７は、中継器特定処理を終了する。これにより、中継器特定部１１７は、利用者端末４ａによる第１パケットの再送を防止することが可能になる。そのため、中継器特定部１１７は、経路探索処理が利用者端末４ａで実行されている他の処理に影響を及ぼすことを防止することが可能になる。
【０１１８】
その後、中継器特定部１１７は、中継器特定処理が終了するまで、Ｓ６１以降の処理を再度実行する。
【０１１９】
一方、サーバ装置２からのホップ数が同じホップ数であるルータ３が存在しないと判定した場合（Ｓ８３のＮＯ）、中継器特定部１１７は、経路情報１３３に情報が含まれていないルータ３（以下、仮ルータ３または仮中継器３とも呼ぶ）が存在するものと判定する。そして、この場合、中継器特定部１１７は、ホップ数がＳ５２、Ｓ５３またはＳ７２で決定したルータ３のホップ数と同じホップ数から、Ｓ３５の処理で特定したホップ数までのホップ数に対応するそれぞれの仮ルータ３の情報を、一時経路情報１３３として記憶する（Ｓ８６）。
【０１２０】
すなわち、一時経路情報１３３に情報が含まれるルータ３のうち、サーバ装置２からのホップ数が最大であるルータ３からのホップ数が「１」である全てのルータ３から到達パケットが送信されない場合、経路情報１３３には、サーバ装置２と利用者端末４ａとの間に存在する全てのルータ３の情報が含まれていないことになる。そのため、この場合、中継器特定部１１７は、一時経路情報１３３に情報が含まれるルータ３であって、サーバ装置２からのホップ数が最大であるルータ３からのホップ数が「１」であるルータ３として、経路情報１３３に情報が含まれていない仮ルータ３が存在すると判定する。
【０１２１】
これにより、中継器特定部１１７は、サーバ装置２と利用者端末４ａとの間に存在するルータ３のうち、情報が取得できないルータについても存在を特定することが可能になる。そして、情報作成部１１２は、後述するように、情報が取得できないルータの情報についても、経路情報１３３の一部として情報格納領域１３０に記憶する。そのため、事業者は、例えば、情報が取得できないルータを含むネットワークにおいて障害が発生した場合においても、経路情報１３３を参照することにより、障害の発生場所の特定等を行うことが可能になる。
【０１２２】
具体的に、図２０に示す経路情報１３１には、ルータ３ｄに直接接続するルータであって、ルータ３ｈと同じホップ数であるルータの情報が含まれていない（Ｓ８３）。そのため、中継器特定部１１２は、図２４に示すように、ルータ３ｄに直接接続するルータであって、ルータ３ｈと同じホップ数である仮ルータ３ｇ（ＩＰアドレスが「Ｘ．Ｘ．Ｘ．Ｘ」であるルータ）の情報を、一時経路情報１３３の一部として情報格納領域１３０に記憶する。
【０１２３】
なお、Ｓ５２、Ｓ５３またはＳ７２で決定したルータ３のホップ数と、サーバ装置２から利用者端末４ａまでのホップ数との差が２以上である場合、中継器特定部１１７は、２以上の仮ルータ３の情報を、一時経路情報１３３の一部として情報格納領域１３０に記憶する。
【０１２４】
Ｓ８６の処理の後、パケット送信部１１６は、利用者端末４ａに対して応答パケットを送信する（Ｓ８７）。すなわち、Ｓ８６の処理が行われた場合、サーバ装置２は、Ｓ６１の処理で利用者端末４ａに向けて送信された応答パケットに対する到達パケットを受信していない。そのため、パケット送信部１１６は、Ｓ８７の処理を実行することにより、サーバ装置２に、Ｓ６１の処理で送信した応答パケットに対する到達パケットを受信させることが可能になる。その後、中継器特定部１１７は、中継器特定処理を終了する。
【０１２５】
図１４に戻り、Ｓ３８の処理が実行された後、情報作成部１１２は、図１５に示すように、Ｓ３８の処理で特定したルータ３の情報を経路情報１３１として情報格納領域１３０に記憶する（Ｓ４１）。具体的に、情報作成部１１２は、図２５の下線部分に示すように、図２４で説明した一時経路情報１３３の内容を、経路情報１３１の一部として記憶する。
【０１２６】
また、情報作成部１１２は、Ｓ３８の処理で特定した各ルータ３までのホップ数をホップ数情報１３２として情報格納領域１３０に記憶する（Ｓ４２）。具体的に、情報作成部１１２は、図２６の下線部分に示すように、図２４で説明した仮ルータ３ｇのホップ数（ルータ３ｈのホップ数と同じ値である「４」）を、ホップ数情報１３２の一部として記憶する。
【０１２７】
その後、中継器設定部１１４は、応答パケットの利用者端末４ａとの間におけるパケットの送受信に関するルータ３ａの設定を解除する（Ｓ４３）。そして、監視装置１は、経路探索処理を継続しない場合(Ｓ４４のＹＥＳ)、経路探索処理を終了する。一方、監視装置１は、経路探索処理を継続する場合(Ｓ４４のＮＯ)、Ｓ３１以降の処理を再度実行する。
【０１２８】
なお、図２６等に示す例において、ルータ３ｇのサブネットアドレスが利用者端末４ａと同じ「２０．０．０．０／８」であると判定できる場合、情報作成部１１２は、「２０．０．０．０／８」に含まれるＩＰアドレス（例えば、２０．０．０．１）を、ルータ３ｇのＩＰアドレスとして仮に決定するものであってもよい。そして、情報作成部１１２は、仮に決定したＩＰアドレスを使用して、経路情報１３１やホップ数情報１３２を作成するものであってもよい。
【０１２９】
次に、Ｓ５２、Ｓ５３またはＳ７２で決定したルータ３のホップ数と、サーバ装置２から利用者端末４ａまでのホップ数との差が２以上ある場合におけるＳ８６の処理について説明を行う。この場合、中継器特定部１１７は、２台以上の仮ルータ３が存在するものと判定する。
【０１３０】
具体的に、図８等に示す利用者端末４ｃがサーバ装置２に向けて第１パケットを送信した場合、中継器特定部１１７は、Ｓ８６の処理において、サーバ装置２からのホップ数がルータ３ｄのホップ数である「３」と同じである仮ルータ３ｅの存在を特定する。また、Ｓ３５の処理で特定したホップ数は「４」であるため、中継器特定部１１７は、この場合、Ｓ８６の処理において、さらに、サーバ装置２からのホップ数が「４」と同じである仮ルータ３ｉの存在を特定する。
【０１３１】
したがって、中継器特定部１１７は、図２７の一時経路情報１３３に示すように、例えば、「項番」が「１」である情報の「送信元サブネットアドレス」に「１４．０．０．０／８」を設定し、「経由順序」に「Ｚ．Ｚ．Ｚ．Ｚ（ルータ３ｉ）  →  Ｙ．Ｙ．Ｙ．Ｙ（ルータ３ｅ）  →  １１．０．０．１（ルータ３ｂ）  →  １０．０．０．１（ルータ３ａ）」を設定する（Ｓ８６）。
【０１３２】
その後、情報作成部１１２は、図２８の経路情報１３１の下線部分に示すように、例えば、図２７に示す一時経路情報１３３と同じ内容の情報を、「項番」が「１０」である情報として設定する（Ｓ４１）。
【０１３３】
また、情報作成部１１２は、図２９のホップ数情報１３２の下線部分に示すように、例えば、「項番」が「１０」である情報の「ルータ名」に「ルータ３ｅ」を設定し、「ＩＰアドレス」に「Ｙ．Ｙ．Ｙ．Ｙ」を設定し、「ホップ数」に「３」を設定する。さらに、情報作成部１１２は、図２９のホップ数情報１３２の下線部分に示すように、例えば、「項番」が「１１」である情報の「ルータ名」に「ルータ３ｉ」を設定し、「ＩＰアドレス」に「Ｚ．Ｚ．Ｚ．Ｚ」を設定し、「ホップ数」に「４」を設定する（Ｓ４２）。
【０１３４】
これにより、中継器特定部１１７は、Ｓ８６の処理において、ホップ数の差が２以上である場合であっても、情報が取得できないルータ３の存在を特定することが可能になる。
【０１３５】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１３６】
（付記１）
コンピュータに、
第１装置によって送受信されるパケットが経由する中継器に関する情報である経路情報を作成し、
前記経路情報に情報が含まれる第１中継器が、第２装置から前記第１装置に向けて送信された第１パケットを受信した場合において、前記経路情報に基づいて前記第１パケットが経由した全ての中継器を特定できない場合、前記第１装置から送信された、前記第１パケットに対する応答パケットを前記第２装置に送信しないように前記第１中継器に設定し、
前記第１中継器が前記応答パケットを受信する毎に、前記応答パケットを前記第１中継器から取得し、取得した前記応答パケットが中継可能な中継器の数を、前記応答パケットが前記第２装置に到達するために最低限経由する必要がある中継器の数に更新し、
前記第１装置からのホップ数が少ない順に経由させる中継器を変えながら、更新した前記応答パケットを前記第２装置に向けて１回以上送信し、送信した前記応答パケットが前記第２装置に到達したか否かの情報に基づき、前記第１装置と前記第２装置との間に存在する中継器を特定する、
処理を実行させることを特徴とする経路探索プログラム。
【０１３７】
（付記２）
付記１において、
前記中継器の数を更新する処理では、前記第１パケットのＩＰヘッダに含まれる情報から、前記応答パケットが前記第２装置に到達するために最低限経由する必要がある中継器の数を特定する、
ことを特徴とする経路探索プログラム。
【０１３８】
（付記３）
付記１において、
前記中継器を特定する処理では、
既に特定された前記中継器が存在しない場合、前記第１装置からのホップ数が最小である中継器を１つずつ経由させるように、更新した前記応答パケットを前記第２装置に向けて順に送信し、既に特定された前記中継器が存在する場合、特定された前記中継器から、前記第１装置からのホップ数が最大である中継器を選択し、選択した前記中継器からのホップ数が１である中継器を１つずつ経由させるように、更新した前記応答パケットを前記第２装置に向けて順に送信し、
前記応答パケットが前記第２装置に到達した場合、前記第２装置に到達した前記応答パケットに経由させた中継器を前記第１装置と前記第２装置との間に存在する中継器として特定し、特定した前記中継器の情報により前記経路情報を更新し、
前記第１装置と前記第２装置との間に存在する中継器として特定された中継器の数が、前記第１装置と前記第２装置との間に存在する中継器の数になるまで、前記応答パケットを送信する処理及び前記経路情報を更新する処理を繰り返し実行する、
ことを特徴とする経路探索プログラム。
【０１３９】
（付記４）
付記３において、
前記中継器を特定する処理では、前記応答パケットが前記第２装置に到達したことを示す到達パケットを、前記第１中継器が前記第２装置から受信した場合に、送信した前記応答パケットが前記第２装置に到達したと判定する、
ことを特徴とする経路探索プログラム。
【０１４０】
（付記５）
付記３において、
前記中継器を特定する処理では、前記応答パケットが前記第２装置に到達しなかったことを示す未到達パケットを、前記第１中継器が受信した場合に、送信した前記応答パケットが前記第２装置に到達しなかったと判定する、
ことを特徴とする経路探索プログラム。
【０１４１】
（付記６）
付記５において、
前記未到達パケットは、前記第１パケットに対する応答パケットが前記第１装置から送信されないことに応じて、前記第２装置が前記第１装置に向けて再送する前記第１パケットを含む、
ことを特徴とする経路探索プログラム。
【０１４２】
（付記７）
付記５において、
前記未到達パケットは、中継可能な中継器の数を経由した前記応答パケットの存在を検知したことに応じて、中継可能な中継器の数を経由した前記応答パケットの存在を検知した中継器が前記第１中継器に送信するパケットを含む、
ことを特徴とする経路探索プログラム。
【０１４３】
（付記８）
付記３において、
前記中継器を特定する処理では、
特定された前記中継器の数が前記第１中継器と前記第２装置との間に存在する中継器の数になる前に、前記第１装置と前記第２装置との間のコネクションが終了した場合、前記中継器を特定する処理の実行を中止し、
前記第１中継器が前記第２装置から前記第１装置に向けて送信された新たなパケットを受信した場合、前記中継器を特定する処理の実行を再開する、
ことを特徴とする経路探索プログラム。
【０１４４】
（付記９）
付記３において、
前記中継器を特定する処理では、送信した前記応答パケットのうち、前記第２装置に到達した前記応答パケットが存在しない場合、前記第１装置からのホップ数が前記第２装置に到達した前記応答パケットに経由させた中継器のホップ数と同じである仮中継器が存在すると判定し、前記仮中継器を前記第１装置と前記第２装置との間に存在する中継器として特定する、
ことを特徴とする経路探索プログラム。
【０１４５】
（付記１０）
付記３において、
前記中継器を特定する処理では、
特定された前記中継器の数が前記第１中継器と前記第２装置との間に存在する中継器の数になる前に、前記第２装置が前記第１パケットを再送するまでの時間が所定時間以下になった場合、前記中継器を特定する処理の実行を中止し、
前記第１中継器が前記第２装置から前記第１装置に向けて送信された新たなパケットを受信した場合、前記中継器を特定する処理の実行を再開する、
ことを特徴とする経路探索プログラム。
【０１４６】
（付記１１）
第１装置によって送受信されるパケットが経由する中継器に関する情報である経路情報を作成する情報作成部と、
前記経路情報に情報が含まれる第１中継器が、第２装置から前記第１装置に向けて送信された第１パケットを受信した場合において、前記経路情報に基づいて前記第１パケットが経由した全ての中継器を特定できない場合、前記第１装置から送信された、前記第１パケットに対する応答パケットを前記第２装置に送信しないように前記第１中継器に設定する中継器設定部と、
前記第１中継器が前記応答パケットを受信する毎に、前記応答パケットを前記第１中継器から取得し、取得した前記応答パケットが中継可能な中継器の数を、前記応答パケットが前記第２装置に到達するために最低限経由する必要がある中継器の数に更新するパケット更新部と、
前記第１装置からのホップ数が少ない順に経由させる中継器を変えながら、更新した前記応答パケットを前記第２装置に向けて１回以上送信し、送信した前記応答パケットが前記第２装置に到達したか否かの情報に基づき、前記第１装置と前記第２装置との間に存在する中継器を特定する中継器特定部とを有する、
ことを特徴とする経路探索装置。
【０１４７】
（付記１２）
付記１１において、
前記中継器特定部は、
既に特定された前記中継器が存在しない場合、前記第１装置からのホップ数が最小である中継器を１つずつ経由させるように、更新した前記応答パケットを前記第２装置に向けて順に送信し、既に特定された前記中継器が存在する場合、特定された前記中継器から、前記第１装置からのホップ数が最大である中継器を選択し、選択した前記中継器からのホップ数が１である中継器を１つずつ経由させるように、更新した前記応答パケットを前記第２装置に向けて順に送信し、
前記応答パケットが前記第２装置に到達した場合、前記第２装置に到達した前記応答パケットに経由させた中継器を前記第１装置と前記第２装置との間に存在する中継器として特定し、特定した前記中継器の情報により前記経路情報を更新し、
前記第１装置と前記第２装置との間に存在する中継器として特定された中継器の数が、前記第１装置と前記第２装置との間に存在する中継器の数になるまで、前記応答パケットを送信する処理及び前記経路情報を更新する処理を繰り返し実行する、
ことを特徴とする経路探索装置。
【０１４８】
（付記１３）
付記１２において、
前記中継器特定部は、送信した前記応答パケットのうち、前記第２装置に到達した前記応答パケットが存在しない場合、前記第１装置からのホップ数が前記第２装置に到達した前記応答パケットに経由させた中継器のホップ数と同じである仮中継器が存在すると判定し、前記仮中継器を前記第１装置と前記第２装置との間に存在する中継器として特定する、
ことを特徴とする経路探索装置。
【０１４９】
（付記１４）
第１装置によって送受信されるパケットが経由する中継器に関する情報である経路情報を作成し、
前記経路情報に情報が含まれる第１中継器が、第２装置から前記第１装置に向けて送信された第１パケットを受信した場合において、前記経路情報に基づいて前記第１パケットが経由した全ての中継器を特定できない場合、前記第１装置から送信された、前記第１パケットに対する応答パケットを前記第２装置に送信しないように前記第１中継器に設定し、
前記第１中継器が前記応答パケットを受信する毎に、前記応答パケットを前記第１中継器から取得し、取得した前記応答パケットが中継可能な中継器の数を、前記応答パケットが前記第２装置に到達するために最低限経由する必要がある中継器の数に更新し、
前記第１装置からのホップ数が少ない順に経由させる中継器を変えながら、更新した前記応答パケットを前記第２装置に向けて１回以上送信し、送信した前記応答パケットが前記第２装置に到達したか否かの情報に基づき、前記第１装置と前記第２装置との間に存在する中継器を特定する、
ことを特徴とする経路探索方法。
【０１５０】
（付記１５）
付記１４において、
前記中継器を特定する工程では、
既に特定された前記中継器が存在しない場合、前記第１装置からのホップ数が最小である中継器を１つずつ経由させるように、更新した前記応答パケットを前記第２装置に向けて順に送信し、既に特定された前記中継器が存在する場合、特定された前記中継器から、前記第１装置からのホップ数が最大である中継器を選択し、選択した前記中継器からのホップ数が１である中継器を１つずつ経由させるように、更新した前記応答パケットを前記第２装置に向けて順に送信し、
前記応答パケットが前記第２装置に到達した場合、前記第２装置に到達した前記応答パケットに経由させた中継器を前記第１装置と前記第２装置との間に存在する中継器として特定し、特定した前記中継器の情報により前記経路情報を更新し、
前記第１装置と前記第２装置との間に存在する中継器として特定された中継器の数が、前記第１装置と前記第２装置との間に存在する中継器の数になるまで、前記応答パケットを送信する処理及び前記経路情報を更新する処理を繰り返し実行する、
ことを特徴とする経路探索方法。
【０１５１】
（付記１６）
付記１５において、
前記中継器を特定する工程では、送信した前記応答パケットのうち、前記第２装置に到達した前記応答パケットが存在しない場合、前記第１装置からのホップ数が前記第２装置に到達した前記応答パケットに経由させた中継器のホップ数と同じである仮中継器が存在すると判定し、前記仮中継器を前記第１装置と前記第２装置との間に存在する中継器として特定する、
ことを特徴とする経路探索方法。
【符号の説明】
【０１５２】
１：監視装置                ２：サーバ装置
３：ルータ                  ４：利用者端末
【図１】
2017112450.tif 000003
【図２】
2017112450.tif 000004
【図３】
2017112450.tif 000005
【図４】
2017112450.tif 000006
【図５】
2017112450.tif 000007
【図６】
2017112450.tif 000008
【図７】
2017112450.tif 000009
【図８】
2017112450.tif 000010
【図９】
2017112450.tif 000011
【図１０】
2017112450.tif 000012
【図１１】
2017112450.tif 000013
【図１２】
2017112450.tif 000014
【図１３】
2017112450.tif 000015
【図１４】
2017112450.tif 000016
【図１５】
2017112450.tif 000017
【図１６】
2017112450.tif 000018
【図１７】
2017112450.tif 000019
【図１８】
2017112450.tif 000020
【図１９】
2017112450.tif 000021
【図２０】
2017112450.tif 000022
【図２１】
2017112450.tif 000023
【図２２】
2017112450.tif 000024
【図２３】
2017112450.tif 000025
【図２４】
2017112450.tif 000026
【図２５】
2017112450.tif 000027
【図２６】
2017112450.tif 000028
【図２７】
2017112450.tif 000029
【図２８】
2017112450.tif 000030
【図２９】
2017112450.tif 000031