JP3003095B1 - Flow control method - Google Patents
Flow control methodInfo
- Publication number
- JP3003095B1 JP3003095B1 JP30071298A JP30071298A JP3003095B1 JP 3003095 B1 JP3003095 B1 JP 3003095B1 JP 30071298 A JP30071298 A JP 30071298A JP 30071298 A JP30071298 A JP 30071298A JP 3003095 B1 JP3003095 B1 JP 3003095B1
- Authority
- JP
- Japan
- Prior art keywords
- congestion
- packet
- end node
- ack
- data 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
【要約】
【課題】 パケットの紛失/廃棄の原因に応じてフロー
制御することにより、不要なcwnd削減を回避し、適
切なスループットを得る。
【解決手段】 送信エンドノード1において、輻輳発生
が確認された場合は(ステップ15:YES)、通信網
で発生した輻輳によるパケット紛失であると判断して輻
輳ウィンドウ値を削減し(ステップ33)、輻輳確認手
段により輻輳発生が確認されず(ステップ15:N
O)、重複Ack検出手段により重複Ack受信が確認
された場合は(ステップ22:YES)、通信網5で発
生した回線誤りによるパケット紛失であると判断して、
輻輳ウィンドウ値を削減することなく、紛失したデータ
パケットを再送する(ステップ23)。Abstract: PROBLEM TO BE SOLVED: To avoid unnecessary cwnd reduction and obtain an appropriate throughput by performing flow control according to the cause of packet loss / discard. SOLUTION: When the occurrence of congestion is confirmed in the transmission end node 1 (step 15: YES), it is determined that the packet is lost due to the congestion occurring in the communication network, and the congestion window value is reduced (step 33). The occurrence of congestion is not confirmed by the congestion confirmation means (step 15: N
O) If the duplicate Ack detection unit confirms the reception of the duplicate Ack (step 22: YES), it is determined that the packet is lost due to a line error generated in the communication network 5, and
The lost data packet is retransmitted without reducing the congestion window value (step 23).
Description
【0001】[0001]
【発明の属する技術分野】本発明は、フロー制御方法に
関し、特に通信プロトコル処理を実行するノードにおけ
るプロトコルレイヤ4(OSI参照モデル/トランスポ
ート層)のフロー制御方法に関するものである。The present invention relates to a flow control method, and more particularly, to a flow control method of a protocol layer 4 (OSI reference model / transport layer) in a node that executes a communication protocol process.
【0002】[0002]
【従来の技術】現在、プロトコルレイヤ4で広く使用さ
れているTCP(代表例:Reno−TCP)のデータ
のフロー制御方法は、有線系回線を対象として発展して
きており、パケット紛失事象の原因は輻輳によるものと
して扱っている。したがって、フロー制御ではウィンド
ウ方式を用いて、パケット紛失事象の検出を契機として
送信量を削減するが、この送信量を制御するため、相手
ノードの受信能力を示す受信告知ウィンドウ(以下、a
dwndという)の他に、ネットワークの転送能力を推
定した輻輳ウィンドウ(以下、cwndという)が用い
られる。2. Description of the Related Art At present, TCP (typical example: Reno-TCP) data flow control method widely used in a protocol layer 4 has been developed for a wire line, and the cause of a packet loss event is as follows. Treated as due to congestion. Therefore, in the flow control, the transmission amount is reduced by detecting a packet loss event using a window method. However, in order to control the transmission amount, a reception notification window (hereinafter, a
dwnd), a congestion window (hereinafter, referred to as cwnd) that estimates the transfer capability of the network is used.
【0003】実際の送信量は、min(adwnd,c
wnd)の範囲で送信する。但し、min(x,y)は
xおよびyのうちのいずれか小さい方の値を採ることを
示している。パケット紛失事象を検出すると、cwnd
を削減する。送信量の調整のためのフロー制御は、cw
ndを中心として実現されており、前記のパラメータの
他にスロースタート閾値(ssthresh)が設けら
れている。The actual transmission amount is min (adwnd, c
wnd). However, min (x, y) indicates that the smaller value of x and y is used. When a packet loss event is detected, cwnd
Reduce. The flow control for adjusting the transmission amount is cw
nd, and a slow start threshold (ssthresh) is provided in addition to the above parameters.
【0004】フロー制御では、これらのパラメータに基
づいてデータパケットの送信が行われるが、フロー制御
には、スロースタートフェーズと輻輳回避フェーズと呼
ばれる2つのフェーズがあり、制御の方法が異なる。以
下、図4を参照して、従来のフロー制御方法について説
明する。なお、パケット識別を含め各パラメータの単位
はTCPの実装ではバイト数としているが、以下では説
明を容易にするためパケット数で表現する。In flow control, data packets are transmitted based on these parameters. Flow control has two phases called a slow start phase and a congestion avoidance phase, and the control method is different. Hereinafter, a conventional flow control method will be described with reference to FIG. Note that the unit of each parameter including the packet identification is the number of bytes in the implementation of TCP, but will be represented by the number of packets below for ease of explanation.
【0005】まず、送信エンドノードは、受信エンドノ
ードとの間でコネクション設定した後、ssthres
h=adwnd,cwnd=1に初期設定する(ステッ
プ51)。そして、スロースタートフェーズに入り、m
in(cwnd,adwnd)の範囲、この場合はcw
ndが採用され、1個のデータパケット(以下、DTパ
ケットという)の送信を行い、受信エンドノードからそ
のDTパケット受信に応じて返送される確認応答パケッ
ト(以下、Ackパケットという)の受信を待つ(ステ
ップ52)。[0005] First, the transmission end node sets up a connection with the reception end node, and then sets up a ssthres
Initially, h = adwnd and cwnd = 1 are set (step 51). Then, enter the slow start phase, m
in (cwnd, adwnd), in this case cw
nd is adopted, one data packet (hereinafter, referred to as DT packet) is transmitted, and reception of an acknowledgment packet (hereinafter, referred to as Ack packet) returned from the receiving end node in response to the reception of the DT packet is performed. (Step 52).
【0006】ここで、DTパケット送信から所定期間内
にAckパケットを受信した場合は(ステップ52:A
ckパケット受信)、このAckパケットが後述の重複
Ackではなく(ステップ61:NO)、cwnd<s
sthreshであることから(ステップ65:YE
S)、cwndを+1し(ステップ66)、ステップ5
2に戻る。Here, if an Ack packet is received within a predetermined period from the transmission of the DT packet (step 52: A
ck packet), this Ack packet is not a duplicate Ack described later (step 61: NO), and cwnd <s
sthresh (step 65: YE
S), +1 is added to cwnd (step 66), and step 5
Return to 2.
【0007】これにより、次にはcwnd=2であるこ
とから2つのDTパケットを送信し、以降、Ackパケ
ットを受信するごとに、次の送信可能量であるcwnd
は、閾値ssthreshになるまで、+1ずつ増加す
る。cwndがssthreshに達した場合は(ステ
ップ65:NO)、輻輳回避フェーズに入り、Ackパ
ケット受信ごとにcwndを1/cwndだけ増加させ
る(ステップ67)。したがって、スロースタートフェ
ーズと比較すると、パケット送信量は遥かに緩やかなレ
ベルで増加する。As a result, next, since cwnd = 2, two DT packets are transmitted, and thereafter, every time an Ack packet is received, the next transmittable amount, cwnd, is set.
Increases by +1 until the threshold value ssthresh is reached. If cwnd has reached ssthresh (step 65: NO), a congestion avoidance phase is entered, and cwnd is increased by 1 / cwnd every time an Ack packet is received (step 67). Therefore, compared to the slow start phase, the amount of packet transmission increases at a much slower level.
【0008】パケット紛失事象の検出には、送達確認タ
イムアウトによる方法と、送達確認タイムアウトを待つ
ことなく早期に検出して回復するFast Retra
nsmit方法が併用されている。送達確認タイムアウ
トでは、ステップ52において、DTパケット送信から
所定期間経過した場合(ステップ52:送信タイムアウ
ト確認)、タイムアウトの対象となったDTパケットを
再送し(ステップ53)、ssthreshをmin
(cwnd,adwnd)とするとともに、新cwnd
=1パケットとして(ステップ54)、ステップ52に
戻る。[0008] A packet loss event is detected by a method using a delivery confirmation timeout, and Fast Retra which detects and recovers early without waiting for the delivery confirmation timeout.
The nsmit method is used in combination. In the delivery confirmation timeout, when a predetermined period has elapsed from the transmission of the DT packet in step 52 (step 52: transmission timeout confirmation), the DT packet targeted for timeout is retransmitted (step 53), and ssthresh is set to min.
(Cwnd, adwnd) and the new cwnd
= 1 packet (step 54), and returns to step 52.
【0009】一方、Fast Retransmit方
法は、重複Ackによる紛失検出とも呼ばれている。ま
ず、ステップ52でAckパケットを受信した場合(ス
テップ52:Ackパケット受信)、それが同一データ
パケットに対するAckパケットすなわち重複Ackで
あれば(ステップ61:YES)、それを所定個数(予
め設定しておく定数であるが、通常は3個)重複して受
信したかどうか判断する(ステップ62)。On the other hand, the Fast Retransmit method is also referred to as loss detection due to duplicate Ack. First, when an Ack packet is received in Step 52 (Step 52: Ack packet reception), if it is an Ack packet for the same data packet, that is, a duplicate Ack (Step 61: YES), a predetermined number (set in advance) It is a constant to be set, usually three). It is determined whether or not the received data is duplicated (step 62).
【0010】そして、所定個数重複して受信した場合は
(ステップ62:YES)、受信確認シーケンス番号の
次のパケットが紛失しているとみなして、輻輳回避フェ
ーズに入る。この場合、その紛失パケットを再送し(ス
テップ63)、新cwndをmin(旧cwnd,ad
wnd)/2とするとともに、ssthresh=新c
wndとして(ステップ64)、ステップ52に戻る。If a predetermined number of duplicate packets are received (step 62: YES), it is assumed that the packet next to the reception confirmation sequence number is lost, and the process enters the congestion avoidance phase. In this case, the lost packet is retransmitted (step 63), and the new cwnd is changed to min (old cwnd, ad).
wnd) / 2 and ssthresh = new c
As wnd (step 64), the process returns to step 52.
【0011】なお、受信エンドノードでは、DTパケッ
トの抜けを検出した場合、その抜けパケットを受信する
まで、それ以降の受信DTパケットごとに同一の受信確
認シーケンス番号を有するAckを返送する。以上説明
した図4の処理フローについては、例えば、参考文献:
W.R.Stevens著、TCP Illustrated Vol.1 の Chapter21,
Addison Wesley,1994などに記載されている。When the receiving end node detects a missing DT packet, it returns an Ack having the same acknowledgment sequence number for each subsequent received DT packet until the missing DT packet is received. The processing flow of FIG. 4 described above is described in, for example, the following references:
WRStevens, TCP Illustrated Vol.1, Chapter 21,
Addison Wesley, 1994 and the like.
【0012】[0012]
【発明が解決しようとする課題】移動通信(無線系)は
今後益々発展すると予想されるが、無線系回線では有線
系に比較して回線品質が悪い。したがって、前述した従
来のTCPのフロー制御方法によれば、回線品質の原因
によるパケット紛失/廃棄でもcwndが削減されるた
め、不適切にスループットが低下してしまうという問題
が生じる。The mobile communication (wireless system) is expected to develop more and more in the future, but the line quality of wireless lines is worse than that of wired systems. Therefore, according to the above-described conventional TCP flow control method, cwnd is reduced even when a packet is lost / discarded due to line quality, so that there is a problem that throughput is inappropriately reduced.
【0013】ここで、輻輳が原因でなく回線誤りによる
パケット紛失/廃棄ならば、本来、そのパケットを再送
するだけでよく、cwndの削減は不要である。したが
って、パケット紛失/廃棄の原因に応じたフロー制御を
行うことが重要である。本発明はこのような課題を解決
するためのものであり、パケットの紛失/廃棄の原因に
応じてフロー制御することにより、不要なcwnd削減
を回避し、適切なスループットが得られるフロー制御方
法を提供することを目的としている。Here, if a packet is lost / discarded due to a line error, not due to congestion, it is only necessary to retransmit the packet, and it is not necessary to reduce cwnd. Therefore, it is important to perform flow control according to the cause of packet loss / discard. The present invention has been made to solve such a problem, and a flow control method capable of avoiding unnecessary cwnd reduction and obtaining an appropriate throughput by performing flow control according to the cause of packet loss / discard. It is intended to provide.
【0014】[0014]
【課題を解決するための手段】このような目的を達成す
るために、本発明によるフロー制御方法は、送信エンド
ノードに、送信エンドノードと受信エンドノードとを接
続する通信網で発生した輻輳を確認する輻輳確認手段
と、データパケットに応じて受信エンドノードから返送
される確認応答用のAckパケットのうち、同一データ
パケットに対するAckパケットを所定数連続して受信
する重複Ack受信が確認された場合にパケット紛失事
象を検出する重複Ack検出手段とを設け、送信エンド
ノードにより、Ackパケットを受信した時点で、輻輳
確認手段により輻輳発生が確認された場合は、通信網で
の輻輳によりパケットが紛失したと判断して、輻輳ウィ
ンドウ値を削減し、Ackパケットを受信した時点で、
輻輳確認手段により輻輳発生が確認されずに、重複Ac
k検出手段により重複Ack受信が確認された場合は、
通信網で発生した回線誤りによるパケット紛失であると
判断して、輻輳ウィンドウ値を削減することなく、紛失
したデータパケットを再送するようにしたものである。
したがって、通信網で発生した輻輳が確認されていない
場合は、重複Ackが検出されパケット紛失事象となっ
た場合でも、データパケット送信量が削減されず、通信
網で発生した輻輳が確認された場合にのみ、データパケ
ット送信量が削減される。SUMMARY OF THE INVENTION In order to achieve the above object, a flow control method according to the present invention provides a transmitting end node with a congestion generated in a communication network connecting a transmitting end node and a receiving end node. Congestion confirmation means for confirming, and duplicate Ack reception for continuously receiving a predetermined number of Ack packets for the same data packet among Ack packets for acknowledgment returned from the receiving end node in response to the data packet is confirmed. And a duplicate Ack detecting means for detecting a packet loss event is provided. If the transmission end node receives the Ack packet and the congestion checking means confirms the occurrence of congestion, the packet is lost due to congestion in the communication network. It is determined that the congestion window value is reduced, and when the Ack packet is received,
The congestion confirmation means does not confirm the occurrence of congestion,
When the duplicate Ack reception is confirmed by the k detection means,
It is determined that the packet is lost due to a line error occurring in the communication network, and the lost data packet is retransmitted without reducing the congestion window value.
Therefore, when congestion occurring in the communication network is not confirmed, even when a duplicate Ack is detected and a packet loss event occurs, the data packet transmission amount is not reduced, and congestion occurring in the communication network is confirmed. Only in this case, the data packet transmission amount is reduced.
【0015】[0015]
【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は本発明の一実施の形態であるフロ
ー制御方法を示すフローチャート、図2は本発明が適用
されるデータ通信システムの一例を示すブロック図であ
る。図2において、送信エンドノード1と受信エンドノ
ード2は、複数の中継ノード3,4(例えば、ルータな
ど)からなる通信網5を介して接続されており、通信網
5に所定のコネクションを設定し、そのコネクションを
介してパケットによりデータ通信を行う。Next, the present invention will be described with reference to the drawings. FIG. 1 is a flowchart illustrating a flow control method according to an embodiment of the present invention, and FIG. 2 is a block diagram illustrating an example of a data communication system to which the present invention is applied. In FIG. 2, a transmission end node 1 and a reception end node 2 are connected via a communication network 5 including a plurality of relay nodes 3 and 4 (for example, routers), and set a predetermined connection to the communication network 5. Then, data communication is performed by a packet via the connection.
【0016】送信エンドノード1および受信エンドノー
ド2において、アプリケーション処理部11は、上位の
アプリケーションを実行する処理部である。また、レイ
ヤ4処理部12は、コネクションの設定解放、フロー制
御などに基づいたパケットによるデータ送受信の処理
部、下位レイヤ処理部13は、電気的整合性を提供する
レイヤ1の処理、フレーム組立/分解などを行うレイヤ
2の処理、およびルーティングなどを行うレイヤ3の処
理を行う処理部である。In the transmitting end node 1 and the receiving end node 2, the application processing section 11 is a processing section for executing a higher-level application. The layer 4 processing unit 12 is a processing unit for data transmission / reception by packets based on connection setting release, flow control, and the like. The lower layer processing unit 13 is a layer 1 process for providing electrical consistency, a frame assembly / This is a processing unit that performs layer 2 processing for performing decomposition and the like and layer 3 processing for performing routing and the like.
【0017】レイヤ4処理部12で実行されるプロトコ
ルレイヤ4のフロー制御は、前述したようにウィンドウ
方式であり、プロトコルレイヤ4(TCP)のパラメー
タとして、受信告知ウインドウ(adwnd)、輻輳ウ
インドウ(cwnd)、スロースタート閾値(ssth
resh)、Fast Retransmit手法によ
る重複Ack数(デホルト=3)がある。The flow control of the protocol layer 4 executed by the layer 4 processing unit 12 is a window system as described above, and a reception notification window (adwnd) and a congestion window (cwnd) are used as parameters of the protocol layer 4 (TCP). ), Slow start threshold (ssth
refresh), the number of duplicate Ack by the Fast Retransmit method (default = 3).
【0018】また、以下では、通信網5における輻輳発
生を送信エンドノードで確認する方法として、通信網5
を構成する各中継ノード3,4が輻輳状態にあることを
エンドノードに明示的に通知するECN(Explicit Con
gestion Notification)制御を用いた場合について説明
するが、通信網5での輻輳発生の確認方法についてはこ
れに限定されるものではなく、他の方法、例えば所定の
制御パケットを用いて送信エンドノード1に通知するよ
うにしてもよい。In the following, as a method of confirming the occurrence of congestion in the communication network 5 by the transmission end node,
ECN (Explicit Connec- tion) that explicitly notifies the end node that each of the relay nodes 3 and 4 configuring the
(gestion Notification) control will be described. However, the method of confirming the occurrence of congestion in the communication network 5 is not limited to this, and other methods, for example, the transmission end node 1 using a predetermined control packet. May be notified.
【0019】ECN制御は、中継ノードにおいて、実際
のパケット廃棄前から込み合ってきたら(すなわち、送
信バッファの使用量が所定値を越えたら)パケットヘッ
ダにECN表示をonにしてエンドノードヘ積極的に通
知するものである。すなわち、図3に示すように、中継
ノード3においてDTパケットを中継時に、送信バッフ
ァの使用量が所定の閾値を越えた場合は、パケットヘッ
ダのECN表示をonに設定してDTパケットを中継す
る。In the ECN control, the relay node turns on the ECN indication in the packet header and notifies the end node positively when the relay node becomes busy before the actual packet discarding (that is, when the used amount of the transmission buffer exceeds a predetermined value). Things. That is, as shown in FIG. 3, when the relay node 3 relays a DT packet and the transmission buffer usage exceeds a predetermined threshold, the ECN display of the packet header is set to on and the DT packet is relayed. .
【0020】受信エンドノード2では、このECN表示
の値をAckパケットヘッダにコピーして返送する。送
信エンドノード1では、AckパケットのECN表示が
onであることから中継ノード3が輻棒状態にあると判
断できる。The receiving end node 2 copies the value of the ECN indication into the Ack packet header and returns it. The transmission end node 1 can determine that the relay node 3 is in the state of a radiant rod because the ECN display of the Ack packet is on.
【0021】以上説明したECNの概要については、例
えば、参考文献:S.floyd,"TCP andExplicit Congestio
n Notification",ACM Compuler Communication Review,
Vol.24,No.5,0ct.1994,pp.1O-23などに記載されてい
る。なお、このECN技術の現状は、中継ノードでのE
CN表示の設定と、送信エンドノード1でECN表示o
nのパケットを受信したら、パケット紛失検出時と同様
な送信量の削減を行う、といった概念的なレベルにとど
まっており、これを本発明のようにcwndの削減を回
避する判断に用いる点については開示されていない。For an overview of the ECN described above, for example, see Reference: S.floyd, "TCP and Explicit Congestio
n Notification ", ACM Compuler Communication Review,
Vol. 24, No. 5, 0ct. 1994, pp. 10-23. It should be noted that the current state of this ECN technology is that E
Setting of CN display and ECN display at sending end node 1
n is received, the amount of transmission is reduced in the same manner as when packet loss is detected. This is at a conceptual level, and the use of this in the determination to avoid the reduction of cwnd as in the present invention is described. Not disclosed.
【0022】ECN機能は中継ノード3,4が設定する
ものであるため、その表示はレイヤ3(IP)のヘッダ
に設けられ、エンドノードでは、IP処理モジュールか
らTCP処理モジュールヘその情報が引き継がれる。ま
ず、送信エンドノードでは、受信エンドノードとの間の
コネクション設定時に、ssthresh=adwn
d,cwnd=1,hi_seq=送信シーケンス番号
の初期値として初期設定する(ステップ11)。Since the ECN function is set by the relay nodes 3 and 4, the indication is provided in the header of the layer 3 (IP). At the end node, the information is passed from the IP processing module to the TCP processing module. . First, the transmission end node sets ssthresh = adwn when establishing a connection with the reception end node.
d, cwnd = 1, hi_seq = initial values of transmission sequence numbers are initialized (step 11).
【0023】なお、hi_scqの意味は、次の通りで
ある。cwndの削減を行った時点で送信済みである
が、その応答が未受信確認のDTパケットに対して返送
されたAckパケットがECN=onの場合、さらにc
wndを削減すると不必要な過削減となってしまう。し
たがって、これを防止するため、本発明では、cwnd
の削減を行った時の次送信シーケンス番号snd_ne
xtをhI_seqへ記憶しておく。The meaning of hi_scq is as follows. If the Ack packet that has been transmitted when the cwnd is reduced but the response is returned to the DT packet for which the reception has not been confirmed is ECN = on, c
Reducing wnd results in unnecessary over-reduction. Therefore, in order to prevent this, in the present invention, cwnd
Next transmission sequence number snd_ne when reduction of
xt is stored in hI_seq.
【0024】そして、スロースタートフェーズに入り、
min(cwnd,adwnd)の範囲、この場合はc
wndが採用され、1個のデータパケット(以下、DT
パケットという)の送信を行い、受信エンドノードから
そのDTパケット受信に応じて返送される確認応答パケ
ット(以下、Ackパケットという)の受信を待つ(ス
テップ12)。Then, a slow start phase is entered,
min (cwnd, adwnd), in this case c
wnd, and one data packet (hereinafter, DT)
Then, it waits for an acknowledgment packet (hereinafter, referred to as an Ack packet) returned from the receiving end node in response to receiving the DT packet (step 12).
【0025】なお、送信エンドノード1から送信される
DTパケットには、一連の送信シーケンス番号が付与さ
れている。これに対して、受信エンドノード2では、受
信したDTパケットの送信シーケンス番号を読み取って
DTパケットの抜けを確認し、その時点で受信側で送達
確認されているDTパケットのうち、最も大きな送信シ
ーケンス番号を受信確認シーケンス番号としてAckパ
ケットに格納して返送する。The DT packet transmitted from the transmission end node 1 is provided with a series of transmission sequence numbers. On the other hand, the receiving end node 2 reads the transmission sequence number of the received DT packet to confirm the omission of the DT packet, and among the DT packets whose delivery has been confirmed by the receiving side at that time, the largest transmission sequence The number is stored as an acknowledgment sequence number in the Ack packet and returned.
【0026】これにより、DTパケットの抜けが発生し
た場合、そのDTパケットが受信確認されるまで、その
後続のDTパケットに対するAckパケットに、受信エ
ンドノード2において連続して受信確認された最後のD
Tパケットの送信シーケンス番号が繰り返し格納される
ものとなる。したがって、送信エンドノード1でAck
パケットの受信確認シーケンス番号として、同一受信確
認シーケンス番号が重複して所定回数確認された場合、
すなわち重複Ackである場合は、受信確認シーケンス
番号の次のパケットが紛失していると判断できる(重複
Ack確認手段)。As a result, when a missing DT packet occurs, an Ack packet corresponding to the subsequent DT packet is added to the last DACK that is continuously acknowledged by the receiving end node 2 until the DT packet is acknowledged.
The transmission sequence number of the T packet is stored repeatedly. Therefore, the transmission end node 1
If the same acknowledgment sequence number is confirmed a predetermined number of times as a packet acknowledgment sequence number,
That is, when the packet is a duplicate Ack, it can be determined that the packet next to the reception confirmation sequence number is lost (duplicate Ack confirmation means).
【0027】ステップ12において、DTパケット送信
後から所定時間内にAckパケットを受信した場合は
(ステップ12:Ackパケット受信)、ECN表示を
調べる(ステップ15/輻輳確認手段)。ここで、EC
N=offならば(ステップ15:NO)、重複Ack
か否か判断し(ステップ21/重複Ack確認手段)、
それが重複Ackであり(ステップ21:YES)、か
つその数が3になっていれば(ステップ22:YES/
重複Ack確認手段)、パケット紛失が発生したとみな
して再送し(ステップ23)、ステップ12へ戻る。In step 12, if an Ack packet is received within a predetermined time after the transmission of the DT packet (step 12: Ack packet reception), the ECN display is checked (step 15 / congestion confirmation means). Where EC
If N = off (step 15: NO), duplicate Ack
(Step 21 / duplicate Ack confirmation means)
If it is a duplicate Ack (step 21: YES) and the number is 3 (step 22: YES /
Duplicate Ack confirmation means), resends the packet assuming that a packet loss has occurred (step 23), and returns to step 12.
【0028】これにより、重複Ackが確認されてパケ
ット紛失が発生したとみなされる場合でも、その原因と
して通信網5における輻輳発生が確認されていない場合
は、単なる回線誤りであると判断されてcwndは削減
されなくなり、不要なcwnd削減を回避できるととも
に、適切なスループットが得られる。また、ステップ2
1において、受信Ackパケットが重複Ackであるが
(ステップ21:YES)であるが、その数が3に達し
ていなければ(ステップ22:NO)、ステップ12へ
戻って次のAckを待つ。As a result, even when the duplicate Ack is confirmed and packet loss is considered to have occurred, if the cause of congestion in the communication network 5 is not confirmed as a cause, it is determined that it is merely a line error and cwnd Is not reduced, unnecessary cwnd reduction can be avoided, and appropriate throughput can be obtained. Step 2
In step 1, although the received Ack packet is a duplicate Ack (step 21: YES), if the number has not reached 3 (step 22: NO), the process returns to step 12 and waits for the next Ack.
【0029】また、ステップ21において、受信Ack
パケットが重複Ackでない場合は(ステップ21:N
O)、cwndと閾値ssthreshの大小関係を比
較し(ステップ24)、cwnd<ssthreshな
らば(ステップ24:YES)、cwndを+1し(ス
テップ25)、cwnd≧ssthreshならば(ス
テップ24:NO)、cwndを1/cwndだけ増加
させ(ステップ26)。それぞれステップ12へ戻る。In step 21, the reception Ack
If the packet is not a duplicate Ack (step 21: N
O), the magnitude relationship between cwnd and the threshold ssthresh is compared (step 24), and if cwnd <ssthresh (step 24: YES), cwnd is incremented by 1 (step 25), and if cwnd ≧ ssthresh (step 24: NO). , Cwnd by 1 / cwnd (step 26). The process returns to step 12.
【0030】一方、ステップ15において、受信Ack
パケットのECNがonの場合は(ステップ15:YE
S)、いずれかの中継ノードで輻輳が発生してバッファ
過負荷であると判断する。この場合、まず、受信したA
ckパケットの受信確認シーケンス番号Ackscqを
チェックする(ステップ31)。On the other hand, in step 15, the reception Ack
If the ECN of the packet is on (step 15: YE
S), it is determined that congestion has occurred in any of the relay nodes and the buffer is overloaded. In this case, first, the received A
The acknowledgment sequence number Ackscq of the ck packet is checked (step 31).
【0031】ここで、Ackseq>hi_seqの場
合は(ステップ31:YES)、直前にcwndを削減
した時点以降に新たに送信した未受信確認のDTパケッ
トの紛失事象であると判断して、その時の次送信シーケ
ンス番号snd_nextをhi_seqへ記憶すると
ともに(ステップ32)、フロー制御パラメータを、s
sthresh=min(cwnd,adwnd)/
2,cwnd=1に変更し、送信量を削減する(ステッ
プ33)。Here, if Ackseq> hi_seq (step 31: YES), it is determined that the DT packet is a lost event of a non-acknowledged DT packet newly transmitted since the time when cwnd was reduced immediately before. The next transmission sequence number snd_next is stored in hi_seq (step 32), and the flow control parameter is set to s
sthresh = min (cwnd, adwnd) /
2. Change to cwnd = 1 to reduce the amount of transmission (step 33).
【0032】また、Ackseq≦hi_seqの場合
は(ステップ31:NO)、直前にcwndを削減した
時点と同一DTパケットの紛失事象であると判断して、
cwndの削減は行わない。これにより、cwndに対
する不必要な削減を回避でき、ネットワーク資源の有効
利用が可能となるとともに、適切なスループットを維持
できる。If Ackseq ≦ hi_seq (step 31: NO), it is determined that the event is a loss event of the same DT packet as when cwnd was reduced immediately before.
cwnd is not reduced. As a result, unnecessary reduction of cwnd can be avoided, network resources can be effectively used, and appropriate throughput can be maintained.
【0033】続いて、受信Ackパケットが重複Ack
か否か判断し(ステップ34/重複Ack確認手段)、
重複Ackであり(ステップ34:YES)、かつその
数が3になっていれば(ステップ35:YES/重複A
ck確認手段)、パケット紛失が発生したとみなして紛
失したDTパケットを再送し(ステップ36)。ステッ
プ12へ戻る。Subsequently, if the received Ack packet is a duplicate Ack
(Step 34 / duplicate Ack confirmation means)
If it is a duplicate Ack (step 34: YES) and the number is 3 (step 35: YES / duplicate A)
ck confirming means), resends the lost DT packet assuming that packet loss has occurred (step 36). Return to step 12.
【0034】また、ステップ34において、受信Ack
パケットが重複Ackではない場合(ステップ34:N
O)、およびステップ35において重複Ack数が3に
達していない場合は(ステップ35:NO)、ステップ
12に戻って次のAckを待つ。In step 34, the reception Ack
If the packet is not a duplicate Ack (step 34: N
O), and if the number of duplicate Ack has not reached 3 in step 35 (step 35: NO), the process returns to step 12 and waits for the next Ack.
【0035】なお、ステップ12において、DTパケッ
ト送信後から所定期間内にAckパケットが受信されず
送達確認タイムアウトが発生した場合は(ステップ1
2:送信タイムアウト確認)、パケット紛失が発生した
と判断してその紛失パケットを再送するとともに(ステ
ップ13)、フロー制御パラメータを、ssthres
h=min(cwnd,adwnd)/2,cwnd=
1に変更して送信量を削減し(ステップ14)、ステッ
プ12に戻る。In step 12, when the Ack packet is not received within a predetermined period after the transmission of the DT packet and a delivery confirmation timeout occurs (step 1).
2: Check transmission timeout), determine that a packet loss has occurred, retransmit the lost packet (step 13), and set the flow control parameter to ssthres
h = min (cwnd, adwnd) / 2, cwnd =
1 to reduce the transmission amount (step 14), and return to step 12.
【0036】これにより、重複Ackが確認されてパケ
ット紛失が発生したとみなされる場合に、その原因とし
て通信網5における輻輳発生が確認されている場合は、
単なる回線誤りではなく、通信網5での輻輳によりDT
パケットが紛失したと判断されてcwndが削減され、
通信網5の輻輳状態が緩和される方向に制御されるもの
となる。Thus, when it is determined that packet loss has occurred due to the confirmation of the duplicate Ack, if the occurrence of congestion in the communication network 5 has been confirmed as the cause,
Not just a line error but DT due to congestion in the communication network 5
It is determined that the packet is lost, and cwnd is reduced.
The congestion state of the communication network 5 is controlled to be reduced.
【0037】[0037]
【発明の効果】以上説明したように、本発明は、パケッ
ト紛失の原因(輻輳または回線誤り)に応じてデータパ
ケットの送信量を制御するようにしたので、ネットワー
ク資源を有効に利用でき、また適切なスループットが得
られる。As described above, according to the present invention, the transmission amount of data packets is controlled according to the cause of packet loss (congestion or line error), so that network resources can be used effectively. Appropriate throughput is obtained.
【図1】 本発明の一実施の形態によるフロー制御方法
を示すフローチャートである。FIG. 1 is a flowchart illustrating a flow control method according to an embodiment of the present invention.
【図2】 本発明のフロー制御方法が適用されるデータ
通信システムの一例を示すブロック図である。FIG. 2 is a block diagram showing an example of a data communication system to which the flow control method of the present invention is applied.
【図3】 ECN制御例を示す説明図である。FIG. 3 is an explanatory diagram showing an example of ECN control.
【図4】 従来のフロー制御方法を示すフローチャート
である。FIG. 4 is a flowchart showing a conventional flow control method.
1…送信エンドノード、2…受信エンドノード、3,4
…中継ノード、5…通信網、11…アプリケーション処
理部、12…レイヤ4処理部、13…下位レイヤ処理
部。1: transmission end node, 2: reception end node, 3, 4
.. Relay node, 5 communication network, 11 application processing unit, 12 layer 4 processing unit, 13 lower layer processing unit.
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 信学技報CQ98−16 情処研報第98巻第33号,78−10 (58)調査した分野(Int.Cl.7,DB名) H04L 29/08 H04L 12/56 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References IEICE Technical Report CQ98-16 Jikken Giho Vol. 98 No. 33, 78-10 (58) Fields investigated (Int. Cl. 7 , DB name) H04L 29/08 H04L 12/56
Claims (3)
ノード間で、レイヤ4プロトコルとして、受信エンドノ
ードの受信能力を示す受信告知ウィンドウ(adwn
d)と、ネットワークの転送能力を推定した輻輳ウィン
ドウ値(cwnd)とのいずれか小さい値で示されるパ
ケット数の範囲内で、送信エンドノードから受信エンド
ノードに対してデータパケットを送信する場合のフロー
制御方法において、 送信エンドノードに、 送信エンドノードと受信エンドノードとを接続する通信
網で発生した輻輳を確認する輻輳確認手段と、 データパケットに応じて受信エンドノードから返送され
る確認応答用のAckパケットのうち、同一データパケ
ットに対するAckパケットを所定数連続して受信する
重複Ack受信が確認された場合にパケット紛失事象を
検出する重複Ack検出手段とを設け、 送信エンドノードは、 Ackパケットを受信した時点で、輻輳確認手段により
輻輳発生が確認された場合は、通信網での輻輳によりパ
ケットが紛失したと判断して、輻輳ウィンドウ値を削減
し、 Ackパケットを受信した時点で、輻輳確認手段により
輻輳発生が確認されずに、重複Ack検出手段により重
複Ack受信が確認された場合は、通信網で発生した回
線誤りによるパケット紛失であると判断して、輻輳ウィ
ンドウ値を削減することなく、紛失したデータパケット
を再送することを特徴とするフロー制御方法。1. A reception notification window (adwn) indicating the receiving capability of a receiving end node as a layer 4 protocol between transmitting and receiving end nodes connected via a communication network.
d) and when the data packet is transmitted from the transmitting end node to the receiving end node within a range of the number of packets indicated by a smaller value of the congestion window value (cwnd) which estimates the transfer capability of the network. A flow control method, comprising: a transmission end node; a congestion confirmation means for confirming congestion occurring in a communication network connecting the transmission end node and the reception end node; and an acknowledgment returned from the reception end node in response to a data packet. And a duplicate Ack detection means for detecting a packet loss event when it is confirmed that duplicate Ack packets for the same data packet are received consecutively for a predetermined number of Ack packets. When congestion occurrence means is confirmed by the congestion confirmation means at the point when It is determined that the packet has been lost due to congestion in the communication network, the congestion window value is reduced, and when the Ack packet is received, the occurrence of congestion is not confirmed by the congestion confirmation means, but the duplicate Ack is received by the duplicate Ack detection means. Is confirmed, it is determined that the packet is lost due to a line error occurring in the communication network, and the lost data packet is retransmitted without reducing the congestion window value.
て、 通信網を構成する中継ノードのうち、送信エンドノード
側からのデータパケットを受信エンドノード側へ転送す
る中継ノードは、それぞれデータパケットを送信する出
方路が輻輳状態となった場合に、その出方路に送信する
データパケット内に輻輳発生を示す輻輳表示情報を設定
し、 受信エンドノードは、受信したデータパケットの輻輳表
示情報をそのデータパケットのAckパケットに設定し
て返送し、 送信エンドノードの輻輳確認手段は、Ackパケットに
設定されている表示情報が輻輳発生を示す場合に、通信
網での輻輳発生を確認することを特徴とするフロー制御
方法。2. The flow control method according to claim 1, wherein, among the relay nodes forming the communication network, the relay nodes that transfer the data packet from the transmitting end node to the receiving end node each transmit the data packet. When the outgoing route to be congested enters the congestion state, the congestion display information indicating the occurrence of congestion is set in the data packet transmitted to the outgoing route, and the receiving end node displays the congestion display information of the received data packet as Acknowledgment of the data packet is set and returned, and the congestion confirmation means of the transmission end node confirms the occurrence of congestion in the communication network when the display information set in the Ack packet indicates the occurrence of congestion. Flow control method.
て、 送信エンドノードは、 Ackパケットを受信した時点で、輻輳確認手段により
輻輳発生が確認された場合、そのAckパケットが、最
後に輻輳ウィンドウ値を削減した時点以降に送信した未
受信確認のデータパケットに対するものか否か判断し、
削減時点以降に送信した未受信確認のデータパケットに
対するAckパケットの場合にのみ、輻輳ウィンドウ値
を削減することを特徴とするフロー制御方法。3. The flow control method according to claim 1, wherein, when the congestion confirming means confirms the occurrence of congestion at the time of receiving the Ack packet, the transmitting end node transmits the congestion window value at the end. Judge whether the received packet is for a non-acknowledged data packet transmitted after the point in time when the
A flow control method characterized in that a congestion window value is reduced only in the case of an Ack packet corresponding to a data packet whose acknowledgment has been transmitted after the reduction point.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30071298A JP3003095B1 (en) | 1998-10-22 | 1998-10-22 | Flow control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30071298A JP3003095B1 (en) | 1998-10-22 | 1998-10-22 | Flow control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP3003095B1 true JP3003095B1 (en) | 2000-01-24 |
JP2000134279A JP2000134279A (en) | 2000-05-12 |
Family
ID=17888195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30071298A Expired - Lifetime JP3003095B1 (en) | 1998-10-22 | 1998-10-22 | Flow control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3003095B1 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6842424B1 (en) * | 2000-09-05 | 2005-01-11 | Microsoft Corporation | Methods and systems for alleviating network congestion |
JP3882187B2 (en) | 2001-04-19 | 2007-02-14 | 日本電気株式会社 | Flow control system and method |
JP3637389B2 (en) | 2001-11-21 | 2005-04-13 | 独立行政法人情報通信研究機構 | Packet communication method and proposed node |
US7385923B2 (en) * | 2003-08-14 | 2008-06-10 | International Business Machines Corporation | Method, system and article for improved TCP performance during packet reordering |
EP1771742B1 (en) * | 2004-07-29 | 2017-07-12 | Dell Products L.P. | High performance tcp for systems with infrequent ack |
US7760638B2 (en) * | 2004-11-29 | 2010-07-20 | Nec Corporation | High-throughput communication system, communication terminal, session relay, and communication protocol |
ATE413033T1 (en) * | 2004-12-22 | 2008-11-15 | Ericsson Telefon Ab L M | DATA FLOW CONTROL WITH DOUBLE ACKNOWLEDGMENT |
JP4831366B2 (en) * | 2005-08-31 | 2011-12-07 | 日本電気株式会社 | Communication system, communication terminal, relay node, communication method used therefor, and program thereof |
JP4654926B2 (en) * | 2006-02-01 | 2011-03-23 | 日本電気株式会社 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND CONgestion Control Method Used In Them |
JP4627290B2 (en) * | 2006-09-29 | 2011-02-09 | Kddi株式会社 | Rate control method, server, and program using TCP |
DE102007011071B4 (en) * | 2007-03-07 | 2009-06-18 | T-Mobile Internationale Ag | Method for improving a TCP data transmission process in the event of a disruption of the physical transmission medium |
JP5491592B2 (en) * | 2011-05-12 | 2014-05-14 | シャープ株式会社 | Communication device |
-
1998
- 1998-10-22 JP JP30071298A patent/JP3003095B1/en not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
信学技報CQ98−16 |
情処研報第98巻第33号,78−10 |
Also Published As
Publication number | Publication date |
---|---|
JP2000134279A (en) | 2000-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1295428B1 (en) | Performance enhancement of transmission control protocol (tcp) for wireless network applications | |
US6741555B1 (en) | Enhancement of explicit congestion notification (ECN) for wireless network applications | |
JP5816718B2 (en) | Communication apparatus, communication system, and data communication relay method | |
US7277390B2 (en) | TCP processing apparatus of base transceiver subsystem in wired/wireless integrated network and method thereof | |
US6697331B1 (en) | Link layer acknowledgement and retransmission for cellular telecommunications | |
KR100785293B1 (en) | System and Method for TCP Congestion Control Using Multiple TCP ACKs | |
JP3637389B2 (en) | Packet communication method and proposed node | |
JP4961480B2 (en) | Apparatus and method for improving the performance of a transmission control protocol via path recovery notification over a wireless network | |
KR100600607B1 (en) | A apparatus for ARQ controlling in wireless portable internet system and method therof | |
US7593338B2 (en) | Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol | |
JP3003095B1 (en) | Flow control method | |
US20120195287A1 (en) | Communication method using duplicated acknowledgement | |
EP1278348A1 (en) | Long-lived TCP connection using ICMP messages in wireless mobile communications | |
JP3163479B2 (en) | Bandwidth control method | |
JP2001156795A (en) | Packet flow controller and method | |
CN116963175A (en) | Data transmission method, device and system | |
JP4531302B2 (en) | Packet relay apparatus and method thereof | |
CA2372023A1 (en) | Overload control method for a packet-switched network | |
JP3000546B2 (en) | Congestion control method | |
KR100913897B1 (en) | Method for controlling congestion of TCP for reducing the number of retransmission timeout | |
JP2893398B1 (en) | Congestion control method | |
JP2984910B2 (en) | Data flow control method | |
JP3106405B2 (en) | Retransmission control method | |
JP2001136209A (en) | Communication apparatus | |
JPH11261632A (en) | Band allocation control method |