JP2005005906A - Tcp通信における再送タイマ値の設定方法 - Google Patents

Tcp通信における再送タイマ値の設定方法 Download PDF

Info

Publication number
JP2005005906A
JP2005005906A JP2003165702A JP2003165702A JP2005005906A JP 2005005906 A JP2005005906 A JP 2005005906A JP 2003165702 A JP2003165702 A JP 2003165702A JP 2003165702 A JP2003165702 A JP 2003165702A JP 2005005906 A JP2005005906 A JP 2005005906A
Authority
JP
Japan
Prior art keywords
retransmission
spurious
timer value
history information
retransmissions
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.)
Withdrawn
Application number
JP2003165702A
Other languages
English (en)
Inventor
Taro Ishikawa
太朗 石川
Motoharu Miyake
基治 三宅
Kazuhisa Yokota
和久 横田
Hiroshi Inamura
浩 稲村
Tsutomu Fujinami
勉 藤波
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2003165702A priority Critical patent/JP2005005906A/ja
Publication of JP2005005906A publication Critical patent/JP2005005906A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】TCPに従った通信においてスプリアス再送の発生を低減させるような再送タイマ値を決定する。
【解決手段】サーバ14のTCP制御部20において、スプリアス再送判定部203はスプリアス再送を検知する。スプリアス再送回数記憶部202は検知されたスプリアス再送の回数に関する情報が記憶される。送信データ量記憶部201はスプリアス再送のデータ量を記憶する。再送タイマ値算出部204は、送信データ量記憶部201に記憶されているスプリアス再送の送信データ量と、スプリアス再送回数記憶部202に蓄積されている再送回数情報と、測定された確認応答待ち時間RTTとに基づいて、再送タイマ値を算出する。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、トランスポートプロトコルにおいて用いられる再送タイマ値を決定する方法に関する。
【0002】
【従来の技術】
TCP(Transmission Control Protocol)に従った通信においては、再送タイマを用いた再送制御が行われる。すなわち、データ送信側では、パケットを送信した後に再送タイマがスタートし、再送タイマで設定された時間が経過しても確認応答(ACK:Acknowledgment)が返ってこない場合は、パケットが喪失したものと判断され、同一のパケットが再送される。
【0003】
一般に、TCP通信においてデータ送信側では、通信相手との間をパケットが往復するのに要する時間、すなわち、RTT(Round Trip Time)の測定値を用いて平滑化RTT(SRTT)および平滑化した平均偏差(RTTVAR)が算出され、このSRTTとRTTVARとに基づいて再送タイマ値(RTO)が決定される。より具体的には、RTTの測定に使用するクロックの粒度をGとすると、最初にRTT測定を行って値Rが得られたとき、SRTT、RTTVAR、RTOは以下の式で算出される。
【0004】
【数1】
Figure 2005005906
【0005】
2回目以降のRTT測定値Rが得られたときは、SRTT、RTTVAR、RTOは以下の式を用いて算出される。なお、「=」は右辺の値を左辺の変数に代入することを意味する。数2においても同様とする。
【0006】
【数2】
Figure 2005005906
【0007】
上記数式から明らかなように、TCP通信においては、測定されたRTTが変化することにより算出される再送タイマの値は変化する。しかしながら、通信状態の悪化が頻繁に起こり得るような無線通信システムにおいては、リンク層でのデータの再送が繰り返されることになる。これに伴いパケットの到達時間が急激に増加することがあり、RTTの変化に再送タイマ値が追随できずに再送タイムアウトが発生することがある。
【0008】
再送タイムアウトが発生するとスロー・スタートによるデータ・セグメント再送が行われる。この場合、TCPにおいては、オリジナル・セグメントに対するACKが再送セグメントに対するものと判断され,いわゆるGo−back−N再送によって後続の再送セグメントを送信する無駄な再送(スプリアス再送)が発生してしまう。
【0009】
このように、通信状態が変化したとしても再送タイマの算出方法は同じであるため、例えば突発的なACKの受信間隔変動が発生すると、無駄な再送を引き起こす確率が高い。これにより、無線チャネルの利用効率の低下、トラフィックの増大が招来する。さらに、通信に課金処理がなされる場合は、ユーザの料金負担が増す。
【0010】
このようなスプリアス再送を抑制する技術として、TCPオプションまたは統計情報を用いたスプリアス再送を抑制するためのアルゴリズムが提案されている。例えば、非特許文献1においては、TCPのタイムスタンプ・オプションを用いることによりセグメント再送後に届くACKがタイムアウト前のオリジナル・セグメントに対するものか再送によるものかを判別し、オリジナル・セグメントに対するACKであればスプリアス再送を中止するというアルゴリズムが開示されている。
【0011】
また、非特許文献2には、オリジナル・セグメントに対するACKの多くはタイムアウト後のセグメント再送から1/2RTTmin時間以内に到着しているという事実を利用し、再送タイムアウト後から−定時間以内にACKが到着した場合、スプリアス再送をやめるアルゴリズムが提案されている。
【0012】
また、非特許文献3には、セグメント再送後に届くACKのシーケンス番号の増分が2セグメント分である場合、届いたACKはオリジナル・セグメントに対するACKであることを利用してスプリアス再送を抑制するアルゴリズムが提案されている。
【0013】
【非特許文献1】
Lutwig et. al SIGCOMM Computer Comm. Review vol. 30, No.1, January 2000
【非特許文献2】
Allman et. al SIGCOMM Computer Comm. Review vol. 29, No.5, Oct 1999
【非特許文献3】
三宅、稲村、高橋 情報処理学会 「モバイルコンピューティングとワイヤレス通信」24―18 (2003.3.7)
【0014】
【発明が解決しようとする課題】
しかしながら、これらの提案では、スプリアス再送発生が判明した時点でスプリアス再送を停止するように動作するため、スプリアス再送を完全になくすことはできない。さらに、類似するACKの受信間隔変動があった場合は、同じようにスプリアス再送が発生してしまう。従って、一回のスプリアス再送数を低減することはできるが、頻繁にACKの受信間隔変動があるような場合にはスプリアス再送の抑制には限界があった。
【0015】
このような状況の下、本願発明者は、過去のスプリアス再送の発生状態に着目し、スプリアス再送に関する履歴情報を蓄積し、蓄積された履歴情報を参照してタイマ値を更新することによりスプリアス再送を効果的に抑制するという着想に至った。
【0016】
【課題を解決するための手段】
上記課題を解決するために、本発明は、トランスポートプロトコルに従って通信を行う通信装置であって、スプリアス再送を検知する再送検知手段と前記再送検知手段によりスプリアス再送を検知すると、該スプリアス再送に関する履歴情報を蓄積する履歴蓄積手段と、前記履歴記憶手段に記憶された履歴情報に基づいて再送タイマ値を決定する再送タイマ値を決定するタイマ値算出部とを備えることを特徴とする通信装置を提供する。
この発明によれば、過去に発生したスプリアス再送の履歴をふまえて再送タイマ値が決定される。従って、過去にスプリアス再送が発生した通信条件と同様の条件で再発すると予測されるスプリアス再送を効果的に抑制することができる。
【0017】
ここで、前記履歴情報はスプリアス再送の発生回数、セグメント数、またはデータ量であってもよい。また、前記タイマ値算出部は、スプリアス再送セグメント数を送信セグメント数で除算した値を用いて再送タイマ値を算出してもよい。
【0018】
本発明は、また、トランスポートプロトコルに従った通信においてタイマ値を決定する方法であって、スプリアス再送を検知する再送検知ステップと、検知されたスプリアス再送に関する履歴情報を蓄積する履歴蓄積ステップと、前記履歴記憶手段に記憶された履歴情報に基づいて再送タイマ値を決定する再送タイマ値を決定するタイマ値算出ステップとを備えることを特徴とする再送タイマ値決定方法を提供する。
【0019】
【発明の実施の形態】
以下、図面を参照しつつ本発明の実施形態について説明する。
【0020】
図1は本発明の実施形態にかかる、再送タイマ適用方法を備えたTCPによる通信を行う通信システムの構成である。
移動端末11 とサーバ14とは基地局12を介して通信を行う。移動端末11と基地局12との間は無線通信が行われ、通信環境が時時刻刻と変化するのにともない、その伝送速度も変化する。さらに、基地局12と移動端末11との間で無線フレーム単位の再送を行うことで誤り補償が行われる。従って、当然に移動端末11とサーバ14との間の伝送速度は動的に変化する。さらに、これらの要因が絡み合うことにより、しばしば移動端末11とサーバ14との間の通信において突発的なACK受信間隔変動が発生する。
【0021】
図2に、サーバ14が有するTCP制御部20の機能ブロック図を示す。以下、同図を参照しつつ、本発明の再送タイマ適用方法を適用したサーバ14の動作について説明する。
同図に示すように、TCP制御部20は、送信データ量記憶部201、スプリアス再送回数記憶部202、スプリアス再送判定部203、再送タイマ値算出部204から構成される。
【0022】
スプリアス再送判定部203は、スプリアス再送が発生したかどうかを判定する。スプリアス再送判定部203で用いられる判定アルゴリズムは、例えば、上記特許文献1ないし3のいずれを用いてもよい。あるいは、これらを組み合わせて用いても構わない。スプリアス再送回数記憶部202は、図示せぬカウンタを有し、スプリアス再送判定部にて判定したスプリアス再送の発生回数を記憶する。このスプリアス再送回数記憶部が記憶する回数は、TCP制御部が通信を行うTCPコネクション毎に保存される。送信データ量記憶部201は、サーバ14から移動端末11へ送信されたデータのデータ量を記憶する。
【0023】
再送タイマ値算出部204は、RTTを測定し、該測定したRTTとスプリアス再送回数記憶部202に記憶されている値と送信データ量記憶部201で記憶している値、および、再送タイマ値算出部204に格納されているパラメータを用いて、再送タイマ値RTOを決定する。ここで、再送タイマ値算出部204に格納されているパラメータとは、前回RTTの測定を行った際に算出したRTOおよび算出過程で得られたパラメータである。
【0024】
以下、図3を参照して、上記RTO算出過程を具体的に説明する。ここで、RTTの測定値をR、スプリアス再送回数記憶部202で記憶している値、すなわちスプリアス再送の発生回数をSRTO、送信データ量記憶部で記憶している値、すなわちサーバ14から移動端末11へ送信されたデータのデータ量をDSENTとする。以下に、RTOの算出に用いられる数式を以下に示す。
【0025】
【数3】
Figure 2005005906
【0026】
ここで、上記数式中の「=」は、右辺の計算結果を左辺の変数に代入することを意味する。例えば式▲1▼を例にとって説明すると、前回のRTT測定において得られたRTTVARとSRTT、および今回のRTT測定で得られたRTT値Rを式▲1▼の右辺に代入し、この結果得られた値を新たなRTTVARの値とする、ということである。なお、「>>」はシフト演算子を表す。例えば、「x>>y」であれば、xのビットをyビット分だけ右側にシフトさせる演算を表す。また、A、B、Cはすべて定数である。
【0027】
まず、TCP制御部20によりRTTが測定される(図3ステップS10)。次に、再送タイマ値算出部204は、RTOが格納されているか否かを判定する(ステップS11)。RTOが格納されていない、すなわちRTOコネクションを確立してからRTOを最初に計算する場合(ステップS11、N)、ステップS12へ移り、従来と同様、数1−▲1▼〜▲3▼で示した式を用いてRTOを算出する。
RTOが格納されている場合(ステップS11、Y)、次に、再送タイマ値算出部204に格納されているSRTTおよびRTTVAR、そして今回のRTT測定で得られたRを用いて、数3−▲1▼および数3−▲2▼により、新たにRTTVAR、SRTTを算出し、続いて数3−▲3▼によりRTOを算出する(ステップS13)。
【0028】
こうして得られたRTT、RTTVAR、SRTT、およびRTOは再送タイマ値算出部204に記憶され(ステップS14)、次回にRTTの測定にともないRTO値を算出する際に用いられる。このように、RTTを測定する度にRTOが算出されることにより、RTOは逐次更新されていく。
【0029】
数3−▲3▼から分かるように、算出されたRTOにはDESNTおよびSRTOが反映されている。また、TCPコネクションの送信データ量に対してスプリアス再送回数が多ければ多いほど、従来のTCP通信において用いられるRTO値(数2−▲3▼;当該数式3−▲3▼においてA=1、B=0としたものに相当する)に比べ、上記数式により算出されるRTOは増大することがわかる。このように再送タイマ値RTOを大きく設定することにより、スプリアス再送が抑制されるのである。
【0030】
ここで、数3−▲3▼に表されるRTOの算出式はあくまで一例であり、必ずしも上記の算出式を用いる必要はない。例えば、以下の式を用いてもよい。
【0031】
【数4】
RTO = SRTT+RTVAR*(SRTO+1)/DSENT
(「=」は右辺の値を左辺の変数に代入することを意味する)
【0032】
送信データ量に対してスプリアス再送回数が多いほど一般のTCPにおいて算出されるRTOに比べて大きくなるもの、あるいは、送信データ量に対してスプリアス再送回数が多いほど平滑化した平均偏差RTTVARがRTOに与える影響が支配的になる、等の特徴を有する算出式を用いることが好ましい。
【0033】
さらに、スプリアス再送回数記憶部202に記憶される値およびRTO算出式に使用されるSRTOはスプリアス再送の発生回数である必要はない。例えば、スプリアス再送に伴って発生した再送セグメント数またはスプリアス再送に伴って発生した再送データ量も用いてもよい。要は、ACKの受信間隔の変動が反映されたパラメータであればよい。
【0034】
また、スプリアス再送回数記憶部202に記憶される値および送信データ量記憶部201に記憶される値は、TCPコネクションに対応付けて記憶する以外に、TCPコネクションがクローズされるときにその経路の統計情報としてルーティング・テーブル・エントリに対応づけて記憶することとしてもよい。この場合、新たにTCPコネクションを確立するときに、そのコネクションに用いられるルーティング・テーブル・エントリに保存済みの値があれば、RTO算出式にそれらの値(DSENTおよびSRTO)を用いることが可能である。これにより、同一経路の新たなTCPコネクションにおいて、過去のスプリアス再送履歴を適用することができる。
【0035】
【発明の効果】
以上説明したように、本発明によれば、過去に発生したスプリアス再送の履歴をふまえて再送タイマ値が決定される。従って、過去にスプリアス再送が発生した通信条件と同様の条件で再発すると予測されるスプリアス再送が効果的に抑制される。
【図面の簡単な説明】
【図1】本発明の実施例にかかるTCPによる通信システムの例である。
【図2】本発明の実施例に係るTCP制御部20の機能ブロック図である。
【図3】TCP制御部20においてRTOを算出する手順示すフローチャートである。
【符号の説明】
11・・・移動端末
12・・・基地局
13・・・インターネット
14・・・サーバ
20・・・TCP制御部
201・・・送信データ量記憶部
202・・・スプリアス再送回数記憶部
203・・・スプリアス再送判定部
204・・・再送タイマ値算出部

