説明

監視装置、監視方法及びプログラム

【課題】ネットワークのパケット通過時間を安価に監視することができる監視装置、監視方法及びプログラムを提供することを目的としている。
【解決手段】第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得したフロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得部と、フロー情報取得部が抽出したパケット数情報が異なる2つのフロー情報に基づき、任意の個数番目のパケットが第1パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視装置、監視方法及びプログラムに関する。
【背景技術】
【0002】
NGN(次世代ネットワーク)におけるIP電話サービスや地デジ再送信(映像配信サービス)等、IPネットワーク上において様々なサービスが提供されている。IPネットワークの通信品質の低下は、音声や映像の乱れ等を引き起こし、サービス品質の低下をもたらすことから、ネットワーク全体の通信品質の把握が重要である。
【0003】
IPネットワークの通信品質を示すパラメータの1つとして、非特許文献1に示されているとおり、パケットのゆらぎがある。ゆらぎを測定するためには、例えば非特許文献2のようなパケットをキャプチャーするプローブ装置をIPネットワーク内に複数配置し、各プローブ装置においてパケットの通過時刻を測定する。監視システムは、このように複数のプローブ装置が測定した通過時刻の差からプローブ間の遅延時間を算出したり、遅延時間の差からゆらぎを算出したり、各プローブ装置におけるパケット間隔の差からゆらぎを算出する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】ITU-T Recommendation Y.1540, [online],[2011/06/06 検索], インターネット<URL:http://www.itu.int/itu-t/recommendations/rec.aspx?id=9270>
【非特許文献2】QoS モニタシステム Gigabit QoS プローブ IQ2000, 横河技報 Vol.49 No.2( 2005 ), [online], [2011/07/21 検索], インターネット< URL : http://www.yokogawa.co.jp/rd/pdf/tr/rd-tr-r04902-007.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、このような監視システムの場合、測定したい区間の両端にプローブ装置を配置する必要があるため、ネットワーク内の任意の区間を測定するためには非常に多くのプローブ装置を配置する必要がある。さらに、このような監視システムの場合、プローブ装置自体も高機能であることが求められ、コスト的に現実的ではなく、ネットワーク全体のゆらぎを把握することが困難であった。
【0006】
本発明は、上記の問題点に鑑みてなされたものであって、ネットワークのパケット通過時間を安価に監視することができる監視装置、監視方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明に係る監視装置は、第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得部と、前記フロー情報取得部が抽出した前記パケット数情報が異なる2つのフロー情報に基づき、任意の個数番目のパケットが前記第1パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定部と、を備えることを特徴としている。
【0008】
また、本発明の監視装置において、前記フロー情報取得部は、前記第1パケット転送装置から第2パケット転送装置へ流れているフローに関するフロー情報であって、前記第2パケット転送装置から出力されたフロー情報を取得し、前記第2パケット転送装置から取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出し、前記通過時刻推定部は、前記第1パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる2つのフロー情報に基づき、任意の2つの個数番目の各パケットが前記第1パケット転送装置を各々通過するときの各パケット通過時刻を推定し、前記第2パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる2つのフロー情報に基づき、任意の前記2つの個数番目の各パケットが前記第2パケット転送装置を各々通過するときの各パケット通過時刻を推定し、推定した任意の前記2つの個数番目の各パケットが前記第1パケット転送装置及び前記第2パケット転送装置を各々通過する各パケット通過時刻に基づき、前記第1パケット転送装置及び前記第2パケット転送装置を任意の前記2つの個数番目の各同一個数のパケットが通過する時刻差を推定するようにしてもよい。
【0009】
また、本発明の監視装置において、前記通過時刻推定部は、前記第1パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのパケット数情報に基づき、任意の第n番目(nは、1以上の整数)のパケットが前記第1パケット転送装置間を通過するパケット通過時刻を第1通過推定時刻として推定し、任意の第m番目(mは、n以上の整数)のパケットが前記第1パケット転送装置間を通過するパケット通過時刻を第2通過推定時刻として推定し、推定した前記第1通過推定時刻と前記第2通過推定時刻の差に基づいて、前記第n番目から前記第m番目までのパケットが前記第1パケット転送装置を通過するのに要した第1通過時間を算出し、前記第2パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのパケット数情報に基づき、前記第n番目のパケットが前記第2パケット転送装置間を通過するパケット通過時刻を第3通過推定時刻として推定し、前記第m番目のパケットが前記第2パケット転送装置間を通過するパケット通過時刻を第4通過推定時刻として推定し、推定した前記第3通過推定時刻と前記第4通過推定時刻の差に基づいて、前記第n番目から前記第m番目のパケットが前記第2パケット転送装置を通過するのに要した第2通過時間を算出し、算出した前記第1通過時間と前記第2通過時間との差に基づいて、前記第1パケット転送装置と前記第2パケット転送装置間を1方向に流れているフローにおける前記フロー時刻のゆらぎを推定するようにしてもよい。
【0010】
また、本発明の監視装置において、前記通過時刻推定部は、前記第2パケット転送装置における通過パケット数の実測値であるパケット数を前記第n番目のパケットとして用い、前記第1パケット転送装置における通過パケット数の実測値であるパケット数を前記第m番目のパケットとして用いるようにしてもよい。
【0011】
上記目的を達成するため、本発明は、監視装置における監視方法であって、フロー情報取得部が、第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、通過時刻推定部が、前記フロー情報取得手順が抽出した前記パケット数情報が異なる2つのフロー情報に基づき、任意の個数番目のパケットが前記第1パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定手順と、を含むことを特徴としている。
【0012】
上記目的を達成するため、本発明に係るプログラムは、監視装置のコンピュータに、第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、前記フロー情報取得手順が抽出した前記パケット数情報が異なる2つのフロー情報に基づき、任意の個数番目のパケットが前記第1パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定手順と、を実行させることを特徴としている。
【発明の効果】
【0013】
本発明によれば、プローブを設置せずに、第1パケット転送装置が出力したフローに関するフロー情報を取得し、取得したフロー情報に含まれるパケット数情報及びフローの生存時間を示すフロー時刻情報に基づき、任意の個数番目のパケットが第1パケット転送装置を通過したときの通過時間を推定する。この結果、ネットワークのパケット通過時間を安価に監視することができる。
【図面の簡単な説明】
【0014】
【図1】本実施形態に係る監視システムの概略構成図である。
【図2】本実施形態に係るゆらぎ推定装置10の概略機能ブロック図である。
【図3】本実施形態に係るDB103に格納されるフロー情報から抽出した情報の一例を説明する図である
【図4】本実施形態に係るパケット転送装置間のゆらぎを説明する図である。
【図5】本実施形態に係るゆらぎ推定装置10が行う処理手順のフローチャートである。
【図6】本実施形態に係るフロー情報の収集に関するフローチャートである。
【図7】本実施形態に係る各プロトコルにおけるフロー時刻情報及びパケット数情報のフィールドを説明する図である。
【図8】本実施形態に係るパケットが通過したときのフロー時刻情報を推定する処理に関するフローチャートである。
【図9】本実施形態に係る2つのパケット転送装置を流れるフローを説明する図である。
【図10】本実施形態に係るDB103の取得情報テーブルに格納されている情報からフローIDが同じであるパケット装置の情報を抽出した例を説明する図である。
【図11】本実施形態に係るゆらぎ算出テーブルに格納されている情報の例を説明する図である。
【図12】本実施形態におけるゆらぎ算出テーブルに複数の情報が格納されている例を説明する図である。
【図13】本実施形態に係るフロー情報の具体的な1例を説明する図である。
【図14】本実施形態に係る取得情報テーブルに格納される情報の具体的な1例を説明する図である。
【図15】本実施形態に係るゆらぎ算出テーブルに格納される情報の具体的な1例を説明する図である。
【発明を実施するための形態】
【0015】
まず、本発明の概要について説明する。
本発明に係るゆらぎ推定装置は、ネットワークを実際に流れているパケットを観測してゆらぎを推定する。ゆらぎ推定装置は、ネットワークの任意の区間に配置されているルータやスイッチ等のパケット転送装置から、フローの生存時間を示すフロー時刻情報とパケット数情報を取得する。なお、フロー時刻とは、パケット転送装置から情報取得した際に得られたパケットが転送通過を通過した時の時刻を示しており、その時刻とはフローの最初のパケットが転送装置を通過した時刻からの経過時間、つまりフローの生存時間である。
そして、ゆらぎ推定装置は、取得した情報に基づいて、同一パケット数がパケット転送装置を通過したフロー時刻を推定し、複数のパケット転送装置におけるフロー時刻情報に基づいてゆらぎを算出する。
【0016】
以下、図面を用いて、本発明の実施形態について説明する。
図1は、本実施形態に係る監視システムの概略構成図である。図1に示すように、監視システム1は、ゆらぎ推定装置10、n個のパケット転送装置20−1〜20−n(nは2以上の整数)、及びネットワーク30から構成されている。以下、パケット転送装置20−i(iは、1からnまでの整数)を総称してパケット転送装置20と称する。
【0017】
ゆらぎ推定装置10は、ネットワーク30を介してパケット転送装置20より取得した情報から、パケット転送装置間のゆらぎを測定する。なお、転送装置間のゆらぎとは、パケット転送装置20間を通過するパケットの遅延時間のばらつきである。
ゆらぎ推定装置10は、各パケット転送装置20と接続し、各パケット転送装置20が具備するフロー管理技術に対応したプロトコルで通信を行う。なお、フロー管理技術に対応したプロトコルとは、例えばIPFIXまたはNetFlow、OpenFlow等のプロトコルである。
フロー情報の取得は、後述するように、パケット転送装置20に対して抽出したいフローの条件を指定することで、その情報のみがゆらぎ推定装置10に出力するようにしてもよい。この場合、ゆらぎ推定装置10は、各パケット転送装置20から必要となるフロー情報のみが取得できる。また、取得したフロー情報内に各フローを判別できる情報が含まれているので、ゆらぎ推定装置10は、各パケット転送装置20から全てのフロー情報を取得し、各フローを判別できる情報を利用して特定のフローのみを抽出するようにしてもよい。なお、フロー情報とは、送信元IPアドレス、送信先IPアドレス、送信先ポート番号、送信元ポート番号、及びプロトコル等を含む情報である。
【0018】
パケット転送装置20は、例えば、ルータやスイッチ等である。
パケット転送装置20は、装置内を通過するパケットをフローとして認識し、フロー単位の情報を、ネットワーク30を介してゆらぎ推定装置10に出力する機能を有する。出力される情報には、各フローが流れ始めてからのフローの生存時間を示すフロー時刻情報、および各フローが流れ始めてからフロー情報を出力するまでに転送処理されたパケット数情報が含まれている。また、パケット転送装置20は、特定のフロー情報のみを抽出して、抽出した特定のフロー情報のみをゆらぎ推定装置10に出力する。
パケット転送装置20が、例えばIPFIXまたはNetFlow等のプロトコルを具備している場合、ゆらぎ推定装置10に対して、フロー情報の出力を設定された間隔で自動的に送信する。
あるいは、パケット転送装置20が、例えばOpenFlow等のプロトコルを具備している場合、フロー情報の出力をゆらぎ推定装置10からの取得要求に応じて送信する。
【0019】
ネットワーク30は、例えばIP(インターネット・プロトコル)ネットワークである。
【0020】
次に、ゆらぎ推定装置10の概略構成について、図2を用いて説明する。図2は、本実施形態に係るゆらぎ推定装置10の概略機能ブロック図である。図2に示すように、ゆらぎ推定装置10は、フロー情報取得部101、ゆらぎ算出部102、及びDB(データベース)103を備えている。
【0021】
フロー情報取得部101は、ゆらぎを推定したいネットワーク30の区間に配置されている2つのパケット転送装置20から、各パケット転送装置20を通過するフローに関するフロー情報を、ネットワーク30を介して取得する。フロー情報取得部101は、取得したフロー情報から、測定対象のフロー情報を抽出する。フロー情報取得部101は、測定対象のフロー情報から、フロー時刻情報及びパケット数情報を抽出し、抽出したフロー時刻情報及びパケット数情報をDB103の取得情報テーブルに格納する。
【0022】
ゆらぎ算出部102(通過時刻推定部)は、後述するように、取得情報テーブルから、異なるパケット数情報を有する情報を抽出して、抽出した情報に基づいて、一方のパケット転送装置20のフロー時刻における他方のパケット転送装置20のフロー時刻を推定する。ゆらぎ算出部102は、取得した一方のパケット転送装置20のフロー時刻におけるフロー時刻と、推定した他方のパケット転送装置20のフロー時刻におけるフロー時刻とを関連付けて、関連付けた情報をDB103のゆらぎ算出テーブルに格納する。ゆらぎ算出部102は、ゆらぎ算出テーブルに格納されている情報を読み出し、読み出した情報に基づいて、各パケット転送装置20のゆらぎを、パケット通過数毎に推定する。
【0023】
DB103には、フロー情報取得部101が取得したフロー情報から抽出した情報(フロー時刻情報、パケット数情報)が、図3のように関連付けられて格納されている。また、DB103には、後述するように取得情報テーブル、ゆらぎ算出テーブルが格納されている。
なお、取得情報テーブルには、転送装置ID、フローID、フロー時刻情報、及びパケット数情報が関連付けられて格納されている。また、ゆらぎ算出テーブルには、パケット数情報、転送装置ID−1のフロー時刻情報、及び転送装置ID−2のフロー時刻情報が関連付けられて格納されている。
【0024】
図3は、本実施形態に係るDB103に格納されるフロー情報から抽出した情報の一例を説明する図である。
図3に示すように、DB103には、パケット転送装置20の識別子情報(以下、転送装置IDという)と、フローの識別子(以下、フローIDという)と、フロー情報から抽出したフロー時刻情報及びパケット数情報とが関連付けられて格納されている。
【0025】
次に、本実施形態に係るパケット転送装置間の「ゆらぎ」について、図4を用いて説明する。図4は、本実施形態に係るパケット転送装置間のゆらぎを説明する図である。図4において、横軸は時間軸である。
図4に示すように、時刻t1において、1番目のパケットが識別子ID−1を有するパケット転送装置20(ID−1)を通過する。次に、時刻t2において、1番目のパケットが識別子ID−2を有するパケット転送装置20(ID−2)を通過する。
次に、時刻t3において、n番目のパケットがパケット転送装置20(ID−1)を通過する。次に、時刻t4において、n番目のパケットがパケット転送装置20(ID−2)を通過する。
パケット転送装置20(ID−1)において、1番目のパケットからn番目のパケットが通過するのに要したフロー時間差Δt1は、t3−t1である。同様に、パケット転送装置20(ID−2)において、1番目のパケットからn番目のパケットが通過するのに要したフロー時間差Δt2は、t4−t2である。
パケット転送装置20(ID−1)とパケット転送装置20(ID−2)の区間で、フローの流れに滞り等に変化が無い場合、フロー時間差Δt1とフロー時間差Δt2とは等しい。一方、フロー時間差Δt1とフロー時間差Δt2とが等しくない場合、パケット転送装置20(ID−1)とパケット転送装置20(ID−2)の区間で、フローの流れに滞り等が発生していることになる。このような、フロー時間差Δt1とフロー時間差Δt2と差が、パケット転送装置間の「ゆらぎ」である。
本実施形態では、パケットとパケットの間隔(以下、パケット間隔という)を同一にして、各パケット転送装置20を、パケットが通過した時のフロー時刻を推定する。そして、本実施形態では、パケット転送装置20間におけるパケット間隔の差を算出することで、ゆらぎを推定する。
【0026】
次に、ゆらぎ推定装置10が行う処理について、図5〜図8を用いて説明する。図5は、本実施形態に係るゆらぎ推定装置10が行う処理手順のフローチャートである。
(ステップS1)ゆらぎ推定装置10は、パケット転送装置20が出力するフロー情報を収集する。ステップS1終了後、ステップS2に進む。
(ステップS2)次に、ゆらぎ推定装置10は、収集したフロー情報に基づきゆらぎを推定する。
【0027】
次に、ステップS1で行う処理について、図6を用いて説明する。図6は、本実施形態に係るフロー情報の収集に関するフローチャートである。
(ステップS101)ゆらぎ推定装置10のフロー情報取得部101は、指定回数もしくは指定時間に達するまで一定間隔で、ステップS102とステップS103を繰り返す。
【0028】
(ステップS102)フロー情報取得部101は、ゆらぎを推定したいネットワーク30の区間に配置されている2つのパケット転送装置20から、各パケット転送装置20を通過するフローに関するフロー情報を、ネットワーク30を介して取得する。ステップS102終了後、ステップS103に進む。
【0029】
(ステップS103)フロー情報取得部101は、取得したフロー情報から、測定対象のフロー情報を抽出する。フロー情報取得部101は、例えば、フロー情報から送信元のIPアドレス、送信先のIPアドレス、送信先ポート番号、送信元ポート番号及びプロトコルが同一のフローを測定対象として抽出する。次に、フロー情報取得部101は、測定対象のフロー情報から、フロー時刻情報及びパケット数情報を抽出し、抽出したフロー時刻情報及びパケット数情報をDB103の取得情報テーブルに格納する。
【0030】
(ステップS104)ステップS102及びS103を指定回数もしくは指定時間に達するまで一定間隔で繰り返して、測定対象のフロー情報を取得完了後、情報収集処理を終了する。
【0031】
[フロー情報からのフロー時刻情報、パケット数情報の取得]
次に、フロー情報からのフロー時刻情報、パケット数情報の取得方法の例について説明する。図7は、本実施形態に係る各プロトコルにおけるフロー時刻情報及びパケット数情報のフィールドを説明する図である。図7において、NetFlow(Ver9)の場合、「FIRST_SWITCHED」及び「IN_PKTS」はフィールドを表している。また、OpenFlow(Ver1.1.0)の場合、「duration_nsec」及び「packet_count」は構造体の中の情報を表している。
すなわち、フロー時刻は、パケットの送信時刻または受信時刻である。
【0032】
パケット転送装置20がOpenFlowプロトコル(Ver1.1.0)に対応している場合、ゆらぎ推定装置10は、パケット転送装置20に対して必要な情報(送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコル)を送信するリクエストを送信する。そして、ゆらぎ推定装置10は、パケット転送装置20がリクエストに応じて出力する情報を取得することで、必要なフロー情報を取得する。
より具体的には、ゆらぎ推定装置10は、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルの情報を格納させた「oft_mathch」構造体を持つ「ofp_flow_stats_reques」構成体のリクエストを生成して、生成したリクエストをパケット転送装置20に送信する。
パケット転送装置20は、リクエストに応じて「tofp_flow_stats」構造体をゆらぎ推定装置10に送信する。
ゆらぎ推定装置10は、図7の3列目に示したように、パケット転送装置20が出力する「tofp_flow_stats」構造体から「duration_nsec」情報を抽出することでフロー時刻情報を抽出する。ゆらぎ推定装置10は、「tofp_flow_stats」構造体から「packet_count」を抽出することでパケット数情報を抽出する。
【0033】
パケット転送装置20がNetFlowプロトコルまたはIPFIXプロトコルに対応している場合、ゆらぎ推定装置10は、予め定められている間隔でパケット転送装置20が出力する全てのフロー情報が含まれる情報を取得する。ゆらぎ推定装置10は、取得したフロー情報の中から、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルを用いて、フロー時刻情報及びパケット数情報を抽出する。
パケット転送装置20がNetFlowプロトコル(Ver9)に対応している場合のより具体的な例を説明する。ゆらぎ推定装置10は、パケット転送装置20が出力する全てのフロー情報が含まれる情報から、測定対象とする送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルに合致する情報を抽出する。次に、ゆらぎ推定装置10は、図7の2列目に示したように、抽出した1フロー分のフロー情報から「FIRST_SWITCHED」(フロー開始パケット受信時の時刻)情報または「LAST_SWITCHED」(フロー最終パケット受信時の時刻)情報を抽出することでフロー時刻情報を抽出する。また、ゆらぎ推定装置10は、抽出した1フロー分のフロー情報から「IN_PKTS」(フローのパケット総数)情報を抽出することでパケット数情報を抽出する。
【0034】
なお、フロー情報の特定のために、ゆらぎ推定装置10は、TOS(サービス・タイプ)フィールド値、VLAN ID(仮想LANのID)情報、MPLS(マルチ・プロトコル・ラベル・スイッチング)ラベル等の情報を加えるようにしてもよい。
【0035】
次に、図5のステップS2で行う処理について、図8を用いて説明する。図8は、本実施形態に係るパケットが通過したときのフロー時刻情報を推定する処理に関するフローチャートである。
(ステップS201)ゆらぎ推定装置10のゆらぎ算出部102は、DB103の取得情報テーブル内のパケット数が小さい順にステップS201からS205を、取得情報テーブルに格納されている情報について繰り返す。
【0036】
(ステップS202)ゆらぎ算出部102は、取得情報テーブル内かゆらぎ推定処理をまだ行っていない情報の中で、パケット数が最も小さい第1のパケット数を有する情報(以下、第1情報という)を抽出し、抽出した第1情報をゆらぎ推定処理対象情報として選択する。ステップS202終了後、ステップS203に進む。
【0037】
(ステップS203)ゆらぎ算出部102は、ゆらぎ推定の処理対象情報であるパケット転送装置IDと異なるIDを有する情報の中から、第1情報のパケット数よりパケット数が小さく、かつ第1情報のパケット数に最も近い第2のパケット数を有する情報(以下、第2情報という)を抽出する。
次に、ゆらぎ算出部102は、ゆらぎ推定の処理対象情報であるパケット転送装置IDと異なるIDを有する情報の中から、第1情報のパケット数よりパケット数が大きく、かつ第1情報のパケット数に最も近い第3のパケット数を持つ情報(以下、第3情報という)を抽出する。
ステップS203終了後、ステップS204に進む。
【0038】
(ステップS204)ゆらぎ算出部102は、ステップS203で、第2情報及び第3情報を抽出できたか否かを判別する。第2情報及び第3情報を抽出できていないと判別した場合(ステップS204;No)、ステップS202に戻る。第2情報及び第3情報を抽出できたと判別した場合(ステップS204;Yes)、ステップS205に進む。
【0039】
(ステップS205)第2情報及び第3情報を抽出できたと判別した場合、ゆらぎ算出部102は、抽出した第2情報及び第3情報に基づき、第1情報のパケット数と同一のパケット数のフロー時刻を推定する。次に、ゆらぎ算出部102は、推定したパケット数情報を、DB103のゆらぎ算出テーブルに格納する。
【0040】
(ステップS206)DB103の取得情報テーブル内のパケット数が小さい順に、格納されている全てのフロー情報についてステップS202からS205の処理を繰り返した後、ステップS201の処理を終了し、ステップS207に進む。
【0041】
(ステップS207)ゆらぎ算出部102は、DB103のゆらぎ算出テーブル内のパケット数が小さい順に、ステップS207からS211を繰り返す。
【0042】
(ステップS208)ゆらぎ算出部102は、ゆらぎ算出テーブル内から、ゆらぎ推定の処理対象となっていない情報の中から、最もパケット数が小さい情報を抽出し、抽出した情報を第1処理対象情報とする。ステップS208終了後、ステップS209に進む。
【0043】
(ステップS209)ゆらぎ算出部102は、ゆらぎ算出テーブル内から、第1処理対象情報の次にパケット数が小さい情報を抽出し、抽出した情報を第2処理対象情報とする。ステップS209終了後、ステップS210に進む。
【0044】
(ステップS210)ゆらぎ算出部102は、ステップS209において、第2処理対象情報が抽出できたか否かを判定する。第2処理対象情報が抽出できたと判定した場合(ステップS210;Yes)、ステップS211に進む。第2処理対象情報が抽出できていないと判定した場合(ステップS210;No)、ステップS207からS212の繰り返し処理を抜けて、ゆらぎ推定処理を終了する。
【0045】
(ステップS211)第2処理対象情報が抽出できたと判定した場合、ゆらぎ算出部102は、第1処理対象情報及び第2処理対象情報に基づき、後述するようにパケット間隔を算出し、算出結果に基づいてパケット転送装置20間のゆらぎを推定する。
【0046】
[ゆらぎ推定方法]
次に、ゆらぎの推定方法について、図8〜図12を用いて説明する。
図9は、本実施形態に係る2つのパケット転送装置を流れるフローを説明する図である。図9において、パケット転送装置20−1(第1パケット転送装置)の識別子IDは1(以下、ID−1という)、パケット転送装置20−2(第2パケット転送装置)の識別子IDは2(以下、ID−2という)である。また、パケット転送装置20−1(ID−1)からパケット転送装置20−2(ID−2)に向かって流れているフロー40−1が測定対象のフローであり、フローの識別子IDは1(以下、FlowID−1という)である。なお、図9に示した例は、ゆらぎの推定を説明するために、図1のようにネットワークにパケット転送装置20がn個設置されている中から、測定対象として任意に2個のパケット転送装置20−1とパケット転送装置20−2を抜き出した例である。
また、以下の説明では、パケット転送装置20−1(ID−1)を転送装置ID−1、パケット転送装置20−2(ID−2)を転送装置ID−2と表す。
【0047】
なお、転送装置ID−1が、第1パケット転送装置に対応する場合、パケット転送装置ID−2は、第2パケット転送装置に対応する。または、パケット転送装置ID−1が、第2パケット転送装置に相当する場合、パケット転送装置ID−2は、第1パケット転送装置に対応する。
【0048】
図10は、本実施形態に係るDB103の取得情報テーブルに格納されている情報からフローIDが同じであるパケット装置の情報を抽出した例を説明する図である。
図10に示した例では、情報がパケット数情報の昇順にソートされている。
すなわち、図10において、フロー時刻Tf2はフロー時刻Tf1より大きく、フロー時刻Tf3はフロー時刻Tf2より大きい。以下同様に、フロー時刻Tf4はフロー時刻Tf3より大きく、フロー時刻Tf5はフロー時刻Tf4より大きい。
また、それに応じて、図10において、パケット数Pはパケット数Pより大きく、パケット数Pはパケット数Pより大きい。以下同様に、パケット数Pはパケット数Pより大きく、パケット数Pはパケット数Pより大きい。
【0049】
図10に示したデータの一例を用いて、図8のフローチャートにおけるゆらぎ算出部102の処理を説明する。
ゆらぎ算出部102は、DB103の取得情報テーブルから、フローIDがFlowID−1のパケット転送装置ID、フロー時刻情報(Tfn(nは1以上の整数))、パケット数情報(P(nは1以上の整数))を抽出し、パケット数情報の昇順にソートする(図8のステップS201)。
【0050】
次に、ゆらぎ算出部102は、図10に示したテーブル内のまだ処理していない情報の中から、最もパケット数の小さい情報である2行目の(ID−1、FlowID−1、Tf1、)を処理対象の第1情報とする(ステップS202)。
次に、ゆらぎ算出部102は、パケット転送装置IDが異なり、且つ第1情報のパケット数Pより小さくかつPに最も近いパケット数情報を有する第2情報を、図10に示したテーブル内から抽出する(ステップS204)。この場合、パケット数Pより小さいパケット数情報を有する情報が取得情報テーブル内に無いため、ゆらぎ算出部102は、ステップS204において、第2情報を取得できていないと判定し、ステップS202に戻る。
【0051】
ステップS202に戻り、ゆらぎ算出部102は、図10に示したテーブル内のまだ処理していない情報の中から、最もパケット数の小さい情報である3行目の(ID−1、FlowID−1、Tf2、P)を処理対象の第1情報とする(ステップS202)。
次に、ゆらぎ算出部102は、パケット転送装置IDが異なり、且つ第1情報のフローパケット数Pより小さくかつPに最も近いパケット数情報を有する第2情報を、図10に示したテーブル内から抽出する(ステップS204)。この場合、パケット数Pより小さいパケット数情報を有する情報は、パケット数Pがあるが、パケット転送装置のIDが同じである。このため、ゆらぎ算出部102は、第2情報が取得テーブル内に無いため、ステップS204において、第2情報を取得できていないと判定し、ステップS202に戻る。
【0052】
ステップS202に戻り、ゆらぎ算出部102は、図10に示したテーブル内のまだ処理していない情報の中から、最もパケット数の小さい情報である4行目の情報(ID−2、FlowID−1、Tf3、P)を処理対象の第1情報とする(ステップS202)。
次に、ゆらぎ算出部102は、パケット転送装置IDが異なり、第1情報のパケット数Pより小さくかつPに最も近いパケット数Pを有する情報を第2情報として、図10に示したテーブル内から抽出する(ステップS204)。
【0053】
次に、ゆらぎ算出部102は、第1情報のパケット転送装置IDが異なり、且つ第2情報のパケット転送装置IDと同一IDであり、且つ第1情報のパケット数Pより大きく、且つPに最も近いパケット数Pを有する情報を第3情報として、図10に示したテーブル内から抽出する(ステップS204)。
ゆらぎ算出部102は、ステップS204において、第2情報と第3情報が抽出できたと判定する。
【0054】
時間(Tf4−Tf2)に(P−P)個のパケットが転送装置ID−1から転送装置ID−2を通過したことになる。このため、パケット1個当たりの通過に要したパケット通過時間(以下、パケット通過時間という)は、(Tf4−Tf2)/(P−P)である。
このため、ゆらぎ算出部102は、ステップS201からS206において抽出した第1情報、第2情報及び第3情報を次式(1)に代入して、転送装置ID−1におけるパケット数P(第1パケット数)の通過フロー時刻(第1通過推定フロー時刻、パケット通過時刻)Tpf3を推定する。
【0055】
【数1】

【0056】
ゆらぎ算出部102は、抽出したパケット数P個目のパケットが通過した転送装置ID−2のフロー時刻Tf3と、パケット数P個目のパケットが通過した転送装置ID−1における推定したフロー時刻TPf3とを、図11のように関連付けてDB103のゆらぎ算出テーブルに格納する。
図11は、本実施形態に係るゆらぎ算出テーブルに格納されている情報の例を説明する図である。図11に示すように、ゆらぎ算出テーブルには、パケット数情報、パケット数が通過したときの転送装置ID−1におけるフロー時刻情報、及びパケット数が通過したときの転送装置ID−2におけるフロー時刻情報が関連付けられて格納されている。
【0057】
ゆらぎ算出部102は、ステップS201からS206を繰り返し、取得情報テーブルに格納されている情報について処理を行う。
このような処理を行った結果、図12に示すようなゆらぎ算出テーブルが得られたとする。
図12は、本実施形態におけるゆらぎ算出テーブルに複数の情報が格納されている例を説明する図である。前述したように、図12に示したゆらぎ算出テーブルには、パケット数情報、転送装置ID−1のフロー時刻情報、及び転送装置ID−2のフロー時刻情報が関連付けて格納されている。なお、図12に示したゆらぎ算出テーブルは、パケット数情報の昇順でソートして表している。
【0058】
図12を用いて、図8のフローチャートにおけるゆらぎ算出部102の処理を説明する。
ゆらぎ算出部102は、ゆらぎ算出テーブルから、未処理であり最もパケット数が小さい情報を第1処理情報として抽出する。この場合、ゆらぎ算出部102は、パケット数Pを有する情報を第1処理情報として抽出する(ステップS208)。
次に、ゆらぎ算出部102は、ゆらぎ算出テーブルから、未処理であり第1処理情報の次にパケット数が小さい情報を第2処理情報として抽出する。この場合、ゆらぎ算出部102は、パケット数Pを有する情報を第2処理情報として抽出する(ステップS209)。
【0059】
第1処理情報と第2処理情報が抽出できたと判定した場合(ステップS210;Yes)、ゆらぎ算出部102は、抽出した第1処理情報と第2処理情報を次式(2)に代入してゆらぎJijを算出する。
【0060】
【数2】

【0061】
式(2)において、第1項目の(Tj(ID−1)−Ti(ID−1))は、転送装置ID−1におけるパケット数Pとパケット数Pとが通過したときの実測されたフロー時刻と推定されたフロー時刻との差を示す値である。また、式(2)において、第2項目の(Tj(ID−2)−Ti(ID−2))は、転送装置ID−2におけるパケット数Pとパケット数Pとが通過したときの実測されたフロー時刻と推定されたフロー時刻との差を示す値である。
【0062】
例えば、Tj(ID−1)は、転送装置ID−1(第1パケット転送装置)においてパケット数P(第m番目のパケット;mはn以上の整数、nは1以上の整数)が通過したとき実測されたフロー時刻に対応する。Ti(ID−1)は、転送装置ID−1(第1パケット転送装置)においてパケット数P(第n番目のパケット)が通過したとき推定されたフロー時刻(第1通過推定時刻)に対応する。Tj(ID−2)は、転送装置ID−2(第2パケット転送装置)においてパケット数P(第m番目のパケット)が通過したとき推定されたフロー時刻(第4通過推定時刻)に対応する。Ti(ID−2)は、転送装置ID−2(第2パケット転送装置)においてパケット数P(第n番目のパケット)が通過したとき実測されたフロー時刻に対応する。
【0063】
あるいは、Tj(ID−1)は、転送装置ID−1(第1パケット転送装置)においてパケット数P(第m番目のパケット)が通過したとき推定されたフロー時刻(第2通過推定時刻)に対応する。Ti(ID−1)は、転送装置ID−1(第1パケット転送装置)においてパケット数P(第n番目のパケット)が通過したとき実測されたフロー時刻に対応する。また、Tj(ID−2)は、転送装置ID−2(第2パケット転送装置)においてパケット数P(第m番目のパケット)が通過したとき実測されたフロー時刻に対応する。Ti(ID−2)は、転送装置ID−2(第2パケット転送装置)においてパケット数P(第n番目のパケット)が通過したとき推定されたフロー時刻(第3通過推定時刻)に対応する。
【0064】
以下同様にゆらぎ算出部102は、パケット数Pを有する情報を第1処理情報、パケット数Pを有する情報を第2処理情報としてゆらぎJjkを算出する。以下、ゆらぎ算出テーブルに格納されている全ての情報について、ゆらぎ算出部102は、ゆらぎを算出する。
【0065】
[具体例]
次に、具体的な実施例を、図9、図13〜図15を用いて説明する。
図13は、本実施形態に係るフロー情報の具体的な1例を説明する図である。図14は、本実施形態に係る取得情報テーブルに格納される情報の具体的な1例を説明する図である。図15は、本実施形態に係るゆらぎ算出テーブルに格納される情報の具体的な1例を説明する図である。
【0066】
測定対象は、図9と同様に、転送装置ID−1から転送装置ID−2に流れるFlowID−1のフローである。
図13に示すように、FlowID−1には、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルが含まれている。
図13に示した例では、送信元IPアドレスが「1.0.0.1」であり、送信先IPアドレスが「1.1.1.1」である。また、送信元ポート番号が「100」であり、送信先ポート番号が「111」である。また、プロトコルがTCP(伝送制御プロトコル)である。
【0067】
図13を用いて、図6のフローチャートにおけるフロー情報取得部101の処理を説明する。
フロー情報取得部101は、図13に示した情報のうち、FlowID−1を特徴付ける送信元IPアドレス情報等を利用して、FlowID−1のフローに関するフロー情報を取得する(図6、ステップS102)。次に、フロー情報取得部101は、取得したフロー情報からフロー時刻情報、パケット数情報を抽出して、抽出した情報を関連付けて図14のようにDB103の取得情報テーブルに格納する(図6、ステップS103)。なお、図14に示した例では、取得情報テーブルに格納された情報を、フロー時刻情報の昇順でソートして表している。
【0068】
続いて、図14及び図15を用いて、図8のフローチャートにおけるゆらぎ算出部102の処理を説明する。
ゆらぎ算出部102は、取得情報テーブルに格納されている情報の中から、図14の3行目のパケット数=361(第n番目のパケット)を有する情報を第1情報として抽出(図8、ステップS202)する。同様に、ゆらぎ算出部102は、取得情報テーブルに格納されている情報の中から、図14の2行目のパケット数=181を有する情報を第2情報として抽出し、図14の4行目のパケット数=440を有する情報を第3情報として抽出する(図8、ステップS203)。
次に、ゆらぎ算出部102は、抽出した第1情報、第2情報及び第3情報を式(1)に代入して、次式(3)のように、パケット数=361が通過したときの転送装置ID−1のフロー時刻(パケット通過時刻)T361(ID−1)を推定する。
【0069】
【数3】

【0070】
ゆらぎ算出部102は、抽出したパケット数=361を通過したときの転送装置ID−2のフロー時刻=21.00と、推定したパケット数=361を通過したときの転送装置ID−1のフロー時刻=21.42とを関連付けて、図15の2行目のようにゆらぎ算出テーブルに格納する(図8、ステップS205)。
【0071】
同様に、ゆらぎ算出部102は、抽出した第1情報(パケット数=440)、第2情報(パケット数=361)及び第3情報(パケット数=533)を式(1)に代入して、次式(4)のように、パケット数=440(第m番目のパケット)が通過したときの転送装置ID−2のフロー時刻T440(ID−2)を推定する。
【0072】
【数4】

【0073】
同様にゆらぎ算出部102は、抽出したパケット数=440が通過したときの転送装置ID−1のフロー時刻=26.00と、推定したパケット数=440が通過したときの転送装置ID−2のフロー時刻=25.59とを関連付けて、図15の3行目のようにゆらぎ算出テーブルに格納する(図8、ステップS205)。
【0074】
ゆらぎ算出部102は、ゆらぎ算出テーブルに格納されている情報を式(2)に代入して、ゆらぎJittetを次式(5)のように推定する。
【0075】
【数5】

【0076】
式(5)において、(26.00−21.42)は、転送装置ID−1における361番目のパケットが通過したフロー時刻と、440番目のパケットが通過したフロー時刻との差である第1通過時間を表している。また、式(5)において、(25.59−21.00)は、転送装置ID−2における361番目のパケットが通過したからフロー時刻と、440番目のパケットが通過したフロー時刻との差である第2通過時間を表している。
すなわち、図13から図15で説明した例において、ゆらぎ算出部102は、ゆらぎは「−0.01」であると推定する。なお、ゆらぎ推定装置10は、推定したパケット通過数及びゆらぎを示す情報を、例えば、図示しないネットワークの監視装置に出力する。
【0077】
なお、ゆらぎの算出の説明を行うために図9に示したように2つのパケット転送装置20−1とパケット転送装置20−2からフロー情報を取得してゆらぎを推定する例を説明したがこれに限られない。図1に示したように、n個のパケット転送装置20−1〜20−nがネットワーク30に接続されている場合、ゆらぎ推定装置10は、n個のパケット転送装置20−1〜20−nからフロー情報を取得し、取得したフロー情報に基づいて任意の2つのパケット転送装置20間のフロー情報を抽出してゆらぎを算出してもよい。
以上のように、パケット転送装置20が出力するフロー情報を用いてゆらぎを推定するようにしたので、ネットワーク30にプローブを設置せずにゆらぎを推定できるので、本実施形態に係る監視システム1は、パケット通過数及びゆらぎを安価に監視することができる。
【0078】
また、本実施形態の監視システム1によれば、パケットキャプチャーやパケット解析処理が不要であり、またパケット転送装置から得た情報からゆらぎを推定する演算は非常に簡易なものである。このため、ゆらぎを推定(演算)するゆらぎ推定装置の負荷が高くならず、ゆらぎ推定装置を安価なPC(パーソナルソコンピュータ)で実現することが出来る。
【0079】
なお、本実施形態では、転送装置ID−1のパケット通過時刻を推定するときに、推定に用いる通過パケット数として、転送装置ID−2で実測値が取得できている通過パケット数を用いる例を説明したが、任意の通過パケット数におけるパケット通過時刻を推定するようにしてもよい。
以下に、任意の通過パケット数におけるパケット通過時刻を推定する一例について説明する。ゆらぎ算出部102は、転送装置ID−1において、取得したフロー情報を用いて、任意の第n番目のパケットが通過するパケット通過時刻(第1通過推定時刻)を推定する。また、ゆらぎ算出部102は、転送装置ID−1を第m番目のパケットが通過するパケット通過時刻(第2通過推定時刻)を推定する。同様に、ゆらぎ算出部102は、転送装置ID−2において、取得したフロー情報を用いて、任意の第n番目のパケットが通過するパケット通過時刻(第3通過推定時刻)を推定する。ゆらぎ算出部102は、転送装置ID−2を第m番目のパケットが通過するパケット通過時刻(第4通過推定時刻)を推定する。
ゆらぎ算出部102は、このように推定した各パケット通過推定時刻を式(2)に代入することでゆらぎを算出するようにしてもよい。
【0080】
具体的には、例えば、図14に示したような情報を取得した場合、ゆらぎ算出部102は、転送装置ID−1におけるパケット数=181とパケット数=440の各フロー情報を用いて、転送装置ID−1におけるパケット数=370及びパケット数=430の各々パケット通過時刻を推定する。同様に、ゆらぎ算出部102は、転送装置ID−2におけるパケット数=361とパケット数=533の各フロー情報を用いて、転送装置ID−2におけるパケット数=370及びパケット数=430の各々のパケット通過時刻を推定する。このように推定した転送装置ID−1及び転送装置ID−2の370番目のパケット及び440番目のパケットが通過した各パケット通過時刻を、式(2)に代入することでゆらぎを算出するようにしてもよい。
【0081】
なお、本実施形態では、1つのゆらぎを得るための最小限の例を説明したが、得たいゆらぎの精度に応じて測定回数及び推定に用いるパケット数を設定するようにしてもよい。
また、推定したパケット数に基づき、パケット数または測定回数を監視システム1の管理者が手動で、または、図示しないネットワークの監視装置が推定されたゆらぎに基づいて設定するようにしてもよい。
【0082】
なお、本実施形態では、ゆらぎを推定したい区間において、片方向のゆらぎを推定する方法を説明したが、両方向のゆらぎを推定するようにしてもよい。この場合、例えば、図9で説明したようにパケット転送装置20−2(ID−2)からパケット転送装置20−1(ID−1)に流れるFlowID−2のゆらぎを推定するようにしてもよい。フロー情報の収集、取得情報テーブル及びゆらぎ算出テーブルへの情報の格納、ゆらぎの算出は、図6及び図8と同様に行う。この場合、フロー情報取得部101は、DB103に格納されている情報を、パケット数情報の降順にソートするようにしてもよい。
【0083】
なお、本実施形態では、パケット転送装置20が、OpenFlowプロトコル、NetFlowプロトコル及びIPFIXプロトコルに対応している例を説明したが、これに限られない。フロー時刻情報及びパケット数情報が得られる他のプロトコルに対応したパケット転送装置が出力するするフロー情報を用いるようにしてもよい。
【0084】
また、本実施形態では、一定期間または一定回数情報収集後にゆらぎを推定する例を説明したが、ゆらぎ推定装置10は、情報を収集しながらゆらぎを推定するようにしてもよい。
【0085】
また、本実施形態において、フロー情報取得部101は、パケット数についてソートして取得情報テーブル及びゆらぎ算出テーブルに情報を格納したりゆらぎを算出したりする例を説明したが、これに限られない。例えば、フロー情報取得部101は、フロー時刻の昇順にソートして取得情報テーブル及びゆらぎ算出テーブルに情報を格納したりゆらぎを算出したりするようにしてもよい。または、フロー情報取得部101は、取得情報テーブル及びゆらぎ算出テーブルに格納されている情報をソートせず、そのまま条件に合う情報を探索するようにしてもよい。
【0086】
なお、本実施形態において、フロー情報取得部101は、近接しているパケット数情報の第1情報〜第3情報、及び第1処理情報〜第3処理情報を抽出する例を説明したが、これに限られない。例えば、第3情報のパケット数は、第1情報のパケット数に最も近いパケット数ではなく、離れているパケット数を含む情報であってもよい。
【0087】
なお、本実施形態では、フロー情報取得部101が、フロー情報の取得と、取得したフロー情報を取得情報テーブルに格納する例を説明したが、これに限られない。例えば、フロー情報取得部101は、情報取得部とデータ抽出部を備えるようにしてもよい。この場合、情報取得部は、フロー情報を取得し、データ抽出部が取得したフロー情報を取得情報テーブルに格納するようにしてもよい。
【0088】
なお、実施形態の図2のゆらぎ推定装置10の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、USB(Universal Serial Bus) I/F(インタフェース)を介して接続されるUSBメモリ、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、サーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【0089】
1・・・監視システム、10・・・ゆらぎ推定装置、20・・・パケット転送装置、30・・・ネットワーク、40−1・・・フロー、101・・・フロー情報取得部、102・・・ゆらぎ算出部、103・・・DB、ID−1〜ID−n・・・パケット転送装置の識別子、FlowID−1〜FlowID−5・・・フローID、Tf1〜Tf5・・・フロー時刻情報、P〜P、P〜P・・・パケット数情報、Ti(ID−1)〜Tm(ID−1)・・・ID−1を有するパケット転送装置におけるフロー時刻情報、Ti(ID−2)〜Tm(ID−2)・・・ID−2を有するパケット転送装置におけるフロー時刻情報

【特許請求の範囲】
【請求項1】
第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得部と、
前記フロー情報取得部が抽出した前記パケット数情報が異なる2つのフロー情報に基づき、任意の個数番目のパケットが前記第1パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定部と、
を備えることを特徴とする監視装置。
【請求項2】
前記フロー情報取得部は、
前記第1パケット転送装置から第2パケット転送装置へ流れているフローに関するフロー情報であって、前記第2パケット転送装置から出力されたフロー情報を取得し、前記第2パケット転送装置から取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出し、
前記通過時刻推定部は、
前記第1パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる2つのフロー情報に基づき、任意の2つの個数番目の各パケットが前記第1パケット転送装置を各々通過するときの各パケット通過時刻を推定し、
前記第2パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる2つのフロー情報に基づき、任意の前記2つの個数番目の各パケットが前記第2パケット転送装置を各々通過するときの各パケット通過時刻を推定し、
推定した任意の前記2つの個数番目の各パケットが前記第1パケット転送装置及び前記第2パケット転送装置を各々通過する各パケット通過時刻に基づき、前記第1パケット転送装置及び前記第2パケット転送装置を任意の前記2つの個数番目の各同一個数のパケットが通過する時刻差を推定する
ことを特徴とする請求項1に記載の監視装置。
【請求項3】
前記通過時刻推定部は、
前記第1パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのパケット数情報に基づき、任意の第n番目(nは、1以上の整数)のパケットが前記第1パケット転送装置間を通過するパケット通過時刻を第1通過推定時刻として推定し、任意の第m番目(mは、n以上の整数)のパケットが前記第1パケット転送装置間を通過するパケット通過時刻を第2通過推定時刻として推定し、
推定した前記第1通過推定時刻と前記第2通過推定時刻の差に基づいて、前記第n番目から前記第m番目までのパケットが前記第1パケット転送装置を通過するのに要した第1通過時間を算出し、
前記第2パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのパケット数情報に基づき、前記第n番目のパケットが前記第2パケット転送装置間を通過するパケット通過時刻を第3通過推定時刻として推定し、前記第m番目のパケットが前記第2パケット転送装置間を通過するパケット通過時刻を第4通過推定時刻として推定し、
推定した前記第3通過推定時刻と前記第4通過推定時刻の差に基づいて、前記第n番目から前記第m番目のパケットが前記第2パケット転送装置を通過するのに要した第2通過時間を算出し、
算出した前記第1通過時間と前記第2通過時間との差に基づいて、前記第1パケット転送装置と前記第2パケット転送装置間を1方向に流れているフローにおける前記フロー時刻のゆらぎを推定する
ことを特徴とする請求項2に記載の監視装置。
【請求項4】
前記通過時刻推定部は、
前記第2パケット転送装置における通過パケット数の実測値であるパケット数を前記第n番目のパケットとして用い、
前記第1パケット転送装置における通過パケット数の実測値であるパケット数を前記第m番目のパケットとして用いる
ことを特徴とする請求項2または請求項3に記載の監視装置。
【請求項5】
監視装置における監視方法であって、
フロー情報取得部が、第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、
通過時刻推定部が、前記フロー情報取得手順が抽出した前記パケット数情報が異なる2つのフロー情報に基づき、任意の個数番目のパケットが前記第1パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定手順と、
を含むことを特徴とする監視方法。
【請求項6】
監視装置のコンピュータに、
第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、
前記フロー情報取得手順が抽出した前記パケット数情報が異なる2つのフロー情報に基づき、任意の個数番目のパケットが前記第1パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定手順と、
を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate