JP3844693B2 - TCP throughput calculation method - Google Patents

TCP throughput calculation method Download PDF

Info

Publication number
JP3844693B2
JP3844693B2 JP2002007956A JP2002007956A JP3844693B2 JP 3844693 B2 JP3844693 B2 JP 3844693B2 JP 2002007956 A JP2002007956 A JP 2002007956A JP 2002007956 A JP2002007956 A JP 2002007956A JP 3844693 B2 JP3844693 B2 JP 3844693B2
Authority
JP
Japan
Prior art keywords
tcp
throughput
tcp connection
data
average
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.)
Expired - Fee Related
Application number
JP2002007956A
Other languages
Japanese (ja)
Other versions
JP2003209574A (en
Inventor
正機 福嶋
裕規 古屋
中村  元
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2002007956A priority Critical patent/JP3844693B2/en
Publication of JP2003209574A publication Critical patent/JP2003209574A/en
Application granted granted Critical
Publication of JP3844693B2 publication Critical patent/JP3844693B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、TCP(Transmission Control Protocol)により通信を行う複数の通信装置が、ボトルネックとなる伝送路(通信回線)を共有してデータを転送する場合において、単位時間当り平均データ転送量を算出するTCPスループット算出方法及びその装置、TCPスループット算出プログラムに関する。
【0002】
【従来の技術】
従来から、TCPによりデータを転送する際の単位時間当り平均データ転送量(以下、平均スループットと称する)を算出するTCPスループット算出方法が、インターネットの主要技術の1つとして知られている。このTCPスループット算出方法においては算出用のモデルを用いるが、従来のモデルの多くは、1つのTCPコネクションのみに着目し、パケットロス率が与えられることを仮定している。
【0003】
このようなモデルを用いた従来のTCPスループット算出方法として、例えば、Jitendra Padhyeらによる文献1“Modeling TCP Reno Performance:A Simple Model and Its Empirical Validation”(IEEE/ACM Transaction on Networking vol.8,April 2000.)に記載の方法が知られている。この文献1に記載された方法では、パケットロス率とパケットの往復遅延時間(RTT;Round Trip Time)から、TCPによる平均スループットを算出する関数が示されている。
【0004】
また、複数のTCPコネクションの相互作用を扱ったモデルとしては、高垣、大崎、村田による文献2「流体近似法および待ち行列理論を組み合わせたTCPのフィードバック型輻輳制御機構のモデル化」(電子情報通信学会 信学技報SSE2000-298、2001年3月.)に記載のものが知られている。この文献2では、一定数のTCPコネクションがボトルネックとなる伝送路(以下、ボトルネックリンクと称する)を共有し、それらTCPコネクションによりデータが転送される場合において、モデルの解析がなされており、そのモデル特性が開示されている。
【0005】
【発明が解決しようとする課題】
ところで、TCPを用いた通信ネットワークの回線容量を設計する際には、一般的に、TCPコネクションについての平均スループットが設計情報として用いられる。このため、確率的に生起する複数のTCPコネクションが1つのボトルネックリンクを共有し、それらTCPコネクションによりデータが転送される場合に、そのボトルネックリンクの伝送帯域に基づいてTCPコネクションの平均スループットを算出するTCPスループット算出方法があれば有用となる。
【0006】
しかしながら、上述した従来のTCPスループット算出方法では、このような平均スループットを求めることが困難であるという問題がある。
文献1に記載の方法は、1つのTCPコネクションのみに着目し、パケットロス率が与えられることを前提としている。したがって、この方法を用いるためには、パケットロス率があらかじめ分かっていなければならない。しかし、TCPにおいてはパケットロスによって輻輳を検出し、送信レートを抑制するフィードバック型の制御を行うため、平均スループットとパケットロス率は相互に影響しあう。このため、平均スループットの算出前に、前提条件であるパケットロス率だけを決定するのは難しく、この結果、平均スループットを求めることが困難である。
【0007】
また、文献2に記載のモデルは、複数のTCPコネクションの相互作用を扱うものであるが、そのコネクション数が一定であることを前提としている。しかしながら、実際には、各呼源(送信側または受信側の通信装置)から確率的にコネクションが生起するために、同時コネクション数が変動する。このため、このモデルではTCPコネクションの生起過程までを考慮した平均スループットの評価は難しい。
【0008】
本発明は、このような事情を考慮してなされたもので、その目的は、確率的に生起する複数のTCPコネクションが1つのボトルネックリンクを共有し、それらTCPコネクションによりデータが転送される場合に、そのボトルネックリンクの伝送帯域に基づいてTCPコネクションの平均スループットを精度よく算出することができるTCPスループット算出方法を提供することにある。
【0010】
【課題を解決するための手段】
上記の課題を解決するために、請求項1に記載のTCPスループット算出方法は、TCPコネクションを介してデータを受信する特定数の通信装置により共有して使用される1つの通信回線の伝送帯域に基づいて、前記TCPコネクションの平均スループットを算出するTCPスループット算出方法であって、プロセッサシェアリングに基づいた待ち行列理論モデルによって前記TCPコネクションの同時コネクション数についての状態確率を求める過程と、前記状態確率に基づいた同時コネクション数と前記伝送帯域とから得られるスループットの値を、TCPによる制御を考慮して補正する補正過程と、を含み、前記補正過程は、前記TCPコネクションについての同時コネクション数 r の場合におけるデータ量 v の転送にかかる時間を表す関数 t r (v) を、データ量 v が、スループットが飽和するバースト転送における先頭セグメントに対するACK受信時点までの間にACKされた累積データ量 v' 以下の値である場合には、
【数3】

Figure 0003844693
但し、 RTT r は平均ラウンドトリップ時間
b r はラウンドトリップ時間中にボトルネック伝送時間が占める割合
n はデータ量 v の転送にかかるバースト転送回数
n' はスループットが飽和するまでのバースト転送回数
a はデータパケット1個に対して、ACKが返ってきた時のウィンドウサイズの増加率を示す定数
c は遅延ACKを用いた場合に、最初と最後のデータセグメントに対するACKの前に挿入される遅延量を示す定数
なる式により求め、他方、データ量 v が、スループットが飽和するバースト転送における先頭セグメントに対するACK受信時点までの間にACKされた累積データ量 v' より大きい値である場合には、
【数4】
Figure 0003844693
但し、 B は前記通信回線の伝送帯域
n' はスループットが飽和するまでのバースト転送回数
なる式により求める処理と、前記関数 t r (v) を用いて前記同時コネクション数 r についての平均スループットを求める処理とからなることを特徴としている。
【0012】
請求項に記載のTCPスループット算出方法は、TCPコネクションを介してデータを受信する特定数の通信装置により共有して使用される1つの通信回線の伝送帯域に基づいて、前記TCPコネクションの平均スループットを算出するTCPスループット算出方法であって、プロセッサシェアリングに基づいた待ち行列理論モデルによって前記TCPコネクションの同時コネクション数についての状態確率を求める過程と、前記状態確率に基づいた同時コネクション数と前記伝送帯域とから得られるスループットの値を、TCPによる制御を考慮して補正する補正過程と、前記状態確率算出用のTCPコネクション生起率とサービス利用率を前記通信回線のトラヒックを観測して求め更新する過程とを含むこと特徴とする。
【0013】
請求項に記載のTCPスループット算出方法は、TCPコネクションを介してデータを受信する特定数の通信装置により共有して使用される1つの通信回線の伝送帯域に基づいて、前記TCPコネクションの平均スループットを算出するTCPスループット算出方法であって、プロセッサシェアリングに基づいた待ち行列理論モデルによって前記TCPコネクションの同時コネクション数についての状態確率を求める過程と、前記状態確率に基づいた同時コネクション数と前記伝送帯域とから得られるスループットの値を、TCPによる制御を考慮して補正する補正過程とを含み、前記平均スループットが所定閾値を満足するように、前記通信回線の伝送帯域の値を変化させながら前記平均スループットの計算を繰り返すことを特徴とする。
【0016】
【発明の実施の形態】
以下、図面を参照し、本発明の一実施形態について説明する。
図1は、本発明の一実施形態によるTCPスループット算出方法において、平均スループット算出対象として想定する通信ネットワークの構成例を示すブロック図である。この図1に示す通信ネットワークは、TCPおよびIP(Internet Protocol)に基づいたパケットを転送することにより、情報伝達を行うものである。符号1は、送信側の通信装置(以下、単に送信側装置と称する)であって、TCPコネクションを介して伝達する情報をパケット化して送信する。符号2は、送信側装置1から送信されたパケットを受信する受信側の通信装置(以下、単に受信側装置と称する)である。この受信側装置2は、送信側装置1との間で確立されたTCPコネクションを介して情報を受け取る。このTCPコネクションは、呼源となる送信側装置1または受信側装置2によって確率的に生起される。送信側装置1および受信側装置2は、TCPおよびIPに基づいてパケットの授受を行う。
【0017】
符号3は、パケットをルーティングするルータである。図1に示す通信ネットワークは3台のルータ3を備えている。そして、複数の送信側装置1が、1つのルータ3に接続されている。また、複数の受信側装置1が、他の1つのルータ3に接続されている。また、3台のルータ3によって、送信側装置1と受信側装置2の間に、伝送路4と伝送路5が構成される。この伝送路5がボトルネックリンクとなる伝送路である。送信側装置1と受信側装置2の間で確立された複数のTCPコネクションがこの1つのボトルネックリンク(伝送路5)を共有し、それらTCPコネクションにより、データが送信側装置1から受信側装置2へ転送される。
【0018】
次に、上記図1の通信ネットワークを平均スループット算出対象として、本発明の一実施形態によるTCPスループット算出方法を説明する。図2は、同実施形態によるTCPスループット算出処理の流れを示すフローチャートである。
本実施形態では、前提条件として、TCPの制御が理想的に作用し、TCPコネクション同士がボトルネックリンクの伝送帯域を平等に分け合うものとする。この前提条件下において、同時コネクション数に関する状態確率を待ち行列理論モデルの一つであるプロセッサシェアリング(以下、PSと称する)を用いて算出する。そして、同時コネクション数から得られる大まかなスループットの値を、TCPの制御を考慮した計算に基づいて補正することにより、トータルでの平均スループットを算出する。
【0019】
以下、図2に示すTCPスループット算出処理を順次説明する。
初めに、図2のステップS1において、PSにより、同時コネクション数rについての状態確率Prを算出する。ここで、PSについて概略を説明する。PSとは待ち行列理論におけるスケジューリングの一方式であり、客数がrの場合、全客に全処理能力の1/rずつを同時に割り当てる。本実施形態ではPS方式の内、有限呼源のOn/Offモデルを用いる。
【0020】
図3にOn/Offモデルの概念図を示す。各呼源1〜3は、サービスを利用しているOn状態と、サービスに対する要求が無いOff状態とを交互に遷移する。同時にOn状態となっている呼源の数が客数rとなる。ここで、呼源をN個、平均Off期間長を1/λ(すなわち呼源あたりのTCPコネクションの生起率がλ)、客数が1の時の平均サービス時間を1/μ(すなわち呼源あたりのサービス利用率がμ)とすると、客数がrとなる定常時の状態確率Prは、(1)式で表される。
【0021】
【数5】
Figure 0003844693
【0022】
そこで、本実施形態においては、図2のステップS1において、図1の通信ネットワークのように、N個の呼源(送信側装置1または受信側装置2)によって生起されたTCPコネクションが単一のボトルネックリンク(伝送路5)を共有するモデルを用いて状態確率Prを算出する。このモデルにおいて、一つの呼源は、1本のTCPコネクションを確立してデータを転送中のOn状態と、TCPコネクションを張らず、データも転送していないOff状態を交互に遷移する。また、ボトルネックリンクの伝送帯域をB、平均Off期間を1/λ、TCPコネクションあたりの平均転送デー夕量をB/μとする。
【0023】
ここで、上記前提条件により、ボトルネックリンクの伝送帯域が、各TCPコネクションに同じ帯域ずつ、公平に分配されるので、同時コネクション数rについての状態確率Prを、上記(1)式で求めることができる。また、同時コネクション数がrの時に、各TCPコネクションに与えられる帯域はB/rとなる。
【0024】
なお、上記ボトルネックリンクの伝送帯域(B)には、通信ネットワークの設計時などに予め決定された値を使用する。平均Off期間(1/λ)には、予め実際の呼源について計測して求められた値を使用する。客数が1の時の平均サービス時間(1/μ)も、予め実際の呼源を計測して求められた値を使用する。
【0025】
次に、図2のステップS2において、同時コネクション数rの場合におけるデータ量vの転送にかかる時間を表す関数tr(v)を求める。この処理は、同時コネクション数から得られる大まかなスループットの値を、TCPの制御を考慮した計算に基づいて補正するためのものである。
【0026】
一般的に、TCPについてのスループットを評価するためには、パケット送信開始時点から送信レートを徐々に上けていくスロースタート制御の影響を考慮する必要がある。そこで、本実施形態では、前提条件として、TCPの受信側バッファサイズ(受信側装置2のバッファサイズ)が不足することはなく、最初と最後のデータセグメントに対する送達確認応答パケット(以下、ACKと称する)以外では、受信側装置2の遅延ACKタイマーがタイムアウトすることはないものとする。遅延ACKタイマーは、受信側装置2がいつACKを返信するかを決定するためのものである。
【0027】
なお、以下にステップS2の処理を詳細に説明するが、このステップS2においては、データ量の単位にMTU(最大パケット長)を使用し、時間の単位にMTUサイズパケットのRTT(往復遅延時間)を使用する。また、スループットはACKが返される速度とする。
【0028】
同時コネクション数がrの時に、MTUサイズパケットのボトルネックリンク伝送時間はr/Bである。そして、見かけ上の平均ラウンドトリップ時間RTTrは(2)式で表される。
【0029】
RTTr=(1-(1/B))+(r/B)・a/(2(a-1)) ・・・(2)
但し、定数aは、データパケット1個に対して、ACKが返ってきた時のウィンドウサイズの増加率を表すパラメータである。具体的には、遅延ACK無しの場合にaを2とし、遅延ACK有りの場合にはaを1.5とする。なお、通常、受信側装置2はデータパケットを2個受信する度にACKを1個返すので、遅延ACK有りの1.5をaに用いる。
【0030】
また、ラウンドトリップ時間中にボトルネック伝送時間が占める割合brは(3)式で表される。
br=(r/B)/RTTr ・・・(3)
【0031】
ここで、データ量vの転送にn回のバースト転送が必要であるとすると、転送回数nは(4)式で表される。
n=min[loga((a-1)v+1)] ・・・(4)
但し、min[x]はx以上の最小の整数である。
【0032】
また、スループットが飽和するのがn'回目のバースト転送における先頭セグメントに対するACK受信の時点とすれば、その転送回数n'は(5)式で表される。
n'=min[loga(1/br)+1] ・・・(5)
【0033】
このACK受信時点までの間にACKされた累積データ量v'は、(6)式で表される。
v'={(a(n'-1)-1)/(a-1)}+1 ・・・(6)
【0034】
そして、最初のデータセグメント送信から、データ量vに対するACK受信までの時間を表す関数tr(v)は、(7)式および(8)式で表される。
【0035】
【数6】
Figure 0003844693
【0036】
但し、この(7)式が成立するのは、vがv'以下の値の場合である。これは、スループットが飽和するまでに、データの転送が完了する場合に対応する。
【0037】
【数7】
Figure 0003844693
【0038】
但し、この(8)式が成立するのは、vがv'より大きい値の場合である。これは、スループットが飽和した後に、データの転送が完了する場合に対応する。
なお、(7)、(8)式において、定数cは、遅延ACKを用いた場合に、最初と最後のデータセグメントに対するACKの前に挿入される遅延量を表す。
【0039】
上記(7)および(8)式で示される関数tr(v)により、データ量vの転送に必要な時間が求まる。ステップS2においては、上記(2)〜(6)式と、(7)および(8)式とから、データ量vの転送に必要な時間を表す関数tr(v)を求める。
【0040】
この関数tr(v)の具体的な算出例を示す。図4は、a=2,br=1/4,c=0,v=9の場合のパケット転送の流れを示すシーケンス図である。この場合には、先ず、(5)式により、スループットが飽和するまでのバースト転送回数n'を以下のように、n'=3として求める。
n'=min[log2(1/br)+1]=min[log24+1]=min[2+1]=3
【0041】
次いで、(6)式により、このスループットが飽和する3回目のバースト転送における先頭セグメントに対するACK受信時点までの間にACKされた累積データ量v'を、以下のように、v'=4として求める。
v'={(2(n'-1)-1)/(2-1)}+1=2(3-1)-1+1=4
【0042】
次いで、vが9であり、vがv'の4より大きい値であるので、(8)式により、以下のように、関数tr(v)=4.25×RTTrとして求める。
tr(v)=RTTr・n'+(r/B)・(v-v')
さらに、(3)式により、
=3×RTTr+RTTr・br・(9-4)=RTTr・(3+5br)=4.25×RTTr
なお、この関数tr(v)において、RTTrには(2)式を代入して使用する。
【0043】
次に、図2のステップS3において、上記ステップS2で求めた関数tr(v)と、転送データ量分布f(v)を用いて、同時コネクション数がrの場合の平均スループットTrの算出式を求める。
【0044】
同時コネクション数がrの場合の平均スループットTrは、平均データ量を平均転送時間で割った値であることから、平均スループットTrは(9)式で表される。
【0045】
【数8】
Figure 0003844693
【0046】
なお、転送データ量分布f(v)は1コネクションで送信されるデータ量の分布である。この転送データ量分布f(v)には、予め実際の呼源の転送データ量を計測し、この計測結果に基づいて求められた分布データを使用する。
【0047】
次に、図2のステップS4において、上記ステップS1で求めた状態確率Prと上記ステップS3で求めた平均スループットTrの算出式とを用いて、トータルの平均スループットTを算出する。この平均スループットTは、(10)式により求めることができる。
【0048】
【数9】
Figure 0003844693
【0049】
図5は、本実施形態のTCPスループット算出方法を用いた場合の平均スループットの算出値(PS+SlowStartの□付きのグラフ線で示す)と、計算機シミュレーションによる算出値(Simulationの△付きのグラフ線で示す)とを示すグラフである。計算機シミュレーションによる算出値は、実シミュレーションとして、送信側装置と受信側装置との間でボトルネックリンクを介してパケット転送を行い、このシミュレーション結果から求めたものである。
【0050】
図5に示す算出値の算出処理においては、遅延ACK有り、TCPバージョンはReno、B=1Mbps、c=100ms、RTT=22ms(図5(a))及び112ms(図5(b))、MTU=1500Byte、Off期間長は平均25秒の指数分布、コネクションあたりのデータ量は平均32KBのパレート分布という条件を設定した。
【0051】
図5に示すように、本実施形態のTCPスループット算出方法を用いた場合の平均スループットの算出値は、計算機シミュレーションによる算出値に略一致しており、該TCPスループット算出方法は有効なものである。したがって、本実施形態のTCPスループット算出方法によって、同時コネクション数が確率的に変動する状況下でのTCPについての平均スループットを算出し、この平均スループットをTCPを用いた通信ネットワークの回線容量の設計時に、回線容量設計の定量的な指標として活用することが可能である。この結果、TCPのようなベストエフォート型サービスの平均的な品質を事前に把握できるようになるので、通信事業者にとっては、通信ネットワーク運用時におけるサービス品質の向上に処することができるという効果が得られる。
【0052】
上述したように本実施形態によれば、PSに基づいた待ち行列理論モデルによって同時コネクション数を近似的に求め、さらに、実際のTCPによる制御を考慮してスループットを補正することにより、同時コネクション数が確率的に変動する状況下でのTCPについての平均スループットを算出する。これにより、確率的に生起する複数のTCPコネクションが1つのボトルネックリンクを共有し、それらTCPコネクションによりデータが転送される場合に、そのボトルネックリンクの伝送帯域に基づいてTCPコネクションの平均スループットを精度よく算出することができる。
【0053】
なお、上述した実施形態のTCPスループット算出処理において、TCPコネクションの生起率λとサービス利用率μを実際のトラヒックを観測して求め、随時更新するようにしてもよい。例えば図1の伝送路5と受信側装置2の間に位置するルータ3において、伝送路5から流入するパケットを観測する。そして、この観測結果から、単位時間当りに生起するTCPコネクションの数、すなわちTCPコネクションの生起率λを求める。
【0054】
また、サービス利用率μについては、伝送路5から流入するパケットの観測結果から全転送データ量と全コネクション数(観測された累計のコネクション数)を求めて、1TCPコネクション当りの平均転送デー夕量を、
平均転送デー夕量=全転送データ量/全コネクション数
なる式により求める。そして、
μ=(伝送路5の伝送帯域B)/(TCPコネクション当りの平均転送デー夕量)
なる式により、サービス利用率μを求める。
【0055】
このように、TCPコネクションの生起率λとサービス利用率μを実際のトラヒックに基づいて随時更新するようにすれば、通信ネットワーク運用中におけるTCPコネクションの平均スループットを把握して通信ネットワークの性能評価を精度よく行うことができる。
【0056】
また、上述した実施形態のTCPスループット算出処理において、TCPコネクションの平均スループットが通信ネットワークの目標性能に対して適切な値となるように、繰り返し計算するようにしてもよい。具体的には、平均スループットの目標値として閾値を設定し、この閾値を満足する平均スループットとなるように、伝送帯域Bの値を変化させながら平均スループットを繰り返し計算する。このようにすれば、算出結果の平均スループットが適切な値よりも低すぎたり、あるいは高すぎたりすることを防止することができる。これにより、より最適な通信ネットワークの構築を行うことが可能となる。
【0057】
なお、上述した実施形態においては図1に示す構成の通信ネットワークに適用する場合ついて説明したが、具体的には、例えば図6に示す企業内通信ネットワークに適用することができる。図6の企業内通信ネットワークにおいては、企業(東京本社)内LAN110と企業(大阪支社)内LAN120が、通信事業者の通信ネットワーク(キャリア網)130を介して接続されている。LAN110,120は、キャリア網130と通信回線150,160を介して接続するためのルータ3を各々備える。このルータ3には、TCP/IPパケットによりデータ通信を行う通信装置140が複数接続される。通常、企業内LANとキャリア網との間の通信回線としては、コスト面から必要最小限の伝送帯域を有するものが望ましい。
【0058】
このような場合、企業内通信ネットワークとしての目標性能を確保するために、上述した実施形態のTCPスループット算出方法を用いれば、各通信回線150,160について目標の平均スループットに適した伝送帯域を求めることができる。このように、本実施形態は、TCPコネクションを介してデータを受信する特定数の通信装置により共有して使用される1つの通信回線の伝送帯域に基づいて、TCPコネクションの平均スループットを算出する場合にも、適宜適用することができる。
【0059】
なお、本実施形態によるTCPスループット算出方法を実現するTCPスループット算出装置は、上述したTCPスループット算出処理を実行する処理部を具備する。この処理部は、専用のハードウェアにより実現されるものであってもよく、また、その処理部はメモリおよびCPU(中央処理装置)により構成され、TCPスループット算出機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【0060】
また、上述したTCPスループット算出処理の各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりTCPスループット算出処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0061】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0062】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0063】
【発明の効果】
以上説明したように、本発明によれば、プロセッサシェアリングに基づいた待ち行列理論モデルによってTCPコネクションの同時コネクション数についての状態確率を求め、この状態確率に基づいた同時コネクション数と通信回線の伝送帯域とから得られるスループットの値を、TCPによる制御を考慮して補正するようにしたので、確率的に生起する複数のTCPコネクションが1つのボトルネックリンクを共有し、それらTCPコネクションによりデータが転送される場合に、そのボトルネックリンクの伝送帯域に基づいてTCPコネクションの平均スループットを精度よく算出することができるという効果が得られる。
【0064】
さらに、TCPコネクションについての同時コネクション数rの場合におけるデータ量vの転送にかかる時間を表す関数tr(v)を、データ量vが、スループットが飽和するバースト転送における先頭セグメントに対するACK受信時点までの間にACKされた累積データ量v'以下の値である場合と、データ量vが、スループットが飽和するバースト転送における先頭セグメントに対するACK受信時点までの間にACKされた累積データ量v'より大きい値である場合とに分けて求め、この関数tr(v)を用いて同時コネクション数rについての平均スループットを求めるようにすれば、パケット送信開始時点から送信レートを徐々に上けていくスロースタート制御の影響を考慮して補正することができるので、より精度よく平均スループットを算出することができるという効果が得られる。
【0065】
また、状態確率算出用のTCPコネクション生起率とサービス利用率を通信回線のトラヒックを観測して求め更新するようにすれば、通信ネットワーク運用中におけるTCPコネクションの平均スループットを把握して通信ネットワークの性能評価を精度よく行うことができる。
【0066】
また、平均スループットが所定閾値を満足するように、通信回線の伝送帯域の値を変化させながら平均スループットの計算を繰り返すようにすれば、算出結果の平均スループットが適切な値よりも低すぎたり、あるいは高すぎたりすることを防止することができる。これにより、より最適な通信ネットワークの構築を行うことが可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるTCPスループット算出方法における平均スループット算出対象の通信ネットワークの構成例を示すブロック図である。
【図2】 同実施形態によるTCPスループット算出処理の流れを示すフローチャートである。
【図3】 図2に示すTCPスループット算出処理を説明するための第1の図である。
【図4】 図2に示すTCPスループット算出処理を説明するための第2の図である。
【図5】 同実施形態のTCPスループット算出方法を用いた場合の平均スループットの算出値と、計算機シミュレーションによる算出値とを比較するためのグラフである。
【図6】 本発明の具体的な適用例を説明するための図である。
【符号の説明】
1 送信側装置
2 受信側装置
3 ルータ
4 伝送路
5 伝送路(ボトルネックリンク)
110,120 LAN
130 キャリア網
140 通信装置
150,160 通信回線[0001]
BACKGROUND OF THE INVENTION
The present invention calculates an average data transfer amount per unit time when a plurality of communication devices communicating by TCP (Transmission Control Protocol) transfer data by sharing a transmission line (communication line) that becomes a bottleneck. The present invention relates to a TCP throughput calculation method and apparatus, and a TCP throughput calculation program.
[0002]
[Prior art]
Conventionally, a TCP throughput calculation method for calculating an average data transfer amount per unit time (hereinafter referred to as average throughput) when transferring data by TCP is known as one of the main technologies of the Internet. In this TCP throughput calculation method, a model for calculation is used, but most of the conventional models focus on only one TCP connection and assume that a packet loss rate is given.
[0003]
As a conventional TCP throughput calculation method using such a model, for example, Jitendra Padhye et al., Reference 1 “Modeling TCP Reno Performance: A Simple Model and Its Empirical Validation” (IEEE / ACM Transaction on Networking vol. 8, April 2000). .) Is known. The method described in this document 1 shows a function for calculating an average throughput by TCP from a packet loss rate and a round trip time (RTT) of a packet.
[0004]
Also, as a model dealing with the interaction of multiple TCP connections, Takagaki, Osaki, and Murata reference 2 “Modeling of a TCP feedback type congestion control mechanism that combines fluid approximation and queuing theory” (electronic information communication) The one described in IEICE Technical Report SSE2000-298, March 2001) is known. In this document 2, a model is analyzed when a certain number of TCP connections share a bottleneck transmission line (hereinafter referred to as a bottleneck link), and data is transferred through these TCP connections. Its model characteristics are disclosed.
[0005]
[Problems to be solved by the invention]
By the way, when designing the line capacity of a communication network using TCP, generally, the average throughput for a TCP connection is used as design information. For this reason, when a plurality of TCP connections that occur stochastically share one bottleneck link and data is transferred through these TCP connections, the average throughput of the TCP connection is determined based on the transmission band of the bottleneck link. If there is a TCP throughput calculation method to calculate, it will be useful.
[0006]
However, the conventional TCP throughput calculation method described above has a problem that it is difficult to obtain such average throughput.
The method described in Document 1 focuses on only one TCP connection and assumes that a packet loss rate is given. Therefore, in order to use this method, the packet loss rate must be known in advance. However, in TCP, congestion is detected by packet loss and feedback type control is performed to suppress the transmission rate, so the average throughput and the packet loss rate affect each other. For this reason, it is difficult to determine only the precondition packet loss rate before calculating the average throughput, and as a result, it is difficult to obtain the average throughput.
[0007]
The model described in Document 2 handles the interaction of a plurality of TCP connections, but assumes that the number of connections is constant. However, in actuality, the number of simultaneous connections varies because connections occur probabilistically from each call source (transmission device on the transmission side or reception side). For this reason, in this model, it is difficult to evaluate the average throughput in consideration of the TCP connection generation process.
[0008]
  The present invention has been made in consideration of such circumstances, and the purpose thereof is when a plurality of TCP connections that occur stochastically share one bottleneck link, and data is transferred through these TCP connections. Another object of the present invention is to provide a TCP throughput calculation method capable of accurately calculating the average throughput of a TCP connection based on the transmission band of the bottleneck link.
[0010]
[Means for Solving the Problems]
  In order to solve the above-described problem, the TCP throughput calculation method according to claim 1 has a transmission bandwidth of one communication line shared and used by a specific number of communication devices that receive data via a TCP connection. A TCP throughput calculation method for calculating an average throughput of the TCP connection based on a process of obtaining a state probability for the number of simultaneous connections of the TCP connection by a queuing theory model based on processor sharing, and the state probability A correction process for correcting the value of throughput obtained from the number of simultaneous connections based on the transmission bandwidth and the control by TCP, andThe correction process includes the number of simultaneous connections for the TCP connection. r Amount of data in the case of v Function representing the time taken to transfer t r (v) The amount of data v Is the amount of accumulated data that was ACKed up to the time of receiving ACK for the first segment in burst transfer with saturated throughput v ' If the value is
[Equation 3]
Figure 0003844693
However, RTT r Is the average round trip time
b r Is the ratio of bottleneck transmission time during round trip time
n Is the amount of data v Burst transfer count
n ' Is the number of burst transfers until the throughput is saturated
a Is a constant indicating the rate of increase in window size when ACK is returned for one data packet
c Is a constant indicating the amount of delay inserted before ACK for the first and last data segments when using delayed ACK
On the other hand, the amount of data v Is the amount of accumulated data that was ACKed up to the time of receiving ACK for the first segment in burst transfer with saturated throughput v ' If it is larger,
[Expression 4]
Figure 0003844693
However, B Is the transmission bandwidth of the communication line
n ' Is the number of burst transfers until the throughput is saturated
The processing to be obtained by the formula t r (v) The number of simultaneous connections using r The process of determining the average throughput forIt is characterized by that.
[0012]
  Claim2The TCP throughput calculation method described inA TCP throughput calculation method for calculating an average throughput of the TCP connection based on a transmission band of one communication line shared and used by a specific number of communication apparatuses that receive data via a TCP connection, comprising: a processor A process of obtaining a state probability for the number of simultaneous connections of the TCP connection by a queuing theory model based on sharing, and a throughput value obtained from the number of simultaneous connections based on the state probability and the transmission band are determined by TCP. A correction process for correction in consideration of control,And a step of observing and updating the TCP connection occurrence rate and the service utilization rate for calculating the state probability by observing the traffic of the communication line.
[0013]
  Claim3The TCP throughput calculation method described inA TCP throughput calculation method for calculating an average throughput of the TCP connection based on a transmission band of one communication line shared and used by a specific number of communication apparatuses that receive data via a TCP connection, comprising: a processor A process of obtaining a state probability for the number of simultaneous connections of the TCP connection by a queuing theory model based on sharing, and a throughput value obtained from the number of simultaneous connections based on the state probability and the transmission band are determined by TCP. Including a correction process for correcting in consideration of control,The calculation of the average throughput is repeated while changing the value of the transmission band of the communication line so that the average throughput satisfies a predetermined threshold value.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram illustrating a configuration example of a communication network assumed as an average throughput calculation target in a TCP throughput calculation method according to an embodiment of the present invention. The communication network shown in FIG. 1 performs information transmission by transferring packets based on TCP and IP (Internet Protocol). Reference numeral 1 denotes a transmission-side communication device (hereinafter simply referred to as a transmission-side device), which packetizes and transmits information transmitted via a TCP connection. Reference numeral 2 denotes a receiving-side communication device (hereinafter simply referred to as a receiving-side device) that receives a packet transmitted from the transmitting-side device 1. The receiving device 2 receives information via a TCP connection established with the transmitting device 1. This TCP connection is probabilistically generated by the transmission side apparatus 1 or the reception side apparatus 2 that is a call source. The transmission side device 1 and the reception side device 2 exchange packets based on TCP and IP.
[0017]
Reference numeral 3 denotes a router for routing a packet. The communication network shown in FIG. 1 includes three routers 3. A plurality of transmission side devices 1 are connected to one router 3. A plurality of receiving side devices 1 are connected to another router 3. The three routers 3 constitute a transmission path 4 and a transmission path 5 between the transmission side apparatus 1 and the reception side apparatus 2. This transmission path 5 is a transmission path that becomes a bottleneck link. A plurality of TCP connections established between the transmission side apparatus 1 and the reception side apparatus 2 share this one bottleneck link (transmission path 5), and data is transmitted from the transmission side apparatus 1 to the reception side apparatus through these TCP connections. 2 is transferred.
[0018]
Next, a TCP throughput calculation method according to an embodiment of the present invention will be described using the communication network of FIG. 1 as an average throughput calculation target. FIG. 2 is a flowchart showing the flow of TCP throughput calculation processing according to the embodiment.
In the present embodiment, as a precondition, TCP control works ideally, and TCP connections share the transmission bandwidth of the bottleneck link equally. Under this precondition, the state probability related to the number of simultaneous connections is calculated using processor sharing (hereinafter referred to as PS), which is one of the queue theory models. Then, the total average throughput is calculated by correcting the rough throughput value obtained from the number of simultaneous connections based on the calculation considering TCP control.
[0019]
Hereinafter, the TCP throughput calculation process illustrated in FIG. 2 will be sequentially described.
First, in step S1 of FIG. 2, the state probability P for the simultaneous connection number r is determined by PS.rIs calculated. Here, an outline of PS will be described. PS is a scheduling method in queuing theory. When the number of customers is r, 1 / r of the total processing capacity is simultaneously allocated to all customers. In this embodiment, an On / Off model of a finite call source is used in the PS system.
[0020]
FIG. 3 shows a conceptual diagram of the On / Off model. Each of the call sources 1 to 3 alternates between an On state in which the service is used and an Off state in which there is no request for the service. At the same time, the number of call sources in the On state is the number of customers r. Here, there are N call sources, the average Off period length is 1 / λ (that is, the occurrence rate of TCP connections per call source is λ), and the average service time when the number of customers is 1 is 1 / μ (that is, per call source). If the service usage rate is μ), the steady state probability P where the number of customers is rrIs represented by equation (1).
[0021]
[Equation 5]
Figure 0003844693
[0022]
Therefore, in the present embodiment, in step S1 in FIG. 2, a single TCP connection is generated by N call sources (sending device 1 or receiving device 2) as in the communication network of FIG. State probability P using a model that shares the bottleneck link (transmission path 5)rIs calculated. In this model, one call source alternates between an On state in which one TCP connection is established and data is being transferred and an Off state in which no TCP connection is established and no data is transferred. Also, assume that the transmission bandwidth of the bottleneck link is B, the average Off period is 1 / λ, and the average transfer data amount per TCP connection is B / μ.
[0023]
Here, according to the above precondition, the transmission bandwidth of the bottleneck link is equally distributed to each TCP connection by the same bandwidth, so the state probability P for the simultaneous connection number rrCan be obtained by the above equation (1). When the number of simultaneous connections is r, the bandwidth given to each TCP connection is B / r.
[0024]
Note that the transmission band (B) of the bottleneck link uses a value determined in advance at the time of designing the communication network. For the average off period (1 / λ), a value obtained by measuring an actual call source in advance is used. The average service time (1 / μ) when the number of customers is 1 also uses a value obtained by measuring an actual call source in advance.
[0025]
Next, in step S2 of FIG. 2, a function t representing the time taken to transfer the data amount v when the number of simultaneous connections is r.rFind (v). This process is to correct a rough throughput value obtained from the number of simultaneous connections based on a calculation considering TCP control.
[0026]
In general, in order to evaluate the throughput of TCP, it is necessary to consider the influence of slow start control that gradually increases the transmission rate from the packet transmission start time. Therefore, in this embodiment, as a precondition, the TCP reception side buffer size (buffer size of the reception side device 2) does not become insufficient, and a delivery confirmation response packet (hereinafter referred to as ACK) for the first and last data segments. In other cases, the delay ACK timer of the receiving side apparatus 2 will not time out. The delayed ACK timer is for determining when the receiving-side apparatus 2 returns an ACK.
[0027]
In addition, although the process of step S2 is demonstrated in detail below, in this step S2, MTU (maximum packet length) is used for the unit of data amount, and RTT (round trip delay time) of the MTU size packet is used for the unit of time. Is used. The throughput is the speed at which ACK is returned.
[0028]
When the number of simultaneous connections is r, the bottleneck link transmission time of the MTU size packet is r / B. And apparent average round trip time RTTrIs represented by equation (2).
[0029]
RTTr= (1- (1 / B)) + (r / B) ・ a / (2 (a-1)) (2)
However, the constant “a” is a parameter that represents an increase rate of the window size when ACK is returned for one data packet. Specifically, a is set to 2 when there is no delayed ACK, and a is set to 1.5 when there is a delayed ACK. Normally, the receiving side apparatus 2 returns one ACK every time two data packets are received, so 1.5 with a delayed ACK is used for a.
[0030]
Ratio of bottleneck transmission time during round trip time brIs represented by equation (3).
br= (R / B) / RTTr  ... (3)
[0031]
Here, assuming that n burst transfers are required for the transfer of the data amount v, the transfer count n is expressed by equation (4).
n = min [loga((a-1) v + 1)] (4)
However, min [x] is the smallest integer greater than or equal to x.
[0032]
Further, if the throughput is saturated at the time of ACK reception for the first segment in the n'th burst transfer, the transfer count n 'is expressed by equation (5).
n '= min [loga(1 / br) +1] (5)
[0033]
The accumulated amount of data v ′ that has been ACKed up to the time of receiving this ACK is expressed by equation (6).
v '= {(a(n'-1)-1) / (a-1)} + 1 (6)
[0034]
A function t representing the time from the first data segment transmission to the ACK reception for the data amount vr(v) is expressed by equations (7) and (8).
[0035]
[Formula 6]
Figure 0003844693
[0036]
However, the expression (7) is satisfied when v is a value equal to or less than v ′. This corresponds to a case where data transfer is completed before the throughput is saturated.
[0037]
[Expression 7]
Figure 0003844693
[0038]
However, this equation (8) is established when v is larger than v ′. This corresponds to the case where the data transfer is completed after the throughput is saturated.
In Equations (7) and (8), the constant c represents the amount of delay inserted before ACK for the first and last data segments when using delayed ACK.
[0039]
Function t expressed by the above equations (7) and (8)rFrom (v), the time required to transfer the data amount v is obtained. In step S2, the function t representing the time required to transfer the data amount v is calculated from the above equations (2) to (6) and the equations (7) and (8).rFind (v).
[0040]
This function trA specific calculation example of (v) is shown. Figure 4 shows a = 2, brFIG. 11 is a sequence diagram showing a flow of packet transfer when = 1/4, c = 0, and v = 9. In this case, first, the number of burst transfers n ′ until the throughput is saturated is obtained by the following equation (5) as n ′ = 3.
n '= min [log2(1 / br) +1] = min [log24 + 1] = min [2 + 1] = 3
[0041]
Next, the accumulated data amount v ′ ACKed until the ACK reception time for the first segment in the third burst transfer in which the throughput is saturated is obtained by the following equation (6) as v ′ = 4 as follows. .
v '= {(2(n'-1)-1) / (2-1)} + 1 = 2(3-1)-1 + 1 = 4
[0042]
Next, since v is 9 and v is a value greater than 4 of v ′, the function t is expressed by the following equation (8) as follows:r(v) = 4.25 x RTTrAsking.
tr(v) = RTTr・ N '+ (r / B) ・ (v-v')
Furthermore, according to equation (3):
= 3 x RTTr+ RTTr・ Br・ (9-4) = RTTr・ (3 + 5br) = 4.25 × RTTr
This function trIn (v), RTTr(2) is substituted for use.
[0043]
Next, in step S3 of FIG.rUsing (v) and the transfer data amount distribution f (v), the average throughput T when the number of simultaneous connections is rrThe calculation formula is obtained.
[0044]
Average throughput T when the number of simultaneous connections is rrIs the average data volume divided by the average transfer time.rIs represented by equation (9).
[0045]
[Equation 8]
Figure 0003844693
[0046]
The transfer data amount distribution f (v) is a distribution of the data amount transmitted in one connection. For the transfer data amount distribution f (v), the actual transfer data amount of the call source is measured in advance, and the distribution data obtained based on the measurement result is used.
[0047]
Next, in step S4 in FIG. 2, the state probability P determined in step S1 is used.rAnd average throughput T obtained in step S3 above.rIs used to calculate the total average throughput T. This average throughput T can be obtained by equation (10).
[0048]
[Equation 9]
Figure 0003844693
[0049]
FIG. 5 shows a calculated value of average throughput (indicated by a PS + SlowStart graphed line with □) and a calculated value by a computer simulation (Simulation graphed with a Δ line) when the TCP throughput calculating method of the present embodiment is used. It is a graph which shows. The calculated value obtained by the computer simulation is obtained from a simulation result obtained by performing packet transfer between the transmission side device and the reception side device via the bottleneck link as an actual simulation.
[0050]
In the calculation processing of the calculated value shown in FIG. 5, there is a delayed ACK, the TCP version is Reno, B = 1 Mbps, c = 100 ms, RTT = 22 ms (FIG. 5 (a)) and 112ms (FIG. 5 (b)), MTU = 1500 Byte, Off period length was set to an average of 25 seconds exponential distribution, and the amount of data per connection was set to an average of 32 KB Pareto distribution.
[0051]
As shown in FIG. 5, the calculated value of the average throughput when the TCP throughput calculation method of this embodiment is used substantially matches the calculated value by the computer simulation, and the TCP throughput calculation method is effective. . Therefore, the average throughput for TCP under the situation where the number of simultaneous connections varies stochastically is calculated by the TCP throughput calculation method of the present embodiment, and this average throughput is calculated when designing the line capacity of the communication network using TCP. It can be used as a quantitative index for line capacity design. As a result, the average quality of the best-effort service such as TCP can be grasped in advance, so that the service provider can improve the service quality when operating the communication network. It is done.
[0052]
As described above, according to the present embodiment, the number of simultaneous connections is approximately obtained by a queuing theory model based on PS, and further, the number of simultaneous connections is corrected by considering the control by the actual TCP. The average throughput is calculated for TCP under a situation in which fluctuates stochastically. As a result, when a plurality of TCP connections that occur stochastically share a single bottleneck link and data is transferred via these TCP connections, the average throughput of the TCP connection is determined based on the transmission band of the bottleneck link. It can be calculated with high accuracy.
[0053]
In the TCP throughput calculation process of the above-described embodiment, the TCP connection occurrence rate λ and the service usage rate μ may be obtained by observing actual traffic and updated as needed. For example, in the router 3 located between the transmission path 5 and the receiving side apparatus 2 in FIG. Then, from this observation result, the number of TCP connections occurring per unit time, that is, the TCP connection occurrence rate λ is obtained.
[0054]
As for the service utilization rate μ, the total transfer data amount and the total number of connections (the total number of connections observed) are obtained from the observation result of the packet flowing in from the transmission path 5, and the average transfer data amount per TCP connection is obtained. The
Average transfer data volume = total transfer data volume / total number of connections
It is calculated by the following formula. And
μ = (Transmission bandwidth B of transmission line 5) / (Average amount of transfer data per TCP connection)
The service usage rate μ is obtained by the following formula.
[0055]
As described above, if the TCP connection occurrence rate λ and the service usage rate μ are updated as needed based on actual traffic, the average throughput of the TCP connection during the operation of the communication network can be grasped to evaluate the performance of the communication network. It can be performed with high accuracy.
[0056]
In the TCP throughput calculation process of the above-described embodiment, the calculation may be repeatedly performed so that the average throughput of the TCP connection becomes an appropriate value for the target performance of the communication network. Specifically, a threshold is set as a target value of average throughput, and the average throughput is repeatedly calculated while changing the value of transmission band B so that the average throughput satisfies this threshold. In this way, it is possible to prevent the average throughput of the calculation result from being too low or too high than an appropriate value. This makes it possible to construct a more optimal communication network.
[0057]
In the above-described embodiment, the case where the present invention is applied to the communication network having the configuration shown in FIG. 1 has been described. Specifically, for example, the present invention can be applied to an in-company communication network shown in FIG. In the intra-company communication network of FIG. 6, an intra-company (Tokyo head office) LAN 110 and an intra-company (Osaka branch) LAN 120 are connected via a communication carrier communication network (carrier network) 130. Each of the LANs 110 and 120 includes a router 3 for connecting to the carrier network 130 via the communication lines 150 and 160. The router 3 is connected to a plurality of communication devices 140 that perform data communication using TCP / IP packets. Usually, the communication line between the corporate LAN and the carrier network is preferably one having a minimum transmission band from the viewpoint of cost.
[0058]
In such a case, if the TCP throughput calculation method of the above-described embodiment is used in order to secure the target performance as the intra-company communication network, a transmission band suitable for the target average throughput is obtained for each of the communication lines 150 and 160. be able to. As described above, in this embodiment, the average throughput of the TCP connection is calculated based on the transmission band of one communication line shared and used by a specific number of communication apparatuses that receive data via the TCP connection. Also, it can be applied as appropriate.
[0059]
Note that a TCP throughput calculation apparatus that implements the TCP throughput calculation method according to the present embodiment includes a processing unit that executes the above-described TCP throughput calculation processing. The processing unit may be realized by dedicated hardware, and the processing unit includes a memory and a CPU (central processing unit), and stores a program for realizing the TCP throughput calculation function. The function may be realized by loading and executing.
[0060]
In addition, a program for realizing each step of the above-described TCP throughput calculation process is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed, thereby executing the TCP throughput. A calculation process may be performed. Here, the “computer system” may include an OS and hardware such as peripheral devices.
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system.
[0061]
Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.
The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
[0062]
The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like within a scope not departing from the gist of the present invention.
[0063]
【The invention's effect】
As described above, according to the present invention, a state probability for the number of simultaneous connections of TCP connections is obtained by a queuing theory model based on processor sharing, and the number of simultaneous connections based on this state probability and transmission of communication lines are determined. Since the throughput value obtained from the bandwidth is corrected in consideration of the control by TCP, a plurality of TCP connections that occur stochastically share one bottleneck link, and data is transferred by these TCP connections. In this case, the average throughput of the TCP connection can be accurately calculated based on the transmission band of the bottleneck link.
[0064]
Furthermore, a function t representing the time taken to transfer the data amount v in the case of the number r of simultaneous connections for the TCP connectionr(v) is a case where the data amount v is a value equal to or less than the cumulative data amount v ′ ACKed until the ACK reception time for the first segment in the burst transfer in which the throughput is saturated, and the data amount v is equal to the throughput. This function t is calculated separately when the accumulated data amount v ′ is larger than the accumulated data amount v ′ received until the ACK reception time for the first segment in the burst transfer to be saturated.rIf the average throughput for the number of simultaneous connections r is calculated using (v), it can be corrected in consideration of the effect of slow start control that gradually increases the transmission rate from the start of packet transmission. As a result, the average throughput can be calculated with higher accuracy.
[0065]
Also, if the TCP connection occurrence rate and service usage rate for state probability calculation are obtained by observing the traffic of the communication line, the average throughput of the TCP connection during the operation of the communication network can be grasped and the performance of the communication network can be obtained. Evaluation can be performed with high accuracy.
[0066]
Also, if the average throughput is repeated while changing the value of the transmission bandwidth of the communication line so that the average throughput satisfies the predetermined threshold, the average throughput of the calculation result is too low than the appropriate value, Or it can prevent that it is too high. This makes it possible to construct a more optimal communication network.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration example of a communication network that is an average throughput calculation target in a TCP throughput calculation method according to an embodiment of the present invention.
FIG. 2 is a flowchart showing a flow of TCP throughput calculation processing according to the embodiment.
FIG. 3 is a first diagram for explaining a TCP throughput calculation process shown in FIG. 2;
4 is a second diagram for explaining the TCP throughput calculation process shown in FIG. 2; FIG.
FIG. 5 is a graph for comparing the calculated value of average throughput when the TCP throughput calculating method of the embodiment is used with the calculated value by computer simulation.
FIG. 6 is a diagram for explaining a specific application example of the present invention.
[Explanation of symbols]
1 Transmitting device
2 Receiving device
3 routers
4 transmission lines
5 Transmission path (bottleneck link)
110, 120 LAN
130 Carrier network
140 Communication device
150,160 communication line

Claims (3)

TCPコネクションを介してデータを受信する特定数の通信装置により共有して使用される1つの通信回線の伝送帯域に基づいて、前記TCPコネクションの平均スループットを算出するTCPスループット算出方法であって、
プロセッサシェアリングに基づいた待ち行列理論モデルによって前記TCPコネクションの同時コネクション数についての状態確率を求める過程と、
前記状態確率に基づいた同時コネクション数と前記伝送帯域とから得られるスループットの値を、TCPによる制御を考慮して補正する補正過程と、を含み、
前記補正過程は、
前記TCPコネクションについての同時コネクション数 r の場合におけるデータ量 v の転送にかかる時間を表す関数 t r (v) を、
データ量 v が、スループットが飽和するバースト転送における先頭セグメントに対するACK受信時点までの間にACKされた累積データ量 v' 以下の値である場合には、
Figure 0003844693
但し、 RTT r は平均ラウンドトリップ時間
b r はラウンドトリップ時間中にボトルネック伝送時間が占める割合
n はデータ量 v の転送にかかるバースト転送回数
n' はスループットが飽和するまでのバースト転送回数
a はデータパケット1個に対して、ACKが返ってきた時のウィンドウサイズの増加率を示す定数
c は遅延ACKを用いた場合に、最初と最後のデータセグメントに対するACKの前に挿入される遅延量を示す定数
なる式により求め、他方、
データ量 v が、スループットが飽和するバースト転送における先頭セグメントに対するACK受信時点までの間にACKされた累積データ量 v' より大きい値である場合には、
Figure 0003844693
但し、 B は前記通信回線の伝送帯域
n' はスループットが飽和するまでのバースト転送回数
なる式により求める処理と、
前記関数 t r (v) を用いて前記同時コネクション数 r についての平均スループットを求める処理と、
からなることを特徴とするTCPスループット算出方法。
A TCP throughput calculation method for calculating an average throughput of the TCP connection based on a transmission band of one communication line shared and used by a specific number of communication devices that receive data via a TCP connection,
Obtaining a state probability for the number of simultaneous connections of the TCP connection by a queuing theory model based on processor sharing;
A correction process for correcting the value of throughput obtained from the number of simultaneous connections based on the state probability and the transmission band in consideration of control by TCP , and
The correction process includes:
The function t r (v) which represents the time it takes to transfer data quantity v in the case of simultaneous connection number r for the TCP connection,
When the amount of data v is a value equal to or less than the cumulative amount of data v ′ ACKed until the ACK reception time for the first segment in burst transfer in which the throughput is saturated ,
Figure 0003844693
Where RTT r is the average round trip time
b r is the ratio of bottleneck transmission time to round trip time
n is the number of burst transfers for transferring data v
n ' is the number of burst transfers until the throughput is saturated
a is a constant indicating the rate of increase in window size when ACK is returned for one data packet
c is a constant indicating the amount of delay inserted before ACK for the first and last data segments when using delayed ACK
On the other hand,
When the amount of data v is larger than the accumulated amount of data v ′ ACKed until the ACK reception time for the first segment in the burst transfer in which the throughput is saturated ,
Figure 0003844693
Where B is the transmission bandwidth of the communication line
n ' is the number of burst transfers until the throughput is saturated
The processing to be obtained by the formula
A process for obtaining an average throughput for the number r of simultaneous connections using the function t r (v) ;
TCP throughput calculation method characterized by comprising the.
TCPコネクションを介してデータを受信する特定数の通信装置により共有して使用される1つの通信回線の伝送帯域に基づいて、前記TCPコネクションの平均スループットを算出するTCPスループット算出方法であって、
プロセッサシェアリングに基づいた待ち行列理論モデルによって前記TCPコネクションの同時コネクション数についての状態確率を求める過程と、
前記状態確率に基づいた同時コネクション数と前記伝送帯域とから得られるスループットの値を、TCPによる制御を考慮して補正する補正過程と、
前記状態確率算出用のTCPコネクション生起率とサービス利用率を前記通信回線のトラヒックを観測して求め更新する過程と、
を含むこと特徴とするTCPスループット算出方法。
A TCP throughput calculation method for calculating an average throughput of the TCP connection based on a transmission band of one communication line shared and used by a specific number of communication devices that receive data via a TCP connection,
Obtaining a state probability for the number of simultaneous connections of the TCP connection by a queuing theory model based on processor sharing;
A correction process for correcting the value of throughput obtained from the number of simultaneous connections based on the state probability and the transmission band in consideration of control by TCP,
A step of observing and updating the TCP connection occurrence rate and the service usage rate for calculating the state probability by observing the traffic of the communication line;
A TCP throughput calculation method comprising:
TCPコネクションを介してデータを受信する特定数の通信装置により共有して使用される1つの通信回線の伝送帯域に基づいて、前記TCPコネクションの平均スループットを算出するTCPスループット算出方法であって、
プロセッサシェアリングに基づいた待ち行列理論モデルによって前記TCPコネクションの同時コネクション数についての状態確率を求める過程と、
前記状態確率に基づいた同時コネクション数と前記伝送帯域とから得られるスループットの値を、TCPによる制御を考慮して補正する補正過程と、を含み、
前記平均スループットが所定閾値を満足するように、前記通信回線の伝送帯域の値を変化させながら前記平均スループットの計算を繰り返すことを特徴とするTCPスループット算出方法。
A TCP throughput calculation method for calculating an average throughput of the TCP connection based on a transmission band of one communication line shared and used by a specific number of communication devices that receive data via a TCP connection,
Obtaining a state probability for the number of simultaneous connections of the TCP connection by a queuing theory model based on processor sharing;
A correction process for correcting the value of throughput obtained from the number of simultaneous connections based on the state probability and the transmission band in consideration of control by TCP , and
A TCP throughput calculation method characterized by repeating the calculation of the average throughput while changing the value of the transmission band of the communication line so that the average throughput satisfies a predetermined threshold .
JP2002007956A 2002-01-16 2002-01-16 TCP throughput calculation method Expired - Fee Related JP3844693B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002007956A JP3844693B2 (en) 2002-01-16 2002-01-16 TCP throughput calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002007956A JP3844693B2 (en) 2002-01-16 2002-01-16 TCP throughput calculation method

Publications (2)

Publication Number Publication Date
JP2003209574A JP2003209574A (en) 2003-07-25
JP3844693B2 true JP3844693B2 (en) 2006-11-15

Family

ID=27646342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002007956A Expired - Fee Related JP3844693B2 (en) 2002-01-16 2002-01-16 TCP throughput calculation method

Country Status (1)

Country Link
JP (1) JP3844693B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283814B2 (en) * 2003-07-31 2007-10-16 Lucent Technologies Inc. Method and apparatus for scheduling transmissions in wireless data networks
JP6459645B2 (en) 2015-03-06 2019-01-30 富士通株式会社 Throughput measurement program, throughput measurement method, and throughput measurement apparatus

Also Published As

Publication number Publication date
JP2003209574A (en) 2003-07-25

Similar Documents

Publication Publication Date Title
He et al. Reliable blast UDP: Predictable high performance bulk data transfer
US7873065B1 (en) Selectively enabling network packet concatenation based on metrics
JP5719449B2 (en) System and method for measuring available capacity and narrow link capacity of an IP path from a single endpoint
US7969987B1 (en) Internet service node incorporating a bandwidth measurement device and associated methods for evaluating data transfers
US10715442B2 (en) Congestion control
JP5029125B2 (en) Available bandwidth estimation system, stream data distribution system, method, and program
JP5682618B2 (en) Packet retransmission control system, method, and program
US20120213077A1 (en) Network bandwidth detection and distribution
US20020080726A1 (en) System and method for determining network throughput speed and streaming utilization
RU2695093C2 (en) Method for performing communication bandwidth testing from first network station to second network station in communication network, corresponding devices for executing steps of method and corresponding computer programs
US20100208613A1 (en) Efficient and loss tolerant method and mechanism for measuring available bandwidth
JP2004040793A (en) METHOD FOR ESTIMATING QoS AND COMMUNICATION DEVICE
CN108322401A (en) The control method and device of network transmission congestion
Pokhrel et al. Fair coexistence of regular and multipath TCP over wireless last-miles
US10986030B2 (en) Congestion control
US11570117B2 (en) Congestion control
KR101039550B1 (en) Method for calculating transfer rate and method for setting bandwidth by using the same
EP1435704B1 (en) Transmission control method and system
JP3844693B2 (en) TCP throughput calculation method
KR100737678B1 (en) Delay analysis method for multimedia streaming services
JP3853784B2 (en) Data communication management method
Rüngeler et al. Congestion and flow control in the context of the message-oriented protocol SCTP
EP1879349A1 (en) Method of measuring packet loss
EP3363161B1 (en) Transport of time sensitive information using the internet
Ламри et al. Developing Al-ARQ module for automatic measurement of one-way data transmission delay

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060706

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: 20060808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060816

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120825

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees