JP4429982B2 - Congestion control method and communication terminal thereof - Google Patents
Congestion control method and communication terminal thereof Download PDFInfo
- 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
Links
Images
Description
本発明はトランスポート層に実装される輻輳制御アルゴリズムにおいて、ネットワークの輻輳度に応じて、どの程度ウインドウサイズを増加させるかを計算する技術に関する。 The present invention relates to a technique for calculating how much a window size is increased in accordance with a congestion degree of a network in a congestion control algorithm implemented in a transport layer.
現在のインターネットで使用されている端末はトランスポートプロトコルにTCP(Transmission Control Protocol)を実装している。TCPにおける輻輳制御アルゴリズムは、スロースタート段階と輻輳回避段階に分けることができる(非特許文献1)。ここでは本発明に関係のある輻輳回避段階におけるアルゴリズムについてのみ述べる。 The terminals currently used on the Internet implement TCP (Transmission Control Protocol) as a transport protocol. The congestion control algorithm in TCP can be divided into a slow start stage and a congestion avoidance stage (Non-Patent Document 1). Here, only the algorithm in the congestion avoidance stage related to the present invention will be described.
TCPを使用している送信端末はパケットを送信する時、各パケットにシーケンス番号を付与する。受信端末はパケットを正しく受信すると、次に受信を期待するパケットのシーケンス番号が付与された受信確認パケットを送信する。図1はパケットに付与されるシーケンス番号を説明するための図であり、長方形がパケットを表し、その中の数字がシーケンス番号を表している。図1の例では、シーケンス番号100或いは101のパケットを受信すると、受信端末は次に受信を期待するパケットのシーケンス番号101或いは102が付与された受信確認パケットを送信している。
When a transmitting terminal using TCP transmits a packet, it assigns a sequence number to each packet. When receiving the packet correctly, the receiving terminal transmits a reception confirmation packet to which the sequence number of the packet expected to be received next is given. FIG. 1 is a diagram for explaining a sequence number assigned to a packet, in which a rectangle represents a packet, and a number therein represents a sequence number. In the example of FIG. 1, when a packet with a
また送信端末は、輻輳ウインドウ(cwnd)と呼ばれる変数を管理しており、cwndの値だけパケットを受信端末からの受信確認パケットの到着なしに送信することができる。例えばcwndの値が100の時、送信端末は100個のパケットを受信確認パケットの到着なしに送信することができる。送信端末はcwnd個の受信確認パケットを受信すると、ネットワークが輻輳状態ではないと判断し、cwndの値を1だけ増加させる。つまり先程の例では100個のパケットに対する受信確認パケットを受信すると、cwndの値を1だけ増加させ、101にする。一方、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値を半分にし、そのシーケンス番号のパケットを再送する。図2はパケットが再送される条件を説明するための図である。図2ではシーケンス番号101のパケットがネットワーク内で廃棄され、送信端末は次に受信を期待するパケットのシーケンス番号が101である受信確認パケットを3回受信したので、シーケンス番号が101のパケットを再送している。
The transmitting terminal manages a variable called a congestion window (cwnd), and can transmit a packet by the value of cwnd without arrival of a reception confirmation packet from the receiving terminal. For example, when the value of cwnd is 100, the transmitting terminal can transmit 100 packets without arrival of an acknowledgment packet. When the transmitting terminal receives cwnd number of acknowledgment packets, the transmitting terminal determines that the network is not congested and increases the value of cwnd by one. That is, in the previous example, when the reception confirmation packet for 100 packets is received, the value of cwnd is increased by 1 to 101. On the other hand, when the reception confirmation packet having the same sequence number of the packet expected to be received next is continuously received three times, it is determined that the network is in a congested state, the value of cwnd is halved, and the packet of that sequence number Will be resent. FIG. 2 is a diagram for explaining the conditions under which a packet is retransmitted. In FIG. 2, the packet with the
上記がTCPにおける輻輳制御アルゴリズムの基本的動作であるが、近年このアルゴリズムでは、往復伝播遅延時間が長い場合、ギガビットレベルのスループットが実現不可能であることが報告され、新しくCUBIC−TCPが提案されている(非特許文献2)。CUBIC−TCPでは、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値をb倍に減少する。一方、3回連続して受信していない場合はネットワークが輻輳状態でないと判断し、現在、ウインドウサイズが減少した後、再び増加し始めてからt時間経過しているとすると、ウインドウサイズcwnd(t)を The above is the basic operation of the congestion control algorithm in TCP. Recently, it has been reported that when this round-trip propagation delay time is long, a gigabit-level throughput cannot be realized, and a new CUBIC-TCP is proposed. (Non-Patent Document 2). In CUBIC-TCP, if reception confirmation packets having the same sequence number of the next packet expected to be received are received three times in succession, it is determined that the network is in a congested state, and the value of cwnd is reduced by a factor of b. . On the other hand, if it is determined that the network is not in a congested state when it has not been received three times in succession, and the window size cwnd (t )
に設定する。ここでCは定数、Kは((b*W_max)/C)1/3、W_maxは前回輻輳状態にあると判断した時のcwndの値である。「*」は乗算を表す。図3は、CUBIC−TCPにおいて、ウインドウサイズが減少した後、再び増加し始めてからt時間経過した時のウインドウサイズ示したものである。 Set to. Here, C is a constant, K is ((b * W_max) / C) 1/3 , and W_max is the value of cwnd when it is determined that the previous congestion state. “*” Represents multiplication. FIG. 3 shows the window size when the time t has elapsed since the window size decreased and then increased again in CUBIC-TCP.
CUBIC−TCPは従来のTCPに比べて、cwndの増加率を高くし、且つ減少率を低くすることにより、往復遅延時間が長い場合でも、ギガビットレベルのスループットが実現可能であるようにしている。 CUBIC-TCP increases the increase rate of cwnd and lowers the decrease rate compared to conventional TCP, so that a gigabit-level throughput can be realized even when the round-trip delay time is long.
しかしCUBIC−TCPには様々な問題点がある。その中の1つは、あるフローがウインドウサイズが大きい状態で通信を行っている時に、別のフローが通信を始めると、通信を開始したフローのウインドウサイズがなかなか増加しないという問題である。以下にこの問題を確認するシミュレーションを行った結果を示す。図4にシミュレーションモデルを示す。送信端末、受信端末はそれぞれ2つで、リンク帯域は600Mbpsであり、送信・受信端末間の伝播遅延時間を50ミリ秒、パケットサイズを1500バイトとした。送信端末は常に送信するパケットを有しており、1つ目の送信端末は時刻0秒に通信を開始し、2つ目の送信端末は時刻100秒に通信を開始するとした。図5に時間毎の輻輳ウインドウサイズの変化を示す。図5において、縦軸はウインドウサイズであり、横軸は時間である。図5より、100秒に通信を開始したフローのウインドウサイズ(図5の点線)は、時刻が300秒になっても既に通信を開始してるフローのウインドウサイズ(図5の実線)と等しくなっていないことが確認できる。つまりCUBIC−TCPでは、新たに通信を開始したフローは広帯域のスループットを得るまでかなりの時間がかかるという問題がある。
However, CUBIC-TCP has various problems. One of the problems is that when a flow is communicating with a large window size and another flow starts communicating, the window size of the flow that has started communication does not increase easily. The results of a simulation to confirm this problem are shown below. FIG. 4 shows a simulation model. There are two transmission terminals and two reception terminals, the link bandwidth is 600 Mbps, the propagation delay time between the transmission and reception terminals is 50 milliseconds, and the packet size is 1500 bytes. The transmission terminal always has a packet to be transmitted, and the first transmission terminal starts communication at
CUBIC−TCPとは別にTCP Westwood+と呼ばれる方式が提案されている(非特許文献3)。Westwood+では、パケット送信時に現在の時刻now1をパケットに書き込み、受信端末はパケットを受信した時、パケットに書き込まれているnow1を読み取り、受信したパケットに対する受信確認パケットを送信する際、now1を受信確認パケットに書き込み、送信端末は受信確認パケットを受信した時、現在の時刻nowからnow1を減算した値を計算し、その最小値RTT_minを記憶し、また往復遅延時間内に受信した受信確認パケットから利用可能帯域ABEを次のように計算する。 In addition to CUBIC-TCP, a method called TCP Westwood + has been proposed (Non-Patent Document 3). In Westwood +, when the packet is transmitted, the current time now1 is written in the packet, and when the receiving terminal receives the packet, it reads now1 written in the packet, and when receiving the reception confirmation packet for the received packet, it confirms reception of now1. When the reception terminal receives the reception confirmation packet, it calculates the value obtained by subtracting now1 from the current time, stores the minimum value RTT_min, and uses it from the reception confirmation packet received within the round trip delay time. The possible bandwidth ABE is calculated as follows.
ここでlast_tは前回ABEを計算した時刻、dは(now−last_t)の間に受信確認されたパケット数、αは定数である。 Here, last_t is the time when the last ABE was calculated, d is the number of packets confirmed to be received during (now-last_t), and α is a constant.
Westwood+では、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値をRTT_min*ABEに減少する。一方、3回連続して受信していない場合はネットワークが輻輳状態でないと判断し、従来のTCPと同様な方式を用いてウインドウサイズを増加させる。 In Westwood +, when the reception confirmation packet having the same sequence number of the next packet expected to be received is continuously received three times, it is determined that the network is in a congestion state, and the value of cwnd is reduced to RTT_min * ABE. On the other hand, if it is not received three times in succession, it is determined that the network is not in a congested state, and the window size is increased using a method similar to the conventional TCP.
Westwood+はこのように、ネットワークが輻輳状態であると判断した場合にウインドウサイズを減少させる時、値RTT_min*ABEを基にして、ウインドウサイズの減少幅を決定している。しかしながら、ウインドウサイズを増加する時には、ABEの値を用いていない。 In this way, Westwood + determines the window size reduction width based on the value RTT_min * ABE when reducing the window size when it is determined that the network is in a congested state. However, when increasing the window size, the value of ABE is not used.
本発明はCUBIC−TCPの輻輳制御方式において、ウインドウサイズを減少し再び増加し始めてからt時間経過した時刻におけるウインドウサイズcwnd(t)の値を決定する時、値RTT_min*ABEとRTT_max*ABEを基にしてその値を決定することにより、CUBIC−TCPが持つ様々な問題点、例えば、新たに通信を開始したフローが広帯域のスループットを得るまでの時間が長くなるという問題を解決することを目的としている。 In the congestion control method of the CUBIC-TCP, when determining the value of the window size cwnd (t) at the time when t time has elapsed since the window size was decreased and started to increase again, the values RTT_min * ABE and RTT_max * ABE are set as follows. The purpose is to solve various problems of CUBIC-TCP, for example, the problem that the time until a newly started communication flow obtains a broadband throughput becomes longer by determining the value based on the value. It is said.
本発明は、値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) 3 +RTT_max*ABE、(Cは定数、Kは(ABE*(RTT_max−RTT_min)/C) 1/3 である)に決定するものである。
In the present invention, the values RTT_min * ABE and RTT_max * ABE are calculated, and the increase width of the window size is determined based on these values.
That is, the present invention includes a step in which the transmitting terminal writes the current time now1 in the packet at the time of packet transmission, a step in which the receiving terminal reads now1 written in the packet when the packet is received, and the reception When the terminal transmits a reception confirmation packet for the received packet, a step of writing “now1” into the reception confirmation packet; and when the transmission terminal receives the reception confirmation packet, the terminal confirms the reception confirmation packet from the current time “now”. Calculating a value obtained by subtracting written “now1”, storing a minimum round-trip delay time RTT_min that is the minimum value, and a maximum round-trip delay time RTT_max that is the maximum value; Minimum round-trip delay time RTT_min has elapsed from the time ABE was calculated Calculating the available bandwidth ABE based on the number of acknowledged packets received during time, and when the transmitting terminal determines that the network is not congested, and increases the window size, RTT_min * based on the ABE and RTT_max * ABE, possess determining the window size, the transmitting terminal, in the step of determining the window size, currently, after the window size is reduced, from the start to increase again Assuming that time t has elapsed, the window size cwnd (t) is set to C (t−K) 3 + RTT_max * ABE, where C is a constant and K is (ABE * (RTT_max−RTT_min) / C) 1/3 . Is determined).
本発明と従来の技術との差異は次の通りである。本発明では、ウインドウサイズを減少し再び増加し始めてからt時間経過した時刻におけるウインドウサイズcwnd(t)の値を決定する時、値RTT_min*ABEとRTT_max*ABEを基にしてその値を決定している。しかし従来のCUBIC−TCPではそれらの値を用いていない。またWestwood+は、ウインドウサイズを減少する時は値RTT_min*ABEを用いているが、増加する時はそれらの値を用いていない。 The differences between the present invention and the prior art are as follows. In the present invention, when the value of the window size cwnd (t) at the time when t time has elapsed after the window size is decreased and started to increase again, the value is determined based on the values RTT_min * ABE and RTT_max * ABE. ing. However, those values are not used in the conventional CUBIC-TCP. Westwood + uses the value RTT_min * ABE when decreasing the window size, but does not use those values when increasing the window size.
本発明を用いれば、ギガビットレベルのスループットが実現可能なCUBIC−TCPの性能を向上させることができる。例えば公平な帯域を得るまでの時間を短縮することができる。 By using the present invention, it is possible to improve the performance of CUBIC-TCP capable of realizing a gigabit level throughput. For example, the time required to obtain a fair bandwidth can be shortened.
以下、本発明の実施例を図を参照して説明する。
実施例における送信端末の構成図を図6に、受信端末の構成図を図7に示す。図6(A)に示すように、送信端末600は現在時刻書込部601と時刻読取部602と往復遅延時間計算部603とシーケンス番号読取部604と利用可能帯域計算部605とウインドウサイズ決定部610とを備える。図6(B)に示すように、ウインドウサイズ決定部610は、サイズ増減判断部611とサイズ増加部612とサイズ減少部613とを備える。また、図7に示すように、受信端末700は時刻読取部701と情報書込部702とを備える。なお、図6、図7は本実施例を説明するために必要な部分のみを図示したものであり、本実施例の送信端末、受信端末が送信端末、受信端末として通常必要とされる手段を有することは当然である。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 6 shows a configuration diagram of the transmission terminal in the embodiment, and FIG. 7 shows a configuration diagram of the reception terminal. As shown in FIG. 6A, the
送信端末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に示すフローチャートに従って、ウインドウサイズを減少する。
When transmitting the packet A, the
図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)。
FIG. 8 shows an algorithm (flow chart) in the round-trip delay
図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である。
FIG. 9 shows an algorithm (flow chart) in the available
利用可能帯域計算部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)、終了する。
The
図9のフローチャートからわかるように、ステップ903でT≧RTT_minの場合にステップ904でABEを計算しているので、前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算していることになる。
As can be seen from the flowchart in FIG. 9, when T ≧ RTT_min in
次に、ウインドウサイズ決定部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)。
Next, an algorithm (flow chart) in the window
FIG. 10A shows an algorithm (flow chart) in the size increase /
図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)3+RTT_max*ABEを計算し、新しいウインドウサイズを決定する(ステップ1022)。
FIG. 10-2 shows an algorithm (flow chart) in the
図10−3に、ウインドウサイズ決定部610のサイズ減少部613におけるアルゴリズム(フローチャート)を示す。図10−3に示すようにサイズ減少部613では、利用可能帯域計算部605から通知されたABE、往復遅延時間計算部603から通知されたRTT_minを基にして、ウインドウサイズcwnd=RTT_min*ABEを計算し、新しいウインドウサイズを決定する(ステップ1031)。そしてウインドウサイズを減少した時刻を、ウインドウ増加部のメモリに記憶されているt_decに代入する(1032)。
FIG. 10C shows an algorithm (flow chart) in the
以下、図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とする。
Hereinafter, the operation of this embodiment will be described with reference to the example shown in FIG. As shown in FIG. 11, the transmitting
送信端末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を計算する。
When the
よって、ウインドウサイズは
送信端末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を計算する。
When the
よって、ウインドウサイズは
送信端末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)。
When the
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を計算する。
d is updated to 0, last_t is updated to 10.103, and C is updated to 102 (
よって、ウインドウサイズは
次に本実施例の効果を確認するシミュレーションを行った結果を示す。シミュレーションの条件は背景技術(図4、図5参照)で述べたものとまったく同じである。図12に時間毎の輻輳ウインドウサイズの変化を示す。図5と図12を比較すると、本実施例を用いた場合、100秒に通信を開始したフローのウインドウサイズが既に通信を開始してるフローのウインドウサイズと等しくなるまでの時間が大幅に短縮できていることが確認できる。 Next, the result of having performed the simulation which confirms the effect of a present Example is shown. The simulation conditions are exactly the same as those described in the background art (see FIGS. 4 and 5). FIG. 12 shows changes in the congestion window size over time. Comparing FIG. 5 and FIG. 12, when this embodiment is used, the time until the window size of the flow that has started communication in 100 seconds becomes equal to the window size of the flow that has already started communication can be greatly reduced. Can be confirmed.
以上説明した実施例において、送信端末および受信端末の各部はコンピュータと記憶装置に記憶されたプログラムで実現することができる。プログラム中に使用される変数名は、本実施例における変数名に限定されず、任意の変数名を使用することができる。 In the embodiment described above, each unit of the transmission terminal and the reception terminal can be realized by a program stored in a computer and a storage device. The variable name used in the program is not limited to the variable name in this embodiment, and any variable name can be used.
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。 As mentioned above, the invention made by the present inventor has been specifically described based on the above embodiments. However, the present invention is not limited to the above embodiments, and various modifications can be made without departing from the scope of the invention. Of course.
600…送信端末、601…現在時刻書込部、602…時刻読取部、603…往復遅延時間計算部、604…シーケンス番号読取部、605…利用可能帯域計算部、610…ウインドウサイズ決定部、611…サイズ増減判断部、612…サイズ増加部、613…サイズ減少部、700…受信端末、701…時刻読取部、702…情報書込部
600 ... transmitting terminal, 601 ... current time writing unit, 602 ... time reading unit, 603 ... round-trip delay time calculating unit, 604 ... sequence number reading unit, 605 ... usable bandwidth calculating unit, 610 ... window size determining unit, 611 ... Size increase / decrease determination unit, 612 ... Size increase unit, 613 ... Size decrease unit, 700 ... Receiving terminal, 701 ... Time reading unit, 702 ... Information writing unit
Claims (2)
送信端末が、パケット送信時に現在の時刻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) 3 +RTT_max*ABE、(Cは定数、Kは(ABE*(RTT_max−RTT_min)/C) 1/3 である)に決定することを特徴とする輻輳制御方法。 In the congestion control method of decreasing the window size when it is determined that the network is congested, and increasing the window size when it is determined that it is not,
The transmitting terminal writes the current time now1 in the packet at the time of packet transmission;
When the receiving terminal receives the packet, reads the now1 written in the packet;
When the receiving terminal transmits a reception confirmation packet for the received packet, writing now1 into the reception confirmation packet;
When the transmission terminal receives the reception confirmation packet, it calculates a value obtained by subtracting now1 written in the reception confirmation packet from the current time now, and the minimum round-trip delay time RTT_min, which is the minimum value, and Storing a maximum round trip delay time RTT_max which is a maximum value;
Calculating the available bandwidth ABE based on the number of acknowledged packets received during the time that the minimum round-trip delay time RTT_min has elapsed since the time when the transmitting terminal calculated the available bandwidth ABE last time;
Determining a window size based on RTT_min * ABE and RTT_max * ABE when the transmitting terminal determines that the network size is not congested and increases the window size;
I have a,
In the step of determining the window size by the transmitting terminal, if t time has elapsed since the window size decreased and then increased again, the window size cwnd (t) is set to C (t−K ) 3 + RTT_max * ABE, ( C is a constant, K is (ABE * (RTT_max-rTT_min) / C) congestion control method characterized by determining which is the 1/3).
パケット送信時に現在の時刻now1をパケットに書き込む現在時刻書込部と、
前記パケットの受信確認パケットを受信した時、現在の時刻nowから前記受信確認パケットに書き込まれているnow1を減算した値を計算し、その最小値である最小往復遅延時間RTT_min、及びその最大値である最大往復遅延時間RTT_maxを記憶する往復時間計算部と、
前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算する利用可能帯域計算部と、
ネットワークが輻輳状態でないと判断した場合にウインドウサイズを増加させる時、RTT_min*ABEとRTT_max*ABEを基にして、ウインドウサイズを決定するウインドウサイズ決定部と、
を備え、
前記ウインドウサイズ決定部が、現在、ウインドウサイズが減少した後、再び増加し始めてからt時間経過しているとすると、ウインドウサイズcwnd(t)を、C(t−K) 3 +RTT_max*ABE、(Cは定数、Kは(ABE*(RTT_max−RTT_min)/C) 1/3 である)に決定することを特徴とする通信端末。 In a communication terminal that performs congestion control that decreases the window size when it is determined that the network is in a congestion state and increases the window size when it is determined that the network is not,
A current time writing unit for writing the current time now1 to the packet at the time of packet transmission;
When the reception confirmation packet of the packet is received, a value obtained by subtracting now1 written in the reception confirmation packet from the current time now is calculated, and the minimum round-trip delay time RTT_min that is the minimum value and the maximum value are calculated. A round trip time calculation unit for storing a certain maximum round trip delay time RTT_max;
An available bandwidth calculation unit for calculating the available bandwidth ABE based on the number of acknowledged packets received during the time when the minimum round-trip delay time RTT_min has elapsed from the time when the previous available bandwidth ABE was calculated;
A window size determination unit for determining a window size based on RTT_min * ABE and RTT_max * ABE when increasing the window size when it is determined that the network is not in a congestion state;
Equipped with a,
Assuming that t time has elapsed since the window size determination unit started to increase again after the window size has decreased, the window size cwnd (t) is set to C (t−K) 3 + RTT_max * ABE, ( communication terminal C is a constant, K is characterized that you determined (ABE * (RTT_max-rTT_min) / C) is 1/3).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005194573A JP4429982B2 (en) | 2005-07-04 | 2005-07-04 | Congestion control method and communication terminal thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005194573A JP4429982B2 (en) | 2005-07-04 | 2005-07-04 | Congestion control method and communication terminal thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007013823A JP2007013823A (en) | 2007-01-18 |
JP4429982B2 true JP4429982B2 (en) | 2010-03-10 |
Family
ID=37751652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005194573A Expired - Fee Related JP4429982B2 (en) | 2005-07-04 | 2005-07-04 | Congestion control method and communication terminal thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4429982B2 (en) |
Cited By (1)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4778453B2 (en) * | 2007-01-24 | 2011-09-21 | 株式会社エヌ・ティ・ティ・ドコモ | Communication terminal, congestion control method, and congestion control program |
JP5337263B2 (en) * | 2012-02-03 | 2013-11-06 | 東芝Itサービス株式会社 | Information transmission system and information transmission method |
JP5867160B2 (en) * | 2012-02-28 | 2016-02-24 | 富士通株式会社 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM |
JP6145190B1 (en) * | 2016-03-02 | 2017-06-07 | チエル株式会社 | Relay device, relay method, and relay program |
-
2005
- 2005-07-04 JP JP2005194573A patent/JP4429982B2/en not_active Expired - Fee Related
Cited By (1)
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 (en) | 2007-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7720959B2 (en) | Method and apparatus for characterizing the quality of a network path | |
US7706274B2 (en) | High performance TCP for systems with infrequent ACK | |
JP4283589B2 (en) | COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM | |
US7839859B2 (en) | Voice adaptive gateway pacing methods and systems for wireless multi-hop networks | |
US7577097B2 (en) | Compound transmission control protocol | |
US7376737B2 (en) | Optimised receiver-initiated sending rate increment | |
US20040190540A1 (en) | Transmission control method and system | |
WO2002033896A2 (en) | Method and apparatus for characterizing the quality of a network path | |
US10715442B2 (en) | Congestion control | |
US10075382B2 (en) | Communication device, relay device, and communication method for a plurality of packets | |
JP2009077036A (en) | Communication apparatus and communication method | |
US20040017773A1 (en) | Method and system for controlling the rate of transmission for data packets over a computer network | |
KR101141160B1 (en) | Method for buffer control for network device | |
JP4429982B2 (en) | Congestion control method and communication terminal thereof | |
US20170331744A1 (en) | Combined delay and loss based congestion control algorithms | |
US10986030B2 (en) | Congestion control | |
US8279756B2 (en) | Communication terminal, communication control method, and communication control program | |
US11570117B2 (en) | Congestion control | |
Man et al. | ImTCP: TCP with an inline measurement mechanism for available bandwidth | |
JP4435817B2 (en) | Communication terminal, communication control method, and communication control program | |
JP4186893B2 (en) | Packet communication device, packet communication method, data receiving device, and data receiving method | |
JP2006217235A (en) | Congestion control method and transmitting terminal | |
JP3853784B2 (en) | Data communication management method | |
Ahmad et al. | EXPERIMENTAL EVALUATION OF TCP CONGESTION CONTORL MECHANISMS IN SHORT AND LONG DISTANCE NETWORKS. | |
Vyakaranal et al. | Performance evaluation of TCP using AQM schemes for congestion control |
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 |