Claims (6)

  1. トランスポートプロトコルに従って行われる通信を制御する制御装置であって、
    スプリアス再送を検知する再送検知手段と、
    前記再送検知手段によりスプリアス再送を検知すると、該スプリアス再送に関する履歴情報を蓄積する履歴蓄積手段と、
    前記履歴記憶手段に記憶された履歴情報に基づいて再送タイマ値を決定するタイマ値算出部と
    を備えることを特徴とする制御装置。
  2. 前記履歴情報は、スプリアス再送の発生回数を含むことことを特徴とする請求項1に記載の制御装置。
  3. 前記履歴情報は、スプリアス再送のセグメント数を含むことを特徴とする請求項1に記載の制御装置。
  4. 前記履歴情報は、スプリアス再送のデータ量を含むことを特徴とする請求項1に記載の制御装置。
  5. 前記タイマ値算出部は、スプリアス再送のセグメント数を送信セグメント数で除算した値に基づいて再送タイマ値を算出することを特徴とする請求項1に記載の制御装置。
  6. トランスポートプロトコルに従った通信においてタイマ値を決定する方法であって、
    スプリアス再送を検知する再送検知ステップと、
    該検知されたスプリアス再送に関する履歴情報を蓄積する履歴蓄積ステップと、
    該記憶された履歴情報に基づいて再送タイマ値を決定するタイマ値算出ステップと
    を備えることを特徴とする再送タイマ値決定方法。
JP2003165702A 2003-06-10 2003-06-10 Tcp通信における再送タイマ値の設定方法 Withdrawn JP2005005906A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003165702A JP2005005906A (ja) 2003-06-10 2003-06-10 Tcp通信における再送タイマ値の設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003165702A JP2005005906A (ja) 2003-06-10 2003-06-10 Tcp通信における再送タイマ値の設定方法

Publications (1)

Publication Number Publication Date
JP2005005906A true JP2005005906A (ja) 2005-01-06

Family

ID=34092105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003165702A Withdrawn JP2005005906A (ja) 2003-06-10 2003-06-10 Tcp通信における再送タイマ値の設定方法

Country Status (1)

Country Link
JP (1) JP2005005906A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008172480A (ja) * 2007-01-11 2008-07-24 Casio Comput Co Ltd 通信制御装置および通信制御プログラム
WO2010064421A1 (ja) * 2008-12-05 2010-06-10 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信方法
JP2014138304A (ja) * 2013-01-17 2014-07-28 Fujitsu Ltd 分析装置、分析方法及び分析プログラム
JP2014524092A (ja) * 2011-07-15 2014-09-18 ダマカ、インク. 単一ソケットポイントツーマルチポイント性能による高信頼性仮想双方向データストリーム通信のためのシステムおよび方法
WO2015004861A1 (ja) * 2013-07-10 2015-01-15 日本電気株式会社 メッセージ配信システム、メッセージ配信装置、メッセージ配信方法およびメッセージ配信用プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008172480A (ja) * 2007-01-11 2008-07-24 Casio Comput Co Ltd 通信制御装置および通信制御プログラム
WO2010064421A1 (ja) * 2008-12-05 2010-06-10 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信方法
CN102217249A (zh) * 2008-12-05 2011-10-12 株式会社Ntt都科摩 通信装置和通信方法
JP5080654B2 (ja) * 2008-12-05 2012-11-21 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信方法
US8607114B2 (en) 2008-12-05 2013-12-10 Ntt Docomo, Inc. Communication device and communication method
JP2014524092A (ja) * 2011-07-15 2014-09-18 ダマカ、インク. 単一ソケットポイントツーマルチポイント性能による高信頼性仮想双方向データストリーム通信のためのシステムおよび方法
JP2014138304A (ja) * 2013-01-17 2014-07-28 Fujitsu Ltd 分析装置、分析方法及び分析プログラム
WO2015004861A1 (ja) * 2013-07-10 2015-01-15 日本電気株式会社 メッセージ配信システム、メッセージ配信装置、メッセージ配信方法およびメッセージ配信用プログラム
US9882682B2 (en) 2013-07-10 2018-01-30 Nec Corporation Message distributing system, message distributing apparatus, message distributing method and message distributing program

Similar Documents

Publication Publication Date Title
DeSimone et al. Throughput performance of transport-layer protocols over wireless LANs
US7460472B2 (en) System and method for transmitting information in a communication network
EP2030356B1 (en) Dynamically adjusting the amount of packets to be acknowledged in an asymmetric communication system
JP4016387B2 (ja) データフロー制御方法
US6907460B2 (en) Method for efficient retransmission timeout estimation in NACK-based protocols
JP4520032B2 (ja) ヘッダ圧縮装置およびヘッダ圧縮方法
Balakrishnan et al. Improving TCP/IP performance over wireless networks
US7808910B2 (en) Communication terminal, congestion control method, and congestion control program
JP4708978B2 (ja) 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル
US20070223492A1 (en) Methods and apparatus for optimizing a TCP session for a wireless network
US20020071388A1 (en) Selectable network protocol
US20130058212A1 (en) Optimization of the transmission control protocol particularly for wireless connections
US20090316579A1 (en) Immediate Ready Implementation of Virtually Congestion Free Guaranteed Service Capable Network: External Internet Nextgentcp Nextgenftp Nextgenudps
JP5194115B2 (ja) ネットワーク装置のバッファ制御のための方法
KR20000073790A (ko) 비동기전송모드(atm) 망에서 전송제어프로토콜(tcp) 윈도우 사이즈 제어 방법
Khafizov et al. Running TCP over IS-2000
EP1435704B1 (en) Transmission control method and system
JP2005005906A (ja) Tcp通信における再送タイマ値の設定方法
JP2007097144A (ja) 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム
Lai et al. Design and analysis of TCP AIMD in wireless networks
JP2004297127A (ja) 携帯端末及びサーバ
Zhang et al. Kalman filter based bandwidth estimation and predictive flow distribution for concurrent multipath transfer in wireless networks
KR20060100081A (ko) Arq 시스템에서 재전송 허용 횟수를 동적으로 조정하는방법 및 장치
JP2004140596A (ja) Tcp上のデータ転送における品質を推定する方法およびシステム
WO2006058257A2 (en) Method and apparatus for setting a tcp retransmission timer

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905