JPH11177618A - Congestion control method - Google Patents

Congestion control method

Info

Publication number
JPH11177618A
JPH11177618A JP34630797A JP34630797A JPH11177618A JP H11177618 A JPH11177618 A JP H11177618A JP 34630797 A JP34630797 A JP 34630797A JP 34630797 A JP34630797 A JP 34630797A JP H11177618 A JPH11177618 A JP H11177618A
Authority
JP
Japan
Prior art keywords
cwnd
congestion
window size
packet
node
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.)
Pending
Application number
JP34630797A
Other languages
Japanese (ja)
Inventor
Eiichi Kondo
栄一 近藤
Yukio Atsumi
幸雄 渥美
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.)
Ultra High Speed Network and Computer Technology Laboratories
Original Assignee
Ultra High Speed Network and Computer Technology Laboratories
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 Ultra High Speed Network and Computer Technology Laboratories filed Critical Ultra High Speed Network and Computer Technology Laboratories
Priority to JP34630797A priority Critical patent/JPH11177618A/en
Publication of JPH11177618A publication Critical patent/JPH11177618A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To attain impartiality of band reservation between a band by the Reno algorithm and a band by others intermingled with each other on a same network by increasing a congestion window size based on a just preceding congestion window size reduction rate and on a current congestion window size for each acknowledgement packet from a reception node in the case of avoiding congestion. SOLUTION: A layer 4 processing section of a transmission node 1 sets a connection based on a communication request from an application processing section 5 to start data transmission processing. In a congestion avoidance phase, a cwnd is increased for each reception of an ACK packet according to equation of new cwnd = old cwnd + 2×(1-R)/old cwnd, where (n) is number of packets whose reception is confirmed by the ACK packet and R is a just preceding reduction rate. Furthermore, the cwnd by the Reno algorithm is increased based on equation of new cwnd = old cwnd + 1/old cwnd.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、輻輳制御方法に関
し、特に選択的送達確認を行う機能を有するトランスポ
ートレイヤプロトコルにおける輻輳制御方法に関するも
のである。
The present invention relates to a congestion control method, and more particularly, to a congestion control method in a transport layer protocol having a function of performing selective delivery confirmation.

【0002】[0002]

【従来の技術】一般に、トランスポートレイヤ(レイヤ
4)プロトコルの代表例として、インターネットで広く
用いられているTCPでは、送受信ノードにおけるウィ
ンドウ制御が用いられている。このウィンドウ制御で
は、相手ノードの受信能力(バッファ容量)を示す受信
告知ウィンドウ(adwnd)の他に、ネットワークの
転送能力を推定した輻輳ウィンドウ(cwnd)を用い
て、両者のうちいずれか小さい方、すなわち min(adwnd,cwnd) の範囲で、データを送信するものとなっている。
2. Description of the Related Art In general, as a typical example of a transport layer (layer 4) protocol, in TCP widely used in the Internet, window control in a transmitting / receiving node is used. In this window control, in addition to a reception notification window (adwnd) indicating the reception capability (buffer capacity) of the partner node, a congestion window (cwnd) in which the transfer capability of the network is estimated, That is, data is transmitted in the range of min (adwnd, cwnd).

【0003】輻輳制御では、このうちcwndを用いて
行われる。cwndは、スロースタートと呼ばれる方式
を基本としてその値が決定され、1パケットの転送から
開始して、所定のしきい値(ssthresh)になる
まで、応答を受信するごとに送信量を指数関数的に増加
させる(すなわち、1,2,4,8‥と増加させる)。
[0003] Congestion control is performed using cwnd. The value of cwnd is determined based on a method called slow start, and starts from the transfer of one packet and increases the transmission amount every time a response is received until a predetermined threshold value (ssthresh) is reached. (That is, 1, 2, 4, 8).

【0004】そして、cwndが所定値ssthres
h以上になると、輻輳回避と呼ばれる方式を用いて、A
CK受信ごとに以下の計算式により、穏やかに送信量を
増加させる。 新cwnd=旧cwnd+1/旧cwnd
Then, cwnd is set to a predetermined value ssthres
h, A is calculated using a method called congestion avoidance.
The transmission amount is gently increased by the following formula every time the CK is received. New cwnd = old cwnd + 1 / old cwnd

【0005】従来、パケット紛失検出後のcwnd値の
別の設定方法として、 新cwnd=旧cwnd/2 とする方法(Renoアルゴリズム)が広く知られてお
り、安定した帯域が確保されている場合、緩やかな送信
量の増加と、パケット紛失による送信量の削減とを繰り
返し、ある一定のスループットが確保される。
Conventionally, as another method of setting a cwnd value after detecting packet loss, a method of setting new cwnd = old cwnd / 2 (Reno algorithm) is widely known, and when a stable band is secured, A gradual increase in the amount of transmission and a reduction in the amount of transmission due to packet loss are repeated to secure a certain throughput.

【0006】また、Renoアルゴリズムの削減量1/
2に対して、SACK情報により判明したパケット紛失
量に応じて、cwnd削減量を設定する方法も考えられ
ている(例えば、特願平9−53215号など参照)。
この場合、送信量増加の割合は、Renoアルゴリズム
と同様である。
Further, the amount of reduction of the Reno algorithm 1 /
With respect to No. 2, a method of setting the cwnd reduction amount according to the packet loss amount found from the SACK information is also considered (for example, see Japanese Patent Application No. 9-53215).
In this case, the rate of increase in the transmission amount is the same as in the Reno algorithm.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、このよ
うな従来の輻輳制御方法では、特に、前者のRenoア
ルゴリズムによるTCPではcwndの削減量が一定で
あるが、後者のSACK情報を用いるものではSACK
情報によりcwndの削減量が変化することから、これ
ら輻輳制御方法が同一ネットワークに混在する場合に
は、後者の方が多くの帯域を確保してしまい公平性を保
つことができないという問題点があった。
However, in such a conventional congestion control method, the amount of cwnd reduction is constant particularly in the former TCP using the Reno algorithm, but the SACK information is not used in the latter method using SACK information.
Since the amount of cwnd reduction changes depending on information, when these congestion control methods coexist in the same network, the latter has a problem that a larger bandwidth is secured and fairness cannot be maintained. Was.

【0008】網の混雑状況があまり過度ではない場合、
パケット紛失は1つづつ発生する場合が一般的である。
したがって、前述の前者および後者の輻輳制御方法が同
一ネットワークに混在していた場合、前者による方法と
後者による方法の両コネクションのパケットが同時に廃
棄される場合がある。
[0008] If the network congestion is not excessive,
Generally, packet loss occurs one by one.
Therefore, when the former congestion control method and the latter congestion control method are mixed in the same network, packets of both connections of the former method and the latter method may be discarded at the same time.

【0009】ここで、両方式のcwnd削減率が同一で
はないため、RTT(RoundTripTime )が同一の場合に
は、後者のSACK情報を用いる方法の方が、前者のR
enoアルゴリズムによる方法と比較して、cwndを
大きく設定することになり、結果として後者の方法が多
くの帯域を確保してしまい公平性を保つことができなく
なる。本発明はこのような課題を解決するためのもので
あり、SACK情報を用いてcwndの削減量を変化さ
せる場合、同一ネットワーク上に混在するRenoアル
ゴリズムによるものとの帯域確保の公平性が得られる輻
輳制御方法を提供することを目的としている。
Here, since the cwnd reduction rates of both methods are not the same, when the RTT (RoundTripTime) is the same, the former method using SACK information is better than the former method using RACK information.
As compared with the method using the eno algorithm, cwnd is set to be large, and as a result, the latter method secures a large amount of bandwidth and cannot maintain fairness. The present invention is intended to solve such a problem, and when the amount of cwnd reduction is changed using SACK information, it is possible to obtain fairness in securing the bandwidth with that by the Reno algorithm mixed on the same network. It is intended to provide a congestion control method.

【0010】[0010]

【課題を解決するための手段】このような目的を達成す
るために、本発明による輻輳制御方法は、受信ノードに
より、送信ノードから送信された複数のデータパケット
のうち非連続に受信されたデータパケットに対する個々
の受信確認を示す選択的応答情報を格納して確認応答パ
ケットを送信ノードに転送し、送信ノードにより、パケ
ット紛失発生時には、受信ノードからの確認応答パケッ
トに格納されている選択的応答情報から算出した紛失デ
ータ量または正常受信データ量に基づいて、以降の輻輳
ウィンドウサイズを削減し、その後の輻輳回避時には、
受信ノードからの確認応答パケットごとに、直前の輻輳
ウィンドウサイズ削減率と、現行の輻輳ウィンドウサイ
ズとに基づいて輻輳ウィンドウサイズを増加させるよう
にしたものである。さらに、送信ノードにより、輻輳回
避時には、受信ノードからの確認応答パケットごとに、
直前の輻輳ウィンドウサイズ削減率Rと、現行の輻輳ウ
ィンドウサイズcwndとから、cwnd+2×(1−
R)/cwndにより新たな輻輳ウィンドウサイズを算
出するようにしたものである。
In order to achieve the above object, a congestion control method according to the present invention provides a method for controlling a congestion of a data packet received by a receiving node from among a plurality of data packets transmitted discontinuously from a transmitting node. The selective response information indicating the individual acknowledgment for the packet is stored and the acknowledgment packet is transferred to the transmitting node. When the packet is lost, the selective response stored in the acknowledgment packet from the receiving node is transmitted by the transmitting node. Based on the lost data amount or the normal received data amount calculated from the information, reduce the subsequent congestion window size, at the time of subsequent congestion avoidance,
For each acknowledgment packet from the receiving node, the congestion window size is increased based on the immediately preceding congestion window size reduction rate and the current congestion window size. Further, by the transmitting node, at the time of avoiding congestion, for each acknowledgment packet from the receiving node,
From the immediately preceding congestion window size reduction rate R and the current congestion window size cwnd, cwnd + 2 × (1-
R) / cwnd to calculate a new congestion window size.

【0011】[0011]

【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は本発明の一実施の形態である輻輳
制御方法によるデータ送信処理を示すフローチャート、
図2は一般的な通信システムのブロック図である。図2
において、送信ノード1および受信ノード2は、それぞ
れ通信網(ネットワーク)3に収容されており、通信網
3に所定のコネクションを設定し、そのコネクションを
介してデータ転送を行う。
Next, the present invention will be described with reference to the drawings. FIG. 1 is a flowchart illustrating a data transmission process according to a congestion control method according to an embodiment of the present invention;
FIG. 2 is a block diagram of a general communication system. FIG.
In FIG. 1, the transmitting node 1 and the receiving node 2 are accommodated in a communication network (network) 3, respectively, set a predetermined connection in the communication network 3, and perform data transfer via the connection.

【0012】送信ノード1および受信ノード2におい
て、アプリケーション処理部5は、上位のアプリケーシ
ョンを実行する処理部である。また、レイヤ4処理部6
は、コネクションの設定解放、フロー制御等に基づいた
データ送受信の処理を行う処理部、下位レイヤ処理部7
は、フレームの組立/分解などのレイヤ2の処理、およ
びルーティングなどのレイヤ3の処理を行う処理部であ
る。
In the transmitting node 1 and the receiving node 2, the application processing unit 5 is a processing unit that executes a higher-level application. The layer 4 processing unit 6
A processing unit that performs processing of data transmission and reception based on connection setting release, flow control, and the like; a lower layer processing unit 7
Is a processing unit that performs layer 2 processing such as frame assembly / disassembly and layer 3 processing such as routing.

【0013】レイヤ4処理部6で実行されるプロトコル
レイヤ4のフロー制御はウィンドウ方式とし、輻輳制御
用のパラメータとして、通信相手が受信可能として宣言
する受信ウィンドウサイズ(adwnd)の他に、輻輳
ウィンドウサイズ(cwnd)、 スロースタート閾値
(ssthresh)を有する。さらに、複数回のパケ
ット紛失事象の検出でcwndを必要以上に何度も削減
してまうことを防止することを目的として、開始送信シ
ーケンス番号情報(SNO)を有する。
The flow control of the protocol layer 4 executed by the layer 4 processing unit 6 is performed in a window system. The congestion control parameters include a reception window size (adwnd) declared to be receivable by a communication partner and a congestion window. It has a size (cwnd) and a slow start threshold (ssthresh). Further, it has start transmission sequence number information (SNO) for the purpose of preventing cwnd from being reduced more than necessary by detecting a packet loss event a plurality of times.

