JP2016165067A - スループット計測プログラム、スループット計測方法及びスループット計測装置 - Google Patents

スループット計測プログラム、スループット計測方法及びスループット計測装置 Download PDF

Info

Publication number
JP2016165067A
JP2016165067A JP2015044965A JP2015044965A JP2016165067A JP 2016165067 A JP2016165067 A JP 2016165067A JP 2015044965 A JP2015044965 A JP 2015044965A JP 2015044965 A JP2015044965 A JP 2015044965A JP 2016165067 A JP2016165067 A JP 2016165067A
Authority
JP
Japan
Prior art keywords
throughput
time interval
measurement
ack
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015044965A
Other languages
English (en)
Other versions
JP6459645B2 (ja
Inventor
岡田 純代
Sumiyo Okada
純代 岡田
祐士 野村
Yuji Nomura
祐士 野村
飯塚 史之
Fumiyuki Iizuka
史之 飯塚
尚義 大川
Naoyoshi Okawa
尚義 大川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015044965A priority Critical patent/JP6459645B2/ja
Priority to US15/054,898 priority patent/US10110459B2/en
Publication of JP2016165067A publication Critical patent/JP2016165067A/ja
Application granted granted Critical
Publication of JP6459645B2 publication Critical patent/JP6459645B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通信のボトルネック区間で他端末のトラフィックを除いた空き帯域を使い切ったときのスループットの実測値である最大実効スループットを計測する。【解決手段】パケット分類部12が、受信部11により受信されたパケットからTCPパケットを抽出し、DATAパケットをDATAパケット処理部13に渡し、ACKパケットをACKパケット処理部14へ渡す。そして、DATAパケット処理部13が受信時刻等のDATAパケットの情報を記憶部15に記録し、ACKパケット処理部14が受信時刻、ACK番号等のACKパケットの情報を記憶部15に記録する。そして、RTT算出部16が記憶部15の情報に基づいてRTTを算出し、スループット算出部17が、RTTがACK番号の順に増加している時間区間を特定し、特定した時間区間のスループットを算出する。【選択図】図5

Description

本発明は、スループット計測プログラム、スループット計測方法及びスループット計測装置に関する。
端末間、サーバ−端末間等の通信では、端末の状態、サーバの状態、ネットワークの帯域不足及び経由する機器の状態によって通信速度が影響を受け、通信速度を表す指標として、スループットが用いられる。
図18は、スループットを説明するための図である。図18に示すように、スループットには、実効スループットと最大実効スループットがある。実効スループットは、実際に利用できた単位時間当たりの処理能力(データ転送量)である。一方、最大実効スループットは、ボトルネック区間で他端末のトラフィックを除いた空き帯域を使い切ったときのスループットである。
図18において、伝送路を独占した場合のスループットが100Mbps(毎秒100メガビット)であるとし、他端末が50Mbps分の帯域を使用しているとすると、最大実効スループットは50Mbpsである。一方、計測できる実効スループットは、最大実効スループットより小さく、例えば30Mbpsである。ネットワークの空き帯域がフルに使用されているか否かは、最大実効スループットにより判断される。
なお、データ送受信に対する寄与のないデータ送受信非実行期間を省いたデータ送受信期間に基づいて算出される最大スループットを上限としてレート制御を行うことで、確実で効率的なレート設定に基づくデータ送信を実現する従来技術がある。
また、NACKの受信時刻とNACKの受信直前に再送したデータの送信時刻とに基づいて求められる時間間隔がRTT(Round Trip Time)より小さい場合にNACKを破棄することで、無線リソースの効率的な使用及びシステムスループットを改善する従来技術がある。
特開2006−279283号公報 特開2013−34048号公報
通信の遅延がネットワークの帯域不足が原因で発生しているか否かは、ネットワークの空き帯域がフルに使用されているか否かで判断される。しかしながら、現在計測できるスループットは実効スループットであり、他端末が使用する帯域は固定でないため、ネットワークの空き帯域がフルに使用されているか否かの判断に用いられる最大実効スループットの測定は困難であるという問題がある。
本発明は、1つの側面では、最大実効スループットを算出することができるスループット計測プログラム、スループット計測方法及びスループット計測装置を提供することを目的とする。
本願の開示するスループット計測プログラムは、1つの態様において、送信元装置から送信されて送信先装置で受信される複数のデータパケットをネットワーク上の観測点において取得する。そして、スループット計測プログラムは、前記送信元装置から送られた各データパケットの取得から各データパケットに対する応答パケットの取得までにかかる往復時間を複数算出する。そして、スループット計測プログラムは、算出した複数の往復時間が応答パケットの識別番号順に大きくなっている計測時間区間を特定する。そして、スループット計測プログラムは、特定した計測時間区間に前記送信元装置から送信された複数のデータパケットのデータ量と前記計測時間区間により前記計測時間区間のスループットを算出する。
1実施態様によれば、最大実効スループットを算出することができる。
図1Aは、最大実効スループットの計測を説明するための第1の図である。 図1Bは、最大実効スループットの計測を説明するための第2の図である。 図2は、実施例に係るスループット計測装置による計測方法を説明するための図である。 図3Aは、ACK番号を説明するための図である。 図3Bは、ACK番号の差がバイト数を表すことを説明するための図である。 図4は、実施例に係るスループット計測装置が設置される位置を示す図である。 図5は、スループット計測装置の機能構成を示す図である。 図6は、Ethernet(登録商標、以下同様)ヘッダを示す図である。 図7は、IPヘッダを示す図である。 図8は、TCPヘッダを示す図である。 図9は、記憶部の一例を示す図である。 図10は、計測グループを説明するための図である。 図11は、表示例#1を示す図である。 図12は、表示例#2を示す図である。 図13は、表示例#3を示す図である。 図14は、表示例#4を示す図である。 図15は、表示例#5を示す図である。 図16は、スループット計測装置による処理のフローを示すフローチャートである。 図17は、実施例に係るスループット計測プログラムを実行するコンピュータのハードウェア構成を示す図である。 図18は、スループットを説明するための図である。
以下に、本願の開示するスループット計測プログラム、スループット計測方法及びスループット計測装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、最大実効スループットの計測について説明する。図1A及び図1Bは、最大実効スループットの計測を説明するための図である。図1Aは、伝送路のイメージ図であり、図1Bは、パケットの流れを示すラダー図である。
図1Aに示すように、太枠で示される実効スループットとして得られる値は、変動するスループットを平均した値であり、他端末のトラフィックを除いた空き帯域を使い切ったときのスループットを計測することで最大実効スループットが得られる。したがって、最大実効スループットの計測は、他端末のトラフィックを除いた空き帯域を使い切った状態にある時間区間を特定し、特定した時間区間におけるスループットを計測することで行うことができる。
ボトルネック区間で他端末のトラフィックを除いた空き帯域を使い切った状態にある時間区間では、図1Bに示すように、転送されるパケットに待ちが発生し、パケットの送信から受信までに要する時間がパケット毎に増加する。このため、パケットの送信から受信までに要する時間がパケット毎に増加する時間区間8でスループットを計測すれば、最大実効スループットを計測することができる。
また、受信側の端末は、パケットを受信するとACK(Acknowledgment)を返す。したがって、送信側でパケットを送信してからACKを受信するまでに要する時間がパケット毎に増加する時間区間9でスループットを計測することによっても、最大実効スループットを計測することができる。
そこで、実施例に係るスループット計測装置は、送信側でパケットを送信してからACKを受信するまでに要する時間がパケット毎に増加する時間区間でスループットを計測する。図2は、実施例に係るスループット計測装置による計測方法を説明するための図である。図2では、サーバ1が基地局2を経由して端末3にDATA#1〜DATA#5で表されるDATAパケットを送信する。サーバ1と基地局2は有線接続され、基地局2と端末3は無線接続される。ここでは基地局2と端末3との間の無線区間がボトルネック区間であるとする。
ボトルネック区間で、帯域を使い切っているとき、基地局配下の端末増加により他端末のフレームに割り込まれる、あるいは、電波状態悪化によりDATAパケットが複数フレームに分割される等の理由により、基地局2で送信待ちが発生する。
図2では、DATA#1、DATA#2及びDATA#5がそれぞれ2つのフレームに分割され、送信待ちが発生する。また、DATA#4は3つのフレームに分割され、送信待ちが発生する。また、DATA#3、DATA#4及びDATA#5は他端末のフレームにより割り込まれることによっても送信待ちが発生する。
端末3は、DATA#1〜DATA#5を受信すると、それぞれACK#1〜ACK#5で表されるACKを返す。そして、サーバ1は、ACK#1〜ACK#5をそれぞれ時刻TA1〜TA5で受信する。ここで、RTT(Round Trip Time)#1〜RTT#5を、それぞれDATA#1〜DATA#5が送信されてからACK#1〜ACK#5が受信されるまでの時間とすると、RTT#1<RTT#2<RTT#3<RTT#4<RTT#5の関係がある。すなわち、基地局2で送信待ちがあると、RTTは増加する。
そこで、実施例に係るスループット計測装置は、RTTが増加したときのACK(ACK#1〜ACK#5)を1つの計測グループとし、先頭ACKと最終ACKの間隔(受信時刻差)から最大実効スループットを算出する。すなわち、実施例に係るスループット計測装置は、
スループット[bps]=8×(Ack5−Ack1)/(TA5−TA1
により、最大実効スループットを算出する。ここで、Ack5はACK#5のACK番号であり、Ack1はACK#1のACK番号である。ACK番号の差は、送信されたデータのバイト数を表す。その理由は以下のとおりである。
図3AはACK番号を説明するための図であり、図3BはACK番号の差がバイト数を表すことを説明するための図である。図3Aに示すように、DATA#1のシーケンス番号を1001とし、パケットサイズを500とすると、ACK#1のACK番号Ack1は1501である。すなわち、TCP(Transmission Control Protocol)のACK番号は、次に送ってほしいDATAパケットのシーケンス番号であり、ACK番号−1のシーケンス番号までのデータを受信側が受け取ったことを表す。
同様に、DATA#2のシーケンス番号を1501とし、パケットサイズを500とすると、ACK#2のACK番号Ack2は2001であり、DATA#3のシーケンス番号を2001とし、パケットサイズを500とすると、ACK#3のACK番号Ack3は2501である。DATA#4のシーケンス番号を2501とし、パケットサイズを500とすると、ACK#4のACK番号Ack4は3001であり、DATA#5のシーケンス番号を3001とし、パケットサイズを500とすると、ACK#5のACK番号Ack5は3501である。
したがって、図3Bに示すように、送信側がACK#1からACK#2を受信する間に、受信側はDATA#2の500バイト(Ack2−Ack1=2001−1501=500)を受信する。送信側がACK#2からACK#3を受信する間に、受信側はDATA#3の500バイト(Ack3−Ack2=2501−2001=500)を受信する。送信側がACK#3からACK#4を受信する間に、受信側はDATA#4の500バイト(Ack4−Ack3=3001−2501=500)を受信する。送信側がACK#4からACK#5を受信する間に、受信側はDATA#5の500バイト(Ack5−Ack4=3501−3001=500)を受信する。
これらをまとめると、送信側がACK#1からACK#5を受信する間に、受信側はDATA#2からDATA#5を受信し、ACK#5のACK番号−ACK#1のACK番号=Ack5−Ack1=DATA#2からDATA#5のデータサイズ合計となる。したがって、ACK番号の差は、送信されたデータのバイト数を表す。
次に、実施例に係るスループット計測装置について説明する。図4は、実施例に係るスループット計測装置が設置される位置を示す図である。図4に示すように、サーバ1から送信されるデータは、基地局2を経由してスマートフォーン等の端末3に無線で送信される。あるいは、サーバ1から送信されるデータは、スイッチ4を経由してPC(Personal Computer)等の端末5に有線で送信される。
このようなサーバ1から端末3への通信において、ボトルネック区間は、基地局2と端末3との間の無線区間となる場合がある。このとき、最大実効スループットを計測したい部分は、基地局2と端末3との間である。また、ACKパケットは、基地局2を経由して端末3からサーバ1へ送信される。
そこで、実施例に係るスループット計測では、スループット計測装置10は、基地局2とサーバ1の間の有線区間に設置され、ACKパケットの受信時刻を使ってボトルネック区間の最大実効スループットを推測する。スループット計測装置10は、TAP6を用いてネットワーク信号を分岐させて取り出す。ただし、スループット計測装置10は、TAP6の代わりにスイッチを用いてミラーポートにコピーされた信号を受信してもよい。
図5は、スループット計測装置10の機能構成を示す図である。図5に示すように、スループット計測装置10は、受信部11と、パケット分類部12と、DATAパケット処理部13と、ACKパケット処理部14と、記憶部15と、RTT算出部16と、スループット算出部17と、表示制御部18とを有する。
受信部11は、サーバ1と基地局2との間の有線区間でTAP6から分岐された信号を受信し、パケット分類部12に渡す。パケット分類部12は、受信した信号のヘッダ情報に基づき解析対象となるTCPパケットを抽出する。パケット分類部12は、Ethernetヘッダ及びIP(Internet Protocol)ヘッダを見てTCPパケットを抽出する。
図6は、Ethernetヘッダを示す図である。図6に示すように、Ethernetヘッダには、6バイトの宛先アドレスと、6バイトの送信元アドレスと、2バイトのタイプが含まれる。宛先アドレスは宛先のMAC(Media Access Control)アドレスであり、送信元アドレスは送信元のMACアドレスである。タイプはパケットの種類を示し、タイプが0x0800であればパケットはIPv4のIPパケットである。
図7は、IPヘッダを示す図である。図7に示すように、IPヘッダには、8ビットのプロトコルと、32ビットの送信元IPアドレスと、32ビットの宛先IPアドレスが含まれる。プロトコルは、上位にあたるトランスポート層のネットワーク・プロトコルの種類を示す。プロトコルが6であればパケットはTCPパケットである。送信元IPアドレスは送信元のIPアドレスであり、宛先IPアドレスは宛先のIPアドレスである。
パケット分類部12は、IPヘッダの送信元IPアドレス及び宛先IPアドレス、TCPヘッダの送信元ポート番号及び宛先ポート番号の組合せにより、コネクションを特定し、コネクション毎にTCPパケットを分類する。
図8は、TCPヘッダを示す図である。図8に示すように、TCPヘッダには、16ビットの送信元ポート番号と、16ビットの宛先ポート番号と、32ビットのシーケンス番号と、32ビットのACK番号が含まれる。送信元ポート番号は、送信元のポート番号であり、宛先ポート番号は宛先のポート番号である。
パケット分類部12は、抽出したTCPパケットのデータサイズが0でないときにDATAパケットであると判定してDATAパケット処理部13にTCPパケットを渡す。パケット分類部12は、抽出したTCPパケットのデータサイズが0のときにACKパケットであると判定してACKパケット処理部14にTCPパケットを渡す。
DATAパケット処理部13は、DATAパケットを処理する。DATAパケット処理部13は、パケット情報記録部13aを有する。パケット情報記録部13aは、パケット分類部12から渡されたDATAパケットの受信時刻、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、シーケンス番号及びサイズを記憶部15に記録する。
ACKパケット処理部14は、ACKパケットを処理する。ACKパケット処理部14は、パケット情報記録部14aを有する。パケット情報記録部14aは、パケット分類部12から渡されたACKパケットの受信時刻、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号及びACK番号を記憶部15に記録する。
記憶部15は、DATAパケット及びACKパケットの情報を記憶する。図9は、記憶部15の一例を示す図である。図9に示すように、記憶部15は、受信時刻、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、サイズ、シーケンス番号及びACK番号をパケット毎に記憶する。
例えば、記憶部15は、DATAパケットを「2015−02−17 17:42:22.065882」に受信し、DATAパケットの送信元のIPアドレス及びポート番号は「IPアドレスA」及び「ポート番号A」である。DATAパケットの宛先のIPアドレス及びポート番号は「IPアドレスB」及び「ポート番号B」であり、サイズは「500」(byte)であり、シーケンス番号は「1001」である。
また、記憶部15は、例えば、ACKパケットを「2015−02−17 17:42:22.146981」に受信し、ACKパケットの送信元のIPアドレス及びポート番号は「IPアドレスB」及び「ポート番号B」である。ACKパケットの宛先のIPアドレス及びポート番号は「IPアドレスA」及び「ポート番号A」であり、ACK番号は「1501」である。
RTT算出部16は、受信したACKパケットのACK番号と、記録したDATAパケットのシーケンス番号+サイズが一致するときに、該ACKパケットは、該DATAパケットの確認応答であると判定する。そして、RTT算出部16は、該ACKパケットの受信時刻と該DATAパケットの受信時刻の差分をRTTとして算出する。
スループット算出部17は、算出したRTTがACK番号の順に大きくなっているRTTの時間区間をコネクション毎に特定し、特定した時間区間に送信されたデータ量と時間区間の時間により該時間区間の最大実効スループットを算出する。
具体的には、スループット算出部17は、RTTがACK番号の順に増加し、遅延ACKのタイムアウト値を含まず、RTT差が500ms未満であるRTTのグループをスループットを計測する1つの計測グループとする。遅延ACKのタイムアウト値を含む場合は、端末3での遅延を含む場合であるので、計測グループから除外する。RTT差が500ms(ミリ秒)未満でない場合には、RTTが急激に増加したときであり、端末3の再接続の可能性があるので、計測グループから除外する。
また、スループット算出部17は、計測グループに含まれるRTTが5個以上でない場合には、精度が悪くなるのでスループット計測をしない。また、スループット算出部17は、ACK間隔が全て1ms未満の場合にも、ACK間隔が狭すぎ、何らかの理由でACKがまとめて送信された可能性がある(DATA間隔を再現しておらず本来計測したいスループットを計測できない可能性がある)のでスループット計測をしない。
図10は、計測グループを説明するための図である。図10において、横軸は相対的なACK番号を示し、縦軸はRTTを示す。各計測グループではRTTがACK番号の順に大きくなっており、RTT差は500ms未満である。ただし、計測グループ#1と計測グループ#3にはRTTが5個以上含まれない。したがって、スループット算出部17は、計測グループ#2と計測グループ#4ではスループットを計測するが、計測グループ#1と計測グループ#3ではスループットを計測しない。
表示制御部18は、スループット算出部17により算出された最大実効スループットに関する情報を、ユーザの指示にしたがって様々な形態で表示装置に表示する。例えば、表示制御部18は、図11に示すように、算出した最大実効スループットを1分毎に表示を更新する。なお、これまでの説明では、サーバ1から端末3へデータを送信する場合について説明したが、一般的には、双方向で通信が行われ、2つの方向で同様に最大実効スループットを測定することができる。このため、図11では、上りと下りの2つの方向の最大実効スループットが表示されている。各行は、通信毎の最大実効スループットを示す。ここで、通信毎とは、コネクション毎であってもよいし、セッション毎であってもよい。コネクション毎の例としては、「クライアントIPアドレス及びポート番号」と「サーバIPアドレス及びポート番号」との組があり、セッション毎の例としては、「クライアントIPアドレス」と「サーバIPアドレス及びポート番号」との組がある。また、各行の値が1分毎に更新される。
また、表示制御部18は、図12に示すように、最大実効スループットの数値範囲毎のセッション数の時間変動をグラフ表示する。図12において、横軸は時間を示し、縦軸は、セッション数を示す。図12では、最大実効スループットが3Mbps以下、3Mbps〜5Mbps、5Mbps以上の3つの範囲でセッション数が表示されている。
また、表示制御部18は、図13に示すように、ユーザにより選択された最大実効スループットの数値範囲に関して、IPアドレス数の変動を上のグラフで表示し、セッション数が多い順にトップ10をIPアドレス毎に下のグラフで表示する。IPアドレス数は、総ユーザ数を表す。図13において、横軸は時間を示し、縦軸は上のグラフではIPアドレス数を示し、下のグラフではセッション数を示す。図13では、最大実効スループットが3Mbps未満に関して、IPアドレス数の変動とセッション数の変動が表示されている。なお、図13の下のグラフでは、トップ10として1位のIPアドレスしかない場合を示す。また、図13に示すグラフは、1分毎に更新される。
また、表示制御部18は、図14に示すように、ユーザにより選択された最大実効スループットの数値範囲に関して、IPアドレス数の変動を上のグラフで表示し、セッション数が多い順にトップ10をサブネットアドレス毎に下のグラフで表示する。図14において、横軸は時間を示し、縦軸は上のグラフではIPアドレス数を示し、下のグラフではセッション数を示す。図14では、最大実効スループットが3Mbps未満に関して、IPアドレス数の変動とセッション数の変動が表示されている。なお、図14の下のグラフでは、トップ10として1位のサブネットアドレスしかない場合を示す。また、図14に示すグラフは、1分毎に更新される。
また、表示制御部18は、TCPコネクション毎、IPアドレス毎又はサブネットアドレス毎に、図15に示すように、最大実効スループット及び実効スループットの変動をグラフ表示する。図15において、横軸は時間を示し、縦軸はスループットを示す。図15では、空き帯域が少なく、実効スループットも小さいケース(1)、空き帯域が多く、実効スループットも大きいケース(2)、空き帯域が多いが、実効スループットは小さいケース(3)が表示されている。
次に、スループット計測装置10による処理のフローについて説明する。図16は、スループット計測装置10による処理のフローを示すフローチャートである。ただし、図16の処理では、RTTが連続して増加する条件以外の計測条件は満たされているものとする。
図16に示すように、スループット計測装置10は、パケットを受信する(ステップS1)。そして、スループット計測装置10は、受信したパケットがTCPパケットか否かを判定し(ステップS2)、TCPパケットでない場合には、ステップS1に戻る。
一方、TCPパケットである場合には、パケット分類部12がTCPパケットをコネクション毎に分類する(ステップS3)。そして、パケット分類部12は、TCPパケットがDATAパケットか否かを判定し(ステップS4)、DATAパケットである場合には、DATAパケット処理部13が受信時刻、シーケンス番号、サイズ等を記憶部15に記録する(ステップS5)。そして、スループット計測装置10は、ステップS1に戻る。
一方、DATAパケットでない場合には、パケット分類部12は、ACKパケットか否かを判定し(ステップS6)、ACKパケットでない場合には、スループット計測装置10は、ステップS1に戻る。一方、ACKパケットである場合には、ACKパケット処理部14が受信時刻、ACK番号等を記憶部15に記録する(ステップS7)。
そして、RTT算出部16が、ACKパケットの受信時刻とDATAパケットの受信時刻からRTTを計算し記録する(ステップS8)。そして、RTT算出部16は、RTTが連続して増加しているか否かを判定し(ステップS9)、連続して増加している場合には、RTTを計測対象と決定し、ACK受信時刻とACK番号を記録する(ステップS10)。そして、スループット計測装置10は、ステップS1に戻る。
一方、RTTが連続して増加していない場合には、スループット算出部17が、このACKパケットは測定対象とはせず、測定対象となった最初のACKパケットと最後のACKパケットの情報からスループットを計測する(ステップS11)。
そして、スループット計測装置10は、コネクションすなわち集計期間が終了したか否かを判定し(ステップS12)、終了していない場合には、ステップS1に戻る。一方、終了した場合には、表示制御部18がユーザの指示に基づいて表示装置に最大実効スループットに関する表示を行う(ステップS13)。
このように、スループット計測装置10は、RTTが連続して増加している時間区間でスループットを計測することで、最大実効スループットを計測することができる。
上述してきたように、実施例では、パケット分類部12が、受信部11により受信されたパケットからTCPパケットを抽出し、DATAパケットをDATAパケット処理部13に渡し、ACKパケットをACKパケット処理部14へ渡す。そして、DATAパケット処理部13が受信時刻等のDATAパケットの情報を記憶部15に記録し、ACKパケット処理部14が受信時刻、ACK番号等のACKパケットの情報を記憶部15に記録する。そして、RTT算出部16が記憶部15の情報に基づいてRTTを算出し、スループット算出部17が、RTTがACK番号の順に増加している時間区間を特定し、特定した時間区間のスループットを算出する。したがって、スループット計測装置10は、最大実効スループットを算出することができる。
また、実施例では、スループット算出部17は、遅延ACKのタイムアウト値を含まない時間区間をスループットを算出する時間区間とする。したがって、スループット計測装置10は、端末3での遅延が含まれる場合を除外し、正確にスループットを算出することができる。
また、実施例では、スループット算出部17は、RTT差が500ms未満であるRTTのグループをスループットを計測する1つの計測グループとする。したがって、スループット計測装置10は、端末3の再接続の可能性がある場合を除外し、正確にスループットを算出することができる。
また、実施例では、スループット算出部17は、計測グループに含まれるRTTが5個以上でない場合には、スループット計測をしない。したがって、スループット計測装置10は、精度が悪い場合を除外し、正確にスループットを算出することができる。
また、実施例では、スループット算出部17は、ACK間隔が全て1ms未満の場合には、スループット計測をしない。したがって、スループット計測装置10は、何らかの理由でACKがまとめて送信された可能性がある(DATA間隔を再現しておらず本来計測したいスループットを計測できない可能性がある)場合を除外し、正確にスループットを算出することができる。
また、実施例では、表示制御部18は、最大実効スループットの数値範囲毎のセッション数の時間変動をグラフ表示する。したがって、スループット計測装置10は、ユーザによるネットワーク解析や通信帯域増加の必要性等の判断を支援することができる。
また、実施例では、表示制御部18は、ユーザにより選択された最大実効スループットの数値範囲に関して、IPアドレス数の変動をグラフで表示する。したがって、スループット計測装置10は、ユーザによるネットワーク解析や通信帯域増加の必要性等の判断を支援することができる。
また、実施例では、表示制御部18は、最大実効スループットと実効スループットを並べて表示する。したがって、スループット計測装置10は、ユーザによるネットワーク解析や通信帯域増加の必要性等の判断を支援することができる。
なお、実施例では、スループット計測装置10について説明したが、スループット計測装置10が有する構成をソフトウェアによって実現することで、同様の機能を有するスループット計測プログラムを得ることができる。そこで、スループット計測プログラムを実行するコンピュータについて説明する。
図17は、実施例に係るスループット計測プログラムを実行するコンピュータのハードウェア構成を示す図である。図17に示すように、コンピュータ20は、メインメモリ21と、CPU(Central Processing Unit)22と、LAN(Local Area Network)インタフェース23と、HDD(Hard Disk Drive)24とを有する。また、コンピュータ20は、スーパーIO(Input Output)25と、DVI(Digital Visual Interface)26と、ODD(Optical Disk Drive)27とを有する。
メインメモリ21は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU22は、メインメモリ21からプログラムを読み出して実行する中央処理装置である。CPU22は、メモリコントローラを有するチップセットを含む。
LANインタフェース23は、コンピュータ20をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD24は、プログラムやデータを格納するディスク装置であり、スーパーIO25は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。DVI26は、液晶表示装置を接続するインタフェースであり、ODD27は、DVDの読み書きを行う装置である。
LANインタフェース23は、PCIエクスプレス(PCIe)によりCPU22に接続され、HDD24及びODD27は、SATA(Serial Advanced Technology Attachment)によりCPU22に接続される。スーパーIO25は、LPC(Low Pin Count)によりCPU22に接続される。
そして、コンピュータ20において実行されるスループット計測プログラムは、DVDに記憶され、ODD27によってDVDから読み出されてコンピュータ20にインストールされる。あるいは、スループット計測プログラムは、LANインタフェース23を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ20にインストールされる。そして、インストールされたスループット計測プログラムは、HDD24に記憶され、メインメモリ21に読み出されてCPU22によって実行される。
また、実施例では、スループット計測装置10がパケットをキャプチャして最大実効スループットを算出する場合について説明した。しかしながら、本発明はこれに限定されるものではなく、キャプチャしたパケットの情報をファイル等に一旦記憶し、ファイル等から情報を読み出して最大実効スループットを算出する場合にも同様に適用することができる。
また、実施例では、無線区間がボトルネック区間である場合について説明したが、本発明はこれに限定されるものではなく、有線区間がボトルネック区間である場合にも同様に適用することができる。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
送信元装置から送信されて送信先装置で受信される複数のデータパケットをネットワーク上の観測点において取得し、
前記送信元装置から送られた各データパケットの取得から各データパケットに対する応答パケットの取得までにかかる往復時間を複数算出し、
算出した複数の往復時間が応答パケットの識別番号順に大きくなっている計測時間区間を特定し、
特定した計測時間区間に前記送信元装置から送信された複数のデータパケットのデータ量と前記計測時間区間により前記計測時間区間のスループットを算出する
処理を実行させることを特徴とするスループット計測プログラム。
(付記2)前記往復時間が端末での遅延を含む応答パケットが含まれない時間区間を前記計測時間区間として特定することを特徴とする付記1に記載のスループット計測プログラム。
(付記3)前記往復時間の差が所定の閾値時間より大きな応答パケットが含まれない時間区間を前記計測時間区間として特定することを特徴とする付記1又は2に記載のスループット計測プログラム。
(付記4)前記往復時間が取得順に大きくなっている応答パケットの数が所定の閾値個数より大きい時間区間を前記計測時間区間として特定することを特徴とする付記1、2又は3に記載のスループット計測プログラム。
(付記5)前記応答パケットを取得する時間間隔が全て所定の間隔時間より小さい時間区間を除いて前記計測時間区間を特定することを特徴とする付記1〜4のいずれか1つに記載のスループット計測プログラム。
(付記6)コンピュータに、
算出した複数のスループットの情報に基づいて、スループットの数値範囲毎のセッション数の時間変動を表示する
処理をさらに実行させることを特徴とする付記1〜5のいずれか1つに記載のスループット計測プログラム。
(付記7)コンピュータに、
算出した複数のスループットの情報に基づいて、スループットの数値範囲毎にIPアドレス数の時間変動を表示する
処理をさらに実行させることを特徴とする付記1〜6のいずれか1つに記載のスループット計測プログラム。
(付記8)コンピュータに、
算出したスループットの情報と他の方法で算出したスループットの情報を並べて表示する
処理をさらに実行させることを特徴とする付記1〜7のいずれか1つに記載のスループット計測プログラム。
(付記9)コンピュータが、
送信元装置から送信されて送信先装置で受信される複数のデータパケットをネットワーク上の観測点において取得し、
前記送信元装置から送られた各データパケットの取得から各データパケットに対する応答パケットの取得までにかかる往復時間を複数算出し、
算出した複数の往復時間が応答パケットの識別番号順に大きくなっている計測時間区間を特定し、
特定した計測時間区間に前記送信元装置から送信された複数のデータパケットのデータ量と前記計測時間区間により前記計測時間区間のスループットを算出する
処理を実行することを特徴とするスループット計測方法。
(付記10)送信元装置から送信されて送信先装置で受信される複数のデータパケットをネットワーク上の観測点において取得する取得部と、
前記送信元装置から送られた各データパケットの前記取得部による取得から各データパケットに対する応答パケットの取得までにかかる往復時間を複数算出する第1の算出部と、
前記第1の算出部により算出された複数の往復時間が応答パケットの識別番号順に大きくなっている計測時間区間を特定する特定部と、
前記特定部により特定された計測時間区間に前記送信元装置から送信された複数のデータパケットのデータ量と前記計測時間区間により前記計測時間区間のスループットを算出する第2の算出部と
を有することを特徴とするスループット計測装置。
(付記11)コンピュータに、
送信元装置から送信されて送信先装置で受信される複数のデータパケットをネットワーク上の観測点において取得し、
前記送信元装置から送られた各データパケットの取得から各データパケットに対する応答パケットの取得までにかかる往復時間を複数算出し、
算出した複数の往復時間が応答パケットの識別番号順に大きくなっている計測時間区間を特定し、
特定した計測時間区間に前記送信元装置から送信された複数のデータパケットのデータ量と前記計測時間区間により前記計測時間区間のスループットを算出する
処理を実行させることを特徴とするスループット計測プログラムを記憶したコンピュータ読み取り可能記憶媒体。
(付記12)メモリと該メモリに接続されたプロセッサとを有するスループット計測装置において、
前記プロセッサに、
送信元装置から送信されて送信先装置で受信される複数のデータパケットをネットワーク上の観測点において取得し、
前記送信元装置から送られた各データパケットの取得から各データパケットに対する応答パケットの取得までにかかる往復時間を複数算出し、
算出した複数の往復時間が応答パケットの識別番号順に大きくなっている計測時間区間を特定し、
特定した計測時間区間に前記送信元装置から送信された複数のデータパケットのデータ量と前記計測時間区間により前記計測時間区間のスループットを算出する
処理を実行させることを特徴とするスループット計測装置。
1 サーバ
2 基地局
3,5 端末
4 スイッチ
6 TAP
8,9 時間区間
10 スループット計測装置
11 受信部
12 パケット分類部
13 DATAパケット処理部
13a,14a パケット情報記録部
14 ACKパケット処理部
15 記憶部
16 RTT算出部
17 スループット算出部
18 表示制御部
20 コンピュータ
21 メインメモリ
22 CPU
23 LANインタフェース
24 HDD
25 スーパーIO
26 DVI
27 ODD

Claims (10)

  1. コンピュータに、
    送信元装置から送信されて送信先装置で受信される複数のデータパケットをネットワーク上の観測点において取得し、
    前記送信元装置から送られた各データパケットの取得から各データパケットに対する応答パケットの取得までにかかる往復時間を複数算出し、
    算出した複数の往復時間が応答パケットの識別番号順に大きくなっている計測時間区間を特定し、
    特定した計測時間区間に前記送信元装置から送信された複数のデータパケットのデータ量と前記計測時間区間により前記計測時間区間のスループットを算出する
    処理を実行させることを特徴とするスループット計測プログラム。
  2. 前記往復時間が端末での遅延を含む応答パケットが含まれない時間区間を前記計測時間区間として特定することを特徴とする請求項1に記載のスループット計測プログラム。
  3. 前記往復時間の差が所定の閾値時間より大きな応答パケットが含まれない時間区間を前記計測時間区間として特定することを特徴とする請求項1又は2に記載のスループット計測プログラム。
  4. 前記往復時間が取得順に大きくなっている応答パケットの数が所定の閾値個数より大きい時間区間を前記計測時間区間として特定することを特徴とする請求項1、2又は3に記載のスループット計測プログラム。
  5. 前記応答パケットを取得する時間間隔が全て所定の間隔時間より小さい時間区間を除いて前記計測時間区間を特定することを特徴とする請求項1〜4のいずれか1つに記載のスループット計測プログラム。
  6. コンピュータに、
    算出した複数のスループットの情報に基づいて、スループットの数値範囲毎のセッション数の時間変動を表示する
    処理をさらに実行させることを特徴とする請求項1〜5のいずれか1つに記載のスループット計測プログラム。
  7. コンピュータに、
    算出した複数のスループットの情報に基づいて、スループットの数値範囲毎にIPアドレス数の時間変動を表示する
    処理をさらに実行させることを特徴とする請求項1〜6のいずれか1つに記載のスループット計測プログラム。
  8. コンピュータに、
    算出したスループットの情報と他の方法で算出したスループットの情報を並べて表示する
    処理をさらに実行させることを特徴とする請求項1〜7のいずれか1つに記載のスループット計測プログラム。
  9. コンピュータが、
    送信元装置から送信されて送信先装置で受信される複数のデータパケットをネットワーク上の観測点において取得し、
    前記送信元装置から送られた各データパケットの取得から各データパケットに対する応答パケットの取得までにかかる往復時間を複数算出し、
    算出した複数の往復時間が応答パケットの識別番号順に大きくなっている計測時間区間を特定し、
    特定した計測時間区間に前記送信元装置から送信された複数のデータパケットのデータ量と前記計測時間区間により前記計測時間区間のスループットを算出する
    処理を実行することを特徴とするスループット計測方法。
  10. 送信元装置から送信されて送信先装置で受信される複数のデータパケットをネットワーク上の観測点において取得する取得部と、
    前記送信元装置から送られた各データパケットの前記取得部による取得から各データパケットに対する応答パケットの取得までにかかる往復時間を複数算出する第1の算出部と、
    前記第1の算出部により算出された複数の往復時間が応答パケットの識別番号順に大きくなっている計測時間区間を特定する特定部と、
    前記特定部により特定された計測時間区間に前記送信元装置から送信された複数のデータパケットのデータ量と前記計測時間区間により前記計測時間区間のスループットを算出する第2の算出部と
    を有することを特徴とするスループット計測装置。
JP2015044965A 2015-03-06 2015-03-06 スループット計測プログラム、スループット計測方法及びスループット計測装置 Active JP6459645B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015044965A JP6459645B2 (ja) 2015-03-06 2015-03-06 スループット計測プログラム、スループット計測方法及びスループット計測装置
US15/054,898 US10110459B2 (en) 2015-03-06 2016-02-26 Throughput measuring method, computer readable medium, and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015044965A JP6459645B2 (ja) 2015-03-06 2015-03-06 スループット計測プログラム、スループット計測方法及びスループット計測装置

Publications (2)

Publication Number Publication Date
JP2016165067A true JP2016165067A (ja) 2016-09-08
JP6459645B2 JP6459645B2 (ja) 2019-01-30

Family

ID=56851179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015044965A Active JP6459645B2 (ja) 2015-03-06 2015-03-06 スループット計測プログラム、スループット計測方法及びスループット計測装置

Country Status (2)

Country Link
US (1) US10110459B2 (ja)
JP (1) JP6459645B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000106557A (ja) * 1998-07-28 2000-04-11 Fujitsu Ltd 通信性能測定装置及びその測定方法
US20050041582A1 (en) * 2000-12-16 2005-02-24 Robert Hancock Method of enhancing the efficiency of data flow in communication systems
JP2006279283A (ja) * 2005-03-28 2006-10-12 Sony Corp 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム
JP2011176693A (ja) * 2010-02-25 2011-09-08 Mitsubishi Electric Corp 移動体無線通信装置、tcpフロー制御装置及びその方法
JP2013232851A (ja) * 2012-05-01 2013-11-14 Nippon Telegr & Teleph Corp <Ntt> 可用帯域測定装置及び方法及びプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3696806B2 (ja) * 2001-06-19 2005-09-21 富士通株式会社 通信性能測定装置
JP3844693B2 (ja) 2002-01-16 2006-11-15 Kddi株式会社 Tcpスループット算出方法
JP2004032377A (ja) 2002-06-26 2004-01-29 Nippon Telegr & Teleph Corp <Ntt> ボトルネック推定方法並びに装置および前記方法のプログラムを記録したコンピュータ読取り可能な記録媒体
US7099954B2 (en) * 2002-06-27 2006-08-29 Microsoft Corporation Congestion control mechanism for streaming media
US20070115846A1 (en) * 2005-11-01 2007-05-24 Sheridan Kooyers Method for controlling data throughput in a storage area network
JP2007201702A (ja) 2006-01-25 2007-08-09 Mitsubishi Electric Corp 受信装置、通信装置および通信方法
US9722763B2 (en) * 2007-02-07 2017-08-01 Valens Semiconductor Ltd. Highly utilized communication channel with order and retransmissions
JP4589981B2 (ja) 2008-06-05 2010-12-01 日本電信電話株式会社 Tcp通信品質推定方法およびtcp通信品質推定装置
JP5052653B2 (ja) 2010-07-22 2012-10-17 日本電信電話株式会社 Tcp通信品質推定方法およびtcp通信品質推定装置
EP2638689B1 (en) * 2010-11-10 2017-10-11 Nec Corporation A method for accessing content in networks and a corresponding system
US8665729B2 (en) * 2011-07-29 2014-03-04 Mediatek Inc. Method for performing radio link control with round trip time awareness, and associated apparatus
JP2013034048A (ja) 2011-08-01 2013-02-14 Panasonic Corp 無線通信装置及び再送制御方法
JP6033069B2 (ja) 2012-12-11 2016-11-30 Kddi株式会社 通信品質推定装置
JP6051939B2 (ja) 2013-02-27 2016-12-27 富士ゼロックス株式会社 帯域測定装置及びプログラム
US9148386B2 (en) * 2013-04-30 2015-09-29 Cisco Technology, Inc. Managing bandwidth allocation among flows through assignment of drop priority
KR102051504B1 (ko) * 2013-05-15 2019-12-03 삼성전자주식회사 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000106557A (ja) * 1998-07-28 2000-04-11 Fujitsu Ltd 通信性能測定装置及びその測定方法
US20050041582A1 (en) * 2000-12-16 2005-02-24 Robert Hancock Method of enhancing the efficiency of data flow in communication systems
JP2006279283A (ja) * 2005-03-28 2006-10-12 Sony Corp 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム
JP2011176693A (ja) * 2010-02-25 2011-09-08 Mitsubishi Electric Corp 移動体無線通信装置、tcpフロー制御装置及びその方法
JP2013232851A (ja) * 2012-05-01 2013-11-14 Nippon Telegr & Teleph Corp <Ntt> 可用帯域測定装置及び方法及びプログラム

Also Published As

Publication number Publication date
US10110459B2 (en) 2018-10-23
US20160261479A1 (en) 2016-09-08
JP6459645B2 (ja) 2019-01-30

Similar Documents

Publication Publication Date Title
US11606275B2 (en) Network quality measurement method and apparatus
US10652765B2 (en) Automated network diagnostic techniques
JP4429095B2 (ja) 障害解析プログラム、障害解析装置、記録媒体及び障害解析方法
US7889656B2 (en) Binned duration flow tracking
CN108353032B (zh) 用于网络上的基于速率的分组传输的系统和方法
CA3161839A1 (en) System and method for estimation of quality of experience (qoe) for video streaming
US10355961B2 (en) Network traffic capture analysis
US9379989B2 (en) Congestion avoidance and control for UDP-based protocols
CN109600318B (zh) 一种监控sdn中应用程序的方法及sdn控制器
US9326161B2 (en) Application-driven control of wireless networking settings
CN110535888A (zh) 端口扫描攻击检测方法及相关装置
JP2015023463A (ja) パケット解析装置、パケット解析方法、及びパケット解析プログラム
US9973436B2 (en) System, method, and receiving device
US9391852B2 (en) Computer-readable recording medium and information processing apparatus
US9935886B2 (en) Packet extracting apparatus and method
JP6459645B2 (ja) スループット計測プログラム、スループット計測方法及びスループット計測装置
JP5958355B2 (ja) 分析装置、分析方法及び分析プログラム
JP5786733B2 (ja) 監視装置、プログラム及び監視方法
JP4282556B2 (ja) フローレベル通信品質管理装置と方法およびプログラム
CN113542044A (zh) 网络质量监测方法、装置及计算设备
JP2016181745A (ja) 無線端末、プログラム及び通信ログ取得方法
JP5528372B2 (ja) フロー品質劣化特定装置及び方法
JP4766703B2 (ja) エッジノードおよび帯域制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181217

R150 Certificate of patent or registration of utility model

Ref document number: 6459645

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150