(57)【要約】【課題】詳細な通信区間の通信時間を推定する。【解決手段】解析装置１４は、ＴＣＰタイムスタンプオプションのタイムスタンプ値（ＴＳｖａｌ）と、タイムスタンプ値の基準時刻と、タイムスタンプ値がカウントアップされる時間間隔とを用いて、応答パケットの通信装置１６での送信時刻ｔｓｎｄを推定し、応答パケットの通信装置１６から解析装置１２への通信時間ｄｎ２ｍ、及び送信パケットの解析装置１２から通信装置１６への通信時間ｄｍｎ２を推定する。【選択図】図９
2020150359.tif 000002
【特許請求の範囲】
【請求項１】
第１通信装置から第２通信装置に送信される送信パケット、及び前記第２通信装置から前記第１通信装置に応答される応答パケットであって、前記第２通信装置で予め定められた時間間隔でカウントされる値を含む応答パケットをキャプチャする観測装置によりキャプチャされた前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の間の前記カウントされる値がカウントされたと推定される時刻と、前記応答パケットに含まれる前記カウントされる値と、前記時間間隔とを用いて、前記カウントされる値の基準時刻を算出し、
前記基準時刻、前記カウントされる値、及び前記時間間隔を用いて、前記第２通信装置における前記応答パケットの送信時刻を推定し、
前記送信時刻を用いて、前記送信パケットの前記観測装置から前記第２通信装置への通信時間、及び前記応答パケットの前記第２通信装置から前記観測装置への通信時間を推定する
処理をコンピュータに実行させるための解析プログラム。
【請求項２】
前記到着時刻の間の前記カウントされる値がカウントされたと推定される時刻は、前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の平均時刻である
請求項１に記載の解析プログラム。
【請求項３】
前記平均時刻は、所定期間内に前記カウントされる値がカウントされた前記応答パケットの前記観測装置への到着時刻と、前記カウントされる値がカウントされる前の前記応答パケットに対応する前記送信パケットの前記観測装置への到着時刻との平均時刻である
請求項２に記載の解析プログラム。
【請求項４】
前記観測装置によりキャプチャされた第１のパケット、及び前記第１のパケットから前記カウントされる値が所定値以上カウントされた第２のパケットそれぞれの前記観測装置への到着時刻と前記カウントされる値とを用いて、前記時間間隔を算出する
請求項１から請求項３の何れか１項に記載の解析プログラム。
【請求項５】
前記応答パケットが、所定期間内に前記カウントされる値がカウントされたパケットである場合に、前記送信時刻を推定する
請求項１から請求項４の何れか１項に記載の解析プログラム。
【請求項６】
前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の時間差が、前記応答パケット及び前記応答パケットに対応する前記送信パケットそれぞれの前記観測装置への到着時刻の時間差であるラウンドトリップ時間の基準値に所定のマージンを加味した値以下の場合に、前記基準時刻を算出する
請求項１から請求項５の何れか１項に記載の解析プログラム。
【請求項７】
前記ラウンドトリップ時間を計測し、
計測したラウンドトリップ時間が、前記基準値以下の場合に、前記基準値を、計測したラウンドトリップ時間の平均値に更新する
請求項６に記載の解析プログラム。
【請求項８】
推定した前記通信時間が閾値を超える場合に、前記通信時間が前記閾値を超えた通信区間を表す情報を表示装置に表示する制御を行う
処理を更に前記コンピュータに実行させるための請求項１から請求項７の何れか１項に記載の解析プログラム。
【請求項９】
前記応答パケットは、ペイロード長が０のパケットである
請求項１から請求項８の何れか１項に記載の解析プログラム。
【請求項１０】
前記送信パケットは、ＴＣＰに従って前記第１通信装置から送信されたパケットであり、
前記応答パケットは、ＴＣＰのＡＣＫパケットであり、
前記カウントされる値は、ＴＣＰタイムスタンプオプションのタイムスタンプ値である
請求項１から請求項９の何れか１項に記載の解析プログラム。
【請求項１１】
第１通信装置から第２通信装置に送信される送信パケット、及び前記第２通信装置から前記第１通信装置に応答される応答パケットであって、前記第２通信装置で予め定められた時間間隔でカウントされる値を含む応答パケットをキャプチャする観測装置によりキャプチャされた前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の間の前記カウントされる値がカウントされたと推定される時刻と、前記応答パケットに含まれる前記カウントされる値と、前記時間間隔とを用いて、前記カウントされる値の基準時刻を算出する基準時刻算出部と、
前記基準時刻、前記カウントされる値、及び前記時間間隔を用いて、前記第２通信装置における前記応答パケットの送信時刻を推定する送信時刻推定部と、
前記送信時刻を用いて、前記送信パケットの前記観測装置から前記第２通信装置への通信時間、及び前記応答パケットの前記第２通信装置から前記観測装置への通信時間を推定する通信時間推定部と、
を含む解析装置。
【請求項１２】
第１通信装置から第２通信装置に送信される送信パケット、及び前記第２通信装置から前記第１通信装置に応答される応答パケットであって、前記第２通信装置で予め定められた時間間隔でカウントされる値を含む応答パケットをキャプチャする観測装置によりキャプチャされた前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の間の前記カウントされる値がカウントされたと推定される時刻と、前記応答パケットに含まれる前記カウントされる値と、前記時間間隔とを用いて、前記カウントされる値の基準時刻を算出し、
前記基準時刻、前記カウントされる値、及び前記時間間隔を用いて、前記第２通信装置における前記応答パケットの送信時刻を推定し、
前記送信時刻を用いて、前記送信パケットの前記観測装置から前記第２通信装置への通信時間、及び前記応答パケットの前記第２通信装置から前記観測装置への通信時間を推定する
処理をコンピュータが実行する解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、解析プログラム、解析装置、及び解析方法に関する。
【背景技術】
【０００２】
従来、ユーザ端末とサーバとの間で送受信される複数のパケットをキャプチャし、キャプチャしたパケットからラウンドトリップ時間を算出する技術が開示されている。この技術を利用して、算出したラウンドトリップ時間が基準値を超える場合に、サーバに送信されたパケットに含まれる送信元Internet Protocol（ＩＰ）アドレスが接続するネットワークの種類を識別する技術が開示されている（例えば、特許文献１参照）。
【０００３】
また、Transmission Control Protocol（ＴＣＰ）のウィンドウサイズとラウンドトリップ時間とから実効スループットを算出し、算出した実効スループットに応じて、一時的にパケットを蓄積するキューでのパケットの滞留時間を調整する技術が開示されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１１５８２４号公報
【特許文献２】特開２０１５−１０６８８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述した技術では、第１通信装置から送信されるパケット及び第２通信装置から応答されるパケットをキャプチャする観測装置への各パケットの到着時刻から、ラウンドトリップ時間を得ることができる。換言すると、観測装置から第２通信装置を往復する通信区間の通信時間を得ることができる。
【０００６】
しかしながら、前述した技術では、観測装置から第２通信装置までの往路の通信区間及び第２通信装置から観測端末までの復路の通信区間等の詳細な通信区間の通信時間を得ることはできない。
【０００７】
開示の技術は、一つの側面として、詳細な通信区間の通信時間を推定することを目的とする。
【課題を解決するための手段】
【０００８】
開示の技術は、一つの態様として、第１通信装置から第２通信装置に送信される送信パケットが観測装置によりキャプチャされる。また、前記第２通信装置から前記第１通信装置に応答される応答パケットであって、前記第２通信装置で予め定められた時間間隔でカウントされる値を含む応答パケットが観測装置によりキャプチャされる。また、前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の間の前記カウントされる値がカウントされたと推定される時刻と、前記カウントされる値と、前記時間間隔とを用いて、前記カウントされる値の基準時刻を算出する。また、前記基準時刻、前記カウントされる値、及び前記時間間隔を用いて、前記第２通信装置における前記応答パケットの送信時刻を推定する。そして、前記送信時刻を用いて、前記送信パケットの前記観測装置から前記第２通信装置への通信時間、及び前記応答パケットの前記第２通信装置から前記観測装置への通信時間を推定する。
【発明の効果】
【０００９】
開示の技術は、一つの側面として、詳細な通信区間の通信時間を推定することができる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る解析システムの概略構成を示すブロック図である。
【図２】実施形態に係る解析装置の処理の概要を説明するための図である。
【図３】実施形態に係る解析装置の機能ブロック図である。
【図４】実施形態に係るパケット情報テーブルの一例を示す図である。
【図５】実施形態に係る解析情報テーブルの一例を示す図である。
【図６】実施形態に係る計測ＲＴＴを説明するための図である。
【図７】実施形態に係るカウントアップ間隔を説明するための図である。
【図８】実施形態に係る応答パケット及び送信パケットそれぞれの解析装置への到着時刻の時間差を説明するための図である。
【図９】実施形態に係る推定対象の通信時間を説明するための図である。
【図１０】実施形態に係る通信時間が閾値を超えた通信区間を表す情報を表示する画面の一例を示す図である。
【図１１】実施形態に係る解析装置として機能するコンピュータの概略構成を示すブロック図である。
【図１２】実施形態に係る解析処理の一例を示すフローチャートである。
【図１３】実施形態に係る基準ＲＴＴ算出処理の一例を示すフローチャートである。
【図１４】実施形態に係る基準時刻算出処理の一例を示すフローチャートである。
【図１５】実施形態に係る通信時間推定処理の一例を示すフローチャートである。
【図１６】実施形態に係る通信時間の推定結果の一例を示す図である。
【図１７】実施形態に係るカウントアップされる値がカウントアップされていない状態の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、開示の技術の実施形態の例を詳細に説明する。なお、以下では、開示の技術を、ＴＣＰに従った通信のパケットを解析する解析装置に適用した形態例を説明する。
【００１２】
まず、図１を参照して、本実施形態に係る解析システム１０の構成を説明する。図１に示すように、解析システム１０は、解析装置１２、通信装置１４、通信装置１６、及びネットワーク機器１８を含む。通信装置１４及び通信装置１６の例としては、パーソナルコンピュータ及びサーバコンピュータ等の情報処理装置、並びにスイッチングハブ及びルータ等のネットワーク機器等のＴＣＰに従った通信が可能な装置が挙げられる。通信装置１４及び通信装置１６間の通信は、ＴＣＰに従って行われる。
【００１３】
ネットワーク機器１８は、通信装置１４と通信装置１６との通信経路内に設けられ、通信装置１４と通信装置１６との間で通信されるパケットをコピーし、コピーしたパケットを解析装置１２に送信する。ネットワーク機器１８の例としては、ＴＡＰ又はポートミラーリング機能を有するスイッチングハブ等が挙げられる。
【００１４】
解析装置１２は、ネットワーク機器１８に接続され、通信装置１４と通信装置１６との間で通信されるパケットをネットワーク機器１８から受信し、受信したパケットを用いて解析を行う。すなわち、本実施形態では、解析装置１２が、通信装置１４と通信装置１６との間で通信されるパケットをキャプチャする観測装置も兼ねている。解析装置１２の例としては、サーバコンピュータ等の情報処理装置が挙げられる。以下では、説明を分かり易くするために、通信装置１４が送信対象のデータを含むパケットを送信する第１通信装置である場合を例に説明する。また、以下では、通信装置１６が通信装置１４から送信されたパケットを受信し、パケットを正常に受信したことを表すパケットを応答する第２通信装置である場合を例に説明する。
【００１５】
次に、解析装置１２の詳細な機能の説明をする前に、図２を参照して、解析装置１２が行う処理の概要を説明する。
【００１６】
一例として図２に示すように、通信装置１４が、ＴＣＰに従ってデータを含むパケットＤ１を通信装置１６に送信する。通信装置１６は、通信装置１４から送信されたパケットＤ１を正常に受信すると、パケットＤ１に対応するパケットＡ１を通信装置１４に応答する。なお、以下では、ＴＣＰに従って通信装置１４から通信装置１６に送信されるパケットを「送信パケット」といい、通信装置１６から通信装置１４に応答されるパケットを「応答パケット」という。応答パケットは、具体的にはＴＣＰのＡＣＫパケットである。送信パケット及び応答パケットは、ネットワーク機器１８によってコピーされて解析装置１２に送信される。
【００１７】
図２に示すように、解析装置１２は、応答パケット及び応答パケットに対応する送信パケットそれぞれの解析装置１２への到着時刻の差を算出することによって、ラウンドトリップ時間（ＲＴＴ：Round Trip Time）を計測することができる。しかしながら、ＲＴＴだけでは、解析装置１２から通信装置１６を往復する通信区間の通信時間は得ることはできるものの、解析装置１２から通信装置１６までの通信区間及び通信装置１６から解析装置１２までの通信区間の通信時間を得ることはできない。
【００１８】
解析装置１２は、通信装置１６における応答パケットの送信時刻を得ることができれば、送信時刻と送信パケットの解析装置１２への到着時刻との差から、解析装置１２から通信装置１６までの通信区間の通信時間を得ることができる。また、この場合、解析装置１２は、応答パケットの解析装置１２への到着時刻と送信時刻との差から、通信装置１６から解析装置１２までの通信区間の通信時間を得ることができる。
【００１９】
ところで、ＴＣＰのパケットのヘッダには、ＴＣＰのタイムスタンプオプションとしてタイムスタンプ値（ＴＳｖａｌ：TimeStamp Value）及びタイムスタンプ応答（ＴＳｅｃｒ：TimeStamp Echo Reply）が含まれる。このＴＳｖａｌは、ＴＣＰのパケットの送信元の通信装置で予め定められた時間間隔でカウントアップされる値である。通信装置１４が送信パケットを送信する際には、通信装置１４のシステム時刻に応じたＴＳｖａｌが送信パケットのヘッダに挿入される。また、通信装置１６が応答パケットを応答する際には、通信装置１６のシステム時刻に応じたＴＳｖａｌが応答パケットのヘッダに挿入される。また、通信装置１６が応答パケットを応答する際には、応答パケットに対応する送信パケットに含まれるＴＳｖａｌが応答パケットのＴＳｅｃｒにコピーされる。
【００２０】
従って、解析装置１２は、応答パケットに含まれるＴＳｖａｌを参照することによって、その応答パケットを通信装置１６が応答したタイミングのＴＳｖａｌを得ることはできる。しかしながら、解析装置１２は、応答パケットからは、そのＴＳｖａｌに対応する通信装置１６のシステム時刻を得ることはできない。
【００２１】
そこで、本実施形態に係る解析装置１２は、応答パケットのＴＳｖａｌを用いて、通信装置１６における応答パケットの送信時刻を推定する。そして、解析装置１２は、推定した送信時刻を用いて、送信パケットの解析装置１２から通信装置１６への通信時間、及び応答パケットの通信装置１６から解析装置１２への通信時間を推定する。
【００２２】
なお、ＴＳｖａｌは、予め定められた時間間隔でカウントアップされる値であるが、その時間間隔は、Request for Comments（ＲＦＣ）１３２３では厳密には規定されておらず、Operating System（ＯＳ）によって異なる場合もある。また、ＴＳｖａｌがカウントアップされる時間間隔は、同じＯＳでもバージョンによって異なる場合もある。
【００２３】
次に、図３を参照して、本実施形態に係る解析装置１２の機能的な構成を説明する。図３に示すように、解析装置１２は、取得部２０、ＲＴＴ算出部２２、間隔算出部２４、基準時刻算出部２６、送信時刻推定部２８、通信時間推定部３０、及び表示制御部３２を含む。また、解析装置１２の所定の記憶領域には、パケット情報テーブル４０及び解析情報テーブル４２が記憶される。
【００２４】
図４に、パケット情報テーブル４０の一例を示す。パケット情報テーブル４０は、ネットワーク機器１８から解析装置１２に送信されたパケットに関する情報が記憶されるテーブルである。
【００２５】
図４に示すように、パケット情報テーブル４０には、パケットの送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、及び宛先ポート番号が記憶される。また、パケット情報テーブル４０には、パケットの解析装置１２への到着時刻、ペイロード長、シーケンス番号（図４ではｓｅｑ番号と表記）、ＡＣＫ番号（図４ではａｃｋ番号と表記）、ＴＳｖａｌ、及びＴＳｅｃｒが記憶される。なお、以下では、パケットの解析装置１２への到着時刻を単に「到着時刻」という。
【００２６】
送信パケットに対応する応答パケットは、宛先ＩＰアドレス及び宛先ポート番号が、送信パケットの送信元ＩＰアドレス及び送信元ポート番号となる。また、送信パケットに対応する応答パケットは、送信元ＩＰアドレス及び送信元ポート番号が、送信パケットの宛先ＩＰアドレス及び宛先ポート番号となる。また、送信パケットに対応する応答パケットは、シーケンス番号が送信パケットのＡＣＫ番号となり、ＡＣＫ番号が送信パケットのシーケンス番号に送信パケットのペイロード長を加算した値となる。また、送信パケットに対応する応答パケットは、ＴＳｅｃｒが送信パケットのＴＳｖａｌとなる。従って、解析装置１２は、パケット情報テーブル４０に記憶されている情報から、送信パケットと、その送信パケットに対応する応答パケットとを対応付けることができる。
【００２７】
なお、パケット情報テーブル４０は、例えば、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、及び宛先ポート番号の組み合わせ毎に、別々のテーブルでもよい。
【００２８】
図５に、解析情報テーブル４２の一例を示す。解析情報テーブル４２は、解析装置１２が詳細な通信区間の通信時間の推定を行うために用いる情報が記憶されるテーブルである。
【００２９】
図５に示すように、解析情報テーブル４２には、後述するＲＴＴの基準値（以下、「基準ＲＴＴ」という）、ＲＴＴの合計値、及びＲＴＴの計測回数が記憶される。また、解析情報テーブル４２には、ＴＳｖａｌがカウントアップされる時間間隔（以下、「カウントアップ間隔」という）、初回にＴＳｖａｌを取得した時刻（図５では初回時刻と表記）、初回に取得したＴＳｖａｌ（図５では初回ＴＳｖａｌと表記）が記憶される。また、解析情報テーブル４２には、最新のＴＳｖａｌを取得した時刻（図５では最新時刻と表記）、取得した最新のＴＳｖａｌ（図５では最新ＴＳｖａｌと表記）、基準時刻、基準時刻の合計値、及び基準時刻の計測回数が記憶される。なお、本実施形態では、基準時刻合計値列には、例えば、ＵＮＩＸ（登録商標）タイムのように、ある時点を基準とした経過時間が記憶される。なお、本実施形態では、解析情報テーブル４２の各列の初期値は０とされる。
【００３０】
取得部２０は、ネットワーク機器１８により送信された、通信装置１４と通信装置１６との間で通信されるパケットを取得する。また、取得部２０は、取得したパケットの送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、及び宛先ポート番号をパケット情報テーブル４０に記憶する。また、取得部２０は、パケットを取得した時刻を、そのパケットの到着時刻としてパケット情報テーブル４０に記憶する。また、取得部２０は、取得したパケットのペイロード長、シーケンス番号、ＡＣＫ番号、ＴＳｖａｌ、及びＴＳｅｃｒをパケット情報テーブル４０に記憶する。本実施形態では、取得部２０は、これらのパケットに関する情報を、パケットを取得する毎に、パケット情報テーブル４０に追加する。
【００３１】
ＲＴＴ算出部２２は、図６に示すように、パケット情報テーブル４０にペイロード長が０の応答パケットが記憶された場合、応答パケット及び応答パケットに対応する送信パケットそれぞれの到着時刻の時間差であるＲＴＴを計測する。以下では、このＲＴＴを「計測ＲＴＴ」という。具体的には、ＲＴＴ算出部２２は、以下に示す（１）式に従って、ＲＴＴを算出することによってＲＴＴを計測する。なお、（１）式におけるＲＴＴｍは計測ＲＴＴを表し、ｔａは応答パケットの到着時刻を表し、ｔｄはその応答パケットに対応する送信パケットの到着時刻を表す。
ＲＴＴｍ＝ｔａ−ｔｄ・・・（１）
【００３２】
また、ＲＴＴ算出部２２は、計測ＲＴＴの初回計測時には、解析情報テーブル４２のＲＴＴ合計値列に計測ＲＴＴを記憶し、ＲＴＴ計測回数列に１を記憶する。また、ＲＴＴ算出部２２は、計測ＲＴＴの２回目以降の計測時には、計測ＲＴＴが基準ＲＴＴよりも大きい場合は、解析情報テーブル４２を更新しない。
【００３３】
また、ＲＴＴ算出部２２は、計測ＲＴＴの２回目以降の計測時には、計測ＲＴＴが基準ＲＴＴの１／２よりも小さい場合、初回計測時と同様に、解析情報テーブル４２のＲＴＴ合計値列に計測ＲＴＴを記憶し、ＲＴＴ計測回数列に１を記憶する。これは、計測ＲＴＴが基準ＲＴＴよりも非常に小さく、基準ＲＴＴをリセットするためである。なお、ＲＴＴ算出部２２は、計測ＲＴＴが基準ＲＴＴの１／２よりも小さい場合ではなく、例えば、１／３よりも小さい場合等に基準ＲＴＴをリセットしてもよい。
【００３４】
また、ＲＴＴ算出部２２は、計測ＲＴＴの２回目以降の計測時には、計測ＲＴＴが基準ＲＴＴの１／２以上で、かつ基準ＲＴＴ以下の場合、解析情報テーブル４２のＲＴＴ合計値列に計測ＲＴＴを加算し、ＲＴＴ計測回数列に１を加算する。
【００３５】
また、ＲＴＴ算出部２２は、解析情報テーブル４２のＲＴＴ合計値をＲＴＴ計測回数で除算することによって計測ＲＴＴの平均値を算出し、解析情報テーブル４２の基準ＲＴＴを算出した平均値に更新する。
【００３６】
間隔算出部２４は、初回にパケット情報テーブル４０に応答パケットに関する情報が記憶された場合、解析情報テーブル４２の初回時刻列に、その応答パケットの到着時刻を記憶する。また、この場合、間隔算出部２４は、解析情報テーブル４２の初回ＴＳｖａｌ列に、その応答パケットのＴＳｖａｌを記憶する。この初回の応答パケットが開示の技術の第１のパケットの一例である。
【００３７】
また、間隔算出部２４は、２回目以降にパケット情報テーブル４０に応答パケットに関する情報が記憶された場合、次に示す処理を行う。すなわち、間隔算出部２４は、この場合で、かつその応答パケットのＴＳｖａｌが解析情報テーブル４２の初回ＴＳｖａｌより所定値（例えば、２０００）以上カウントアップされた値である場合、その応答パケットの到着時刻を解析情報テーブル４２の最新時刻列に記憶する。また、この場合、間隔算出部２４は、その応答パケットのＴＳｖａｌを解析情報テーブル４２の最新ＴＳｖａｌ列に記憶する。このＴＳｖａｌが初回ＴＳｖａｌより所定値以上カウントアップされた応答パケットが、開示の技術の第２のパケットの一例である。
【００３８】
また、間隔算出部２４は、解析情報テーブル４２の初回ＴＳｖａｌ、初回時刻、最新ＴＳｖａｌ、及び最新時刻を用いて、以下に示す（２）式に従って、カウントアップ間隔を算出する。一例として図７に示すように、（２）式におけるＴＳｖａｌ０は初回にパケット情報テーブル４０に記憶された応答パケットのＴＳｖａｌであり、ｔ０はその応答パケットの到着時刻を表す。また、（２）式おけるＴＳｖａｌｎは、ＴＳｖａｌがＴＳｖａｌ０より所定値以上カウントアップされた応答パケットのＴＳｖａｌであり、ｔｎはその応答パケットの到着時刻を表す。また、（２）式におけるｓｔｅｐはカウントアップ間隔である。
ｓｔｅｐ＝（ｔｎ−ｔ０）÷（ＴＳｖａｌｎ−ＴＳｖａｌ０）・・・（２）
【００３９】
また、間隔算出部２４は、算出したカウントアップ間隔を解析情報テーブル４２に記憶する。
【００４０】
基準時刻算出部２６は、パケット情報テーブル４０に記憶されたパケットが、ペイロード長が０の応答パケットで、かつ所定期間（例えば、１ｍｓｅｃ）内にＴＳｖａｌがカウントアップされたパケットである場合、次に示す処理を行う。すなわち、この場合、図８に示すように、基準時刻算出部２６は、以下に示す（３）式に従って、その応答パケットの到着時刻ｔａ２と、ＴＳｖａｌがカウントアップされる前の応答パケットに対応する送信パケットの到着時刻ｔｄ１との時間差Δｔを算出する。なお、この場合における所定期間は、例えば、解析装置１２が推定対象とする通信時間のオーダーに応じて予め定められている。例えば、ユーザは、解析装置１２によって１ｍｓｅｃ単位で通信時間を推定させたい場合、上記所定期間を１ｍｓｅｃに設定する。また、所定期間内にＴＳｖａｌがカウントアップされた応答パケットとは、１つ前の応答パケットとの到着時刻の差が所定期間内であり、１つ前の応答パケットからＴＳｖａｌがカウントアップされているパケットを意味する。
Δｔ＝ｔａ２−ｔｄ１・・・（３）
【００４１】
また、基準時刻算出部２６は、時間差Δｔが、解析情報テーブル４２に記憶された基準ＲＴＴに所定のマージンを加味した値以下の場合、以下に示す（４）式に従って、到着時刻ｔｄ１と到着時刻ｔａ２との平均時刻ｔａｖｇを算出する。本実施形態では、基準時刻算出部２６は、時間差Δｔが、基準ＲＴＴに解析装置１２が推定対象とする通信時間のオーダーに応じたマージン（例えば、１ｍｓｅｃ）を加算した値以下の場合に平均時刻ｔａｖｇを算出する。なお、例えば、基準時刻算出部２６は、時間差Δｔが、基準ＲＴＴに所定の倍率（例えば、１．１）を乗算した値以下の場合に平均時刻ｔａｖｇを算出してもよい。
ｔａｖｇ＝（ｔｄ１＋ｔａ２）÷２・・・（４）
【００４２】
このように平均時刻ｔａｖｇを算出しているのは以下の理由からである。図８に示すように、ＴＳｖａｌがカウントアップされた応答パケット及びＴＳｖａｌがカウントアップされる前の応答パケットそれぞれの通信装置１６の送信時刻の間（図８のｔａｂの期間）に、通信装置１６でＴＳｖａｌがカウントアップされたこととなる。すなわち、到着時刻ｔｄ１と到着時刻ｔａ２との平均時刻ｔａｖｇは、ＴＳｖａｌがカウントアップされた期間ｔａｂ内の時刻となる可能性が高い。このため、本実施形態では、平均時刻ｔａｖｇを、通信装置１６でＴＳｖａｌがカウントアップされたと推定される時刻として算出している。
【００４３】
また、基準時刻算出部２６は、時間差Δｔが、基準ＲＴＴに所定のマージンを加味した値を超える場合、平均時刻ｔａｖｇを算出しない。これは、例えば、通信装置１６が送信パケットを受信してから応答するまでに実行した処理の遅延等の通信ネットワーク以外に起因する処理時間の影響が大きい可能性が高いためである。
【００４４】
また、基準時刻算出部２６は、算出した平均時刻ｔａｖｇと、カウントアップされた応答パケットのＴＳｖａｌと、カウントアップ間隔ｓｔｅｐとを用いて、以下に示す（５）式に従って、今回の応答パケットのＴＳｖａｌの基準時刻ｏｆｆｓｅｔｍを算出する。（５）式に示すように、本実施形態では、ＴＳｖａｌが０のときの通信装置１６のシステム時刻を基準時刻として算出している。
ｏｆｆｓｅｔｍ＝ｔａｖｇ−ＴＳｖａｌ×ｓｔｅｐ・・・（５）
【００４５】
また、基準時刻算出部２６は、算出した基準時刻ｏｆｆｓｅｔｍを解析情報テーブル４２の基準時刻合計値列に加算し、解析情報テーブル４２の基準時刻計測回数列に１を加算する。また、基準時刻算出部２６は、解析情報テーブル４２の基準時刻合計値を基準時刻計測回数で除算することによって各応答パケットの基準時刻の平均値を算出し、算出した平均値をＴＳｖａｌの基準時刻として解析情報テーブル４２の基準時刻列に記憶する。
【００４６】
なお、通信装置１６でＴＳｖａｌがカウントアップされる時刻が、平均時刻ｔａｖｇよりも早い又は遅い等の傾向が予めテストを行うこと等によって分かっている場合は、この平均時刻ｔａｖｇにマージンを加味した時刻を用いて基準時刻を算出してもよい。
【００４７】
送信時刻推定部２８は、パケット情報テーブル４０に記憶されたパケットが、ペイロード長が０の応答パケットで、かつ所定期間内にＴＳｖａｌがカウントアップされたパケットである場合、次に示す処理を行う。すなわち、この場合、図９に示すように、送信時刻推定部２８は、以下に示す（６）式に従って、基準時刻と、応答パケットのＴＳｖａｌと、カウントアップ間隔とを用いて、通信装置１６における応答パケットの送信時刻を算出することによって推定する。なお、（６）式におけるｔｓｎｄは、通信装置１６における応答パケットの送信時刻を表し、ｏｆｆｓｅｔは解析情報テーブル４２に記憶された基準時刻を表す。また、（６）式におけるｓｔｅｐは解析情報テーブル４２に記憶されたカウントアップ間隔を表す。
ｔｓｎｄ＝ｏｆｆｓｅｔ＋ＴＳｖａｌ×ｓｔｅｐ・・・（６）
【００４８】
通信時間推定部３０は、送信時刻推定部２８により推定された送信時刻を用いて、送信パケットの解析装置１２から通信装置１６への通信時間、及び応答パケットの通信装置１６から解析装置１２への通信時間を推定する。具体的には、通信時間推定部３０は、以下に示す（７）式に従って、送信時刻ｔｓｎｄから応答パケットに対応する送信パケットの到着時刻ｔｄ２を減算することによって、送信パケットの解析装置１２から通信装置１６への通信時間ｄｍｎ２を算出する。
ｄｍｎ２＝ｔｓｎｄ−ｔｄ２・・・（７）
【００４９】
また、通信時間推定部３０は、以下に示す（８）式に従って、応答パケットの到着時刻ｔａ２から送信時刻ｔｓｎｄを減算することによって、応答パケットの通信装置１６から解析装置１２への通信時間ｄｎ２ｍを算出する。
ｄｎ２ｍ＝ｔａ２−ｔｓｎｄ・・・（８）
【００５０】
また、通信時間推定部３０は、推定した通信時間ｄｍｎ２及び通信時間ｄｎ２ｍを、それぞれ通信区間及び到着時刻に対応付けて解析装置１２の所定の記憶領域に記憶する。この記憶された情報は、統計情報として用いたり、通信遅延が発生した場合の原因の切り分けに用いたりすることができる。
【００５１】
表示制御部３２は、通信時間推定部３０により推定された通信時間が閾値を超える場合に、通信時間が閾値を超えた通信区間を表す情報を後述する入出力装置６４の表示装置に表示する制御を行う。本実施形態では、表示制御部３２は、通信時間推定部３０により推定された通信時間ｄｍｎ２及び通信時間ｄｎ２ｍの少なくとも一方が閾値を超える場合に、通信時間が閾値を超えた通信区間を表す情報を入出力装置６４の表示装置に表示する制御を行う。具体的には、表示制御部３２は、一例として図１０に示すように、通信時間が閾値を超える通信区間で遅延が発生していることを視認可能に入出力装置６４の表示装置に表示する制御を行う。なお、図１０では、通信時間ｄｎ２ｍが閾値を超えた場合の例を示している。また、表示制御部３２は、通信時間が閾値を超えた通信区間を文字列で表示する制御を行ってもよい。
【００５２】
解析装置１２は、例えば図１１に示すコンピュータ６０で実現することができる。コンピュータ６０は、Central Processing Unit（ＣＰＵ）６１、一時記憶領域としてのメモリ６２、及び不揮発性の記憶部６３を備える。また、コンピュータ６０は、表示装置及び入力装置等の入出力装置６４を備える。また、コンピュータ６０は、記録媒体６８に対するデータの読み込みと書き込みとを制御するＲｅａｄ／Ｗｒｉｔｅ（Ｒ／Ｗ）部６５、及びネットワーク機器１８に接続されるネットワークＩ／Ｆ６６を備える。ＣＰＵ６１、メモリ６２、記憶部６３、入出力装置６４、Ｒ／Ｗ部６５、及びネットワークＩ／Ｆ６６は、バス６７を介して接続される。
【００５３】
記憶部６３は、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ等によって実現することができる。記憶媒体としての記憶部６３には、コンピュータ６０を解析装置１２として機能させるための解析プログラム７０が記憶される。解析プログラム７０は、取得プロセス７１、ＲＴＴ算出プロセス７２、間隔算出プロセス７３、基準時刻算出プロセス７４、送信時刻推定プロセス７５、通信時間推定プロセス７６、及び表示制御プロセス７７を有する。また、記憶部６３は、パケット情報テーブル４０及び解析情報テーブル４２が記憶される情報記憶領域７８を有する。
【００５４】
ＣＰＵ６１は、解析プログラム７０を記憶部６３から読み出してメモリ６２に展開し、解析プログラム７０が有するプロセスを実行する。ＣＰＵ６１は、取得プロセス７１を実行することで、図３に示す取得部２０として動作する。ＣＰＵ６１は、ＲＴＴ算出プロセス７２を実行することで、図３に示すＲＴＴ算出部２２として動作する。ＣＰＵ６１は、間隔算出プロセス７３を実行することで、図３に示す間隔算出部２４として動作する。ＣＰＵ６１は、基準時刻算出プロセス７４を実行することで、図３に示す基準時刻算出部２６として動作する。ＣＰＵ６１は、送信時刻推定プロセス７５を実行することで、図３に示す送信時刻推定部２８として動作する。ＣＰＵ６１は、通信時間推定プロセス７６を実行することで、図３に示す通信時間推定部３０として動作する。ＣＰＵ６１は、表示制御プロセス７７を実行することで、図３に示す表示制御部３２として動作する。これにより、解析プログラム７０を実行したコンピュータ６０が、解析装置１２として機能することになる。なお、解析プログラム７０が有するプロセスを実行するＣＰＵ６１は、ハードウェアである。
【００５５】
また、解析プログラム７０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００５６】
次に、本実施形態に係る解析装置１２の作用を説明する。解析装置１２が解析プログラム７０を実行することで、図１２に示す解析処理を実行する。図１２に示す解析処理は、例えば、解析装置１２がネットワーク機器１８から送信された、通信装置１４と通信装置１６との間で通信されるパケットを受信する毎に実行される。
【００５７】
図１２のステップＳ１０で、取得部２０は、ネットワーク機器１８により送信された、通信装置１４と通信装置１６との間で通信されるパケットを取得する。ステップＳ１２で、取得部２０は、前述したように、ステップＳ１０の処理により取得されたパケットに関する情報をパケット情報テーブル４０に記憶する。
【００５８】
ステップＳ１４で、間隔算出部２４は、ステップＳ１２の処理により初回に応答パケットに関する情報がパケット情報テーブル４０に記憶されたか否かを判定する。この判定が肯定判定となった場合は、ステップＳ１６に移行する。ステップＳ１６で、間隔算出部２４は、ステップＳ１２の処理によりパケット情報テーブル４０に記憶された応答パケットの到着時刻を解析情報テーブル４２の初回時刻列に記憶する。また、間隔算出部２４は、ステップＳ１２の処理によりパケット情報テーブル４０に記憶された応答パケットのＴＳｖａｌを解析情報テーブル４２の初回ＴＳｖａｌ列に記憶する。ステップＳ１６の処理が終了すると、本解析処理が終了する。
【００５９】
一方、ステップＳ１４の判定が否定判定となった場合、処理はステップＳ１８に移行する。ステップＳ１８で、間隔算出部２４は、ステップＳ１２の処理により２回目以降に応答パケットに関する情報がパケット情報テーブル４０に記憶されたか否かを判定する。この判定が否定判定となった場合は、本解析処理が終了し、肯定判定となった場合は、処理はステップＳ２０に移行する。
【００６０】
ステップＳ２０で、間隔算出部２４は、ステップＳ１２の処理によりパケット情報テーブル４０に記憶された応答パケットのＴＳｖａｌが、解析情報テーブル４２の初回ＴＳｖａｌより所定値以上カウントアップされた値であるか否かを判定する。この判定が否定判定となった場合は、本解析処理が終了し、肯定判定となった場合は、処理はステップＳ２２に移行する。
【００６１】
ステップＳ２２で、間隔算出部２４は、ステップＳ１２の処理によりパケット情報テーブル４０に記憶された応答パケットの到着時刻を解析情報テーブル４２の最新時刻列に記憶する。また、間隔算出部２４は、ステップＳ１２の処理によりパケット情報テーブル４０に記憶された応答パケットのＴＳｖａｌを解析情報テーブル４２の最新ＴＳｖａｌ列に記憶する。
【００６２】
ステップＳ２４で、間隔算出部２４は、前述したように、解析情報テーブル４２の初回ＴＳｖａｌ、初回時刻、最新ＴＳｖａｌ、及び最新時刻を用いて、（２）式に従って、カウントアップ間隔を算出する。そして、間隔算出部２４は、算出したカウントアップ間隔を解析情報テーブル４２に記憶する。
【００６３】
ステップＳ２６で、ＲＴＴ算出部２２は、ステップＳ１２の処理によりパケット情報テーブル４０に記憶された応答パケットのペイロード長が０であるか否かを判定する。この判定が否定判定となった場合は、本解析処理が終了し、肯定判定となった場合は、処理はステップＳ２８に移行する。ステップＳ２８で、図１３に示す基準ＲＴＴ算出処理が実行される。
【００６４】
図１３のステップＳ４０で、ＲＴＴ算出部２２は、前述したように、（１）式に従って計測ＲＴＴを算出する。ステップＳ４２で、ＲＴＴ算出部２２は、解析情報テーブル４２のＲＴＴ計測回数が１以上であるか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ４６に移行し、肯定判定となった場合は、処理はステップＳ４４に移行する。
【００６５】
ステップＳ４４で、ＲＴＴ算出部２２は、ステップＳ４０の処理により算出された計測ＲＴＴが、解析情報テーブル４２に記憶された基準ＲＴＴの１／２以上であるか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ４６に移行する。ステップＳ４６で、ＲＴＴ算出部２２は、ステップＳ４０の処理により算出された計測ＲＴＴを解析情報テーブル４２のＲＴＴ合計値列及び基準ＲＴＴ列に記憶する。ステップＳ４８で、ＲＴＴ算出部２２は、解析情報テーブル４２のＲＴＴ計測回数列に１を記憶する。ステップＳ４８の処理が終了すると、本基準ＲＴＴ算出処理が終了する。
【００６６】
一方、ステップＳ４４の判定が肯定判定となった場合は、処理はステップＳ５０に移行する。ステップＳ５０で、ＲＴＴ算出部２２は、ステップＳ４０の処理により算出された計測ＲＴＴが、解析情報テーブル４２に記憶された基準ＲＴＴ以下であるか否かを判定する。この判定が否定判定となった場合は、本基準ＲＴＴ算出処理が終了し、肯定判定となった場合は、処理はステップＳ５２に移行する。
【００６７】
ステップＳ５２で、ＲＴＴ算出部２２は、ステップＳ４０の処理により算出された計測ＲＴＴを解析情報テーブル４２のＲＴＴ合計値列に加算する。ステップＳ５４で、ＲＴＴ算出部２２は、解析情報テーブル４２のＲＴＴ計測回数列に１を加算する。ステップＳ５６で、ＲＴＴ算出部２２は、解析情報テーブル４２のＲＴＴ合計値をＲＴＴ計測回数で除算することによって計測ＲＴＴの平均値を算出し、解析情報テーブル４２の基準ＲＴＴを算出した平均値に更新する。ステップＳ５６の処理が終了すると、本基準ＲＴＴ算出処理が終了する。
【００６８】
基準ＲＴＴ算出処理が終了すると、処理は図１２のステップＳ３０に移行する。ステップＳ３０で、図１４に示す基準時刻算出処理が実行される。
【００６９】
図１４のステップＳ６０で、基準時刻算出部２６は、ステップＳ１２の処理によりパケット情報テーブル４０に記憶された応答パケットが、所定期間内にＴＳｖａｌがカウントアップされたパケットであるか否かを判定する。この判定が否定判定となった場合は、本基準時刻算出処理が終了し、肯定判定となった場合は、処理はステップＳ６２に移行する。ステップＳ６２で、基準時刻算出部２６は、前述したように、（３）式に従って、ＴＳｖａｌがカウントアップされた応答パケットの到着時刻と、ＴＳｖａｌがカウントアップされる前の応答パケットに対応する送信パケットの到着時刻との時間差Δｔを算出する。
【００７０】
ステップＳ６４で、基準時刻算出部２６は、ステップＳ６２の処理により算出された時間差Δｔが、解析情報テーブル４２に記憶された基準ＲＴＴにマージンを加算した値以下であるか否かを判定する。この判定が否定判定となった場合は、本基準時刻算出処理が終了し、肯定判定となった場合は、処理はステップＳ６６に移行する。
【００７１】
ステップＳ６６で、基準時刻算出部２６は、前述したように、（４）式に従って、ＴＳｖａｌがカウントアップされた応答パケットの到着時刻と、ＴＳｖａｌがカウントアップされる前の応答パケットに対応する送信パケットの到着時刻との平均時刻を算出する。
【００７２】
ステップＳ６８で、基準時刻算出部２６は、前述したように、算出した平均時刻と、カウントアップされた応答パケットのＴＳｖａｌと、カウントアップ間隔とを用いて、（５）式に従って、今回の応答パケットのＴＳｖａｌの基準時刻ｏｆｆｓｅｔｍを算出する。ステップＳ７０で、基準時刻算出部２６は、ステップＳ６８の処理により算出された基準時刻ｏｆｆｓｅｔｍを解析情報テーブル４２の基準時刻合計値列に加算する。ステップＳ７２で、基準時刻算出部２６は、解析情報テーブル４２の基準時刻計測回数列に１を加算する。
【００７３】
ステップＳ７４で、基準時刻算出部２６は、解析情報テーブル４２の基準時刻合計値を基準時刻計測回数で除算することによって各応答パケットの基準時刻の平均値を算出する。そして、基準時刻算出部２６は、算出した平均値をＴＳｖａｌの基準時刻として解析情報テーブル４２の基準時刻列に記憶する。ステップＳ７４の処理が終了すると、本基準時刻算出処理が終了する。
【００７４】
基準時刻算出処理が終了すると、処理は図１２のステップＳ３２に移行する。ステップＳ３２で、図１５に示す通信時間推定処理が実行される。
【００７５】
図１５のステップＳ８０で、送信時刻推定部２８は、ステップＳ１２の処理によりパケット情報テーブル４０に記憶された応答パケットが、所定期間内にＴＳｖａｌがカウントアップされたパケットであるか否かを判定する。この判定が否定判定となった場合は、本通信時間推定処理が終了し、肯定判定となった場合は、処理はステップＳ８２に移行する。ステップＳ８２で、送信時刻推定部２８は、前述したように、（６）式に従って、解析情報テーブル４２に記憶された基準時刻と、応答パケットのＴＳｖａｌと、カウントアップ間隔とを用いて、通信装置１６における応答パケットの送信時刻を推定する。
【００７６】
ステップＳ８４で、通信時間推定部３０は、（７）式に従って、ステップＳ８２の処理により推定された送信時刻と、応答パケットに対応する送信パケットの到着時刻とを用いて、送信パケットの解析装置１２から通信装置１６への通信時間を推定する。また、通信時間推定部３０は、（８）式に従って、応答パケットの到着時刻と、ステップＳ８２の処理により推定された送信時刻とを用いて、応答パケットの通信装置１６から解析装置１２への通信時間を推定する。また、通信時間推定部３０は、推定した２つの通信時間を、それぞれ通信区間及び到着時刻に対応付けて解析装置１２の所定の記憶領域に記憶する。
【００７７】
ステップＳ８６で、表示制御部３２は、ステップＳ８４の処理により推定された２つの通信時間の少なくとも一方が閾値を超えるか否かを判定する。この判定が否定判定となった場合は、本通信時間推定処理が終了し、肯定判定となった場合は、処理はステップＳ８８に移行する。
【００７８】
ステップＳ８８で、表示制御部３２は、前述したように、通信時間が閾値を超えた通信区間を表す情報を入出力装置６４の表示装置に表示する制御を行う。ステップＳ８８の処理が終了すると、本通信時間推定処理が終了する。通信時間推定処理が終了すると、図１２に示す解析処理が終了する。
【００７９】
以上説明したように、本実施形態によれば、図１６に示すように、送信パケットの解析装置１２から通信装置１６への通信時間（図１６の「９０」）、及び応答パケットの通信装置１６から解析装置１２への通信時間（図１６の「６０」）を推定している。従って、詳細な通信区間の通信時間を推定することができる。
【００８０】
なお、解析装置１２は、通信装置１６が送信パケットを送信する第１通信装置であり、通信装置１４が応答パケットを応答する第２通信装置である場合も図１２に示す解析処理を同様に実行することが可能である。すなわち、この場合、解析装置１２は、図１６に示すように、送信パケットの解析装置１２から通信装置１４への通信時間（図１６の「２０」）、及び応答パケットの通信装置１４から解析装置１２への通信時間（図１６の「３０」）を推定することができる。
【００８１】
また、本実施形態によれば、応答パケットとしてペイロード長が０のパケットを適用している。従って、通信装置１６での処理遅延の影響が低減された通信時間を推定することができる。
【００８２】
また、本実施形態によれば、所定期間内にＴＳｖａｌがカウントアップされた応答パケットを用いている。一例として図１７に示すように、カウントアップ間隔が比較的長い場合もある。この場合、解析装置１２が推定対象とする通信時間のオーダーよりも長い時間が経過してもＴＳｖａｌがカウントアップされない。これに対し、本実施形態のように、所定期間内にＴＳｖａｌがカウントされた応答パケットを用いることによって、ＴＳｖａｌのカウントアップ間隔が推定対象とする通信時間のオーダーより長い場合でも通信時間を精度よく推定することができる。
【００８３】
また、本実施形態によれば、カウントアップされる値としてＴＣＰタイムスタンプオプションのタイムスタンプ値を適用している。従って、一般的に用いられる標準の規格に従い、特別な作り込み等をせずに、詳細な通信区間の通信時間を推定することができる。
【００８４】
なお、上記実施形態では、ＴＣＰに従った通信のパケットを用いて通信時間を推定する場合について説明したが、これに限定されない。例えば、ＴＣＰ以外の通信プロトコルに従った通信のパケットを用いて通信時間を推定する形態としてもよい。この場合、通信装置１６が、ＴＳｖａｌに相当するカウントされる値を、応答パケットに付加する形態が例示される。また、この形態例において、カウントされる値は、カウントアップされる値ではなく、カウントダウンされる値でもよい。
【００８５】
また、上記実施形態では、通信装置１６でＴＳｖａｌがカウントアップされたと推定される時刻として、（４）式で算出される平均時刻ｔａｖｇを適用した場合について説明したが、これに限定されない。例えば、カウントアップ間隔が微小な時間間隔であることが予め分かっている場合は、上記カウントアップされたと推定される時刻として、応答パケットの到着時刻と応答パケットに対応する送信パケットの到着時刻との平均時刻を適用する形態としてもよい。
【００８６】
また、上記実施形態では、解析装置１２がパケットを取得する毎に、図１２に示す解析処理を実行する場合について説明したが、これに限定されない。例えば、図１２に示す解析処理の各ステップの処理のうち、解析装置１２が取得したパケットに関する情報をパケット情報テーブル４０に記憶する処理（図１２に示すステップＳ１０、Ｓ１２の処理）のみを解析装置１２がパケットを取得する毎に実行してもよい。この場合、図１２に示すステップＳ１４以降の処理は、１日１回等の定期的なタイミングで実行する形態が例示される。また、この形態例において、ステップＳ１０、Ｓ１２の処理とステップＳ１４以降の処理とを別体の情報処理装置が実行してもよい。
【００８７】
また、上記実施形態において、基準ＲＴＴ、カウントアップ間隔、及び基準時刻を、それぞれ用いる際に算出してもよい。この場合、基準ＲＴＴ、カウントアップ間隔、及び基準時刻は、解析情報テーブル４２に記憶しなくてもよい。
【００８８】
また、上記実施形態では、解析処理の中でカウントアップ間隔を算出する場合について説明したが、これに限定されない。例えば、通信装置１６のＯＳ及びＯＳのバージョンが固定的である場合は、予めカウントアップ間隔を計測しておき、計測したカウントアップ間隔を解析装置１２に記憶しておく形態としてもよい。
【００８９】
また、上記実施形態では、解析プログラム７０が記憶部６３に予め記憶（インストール）されている態様を説明したが、これに限定されない。解析プログラム７０は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ、メモリカード等の記録媒体に記録された形態で提供することも可能である。
【００９０】
以上の実施形態に関し、更に以下の付記を開示する。
【００９１】
（付記１）
第１通信装置から第２通信装置に送信される送信パケット、及び前記第２通信装置から前記第１通信装置に応答される応答パケットであって、前記第２通信装置で予め定められた時間間隔でカウントされる値を含む応答パケットをキャプチャする観測装置によりキャプチャされた前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の間の前記カウントされる値がカウントされたと推定される時刻と、前記応答パケットに含まれる前記カウントされる値と、前記時間間隔とを用いて、前記カウントされる値の基準時刻を算出し、
前記基準時刻、前記カウントされる値、及び前記時間間隔を用いて、前記第２通信装置における前記応答パケットの送信時刻を推定し、
前記送信時刻を用いて、前記送信パケットの前記観測装置から前記第２通信装置への通信時間、及び前記応答パケットの前記第２通信装置から前記観測装置への通信時間を推定する
処理をコンピュータに実行させるための解析プログラム。
【００９２】
（付記２）
前記到着時刻の間の前記カウントされる値がカウントされたと推定される時刻は、前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の平均時刻である
付記１に記載の解析プログラム。
【００９３】
（付記３）
前記平均時刻は、所定期間内に前記カウントされる値がカウントされた前記応答パケットの前記観測装置への到着時刻と、前記カウントされる値がカウントされる前の前記応答パケットに対応する前記送信パケットの前記観測装置への到着時刻との平均時刻である
付記２に記載の解析プログラム。
【００９４】
（付記４）
前記観測装置によりキャプチャされた第１のパケット、及び前記第１のパケットから前記カウントされる値が所定値以上カウントされた第２のパケットそれぞれの前記観測装置への到着時刻と前記カウントされる値とを用いて、前記時間間隔を算出する
付記１から付記３の何れか１項に記載の解析プログラム。
【００９５】
（付記５）
前記応答パケットが、所定期間内に前記カウントされる値がカウントされたパケットである場合に、前記送信時刻を推定する
付記１から付記４の何れか１項に記載の解析プログラム。
【００９６】
（付記６）
前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の時間差が、前記応答パケット及び前記応答パケットに対応する前記送信パケットそれぞれの前記観測装置への到着時刻の時間差であるラウンドトリップ時間の基準値に所定のマージンを加味した値以下の場合に、前記基準時刻を算出する
付記１から付記５の何れか１項に記載の解析プログラム。
【００９７】
（付記７）
前記ラウンドトリップ時間を計測し、
計測したラウンドトリップ時間が、前記基準値以下の場合に、前記基準値を、計測したラウンドトリップ時間の平均値に更新する
付記６に記載の解析プログラム。
【００９８】
（付記８）
推定した前記通信時間が閾値を超える場合に、前記通信時間が前記閾値を超えた通信区間を表す情報を表示装置に表示する制御を行う
処理を更に前記コンピュータに実行させるための付記１から付記７の何れか１項に記載の解析プログラム。
【００９９】
（付記９）
前記応答パケットは、ペイロード長が０のパケットである
付記１から付記８の何れか１項に記載の解析プログラム。
【０１００】
（付記１０）
前記送信パケットは、ＴＣＰに従って前記第１通信装置から送信されたパケットであり、
前記応答パケットは、ＴＣＰのＡＣＫパケットであり、
前記カウントされる値は、ＴＣＰタイムスタンプオプションのタイムスタンプ値である
付記１から付記９の何れか１項に記載の解析プログラム。
【０１０１】
（付記１１）
第１通信装置から第２通信装置に送信される送信パケット、及び前記第２通信装置から前記第１通信装置に応答される応答パケットであって、前記第２通信装置で予め定められた時間間隔でカウントされる値を含む応答パケットをキャプチャする観測装置によりキャプチャされた前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の間の前記カウントされる値がカウントされたと推定される時刻と、前記応答パケットに含まれる前記カウントされる値と、前記時間間隔とを用いて、前記カウントされる値の基準時刻を算出する基準時刻算出部と、
前記基準時刻、前記カウントされる値、及び前記時間間隔を用いて、前記第２通信装置における前記応答パケットの送信時刻を推定する送信時刻推定部と、
前記送信時刻を用いて、前記送信パケットの前記観測装置から前記第２通信装置への通信時間、及び前記応答パケットの前記第２通信装置から前記観測装置への通信時間を推定する通信時間推定部と、
を含む解析装置。
【０１０２】
（付記１２）
前記到着時刻の間の前記カウントされる値がカウントされたと推定される時刻は、前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の平均時刻である
付記１１に記載の解析装置。
【０１０３】
（付記１３）
前記平均時刻は、所定期間内に前記カウントされる値がカウントされた前記応答パケットの前記観測装置への到着時刻と、前記カウントされる値がカウントされる前の前記応答パケットに対応する前記送信パケットの前記観測装置への到着時刻との平均時刻である
付記１２に記載の解析装置。
【０１０４】
（付記１４）
前記観測装置によりキャプチャされた第１のパケット、及び前記第１のパケットから前記カウントされる値が所定値以上カウントされた第２のパケットそれぞれの前記観測装置への到着時刻と前記カウントされる値とを用いて、前記時間間隔を算出する間隔算出部
を更に含む付記１１から付記１３の何れか１項に記載の解析装置。
【０１０５】
（付記１５）
前記送信時刻推定部は、前記応答パケットが、所定期間内に前記カウントされる値がカウントされたパケットである場合に、前記送信時刻を推定する
付記１１から付記１４の何れか１項に記載の解析装置。
【０１０６】
（付記１６）
前記基準時刻算出部は、前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の時間差が、前記応答パケット及び前記応答パケットに対応する前記送信パケットそれぞれの前記観測装置への到着時刻の時間差であるラウンドトリップ時間の基準値に所定のマージンを加味した値以下の場合に、前記基準時刻を算出する
付記１１から付記１５の何れか１項に記載の解析装置。
【０１０７】
（付記１７）
前記ラウンドトリップ時間を計測し、
計測したラウンドトリップ時間が、前記基準値以下の場合に、前記基準値を、計測したラウンドトリップ時間の平均値に更新するＲＴＴ算出部
を更に含む付記１６に記載の解析装置。
【０１０８】
（付記１８）
推定された前記通信時間が閾値を超える場合に、前記通信時間が前記閾値を超えた通信区間を表す情報を表示装置に表示する制御を行う表示制御部
を更に含む付記１１から付記１７の何れか１項に記載の解析装置。
【０１０９】
（付記１９）
第１通信装置から第２通信装置に送信される送信パケット、及び前記第２通信装置から前記第１通信装置に応答される応答パケットであって、前記第２通信装置で予め定められた時間間隔でカウントされる値を含む応答パケットをキャプチャする観測装置によりキャプチャされた前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の間の前記カウントされる値がカウントされたと推定される時刻と、前記応答パケットに含まれる前記カウントされる値と、前記時間間隔とを用いて、前記カウントされる値の基準時刻を算出し、
前記基準時刻、前記カウントされる値、及び前記時間間隔を用いて、前記第２通信装置における前記応答パケットの送信時刻を推定し、
前記送信時刻を用いて、前記送信パケットの前記観測装置から前記第２通信装置への通信時間、及び前記応答パケットの前記第２通信装置から前記観測装置への通信時間を推定する
処理をコンピュータが実行する解析方法。
【０１１０】
（付記２０）
第１通信装置から第２通信装置に送信される送信パケット、及び前記第２通信装置から前記第１通信装置に応答される応答パケットであって、前記第２通信装置で予め定められた時間間隔でカウントされる値を含む応答パケットをキャプチャする観測装置によりキャプチャされた前記送信パケット及び前記応答パケットそれぞれの前記観測装置への到着時刻の間の前記カウントされる値がカウントされたと推定される時刻と、前記応答パケットに含まれる前記カウントされる値と、前記時間間隔とを用いて、前記カウントされる値の基準時刻を算出し、
前記基準時刻、前記カウントされる値、及び前記時間間隔を用いて、前記第２通信装置における前記応答パケットの送信時刻を推定し、
前記送信時刻を用いて、前記送信パケットの前記観測装置から前記第２通信装置への通信時間、及び前記応答パケットの前記第２通信装置から前記観測装置への通信時間を推定する
処理をコンピュータに実行させるための解析プログラムを記憶した記憶媒体。
【符号の説明】
【０１１１】
１０  解析システム
１２  解析装置
１４  通信装置
１６  通信装置
１８  ネットワーク機器
２０  取得部
２２  ＲＴＴ算出部
２４  間隔算出部
２６  基準時刻算出部
２８  送信時刻推定部
３０  通信時間推定部
３２  表示制御部
４０  パケット情報テーブル
４２  解析情報テーブル
６１  ＣＰＵ
６２  メモリ
６３  記憶部
６４  入出力装置
６８  記録媒体
７０  解析プログラム
【図１】
2020150359.tif 000003
【図２】
2020150359.tif 000004
【図３】
2020150359.tif 000005
【図４】
2020150359.tif 000006
【図５】
2020150359.tif 000007
【図６】
2020150359.tif 000008
【図７】
2020150359.tif 000009
【図８】
2020150359.tif 000010
【図９】
2020150359.tif 000011
【図１０】
2020150359.tif 000012
【図１１】
2020150359.tif 000013
【図１２】
2020150359.tif 000014
【図１３】
2020150359.tif 000015
【図１４】
2020150359.tif 000016
【図１５】
2020150359.tif 000017
【図１６】
2020150359.tif 000018
【図１７】
2020150359.tif 000019