JP4249049B2 - COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD - Google Patents
COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD Download PDFInfo
- Publication number
- JP4249049B2 JP4249049B2 JP2004026127A JP2004026127A JP4249049B2 JP 4249049 B2 JP4249049 B2 JP 4249049B2 JP 2004026127 A JP2004026127 A JP 2004026127A JP 2004026127 A JP2004026127 A JP 2004026127A JP 4249049 B2 JP4249049 B2 JP 4249049B2
- Authority
- JP
- Japan
- Prior art keywords
- window size
- transmission
- data packet
- packet
- transmission unit
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、通信システム、通信装置、プログラム及び通信方法に関する。 The present invention relates to a communication system, a communication device, a program, and a communication method.
TCP(Transmission Control Protocol)における輻輳制御方式には、TCP Renoのようなリアクティブな輻輳制御方式や、TCP Vegasのようなプロアクティブな輻輳制御方式がある。TCP Renoでは、送信端末はネットワークの輻輳に伴うパケットロスが発生するまでデータパケットの送信速度を徐々に増加させ、パケットロスを検出すると送信速度を大きく減少させる。そのため、TCP−Renoでは、結局、輻輳が発生してしまい、ネットワークを有効に利用できない欠点がある。 As a congestion control method in TCP (Transmission Control Protocol), there are a reactive congestion control method such as TCP Reno and a proactive congestion control method such as TCP Vegas. In TCP Reno, the transmission terminal gradually increases the transmission rate of data packets until packet loss due to network congestion occurs, and greatly reduces the transmission rate when a packet loss is detected. For this reason, TCP-Reno has a drawback in that congestion eventually occurs and the network cannot be used effectively.
TCP Vegasでは、送信端末は、送信端末と受信端末との間のラウンドトリップタイム(Round Trip Time、以下「RTT」と表す)の増加を、輻輳検出に用いる。具体的には、ネットワークが輻輳し始めると、ネットワーク上のルータに蓄積され、待ち行列に入る蓄積パケット量が増加することによるキューイング遅延が増大し、RTTが増加し始める。そのため、送信端末は、RTTが増加し始めた時点で、データパケットの送信速度を抑える。よって、TCP Vegasでは、輻輳を防止し、ネットワークを有効に利用できる(例えば、非特許文献1、非特許文献2参照)。
In TCP Vegas, the transmission terminal uses an increase in round trip time (Round Trip Time, hereinafter referred to as “RTT”) between the transmission terminal and the reception terminal for congestion detection. Specifically, when the network starts to congest, the queuing delay due to the increase in the amount of stored packets that are stored in the routers on the network and enter the queue increases, and the RTT starts to increase. Therefore, the transmission terminal suppresses the transmission rate of the data packet when the RTT starts to increase. Therefore, in TCP Vegas, congestion can be prevented and the network can be used effectively (see, for example, Non-Patent
TCP Vegasでは、輻輳回避フェーズ(Congestion Avoidance Phase)に移行後、送信端末は1RTT毎に、以下に示す(1)式、(2)式を用いて輻輳ウィンドウサイズ(Congestion Window Size、以下「cwnd」と表す)を変更し、輻輳制御を行う。 In TCP Vegas, after shifting to the Congestion Avoidance Phase, the transmission terminal uses the following Expressions (1) and (2) for each RTT, and the Congestion Window Size (hereinafter “cwnd”) is used. And the congestion control is performed.
Queued_packet<α のとき、
cwnd_next=cwnd+1データパケット (1)式
Queued_packet>β のとき、
cwnd_next=cwnd−1データパケット (2式)
When Queued_packet <α,
cwnd_next = cwnd + 1 data packet (1)
When Queued_packet> β,
cwnd_next = cwnd-1 data packet (2 formulas)
(1)、(2)式において、「Queued_packet」は蓄積パケット量、「cwnd」は現在のcwnd、「cwnd_next」は次にデータパケットを送信する際のcwndである。α、βは定数であり、αのデフォルト値は1データパケット、βのデフォルト値は3データパケットである。
しかしながら、従来のTCP Vegasにおける輻輳制御方法では、cwndは1RTT毎に1データパケット分しか増減できず、cwndの変更量は固定的である。即ち、cwndの変更の早さは、1RTTにつき1データパケット分だけであり、固定的である。そのため、従来の輻輳制御方法では、ネットワークのトラフィック状況の急激な変化に十分に追従することができなかった。 However, in the congestion control method in the conventional TCP Vegas, cwnd can be increased or decreased by one data packet every RTT, and the change amount of cwnd is fixed. That is, the change speed of cwnd is only one data packet per RTT, and is fixed. For this reason, the conventional congestion control method cannot sufficiently follow a rapid change in the traffic state of the network.
具体的には、図7(a)に示すように、送信端末210の通信中に他の端末装置も通信している場合、ネットワーク上には送信端末210による送信端末トラフィック201aと、他の端末装置による他トラフィック201bとが存在する。そして、ネットワーク上のルータ230の送信バッファ231には、送信端末210や他の端末装置からのデータパケット201が蓄積され、待ち行列に入っている。
Specifically, as shown in FIG. 7 (a), when other terminal devices are also communicating during the communication of the transmission terminal 210, the transmission terminal traffic 201a by the transmission terminal 210 and other terminals are placed on the network. Other traffic 201b by the device exists. In the
図7(a)において、他トラフィック201bが少ない、あるいは、他の端末装置が通信をしておらず、他トラフィック201bが存在しないとする。このとき、図7(b)に示すように、他の端末装置が送信するデータパケット量が増加したり、他の端末装置が通信を開始したりすると、他トラフィック201bが増加し、ネットワークが輻輳し始める。そして、ルータ230の送信バッファ231に大量のデータパケット201が蓄積され始める。この場合に、従来の輻輳制御方法では、cwndを1RTT毎に1データパケット分しか減少させることができず、送信速度の低下が遅いため、送信端末210や他の端末装置のデータパケットの送信速度を速やかに抑えることができない。その結果、送信バッファ231からデータパケット201が溢れ、パケットロスが発生する。
In FIG. 7A, it is assumed that there is little other traffic 201b, or other terminal devices are not communicating and there is no other traffic 201b. At this time, as shown in FIG. 7B, when the amount of data packets transmitted by other terminal devices increases or when other terminal devices start communication, the other traffic 201b increases and the network is congested. Begin to. Then, a large amount of
一方、図7(a)において、ある程度の他トラフィック201bが存在するとする。このとき、図7(c)に示すように、他の端末装置が通信を終了すると、他トラフィック201bはなくなり、送信端末トラフィック201aだけになる。そして、ルータ230の送信バッファ231にデータパケットが蓄積されなくなり、ネットワークの通信帯域に空きが生じる。この場合に、従来の輻輳制御方法では、cwndを1RTT毎に1データパケット分しか増加させることができず、送信速度の向上が遅いため、送信端末210のデータパケットの送信速度を速やかに向上させることができない。その結果、ネットワークの通信帯域を有効に利用できない。
On the other hand, in FIG. 7A, it is assumed that some other traffic 201b exists. At this time, as shown in FIG. 7C, when the other terminal device ends the communication, the other traffic 201b disappears and only the transmitting terminal traffic 201a exists. Then, data packets are not accumulated in the
そこで、本発明は、ネットワークのトラフィック状況の変化に追従したデータパケットの送信を可能にすることを目的とする。 In view of the above, an object of the present invention is to enable transmission of a data packet following a change in the traffic situation of a network.
本発明に係る通信システム、通信装置は、ネットワークのトラフィック状況を取得する取得手段と、トラフィック状況に基づいて、ウィンドウサイズの変更量を決定するウィンドウサイズ制御手段と、ウィンドウサイズの変更量に基づいて、データパケットの送信を制御する送信制御手段とを備えることを特徴とする。 A communication system and a communication device according to the present invention include an acquisition unit that acquires a traffic state of a network, a window size control unit that determines a window size change amount based on the traffic state, and a window size change amount. And transmission control means for controlling transmission of the data packet.
このような通信システム、通信装置によれば、トラフィック状況を取得し、取得したトラフィック状況に応じてウィンドウサイズの変更量を動的に変更できる。そして、通信システム、通信装置は、動的に変更されたウィンドウサイズの変更量に基づいて動的に変更されたウィンドウサイズを用いて、データパケットを送信できる。そのため、通信システム、通信装置は、ネットワークのトラフィック状況の変化に追従してデータパケットを送信できる。 According to such a communication system and communication apparatus, it is possible to acquire the traffic situation and dynamically change the window size change amount according to the acquired traffic situation. And a communication system and a communication apparatus can transmit a data packet using the window size changed dynamically based on the change amount of the window size changed dynamically. Therefore, the communication system and the communication device can transmit data packets following changes in the traffic situation of the network.
更に、取得手段は、トラフィック状況としてネットワーク上のルータに蓄積されているデータパケットの蓄積パケット量を計算し、ウィンドウサイズ制御手段は、蓄積パケット量に基づいて変更量を計算することが好ましい。これによれば、通信システム、通信装置は、蓄積パケット量を用いて変更量を計算することにより、容易に適切なウィンドウサイズの変更量を決定できる。よって、通信システム、通信装置は、ネットワークのトラフィック状況の変化に、より適切に、かつ、容易に追従してデータパケットを送信できる。 Further, it is preferable that the acquisition unit calculates the amount of stored data packets stored in a router on the network as a traffic situation, and the window size control unit calculates the amount of change based on the amount of stored packets. According to this, the communication system and the communication apparatus can easily determine an appropriate change amount of the window size by calculating the change amount using the accumulated packet amount. Therefore, the communication system and the communication device can transmit the data packet more appropriately and easily following the change in the traffic situation of the network.
本発明に係るプログラムは、コンピュータをネットワークのトラフィック状況を取得する取得手段と、トラフィック状況に基づいて、ウィンドウサイズの変更量を決定するウィンドウサイズ制御手段と、ウィンドウサイズの変更量に基づいて、データパケットの送信を制御する送信制御手段として機能させるためのプログラムである。このようなプログラムによれば、上記通信システムや通信装置を実現できる。本発明に係る通信方法は、ネットワークのトラフィック状況を取得し、トラフィック状況に基づいて、ウィンドウサイズの変更量を決定し、ウィンドウサイズの変更量に基づいて、データパケットの送信を制御することを特徴とする。 The program according to the present invention includes an acquisition unit for acquiring a network traffic status from a computer, a window size control unit for determining a window size change amount based on the traffic status, and a data based on the window size change amount. A program for causing a packet to function as a transmission control unit that controls transmission of a packet. According to such a program, the communication system and the communication device can be realized. The communication method according to the present invention acquires a traffic state of a network, determines a change amount of a window size based on the traffic state, and controls transmission of a data packet based on the change amount of the window size. And
以上説明したように、本発明によれば、ネットワークのトラフィック状況の変化に追従したデータパケットの送信が可能になる。 As described above, according to the present invention, it is possible to transmit a data packet following a change in the network traffic situation.
図1に示すように、通信システム100は、送信端末10と、受信端末20と、複数のルータ30a,30bと、ネットワーク40を備える。通信システム100では、輻輳制御方式としてTCP Vegasを用いる。送信端末10、受信端末20は、ネットワーク40に接続する通信装置である。送信端末10は、ネットワーク40を介して受信端末20にデータパケット1を送信する。受信端末20は、データパケット1を受信すると、ネットワーク40を介して送信端末10に肯定応答(Acknowledge、以下「Ack」と表す)2を送信する。
As illustrated in FIG. 1, the communication system 100 includes a
ルータ30a,30bは、送信端末10と受信端末20との間のネットワーク40上に設けられる。ルータ30aは、データパケット1を送信端末10から受信端末20まで転送する。ルータ30aは、送信バッファ31を備える。ルータ30aは、送信端末10からデータパケット1を受信し、送信バッファ31に蓄積して待ち行列に入れる。ルータ30aは、送信バッファ31からデータパケット1を取り出して受信端末20に転送する。ルータ30bもルータ30aと同様に送信バッファを備える。ルータ30bは、受信端末20からAck2を受信し、送信端末10に転送する。
The routers 30 a and 30 b are provided on the network 40 between the
次に、送信端末10について詳細に説明する。送信端末10は、送信バッファ11と、送信制御部12と、通信インタフェース13と、送信記録テーブル14と、時計部15と、パケット量計算部16と、ウィンドウサイズ制御部17とを備える。
Next, the
通信インタフェース13は、送信制御部12からデータパケットを取得する。通信インタフェース13は、送信制御部12の指示に従ってデータパケットを受信端末20に送信する。通信インタフェース13は、受信端末20からAckを受信する。通信インタフェース13は、受信したAckを送信制御部12とパケット量計算部16に入力する。送信バッファ11は、送信端末10が送信するデータパケットを保持する。送信記録テーブル14は、送信端末10によるデータパケットの送信状況を記憶する。送信記録テーブル14は、送信状況として、送信端末10が送信したデータパケットのシーケンス番号と、データパケットを送信した送信時刻とを対応付けて保持する。
The
パケット量計算部16は、ネットワーク40のトラフィック状況を取得する取得手段である。パケット量計算部16は、トラフィック状況として、ネットワーク40上のルータ30aに蓄積されているデータパケットの蓄積パケット量を計算し、トラフィック状況を取得する。パケット量計算部16は、ネットワーク40上のルータのうち、送信端末10から受信端末20へのデータパケットの転送経路上にあり、送信バッファ31にデータパケットが蓄積し、データパケット転送のボトルネックとなっているルータ30aの蓄積パケット量を計算する。パケット量計算部16は、蓄積パケット量として、送信端末10以外の端末装置が送信したデータパケットを除いた、送信端末10がボトルネックのルータ30aに蓄積させているパケット量を計算してもよい。
The packet
パケット量計算部16は、通信インタフェース13からAckを取得する。パケット量計算部16は、Ackを取得すると時計部15を参照し、Ackの受信時刻を取得する。時計部15は現在時刻を提供する。Ackは、受信端末20が受信したデータパケットのシーケンス番号を含む。パケット量計算部16は、Ackに含まれるシーケンス番号に基づいて送信記録テーブル14を検索し、送信端末10がAckを受信したデータパケットの送信時刻を取得する。パケット量計算部16は、Ackを受信したデータパケットの送信状況を、送信記録テーブル14から削除する。パケット量計算部16は、Ackの受信時刻、データパケットの送信時刻を用いて、蓄積パケット量を計算する。パケット量計算部16は、計算により取得した蓄積パケット量を、ウィンドウサイズ制御部17に入力する。
The packet
ウィンドウサイズ制御部17は、トラフィック状況に基づいて、ウィンドウサイズの変更量を決定するウィンドウサイズ制御手段である。ウィンドウサイズ制御部17は、トラフィック状況として蓄積パケット量を用い、変更量を計算する。ウィンドウサイズ制御部17は、パケット量計算部16からトラフィック量として蓄積パケット量を取得する。
The window
通信システム100においてウィンドウサイズを制御する制御周期を「Round」と表す。ウィンドウサイズを制御した直後から、次にウィンドウサイズを制御するまでの期間が制御周期(Round)となる。ウィンドウサイズ制御部17は、制御周期(Round)毎にウィンドウサイズの変更量を決定する。具体的には、ウィンドウサイズ制御部17は、1RTT毎にウィンドウサイズの変更量を決定する。よって、制御周期(Round)の長さは1RTTになる。ウィンドウサイズ制御部17は、ウィンドウサイズとしてcwndの変更量を決定する。
A control cycle for controlling the window size in the communication system 100 is represented as “Round”. A period from immediately after the window size is controlled until the next window size is controlled is a control period (Round). The window
ウィンドウサイズ制御部17は、決定したウィンドウサイズの変更量を用いて、ウィンドウサイズを決定する。ウィンドウサイズ制御部17は、現在の制御周期(Round)よりも後の制御周期(Round)の変動量及びウィンドウサイズであれば、どの制御周期(Roudnd)について決定してもよい。そのため、ウィンドウサイズ制御部17は、次の制御周期(Round)の変動量及びウィンドウサイズを決定してもよく、更に後の制御周期(Round)の変更量及びウィンドウサイズを決定してもよい。ウィンドウサイズ制御部17は、決定したウィンドウサイズを送信制御部12に入力する。又、ウィンドウサイズ制御部17は、ウィンドウサイズを決定せずに、ウィンドウサイズの変更量を送信制御部12に入力してもよい。
The window
送信制御部12は、ウィンドウサイズの変更量に基づいて、データパケットの送信を制御する送信制御手段である。送信制御部12は、ウィンドウサイズ制御部17からウィンドウサイズ又はウィンドウサイズの変更量を取得する。送信制御部12は、ウィンドウサイズの変更量を取得した場合には、まず、変更量を用いてウィンドウサイズを決定する。
The
送信制御部12は、取得、又は、決定したウィンドウサイズのデータパケットを送信バッファ11から取得する。そして、送信制御部12は、取得したデータパケットを通信インタフェース13に入力し、制御周期(Round)を指定してウィンドウサイズのデータパケットを送信するよう指示する。
The
又、送信制御部12は、データパケットの送信状況を送信記録テーブル14に記録する。送信制御部12は、通信インタフェース13にデータパケットの送信を指示する際に時計部15を参照し、データパケットの送信時刻を取得する。送信制御部12は、データパケットのシーケンス番号と送信時刻を対応付けて、送信記録テーブル14に記録する。更に、送信制御部12は、通信インタフェース13からAckを取得する。送信制御部12は、一定時間経過してもAckを受信できないデータパケットについては、通信インタフェース13に再送を指示する。
The
次に、ウィンドウサイズの変更量、ウィンドウサイズの決定方法について詳細に説明する。以下、制御周期(Round)の順番を「#i」、「#i」番目の制御周期を「Round(#i)」と表す。通信開始後1回目の制御周期(Round)が「Rouund(#1)」となる。Round(#i)におけるcwndを「cwnd(#i)」、cwndの変更量を「V(#i)」と表す。又、データパケットのシーケンス番号を「Si」、シーケンス番号が「Si」のデータパケットを「データパケット(Si)」、シーケンス番号が「Si」のデータパケットに対するAckを「Ack(Si)」と表す。更に、ネットワーク40が輻輳していないときの送信端末10と受信端末20との間のRTTを「RTTbase」と定義する。図3〜5を用いて、TCP Vegasにおける輻輳回避フェーズ(Congestion Avoidance Phase)移行後の送信端末10と受信端末20との間のデータパケットの送受信を例にとって説明する。
Next, the change amount of the window size and the method for determining the window size will be described in detail. Hereinafter, the order of the control cycle (Round) is represented as “#i”, and the “#i” -th control cycle is represented as “Round (#i)”. The first control cycle (Round) after the start of communication is “Round (# 1)”. In Round (#i), cwnd is expressed as “cwnd (#i)”, and the change amount of cwnd is expressed as “V (#i)”. Further, the sequence number of the data packet is represented by “Si”, the data packet having the sequence number “Si” is represented by “data packet (Si)”, and the Ack for the data packet having the sequence number “Si” is represented by “Ack (Si)”. . Furthermore, RTT between the
まず、図3に示すように、Round(#i)において、送信端末10がcwnd(#i)のデータパケット、データパケット(S4)1a、データパケット(S5)1b、データパケット(S6)1c、データパケット(S7)1dを受信端末20に送信する。尚、既にRound(#i)におけるデータパケット(S1)〜データパケット(S3)は送信済みである。このとき、送信端末12の送信制御部12は、送信した全てのデータパケットの送信時刻を送信記録テーブル14に記録する。又、送信端末10は、Round(#i)において既に送信したデータパケットに対するAck(S1)2a、Ack(S2)2b、Ack(S3)2cを受信端末20から受信する。
First, as shown in FIG. 3, in Round (#i), the transmitting
Round(#i+1)が開始すると、図4に示すように、受信端末20が、Round(#i)において送信したデータパケットに対するAck(S4)2d、Ack(S5)2eを送信端末10に送信する。送信端末10のパケット量計算部16は、送信端末10が受信したAck(S4)、Ack(S5)のシーケンス番号を用いて、送信記録テーブル14から、データパケット(S4)の送信時刻t4、データパケット(S5)の送信時刻t5を取得する。
When Round (# i + 1) is started, the receiving
パケット量計算部16は、Ackの受信時刻、データパケットの送信時刻を用いて、Round(#i)において送信した全てのデータパケットのRTTを計算する。即ち、パケット量計算部16は、送信端末10がデータパケットを送信してからそのAckを受信するまでの時間を、送信端末10と受信端末20との間のRTTとして計算する。例えば、パケット量計算部16は、データパケット(S4)の送信時刻t4とAck(S4)の受信時刻との差分を計算し、そのデータパケットのRTTを計算する。このようにして、パケット量計算部16はRTTを常に計算することにより、測定する。そして、パケット量計算部16は、測定したRTTの中で最小のRTTをRTTbaseとして用いる。
The packet
Round(#i+1)開始直後は、図4の点線Aよりも矢印B側に示すように、Round(#i)において送信端末10が送信したデータパケット(S6)1c、データパケット(S7)1dは、まだ受信端末20に到達していない。更に、Round(#i+1)では、送信端末10はcwnd(#i+1)のデータパケットを受信端末20に送信する。そのため、図4の点線Aよりも矢印C側に示すように、Round(#i+1)におけるデータパケット(S8)1e、データパケット(S9)1fの送信が開始される。尚、送信端末10のウィンドウサイズ制御部17は、輻輳回避フェーズ移行直後のRound(#2)ではcwnd(#2)としてcwnd(#1)をそのまま用いる。
Immediately after the start of Round (# i + 1), the data packet (S6) 1c and the data packet (S7) 1d transmitted by the transmitting
図5に示すように、送信端末10が、データパケット(S11)1g、データパケット(S12)1h、データパケット(S13)1i、データパケット(S14)1jを受信端末20に送信し、Round(#i+1)におけるデータパケットが全て送信され、Round(#i+1)が終了する頃になると、送信端末10は、Round(#i)において送信した全てのデータパケットのAckを受信端末20から受信し終わる。そして、受信端末20は、Round(#i+1)において送信したデータパケットに対するAck(S8)2f、Ack(S9)2g、Ack(S10)2hを送信端末10に送信し始める。
As shown in FIG. 5, the transmitting
送信端末10のパケット量計算部16は、Round(#i)において送信した全てのデータパケットのRTTの平均値を計算する。そして、パケット量計算部16は、以下に示す(3)式を用いて蓄積パケット量を計算する。「Round(#i)」における蓄積パケット量を「Queued_packet(#i)」、Round(#i)において送信したデータパケットのRTTの平均値を「RTT_ave(#i)」と表す。
Queued_packet(#i)=(cwnd(#i)/RTT_ave(#i))×(RTT_ave(#i)―RTTbase) (3)式
The packet
Queued_packet (#i) = (cwnd (#i) / RTT_ave (#i)) × (RTT_ave (#i) −RTTbase) (3)
次に、ウィンドウサイズ制御部17は、求めた蓄積パケット量と、以下に示す(4)式、(5)式を用いて、Round(#i+2)におけるV(#i+2)を計算する。
Queued_packet(#i)<α、又は、Queued_packet(#i)>βのとき、
V(#i+2)=ε(δ―Queued_packet(#i)) (4式)
α≦Queued_packet(#i)≦βのとき、
V(#i+2)=0 (5)式
Next, the window
When Queued_packet (#i) <α or Queued_packet (#i)> β,
V (# i + 2) = ε (δ−Queued_packet (#i)) (Formula 4)
When α ≦ Queued_packet (#i) ≦ β,
V (# i + 2) = 0 Formula (5)
そして、ウィンドウサイズ制御部17は、求めたV(#i+2)と、以下に示す(6)式を用いて、Round(#i+2)におけるcwnd(#i+2)を計算する。
cwnd(#i+2)=cwnd(#i)+V(#i+2) (6)式
Then, the window
cwnd (# i + 2) = cwnd (#i) + V (# i + 2) (6)
あるいは、ウィンドウサイズ制御部17は、求めた蓄積パケット量と、以下に示す(7)式、(8)式を用いて、ウィンドウサイズの変更量に基づいたcwnd(#i+2)を直接計算してもよい。
Queued_packet(#i)<α、又は、Queued_packet(#i)>βのとき、
cwnd(#i+2)=cwnd(#i)+ε(δ―Queued_packet(#i)) (7式)
α≦Queued_packet(#i)≦βのとき、
cwnd(#i+2)=cwnd(#i) (8)式
Alternatively, the window
When Queued_packet (#i) <α or Queued_packet (#i)> β,
cwnd (# i + 2) = cwnd (#i) + ε (δ−Queued_packet (#i)) (Expression 7)
When α ≦ Queued_packet (#i) ≦ β,
cwnd (# i + 2) = cwnd (#i) (8) Formula
(4)〜(8)式において、α、β、εは定数である。δ=(α+β)/2である。定数α、βは、ウィンドウサイズの変更の可否を判断するための定数である。蓄積パケット量が少なく、ネットワークの通信帯域に空きが生じている場合には、データパケットの送信速度を速やかに向上させて、ネットワークの通信帯域を有効に利用する必要がある。そのため、定数αとして、蓄積パケット量が少ない場合にウィンドウサイズの変更を適切に行えるように、ウィンドウサイズの変更の可否を判断する蓄積パケット量の下限値を設定する。又、蓄積パケット量が多く、輻輳が生じている場合には、データパケットの送信速度を速やかに抑え、輻輳を抑制する必要がある。そのため、定数βとして、蓄積パケット量が多い場合にウィンドウサイズの変更を適切に行えるように、ウィンドウサイズの変更の可否を判断する蓄積パケット量の上限値を設定する。 In the equations (4) to (8), α, β, and ε are constants. δ = (α + β) / 2. The constants α and β are constants for determining whether the window size can be changed. When the amount of stored packets is small and there is a vacancy in the communication band of the network, it is necessary to increase the data packet transmission speed quickly and effectively use the communication band of the network. Therefore, as the constant α, a lower limit value of the accumulated packet amount for determining whether or not the window size can be changed is set so that the window size can be changed appropriately when the accumulated packet amount is small. In addition, when there is a large amount of accumulated packets and congestion occurs, it is necessary to quickly suppress the data packet transmission rate and suppress congestion. Therefore, an upper limit value of the accumulated packet amount for determining whether or not the window size can be changed is set as the constant β so that the window size can be appropriately changed when the accumulated packet amount is large.
更に、キューイング遅延の変動が大きくなると、ウィンドウサイズや蓄積パケット量が一定の値に収束せずに振動が生じるおそれがある。そのため、定数αとβは、ウィンドウサイズの変更によるデータパケットの送信速度の抑制と向上が適切に行えるように、かつ、振動が生じないように決定することが好ましい。具体的には、定数αとβの間隔を振動が生じない程度に大きくして、ウィンドウサイズの変更を行わない安定な領域を増やすように定数α、βを設定する。 Furthermore, if the fluctuation of the queuing delay becomes large, the window size and the amount of stored packets may not converge to a constant value and vibration may occur. Therefore, it is preferable to determine the constants α and β so that the transmission rate of the data packet can be appropriately suppressed and improved by changing the window size and vibration is not generated. Specifically, the constants α and β are set so that the interval between the constants α and β is increased to such an extent that no vibration is generated, and the stable region where the window size is not changed is increased.
定数εは、0<ε<2の範囲で設定することが好ましい。例えば、N個の送信端末が、あるボトルネックとなっているルータ30aを経由して、データパケットを送信しているとする。ルータ30aがn番目にデータパケットを転送する送信端末に注目し、その送信端末のRound(#i)におけるcwndを「cwnd_n(#i)」、その送信端末と受信端末との間のRTTを「RTT_n」、そのRTTbaseを「RTTbase_n」として(7)式に代入すると、以下に示す(9)式になる。 The constant ε is preferably set in the range of 0 <ε <2. For example, it is assumed that N transmitting terminals transmit data packets via a router 30a that is a bottleneck. The router 30a pays attention to the transmitting terminal to which the data packet is transferred nth, cwnd in Round (#i) of the transmitting terminal is “cwnd_n (#i)”, and RTT between the transmitting terminal and the receiving terminal is “ By substituting RTT_n ”and RTTbase as“ RTTbase_n ”into equation (7), the following equation (9) is obtained.
cwnd_n(#i+2)
=cwnd_n(#i)+ε(δ―Queued_packet(#i))
=cwnd_n(#i)+ε{δ―〔cwnd_n(#i)×D/(RTTbase_n+D)〕}
={1―〔εD/(RTTbase_n+D)〕}×cwnd_n(#i)+εδ(9)式
cwnd_n (# i + 2)
= Cwnd_n (#i) + ε (δ−Queued_packet (#i))
= Cwnd_n (#i) + ε {δ− [cwnd_n (#i) × D / (RTTbase_n + D)]}
= {1- [εD / (RTTbase_n + D)]} × cwnd_n (#i) + εδ (9)
(9)式より、cwnd_n(#i+2)が発散しないためには、(10)式を満たす必要がある。
|{1―〔εD/(RTTbase_n+D)〕}|<1
0<{εD/(RTTbase_n+D)}<2 (10)式
From equation (9), it is necessary to satisfy equation (10) so that cwnd_n (# i + 2) does not diverge.
| {1− [εD / (RTTbase_n + D)]} | <1
0 <{εD / (RTTbase_n + D)} <2 (10)
「D」は、ボトルネックとなるルータ30aによるデータパケットのキューイング遅延時間である。キューイング遅延時間Dは、ネットワーク40等の状況に応じて変動する。そのため、定数εを、0<ε<2の範囲で設定することにより、キューイング遅延時間Dがどのような値をとっても、(10)式を満たすことができる。 “D” is a queuing delay time of the data packet by the router 30a which is a bottleneck. The queuing delay time D varies depending on the situation of the network 40 or the like. Therefore, by setting the constant ε within the range of 0 <ε <2, the expression (10) can be satisfied regardless of the value of the queuing delay time D.
例えば、定数α、β、εを、α=1、β=3、ε=1に設定し、(7)式、(8)式を用いてウィンドウサイズを決定する場合、以下に示す(7’)式、(8’)式のようになる。
Queued_packet(#i)<1、又は、Queued_packet(#i)>3のとき、
cwnd(#i+2)=cwnd(#i)+1×(2―Queued_packet(#i)) (7’)式
1≦Queued_packet(#i)≦3のとき、
cwnd(#i+2)=cwnd(#i) (8’)式
For example, when the constants α, β, and ε are set to α = 1, β = 3, and ε = 1, and the window size is determined using the equations (7) and (8), the following (7 ′ ) And (8 ′).
When Queued_packet (#i) <1 or Queued_packet (#i)> 3,
cwnd (# i + 2) = cwnd (#i) + 1 × (2-Queued_packet (#i)) (7 ′) When
cwnd (# i + 2) = cwnd (#i) (8 ′) Formula
このような(4)式〜(6)式、又は、(7)式及び(8)式を用いてウィンドウサイズの変動量およびウィンドウサイズを決定することにより、蓄積パケット量Queued_packetと、定数α、βとのずれが大きい程、制御周期毎のウィンドウサイズの変更量を大きくできる。よって、蓄積パケット量が少なく、ネットワークの通信帯域に空きが生じ、その利用効率が低い場合や、蓄積パケット量が多く、輻輳が生じている場合に、制御周期毎のウィンドウサイズの変更量を大きくできる。更に、ウィンドウサイズの変更量を大きくし過ぎると、ウィンドウサイズや蓄積パケット量が一定値に収束せずに振動が生じ、ネットワーク40が不安定になるおそれがある。しかし、(4)式〜(6)式、又は、(7)式及び(8)式を用いてウィンドウサイズの変動量およびウィンドウサイズを決定した場合には、以下に示すように、ネットワーク40が安定な範囲内でウィンドウサイズを制御できる。上記(9)式を変形すると、(11)式が得られる。 By determining the window size variation amount and the window size using the equations (4) to (6) or the equations (7) and (8), the accumulated packet amount Queued_packet and the constant α, The larger the deviation from β, the larger the window size change amount for each control cycle. Therefore, if the amount of stored packets is small, the network communication bandwidth is vacant, and its usage efficiency is low, or if the amount of stored packets is large and congestion occurs, the window size change amount for each control cycle is increased. it can. Furthermore, if the amount of change in the window size is too large, the window size and the amount of stored packets do not converge to a constant value, causing vibration and the network 40 becoming unstable. However, when the window size variation and the window size are determined using the equations (4) to (6), or the equations (7) and (8), the network 40 is configured as shown below. The window size can be controlled within a stable range. When the equation (9) is modified, the equation (11) is obtained.
cwnd_n(#i+2)―{δ(RTTbase_n+D)/D}
={1―〔εD/(RTTbase_n+D)〕}×{cwnd_n(#i)―〔δ(RTTbase_n+D)/D〕} (11)式
ここで、a=1―{εD/(RTTbase_n+D)}、b=δ(RTTbase_n+D)/Dとおくと、(12)式が得られる。
cwnd_n(#i+2)―b=a(cwnd_n(#i)―b) (12)式
cwnd_n (# i + 2)-{δ (RTTbase_n + D) / D}
= {1- [εD / (RTTbase_n + D)]} × {cwnd_n (#i)-[δ (RTTbase_n + D) / D]} (11) where a = 1− {εD / (RTTbase_n + D)}, b = When δ (RTTbase_n + D) / D is set, equation (12) is obtained.
cwnd_n (# i + 2) −b = a (cwnd_n (#i) −b) (12)
キューイング遅延時間Dが大きく変動しない場合、a、bは大きく変動しない。又、(10)式より、|a|<1である。そのため、時間の経過と共に、cwnd_n(#i+2)は、bに近づいていく。よって、以下に示す(13)式が得られる。
cwnd_n(#i+2)→δ(RTTbase_n+D)/D
D×cwnd_n(#i+2)/(RTTbase+D)=Queued_packet(#i)→δ (13)式
When the queuing delay time D does not vary greatly, a and b do not vary greatly. Further, from the formula (10), | a | <1. Therefore, as time passes, cwnd_n (# i + 2) approaches b. Therefore, the following expression (13) is obtained.
cwnd_n (# i + 2) → δ (RTTbase_n + D) / D
D × cwnd_n (# i + 2) / (RTTbase + D) = Queued_packet (#i) → δ (13)
このように蓄積パケット量Queued_packet(#i)がδに近づいていく。よって、送信端末10は、(4)式〜(6)式、又は、(7)式及び(8)式を用いてウィンドウサイズの変動量およびウィンドウサイズを決定することにより、蓄積パケット量が一定値に収束せずに発散してしまうことを防止できる。そのため、送信端末10は、ネットワーク40が、蓄積パケット量が発散しない安定な範囲内でウィンドウサイズを制御できる。
Thus, the accumulated packet amount Queued_packet (#i) approaches δ. Therefore, the
又、(3)式を用いて蓄積パケット量を計算することにより、以下に示すように、パケット量計算部16は、蓄積パケット量として、送信端末10がボトルネックのルータ30aに蓄積させているパケット量を計算できる。キューイング遅延時間Dが発生すると、(14)式に示すようにRTTが増大する。
RTT=RTTbase+D (14)式
このようにキューイング遅延時間Dは、RTTの変動から測定できる。(3)式に(14)式を代入する。このとき、送信端末10のデータパケットの送信速度を「T」とする。T=cwnd(#i)/RTT_ave(#i)である。
Further, by calculating the accumulated packet amount using the expression (3), as shown below, the packet
RTT = RTTbase + D (14) Thus, the queuing delay time D can be measured from the variation of the RTT. Substitute equation (14) into equation (3). At this time, the transmission rate of the data packet of the
Queued_packet(#i)
=(cwnd(#i)/RTT_ave(#i))×(RTT_ave(#i)―RTTbase)
={(cwnd(#i)/RTTbase)―(cwnd(#i)/(RTT_ave(#i))}×RTTbase
={(cwnd(#i)/RTTbase)―〔cwnd(#i)/(RTTbase+D)〕}×RTTbase
=(cwnd(#i)/RTT_ave(#i))×D
=T×D (15)式
Queued_packet (#i)
= (Cwnd (#i) / RTT_ave (#i)) × (RTT_ave (#i) −RTTbase)
= {(Cwnd (#i) / RTTbase) − (cwnd (#i) / (RTT_ave (#i))} × RTTbase
= {(Cwnd (#i) / RTTbase)-[cwnd (#i) / (RTTbase + D)]} × RTTbase
= (Cwnd (#i) / RTT_ave (#i)) × D
= T × D (15) Formula
キューイング遅延時間Dは、送信端末10以外の端末装置が送信したデータパケットも含めた全てのトラフィック量によって決まる。しかし、TCPコネクションを確立した送信端末10は、送信速度Tでデータパケットを常に送信する。そのため、送信端末10からの全てのデータパケットがキューイング遅延時間Dの間、送信バッファ31に蓄積され、待ち行列に入ってから、送信されると考えられる。よって、結局、T×Dで示されるQueued_packet(#i)は、送信端末10が送信バッファ31に蓄積させている蓄積パケット量に相当する。
The queuing delay time D is determined by the amount of all traffic including data packets transmitted by terminal devices other than the transmitting
そして、送信制御部12は、Round(#i+2)になると、ウィンドウサイズ制御部17が決定したcwnd(#i+2)に従って、データパケットを受信端末20に送信する。その後、同様にして、パケット量計算部16、ウィンドウサイズ制御部17は、蓄積パケット量Queued_packet(#i+1)を計算し、cwnd(#i+3)を決定する。以降、パケット量計算部16、ウィンドウサイズ制御部17は、蓄積パケット量Queued_packet(#i+2)を計算し、cwnd(#i+4)を決定するというように、2つ前の周期制御における蓄積パケット量を用いて、ウィンドウサイズの変更量及びウィンドウサイズを決定する。
When the
尚、ウィンドウサイズ制御部17は、ボトルネックとなっているルータ30aの送信バッファ31の蓄積パケット量が、1〜3パケットに維持できるようにcwndを制御することが好ましい。又、送信制御部12は、ウィンドウサイズ制御部17からウィンドウサイズの変更量を取得した場合には、(6)式を用いてウィンドウサイズを決定できる。
Note that the window
このような送信端末10は、コンピュータに、コンピュータを、ネットワークのトラフィック状況を取得する取得手段と、トラフィック状況に基づいて、ウィンドウサイズの変更量を決定するウィンドウサイズ制御手段と、ウィンドウサイズの変更量に基づいて、データパケットの送信を制御する送信制御手段として機能させるためのプログラムを実行させることにより実現できる。このようなプログラムは記録媒体に格納しておき、コンピュータが記録媒体から読み出して実行する。
Such a
次に、通信システム100を用いた通信方法について説明する。図6に示すように、Round(#i)において、送信端末10は、cwnd(#i)でデータパケットを送信する(S101)。このとき、送信端末10は、各データパケットの送信時刻を記録する(S102)。Round(#i+1)になると、送信端末10は、cwnd(#i+1)でデータパケットを送信する(S103)。更に、送信端末10は、Round(#i)において送信したデータパケットのAckを受信する。そして、送信端末10は、Round(#i)において送信した各データパケットのRTTを、ステップ(S102)で記録した送信時刻を用いて計算する(S104)。
Next, a communication method using the communication system 100 will be described. As shown in FIG. 6, in Round (#i), the
送信端末10は、Round(#i)において送信したデータパケットのAckを全て受信すると、Round(#i)におけるRTTの平均値、RTT_ave(#i)を計算する(S105)。そして、送信端末10は、RTT_ave(#i)を用いて、Round(#i)における蓄積パケット量Queued_packet(#i)を計算する(S106)。更に、送信端末10は、蓄積パケット量Queued_packet(#i)を用いて、Round(#i+2)におけるcwnd(#i+2)を計算し、ウィンドウサイズの変更量に基づくウィンドウサイズを決定する(S107)。そして、送信端末10は、Round(#i+2)になると、cwnd(#i+2)でデータパケットを送信する(S108)。
When the transmitting
このような通信システム100、送信端末10、送信端末10を実現するプログラム及び通信方法によれば、ネットワーク40のトラフィック状況を取得し、取得したトラフィック状況に応じてウィンドウサイズの変更量を動的に変更できる。そして、通信システム100、送信端末10は、動的に変更されたウィンドウサイズの変更量に基づいて動的に変更されたウィンドウサイズを用いて、データパケットを送信できる。しかも、通信システム100、送信端末10は、蓄積パケット量を用いて変更量を計算することにより、容易に適切なウィンドウサイズの変更量を決定できる。そのため、通信システム100、通信装置10は、ネットワーク40のトラフィック状況の変化に、適切に追従してデータパケットを送信できる。
According to the communication system 100, the
より具体的には、通信システム100、通信装置10は、1RTTの長さを持つ制御周期(Round)毎のcwndの増減量を、トラフィック状況に合わせて動的に変更できる。そのため、通信システム100、通信装置10は、トラフィック状況の変化に対する追従性を向上できる。よって、通信システム100、通信装置10は、輻輳が発生した場合には速やかに輻輳を緩和し、ネットワークの通信帯域に空きが生じた場合には、速やかに空いた通信帯域を有効に利用できる。
More specifically, the communication system 100 and the
尚、本発明は上記実施形態に限定されるものではなく、種々の変更が可能である。例えば、通信装置として、ウィンドウサイズを制御する制御装置を通信システムに設けてもよい。そして、制御装置が、ネットワーク40のトラフィック状況を取得して、ウィンドウサイズの変更量やそれに基づくウィンドウサイズを決定し、各送信端末に通知することにより、データパケットの送信を制御してもよい。又、例えば、パケット量計算部16、ウィンドウサイズ制御部17、送信制御部12が、別々の通信装置に設けられてもよい。
In addition, this invention is not limited to the said embodiment, A various change is possible. For example, a control device that controls the window size may be provided in the communication system as the communication device. Then, the control device may control the transmission of the data packet by acquiring the traffic status of the network 40, determining the change amount of the window size and the window size based thereon, and notifying each transmitting terminal. For example, the packet
100 通信システム
10,210 送信端末
11 送信バッファ
12 送信制御部
13 通信インタフェース
14 送信記録テーブル
15 時計部
16 パケット量計算部
17 ウィンドウサイズ制御部
20 受信端末
30a,30b,230 ルータ
31,231 送信バッファ
40 ネットワーク
DESCRIPTION OF SYMBOLS 100 Communication system 10,210
Claims (7)
前記ルータに蓄積されているデータパケットの蓄積パケット量を計算するトラフィック状況計算手段と、
前記トラフィック状況計算手段により計算された前記蓄積パケット量に基づいて前記ネットワークに向けて送信するデータパケットの前記送信単位であるウィンドウサイズを決定するウィンドウサイズ制御手段と、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズに基づいてデータパケットの送信を制御する送信制御手段と
を備え、
前記トラフィック状況計算手段は、
前記ネットワークに向けて送信された前記データパケットが前記受信端末で受信されたことを示す応答信号を受信する毎に、前記応答信号の受信時刻と、前記応答信号に該当するデータパケットの送信時刻とから、前記データパケットのラウンドトリップタイムを計算する蓄積パケット量計算手段を有し、
前記送信制御手段により一の送信単位に続く二の送信単位のデータパケットが送信されている間に、前記一の送信単位において送信したデータパケットに対する前記応答信号を前記ネットワークから受け取り、
受け取った前記応答信号から前記ルータに蓄積されている前記一の送信単位に含まれるデータパケットの蓄積パケット量を、輻輳が無い場合のデータパケットのラウンドトリップタイムに対する実測のラウンドトリップタイムの平均値の比の値と、現在のウィンドウサイズとの積として計算し、
前記ウィンドウサイズ制御手段は、
所定の閾値と、前記トラフィック状況計算手段によって計算された前記蓄積パケット量との差に基づいて前記ウィンドウサイズの変化量を決定し、現在のウィンドウサイズと前記変化量とに基づいて、次にデータパケットを送信する際のウィンドウサイズを決定し、
前記送信制御手段は、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズで前記二の送信単位に続く三の送信単位のデータパケットを送信する
ことを特徴とする通信システム。 A communication system in which a transmission terminal, a router, and a reception terminal are connected to each other via a network, and a data packet transmitted from the transmission terminal in a predetermined transmission unit is transferred to the reception terminal by the router. And
Traffic status calculation means for calculating the amount of data packets stored in the router;
Window size control means for determining a window size that is the transmission unit of data packets to be transmitted to the network based on the accumulated packet amount calculated by the traffic status calculation means;
Transmission control means for controlling transmission of data packets based on the window size determined by the window size control means,
The traffic condition calculation means includes:
Each time a response signal indicating that the data packet transmitted to the network is received by the receiving terminal is received, a reception time of the response signal, a transmission time of a data packet corresponding to the response signal, and From the above, it has an accumulated packet amount calculation means for calculating a round trip time of the data packet,
While the data packet of the second transmission unit following the one transmission unit is being transmitted by the transmission control means, the response signal for the data packet transmitted in the one transmission unit is received from the network,
From the received response signal, the accumulated amount of data packets included in the one transmission unit accumulated in the router is expressed as an average value of actually measured round trip times with respect to the round trip time of the data packets when there is no congestion. Calculate as the product of the ratio value and the current window size,
The window size control means includes:
A change amount of the window size is determined based on a difference between a predetermined threshold value and the accumulated packet amount calculated by the traffic condition calculation means, and then the data is determined based on the current window size and the change amount. Determine the window size when sending packets,
The transmission control means includes
A communication system, wherein data packets of three transmission units following the second transmission unit are transmitted with the window size determined by the window size control means.
前記ルータに蓄積されているデータパケットの蓄積パケット量を計算するトラフィック状況計算手段と、
前記トラフィック状況計算手段により計算された前記蓄積パケット量に基づいて前記ネットワークに向けて送信するデータパケットの前記送信単位であるウィンドウサイズを決定するウィンドウサイズ制御手段と、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズに基づいてデータパケットの送信を制御する送信制御手段と
を備え、
前記トラフィック状況計算手段は、
前記ネットワークに向けて送信された前記データパケットが前記受信端末で受信されたことを示す応答信号を受信する毎に、前記応答信号の受信時刻と、前記応答信号に該当するデータパケットの送信時刻とから、前記データパケットのラウンドトリップタイムを計算する蓄積パケット量計算手段を有し、
前記送信制御手段により一の送信単位に続く二の送信単位のデータパケットが送信されている間に、前記一の送信単位において送信したデータパケットに対する前記応答信号を前記ネットワークから受け取り、
受け取った前記応答信号から前記ルータに蓄積されている前記一の送信単位に含まれるデータパケットの蓄積パケット量を、輻輳が無い場合のデータパケットのラウンドトリップタイムに対する実測のラウンドトリップタイムの平均値の比の値と、現在のウィンドウサイズとの積として計算し、
前記ウィンドウサイズ制御手段は、
所定の閾値と、前記トラフィック状況計算手段によって計算された前記蓄積パケット量との差に基づいて前記ウィンドウサイズの変化量を決定し、現在のウィンドウサイズと前記変化量とに基づいて、次にデータパケットを送信する際のウィンドウサイズを決定し、
前記送信制御手段は、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズで前記二の送信単位に続く三の送信単位のデータパケットを送信する
ことを特徴とする通信装置。 A communication device that is connected to each other via a network, transmits a data packet in a predetermined transmission unit to another terminal via a router connected to the network, or receives the data packet from the network,
Traffic status calculation means for calculating the amount of data packets stored in the router;
Window size control means for determining a window size that is the transmission unit of data packets to be transmitted to the network based on the accumulated packet amount calculated by the traffic status calculation means;
Transmission control means for controlling transmission of data packets based on the window size determined by the window size control means,
The traffic condition calculation means includes:
Each time a response signal indicating that the data packet transmitted to the network is received by the receiving terminal is received, a reception time of the response signal, a transmission time of a data packet corresponding to the response signal, and From the above, it has an accumulated packet amount calculation means for calculating a round trip time of the data packet,
While the data packet of the second transmission unit following the one transmission unit is being transmitted by the transmission control means, the response signal for the data packet transmitted in the one transmission unit is received from the network,
From the received response signal, the accumulated amount of data packets included in the one transmission unit accumulated in the router is expressed as an average value of actually measured round trip times with respect to the round trip time of the data packets when there is no congestion. Calculate as the product of the ratio value and the current window size,
The window size control means includes:
A change amount of the window size is determined based on a difference between a predetermined threshold value and the accumulated packet amount calculated by the traffic condition calculation means, and then the data is determined based on the current window size and the change amount. Determine the window size when sending packets,
The transmission control means includes
The communication apparatus transmits a data packet of three transmission units following the second transmission unit with the window size determined by the window size control means.
前記ルータに蓄積されているデータパケットの蓄積パケット量を計算するトラフィック状況計算手段と、
前記トラフィック状況計算手段により計算された前記蓄積パケット量に基づいて前記ネットワークに向けて送信するデータパケットの前記送信単位であるウィンドウサイズを決定するウィンドウサイズ制御手段と、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズに基づいてデータパケットの送信を制御する送信制御手段と
を備え、
前記トラフィック状況計算手段は、
前記ネットワークに向けて送信された前記データパケットが前記受信端末で受信されたことを示す応答信号を受信する毎に、前記応答信号の受信時刻と、前記応答信号に該当するデータパケットの送信時刻とから、前記データパケットのラウンドトリップタイムを計算する蓄積パケット量計算手段を有し、
前記送信制御手段により一の送信単位に続く二の送信単位のデータパケットが送信されている間に、前記一の送信単位において送信したデータパケットに対する前記応答信号を前記ネットワークから受け取り、
受け取った前記応答信号から前記ルータに蓄積されている前記一の送信単位に含まれるデータパケットの蓄積パケット量を、輻輳が無い場合のデータパケットのラウンドトリップタイムに対する実測のラウンドトリップタイムの平均値の比の値と、現在のウィンドウサイズとの積として計算し、
前記ウィンドウサイズ制御手段は、
所定の閾値と、前記トラフィック状況計算手段によって計算された前記蓄積パケット量との差に基づいて前記ウィンドウサイズの変化量を決定し、現在のウィンドウサイズと前記変化量とに基づいて、次にデータパケットを送信する際のウィンドウサイズを決定し、
前記送信制御手段は、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズで前記二の送信単位に続く三の送信単位のデータパケットを送信する
ことを特徴とするプログラム。 A program that causes a computer to function as a communication device that transmits a data packet in a predetermined transmission unit to another terminal via a router connected to the network or receives the data packet from the network,
Traffic status calculation means for calculating the amount of data packets stored in the router;
Window size control means for determining a window size that is the transmission unit of data packets to be transmitted to the network based on the accumulated packet amount calculated by the traffic status calculation means;
Transmission control means for controlling transmission of data packets based on the window size determined by the window size control means,
The traffic condition calculation means includes:
Each time a response signal indicating that the data packet transmitted to the network is received by the receiving terminal is received, a reception time of the response signal, a transmission time of a data packet corresponding to the response signal, and From the above, it has an accumulated packet amount calculation means for calculating a round trip time of the data packet,
While the data packet of the second transmission unit following the one transmission unit is being transmitted by the transmission control means, the response signal for the data packet transmitted in the one transmission unit is received from the network,
From the received response signal, the accumulated amount of data packets included in the one transmission unit accumulated in the router is expressed as an average value of actually measured round trip times with respect to the round trip time of the data packets when there is no congestion. Calculate as the product of the ratio value and the current window size,
The window size control means includes:
A change amount of the window size is determined based on a difference between a predetermined threshold value and the accumulated packet amount calculated by the traffic condition calculation means, and then the data is determined based on the current window size and the change amount. Determine the window size when sending packets,
The transmission control means includes
A program that transmits data packets of three transmission units following the second transmission unit with the window size determined by the window size control means.
前記ルータに蓄積されているデータパケットの蓄積パケット量を計算するトラフィック状況計算工程と、
前記トラフィック状況計算工程で計算された前記蓄積パケット量に基づいて前記ネットワークに向けて送信するデータパケットの前記送信単位であるウィンドウサイズを決定するウィンドウサイズ制御工程と、
前記ウィンドウサイズ制御工程で決定された前記ウィンドウサイズに基づいてデータパケットの送信を制御する送信制御工程と
を有し、
前記トラフィック状況計算工程は、
前記ネットワークに向けて送信された前記データパケットが前記受信端末で受信されたことを示す応答信号を受信する毎に、前記応答信号の受信時刻と、前記応答信号に該当するデータパケットの送信時刻とから、前記データパケットのラウンドトリップタイムを計算する蓄積パケット量計算工程を有し、
前記送信制御工程により一の送信単位に続く二の送信単位のデータパケットが送信されている間に、前記一の送信単位において送信したデータパケットに対する前記応答信号を前記ネットワークから受け取り、
受け取った前記応答信号から前記ルータに蓄積されている前記一の送信単位に含まれるデータパケットの蓄積パケット量を、輻輳が無い場合のデータパケットのラウンドトリップタイムに対する実測のラウンドトリップタイムの平均値の比の値と、現在のウィンドウサイズとの積として計算し、
前記ウィンドウサイズ制御工程は、
所定の閾値と、前記トラフィック状況計算工程によって計算された前記蓄積パケット量との差に基づいて前記ウィンドウサイズの変化量を決定し、現在のウィンドウサイズと前記変化量とに基づいて、次にデータパケットを送信する際のウィンドウサイズを決定し、
前記送信制御工程は、
前記ウィンドウサイズ制御工程により決定された前記ウィンドウサイズで前記二の送信単位に続く三の送信単位のデータパケットを送信する
ことを特徴とする通信方法。 In a communication system in which a transmitting terminal, a router, and a receiving terminal are connected to each other via a network, a communication method for transferring a data packet transmitted by the transmitting terminal in a predetermined transmission unit to the receiving terminal by the router There,
A traffic status calculation step of calculating the amount of stored data packets stored in the router;
A window size control step of determining a window size that is the transmission unit of the data packet to be transmitted to the network based on the accumulated packet amount calculated in the traffic situation calculation step;
A transmission control step for controlling transmission of data packets based on the window size determined in the window size control step, and
The traffic situation calculation step includes:
Each time a response signal indicating that the data packet transmitted to the network is received by the receiving terminal is received, a reception time of the response signal, a transmission time of a data packet corresponding to the response signal, and From the accumulated packet amount calculation step of calculating the round trip time of the data packet,
While the data packet of two transmission units following one transmission unit is being transmitted by the transmission control step, the response signal for the data packet transmitted in the one transmission unit is received from the network,
From the received response signal, the accumulated amount of data packets included in the one transmission unit accumulated in the router is expressed as an average value of actually measured round trip times with respect to the round trip time of the data packets when there is no congestion. Calculate as the product of the ratio value and the current window size,
The window size control step includes:
A change amount of the window size is determined based on a difference between a predetermined threshold value and the accumulated packet amount calculated by the traffic situation calculation step, and then data is determined based on the current window size and the change amount. Determine the window size when sending packets,
The transmission control step includes
A communication method of transmitting data packets of three transmission units following the second transmission unit with the window size determined by the window size control step.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004026127A JP4249049B2 (en) | 2004-02-02 | 2004-02-02 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004026127A JP4249049B2 (en) | 2004-02-02 | 2004-02-02 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005218069A JP2005218069A (en) | 2005-08-11 |
| JP4249049B2 true JP4249049B2 (en) | 2009-04-02 |
Family
ID=34908285
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004026127A Expired - Fee Related JP4249049B2 (en) | 2004-02-02 | 2004-02-02 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4249049B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101480059B1 (en) * | 2009-04-07 | 2015-01-13 | 에스케이 텔레콤주식회사 | Data packet transmission method and system therefor, service box device and access box device |
| JP5521559B2 (en) * | 2010-01-07 | 2014-06-18 | 日本電気株式会社 | Parallel computing network device and control method thereof |
| JP6464911B2 (en) * | 2015-05-01 | 2019-02-06 | 富士通株式会社 | Information processing system, information processing system control method, and receiving apparatus |
-
2004
- 2004-02-02 JP JP2004026127A patent/JP4249049B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2005218069A (en) | 2005-08-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7869365B2 (en) | System and program storage device for controlling data packet flows by manipulating data packets according to an actual manipulation rate | |
| US9112799B2 (en) | Network packet loss processing method and apparatus | |
| JP4632874B2 (en) | Communication terminal | |
| EP1393508B1 (en) | Data transport acceleration and management within a network communication system | |
| US7839859B2 (en) | Voice adaptive gateway pacing methods and systems for wireless multi-hop networks | |
| US7760633B2 (en) | Transmission control protocol (TCP) congestion control using transmission delay components | |
| CN110808884B (en) | Network congestion control method | |
| US20040246895A1 (en) | Bandwidth-limited supervisory packet transmission to control congestion and call establishment in packet-based networks | |
| US8995268B2 (en) | Method for controlling a flow in a packet switching network | |
| JP2004253934A (en) | Radio communication system, server, base station, mobile terminal, and retransmit time out determining method therefor | |
| EP2538630B1 (en) | High-speed communication system and high-speed communication method | |
| Li et al. | Buffer sizing for 802.11-based networks | |
| US9510354B2 (en) | Method and a device for low intrusive fast estimation of the bandwidth available between two IP nodes | |
| Chatranon et al. | A survey of TCP-friendly router-based AQM schemes | |
| CN101816153A (en) | Improved utilization of data links | |
| JP2006157918A (en) | High-throughput communications system, communications terminal, session relay device, and communication protocol | |
| Briscoe et al. | Scaling tcp's congestion window for small round trip times | |
| CN1914872B (en) | Session relay device, session relay method | |
| JP4249049B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD | |
| JP2009105662A (en) | Multi-hop communication system, multi-hop communication method, terminal device and repeating device | |
| JP2008236709A (en) | Communication quality control method, communication quality control apparatus, communication system, and program | |
| JP2005184494A (en) | Data communication management method | |
| Dukkipati | Rcp: Congestion control to make flows complete quickly | |
| JP2004056328A (en) | Router, router dynamic quality control method, program, and recording medium | |
| JP7687449B2 (en) | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060424 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070828 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071029 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080311 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080512 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080729 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080929 |
|
| 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: 20081216 |
|
| 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: 20090114 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120123 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: 20120123 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130123 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130123 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140123 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |