JP3527111B2 - Data transfer control method - Google Patents

Data transfer control method

Info

Publication number
JP3527111B2
JP3527111B2 JP32776698A JP32776698A JP3527111B2 JP 3527111 B2 JP3527111 B2 JP 3527111B2 JP 32776698 A JP32776698 A JP 32776698A JP 32776698 A JP32776698 A JP 32776698A JP 3527111 B2 JP3527111 B2 JP 3527111B2
Authority
JP
Japan
Prior art keywords
packet
random error
random
congestion
transmitting station
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
Application number
JP32776698A
Other languages
Japanese (ja)
Other versions
JP2000151707A (en
Inventor
英俊 横田
徹 浅見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP32776698A priority Critical patent/JP3527111B2/en
Publication of JP2000151707A publication Critical patent/JP2000151707A/en
Application granted granted Critical
Publication of JP3527111B2 publication Critical patent/JP3527111B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、パケット交換型の
通信網に好適なデータ転送制御方法に係り、特に、TC
P/IP (Transmission Control Protocol / Internet
Protocol)におけるフロー制御の高速化を可能にしたデ
ータ転送制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer control method suitable for a packet switching type communication network, and more particularly to a TC
P / IP (Transmission Control Protocol / Internet
Protocol) and a data transfer control method capable of speeding up flow control.

【0002】[0002]

【従来の技術】TCPでは、データパケットを送出した
送信局に対して受信局から応答確認用のACKパケット
が返送されなかったり(タイムアウト)、あるいは返送
されたACKパケットにおいて転送済みパケットの再送
要求が登録されている(重複ACK)と、送受信端末間
で輻輳が生じていると判断して輻輳回避のためのフロー
制御が実行される。
2. Description of the Related Art In TCP, a ACK packet for confirming a response is not returned from a receiving station to a transmitting station that has transmitted a data packet (timeout), or a retransmission request for a transferred packet is made in the returned ACK packet. If registered (duplicate ACK), it is determined that congestion has occurred between the transmitting and receiving terminals, and flow control for avoiding congestion is executed.

【0003】例えば、W.Richard Stevens著の「T
CP/IP Illustrated, Volume 1 」、20.6章
に記載された“スロー・スタート”(slow-start)と呼
ばれるフロー制御がある。
For example, W. Richard Teven's "T
CP / IP Illustrated, Volume 1 ", 20.6, there is a flow control called" slow-start ".

【0004】スロー・スタートが組み込まれたフロー制
御では、データ転送に先立って受信局から送信局へ自身
のTCPウインドウサイズが予め宣言される。TCPウ
インドウサイズWとは、送信局がACKパケットを得る
まで送り続けることが可能なデータ量である。送信局
は、1回の転送データ量をTCPウインドウサイズ以下
にする必要があるので、TCPウインドウサイズWが大
きいほど実質的なデータ転送速度は向上することにな
る。
In the flow control in which the slow start is incorporated, the TCP window size of itself is declared in advance from the receiving station to the transmitting station before the data transfer. The TCP window size W is the amount of data that can be continuously sent until the transmitting station gets an ACK packet. Since the transmitting station needs to make the amount of data transferred at one time equal to or smaller than the TCP window size, the larger the TCP window size W is, the more the substantial data transfer rate is improved.

【0005】さらに、送信局のTCPには、cwnd
(コンジェスチョン・ウインドウ)と呼ばれる輻輳制御
用ウインドウサイズが追加される。cwndは、送信局
から受信局へ1回に転送できるデータ量をセグメント数
で表現したもので、cwndが追加されると、送信局
は、データ量が前記TCPウインドウサイズWまたはc
wndのいずれか小さい方に達するまで一度に送出する
ことができる。
Further, the TCP of the transmitting station includes cwnd
A congestion control window size called (congestion window) is added. cwnd represents the amount of data that can be transferred from the transmitting station to the receiving station at one time by the number of segments. When cwnd is added, the transmitting station determines that the amount of data is the TCP window size W or c.
It can be sent at one time until the smaller of wnd is reached.

【0006】図9は、上記したスロー・スタート方式で
のフロー制御におけるデータ転送量の推移を示した図で
あり、時刻tにおいて、ACKパケットのタイムア
ウトあるいは重複ACKが検知されると、cwndに
“1”が登録される。この結果、送信局が一度に送出で
きるデータ量が減少するので輻輳が改善されることにな
る。その後、cwndのセグメント数は正規のACKパ
ケットが受信されるごとに“2”、“4”、“8”…と
指数関数的に増えて実質的な転送速度が向上する。cw
ndのセグメント数は、時刻tにおいてTCPウイ
ンドウサイズWに達するまでに増加する。
FIG. 9 is a diagram showing a change in the amount of data transfer in the flow control in the slow start method described above. When a time-out of an ACK packet or a duplicate ACK is detected at time t 1 , cwnd is set. “1” is registered. As a result, the amount of data that the transmitting station can send at one time is reduced, and congestion is improved. After that, the number of segments of cwnd exponentially increases to “2”, “4”, “8” ... Each time a regular ACK packet is received, and the substantial transfer rate is improved. cw
The number of nd segments increases until the TCP window size W is reached at time t 2 .

【0007】さらに、W.Richard Stevens著の「T
CP/IP Illustrated, Volume 1 」、21.6章
に記載されるように、“コンジェスチョン・アボイダン
ス”(congestion avoidance)と呼ばれる輻輳回避のた
めのフロー制御も提案されている。
Furthermore, W. Richard Teven's "T
As described in "CP / IP Illustrated, Volume 1", chapter 21.6, a flow control for congestion avoidance called "congestion avoidance" has been proposed.

【0008】コンジェスチョン・アボイダンスが組み込
まれたフロー制御では、前記スロー・スタートを開始す
る閾値ssthresh(slow start threshold size)
が追加され、重複アックあるいはタイムアウトに基づい
て輻輳が検知されると、前記ssthreshに現在の
ウインドウサイズ(cwndおよびTCPウインドウサ
イズの小さい方)の半分の値が登録される。
In the flow control in which the congestion avoidance is incorporated, the threshold value ssthresh (slow start threshold size) for starting the slow start.
Is added, and when congestion is detected based on a duplicate ack or a timeout, half of the current window size (the smaller of cwnd and TCP window size) is registered in the ssthresh.

【0009】さらに、輻輳がACKパケットのタイムア
ウトに基づいて検知されると、cwndに“1”が登録
される。cwndは正規のACKパケットが受信される
ごとに増加されるが、図10に示したように、cwnd
が前記ssthreshに達するまでは前記スロー・ス
タートと同様に指数関数的に増加し、時刻tにおい
て前記ssthreshを越えると、コンジェスチョン
・アボイダンスが開始されるので、正規のACKパケッ
トが受信されるごとに直線的に増加する。
Further, when congestion is detected based on the timeout of the ACK packet, "1" is registered in cwnd. Although cwnd is incremented each time a regular ACK packet is received, as shown in FIG.
Increases exponentially as in the slow start until reaching ssthresh, and when the ssthresh is exceeded at time t 2 , the congestion avoidance is started, so that a regular ACK packet is received. Increases linearly.

【0010】[0010]

【発明が解決しようとする課題】上記した従来技術で
は、ACKパケットのタイムアウトが検知されたり、転
送済みパケットの再送を受信局が要求して重複ACKと
なると、輻輳が発生したと判断してスロー・スタートあ
るいはコンジェスチョン・アボイダンスのフロー制御が
無条件で開始される。
In the above-mentioned prior art, when the timeout of the ACK packet is detected or the receiving station requests the retransmission of the transferred packet and the duplicate ACK occurs, it is judged that the congestion has occurred and thrown.・ Start or Congestion AVOIDANCE flow control starts unconditionally.

【0011】ここで、受信局はパケットロスによりデー
タパケットを受信できなかったときに当該パケットを指
定して再送を要求する一方で、受け取ったデータについ
ても、その正当性をチェックサムで判断し、データが壊
れている、すなわちランダム誤りが検知されると当該デ
ータを破棄して再送を要求する。
[0011] Here, when the receiving station cannot receive a data packet due to packet loss, it requests the resend by designating the packet, while also judging the validity of the received data with a checksum, When the data is corrupted, that is, when a random error is detected, the data is discarded and retransmission is requested.

【0012】しかしながら、パケットロスの多くは輻輳
に起因するものの、ランダム誤りは、ノイズや信号同士
の干渉といった、輻輳とは無関係な原因に起因すること
が多い。したがって、ランダム誤りが発生したときに輻
輳回避のためのフロー制御を実行しても、単にスループ
ットが低下するだけで通信品質は改善されない。
However, although many packet losses are caused by congestion, random errors are often caused by causes unrelated to congestion such as noise and interference between signals. Therefore, even if the flow control for avoiding the congestion is executed when the random error occurs, the throughput is merely decreased and the communication quality is not improved.

【0013】本発明の目的は、上記した従来技術の問題
点を解決し、パケットロスが発生して再送要求が送出さ
れても、これがランダム誤りに起因したものであれば、
輻輳回避のためのフロー制御を実行しないようにしたデ
ータ転送制御方法を提供することにある。
The object of the present invention is to solve the above-mentioned problems of the prior art, and even if a packet loss occurs and a retransmission request is sent, if this is due to a random error,
It is to provide a data transfer control method in which flow control for avoiding congestion is not executed.

【0014】[0014]

【課題を解決するための手段】上記した目的を達成する
ために、本発明では、受信局がパケットを指定して再送
を要求すると、送信局が指定のパケットを再送するパケ
ット交換型のデータ転送制御方法において、受信局は、
受信した各パケットにランダム誤りが生じているか否か
を検知する手順と、ランダム誤りを検知すると、当該パ
ケットを破棄すると共に、ランダム誤りを検知した旨の
情報を再送要求に付加して送信局へ転送する手順と、パ
ケットロスを検知して再送要求を送信局へ転送する手順
とを含み、送信局は、再送要求の付加情報に基づいて再
送原因を判別する手順と、パケットロスが原因の再送要
求であると、輻輳回避のためのフロー制御を開始してパ
ケット交換を継続する手順と、ランダム誤りが原因の再
送要求であると、輻輳回避のためのフロー制御を開始す
ることなくパケット交換を継続する手順とを含むことを
特徴とする。
In order to achieve the above object, according to the present invention, when a receiving station designates a packet and requests retransmission, the transmitting station retransmits the designated packet. In the control method, the receiving station is
Procedure to detect whether a random error has occurred in each received packet, and when a random error is detected, discard the packet and add information indicating that a random error has been detected to the retransmission request to the transmitting station. It includes a transfer procedure and a procedure for detecting a packet loss and transferring a retransmission request to the transmission station. The transmission station determines the retransmission cause based on the additional information of the retransmission request and the retransmission caused by the packet loss. If it is a request, the procedure to start flow control for congestion avoidance and continue packet exchange, and if it is a retransmission request due to a random error, perform packet exchange without starting flow control for congestion avoidance. And a continuing procedure.

【0015】上記した各手順を備えたことにより、受信
局は輻輳の有無とは無関係なランダム誤りが原因でパケ
ットを破棄して再送を要求する場合、輻輳が主因の非ラ
ンダム誤りが原因で失われたパケットの再送とを区別し
て要求する。送信局では、輻輳が原因の再送要求があっ
た場合のみ輻輳回避のためのフロー制御を開始し、輻輳
が原因ではない再送要求があった場合にはフロー制御を
開始しない。したがって、不必要なフロー制御が実行さ
れず、スループットの低下が防止される。
With the above-described procedures, when the receiving station discards a packet and requests retransmission due to a random error irrelevant to the presence or absence of congestion, it is lost due to a non-random error mainly due to congestion. The request is made separately from the retransmission of the lost packet. The transmitting station starts the flow control for avoiding congestion only when there is a retransmission request due to congestion, and does not start the flow control when there is a retransmission request not due to congestion. Therefore, unnecessary flow control is not executed, and a decrease in throughput is prevented.

【0016】[0016]

【発明の実施の形態】以下、図面を参照して本発明を詳
細に説明する。図1は、本実施形態における送信局の動
作を示したフローチャートであり、図2は、本実施形態
における受信局の動作を示したフローチャートである。
DETAILED DESCRIPTION OF THE INVENTION The present invention will be described in detail below with reference to the drawings. FIG. 1 is a flowchart showing the operation of the transmitting station in this embodiment, and FIG. 2 is a flowchart showing the operation of the receiving station in this embodiment.

【0017】送信局は、図1のステップS1において受
信局へSYNパケットを送信する。このSYNパケット
には、自局のTCPウインドウサイズWs および最大セ
グメント長MSSs が格納されている。ウインドウサイ
ズWs は、処理待ちデータを一時記憶するためのバッフ
ァメモリの容量に依存する。その後、ステップS2にお
いて、受信局から返送された(SYN+ACK)パケッ
トを受信すると、ステップS3では、これに応答してS
YNパケットを送信する。
The transmitting station transmits a SYN packet to the receiving station in step S1 of FIG. The TCP packet size Ws and the maximum segment length MSSs of the local station are stored in this SYN packet. The window size Ws depends on the capacity of the buffer memory for temporarily storing the waiting data. After that, in step S2, when the (SYN + ACK) packet returned from the receiving station is received, in step S3, in response to this, S
Send a YN packet.

【0018】ステップS4では、前記受信したパケット
に登録されている受信局のTCPウインドウサイズWr
および最大セグメント長MSSr を参照する。さらに、
自局のウインドウサイズWs と受信局のウインドウサイ
ズWr とを比較し、小さいほうのウインドウサイズ(こ
こでは、Ws >Wr とする)Wr をコンジェスチョン・
ウインドウcwndとして登録する。ステップS5で
は、送信局が前記cwndで定義されるセグメント数分
のデータパケットを転送する。
In step S4, the TCP window size Wr of the receiving station registered in the received packet is received.
And maximum segment length MSSr. further,
The window size Ws of the own station and the window size Wr of the receiving station are compared, and the smaller window size (here, Ws> Wr) Wr
Register as window cwnd. In step S5, the transmitting station transfers the data packets for the number of segments defined by the cwnd.

【0019】受信局は、図2のステップS31において
自局宛てのデータパケットを受信すると、ステップS3
2では、このデータパケットのTCPヘッダに格納され
ているチェックサム(誤り訂正符号)を用いてランダム
誤りの有無を調べ、ランダム誤りを検知すると、ステッ
プS33において当該パケットを破棄する。ステップS
34では、送信局へ返送するACKパケットのヘッダに
当該破棄したパケットの識別番号を登録する。ステップ
S35では、前記ACKパケットのヘッダ内に設けられ
たオプション領域に『ランダム誤りが原因でパケットを
破棄した』旨の識別コードを登録する。ステップS36
では、上記のようにして生成したACKパケットを送信
局へ返送し、データパケットの再送を要求する。
When the receiving station receives the data packet addressed to itself in step S31 of FIG. 2, step S3
In 2, the presence or absence of a random error is checked using the checksum (error correction code) stored in the TCP header of this data packet, and if a random error is detected, the packet is discarded in step S33. Step S
At 34, the identification number of the discarded packet is registered in the header of the ACK packet returned to the transmitting station. In step S35, an identification code indicating that the packet has been discarded due to a random error is registered in the option area provided in the header of the ACK packet. Step S36
Then, the ACK packet generated as described above is returned to the transmitting station to request retransmission of the data packet.

【0020】一方、前記ステップS32において、受け
取ったデータパケットにランダム誤りが無いと、ステッ
プS38ではパケットロスの有無が判定される。パケッ
トロスが生じていなければ、ステップS39において正
規のACKパケットを転送してステップS31へ戻る。
また、前記ステップS38において、パケットロスが検
知されると、ステップS40では、ACKパケットのヘ
ッダに、パケットロスにより失われたデータパケットの
識別番号を登録し、オプション領域には前記識別コード
を登録せずに送信局へ返送する。
On the other hand, if there is no random error in the received data packet in step S32, it is determined in step S38 whether or not there is a packet loss. If no packet loss has occurred, a regular ACK packet is transferred in step S39 and the process returns to step S31.
When a packet loss is detected in step S38, the identification number of the data packet lost due to the packet loss is registered in the header of the ACK packet and the identification code is registered in the option area in step S40. Without returning to the sending station.

【0021】図1に戻り、送信局は、ステップS6にお
いて自局宛てのACKパケットを受信すると、ステップ
S7では、ACK信号のヘッダに登録されている識別番
号を参照して重複ACKか否かを判定し、重複ACKで
なければ、ステップS5へ戻ってパケット転送を継続す
る。
Returning to FIG. 1, when the transmitting station receives the ACK packet addressed to itself in step S6, in step S7, the transmitting station refers to the identification number registered in the header of the ACK signal to determine whether or not there is a duplicate ACK. If it is determined that it is not a duplicate ACK, the process returns to step S5 to continue the packet transfer.

【0022】これに対して、前記ステップS7において
重複ACKと判定されると、ステップS8では、当該A
CKパケットのヘッダに設けられたオプション領域を参
照する。ステップS9では、このオプション領域に前記
『ランダム誤りが原因でパケットを破棄した』旨の識別
コードが格納されているか否かが判定される。この識別
コードは、受信局が前記ステップS35において登録す
るものである。
On the other hand, if a duplicate ACK is determined in step S7, then in step S8 the A
Refer to the option area provided in the header of the CK packet. In step S9, it is determined whether or not the identification code of "Discarded packet due to random error" is stored in this option area. This identification code is registered by the receiving station in step S35.

【0023】前記識別コードが登録されていると、輻輳
とは無関係なノイズや干渉等が原因でパケットが失われ
たものと判定し、輻輳回避のためのフロー制御を開始す
ることなく、再送要求のあったパケットをステップS1
6において再送する。また、ACKパケットのヘッダに
前記識別コードが登録されていないと、パケットロス等
の、輻輳が主因の非ランダム誤りによってパケットが失
われたものと判断してステップS10へ進む。ステップ
S10では、前記ssthreshに、現在のウインド
ウサイズWrの半分の値Wr/2が登録される。ステッ
プS11では、コンジェスチョン・アボイダンス方式に
よるフロー制御が開始される。
When the identification code is registered, it is determined that a packet is lost due to noise or interference unrelated to congestion, and a retransmission request is issued without starting flow control for congestion avoidance. If there is a packet, step S1
Resend at 6. If the identification code is not registered in the header of the ACK packet, it is determined that the packet is lost due to a non-random error mainly due to congestion such as packet loss, and the process proceeds to step S10. In step S10, a value Wr / 2 which is half the current window size Wr is registered in the ssthresh. In step S11, the flow control by the congestion / avoidance method is started.

【0024】一方、ステップS12においてACK信号
のタイムアウトが検知され、これに基づいて輻輳の発生
が認識されると、ステップS13では、前記ステップS
10と同様に、現在のウインドウサイズWrの半分の値
Wr/2がssthreshに登録される。
On the other hand, when the timeout of the ACK signal is detected in step S12 and the occurrence of congestion is recognized based on this, in step S13, the step S13 is executed.
Similar to 10, the half value Wr / 2 of the current window size Wr is registered in ssthresh.

【0025】ステップS14では、cwndのセグメン
ト数が“1”に設定される。ステップS15ではスロー
・スタート制御が開始され、正規のACK信号を受け取
るごとにcwndのセグメント数が指数関数的に増加す
る。
In step S14, the number of segments of cwnd is set to "1". In step S15, slow start control is started, and the number of cwnd segments exponentially increases each time a regular ACK signal is received.

【0026】なお、前記ステップS15のスロー・スタ
ート制御では、cwndのセグメント数が増加するごと
に、ステップS15aにおいてcwndとssthre
shとが比較される。そして、cwndがssthre
shよりも小さい場合はスロー・スタート制御が継続さ
れるが、cwndがssthreshを越えると、当該
処理は、スロー・スタート制御からステップS11へ進
んでコンジェスチョン・アボイダンス制御へ移行する。
したがって、その後は、cwndがTCPウインドウサ
イズWr に達するまで、正規のACK信号を受け取るご
とに、cwndのセグメント数が直線的に増加する。
In the slow start control of step S15, as the number of segments of cwnd increases, cwnd and ssthre are increased in step S15a.
sh is compared. And cwnd is ssthre
If it is smaller than sh, the slow start control is continued, but if cwnd exceeds ssthresh, the process proceeds from the slow start control to step S11 and shifts to the congestion avoidance control.
Therefore, thereafter, the number of segments of cwnd increases linearly each time a regular ACK signal is received until cwnd reaches the TCP window size Wr.

【0027】上記したように、本実施形態によれば、輻
輳が原因の再送要求があった場合のみ輻輳回避のための
フロー制御が開始され、輻輳とは無関係な再送要求があ
った場合にはフロー制御が開始されない。したがって、
不必要なフロー制御が実行されないのでスループットが
低下せず、転送速度の低下が防止される。
As described above, according to the present embodiment, flow control for avoiding congestion is started only when there is a retransmission request due to congestion, and when there is a retransmission request irrelevant to congestion. Flow control does not start. Therefore,
Since unnecessary flow control is not executed, throughput does not decrease, and transfer rate decrease is prevented.

【0028】次いで、SACK (Selective ACK)オ
プションを併用した第2の実施形態について説明する。
SACKオプションとは、確立された接続上で、従来よ
りも拡張されたACK情報をやり取りする機能であり、
特に、受信局がパケットを不連続にしか受信できない
と、正規に受信できたパケットの識別情報のみを送信局
へ通知することで、不足しているパケットの再送を選択
的に要求する。
Next, a second embodiment using the SACK (Selective ACK) option together will be described.
The SACK option is a function for exchanging ACK information extended over the conventional connection on the established connection,
In particular, when the receiving station can receive the packets only discontinuously, the transmitting station is notified only of the identification information of the packet which can be received normally, thereby selectively requesting the retransmission of the missing packet.

【0029】図3は、従来のSACKオプションのフォ
ーマットを示した図であり、SACKオプションの種別
を表す“オプション種別”領域と、長さを表す“長さ”
領域と、正規に受信できたデータの始点を相対的に表す
“相対位置”領域と、前記データのサイズを表す“ブロ
ックサイズ”領域とから構成される。
FIG. 3 is a diagram showing a format of a conventional SACK option, which is an "option type" area indicating the type of the SACK option and a "length" indicating the length.
It is composed of an area, a "relative position" area that relatively represents the start point of the data that can be properly received, and a "block size" area that represents the size of the data.

【0030】例えば、図4に示したように、相対位置
“0”から“500”までのデータおよび相対位置“2
500”から“3500”までのデータがランダム誤り
により破棄され、相対位置“1500”から“200
0”までのデータが非ランダム誤りにより失われている
と、正規に受信できたデータは、相対位置“500”か
ら“1500”までの“1000”ブロック分と、相対
位置“2000”から“2500”までの500ブロッ
ク分と、相対位置“3500”から“4000”までの
500ブロック分とになる。
For example, as shown in FIG. 4, data from relative position "0" to "500" and relative position "2".
Data from "500" to "3500" are discarded due to random errors, and relative positions from "1500" to "200"
If the data up to 0 "is lost due to a non-random error, the data that can be properly received is the" 1000 "block from the relative position" 500 "to" 1500 "and the relative position" 2000 "to" 2500 ". And 500 blocks from the relative position "3500" to "4000".

【0031】前記SACKオプションの“相対位置”領
域および“ブロックサイズ”領域には、正規に受信でき
たデータを特定するための情報のみが格納されるので、
前記相対位置“500”から“1500”までの“10
00”ブロック分のデータについては、“相対位置”領
域およびブロックサイズ”領域に、それぞれ“500”
および“1000”が登録される。同様に、相対位置
“2000”から“2500”までの500ブロック分
のデータについては、“相対位置”領域およびブロック
サイズ”領域のそれぞれに“2000”および“50
0”が登録される。同様に、相対位置“3500”から
“4000”までの500ブロック分のデータについて
は、“相対位置”領域およびブロックサイズ”領域のそ
れぞれに“3500”および“500”が登録される。
In the "relative position" area and the "block size" area of the SACK option, only the information for specifying the data that can be properly received is stored.
"10" from the relative position "500" to "1500"
For data of "00" blocks, "500" is set in the "relative position" area and the block size area, respectively.
And “1000” are registered. Similarly, for the data of 500 blocks from the relative position “2000” to “2500”, “2000” and “50” are set in the “relative position” area and the block size area, respectively.
0 is registered. Similarly, for the data of 500 blocks from the relative position “3500” to “4000”, “3500” and “500” are set in the “relative position” area and the block size ”area, respectively. be registered.

【0032】これに対して、本実施形態で用いるSAC
Kオプションのフォーマットは、図5に示したように、
2バイトの“マスク”領域が追加されている。この“マ
スク”領域の各ビットには、正規に受信できなかった各
データブロックの相対的な位置関係が、ランダム誤りお
よび非ランダム誤りを区別されて登録される。本実施形
態では、正規に受信できなかった最初のブロック(0〜
500)はランダム誤りが原因なので、例えば“1”が
登録される。正規に受信できなかった次のブロック(1
500〜2000)は非ランダム誤りが原因なので、例
えば“0”が登録される。
On the other hand, the SAC used in this embodiment
The format of the K option is as shown in FIG.
A 2-byte "mask" area has been added. In each bit of this "mask" area, the relative positional relationship of each data block that cannot be received properly is registered by distinguishing between random error and non-random error. In this embodiment, the first block (0 to
Since "500" is caused by a random error, "1" is registered, for example. The next block (1
(500 to 2000) is caused by a non-random error, so "0" is registered, for example.

【0033】このACKパケットを受け取った送信局は
前記マスク領域を参照し、例えば図6に示したように、
ハッチングを付していない非ランダム誤りのブロック
が、ハッチングを付したランダム誤りのブロックに囲ま
れてると、非ランダム誤りもランダム誤りとみなして輻
輳回避のためのフロー制御を行わない。
The transmitting station receiving this ACK packet refers to the mask area and, for example, as shown in FIG.
When a non-random error block without hatching is surrounded by a random error block with hatching, the non-random error is also regarded as a random error and flow control for congestion avoidance is not performed.

【0034】すなわち、TCP層において非ランダム誤
りとして扱われるパケットの中には、IPヘッダにラン
ダム誤りが生じたためにIP層で破棄されたパケットも
含まれる。しかしながら、IPヘッダのランダム誤りも
輻輳が原因ではないので、フロー制御を開始しても無意
味である。にもかかわらず、TCP層では輻輳によりパ
ケットロスが発生したのか、あるいは前記IP層で破棄
されたのかを区別できず、単にパケットロスと判断して
しまう。経験上、非ランダム誤りのブロックがランダム
誤りのブロックに挟まれている場合、この非ランダム誤
りはランダム誤りに起因したものである可能性が極めて
高いので、本実施形態では、図6のようにランダム誤り
で挟まれたブロックは非ランダム誤りとみなすようにし
た。
That is, the packet treated as a non-random error in the TCP layer includes a packet discarded in the IP layer due to a random error in the IP header. However, the random error in the IP header is not caused by the congestion, and thus starting the flow control is meaningless. Nevertheless, in the TCP layer, it is not possible to distinguish whether a packet loss has occurred due to congestion or has been discarded in the IP layer, and it is simply judged as a packet loss. From experience, when a block having a non-random error is sandwiched between blocks having a random error, it is highly likely that this non-random error is caused by the random error. Therefore, in this embodiment, as shown in FIG. Blocks sandwiched by random errors were considered as non-random errors.

【0035】同様に、図7に示したように、非ランダム
誤りのブロック数がランダム誤りのブロックに比べて極
端に少ない場合も、この非ランダム誤りをランダム誤り
と見なす。これに対して、図8に示したように、ランダ
ム誤りのブロック数に比べて非ランダム誤りのブロック
数が多い場合は、真に非ランダム誤りが発生していると
認識して輻輳回避のためのフロー制御を行う。
Similarly, as shown in FIG. 7, when the number of non-random error blocks is extremely smaller than that of random error blocks, this non-random error is regarded as a random error. On the other hand, as shown in FIG. 8, when the number of non-random error blocks is larger than the number of random error blocks, it is recognized that a true non-random error has occurred and congestion is avoided in order to avoid congestion. Flow control.

【0036】上記したように、本実施形態によれば、S
ACKオプションを併用した場合も不必要なフロー制御
が実行されないので、スループットの低下が防止され
る。
As described above, according to this embodiment, S
Even when the ACK option is used together, unnecessary flow control is not executed, so that the reduction in throughput is prevented.

【0037】なお、送信局は上記のようにして受信局か
ら受け取ったACKパケットのマスク領域を参照するこ
とでビット誤り率pを予測することができるので、フロ
ー制御の実施と共に、ビット誤り率pや通信速度に基づ
いてパケット長を適宜に調整すれば、非ランダム誤りの
発生率自身を低減させることができる。
Since the transmitting station can predict the bit error rate p by referring to the mask area of the ACK packet received from the receiving station as described above, the bit error rate p can be calculated with the flow control. By appropriately adjusting the packet length based on the communication speed or the communication speed, the occurrence rate of non-random errors can be reduced.

【0038】[0038]

【発明の効果】本発明によれば、輻輳が原因の再送要求
があった場合のみ輻輳回避のためのフロー制御が開始さ
れ、輻輳とは無関係な再送要求があった場合にはフロー
制御が開始されない。したがって、不必要なフロー制御
が実行されないのでスループットが低下せず、転送速度
の低下が防止される。
According to the present invention, flow control for avoiding congestion is started only when there is a retransmission request due to congestion, and flow control is started when there is a retransmission request unrelated to congestion. Not done. Therefore, since unnecessary flow control is not executed, throughput does not decrease, and decrease in transfer rate is prevented.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明における送信局の動作を示したフローチ
ャートである。
FIG. 1 is a flowchart showing an operation of a transmitting station according to the present invention.

【図2】本発明における受信局の動作を示したフローチ
ャートである。
FIG. 2 is a flowchart showing the operation of the receiving station in the present invention.

【図3】従来のSACKオプションのフォーマットを示
した図である。
FIG. 3 is a diagram showing a format of a conventional SACK option.

【図4】従来のSACKオプションの機能を説明するた
めの図である。
FIG. 4 is a diagram for explaining a function of a conventional SACK option.

【図5】本発明のSACKオプションのフォーマットを
示した図である。
FIG. 5 is a diagram showing a format of a SACK option of the present invention.

【図6】本発明のマスクの機能を模式的に示した図であ
る。
FIG. 6 is a diagram schematically showing the function of the mask of the present invention.

【図7】本発明のマスクの機能を模式的に示した図であ
る。
FIG. 7 is a diagram schematically showing the function of the mask of the present invention.

【図8】本発明のマスクの機能を模式的に示した図であ
る。
FIG. 8 is a diagram schematically showing the function of the mask of the present invention.

【図9】スロー・スタートを説明するための図である。FIG. 9 is a diagram for explaining slow start.

【図10】コンジェスチョン・アボイダンスを説明する
ための図である。
FIG. 10 is a diagram for explaining a congestion aboy dance.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開2000−134279(JP,A) 特開 平11−122296(JP,A) 近藤 栄一、渥美 幸雄、吉田 彰 顕,パケット紛失量に応じたTCP輻輳 制御方式の評価,信学技報 CQ98− 16,1998年 7月23日 近藤 栄一、渥美 幸雄,高速環境に おけるSACK−TCPの評価と考察, 信学技報 SSE97−114,1997年 9 月30日 田村 陽介、戸辺 義人、徳田 英 幸,無線LAN環境におけるTCPの再 送方式の提案と実装,情処研報 98−O S−78−10,1998年 5月 7日 (58)調査した分野(Int.Cl.7,DB名) H04L 12/56 H04L 29/08 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP 2000-134279 (JP, A) JP 11-122296 (JP, A) Eiichi Kondo, Yukio Atsumi, Akiyoshi Yoshida, TCP according to packet loss Evaluation of congestion control method, IEICE Technical Report CQ98-16, July 23, 1998 Eiichi Kondo, Yukio Atsumi, Evaluation and consideration of SACK-TCP in high-speed environment, IEICE Technical Report SSE97-114, September 1997 30th: Yosuke Tamura, Yoshito Tobe, Hideyuki Tokuda, Proposal and implementation of TCP re-transmission method in wireless LAN environment, Research Institute of Information 98-OS-78-10, May 7, 1998 (58) Field (Int.Cl. 7 , DB name) H04L 12/56 H04L 29/08

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 受信局がパケットを指定して再送を要求
すると、送信局が指定のパケットを再送するパケット交
換型のデータ転送制御方法において、 受信局は、 受信した各パケットにランダム誤りが生じているか否か
を検知する手順と、 ランダム誤りを検知すると、当該パケットを破棄すると
共に、ランダム誤りを検知した旨の情報を再送要求に付
加して送信局へ転送する手順と、 パケットロスを検知して再送要求を送信局へ転送する手
順とを含み、 送信局は、 再送要求の付加情報に基づいて再送原因を判別する手順
と、 パケットロスが原因の再送要求であると、輻輳回避のた
めのフロー制御を開始してパケット交換を継続する手順
と、 ランダム誤りが原因の再送要求であると、輻輳回避のた
めのフロー制御を開始することなくパケット交換を継続
する手順とを含むことを特徴とするデータ転送制御方
法。
1. In a packet-switching type data transfer control method in which a receiving station designates a packet and requests retransmission, the transmitting station retransmits the designated packet. In the data transfer control method, the receiving station causes a random error in each received packet. Whether or not a random error is detected, the packet is discarded, and information to detect the random error is added to the retransmission request and transferred to the transmitting station, and packet loss is detected. Then, the transmitting station determines the retransmission cause based on the additional information of the retransmission request and the retransmission request is caused by the packet loss. The procedure to start the flow control of the packet and continue the packet exchange, and the retransmission request due to the random error causes the packet to be transmitted without starting the flow control for avoiding the congestion. The data transfer control method characterized by including a step of continuing the conversion.
【請求項2】 受信局がパケットを指定して再送を要求
すると、送信局が指定のパケットを再送するパケット交
換型のデータ転送制御方法において、 受信局は、 正規に受信できなかったパケットについて、その原因が
ランダム誤りおよび非ランダム誤りのいずれであるかを
判別する手順と、 連続する複数のパケットを、正規に受信できたパケッ
ト、ランダム誤りが原因で正規に受信できなかったパケ
ット、および非ランダム誤りが原因で正規に受信できな
かったパケットに分類して分類結果を送信局へ転送する
手順とを含み、 前記送信局は、 前記分類結果に基づいて、前記各非ランダム誤りがラン
ダム誤りに起因したものであるか否かを判定する手順
と、 全ての非ランダム誤りがランダム誤りに起因したものと
判定されると、輻輳回避のためのフロー制御を開始する
ことなくパケット交換を継続し、ランダム誤りに起因し
たものではない非ランダム誤りがあると、輻輳回避のた
めのフロー制御を開始してパケット交換を継続すること
を特徴とするデータ転送制御方法。
2. In a packet-switching type data transfer control method, in which when a receiving station designates a packet and requests retransmission, the transmitting station retransmits the designated packet. A procedure for determining whether the cause is a random error or a non-random error, and a series of packets that could be received normally, packets that could not be received properly due to a random error, and non-random And a step of transferring the classification result to the transmitting station by classifying into packets that could not be properly received due to an error, the transmitting station, based on the classification result, each non-random error is caused by a random error. If it is determined that all non-random errors are due to random errors, it is possible to avoid congestion. The feature is that packet switching is continued without starting flow control to start congestion control, and if there is a non-random error that is not due to a random error, flow control for congestion avoidance is started and packet switching is continued. Data transfer control method.
【請求項3】 前記受信局から送信局へ転送される分類
結果は、ランダム誤りと判別されたパケットと非ランダ
ム誤りと判別されたパケットとの相対的な位置関係を表
す情報を含み、 前記非ランダム誤りが実質的なランダム誤りであるか否
かを判定する手順は、ランダム誤り数および非ランダム
誤り数と、前記相対的な位置関係とに基づいて判定する
ことを特徴とする請求項2に記載のデータ転送制御方
法。
3. The classification result transferred from the receiving station to the transmitting station includes information indicating a relative positional relationship between a packet discriminated as a random error and a packet discriminated as a non-random error. The procedure for determining whether a random error is a substantially random error is based on the number of random errors and the number of non-random errors, and the relative positional relationship. Described data transfer control method.
JP32776698A 1998-11-18 1998-11-18 Data transfer control method Expired - Fee Related JP3527111B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32776698A JP3527111B2 (en) 1998-11-18 1998-11-18 Data transfer control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32776698A JP3527111B2 (en) 1998-11-18 1998-11-18 Data transfer control method

Publications (2)

Publication Number Publication Date
JP2000151707A JP2000151707A (en) 2000-05-30
JP3527111B2 true JP3527111B2 (en) 2004-05-17

Family

ID=18202758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32776698A Expired - Fee Related JP3527111B2 (en) 1998-11-18 1998-11-18 Data transfer control method

Country Status (1)

Country Link
JP (1) JP3527111B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002124992A (en) * 2000-08-10 2002-04-26 Kddi Corp Data file distribution method by multicast
JP4579719B2 (en) * 2005-03-03 2010-11-10 パナソニック株式会社 Communication apparatus and data retransmission method
JP4628194B2 (en) * 2005-06-14 2011-02-09 株式会社エヌ・ティ・ティ・ドコモ Communication device, required time measurement method and communication control method
JP4924503B2 (en) 2008-03-25 2012-04-25 富士通株式会社 Congestion detection method, congestion detection apparatus, and congestion detection program
WO2010100837A1 (en) * 2009-03-06 2010-09-10 日本電気株式会社 Communication rate control method, transmission apparatus, and communication system
GB2505888B (en) * 2012-09-12 2014-11-05 Toshiba Res Europ Ltd Method for interference & congestion detection with multiple radio technologies
JP6758858B2 (en) * 2016-02-29 2020-09-23 キヤノン株式会社 Communication equipment, communication methods and programs

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
田村 陽介、戸辺 義人、徳田 英幸,無線LAN環境におけるTCPの再送方式の提案と実装,情処研報 98−OS−78−10,1998年 5月 7日
近藤 栄一、渥美 幸雄,高速環境におけるSACK−TCPの評価と考察,信学技報 SSE97−114,1997年 9月30日
近藤 栄一、渥美 幸雄、吉田 彰顕,パケット紛失量に応じたTCP輻輳制御方式の評価,信学技報 CQ98−16,1998年 7月23日

Also Published As

Publication number Publication date
JP2000151707A (en) 2000-05-30

Similar Documents

Publication Publication Date Title
US7599402B2 (en) Communication device and method
US8332706B2 (en) Transport layer control device, method for transmitting packet, and method for receiving packet
JP4283589B2 (en) COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
US20070115881A1 (en) Data link transmission control methods, mobile communication systems, and data link transmission control apparatus
JPH05207023A (en) Mass data transmitting method
JP2002152308A (en) Data communication system, data communication method, and recording medium with communication program recorded therein
US20030128672A1 (en) Transmission and flow control
JP3527111B2 (en) Data transfer control method
US7590888B2 (en) Receiving device and transmitting device for determining errors in transmission
JP2005244897A (en) Communication method with reliability and apparatus therefor
JP3434231B2 (en) TCP control method
US20030137948A1 (en) Retransmission control in wireless packet data networks
JP4364763B2 (en) Data communication device
EP1505759B1 (en) Method and device for transmitting/receiving data using acknowledged transport layer protocols
JP3000546B2 (en) Congestion control method
JP3665309B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND COMMUNICATION METHOD
CN113424578A (en) Transmission control protocol acceleration method and device
Buchholcz et al. Explicit loss notification to improve TCP performance over wireless networks
JP3106405B2 (en) Retransmission control method
KR20050013777A (en) Method for controlling congestion of TCP for reducing the number of retransmission timeout
JP2004222271A (en) Transmission control method, communication equipment, communication system and program
CN117692367A (en) RDP redundant data transmission method
CN115499108A (en) Closed-loop network communication method and system based on UDP protocol
Zhizhao et al. Improving TCP performance over wireless links using link-layer retransmission and explicit loss notification
JP2000115241A (en) Data transfer control method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040119

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: 20040210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040218

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: 20100227

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110227

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees