JP2010206608A - Transmission apparatus, transmission rate calculation method and transmission rate calculation program - Google Patents
Transmission apparatus, transmission rate calculation method and transmission rate calculation program Download PDFInfo
- Publication number
- JP2010206608A JP2010206608A JP2009050739A JP2009050739A JP2010206608A JP 2010206608 A JP2010206608 A JP 2010206608A JP 2009050739 A JP2009050739 A JP 2009050739A JP 2009050739 A JP2009050739 A JP 2009050739A JP 2010206608 A JP2010206608 A JP 2010206608A
- Authority
- JP
- Japan
- Prior art keywords
- transmission rate
- transmission
- change
- acknowledgment signal
- ack
- 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.)
- Granted
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は送信装置、送信レート算出方法及び送信レート算出プログラムに関し、特に確認応答信号を用いた送信レートの設定に関する。 The present invention relates to a transmission apparatus, a transmission rate calculation method, and a transmission rate calculation program, and more particularly to setting of a transmission rate using an acknowledgment signal.
送受信端末間で、データパケットの送達確認を行いながら送信レート制御を行って通信するプロトコルとしてTCP(Transmission Control Protocol)が挙げられる。TCPのレート制御方法は、受信端末からのACK(Acknowledgement)パケットを送信端末が受信するが、送信端末はACKパケットの受信を待たずに送出可能なデータパケット量を制御する。送信が成功すれば送出量を増加させ、失敗すると送出量を減少させる。 TCP (Transmission Control Protocol) is an example of a protocol for performing transmission rate control while performing transmission confirmation of data packets between transmission and reception terminals. In the TCP rate control method, the transmitting terminal receives an ACK (Acknowledgement) packet from the receiving terminal. The transmitting terminal controls the amount of data packet that can be transmitted without waiting for the reception of the ACK packet. If the transmission is successful, the transmission amount is increased, and if the transmission is unsuccessful, the transmission amount is decreased.
非特許文献1に記載されているTCPの制御について図12、図13を用いて説明する。図12はTCP通信を行う送信端末100、受信端末200の構成図である。
TCP control described in
最初に、送信端末100について説明する。データ送信部101は、送信データ蓄積部104からデータを取り出して、送信レート決定部103から通知される送信レートでデータパケットを送信する。ACK受信部102は、受信端末200からACKパケットを受信して、受信端末200におけるパケットロスを検出すると、データ送信部101へ再送を要求する。また、送信レート決定部103に対して、データパケットの送信に成功したかどうか通知する。
First, the
送信レート決定部103は、ACKパケットを受信し、ACKパケットに含まれるACK番号が進んでデータパケットの送信に成功したことがわかると、送出量を増加させる。増加させる方法としては、図13に示すように現在の送出量が予め定めたssthresh(slow start threshold)よりも小さい場合、ACKパケット受信毎に送信レートを2倍にする。現在の送出量がssthreshよりも大きい場合は、ACKパケット受信毎に1/(現在の送出レート)分増加させる。
The transmission
また、同じACK番号のACKパケットを重複して受信した場合には、受信端末200においてパケットロスしたと判断して、送出量を半減させる。一定時間ACKパケットを受け取らない場合は、送出量を1データパケットまで減少させる。送信データ蓄積部104は、送信するデータを蓄積している。
Further, when ACK packets with the same ACK number are received repeatedly, it is determined that the
次に、受信端末200の説明をする。データ受信部201は、送信端末100からのデータを受信して、ACK送信部202へ受信で進んだシーケンス番号を通知し、データを受信データ蓄積部204へ蓄積する。ACK送信部202は、ACK頻度決定部203から通知される頻度で、データ受信部201から通知されるシーケンス番号から次に受信を期待するシーケンス番号をACK番号としてACKパケットを作成し、返信する。ACK頻度決定部203は、データパケットX(Xは1以上の整数)個受信毎にACKパケットの返信および一定時間経過すればACKパケットの返信をACK送信部201へ指示する。TCPでは、X=2が推奨されている。
Next, the
ACKパケットの頻度を決めるXが大きな値をとる場合や、一定時間が大きくなる場合、ACKパケットの頻度が減少し、送信レート制御の粒度が粗くなり、ネットワークの込み具合の変化に応じた送信レート制御が困難になる。 When X that determines the frequency of ACK packets takes a large value, or when a certain period of time increases, the frequency of ACK packets decreases, the granularity of transmission rate control becomes coarse, and the transmission rate according to changes in network congestion Control becomes difficult.
具体的に図14を用いて説明する。図14は、ACKの頻度が減少したときのレートの変化を表したものである。丸印のプロットは、データパケット受信毎にACKパケットを返信した場合の送信レートの変化を表し、四角印のプロットは、データパケット3個受信毎にACKパケットを返信した場合の送信レートの変化表している。図14に示したように、データパケット3個受信毎にACKパケットを返信した場合は、ネットワークの輻輳に反応してレート減少させるタイミングが遅れるという問題や、送信レートの増加が鈍化するという問題がある。 This will be specifically described with reference to FIG. FIG. 14 shows a change in rate when the frequency of ACK decreases. A circled plot represents a change in transmission rate when an ACK packet is returned every time a data packet is received, and a square mark plot represents a change in transmission rate when an ACK packet is returned every 3 data packets are received. ing. As shown in FIG. 14, when an ACK packet is returned every time three data packets are received, there is a problem that the timing of rate reduction is delayed in response to network congestion, and a problem that the increase in transmission rate is slowed down. is there.
本発明は、このような問題点を解決するためになされたものであり、ACKの頻度が減少しても、ネットワークの輻輳状態に応じた送信レートを決定するができる送信装置、送信レート算出方法及び送信レート算出プログラムを提供することを目的とする。 The present invention has been made to solve such problems, and a transmission apparatus and a transmission rate calculation method capable of determining a transmission rate according to a congestion state of a network even if the frequency of ACKs is reduced. An object of the present invention is to provide a transmission rate calculation program.
本発明の第1の態様にかかる送信装置は、M個(Mは2以上の整数)のデータパケット受信毎に確認応答信号を送信する受信装置から前記確認応答信号を受信して送信レート制御を行う送信装置であって、前記確認応答信号受信時に、前記確認応答信号が前記受信装置からN個(NはMよりも小さい整数)のデータパケット受信毎に返信された場合の送信レート変化を推定する送信レート変化推定部と、前記送信レート変化推定部によって推定された送信レート変化に基づいて送信レートを計算する送信レート計算部を備えたものである。 The transmitting apparatus according to the first aspect of the present invention receives the acknowledgment signal from a receiving apparatus that transmits the acknowledgment signal every time M (M is an integer of 2 or more) data packets are received, and performs transmission rate control. A transmission apparatus that performs transmission, and estimates a change in transmission rate when the acknowledgment signal is returned for each reception of N (N is an integer smaller than M) data packets when the acknowledgment signal is received. And a transmission rate calculation unit that calculates a transmission rate based on the transmission rate change estimated by the transmission rate change estimation unit.
また、本発明の第2の態様にかかる送信レート算出方法は、M個(Mは2以上の整数)のデータパケット受信毎に生成される確認応答信号に基づいて、送信レートの算出を行う送信レート算出方法であって、前記確認応答信号がN個(NはMよりも小さい整数)のデータパケット受信毎に生成された場合に当該確認応答信号に基づいて送信レート変化を推定するステップと、前記推定された送信レート変化に基づいて送信レートを計算するステップを備えることである。 The transmission rate calculation method according to the second aspect of the present invention is a transmission rate calculation based on an acknowledgment signal generated every time M (M is an integer of 2 or more) data packets are received. A rate calculation method, wherein when the acknowledgment signal is generated every N data packets (N is an integer smaller than M), a transmission rate change is estimated based on the acknowledgment signal; Calculating a transmission rate based on the estimated transmission rate change.
また、本発明の第3の態様にかかる送信レート算出プログラムは、M個(Mは2以上の整数)のデータパケット受信毎に生成される確認応答信号に基づいて、送信レートの算出を行う送信レート算出プログラムであって、前記確認応答信号がN個(NはMよりも小さい整数)のデータパケット受信毎に生成された場合に当該確認応答信号に基づいて送信レート変化を推定するステップと、前記推定された送信レート変化に基づいて送信レートを計算するステップを送信装置の制御コンピュータに実行させるものである。 The transmission rate calculation program according to the third aspect of the present invention is a transmission that calculates a transmission rate based on an acknowledgment signal generated every time M (M is an integer of 2 or more) data packets are received. A rate calculation program for estimating a change in transmission rate based on the acknowledgment signal when the acknowledgment signal is generated every N (N is an integer smaller than M) data packets; The step of calculating a transmission rate based on the estimated transmission rate change is executed by a control computer of the transmission apparatus.
本発明により、ACKの頻度が減少しても、ネットワークの輻輳状態に応じた送信レートを決定するができる送信装置、送信レート算出方法及び送信レート算出プログラムを提供することができる。 According to the present invention, it is possible to provide a transmission apparatus, a transmission rate calculation method, and a transmission rate calculation program that can determine a transmission rate according to the congestion state of the network even if the frequency of ACKs decreases.
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1は本発明の実施の形態1にかかる送信装置の構成図である。ここで、送信装置10は、受信装置20に対して送信したデータパケットの送達結果を確認するために、受信装置20から確認応答信号(ACKパケット)を受信する。受信装置20は、M個(Mは2以上の整数)のデータパケットを受信する毎に確認応答信号を送信装置10に送信する。送信装置10は、受信した確認応答信号に基づいて、送信レート制御を実施する。送信装置10は、送信レート変化推定部11と、送信レート計算部12を備えている。
(Embodiment 1)
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a configuration diagram of a transmission apparatus according to
送信レート変化推定部11は、受信装置20からの確認応答信号受信時に、確認応答信号が受信装置20からN個(NはMよりも小さい整数)のデータパケットを受信する毎に返信された場合の送信レートの変化を推定する。具体的には、受信装置20がデータパケットの受信に成功した場合は、送信レートを増加させ、受信装置20がデータパケットの受信に失敗した場合は、送信レートを減少させるとした場合の送信レート変化を推定する。受信装置20がデータパケットの受信に成功したか否かの情報は、送信装置10が受信装置20から受信する確認信号に基づいて確認することができる。
When the transmission rate
送信レート計算部12は、送信レート変化推定部11によって推定された送信レート変化に基づいて送信レートを計算する。
The transmission
次に、図2を用いて本発明の実施の形態1にかかる送信装置と受信装置の構成について詳細に説明する。送信装置10は、パケットを一意に識別するシーケンス番号を含んだデータパケットを送信し、受信装置20は、TCP SACK(Selective ACK)オプションを用いて、ACK番号として次に受信を期待するシーケンス番号を設定し、また、受信したデータパケットのシーケンス番号を含んだACKパケットを送信装置10へ返信する。
Next, the configuration of the transmission apparatus and the reception apparatus according to the first embodiment of the present invention will be described in detail with reference to FIG. The transmitting
送信装置10は、送信レート変化推定部11と、送信レート計算部12と、データ送信部13と、ACK受信部14と、RTT(Round Trip Time)計測部15と、送信データ蓄積部16を備えている。
The
データ送信部13は、送信データ蓄積部16からデータを取得し、取得したデータをパケット化する。そして、送信レート計算部12から通知される送信レートに従ってパケットを送信する。また、データパケットを送信したときにRTT計測部15に送信時刻を通知する。
The
ACK受信部14は、ACKパケット受信時にRTT計測部15に受信時刻を通知する。さらに、受信したACKパケットに含まれる情報からパケットロス発生を検出すると、データ送信部13に対して、パケットロスしたパケットの再送を指示する。パケットロスの判定は、同じACK番号のACKパケットを一定数以上受信するか、一定時間以上ACKパケットを受信しない場合である。パケットロス発生の検出方法は後に詳述する。また、ACK受信部14は、ACKパケットを送信レート変化推定部11へ通知する。
The
RTT計測部15は、データ送信部13からデータパケットの送信時刻、ACK受信部14からACKパケット受信時刻を取得する。これにより、データパケットを送信してから、当該データパケットに対するACKを受信するまでの時間を示すRTT値を計算する。これにより求められたRTT値を送信レート変化推定部11へ通知する。
The
送信レート変化推定部11は、ACK受信部14から通知されるACKパケットから、受信装置20がデータパケットを正常に受信したか否かの情報を取得する。さらに、RTT計測部15から取得するRTT値に基づいて、受信装置20がデータパケット受信毎にACKパケットが返信された場合に、変化する送信レートの変化を推定する。推定結果を送信レート計算部12へ通知する。
The transmission rate
次に、図3、図4、図5を用いて送信レート変化の推定方法について説明する。受信装置20が、データパケットを受信するたびにACKパケットを返信し、送信装置10がACKパケットを受信した場合の送信レートの変化を推定する。
Next, a method for estimating a change in transmission rate will be described with reference to FIGS. The receiving
図3は、データパケットとACKパケットの送信の様子を示しており、送信装置10は、データパケットのサイズ100Byteでシーケンス番号100から2400までのデータパケットを送信している(実線の矢印)。例えば、送信装置10から送信するデータパケット100は、シーケンス番号100から199までのデータより構成される。図3は、データパケット600、700、800、1900をロスしている様子を示している。
FIG. 3 shows how data packets and ACK packets are transmitted. The transmitting
受信装置20は、送信装置10から20個のデータパケットを受信して、図4に示すACKパケットを送信装置10へ返信する(図3の受信装置20から送信装置10へ向かう実線の矢印)。具体的には、データパケット2400を取得した時点で、データパケットが20個に達するため、ACKパケットを返信する。受信装置20が連続して受信できている最新のシーケンス番号が599までなので、ACKパケットのACK番号は600と設定される。また、受信できているデータパケットのシーケンス番号として900〜1899、2000〜2499が含まれる。
The receiving
送信レート変化推定部11は、ACK受信部14から、ACKパケットを受信すると、送信レート計算部12から現在の送信レートを取得し、RTT計測部15からRTT値を取得する。さらに、ACKパケットに示されるシーケンス番号から、データパケット受信毎にACKが返信された場合の送信レートを推測する。図5は、受信装置20がデータパケットを1個受信する毎にACKを返信した場合の送信レートの変化を示している。ACKパケット受信の時点で送信レートは図5に示すようにrate_aで、送信レート閾値よりも大きい値とする。図4に示すACKパケットからシーケンス番号100から599までの5個のデータパケットが送信成功していることが分かるので、図5の送信レートrate_aから一定量で5回送信レートを増加させる。送信装置10の送信レート制御は、データ送信が成功すれば送信レートを増加させ、データ送信が失敗すれば、送信レートを減少させる。
When the transmission rate
送信レートの増加方法は、送信レートの閾値を設定して、閾値以下であれば、データ送信が成功したACKパケット受信毎に送信データレートを例えば2倍にし、指数関数的に増加させる。送信レートが閾値以上になると、データ送信が成功したACKパケット受信毎に一定量増加させ、線形的に増加させる。 The transmission rate is increased by setting a threshold for the transmission rate, and if it is equal to or less than the threshold, the transmission data rate is doubled, for example, every time an ACK packet for which data transmission has been successful is received, and exponentially increased. When the transmission rate is equal to or higher than the threshold value, the transmission rate is increased by a certain amount every time an ACK packet having been successfully transmitted is received, and is increased linearly.
ここで、送信装置10における受信装置20のパケットロス検出方法とレート制御について説明する。受信装置20が、データパケット受信毎にACKパケットを返信する場合のパケットロス検出方法は(1)同じACK番号のACKパケットを複数受信した場合(2)一定時間ACKパケットを受信しない場合(再送タイムアウトの検出)、の2通りある。送信レート制御は、(1)の場合、パケットロス検出の直前の送信レートを半分にし、(2)の場合、次のACKを受信するまでに少なくとも1個のデータパケットを送信できるレートまで下げる。再送タイムアウト時間は、RTT+4×(RTTの平均偏差)で求める。ここでは、同じACK番号のACKパケットを3つ受信するとロスしたと判断すると、送信装置10が、図3の(7)のACKパケットを受信すると、3回連続でACK番号600のACKパケットを受信することになる。これにより、シーケンス番号600番のデータパケットのロスが発生したと検知してシーケンス番号1300のデータパケット送信に割り込んで再送を実施する。この再送パケットのデータ送信が成功するまで、ACKパケット受信毎に送信レートを一定量増加させる(図5の区間A)。シーケンス番号600のデータパケットの再送成功は、ACK番号が700に設定されている図3の(10)のACKパケット受信により検知する。このとき送信レートを半減させる(図5のタイミングB)。このとき、送信レート閾値を、半減させた送信レート値に更新する。
Here, the packet loss detection method and rate control of the receiving
次に、図3の(12)のACKパケットを受信した時点で、3回連続でACK番号700のACKパケットを受信することになる。これにより、シーケンス番号700のデータパケットのロスが発生したと検知してシーケンス番号1800のデータ送信に割り込んで再送を実施する。図3の(14)のACKパケット受信までは、ACKパケット受信毎に一定量送信レートを増加させる(図5の区間C)。図3の(15)のACKパケットを受信により、シーケンス番号700番の再送が成功したと検知し、シーケンス番号2200の送信レートを半減させる(図5のタイミングD)。このとき、送信レート閾値を半減させた送信レート値に更新する。
Next, when the ACK packet (12) in FIG. 3 is received, the ACK packet with the
次に、シーケンス番号2200のデータパケット送信直前に、800番のACKパケットを一定時間受信しなかったため、再送タイムアウトが発生したとする。このとき、送信レートを次のACKパケットを受信するまで少なくとも1個のデータパケットが送出可能な送信レートまで低減させる(図5のタイミングE)。その後、図3の(19)のACKパケットを受信するまで送信レートを増加させる。送信レートは、送信レート閾値よりも小さいため、ACKパケット受信毎に送信レートを2倍する(図5の区間F)。
Next, it is assumed that the retransmission timeout occurred because the 800th ACK packet was not received for a certain period of time immediately before the data packet having the
前述のようにACKパケットの情報とRTTから、データパケット送信成功の場合は、送信レート閾値よりも大きいかどうかを判断して、送信レートの増加幅を推定する。データパケットロスの場合、再送タイムアウトが発生するかどうかをRTTから判断して減少幅を推定する。このようにして推定した送信レート変化の推定結果を送信レート計算部12へ通知する。
As described above, from the information of the ACK packet and the RTT, when the data packet transmission is successful, it is determined whether or not it is larger than the transmission rate threshold value, and the increase rate of the transmission rate is estimated. In the case of a data packet loss, it is judged from the RTT whether or not a retransmission timeout occurs, and the reduction width is estimated. The transmission
1データパケット毎にACKパケットが返信される場合の送信レート変化を推定することで、送信装置10は、単純にレートを増減させるのではなく、データパケットの送信成功および失敗からネットワークの輻輳状況に応じたレート制御を可能とさせる。つまり、ACKパケットの頻度は少ないにもかかわらず、制御粒度の細かいレート制御を実現することが可能となる。
By estimating the change in transmission rate when an ACK packet is returned for each data packet, the
送信レート計算部12は、送信レート変化推定部11から送信レート変化の推定情報を取得する。推定した送信レートの変化から、データパケット毎にACKパケットが返信された場合における、送信装置10がデータパケットを送信してから、ACKパケットを受信するまでの送信データ量を算出することができる。このようにして算出した送信データ量を、次のACKパケットが到着するまでに送出できる送信データ量として推定する。この送信データ量を、次のACKパケットが到着するまでに、送信できるよう、送信レートを設定する。設定したレートは、データ送信部13へ通知する。
The transmission
また、送信レートは、送信レート変化推定部11が推定した送信レートの平均送信レートを送信レートとしてもよく、ネットワークの帯域を使い切る指標値としてロス直前の送信レートの平均を計算し、送信レートとしてもよい。ロス直前の送信レートは、図5の丸で囲んだときの送信レートである。
The transmission rate may be the average transmission rate of the transmission rate estimated by the transmission rate
送信データ蓄積部16は、送信するデータを蓄積する。
The transmission
以上説明したように、送信装置10は、データパケットの送信成功時には、送信レートを増加させ、失敗時には送信レートを減少させる制御で説明したが、上記以外にもACKパケットをトリガーに送信レート制御している方式にも適用できる。また、以上の説明においては、送信装置10における処理について説明したが、データパケットを受信した受信装置20でも、生成するACKパケットの情報に基づいて、送信装置10と同様の処理を行うことが可能である。
As described above, the
次に、図2の受信装置20の構成について説明する。受信装置20は、データ受信部21、ACK送信部22、ACK頻度決定部23、受信データ蓄積部24を備えている。
Next, the configuration of the receiving
データ受信部21は、送信装置10からのデータパケットを受信する。データ受信部21は、受信したデータの情報をACK送信部22へ通知する。具体的には、データパケットのシーケンス番号等である。さらに、データ受信部21は、データパケットを受信データ蓄積部24へ蓄積する。
The
ACK送信部22は、図4に示すように、受信したデータパケットを一意に識別するシーケンス番号を含んだACKパケットを作成して、ACK頻度度決定部23から通知される頻度に従って送信装置10へ送信する。
As illustrated in FIG. 4, the
ACK頻度決定部23は、送信装置10に対して、ACKを送信する頻度を決定し、ACK送信部22へ通知する。前述のACKの頻度とは、データパケットX(Xは1以上の整数)個受信毎にACKパケットを送信装置10へ返信するもしくは時間周期的にACKパケットを返信する。ACK送信部22へは、Xの値もしくは周期的にACKパケットを返信する時間を決定して、ACK送信部22に通知する。
The ACK frequency determination unit 23 determines the frequency of transmitting ACK to the
次に、図6を用いて本発明の実施の形態1にかかる送信装置と受信装置の処理の流れにつき説明を行う。 Next, the processing flow of the transmitting apparatus and the receiving apparatus according to the first embodiment of the present invention will be described with reference to FIG.
はじめに、送信装置10は、送信データ蓄積部16からデータを取り出してパケット化する。さらに、送信レート計算部12から通知される送信レートに従ってデータパケットを送信する。このとき、パケットサイズは100Byteとしている。また、データパケットには、データパケットを一意に識別するシーケンス番号を含める(S100)。
First, the
次に、受信装置20では、ACK頻度決定部23から、データパケットを20個受信毎にACKパケットを生成して送出するよう通知がなされる。受信装置20は、図3に示すように、シーケンス番号2400のデータパケットを受信時にACKパケットを作成して返信し、送信装置10はACKパケットを受信する(S101)。
Next, in the receiving
次に、ACK受信部14は送信レート変化推定部11へ、ACK番号、受信したデータのシーケンス番号等を含むACKパケットの情報を通知する。また、ACK受信部14は、データ送信部13へロスしたパケットの再送を指示する。RTT計測部15は、RTTを計算して送信レート変化推定部11へRTTを通知する(S102)。
Next, the
次に、送信レート変化推定部11は、送信レートの変化を推定し、送信レート計算部12へ通知する(S103)。送信レート変化の推定方法は、図3乃至図5で説明したものと同様であるため、説明を省略する。
Next, the transmission rate
次に、送信レート計算部12は、送信レート変化推定部11から通知された送信レート変化と、次にACKパケットを受信するまでに送信する送信データ量から、送信レートを算出し(S104)、データ送信部13に通知する(S105)。
Next, the transmission
次に、図7を用いて本発明の実施の形態1にかかる送信レート変化の推定処理の流れにつき説明を行う。ACK受信部14は、ACKパケットを受信してから受信装置20におけるデータパケットのロスがあるか確認する(S200)。データパケットのロスがあれば、再送タイムアウトが発生するかどうか確認する(S201)。再送タイムアウトが発生すれば送信レートを最小にする(S202)。再送タイムアウトが発生しないようであれば、送信レートを半減させる(S203)。
Next, a flow of transmission rate change estimation processing according to the first exemplary embodiment of the present invention will be described with reference to FIG. The
次に、S200において、ロスがなければ、現在の送信レートが送信レート閾値よりも大きいか確認する(S204)。閾値よりも大きければ、送信レートを一定量増加させる(S205)。閾値よりも小さければ、送信レートを例えば2倍にする(S206)。 Next, in S200, if there is no loss, it is confirmed whether the present transmission rate is larger than a transmission rate threshold value (S204). If it is larger than the threshold, the transmission rate is increased by a certain amount (S205). If it is smaller than the threshold, the transmission rate is doubled, for example (S206).
以上説明したように、本発明の実施の形態1にかかる送信装置をもちいることにより、ACKの頻度が減少しても、ACKが例えば1データパケット毎に返信される場合の送信レートの変化を推測して、送信レートを決定することで、よりネットワークの輻輳状態に応じた送信レート制御を実現できる。つまり、ACKの頻度を減少させることによりネットワークに送出されるACKパケットを減少させることが可能であり、送信装置及び受信装置のACKパケット処理に伴う処理負荷を軽減させることができる。さらに、ACKパケットが例えば1データパケット毎に返信された場合と同様に高精度な送信レート制御を行うことができる。 As described above, by using the transmission apparatus according to the first embodiment of the present invention, even if the frequency of ACK decreases, the change in transmission rate when ACK is returned for each data packet, for example. By estimating and determining the transmission rate, transmission rate control according to the congestion state of the network can be realized. That is, by reducing the frequency of ACK, it is possible to reduce the number of ACK packets sent to the network, and the processing load associated with the ACK packet processing of the transmission device and the reception device can be reduced. Furthermore, highly accurate transmission rate control can be performed as in the case where an ACK packet is returned for each data packet, for example.
(実施の形態2)
図8を用いて本発明の実施の形態2にかかる送信装置10の構成について説明する。送信装置10は、図1の送信装置10の構成に、送信レート変化制御部17を加えた構成となる。その他の構成は図1と同様である。
(Embodiment 2)
The configuration of the
送信レート変化制御部17は、送信レート計算部12から送信レートを取得する。また、ACK受信部14からACKパケットの受信時刻とACKパケット到着までに送出するデータパケット数を取得し、次のACKパケットを受信するまでに、ACK受信部14から取得したデータパケット数を送信できるように、到達送信レート、送信レートの増減およびタイミングを決定する。到達送信レートとは、次のACKパケットを受信する時に設定する送信レートである。送信レートが、現在の送信レートの値よりも一定値以上の場合、急激に送信レートを増加させるとネットワーク内で輻輳が発生する可能性があるため線形的に増加させる。ここで、送信レートの増減とタイミング制御方法について2つの場合に分けて説明する。
The transmission rate
(1)現在の送信レート+α≦送信レート計算部12で計算される送信レート、の場合。αは任意の送信レート値を示す。
(1) In the case of current transmission rate + α ≦ transmission rate calculated by the transmission
前述にあるとおり、この場合、送信レートが急激に増加し、ネットワーク中で輻輳が発生する可能性がある。このため、急激なレート増加による輻輳を抑制するため線形的に送信レートを増加させる。まず、増加させるタイミングについて説明する。送信レートを増加させるタイミングは、受信装置20が、1データパケット受信毎にACKパケットを返信している場合の送信レート制御タイミングと合わせる。ACKパケットを受信するまでに送出しているデータパケット数に等しい回数のタイミングで増加させる。図9では、ACKパケットを受信するまでに4個のデータパケットを送信している場合の様子を示している。従って、増加させるタイミングは、ACK受信部14から通知される時刻から算出されるACKパケット到着間隔を4で除算した値となる。図9ではその値をTとしている。
As described above, in this case, the transmission rate increases rapidly, and congestion may occur in the network. For this reason, the transmission rate is increased linearly to suppress congestion due to a rapid rate increase. First, the increase timing will be described. The timing for increasing the transmission rate is matched with the transmission rate control timing when the receiving
次に、4回の送信レート増加で到達させる送信レートについて説明する。次のACKパケットが到着するまで、送信レート計算部12から通知される送信レートrate_cで送信した場合のデータパケット量(図11の斜線部の面積)を送信するため、次のACKパケット受信時までに到達する送信レートは2×rate_c−rate_aとなる。従って、1回での送信レート増加量βはβ=2(rate_c−rat_a)/4となる。図9は、現在の送信レートrate_a+αが、送信レート計算部12で計算されたrate_cよりも小さい値であることを示している。前述より、T時間毎に2(rate_c−rat_a)/4送信レートを増加させる。本情報をデータ送信部13へ通知する。
Next, the transmission rate reached by increasing the transmission rate four times will be described. Until the next ACK packet arrives, the data packet amount (area of the shaded area in FIG. 11) transmitted at the transmission rate rate_c notified from the transmission
(2)送信レート計算部12で計算される送信レート<現在の送信レート+α、の場合。αは任意の送信レート値を示す。
(2) When the transmission rate calculated by the transmission
この場合、現在の送信レートを、送信レート計算部12で計算される送信レートに変更しても、ネットワークにおいて輻輳が発生する可能性は低いため、図10に示すように送信レートrate_cで送信するようにデータ送信部13へ通知する。
In this case, even if the current transmission rate is changed to the transmission rate calculated by the transmission
次に、図11を用いて、本発明の実施の形態2にかかる送信装置と受信装置の処理の流れにつき説明する。なお、S304までは、図6のS104までと同様であるため、説明を省略する。 Next, with reference to FIG. 11, the processing flow of the transmitting apparatus and the receiving apparatus according to the second embodiment of the present invention will be described. The process up to S304 is the same as that up to S104 in FIG.
送信レート計算部12は、送信レート変化推定部11から通知された送信レート変化と、次にACKパケットを受信するまでに送信する送信データ量から、送信レートを算出し送信レート変化制御部17に出力する。送信レート変化推定部11から送信レート、ACK受信部14からACKパケット受信時刻とACKパケット到着までに送信したデータパケット数を取得し、前述のとおり、送信レートの増加量およびタイミングを求めて(S205)、データ送信部13へ通知する(S206)。
The transmission
以上説明したように、本発明の実施の形態2にかかる送信装置を用いることにより、現在の送信レートよりも算出された送信レートが大きい場合、急激に送信レートを増加させるのではなく、線形的に徐々に増加させることで、ネットワークの輻輳を回避することができる。 As described above, by using the transmission apparatus according to the second embodiment of the present invention, when the calculated transmission rate is larger than the current transmission rate, the transmission rate is not increased suddenly but linearly. By gradually increasing the network congestion, network congestion can be avoided.
以上の説明は、本発明の実施の形態を説明するものであり、本発明が以上の実施の形態に限定されるものではない。また、当業者であれば、以上の実施の形態の各要素を本発明の範囲において容易に変更、追加、変換することが可能である。 The above description describes the embodiment of the present invention, and the present invention is not limited to the above embodiment. Moreover, those skilled in the art can easily change, add, and convert each element of the above embodiments within the scope of the present invention.
10 送信装置
11 送信レート変化推定部
12 送信レート計算部
13 データ送信部
14 ACK受信部
15 RTT計測部
16 送信データ蓄積部
17 送信レート変化制御部
20 受信装置
21 データ受信部
22 ACK送信部
23 ACK頻度決定部
24 受信データ蓄積部
DESCRIPTION OF
Claims (17)
前記確認応答信号受信時に、前記確認応答信号が前記受信装置からN個(NはMよりも小さい整数)のデータパケット受信毎に返信された場合の送信レート変化を推定する送信レート変化推定部と、
前記送信レート変化推定部によって推定された送信レート変化に基づいて送信レートを計算する送信レート計算部を備えた送信装置。 A transmission apparatus that receives the confirmation response signal from a reception apparatus that transmits an acknowledgment signal every time M data packets are received (M is an integer of 2 or more), and performs transmission rate control;
A transmission rate change estimator for estimating a change in transmission rate when the acknowledgment signal is returned every N (N is an integer smaller than M) data packets received from the receiving device when receiving the acknowledgment signal; ,
A transmission apparatus comprising: a transmission rate calculation unit that calculates a transmission rate based on a transmission rate change estimated by the transmission rate change estimation unit.
前記確認応答信号がN個(NはMよりも小さい整数)のデータパケット受信毎に生成された場合に当該確認応答信号に基づいて送信レート変化を推定するステップと、
前記推定された送信レート変化に基づいて送信レートを計算するステップを備えた送信レート算出方法。 A transmission rate calculation method for calculating a transmission rate based on an acknowledgment signal generated every time M data packets are received (M is an integer of 2 or more),
Estimating the transmission rate change based on the acknowledgment signal when the acknowledgment signal is generated for each reception of N (N is an integer smaller than M) data packets;
A transmission rate calculation method comprising a step of calculating a transmission rate based on the estimated transmission rate change.
前記確認応答信号がN個(NはMよりも小さい整数)のデータパケット受信毎に生成された場合に当該確認応答信号に基づいて送信レート変化を推定するステップと、
前記推定された送信レート変化に基づいて送信レートを計算するステップを送信装置の制御コンピュータに実行させる送信レート算出プログラム。 A transmission rate calculation program for calculating a transmission rate based on an acknowledgment signal generated every time M data packets are received (M is an integer of 2 or more),
Estimating the transmission rate change based on the acknowledgment signal when the acknowledgment signal is generated for each reception of N (N is an integer smaller than M) data packets;
A transmission rate calculation program for causing a control computer of a transmission apparatus to execute a step of calculating a transmission rate based on the estimated transmission rate change.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009050739A JP5387058B2 (en) | 2009-03-04 | 2009-03-04 | Transmission device, transmission rate calculation method, and transmission rate calculation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009050739A JP5387058B2 (en) | 2009-03-04 | 2009-03-04 | Transmission device, transmission rate calculation method, and transmission rate calculation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010206608A true JP2010206608A (en) | 2010-09-16 |
JP5387058B2 JP5387058B2 (en) | 2014-01-15 |
Family
ID=42967615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009050739A Expired - Fee Related JP5387058B2 (en) | 2009-03-04 | 2009-03-04 | Transmission device, transmission rate calculation method, and transmission rate calculation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5387058B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014014126A (en) * | 2013-08-29 | 2014-01-23 | Intel Corp | Storage medium and system for access point congestion detection and reduction |
JP2014222464A (en) * | 2013-05-14 | 2014-11-27 | 株式会社東芝 | Control device |
JP2018535582A (en) * | 2015-09-21 | 2018-11-29 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Packet transmission method and user equipment |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102356912B1 (en) * | 2017-06-16 | 2022-01-28 | 삼성전자 주식회사 | Method and apparatus for transmitting a TCP ACK in a communication system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004180158A (en) * | 2002-11-28 | 2004-06-24 | Ntt Docomo Inc | Base station controller, data transmission method and program |
JP2005086375A (en) * | 2003-09-05 | 2005-03-31 | Ntt Docomo Inc | Packet volume control method, communication system, communication apparatus, and program |
JP2008053888A (en) * | 2006-08-23 | 2008-03-06 | Matsushita Electric Ind Co Ltd | Communication equipment, program, information storage medium and communication control method |
JP2008085950A (en) * | 2006-09-29 | 2008-04-10 | Kddi Corp | Rate control method using tcp, server and program |
-
2009
- 2009-03-04 JP JP2009050739A patent/JP5387058B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004180158A (en) * | 2002-11-28 | 2004-06-24 | Ntt Docomo Inc | Base station controller, data transmission method and program |
JP2005086375A (en) * | 2003-09-05 | 2005-03-31 | Ntt Docomo Inc | Packet volume control method, communication system, communication apparatus, and program |
JP2008053888A (en) * | 2006-08-23 | 2008-03-06 | Matsushita Electric Ind Co Ltd | Communication equipment, program, information storage medium and communication control method |
JP2008085950A (en) * | 2006-09-29 | 2008-04-10 | Kddi Corp | Rate control method using tcp, server and program |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014222464A (en) * | 2013-05-14 | 2014-11-27 | 株式会社東芝 | Control device |
JP2014014126A (en) * | 2013-08-29 | 2014-01-23 | Intel Corp | Storage medium and system for access point congestion detection and reduction |
JP2018535582A (en) * | 2015-09-21 | 2018-11-29 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Packet transmission method and user equipment |
US10601554B2 (en) | 2015-09-21 | 2020-03-24 | Huawei Technologies Co., Ltd. | Packet transmission method and user equipment |
US11153041B2 (en) | 2015-09-21 | 2021-10-19 | Huawei Technologies Co., Ltd. | Packet transmission method and user equipment |
Also Published As
Publication number | Publication date |
---|---|
JP5387058B2 (en) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4778453B2 (en) | Communication terminal, congestion control method, and congestion control program | |
KR100597425B1 (en) | Method for preventing unnecessary retransmission caused by transmission delay in wireless network and communication apparatus using the same | |
JP4708978B2 (en) | Communication system, communication terminal, session relay device, and communication protocol realizing high throughput | |
JP5867188B2 (en) | Information processing apparatus, congestion control method, and congestion control program | |
US20080239953A1 (en) | Method and apparatus for minimizing congestion in gateways | |
US20070177502A1 (en) | Communication system, communication apparatus, congestion control method used therefor, and program for the method | |
US20060209838A1 (en) | Method and system for estimating average bandwidth in a communication network based on transmission control protocol | |
WO2007141643A1 (en) | Dynamically adjusting the amount of packets to be acknowledged in an asymmetric communication system | |
JP2007534194A5 (en) | ||
CN107800638B (en) | Congestion control method and device | |
US20080239948A1 (en) | Speculative congestion control system and cross-layer architecture for use in lossy computer networks | |
US8565249B2 (en) | Queue management system and methods | |
CN113014505B (en) | Transmission control method for time delay differentiation in high dynamic topology satellite network | |
CN111193577B (en) | Network system communication method and communication device using transmission timeout | |
Waghmare et al. | Comparative Analysis of different TCP variants in a wireless environment | |
JP5387058B2 (en) | Transmission device, transmission rate calculation method, and transmission rate calculation program | |
KR100922472B1 (en) | Communication terminal, communication control method, and communication control program | |
US11405148B2 (en) | Communication system, communication device, method, and recording medium of program | |
JP6011813B2 (en) | COMMUNICATION DEVICE AND ITS COMMUNICATION CONTROL METHOD | |
US10003470B2 (en) | Method and terminal for transmitting and receiving data | |
Hurtig et al. | Tcp and stream control transmission protocol (sctp) rto restart | |
KR100518000B1 (en) | Method for transmitting a delayed ack | |
KR100915996B1 (en) | Method and Terminal for Controlling Transmission according Bandwidth Change | |
JP2008283523A (en) | Data transmitter, data transmitting method, and data transmission program | |
WO2013011638A1 (en) | Communication device and communication control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130610 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130716 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130826 |
|
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: 20130910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130923 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |