JP2001186179A - Method for transferring packet data - Google Patents
Method for transferring packet dataInfo
- Publication number
- JP2001186179A JP2001186179A JP36514999A JP36514999A JP2001186179A JP 2001186179 A JP2001186179 A JP 2001186179A JP 36514999 A JP36514999 A JP 36514999A JP 36514999 A JP36514999 A JP 36514999A JP 2001186179 A JP2001186179 A JP 2001186179A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- acknowledgment
- packet data
- transmission
- data transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、パケットデータの
転送方法に関し、特にパケットデータの受信側からの確
認応答の方法に関する。[0001] 1. Field of the Invention [0002] The present invention relates to a method of transferring packet data, and more particularly to a method of acknowledgment from a receiving side of packet data.
【0002】[0002]
【従来の技術】従来のパケットデータ転送方法を図5、
図7の処理フローチャートを参照して説明する。刊行物
「詳解TCP/IP」(1997年3月31日発行)の
299頁〜355頁に記載されているように、従来のパ
ケットデータ転送方法は、インターネット等で広く用い
られているトランスポート層プロトコル(TCP)のよ
うな確認応答を伴うパケットデータ転送方法であり、さ
らに、ネットワーク中で発生する輻輳を回避するような
制御を実現するために送信側がフロー制御を行う方法で
ある。2. Description of the Related Art A conventional packet data transfer method is shown in FIG.
This will be described with reference to the processing flowchart of FIG. As described in the publication “Detailed Explanation TCP / IP” (issued on March 31, 1997) at pages 299 to 355, the conventional packet data transfer method uses a transport layer widely used in the Internet and the like. This is a packet data transfer method accompanied by an acknowledgment such as a protocol (TCP), and a method in which the transmitting side performs flow control in order to realize control to avoid congestion occurring in a network.
【0003】図7は、パケットデータの送信側の処理フ
ローチャートを示す図である。パケットデータの送信側
は、パケット送信処理とその確認応答受信処理とからな
るため、各々の処理を別々のフローチャートで示す。ま
た、図5は、パケットデータの受信側の確認応答送信処
理フローチャートを示す図である。これらフローチャー
トには、議論を簡潔にするため、パケットデータ転送に
かかる処理のみを示し、コネクションの接続/切断処理
等は省略した。また、パケットデータの転送速度と比較
して、受信側が受信データを上位アプリケーションに引
き渡す処理は十分速いと仮定して、受信側のウィンドウ
制御処理も省略した。さらに、パケットデータは送信側
から受信側方向へのみ送信されるものと仮定している。
つまり、後述する遅延確認応答のタイムアウト前に受信
側が送信側にパケットデータを送信する必要が生じて、
確認応答がそのパケットデータとともにピギーバック
(データパケットと確認応答を同一のパケットで処理す
ること)されるようなことはないという仮定である。[0003] FIG. 7 is a diagram showing a processing flowchart on the transmitting side of packet data. Since the transmitting side of the packet data includes a packet transmitting process and an acknowledgment receiving process thereof, each process is shown in a separate flowchart. FIG. 5 is a flowchart showing an acknowledgment transmission process on the receiving side of packet data. In these flowcharts, for the sake of simplicity of discussion, only processing relating to packet data transfer is shown, and connection connection / disconnection processing and the like are omitted. Also, assuming that the process of transferring the received data to the upper application is sufficiently fast as compared with the transfer speed of the packet data, the window control process on the receiving side is also omitted. Further, it is assumed that packet data is transmitted only from the transmitting side to the receiving side.
In other words, the receiving side needs to transmit packet data to the transmitting side before the timeout of the delay acknowledgment described below,
The assumption is that the acknowledgment will not be piggybacked (processing the data packet and the acknowledgment in the same packet) with the packet data.
【0004】次に、送信側および受信側の動作を、各処
理フローチャートに沿って詳細に説明する。[0004] Next, the operations of the transmitting side and the receiving side will be described in detail with reference to respective processing flowcharts.
【0005】図7において、送信側のパケット送信処理
500は、はじめに初期化501を行う。ここで、送信
パケットウィンドウサイズを1に、確認応答未受信の送
信パケットサイズを0に初期化する。[0005] In FIG. 7, a packet transmitting process 500 on the transmitting side first performs initialization 501. Here, the transmission packet window size is initialized to 1 and the transmission packet size for which no acknowledgment has been received is initialized to 0.
【0006】次に送信データパケットが発生しているか
の判定502を行う。送信すべきパケットが発生してい
ない場合は条件がNOになるので、送信すべきパケット
が発生するまでループする。逆にパケットが発生した場
合は条件がYESになり、次のステップ503へ進む。Next, it is determined 502 whether a transmission data packet has occurred. If the packet to be transmitted has not been generated, the condition is NO, so the process loops until a packet to be transmitted is generated. Conversely, if a packet has occurred, the condition is YES, and the flow proceeds to the next step 503.
【0007】ステップ503は、送信側によるフロー制
御を行う。すなわち、確認応答未受信の送信パケットサ
イズが送信パケットウィンドウサイズ以上である場合、
即ち、判定結果がNOの場合は、パケットの送信は保留
され、判定結果がYESになるまでループして待つ。後
述の確認応答の受信によって確認応答未受信の送信パケ
ットサイズが減少しステップ503の判定結果がYES
となると、ステップ504で、送信すべきパケットを送
信する。In step 503, flow control is performed by the transmitting side. That is, if the size of the unacknowledged transmission packet is greater than or equal to the transmission packet window size,
That is, when the determination result is NO, the packet transmission is suspended, and the process waits in a loop until the determination result becomes YES. Due to the reception of the acknowledgment described later, the size of the transmission packet for which the acknowledgment has not been received is reduced, and the determination result of step 503 is YES
Then, in step 504, a packet to be transmitted is transmitted.
【0008】パケットの送信の後に、ステップ505で
は、確認応答未受信の送信パケットサイズを増加させ
て、次の送信すべきパケットが発生するのを待つ。After the transmission of the packet, in step 505, the size of the transmission packet that has not been acknowledged is increased, and the process waits for the next packet to be transmitted.
【0009】一方、送信側の確認応答受信処理600
は、確認応答を受信したかどうかの判定601を行い、
確認応答を受信していない時、すなわち、判定がNOの
ときにはループして待つ。On the other hand, the acknowledgment receiving process 600 on the transmitting side
Performs a determination 601 as to whether an acknowledgment has been received,
When an acknowledgment has not been received, that is, when the determination is NO, the process waits in a loop.
【0010】確認応答を受信したとき、すなわち、判定
がYESのときは、ステップ602において、確認応答
未受信の送出パケットサイズを減じ、同時に、送出パケ
ットウィンドウサイズを広げる。確認応答未受信の送出
パケットサイズを減じる大きさと、送出パケットウィン
ドウサイズを広げる大きさは、受信した確認応答の内容
に依存する。送信側は、受信した確認応答で確認応答さ
れたデータパケット以前に送信したデータパケットすべ
てについて確認応答されたものとみなして処理をする。When an acknowledgment is received, that is, when the determination is YES, in step 602, the size of the outgoing packet that has not been acknowledged is reduced, and at the same time, the size of the outgoing packet window is increased. The size of reducing the size of the transmission packet that has not been received and the size of increasing the size of the transmission packet window depend on the content of the received acknowledgment. The transmitting side processes all data packets transmitted before the data packet acknowledged by the received acknowledgment, assuming that the acknowledgment has been received.
【0011】次に、受信側の確認応答処理を、図5を用
いて説明する。Next, the acknowledgment processing on the receiving side will be described with reference to FIG.
【0012】受信側は、パケットデータを受信すると確
認応答を送信側に返送する。受信側の確認応答送信処理
200 は、はじめに遅延確認応答タイマをスタート2
01する。次に遅延確認応答タイマがタイムアウトする
まで202でタイムアウト判定を行いながらループして
待つ。受信側から転送すべきデータパケットはないもの
と仮定しているので、必ずタイムアウトまで待つことに
なる。タイムアウトが起きると、タイムアウト以前の期
間確認応答すべきデータパケットの受信があったかどう
かの判定をステップ203で行う。データパケットの受
信が無かった時、すなわち、判定がNOのときは、遅延
確認応答タイマを起動するステップ201に戻る。逆
に、データパケットの受信が有った時、すなわち、判定
がYESのときは、送信側に確認応答を送信する。ここ
で、送信する確認応答は、タイムアウト待ち以前の期間
で受信されたデータパケットのうち最新のものである。When receiving the packet data, the receiving side returns an acknowledgment to the transmitting side. The acknowledgment transmission process 200 on the receiving side first starts the delay acknowledgment timer 2
01. Next, the process waits in a loop while making a timeout determination at 202 until the delay acknowledgment timer times out. Since it is assumed that there is no data packet to be transferred from the receiving side, the user always waits for a timeout. When a timeout occurs, it is determined in step 203 whether a data packet to be acknowledged has been received for a period before the timeout. If no data packet has been received, that is, if the determination is NO, the process returns to step 201 to start the delay acknowledgment timer. Conversely, when a data packet is received, that is, when the determination is YES, an acknowledgment is transmitted to the transmitting side. Here, the acknowledgment to be transmitted is the latest data packet among the data packets received during the period before waiting for the timeout.
【0013】なお、ここで示した遅延確認応答タイマ
は、一般的にはシステム起動時刻を基準にしたシステム
クロックに伴ったものであることが多い。これは、図8
のように表すことができる。すなわち、システム起動時
刻を基準にして設定されたタイムアウト時間間隔でタイ
ムアウトするものである。The delay acknowledgment timer shown here is generally associated with a system clock based on the system start time. This is shown in FIG.
Can be expressed as That is, a timeout occurs at a timeout interval set based on the system activation time.
【0014】以上に説明した処理フローにしたがってデ
ータパケット転送を行うことにより、送信側で用意され
ている送信パケットウィンドウサイズが次第に増大し、
連続してパケットデータ送信がなされるようになる。こ
の様子を、送信側と受信側間で取り交わされるパケット
に着目してそのタイムランとして表現すると、図6のよ
うになる。ここで受信側の遅延確認応答タイムアウト時
間は200msecとした。これはTCPで推奨されて
いる遅延確認応答タイムアウト時間の範囲500mse
c以下に適合するものである。図中、送信側の右横に示
したcwndの値が送信パケットウィンドウサイズであ
る。送信側から受信側方向の矢印がデータパケットの転
送を、受信側から送信側方向の矢印が確認応答をあらわ
す。By performing data packet transfer according to the processing flow described above, the transmission packet window size prepared on the transmission side gradually increases,
Packet data transmission is continuously performed. FIG. 6 shows this state as a time run of a packet exchanged between the transmitting side and the receiving side. Here, the timeout period of the delay confirmation response on the receiving side was set to 200 msec. This is the range of 500 ms for the delay acknowledgment timeout time recommended by TCP.
c. In the figure, the value of cwnd shown on the right side of the transmission side is the transmission packet window size. The arrow from the transmitting side to the receiving side indicates the transfer of the data packet, and the arrow from the receiving side to the transmitting side indicates the acknowledgment.
【0015】[0015]
【発明が解決しようとする課題】上述した従来の技術に
は、パケットデータ転送の初期段階において、十分なス
ループットが得られないという問題がある。それは、送
信側のフロー制御によりパケットデータの送出が抑制さ
れているためである。また、パケットデータ転送の初期
においても、受信側が確認応答の遅延処理を行っている
ためでもある。The above-mentioned prior art has a problem that a sufficient throughput cannot be obtained in an initial stage of packet data transfer. This is because transmission of packet data is suppressed by flow control on the transmission side. This is also because the receiving side performs the acknowledgment delay process even at the beginning of the packet data transfer.
【0016】そこで、本発明の目的は、パケットデータ
転送の初期においても十分なスループットでパケットデ
ータ転送を行えるようにすることにある。An object of the present invention is to enable packet data transfer with sufficient throughput even at the beginning of packet data transfer.
【0017】[0017]
【課題を解決するための手段】本発明は、パケットデー
タ転送の初期において、受信側は送信側に対して、通常
よりも早く又は多くの確認応答を送信する。つまり、受
信側が、通常よりも早く又は多くの確認応答を送信する
ことによって、送信側の送信パケットウィンドが早く開
くこととなる。これにより、パケットデータ転送の初期
におけるスループット特性が改善される。According to the present invention, at the beginning of a packet data transfer, the receiving side transmits an acknowledgment to the transmitting side earlier or more frequently than usual. That is, the transmission side of the transmission side of the transmission side is opened earlier when the reception side transmits the acknowledgment earlier or more than usual. This improves the throughput characteristics at the beginning of the packet data transfer.
【0018】[0018]
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。Next, embodiments of the present invention will be described in detail with reference to the drawings.
【0019】図1に本発明のパケットデータ転送方法に
おける受信側の確認応答送信処理フローチャートを示
す。確認応答送信処理100は、ステップ101で初期
化を行う。これは、本発明で新しく導入した2つの変数
(送信側送信パケットウインドウサイズ推定値と閾値)
を初期化するものである。ステップ101の初期化の
後、送信側送信パケットウィンドウサイズ推定値が閾値
以下かどうかがステップ102で判定される。判定結果
がYESのときは、ただちに確認応答すべきパケットデ
ータ受信があったかどうかの判定をステップ105で行
う。逆にステップ102の判定結果がNOのときは、従
来どおりステップ103で遅延確認応答タイマを起動
し、ステップ104でタイムアウトを検出すると、ステ
ップ105 の判定に進む。ステップ105で確認応答
すべきパケットデータ受信がない場合、すなわち、判定
がNOの場合は、ステップ102にもどる。ステップ1
05の判定結果がYESのときは、ステップ106で確
認応答の送信を行い、ステップ107で、送信側送信パ
ケットウィンドウサイズ推定値の更新を行う。FIG. 1 shows a flow chart of the acknowledgment transmission process on the receiving side in the packet data transfer method of the present invention. The acknowledgment transmission process 100 performs initialization in step 101. This is based on the two variables newly introduced in the present invention (the estimated value of the transmission side packet window size and the threshold value on the transmission side).
Is to be initialized. After the initialization in step 101, it is determined in step 102 whether or not the estimated value of the transmitting side transmission packet window size is equal to or smaller than a threshold value. If the result of the determination is YES, a determination is made in step 105 as to whether or not packet data to be immediately acknowledged has been received. Conversely, if the decision result in the step 102 is NO, the delay acknowledgment timer is started in the step 103 as in the past, and if a timeout is detected in the step 104, the process proceeds to the step 105. If there is no packet data to be acknowledged in step 105, that is, if the determination is NO, the process returns to step 102. Step 1
If the determination result in step 05 is YES, an acknowledgment is transmitted in step 106, and in step 107, the estimated value of the transmission side transmission packet window size is updated.
【0020】以上のように、本発明のパケットデータ転
送方法における確認応答送信処理では、送信側の送信パ
ケットウィンドウサイズの推定値をもち、この推定値を
もとに確認応答の送信を制御する。As described above, in the acknowledgment transmission process in the packet data transfer method of the present invention, the transmission side has an estimated value of the transmission packet window size, and the transmission of the acknowledgment is controlled based on the estimated value.
【0021】次に、本発明の実施の形態の動作について
図1の確認応答処理フローチャートを参照して詳細に説
明する。Next, the operation of the embodiment of the present invention will be described in detail with reference to the acknowledgment processing flowchart of FIG.
【0022】はじめの初期化のステップ101におい
て、送信側送信パケットウィンドウサイズ推定値は1に
初期化される。また閾値は送信側から受信側方向へのデ
ータ転送帯域幅を無駄無く使える値に設定される。例え
ば、データ転送帯域幅が64KBPS、データパケット
サイズが160バイトで、受信側の遅延確認応答タイム
アウト時間が200msecであった場合、閾値は10
に設定される。In an initial initialization step 101, a transmission side packet window size estimation value on the transmission side is initialized to 1. The threshold value is set to a value that can use the data transfer bandwidth from the transmitting side to the receiving side without waste. For example, if the data transfer bandwidth is 64 KBPS, the data packet size is 160 bytes, and the delay acknowledgment timeout time on the receiving side is 200 msec, the threshold is 10
Is set to
【0023】ステップ101で初期化した後、確認応答
送信処理の定常状態に入る。まず、送信側送信パケット
ウィンドウサイズ推定値が閾値以下かどうかをステップ
102において判定する。パケットデータ転送の初期に
おいて、この条件は必ず成立するため、判定はYESと
なる。したがって、遅延確認応答のタイマ起動とタイム
アウト待ち処理を経ずに、ただちに確認応答すべきパケ
ットデータの受信が有ったかどうかをステップ105で
判定する。パケットデータの受信が無い場合、すなわ
ち、判定がNOの場合は、ステップ102に戻るが、パ
ケットデータの転送初期においてはステップ102とス
テップ105通るフローをループする。逆に、確認応答
すべきパケットデータの受信があると、ステップ105
でYESと判定され、ステップ106で確認応答の送信
処理を行う。ステップ106で送信される確認応答は、
その時点までに受信された確認応答すべきパケットのう
ち最新のパケットについて行う。After initialization in step 101, the process enters a steady state of the acknowledgment transmission process. First, it is determined in step 102 whether or not the transmission side transmission packet window size estimation value is equal to or smaller than a threshold value. Since this condition is always satisfied at the beginning of the packet data transfer, the determination is YES. Accordingly, it is determined in step 105 whether or not packet data to be immediately acknowledged has been received without passing through the timer for the delayed acknowledgment and the process of waiting for timeout. If no packet data is received, that is, if the determination is NO, the process returns to step 102, but the flow of steps 102 and 105 is looped in the initial stage of packet data transfer. Conversely, if packet data to be acknowledged is received, step 105
Is determined to be YES, and the transmission processing of the confirmation response is performed in step 106. The acknowledgment sent in step 106 is
This is performed for the latest packet among the packets to be acknowledged received up to that point.
【0024】以上示した動作を、受信側と送信側の間で
取り交わされるパケットに着目して表現すると、図2の
タイムランのように描くことができる。ここでは、送信
側の送信パケットウィンドウサイズをcwnd、受信側
の送信側送信パケットウィンドウサイズ推定値をe−c
wndであらわしている。送信側が第1番目のデータパ
ケットを送信するときはcwnd=1であるので、1つ
のデータパケットのみ送出する。受信側では、第1番目
のデータパケットに対する確認応答を直ちに送出し、e
−cwndを2に増加させる。送信側は確認応答を受け
取ると、cwnd=2にして第2、3番目の2つのデー
タパケットを送出する。受信側は受け取った2つのデー
タパケットに対してそれぞれ確認応答を送出し、e−c
wnd=4としている。送信側は、確認応答を受け取っ
てcwnd=4までウィンドウを開いたので、さらに4
つのデータパケット第4〜7番目を送出するが、第7番
目のデータパケットの送出を終了する前に受信側から第
4番目のデータパケットに対する確認応答を受け取りc
wnd=5に達する。この時点までに、cwndが開く
速度は実際のデータパケットの送信速度を上回っている
ので、送信側は速やかに連続してデータパケットを送信
できる。受信側はe−cwnd=10に達すると、送信
側のcwndサイズが遅延確認応答タイマを用いて確認
応答しても回線帯域を十分に利用できるだけ広がったの
で、遅延確認応答タイマを用いた確認応答動作に移行す
る。If the above-described operation is expressed by focusing on packets exchanged between the receiving side and the transmitting side, it can be described as a time run in FIG. Here, the transmission packet window size of the transmission side is cwnd, and the transmission side transmission packet window size estimation value of the reception side is ec.
wnd. When the transmitting side transmits the first data packet, cwnd = 1, so that only one data packet is transmitted. The receiving side immediately sends an acknowledgment for the first data packet,
-Increase cwnd to 2. Upon receiving the acknowledgment, the transmitting side sets cwnd = 2 and transmits the second and third data packets. The receiving side sends an acknowledgment for each of the two received data packets, and ec
wnd = 4. The transmitting side receives the confirmation response and opens the window until cwnd = 4.
Fourth to seven data packets are transmitted, and before the transmission of the seventh data packet is completed, an acknowledgment for the fourth data packet is received from the receiving side.
wnd = 5 is reached. Up to this point, the speed at which cwnd opens exceeds the actual data packet transmission speed, so that the transmitting side can quickly and continuously transmit data packets. When the receiving side reaches e-cwnd = 10, the cwnd size of the transmitting side has widened as much as possible even if the transmitting side has acknowledged using the delay acknowledgment timer. Move to operation.
【0025】次に、本発明の第2の実施の形態について
図面を参照して詳細に説明する。Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
【0026】図3に本発明のパケットデータ転送方法に
おける受信側の確認応答送信処理フローチャートを示
す。確認応答送信処理150は、はじめに、ステップ1
51で、初期化を行う。これは、第1の実施の形態と同
様、本発明で新しく導入した2つの変数(送信側送信パ
ケットウインドウサイズ推定値と閾値)を初期化するも
のである。ステップ151で初期化した後、送信されて
くる一つ目のデータパケットをステップ152の判定で
待つ。確認応答すべきパケットデータの受信が有った場
合、ステップ152のループを抜けて確認応答の処理
(ステップ153〜156)に入る。はじめに、確認応
答するシーケンス番号の計算を行う。シーケンス番号は
TCPでは、パケット内のデータバイト毎に振られた通
し番号である。次に、ステップ154は、ステップ15
3で求めたシーケンス番号で確認応答を送信する。次
に、ステップ155で、送信側送信パケットウィンドウ
サイズ推定値を更新する。その後、ステップ156で、
送信側送信ウィンドウサイズ推定値と閾値の大きさを比
較し、送信側送信ウィンドウサイズ推定値が閾値以下の
とき、すなわち、判定がYESのときはステップ153
に戻って、さらに確認応答を送信する。ステップ156
の判定がNOになるときは、ステップ157に進む。ス
テップ157から160は、従来の確認応答送信処理と
同様であるが、ステップ160の確認応答送信の後、ス
テップ161で送信側送信パケットサイズ推定値の更新
を行う。以降、ステップ157からステップ161を繰
り返す。FIG. 3 is a flowchart of the acknowledgment transmission process on the receiving side in the packet data transfer method of the present invention. The acknowledgment transmission process 150 is first performed in step 1
At 51, initialization is performed. This is for initializing two variables newly introduced in the present invention (the estimated value of the transmission side transmission packet window size and the threshold value), as in the first embodiment. After the initialization in step 151, the first data packet transmitted is waited for in the determination in step 152. If the packet data to be acknowledged has been received, the process exits the loop of step 152 and enters an acknowledgment process (steps 153 to 156). First, a sequence number to be acknowledged is calculated. In TCP, the sequence number is a serial number assigned to each data byte in a packet. Next, step 154 includes step 15
An acknowledgment is transmitted with the sequence number obtained in step 3. Next, in step 155, the transmission side transmission packet window size estimation value is updated. Then, in step 156,
The transmission side window size estimation value is compared with the threshold size, and when the transmission side window size estimation value is equal to or smaller than the threshold value, that is, when the determination is YES, step 153 is executed.
Return to and send an acknowledgment. Step 156
When the determination of NO is NO, the process proceeds to step 157. Steps 157 to 160 are the same as the conventional acknowledgment transmission processing. However, after the acknowledgment transmission in step 160, the transmission side transmission packet size estimation value is updated in step 161. Thereafter, steps 157 to 161 are repeated.
【0027】次に、本発明の第2の実施の形態の動作に
ついて図3の確認応答処理フローチャートを参照して詳
細に説明する。Next, the operation of the second embodiment of the present invention will be described in detail with reference to the acknowledgment processing flowchart of FIG.
【0028】はじめの初期化のステップ151におい
て、送信側送信パケットウィンドウサイズ推定値は1に
初期化される。また閾値は送信側から受信側方向へのデ
ータ転送帯域幅を無駄無く使える値に設定される。閾値
の決定の仕方は第1の実施の形態の動作で説明したもの
と同一である。In an initial initialization step 151, the transmitting side transmission packet window size estimation value is initialized to 1. The threshold value is set to a value that can use the data transfer bandwidth from the transmitting side to the receiving side without waste. The method of determining the threshold is the same as that described in the operation of the first embodiment.
【0029】ステップ151で初期化した後、送信側か
らデータパケットの受信があるまでステップ152でル
ープして待つ。確認応答すべきパケットデータが受信さ
れると、それに対してステップ153から156の手順
によって、複数個の確認応答を送信する。まず ステッ
プ153で確認応答するシーケンス番号の計算を行う。
シーケンス番号は、TCPでは受信したデータパケット
のデータバイトに割り付けられた番号である。はじめて
ステップ153の処理を行うときは、受信しているデー
タパケットのシーケンス番号の最新値よりも小さい値を
選ぶ。選ばれたシーケンス番号を用いて、ステップ15
4にて確認応答を送信し、ステップ155で送信側送信
パケットウィンドウサイズ推定値を更新する。その後1
56にて条件を評価するが、動作初期においてはYES
と判定されるので、ステップ153にもどる。ステップ
153では、先に選んだシーケンス番号よりも大きくか
つ受信しているデータパケットのシーケンス番号の最新
値よりも小さい値を選んで、そのシーケンス番号をもっ
てステップ154で確認応答を送信する。After initialization in step 151, the process waits in a loop in step 152 until a data packet is received from the transmitting side. When the packet data to be acknowledged is received, a plurality of acknowledgments are transmitted according to the procedure of steps 153 to 156. First, in step 153, a sequence number for acknowledgment is calculated.
The sequence number is a number assigned to a data byte of a received data packet in TCP. When performing the process of step 153 for the first time, a value smaller than the latest value of the sequence number of the received data packet is selected. Using the selected sequence number, step 15
In step 155, an acknowledgment is transmitted. Then one
The condition is evaluated at 56, but is YES at the beginning of the operation.
Therefore, the process returns to step 153. In step 153, a value larger than the previously selected sequence number and smaller than the latest value of the sequence number of the received data packet is selected, and an acknowledgment is transmitted in step 154 with the sequence number.
【0030】以降、ステップ156の判定がNOとなる
まで、すなわち、送信側送信ウィンドウサイズ推定値が
閾値に達するまで、確認応答を送出する。このとき、各
確認応答のシーケンス番号はその時点までに受信したデ
ータパケットのシーケンス番号の最新値以下で、送出毎
に増加するように選ばれる。これにより、データパケッ
ト転送初期において、送信側の送信パケットウィンドウ
を高速に広げることになる。Thereafter, an acknowledgment is transmitted until the determination in step 156 becomes NO, that is, until the estimated value of the transmission window size on the transmission side reaches the threshold value. At this time, the sequence number of each acknowledgment is selected so as to be less than the latest value of the sequence number of the data packet received up to that point and to be increased for each transmission. As a result, at the initial stage of data packet transfer, the transmission packet window on the transmission side is rapidly expanded.
【0031】ステップ156の判定がNOになってから
は、ステップ161の送信側送信パケットウィンドウサ
イズ推定値の更新以外は従来の動作と同様である。After the determination in step 156 becomes NO, the operation is the same as the conventional operation except for the update of the transmission side transmission packet window size estimation value in step 161.
【0032】以上示した動作を、受信側と送信側の間で
取り交わされるパケットに着目して表現すると、図4の
タイムランのように描くことができる。ここでは、送信
側の送信パケットウィンドウサイズをcwnd、受信側
の送信側送信パケットウィンドウサイズ推定値をe−c
wndであらわしている。If the above-described operation is expressed by focusing on packets exchanged between the receiving side and the transmitting side, it can be described as a time run in FIG. Here, the transmission packet window size of the transmission side is cwnd, and the transmission side transmission packet window size estimation value of the reception side is ec.
wnd.
【0033】送信側が第1番目のデータパケットを送信
するときはcwnd=1であるので、1つのデータパケ
ットのみ送出する。受信側では、第1番目のデータパケ
ットに対し確認応答を直ちに送出し、e−cwndを2
に増加させる。受信側はさらに、その次のデータパケッ
トの到着を待たずに2つの確認応答を送信している。こ
のとき、受信側から送信側に送信されている第1番目か
ら第3番目の確認応答に含まれるシーケンス番号は、第
1番目のデータパケットの最新のシーケンス番号以下
で、かつ第1番目から第3番目の確認応答に推移するに
したがってより最新のシーケンス番号値に近づくように
選ばれている。When the transmitting side transmits the first data packet, cwnd = 1, so that only one data packet is transmitted. The receiving side immediately sends an acknowledgment for the first data packet, and sets e-cwnd to 2
To increase. The receiving side also transmits two acknowledgments without waiting for the arrival of the next data packet. At this time, the sequence numbers included in the first to third acknowledgments transmitted from the receiving side to the transmitting side are equal to or less than the latest sequence number of the first data packet, and are the first to third. It is chosen to approach the latest sequence number value as it transitions to the third acknowledgment.
【0034】送信側は第1番目の確認応答を受け取る
と、cwnd=2にして新しいデータパケットを送出す
る。受信側はe−cwnd=10に達すまで、確認応答
を送出しつづけるので、送信側の送信パケットウィンド
ウが開く速度は、実際のデータパケット送信よりも高速
であるため、送信側も速やかに連続したデータパケット
送信を行うことができる。e−cwnd=10に達する
と、受信側は従来の確認応答送信と同様に遅延確認応答
タイマを用いて確認応答するようになる。このとき、送
信側でもcwnd=10に達しているので、ウィンドウ
サイズ内でデータパケット送出を行うことにより、回線
帯域を十分に利用してデータ転送を行うことができる。When the transmitting side receives the first acknowledgment, it sets cwnd = 2 and transmits a new data packet. Since the receiving side continues to send an acknowledgment until e-cwnd = 10, the transmission packet window of the transmission side is opened faster than the actual data packet transmission, so that the transmission side also continues immediately. Data packet transmission can be performed. When e-cwnd reaches 10, the receiving side responds using the delay acknowledgment timer in the same manner as the conventional acknowledgment transmission. At this time, since the transmission side has also reached cwnd = 10, by transmitting the data packet within the window size, the data transfer can be performed by sufficiently utilizing the line bandwidth.
【0035】[0035]
【発明の効果】第1の効果は、データ転送初期において
も、高速なデータ転送が実現できることである。その理
由は、データ転送初期においては、遅延確認応答処理を
行わずに、直ちに確認応答を送信するためである。The first effect is that high-speed data transfer can be realized even at the beginning of data transfer. The reason is that an acknowledgment is transmitted immediately without performing the delay acknowledgment process at the beginning of data transfer.
【0036】第2の効果は、本発明のパケットデータ転
送方法を用いるためには変更が少ないということであ
る。その理由は、受信側の確認応答処理を変更するだけ
で、送信側は変更不要であるためである。例えば、本発
明の確認応答方法を一般ユーザーが用いるPCや移動端
末のプロトコルスタックに実装するだけで、インターネ
ット上のサーバー内のプロトコルスタックは変更不要で
ある。A second effect is that there is little change in using the packet data transfer method of the present invention. The reason is that only the acknowledgment process on the receiving side is changed, and the transmitting side does not need to change. For example, only by implementing the acknowledgment method of the present invention in a protocol stack of a PC or a mobile terminal used by a general user, the protocol stack in a server on the Internet does not need to be changed.
【0037】第3の効果は、ダイアルアップ端末や無線
を用いる移動端末のように、アクセス回線の帯域が細い
場合にも、データ転送初期から高速にデータ転送できる
ことである。その理由は、回線帯域幅とパケットサイズ
から、もっとも効率的な送信側ウィンドウサイズを推定
し、そのウィンドウサイズで送信側がパケットデータを
送出するように動作するためである。A third effect is that data can be transferred at a high speed from the beginning of data transfer even when the bandwidth of an access line is narrow, such as a dial-up terminal or a mobile terminal using wireless communication. The reason is that the most efficient window size of the transmitting side is estimated from the line bandwidth and the packet size, and the transmitting side operates so as to transmit packet data with the window size.
【図1】本発明の第1の実施の形態のパケットデータ転
送方法において、パケットデータ受信側の確認応答送信
処理を示すフローチャートである。FIG. 1 is a flowchart showing an acknowledgment transmission process on a packet data receiving side in a packet data transfer method according to a first embodiment of the present invention.
【図2】本発明の第1の実施の形態のパケットデータ転
送方法において、送信側と受信側の間で取り交わされる
パケットデータの様子を示したタイムラン図である。FIG. 2 is a time run diagram showing a state of packet data exchanged between a transmitting side and a receiving side in the packet data transfer method according to the first embodiment of the present invention.
【図3】本発明の第2の実施の形態のパケットデータ転
送方法において、パケットデータ受信側の確認応答送信
処理を示したフローチャートである。FIG. 3 is a flowchart showing an acknowledgment transmission process on the packet data receiving side in the packet data transfer method according to the second embodiment of the present invention.
【図4】本発明の第2の実施の形態のパケットデータ転
送方法において、送信側と受信側の間で取り交わされる
パケットデータの様子を示したタイムラン図である。FIG. 4 is a time run diagram showing a state of packet data exchanged between a transmitting side and a receiving side in the packet data transfer method according to the second embodiment of the present invention.
【図5】従来のパケットデータ転送方法において、パケ
ットデータ受信側の確認応答送信処理を示したフローチ
ャートである。FIG. 5 is a flowchart showing an acknowledgment transmission process on the packet data receiving side in the conventional packet data transfer method.
【図6】従来のパケットデータ転送方法において、送信
側と受信側の間で取り交わされるパケットデータの様子
を示したタイムラン図である。FIG. 6 is a time run diagram showing a state of packet data exchanged between a transmitting side and a receiving side in a conventional packet data transfer method.
【図7】パケットデータ送信側の送信処理フローチャー
トと確認応答受信処理フローチャートFIG. 7 is a flowchart of a transmission process on the packet data transmission side and a flowchart of an acknowledgment reception process.
【図8】システムクロックとタイムアウトのタイミング
をあらわした説明図FIG. 8 is an explanatory diagram showing a system clock and a timing of a timeout.
Claims (9)
受信してから所定の時間が経過した後に送信側に対して
確認応答を返送し、送信側は、送信パケットウィンドウ
の大きさ上限とする数のパケットデータを送信するパケ
ットデータ転送方法において、 前記受信側は、パケットデータ転送の初期段階には、前
記所定の時間が経過する前に前記確認応答を返送するこ
とを特徴とするパケットデータ転送方法。The receiving side returns an acknowledgment to the transmitting side after a predetermined time has elapsed since receiving the packet data from the transmitting side, and the transmitting side sets the upper limit of the size of the transmitting packet window. A packet data transfer method for transmitting a number of packet data, wherein the receiving side returns the acknowledgment before the predetermined time elapses in an initial stage of the packet data transfer. Method.
受信してから所定の時間が経過した後に送信側に対して
確認応答を返送し、送信側は、送信パケットウィンドウ
の大きさを上限とする数のパケットデータを送信するパ
ケットデータ転送方法において、 前記送信パケットウィンドウの大きさは、受信側からの
確認応答の数により決められ、前記受信側は、パケット
データ転送の初期段階には、前記所定の時間が経過する
前に前記確認応答を返送することを特徴とするパケット
データ転送方法。2. The reception side returns an acknowledgment to the transmission side after a predetermined time has elapsed after receiving the packet data from the transmission side, and the transmission side sets an upper limit of the size of the transmission packet window. In the packet data transfer method for transmitting the number of packet data, the size of the transmission packet window is determined by the number of acknowledgments from the receiving side, and the receiving side is configured to perform the A packet data transfer method, wherein the acknowledgment is returned before a predetermined time has elapsed.
の大きさを推定し、前記推定した値に応じて前記確認応
答の返送を開始する時刻を変更することを特徴とする請
求項1又は2記載のパケットデータ転送方法。3. The receiving side estimates a size of the transmission packet window, and changes a time at which the return of the acknowledgment is started according to the estimated value. Packet data transfer method.
ドウの大きさと、予め定めた閾値とを比較し、前記推定
したパケットウインドウの大きさが前記閾値よりも小さ
い時は、パケットデータの受信直後に前記確認応答を返
送し、前記推定したパケットウインドウの大きさが前記
閾値よりも大きい時は、前記所定の時間が経過後に前記
確認応答を返送することを特徴とする請求項3記載のパ
ケットデータ転送方法。4. The receiving side compares the estimated packet window size with a predetermined threshold value, and when the estimated packet window size is smaller than the threshold value, immediately after receiving the packet data. 4. The packet data transfer according to claim 3, wherein the acknowledgment is returned, and when the size of the estimated packet window is larger than the threshold, the acknowledgment is returned after the predetermined time has elapsed. Method.
ドウの大きさと、予め定めた閾値とを比較し、前記推定
したパケットウインドウの大きさが前記閾値よりも小さ
い時は、パケットデータの受信直後に複数個の前記確認
応答を返送し、前記推定したパケットウインドウの大き
さが前記閾値よりも大きい時は、前記所定の時間が経過
後に前記確認応答を返送することを特徴とする請求項3
記載のパケットデータ転送方法。5. The receiving side compares the estimated packet window size with a predetermined threshold value, and when the estimated packet window size is smaller than the threshold value, immediately after receiving the packet data. 4. The method according to claim 3, wherein the plurality of acknowledgments are returned, and when the estimated packet window size is larger than the threshold, the acknowledgments are returned after the predetermined time has elapsed.
Described packet data transfer method.
ータ転送速度と、パケットサイズから求めることを特徴
とする請求項4又は5記載のパケットデータ転送方法。6. The packet data transfer method according to claim 4, wherein the threshold value is obtained from a data transfer speed between a transmission side and a reception side and a packet size.
を起動し前記遅延確認応答タイマがタイムアウトするま
での時間であることを特徴とする請求項4又は5記載の
パケットデータ転送方法。7. The packet data transfer method according to claim 4, wherein the predetermined time is a time from when a delay acknowledgment timer is activated to when the delay acknowledgment timer times out.
ンス番号が、その時点までに受信側が受け取ったパケッ
トデータの最新のシーケンス番号以下であって、受信側
が確認応答を送信する順に、確認応答に含まれるシーケ
ンス番号が古い値から新しい値になることを特徴とする
請求項5記載のパケットデータ転送方法。8. The acknowledgment in the order in which the sequence numbers included in the plurality of acknowledgments are equal to or less than the latest sequence number of the packet data received by the receiving side up to that point and the receiving side transmits the acknowledgment. 6. The packet data transfer method according to claim 5, wherein the included sequence number changes from an old value to a new value.
答の累積数によって増加することを特徴とする請求項3
〜8のいずれか一に記載のパケットデータ転送方法。9. The method according to claim 3, wherein the estimated value is increased by an accumulated number of acknowledgments transmitted by the receiving side.
9. The packet data transfer method according to any one of items 1 to 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36514999A JP2001186179A (en) | 1999-12-22 | 1999-12-22 | Method for transferring packet data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36514999A JP2001186179A (en) | 1999-12-22 | 1999-12-22 | Method for transferring packet data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001186179A true JP2001186179A (en) | 2001-07-06 |
Family
ID=18483550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP36514999A Pending JP2001186179A (en) | 1999-12-22 | 1999-12-22 | Method for transferring packet data |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001186179A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004229306A (en) * | 2003-01-24 | 2004-08-12 | Microsoft Corp | Pacing method of consecutive action of transmitting computing system |
JP2008236042A (en) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | Data transfer controller |
JP2010056939A (en) * | 2008-08-28 | 2010-03-11 | Kyocera Corp | Wireless communication apparatus and method |
US7986628B2 (en) | 2007-12-17 | 2011-07-26 | Nec Corporation | Communication apparatus and program therefor, and data frame transmission control method |
JP2016119553A (en) * | 2014-12-19 | 2016-06-30 | 富士通株式会社 | Communication device, relay device and communication control method |
-
1999
- 1999-12-22 JP JP36514999A patent/JP2001186179A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004229306A (en) * | 2003-01-24 | 2004-08-12 | Microsoft Corp | Pacing method of consecutive action of transmitting computing system |
JP4486371B2 (en) * | 2003-01-24 | 2010-06-23 | マイクロソフト コーポレーション | How a sending computing system can step through successive actions |
JP2008236042A (en) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | Data transfer controller |
US7986628B2 (en) | 2007-12-17 | 2011-07-26 | Nec Corporation | Communication apparatus and program therefor, and data frame transmission control method |
JP2010056939A (en) * | 2008-08-28 | 2010-03-11 | Kyocera Corp | Wireless communication apparatus and method |
JP2016119553A (en) * | 2014-12-19 | 2016-06-30 | 富士通株式会社 | Communication device, relay device and communication control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5442637A (en) | Reducing the complexities of the transmission control protocol for a high-speed networking environment | |
Clark et al. | NETBLT: A bulk data transfer protocol | |
EP1393508B1 (en) | Data transport acceleration and management within a network communication system | |
EP2068510B1 (en) | Communication system, communication device, and communication method | |
KR100785293B1 (en) | System and Method for TCP Congestion Control Using Multiple TCP ACKs | |
US7376737B2 (en) | Optimised receiver-initiated sending rate increment | |
EP3396883B1 (en) | Tcp ack data transmission method and related device | |
EP1067744B1 (en) | Receiver initiated recovery process for the L2TP protocol and corresponding apparatus | |
EP0472486A2 (en) | System and method for controlling data transmission | |
JP2004297742A (en) | Communication device, communication control method and program | |
KR20050111194A (en) | Method for transmitting data in mobile ad hoc network and network apparatus using the same | |
JP2001237882A (en) | Packet size controller in packet data transfer and its control method | |
JPWO2020236599A5 (en) | ||
CN113242183A (en) | Data stream sending control method and device, intelligent terminal and storage medium | |
EP1278348A1 (en) | Long-lived TCP connection using ICMP messages in wireless mobile communications | |
CN101969432A (en) | Random backoff based control method of TCP (Transmission Control Protocol) congestion window | |
JP2001186179A (en) | Method for transferring packet data | |
JP7111162B2 (en) | COMMUNICATION CONTROL DEVICE, METHOD AND PROGRAM | |
CN104580171B (en) | The transmission method of Transmission Control Protocol, device and system | |
JP2000216811A (en) | Flow controlling method | |
CN108737119B (en) | Data transmission method, device and system | |
Cisco | LLC2 and SDLC Link-Level Support | |
Cisco | LLC2 and SDLC Link-Level Support | |
Cisco | LLC2 and SDLC Link-Level Support | |
Cisco | LLC2 and SDLC Link-Level Support |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030204 |