JP3158357B2 - 再送制御方法 - Google Patents

再送制御方法

Info

Publication number
JP3158357B2
JP3158357B2 JP24943998A JP24943998A JP3158357B2 JP 3158357 B2 JP3158357 B2 JP 3158357B2 JP 24943998 A JP24943998 A JP 24943998A JP 24943998 A JP24943998 A JP 24943998A JP 3158357 B2 JP3158357 B2 JP 3158357B2
Authority
JP
Japan
Prior art keywords
packet
retransmission
retransmission control
ack
transmitting
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
JP24943998A
Other languages
English (en)
Other versions
JP2000078195A (ja
Inventor
栄一 近藤
幸雄 渥美
Original Assignee
株式会社超高速ネットワーク・コンピュータ技術研究所
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 株式会社超高速ネットワーク・コンピュータ技術研究所 filed Critical 株式会社超高速ネットワーク・コンピュータ技術研究所
Priority to JP24943998A priority Critical patent/JP3158357B2/ja
Publication of JP2000078195A publication Critical patent/JP2000078195A/ja
Application granted granted Critical
Publication of JP3158357B2 publication Critical patent/JP3158357B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、再送制御方法に関
し、特に選択的送達確認を行う機能を有するTCPにお
ける再送制御方法に関するものである。
【0002】
【従来の技術】一般に、レイヤ4プロトコルの代表例と
して、インターネットで広く用いられているTCP(Tr
ansmission Control Protocol )であるRenoアルゴ
リズムでは、タイムアウトの発生または3つの重複AC
Kパケット受信に応じてパケット紛失を検出し、再送制
御を行うものとなっている。タイムアウトによる再送で
は、RTT(Round Trip Time )と送信側のタイマー精
度により決定されるので、その起動には比較的長い時間
を要する。
【0003】また、重複ACKパケット受信による再送
では、図4に示すように、すでに受信しているACK
(受信確認応答)パケット41と同じ受信シーケンス番
号(Acknowledgement Number)が格納されたACKパケ
ット42〜44を3つ受信することにより、パケット紛
失と判断して再送動作を行う。これは、下位レイヤに送
達順序が保証されないことを考慮し、パケット到着順序
が入れ替わってしまった場合に対応するためである。
【0004】この重複ACKパケットによる再送制御
は、タイムアウトによる再送に比べて高速に処理される
ので、Fast Retransmit(高速再送制御)と呼ばれてい
る。また、SACK(選択的送達確認:Selective Ackn
owledgement)オプションを用いた再送方式は特に規定
されておらず、従来の方式を保存すべきとだけ記されて
いる。したがって、従来のReno−TCPと同様に、
複数の重複SACKを受信することにより、再送動作を
行うのが一般的である。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の再送制御方法では、重複ACKパケットによ
るパケット紛失検出には、送信側で最初のACKパケッ
トとその後の重複ACKパケット3つ分の合計4つのA
CKパケットを受信する必要があるが、Reno−TC
Pでは、重複ACKパケットによるパケット紛失を検出
するごとに、ネットワークが輻輳であると判断して、送
信側の送信可能パケット数を示す輻輳ウィンドウサイズ
cwndの値を1/2にするため、これが頻発する状況
ではcwndの値が4パケット以下になる場合がある。
【0006】ここで、図5に示すように、例えば送信側
のcwndが4パケットとなり、このうちの1パケット
が紛失したとすると、受信側ではパケット受信ごとにA
CKパケットを返送するので、送信側で受信しうるAC
Kパケットが、最初のACKパケット51と重複ACK
パケット52,53の2つ分で合計3となり、3つの重
複ACKパケットが受信されず、Fast Retransmit の動
作に至らない。したがって、タイムアウトが検出される
まで、送信が中断してしまうという問題点があった。
【0007】また、送信側の重複ACKパケット受信数
は、パケット紛失以降に受信側に届いたパケット数と、
受信側から送信側へのACKパケット伝送状況とにより
変化する可能性がある。したがって、送信側のcwnd
が5以上の場合でも、前述と同様にして3つの重複AC
Kパケットが受信されず、送信中断が発生することがあ
り得るという問題点があった。
【0008】本発明はこのような課題を解決するための
ものであり、SACKオプションをサポートしたRen
o−TCPにおいて、パケット順序の入れ替わりによる
誤再送の影響を抑制しながら、パケット紛失が頻繁に発
生する状況であっても効率よくデータ転送を行うことが
できる再送制御方法を提供することを目的としている。
【0009】
【課題を解決するための手段】このような目的を達成す
るために、本発明による再送制御方法は、送信ノードで
は、選択的送達確認情報によりパケット紛失が通知され
た場合であって、かつ輻輳ウィンドウサイズcwndが
所定しきい値以下の場合にのみ、通知された紛失パケッ
トを直ちに再送するようにしたものである。
【0010】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は本発明の一実施の形態である再送
制御方法を示すフローチャート、図2は再送制御動作例
を示すシーケンス図、図3は再送制御方法が適用される
通信システムを示すブロック図である。図3において、
送信ノード1および受信ノード2は、それぞれ通信網
(ネットワーク)3に接続されており、通信網3に所定
のコネクションを設定し、そのコネクションを介してパ
ケットによるデータ転送を行う。
【0011】送信ノード1および受信ノード2におい
て、アプリケーション処理部5は、上位アプリケーショ
ンを実行する処理部である。また、レイヤ4処理部6
は、コネクションの設定解放、フロー制御および再送制
御などに基づいたデータ送受信処理を行う処理部、下位
レイヤ処理部7は、フレームの組立/分解などレイヤ2
の処理、およびルーティングなどのレイヤ3の処理を行
う処理部である。
【0012】レイヤ4処理部6で実行されるTCP(プ
ロトコルレイヤ4)のフロー制御はウィンドウ方式と
し、輻輳制御用パラメータとして、通信相手がパケット
受信可能量として宣言した受信ウィンドウサイズadw
ndの他に、通信網3の転送状況を反映したパケット送
信可能量を示す輻輳ウィンドウサイズcwndを有して
おり、送信ノード1は、これら両パラメータに基づいて
データパケットを所定数づつ受信ノード2宛に送信す
る。
【0013】本発明では、TCPのSACKオプション
を用いる場合を前提としており、レイヤ4処理部で実行
されるTCPのコネクション設定処理では、送信ノード
1と受信ノード2との間でコネクションを設定する場
合、SACKオプションを用いることが相互に確認され
る。なお、SACKオプションとは、データパケットの
紛失が受信ノード2で検出された場合、紛失パケット以
降に受信されたデータパケットを示すSACK情報(選
択的送達確認情報)をACK(受信確認応答)パケット
に格納して送信ノード1に通知する機能である。
【0014】以下、図1,2を参照して、本発明の動作
について説明する。図2において、まず送信ノードから
cwnd(=4)の範囲でデータパケット(DT1〜D
T4)が送信される。受信ノード2では、送信ノード1
からのデータパケットを受信するごとに、そのデータパ
ケットに格納されている送信シーケンス番号を検出し、
これを受信シーケンス番号としてACKパケットに格納
し返送する。したがって、DT1を受信した時点でAC
Kパケット(DT1のACKパケットを示すACK1)
21が返送される。
【0015】ここで、DT2が紛失した場合、受信ノー
ド2ではDT1の次にDT3を受信する。そして、SA
CK情報として、パケット紛失以降に受信したデータパ
ケットDT3を示す送信シーケンス番号をACKパケッ
ト22に格納して返送する。このとき、ACKパケット
22の受信シーケンス番号には、連続して正常受信され
た最後のデータパケットDT1の送達確認を示すシーケ
ンス番号が設定される。
【0016】一方、送信ノード1では、ACKパケット
21により、データパケットDT1の受信を確認する。
そして、次のACKパケット22では、そのACKパケ
ット22に格納されているSACK情報に基づいて、パ
ケット紛失すなわち受信データパケットの不連続部分
(ホール)を検出し、図1に示す再送制御処理を実行す
る。
【0017】まず、ホール検出時のcwndが所定のし
きい値th以下かどうか判断し(ステップ11)、しき
い値th以下の場合は(ステップ11:YES)、直ち
に再送処理を実行する(ステップ12)。この再送処理
では、検出したホールに対応するデータパケット、ここ
ではDT2を受信ノード2へ再送する。
【0018】また、ホール検出時のcwndが所定のし
きい値thより大きい場合は(ステップ11:NO)、
重複ホールカウンタが規定値以下かどうか判断する(ス
テップ13)。そして、規定値以下の場合は(ステップ
13:YES)、SACK情報で通知された紛失分だけ
重複ホールカウンタをインクリメント(加算)する(ス
テップ14)。
【0019】一方、重複ホールカウンタが規定値(例え
ば、Fast Retransmit の考えに基づくならば、規定値=
3)を上回った場合は(ステップ13:NO)、前述の
ステップ12と同様に再送処理を行う(ステップ1
5)。これにより、cwnd値がしきい値より大きい場
合は、SACK情報を用いた場合でも、重複ACKパケ
ットによるパケット紛失検出と同様の再送制御を実現で
きる。なお、再送処理(ステップ12,15)では、該
当パケットの送信、タイムアウト監視用タイマのキャン
セル、重複ホールカウンタのクリアなどを行う。
【0020】このように、受信ノード2から通知された
SACK情報に基づいて、パケット紛失を検出した場合
は、cwnd値がしきい値以下の場合にのみ、その紛失
パケットの再送を行うようにしたので、cwnd値が小
さく、Fast Retransmit の重複ACKパケットによる再
送要否判定に必要なACKパケット数を得られるデータ
パケットを送信できない場合や、ACKパケットそのも
のが紛失して重複ACKパケットによる再送要否判定に
必要なACKパケット数が得られない場合でも、タイム
アウトによる再送制御の起動を待つことなく、直ちに紛
失パケットを再送できる。
【0021】なお、SACKオプションをサポートしな
いTCPでは、連続したデータの最後の部分のみが分か
り、それ以降はどの部分が紛失しているのか判断できな
いが、以降の全てを再送することは効率的ではない。し
かし、SACK情報により紛失パケットは限定されてい
るので、誤って再送を行ったとしても、再送効率が大き
く低下することはない。
【0022】
【発明の効果】以上説明したように、本発明は、選択的
送達確認情報(SACK情報)によりパケット紛失が通
知された場合であって、かつ輻輳ウィンドウサイズcw
ndが所定しきい値以下の場合にのみ、通知された紛失
パケットを直ちに再送するようにしたので、SACKオ
プションをサポートしたReno−TCPにおいて、パ
ケット順序の入れ替わりによる誤再送の影響を抑制しな
がら、パケット紛失が頻繁に発生する状況であっても効
率よくデータ転送を行うことができる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態による再送制御方法を
示すフローチャートである。
【図2】 本発明による再送制御動作例を示すシーケン
ス図である。
【図3】 本発明の再送制御方法が適用される通信シス
テムを示すブロック図である。
【図4】 従来の再送制御動作例を示すシーケンス図で
ある。
【図5】 従来の他の再送制御動作例を示すシーケンス
図である。
【符号の説明】
1…送信ノード、2…受信ノード、3…通信網、5…ア
プリケーション処理部、6…レイヤ4処理部、7…下位
レイヤ処理部。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 情処研報98−OS−78,78−10「無線 LAN環境におけるTCPの再送方式の 提案と実験」 信学技報IN97−107 信学技報SAT98−27 RFC2018

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 所定コネクションを介して接続された送
    受信ノード間で、レイヤ4プロトコルにより、ネットワ
    ークの転送能力を推定した輻輳ウィンドウサイズcwn
    dに基づいて送信ノードからデータパケットを送信し、
    このデータパケット受信に応じて受信ノードからその受
    信確認応答を示すACKパケットを返送するとともに、
    データパケットの紛失状況を示す選択的送達確認情報
    (SACK情報)をACKパケットにより通知する通信
    システムにおいて、 送信ノードでは、選択的送達確認情報によりパケット紛
    失が通知された場合であって、かつ輻輳ウィンドウサイ
    ズcwndが所定しきい値以下の場合にのみ、通知され
    た紛失パケットを直ちに再送することを特徴とする再送
    制御方法。
JP24943998A 1998-09-03 1998-09-03 再送制御方法 Expired - Fee Related JP3158357B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24943998A JP3158357B2 (ja) 1998-09-03 1998-09-03 再送制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24943998A JP3158357B2 (ja) 1998-09-03 1998-09-03 再送制御方法

Publications (2)

Publication Number Publication Date
JP2000078195A JP2000078195A (ja) 2000-03-14
JP3158357B2 true JP3158357B2 (ja) 2001-04-23

Family

ID=17192994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24943998A Expired - Fee Related JP3158357B2 (ja) 1998-09-03 1998-09-03 再送制御方法

Country Status (1)

Country Link
JP (1) JP3158357B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4244159B2 (ja) 2003-05-16 2009-03-25 株式会社エヌ・ティ・ティ・ドコモ 受信装置、通信システムおよびプログラム
JP2005045642A (ja) * 2003-07-24 2005-02-17 Matsushita Electric Ind Co Ltd パケット通信装置およびパケット通信方法
KR100842281B1 (ko) * 2006-12-08 2008-06-30 한국전자통신연구원 무선 네트워크상에서 경로 회복 알림을 통하여 전송 제어 프로토콜의 성능을 관리하는 장치 및 그 방법
JP5539161B2 (ja) * 2010-11-04 2014-07-02 株式会社Tbsテレビ データ伝送方式、及び、複数拠点データ配信方式
CN102694631B (zh) * 2012-05-23 2015-03-18 华为技术有限公司 一种用于控制数据传输的方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
RFC2018
信学技報IN97−107
信学技報SAT98−27
情処研報98−OS−78,78−10「無線LAN環境におけるTCPの再送方式の提案と実験」

Also Published As

Publication number Publication date
JP2000078195A (ja) 2000-03-14

Similar Documents

Publication Publication Date Title
KR100785293B1 (ko) 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법
EP1195966B1 (en) Communication method
US6493316B1 (en) Apparatus for and method of managing bandwidth for a packet based connection
EP1344359B1 (en) Method of enhancing the efficiency of data flow in communication systems
US7496038B2 (en) Method for faster detection and retransmission of lost TCP segments
US20020054570A1 (en) Data communication system, data communication method, and recording medium with data communication program recorded thereon
CA2237208A1 (en) Congestion notification from router
JP2007208571A (ja) 通信システム、通信装置及びそれらに用いる輻輳制御方法並びにそのプログラム
Francis et al. Techniques for enhancing TCP performance in wireless networks
Waghmare et al. Comparative Analysis of different TCP variants in a wireless environment
US7590888B2 (en) Receiving device and transmitting device for determining errors in transmission
EP1278348A1 (en) Long-lived TCP connection using ICMP messages in wireless mobile communications
JP3158357B2 (ja) 再送制御方法
JP4599554B2 (ja) 広帯域、高遅延無線ネットワークにおけるtcp輻輳制御方式
JP2003264579A (ja) パケット転送システム、このシステムに用いる制御装置、及び移動端末、並びに、パケット転送プログラム
AU4034299A (en) Overload control method for a packet-switched network
JP3000546B2 (ja) 輻輳制御方法
JP2003224547A (ja) フロー制御方法
JP2893398B1 (ja) 輻輳制御方法
JP2005167352A (ja) 送信装置およびプログラム
JP4348168B2 (ja) 通信装置、送信機、通信システム、通信方法、及びプログラム
Rani et al. Enhancing TCP Performance by Detecting Spurious RTO in Wireless Network
Igarashi et al. Mobility aware TCP congestion control
JP2004222271A (ja) 伝送制御方法、通信装置、通信システム及びプログラム
Hoebeke et al. A TCP protocol booster for wireless networks

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees