図面 (/)

技術 パケット解析プログラム、パケット解析装置およびパケット解析方法

出願人 富士通株式会社
発明者 大川尚義野村祐士飯塚史之岡田純代
出願日 2015年3月25日 (4年11ヶ月経過) 出願番号 2015-063354
公開日 2016年10月20日 (3年5ヶ月経過) 公開番号 2016-184824
状態 未査定
技術分野 広域データ交換 小規模ネットワーク(3)ループ,バス以外
主要キーワード 計測時間間隔 ポート番 帯域計測 Seq番号 統計情報テーブル パケット解析処理 帯域推定 ACK番号
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年10月20日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (17)

課題

解決手段

パケット解析装置1は、端末4と端末3との間で通信されるパケットを端末3と端末4の間のネットワークのいずれかの地点で取得する。パケット解析装置1は、端末3から送信された第1のACKパケットの取得から該第1のACKパケットの次のACKパケットである第2のACKパケットの取得までの間に端末4から送信されたデータパケット帯域が、第1のACKパケットおよび第2のACKパケットを待ってからそれぞれ送信された2つのデータパケットの取得間隔を用いて得られる帯域より小さい、または第1のACKパケットを待たずに送信されたデータパケットを含む隣接する2つのデータパケットの取得間隔を用いて得られる帯域より大きい場合に、第2のACKパケットを帯域計測に不要なパケットであると判定する。

概要

背景

クライアント端末サーバからデータをダウンロードすることがある。一般的に、サーバ側のネットワーク帯域よりもクライアント端末側のネットワーク帯域の方が小さいため、クライアント端末側のネットワーク帯域を推定してダウンロード完了時間を予測することが望まれている。

近年では、サーバ側付近監視装置を設置して、サーバおよびクライアント端末間送受信されているパケットからサーバおよびクライアント端末間のネットワーク帯域を推定することが行われている。

概要

クライアント端末側のネットワーク帯域を正確に計測する。パケット解析装置1は、端末4と端末3との間で通信されるパケットを端末3と端末4の間のネットワークのいずれかの地点で取得する。パケット解析装置1は、端末3から送信された第1のACKパケットの取得から該第1のACKパケットの次のACKパケットである第2のACKパケットの取得までの間に端末4から送信されたデータパケット帯域が、第1のACKパケットおよび第2のACKパケットを待ってからそれぞれ送信された2つのデータパケットの取得間隔を用いて得られる帯域より小さい、または第1のACKパケットを待たずに送信されたデータパケットを含む隣接する2つのデータパケットの取得間隔を用いて得られる帯域より大きい場合に、第2のACKパケットを帯域計測に不要なパケットであると判定する。

目的

一般的に、サーバ側のネットワーク帯域よりもクライアント端末側のネットワーク帯域の方が小さいため、クライアント端末側のネットワーク帯域を推定してダウンロード完了時間を予測することが望まれている

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータに、送信端末受信端末との間で通信されるパケットを前記送信端末と前記受信端末の間のネットワークのいずれかの地点で取得し、取得したパケットと取得時刻対応付けて記憶し、前記受信端末から送信された第1のACKパケットの取得から該第1のACKパケットの次のACKパケットである第2のACKパケットの取得までの間に前記送信端末から送信されたデータパケット帯域が、前記第1のACKパケットおよび前記第2のACKパケットを待ってからそれぞれ送信された2つのデータパケットの取得間隔を用いて得られる帯域より小さい、または前記第1のACKパケットを待たずに送信されたデータパケットを含む隣接する2つのデータパケットの取得間隔を用いて得られる帯域より大きい場合に、前記第2のACKパケットを帯域計測に不要なパケットであると判定する処理を実行させることを特徴とするパケット解析プログラム

請求項2

前記第1のACKパケットを待たずに送信されたデータパケットを取得した場合には、前記第1のACKパケットを待ってから送信されたデータパケットおよび前記第1のACKパケットを待たずに送信されたデータパケットの取得間隔を用いて帯域を算出し、算出した帯域を下限の閾値として更新し、前記第2のACKパケットを待ってから送信されたデータパケットを取得した場合には、前記第1のACKパケットおよび前記第2のACKパケットをそれぞれ待ってから送信された2つのデータパケットの取得間隔を用いて帯域を算出し、算出した帯域を上限の閾値として更新し、前記判定する処理は、前記第1のACKパケットおよび前記第2のACKパケットの取得間隔を用いて得られる帯域が、前記下限の閾値より小さい、または前記上限の閾値より大きい場合に、前記第2のACKパケットを帯域計測に不要なパケットであると判定する処理を実行させることを特徴とする請求項1に記載のパケット解析プログラム。

請求項3

送信端末と受信端末との間で通信されるパケットを前記送信端末と前記受信端末の間のネットワークのいずれかの地点で取得する取得部と、前記取得部によって取得されたパケットと取得時刻を対応付けて記憶する記憶部と、前記受信端末から送信された第1のACKパケットの取得から該第1のACKパケットの次のACKパケットである第2のACKパケットの取得までの間に前記送信端末から送信されたデータパケットの帯域が、前記第1のACKパケットおよび前記第2のACKパケットを待ってからそれぞれ送信された2つのデータパケットの取得間隔を用いて得られる帯域より小さい、または前記第1のACKパケットを待たずに送信されたデータパケットを含む隣接する2つのデータパケットの取得間隔を用いて得られる帯域より大きい場合に、前記第2のACKパケットを帯域計測に不要なパケットであると判定する判定部と、を有することを特徴とするパケット解析装置

請求項4

コンピュータが、送信端末と受信端末との間で通信されるパケットを前記送信端末と前記受信端末の間のネットワークのいずれかの地点で取得し、取得したパケットと取得時刻を対応付けて記憶し、前記受信端末から送信された第1のACKパケットの取得から該第1のACKパケットの次のACKパケットである第2のACKパケットの取得までの間に前記送信端末から送信されたデータパケットの帯域が、前記第1のACKパケットおよび前記第2のACKパケットを待ってからそれぞれ送信された2つのデータパケットの取得間隔を用いて得られる帯域より小さい、または前記第1のACKパケットを待たずに送信されたデータパケットを含む隣接する2つのデータパケットの取得間隔を用いて得られる帯域より大きい場合に、前記第2のACKパケットを帯域計測に不要なパケットであると判定する各処理を実行することを特徴とするパケット解析方法。

技術分野

0001

本発明は、パケット解析プログラムに関する。

背景技術

0002

クライアント端末サーバからデータをダウンロードすることがある。一般的に、サーバ側のネットワーク帯域よりもクライアント端末側のネットワーク帯域の方が小さいため、クライアント端末側のネットワーク帯域を推定してダウンロード完了時間を予測することが望まれている。

0003

近年では、サーバ側付近監視装置を設置して、サーバおよびクライアント端末間送受信されているパケットからサーバおよびクライアント端末間のネットワーク帯域を推定することが行われている。

先行技術

0004

特開2005−130298号公報
特開2006−20302号公報
特開2006−279283号公報
特開2007−266756号公報
特開2015−035709号公報

発明が解決しようとする課題

0005

しかしながら、従来の技術では、クライアント端末側のネットワーク帯域を正確に計測できないという問題がある。すなわち、監視装置およびクライアント端末間でクロストラヒック(Cross Traffic)が発生すると、クライアント端末側のネットワーク帯域の計測に影響を与えてしまい、正確な計測ができない。クロストラヒックとは、ネットワーク上に流れている他のトラヒックのことをいう。クロストラヒックが発生すると、通信遅延が発生し、クライアント端末側のネットワーク帯域の計測に影響を与えてしまう。

0006

1つの側面では、より正確なクライアント端末のネットワーク帯域を計測することを目的とする。

課題を解決するための手段

0007

1つの案では、パケット解析プログラムは、コンピュータに、送信端末受信端末との間で通信されるパケットを前記送信端末と前記受信端末の間のネットワークのいずれかの地点で取得し、取得したパケットと取得時刻対応付けて記憶し、前記受信端末から送信された第1のACKパケットの取得から該第1のACKパケットの次のACKパケットである第2のACKパケットの取得までの間に前記送信端末から送信されたデータパケット帯域が、前記第1のACKパケットおよび前記第2のACKパケットを待ってからそれぞれ送信された2つのデータパケットの取得間隔を用いて得られる帯域より小さい、または前記第1のACKパケットを待たずに送信されたデータパケットを含む隣接する2つのデータパケットの取得間隔を用いて得られる帯域より大きい場合に、前記第2のACKパケットを帯域計測に不要なパケットであると判定する処理を実行させる。

発明の効果

0008

1つの態様によれば、クライアント端末側のネットワーク帯域をより正確に計測することができる。

図面の簡単な説明

0009

図1は、実施例に係るパケット解析装置機能構成を示す図である。
図2Aは、ACKによる帯域推定の問題点を示す図(1)である。
図2Bは、ACKによる帯域推定の問題点を示す図(2)である。
図3Aは、実施例に係るクロストラヒック判定部による閾値算出方法を示す図(1)である。
図3Bは、実施例に係るクロストラヒック判定部による閾値の算出方法を示す図(2)である。
図4は、コネクション管理テーブルデータ構造の一例を示す図である。
図5は、DATAテーブルのデータ構造の一例を示す図である。
図6は、ACKテーブルのデータ構造の一例を示す図である。
図7は、閾値テーブルのデータ構造の一例を示す図である。
図8は、統計情報テーブルのデータ構造の一例を示す図である。
図9Aは、実施例に係るパケット解析処理フローチャートを示す図である。
図9Bは、データパケット受信時の処理のフローチャートを示す図である。
図9Cは、ACKパケット受信時の処理のフローチャートを示す図である。
図10は、ACK間隔が広がる場合のパケット解析処理の具体例を示す図である。
図11は、ACK間隔が縮まる場合のパケット解析処理の具体例を示す図である。
図12は、パケット解析プログラムを実行するコンピュータの一例を示す図である。

0010

以下に、本願の開示するパケット解析プログラム、パケット解析装置およびパケット解析方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。

0011

[実施例に係るパケット解析装置の構成]
図1は、実施例に係るパケット解析装置の機能構成を示す図である。図1に示すように、パケット解析装置1は、端末3と端末4との間で通信されるパケットを、SW2を介して取得し、パッシブにネットワーク帯域を診断する。パッシブ診断とは、ネットワークを流れるパケットを計測対象としてネットワーク帯域を診断する診断方法のことをいう。なお、ネットワーク帯域を診断する診断方法には、パッシブ診断のほか、アクティブ診断もあるが、実施例では、パッシブ診断を適用する場合である。なお、以降、端末3が、受信側の端末であり、端末4が、送信側の端末であるとして説明する。

0012

パケット解析装置1は、ACKパケット(以降、ACKという)とACKとの間に送信されたデータパケット(以降、DATAという)の転送量とACKの到着間隔とから、端末3,4間のネットワークの帯域を推定する。すなわち、受信側の端末3がACKを返信する場合、DATAを受信した直後にACKを返信するので、ネットワークにクロストラヒックなどが原因となるボトルネックがない場合には、DATAの間隔とACKの間隔とは等しいものとなる。したがって、パケット解析装置1は、ACKの間に送信されたDATAの転送量と、ACKの到着間隔とから、式(1)のように、受信側のネットワーク帯域を推定できる。なお、ACKの間に送信されたDATAの転送量を式(1)のパケットサイズ代入する。また、ACKの到着間隔を式(1)のパケット間の間隔に代入する。
ネットワーク帯域=8×パケットサイズ/パケット間の間隔・・式(1)

0013

ところが、ACKによる帯域推定には、問題点がある。ここで、ACKによる帯域推定の問題点を、図2Aおよび図2Bを参照して説明する。図2Aおよび図2Bは、ACKによる帯域推定の問題点を示す図である。

0014

図2Aおよび図2Bに示すように、ネットワークにボトルネックがある場合には、ACKの到着間隔が変化してしまう。図2Aでは、送信側の端末4から先に送信されたDATAがクロストラヒックの影響を受けた場合である。図2Bでは、送信側の端末4から後に送信されたDATAがクロストラヒックの影響を受けた場合である。

0015

図2Aに示すように、送信側の端末4から先に送られたDATAがクロストラヒックの影響を受けると、クロストラヒックの影響を受けない場合と比べて、パケット解析装置1では、このDATAに対するACKと次のDATAに対するACKとの到着間隔が縮まる。すなわち、パケット解析装置1は、クロストラヒックの影響を受けない場合と比べて、ネットワーク帯域を広く推定してしまう。

0016

図2Bに示すように、送信側の端末4から後に送られたDATAがクロストラヒックの影響を受けると、クロストラヒックの影響を受けない場合と比べて、パケット解析装置1では、このDATAに対するACKと前のDATAに対するACKとの到着間隔が広がる。すなわち、パケット解析装置1は、クロストラヒックの影響を受けない場合と比べて、ネットワーク帯域を狭く推定してしまう。

0017

したがって、パケット解析装置1は、クロストラヒックの影響を受けたACKを帯域推定に不要なACKとして除去したうえで、ネットワーク帯域を推定することが必要となる。

0018

そこで、実施例に係るパケット解析装置1は、ネットワーク帯域をACKから推定するが、帯域推定に不要なACKを判定するために用いられる閾値をDATAから算出する。閾値をDATAから算出するのは、以下の2つの理由による。第1の理由は、DATAの送信タイミングはACKに依存するからである。すなわち、送信側の端末4はACKを受信して以前送信したDATAの到達を確認した後に、次のDATAを送信するからである。第2の理由は、DATAの到着間隔はACKの到着間隔と比べて安定しているからである。すなわち、DATAのサイズはACKに比べて大きいので、DATAの挙動はACKに比べて安定しているからである。なお、閾値の詳細な算出方法は、後述するものとする。

0019

図1に戻って、端末3,4は、例えば、ネットワーク上で、TCP(Transmission Control Protocol)を用いた通信を行う。

0020

ここで、TCPの通信機能の特性の一例について説明する。受信側の端末4がデータのパケットを受け取った場合に、そのデータのシーケンス番号とデータサイズから次に送られてくる予定のデータのシーケンス番号をACKの確認応答番号に設定したうえで、ACKを送信側の端末3に伝達する。送信側の端末3は、ACKを受信し、受信したACKの確認応答番号を確認することで、次のデータのパケットを送信する。

0021

ところが、送信側の端末3は、データのパケットを1パケットずつ受信、確認および送信を行うと通信効率が悪い。そこで、TCPでは、「ウィンドウ制御」が行われる。ウィンドウ制御とは、送信側の端末3が、データのパケットを1パケットずつ受信、確認および送信するのではなく、複数のデータのパケットを連続で送信する。すなわち、送信側の端末3は、複数のデータのパケットをウィンドウサイズと呼ばれる単位で管理し、ACKの確認応答番号を待つことなく、データのパケットを連続で送信する。このウィンドウ制御により通信効率が改善される。なお、ウィンドウ制御によって連続で送信されるデータのパケットのことを「連続パケット」というものとする。なお、連続パケットの個数は、例えば、特開2015−035709号公報に開示された内容により特定することができる。

0022

パケット解析装置1は、記憶部11および制御部12を有する。

0023

記憶部11は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性半導体メモリ素子等の記憶装置に対応する。記憶部11は、コネクション管理テーブル111、解析情報テーブル112および統計情報テーブル116を有する。解析情報テーブル112には、DATAテーブル113、ACKテーブル114および閾値テーブル115が含まれる。

0024

コネクション管理テーブル111は、コネクション毎に、送信元および宛先の通信情報を管理する。コネクション管理テーブル111は、キャプチャされたパケットのコネクション検索する際に用いられる。

0025

解析情報テーブル112は、解析情報を記憶する。解析情報テーブル112は、ネットワーク帯域が診断される際に用いられる。解析情報テーブル112には、DATAテーブル113、ACKテーブル114および閾値テーブル115が含まれる。DATAテーブル113は、データのパケットがキャプチャされる際に、データのパケットのインデックス番号到着時刻およびパケット長を記憶する。ACKテーブル114は、ACKが取得される際に、到着時刻やACKに対応するデータのパケットのインデックス番号を記憶する。閾値テーブル115は、閾値に利用するバイト数、閾値に利用する時間間隔および閾値を記憶する。DATAテーブル113、ACKテーブル114および閾値テーブル115は、いずれもコネクション毎にテーブルを有する。

0026

統計情報テーブル116は、統計情報を記憶する。統計情報テーブル116は、ネットワーク帯域の診断の最終的な統計を記憶する。なお、記憶部11の各種テーブルのデータ構造の一例は、後述する。

0027

制御部12は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部12は、例えば、ASIC(Application Specific IntegratedCircuit)やFPGA(Field Programmable Gate Array)などの集積回路電子回路に対応する。または、制御部12は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路に対応する。さらに、制御部12は、出力インタフェース121、通信インタフェース122、コネクション管理部123、クロストラヒック判定部124および帯域推定部125を有する。

0028

出力インタフェース121は、出力装置5とのインタフェースである。例えば、出力インタフェース121は、統計情報テーブル116に記憶された統計情報を編集し、出力装置5に出力する。

0029

通信インタフェース122は、端末3と端末4との間で通信されるパケットを、SW2を介してキャプチャする。通信インタフェース122は、キャプチャしたパケットをコネクション管理部123に引き渡す。

0030

コネクション管理部123は、キャプチャされたパケットのコネクションを管理する。例えば、コネクション管理部123は、コネクション管理テーブル111を参照し、キャプチャしたパケットと同じコネクション情報のパケットを、以前にキャプチャしたか否かを判定する。コネクション管理部123は、以前にキャプチャしていないと判定した場合、今回キャプチャしたパケットのコネクション情報をコネクション管理テーブル111に追加する。また、コネクション管理部123は、以前にキャプチャしていると判定した場合、何もしない。コネクション情報には、例えば、コネクションID、送信元のIPアドレス、送信元のポート番号、宛先のIPアドレスおよび宛先のポート番号が含まれる。また、コネクション管理部123は、今回キャプチャされたパケットがACKである場合には、コネクションIDおよび取得時刻を対応付けたACK情報をACKテーブル114に追加する。コネクション管理部123は、今回キャプチャされたパケットがDATAである場合には、コネクションIDおよび取得時刻を対応付けたDATA情報をDATAテーブル113に追加する。

0031

クロストラヒック判定部124は、クロストラヒックの影響を受けたACKを判定する。例えば、クロストラヒック判定部124は、ACKを待ってから送信されたDATAがキャプチャされた場合には、1つ前のACKおよび今回のACKをそれぞれ待ってから送信された2つのDATAの到着間隔を用いてネットワーク帯域を算出する。クロストラヒック判定部124は、算出したネットワーク帯域を下限の閾値として閾値テーブル115に設定する。一例として、連続パケットの個数が2個である場合とする。クロストラヒック判定部124は、1つ前のACKおよび今回のACKをそれぞれ待ってから送信された2つのDATAの到着間隔から、これらACKの間に送信された連続パケットの到着間隔を引いたDATAの到着間隔を算出する。クロストラヒック判定部124は、DATAの到着間隔およびDATAのサイズを式(1)に代入して、ネットワーク帯域を算出し、算出したネットワーク帯域を下限の閾値とする。ACKを待ってから送信されたDATAの到着間隔から算出したネットワーク帯域の推定値を下限の閾値とするのは、以下の理由による。すなわち、ACKを待ってから送信されたDATAの到着間隔から算出したネットワーク帯域の推定値は、ACKの到着間隔が正常であれば、受信側のネットワーク帯域より低くなるので、低くなる推定値を下限の閾値とする。

0032

クロストラヒック判定部124は、ACKを待たずに送信されたDATAがキャプチャされた場合には、連続で送信されたDATAの到着間隔を用いてネットワーク帯域を算出する。クロストラヒック判定部124は、算出したネットワーク帯域を上限の閾値として閾値テーブル115に設定する。一例として、連続パケットの個数が2個である場合とする。クロストラヒック判定部124は、連続パケットにおけるDATAの到着間隔を算出する。クロストラヒック判定部124は、DATAの到着間隔およびDATAのサイズを式(1)に代入して、ネットワーク帯域を算出し、算出したネットワーク帯域を上限の閾値とする。連続で送信されたDATAの到着間隔から算出したネットワーク帯域の推定値を上限の閾値とするのは、以下の理由による。すなわち、連続で送信されたDATAの到着間隔から算出したネットワーク帯域は、ACKの到着間隔が正常であれば、受信側のネットワーク帯域より高くなるので、高くなる推定値を上限の閾値とする。

0033

クロストラヒック判定部124は、ACKの到着間隔およびACK間のDATAのサイズを式(1)に代入して、ネットワーク帯域を算出する。クロストラヒック判定部124は、ACKの到着間隔を用いて算出したネットワーク帯域が、下限の閾値より小さければ、クロストラヒックの影響を受けたACKであると判定する。すなわち、ACKの到着間隔が広がった場合である。クロストラヒック判定部124は、ACKの到着間隔を用いて算出したネットワーク帯域が、上限の閾値よりで大きければ、クロストラヒックの影響を受けたACKであると判定する。すなわち、ACKの到着間隔が縮まった場合である。クロストラヒック判定部124は、ACKの到着間隔を用いて算出したネットワーク帯域が、下限の閾値より大きく、且つ上限の閾値より小さければ、クロストラヒックの影響を受けていないACKであると判定する。

0034

帯域推定部125は、受信側のネットワークの帯域を推定する。例えば、帯域推定部125は、クロストラヒック判定部124によってクロストラヒックの影響を受けたACKであると判定されたACKを帯域計測に不要なパケットであると判断し除去する。帯域推定部125は、クロストラヒック判定部124によってクロストラヒックの影響を受けていないACKであると判定されたACKを用いて算出したネットワーク帯域を受信側の端末3のネットワーク帯域として更新する。これにより、帯域推定部125は、クロストラヒックの影響を受けたACKを受信側の端末3のネットワーク帯域の計測時に除去することで、より正確な受信側の端末3のネットワーク帯域を計測できる。

0035

[閾値の算出方法]
クロストラヒック判定部124による閾値の算出方法を、図3Aおよび図3Bを参照して説明する。図3Aおよび図3Bは、実施例に係るクロストラヒック判定部による閾値の算出方法を示す図である。図3Aは、下限の閾値の算出方法を示す図である。図3Bは、上限の閾値の算出方法を示す図である。なお、連続パケットの個数は2個であるものとする。DATAのパケット長は1500バイト(byte)であるものとする。

0036

[下限の閾値について]
図3Aでは、ACKテーブル114には、ACKa0、a1のACK情報が格納されているとする。DATAテーブル113には、DATAd0、d1のDATA情報が格納されているとする。

0037

図3A左図および図3A右図に示すように、DATAd2がキャプチャされたとする。すると、クロストラヒック判定部124は、DATAd2がACKa1を待ってから送信されたので、以下のようにネットワーク帯域を算出する。すなわち、クロストラヒック判定部124は、ACKa0およびACKa1をそれぞれ待ってから送信されたDATAd0、d2の到着間隔を算出する。クロストラヒック判定部124は、算出した到着間隔から、これらACKa0、a1の間に送信された連続パケットd0、d1の到着間隔を引いたDATAの到着間隔を算出する。クロストラヒック判定部124は、DATAの到着間隔およびDATAのサイズを式(1)に代入して、ネットワーク帯域を算出し、算出したネットワーク帯域を下限の閾値とする。

0038

図3A左図では、送信側のネットワーク帯域が100Mbps(megabets per second)、受信側のネットワーク帯域が1Mbpsであるとする。すると、仮に受信側のネットワーク帯域そのものの通信であったとすると、DATAd0、d2の到着間隔は、24000μs(micro second)と算出される。連続パケットd0、d1の到着間隔は、120μsと算出されるとする。すると、DATAの到着間隔は、(24000−120)μsと算出される。そして、クロストラヒック判定部124は、DATAの到着間隔を式(1)のパケット間の間隔に代入し、DATAd2のパケット長を示す1500バイトを式(1)のパケットサイズに代入し、ネットワーク帯域を算出する。ここでは、ネットワーク帯域は、502.51Kbpsと算出し、算出したネットワーク帯域を下限の閾値とする。

0039

図3A右図では、送信側のネットワーク帯域が100Mbps、受信側のネットワーク帯域が90Mbpsであるとする。すると、仮に受信側のネットワーク帯域そのものの通信であったとすると、DATAd0、d2の到着間隔は、266μsと算出される。連続パケットd0、d1の到着間隔は、120μsと算出されるとする。すると、DATAの到着間隔は、(266−120)μsと算出される。そして、クロストラヒック判定部124は、DATAの到着間隔を式(1)のパケット間の間隔に代入し、DATAd2のパケット長を示す1500バイトを式(1)のパケットサイズに代入し、ネットワーク帯域を算出する。ここでは、ネットワーク帯域は、82.19Mbpsと算出し、算出したネットワーク帯域を下限の閾値とする。

0040

ここで、図3A左図では、送信側と受信側のネットワーク帯域の差が大きい場合である。かかる場合の下限の閾値502.51Kbpsは、受信側のネットワーク帯域1Mbpsの約0.5倍である。また、図3A右図では、送信側と受信側のネットワーク帯域の差が小さい場合である。かかる場合の下限の閾値82.19Mbpsは、受信側のネットワーク帯域90Mbpsの約0.9倍である。つまり、送信側の端末4が2つのDATAに対してACKを返信している場合には、クロストラヒック判定部124は、DATAの到着間隔から算出されるネットワーク帯域(下限の閾値)を、受信側のネットワーク帯域の1倍〜0.5倍の大きさに設定できる。これにより、クロストラヒック判定部124は、受信側のネットワーク帯域の計測の際に、下限の閾値を利用することで、受信側のネットワーク帯域の0.5倍より小さい数値フィルタすることができる。言い換えれば、クロストラヒック判定部124は、ACKの到着間隔が広がった場合のクロストラヒックの影響を受けたACKをネットワーク帯域の計測に不要なACKとして特定することができる。

0041

[上限の閾値について]
図3Bでは、ACKテーブル114には、ACKa10のACK情報が格納されているとする。DATAテーブル113には、DATAd10、d11のDATA情報が格納されているとする。

0042

図3B左図に示すように、DATAd11がキャプチャされたとする。すると、クロストラヒック判定部124は、DATAd11がACKを待たずに送信されたので、以下のようにネットワーク帯域を算出する。すなわち、クロストラヒック判定部124は、連続で送信されたDATAd10、d11の到着間隔およびDATAのサイズを式(1)に代入して、ネットワーク帯域を算出し、算出したネットワーク帯域を上限の閾値とする。

0043

ここで、図3B右図に示すように、ACKa10がクロストラヒックの影響を受けた場合には、ACKa10、a11の到着間隔がf0からf1のように縮まる。かかる場合には、クロストラヒック判定部124は、受信側のネットワーク帯域の計測の際に、上限の閾値を利用することで、受信側のネットワーク帯域の上限の閾値より大きい数値をフィルタすることができる。言い換えれば、クロストラヒック判定部124は、ACKの到着間隔が縮まった場合のクロストラヒックの影響を受けたACKをネットワーク帯域の計測に不要なACKとして特定することができる。

0044

[テーブルのデータ構造]
パケット解析装置1で用いられる各種テーブルのデータ構造を、図4図8を参照して説明する。図4は、コネクション管理テーブルのデータ構造の一例を示す図である。図5は、DATAテーブルのデータ構造の一例を示す図である。図6は、ACKテーブルのデータ構造の一例を示す図である。図7は、閾値テーブルのデータ構造の一例を示す図である。図8は、統計情報テーブルのデータ構造の一例を示す図である。

0045

図4に示すように、コネクション管理テーブル111は、送信元IP(Internet Protocol)111b、送信元ポート111c、送信先IP111dおよび送信先ポート111eをコネクションID(identification)111aに対応付けて記憶する。コネクションID111aは、コネクション毎に付けられるインデックス番号である。送信元IP111bは、送信元のIPアドレスである。送信元ポート111cは、TCPにおける送信元のポート番号である。送信先IP111dは、宛先のIPアドレスである。送信先ポート111eは、宛先のTCPにおける宛先のポート番号である。

0046

一例として、コネクションID111aが「0」である場合に、送信元IP111bとして「10.25.100.100」、送信元ポート111cとして「80」と記憶している。送信先IP111dとして「10.25.200.100」、送信先ポート111eとして「200」と記憶している。

0047

図5に示すように、DATAテーブル113は、コネクションID113a、データID113b、Seq番号113c、パケット長113dおよび到着時刻113eを対応付けて記憶する。なお、DATAテーブル113は、コネクションID113a毎にテーブルを有している。コネクションID113aは、コネクション毎に付けられるインデックス番号である。データID113bは、DATAのインデックス番号である。Seq番号113cは、DATAのシーケンス番号である。パケット長113dは、DATAのパケット長である。到着時刻113eは、DATAのパケット解析装置1への到着時刻である。

0048

一例として、コネクションID113aが「0」であってデータID113bが「0」である場合に、Seq番号113cとして「1500」、パケット長113dとして「1500」、到着時刻113eとして「1000」と記憶している。また、コネクションID113aが「0」であってデータID113bが「1」である場合に、Seq番号113cとして「3000」、パケット長113dとして「1500」、到着時刻113eとして「1120」と記憶している。

0049

図6に示すように、ACKテーブル114は、コネクションID114a、ACKID114b、ACK番号114c、到着時刻114dおよびデータID114eを対応付けて記憶する。なお、ACKテーブル114は、コネクションID114a毎にテーブルを有している。コネクションID114aは、コネクション毎に付けられるインデックス番号である。ACKID114bは、ACKのインデックス番号である。ACK番号114cは、ACKのACK番号(確認応答番号)である。すなわち、ACK番号114cには、次に送られてくる予定のDATAのSeq番号が設定される。到着時刻114dは、ACKのパケット解析装置1への到着時刻である。データID114eは、ACKに対応するDATAのインデックス番号(データID)である。すなわち、データID114eは、ACKID114bで示されるACKに対応するDATAであることを意味する。

0050

一例として、コネクションID114aが「0」であってACKID114bが「0」である場合に、ACK番号114cとして「3000」、到着時刻114dとして「3000」、データID114eとして「0」と記憶している。コネクションID114aが「0」であってACKID114bが「1」である場合に、ACK番号114cとして「6000」、到着時刻114dとして「3240」、データID114eとして「2」と記憶している。

0051

図7に示すように、閾値テーブル115は、コネクションID115a、グループID115b、閾値に利用するバイト数115c、閾値に利用する時間間隔115dおよび閾値115eを対応付けて記憶する。コネクションID115aは、コネクション毎に付けられるインデックス番号である。グループID115bは、閾値毎に付けられるグループ番号である。すなわち、グループID115bは、連続で送信されたDATAの到着間隔から算出する上限の閾値に付けられるグループ番号と、ACKを待ってから送信されたDATAの到着間隔から算出する下限の閾値に付けられるグループ番号を意味する。閾値に利用するバイト数115cは、閾値を算出する際に利用するDATAのパケットの長さである。閾値に利用する到着間隔115dは、閾値を算出する際に利用するDATAの到着間隔である。閾値115eは、閾値に利用するバイト数115cと閾値に利用する到着間隔115dとから算出される閾値である。

0052

一例として、コネクションID115aが「0」である場合に、グループID115bとして「0」、閾値に利用するバイト数115cとして「1500」、閾値に利用する到着間隔115dとして「120」、閾値115eとして「100」と記憶している。コネクションID115aが「0」である場合に、グループID115bとして「1」、閾値に利用するバイト数115cとして「1500」、閾値に利用する到着間隔115dとして「2280」、閾値115eとして「5.8」と記憶している。

0053

図8に示すように、統計情報テーブル116は、計測バイト数116bおよび計測時間間隔116cをコネクションID116aに対応付けて記憶する。コネクションID116aは、コネクション毎に付けられるインデックス番号である。計測バイト数116bは、計測された連続パケットのパケットサイズの合計である。計測時間間隔116cは、計測された連続パケットにおけるパケット間の到着時刻間隔の合計である。

0054

一例として、コネクションID116aが「0」である場合に、計測バイト数116bとして「3000」、計測時間間隔116cとして「240」と記憶している。

0055

[パケット解析処理のフローチャート]
次に、実施例に係るパケット解析処理のフローチャートを、図9A図9Cを参照して説明する。図9Aは、実施例に係るパケット解析処理のフローチャートを示す図である。図9Bは、データパケット受信時の処理のフローチャートを示す図である。図9Cは、ACKパケット受信時の処理のフローチャートを示す図である。なお、ここでは、連続パケットの個数は2個である場合とする。

0056

図9Aに示すように、通信インタフェース122は、パケットを受信したか否かを判定する(ステップS11)。パケットを受信していないと判定した場合(ステップS11;No)、通信インタフェース122は、パケットを受信するまで、判定処理を繰り返す。

0057

一方、パケットを受信したと判定した場合(ステップS11;Yes)、コネクション管理部123は、受信したパケットのヘッダ情報を抽出する(ステップS12)。例えば、コネクション管理部123は、IPヘッダから、送信元のIPアドレスおよび宛先のIPアドレスを抽出する。コネクション管理部123は、TCPヘッダから、送信元のポート番号、宛先のポート番号、シーケンス番号、ACK番号(確認応答番号)、パケット長などを抽出する。

0058

そして、コネクション管理部123は、コネクション管理テーブル111に記憶された情報から、今回受信したコネクション情報に対応するレコードを検索する(ステップS13)。ここでいうコネクション情報とは、送信元のIPアドレス、送信元のポート番号、宛先のIPアドレスおよび宛先のポート番号である。例えば、コネクション管理部123は、コネクション情報を検索条件として、コネクション管理テーブル111から該当するレコードを検索する。なお、送信元の情報と宛先の情報とが入れ替わった場合であっても、同じコネクションであることとする。

0059

そして、コネクション管理部123は、検索の結果、コネクション情報が未登録であるか否かを判定する(ステップS14)。コネクション情報が未登録でないと判定した場合(ステップS14;No)、コネクション管理部123は、ステップS16に移行する。

0060

一方、コネクション情報が未登録であると判定した場合(ステップS14;Yes)、コネクション管理部123は、コネクション情報を、コネクション管理テーブル111に登録する(ステップS15)。例えば、コネクション管理部123は、新たなコネクションID(コネクションID111a)に対して、送信元のIPアドレス(送信元IP111b)およびポート番号(送信元ポート111c)を追加する。加えて、コネクション管理部123は、同じレコードに、宛先のIPアドレス(送信先IP111d)およびポート番号(送信先ポート111e)を追加する。そして、コネクション管理部123は、ステップS16に移行する。

0061

ステップS16では、コネクション管理部123は、当該パケットがDATAであるか否かを判定する(ステップS16)。例えば、コネクション管理部123は、TCPヘッダのパケット長を参照し、パケット長が0ならば、ACKと判定し、パケット長が0より大きければ、DATAと判定する。

0062

当該パケットがDATAであると判定した場合(ステップS16;Yes)、コネクション管理部123は、データパケット受信時の処理へ移行すべく、ステップS21に移行する。一方、当該パケットがDATAでないと判定した場合(ステップS16;No)、すなわち当該パケットがACKである場合、コネクション管理部123は、ACKパケット受信時の処理へ移行すべく、ステップS31に移行する。

0063

[データパケット受信時の処理のフローチャート]
図9Bに示すように、ステップS21では、コネクション管理部123は、受信したパケットがDATAと判定されたので、当該DATAのDATA情報をDATAテーブル113に追加する(ステップS21)。追加する情報は、例えば、コネクションID(コネクションID113a)、受信したDATAのID(データID113b)、シーケンス番号(Seq番号113c)、パケット長(パケット長113d)およびDATAの観測点への到着時刻(到着時刻113e)である。観測点とは、パケット解析装置1のことを意味する。

0064

クロストラヒック判定部124は、DATAテーブル113およびACKテーブル114を用いて、受信したDATAがACKを待ってから送信されたDATAであるかを判定する(ステップS22)。例えば、クロストラヒック判定部124は、受信したDATAのシーケンス番号(Seq番号113c)が最新に受信されたACKの確認応答番号(ACK番号114c)と同じであれば、受信したDATAがACKを待ってから送信されたDATAであると判定する。一方、クロストラヒック判定部124は、受信したDATAのシーケンス番号(Seq番号113c)が最新に受信されたACKの確認応答番号(ACK番号114c)と同じでなければ、受信したDATAがACKを待ってから送信されたDATAでないと判定する。すなわち、受信したパケットが連続で送信されたDATAであると判定する。なお、かかる判定処理は、これに限定されず、受信したDATAの到着時刻113eと最新に受信されたACKの到着時刻114dとの比較により判定しても良い。

0065

受信したDATAがACKを待ってから送信されたDATAであると判定した場合には(ステップS22;Yes)、クロストラヒック判定部124は、DATAからネットワーク帯域の推定値を算出する(ステップS23)。すなわち、クロストラヒック判定部124は、ACKを待ってから送信されたDATAの到着間隔を利用して、下限の閾値を算出する。例えば、クロストラヒック判定部124は、DATAテーブル113を用いて、受信したDATAの到着時刻113eを取得する。クロストラヒック判定部124は、DATAテーブル113およびACKテーブル114を用いて、1つ前に受信されたACKを待ってから送信されたDATAの到着時刻113eを取得する。そして、クロストラヒック判定部124は、2つのDATAの到着時刻の到着間隔t1を算出する。また、クロストラヒック判定部124は、DATAテーブル113およびACKテーブル114を用いて、2つのACKの間に連続で送信されたDATAの到着時刻113eを取得する。そして、クロストラヒック判定部124は、1つ前に受信されたACKを待ってから送信されたDATAの到着時刻113eと、連続で送信されたDATAの到着時刻113eとの到着間隔t2を算出する。そして、クロストラヒック判定部124は、到着間隔t1から到着間隔t2を引いたDATAの到着間隔を算出する。そして、クロストラヒック判定部124は、DATAの到着間隔および受信したDATAのサイズを式(1)に代入して、ネットワーク帯域の推定値を算出する。

0066

クロストラヒック判定部124は、算出したネットワーク帯域の推定値を下限の閾値として閾値テーブル115に更新する(ステップS24)。そして、クロストラヒック判定部124は、次のパケットの処理をすべく、ステップS11に移行する。

0067

一方、受信したDATAがACKを待ってから送信されたDATAでないと判定した場合には(ステップS22;No)、クロストラヒック判定部124は、DATAからネットワーク帯域の推定値を算出する(ステップS25)。すなわち、クロストラヒック判定部124は、連続で送信されたDATAの到着間隔を利用して、上限の閾値を算出する。例えば、クロストラヒック判定部124は、受信したDATAの到着時刻113eを取得する。クロストラヒック判定部124は、DATAテーブル113を用いて、受信したDATAの1つ前に受信されたDATAの到着時刻113eを取得する。そして、クロストラヒック判定部124は、2つのDATAの到着時刻からDATAの到着間隔を算出する。そして、クロストラヒック判定部124は、DATAの到着間隔および受信したDATAのサイズを式(1)に代入して、ネットワーク帯域の推定値を算出する。

0068

クロストラヒック判定部124は、算出したネットワーク帯域の推定値を上限の閾値として閾値テーブル115に更新する(ステップS26)。そして、クロストラヒック判定部124は、次のパケットの処理をすべく、ステップS11に移行する。

0069

[ACKパケット受信時の処理のフローチャート]
図9Cに示すように、ステップS31では、コネクション管理部123は、受信したパケットがACKと判定されたので、当該ACKのACK情報をACKテーブル114に追加する(ステップS31)。追加する情報は、例えば、コネクションID(コネクションID114a)、受信したACKのID(ACKID114b)、ACK番号(ACK番号114c)、ACKの観測点への到着時刻(到着時刻114d)である。観測点とは、パケット解析装置1のことを意味する。

0070

クロストラヒック判定部124は、受信したACKからネットワーク帯域の推定値を算出する(ステップS32)。例えば、クロストラヒック判定部124は、ACKテーブル114を用いて、最新に受信されたACKの到着時刻114dと、1つ前に受信されたACKの到着時刻114dとの到着間隔を算出する。クロストラヒック判定部124は、DATAテーブル113およびACKテーブル114を用いて、ACKの間に送信されたDATAのパケット長113dを取得する。そして、クロストラヒック判定部124は、ACKの到着間隔およびACK間のDATAのサイズを式(1)に代入して、ネットワーク帯域の推定値を算出する。

0071

クロストラヒック判定部124は、閾値テーブル115を用いて、ACKから算出したネットワーク帯域の推定値が下限の閾値以上であるか否かを判定する(ステップS33)。ACKから算出したネットワーク帯域の推定値が下限の閾値以上でないと判定した場合には(ステップS33;No)、クロストラヒック判定部124は、最新に受信されたACKがクロストラヒックの影響を受けたACKであると判定する。そして、クロストラヒック判定部124は、ネットワーク帯域の計測に不要なパケットであると判断し、ステップS11に移行する。

0072

一方、ACKから算出したネットワーク帯域の推定値が下限の閾値以上であると判定した場合には(ステップS33;Yes)、クロストラヒック判定部124は、以下の処理を行う。すなわち、クロストラヒック判定部124は、ACKから算出したネットワーク帯域の推定値が上限の閾値以下であるか否かを判定する(ステップS34)。ACKから算出したネットワーク帯域の推定値が上限の閾値以下でないと判定した場合には(ステップS34;No)、クロストラヒック判定部124は、最新に受信されたACKがクロストラヒックの影響を受けたACKであると判定する。そして、クロストラヒック判定部124は、ネットワーク帯域の計測に不要なパケットであると判断し、ステップS11に移行する。

0073

一方、ACKから算出したネットワーク帯域の推定値が上限の閾値以下であると判定した場合には(ステップS34;Yes)、帯域推定部125は、以下の処理を行う。すなわち、帯域推定部125は、受信側のネットワーク帯域の推定値を、ACKから算出したネットワーク帯域の推定値に更新する(ステップS35)。そして、帯域推定部125は、次のパケットの処理をすべく、ステップS11に移行する。

0074

[パケット解析処理の具体例]
次に、実施例に係るパケット解析処理の具体例を、図10および図11を参照して説明する。図10は、ACK間隔が広がる場合のパケット解析処理の具体例を示す図である。図11は、ACK間隔が縮まる場合のパケット解析処理の具体例を示す図である。なお、図10および図11では、送信側のネットワーク帯域が100Mbps、受信側のネットワーク帯域が50Mbpsであるとする。また、DATAのサイズは、1500バイトであり、2つのDATAに対してACKを返信している場合とする。

0075

[ACK間隔が広がる場合のパケット解析処理の具体例]
図10に示すように、DATAd25、d26がクロストラヒックの影響を受けたため、DATAd25、d26に対して返信されるACKa33と1つ前に返信されるACKa32との間隔が広がる場合である。

0076

例えば、パケット解析装置1は、DATAd27を受信した場合には、DATAd27がACKa32を待ってから送信されたDATAであるので、DATAの到着間隔を利用して以下のように下限の閾値を算出する。すなわち、パケット解析装置1は、ACKa32および1つ前のACKa31をそれぞれ待ってから送信された2つのDATAd25、d27の到着間隔を算出する。2つのDATAd25、d27の到着間隔は、符号t10で示される間隔である。パケット解析装置1は、算出した到着間隔から、これらACKa32、a31の間に送信された連続DATAd21、d22の到着間隔を引いたDATAの到着間隔を算出する。連続DATAd21、d22の到着間隔は、符号t11で示される間隔である。パケット解析装置1は、DATAの到着間隔およびDATAのサイズを式(1)に代入して、ネットワーク帯域を算出し、算出したネットワーク帯域を下限の閾値とする。

0077

ここでは、DATAd25、d27の到着間隔は、480μsであり、連続DATAd21、d22の到着間隔は、120μsであったとする。すると、パケット解析装置1は、以下の式(2)のように、下限の閾値を算出する。
下限の閾値=8bits×1500bytes/(480μs−120μs)=33.33Mbps・・・式(2)

0078

次に、パケット解析装置1は、DATAd28を受信した場合には、DATAd28がACKa32を待ってから送信されたDATAでなく、連続で送信されたDATAであるので、連続で送信されたDATAの到着間隔を利用して以下のように上限の閾値を算出する。すなわち、パケット解析装置1は、連続DATAd21、d22の到着間隔を算出する。パケット解析装置1は、連続DATAの到着間隔およびDATAのサイズを式(1)に代入して、ネットワーク帯域を算出し、算出したネットワーク帯域を上限の閾値とする。

0079

ここでは、連続DATAd21、d22の到着間隔は、120μsであったとする。すると、パケット解析装置1は、以下の式(3)のように、上限の閾値を算出する。
上限の閾値=8bits×1500bytes/120μs=100Mbps・・・式(3)

0080

次に、パケット解析装置1は、ACKa33を受信した場合には、受信したACKa33から以下のようにネットワーク帯域の推定値を算出する。すなわち、パケット解析装置1は、ACKa33と、1つ前に受信されたACKa32との到着間隔およびDATAd23,d24のサイズを式(1)に代入して、ネットワーク帯域の推定値を算出する。

0081

ここでは、ACKa33と、1つ前に受信されたACKa32との到着間隔は、960μsであったとする。すると、パケット解析装置1は、受信したACKa33から、以下の式(4)のようにネットワーク帯域の推定値を算出する。
<2>のネットワーク帯域=8bits×(2×1500bytes)/960μs=25Mbps・・・式(4)

0082

そして、パケット解析装置1は、ACKa33から算出したネットワーク帯域の推定値が下限の閾値(33.33Mbps)以上且つ上限の閾値(100Mbps)以下であるか否かを判定する。ここでは、ACKa33から算出したネットワーク帯域の推定値は、25Mbpsであるので、下限の閾値(33.33Mbps)以上且つ上限の閾値(100Mbps)以下でないと判定される。そこで、パケット解析装置1は、ACKa33がクロストラヒックの影響を受けたACKであると判定する。したがって、パケット解析装置1は、ACKa33をネットワーク帯域の計測に不要なパケットであると判断する。

0083

ここで、パケット解析装置1は、ACKa32を受信した場合には、受信したACKa32からネットワーク帯域の推定値を算出する。ここでは、1つ前に受信されたACKa31との到着間隔は、480μsであったとする。すると、パケット解析装置1は、受信したACKa32から、以下の式(5)のようにネットワーク帯域の推定値を算出する。
<1>のネットワーク帯域=8bits×(2×1500bytes)/480μs=50Mbps・・・式(5)

0084

そして、パケット解析装置1は、ACKa32から算出したネットワーク帯域の推定値が下限の閾値(33.33Mbps)以上且つ上限の閾値(100Mbps)以下であるか否かを判定する。ここでは、ACKa32から算出したネットワーク帯域の推定値は、50Mbpsであるので、下限の閾値(33.33Mbps)以上且つ上限の閾値(100Mbps)以下であると判定される。そこで、パケット解析装置1は、ACKa32がクロストラヒックの影響を受けたACKでないと判定する。したがって、パケット解析装置1はACKa32からネットワーク帯域の推定値を算出し、受信側のネットワーク帯域の推定値とする。ここでは、受信側のネットワーク帯域の推定値は、式(5)のように50Mbpsとして算出される。

0085

また、パケット解析装置1は、ACKa34を受信した場合には、受信したACKa34からネットワーク帯域の推定値を算出する。ここでは、1つ前に受信されたACKa33との到着間隔は、480μsであったとする。すると、パケット解析装置1は、受信したACKa34から、以下の式(6)のようにネットワーク帯域の推定値を算出する。
<3>のネットワーク帯域=8bits×(2×1500bytes)/480μs=50Mbps・・・式(6)

0086

そして、パケット解析装置1は、ACKa34から算出したネットワーク帯域の推定値が下限の閾値(33.33Mbps)以上且つ上限の閾値(100Mbps)以下であるか否かを判定する。ここでは、ACKa34から算出したネットワーク帯域の推定値は、50Mbpsであるので、下限の閾値(33.33Mbps)以上且つ上限の閾値(100Mbps)以下であると判定される。そこで、パケット解析装置1は、ACKa34がクロストラヒックの影響を受けたACKでないと判定する。したがって、パケット解析装置1は、ACKa32およびACKa34からネットワーク帯域の推定値を算出し、受信側のネットワーク帯域の推定値とする。ここでは、パケット解析装置1は、以下の式(7)のように受信側のネットワーク帯域の推定値として算出する。
受信側のネットワーク帯域の推定値=8bits×(4×1500bytes)/2×480μs=50Mbps・・・式(7)

0087

[ACK間隔が縮まる場合のパケット解析処理の具体例]
図11に示すように、ACKa51がクロストラヒックの影響を受けたため、ACKa51とACKa52とのACK間隔が縮まる場合である。

0088

例えば、パケット解析装置1は、図10で示したように、DATAを受信した場合には、DATAがACKを待ってから送信されたDATAであれば、DATAの到着間隔を利用して下限の閾値を算出する。ここでは、パケット解析装置1は、下限の閾値を、式(2)で示したように、33.33Mbpsと算出するとする。

0089

次に、パケット解析装置1は、DATAを受信した場合には、DATAがACKを待ってから送信されたDATAでなく、連続で送信されたDATAであれば、連続で送信されたDATAの到着間隔を利用して上限の閾値を算出する。ここでは、連続DATAの到着間隔は、120μsであったとする。すると、パケット解析装置1は、以下の式(8)のように、上限の閾値を算出する。
上限の閾値=8bits×1500bytes/120μs=100Mbps・・・式(8)

0090

次に、パケット解析装置1は、ACKa52を受信した場合には、受信したACKa52から以下のようにネットワーク帯域の推定値を算出する。すなわち、パケット解析装置1は、ACKa52と、1つ前に受信されたACKa51との到着間隔および2つのDATAのサイズを式(1)に代入して、ネットワーク帯域の推定値を算出する。

0091

ここでは、ACKa52と、1つ前に受信されたACKa51との到着間隔は、160μs(<1´>)であったとする。すると、パケット解析装置1は、受信したACKa52から、以下の式(9)のようにネットワーク帯域の推定値を算出する。
<1´>のネットワーク帯域=8bits×(2×1500bytes)/160μs=150Mbps・・・式(9)

0092

そして、パケット解析装置1は、ACKa52から算出したネットワーク帯域の推定値が下限の閾値(33.33Mbps)以上且つ上限の閾値(100Mbps)以下であるか否かを判定する。ここでは、ACKa52から算出したネットワーク帯域の推定値は、150Mbpsであるので、上限の閾値(100Mbps)以下でないと判定される。そこで、パケット解析装置1は、ACKa52がクロストラヒックの影響を受けたACKであると判定する。したがって、パケット解析装置1は、ACKa52をネットワーク帯域の計測に不要なパケットであると判断する。

0093

また、パケット解析装置1は、ACKa53を受信した場合には、受信したACKa53からネットワーク帯域の推定値を算出する。ここでは、1つ前に受信されたACKa52との到着間隔は、480μsであったとする。すると、パケット解析装置1は、受信したACKa53から、以下の式(10)のようにネットワーク帯域の推定値を算出する。
<2´>のネットワーク帯域=8bits×(2×1500bytes)/480μs=50Mbps・・・式(10)

0094

そして、パケット解析装置1は、ACKa53から算出したネットワーク帯域の推定値が下限の閾値以上(33.33Mbps)且つ上限の閾値(100Mbps)以下であるか否かを判定する。ここでは、ACKa53から算出したネットワーク帯域の推定値は、50Mbpsであるので、下限の閾値以上且つ上限の閾値以下であると判定される。そこで、パケット解析装置1は、ACKa53がクロストラヒックの影響を受けたACKでないと判定する。したがって、パケット解析装置1はACKa53からネットワーク帯域の推定値を算出し、受信側のネットワーク帯域の推定値とする。ここでは、受信側のネットワーク帯域の推定値は、式(10)のように50Mbpsとして算出される。

0095

また、パケット解析装置1は、ACKa54を受信した場合には、受信したACKa54からネットワーク帯域の推定値を算出する。ここでは、1つ前に受信されたACKa53との到着間隔は、480μsであったとする。すると、パケット解析装置1は、受信したACKa54から、以下の式(11)のようにネットワーク帯域の推定値を算出する。
<3´>のネットワーク帯域=8bits×(2×1500bytes)/480μs=50Mbps・・・式(11)

0096

そして、パケット解析装置1は、ACKa54から算出したネットワーク帯域の推定値が下限の閾値(33.33Mbps)以上且つ上限の閾値(100Mbps)以下であるか否かを判定する。ここでは、ACKa54から算出したネットワーク帯域の推定値は、50Mbpsであるので、下限の閾値以上且つ上限の閾値以下であると判定される。そこで、パケット解析装置1は、ACKa54がクロストラヒックの影響を受けたACKでないと判定する。したがって、パケット解析装置1は、ACKa53およびACKa54からネットワーク帯域の推定値を算出し、受信側のネットワーク帯域の推定値とする。ここでは、パケット解析装置1は、以下の式(12)のように受信側のネットワーク帯域の推定値として算出する。
受信側のネットワーク帯域の推定値=8bits×(4×1500bytes)/2×480μs=50Mbps・・・式(12)

0097

これにより、パケット解析装置1は、クロストラヒックの影響を受けたACKを特定し、受信側の端末3のネットワーク帯域の計測時に除去することで、より正確な受信側の端末3のネットワーク帯域を計測できる。

0098

[実施例の効果]
上記実施例によれば、パケット解析装置1は、送信側の端末4と受信側の端末3との間で通信されるパケットを送信側の端末4と受信側の端末3との間のネットワークのいずれかの地点で取得する。パケット解析装置1は、取得したパケットと取得時刻を対応付けて記憶する。パケット解析装置1は、受信側の端末3から送信された第1のACKパケットの取得から該第1のACKパケットの次のACKパケットである第2のACKパケットの取得までの間に送信側の端末4から送信されたデータパケットの帯域が、第1のACKパケットおよび第2のACKパケットを待ってからそれぞれ送信された2つのデータパケットの取得間隔を用いて得られる帯域より小さい、または第1のACKパケットを待たずに送信されたデータパケットを含む隣接する2つのデータパケットの取得間隔を用いて得られる帯域より大きい場合に、第2のACKパケットを帯域計測に不要なパケットであると判定する。かかる構成によれば、パケット解析装置1は、キャプチャしたパケットから、受信側の端末3のネットワーク帯域の算出に不要なACKパケットを特定し、排除することができる。この結果、パケット解析装置1は、より正確な受信側の端末3のネットワーク帯域を計測できる。

0099

また、上記実施例によれば、パケット解析装置1は、第1のACKパケットを待たずに送信されたデータパケットを取得した場合には、第1のACKパケットを待ってから送信されたデータパケットおよび前記第1のACKパケットを待たずに送信されたデータパケットの取得間隔を用いて帯域を算出し、算出した帯域を下限の閾値として更新する。パケット解析装置1は、第2のACKパケットを待ってから送信されたデータパケットを取得した場合には、第1のACKパケットおよび第2のACKパケットをそれぞれ待ってから送信された2つのデータパケットの取得間隔を用いて帯域を算出し、算出した帯域を上限の閾値として更新する。パケット解析装置1は、第1のACKパケットおよび第2のACKパケットの取得間隔を用いて得られる帯域が、下限の閾値より小さい、または上限の閾値より大きい場合に、第2のACKパケットを帯域計測に不要なパケットであると判定する。係る構成によれ、パケット解析装置1は、パケットが到着するごとに、動的に閾値を更新するので、閾値をパケットの挙動により自動的に変更することができる。言い換えると、パケット解析装置1は、上限の閾値および下限の閾値を、ネットワークの状況に応じて更新することができる。この結果、パケット解析装置1は、帯域計測に不要なパケットを正確に特定することができる。

0100

[その他]
なお、パケット解析装置1は、既知パーソナルコンピュータワークステーションなどの情報処理装置に、上記したコネクション管理部123、クロストラヒック判定部124および帯域推定部125などの各機能を搭載することによって実現することができる。

0101

また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合具体的態様は図示のものに限られず、その全部または一部を、各種の負荷使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、通信インタフェース122とコネクション管理部123とを1個の部として統合しても良い。一方、クロストラヒック判定部124を、閾値を算出する算出部と、クロストラヒックを判定する判定部とに分散しても良い。また、コネクション管理テーブル111、解析情報テーブル112および統計情報テーブル116をパケット解析装置1の外部装置としてネットワーク経由で接続するようにしても良い。

0102

また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示したパケット解析装置1と同様の機能を実現するパケット解析プログラムを実行するコンピュータの一例を説明する。図12は、パケット解析プログラムを実行するコンピュータの一例を示す図である。

0103

図12に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付け入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報一時記憶するメモリ201と、HDD205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。

0104

ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、パケット解析プログラム205aおよびパケット解析関連情報205bを記憶する。

0105

CPU203は、パケット解析プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、パケット解析装置1の各機能部に対応する。パケット解析関連情報205bは、コネクション管理テーブル111、解析情報テーブル112、統計情報テーブル116に対応する。そして、例えばリムーバブルディスク211が、パケット解析プログラム205aなどの各情報を記憶する。

実施例

0106

なお、パケット解析プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスクFD)、CD−ROMDVDディスク光磁気ディスクICカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからパケット解析プログラム205aを読み出して実行するようにしても良い。

0107

1パケット解析装置
11 記憶部
12 制御部
111コネクション管理テーブル
112解析情報テーブル
113DATAテーブル
114ACKテーブル
115閾値テーブル
116統計情報テーブル
121出力インタフェース
122通信インタフェース
123コネクション管理部
124クロストラヒック判定部
125帯域推定部
2 SW
3,4端末
5 出力装置

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