説明

通信品質データのモニタリング測定装置と方法およびプログラム

【課題】ネットワークに負荷をかけることなく、ネットワーク内の遅延の全体像を効率的に計測する。
【解決手段】RTT解析用装置31はパケット処理部31aにおいて、測定点でのSYNパケットの受信時刻T_synを取得してSYNパケットデータベース31bに格納し、同測定点でのSYNパケットに対応するSYN+ACKパケットの受信時刻T_synackを取得してSYNACKパケットデータベース31cに格納し、同測定点でのSYN+ACKパケットに対応するACKパケットの受信時刻T_ackを取得し、受信時刻T_synack−受信時刻T_synによりSYN+ACKパケットの発信元との遅延応答時間を算出し、受信時刻T_ack−受信時刻T_synackにより、SYNパケットおよびACKパケットの発信元との遅延応答時間を算出して、RTT照合結果記録データベース31dに格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、IP(Internet Protocol)通信などのパケット通信ネットワークにおける通信品質測定技術に係り、特に、通信パケットのキャプチャによる品質測定の効率化を図るのに好適な技術に関するものである。
【背景技術】
【0002】
現在では、IP電話による通信など、ネットワーク内全体で転送遅延が一定以下であることを求める品質基準(総務省電気通信事業者設備規則)などが登場してきている。これにより、簡易的にでも「ネットワーク内の遅延の全体像」を計測することが必要となっている。
【0003】
ネットワーク上のパケット測定技術には、大きく分けて、自ら測定用パケットを送受信するアクティブ測定と、既存の通信を、ミラーポート等を経由してモニタ(キャプチャ)するパッシブ測定(モニタリング測定)の2種類がある。
【0004】
また、パケット通信の品質指標は基本的な指標としては、「損失率」、「遅延」、「遅延ゆらぎ」の3点がある。
【0005】
「遅延」の測定では一般にアクティブ測定技術が用いられる。例えば、意図したパケットの流れを生成して、そのパケット列の送信点で送り出した時刻と、受信側の時刻とを、両端で監視することにより、両者を照合して2点キャプチャ型の一方向遅延を測定する技術、あるいは、受信側で即時応答して送信側に戻ってきたパケットの時間と比較することによる応答時間(RTT:Round Trip Time)を測定する技術(ping応答によるRTT測定技術等)がある。
【0006】
これらの技術のいずれにおいても、所定のノード間の遅延を測定するためには、測定目的通りのフローを生成させる必要があり、そのために、アクティブに意図通りのフローを生成する必要があるため、アクティブ測定技術が用いられる。
【0007】
また、アクティブ測定技術においては、pingなどの特殊なアプリケーションでなく、インターネット等のIP通信において、通常利用される非特許文献1に記載のTCP(Transmission Control Protocol)通信[RFC793]の「SYN/ACK応答」を利用して、遅延応答時間を推定する技術も、例えば、非特許文献2等において開示されている。
【0008】
TCPにてhost_Aからhost_Bに通信を行う場合、まず、TCPセッション開始時にhost_AからSYNパケットを送り、次に、host_BはSYNを受け取るとSYN+ACKパケットを返し、さらに、host_AがSYN+ACKに対しACKパケットを返すことにより成立する。
【0009】
多くの場合、これらのSYN+ACK、ACK応答は基本的に即時に返るものであり、その応答に要する時間は即ちhost_Aとhost_B間でパケットが往復する時間であるとして、ネットワークの遅延を推定することができる。
【0010】
尚、既存の実装の例としては、例えば、非特許文献3に記載のように、hpingというツール等を用いる。
【0011】
このようなアクティブ測定技術に対して、パッシブ測定(モニタリング測定)は、コアルータ等で測定すれば通信網を大規模にモニタすることができるが、シーケンス番号を追い掛けることによる損失率のモニタリングや、通信網全体のフローサイズの分布等を測定するといった用途が主であり、ネットワークの遅延測定には不向きである。尚、このようなパッシブ測定(モニタリング測定)に用いるツールとしてxflow等がある。
【0012】
しかし、既存の通信でping通信(ICMP echo requestパケットの送信、ICMP echo replyパケットによる応答のペア)があれば、これをパッシブにモニタすることにより、その通信ペアについての遅延推定は可能であるが、通常のIP網の通信においては、そのようなping通信はほとんど発生せず、実際には、ping通信を用いてパッシブに遅延推定を行うことは困難である。
【0013】
以上のように、狙ったホスト間での遅延について計測する技術は、いくつか知られているが、ネットワーク全体にわたる通信の遅延を計るとなると、アクティブ計測では測定機器を極めて大量に配置しなければならず、また、他のネットワークへの測定用パケットを大量生成してネットワーク上に流すため、ネットワーク自体へ負荷をかけてしまうなど、問題点が多く、また、実際のネットワーク上ではping通信はほとんど発生せず、ping通信を用いてパッシブにネットワーク全体の遅延測定を行うことは困難である。
【先行技術文献】
【非特許文献】
【0014】
【非特許文献1】[RFC793]、[online]、[平成21年11月25日検索]、インターネット<URL :http://tools.ietf.org/html/rfc793>.
【非特許文献2】Bryan Veal、Kang Li、David Lowenthal "New Methods for Passive Estimation of TCP Round-TripTimes",PAM2005,[online]、[平成21年11月25日検索]、インターネット<URL :http://www.cs.uga.edu/~kangli/src/pam05.pdf>.
【非特許文献3】[HPING]、[online]、[平成21年11月25日検索]、インターネット<URL :http://www.hping.org>.
【発明の概要】
【発明が解決しようとする課題】
【0015】
解決しようとする問題点は、従来の技術では、通信ネットワーク全体にわたる通信の遅延をアクティブ計測する場合には、測定機器を極めて大量に配置しなければならないと共に、他のネットワークへの測定用パケットを大量生成してネットワーク上に流すため、ネットワーク自体へ負荷をかけてしまうなど問題点が多く、また、ping通信を用いてパッシブにネットワーク全体の遅延計測を行うことは、実際のネットワーク上ではping通信はほとんど発生せず、困難である。
【0016】
本発明の目的は、これら従来技術の課題を解決し、ネットワークに負荷をかけることなく、ネットワーク内の遅延の全体像を効率的に計測することを可能とすることである。
【課題を解決するための手段】
【0017】
上記目的を達成するため、本発明では、通信ネットワーク上の一点における通信パケットのモニタリングを行い、例えば、TCPセッション確立の開始時のTCPヘッダ上のSYNフラグの立ったパケットを受信した際、その送信元および宛先(送信先)のアドレスとポート番号の組を受信時刻と共に取得して記憶装置に記憶し、また、逆方向にTCPセッション確立の応答(SYN+ACKフラグの立ったパケット)を選別して、その送信元および宛先(送信先)のアドレスとポートの組が記憶装置に記憶されたSYNフラグの立ったパケットと照合できた場合には、記憶装置に格納されたSYNパケットの受信時刻と、その応答であるSYN+ACKパケットの受信時刻との差を計算し、その差を宛先(送信先)IPアドレスまでの応答時間として収集・蓄積する。
【発明の効果】
【0018】
本発明によれば、ネットワークに負荷をかけることなく、ネットワーク内の遅延の全体像を効率的に計測することができ、ネットワーク上の通信応答時間(RTT)分布の推定等に有効活用することが可能である。
【図面の簡単な説明】
【0019】
【図1】本発明に係る通信品質データのモニタリング測定装置による動作概要を示す説明図である。
【図2】本発明に係る通信品質データのモニタリング測定装置による測定対象となるネットワーク構成例を示す説明図である。
【図3】本発明に係る通信品質データのモニタリング測定装置の構成例を示すブロック図である。
【図4】図1における通信品質データのモニタリング測定装置による本発明に係る通信品質データのモニタリング測定方法の第1の処理動作例を示すフローチャートである。
【図5】図1における通信品質データのモニタリング測定装置による本発明に係る通信品質データのモニタリング測定方法の第2の処理動作例を示すフローチャートである。
【図6】図1における通信品質データのモニタリング測定装置による本発明に係る通信品質データのモニタリング測定方法の第3の処理動作例を示すフローチャートである。
【図7】図1における通信品質データのモニタリング測定装置による本発明に係る通信品質データのモニタリング測定方法の第4の処理動作例を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、図を用いて本発明を実施するための形態例を説明する。図3に示すRTT解析用装置31は、プログラムされたコンピュータ処理を実行することにより、本発明の通信品質データのモニタリング測定装置として機能する。
【0021】
すなわち、RTT解析用装置31は、CPUと記憶装置を具備してプログラムされたコンピュータ処理を実行して、通信ネットワーク上の通信品質データをモニタリング測定する際、まず、予め定められた測定点での任意のセッション確立用のパケットの受信時刻T_0を取得し、次に、同測定点での当該パケットに対する応答パケット(第1の応答パケット)の受信時刻T_1を取得し、さらに、同測定点での第1の応答パケットに対する応答パケット(第2の応答パケット)の受信時刻T_2を取得し、そして、受信時刻T_1から受信時刻T_0を減算して第1の応答パケットの発信元との遅延応答時間を算出し、また、受信時刻T_2から受信時刻T_1を減算してセッション確立用パケットおよび第2の応答パケットの発信元との遅延応答時間を算出する。この任意のパケットに対する処理を予め定められた期間、繰り返して、各パケットの送信元・送信先との遅延応答時間を求め、その結果から、図2におけるIPネットワーク21の通信品質の推定を行うことができる。
【0022】
以下、TCP/IPを例に、図3を用いて、より具体的に説明する。RTT解析用装置31は、プログラムされたコンピュータ処理を実行する手段として、パケット処理部31a、SYNパケットデータベース31b、SYNACKパケットデータベース31c、RTT照会結果記録データベース31dを具備している。尚、各データベースが利用するHDD(Hard Disk Driver)等の外部記憶装置は個別に設けても良いし、1つを共用する構成としても良い。
【0023】
このような構成からなるRTT解析用装置31は、図2においてRTT分析用のワークステーション(RTT解析用装置)25として示すように、測定対象のIPネットワーク21において、ルータ23a〜23c経由で、ホスト22a〜22f間で送受信されるパケットを、ルータB23bのミラーポート24を介して取得する。
【0024】
現在では、IP電話による通信など、IPネットワーク21内全体で転送遅延が一定以下であることを求める品質基準(総務省電気通信事業者設備規則)などが登場してきている。これにより簡易的にでも「ネットワーク内の遅延の全体像」を計測することが必要となっている。
【0025】
IPネットワーク21に負荷をかけずに、ネットワーク全体の特性を把握するには、上述したように「パッシブ測定(モニタリング測定)」技術を活用するのが適切である。
【0026】
そこで、本例では、図2に示すように、IPネットワーク21上のある一点に測定点として設けたルータ23bで送受信される任意のパケットを、RTT解析用装置25(図3のRTT解析用装置31)においてキャプチャし、通信品質データとしてのRTTを測定する。
【0027】
すなわち、RTT解析用装置31は、CPUと記憶装置を具備してプログラムされたコンピュータ処理を実行するコンピュータ装置からなり、IPネットワーク21上の通信品質データをパッシブ測定(モニタリング測定)する装置であって、プログラムされたコンピュータ処理を実行する手段として、パケット処理部31aを具備し、パケット処理部31aにおいて、予め定められた測定点(図1における測定点1で、図2におけるルータ23b)での例えば任意のSYNパケットの受信時刻T_synを取得し、SYNパケットデータベース31bにおいて格納すると共に、同測定点での当該SYNパケットに対応するSYN+ACKパケットの受信時刻T_synackを取得してSYNACKパケットデータベース31cにおいて格納し、さらに、同測定点での当該SYN+ACKパケットに対応するACKパケットの受信時刻T_ackを取得する。
【0028】
そして、受信時刻T_synackから受信時刻T_synを減算して、SYN+ACKパケットの発信元との遅延応答時間を算出すると共に、受信時刻T_ackから受信時刻T_synackを減算して、SYNパケットおよびACKパケットの発信元との遅延応答時間を算出して、RTT照合結果記録データベース31dにおいて格納する。この処理を予め定められた期間、繰り返して、各送信元・送信先との遅延応答時間を求め、その結果から、図2におけるIPネットワーク21の通信品質の推定を行うことができる。
【0029】
このように、通信しているパケット列をキャプチャするパッシブ測定(モニタリング測定)を行い、その各通信のRTTを推定する技術と組み合わせて蓄積することにより、IPネットワーク21内の通信の遅延の分布等を把握することが可能となる。
【0030】
以下、このような処理をより具体的に説明する。
【0031】
手順としては、図1に示すように、TCPにてホストA2(host_A)からホストB1(host_B)に通信を行う場合を考える。
【0032】
まず、測定点1において任意にキャプチャしたパケット列を入力データとして入力し、キャプチャしたパケットが、TCPセッション開始のSYNパケット(SYNフラグ1、ACKフラグ0)であれば、(送信元IPアドレス(src_IP==host_B)、送信先IPアドレス(dst_IP==host_A)、送信元TCPポート番号(src_port)、送信元TCPポート番号(dst_port))の組み合わせ(これにプロトコル種別(TCP)を付加したものは、5-tupleとして知られている組み合わせである)を検索キーとして、(TCPシーケンス番号、パケット到着時間)をセッションデータベース(SYNパケットデータベース31b)に登録していく。
【0033】
次に、別のパケットでTCPセッション開始応答のSYN+ACKパケット(SYNフラグ1、ACKフラグ1)を受信すれば、(送信先IPアドレス(dst_IP)、送信元IPアドレス(src_IP)、送信元TCPポート番号(dst_port)、送信元TCPポート番号(src_port))をキーとして、セッションデータベース(SYNパケットデータベース31b)を検索し、記録されたレコードがあれば、TCPシーケンスが対応するか(SYNパケットのTCPシーケンス番号に+1加算した値であるかどうか)を確認し、対応していなければそのデータを破棄し、対応していれば、データベース(SYNパケットデータベース31b)中に記録されていたSYNパケットの到着時刻をSYN+ACKパケットの到着時刻から差し引くことで、SYNパケットの送信先IPアドレス(=SYN+ACKパケットの送信元アドレス)までの応答時間を計算する。
【0034】
また、上述の処理と同様の処理を、任意のSYNパケット&SYN+ACKパケットの組み合わせに対してではなく、任意のSYN+ACKパケットとACKパケットの組み合わせに対して行うことにより、SYNパケットの送信元IPアドレスに対しての応答時間を計算する。
【0035】
ここで、図1におけるt_2〜t_3およびt_4〜t_5は、ホスト応答処理時間であり、ネットワークの遅延時間ではないが、一般的には無視できる程度に小さいため、ここでは無視する。尚、この影響が無視できない場合には、ネットワークの遅延時間ではなく、「ホスト+ネットワークの応答時間」の測定と解釈する。
【0036】
これらの応答時間を監視し、収集・記録することにより、IPネットワーク21内の各IPアドレスまでの応答時間をまとめることが可能となる。
【0037】
尚、対象のIPアドレスを「自ネットワーク内のIPアドレス」で絞り込めば「自ネットワーク内の遅延品質把握」が低コストに実現可能になる。
【0038】
次に、図2のような状況を考える。パッシブ測定(モニタリング測定)の対象となるIPネットワーク21内の特定のルータ23bについてミラーポート24等の設定を行い、IPネットワーク21内を流れているトラヒックをキャプチャできるようにする。尚、このような技術は、従来の一般的な技術を用いて行う。
【0039】
キャプチャする装置が、RTT分析用のワークステーション、すなわち、RTT解析用装置25であり、本発明に係る通信品質データのモニタリング測定装置である。
【0040】
ミラーポート24には、RTT解析用装置25のパケットキャプチャポートを接続する。RTT解析用装置25には、検索用に、図3に示すSYNパケットデータベース31bとSYNACKパケットデータベース31cの2つのデータベースを用意しておく。これらは後述する処理フローにおいて、応答パケットの照合を行うために、過去のパケットデータを記録しておくのに使われる。
【0041】
実際の処理については、RTT解析用装置25,31では、任意のパケット列を取得し、その取得パケットデータを用いて、パケット処理部31aにおいて、図4〜図7に示すフローに従った処理を実行する。尚、任意のパケット列の取得処理は、例えば、インターネットでURL「http://www.tcpdump.org」において検索できる[tcp/libcap]におけるtcpdumpやlibpcapにより可能である。
【0042】
図4に示すように、まず、パケットが入力されると(ステップS401)、入力されたパケットの送信元IPアドレスsrc_IPもしくは送信先IPアドレスdst_IPが測定対象範囲に含まれているか否かを判別する(ステップS402)。
【0043】
含まれていれば、TCPプロトコルであり、かつSYNフラグおよび・もしくは(and/or)ACKフラグが立っているか否かを判別する(ステップS403)。
【0044】
フラグが立っていれば、(SYNフラグ、ACKフラグ)が(1、0)であるか(Yes)否か(No)を判別する(ステップS404)。
【0045】
Yesであれば、入力されたパケットはSYNパケットであるので、当該パケットの(送信元IPアドレス(src_IP)、送信先IPアドレス(dst_IP)、送信元TCPポート番号(src_port)、送信元TCPポート番号(dst_port))の4種のデータ組を「検索キー」(SYN_KEY)とし、当該パケットのTCPシーケンス番号(Seq_syn)、到着時刻(T_syn))の2種のデータを「登録データ」としてSYNパケットデータベース31b(SYN・DB)に登録して次のパケットの入力を待つ(ステップS405)。
【0046】
ステップS404における判別でNoであれば、(SYNフラグ、ACKフラグ)が(1、1)であるか(Yes)否か(No)を判別し(ステップS406)、Yesであれば、入力されたパケットはSYN+ACKパケットであるので、当該パケットの(送信先IPアドレス(dst_IP)、送信元IPアドレス(src_IP)、送信元TCPポート番号(dst_port)、送信元TCPポート番号(src_port))を検索キー(SYNACK_KEY)として、このSYNACK_KEYでSYNパケットデータベース31b(SYN・DB)を検索する(ステップS407)。
【0047】
その後の処理としての逆向きのパケットについて図5を用いて説明する。
【0048】
ステップS407の検索で、検索結果がなければ(ステップS408)、処理は行わないが、検索結果が有れば(ステップS408)、SYNパケットデータベース31b(SYN・DB)から、当該SYNパケットのTCPシーケンス番号Seq_syn(=NS1)と、SYNパケットの到着時刻T_syn(=TS1)を取り出し、これを、現在処理中のSYN+ACK応答パケットのTCPシーケンス番号Seq_synack(=NS2)と到着時刻T_synack(=TS2)と比較する(ステップS409)。
【0049】
正しいSYN+ACK応答パケットは、TCPシーケンス番号として、SYNパケットのTCPシーケンス番号に+1加算した値であるので、もし、「Seq_synack!=(Seq_syn+1)」、すなわち、現在処理中のSYN+ACK応答パケットのTCPシーケンス番号Seq_synack(=NS2)が、SYNパケットのTCPシーケンス番号(=NS1)に+1加算した値と異なる場合は(ステップS410)、シーケンス番号が間違っているため、計測データとして不適切なので処理はしない。
【0050】
これに対して、Seq_synack!=(Seq_syn+1)でなければ(ステップS410)、この場合、シーケンス番号が対応している場合に該当するので、SYNパケットデータベース31b(SYN・DB)中に記録されていたSYNパケットの到着時刻T_syn(=TS1)をSYN+ACKパケットの到着時刻T_synack(=TS2)から差し引く(TS2−TS1)ことで、SYNパケットの送信先IPアドレスdst_IP(すなわち、SYN+ACKパケットの送信元アドレスsrc_IP)までの応答時間を計算する(ステップS411)。すなわち、送信先IPアドレス(SYN+ACKパケットのsrc_IP)までの応答時間(RTT_dst)を「(RTT_dst)=(T_synack−T_syn)」により算出する。
【0051】
その後、SYNパケットデータベース31b(SYN・DB)から、検索キー(SYNACK_KEY)と検索結果を共に削除して(ステップS412)、SYN+ACKパケットの送信元アドレスsrc_IPと算出した応答時間RTT_dstを、RTT照合結果記録データベース31d(RTT・DB)に出力する(ステップS413)。
【0052】
そして、当該キーSYNACK_KEYを検索キー、当該SYN+ACKパケットのTCPシーケンス番号Seq_synackと到着時刻T_synackを登録データとして、SYNACKパケットデータベース31c(SYNACK・DB)に登録する(ステップS414)。
【0053】
また、図4のステップS406の判別処理の結果がNoであれば、図6に示すように、(SYNフラグ、ACKフラグ)が(0、1)であるか(Yes)否か(No)、すなわち、入力されたパケットが、ACKパケットであるか否かを判別する(ステップS415)。
【0054】
ここまでの処理で、全条件を網羅したので「No」はなく「Yes」であり、入力されたパケットは「ACKパケット」であるので、当該パケットの送信先IPアドレス(dst_IP)、送信元IPアドレス(src_IP)、送信先TCPポート番号(dst_port)、送信元TCPポート番号(src_port))をキー(ACK_KEY)として、SYNACKパケットデータベース31c(SYNACK・DB)を検索する(ステップS416)。
【0055】
検索がヒットすれば(ステップS417)、SYNACKパケットデータベース31c(SYNACK・DB)から、検索したSYN+ACKパケットのTCPシーケンス番号Seq_synack(=NA1)と到着時刻T_synack(=TA1)を読み出し、現在処理中のパケット(ACKパケット)のTCPシーケンス番号Seq_ack(=NA2)と到着時刻T_ack(=TA2)と比較する(ステップS418)。
【0056】
ステップS410の処理と同様に、正しいACK応答パケットは、TCPシーケンス番号として、SYN+ACKパケットのTCPシーケンス番号に+1加算した値であるので、もし、「Seq_ack!=(Seq_synack+1)」、すなわち、現在処理中のACK応答パケットのTCPシーケンス番号Seq_synack(=NA2)が、SYN+ACKパケットのTCPシーケンス番号(=NA1)に+1加算した値と異なる場合は(ステップS419)、シーケンス番号が間違っているため、計測データとして不適切なので処理はしない。
【0057】
これに対して、Seq_ack!=(Seq_synack+1)でなければ(ステップS419)、この場合、シーケンス番号が対応している場合に該当するので、SYNACKパケットデータベース31c(SYNACK・DB)から、検索したSYN+ACKパケットの到着時刻T_synack(=TA1)を,現在処理中のパケット(ACKパケット)の到着時刻T_ack(=TA2)から差し引く(TA2−TA1)ことで、ACKパケットの送信元IPアドレスsrc_IPであり、大元のSYNパケットの送信元アドレスsrc_IPまでの応答時間を計算する(ステップS420)。すなわち、送信先IPアドレス(SYNパケット=ACKパケットのsrc_IP)までの応答時間(RTT_src)を「(RTT_src)=(T_ack−T_synack)」により算出する。
【0058】
その後、SYNACKパケットデータベース31c(SYNACK・DB)から、検索キー(ACK_KEY)と検索結果を共に削除して(ステップS421)、ACKパケットの送信元アドレスsrc_IPと算出した応答時間RTT_srcを、RTT照合結果記録データベース31d(RTT・DB)に出力する(ステップS422)。
【0059】
尚、図4のステップS401の処理においてNoであり、パケットが入力されるまでの間、図7に示す処理を行う。この図7における処理は、未照合データの蓄積による検索データベースの肥大化を防ぐためのものでる。
【0060】
すなわち、パケット処理部31aは、一定回数(例えば10000処理)毎に(ステップS423)、SYNパケットデータベース31b(SYN・DB)およびSYNACKパケットデータベース31c(SYNACK・DB)から、古いデータ(登録データの到着時刻T_syn、T_synackが最新の処理パケットのタイムスタンプよりも一定時間以上(たとえば6秒)経過したデータ)を削除する処理を行う(ステップS424)。このように、往復6秒の応答時間は大きすぎて意味を持たないので、削除することでデータベースの肥大化を防止する。
【0061】
以上の処理を各入力パケットに対し繰り返すことで、ステップS413とステップS421の処理で、IPアドレスと応答時間の組を出力し、それをRTT照合結果記録データベース31dに蓄積することにより、現在行われている通信の各IPアドレスまでの応答時間(RTT)を集計することが可能となる。
【0062】
以上、図1〜図7を用いて説明したように、本例の通信品質データのパッシブ測定(モニタリング測定)するRTT解析用装置25,31は、CPUと記憶装置を具備してプログラムされたコンピュータ処理を実行するコンピュータ装置からなり、IPネットワーク21上の通信品質データをパッシブ測定(モニタリング測定)するものであり、プログラムされたコンピュータ処理を実行する手段として、パケット処理部31aを具備し、パケット処理部31aにおいて、予め定められた測定点1での任意のSYNパケットの受信時刻T_synを取得すると共に、測定点1での当該SYNパケットに対応するSYN+ACKパケットの受信時刻T_synackを取得し、さらに、測定点1での当該SYN+ACKパケットに対応するACKパケットの受信時刻T_ackを取得する。
【0063】
そして、受信時刻T_synackから受信時刻T_synを減算して、SYN+ACKパケットの発信元との遅延応答時間を算出すると共に、受信時刻T_ackから受信時刻T_synackを減算して、SYNパケットおよびACKパケットの発信元との遅延応答時間を算出する。
【0064】
より詳細には、パケット処理部31aにおいて、受信したSYNフラグの立った任意のパケットの送信元IPアドレスsrc_IPとTCPポート番号src_portおよび送信先IPアドレスdst_IPとTCPポート番号dst_portの4つのデータからなる組を受信時刻T_synと共に取得してSYNパケットデータベース31bに格納し、受信した任意のSYN+ACKフラグの立ったパケットの送信元IPアドレスsrc_IPとTCPポート番号src_portおよび送信先IPアドレスdst_IPとTCPポート番号dst_portの4つのデータからなる組を受信時刻T_synackと共に取得してSYNACKパケットデータベース31cに格納する。
【0065】
そして、受信したSYN+ACKフラグの立ったパケットの送信元IPアドレスsrc_IPとTCPポート番号src_portおよび送信先IPアドレスdst_IPとTCPポート番号dst_portの4つのデータからなる組をキーにSYNパケットデータベース31bを検索して、同じ組のSYNフラグの立ったパケットを特定し、特定したSYNフラグの立ったパケットの受信時刻T_synとSYN+ACKフラグの立ったパケットの受信時刻T_synackとの差を、SYN+ACKフラグの立ったパケットの送信元IPアドレスまでの応答時間として算出する。
【0066】
さらに、受信したACKフラグの立った任意のパケットの送信元IPアドレスsrc_IPとTCPポート番号src_portおよび送信先IPアドレスdst_IPとTCPポート番号dst_portの組をキーにSYNACKパケットデータベース31cを検索して、同じ組のSYN+ACKフラグの立ったパケットを特定し、特定したSYN+ACKフラグの立ったパケットの受信時刻T_synackとACKフラグの立ったパケットの受信時刻T_ackとの差を、ACKフラグの立ったパケットの送信元IPアドレスまでの応答時間として算出する。
【0067】
このような処理を予め定められた期間、任意の組のSYNパケット、SYN+ACKパケット、ACKパケットに対して繰り返し、各パケットの送信元・送信先との遅延応答時間を求め、その結果から、図2におけるIPネットワーク21の通信品質の推定を行うことができる。
【0068】
このことにより、従来の技術の問題点、すなわち、従来の技術では、通信ネットワーク全体にわたる通信の遅延をアクティブ計測する場合には、測定機器を極めて大量に配置しなければならないと共に、他のネットワークへの測定用パケットを大量生成してネットワーク上に流すため、ネットワーク自体へ負荷をかけてしまうとの問題点、および、ping通信を用いてパッシブにネットワーク全体の遅延計測を行うことは、実際のネットワーク上ではping通信はほとんど発生せず、困難であるとの問題点を解決し、ネットワークに負荷をかけることなく、ネットワーク内の遅延の全体像を効率的に計測することができ、ネットワーク上の通信応答時間(RTT)分布の推定等に有効活用することが可能となる。
【0069】
尚、本発明は、図1〜図6を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、TCP/IPにおけるSYNパケットとSYN+ACKパケットおよびACKパケットのそれぞれの同じ測定点における受信時刻を測定して、各パケットの発信元と発信元の遅延応答時間を算出するものとしているが、これに限るものではなく、セッション確立のためのパケットの送受信を行うパケット網において適用可能である。
【0070】
また、図3に示すRTT解析用装置31においては、SYNパケットデータベース31b、SYNACKパケットデータベース31c、RTT照合結果記録データベース31dのそれぞれは、個別の記憶装置を用いる構成としても良いし、それぞれで1つの記憶装置を共有する構成としても良い。
【0071】
また、図2に示す例では、ルータ23bでキャプチャしたデータのみを用いる構成としているが、例えば、ルータ23bと共に、ルータ23aとルータ23cのいずれかもしくは両方でキャプチャしたデータもそれぞれ個別に分けて管理して用いる構成等としても良い。
【0072】
また、図2においては、RTT解析用装置としてワークステーションを用いる構成としているが、十分な処理性能のコンピュータ装置を用いる構成であれば良い。
【0073】
また、本例のコンピュータ構成に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、FD(Flexible Disk)等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【符号の説明】
【0074】
1:測定点、2:ホストA(client等)、3:ホストB(Server等)、21:IPネットワーク、22a〜22f:ホスト、23a〜23c:ルータ、24:ミラーポート、25:RTT分析用のワークステーション(RTT解析用装置)、31:RTT解析用装置、31a:パケット処理部、31b:SYNパケットデータベース、31c:SYNACKパケットデータベース、31d:RTT照合結果記録データベース、32:パケットキャプチャポート。

【特許請求の範囲】
【請求項1】
CPUと記憶装置を具備してプログラムされたコンピュータ処理を実行するコンピュータ装置からなり、通信ネットワーク上の通信品質データをモニタリング測定する通信品質データのモニタリング測定装置であって、
プログラムされたコンピュータ処理を実行する手段として、パケット処理手段を具備し、
該パケット処理手段は、
予め定められた測定点での任意のセッション確立用のパケットの受信時刻T_0を取得する第1の機能と、
上記測定点での上記パケットに対する第1の応答パケットの受信時刻T_1
を取得する第2の機能と、
上記測定点での上記第1の応答パケットに対する第2の応答パケットの受信時刻T_2を取得する第3の機能と、
上記受信時刻T_1から上記受信時刻T_0を減算して、上記第1の応答パケットの発信元との遅延応答時間を算出する第4の機能と、
上記受信時刻T_2から上記受信時刻T_1を減算して、上記セッション確立用のパケットおよび上記第2の応答パケットの発信元との遅延応答時間を算出する第5の機能とを有する
ことを特徴とする通信品質データのモニタリング測定装置。
【請求項2】
CPUと記憶装置を具備してプログラムされたコンピュータ処理を実行するコンピュータ装置からなり、通信ネットワーク上の通信品質データをモニタリング測定する通信品質データのモニタリング測定装置であって、
プログラムされたコンピュータ処理を実行する手段として、パケット処理手段を具備し、
該パケット処理手段は、
予め定められた測定点での任意のSYNパケットの受信時刻T_synを取得する第1の機能と、
上記測定点での上記SYNパケットに対応するSYN+ACKパケットの受信時刻T_synackを取得する第2の機能と、
上記測定点での上記SYN+ACKパケットに対応するACKパケットの受信時刻T_ackを取得する第3の機能と、
上記受信時刻T_synackから上記受信時刻T_synを減算して、上記SYN+ACKパケットの発信元との遅延応答時間を算出する第4の機能と、
上記受信時刻T_ackから上記受信時刻T_synackを減算して、上記SYNパケットおよび上記ACKパケットの発信元との遅延応答時間を算出する第5の機能とを有する
ことを特徴とする通信品質データのモニタリング測定装置。
【請求項3】
CPUと記憶装置を具備してプログラムされたコンピュータ処理を実行するコンピュータ装置からなり、通信ネットワーク上の通信品質データをモニタリング測定する通信品質データのモニタリング測定装置であって、
プログラムされたコンピュータ処理を実行する手段として、
上記通信ネットワーク上の予め定められた測定点における通信パケットのモニタリングを行うパケット処理手段を具備し、
該パケット処理手段は、
受信した任意のSYNフラグの立ったパケットの送信元IPアドレスとTCPポート番号および送信先IPアドレスとTCPポート番号の組を受信時刻と共に第1の記憶装置に記憶する機能と、
受信した任意のSYN+ACKフラグの立ったパケットの送信元IPアドレスとTCPポート番号および送信先IPアドレスとTCPポート番号の組を受信時刻と共に第2の記憶装置に記憶する機能と、
上記SYN+ACKフラグの立ったパケットの送信元IPアドレスとTCPポート番号および送信先IPアドレスとTCPポート番号の組をキーに上記第1の記憶装置を検索して、同じ組の上記SYNフラグの立ったパケットを特定する機能と、
該特定したSYNフラグの立ったパケットの受信時刻と上記SYN+ACKフラグの立ったパケットの受信時刻との差を、上記SYN+ACKフラグの立ったパケットの送信元IPアドレスまでの応答時間として算出する機能とを有する
ことを特徴とする通信品質データのモニタリング測定装置。
【請求項4】
請求項3に記載の通信品質データのモニタリング測定装置であって、
上記パケット処理手段は、
受信した任意のACKフラグの立ったパケットの送信元IPアドレスとTCPポート番号および送信先IPアドレスとTCPポート番号の組をキーに上記第2の記憶装置を検索して、同じ組の上記SYN+ACKフラグの立ったパケットを特定する機能と、
該特定したSYN+ACKフラグの立ったパケットの受信時刻と上記ACKフラグの立ったパケットの受信時刻との差を、上記ACKフラグの立ったパケットの送信元IPアドレスまでの応答時間として算出する機能とを有する
ことを特徴とする通信品質データのモニタリング測定装置。
【請求項5】
CPUと記憶装置を具備してプログラムされたコンピュータ処理を実行するコンピュータ装置により、通信ネットワーク上の通信品質データをモニタリング測定する通信品質データのモニタリング測定方法であって、
上記コンピュータ装置は、プログラムされたコンピュータ処理を実行する手段として、パケット処理手段を具備し、
該パケット処理手段は、
予め定められた測定点での任意のセッション確立用のパケットの受信時刻T_0を取得する第1の手順と、
上記測定点での上記パケットに対する第1の応答パケットの受信時刻T_1を取得する第2の手順と、
上記測定点での上記第1の応答パケットに対する第2の応答パケットの受信時刻T_2を取得する第3の手順と、
上記受信時刻T_1から上記受信時刻T_0を減算して、上記第1の応答パケットの発信元との遅延応答時間を算出する第4の手順と、
上記受信時刻T_2から上記受信時刻T_1を減算して、上記セッション確立用のパケットおよび上記第2の応答パケットの発信元との遅延応答時間を算出する第5の手順と
を実行することを特徴とする通信品質データのモニタリング測定方法。
【請求項6】
CPUと記憶装置を具備してプログラムされたコンピュータ処理を実行するコンピュータ装置により、通信ネットワーク上の通信品質データをモニタリング測定する通信品質データのモニタリング測定方法であって、
上記コンピュータ装置は、プログラムされたコンピュータ処理を実行する手段として、パケット処理手段を具備し、
該パケット処理手段は、
予め定められた測定点での任意のSYNパケットの受信時刻T_synを取得する第1の手順と、
上記測定点での上記SYNパケットに対応するSYN+ACKパケットの受信時刻T_synackを取得する第2の手順と、
上記測定点での上記SYN+ACKパケットに対応するACKパケットの受信時刻T_ackを取得する第3の手順と、
上記受信時刻T_synackから上記受信時刻T_synを減算して、上記SYN+ACKパケットの発信元との遅延応答時間を算出する第4の手順と、
上記受信時刻T_ackから上記受信時刻T_synackを減算して、上記SYNパケットおよび上記ACKパケットの発信元との遅延応答時間を算出する第5の手順とを実行する
ことを特徴とする通信品質データのモニタリング測定方法。
【請求項7】
CPUと記憶装置を具備してプログラムされたコンピュータ処理を実行するコンピュータ装置により、通信ネットワーク上の通信品質データをモニタリング測定する通信品質データのモニタリング測定方法であって、
上記コンピュータ装置は、プログラムされたコンピュータ処理を実行する手段として、
上記通信ネットワーク上の予め定められた測定点における通信パケットのモニタリングを行うパケット処理手段を具備し、
該パケット処理手段は、
受信した任意のSYNフラグの立ったパケットの送信元IPアドレスとTCPポート番号および送信先IPアドレスとTCPポート番号の組を受信時刻と共に第1の記憶装置に記憶する手順と、
受信した任意のSYN+ACKフラグの立ったパケットの送信元IPアドレスとTCPポート番号および送信先IPアドレスとTCPポート番号の組を受信時刻と共に第2の記憶装置に記憶する手順と、
上記SYN+ACKフラグの立ったパケットの送信元IPアドレスとTCPポート番号および送信先IPアドレスとTCPポート番号の組をキーに上記第1の記憶装置を検索して、同じ組の上記SYNフラグの立ったパケットを特定する手順と、
該特定したSYNフラグの立ったパケットの受信時刻と上記SYN+ACKフラグの立ったパケットの受信時刻との差を、上記SYN+ACKフラグの立ったパケットの送信元IPアドレスまでの応答時間として算出する手順とを実行する
ことを特徴とする通信品質データのモニタリング測定方法。
【請求項8】
請求項7に記載の通信品質データのモニタリング測定方法であって、
上記パケット処理手段は、
受信した任意のACKフラグの立ったパケットの送信元IPアドレスとTCPポート番号および送信先IPアドレスとTCPポート番号の組をキーに上記第2の記憶装置を検索して、同じ組の上記SYN+ACKフラグの立ったパケットを特定する手順と、
該特定したSYN+ACKフラグの立ったパケットの受信時刻と上記ACKフラグの立ったパケットの受信時刻との差を、上記ACKフラグの立ったパケットの送信元IPアドレスまでの応答時間として算出する手順とを実行する
ことを特徴とする通信品質データのモニタリング測定方法。
【請求項9】
コンピュータに、請求項5から請求項8のいずれかに記載の通信品質データのモニタリング測定方法におけるパケット処理手段による各手順を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−130000(P2011−130000A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願番号】特願2009−284083(P2009−284083)
【出願日】平成21年12月15日(2009.12.15)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】