監視装置、監視方法及びプログラム
【課題】ネットワークのパケット品質を安価に監視することができる監視装置、監視方法及びプログラムを提供することを目的としている。
【解決手段】第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得したフロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得部と、フロー情報取得部が抽出したフロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に第1パケット転送装置を通過する通過パケット数を推定するパケット数推定部と、を備える。
【解決手段】第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得したフロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得部と、フロー情報取得部が抽出したフロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に第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つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定部と、を備えることを特徴としている。
【0008】
また、本発明の監視装置において、前記フロー情報取得部は、前記第1パケット転送装置から第2パケット転送装置へ流れているフローに関するフロー情報であって、前記第2パケット転送装置から出力されたフロー情報を取得し、前記第2パケット転送装置から取得した前記フロー情報からパケット数情報及びフロー時刻情報を抽出し、前記パケット数推定部は、前記第1パケット転送装置から取得された前記フロー情報から前記フロー情報取得部が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、前記n番目のパケットを送信してからの任意の2つの経過時刻に前記第1パケット転送装置を各々通過する各通過パケット数を推定し、前記第2パケット転送装置から取得された前記フロー情報から前記フロー情報取得部が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、任意の前記2つの経過時刻に前記第2パケット転送装置を各々通過する各通過パケット数を推定し、推定した前記n番目のパケットを送信してからの任意の前記2つの経過時刻に前記第1パケット転送装置及び前記第2パケット転送装置を各々通過する前記各通過パケット数に基づき、前記第1パケット転送装置及び前記第2パケット転送装置を任意の2つの前記経過時刻の同一時刻帯に各々通過する通過パケットの個数を推定するようにしてもよい。
【0009】
また、本発明の監視装置において、前記パケット数推定部は、前記第1パケット転送装置からが取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのフロー時刻情報に基づき、前記n番目のパケットを送受信してからの任意の第1経過時刻に前記第1パケット転送装置間を通過する通過パケット数を第1通過推定パケット数として推定し、前記n番目のパケットを送受信してからの任意の第2経過時刻に前記第1パケット転送装置間を通過する通過パケット数を第2通過推定パケット数として推定し、推定した前記第1通過推定パケット数と前記第2通過推定パケット数の差に基づいて、前記第1経過時刻から前記第2経過時刻の間に前記第1パケット転送装置を通過した第1通過パケット個数を算出し、前記第2パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのフロー時刻情報に基づき、前記第1経過時刻に前記第2パケット転送装置間を通過する通過パケット数を第3通過推定パケット数として推定し、前記第2経過時刻に前記第2パケット転送装置間を通過する通過パケット数を第4通過推定パケット数として推定し、推定した前記第3通過推定パケット数と前記第4通過推定パケット数の差に基づいて、前記第1経過時刻から前記第2経過時刻の間に前記第2パケット転送装置を通過した第2通過パケット個数を算出し、算出した前記第1通過パケット個数と前記第2通過パケット個数との差に基づいて、前記第1パケット転送装置と前記第2パケット転送装置間を1方向に流れているフローにおけるパケットロス数を推定するようにしてもよい。
【0010】
また、本発明の監視装置において、前記パケット数推定部は、前記第2パケット転送装置におけるパケット通過時刻の実測値であるフロー時刻を前記第1経過時刻として用い、前記第1パケット転送装置におけるパケット通過時刻の実測値であるフロー時刻を前記第2経過時刻として用いるようにしてもよい。
【0011】
上記目的を達成するため、本発明は、監視装置における監視方法であって、フロー情報取得部が、第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、パケット数推定部が、前記フロー情報取得手順が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定手順と、を含むことを特徴としている。
【0012】
上記目的を達成するため、本発明に係るプログラムは、監視装置のコンピュータに、第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、前記フロー情報取得手順が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定手順と、を実行させることを特徴としている。
【発明の効果】
【0013】
本発明によれば、プローブを設置せずに、第1パケット転送装置が出力したフローに関するフロー情報を取得し、取得したフロー情報に含まれるパケット数情報及びフローの生存時間を示すフロー時刻情報に基づき、任意の経過時刻の第1パケット転送装置を通過する通過パケット数を推定する。この結果、ネットワークのパケット品質を安価に監視することができる。
【図面の簡単な説明】
【0014】
【図1】本実施形態に係る監視システムの概略構成図である。
【図2】本実施形態に係るパケットロス推定装置10の概略機能ブロック図である。
【図3】本実施形態に係るDB103に格納されるフロー情報から抽出した情報の一例を説明する図である。
【図4】本実施形態に係るパケットロス推定装置10が行う処理手順のフローチャートである。
【図5】本実施形態に係るフロー情報の収集に関するフローチャートである。
【図6】本実施形態に係る各プロトコルにおけるフロー時刻情報及びパケット数情報のフィールドを説明する図である。
【図7】本実施形態に係るパケットロス数を推定する処理に関するフローチャートである。
【図8】本実施形態に係る2つのパケット転送装置を流れるフローを説明する図である。
【図9】本実施形態に係るDB103の取得情報テーブルに格納されている情報からフローIDが同じであるパケット装置の情報を抽出した例を説明する図である。
【図10】本実施形態に係るロス算出テーブルに格納されている情報の例を説明する図である。
【図11】本実施形態におけるロス算出テーブルに複数の情報が格納されている例を説明する図である。
【図12】本実施形態に係るフロー情報の具体的な1例を説明する図である。
【図13】本実施形態に係る取得情報テーブルに格納される情報の具体的な1例を説明する図である。
【図14】本実施形態に係るロス算出テーブルに格納される情報の具体的な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より取得した情報から、パケット転送装置間のパケットロス数を測定する。パケットロス推定装置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】
次に、パケットロス推定装置10が行う処理について、図4〜図7を用いて説明する。
図4は、本実施形態に係るパケットロス推定装置10が行う処理手順のフローチャートである。
(ステップS1)パケットロス推定装置10は、パケット転送装置20が出力するフロー情報を収集する。ステップS1終了後、ステップS2に進む。
(ステップS2)次に、パケットロス推定装置10は、収集したフロー情報に基づきパケットロス数を推定する。
【0026】
次に、ステップS1で行う処理について、図5を用いて説明する。図5は、本実施形態に係るフロー情報の収集に関するフローチャートである。
(ステップS101)パケットロス推定装置10のフロー情報取得部101は、指定回数もしくは指定時間に達するまで一定間隔で、ステップS102とステップS103を繰り返す。
【0027】
(ステップS102)フロー情報取得部101は、パケットロス数を推定したいネットワーク30の区間に配置されている2つのパケット転送装置20から、各パケット転送装置20を通過するフローに関するフロー情報を、ネットワーク30を介して取得する。ステップS102終了後、ステップS103に進む。
【0028】
(ステップS103)フロー情報取得部101は、取得したフロー情報から、測定対象のフロー情報を抽出する。フロー情報取得部101は、例えば、フロー情報から送信元のIPアドレス、送信先のIPアドレス、送信先ポート番号、送信元ポート番号及びプロトコルが同一のフローを測定対象として抽出する。次に、フロー情報取得部101は、測定対象のフロー情報から、フロー時刻情報及びパケット数情報を抽出し、抽出したフロー時刻情報及びパケット数情報をDB103の取得情報テーブルに格納する。
【0029】
(ステップS104)ステップS102及びS103を指定回数もしくは指定時間に達するまで一定間隔で繰り返して、測定対象のフロー情報を取得完了後、情報収集処理を終了する。
【0030】
[フロー情報からのフロー時刻情報、パケット数情報の取得]
次に、フロー情報からのフロー時刻情報、パケット数情報の取得方法の例について説明する。図6は、本実施形態に係る各プロトコルにおけるフロー時刻情報及びパケット数情報のフィールドを説明する図である。図6において、NetFlow(Ver9)の場合、「FIRST_SWITCHED」及び「IN_PKTS」はフィールドを表している。また、OpenFlow(Ver1.1.0)の場合、「duration_nsec」及び「packet_count」は構造体の中の情報を表している。
【0031】
パケット転送装置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は、図6の3列目に示したように、パケット転送装置20が出力する「tofp_flow_stats」構造体から「duration_nsec」情報を抽出することでフロー時刻情報を抽出する。パケットロス推定装置10は、「tofp_flow_stats」構造体から「packet_count」を抽出することでパケット数情報を抽出する。
【0032】
パケット転送装置20がNetFlowプロトコルまたはIPFIXプロトコルに対応している場合、パケットロス推定装置10は、予め定められている間隔でパケット転送装置20が出力する全てのフロー情報が含まれる情報を取得する。パケットロス推定装置10は、取得したフロー情報の中から、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルを用いて、フロー時刻情報及びパケット数情報を抽出する。
パケット転送装置20がNetFlowプロトコル(Ver9)に対応している場合のより具体的な例を説明する。パケットロス推定装置10は、パケット転送装置20が出力する全てのフロー情報が含まれる情報から、測定対象とする送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルに合致する情報を抽出する。次に、パケットロス推定装置10は、図6の2列目に示したように、抽出した1フロー分のフロー情報から「FIRST_SWITCHED」(フロー開始パケット受信時の時刻)情報または「LAST_SWITCHED」(フロー最終パケット受信時の時刻)情報を抽出することでフロー時刻情報を抽出する。また、パケットロス推定装置10は、抽出した1フロー分のフロー情報から「IN_PKTS」(フローのパケット総数)情報を抽出することでパケット数情報を抽出する。
すなわち、フロー時刻は、パケットの送信時刻または受信時刻である。
【0033】
なお、フロー情報の特定のために、パケットロス推定装置10は、TOS(サービス・タイプ)フィールド値、VLAN ID(仮想LANのID)情報、MPLS(マルチ・プロトコル・ラベル・スイッチング)ラベル等の情報を加えるようにしてもよい。
【0034】
次に、図4のステップS2で行う処理について、図7を用いて説明する。図7は、本実施形態に係るパケットロス数を推定する処理に関するフローチャートである。
(ステップS201)パケットロス推定装置10のパケットロス算出部102は、DB103の取得情報テーブル内のフロー時刻が小さい順にステップS201からS205を、取得情報テーブルに格納されている情報について繰り返す。
【0035】
(ステップS202)パケットロス算出部102は、取得情報テーブル内からロス推定処理をまだ行っていない情報の中で、フロー時刻が最も小さい第1のフロー時刻を有する情報(以下、第1情報という)を抽出し、抽出した第1情報をロス推定処理対象情報として選択する。ステップS202終了後、ステップS203に進む。
【0036】
(ステップS203)パケットロス算出部102は、ロス推定の処理対象情報であるパケット転送装置IDと異なるIDを有する情報の中から、第1情報のフロー時刻より時刻が小さく、かつ第1情報のフロー時刻に最も近い第2のフロー時刻を有する情報(以下、第2情報という)を抽出する。
次に、パケットロス算出部102は、ロス推定の処理対象情報であるパケット転送装置IDと異なるIDを有する情報の中から、第1情報のフロー時刻より時刻が大きく、かつ第1情報のフロー時刻に最も近い第3のフロー時刻を持つ情報(以下、第3情報という)を抽出する。
ステップS203終了後、ステップS204に進む。
【0037】
(ステップS204)パケットロス算出部102は、ステップS203で、第2情報及び第3情報を抽出できたか否かを判別する。第2情報及び第3情報を抽出できていないと判別した場合(ステップS204;No)、ステップS202に戻る。第2情報及び第3情報を抽出できたと判別した場合(ステップS204;Yes)、ステップS205に進む。
【0038】
(ステップS205)第2情報及び第3情報を抽出できたと判別した場合、パケットロス算出部102は、抽出した第2情報及び第3情報に基づき、第1情報のフロー時刻と同一時刻時のパケット数を推定する。次に、パケットロス算出部102は、推定したパケット数を示す情報を、DB103のロス算出テーブルに格納する。
【0039】
(ステップS206)DB103の取得情報テーブル内のフロー時刻が小さい順に、格納されている全てのフロー情報についてステップS202からS205の処理を繰り返した後、ステップS201の処理を終了し、ステップS207に進む。
【0040】
(ステップS207)パケットロス算出部102は、DB103のロス算出テーブル内のフロー時刻が小さい順に、ステップS207からS211を繰り返す。
【0041】
(ステップS208)パケットロス算出部102は、ロス算出テーブル内から、ロス推定の処理対象となっていない情報の中から、最もフロー時刻が小さい情報を抽出し、抽出した情報を第1処理対象情報とする。ステップS208終了後、ステップS209に進む。
【0042】
(ステップS209)パケットロス算出部102は、ロス算出テーブル内から、第1処理対象情報の次にフロー時刻が小さい情報を抽出し、抽出した情報を第2処理対象情報とする。ステップS209終了後、ステップS210に進む。
【0043】
(ステップS210)パケットロス算出部102は、ステップS209において、第2処理対象情報が抽出できたか否かを判定する。第2処理対象情報が抽出できたと判定した場合(ステップS210;Yes)、ステップS211に進む。第2処理対象情報が抽出できていないと判定した場合(ステップS210;No)、ステップS207からS212の繰り返し処理を抜けて、ロス推定処理を終了する。
【0044】
(ステップS211)第2処理対象情報が抽出できたと判定した場合、パケットロス算出部102は、第1処理対象情報及び第2処理対象情報に基づき、後述するようにパケット間隔を算出し、算出結果に基づいてパケット転送装置20間のパケットロス数を推定する。
【0045】
[パケットロス推定方法]
次に、パケットロス数の推定方法について、図7〜図11を用いて説明する。
図8は、本実施形態に係る2つのパケット転送装置を流れるフローを説明する図である。図8において、パケット転送装置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という)である。なお、図8に示した例は、パケットロス数の推定を説明するために、図1のようにネットワークにパケット転送装置20がn個設置されている中から、測定対象として任意に2個のパケット転送装置20−1とパケット転送装置20−2を抜き出した例である。
また、以下の説明では、パケット転送装置20−1(ID−1)を転送装置ID−1、パケット転送装置20−2(ID−2)を転送装置ID−2と表す。
【0046】
なお、転送装置ID−1が、第1パケット転送装置に対応する場合、転送装置ID−2)は、第2パケット転送装置に対応する。または、転送装置ID−1が、第2パケット転送装置に相当する場合、転送装置ID−2は、第1パケット転送装置に対応する。
【0047】
図9は、本実施形態に係るDB103の取得情報テーブルに格納されている情報からフローIDが同じであるパケット装置の情報を抽出した例を説明する図である。図9に示すように、取得情報テーブルには、転送装置ID、フローID、フロー時刻情報、及びパケット数情報が関連付けられて格納されている。なお、図9に示した例では、情報がフロー時刻情報の昇順にソートされている。
すなわち、図9において、フロー時刻Tf2はフロー時刻Tf1より大きく、フロー時刻Tf3はフロー時刻Tf2より大きい。以下同様に、フロー時刻Tf4はフロー時刻Tf3より大きく、フロー時刻Tf5はフロー時刻Tf4より大きい。
また、それに応じて、図9において、パケット数P2はパケット数P1より大きく、パケット数P3はパケット数P2より大きい。以下同様に、パケット数P4はパケット数P3より大きく、パケット数P5はパケット数P4より大きい。
【0048】
図9に示したデータの一例を用いて、図7のフローチャートにおけるパケットロス算出部102の処理を説明する。
パケットロス算出部102は、DB103の取得情報テーブルから、フローIDがFlowID−1のパケット転送装置ID、フロー時刻情報(Tfn(nは1以上の整数))、パケット数情報(Pn(nは1以上の整数))を抽出し、フロー時刻情報の昇順にソートする(図7のステップS201)。
【0049】
次に、パケットロス算出部102は、図9に示したテーブル内のまだ処理していない情報の中から、最もフロー時刻の小さい情報である2行目の(ID−1、FlowID−1、Tf1、P1)を処理対象の第1情報とする(ステップS202)。
次に、パケットロス算出部102は、パケット転送装置IDが異なり、且つ第1情報のフロー時刻Tf1より小さくかつTf1に最も近いフロー時刻情報を有する第2情報を、図9に示したテーブル内から抽出する(ステップS204)。この場合、フロー時刻Tf1より小さいフロー時刻情報を有する情報が取得情報テーブル内に無いため、パケットロス算出部102は、ステップS204において、第2情報を取得できていないと判定し、ステップS202に戻る。
【0050】
ステップS202に戻り、パケットロス算出部102は、図9に示したテーブル内のまだ処理していない情報の中から、最もフロー時刻の小さい情報である3行目の(ID−1、FlowID−1、Tf2、P2)を処理対象の第1情報とする(ステップS202)。
次に、パケットロス算出部102は、パケット転送装置IDが異なり、且つ第1情報のフロー時刻Tf2より小さくかつTf2に最も近いフロー時刻情報を有する第2情報を、図9に示したテーブル内から抽出する(ステップS204)。この場合、フロー時刻Tf2より小さいフロー時刻情報を有する情報は、フロー時刻Tf1があるが、パケット転送装置のIDが同じである。このため、パケットロス算出部102は、第2情報が取得テーブル内に無いため、ステップS204において、第2情報を取得できていないと判定し、ステップS202に戻る。
【0051】
ステップS202に戻り、パケットロス算出部102は、図9に示したテーブル内のまだ処理していない情報の中から、最もフロー時刻の小さい情報である4行目の情報(ID−2、FlowID−1、Tf3、P3)を処理対象の第1情報とする(ステップS202)。
次に、パケットロス算出部102は、パケット転送装置IDが異なり、第1情報のフロー時刻Tf3より小さくかつTf3に最も近いフロー時刻Tf2を有する情報を第2情報として、図9に示したテーブル内から抽出する(ステップS204)。
【0052】
次に、パケットロス算出部102は、第1情報のパケット転送装置IDが異なり、且つ第2情報のパケット転送装置IDと同一IDであり、且つ第1情報のフロー時刻Tf3より大きく、且つTf3に最も近いフロー時刻Tf4を有する情報を第3情報として、図9に示したテーブル内から抽出する(ステップS204)。
パケットロス算出部102は、ステップS204において、第2情報と第3情報が抽出できたと判定する。
【0053】
時間(Tf4−Tf2)に(P4−P2)個のパケットが転送装置ID−1を通過したことになる。このため、単位時間当たりの通過したパケット個数(以下、通過パケット個数という)は、(P4−P2)/(Tf4−Tf2)である。
このため、パケットロス算出部102は、ステップS201からS206において抽出した第1情報、第2情報及び第3情報を次式(1)に代入して、転送装置ID−1におけるフロー時刻Tf3(第1経過時刻)の通過パケット数(第1通過推定パケット数)Pf3を推定する。
【0054】
【数1】
【0055】
パケットロス算出部102は、抽出したフロー時刻Tf3における転送装置ID−2の通過したパケット数(以下、通過パケット数という)P3と、推定したフロー時刻Tf3における転送装置ID−1の通過パケット数Pf3とを、図10のように関連付けてDB103のロス算出テーブルに格納する。
図10は、本実施形態に係るロス算出テーブルに格納されている情報の例を説明する図である。図10に示すように、ロス算出テーブルには、フロー時刻情報、転送装置ID−1のパケット数情報、及び転送装置ID−2のパケット数情報が関連付けられて格納されている。
【0056】
パケットロス算出部102は、ステップS201からS206を繰り返し、取得情報テーブルに格納されている情報について処理を行う。
このような処理を行った結果、図11に示すようなロス算出テーブルが得られたとして、以下の説明を行う。
図11は、本実施形態におけるロス算出テーブルに複数の情報が格納されている例を説明する図である。図11に示したロス算出テーブルには、前述したように、フロー時刻情報、転送装置ID−1のパケット数情報、及び転送装置ID−2のパケット数情報が関連付けて格納されている。なお、図11に示したロス算出テーブルは、フロー時刻情報の昇順でソートして表している。
【0057】
図11を用いて、図7のフローチャートにおけるパケットロス算出部102の処理を説明する。
パケットロス算出部102は、ロス算出テーブルから、未処理であり最もフロー時刻が小さい情報を第1処理情報として抽出する。この場合、パケットロス算出部102は、フロー時刻Tfiを有する情報を第1処理情報として抽出する(ステップS208)。
次に、パケットロス算出部102は、ロス算出テーブルから、未処理であり第1処理情報の次にフロー時刻が小さい情報を第2処理情報として抽出する。この場合、パケットロス算出部102は、フロー時刻Tfjを有する情報を第2処理情報として抽出する(ステップS209)。
【0058】
第1処理情報と第2処理情報が抽出できたと判定した場合(ステップS210;Yes)、パケットロス算出部102は、抽出した第1処理情報と第2処理情報を次式(2)に代入してパケットロス数Lijを推定する。
【0059】
【数2】
【0060】
式(2)において、第1項目の(Pj(ID−1)−Pi(ID−1))は、転送装置ID−1における時刻Tfiと時刻Tfjにおける実測された通過パケット数と推定された通過パケット数との差である通過パケット個数を示す値である。また、式(2)において、第2項目の(Pj(ID−2)−Pi(ID−2))は、転送装置ID−2における時刻Tfiと時刻Tfjにおける実測された通過パケット数と推定された通過パケット数との差である通過パケット個数を示す値である。
【0061】
例えば、Pj(ID−1)は、時刻Tfj(第2経過時刻)における転送装置ID−1(第1パケット転送装置)の実測された通過パケット数に対応する。Pi(ID−1)は、時刻Tfi(第1経過時刻)における転送装置ID−1(第1パケット転送装置)の推定された通過パケット数(第1通過推定パケット数)に対応する。Pj(ID−2)は、時刻Tfj(第2経過時刻)における転送装置ID−2(第2パケット転送装置)の推定された通過パケット数(第4通過推定パケット数)に対応する。Pi(ID−2)は、時刻Tfi(第1経過時刻)における転送装置ID−2(第2パケット転送装置)の実測された通過パケット数に対応する。
【0062】
あるいは、Pj(ID−1)が時刻Tfj(第2経過時刻)における転送装置ID−1(第1パケット転送装置)の推定された通過パケット数(第2通過推定パケット数)に対応する。Pi(ID−1)は、時刻Tfi(第1経過時刻)における転送装置ID−1(第1パケット転送装置)の実測された通過パケット数に対応する。また、Pj(ID−2)は、時刻Tfj(第2経過時刻)における転送装置ID−2(第2パケット転送装置)の実測された通過パケット数に対応する。Pi(ID−2)は、時刻Tfi(第1経過時刻)における転送装置ID−2(第2パケット転送装置)の推定された通過パケット数(第3通過推定パケット数)に対応する。
【0063】
以下同様にパケットロス算出部102は、フロー時刻Tfjを有する情報を第1処理情報、フロー時刻Tfkを有する情報を第2処理情報としてパケットロス数Ljkを推定する。以下、ロス算出テーブルに格納されている全ての情報について、パケットロス算出部102は、パケットロス数を推定する。
【0064】
[具体例]
次に、具体的な実施例を、図8、図12〜図14を用いて説明する。
図12は、本実施形態に係るフロー情報の具体的な1例を説明する図である。図13は、本実施形態に係る取得情報テーブルに格納される情報の具体的な1例を説明する図である。図14は、本実施形態に係るロス算出テーブルに格納される情報の具体的な1例を説明する図である。
【0065】
測定対象は、図8と同様に、転送装置ID−1から転送装置ID−2に流れるFlowID−1のフローである。
図12に示すように、FlowID−1には、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルが含まれている。図12に示した例では、送信元IPアドレスが「1.0.0.1」であり、送信先IPアドレスが「1.1.1.1」である。また、送信元ポート番号が「100」であり、送信先ポート番号が「111」である。また、プロトコルがTCP(伝送制御プロトコル)である。
【0066】
図12を用いて、図5のフローチャートにおけるフロー情報取得部101の処理を説明する。
フロー情報取得部101は、図12に示した情報のうち、FlowID−1を特徴付ける送信元IPアドレス情報等を利用して、FlowID−1のフローに関するフロー情報を取得する(図5、ステップS102)。次に、フロー情報取得部101は、取得したフロー情報からフロー時刻情報、パケット数情報を抽出して、抽出した情報を関連付けて図13のようにDB103の取得情報テーブルに格納する(図5、ステップS103)。なお、図13に示した例では、取得情報テーブルに格納された情報を、フロー時刻情報の昇順でソートして表している。
【0067】
続いて、図13及び図14を用いて、図7のフローチャートにおけるパケットロス算出部102の処理を説明する。
パケットロス算出部102は、取得情報テーブルに格納されている情報の中から、図13の3行目のフロー時刻=12を有する情報を第1情報として抽出(図7、ステップS202)する。同様に、パケットロス算出部102は、取得情報テーブルに格納されている情報の中から、図13の2行目のフロー時刻=10を有する情報を第2情報として抽出し、図13の4行目のフロー時刻=16を有する情報を第3情報として抽出する(図7、ステップS203)。
次に、パケットロス算出部102は、抽出した第1情報、第2情報及び第3情報を式(1)に代入して、次式(3)のように、フロー時刻=12における転送装置ID−1の通過パケット数P12(ID−1)を推定する。
【0068】
【数3】
【0069】
パケットロス算出部102は、抽出したフロー時刻=12における転送装置ID−2の通過パケット数=96と、推定したフロー時刻=12における転送装置ID−1の通過パケット数=96とを関連付けて、図14の2行目のようにロス算出テーブルに格納する(図7、ステップS205)。
【0070】
同様に、パケットロス算出部102は、抽出した第1情報(フロー時刻=16)、第2情報(フロー時刻=12)及び第3情報(フロー時刻=20)を式(1)に代入して、次式(4)のように、フロー時刻=16における転送装置ID−2の通過パケット数P16(ID−2)を推定する。
【0071】
【数4】
【0072】
同様にパケットロス算出部102は、抽出したフロー時刻=16における転送装置ID−1の通過パケット数=128と、推定したフロー時刻=16における転送装置ID−2の通過パケット数=127とを関連付けて、図14の3行目のようにロス算出テーブルに格納する(図7、ステップS205)。
【0073】
パケットロス算出部102は、ロス算出テーブルに格納されている情報を式(2)に代入して、パケットロス数Lossを次式(5)のように推定する。
【0074】
【数5】
【0075】
式(5)において、(128−96)は、転送装置ID−1におけるフロー時刻=12からフロー時刻=16の間の時間帯に通過した通過パケット個数を表している。また、式(5)において、(127−96)は、転送装置ID−2におけるフロー時刻=12からフロー時刻=16の間の時間帯に通過した通過パケット個数を表している。
すなわち、図12から図14で説明した例において、パケットロス算出部102は、パケットロス数は「1」であると推定する。なお、パケットロス推定装置10は、このように推定したパケットロス数に基づき、パケットロス率を算出するようにしてもよい。また、パケットロス推定装置10は、推定したパケット数及びパケットロス数を示す情報を、例えば、図示しないネットワークの監視装置に出力する。
このように、パケットロス推定装置10は、同一時刻帯に転送装置ID−1、及び転送装置を各々通過するパケット個数を推定することで、パケットロス数を推定する。なお、同一時刻帯とは、例えば、1時から1時3分の時間である。
【0076】
なお、パケットロス数の推定の説明を行うために図8に示したように2つのパケット転送装置20−1とパケット転送装置20−2からフロー情報を取得してパケットロス数を推定する例を説明したがこれに限られない。図1に示したように、n個のパケット転送装置20−1〜20−nがネットワーク30に接続されている場合、パケットロス推定装置10は、n個のパケット転送装置20−1〜20−nからフロー情報を取得し、取得したフロー情報に基づいて任意の2つのパケット転送装置20間のフロー情報を抽出してパケットロス数を推定してもよい。
以上のように、パケット転送装置20が出力するフロー情報を用いてパケットロス数を推定するようにしたので、ネットワーク30にプローブを設置せずにパケットロス数を推定できるので、本実施形態に係る監視システム1は、パケット数及びパケットロス数を安価に監視することができる。
【0077】
また、本実施形態の監視システム1によれば、パケットキャプチャーやパケット解析処理が不要であり、またパケット転送装置から得た情報からパケットロスを推定する演算は非常に簡易なものである。このため、パケットロスを推定(演算)するパケットロス推定装置の負荷が高くならず、パケットロス推定装置を安価なPC(パーソナルソコンピュータ)で実現することが出来る。
【0078】
なお、本実施形態では、転送装置ID−1の通過パケット個数を推定するときに、推定する時刻として、転送装置ID−2で実測値が取得できている時刻を用いる例を説明したが、任意の時刻の通過パケット数を推定するようにしてもよい。
以下に、任意の時刻の通過パケット数を推定する一例について説明する。監視システム1は、転送装置ID−1において、取得したフロー情報を用いて、n番目(nは、1以上の整数)のパケットを送信してからの任意の第1経過時刻における通過パケット数(第1通過推定パケット数)を推定する。また、監視システム1は、転送装置ID−1において、取得したフロー情報を用いて、フローのn番目のパケットを送信してからの任意の第2経過時刻における通過パケット数(第2通過推定パケット数)を推定する。
同様に、監視システム1は、転送装置ID−2において、取得したフロー情報を用いて、n番目のパケットを受信してからの任意の第1経過時刻の通過パケット数(第3通過推定パケット数)を推定する。また、監視システム1は、転送装置ID−2において、取得したフロー情報を用いて、n番目のパケットを受信してからの任意の第2経過時刻の通過パケット数(第4通過推定パケット数)を推定する。
パケットロス算出部102は、このように推定した各通過推定パケット数を式(2)に代入することでパケットロス数を算出するようにしてもよい。
【0079】
具体的には、例えば、図13に示したような情報を取得した場合、パケットロス算出部102は、フロー時刻=10とフロー時刻=16の転送装置ID−1におけるフロー情報を用いて、フロー時刻=13及びフロー時刻=15における転送装置ID−1の各々通過パケット数を推定する。同様に、パケットロス算出部102は、フロー時刻=12とフロー時刻=20の転送装置ID−2のフロー情報を用いて、フロー時刻=13及びフロー時刻=15における転送装置ID−2の各々の通過パケット数を推定する。このように推定した転送装置ID−1及び転送装置ID−2のフロー時刻=13からフロー時刻=15の時間帯の各々通過パケット数を、式(2)に代入することでパケットロス数を算出するようにしてもよい。
【0080】
なお、本実施形態では、1つのパケットロス数を得るための最小限の例を説明したが、得たいロス率に応じて測定回数及び推定に用いるパケット数を設定するようにしてもよい。例えば、得たいロス率の精度が0.1の場合、1%精度で設定した測定回数より回数を増やし、パケット数も増やすようにしてもよい。
また、推定したパケット数に基づき、パケット数または測定回数を監視システム1の管理者が手動で、または、図示しないネットワークの監視装置が推定されたパケットロス数に基づいて設定するようにしてもよい。
【0081】
なお、本実施形態では、パケットロス数を推定したい区間において、片方向のパケットロス数を推定する方法を説明したが、両方向のパケットロス数を推定するようにしてもよい。この場合、例えば、図8で説明したようにパケット転送装置20−2(ID−2)からパケット転送装置20−1(ID−1)に流れるFlowID−2のパケットロス数を推定するようにしてもよい。フロー情報の収集、取得情報テーブル及びロス算出テーブルへの情報の格納、パケットロス数の推定は、図5及び図7と同様に行う。この場合、フロー情報取得部101は、DB103に格納されている情報を、フロー時刻情報の降順にソートするようにしてもよい。
【0082】
なお、本実施形態では、パケット転送装置20が、OpenFlowプロトコル、NetFlowプロトコル及びIPFIXプロトコルに対応している例を説明したが、これに限られない。フロー時刻情報及びパケット数情報が得られる他のプロトコルに対応したパケット転送装置が出力するするフロー情報を用いるようにしてもよい。
【0083】
また、本実施形態では、一定期間または一定回数情報収集後にパケットロス数を推定する例を説明したが、パケットロス推定装置10は、フローに関するフロー情報を収集しながらパケットロス数を推定するようにしてもよい。
【0084】
また、本実施形態において、フロー情報取得部101は、フロー情報時刻についてソートして取得情報テーブル及びロス算出テーブルに情報を格納したりパケットロス数を推定したりする例を説明したが、これに限られない。例えば、フロー情報取得部101は、パケット数の昇順にソートして取得情報テーブル及びロス算出テーブルに情報を格納したりパケットロス数を推定したりするようにしてもよい。または、フロー情報取得部101は、取得情報テーブル及びロス算出テーブルに格納されている情報をソートせず、そのまま条件に合う情報を探索するようにしてもよい。
【0085】
なお、本実施形態において、フロー情報取得部101は、連続したフロー時刻情報の第1情報〜第3情報、及び第1処理情報〜第3処理情報を抽出する例を説明したが、これに限られない。例えば、第3情報のフロー時刻は、第1情報のフロー時刻に最も近い時刻ではなく、離れているフロー時刻を含む情報であってもよい。
この場合であっても、パケットロス算出部102は、単位時間のパケット数を推定しているため、パケットロス数を推定することができる。この場合、パケットロス算出部102は、フロー時間間隔に基づき、式(2)に示した第1項または第2項に予め定められている定数を乗じるようにしてもよい。
【0086】
なお、本実施形態では、フロー情報取得部101が、フロー情報の取得と、取得したフロー情報を取得情報テーブルに格納する例を説明したが、これに限られない。例えば、フロー情報取得部101は、情報取得部とデータ抽出部を備えるようにしてもよい。この場合、情報取得部は、フロー情報を取得し、データ抽出部が取得したフロー情報を取得情報テーブルに格納するようにしてもよい。
【0087】
なお、実施形態の図2のパケットロス推定装置10の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、USB(Universal Serial Bus) I/F(インタフェース)を介して接続されるUSBメモリ、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、サーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【0088】
1・・・監視システム、10・・・パケットロス推定装置、20・・・パケット転送装置、30・・・ネットワーク、40−1・・・フロー、101・・・フロー情報取得部、102・・・パケットロス算出部、103・・・DB、ID−1〜ID−n・・・パケット転送装置の識別子、FlowID−1〜FlowID−5・・・フローID、Tf1〜Tf5・・・フロー時刻情報、P1〜P5・・・パケット数情報、Pi(ID−1)〜Pk(ID−1)・・・ID−1を有するパケット転送装置におけるパケット数情報、Pi(ID−2)〜Pk(ID−2)・・・ID−2を有するパケット転送装置におけるパケット数情報
【技術分野】
【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つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定部と、を備えることを特徴としている。
【0008】
また、本発明の監視装置において、前記フロー情報取得部は、前記第1パケット転送装置から第2パケット転送装置へ流れているフローに関するフロー情報であって、前記第2パケット転送装置から出力されたフロー情報を取得し、前記第2パケット転送装置から取得した前記フロー情報からパケット数情報及びフロー時刻情報を抽出し、前記パケット数推定部は、前記第1パケット転送装置から取得された前記フロー情報から前記フロー情報取得部が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、前記n番目のパケットを送信してからの任意の2つの経過時刻に前記第1パケット転送装置を各々通過する各通過パケット数を推定し、前記第2パケット転送装置から取得された前記フロー情報から前記フロー情報取得部が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、任意の前記2つの経過時刻に前記第2パケット転送装置を各々通過する各通過パケット数を推定し、推定した前記n番目のパケットを送信してからの任意の前記2つの経過時刻に前記第1パケット転送装置及び前記第2パケット転送装置を各々通過する前記各通過パケット数に基づき、前記第1パケット転送装置及び前記第2パケット転送装置を任意の2つの前記経過時刻の同一時刻帯に各々通過する通過パケットの個数を推定するようにしてもよい。
【0009】
また、本発明の監視装置において、前記パケット数推定部は、前記第1パケット転送装置からが取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのフロー時刻情報に基づき、前記n番目のパケットを送受信してからの任意の第1経過時刻に前記第1パケット転送装置間を通過する通過パケット数を第1通過推定パケット数として推定し、前記n番目のパケットを送受信してからの任意の第2経過時刻に前記第1パケット転送装置間を通過する通過パケット数を第2通過推定パケット数として推定し、推定した前記第1通過推定パケット数と前記第2通過推定パケット数の差に基づいて、前記第1経過時刻から前記第2経過時刻の間に前記第1パケット転送装置を通過した第1通過パケット個数を算出し、前記第2パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのフロー時刻情報に基づき、前記第1経過時刻に前記第2パケット転送装置間を通過する通過パケット数を第3通過推定パケット数として推定し、前記第2経過時刻に前記第2パケット転送装置間を通過する通過パケット数を第4通過推定パケット数として推定し、推定した前記第3通過推定パケット数と前記第4通過推定パケット数の差に基づいて、前記第1経過時刻から前記第2経過時刻の間に前記第2パケット転送装置を通過した第2通過パケット個数を算出し、算出した前記第1通過パケット個数と前記第2通過パケット個数との差に基づいて、前記第1パケット転送装置と前記第2パケット転送装置間を1方向に流れているフローにおけるパケットロス数を推定するようにしてもよい。
【0010】
また、本発明の監視装置において、前記パケット数推定部は、前記第2パケット転送装置におけるパケット通過時刻の実測値であるフロー時刻を前記第1経過時刻として用い、前記第1パケット転送装置におけるパケット通過時刻の実測値であるフロー時刻を前記第2経過時刻として用いるようにしてもよい。
【0011】
上記目的を達成するため、本発明は、監視装置における監視方法であって、フロー情報取得部が、第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、パケット数推定部が、前記フロー情報取得手順が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定手順と、を含むことを特徴としている。
【0012】
上記目的を達成するため、本発明に係るプログラムは、監視装置のコンピュータに、第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、前記フロー情報取得手順が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定手順と、を実行させることを特徴としている。
【発明の効果】
【0013】
本発明によれば、プローブを設置せずに、第1パケット転送装置が出力したフローに関するフロー情報を取得し、取得したフロー情報に含まれるパケット数情報及びフローの生存時間を示すフロー時刻情報に基づき、任意の経過時刻の第1パケット転送装置を通過する通過パケット数を推定する。この結果、ネットワークのパケット品質を安価に監視することができる。
【図面の簡単な説明】
【0014】
【図1】本実施形態に係る監視システムの概略構成図である。
【図2】本実施形態に係るパケットロス推定装置10の概略機能ブロック図である。
【図3】本実施形態に係るDB103に格納されるフロー情報から抽出した情報の一例を説明する図である。
【図4】本実施形態に係るパケットロス推定装置10が行う処理手順のフローチャートである。
【図5】本実施形態に係るフロー情報の収集に関するフローチャートである。
【図6】本実施形態に係る各プロトコルにおけるフロー時刻情報及びパケット数情報のフィールドを説明する図である。
【図7】本実施形態に係るパケットロス数を推定する処理に関するフローチャートである。
【図8】本実施形態に係る2つのパケット転送装置を流れるフローを説明する図である。
【図9】本実施形態に係るDB103の取得情報テーブルに格納されている情報からフローIDが同じであるパケット装置の情報を抽出した例を説明する図である。
【図10】本実施形態に係るロス算出テーブルに格納されている情報の例を説明する図である。
【図11】本実施形態におけるロス算出テーブルに複数の情報が格納されている例を説明する図である。
【図12】本実施形態に係るフロー情報の具体的な1例を説明する図である。
【図13】本実施形態に係る取得情報テーブルに格納される情報の具体的な1例を説明する図である。
【図14】本実施形態に係るロス算出テーブルに格納される情報の具体的な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より取得した情報から、パケット転送装置間のパケットロス数を測定する。パケットロス推定装置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】
次に、パケットロス推定装置10が行う処理について、図4〜図7を用いて説明する。
図4は、本実施形態に係るパケットロス推定装置10が行う処理手順のフローチャートである。
(ステップS1)パケットロス推定装置10は、パケット転送装置20が出力するフロー情報を収集する。ステップS1終了後、ステップS2に進む。
(ステップS2)次に、パケットロス推定装置10は、収集したフロー情報に基づきパケットロス数を推定する。
【0026】
次に、ステップS1で行う処理について、図5を用いて説明する。図5は、本実施形態に係るフロー情報の収集に関するフローチャートである。
(ステップS101)パケットロス推定装置10のフロー情報取得部101は、指定回数もしくは指定時間に達するまで一定間隔で、ステップS102とステップS103を繰り返す。
【0027】
(ステップS102)フロー情報取得部101は、パケットロス数を推定したいネットワーク30の区間に配置されている2つのパケット転送装置20から、各パケット転送装置20を通過するフローに関するフロー情報を、ネットワーク30を介して取得する。ステップS102終了後、ステップS103に進む。
【0028】
(ステップS103)フロー情報取得部101は、取得したフロー情報から、測定対象のフロー情報を抽出する。フロー情報取得部101は、例えば、フロー情報から送信元のIPアドレス、送信先のIPアドレス、送信先ポート番号、送信元ポート番号及びプロトコルが同一のフローを測定対象として抽出する。次に、フロー情報取得部101は、測定対象のフロー情報から、フロー時刻情報及びパケット数情報を抽出し、抽出したフロー時刻情報及びパケット数情報をDB103の取得情報テーブルに格納する。
【0029】
(ステップS104)ステップS102及びS103を指定回数もしくは指定時間に達するまで一定間隔で繰り返して、測定対象のフロー情報を取得完了後、情報収集処理を終了する。
【0030】
[フロー情報からのフロー時刻情報、パケット数情報の取得]
次に、フロー情報からのフロー時刻情報、パケット数情報の取得方法の例について説明する。図6は、本実施形態に係る各プロトコルにおけるフロー時刻情報及びパケット数情報のフィールドを説明する図である。図6において、NetFlow(Ver9)の場合、「FIRST_SWITCHED」及び「IN_PKTS」はフィールドを表している。また、OpenFlow(Ver1.1.0)の場合、「duration_nsec」及び「packet_count」は構造体の中の情報を表している。
【0031】
パケット転送装置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は、図6の3列目に示したように、パケット転送装置20が出力する「tofp_flow_stats」構造体から「duration_nsec」情報を抽出することでフロー時刻情報を抽出する。パケットロス推定装置10は、「tofp_flow_stats」構造体から「packet_count」を抽出することでパケット数情報を抽出する。
【0032】
パケット転送装置20がNetFlowプロトコルまたはIPFIXプロトコルに対応している場合、パケットロス推定装置10は、予め定められている間隔でパケット転送装置20が出力する全てのフロー情報が含まれる情報を取得する。パケットロス推定装置10は、取得したフロー情報の中から、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルを用いて、フロー時刻情報及びパケット数情報を抽出する。
パケット転送装置20がNetFlowプロトコル(Ver9)に対応している場合のより具体的な例を説明する。パケットロス推定装置10は、パケット転送装置20が出力する全てのフロー情報が含まれる情報から、測定対象とする送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルに合致する情報を抽出する。次に、パケットロス推定装置10は、図6の2列目に示したように、抽出した1フロー分のフロー情報から「FIRST_SWITCHED」(フロー開始パケット受信時の時刻)情報または「LAST_SWITCHED」(フロー最終パケット受信時の時刻)情報を抽出することでフロー時刻情報を抽出する。また、パケットロス推定装置10は、抽出した1フロー分のフロー情報から「IN_PKTS」(フローのパケット総数)情報を抽出することでパケット数情報を抽出する。
すなわち、フロー時刻は、パケットの送信時刻または受信時刻である。
【0033】
なお、フロー情報の特定のために、パケットロス推定装置10は、TOS(サービス・タイプ)フィールド値、VLAN ID(仮想LANのID)情報、MPLS(マルチ・プロトコル・ラベル・スイッチング)ラベル等の情報を加えるようにしてもよい。
【0034】
次に、図4のステップS2で行う処理について、図7を用いて説明する。図7は、本実施形態に係るパケットロス数を推定する処理に関するフローチャートである。
(ステップS201)パケットロス推定装置10のパケットロス算出部102は、DB103の取得情報テーブル内のフロー時刻が小さい順にステップS201からS205を、取得情報テーブルに格納されている情報について繰り返す。
【0035】
(ステップS202)パケットロス算出部102は、取得情報テーブル内からロス推定処理をまだ行っていない情報の中で、フロー時刻が最も小さい第1のフロー時刻を有する情報(以下、第1情報という)を抽出し、抽出した第1情報をロス推定処理対象情報として選択する。ステップS202終了後、ステップS203に進む。
【0036】
(ステップS203)パケットロス算出部102は、ロス推定の処理対象情報であるパケット転送装置IDと異なるIDを有する情報の中から、第1情報のフロー時刻より時刻が小さく、かつ第1情報のフロー時刻に最も近い第2のフロー時刻を有する情報(以下、第2情報という)を抽出する。
次に、パケットロス算出部102は、ロス推定の処理対象情報であるパケット転送装置IDと異なるIDを有する情報の中から、第1情報のフロー時刻より時刻が大きく、かつ第1情報のフロー時刻に最も近い第3のフロー時刻を持つ情報(以下、第3情報という)を抽出する。
ステップS203終了後、ステップS204に進む。
【0037】
(ステップS204)パケットロス算出部102は、ステップS203で、第2情報及び第3情報を抽出できたか否かを判別する。第2情報及び第3情報を抽出できていないと判別した場合(ステップS204;No)、ステップS202に戻る。第2情報及び第3情報を抽出できたと判別した場合(ステップS204;Yes)、ステップS205に進む。
【0038】
(ステップS205)第2情報及び第3情報を抽出できたと判別した場合、パケットロス算出部102は、抽出した第2情報及び第3情報に基づき、第1情報のフロー時刻と同一時刻時のパケット数を推定する。次に、パケットロス算出部102は、推定したパケット数を示す情報を、DB103のロス算出テーブルに格納する。
【0039】
(ステップS206)DB103の取得情報テーブル内のフロー時刻が小さい順に、格納されている全てのフロー情報についてステップS202からS205の処理を繰り返した後、ステップS201の処理を終了し、ステップS207に進む。
【0040】
(ステップS207)パケットロス算出部102は、DB103のロス算出テーブル内のフロー時刻が小さい順に、ステップS207からS211を繰り返す。
【0041】
(ステップS208)パケットロス算出部102は、ロス算出テーブル内から、ロス推定の処理対象となっていない情報の中から、最もフロー時刻が小さい情報を抽出し、抽出した情報を第1処理対象情報とする。ステップS208終了後、ステップS209に進む。
【0042】
(ステップS209)パケットロス算出部102は、ロス算出テーブル内から、第1処理対象情報の次にフロー時刻が小さい情報を抽出し、抽出した情報を第2処理対象情報とする。ステップS209終了後、ステップS210に進む。
【0043】
(ステップS210)パケットロス算出部102は、ステップS209において、第2処理対象情報が抽出できたか否かを判定する。第2処理対象情報が抽出できたと判定した場合(ステップS210;Yes)、ステップS211に進む。第2処理対象情報が抽出できていないと判定した場合(ステップS210;No)、ステップS207からS212の繰り返し処理を抜けて、ロス推定処理を終了する。
【0044】
(ステップS211)第2処理対象情報が抽出できたと判定した場合、パケットロス算出部102は、第1処理対象情報及び第2処理対象情報に基づき、後述するようにパケット間隔を算出し、算出結果に基づいてパケット転送装置20間のパケットロス数を推定する。
【0045】
[パケットロス推定方法]
次に、パケットロス数の推定方法について、図7〜図11を用いて説明する。
図8は、本実施形態に係る2つのパケット転送装置を流れるフローを説明する図である。図8において、パケット転送装置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という)である。なお、図8に示した例は、パケットロス数の推定を説明するために、図1のようにネットワークにパケット転送装置20がn個設置されている中から、測定対象として任意に2個のパケット転送装置20−1とパケット転送装置20−2を抜き出した例である。
また、以下の説明では、パケット転送装置20−1(ID−1)を転送装置ID−1、パケット転送装置20−2(ID−2)を転送装置ID−2と表す。
【0046】
なお、転送装置ID−1が、第1パケット転送装置に対応する場合、転送装置ID−2)は、第2パケット転送装置に対応する。または、転送装置ID−1が、第2パケット転送装置に相当する場合、転送装置ID−2は、第1パケット転送装置に対応する。
【0047】
図9は、本実施形態に係るDB103の取得情報テーブルに格納されている情報からフローIDが同じであるパケット装置の情報を抽出した例を説明する図である。図9に示すように、取得情報テーブルには、転送装置ID、フローID、フロー時刻情報、及びパケット数情報が関連付けられて格納されている。なお、図9に示した例では、情報がフロー時刻情報の昇順にソートされている。
すなわち、図9において、フロー時刻Tf2はフロー時刻Tf1より大きく、フロー時刻Tf3はフロー時刻Tf2より大きい。以下同様に、フロー時刻Tf4はフロー時刻Tf3より大きく、フロー時刻Tf5はフロー時刻Tf4より大きい。
また、それに応じて、図9において、パケット数P2はパケット数P1より大きく、パケット数P3はパケット数P2より大きい。以下同様に、パケット数P4はパケット数P3より大きく、パケット数P5はパケット数P4より大きい。
【0048】
図9に示したデータの一例を用いて、図7のフローチャートにおけるパケットロス算出部102の処理を説明する。
パケットロス算出部102は、DB103の取得情報テーブルから、フローIDがFlowID−1のパケット転送装置ID、フロー時刻情報(Tfn(nは1以上の整数))、パケット数情報(Pn(nは1以上の整数))を抽出し、フロー時刻情報の昇順にソートする(図7のステップS201)。
【0049】
次に、パケットロス算出部102は、図9に示したテーブル内のまだ処理していない情報の中から、最もフロー時刻の小さい情報である2行目の(ID−1、FlowID−1、Tf1、P1)を処理対象の第1情報とする(ステップS202)。
次に、パケットロス算出部102は、パケット転送装置IDが異なり、且つ第1情報のフロー時刻Tf1より小さくかつTf1に最も近いフロー時刻情報を有する第2情報を、図9に示したテーブル内から抽出する(ステップS204)。この場合、フロー時刻Tf1より小さいフロー時刻情報を有する情報が取得情報テーブル内に無いため、パケットロス算出部102は、ステップS204において、第2情報を取得できていないと判定し、ステップS202に戻る。
【0050】
ステップS202に戻り、パケットロス算出部102は、図9に示したテーブル内のまだ処理していない情報の中から、最もフロー時刻の小さい情報である3行目の(ID−1、FlowID−1、Tf2、P2)を処理対象の第1情報とする(ステップS202)。
次に、パケットロス算出部102は、パケット転送装置IDが異なり、且つ第1情報のフロー時刻Tf2より小さくかつTf2に最も近いフロー時刻情報を有する第2情報を、図9に示したテーブル内から抽出する(ステップS204)。この場合、フロー時刻Tf2より小さいフロー時刻情報を有する情報は、フロー時刻Tf1があるが、パケット転送装置のIDが同じである。このため、パケットロス算出部102は、第2情報が取得テーブル内に無いため、ステップS204において、第2情報を取得できていないと判定し、ステップS202に戻る。
【0051】
ステップS202に戻り、パケットロス算出部102は、図9に示したテーブル内のまだ処理していない情報の中から、最もフロー時刻の小さい情報である4行目の情報(ID−2、FlowID−1、Tf3、P3)を処理対象の第1情報とする(ステップS202)。
次に、パケットロス算出部102は、パケット転送装置IDが異なり、第1情報のフロー時刻Tf3より小さくかつTf3に最も近いフロー時刻Tf2を有する情報を第2情報として、図9に示したテーブル内から抽出する(ステップS204)。
【0052】
次に、パケットロス算出部102は、第1情報のパケット転送装置IDが異なり、且つ第2情報のパケット転送装置IDと同一IDであり、且つ第1情報のフロー時刻Tf3より大きく、且つTf3に最も近いフロー時刻Tf4を有する情報を第3情報として、図9に示したテーブル内から抽出する(ステップS204)。
パケットロス算出部102は、ステップS204において、第2情報と第3情報が抽出できたと判定する。
【0053】
時間(Tf4−Tf2)に(P4−P2)個のパケットが転送装置ID−1を通過したことになる。このため、単位時間当たりの通過したパケット個数(以下、通過パケット個数という)は、(P4−P2)/(Tf4−Tf2)である。
このため、パケットロス算出部102は、ステップS201からS206において抽出した第1情報、第2情報及び第3情報を次式(1)に代入して、転送装置ID−1におけるフロー時刻Tf3(第1経過時刻)の通過パケット数(第1通過推定パケット数)Pf3を推定する。
【0054】
【数1】
【0055】
パケットロス算出部102は、抽出したフロー時刻Tf3における転送装置ID−2の通過したパケット数(以下、通過パケット数という)P3と、推定したフロー時刻Tf3における転送装置ID−1の通過パケット数Pf3とを、図10のように関連付けてDB103のロス算出テーブルに格納する。
図10は、本実施形態に係るロス算出テーブルに格納されている情報の例を説明する図である。図10に示すように、ロス算出テーブルには、フロー時刻情報、転送装置ID−1のパケット数情報、及び転送装置ID−2のパケット数情報が関連付けられて格納されている。
【0056】
パケットロス算出部102は、ステップS201からS206を繰り返し、取得情報テーブルに格納されている情報について処理を行う。
このような処理を行った結果、図11に示すようなロス算出テーブルが得られたとして、以下の説明を行う。
図11は、本実施形態におけるロス算出テーブルに複数の情報が格納されている例を説明する図である。図11に示したロス算出テーブルには、前述したように、フロー時刻情報、転送装置ID−1のパケット数情報、及び転送装置ID−2のパケット数情報が関連付けて格納されている。なお、図11に示したロス算出テーブルは、フロー時刻情報の昇順でソートして表している。
【0057】
図11を用いて、図7のフローチャートにおけるパケットロス算出部102の処理を説明する。
パケットロス算出部102は、ロス算出テーブルから、未処理であり最もフロー時刻が小さい情報を第1処理情報として抽出する。この場合、パケットロス算出部102は、フロー時刻Tfiを有する情報を第1処理情報として抽出する(ステップS208)。
次に、パケットロス算出部102は、ロス算出テーブルから、未処理であり第1処理情報の次にフロー時刻が小さい情報を第2処理情報として抽出する。この場合、パケットロス算出部102は、フロー時刻Tfjを有する情報を第2処理情報として抽出する(ステップS209)。
【0058】
第1処理情報と第2処理情報が抽出できたと判定した場合(ステップS210;Yes)、パケットロス算出部102は、抽出した第1処理情報と第2処理情報を次式(2)に代入してパケットロス数Lijを推定する。
【0059】
【数2】
【0060】
式(2)において、第1項目の(Pj(ID−1)−Pi(ID−1))は、転送装置ID−1における時刻Tfiと時刻Tfjにおける実測された通過パケット数と推定された通過パケット数との差である通過パケット個数を示す値である。また、式(2)において、第2項目の(Pj(ID−2)−Pi(ID−2))は、転送装置ID−2における時刻Tfiと時刻Tfjにおける実測された通過パケット数と推定された通過パケット数との差である通過パケット個数を示す値である。
【0061】
例えば、Pj(ID−1)は、時刻Tfj(第2経過時刻)における転送装置ID−1(第1パケット転送装置)の実測された通過パケット数に対応する。Pi(ID−1)は、時刻Tfi(第1経過時刻)における転送装置ID−1(第1パケット転送装置)の推定された通過パケット数(第1通過推定パケット数)に対応する。Pj(ID−2)は、時刻Tfj(第2経過時刻)における転送装置ID−2(第2パケット転送装置)の推定された通過パケット数(第4通過推定パケット数)に対応する。Pi(ID−2)は、時刻Tfi(第1経過時刻)における転送装置ID−2(第2パケット転送装置)の実測された通過パケット数に対応する。
【0062】
あるいは、Pj(ID−1)が時刻Tfj(第2経過時刻)における転送装置ID−1(第1パケット転送装置)の推定された通過パケット数(第2通過推定パケット数)に対応する。Pi(ID−1)は、時刻Tfi(第1経過時刻)における転送装置ID−1(第1パケット転送装置)の実測された通過パケット数に対応する。また、Pj(ID−2)は、時刻Tfj(第2経過時刻)における転送装置ID−2(第2パケット転送装置)の実測された通過パケット数に対応する。Pi(ID−2)は、時刻Tfi(第1経過時刻)における転送装置ID−2(第2パケット転送装置)の推定された通過パケット数(第3通過推定パケット数)に対応する。
【0063】
以下同様にパケットロス算出部102は、フロー時刻Tfjを有する情報を第1処理情報、フロー時刻Tfkを有する情報を第2処理情報としてパケットロス数Ljkを推定する。以下、ロス算出テーブルに格納されている全ての情報について、パケットロス算出部102は、パケットロス数を推定する。
【0064】
[具体例]
次に、具体的な実施例を、図8、図12〜図14を用いて説明する。
図12は、本実施形態に係るフロー情報の具体的な1例を説明する図である。図13は、本実施形態に係る取得情報テーブルに格納される情報の具体的な1例を説明する図である。図14は、本実施形態に係るロス算出テーブルに格納される情報の具体的な1例を説明する図である。
【0065】
測定対象は、図8と同様に、転送装置ID−1から転送装置ID−2に流れるFlowID−1のフローである。
図12に示すように、FlowID−1には、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルが含まれている。図12に示した例では、送信元IPアドレスが「1.0.0.1」であり、送信先IPアドレスが「1.1.1.1」である。また、送信元ポート番号が「100」であり、送信先ポート番号が「111」である。また、プロトコルがTCP(伝送制御プロトコル)である。
【0066】
図12を用いて、図5のフローチャートにおけるフロー情報取得部101の処理を説明する。
フロー情報取得部101は、図12に示した情報のうち、FlowID−1を特徴付ける送信元IPアドレス情報等を利用して、FlowID−1のフローに関するフロー情報を取得する(図5、ステップS102)。次に、フロー情報取得部101は、取得したフロー情報からフロー時刻情報、パケット数情報を抽出して、抽出した情報を関連付けて図13のようにDB103の取得情報テーブルに格納する(図5、ステップS103)。なお、図13に示した例では、取得情報テーブルに格納された情報を、フロー時刻情報の昇順でソートして表している。
【0067】
続いて、図13及び図14を用いて、図7のフローチャートにおけるパケットロス算出部102の処理を説明する。
パケットロス算出部102は、取得情報テーブルに格納されている情報の中から、図13の3行目のフロー時刻=12を有する情報を第1情報として抽出(図7、ステップS202)する。同様に、パケットロス算出部102は、取得情報テーブルに格納されている情報の中から、図13の2行目のフロー時刻=10を有する情報を第2情報として抽出し、図13の4行目のフロー時刻=16を有する情報を第3情報として抽出する(図7、ステップS203)。
次に、パケットロス算出部102は、抽出した第1情報、第2情報及び第3情報を式(1)に代入して、次式(3)のように、フロー時刻=12における転送装置ID−1の通過パケット数P12(ID−1)を推定する。
【0068】
【数3】
【0069】
パケットロス算出部102は、抽出したフロー時刻=12における転送装置ID−2の通過パケット数=96と、推定したフロー時刻=12における転送装置ID−1の通過パケット数=96とを関連付けて、図14の2行目のようにロス算出テーブルに格納する(図7、ステップS205)。
【0070】
同様に、パケットロス算出部102は、抽出した第1情報(フロー時刻=16)、第2情報(フロー時刻=12)及び第3情報(フロー時刻=20)を式(1)に代入して、次式(4)のように、フロー時刻=16における転送装置ID−2の通過パケット数P16(ID−2)を推定する。
【0071】
【数4】
【0072】
同様にパケットロス算出部102は、抽出したフロー時刻=16における転送装置ID−1の通過パケット数=128と、推定したフロー時刻=16における転送装置ID−2の通過パケット数=127とを関連付けて、図14の3行目のようにロス算出テーブルに格納する(図7、ステップS205)。
【0073】
パケットロス算出部102は、ロス算出テーブルに格納されている情報を式(2)に代入して、パケットロス数Lossを次式(5)のように推定する。
【0074】
【数5】
【0075】
式(5)において、(128−96)は、転送装置ID−1におけるフロー時刻=12からフロー時刻=16の間の時間帯に通過した通過パケット個数を表している。また、式(5)において、(127−96)は、転送装置ID−2におけるフロー時刻=12からフロー時刻=16の間の時間帯に通過した通過パケット個数を表している。
すなわち、図12から図14で説明した例において、パケットロス算出部102は、パケットロス数は「1」であると推定する。なお、パケットロス推定装置10は、このように推定したパケットロス数に基づき、パケットロス率を算出するようにしてもよい。また、パケットロス推定装置10は、推定したパケット数及びパケットロス数を示す情報を、例えば、図示しないネットワークの監視装置に出力する。
このように、パケットロス推定装置10は、同一時刻帯に転送装置ID−1、及び転送装置を各々通過するパケット個数を推定することで、パケットロス数を推定する。なお、同一時刻帯とは、例えば、1時から1時3分の時間である。
【0076】
なお、パケットロス数の推定の説明を行うために図8に示したように2つのパケット転送装置20−1とパケット転送装置20−2からフロー情報を取得してパケットロス数を推定する例を説明したがこれに限られない。図1に示したように、n個のパケット転送装置20−1〜20−nがネットワーク30に接続されている場合、パケットロス推定装置10は、n個のパケット転送装置20−1〜20−nからフロー情報を取得し、取得したフロー情報に基づいて任意の2つのパケット転送装置20間のフロー情報を抽出してパケットロス数を推定してもよい。
以上のように、パケット転送装置20が出力するフロー情報を用いてパケットロス数を推定するようにしたので、ネットワーク30にプローブを設置せずにパケットロス数を推定できるので、本実施形態に係る監視システム1は、パケット数及びパケットロス数を安価に監視することができる。
【0077】
また、本実施形態の監視システム1によれば、パケットキャプチャーやパケット解析処理が不要であり、またパケット転送装置から得た情報からパケットロスを推定する演算は非常に簡易なものである。このため、パケットロスを推定(演算)するパケットロス推定装置の負荷が高くならず、パケットロス推定装置を安価なPC(パーソナルソコンピュータ)で実現することが出来る。
【0078】
なお、本実施形態では、転送装置ID−1の通過パケット個数を推定するときに、推定する時刻として、転送装置ID−2で実測値が取得できている時刻を用いる例を説明したが、任意の時刻の通過パケット数を推定するようにしてもよい。
以下に、任意の時刻の通過パケット数を推定する一例について説明する。監視システム1は、転送装置ID−1において、取得したフロー情報を用いて、n番目(nは、1以上の整数)のパケットを送信してからの任意の第1経過時刻における通過パケット数(第1通過推定パケット数)を推定する。また、監視システム1は、転送装置ID−1において、取得したフロー情報を用いて、フローのn番目のパケットを送信してからの任意の第2経過時刻における通過パケット数(第2通過推定パケット数)を推定する。
同様に、監視システム1は、転送装置ID−2において、取得したフロー情報を用いて、n番目のパケットを受信してからの任意の第1経過時刻の通過パケット数(第3通過推定パケット数)を推定する。また、監視システム1は、転送装置ID−2において、取得したフロー情報を用いて、n番目のパケットを受信してからの任意の第2経過時刻の通過パケット数(第4通過推定パケット数)を推定する。
パケットロス算出部102は、このように推定した各通過推定パケット数を式(2)に代入することでパケットロス数を算出するようにしてもよい。
【0079】
具体的には、例えば、図13に示したような情報を取得した場合、パケットロス算出部102は、フロー時刻=10とフロー時刻=16の転送装置ID−1におけるフロー情報を用いて、フロー時刻=13及びフロー時刻=15における転送装置ID−1の各々通過パケット数を推定する。同様に、パケットロス算出部102は、フロー時刻=12とフロー時刻=20の転送装置ID−2のフロー情報を用いて、フロー時刻=13及びフロー時刻=15における転送装置ID−2の各々の通過パケット数を推定する。このように推定した転送装置ID−1及び転送装置ID−2のフロー時刻=13からフロー時刻=15の時間帯の各々通過パケット数を、式(2)に代入することでパケットロス数を算出するようにしてもよい。
【0080】
なお、本実施形態では、1つのパケットロス数を得るための最小限の例を説明したが、得たいロス率に応じて測定回数及び推定に用いるパケット数を設定するようにしてもよい。例えば、得たいロス率の精度が0.1の場合、1%精度で設定した測定回数より回数を増やし、パケット数も増やすようにしてもよい。
また、推定したパケット数に基づき、パケット数または測定回数を監視システム1の管理者が手動で、または、図示しないネットワークの監視装置が推定されたパケットロス数に基づいて設定するようにしてもよい。
【0081】
なお、本実施形態では、パケットロス数を推定したい区間において、片方向のパケットロス数を推定する方法を説明したが、両方向のパケットロス数を推定するようにしてもよい。この場合、例えば、図8で説明したようにパケット転送装置20−2(ID−2)からパケット転送装置20−1(ID−1)に流れるFlowID−2のパケットロス数を推定するようにしてもよい。フロー情報の収集、取得情報テーブル及びロス算出テーブルへの情報の格納、パケットロス数の推定は、図5及び図7と同様に行う。この場合、フロー情報取得部101は、DB103に格納されている情報を、フロー時刻情報の降順にソートするようにしてもよい。
【0082】
なお、本実施形態では、パケット転送装置20が、OpenFlowプロトコル、NetFlowプロトコル及びIPFIXプロトコルに対応している例を説明したが、これに限られない。フロー時刻情報及びパケット数情報が得られる他のプロトコルに対応したパケット転送装置が出力するするフロー情報を用いるようにしてもよい。
【0083】
また、本実施形態では、一定期間または一定回数情報収集後にパケットロス数を推定する例を説明したが、パケットロス推定装置10は、フローに関するフロー情報を収集しながらパケットロス数を推定するようにしてもよい。
【0084】
また、本実施形態において、フロー情報取得部101は、フロー情報時刻についてソートして取得情報テーブル及びロス算出テーブルに情報を格納したりパケットロス数を推定したりする例を説明したが、これに限られない。例えば、フロー情報取得部101は、パケット数の昇順にソートして取得情報テーブル及びロス算出テーブルに情報を格納したりパケットロス数を推定したりするようにしてもよい。または、フロー情報取得部101は、取得情報テーブル及びロス算出テーブルに格納されている情報をソートせず、そのまま条件に合う情報を探索するようにしてもよい。
【0085】
なお、本実施形態において、フロー情報取得部101は、連続したフロー時刻情報の第1情報〜第3情報、及び第1処理情報〜第3処理情報を抽出する例を説明したが、これに限られない。例えば、第3情報のフロー時刻は、第1情報のフロー時刻に最も近い時刻ではなく、離れているフロー時刻を含む情報であってもよい。
この場合であっても、パケットロス算出部102は、単位時間のパケット数を推定しているため、パケットロス数を推定することができる。この場合、パケットロス算出部102は、フロー時間間隔に基づき、式(2)に示した第1項または第2項に予め定められている定数を乗じるようにしてもよい。
【0086】
なお、本実施形態では、フロー情報取得部101が、フロー情報の取得と、取得したフロー情報を取得情報テーブルに格納する例を説明したが、これに限られない。例えば、フロー情報取得部101は、情報取得部とデータ抽出部を備えるようにしてもよい。この場合、情報取得部は、フロー情報を取得し、データ抽出部が取得したフロー情報を取得情報テーブルに格納するようにしてもよい。
【0087】
なお、実施形態の図2のパケットロス推定装置10の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、USB(Universal Serial Bus) I/F(インタフェース)を介して接続されるUSBメモリ、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、サーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【0088】
1・・・監視システム、10・・・パケットロス推定装置、20・・・パケット転送装置、30・・・ネットワーク、40−1・・・フロー、101・・・フロー情報取得部、102・・・パケットロス算出部、103・・・DB、ID−1〜ID−n・・・パケット転送装置の識別子、FlowID−1〜FlowID−5・・・フローID、Tf1〜Tf5・・・フロー時刻情報、P1〜P5・・・パケット数情報、Pi(ID−1)〜Pk(ID−1)・・・ID−1を有するパケット転送装置におけるパケット数情報、Pi(ID−2)〜Pk(ID−2)・・・ID−2を有するパケット転送装置におけるパケット数情報
【特許請求の範囲】
【請求項1】
第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得部と、
前記フロー情報取得部が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定部と、
を備えることを特徴とする監視装置。
【請求項2】
前記フロー情報取得部は、
前記第1パケット転送装置から第2パケット転送装置へ流れているフローに関するフロー情報であって、前記第2パケット転送装置から出力されたフロー情報を取得し、前記第2パケット転送装置から取得した前記フロー情報からパケット数情報及びフロー時刻情報を抽出し、
前記パケット数推定部は、
前記第1パケット転送装置から取得された前記フロー情報から前記フロー情報取得部が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、前記n番目のパケットを送信してからの任意の2つの経過時刻に前記第1パケット転送装置を各々通過する各通過パケット数を推定し、
前記第2パケット転送装置から取得された前記フロー情報から前記フロー情報取得部が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、任意の前記2つの経過時刻に前記第2パケット転送装置を各々通過する各通過パケット数を推定し、
推定した前記n番目のパケットを送信してからの任意の前記2つの経過時刻に前記第1パケット転送装置及び前記第2パケット転送装置を各々通過する前記各通過パケット数に基づき、前記第1パケット転送装置及び前記第2パケット転送装置を任意の2つの前記経過時刻の同一時刻帯に各々通過する通過パケットの個数を推定する
ことを特徴とする請求項1に記載の監視装置。
【請求項3】
前記パケット数推定部は、
前記第1パケット転送装置からが取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのフロー時刻情報に基づき、前記n番目のパケットを送受信してからの任意の第1経過時刻に前記第1パケット転送装置間を通過する通過パケット数を第1通過推定パケット数として推定し、前記n番目のパケットを送受信してからの任意の第2経過時刻に前記第1パケット転送装置間を通過する通過パケット数を第2通過推定パケット数として推定し、
推定した前記第1通過推定パケット数と前記第2通過推定パケット数の差に基づいて、前記第1経過時刻から前記第2経過時刻の間に前記第1パケット転送装置を通過した第1通過パケット個数を算出し、
前記第2パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのフロー時刻情報に基づき、前記第1経過時刻に前記第2パケット転送装置間を通過する通過パケット数を第3通過推定パケット数として推定し、前記第2経過時刻に前記第2パケット転送装置間を通過する通過パケット数を第4通過推定パケット数として推定し、
推定した前記第3通過推定パケット数と前記第4通過推定パケット数の差に基づいて、前記第1経過時刻から前記第2経過時刻の間に前記第2パケット転送装置を通過した第2通過パケット個数を算出し、
算出した前記第1通過パケット個数と前記第2通過パケット個数との差に基づいて、前記第1パケット転送装置と前記第2パケット転送装置間を1方向に流れているフローにおけるパケットロス数を推定する
ことを特徴とする請求項2に記載の監視装置。
【請求項4】
前記パケット数推定部は、
前記第2パケット転送装置におけるパケット通過時刻の実測値であるフロー時刻を前記第1経過時刻として用い、
前記第1パケット転送装置におけるパケット通過時刻の実測値であるフロー時刻を前記第2経過時刻として用いる
ことを特徴とする請求項2または請求項3に記載の監視装置。
【請求項5】
監視装置における監視方法であって、
フロー情報取得部が、第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、
パケット数推定部が、前記フロー情報取得手順が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定手順と、
を含むことを特徴とする監視方法。
【請求項6】
監視装置のコンピュータに、
第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、
前記フロー情報取得手順が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定手順と、
を実行させることを特徴とするプログラム。
【請求項1】
第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得部と、
前記フロー情報取得部が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定部と、
を備えることを特徴とする監視装置。
【請求項2】
前記フロー情報取得部は、
前記第1パケット転送装置から第2パケット転送装置へ流れているフローに関するフロー情報であって、前記第2パケット転送装置から出力されたフロー情報を取得し、前記第2パケット転送装置から取得した前記フロー情報からパケット数情報及びフロー時刻情報を抽出し、
前記パケット数推定部は、
前記第1パケット転送装置から取得された前記フロー情報から前記フロー情報取得部が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、前記n番目のパケットを送信してからの任意の2つの経過時刻に前記第1パケット転送装置を各々通過する各通過パケット数を推定し、
前記第2パケット転送装置から取得された前記フロー情報から前記フロー情報取得部が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、任意の前記2つの経過時刻に前記第2パケット転送装置を各々通過する各通過パケット数を推定し、
推定した前記n番目のパケットを送信してからの任意の前記2つの経過時刻に前記第1パケット転送装置及び前記第2パケット転送装置を各々通過する前記各通過パケット数に基づき、前記第1パケット転送装置及び前記第2パケット転送装置を任意の2つの前記経過時刻の同一時刻帯に各々通過する通過パケットの個数を推定する
ことを特徴とする請求項1に記載の監視装置。
【請求項3】
前記パケット数推定部は、
前記第1パケット転送装置からが取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのフロー時刻情報に基づき、前記n番目のパケットを送受信してからの任意の第1経過時刻に前記第1パケット転送装置間を通過する通過パケット数を第1通過推定パケット数として推定し、前記n番目のパケットを送受信してからの任意の第2経過時刻に前記第1パケット転送装置間を通過する通過パケット数を第2通過推定パケット数として推定し、
推定した前記第1通過推定パケット数と前記第2通過推定パケット数の差に基づいて、前記第1経過時刻から前記第2経過時刻の間に前記第1パケット転送装置を通過した第1通過パケット個数を算出し、
前記第2パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる2つのフロー時刻情報に基づき、前記第1経過時刻に前記第2パケット転送装置間を通過する通過パケット数を第3通過推定パケット数として推定し、前記第2経過時刻に前記第2パケット転送装置間を通過する通過パケット数を第4通過推定パケット数として推定し、
推定した前記第3通過推定パケット数と前記第4通過推定パケット数の差に基づいて、前記第1経過時刻から前記第2経過時刻の間に前記第2パケット転送装置を通過した第2通過パケット個数を算出し、
算出した前記第1通過パケット個数と前記第2通過パケット個数との差に基づいて、前記第1パケット転送装置と前記第2パケット転送装置間を1方向に流れているフローにおけるパケットロス数を推定する
ことを特徴とする請求項2に記載の監視装置。
【請求項4】
前記パケット数推定部は、
前記第2パケット転送装置におけるパケット通過時刻の実測値であるフロー時刻を前記第1経過時刻として用い、
前記第1パケット転送装置におけるパケット通過時刻の実測値であるフロー時刻を前記第2経過時刻として用いる
ことを特徴とする請求項2または請求項3に記載の監視装置。
【請求項5】
監視装置における監視方法であって、
フロー情報取得部が、第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、
パケット数推定部が、前記フロー情報取得手順が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定手順と、
を含むことを特徴とする監視方法。
【請求項6】
監視装置のコンピュータに、
第1パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、
前記フロー情報取得手順が抽出した前記フロー時刻が異なる2つのフロー情報に基づき、n番目(nは、1以上の整数)のパケットを送受信してからの任意の経過時刻に前記第1パケット転送装置を通過する通過パケット数を推定するパケット数推定手順と、
を実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−106303(P2013−106303A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−250706(P2011−250706)
【出願日】平成23年11月16日(2011.11.16)
【出願人】(397065480)エヌ・ティ・ティ・コムウェア株式会社 (187)
【Fターム(参考)】
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願日】平成23年11月16日(2011.11.16)
【出願人】(397065480)エヌ・ティ・ティ・コムウェア株式会社 (187)
【Fターム(参考)】
[ Back to top ]