【0014】送信可能なパケット数は、min(cwn
d, adwnd)であり、各パラメータの変動に伴い
通信中に変化していく。以下、A,Bのいずれか小さい
方を選択する関数をmin(A,B)と表す。また、受
信側でパケット紛失を検出した場合に、確認応答パケッ
ト(以下、ACKパケットという)に選択的応答情報
(以下、SACK情報という)を設定するように、コネ
クション設定時に送信側と受信側とでネゴシエーション
しておくものとする。
The number of packets that can be transmitted is min (cwn
d, adwnd), and changes during communication according to the change of each parameter. Hereinafter, a function for selecting the smaller one of A and B is represented as min (A, B). Further, when the packet loss is detected on the receiving side, the transmitting side and the receiving side are set at the time of connection setting so that selective response information (hereinafter, referred to as SACK information) is set in an acknowledgment packet (hereinafter, referred to as ACK packet). Negotiate with

【0015】次に、図1を参照して、本発明の動作とし
て送信ノードにおける輻輳制御処理について説明する。
送信ノード1のレイヤ4処理部6は、アプリケーション
処理部5からの通信要求に基づいてコネクション設定を
行い、その設定完了に応じて図1に示すデータ送信処理
を開始する。
Next, a congestion control process in the transmitting node will be described as an operation of the present invention with reference to FIG.
The layer 4 processing unit 6 of the transmission node 1 performs connection setting based on a communication request from the application processing unit 5, and starts the data transmission process shown in FIG.

【0016】まず、輻輳制御用の各パラメータの初期値
として、ssthresh=adwnd、cwnd=1
パケット、SNO=送信シーケンス番号の初期値(開始
送信シーケンス番号)、およびR=cwnd削減率(0
<R<1)の初期値を設定する(ステップ10)。そし
て、スロースタートフェーズに入り、min(cwn
d, adwnd)個、この場合は1個のデータパケッ
トを送信し(ステップ11)、ACKパケットの受信を
待つ(ステップ12)。
First, ssthresh = adwnd, cwnd = 1 as initial values of each parameter for congestion control.
Packet, SNO = initial value of transmission sequence number (start transmission sequence number), and R = cwnd reduction rate (0
An initial value of <R <1) is set (step 10). Then, a slow start phase is entered, and min (cwn
d, adwnd), in this case, one data packet is transmitted (step 11), and the reception of an ACK packet is waited (step 12).

【0017】ここで、一定時間内に受信ノード2からの
ACKパケットが受信され(ステップ12:YES)、
その受信ACKパケットにSACK情報が含まれていな
い場合には(ステップ15:NO)、cwndがしきい
値ssthreshに達するまで(ステップ16:YE
S)、cwndを1パケットだけ増やし(ステップ1
7)、送信終了ではない場合には(ステップ19)、ス
テップ11へ戻って後続パケットの送信を行う。
Here, an ACK packet from the receiving node 2 is received within a predetermined time (step 12: YES),
If the received ACK packet does not include the SACK information (step 15: NO), until cwnd reaches the threshold value ssthresh (step 16: YE
S), cwnd is increased by one packet (step 1)
7) If the transmission is not completed (step 19), the process returns to step 11 to transmit the subsequent packet.

【0018】したがって、次のパケット送信時には、前
回送信時よりn個多いパケットが送信される。この場
合、最初に送信した1個のパケットが受信確認された
(n=1)ことから、1つ増やされて2つのパケットが
送信される。以降、送信したパケットが受信ノードで正
常受信されたことを示す受信ノードからのACKパケッ
トを受信するごとに、次の送信可能量であるcwndが
閾値ssthreshになるまで、1、2、4‥と指数
的に増加していく。
Therefore, at the time of transmitting the next packet, n more packets are transmitted than at the time of the previous transmission. In this case, one packet transmitted first is confirmed to be received (n = 1), so that one packet is added and two packets are transmitted. Thereafter, every time an ACK packet is received from the receiving node indicating that the transmitted packet has been normally received by the receiving node, 1, 2, 4} and so on until the next transmittable amount cwnd reaches the threshold ssthresh. Exponentially increasing.

【0019】一方、cwndがssthreshに達し
た場合には(ステップ16:NO)、輻輳回避フェーズ
に入る。この輻輳回避フェーズでは、ACKパケット受
信ごとにcwndをACKパケットで受信確認されたパ
ケット数nと、直前のcwnd削減率Rとに基づき、次
式によりcwndを増加させる(ステップ18)。 新cwnd=旧cwnd+2×(1−R)/旧cwnd
On the other hand, when cwnd has reached ssthresh (step 16: NO), a congestion avoidance phase is entered. In this congestion avoidance phase, cwnd is increased by the following equation based on the number n of packets for which cwnd has been acknowledged as an ACK packet each time an ACK packet is received, and the previous cwnd reduction rate R (step 18). New cwnd = old cwnd + 2 × (1-R) / old cwnd

【0020】なお、Renoアルゴリズムによるcwn
dは、次式により増加させる。 新cwnd=旧cwnd+1/旧cwnd したがって、直前の送信パケット量であるcwndに対
する全ての確認応答を受信すると、cwndは1パケッ
トだけ増加することになり、スロースタートフェーズと
比較すると緩やかな増加となる。
Note that cwn based on the Reno algorithm
d is increased by the following equation. New cwnd = old cwnd + 1 / old cwnd Therefore, when all acknowledgments are received for cwnd, which is the immediately preceding transmission packet amount, cwnd increases by one packet, and gradually increases compared to the slow start phase.

【0021】本発明では、次に輻輳が発生する時点、す
なわちcwndがピーク値となる時点で、Renoアル
ゴリズムによるcwndに近い値となるような前述の近
似式を用いて、cwndを増加させるようにしたもので
ある。したがって、パケット紛失の場合、輻輳回避フェ
ーズにおけるcwnd増加量は、Renoアルゴリズム
によるものよりも、さらに穏やかになる。
In the present invention, cwnd is increased at the next congestion time, that is, at the time when cwnd reaches a peak value, using the above-described approximate expression that is close to cwnd by the Reno algorithm. It was done. Therefore, in the case of packet loss, the amount of increase in cwnd in the congestion avoidance phase becomes more moderate than that by the Reno algorithm.

【0022】特に、ネットワークの帯域を複数のコネク
ションで使用する場合、各コネクションが占有する帯域
の合計がネットワークの帯域を越えた場合にパケット廃
棄が発生するので、Renoにより方法と本発明とを採
用する両コネクションが同一ネットワーク上に混在する
場合でも、それぞれのコネクションについて一定のスル
ープットが得られる。
In particular, when the network bandwidth is used by a plurality of connections, packet discarding occurs when the total bandwidth occupied by each connection exceeds the network bandwidth. Therefore, the method and the present invention are adopted by Reno. Even if both connections are mixed on the same network, a constant throughput can be obtained for each connection.

【0023】なお、データパケット紛失事象では、確認
応答が受信されず(ステップ12:NO)、時間監視が
タイムアウトした時に(ステップ13:YES)、パケ
ット紛失が発生したものと判断する。この場合、輻輳制
御の各パラメータを、 ssthresh=min(cwnd, adwnd)
/2 cwnd=1パケット に変更する(ステップ14)。
In the data packet loss event, no acknowledgment is received (step 12: NO), and when the time monitoring times out (step 13: YES), it is determined that a packet loss has occurred. In this case, each parameter of the congestion control is set as follows: ssthresh = min (cwnd, adwnd)
/ 2 cwnd = 1 packet (step 14).

【0024】一方、SACK情報を含むACKパケット
を受信した場合には(ステップ15:YES)、そのA
CKパケットに示された受信シーケンス番号が、開始送
信シーケンス番号SNOより大きいか否か判断し(ステ
ップ20)、受信シーケンス番号が開始送信シーケンス
番号SNO以下の場合(ステップ20:NO)、cwn
dの削減は行わない。
On the other hand, when an ACK packet including SACK information is received (step 15: YES), the A
It is determined whether or not the reception sequence number indicated in the CK packet is larger than the start transmission sequence number SNO (step 20). If the reception sequence number is equal to or smaller than the start transmission sequence number SNO (step 20: NO), cwn
The reduction of d is not performed.

【0025】また、受信シーケンス番号が開始送信シー
ケンス番号SNOより大きい場合(ステップ20:YE
S)、開始送信シーケンス番号をSNOへ記憶する(ス
テップ21)とともに、cwndの削減率Rを算出し
て、その値を記憶保持し(ステップ22)、cwndの
削減処理を行う(ステップ23)。なお、cwnd削減
率R(削減係数)の算出方法およびcwndの削減処理
については、特願平9−53215号で提案されている
方法を適用でき、ここでの説明は省略する。
If the reception sequence number is larger than the start transmission sequence number SNO (step 20: YE
S), the start transmission sequence number is stored in the SNO (step 21), the cwnd reduction rate R is calculated, the value is stored and held (step 22), and cwnd reduction processing is performed (step 23). Note that the method proposed in Japanese Patent Application No. 9-53215 can be applied to the method of calculating the cwnd reduction rate R (reduction coefficient) and the process of reducing cwnd, and a description thereof will be omitted.

【0026】図3は各種アルゴリズムによるcwndの
変化を示す説明図であり、(a)は従来のRenoアル
ゴリズムによるもの、(b)従来のRenoアルゴリズ
ムによるものと従来のSACK情報を用いたものとが混
在する場合、(c)は従来のRenoアルゴリズムによ
るものと本発明によるものとが混在する場合を示してい
る。
FIGS. 3A and 3B are explanatory diagrams showing changes in cwnd by various algorithms. FIG. 3A shows the results obtained by the conventional Reno algorithm, and FIG. 3B shows the results obtained by the conventional Reno algorithm and the result obtained by using the conventional SACK information. In the case of a mixture, (c) shows a case in which the result of the conventional Reno algorithm and the result of the present invention are mixed.

【0027】図3(a)では、時刻T0 においてcwn
dがssthreshに達し、これ以降、輻輳回避フェ
ーズとなり、前述したRenoアルゴリズムに基づいて
固定的な増加率によりcwnd31Aが増加し、時刻T
A1,TA2において発生した輻輳に応じてcwnd31A
が削減されている。
In FIG. 3A, at time T 0 , cwn
d reaches ssthresh, and thereafter, the congestion avoidance phase occurs, and cwnd31A increases at a fixed increase rate based on the Reno algorithm described above, and the time T
Cwnd31A according to the congestion generated in A1 and T A2
Has been reduced.

【0028】図3(b)では、Renoアルゴリズムに
よるcwnd31Bと従来のSACK情報を用いたアル
ゴリズムによるcwnd32Bとの和が、ネットワーク
の許容送信量に達した時点、すなわち時刻TB1,TB2
輻輳が発生し、それぞれのcwnd31B,32Bが削
減される。この場合、Renoアルゴリズムによるcw
nd31Bに比較して、SACK情報を用いたアルゴリ
ズムによるcwnd32Bの削減率が低く、ほぼ同じ増
加率で増加するため、両者の差が徐々におおきくなり、
使用帯域の公平性が保たれなくなる。
In FIG. 3B, when the sum of the cwnd 31B by the Reno algorithm and the cwnd 32B by the conventional algorithm using the SACK information reaches the allowable transmission amount of the network, that is, congestion occurs at times T B1 and T B2. Occurs and the respective cwnd 31B, 32B are reduced. In this case, cw by the Reno algorithm
Compared with nd31B, the reduction rate of cwnd32B by the algorithm using the SACK information is low and increases at almost the same increase rate, so that the difference between the two gradually increases,
The fairness of the used bandwidth cannot be maintained.

【0029】図3(c)では、図3(b)と同様に、時
刻TC1,TC2で輻輳が発生するが、本発明によるcwn
d32Cの増加率が、直前の削減率Rに基づいて決定さ
れるため、削減率Rが小さい場合にはその増加率も小さ
くなるため、輻輳発生直前のcwndすなわちピーク値
はほぼ同じ値となり、使用帯域について、ある一定の公
平性が保たれる。
In FIG. 3C, as in FIG. 3B, congestion occurs at times T C1 and T C2 , but cwn according to the present invention.
Since the increase rate of d32C is determined based on the immediately preceding reduction rate R, when the reduction rate R is small, the increase rate is also small, so that the cwnd immediately before the occurrence of congestion, that is, the peak value becomes almost the same value. A certain level of fairness is maintained for the bandwidth.

【0030】このように、受信ノードから通知されたS
ACK情報に基づいて、受信ノードにおいて正常受信で
きなかった紛失データ量を算出し、この紛失データ量に
基づいてパケット紛失検出直後の送信可能パケット量
(cwnd)の削減を行うようにしたので、従来のよう
に、そのパケット紛失状況によらず一律に輻輳ウィンド
ウサイズcwndを削減する場合と比較して、ネットワ
ークの負荷状況に応じて適切に送信パケット数を制御で
き、ネットワーク資源を有効利用できる。
As described above, S notified from the receiving node
Since the receiving node calculates the amount of lost data that cannot be normally received by the receiving node based on the ACK information and reduces the amount of transmittable packets (cwnd) immediately after packet loss detection based on the amount of lost data. As compared with the case where the congestion window size cwnd is uniformly reduced irrespective of the packet loss status as described above, the number of transmission packets can be appropriately controlled according to the network load status, and network resources can be used effectively.

【0031】[0031]

【発明の効果】以上説明したように、本発明は、受信ノ
ードからの選択的応答(SACK)情報を利用したトラ
ンスポートレイヤの輻輳制御方法において、パケット紛
失による輻輳ウィンドウサイズ削減後の輻輳回避時に
は、受信ノードからの確認応答パケットごとに、直前の
輻輳ウィンドウサイズ削減率と、現行の輻輳ウィンドウ
サイズとに基づいて輻輳ウィンドウサイズを増加させる
ようにしたので、選択的応答情報を用いないRenoア
ルゴリズムによる従来の輻輳制御方法を用いるコネクシ
ョンと同一ネットワーク上に混在する場合でも、帯域確
保にいて一定の公平性を保つことができる。また、新c
wnd=旧cwnd+2×(1−R)/旧cwndによ
り新たなcwndを用いて算出するようにしたので、簡
単な演算式により、輻輳発生直前はRenoアルゴリズ
ムによるものとほぼ同じ輻輳ウィンドウサイズ(ピーク
値)を得ることができる。
As described above, the present invention relates to a method for controlling congestion of a transport layer using selective response (SACK) information from a receiving node, the method for avoiding congestion after reducing the congestion window size due to packet loss. For each acknowledgment packet from the receiving node, the congestion window size is increased based on the previous congestion window size reduction rate and the current congestion window size, so that the Reno algorithm using no selective response information Even when connections using the conventional congestion control method coexist on the same network, a certain level of fairness can be maintained in securing the bandwidth. In addition, new c
wnd = old cwnd + 2 × (1−R) / old cwnd, which is calculated using a new cwnd. Therefore, a congestion window size (peak value) that is almost the same as that by the Reno algorithm immediately before the occurrence of congestion can be obtained by a simple calculation ) Can be obtained.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の一実施の形態である輻輳制御方法に
よるデータ送信処理を示すフローチャート図である。
FIG. 1 is a flowchart illustrating a data transmission process according to a congestion control method according to an embodiment of the present invention.

【図2】 一般的な通信システムを示すブロック図であ
る。
FIG. 2 is a block diagram illustrating a general communication system.

【図3】 各種アルゴリズムによるcwndの変化を示
す説明図である。
FIG. 3 is an explanatory diagram showing changes in cwnd due to various algorithms.

【符号の説明】 1…送信ノード、2…受信ノード、3…通信網(ネット
ワーク)、5…アプリケーション処理部、6…レイヤ4
処理部、7…下位レイヤ処理部。
[Explanation of Symbols] 1 ... transmission node, 2 ... reception node, 3 ... communication network (network), 5 ... application processing unit, 6 ... layer 4
Processing unit 7, lower layer processing unit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 所定のコネクションを介して接続された
送受信ノード間で、レイヤ4プロトコルとして、受信ノ
ードの受信能力を示す受信告知ウィンドウサイズとネッ
トワークの転送能力を推定した輻輳ウィンドウサイズと
のうち、いずれか小さい方の値を送信可能パケット数と
してデータパケットを送信ノードから受信ノードへ転送
する場合の輻輳制御方法において、 受信ノードは、 送信ノードから送信された複数のデータパケットのうち
非連続に受信されたデータパケットに対する個々の受信
確認を示す選択的応答情報を格納して確認応答パケット
を送信ノードに転送し、 送信ノードは、 パケット紛失発生時には、受信ノードからの確認応答パ
ケットに格納されている選択的応答情報から算出した紛
失データ量または正常受信データ量に基づいて、以降の
輻輳ウィンドウサイズを削減し、 その後の輻輳回避時には、受信ノードからの確認応答パ
ケットごとに、直前の輻輳ウィンドウサイズ削減率と、
現行の輻輳ウィンドウサイズとに基づいて輻輳ウィンド
ウサイズを増加させることを特徴とする輻輳制御方法。
1. A transmission / reception node connected via a predetermined connection between a reception notification window size indicating a reception capability of a reception node and a congestion window size estimating a transfer capability of a network as a layer 4 protocol. In the congestion control method in which a data packet is transferred from a transmitting node to a receiving node using a smaller value as the number of transmittable packets, the receiving node receives the data packet discontinuously among a plurality of data packets transmitted from the transmitting node. The selective response information indicating the individual acknowledgment of the received data packet is stored and the acknowledgment packet is transmitted to the transmitting node. When the packet is lost, the transmitting node stores the acknowledgment packet from the acknowledgment packet from the receiving node. Lost data amount or normal received data amount calculated from selective response information Based on, reducing the subsequent congestion window size, the subsequent congestion avoidance when, every acknowledgment packet from the receiving node, and the previous congestion window size reduction rate,
A congestion control method characterized by increasing a congestion window size based on a current congestion window size.
【請求項2】 請求項1記載の輻輳制御方法において、 送信ノードは、 輻輳回避時には、受信ノードからの確認応答パケットご
とに、直前の輻輳ウィンドウサイズ削減率Rと、現行の
輻輳ウィンドウサイズcwndとから、cwnd+2×
(1−R)/cwndにより新たな輻輳ウィンドウサイ
ズを算出することを特徴とする輻輳制御方法。
2. The congestion control method according to claim 1, wherein the congestion window size reduction rate R and the current congestion window size cwnd for each acknowledgment packet from the receiving node when congestion is avoided. From, cwnd + 2 ×
A congestion control method, wherein a new congestion window size is calculated by (1-R) / cwnd.
JP34630797A 1997-12-16 1997-12-16 Congestion control method Pending JPH11177618A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34630797A JPH11177618A (en) 1997-12-16 1997-12-16 Congestion control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34630797A JPH11177618A (en) 1997-12-16 1997-12-16 Congestion control method

Publications (1)

Publication Number Publication Date
JPH11177618A true JPH11177618A (en) 1999-07-02

Family

ID=18382524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34630797A Pending JPH11177618A (en) 1997-12-16 1997-12-16 Congestion control method

Country Status (1)

Country Link
JP (1) JPH11177618A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020038376A (en) * 2000-11-17 2002-05-23 구자홍 A method to improve Forwarding speed of a sliding window method
EP1524808A2 (en) 2003-10-18 2005-04-20 Samsung Electronics Co., Ltd. Adjusting transmission rate in a mobile ad hoc network
KR100544182B1 (en) * 2003-03-11 2006-01-23 삼성전자주식회사 Sliding window management method and apparatus in IPsec

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020038376A (en) * 2000-11-17 2002-05-23 구자홍 A method to improve Forwarding speed of a sliding window method
KR100544182B1 (en) * 2003-03-11 2006-01-23 삼성전자주식회사 Sliding window management method and apparatus in IPsec
EP1524808A2 (en) 2003-10-18 2005-04-20 Samsung Electronics Co., Ltd. Adjusting transmission rate in a mobile ad hoc network
US7336608B2 (en) 2003-10-18 2008-02-26 Samsung Electronics Co., Ltd. Method for adjusting a transmission rate to obtain the optimum transmission rate in a mobile ad hoc network environment

Similar Documents

Publication Publication Date Title
US8125910B2 (en) Communication system
JP4738594B2 (en) Data flow control method and apparatus
EP1793557B1 (en) Adaptive delayed ACK switching for TCP applications
JP4407700B2 (en) Communication terminal, communication system, congestion control method, and congestion control program
US6233224B1 (en) Communication method and data communications terminal, with data communication protocol for inter-layer flow control
EP1376944B1 (en) Receiver-initiated transmission rate increment
US9112799B2 (en) Network packet loss processing method and apparatus
JP4708978B2 (en) Communication system, communication terminal, session relay device, and communication protocol realizing high throughput
US8416694B2 (en) Network feedback method and device
US20070177502A1 (en) Communication system, communication apparatus, congestion control method used therefor, and program for the method
US20020141353A1 (en) Method and device for improving a data throughput
EP2219343A1 (en) Modification of explicit congestion notification (ECN) by skipping congestion experienced (CE) events
KR20020038548A (en) Network protocol
US7058083B2 (en) Network interface driver and method
KR20040027176A (en) congestion control method over wireless link
JP3003095B1 (en) Flow control method
WO2010092323A2 (en) Data transmission
US8793394B2 (en) Session relaying apparatus, session relay method, and session relay program
JP3163479B2 (en) Bandwidth control method
JPH11177618A (en) Congestion control method
JP2893398B1 (en) Congestion control method
JP3000546B2 (en) Congestion control method
JP4915415B2 (en) Communication terminal, communication system, congestion control method, and congestion control program
JPH11261632A (en) Band allocation control method
JP2001186179A (en) Method for transferring packet data