JP2893398B1 - 輻輳制御方法 - Google Patents

輻輳制御方法

Info

Publication number
JP2893398B1
JP2893398B1 JP5499598A JP5499598A JP2893398B1 JP 2893398 B1 JP2893398 B1 JP 2893398B1 JP 5499598 A JP5499598 A JP 5499598A JP 5499598 A JP5499598 A JP 5499598A JP 2893398 B1 JP2893398 B1 JP 2893398B1
Authority
JP
Japan
Prior art keywords
window size
cwnd
congestion
congestion window
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.)
Expired - Lifetime
Application number
JP5499598A
Other languages
English (en)
Other versions
JPH11261631A (ja
Inventor
栄一 近藤
幸雄 渥美
Original Assignee
株式会社超高速ネットワーク・コンピュータ技術研究所
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 株式会社超高速ネットワーク・コンピュータ技術研究所 filed Critical 株式会社超高速ネットワーク・コンピュータ技術研究所
Priority to JP5499598A priority Critical patent/JP2893398B1/ja
Application granted granted Critical
Publication of JP2893398B1 publication Critical patent/JP2893398B1/ja
Publication of JPH11261631A publication Critical patent/JPH11261631A/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【要約】 【課題】 RTTが大きい場合でも利用可能帯域の増加
に応じて送信量を速やかに増加させる。 【解決手段】 輻輳回避フェーズにおいて、過去の削減
時の輻輳ウィンドウサイズcwndから得られた所定の
しきい値clthreshと現行のcwndとを比較
し、cwnd≧clthreshの場合には、ネットワ
ークの使用可能帯域が大幅に増加したと判断して、受信
ノードからACKパケットを受信するごとに増加させる
cwndの増加率を、cwnd<clthreshの場
合の増加率より大きくする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、輻輳制御方法に関
し、特に選択的送達確認を行う機能を有するトランスポ
ートレイヤプロトコルにおける輻輳制御方法に関するも
のである。
【0002】
【従来の技術】一般に、レイヤ4プロトコルの代表例と
して、インターネットで広く用いられているTCPであ
るRenoアルゴリズムでは、送受信ノードにおけるウ
ィンドウ制御が用いられている。そのウインドウ制御で
は、相手ノードの受信能力(バッファ)を示す受信告知
ウインドウ(adwnd)の他に、ネットワークの転送
能力を推定した輻輳ウインドウ(cwnd)を用いて、
いずれか小さい方の値min(adwnd,cwnd)
の範囲で送信する。
【0003】このうち、輻輳制御はcwndを使用して
実現されている。cwndは、スロースタートと呼ばれ
る方式を基本としてその値が設定され、1パケットの転
送から開始して、ある閾値(ssthresh)になる
まで、応答ACKを受信するごとに送信量を次のように
設定する。 新cwnd=旧cwnd+1
【0004】これにより、データ送信量は、例えば1,
2,4,8…といった具合に増加していく。cwndが
ある値(ssthresh)以上になると、輻輳回避と
呼ばれる制御方法を用い、ACK受信ごとに以下の計算
式により、緩やかな送信量増加を行う。 新cwnd=旧cwnd+1/旧cwnd
【0005】また、パケット紛失検出後のcwnd値の
別の設定方法として、 新cwnd=旧cwnd/2 とする方法(Renoアルゴリズム)が広く知られてい
る。これによれば、安定した帯域が保持されている場
合、緩やかな送信量増加と、パケット紛失による送信量
削減を繰り返し、ある一定のスループットが確保され
る。
【0006】また、他の輻輳回避制御として、Reno
アルゴリズムの削減量1/2に対し、SACK情報によ
り判明したパケット紛失量に応じて、cwnd削減量を
設定する方法が提案されており(例えば、特願平9−5
3215号など参照)、この場合、送信量増加の割合は
Renoアルゴリズムと同様である。さらに、他の輻輳
回避制御として、送信量増加割合をパケット紛失量に応
じて調整することで、送信量変動の少ないデータ転送と
している(例えば、特願平9−346307号など参
照)。
【0007】
【発明が解決しようとする課題】このような従来の輻輳
制御方法では、TCPの輻輳回避フェースにおけるcw
nd増加は、ACK受信を契機に行われるため、SAC
K情報利用によりcwnd削減量および増加割合を調整
するという従来の方式では、cwnd増加割合を従来の
Renoに比べて少なくすることで、変動の少ない送信
を行っている。したがって、ネットワークの利用可能帯
域が急激に増加した場合、それをすみやかに利用するこ
とが必要である。
【0008】しかしながら、送信側からのデータ送信か
ら、受信側でそのデータが受信確認されて送信側へその
受信応答が到達するまでの所要時間、すなわち受信応答
検出時間(ラウンドトリップタイム:RTT)が大きい
場合にはcwnd増加割合が小さいままになってしま
い、従来のReno−TCPと比較して、送信量の立ち
上がりが遅れてしまうという問題があった。本発明はこ
のような課題を解決するためのものであり、RTTが大
きい場合でも利用可能帯域の増加に応じて送信量を速や
かに増加させることができる輻輳制御方法を提供するこ
とを目的としている。
【0009】
【課題を解決するための手段】このような目的を達成す
るために、本発明による輻輳制御方法は、輻輳回避時に
は、過去の削減時の輻輳ウィンドウサイズから得られた
しきい値と現行の輻輳ウィンドウサイズとを比較し、現
行の輻輳ウィンドウサイズがしきい値以上の場合には、
ネットワークの使用可能帯域が大幅に増加したと判断し
て、受信ノードから確認応答パケットを受信するごとに
増加させる輻輳ウィンドウサイズの増加率を、現行の輻
輳ウィンドウサイズがしきい値より小さい場合の増加率
より大きくするようにしたものである。したがって、ネ
ットワークの使用可能帯域が大幅に増加した場合には、
従来の輻輳回避時に用いられるRenoアルゴリズムと
比較して、より速やかに輻輳ウィンドウサイズが増加す
る。
【0010】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は本発明の一実施の形態である輻輳
制御方法によるデータ送信処理を示すフローチャート、
図2は一般的な通信システムのブロック図である。図2
において、送信ノード1および受信ノード2は、それぞ
れ通信網(ネットワーク)3に収容されており、通信網
3に所定のコネクションを設定し、そのコネクションを
介してデータ転送を行う。
【0011】送信ノード1および受信ノード2におい
て、アプリケーション処理部5は、上位のアプリケーシ
ョンを実行する処理部である。また、レイヤ4処理部6
は、コネクションの設定解放、フロー制御等に基づいた
データ送受信の処理を行う処理部、下位レイヤ処理部7
は、フレームの組立/分解などのレイヤ2の処理、およ
びルーティングなどのレイヤ3の処理を行う処理部であ
る。
【0012】レイヤ4処理部6で実行されるプロトコル
レイヤ4のフロー制御はウィンドウ方式とし、輻輳制御
用のパラメータとして、通信相手が受信可能として宣言
する受信ウィンドウサイズ(adwnd)の他に、輻輳
ウィンドウサイズ(cwnd)、 スロースタート閾値
(ssthresh)を有する。さらに、複数回のパケ
ット紛失事象の検出でcwndを必要以上に何度も削減
してまうことを防止することを目的として、開始送信シ
ーケンス番号情報(SNO)を有する。
【0013】送信可能なデータ量は、min(cwn
d,adwnd)であり、各パラメータの変動に伴い通
信中に変化していく。以下、A,Bのいずれか小さい方
を選択する関数をmin(A,B)と表す。また、受信
側でパケット紛失を検出した場合に、確認応答パケット
(以下、ACKパケットという)に選択的応答情報(以
下、SACK情報という)を設定するように、コネクシ
ョン設定時に送信側と受信側とでネゴシエーションして
おくものとする。
【0014】これに加え、本発明では、以前に発生した
パケット紛失時のcwndに基づいて算出されるしきい
値clthreshを設けて、cwndがclthre
shを越えた場合には、cwndを大幅に増加させてい
る。これにより、ネットワークの利用可能帯域が急増し
た場合でも、これに応じて送信量を速やかに増加させる
ことができる。
【0015】次に、図1を参照して、本発明の動作とし
て送信ノードにおける輻輳制御処理について説明する。
送信ノード1のレイヤ4処理部6は、アプリケーション
処理部5からの通信要求に基づいてコネクション設定を
行い、その設定完了に応じて図1に示すデータ送信処理
を開始する。
【0016】まず、輻輳制御用の各パラメータの初期値
として、ssthresh=adwnd、しきい値cl
thresh=adwnd、cwnd=1パケット、S
NO=送信シーケンス番号の初期値(開始送信シーケン
ス番号)、およびR=cwnd削減率(0<R<1)の
初期値を設定する(ステップ10)。そして、スロース
タートフェーズに入り、min(cwnd,adwn
d)個、この場合は1個のデータパケットを送信し(ス
テップ11)、ACKパケットの受信を待つ(ステップ
12)。
【0017】ここで、データパケット紛失事象では、確
認応答が受信されず(ステップ12:NO)、時間監視
がタイムアウトした時に(ステップ13:YES)、パ
ケット紛失が発生したものと判断する。この場合、輻輳
制御の各パラメータを、 ssthresh=min(cwnd,adwnd)/
2 cwnd=1パケット に変更する(ステップ14)。
【0018】一方、ステップ12において、一定時間内
に受信ノード2からのACKパケットが受信され(ステ
ップ12:YES)、SACK情報を含むACKパケッ
トを受信した場合には(ステップ15:YES)、その
ACKパケットに示された受信シーケンス番号が、開始
送信シーケンス番号SNOより大きいか否か判断し(ス
テップ22)、受信シーケンス番号が開始送信シーケン
ス番号SNO以下の場合(ステップ22:NO)、cw
ndの削減は行わない。
【0019】また、受信シーケンス番号が開始送信シー
ケンス番号SNOより大きい場合(ステップ22:YE
S)、開始送信シーケンス番号をSNOへ記憶する(ス
テップ23)。そして、cwndの削減処理を行い(ス
テップ24)、cwndの削減率Rを算出して記憶保持
するとともに、しきい値clthreshを算出して記
憶保持する(ステップ25)。
【0020】なお、cwnd削減率R(削減係数)の算
出方法およびcwndの削減処理については、例えば、
特願平9−53215号で提案されている方法を適用で
き、ここでの説明は省略する。また、しきい値clth
reshの算出方法については、いくつかの方法が考え
られる。
【0021】例えば、cwnd削減により新たに得られ
たcwndの定数k倍(k>1)をclthreshと
してもよい。また、過去複数回、cwnd削減により得
られたcwndをそれぞれ記憶しておき、そのうち最も
大きなcwndの定数k倍(k>1)をclthres
hとしてもよい。
【0022】一方、ステップ15において、受信ACK
パケットにSACK情報が含まれていない場合には(ス
テップ15:NO)、cwndがしきい値ssthre
shに達するまで(ステップ16:YES)、cwnd
をACKパケットで受信確認された数すなわち1だけ増
やし(ステップ17)、送信終了ではない場合には(ス
テップ19)、ステップ11へ戻って後続パケットの送
信を行う。
【0023】したがって、次のパケット送信時には、前
回送信時よりn個多いパケットが送信される。この場
合、最初に送信した1個のパケットが受信確認されたこ
とから、1つ増やされて2つのパケットが送信される。
以降、送信したパケットが受信ノードで正常受信された
ことを示す受信ノードからのACKパケットを受信する
ごとに、次の送信可能量cwndが増加し、閾値sst
hreshになるまで、1、2、4‥と指数的に増加し
ていく。
【0024】一方、cwndがssthreshに達し
た場合には(ステップ16:NO)、輻輳回避フェーズ
に入る。この輻輳回避フェーズでは、まず、現在のcw
ndと、直前にcwndを削減したときに算出して記憶
しておいたclthreshとの大小関係によりネット
ワークの使用可能帯域が、今までより多く空いているか
どうかを予測する(ステップ18)。
【0025】ここで、cwnd<clthreshの場
合には(ステップ18:NO)、ネットワークの使用可
能帯域があまり増加していないと判断し、ACKパケッ
ト受信ごとに、直前のcwnd削減率Rに基づき、次式
によりcwndを緩やかに増加させる(ステップ1
9)。 新cwnd=旧cwnd+2×(1−R)/旧cwnd
【0026】この場合、次に輻輳が発生する時点、すな
わちcwndがピーク値となる時点で、Renoアルゴ
リズムによるcwndに近い値となるような前述の近似
式を用いて、cwndを増加させるようにしたものであ
る。したがって、パケット紛失の場合、輻輳回避フェー
ズにおけるcwnd増加量は、Renoアルゴリズムに
よるものよりも、さらに穏やかになる。
【0027】特に、ネットワークの帯域を複数のコネク
ションで使用する場合、各コネクションが占有する帯域
の合計がネットワークの帯域を越えた場合にパケット廃
棄が発生するので、Renoにより方法と本発明とを採
用する両コネクションが同一ネットワーク上に混在する
場合でも、それぞれのコネクションについて一定のスル
ープットが得られる。
【0028】一方、ステップ18において、cwnd≧
clthreshの場合には(ステップ18:YE
S)、ネットワークの利用可能帯域が大きく増加したと
判断して、Renoアルゴリズムに基づいて、ACKパ
ケット受信ごとにcwndを1/cwndだけ増加させ
る(ステップ20)。 新cwnd=旧cwnd+1/旧cwnd
【0029】したがって、スロースタートフェーズより
も緩やかに増加するものの、cwnd≧clthres
hの場合と比較して、cwndの増分が大きくなり、ネ
ットワークの利用可能帯域の増加にともなって、cwn
dも速やかに増加する。
【0030】以上のことから、本発明によれば、送信量
cwndは次のように推移する。まず、cwndがss
threshより小さい場合には、指数的に送信量が増
加する(ステップ17)。また、cwndがssthr
esh以上であって、clthreshより小さい場合
(ssthresh≦cwnd<clthreshの場
合)は、ネットワークの利用可能帯域があまり増加して
いないと判断して、直線的で少ない増加量となる(ステ
ップ19)。
【0031】さらに、cwndがclthresh以上
の場合には、ネットワークの利用可能帯域が大きく増加
したと判断して、直線的で大きな増加量となる(ステッ
プ20)。これにより、従来のように、cwnd増加割
合を従来のRenoに比べて少なくすることで、変動の
少ない送信を行う場合と比較して、RTTが大きい場合
でも利用可能帯域の増加に応じて送信量を速やかに増加
させることができる。
【0032】図3は従来アルゴリズムによるcwndの
推移を示す説明図である。この場合、時刻T0 から時刻
1 までは、cwnd<ssthreshであることか
ら、ACKパケットによる受信確認ごとにcwndが1
ずつ増やされ、結果として指数的に増加していく。時刻
1 において、パケット紛失に起因して受信側からのA
CKパケットにSACK情報が含まれていたことから、
cwndが削減される。
【0033】その後、ACKパケットを受信するごと
に、削減率Rに基づいて2×(1−R)/cwndずつ
cwndが増やされ、スロースタートフェーズと比較す
ると緩やかな増加となる。したがって、時刻T2 以降、
ネットワークの使用可能帯域が大幅に増加した場合で
も、cwndの増加率に変化はない。
【0034】図4は本発明によるcwndの推移を示す
説明図である。本発明において、cwndは、時刻T1
まで、前述の図3に示した従来のものと同様に推移す
る。なお、時刻T1 において、cwndが削減された場
合、その削減後のcwndに基づいてclthresh
が新たに算出され記憶される。
【0035】その後、時刻T1 から時刻T3 までは、c
wnd<clthreshであることから、ACKパケ
ットを受信するごとに、削減率Rに基づいて2×(1−
R)/cwndずつcwndが増やされ、スロースター
トフェーズと比較すると緩やかな増加となる。そして、
時刻T3 にcwnd≧clthreshとなり、ACK
パケットによる受信確認ごとに、1/cwndずつcw
ndが増やされる。
【0036】したがって、時刻T3 において、ネットワ
ークの使用可能帯域がすでに(時刻T2 )に大幅に増加
したと判断され、それ以降の送信量cwndは、時刻T
1 〜T3 での増加に比較して大幅に増加され、ネットワ
ークの利用可能帯域の増加にともなって、cwndも速
やかに増加するものとなる。
【0037】
【発明の効果】以上説明したように、本発明は、輻輳回
避時には、過去の削減時の輻輳ウィンドウサイズから得
られたしきい値と現行の輻輳ウィンドウサイズとを比較
し、現行の輻輳ウィンドウサイズがしきい値以上の場合
には、ネットワークの使用可能帯域が大幅に増加したと
判断して、受信ノードから確認応答パケットを受信する
ごとに増加させる輻輳ウィンドウサイズの増加率を、現
行の輻輳ウィンドウサイズがしきい値より小さい場合の
増加率より大きくするようにしたので、RTTが大きい
場合でも、ネットワークの利用可能帯域が急激に増加し
た場合には、速やかに送信量を増加させることができ、
ネットワーク資源を有効利用できる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態である輻輳制御方法に
よるデータ送信処理を示すフローチャート図である。
【図2】 一般的な通信システムを示すブロック図であ
る。
【図3】 従来の輻輳制御方法によるcwnd変化を示
す説明図である。
【図4】 本発明の輻輳制御方法によるcwnd変化を
示す説明図である。
【符号の説明】
1…送信ノード、2…受信ノード、3…通信網(ネット
ワーク)、5…アプリケーション処理部、6…レイヤ4
処理部、7…下位レイヤ処理部。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) H04L 12/56

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 所定のコネクションを介して接続された
    送受信ノード間で、レイヤ4プロトコルとして、受信ノ
    ードの受信能力を示す受信告知ウィンドウサイズとネッ
    トワークの転送能力を推定した輻輳ウィンドウサイズと
    のうち、いずれか小さい方の値を送信可能パケット数と
    してデータパケットを送信ノードから受信ノードへ転送
    する場合の輻輳制御方法において、 受信ノードは、 送信ノードから送信された複数のデータパケットのうち
    非連続に受信されたデータパケットに対する個々の受信
    確認を示す選択的応答情報を格納して確認応答パケット
    を送信ノードに転送し、 送信ノードは、 パケット紛失発生時には、受信ノードからの確認応答パ
    ケットに格納されている選択的応答情報から算出した紛
    失データ量または正常受信データ量に基づいて、以降の
    輻輳ウィンドウサイズを削減し、 その後の輻輳回避時には、過去の削減時の輻輳ウィンド
    ウサイズから得られたしきい値と現行の輻輳ウィンドウ
    サイズとを比較し、 現行の輻輳ウィンドウサイズがしきい値以上の場合に
    は、ネットワークの使用可能帯域が大幅に増加したと判
    断して、受信ノードから確認応答パケットを受信するご
    とに増加させる輻輳ウィンドウサイズの増加率を、現行
    の輻輳ウィンドウサイズがしきい値より小さい場合の増
    加率より大きくすることを特徴とする輻輳制御方法。
  2. 【請求項2】 請求項1記載の輻輳制御方法において、 現行の輻輳ウィンドウサイズがしきい値より小さい場合
    には、受信ノードから確認応答パケットを受信するごと
    に、直前の輻輳ウィンドウサイズ削減率と、現行の輻輳
    ウィンドウサイズとに基づいて輻輳ウィンドウサイズを
    増加させ、 現行の輻輳ウィンドウサイズがしきい値以上の場合に
    は、受信ノードから確認応答パケットを受信するごと
    に、その確認応答パケットにより確認されたパケット数
    に基づいて輻輳ウィンドウサイズを増加させることを特
    徴とする輻輳制御方法。
  3. 【請求項3】 請求項1または2記載の輻輳制御方法に
    おいて、 直前に削減した輻輳ウィンドウサイズのk倍(kは1よ
    り大きい定数)をしきい値として用いることを特徴とす
    る輻輳制御方法。
  4. 【請求項4】 請求項1または2記載の輻輳制御方法に
    おいて、 過去複数回にわたって削減した輻輳ウィンドウサイズの
    うち、最も大きい輻輳ウィンドウサイズのk倍(kは1
    より大きい定数)をしきい値として用いることを特徴と
    する輻輳制御方法。
JP5499598A 1998-03-06 1998-03-06 輻輳制御方法 Expired - Lifetime JP2893398B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5499598A JP2893398B1 (ja) 1998-03-06 1998-03-06 輻輳制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5499598A JP2893398B1 (ja) 1998-03-06 1998-03-06 輻輳制御方法

Publications (2)

Publication Number Publication Date
JP2893398B1 true JP2893398B1 (ja) 1999-05-17
JPH11261631A JPH11261631A (ja) 1999-09-24

Family

ID=12986249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5499598A Expired - Lifetime JP2893398B1 (ja) 1998-03-06 1998-03-06 輻輳制御方法

Country Status (1)

Country Link
JP (1) JP2893398B1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2831742B1 (fr) * 2001-10-25 2004-02-27 Cit Alcatel Procede de transmission de paquets par l'intermediaire d'un reseau de telecommunications utilisant le protocole ip
JP4147534B2 (ja) 2005-02-03 2008-09-10 日本電気株式会社 通信装置および通信方法
JP4829149B2 (ja) * 2007-03-02 2011-12-07 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信システム及び送信制御方法

Also Published As

Publication number Publication date
JPH11261631A (ja) 1999-09-24

Similar Documents

Publication Publication Date Title
US8125910B2 (en) Communication system
JP3789120B2 (ja) Tcpにおける受信側主体のrtt測定方法
EP1793557B1 (en) Adaptive delayed ACK switching for TCP applications
JP4738594B2 (ja) データフロー制御方法および装置
EP1376944B1 (en) Receiver-initiated transmission rate increment
JP4708978B2 (ja) 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル
US7489637B2 (en) Method of enhancing the efficiency of data flow in communication systems
US20060209838A1 (en) Method and system for estimating average bandwidth in a communication network based on transmission control protocol
US8416694B2 (en) Network feedback method and device
JP2004532566A (ja) キューバッファ制御方法
KR100912178B1 (ko) 무선 환경에서의 혼잡제어방법 및 기록매체
US8279756B2 (en) Communication terminal, communication control method, and communication control program
US7058083B2 (en) Network interface driver and method
WO2005006665A1 (en) Method for setting the retransmission timeout period in a packet switched communication network
JP3003095B1 (ja) フロー制御方法
JP2893398B1 (ja) 輻輳制御方法
US20080285447A1 (en) Session Relaying Apparatus, Session Relay Method, and Session Relay Program
JP3163479B2 (ja) 帯域制御方法
JP3000546B2 (ja) 輻輳制御方法
JP2000209224A (ja) フロ―制御方法
CA2372023A1 (en) Overload control method for a packet-switched network
JPH11177618A (ja) 輻輳制御方法
JP3158357B2 (ja) 再送制御方法
JP2984910B2 (ja) データフロー制御方法
JP2001186179A (ja) パケットデータ転送方法