説明

通信品質計測装置及びその計測方法

【課題】ネットワークの品質を計測する装置において、計測対象のパケットをすべて取得しない/できない場合でも、データ損失回数を精度良く計測する。また計測対象の一部のパケットを処理対象とすることで、計測装置にかかる処理負荷を低減する。
【解決手段】パケットを受信したことを通知する複数の受信確認信号に基づきネットワークの品質を計測するネットワーク品質計測装置において、前記複数の受信確認信号のうち、間引き処理であるサンプリングにより得られた一部の受信確認信号を取得する手段と、前記取得した一部の受信確認信号に基づき、前記パケットの損失の発生を検出する手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークの通信品質を計測するための通信品質計測装置及びその方法に関する。
【背景技術】
【0002】
本発明が扱うネットワークの品質とは、計測装置に入力されるパケットの品質のことをいう。計測装置には、通信端末間のネットワークに設けられた分岐装置からパケットが入力される。又、パケット品質とは、スループット、グッドプット、パケットロス、RTT(Round Trip Time)のことを指す。
【0003】
以下では簡単化のために、TCP(Transmission Control Protocol)を例に取りネットワークの品質を計測する装置について説明する。
【0004】
ここで特許文献1について説明する。
【0005】
特許文献1に記載されているグッドプット、パケットロスを計測する方法について図1、図2、図3を用いて説明を行う。
【0006】
図1は特許文献1の適用領域を示す図であり、図2は特許文献1のブロック図であり、図3は特許文献1の処理の流れを示す図である。
【0007】
通信端末2と通信端末3とのパケット通信の品質を計測する場合、その通信リンク上に分岐装置4及び分岐装置5を設置して、計測したい通信のパケットを計測装置1に取り入れる。計測装置1でパケットを取り込むことにより、品質の計測が開始される。
【0008】
図2に特許文献1におけるブロック図を示す。
【0009】
はじめに以下の言葉を定義する。
【0010】
重複ACK数とは、発生した重複ACK(同一のACK番号が3回以上連続)の数を指す。ここでACKとは、アクノーレッジ(acknowledge)のことである。
【0011】
ACK重複数とは、同一のACK番号が連続した数を指す。
【0012】
特許文献1における計測装置1aは、分岐装置4からのデータを入力するデータ受信部111と、分岐装置5からのデータを入力するデータ受信部112と、入力されたデータを各フロー毎に識別するフロー識別部120と、ACK側の情報のみから品質を計測するACK情報判定部1000aと、その中のグッドプット計測部130aと、観測期間の最初のACK番号を記憶する記憶部131aと、観測期間の最後のACK番号を記憶する記憶部132aと、記憶部131aと記憶部132aの記憶内容からグッドプットを計算するグッドプット計算部133aと、パケットロス計測部140aと、同一のACK番号が3回以上連続した回数をカウントする重複ACK数記憶部141aと、その結果からパケットロス回数をカウントする計算部143aと、DATA側の情報(シーケンスナンバー、以後SN)のみから品質を計測するDATA情報判定部2000aと、その中のグッドプット計測部230aと、観測期間の最初のDATA番号を記憶する記憶部231aと、観測期間の最後のDATA番号を記憶する記憶部232aと、記憶部231aと記憶部232aの記憶内容からグッドプットを計算するグッドプット計算部233aと、パケットロス計測部240aと、取得したDATAと過去にカウントした最大SNとを比較するSN番号差分確認部241aと、その結果を元にパケットロスをカウントするパケットロス回数計算部243aと、から構成される。
【0013】
特許文献1では、ネットワーク上を流れているデータを計測装置1aで取り込むことにより、処理が開始される。分岐装置4から入力されたデータは、データ受信部111で、分岐装置5から入力されたデータは、データ受信部112で、受信する。データ受信部111とデータ受信部112でデータを受け取った後、受信部はそのデータをフロー識別部120に渡す。フロー識別部120では、受信したデータを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フローの識別を行う。対象データがACK側情報の場合にはACK情報判定部1000aで、DATA側情報の場合にはDATA情報判定部2000aで、処理を行う。
【0014】
ACK情報判定部1000aでは、ある一定期間の観測期間毎にグッドプットとパケットロスの計測を行う。グッドプットの計算を行うために、グッドプット計測部130aでは、観測期間の最初に受け取ったACK番号をACK番号記憶部131aで記憶する。同時にACKを受け取る毎にACK番号記憶部132aで最新のACK番号を更新していく。観測期間を更新する毎に「ACK番号記憶部132aのACK番号−ACK番号記憶部131aのACK番号」をグッドプット計算部133aで計算し、グッドプット計算処理を行う。パケットロスの計算では、重複ACK数記憶部141aで同一のACK番号が3回以上連続したかどうかを確認する。この判定処理で3回以上ACKが連続している場合には、パケットがロスしたものと判定する。パケットロス回数計算部143aでは、重複ACK数記憶部141aでパケットがロスしたと判定される毎にパケットロス回数を1増加させる。観測期間を更新するときに、その期間のパケットロス回数を確定し、次回の観測期間のためにパケットロスカウントを0に戻す。
【0015】
DATA情報判定部2000aでは、ある一定期間の観測期間毎にグッドプットとパケットロスの計測を行う。グッドプットの計算を行うために、グッドプット計測部230aでは、観測期間の最初に受け取ったSN番号をDATA番号記憶部231aで記憶する。同時にDATAを受け取る毎にDATA番号記憶部232aで最新のDATA番号を更新する。このとき、過去に受け取ったSN番号よりも小さな番号を受け取った場合にはこの更新作業を行わない。観測期間を更新する毎に「DATA番号記憶部232aのSN番号−DATA番号記憶部231aのSN番号」をグッドプット計算部233aで計算し、グッドプット計算処理を行う。パケットロスの計算では、SN番号差分確認部241aで、過去に受け取った最大のSNよりも小さなSN番号を受け取る毎にパケットがロスしたと判断する。パケットロス回数計算部243aでは、SN番号差分確認部241aでパケットをロスしたと判定する毎にパケットロス回数を1増加させる。観測期間を更新するときに、その期間のパケットロス回数を確定し、次回の観測期間のためにパケットロスカウントを0に戻す。
【0016】
次に図3を参照して、計測装置1aにおける「グッドプット」、「パケットロス」の品質の計測処理について説明する。この「グッドプット」、「パケットロス」のネットワーク品質は、一定時間の観測時間毎に結果を算出していく。
【0017】
図3は特許文献1における処理フローの概要を示している。
【0018】
計測装置1aは、データが分岐装置4、あるいは分岐装置5から入力され、データ受信部111、データ受信部112に到着することにより処理が開始される。この処理が、処理A−1である。この処理が終了後、処理A−2へ移動する。
【0019】
処理A−2は、同一フローの識別処理である。フロー識別部120において、受信データを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フロー識別処理を行う。このフロー識別処理終了後、処理A−3へ移動する。
【0020】
処理A−3では、入力されたデータが、該当フローのACK側情報をもつか、SN情報をもつか判定を行う。ここでACK側情報をもつ場合には、処理A−4へ、SN側情報をもつ場合には、処理A−10へ移動する。なお、TCP通信の場合には、ひとつのデータ内にACK側情報とSN側情報をもてる構成になっており、あるフローのACK側情報データが、他方のSN側情報データとなっている場合もある。
【0021】
処理A−4では、前回のデータ受信時から観測区間が更新したかどうかを確認する。観測区間が更新された場合には、前回の観測区間の品質結果を算出するために、処理A−5へ移動する。観測区間が更新されていない場合には、今回の観測区間の品質観測を続けるために、処理A−7へ移動する。
【0022】
処理A−5では、前回の観測区間の品質(グッドプット、パケットロス)結果を確定する。グッドプットは、「期間最後のACK番号記憶部132aの番号−期間最初のACK番号記憶部131a」を計算する。パケットロスは、パケットロス回数計算部143aの値を確定する。その後、今回の観測区間用にパケットロス回数計算部143aの値を0に設定しなおす。この処理後、処理A−6へ移動する。
【0023】
処理A−6では、今回の観測区間で初めて受け取ったACK番号を、期間最初のACK番号記憶部131aに記憶する。この処理後、処理A−7へ移動する。
【0024】
処理A−7では、ACKパケットを受信する毎にこの値の更新を行う。最後に受け取ったACKパケットの番号を期間最後のACK番号記憶部132aに記憶する。この処理後A−8へ移動する。
【0025】
処理A−8では、ACK番号が前回受け取った番号と一致するかどうか、一致する場合には連続して3回一致しているかどうかの確認を行う(重複ACK数記憶部141a)。TCPでは、パケットロスを受信端末側が認識すると同一ACK番号を連続して送信側に送信するため、この処理により、パケットロスの有無を確認する。同一ACK番号が連続して3回連続した場合には、今回の観測区間のパケットロス回数をカウントするために、処理A−9へ移動する。同一ACK番号が連続して3回以外の場合には、パケットロスが発生していないと判断し、次のデータ入力を待ち、今回のパケットに対する処理を終了する。
【0026】
処理A−9では、今回の観測区間内のパケットロス回数をカウントする。処理A−8でパケットロスとして判断されているので、パケットロス回数計算部143aの値を1増加させる。この処理により、今回のパケットに対する処理を終了し、次のデータ入力を待つ。
【0027】
処理A−10では、前回のデータ受信時から観測区間が更新したかどうかを確認する。観測区間が更新された場合には、前回の観測区間の品質結果を算出するために、処理A−11へ移動する。観測区間が更新されていない場合には、今回の観測区間の品質観測を続けるために、処理A−13へ移動する。
【0028】
処理A−11では、前回の観測区間の品質(グッドプット、パケットロス)結果を確定する。グッドプットは、「期間最後のSN番号記憶部232aの番号−期間最初のSN番号記憶部231a」を計算する。パケットロスは、パケットロス回数計算部243aの値を確定する。その後、今回の観測区間用にパケットロス回数計算部243aの値を0に設定しなおす。この処理後、処理A−12へ移動する。
処理A−12では、今回の観測区間で初めて受け取ったSN番号を、期間最初のSN番号記憶部231aに記憶する。ただし、過去に受け取った最大SN番号が今回受け取った値よりも大きい場合には、過去の最大SNを、期間最初のSN番号記憶部231aに記憶する。この処理後、処理A−13へ移動する。
【0029】
処理A−13では、DATAパケットを受信する毎にこの値の更新を行う。最後に受け取ったDATAパケットのSN番号を期間最後のSN番号記憶部232aに記憶する。ただし、過去に受け取った最大SN番号が今回受け取った値よりも大きい場合には、過去の最大SNを、期間最後のSN番号記憶部232aに記憶する。この処理後A−14へ移動する。
【0030】
処理A−14では、過去に受け取った最大のSN番号と、今回受け取ったパケットのSNの比較を行う。「過去に受け取った最大のSN番号 > 今回受け取ったパケットのSN」のSN逆転現象が発生した場合には、パケットがロスしたと認識し、パケットロスのカウントを行うために、処理A−15へ移動する。SN逆転現象が発生していない場合には、パケットがロスしなかったと判断し、今回のパケットに対する処理を終了する。そして次のデータ入力を待つ。
【0031】
処理A−15では、今回の観測区間内のパケットロス回数をカウントする。処理A−14でパケットロスとして判断されているので、パケットロス回数計算部243aの値を1増加させる。この処理により、今回のパケットに対する処理を終了し、次のデータ入力を待つ。
【0032】
本手法での品質計測は、非特許文献1や非特許文献2でも採用されており、品質計測の一般的な手法のうちの一つとなっている。
【先行技術文献】
【特許文献】
【0033】
【特許文献1】特開2001−285400号公報
【非特許文献】
【0034】
【非特許文献1】片方向IPトラヒックからTCPレベルの統計情報を収集するパフォーマンスモニタの設計、大岸智彦、井戸上彰、長谷川享、加藤聡彦、2000年電子情報通信学会総合大会
【非特許文献2】インターネットにおける計測に基づいたボトルネック特定手法、的場 一峰、阿多 信吾、村田 正幸、電子情報通信学会 テレコミュニケーションマネジメント研究会、 pp. 65 − 70、2000年11月
【発明の概要】
【発明が解決しようとする課題】
【0035】
第一の問題点は、前記第一手法では、フローの品質を計測するために、高い演算能力を必要とすることである。
【0036】
その理由は、前記第一手法では、計測対象となるフローのパケットすべてに対して処理を行う必要がある。このため、高速なネットワークでは、演算対象となるパケット数が膨大となり、それをすべて処理する必要があるために、高い演算能力を必要とする。
【0037】
第二の問題点は、前記第一手法では、計測するフローのパケットをすべて取得できない状況では、品質を正しく計測することが出来ないことである。
【0038】
その理由は、前記第一手法では、パケットロスのカウントを、単純にACK番号が重複している回数としているからである。このため、本来ACK番号が重複していても、重複しているパケットを取得できない状況では、パケットロスのカウントを行わない。このため、品質を正しく計測することが出来ない。
【0039】
本発明は、以上の問題点を鑑み発案されたものであり、計測装置において、通信端末と通信端末の間の「スループット」、「グッドプット」、「パケットロス」、「RTT」の品質の計測を、低い演算処理能力でも可能とすることである。また、すべてのパケットを取得しない又はできない状況においても、品質の計測を可能とすることである。
【課題を解決するための手段】
【0040】
本発明による計測装置1では、サンプリング部170により、間引きしたパケットに対して品質計測を行う。この結果、全パケットに対して計測処理を行う必要がなく、計測器に高い演算能力を必要としなくなる。
【0041】
本発明による計測装置1では、ACKサンプリング率推定部180やDATAサンプリング率推定部により、計測装置の管理下に置かれていない部分でパケットの間引き/取りこぼしが発生しても、サンプリング率を推定することができる。この結果、計測装置1内でサンプリング率を既知でなければ適用できないようなサンプリング計測を行うことが可能となり、全パケットに対して計測処理を行う必要がなく、計測器に高い演算能力を必要としなくなる。
【0042】
本発明による計測装置1では、品質判定部200とサンプリング率決定部210とサンプリング部170により、重点的に観察する必要のあるフローに対しては粒度の細かな監視(パケットのサンプリング率を上げる)を行い、重要度の低いフローに対しては粒度の荒い監視(パケットのサンプリング率を下げる)を行うことが出来る。この結果、フロー毎にパケットのサンプリング率を最適な値に設定することが可能となり、計測器に高い演算能力を必要としなくなる。
【0043】
サンプリング計測によるネットワークの品質(グッドプット)計測を可能とするために、グッドプット計測部130bの、前観測区間の最後のACK番号記憶部131bと、今更新の観測区間の最後のACK番号記憶部132bと、それらの情報を元にグッドプット計算部133bにより、グッドプット計算を行っている。この結果、サンプリング計測を行う場合においても、正しいグッドプットを計算することができる。
【0044】
サンプリング計測によるネットワークの品質(グッドプット)計測を可能とするために、グッドプット計測部230dの、前観測区間の最後のSN番号記憶部231dと、今更新の観測区間の最後のSN番号記憶部232dと、それらの情報を元にグッドプット計算部233dにより、グッドプット計算を行っている。この結果、サンプリング計測を行う場合においても、正しいグッドプットを計算することができる。
【0045】
サンプリング計測によるネットワークの品質(パケットロス)計測を可能とするために、パケットロス計測部140bの、ACK重複数記憶部141bと、統計処理部142bとパケットロス回数計算部143bにより、サンプリング計測時に検出したACKの重複回数とサンプリング率から、サンプリングしていない場合には、どの程度の重複ACKが発生したかを推測する。この結果、サンプリング計測を行い、すべての重複ACKを検知できない場合でも、正しいパケットロスを推測することができる。
【0046】
サンプリング計測によるネットワークの品質(パケットロス)計測を可能とするために、パケットロス計測部140cの、ACK番号微分処理部141cとパケットロス回数計算部143cにより、ACK番号の微分結果の変動からパケットロスを判定する。この結果、サンプリング計測を行い、すべてのACKを検知できない場合でも、正しいパケットロスを推測することができる。
【0047】
サンプリング計測によるネットワークの品質(パケットロス)計測を可能とするために、パケットロス計測部240dの、SN番号微分処理部241dとパケットロス回数計算部243dにより、SN番号の微分結果の変動からパケットロスを判定する。この結果、サンプリング計測を行い、すべてのSNを検知できない場合でも、正しいパケットロスを推測することができる。
【0048】
サンプリング計測によるネットワークの品質(スループット)計測を可能とするために、スループット計測部150bのスループット計算部151bにより、得られたグッドプットやパケットロスからスループットを計算する。この結果、サンプリング計測を行い、すべてのパケットを取得できない場合でも、正しいスループットを推測することができる。
【0049】
サンプリング計測によるネットワークの品質(スループット)計測を可能とするために、スループット計測部250dのスループット計算部251dにより、得られたグッドプットやパケットロスとTCPの振る舞いの理論的解釈からスループットを計算する。この結果、サンプリング計測を行い、すべてのパケットを取得できない場合でも、正しいスループットを推測することができる。
【0050】
サンプリング計測によるネットワークの品質(RTT)計測を可能とするために、RTT計測部160bのRTT計算部161bにより、得られたグッドプットやパケットロスとTCPの振る舞いの理論的解釈からRTTを計算する。この結果、サンプリング計測を行い、すべてのパケットを取得できない場合でも、RTTを推測することができる。
【0051】
本発明による計測装置1では、グッドプット計測部130b、130c、230dや、パケットロス計測部140b、140c、240dや、スループット計測部150b、250dや、RTT計算部160bにより、サンプリング計測を可能とする。この結果、計測するフローのパケットをすべて取得できない状況でも、品質を正しく計測することが出来る。
【0052】
本発明によれば、パケットを受信したことを通知する複数の受信確認信号に基づきネットワークの品質を計測するネットワーク品質計測方法において、前記複数の受信確認信号のうち、間引き処理であるサンプリングにより得られた一部の受信確認信号を取得するステップと、前記取得した一部の受信確認信号に基づき、前記パケットの損失の発生を検出するステップと、を有するネットワーク品質計測方法が提供される。
【0053】
本発明によれば、パケットを受信したことを通知する複数の受信確認信号に基づきネットワークの品質を計測するネットワーク品質計測装置において、前記複数の受信確認信号のうち、間引き処理であるサンプリングにより得られた一部の受信確認信号を取得するステップと、前記取得した一部の受信確認信号に基づき、前記パケットの損失の発生を検出するステップと、を有するネットワーク品質計測装置が提供される。
【0054】
本発明によれば、パケットを受信したことを通知する複数の受信確認信号に基づきネットワークの品質を計測するネットワーク品質計測装置としてコンピュータを機能させるプログラムにおいて、前記コンピュータを、前記複数の受信確認信号のうち、間引き処理であるサンプリングにより得られた一部の受信確認信号を取得する手段と、前記取得した一部の受信確認信号に基づき、前記パケットの損失の発生を検出する手段と、として機能させるためのプログラムが提供される。
【発明の効果】
【0055】
本発明は、ネットワークの品質を計測するためのネットワーク品質計測方法であって、データ受信側からデータ送信側に送られる受信確認信のある期間の一部のパケットを計測対象として、その期間の計測できなかったパケットを含む全パケットを取得計測した場合に計測されるであろう、データ損失回数やデータ損失率やデータ損失時刻やデータ損失パケットを計算するステップを有することを特徴とするネットワーク品質計測方法であるので、一部のパケットを計測対象としても、精度良くデータ損失回数やデータ損失率やデータ損失時刻やデータ損失パケットを計算することができる。
【図面の簡単な説明】
【0056】
【図1】本技術の適用領域の概要を示す図である。
【図2】特許文献1におけるブロック図である。
【図3】特許文献1における処理フローの概要を示す図である。
【図4】第一の実施形態における計測装置でのブロック図である。
【図5】第一の実施形態における計測装置での処理フローの概要を示す図である。
【図6】本技術の適用領域の概要を示す図である。
【図7】本技術の適用領域の概要を示す図である。
【図8】第二の実施形態における計測装置でのブロック図である。
【図9】第二の実施形態における計測装置での処理フローの概要を示す図である。
【図10】第三の実施形態における計測装置でのブロック図である。
【図11】第三の実施形態における計測装置での処理フローの概要を示す図である。
【図12】第四の実施形態における計測装置でのブロック図である。
【図13】第四の実施形態における計測装置での処理フローの概要を示す図である。
【図14】第五の実施形態における計測装置でのブロック図である。
【図15】第五の実施形態における計測装置での処理フローの概要を示す図である。
【発明を実施するための最良の形態】
【0057】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【0058】
図4は本発明による計測装置1bの第一の実施形態の構成を示すブロック図である。
【0059】
第一の実施形態における計測装置1bは、分岐装置4からデータを入力するデータ受信部111と、分岐装置5からのデータを入力するデータ受信部112と、入力されたデータを各フロー毎に識別するフロー識別部120と、入力パケットをサンプリングするサンプリング処理部170と、ACK側の情報のみから品質を計測するACK情報判定部1000bと、その中のグッドプット計測部130bと、直前の観測期間の最後のACK番号を記憶する記憶部131bと、観測期間の最後のACK番号を記憶する記憶部132bと、記憶部131bと記憶部132bの記憶内容からグッドプットを計算するグッドプット計算部133bと、パケットロス計測部140bと、ACKの重複回数をカウントするACK重複数記憶部141bと、その値に対して統計的手法を用いて全体の重複ACK数を予測する統計処理部142bと、パケットロス回数をカウントするパケットロス回数計算部143bと、グッドプットとパケットロスからスループットを計算するスループット計算部150b、151bと、スループットとグッドプットとパケットロスからRound Trip Time(以後RTT)を推測するRTT計算部160b、161bから構成される。
【0060】
本実施形態では、ネットワーク上を流れているデータを計測装置1bで取り込むことにより、処理が開始される。分岐装置4から入力されたデータは、データ受信部111で、分岐装置5から入力されたデータは、データ受信部112で、受信する。データ受信部111とデータ受信部112でデータを受け取った後、受信部はそのデータをフロー識別部120に渡す。フロー識別部120では、受信したデータを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フローの識別を行う。ネットワーク品質の計測はフロー毎に行う。フロー識別処理の後、入力されたパケットに対してサンプリング部170により、パケットのサンプリング(間引き)処理が行われる。このサンプリング手法は、指定されたサンプリングレートにおいて、そのサンプリングレート内で乱数を発生させ、その値を基にサンプリングパケットを判定する乱数(ランダム)サンプリングや、指定されたサンプリングレートにおいて、そのサンプリング間隔で定常的にサンプリングパケットを判定する定常(均等)サンプリング、などの方法を採用する。サンプリングレートは必要に応じて、グッドプット計測部130bやパケットロス計測部140bやスループット計測部150bやRTT計測部160bに通知する。
【0061】
対象データがACK側情報の場合には、ACK情報判定部1000bで、ある一定期間の観測期間毎に「スループット」、「グッドプット」、「パケットロス」、「RTT」の計測処理を行う。
【0062】
グッドプットの計算を行うために、グッドプット計測部130bでは、ACKを受け取る毎にACK番号記憶部132bで最新のACK番号を更新していく。ただし、観測期間が更新された直後には、ACK番号記憶部132bの値を更新する前に、「ACK番号記憶部132bのACK番号−ACK番号記憶部131bのACK番号」をグッドプット計算部133bで計算し、グッドプット計算処理を行い、次の観測期間のグッドプット計算のために、現在の期間最後のACK番号記憶部132bの値を前区間最後のACK番号記憶部131bに代入する。
【0063】
パケットロスの計測を行うために、パケットロス計測部140bでは、ACKパケットが到着する毎に、ACK重複数記憶部141bで、同一のACK番号がある一定数n(任意の数)以上連続したかどうかを確認する。n回以上連続した場合にはACK重複数記憶部141bの値を1増加させる。観測期間が更新されると前の観測期間のパケットロス結果を算出するために、統計処理部142bでは、サンプリング計測により検知できたACK番号重複回数を元に、統計学上の手法を用いて、全数サンプルをした場合には本来いくらのACK重複現象が発生したかを予測する。そして、パケットロス回数計算部143bでは、この予測したACK重複現象の回数をパケットロス回数として確定する。この処理後、新しい観測期間でのパケットロスの計算のために、ACK重複数記憶部141bのカウントを0とする。
【0064】
スループットの計算を行うために、スループット計測部150bでは、グッドプット計測部130bとパケットロス計測部140bで求めたグッドプットとパケットロスの値をもとに、スループットの算出を行う。この計算の具体的な計算方法としては、「グッドプット/(1−パケットロス率)」の計算を行う。ここで、パケットロス率は、グッドプットとパケットロスの比率から算出する。
【0065】
RTTの計算を行うために、RTT計測部160bでは、グッドプット計測部130bとパケットロス計測部140bで求めたグッドプットとパケットロスの値をもとに、RTTの算出を行う。
【0066】
次に図5を参照して、計測装置1bにおける「スループット」、「グッドプット」、「パケットロス」、「RTT」の品質の計測処理について説明する。
【0067】
図5は、計測装置1bにおける処理フローの概要を示している。
【0068】
計測装置1bは、データが分岐装置4、あるいは分岐装置5から入力され、データ受信部111、データ受信部112に到着することにより処理が開始される。この処理が、処理B−1である。この処理が終了後、処理B−2へ移動する。
【0069】
処理B−2では、同一フローの識別処理である。フロー識別部120において、受信データを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フロー識別処理を行う。以下の処理はフロー毎に行う。フロー識別処理終了後、処理B−3へ移動する。
【0070】
処理B−3では、パケットのサンプリング(間引き)処理である。このサンプリング手法は、指定されたサンプリングレートにおいて、そのサンプリングレート内で乱数を発生させ、その値を基にサンプリングパケットを判定する乱数(ランダム)サンプリングや、指定されたサンプリングレートにおいて、そのサンプリング間隔で定常的にサンプリングパケットを判定する定常(均等)サンプリング、などの方法を採用する。サンプリング処理終了後、処理B−4へ移動する。
【0071】
処理B−4では、入力されたデータが、該当フローのACK側情報をもつか、SN情報をもつか判定を行う。ここでACK側情報をもつ場合には、処理B−5へ移動する。SN側情報を持つ場合には、処理を終了する。なお、TCP通信の場合には、ひとつのデータ内にACK側情報とSN側情報をもてる構成になっており、あるフローのACK側情報データが、他方のSN側情報データとなっている場合もある。
【0072】
処理B−5では、前回のデータ受信時から観測区間が更新したかどうかを確認する。観測区間が更新された場合には、前回の観測区間の品質結果を算出するために、処理B−6へ移動する。観測区間が更新されていない場合には、今回の観測区間の品質観測を続けるために、処理B−10へ移動する。
【0073】
処理B−6では、前の観測区間のグッドプット計測処理を行う。グッドプット計測手法としては、「期間最後のACK番号記憶部132b−前期間最後のACK番号記憶部131b」を計算する。この処理終了後、処理B−7へ移動する。
【0074】
処理B−7では、前の観測区間のパケットロスを算出する。パケットロス計測手法としては、ACK重複数記憶部141bの値を元にして、統計処理部142b内で統計上処理を行い、全数サンプリングを行った場合の重複ACK数を予測する。この値をパケットロス回数とする。この計算終了後、処理B−8へ移動する。
【0075】
処理B−8では、処理B−6、処理B−7で求めたグッドプットとパケットロスの値を元にして、スループット計算処理とRTT計算処理を行う。スループットの具体的な計算方法としては、「グッドプット/(1−パケットロス率)」の計算を行う。ここで、パケットロス率は、グッドプットとパケットロスの比率から算出する。またグッドプットとパケットロスからRTTを計算する。これらの計算により、前観測区間のネットワークの品質を求め終わった後、処理B−9へ移動する。
【0076】
処理B−9では、今まで期間最後のACK番号記憶部132bに記憶されていたACK番号を、前期間最後のACK番号記憶部131bに代入する。また、ACK重複数のカウントを0に戻す。この処理終了後、処理B−10へ移動する。
【0077】
処理B−10では、ACKを受け取る毎に、受け取ったACK番号を期間最後のACK番号記憶部132bに記憶する。この処理終了後、処理B−11へ移動する。
【0078】
処理B−11では、ACK重複数記憶部141bで、同一のACK番号がある一定数n(任意の数)以上連続したかどうかを確認する。n回以上連続した場合にはACK重複数記憶部141bの値を1増加させる。この処理により、今回のパケットに対する処理を終了する。そして次のデータ入力を待つ。
【0079】
以上が本発明による第一の実施形態における計測装置1bの処理内容である。
【0080】
従来の技術においては、グッドプットの計測手法として、観測期間中に検知したACKの最大値と最小値の差分をその観測期間中のグッドプットとして計算していた。このため、この計算手法を単純にサンプリング計測に適用すると、サンプリングにより間引かれた観測期間中の最初と最後のデータ量分だけ常に低い値を算出することになる。また、パケットロスの計測手法として、観測期間中に検知した重複ACK数(同一のACK番号が3回以上連続した回数)をカウントして、パケットロスとしていた。このため、この計算手法を単純にサンプリング計測に適用すると、本来ACK番号が3回以上連続していても、サンプリングにより間引かれた結果、ACK番号が連続しない場合が多く発生し、パケットロス回数が本来の値よりも大きく下回る。
【0081】
一方、本実施形態では、グッドプット計測手法として、各観測期間中に最後に検知したACK番号の差分を、その区間のグッドプットとして計算している。サンプリング計測により、ACKデータが間引かれることで、グッドプットの値は本来の値よりも大きくなったり小さくなったりするが、本実施形態のグッドプットの平均値は本来のグッドプット平均値の値と、常にほぼ同じ値を示す。また、パケットロスの計測手法として、サンプリング計測で観測したACKの重複数から、統計学的手法を用いて、本来のACK重複数を予測して、パケットロスと計上している。このため、サンプリングにより、すべての重複ACKを検知することができなくても、本来の重複ACK数を予測することが可能となる。また、サンプリング計測時にも、ほぼ正確なグッドプットとパケットロスの値を計測することができることから、スループットとRTTの値の予測値を算出することが可能となる。これら、サンプリング計測手法を使用することで、計測するフローのすべてのパケットをすべて取得できない状況においても、品質を正しく計測することができる。また、フローの品質を計測するのに、すべてのパケットに対して処理を行う必要がなくなるため、計測器に高い演算能力を必要としなくなる。
【0082】
本実施形態は、簡単化のために、TCP通信の品質を計測する装置で説明を行ったが、送信データ中にデータ列の順番が記載されており、データ欠損に対する再送の仕組みが存在するものに共通の技術である。したがってHSTCPやSCTPやDCCPといった再送機構の存在するプロトコル一般を含む。
【0083】
また適用領域としては、非計測ネットワーク及びトラヒックに影響を与えない図1の状態のみではなく、データを取得できる形式であれば、通信端末間の途中に挿入し、非計測ネットワーク及びトラヒックに影響を与える図6のような形態でも可能である。図6でのデータ中継端末とは、レイヤ2でデータ転送を行うイーサネット(登録商標)スイッチや、レイヤ4でデータ転送を行うルータ、レイヤ4以上での転送を行うゲートウェイ等であり、データをそのまま転送、あるいは、プロトコルを変更して転送する場合や、ロードバランス機能や帯域制御機能を付加した端末のことを指す。
【0084】
またサンプリング処理部分としては、本実施形態のように計測装置1内に存在している場合のみではなく、サンプリングレートを計測装置1で知ることができる状態であれば良い。具体的には、図6の形態のデータ中継端末内にパケットのサンプリング機能を持たせる場合や、図7の形態のように、サンプリング処理用のサンプリング装置7を通してパケットを計測装置1に入力する場合のことを指す。
【0085】
また本実施形態のサンプリング処理170は、フロー識別処理120の後に行われているが、フロー識別処理120の前にサンプリング処理170を行っても同様の効果を発揮することができる。
【0086】
またパケットロス計算のための統計処理部142bや処理フローB−7では、統計学手法を用いて、本来のACK重複数を予測するとしたが、その内容は、ACK重複数がある確率モデルに従って発生すると仮定することにより、検知できた一部のACK重複数から、全体のACK重複数を推定する方法が考えられる。
【0087】
この推定手法の計算方法としては、「全体のACK重複数=(ACK重複数記憶部141bでカウントしたACK番号が一定数n(任意の数)以上連続した数)/(ある確率分布のn以上の割合)」がある。これを計算することにより、全体の重複ACK数を求めることができる。また、複数種類のACK番号が連続した数を記憶しておき、それぞれで全体の重複ACK数を予測して、その平均値を全体の重複ACK数とする場合(例、全体のACK重複数={(ACKがn1回以上連続した数/ある確率分布のn1以上の割合)+(ACKがn2回以上連続した数/ある確率分布のn2以上の割合)+・・・(ACKがnm回以上連続した数/ある確率分布のnm以上の割合)}/m)や、この計算に重み付け平均を行った値を全体の重複ACK数とする場合(例、全体のACK重複数={a1×(ACKがn1回以上連続した数/ある確率分布のn1以上の割合)+a2×(ACKがn2回以上連続した数/ある確率分布のn2以上の割合)+・・・am×(ACKがnm回以上連続した数/ある確率分布のnm以上の割合)}/m)もある。また、これらの計算結果に対して、加算や減算や乗算や除算を行う場合もある。
【0088】
ここでの確率分布の具体的な分布名としては、正規分布、標準正規分布、カイ2乗分布、F分布、t分布、ベータ分布、指数分布、ガンマ分布、二項分布、超幾何分布、対数正規分布、ポアソン分布、負の二項分布、ワイブル分布、一様分布などが考えられる。
【0089】
ここでの確率分布で必要とされる平均値や平均値や分散値等のパラメタとしては、過去のパケットロス率やサンプリング確率から求める方法が考えられる。
【0090】
この推定手法の具体的な計算手法の一つとしては、ACK重複数が、過去のパケットロス率のルートに反比例し、サンプリング率に比例する値をもとに決定する平均値を持つポアソン分布に従うと仮定して、「(ACK重複数記憶部141bでカウントしたACK番号が一定数n(任意の数)以上連続した数)/(1−ポアソン分布の0の確率―ポアソン分布の1の確率−・・・−ポアソン分布のn−1の確率)」によって、全体の重複ACK数を推定することが考えられる。
【0091】
この本来のACK重複数を予測する方法としては、一観測期間中に検知できたACK重複数から全体のACK重複数を推定する計算を、複数回反復することが考えられる。この反復計算を行うことで、ACK重複数の推定精度を向上させる効果が見込める。具体的には、一度目の計算では、過去のパケットロス率あるいは、任意の値を使用して、確率分布のパラメタを求め、今観測期間中の重複ACK数とパケットロス率を推定する。次に、一度目の計算で推定したパケットロス率を使用して、確率分布のパラメタを求め、再度、同観測期間の重複ACK数とパケットロス率を推定する。この反復計算を繰り返すことにより、パケットロス率の推定精度を向上させることが可能となる。
【0092】
図8は本発明による計測装置1cの第二の実施形態の構成を示すブロック図である。
【0093】
第二の実施形態における計測装置1cは、分岐装置4からデータを入力するデータ受信部111と、分岐装置5からデータを入力するデータ受信部112と、入力されたデータを各フロー毎に識別するフロー識別部120と、入力パケットをサンプリングするサンプリング処理部170と、ACK側の情報のみから品質を計測するACK情報判定部1000cと、その中のグッドプット計測部130bと、直前の観測期間の最後のACK番号を記憶する記憶部131bと、観測期間の最後のACK番号を記憶する記憶部132bと、記憶部131bと記憶部132bの記憶内容からグッドプットを計算するグッドプット計算部133bと、パケットロス計測部140cと、ACK番号を時間変化に対して微分するACK番号微分処理部141cと、パケットロス回数をカウントするパケットロス回数計算部143cと、グッドプットとパケットロスからスループットを計算するスループット計算部150b、151bと、スループットとグッドプットとパケットロスからRound Trip Time(以後RTT)を推測するRTT計算部160b、161bから構成される。
【0094】
本実施形態では、ネットワーク上を流れているデータを計測装置1cで取り込むことにより、処理が開始される。分岐装置4から入力されたデータは、データ受信部111で、分岐装置5から入力されたデータは、データ受信部112で、受信する。データ受信部111とデータ受信部112でデータを受け取った後、受信部はそのデータをフロー識別部120に渡す。フロー識別部120では、受信したデータを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フローの識別を行う。ネットワーク品質の計測はフロー毎に行う。フロー識別処理の後、入力されたパケットに対してサンプリング部170により、パケットのサンプリング(間引き)処理が行われる。このサンプリング手法は、指定されたサンプリングレートにおいて、そのサンプリングレート内で乱数を発生させ、その値を基にサンプリングパケットを判定する乱数(ランダム)サンプリングや、指定されたサンプリングレートにおいて、そのサンプリング間隔で定常的にサンプリングパケットを判定する定常(均等)サンプリング、などの方法を採用する。サンプリングレートは必要に応じて、グッドプット計測部130bやパケットロス計測部140cやスループット計測部150bやRTT計測部160bに通知する。
【0095】
対象データがACK側情報の場合には、ACK情報判定部1000cで、ある一定期間の観測期間毎に「スループット」、「グッドプット」、「パケットロス」、「RTT」の計測処理を行う。
【0096】
第二の実施形態のグッドプット計測処理130bは、第一の実施形態のグッドプット計測処理と同様である。
【0097】
パケットロスの計測を行うために、パケットロス計測部140cでは、ACKパケットが到着する毎に、ACK番号微分処理部141cにおいて、ACK番号を時間変化に対して微分する。TCPは通常、スループットを上げ続け、パケットロスが発生するとスループットを落とす。このため、パケットロスが発生するまでは、ACK番号を時間変化に対して微分すると傾斜が大きくなっていく。そしてパケットロスが発生すると、ACK番号を時間変化に対して微分すると傾斜が小さくなる。この傾斜の変化により、パケットロスの検出を行う。パケットロス回数計算部143cでは、この傾斜が小さくなった回数をパケットロス回数として確定する。また、パケットロス回数計算部143cでは、観測期間を更新する毎に、カウントを0に初期化する。
【0098】
第二の実施形態のスループット計測処理150bは、第一の実施形態のスループット計測処理と同様である。
【0099】
第二の実施形態のRTT計測処理130bは、第一の実施形態のRTT計測処理と同様である。
【0100】
次に図9を参照して、計測装置1cにおける「スループット」、「グッドプット」、「パケットロス」、「RTT」の品質の計測処理について説明する。
【0101】
図9は、計測装置1cにおける処理フローの概要を示している。
【0102】
計測装置1cは、データが分岐装置4、あるいは分岐装置5から入力され、データ受信部111、データ受信部112に到着することにより処理が開始される。この処理が、処理C−1である。この処理が終了後、処理C−2へ移動する。
【0103】
処理C−2では、同一フローの識別処理である。フロー識別部120において、受信データを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フロー識別処理を行う。以下の処理はフロー毎に行う。フロー識別処理終了後、処理C−3へ移動する。
【0104】
処理C−3では、パケットのサンプリング(間引き)処理である。このサンプリング手法は、指定されたサンプリングレートにおいて、そのサンプリングレート内で乱数を発生させ、その値を基にサンプリングパケットを判定する乱数(ランダム)サンプリングや、指定されたサンプリングレートにおいて、そのサンプリング間隔で定常的にサンプリングパケットを判定する定常(均等)サンプリング、などの方法を採用する。サンプリング処理終了後、処理C−4へ移動する。
【0105】
処理C−4では、入力されたデータが、該当フローのACK側情報をもつか、SN情報をもつか判定を行う。ここでACK側情報をもつ場合には、処理C−5へ移動する。SN側情報を持つ場合には、処理を終了する。なお、TCP通信の場合には、ひとつのデータ内にACK側情報とSN側情報をもてる構成になっており、あるフローのACK側情報データが、他方のSN側情報データとなっている場合もある。
【0106】
処理C−5では、前回のデータ受信時から観測区間が更新したかどうかを確認する。観測区間が更新された場合には、前回の観測区間の品質結果を算出するために、処理C−6へ移動する。観測区間が更新されていない場合には、今回の観測区間の品質観測を続けるために、処理C−8へ移動する。
【0107】
処理C−6では、前の観測区間のネットワークの品質(スループットとグッドプットとパケットロスとRTT)を確定する。グッドプット計測手法としては、「期間最後のACK番号記憶部132b−前期間最後のACK番号記憶部131b」を計算する。パケットロス計測手法としては、パケットロス回数計算部143cの値を確定する。スループットの具体的な計算方法としては、「グッドプット/(1−パケットロス率)」の計算を行う。ここで、パケットロス率は、グッドプットとパケットロスの比率から算出する。またグッドプットとパケットロスからRTTを計算する。これらの計算により、前観測区間のネットワークの品質を求め終わった後、処理C−7へ移動する。
【0108】
処理C−7では、今まで期間最後のACK番号記憶部132bに記憶されていたACK番号を、前期間最後のACK番号記憶部131bに代入する。また、パケットロス回数計算部143cのカウントを0に戻す。この処理終了後、処理C−8へ移動する。
【0109】
処理C−8では、ACKを受け取る毎に、受け取ったACK番号を期間最後のACK番号記憶部132bに記憶する。この処理終了後、処理C−9へ移動する。
【0110】
処理C−9では、あるACKデータを基準として、今回取得したACKのACK番号に対する時間微分処理を行う。この処理終了後、処理C−10へ移動する。
【0111】
処理C−10では、処理C−9の結果を受けて、パケットロスが存在するかどうかの判定を行う。微分結果、傾きが大きく減少した場合にはパケットがロスしたと判定し、処理C−11へ移動する。傾きが増加した場合には、パケットがロスしなかったと判定し、今回のパケットに対する処理を終了する。そして次のデータ入力を待つ。
【0112】
処理C−11では、観測区間中にパケットロスを検知したと判断し、パケットロス回数計算部143cのカウントを1増加する。この処理により、今回のパケットに対する処理を終了する。そして次のデータ入力を待つ。
【0113】
以上が本発明による第二の実施形態における計測装置1cの処理内容である。
【0114】
従来の技術においては、グッドプットの計測手法として、観測期間中に検知したACKの最大値と最小値の差分をその観測期間中のグッドプットとして計算していた。このため、この計算手法を単純にサンプリング計測に適用すると、サンプリングにより間引かれた観測期間中の最初と最後のデータ量分だけ常に低い値を算出することになる。また、パケットロスの計測手法として、観測期間中に検知した重複ACK数(同一のACK番号が3回以上連続した回数)をカウントして、パケットロスとしていた。このため、この計算手法を単純にサンプリング計測に適用すると、本来ACK番号が3回以上連続していても、サンプリングにより間引かれた結果、ACK番号が連続しない場合が多く発生し、パケットロス回数が本来の値よりも大きく下回る。
【0115】
一方、本実施形態では、グッドプット計測手法として、各観測期間中に最後に検知したACK番号の差分を、その区間のグッドプットとして計算している。サンプリング計測により、ACKデータが間引かれることで、グッドプットの値は本来の値よりも大きくなったり小さくなったりするが、本実施形態のグッドプットの平均値は本来のグッドプット平均値の値と、常にほぼ同じ値を示す。また、パケットロスの計測手法として、サンプリング計測で観測したACK番号の微分計算を行い、その変化を観察することで、パケットロスと計上している。このため、サンプリングにより、すべてのACKを取得することができなくても、パケットロスを計上することが可能となる。また、サンプリング計測時にも、ほぼ正確なグッドプットとパケットロスの値を計測することができることから、スループットとRTTの値の予測値を算出することが可能となる。これら、サンプリング計測手法を使用することで、計測するフローのすべてのパケットをすべて取得できない状況においても、品質を正しく計測することができる。また、フローの品質を計測するのに、すべてのパケットに対して処理を行う必要がなくなるため、計測器に高い演算能力を必要としなくなる。
【0116】
本実施形態は、簡単化のために、TCP通信の品質を計測する装置で説明を行ったが、送信データ中にデータ列の順番が記載されており、データ欠損に対する再送の仕組みが存在するものに共通の技術である。したがってHSTCPやSCTPやDCCPといった再送機構の存在するプロトコル一般を含む。
【0117】
また適用領域としては、非計測ネットワーク及びトラヒックに影響を与えない図1の状態のみではなく、データを取得できる形式であれば、通信端末間の途中に挿入し、非計測ネットワーク及びトラヒックに影響を与える図6のような形態でも可能である。図6でのデータ中継端末とは、レイヤ2でデータ転送を行うイーサスイッチや、レイヤ4でデータ転送を行うルータ、レイヤ4以上での転送を行うゲートウェイ等であり、データをそのまま転送、あるいは、プロトコルを変更して転送する場合や、ロードバランス機能や帯域制御機能を付加した端末のことを指す。
【0118】
またサンプリング処理部分としては、本実施形態のように計測装置1内に存在している場合のみではなくてもよい。具体的には、図6の形態のデータ中継端末内にパケットのサンプリング機能を持たせる場合や、図7の形態のように、サンプリング処理用のサンプリング装置7を通してパケットを計測装置1に入力する場合のことを指す。
【0119】
また本実施形態のサンプリング処理170は、フロー識別処理120の後に行われているが、フロー識別処理120の前にサンプリング処理170を行っても同様の効果を発揮することができる。
【0120】
またパケットロス計算のためのACK番号微分処理部141cや処理フローC−9では、ACK番号に対する微分処理を行うとしたが、その内容は、あるACKデータを基準として、ACKデータを取得する毎にACK番号の差分を時間で微分処理することが考えられる。その微分処理としては、時間に対する一次微分の他、二次微分や三次微分などのn次微分を行うことも含む。
【0121】
またACK番号に対する微分処理は、その基準となるACKデータは、ある一定期間毎に変化させることが考えられる。この一定期間毎とは、観測期間毎や、数分毎、数秒毎、パケット入力毎などとすることが考えられる。
【0122】
この微分処理の具体的な計算手法の一つとしては、ACKパケットが入力される毎に、前の観測期間の最後のACKデータを基準として、ACK番号の差分に対して時間一次微分処理を行うことが考えられる。この処理において、傾きが減少した場合に、パケットロスであると判定する。時間に対して二次微分を行う場合も考えられ、この場合、負の値を検出した場合をパケットロスであると判定する。またこのとき、値が変化した時間と番号をしらべることにより、パケットがロスした時間と、パケットロスの番号の範囲が分かる。
【0123】
図10は本発明による計測装置1dの第三の実施形態の構成を示すブロック図である。
【0124】
第三の実施形態における計測装置1dは、分岐装置4からデータを入力するデータ受信部111と、分岐装置5からデータを入力データ受信部112と、入力されたデータを各フロー毎に識別するフロー識別部120と、入力パケットをサンプリングするサンプリング処理部170と、SN側の情報のみから品質を計測するSN情報判定部2000dと、その中のグッドプット計測部230dと、直前の観測期間の最後のSN番号を記憶する記憶部231dと、観測期間の最後のSN番号を記憶する記憶部232dと、記憶部231dと記憶部232dの記憶内容からグッドプットを計算するグッドプット計算部233dと、パケットロス計測部240dと、SN番号を時間変化に対して微分するSN番号微分処理部241dと、パケットロス回数をカウントするパケットロス回数計算部243dと、グッドプットとパケットロスからスループットを計算するスループット計算部250d、251dと、スループットとグッドプットとパケットロスからRound Trip Time(以後RTT)を推測するRTT計算部160b、161bから構成される。
【0125】
本実施形態では、ネットワーク上を流れているデータを計測装置1dで取り込むことにより、処理が開始される。分岐装置4から入力されたデータは、データ受信部111で、分岐装置5から入力されたデータは、データ受信部112で、受信する。データ受信部111とデータ受信部112でデータを受け取った後、受信部はそのデータをフロー識別部120に渡す。フロー識別部120では、受信したデータを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フローの識別を行う。ネットワーク品質の計測はフロー毎に行う。フロー識別処理の後、入力されたパケットに対してサンプリング部170により、パケットのサンプリング(間引き)処理が行われる。このサンプリング手法は、指定されたサンプリングレートにおいて、そのサンプリングレート内で乱数を発生させ、その値を基にサンプリングパケットを判定する乱数(ランダム)サンプリングや、指定されたサンプリングレートにおいて、そのサンプリング間隔で定常的にサンプリングパケットを判定する定常(均等)サンプリング、などの方法を採用する。サンプリングレートは必要に応じて、グッドプット計測部230dやパケットロス計測部240dやスループット計測部250dやRTT計測部160bに通知する。
【0126】
対象データがSN側情報の場合には、SN情報判定部2000dで、ある一定期間の観測期間毎に「スループット」、「グッドプット」、「パケットロス」、「RTT」の計測処理を行う。
【0127】
グッドプットの計算を行うために、グッドプット計測部230dでは、DATAを受け取る毎にSN番号記憶部232dで最新のSN番号を更新していく。ただし、過去に受け取った最大のSNより、今回のSNの値が小さい場合には更新しない。観測期間が更新された直後には、SN番号記憶部232dの値を更新する前に、「SN番号記憶部232dのACK番号−SN番号記憶部231dのSN番号」をグッドプット計算部233dで計算し、グッドプット計算処理を行い、次の観測期間のグッドプット計算のために、現在の期間最後のSN番号記憶部232dの値を前区間最後のSN番号記憶部231dに代入する。
【0128】
パケットロスの計測を行うために、パケットロス計測部240dでは、DATAパケットが到着する毎に、SN番号微分処理部241dにおいて、SN番号を時間変化に対して微分する。TCPは通常、スループットを上げ続け、パケットロスが発生するとスループットを落とす。このため、パケットロスが発生するまでは、SN番号を時間変化に対して微分すると傾斜が大きくなっていく。そしてパケットロスが発生すると、SN番号を時間変化に対して微分すると傾斜が小さくなる。この傾斜の変化により、パケットロスの検出を行う。パケットロス回数計算部243dでは、この傾斜が小さくなった回数をパケットロス回数として確定する。また、パケットロス回数計算部243dでは、観測期間を更新する毎に、カウントを0に初期化する。
【0129】
スループットの計算を行うために、スループット計測部250dでは、グッドプット計測部230dとパケットロス計測部240dで求めたグッドプットとパケットロスの値をもとに、スループットの算出を行う。この計算の具体的な計算方法としては、「グッドプット+パケットロス量」の計算を行う。
【0130】
第三の実施形態のRTT計測処理130bは、第一の実施形態、第二の実施形態のRTT計測処理と同様である。
【0131】
次に図11を参照して、計測装置1dにおける「スループット」、「グッドプット」、「パケットロス」、「RTT」の品質の計測処理について説明する。
【0132】
図11は、計測装置1dにおける処理フローの概要を示している。
【0133】
計測装置1dは、データが分岐装置4、あるいは分岐装置5から入力され、データ受信部111、データ受信部112に到着することにより処理が開始される。この処理が、処理D−1である。この処理が終了後、処理D−2へ移動する。
【0134】
処理D−2では、同一フローの識別処理である。フロー識別部120において、受信データを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フロー識別処理を行う。以下の処理はフロー毎に行う。フロー識別処理終了後、処理D−3へ移動する。
【0135】
処理D−3では、パケットのサンプリング(間引き)処理である。このサンプリング手法は、指定されたサンプリングレートにおいて、そのサンプリングレート内で乱数を発生させ、その値を基にサンプリングパケットを判定する乱数(ランダム)サンプリングや、指定されたサンプリングレートにおいて、そのサンプリング間隔で定常的にサンプリングパケットを判定する定常(均等)サンプリング、などの方法を採用する。サンプリング処理終了後、処理D−4へ移動する。
【0136】
処理D−4では、入力されたデータが、該当フローのSN側情報をもつか、ACK情報をもつか判定を行う。ここでSN側情報をもつ場合には、処理D−5へ移動する。ACK側情報を持つ場合には、処理を終了する。なお、TCP通信の場合には、ひとつのデータ内にACK側情報とSN側情報をもてる構成になっており、あるフローのACK側情報データが、他方のSN側情報データとなっている場合もある。
【0137】
処理D−5では、前回のデータ受信時から観測区間が更新したかどうかを確認する。観測区間が更新された場合には、前回の観測区間の品質結果を算出するために、処理D−6へ移動する。観測区間が更新されていない場合には、今回の観測区間の品質観測を続けるために、処理D−8へ移動する。
【0138】
処理D−6では、前の観測区間のネットワークの品質(スループットとグッドプットとパケットロスとRTT)を確定する。グッドプット計測手法としては、「期間最後のSN番号記憶部232d−前期間最後のSN番号記憶部231d」を計算する。パケットロス計測手法としては、パケットロス回数計算部243dの値を確定する。スループットの具体的な計算方法としては、「グッドプット+パケットロス量」の計算を行う。またグッドプットとパケットロスからRTTを計算する。これらの計算により、前観測区間のネットワークの品質を求め終わった後、処理D−7へ移動する。
【0139】
処理D−7では、今まで期間最後のSN番号記憶部232dに記憶されていたSN番号を、前期間最後のSN番号記憶部231dに代入する。また、パケットロス回数計算部243dのカウントを0に戻す。この処理終了後、処理D−8へ移動する。
【0140】
処理D−8では、SNを受け取る毎に、受け取ったSN番号を期間最後のSN番号記憶部232dに記憶する。ただし、過去に受け取った最大のSNよりも、今回のSNの値が小さな場合には記憶処理を行わない。この処理終了後、処理D−9へ移動する。
【0141】
処理D−9では、あるDATAデータを基準として、今回取得したDATAのSN番号に対する時間微分処理を行う。この処理終了後、処理D−10へ移動する。
【0142】
処理D−10では、処理D−9の結果を受けて、パケットロスが存在するかどうかの判定を行う。微分結果、傾きが大きく減少した場合にはパケットがロスしたと判定し、処理D−11へ移動する。傾きが増加した場合には、パケットがロスしなかったと判定し、今回のパケットに対する処理を終了する。そして次のデータ入力を待つ。
【0143】
処理D−11では、観測区間中にパケットロスを検知したと判断し、パケットロス回数計算部243dのカウントを1増加する。この処理により、今回のパケットに対する処理を終了する。そして次のデータ入力を待つ。
【0144】
以上が本発明による第三の実施形態における計測装置1dの処理内容である。
【0145】
従来の技術においては、グッドプットの計測手法として、観測期間中に検知したSNの最大値と最小値の差分をその観測期間中のグッドプットとして計算していた。このため、この計算手法を単純にサンプリング計測に適用すると、サンプリングにより間引かれた観測期間中の最初と最後のデータ量分だけ常に低い値を算出することになる。また、パケットロスの計測手法として、観測期間中に過去に受け取った最大SNと今回受け取ったデータのSNを比較して、今回のSNが小さければパケットロスとしていた。このため、この計算手法を単純にサンプリング計測に適用すると、SNが逆転している部分を間引きしてしまうと、パケットロスが検知できず、パケットロス回数が本来の値よりも大きく下回る。
【0146】
一方、本実施形態では、グッドプット計測手法として、各観測期間中に最後に検知したSN番号の差分を、その区間のグッドプットとして計算している。サンプリング計測により、SNデータが間引かれることで、グッドプットの値は本来の値よりも大きくなったり小さくなったりするが、本実施形態のグッドプットの平均値は本来のグッドプット平均値の値と、常にほぼ同じ値を示す。また、パケットロスの計測手法として、サンプリング計測で観測したSN番号の微分計算を行い、その変化を観察することで、パケットロスと計上している。このため、サンプリングにより、すべてのSNを取得することができなくても、パケットロスを計上することが可能となる。また、サンプリング計測時にも、ほぼ正確なグッドプットとパケットロスの値を計測することができることから、スループットとRTTの値の予測値を算出することが可能となる。これら、サンプリング計測手法を使用することで、計測するフローのすべてのパケットをすべて取得できない状況においても、品質を正しく計測することができる。また、フローの品質を計測するのに、すべてのパケットに対して処理を行う必要がなくなるため、計測器に高い演算能力を必要としなくなる。
【0147】
本実施形態は、簡単化のために、TCP通信の品質を計測する装置で説明を行ったが、送信データ中にデータ列の順番が記載されており、データ欠損に対する再送の仕組みが存在するものに共通の技術である。したがってHSTCPやSCTPやDCCPといった再送機構の存在するプロトコル一般を含む。
【0148】
また適用領域としては、非計測ネットワーク及びトラヒックに影響を与えない図1の状態のみではなく、データを取得できる形式であれば、通信端末間の途中に挿入し、非計測ネットワーク及びトラヒックに影響を与える図6のような形態でも可能である。図6でのデータ中継端末とは、レイヤ2でデータ転送を行うイーサスイッチや、レイヤ4でデータ転送を行うルータ、レイヤ4以上での転送を行うゲートウェイ等であり、データをそのまま転送、あるいは、プロトコルを変更して転送する場合や、ロードバランス機能や帯域制御機能を付加した端末のことを指す。
【0149】
またサンプリング処理部分としては、本実施形態のように計測装置1内に存在している場合のみではなくてもよい。具体的には、図6の形態のデータ中継端末内にパケットのサンプリング機能を持たせる場合や、図7の形態のように、サンプリング処理用のサンプリング装置7を通してパケットを計測装置1に入力する場合のことを指す。
【0150】
また本実施形態のサンプリング処理170は、フロー識別処理120の後に行われているが、フロー識別処理120の前にサンプリング処理170を行っても同様の効果を発揮することができる。
【0151】
またパケットロス計算のためのSN番号微分処理部241dや処理フローD−9では、SN番号に対する微分処理を行うとしたが、その内容は、あるSNデータを基準として、SNデータを取得する毎にSN番号の差分を時間で微分処理することが考えられる。その微分処理としては、時間に対する一次微分の他、二次微分や三次微分などのn次微分を行うことも含む。
【0152】
またSN番号に対する微分処理は、その基準となるSNデータは、ある一定期間毎に変化させることが考えられる。この一定期間毎とは、観測期間毎や、数分毎、数秒毎、パケット入力毎などとすることが考えられる。
【0153】
この微分処理の具体的な計算手法の一つとしては、SNパケットが入力される毎に、前の観測期間の最後のSNデータを基準として、SN番号の差分に対して時間一次微分処理を行うことが考えられる。この処理において、傾きが減少した場合に、パケットロスであると判定する。時間に対して二次微分を行う場合も考えられ、この場合、負の値を検出した場合をパケットロスであると判定する。またこのとき、値が変化した時間と番号をしらべることにより、パケットがロスした時間と、パケットロスの番号の範囲が分かる。
【0154】
また、本実施形態ではDATA側情報をもつデータに対してのみ処理を行う例であるが、ACK側情報をもつデータに対して、第一の実施形態や第二の実施形態を用いて、ネットワークの品質を判定することも考えられる。
【0155】
図12は本発明による計測装置1eの第四の実施形態の構成を示すブロック図である。
【0156】
第四の実施形態における計測装置1eは、分岐装置4からデータを入力するデータ受信部111と、分岐装置5からデータを入力するデータ受信部112と、入力されたデータを各フロー毎に識別するフロー識別部120と、ACKデータに対してサンプリング率を推定するACKサンプリング率推定部180と、その中の観測期間中のACK変化量を監視するACK変化量監視部181eとACK数監視部182eとサンプリング率計算部183eと、DATAデータに対してサンプリング率を推定するDATAサンプリング率推定部190と、その中の観測期間中のSN変化量を監視するSN変化量監視部191eとSN数監視部192eとサンプリング率計算部193eと、サンプリングされたACK側情報に対してネットワークの品質を計測するACK情報判定部1000eと、サンプリングされたDATA側情報に対してネットワークの品質を計測するDATA情報判定部2000eとから構成される。
【0157】
本実施形態では、ネットワーク上を流れているデータを計測装置1eで取り込むことにより、処理が開始される。分岐装置4から入力されたデータは、データ受信部111で、分岐装置5から入力されたデータは、データ受信部112で、受信する。データ受信部111とデータ受信部112でデータを受け取った後、受信部はそのデータをフロー識別部120に渡す。フロー識別部120では、受信したデータを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フローの識別を行う。ネットワーク品質の計測はフロー毎に行う。フロー識別処理の後、ACKデータに対しては、ACKサンプリング率推定部180で処理を行い、DATAデータに対してはDATAサンプリング率推定部190で処理を行う。
【0158】
ACKサンプリング率推定部180では、はじめにACK変化量監視部181eにおいて、各観測期間中に変化したACK番号量を記録する。これは、各観測期間中の最後のACK番号の差分をとる場合や、観測期間中の最初と最後のACK番号の差分をとる場合が考えられる。次にACK数監視部182eにおいて、各観測期間中に受け取ったACK数を監視する。この値は観測期間毎に数える。サンプリング率計算部183eでは、ACK変化量監視部181eやACK数監視部182eの値を使ってサンプリング率の推定を行う。サンプリング率推定処理後、ACK情報判定部1000eにおいてネットワークの品質を計測する処理を行う。この計測処理の具体的な処理は、第一の実施形態や第二の実施形態やその他の手法を採用することが可能である。
【0159】
DATAサンプリング率推定部190では、はじめにSN変化量監視部191eにおいて、各観測期間中に変化したSN番号量を記録する。これは、各観測期間中の最後のSN番号の差分をとる場合や、観測期間中の最初と最後のSN番号の差分をとる場合が考えられる。次にDATA数監視部192eにおいて、各観測期間中に受け取ったSN数を監視する。この値は観測期間毎に数える。サンプリング率計算部193eでは、SN変化量監視部191eやDATA数監視部192eの値を使ってサンプリング率の推定を行う。サンプリング率推定処理後、DATA情報判定部2000eにおいてネットワークの品質を計測する処理を行う。この計測処理の具体的な処理は、第三の実施形態やその他の手法を採用することが可能である。
【0160】
次に図13を参照して、計測装置1eにおける「スループット」、「グッドプット」、「パケットロス」、「RTT」の品質の計測処理について説明する。
【0161】
図13は、計測装置1eにおける処理フローの概要を示している。
【0162】
次に図13を参照して、計測装置1dにおける「スループット」、「グッドプット」、「パケットロス」、「RTT」の品質の計測処理について説明する。
【0163】
図13は、計測装置1eにおける処理フローの概要を示している。
【0164】
計測装置1eは、データが分岐装置4、あるいは分岐装置5から入力され、データ受信部111、データ受信部112に到着することにより処理が開始される。この処理が、処理E−1である。この処理が終了後、処理E−2へ移動する。
【0165】
処理E−2では、同一フローの識別処理である。フロー識別部120において、受信データを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フロー識別処理を行う。以下の処理はフロー毎に行う。フロー識別処理終了後、処理E−3へ移動する。
【0166】
処理E−3では、入力されたデータが、該当フローのSN側情報をもつか、ACK情報をもつか判定を行う。ここでSN側情報をもつ場合には、処理E−7へ移動する。ACK側情報を持つ場合には、処理E−4へ移動する。なお、TCP通信の場合には、ひとつのデータ内にACK側情報とSN側情報をもてる構成になっており、あるフローのACK側情報データが、他方のSN側情報データとなっている場合もある。
【0167】
処理E−4では、ACK変化量監視部181eにおいて、観測期間中のACK番号の変化量を調べる。この値は観測期間毎に更新する。この処理終了後、処理E−5へ移動する。
【0168】
処理E−5では、ACK数監視部182eにおいて、観測期間中に受け取ったACKデータの数を確認する。この値は観測期間毎に更新する。この処理終了後、処理E−6へ移動する。
【0169】
処理E−6では、サンプリング率計算部183eにおいて、観測期間を更新する毎に、ACK変化量監視部181eの値と、ACK数監視部182eの値から、ACK側のサンプリング率の計算を行う。この処理終了後、処理E−10へ移動する。
【0170】
処理E−7では、SN変化量監視部191eにおいて、観測期間中のSN番号の変化量を調べる。この値は観測期間毎に更新する。この処理終了後、処理E−8へ移動する。
【0171】
処理E−8では、DATA数監視部192eにおいて、観測期間中に受け取ったDATAデータの数を確認する。この値は観測期間毎に更新する。この処理終了後、処理E−9へ移動する。
【0172】
処理E−9では、サンプリング率計算部193eにおいて、観測期間を更新する毎に、SN変化量監視部181eの値と、DATA数監視部182eの値から、DATA側のサンプリング率の計算を行う。この処理終了後、処理E−11へ移動する。
【0173】
処理E−10では、ACK側情報からネットワークの品質を計測するACK情報判定処理を行う。この判定の具体的な処理は、第一の実施形態や第二の実施形態やその他の手法を採用することが可能である。この処理終了後、このパケットに対する処理を終了し、次のパケット入力をまつ。
【0174】
処理E−11では、DATA側情報からネットワークの品質を計測するDATA情報判定処理を行う。この判定の具体的な処理は、第三の実施形態やその他の手法を採用することが可能である。この処理終了後、このパケットに対する処理を終了し、次のパケット入力をまつ。
【0175】
以上が本発明による第四の実施形態における計測装置1eの処理内容である。
【0176】
従来の技術においては、データ受信部111やデータ受信部112ですべてのパケットを取得できなければ、ネットワークの品質を計測できないという問題があった。
【0177】
一方、本実施形態では、データ受信部111やデータ受信部112や外部のサンプリング装置6ですべてのパケットを取得できないような場合においても、ACKサンプリング率推定処理やDATAサンプリング率推定処理において、サンプリング率を推定することができるために、サンプリング計測手法により、ネットワークの品質を計測することが可能となる。
【0178】
本実施形態は、簡単化のために、TCP通信の品質を計測する装置で説明を行ったが、送信データ中にデータ列の順番が記載されており、データ欠損に対する再送の仕組みが存在するものに共通の技術である。したがってHSTCPやSCTPやDCCPといった再送機構の存在するプロトコル一般を含む。
【0179】
また適用領域としては、非計測ネットワーク及びトラヒックに影響を与えない図1の状態のみではなく、データを取得できる形式であれば、通信端末間の途中に挿入し、非計測ネットワーク及びトラヒックに影響を与える図6のような形態でも可能である。図6でのデータ中継端末とは、レイヤ2でデータ転送を行うイーサスイッチや、レイヤ4でデータ転送を行うルータ、レイヤ4以上での転送を行うゲートウェイ等であり、データをそのまま転送、あるいは、プロトコルを変更して転送する場合や、ロードバランス機能や帯域制御機能を付加した端末のことを指す。
【0180】
またACK側でのサンプリング率推定方法として、ACK変化量監視部181eの数値から考えられる、本来いくつのACKが発生したかを予測した値と、実際に検知したACK数監視部182eの値、を比較することにより、サンプリング率を推定する方法が考えられる。
【0181】
このACK側でのサンプリング率推定方法の具体的な計算方法としては、「サンプリング率=定数×(ACK数監視部182eの値)/(ACK変化量監視部181e+過去の観測期間中の平均パケットロス回数×一度のパケットロスで発生するACK重複数予測)」などが考えられる。
【0182】
またDATA側でのサンプリング率推定方法として、SN変化量監視部191eの数値から考えられる、本来いくつのDATAが発生したかを予測した値と、実際に検知したDATA数監視部192eの値、を比較することにより、サンプリング率を推定する方法が考えられる。
【0183】
このDATA側でのサンプリング率推定方法の具体的な計算方法としては、「サンプリング率=定数×(DATA数監視部192eの値)/(SN変化量監視部191e+過去の観測期間中の平均パケットロス回数×定数)」などが考えられる。
【0184】
図14は本発明による計測装置1fの第五の実施形態の構成を示すブロック図である。
【0185】
第五の実施形態における計測装置1fは、分岐装置4からデータを入力するデータ受信部111と、分岐装置5からデータを入力するデータ受信部112と、入力されたデータを各フロー毎に識別するフロー識別部120と、入力パケットをサンプリングするサンプリング処理部170と、サンプリングされたACK側情報に対してネットワークの品質を計測するACK情報判定部1000eと、サンプリングされたDATA側情報に対してネットワークの品質を計測するDATA情報判定部2000eと、各フロー毎に品質を判定する品質判定部200と、サンプリング率を決定するサンプリング率決定部210から構成される。
【0186】
本実施形態では、ネットワーク上を流れているデータを計測装置1fで取り込むことにより、処理が開始される。分岐装置4から入力されたデータは、データ受信部111で、分岐装置5から入力されたデータは、データ受信部112で、受信する。データ受信部111とデータ受信部112でデータを受け取った後、受信部はそのデータをフロー識別部120に渡す。フロー識別部120では、受信したデータを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フローの識別を行う。ネットワーク品質の計測はフロー毎に行う。フロー識別処理の後、入力されたパケットに対してサンプリング部170により、パケットのサンプリング(間引き)処理が行われる。このサンプリング手法は、サンプリング率決定部210により指定されたサンプリングレートにおいて、そのサンプリングレート内で乱数を発生させ、その値を基にサンプリングパケットを判定する乱数(ランダム)サンプリングや、サンプリング率決定部210により指定されたサンプリングレートにおいて、そのサンプリング間隔で定常的にサンプリングパケットを判定する定常(均等)サンプリング、などの方法を採用する。サンプリングレートは必要に応じて、ACK情報判定部1000eやDATA情報判定部2000eに対して通知する。
【0187】
ACKデータに対しては、ACK情報判定部1000eにおいてネットワークの品質を計測する処理を行う。この計測処理の具体的な処理は、第一の実施形態や第二の実施形態やその他の手法を採用することが可能である。
【0188】
DATAデータに対しては、DATA情報判定部2000eにおいてネットワークの品質を計測する処理を行う。この計測処理の具体的な処理は、第三の実施形態やその他の手法を採用することが可能である。
【0189】
ACK情報判定部1000eやDATA情報判定部2000eでネットワークの品質計測後、品質判定部200において、品質判定処理を行う。ここで品質判定は、スループットやグッドプットやパケットロスやRTTの値そのものや、それらを組み合わせて計算できる値を対象として、過去の履歴や基準となる特定の値と比較して、品質が悪くなったか、良くなったかの判定処理を行う。この判断結果は、サンプリング率決定部210に通知される。
【0190】
サンプリング率決定部210では、品質判定部200の判定結果と、計測装置1fにかかっているCPU使用率やHDDアクセス回数やメモリ使用量や使用電力量などの処理負荷とから、サンプリング率を決定する。
【0191】
次に図15を参照して、計測装置1fにおける「スループット」、「グッドプット」、「パケットロス」、「RTT」の品質の計測処理について説明する。
【0192】
図15は、計測装置1fにおける処理フローの概要を示している。
【0193】
計測装置1fは、データが分岐装置4、あるいは分岐装置5から入力され、データ受信部111、データ受信部112に到着することにより処理が開始される。この処理が、処理F−1である。この処理が終了後、処理F−2へ移動する。
【0194】
処理F−2では、同一フローの識別処理である。フロー識別部120において、受信データを送受信IPアドレスや送受信TCPポート番号、プロトコル番号などを元に、フロー識別処理を行う。以下の処理はフロー毎に行う。フロー識別処理終了後、処理F−3へ移動する。
【0195】
処理F−3では、パケットのサンプリング(間引き)処理である。このサンプリング手法は、サンプリング率決定処理210において指定されたサンプリングレートにおいて、そのサンプリングレート内で乱数を発生させ、その値を基にサンプリングパケットを判定する乱数(ランダム)サンプリングや、サンプリング率決定処理210において指定されたサンプリングレートにおいて、そのサンプリング間隔で定常的にサンプリングパケットを判定する定常(均等)サンプリング、などの方法を採用する。サンプリング処理終了後、処理F−4へ移動する。
【0196】
処理F−4では、入力されたデータが、該当フローのSN側情報をもつか、ACK情報をもつか判定を行う。ここでSN側情報をもつ場合には、処理F−6へ移動する。ACK側情報を持つ場合には、処理F−5へ移動する。なお、TCP通信の場合には、ひとつのデータ内にACK側情報とSN側情報をもてる構成になっており、あるフローのACK側情報データが、他方のSN側情報データとなっている場合もある。
【0197】
処理F−5では、ACK側情報からネットワークの品質を計測するACK情報判定処理を行う。この判定の具体的な処理は、第一の実施形態や第二の実施形態やその他の手法を採用することが可能である。この処理終了後、処理F−7へ移動する。
【0198】
処理F−6では、DATA側情報からネットワークの品質を計測するDATA情報判定処理を行う。この判定の具体的な処理は、第三の実施形態やその他の手法を採用することが可能である。この処理終了後、処理F−7へ移動する。
【0199】
処理F−7では、観測期間を更新する毎に、ネットワークの品質判定処理を行う。ここで品質判定は、スループットやグッドプットやパケットロスやRTTの値そのものや、それらを組み合わせて計算できる値を対象として、過去の履歴や基準となる特定の値と比較して、品質が悪くなったか、良くなったかの判定処理を行う。この処理を終了後、処理F−8へ移動する。
【0200】
処理F−8では、処理F−7の判定結果の参照結果と、計測装置1fの処理負荷から、サンプリングレートを上げるべきかどうかを決定する。上げるべきであると判断した場合には、処理F−9へ移動する。上げるべきではないと判断した場合には、処理F−10へ移動する。
【0201】
処理F−9では、どの程度サンプリング率を変化させるかを決定し、サンプリング率を再設定する。この処理終了後、処理F−10へ移動する。
【0202】
処理F−10では、処理F−7の判定結果の参照結果と、計測装置1fの処理負荷から、サンプリングレートを下げるべきかどうかを決定する。下げるべきであると判断した場合には、処理F−11へ移動する。下げるべきではないと判断した場合には、処理を終了し、次の判定機会を待つ。
【0203】
処理F−11では、どの程度サンプリング率を変化させるかを決定し、サンプリング率を再設定する。この処理終了後、次の判定機会を待つ。
【0204】
以上が本発明による第五の実施形態における計測装置1f処理内容である。
【0205】
従来の技術においては、品質が十分高く重点的に監視する必要のないフローと、品質が低く重点的に監視する必要のあるフローと、が存在する場合でも、すべてのパケットを取得しなければネットワークの品質を計測することができないために、おなじだけの処理負荷が必要となっていた。
【0206】
一方、本実施形態では、品質が十分高く重点的に監視する必要のないフローに対してはサンプリング率を低くして、品質が低く重点的に監視する必要のあるフローに対してはサンプリング率を高くして、フロー毎にサンプリング率を変化させることが可能となる。これにより監視に必要とされる精度を保ちつつ、計測装置1fでの負荷を低減することが可能となる。
【0207】
本実施形態は、簡単化のために、TCP通信の品質を計測する装置で説明を行ったが、送信データ中にデータ列の順番が記載されており、データ欠損に対する再送の仕組みが存在するものに共通の技術である。したがってHSTCPやSCTPやDCCPといった再送機構の存在するプロトコル一般を含む。
【0208】
また適用領域としては、非計測ネットワーク及びトラヒックに影響を与えない図1の状態のみではなく、データを取得できる形式であれば、通信端末間の途中に挿入し、非計測ネットワーク及びトラヒックに影響を与える図6のような形態でも可能である。図6でのデータ中継端末とは、レイヤ2でデータ転送を行うイーサスイッチや、レイヤ4でデータ転送を行うルータ、レイヤ4以上での転送を行うゲートウェイ等であり、データをそのまま転送、あるいは、プロトコルを変更して転送する場合や、ロードバランス機能や帯域制御機能を付加した端末のことを指す。
【0209】
またサンプリング処理部分としては、本実施形態のように計測装置1内に存在している場合のみではなくてもよい。具体的には、図6の形態のデータ中継端末内にパケットのサンプリング機能を持たせる場合や、図7の形態のように、サンプリング処理用のサンプリング装置7を通してパケットを計測装置1に入力する場合のことを指す。
【0210】
また本実施形態のサンプリング処理170は、フロー識別処理120の後に行われているが、フロー識別処理120の前にサンプリング処理170を行っても同様の効果を発揮することができる。
【0211】
ここでの品質判定部での判定処理の一つの基準としては、スループットが過去の値よりも一定割合以上低下した場合や、グッドプットが過去の値よりも一定割合以上低下した場合や、パケットロスが過去の値よりも一定割合以上上昇した場合や、RTTが過去の値よりも一定割合以上上昇した場合が考えられる。
【0212】
ここでの品質判定部での判定処理の別の基準としては、スループットが一定値以下になった場合や、グッドプットが一定値以下になった場合や、パケットロスが一定値以上になった場合や、RTTが一定値以上になった場合が考えられる。
【0213】
ここでのサンプリング率決定処理としては、サンプリング率を1/Nとすると、品質が良い場合にはNの値を増加させ、品質が悪い場合にはNの値を減少させる方法が考えられる。また、計測装置の処理負荷が重い場合には、Nの値を増加させ、計測装置の処理負荷が軽い場合には、Nの値を減少させる方法が考えられる。
【0214】
なお、図4、図8、図10、図12、図14に示す各部は、ハードウェアによって実現することもできるが、コンピュータをこれらの部分として機能させるためのプログラムをコンピュータが読み込んで実行することによっても実現することができる。
【0215】
また、図5、図9、図11、図13、図15に示す各処理は、ハードウェアによって実現することもできるが、コンピュータにこれらの処理を行わせるためのプログラムをコンピュータが読み込んで実行することによっても実現することができる。
【0216】
本実施形態の第一の効果は、ACK側パケットをすべて取得できない状況でも、計測装置で精度良く「パケットロス」を推定することが可能である。
【0217】
この理由は、統計学的な手法を用いて、現在のサンプリングレートとACK重複数の確率分布が分かれば、検知できた一部の重複ACKから本来(全数サンプリングした場合)の重複ACK数を推測することができるからである。この重複ACK数はパケットロスと非常に密接な関係がある。
【0218】
もう一つの理由は、TCPのデータ転送はパケットロスが発生するまではデータ転送速度を上げ、パケットロスが発生するとデータ転送速度を下げる性質があるため、ACK番号に対する微分処理を行い、その変化を確認することで、すべてのACK側パケットを取得できない場合でもパケットロスの発生の有無を推測することができるからである。
【0219】
本実施形態の第一のもう一つの効果は、事前に確率分布モデルのパラメタが分からない状況でも、計測装置で精度良く「パケットロス」を推定することが可能である。
【0220】
この理由は,パケットロスの推定を行うときに、任意のパラメタを用いて確率分布モデルを作成しても、推定計算を反復することによって、パケットロスの推定精度を向上させることができるからである。
【0221】
本実施形態の第二の効果は、DATA側パケットをすべて取得できない状況でも、計測装置で精度良く「パケットロス」を推定することが可能である。
【0222】
この理由は、TCPのデータ転送はパケットロスが発生するまではデータ転送速度を上げ、パケットロスが発生するとデータ転送速度を下げる性質があるため、SN番号に対する微分処理を行い、その変化を確認することで、すべてのSN側パケットを取得できない場合でもパケットロスの発生の有無を推測することができるからである。
【0223】
本実施形態の第三の効果は、ACK側パケットをすべて取得できない状況でも、計測装置で精度良く「グッドプット」を推定することが可能である。
【0224】
この理由は、各観測期間の最後のACK番号の差分をとって、その観測期間のグッドプットとしているため、サンプリングにより取得しないACKデータが存在しても、そのデータはどこかの観測期間内の通信量として計上される。これにより、平均的なグッドプットは常に真(全数サンプリングした場合)のグッドプットに非常に近い値となるからである。
【0225】
本実施形態の第四の効果は、SN側パケットをすべて取得できない状況でも、計測装置で精度良く「グッドプット」を推定することが可能である。
【0226】
この理由は、各観測期間の最後のSN番号の差分をとって、その観測期間のグッドプットとしているため、サンプリングにより取得しないSNデータが存在しても、そのデータが再送でない(過去の最大SNよりも大きい)場合には、どこかの観測期間内の通信量として計上される。これにより、平均的なグッドプットは常に真(全数サンプリングした場合)のグッドプットに非常に近い値となるからである。
【0227】
本実施形態の第五の効果は、パケットをすべて取得できない状況でも、計測装置で精度良く「スループット」を推定することが可能である。
【0228】
この理由は、ACK側パケットやSN側パケットをすべて取得することができない状況でも、グッドプットとパケットロスを精度良く推定することができるため、グッドプットとパケットロスから計算で求めることができるスループットも、精度良く計算することができるからである。
【0229】
本実施形態の第六の効果は、パケットをすべて取得できない状況でも、計測装置で精度良く「RTT」を推定することが可能である。
【0230】
この理由は、ACK側パケットやSN側パケットをすべて取得することができない状況でも、グッドプットとパケットロスを精度良く推定することができるため、グッドプットとパケットロスから計算で求めることができるRTTも、精度良く計算することができるからである。
【0231】
本実施形態の第七の効果は、パケットをすべて取得できない状況でも、ネットワークの品質を正しく計測することが可能である。
【0232】
この理由は、サンプリング計測手法によりネットワークの品質を計測できるからである。
【0233】
本実施形態の第八の効果は、計測器に高い演算能力を必要としなくなる。
【0234】
この理由は、サンプリング計測技術を利用することで、ネットワーク回線上を流れるすべてのパケットに対して品質計測計算を行う必要が無くなるからである。
【0235】
また別の理由は、サンプリング率を推定する技術を用いることで、計測装置内やその関連機器でサンプリング処理を行う必要がなくなるからである。
【0236】
また別の理由は、フローの品質によりフロー毎のサンプリング率を決定することにより、監視で必要となる最適な精度のサンプリング率を設定することができ、取得するパケット数を常に最小限とすることができるからである。
【産業上の利用可能性】
【0237】
本発明は、ネットワークの通信品質を計測するために利用することができる。
【符号の説明】
【0238】
111 データ受信部
112 データ受信部
120 フロー識別部
170 サンプリング部
180 ACKサンプリング率推定部
190 DATAサンプリング率推定部
200 品質判定部
210 サンプリング率決定部
1000b ACK情報判定部
1000c ACK情報判定部
1000e ACK情報判定部
2000d DATA情報判定部
2000e DATA情報判定部

【特許請求の範囲】
【請求項1】
パケットを受信したことを通知する複数の受信確認信号に基づきネットワークの品質を計測するネットワーク品質計測方法において、
前記複数の受信確認信号のうち、間引き処理であるサンプリングにより得られた一部の受信確認信号を取得するステップと、
前記取得した一部の受信確認信号に基づき、前記パケットの損失の発生を検出するステップと、
を有するネットワーク品質計測方法。
【請求項2】
前記取得した一部の受信確認信号に重複する受信確認信号が含まれ、前記受信確認信号の重複が生じた回数が予め定められた回数以上である場合に、前記重複が生じた回数を計測するステップと、
前記計測した回数に基づき、前記パケットの損失に関する情報を算出するステップと、
を有することを特徴とする請求項1に記載のネットワーク品質計測方法。
【請求項3】
前記取得した一部の受信確認信号において前記受信確認信号の重複が生じた回数から、所定の確率分布モデルを用いて、全ての受信確認信号において受信確認信号の重複が生じる回数を推定するステップと、
前記推定した回数に基づき、前記パケットの損失に関する情報を算出するステップと、
を有することを特徴とする請求項2に記載のネットワーク品質計測方法。
【請求項4】
前記計測した回数に基づき、前記パケットの損失に関する情報を算出するステップを所定の回数反復することを特徴とする請求項2又は3に記載のネットワーク品質計測方法。
【請求項5】
前記パケットの損失に関する情報が、前記パケットの損失回数、又は前記パケットの損失率のいずれか1つであることを特徴とする請求項2乃至4のいずれか1項に記載のネットワーク品質計測方法。
【請求項6】
前記取得した一部の受信確認信号に含まれる重複した受信確認信号の個数が、予め定められた個数以上である場合に、前記重複した受信確認信号の個数を計測するステップと、
前記計測した個数に基づき、前記パケットの通信品質に関する情報を算出するステップと、
を有することを特徴とする請求項1に記載のネットワーク品質計測方法。
【請求項7】
前記取得した一部の受信確認信号に含まれる重複した受信確認信号の個数から、所定の確率分布モデルを用いて、全ての受信確認信号において重複した受信確認信号の個数を推定するステップと、
前記推定した個数に基づき、前記パケットの損失に関する情報を算出するステップと、
を有することを特徴とする請求項6に記載のネットワーク品質計測方法。
【請求項8】
前記確率分布モデルが、少なくとも正規分布、標準正規分布、カイ2乗分布、F分布、t分布、ベータ分布、指数分布、ガンマ分布、二項分布、超幾何分布、対数正規分布、ポアソン分布、負の二項分布、ワイブル分布、または一様分布のいずれかを用いることを特徴とする請求項3又は7に記載のネットワーク品質計測方法。
【請求項9】
前記受信確認信号の個数を計測するステップと、
前記受信確認信号の各々に割振られた番号の変化数を計測するステップと、
前記受信確認信号の個数と前記番号の変化数とに基づいて、前記サンプリング処理におけるサンプリング率を算出するステップと、
前記複数の受信確認信号のうち、前記算出したサンプリング率によるサンプリングによって得られた一部の受信確認信号を取得するステップと、
を有することを特徴とする請求項1乃至8のいずれか1項に記載のネットワーク品質計測方法。
【請求項10】
前記受信確認信号の個数、前記番号の変化数、及び過去のパケットの損失に関する情報に基づいて、前記サンプリング処理におけるサンプリング率を算出するステップを有することを特徴とする請求項9に記載のネットワーク品質計測方法。
【請求項11】
パケットを受信したことを通知する複数の受信確認信号に基づきネットワークの品質を計測するネットワーク品質計測装置において、
前記複数の受信確認信号のうち、間引き処理であるサンプリングにより得られた一部の受信確認信号を取得する手段と、
前記取得した一部の受信確認信号に基づき、前記パケットの損失の発生を検出する手段と、
を有するネットワーク品質計測装置。
【請求項12】
前記取得した一部の受信確認信号に重複する受信確認信号が含まれ、前記受信確認信号の重複が生じた回数が予め定められた回数以上である場合に、前記重複が生じた回数を計測する手段と、
前記計測した回数に基づき、前記パケットの損失に関する情報を算出する手段と、
を有することを特徴とする請求項11に記載のネットワーク品質計測装置。
【請求項13】
前記取得した一部の受信確認信号において前記受信確認信号の重複が生じた回数から、所定の確率分布モデルを用いて、全ての受信確認信号において受信確認信号の重複が生じる回数を推定する手段と、
前記推定した回数に基づき、前記パケットの損失に関する情報を算出する手段と、
を有することを特徴とする請求項12に記載のネットワーク品質計測装置。
【請求項14】
前記計測した回数に基づき、前記パケットの損失に関する情報を算出する手段の動作を所定の回数反復させる手段を更に備えることを特徴とする請求項12又は13に記載のネットワーク品質計測装置。
【請求項15】
前記パケットの損失に関する情報が、前記パケットの損失回数、又は前記パケットの損失率のいずれか1つであることを特徴とする請求項12乃至14のいずれか1項に記載のネットワーク品質計測装置。
【請求項16】
前記取得した一部の受信確認信号に含まれる重複した受信確認信号の個数が、予め定められた個数以上である場合に、前記重複した受信確認信号の個数を計測する手段と、
前記計測した個数に基づき、前記パケットの通信品質に関する情報を算出する手段と、
を有することを特徴とする請求項11に記載のネットワーク品質計測装置。
【請求項17】
前記取得した一部の受信確認信号に含まれる重複した受信確認信号の個数から、所定の確率分布モデルを用いて、全ての受信確認信号において重複した受信確認信号の個数を推定する手段と、
前記推定した個数に基づき、前記パケットの損失に関する情報を算出する手段と、
を有することを特徴とする請求項16に記載のネットワーク品質計測装置。
【請求項18】
前記確率分布モデルが、少なくとも正規分布、標準正規分布、カイ2乗分布、F分布、t分布、ベータ分布、指数分布、ガンマ分布、二項分布、超幾何分布、対数正規分布、ポアソン分布、負の二項分布、ワイブル分布、または一様分布のいずれかを用いることを特徴とする請求項13又は17に記載のネットワーク品質計測装置。
【請求項19】
前記受信確認信号の個数を計測する手段と、
前記受信確認信号の各々に割振られた番号の変化数を計測する手段と、
前記受信確認信号の個数と前記番号の変化数とに基づいて、前記サンプリング処理におけるサンプリング率を算出する手段と、
前記複数の受信確認信号のうち、前記算出したサンプリング率によるサンプリングによって得られた一部の受信確認信号を取得する手段と、
を有することを特徴とする請求項11乃至18のいずれか1項に記載のネットワーク品質計測装置。
【請求項20】
前記受信確認信号の個数、前記番号の変化数、及び過去のパケットの損失に関する情報に基づいて、前記サンプリング処理におけるサンプリング率を算出する手段を有することを特徴とする請求項19に記載のネットワーク品質計測装置。
【請求項21】
パケットを受信したことを通知する複数の受信確認信号に基づきネットワークの品質を計測するネットワーク品質計測装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
前記複数の受信確認信号のうち、間引き処理であるサンプリングにより得られた一部の受信確認信号を取得する手段と、
前記取得した一部の受信確認信号に基づき、前記パケットの損失の発生を検出する手段と、
として機能させるためのプログラム。
【請求項22】
前記コンピュータを、更に、
前記取得した一部の受信確認信号に重複する受信確認信号が含まれ、前記受信確認信号の重複が生じた回数が予め定められた回数以上である場合に、前記重複が生じた回数を計測する手段と、
前記計測した回数に基づき、前記パケットの損失に関する情報を算出する手段と、
として機能させるための請求項21に記載のプログラム。
【請求項23】
前記コンピュータを、更に、
前記取得した一部の受信確認信号において前記受信確認信号の重複が生じた回数から、所定の確率分布モデルを用いて、全ての受信確認信号において受信確認信号の重複が生じる回数を推定する手段と、
前記推定した回数に基づき、前記パケットの損失に関する情報を算出する手段と、
として機能させるための請求項22に記載のプログラム。
【請求項24】
前記コンピュータを、更に、
前記計測した回数に基づき、前記パケットの損失に関する情報を算出する手段の動作を所定の回数反復させる手段として機能させるための請求項22又は23に記載のプログラム。
【請求項25】
前記パケットの損失に関する情報が、前記パケットの損失回数、又は前記パケットの損失率のいずれか1つであることを特徴とする請求項22乃至24のいずれか1項に記載のプログラム。
【請求項26】
前記コンピュータを、更に、
前記取得した一部の受信確認信号に含まれる重複した受信確認信号の個数が、予め定められた個数以上である場合に、前記重複した受信確認信号の個数を計測する手段と、
前記計測した個数に基づき、前記パケットの通信品質に関する情報を算出する手段と、
として機能させるための請求項21に記載のプログラム。
【請求項27】
前記コンピュータを、更に、
前記取得した一部の受信確認信号に含まれる重複した受信確認信号の個数から、所定の確率分布モデルを用いて、全ての受信確認信号において重複した受信確認信号の個数を推定する手段と、
前記推定した個数に基づき、前記パケットの損失に関する情報を算出する手段と、
として機能させるための請求項26に記載のプログラム。
【請求項28】
前記確率分布モデルが、少なくとも正規分布、標準正規分布、カイ2乗分布、F分布、t分布、ベータ分布、指数分布、ガンマ分布、二項分布、超幾何分布、対数正規分布、ポアソン分布、負の二項分布、ワイブル分布、または一様分布のいずれかを用いることを特徴とする請求項23又は27に記載のプログラム。
【請求項29】
前記コンピュータを、更に、
前記受信確認信号の個数を計測する手段と、
前記受信確認信号の各々に割振られた番号の変化数を計測する手段と、
前記受信確認信号の個数と前記番号の変化数とに基づいて、前記サンプリング処理におけるサンプリング率を算出する手段と、
前記複数の受信確認信号のうち、前記算出したサンプリング率によるサンプリングによって得られた一部の受信確認信号を取得する手段と、
として機能させるための請求項21乃至28のいずれか1項に記載のプログラム。
【請求項30】
前記コンピュータを、更に、
前記受信確認信号の個数、前記番号の変化数、及び過去のパケットの損失に関する情報に基づいて、前記サンプリング処理におけるサンプリング率を算出する手段として機能させるための請求項29に記載のプログラム。

【図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


【公開番号】特開2011−172270(P2011−172270A)
【公開日】平成23年9月1日(2011.9.1)
【国際特許分類】
【出願番号】特願2011−102893(P2011−102893)
【出願日】平成23年5月2日(2011.5.2)
【分割の表示】特願2006−543058(P2006−543058)の分割
【原出願日】平成17年10月20日(2005.10.20)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】