[go: up one dir, main page]

JP4429982B2 - 輻輳制御方法およびその通信端末 - Google Patents

輻輳制御方法およびその通信端末 Download PDF

Info

Publication number
JP4429982B2
JP4429982B2 JP2005194573A JP2005194573A JP4429982B2 JP 4429982 B2 JP4429982 B2 JP 4429982B2 JP 2005194573 A JP2005194573 A JP 2005194573A JP 2005194573 A JP2005194573 A JP 2005194573A JP 4429982 B2 JP4429982 B2 JP 4429982B2
Authority
JP
Japan
Prior art keywords
rtt
packet
time
window size
abe
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
JP2005194573A
Other languages
English (en)
Other versions
JP2007013823A (ja
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005194573A priority Critical patent/JP4429982B2/ja
Publication of JP2007013823A publication Critical patent/JP2007013823A/ja
Application granted granted Critical
Publication of JP4429982B2 publication Critical patent/JP4429982B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

本発明はトランスポート層に実装される輻輳制御アルゴリズムにおいて、ネットワークの輻輳度に応じて、どの程度ウインドウサイズを増加させるかを計算する技術に関する。
現在のインターネットで使用されている端末はトランスポートプロトコルにTCP(Transmission Control Protocol)を実装している。TCPにおける輻輳制御アルゴリズムは、スロースタート段階と輻輳回避段階に分けることができる(非特許文献1)。ここでは本発明に関係のある輻輳回避段階におけるアルゴリズムについてのみ述べる。
TCPを使用している送信端末はパケットを送信する時、各パケットにシーケンス番号を付与する。受信端末はパケットを正しく受信すると、次に受信を期待するパケットのシーケンス番号が付与された受信確認パケットを送信する。図1はパケットに付与されるシーケンス番号を説明するための図であり、長方形がパケットを表し、その中の数字がシーケンス番号を表している。図1の例では、シーケンス番号100或いは101のパケットを受信すると、受信端末は次に受信を期待するパケットのシーケンス番号101或いは102が付与された受信確認パケットを送信している。
また送信端末は、輻輳ウインドウ(cwnd)と呼ばれる変数を管理しており、cwndの値だけパケットを受信端末からの受信確認パケットの到着なしに送信することができる。例えばcwndの値が100の時、送信端末は100個のパケットを受信確認パケットの到着なしに送信することができる。送信端末はcwnd個の受信確認パケットを受信すると、ネットワークが輻輳状態ではないと判断し、cwndの値を1だけ増加させる。つまり先程の例では100個のパケットに対する受信確認パケットを受信すると、cwndの値を1だけ増加させ、101にする。一方、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値を半分にし、そのシーケンス番号のパケットを再送する。図2はパケットが再送される条件を説明するための図である。図2ではシーケンス番号101のパケットがネットワーク内で廃棄され、送信端末は次に受信を期待するパケットのシーケンス番号が101である受信確認パケットを3回受信したので、シーケンス番号が101のパケットを再送している。
上記がTCPにおける輻輳制御アルゴリズムの基本的動作であるが、近年このアルゴリズムでは、往復伝播遅延時間が長い場合、ギガビットレベルのスループットが実現不可能であることが報告され、新しくCUBIC−TCPが提案されている(非特許文献2)。CUBIC−TCPでは、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値をb倍に減少する。一方、3回連続して受信していない場合はネットワークが輻輳状態でないと判断し、現在、ウインドウサイズが減少した後、再び増加し始めてからt時間経過しているとすると、ウインドウサイズcwnd(t)を
Figure 0004429982
に設定する。ここでCは定数、Kは((b*W_max)/C)1/3、W_maxは前回輻輳状態にあると判断した時のcwndの値である。「*」は乗算を表す。図3は、CUBIC−TCPにおいて、ウインドウサイズが減少した後、再び増加し始めてからt時間経過した時のウインドウサイズ示したものである。
CUBIC−TCPは従来のTCPに比べて、cwndの増加率を高くし、且つ減少率を低くすることにより、往復遅延時間が長い場合でも、ギガビットレベルのスループットが実現可能であるようにしている。
しかしCUBIC−TCPには様々な問題点がある。その中の1つは、あるフローがウインドウサイズが大きい状態で通信を行っている時に、別のフローが通信を始めると、通信を開始したフローのウインドウサイズがなかなか増加しないという問題である。以下にこの問題を確認するシミュレーションを行った結果を示す。図4にシミュレーションモデルを示す。送信端末、受信端末はそれぞれ2つで、リンク帯域は600Mbpsであり、送信・受信端末間の伝播遅延時間を50ミリ秒、パケットサイズを1500バイトとした。送信端末は常に送信するパケットを有しており、1つ目の送信端末は時刻0秒に通信を開始し、2つ目の送信端末は時刻100秒に通信を開始するとした。図5に時間毎の輻輳ウインドウサイズの変化を示す。図5において、縦軸はウインドウサイズであり、横軸は時間である。図5より、100秒に通信を開始したフローのウインドウサイズ(図5の点線)は、時刻が300秒になっても既に通信を開始してるフローのウインドウサイズ(図5の実線)と等しくなっていないことが確認できる。つまりCUBIC−TCPでは、新たに通信を開始したフローは広帯域のスループットを得るまでかなりの時間がかかるという問題がある。
CUBIC−TCPとは別にTCP Westwood+と呼ばれる方式が提案されている(非特許文献3)。Westwood+では、パケット送信時に現在の時刻now1をパケットに書き込み、受信端末はパケットを受信した時、パケットに書き込まれているnow1を読み取り、受信したパケットに対する受信確認パケットを送信する際、now1を受信確認パケットに書き込み、送信端末は受信確認パケットを受信した時、現在の時刻nowからnow1を減算した値を計算し、その最小値RTT_minを記憶し、また往復遅延時間内に受信した受信確認パケットから利用可能帯域ABEを次のように計算する。
Figure 0004429982
ここでlast_tは前回ABEを計算した時刻、dは(now−last_t)の間に受信確認されたパケット数、αは定数である。
Westwood+では、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値をRTT_min*ABEに減少する。一方、3回連続して受信していない場合はネットワークが輻輳状態でないと判断し、従来のTCPと同様な方式を用いてウインドウサイズを増加させる。
Westwood+はこのように、ネットワークが輻輳状態であると判断した場合にウインドウサイズを減少させる時、値RTT_min*ABEを基にして、ウインドウサイズの減少幅を決定している。しかしながら、ウインドウサイズを増加する時には、ABEの値を用いていない。
村山他、"トランスポートプロトコル"、岩波書店、2001年4月6日、P174〜176 I. Rhee, L. Xu,"CUBIC: A New TCP Friendly High-Speed TCP Variant", PFLDnet 2005, Feb. 2005, [online], インターネット<http://www.ens-Iyon.fr/LIP/RESO/pfIdnet2005/> L. A. Grieco, S. Nascolo,"Performance Evaluation and Comparion of Westwood+, New Reno. and Vegas TCP Congestion Control", ACM SIGCOMM Computer Communication Review, PP.25-38, April 2004
本発明はCUBIC−TCPの輻輳制御方式において、ウインドウサイズを減少し再び増加し始めてからt時間経過した時刻におけるウインドウサイズcwnd(t)の値を決定する時、値RTT_min*ABEとRTT_max*ABEを基にしてその値を決定することにより、CUBIC−TCPが持つ様々な問題点、例えば、新たに通信を開始したフローが広帯域のスループットを得るまでの時間が長くなるという問題を解決することを目的としている。
本発明は、値RTT_min*ABEとRTT_max*ABEを計算し、それら値を基にして、ウインドウサイズの増加幅を決定するものである。
すなわち、発明は、送信端末が、パケット送信時に現在の時刻now1をパケットに書き込むステップと、受信端末が、前記パケットを受信した時、前記パケットに書き込まれているnow1を読み取るステップと、前記受信端末が、受信した前記パケットに対する受信確認パケットを送信する際、now1を受信確認パケットに書き込むステップと、前記送信端末が、前記受信確認パケットを受信した時、現在の時刻nowから前記受信確認パケットに書き込まれているnow1を減算した値を計算し、その最小値である最小往復遅延時間RTT_min、及びその最大値である最大往復遅延時間RTT_maxを記憶するステップと、前記送信端末が、前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算するステップと、前記送信端末が、ネットワークが輻輳状態でないと判断した場合にウインドウサイズを増加させる時、RTT_min*ABEとRTT_max*ABEを基にして、ウインドウサイズを決定するステップと、を有し、前記送信端末が、前記ウインドウサイズを決定するステップにおいて、現在、ウインドウサイズが減少した後、再び増加し始めてからt時間経過しているとすると、ウインドウサイズcwnd(t)を、C(t−K) +RTT_max*ABE、(Cは定数、Kは(ABE*(RTT_max−RTT_min)/C) 1/3 である)に決定するものである。
本発明と従来の技術との差異は次の通りである。本発明では、ウインドウサイズを減少し再び増加し始めてからt時間経過した時刻におけるウインドウサイズcwnd(t)の値を決定する時、値RTT_min*ABEとRTT_max*ABEを基にしてその値を決定している。しかし従来のCUBIC−TCPではそれらの値を用いていない。またWestwood+は、ウインドウサイズを減少する時は値RTT_min*ABEを用いているが、増加する時はそれらの値を用いていない。
本発明を用いれば、ギガビットレベルのスループットが実現可能なCUBIC−TCPの性能を向上させることができる。例えば公平な帯域を得るまでの時間を短縮することができる。
以下、本発明の実施例を図を参照して説明する。
実施例における送信端末の構成図を図6に、受信端末の構成図を図7に示す。図6(A)に示すように、送信端末600は現在時刻書込部601と時刻読取部602と往復遅延時間計算部603とシーケンス番号読取部604と利用可能帯域計算部605とウインドウサイズ決定部610とを備える。図6(B)に示すように、ウインドウサイズ決定部610は、サイズ増減判断部611とサイズ増加部612とサイズ減少部613とを備える。また、図7に示すように、受信端末700は時刻読取部701と情報書込部702とを備える。なお、図6、図7は本実施例を説明するために必要な部分のみを図示したものであり、本実施例の送信端末、受信端末が送信端末、受信端末として通常必要とされる手段を有することは当然である。
送信端末600はパケットAを送信する時、現在時刻書込部601で現在の時刻now1を書き込んだ後、パケットAを送信する。受信端末700はパケットAを受信すると時刻読取部701でパケットAに書き込まれている時刻情報now1を読み取り、その値を情報書込部702に通知する。受信端末700はパケットAに対する受信確認パケットを送信する時、情報書込部702で、パケットAに書き込まれていた時刻情報now1を書き込み、パケットBを送信する。送信端末600はパケットBを受信すると時刻読取部602でパケットBに書き込まれている時刻情報now1を読み取り、現在の時刻now(パケットBを受信した時刻)と読み取ったnow1(パケットAを送信した時刻)を往復遅延時間計算部603に通知する。往復遅延時間計算部603は図8に示すフローチャートに従って、最小往復遅延時間(RTT_min)、最大往復遅延時間(RTT_max)を計算する。送信端末600はまたシーケンス番号読取部604でパケットに付与されている次に受信を期待するパケットのシーケンス番号を読み取り、その結果を利用可能帯域計算部605、及びウインドウサイズ決定部610に通知する。利用可能帯域計算部605では、図9に示すフローチャートに従って、利用可能帯域(ABE)を計算する。ウインドウサイズ決定部610は、サイズ増減判断部611、サイズ増加部612、サイズ減少部613から構成される。サイズ増減判断部611は、図10−1に示すフローチャートに従って、ウインドウサイズを増加するか減少するかを決定する。サイズ増加部612は、図10−2に示すフローチャートに従って、ウインドウサイズを増加する。サイズ減少部613は、図10−3に示すフローチャートに従って、ウインドウサイズを減少する。
図8に、往復遅延時間計算部603におけるアルゴリズム(フローチャート)を示す。往復遅延時間計算部603は次のようにして最大往復遅延時間(RTT_max)、最小往復遅延時間(RTT_min)を得て、これらを記憶装置に記憶する。まず、現在の時刻nowと時刻読取部602が受信したパケットから読み取ったnow1の差すなわちそのパケットの往復遅延時間T=now−now1を計算する(ステップ801)。T>RTT_maxの場合すなわちそのパケットの往復遅延時間がそれまで記憶されていた最大往復遅延時間より大きい場合は(ステップ802でYES)、RTT_maxにTの値を代入して、そのパケットの往復遅延時間を最大往復遅延時間として記憶する(ステップ803)。T<RTT_mixの場合すなわちそのパケットの往復遅延時間がそれまで記憶されていた最小往復遅延時間より小さい場合は(ステップ804でYES)、RTT_minにTの値を代入して、そのパケットの往復遅延時間を最小往復遅延時間として記憶する(ステップ805)。
図9に、利用可能帯域計算部605におけるアルゴリズム(フローチャート)を示す。図9において、last_t_は前回ABEを計算した時刻である。Xはシーケンス番号読取部604から通知された番号である。Cはシーケンス番号読取部604から前回通知された番号である。dは確認応答されたパケット数である。ここで確認応答されたパケットとは、受信端末700が受信確認したパケットのことを指す。シーケンス番号Xを持った受信確認パケットは、この受信確認パケットを送る原因となったパケットによって(X−C)個のパケットを受信端末700が正しく受信したことを伝えている。よってそれらを加算したdはその間に受信確認されたパケット数となる。αは定数である。図9のステップ904のABEの式は背景技術の欄で述べたTCP Westwood+のABEの式と同じ式であり、また、図9全体のアルゴリズムもTCP Westwood+のアルゴリズムと同じである。したがって、図9の定数αもTCP Westwood+における定数αと同じであり、TCP Westwood+において定数αの推奨値として0.9が使われているので、図9の定数αの推奨値も0.9である。
利用可能帯域計算部605は次のようにして利用可能帯域(ABE)を計算する。まず、利用可能帯域計算部605は、現在の時刻nowと前回ABEを計算した時刻last_t_との差すなわち前回ABEを計算した時刻から現在の時刻までの時間T=now−last_t_を計算する(ステップ901)。次に、確認されたパケット数dにd+(X−C)を代入する(ステップ902)。前回ABEを計算した時にd=0とされているから(ステップ905)、dは前回ABEを計算したときからカウントした確認応答されたパケット数である。T≧RTT_minの場合すなわち前回ABEを計算した時刻から現在の時刻までの時間が最小往復遅延時間以上の場合は(ステップ903でYES)、利用可能帯域ABE=α*ABE+(1−α)*d/Tを計算する(ステップ904)。dに0を代入してd(確認応答されたパケット数)をリセットし、last_t_に現在の時刻nowを代入してlast_t_(前回ABEを確認した時刻)をセットする(ステップ905)。CにXの値を代入してC(シーケンス番号読取部604から前回通知された番号)を更新し(ステップ906)、終了する。一方、ステップ903においてNOの場合はCにXの値を代入してC(シーケンス番号読取部604から前回通知された番号)を更新し(ステップ906)、終了する。
図9のフローチャートからわかるように、ステップ903でT≧RTT_minの場合にステップ904でABEを計算しているので、前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算していることになる。
次に、ウインドウサイズ決定部610におけるアルゴリズム(フローチャート)について詳細に説明する。
図10−1に、サイズ増減判断部611におけるアルゴリズム(フローチャート)を示す。Cはシーケンス番号読取部604から前回通知された番号であり、numは同じ番号のシーケンス番号を受信した回数である。図10−1に示すようにサイズ増減判断部611は、シーケンス番号読取部604から番号を通知されると(ステップ1011)、その値Xとメモリに記録してある値Cを比較する(ステップ1012)。もしXとCが等しくなければ(ステップ1012でNO)、シーケンス番号が同じ受信確認パケットを連続して受信していないということなので、num(同じ番号のシーケンス番号を受信した回数)を1に、C(シーケンス番号読取部604から前回通知された番号)をXの値に更新し(ステップ1013)、numとCの値をメモリに保存し、サイズ増加部612に向かう(図10−2)。XとCが等しければ(ステップ1012でYES)、シーケンス番号が同じ受信確認パケットを連続して受信しているということなので、メモリに保存してあるnum(同じ番号のシーケンス番号を受信した回数)の値に1を加算する(ステップ1014)。そしてnumが3、つまりシーケンス番号が同じである受信確認パケットを3回連続して受信したならば(ステップ1015でYESの場合)、numを1に、CをXの値に更新し、numとCの値をメモリに保存し(ステップ1016)、サイズ減少部613に向かう(図10−3)。numが3でなければ(ステップ1015でNOの場合)、numの値をメモリに保存し、サイズ増加部612に向かう(図10−2)。
図10−2に、サイズ増加部612におけるアルゴリズム(フローチャート)を示す。tはウインドウサイズを減少し再び増加し始めてからの時間であり、t_decは前回、ウインドウサイズを減少した時刻であり、ABEは利用可能帯域計算部605から通知された値であり、W_max、W_minは往復遅延時間計算部603から通知された値であり、Cは定数である。図10−2の定数Cは背景技術の欄で述べたCUBIC−TCPにおけるcwnd(t)を求める式の定数Cと同じ定数を用いることができる。CUBIC−TCPにおける定数Cの推奨値は0.4であるから、図10−2の定数Cの推奨値も0.4である。図10−2に示すようにサイズ増加部612では、メモリに記憶してある前回ウインドウサイズが減少した時刻t_decを基にして、値tを計算する(ステップ1021)。そして利用可能帯域計算部605から通知されたABE、往復遅延時間計算部603から通知されたRTT_min、RTT_max、メモリに記憶してあるCを基にして、値K=(ABE*(RTT_max−RTT_min)/C)1/3を計算する。これらの値からウインドウサイズcwnd(t)=C(t−K)+RTT_max*ABEを計算し、新しいウインドウサイズを決定する(ステップ1022)。
図10−3に、ウインドウサイズ決定部610のサイズ減少部613におけるアルゴリズム(フローチャート)を示す。図10−3に示すようにサイズ減少部613では、利用可能帯域計算部605から通知されたABE、往復遅延時間計算部603から通知されたRTT_minを基にして、ウインドウサイズcwnd=RTT_min*ABEを計算し、新しいウインドウサイズを決定する(ステップ1031)。そしてウインドウサイズを減少した時刻を、ウインドウ増加部のメモリに記憶されているt_decに代入する(1032)。
以下、図11に示す例を用いて、本実施例の動作を説明する。送信端末600は図11に示すように、パケット1から3を受信端末700に向けてそれぞれ時刻10.000、10.001、10.002秒に送信し、受信端末700からの受信確認パケット1から3をそれぞれ時刻10.101、10.102、10.103秒に受信するとする。受信確認パケット1から3は、時刻情報now1として、それぞれ10.000、10.001、10.002秒、次に受信を期待するパケットのシーケンス番号として、それぞれ100、101、102を有しているとする。受信確認パケット1を受信する直前、図8のRTT_max(最大往復遅延時間)は0.2秒、RTT_min(最小往復遅延時間)は0.1秒、図9のlast_t_(前回ABEを計算した時刻)は10.003秒、d(確認応答されたパケット数)は100、C(シーケンス番号読取部604から前回通知された番号)は99、α(定数)は0.9、図10−1のnum(同じ番号のシーケンス番号を受信した回数)は1、C(シーケンス番号読取部604から前回通知された番号)は99、図10−2のt_dec(前回、ウインドウサイズを減少した時刻)は9秒、C(定数)は0.4、ABE(利用可能帯域計算部605から通知された値)は1000とする。
送信端末600がパケット1の受信確認パケットを受信すると、時刻読取部602でそのパケットに書き込まれている時刻情報now1を読み取る。そしてnow1(=10.000)と現在の時刻now(=10.101)を往復遅延時間計算部603に通知する。往復遅延時間部603では、Tを計算する(図8のステップ801)。Tは0.101(=10.101−10.000)であり、この値はRTT_min(=0.1)より小さくなく(ステップ804でNO)、RTT_max(=0.2)より大きくもないので(ステップ802でNO)、RTT_max、RTT_minの値は更新されない。シーケンス番号読取部604ではパケットに付与されている次に受信を期待するパケットのシーケンス番号を読み取る。その値は100であり、その値を利用可能帯域計算部605、及びウインドウサイズ決定部610に通知する。利用可帯域能計算部605では、T及びdを計算する(図9のステップ901、902)。Tは0.098(=10.101−10.003)、dは101(=100+(100−99))となる。T(=0.098)はRTT_min(=0.1)以上ではないので(ステップ903でNO)、新しいABEは計算されない。値Cは100に更新される(ステップ906)。ウインドウサイズ決定部610では、まずサイズ増減判断部611でウインドウサイズを増加するかしないかを決定する。今回はXが100、Cが99なので(図10−1のステップ1012でNO)、numを1に、Cを100に更新して(ステップ1013)、サイズ増加部612に移動する。サイズ増加部ではまずtを計算する(図10−2のステップ1021)。tは1.101(=10.101−9)となる。次にKを計算する。
Figure 0004429982
よって、ウインドウサイズは
Figure 0004429982
となる(ステップ1022)。
送信端末600がパケット2の受信確認パケットを受信すると、時刻読取部602でそのパケットに書き込まれている時刻情報now1を読み取る。そしてnow1(=10.001)と現在の時刻now(=10.102)を往復遅延時間計算部603に通知する。往復遅延時間部603では、Tを計算する(図8のステップ801)。Tは0.101(=10.102−10.001)であり、この値はRTT_min(=0.1)より小さくなく(ステップ804でNO)、RTT_max(=0.2)より大きくもないので(ステップ802でNO)、RTT_max、RTT_minの値は更新されない。シーケンス番号読取部604ではパケットに付与されている次に受信を期待するパケットのシーケンス番号を読み取る。その値は101であり、その値を利用可能帯域計算部605、及びウインドウサイズ決定部610に通知する。利用可能帯域計算部605では、T及びdを計算する(図9のステップ901、902)。Tは0.099(=10.102−10.003)、dは102(=101+(101−100))となる。T(=0.099)はRTT_min(=0.1)以上ではないので(ステップ903でNO)、新しいABEは計算されない。値Cは101に更新される(ステップ906)。ウインドウサイズ決定部610では、まずサイズ増減判断部611でウインドウサイズを増加するかしないかを決定する。Xが101、Cが100なので(図10−1のステップ1012でNO)、numを1に、Cを101に更新して(ステップ1013)、サイズ増加部612に移動する。サイズ増加部612ではまずtを計算する(図10−1の1021)。tは1.102(=10.102−9)となる。次にKを計算する。
Figure 0004429982
よって、ウインドウサイズは
Figure 0004429982
となる(ステップ1022)。
送信端末600がパケット3の受信確認パケットを受信すると、時刻読取部602でそのパケットに書き込まれている時刻情報now1を読み取る。そしてnow1(=10.002)と現在の時刻now(=10.103)を往復遅延時間計算部603に通知する。往復遅延時間部603では、Tを計算する(図8のステップ801)。Tは0.101(=10.103−10.002)であり、この値はRTT_min(=0.1)より小さくなく(ステップ804でNO)、RTT_max(=0.2)より大きくもないので(ステップ802でNO)、RTT_max、RTT_minの値は更新されない。シーケンス番号読取部604ではパケットに付与されている次に受信を期待するパケットのシーケンス番号を読み取る。その値は102であり、その値を利用可能帯域計算部605、及びウインドウサイズ決定部610に通知する。利用可能帯域計算部605では、T及びdを計算する(図9のステップ901、902)。Tは0.1(=10.103−10.003)、dは103(=102+(102−101))となる。T(=0.1)はRTT_min(=0.1)以上なので(ステップ903でYES)、新しいABEを計算する(ステップ904)。
Figure 0004429982
dは0に、last_tは10.103に、Cは102に更新される(ステップ905、906)。ウインドウサイズ決定部610では、まずサイズ増減判断部611でウインドウサイズを増加するかしないかを決定する。Xが102、Cが101なので(図10−1のステップ1012)、numを1に、Cを102に更新して(ステップ1013)、サイズ増加部612に移動する。サイズ増加部612ではまずtを計算する(図10−2のステップ1021)。tは1.103(=10.103−9)となる。次にKを計算する。
Figure 0004429982
よって、ウインドウサイズは
Figure 0004429982
となる(ステップ1022)。
次に本実施例の効果を確認するシミュレーションを行った結果を示す。シミュレーションの条件は背景技術(図4、図5参照)で述べたものとまったく同じである。図12に時間毎の輻輳ウインドウサイズの変化を示す。図5と図12を比較すると、本実施例を用いた場合、100秒に通信を開始したフローのウインドウサイズが既に通信を開始してるフローのウインドウサイズと等しくなるまでの時間が大幅に短縮できていることが確認できる。
以上説明した実施例において、送信端末および受信端末の各部はコンピュータと記憶装置に記憶されたプログラムで実現することができる。プログラム中に使用される変数名は、本実施例における変数名に限定されず、任意の変数名を使用することができる。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
パケットに付与されるシーケンス番号 パケットが再送される条件 ウインドウサイズが減少した後、再び増加し始めてからt時間経過した時のウインドウサイズ シミュレーションモデル 従来方式を用いた場合のシミュレーション結果 送信端末のシステム構成 受信端末のシステム構成 往復遅延時間計算部603におけるアルゴリズム(フローチャート) 利用可能帯域計算部605におけるアルゴリズム(フローチャート) サイズ増減判断部611におけるアルゴリズム(フローチャート) サイズ増加部612におけるアルゴリズム(フローチャート) サイズ減少部613におけるアルゴリズム(フローチャート) 実施例におけるパケットの送受信の流れ 実施例を用いた場合のシミュレーション結果
符号の説明
600…送信端末、601…現在時刻書込部、602…時刻読取部、603…往復遅延時間計算部、604…シーケンス番号読取部、605…利用可能帯域計算部、610…ウインドウサイズ決定部、611…サイズ増減判断部、612…サイズ増加部、613…サイズ減少部、700…受信端末、701…時刻読取部、702…情報書込部

Claims (2)

  1. ネットワークが輻輳状態であると判断した時にウインドウサイズを減少し、そうでないと判断した時にウインドウサイズを増加する輻輳制御方法において、
    送信端末が、パケット送信時に現在の時刻now1をパケットに書き込むステップと、
    受信端末が、前記パケットを受信した時、前記パケットに書き込まれているnow1を読み取るステップと、
    前記受信端末が、受信した前記パケットに対する受信確認パケットを送信する際、now1を受信確認パケットに書き込むステップと、
    前記送信端末が、前記受信確認パケットを受信した時、現在の時刻nowから前記受信確認パケットに書き込まれているnow1を減算した値を計算し、その最小値である最小往復遅延時間RTT_min、及びその最大値である最大往復遅延時間RTT_maxを記憶するステップと、
    前記送信端末が、前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算するステップと、
    前記送信端末が、ネットワークが輻輳状態でないと判断した場合にウインドウサイズを増加させる時、RTT_min*ABEとRTT_max*ABEを基にして、ウインドウサイズを決定するステップと、
    を有し、
    前記送信端末が、前記ウインドウサイズを決定するステップにおいて、現在、ウインドウサイズが減少した後、再び増加し始めてからt時間経過しているとすると、ウインドウサイズcwnd(t)を、C(t−K) +RTT_max*ABE、(Cは定数、Kは(ABE*(RTT_max−RTT_min)/C) 1/3 である)に決定することを特徴とする輻輳制御方法。
  2. ネットワークが輻輳状態であると判断した時にウインドウサイズを減少し、そうでないと判断した時にウインドウサイズを増加する輻輳制御を行う通信端末において、
    パケット送信時に現在の時刻now1をパケットに書き込む現在時刻書込部と、
    前記パケットの受信確認パケットを受信した時、現在の時刻nowから前記受信確認パケットに書き込まれているnow1を減算した値を計算し、その最小値である最小往復遅延時間RTT_min、及びその最大値である最大往復遅延時間RTT_maxを記憶する往復時間計算部と、
    前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算する利用可能帯域計算部と、
    ネットワークが輻輳状態でないと判断した場合にウインドウサイズを増加させる時、RTT_min*ABEとRTT_max*ABEを基にして、ウインドウサイズを決定するウインドウサイズ決定部と、
    を備え
    前記ウインドウサイズ決定部が、現在、ウインドウサイズが減少した後、再び増加し始めてからt時間経過しているとすると、ウインドウサイズcwnd(t)を、C(t−K) +RTT_max*ABE、(Cは定数、Kは(ABE*(RTT_max−RTT_min)/C) 1/3 である)に決定することを特徴とする通信端末。
JP2005194573A 2005-07-04 2005-07-04 輻輳制御方法およびその通信端末 Expired - Fee Related JP4429982B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005194573A JP4429982B2 (ja) 2005-07-04 2005-07-04 輻輳制御方法およびその通信端末

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005194573A JP4429982B2 (ja) 2005-07-04 2005-07-04 輻輳制御方法およびその通信端末

Publications (2)

Publication Number Publication Date
JP2007013823A JP2007013823A (ja) 2007-01-18
JP4429982B2 true JP4429982B2 (ja) 2010-03-10

Family

ID=37751652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005194573A Expired - Fee Related JP4429982B2 (ja) 2005-07-04 2005-07-04 輻輳制御方法およびその通信端末

Country Status (1)

Country Link
JP (1) JP4429982B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726508B2 (en) 2006-01-19 2014-05-20 Modine Manufacturing Company Flat tube, flat tube heat exchanger, and method of manufacturing same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4778453B2 (ja) * 2007-01-24 2011-09-21 株式会社エヌ・ティ・ティ・ドコモ 通信端末、輻輳制御方法および輻輳制御プログラム
JP5337263B2 (ja) * 2012-02-03 2013-11-06 東芝Itサービス株式会社 情報伝送システム及び情報伝送方法
JP5867160B2 (ja) * 2012-02-28 2016-02-24 富士通株式会社 通信制御装置、通信制御方法および通信制御プログラム
JP6145190B1 (ja) * 2016-03-02 2017-06-07 チエル株式会社 中継装置、中継方法及び中継プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726508B2 (en) 2006-01-19 2014-05-20 Modine Manufacturing Company Flat tube, flat tube heat exchanger, and method of manufacturing same

Also Published As

Publication number Publication date
JP2007013823A (ja) 2007-01-18

Similar Documents

Publication Publication Date Title
US20030161321A1 (en) Method and apparatus for characterizing the quality of a network path
JP4283589B2 (ja) 通信装置、通信制御方法及びプログラム
US7839859B2 (en) Voice adaptive gateway pacing methods and systems for wireless multi-hop networks
US10715442B2 (en) Congestion control
WO2002033896A2 (en) Method and apparatus for characterizing the quality of a network path
US10075382B2 (en) Communication device, relay device, and communication method for a plurality of packets
US7706274B2 (en) High performance TCP for systems with infrequent ACK
US10986030B2 (en) Congestion control
JP2009077036A (ja) 通信装置および通信方法
US20040017773A1 (en) Method and system for controlling the rate of transmission for data packets over a computer network
US11570117B2 (en) Congestion control
US8570864B2 (en) Kernel awareness of physical environment
KR101141160B1 (ko) 네트워크 장치를 위한 버퍼 제어 방법
US20170331744A1 (en) Combined delay and loss based congestion control algorithms
US20060227708A1 (en) Compound transmission control protocol
US8279756B2 (en) Communication terminal, communication control method, and communication control program
JP4429982B2 (ja) 輻輳制御方法およびその通信端末
Man et al. ImTCP: TCP with an inline measurement mechanism for available bandwidth
JP4435817B2 (ja) 通信端末、通信制御方法および通信制御プログラム
JP4186893B2 (ja) パケット通信装置、パケット通信方法、データ受信装置およびデータ受信方法
Ahmad et al. EXPERIMENTAL EVALUATION OF TCP CONGESTION CONTORL MECHANISMS IN SHORT AND LONG DISTANCE NETWORKS.
JP3853784B2 (ja) データ通信管理方法
JP2006217235A (ja) 輻輳制御方法及び送信端末
Vyakaranal et al. Performance evaluation of TCP using AQM schemes for congestion control
JP2005268979A (ja) 片方向遅延時間に基づいた輻輳制御方法、通信システム、通信装置、通信方法、プログラム、および記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091023

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091216

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

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131225

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees