JP6280680B2 - パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法 - Google Patents

パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法 Download PDF

Info

Publication number
JP6280680B2
JP6280680B2 JP2014057168A JP2014057168A JP6280680B2 JP 6280680 B2 JP6280680 B2 JP 6280680B2 JP 2014057168 A JP2014057168 A JP 2014057168A JP 2014057168 A JP2014057168 A JP 2014057168A JP 6280680 B2 JP6280680 B2 JP 6280680B2
Authority
JP
Japan
Prior art keywords
rtt
congestion
delay time
trip delay
measurement period
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
JP2014057168A
Other languages
English (en)
Other versions
JP2015180008A (ja
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.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting 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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2014057168A priority Critical patent/JP6280680B2/ja
Publication of JP2015180008A publication Critical patent/JP2015180008A/ja
Application granted granted Critical
Publication of JP6280680B2 publication Critical patent/JP6280680B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パケット通信によってデータを伝送するパケット送信装置、通信端末及びスロースタート制御方法に関する。
品質の保証がされていないベストエフォートタイプのIP(Internet Protocol)ネットワークでは、ネットワーク機器内部でのバッファ溢れや、伝送中のビットエラー等によって送信パケットの廃棄が発生する。そのため、確実にデータを伝送するための送達確認を行うプロトコルとしてTCP(Transmission Control Protocol)が幅広く利用されている(例えば、非特許文献1参照)。
例えば、図8に示すように、TCPを利用して相互通信接続を行う通信端末10,20において、通信端末10にはパケット送信装置11及びパケット受信装置12が設けられ、通信端末20にはパケット送信装置22及びパケット受信装置21が設けられる。パケット送信装置11及びパケット受信装置21とパケット送信装置22及びパケット受信装置12はそれぞれ同様の機能を有し、代表してパケット送信装置11及びパケット受信装置21に注目して説明する。パケット送信装置11は、データ送信用パケットを所定の通信路を介してパケット受信装置21に送信すると、パケット受信装置21は、受信した旨の報告として送達確認応答パケットをパケット送信装置11に送信する。
より具体的には、TCPでは、パケット受信装置21がパケットを受信すると、受信した旨の報告として、次に送信を要求するパケットの番号をパケット送信装置11に通知する。そして、パケット送信装置11は、パケット受信装置21から通知される報告に基づいて、パケットが正常にパケット受信装置21に到達したことを確認する。パケット送信装置11は、パケット受信装置21から通知される報告に基づいて、送達確認応答なしに送出可能なパケットの数を表す輻輳ウィンドウサイズ(CWND:Congestion Window Size)を調整する。例えばパケットが正常に受信された場合はCWNDを拡大し、パケットロスが検出された場合はCWNDを縮小する。
このCWNDを調整する技法は輻輳制御技法と呼ばれ、通信の状態によってその制御技法が切り替えられる。一般的には通信開始時やタイムアウト後に適用される「スロースタートフェーズ」、通信が安定している際に適用される「輻輳回避フェーズ」、ロスパケットを再送するための「ロスリカバリフェーズ」といったフェーズに応じて輻輳制御技法が切り替える。RFC5681には一般的なTCPが用いる輻輳制御技法が記載されている(例えば、非特許文献2参照)。RFC5681に記載されているスロースタートフェーズの動作では、CWNDがスロースタート閾値(ssthresh)未満である場合、式(1)によりCWNDを拡大する。ssthreshは、スロースタートフェーズにおけるCWNDの拡大・縮小を決めるのに用いるスロースタート閾値である。
CWND = min(N, MSS) (1)
Nは新たに送達確認されたバイト数、MSSはパケットに含まれるデータの最大バイト数である。CWNDがssthresh以上になるか、パケットロスが発生した時点でスロースタートフェーズでの動作を終了する。
TCP CUBIC(例えば、非特許文献3参照)やCTCP(例えば、非特許文献4参照)など様々なTCPが提案されているが、「スロースタートフェーズ」での動作はRFC5681と同じであり、「輻輳回避フェーズ」に独自の輻輳制御アルゴリズムが組み込まれている。
スロースタートフェーズでの動作として、Hystartが提案されている(例えば、非特許文献5参照)。Hystartでは、スロースタート終了条件についてRFC5681に加えて2つの新しい条件を定義している。1つは、1往復遅延時間(RTT:Round Trip Time)中に送信するパケット列の送信にかかる時間が閾値を超えた場合に終了する。もう1つは、所定の1計測期間中に送信するパケット列の先頭の数パケットで計測した最小のRTTであるRTTminが、それまでに計測した最小のRTTであるRTTbaseよりも閾値以上に大きくなっている場合に終了する。
ここに、RTTbaseは通信を開始してから現時点までに計測した最小のRTT、RTTminは予め定めたパケット遅延量に関する計測期間内におけるRTTについて直前の1計測期間で計測した最小のRTTである。
このRFC5681に基づく従来技術を総括するに、そのパケット送信装置11の概略構成を示すと、図9のようになる。尚、図9に示すパケット送信装置11は、後述する本発明との対比に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。図9に示す従来技術に基づくパケット送信装置11は、送信時刻書込部111、パケット送信部112、送達確認応答受信部113、パケットロス判定部114及びパケット送信制御部115を備え、パケット送信制御部115は、ロス再送動作部116、ロスリカバリ動作部117、輻輳回避動作部118及びスロースタート動作部119からなる。
送信時刻書込部111は、パケット送信時に送信時刻を記録する。この送信時刻は、パケット送信装置11の本体内メモリ(図示せず)にパケット番号とともに記録することができる。或いは、TCPのタイムスタンプオプションを用いて記録することもできる。
パケット送信部112は、パケット受信装置21に向けてパケットを送信する。その後、送達確認応答受信部113は、パケット受信装置21から通知される送達確認応答パケットを受信すると、次の処理を開始する。
送達確認応答受信部113は、送達確認応答パケットを受信すると、パケット送信部112からのパケット送信から送達確認応答パケットを受信するまでにかかったRTTを計算する。RTTの計算は、本体内メモリに記録した送信時刻と受信時刻の差とすることができる。或いは、TCPタイムスタンプオプションを用いることができる。RTTの計算後、送達確認応答受信部113は、パケットロス判定部114へ送達確認応答パケットとRTTを通知する。
パケットロス判定部114は、送達確認応答部113から送達確認応答パケットとRTTを受信すると、RTTbaseを更新し、パケットロスの発生の有無を判定する。パケットロスが発生している場合には、パケットロス判定部114は、ロス再送動作部116へ送達確認応答パケットとRTTを通知し、所定のパケットロス再送動作を実行させる。パケットロスが発生していない場合は、パケットロス判定部114は、現在の動作フェーズがロスリカバリフェーズの場合はロスリカバリ動作部117へ、輻輳回避フェーズの場合は輻輳回避動作部118へ、送達確認応答パケットとRTTを通知する。また、パケットロス判定部114は、スロースタートフェーズの場合はスロースタート動作部119へ、式(1)に関する所定のスロースタートの動作指示を通知する。
ロス再送動作部116は、送達確認応答パケットとRTTを基に送信パケットの再送処理を実行する。
ロスリカバリ動作部117は、送達確認応答パケットとRTTを基にパケットロスの発生後の通信状況の回復を行うようCWNDの値の拡大又は縮小の調整処理を実行する。
輻輳回避動作部118は、送達確認応答パケットとRTTを基に通信路の輻輳を回避するようCWNDの値を更新する。
ただし、ロス再送動作部116、ロスリカバリ動作部117及び輻輳回避動作部118は、一般的なTCPなどを含み既知の輻輳制御技法に基づいたレート制御処理を実行するように構成すればよく、その動作の更なる詳細については省略する。
スロースタート動作部119は、パケットロスが発生していない間、式(1)を基にCWNDの値を拡大するよう更新する。
このようにして、パケット送信制御部115は、パケットロスの発生の有無に応じて各種の動作フェーズに基づいたレート制御を実行する。
"RFC793 Transmission Control Protocol"、[online]、昭和56(西暦1981)年9月策定、DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION、[平成26年2月24日検索]、インターネット〈URL:http://www.rfc-base.org/txt/rfc-793.txt〉 "RFC5681 TCP Congestion Control"、[online]、平成21(西暦2009)年9月策定、Network Working Group、[平成26年2月24日検索]、インターネット〈URL:http://tools.ietf.org/search/rfc5681〉 Sangtae Ha, Injong Rhee and Lisong Xu,"CUBIC: A New TCP-Friendly High-Speed TCP Variant,"[online]、ACM SIGOPS Operating System Review, Volume 42, Issue 5, July 2008、[平成26年2月24日検索]、インターネット〈URL:http://dl.acm.org/citation.cfm?id=1400105〉 kun Tan, Jingmin Song, Qian Zhang and Murari Sridharan,"A Compound TCP Approach for High-speed and Long Distance Networks," [online]、 INFOCOM 2006. 25th IEEE International Conference on Computer Communications. Proceedings , April 2006, [平成26年2月24日検索]、インターネット〈URL:http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=4146841&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D4146841〉 Sangtae Ha and Injong Rhee, "Hybrid slow start for high-bandwidth and long-distance networks," [online]、 PFLDnet, 2008,[平成26年2月24日検索]、インターネット〈URL:http://netsrv.csc.ncsu.edu/export/hybridstart_pfldnet08.pdf〉
RFC5681では、通信開始時にはssthreshは十分に大きい値(例えば取りうる最大の値)に設定されることが推奨されており、結果的にパケットロスが発生するまでスロースタートフェーズが継続する。パケットロスが発生するまで急速にCWNDを拡大しネットワークにパケットを送出するため、他のトラフィックに影響を与えてしまう。また、パケットロスが発生すると損失したパケットを再度送り直す必要があるため、自身の通信効率も低下する。
そこで、パケットロスを発生させずにスロースタートフェーズから輻輳回避フェーズへ移行することで上記の問題を解決することができる。Hystartではスロースタートフェーズにおいて送信されるパケットのRTTを用い、パケットロスが発生する前に輻輳を検知することで輻輳回避フェーズへ移行する技法を提示している。しかし、Hystartでは有線ネットワークのように伝搬遅延が安定した環境を前提にしており、各RTT期間に計測するRTTのうち、先頭の数サンプルのみを用いて輻輳検知を実施しているため、無線ネットワークのように輻輳とは無関係に伝搬遅延が変化するネットワークでは、CWNDが拡大する前に輻輳回避フェーズへ移行してしまうことがある。
本発明は、上述の問題を鑑みてなされたものであり、本発明の目的は、送達確認を行うパケット通信において、無線ネットワークのような遅延変動が起きやすい環境でも高速な通信を可能にするパケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法を提供することにある。
本発明によるパケット送信装置は、スロースタートフェーズで動作中に、予め定めた計測期間の経過後となる受信応答確認に対して、往復遅延時間(RTT)について継続して計測した最小の往復遅延時間(RTTbase)と、当該往復遅延時間(RTT)について直前の1計測期間内で計測した最小の値を計測期間内最小の往復遅延時間(RTTmin)を用いて輻輳判定を行なうことにより、スロースタートフェーズにおいて、輻輳とは無関係の遅延増加の影響を緩和する。
即ち、本発明のパケット送信装置は、送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うパケット送信装置であって、パケット送信の送達確認に基づく往復遅延時間(RTT)と、前記往復遅延時間(RTT)について継続して計測した最小の往復遅延時間(RTTbase)を保持し、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間(RTT)について直前の1計測期間内で計測した最小の値を計測期間内最小の往復遅延時間(RTTmin)として計測し保持するRTT算出手段と、スロースタートフェーズで動作中に、前記計測期間を監視し、前記計測期間を経過する送達確認を得た際に前記最小の往復遅延時間(RTTbase)に所定量を加えた値と前記計測期間内最小の往復遅延時間(RTTmin)の比較に基づく第1の輻輳判定を行い、前記第1の輻輳判定によって輻輳と判定した際にスロースタートフェーズから輻輳回避フェーズへ遷移させるように動作するスロースタート制御手段と、を備えることを特徴とする。
また、本発明のパケット送信装置において、前記スロースタート制御手段は、前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間(RTTmin)について前記往復遅延時間(RTT)を用いて更新するとともに、前記計測期間を経過する送達確認を得た際の前記第1の輻輳判定によって輻輳ではないと判定した際に、前記計測期間内最小の往復遅延時間(RTTmin)を当該往復遅延時間(RTT)により更新して、輻輳ウィンドウサイズを拡大しスロースタートフェーズを継続するように動作する手段を更に有することを特徴とする。
また、本発明のパケット送信装置において、前記スロースタート制御手段は、前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間(RTTmin)について前記往復遅延時間(RTT)を用いて更新するとともに、当該送達確認時の前記最小の往復遅延時間(RTTbase)及び前記計測期間内最小の往復遅延時間(RTTmin)を基に、前記最小の往復遅延時間(RTTbase)に所定量を加えた値と前記計測期間内最小の往復遅延時間(RTTmin)の比較に基づく第2の輻輳判定を行い、前記第2の輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする。
また、本発明のパケット送信装置において、前記スロースタート制御手段は、前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間(RTTmin)について前記往復遅延時間(RTT)を用いて更新するとともに、当該送達確認時の前記最小の往復遅延時間(RTTbase)及び前記往復遅延時間(RTT)を基に、前記最小の往復遅延時間(RTTbase)に所定量を加えた値と前記往復遅延時間(RTT)の比較に基づく第3の輻輳判定を行い、前記第3の輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする。
また、本発明のパケット送信装置において、前記スロースタート制御手段は、前記計測期間を経過する送達確認を得た際の前記第1の輻輳判定によって輻輳ではないと判定した際に、再度、当該送達確認時の前記最小の往復遅延時間(RTTbase)及び当該往復遅延時間(RTT)を基に、前記最小の往復遅延時間(RTTbase)に所定量を加えた値と前記往復遅延時間(RTT)の比較に基づいて輻輳判定を行い、該輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする。
また、本発明の通信端末は、本発明のパケット送信装置を備えることを特徴とする。
また、本発明のスロースタート制御方法は、送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うスロースタート制御方法であって、パケット送信の送達確認に基づく往復遅延時間(RTT)と、前記往復遅延時間(RTT)について継続して計測した最小の往復遅延時間(RTTbase)を保持し、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間(RTT)について直前の1計測期間内で計測した最小の値を計測期間内最小の往復遅延時間(RTTmin)として計測し保持するステップと、スロースタートフェーズで動作中に、前記計測期間を監視し、前記計測期間を経過する送達確認を得た際に前記最小の往復遅延時間(RTTbase)に所定量を加えた値と前記計測期間内最小の往復遅延時間(RTTmin)の比較に基づく第1の輻輳判定を行い、前記第1の輻輳判定によって輻輳と判定した際にスロースタートフェーズから輻輳回避フェーズへ遷移させるように動作するステップと、を含むことを特徴とする。
輻輳とは無関係の遅延変動が大きな回線であっても、輻輳の誤判定を抑制しCWNDが拡大する前に輻輳回避フェーズへ移行することを防ぐことができる。
本発明による一実施形態のパケット送信装置におけるブロック図である。 本発明による一実施形態のパケット送信装置における送達確認応答受信部の処理を示すフローチャートである。 本発明による一実施形態のパケット送信装置におけるパケットロス判定部の処理を示すフローチャートである。 (A),(B)は、本発明による一実施形態のパケット送信装置に係るパケット遅延量に関する計測期間の説明図である。 本発明による一実施形態のパケット送信装置における実施例1のスロースタート動作部の処理を示すフローチャートである。 本発明による一実施形態のパケット送信装置における実施例2のスロースタート動作部の処理を示すフローチャートである。 本発明による一実施形態のパケット送信装置における実施例3のスロースタート動作部の処理を示すフローチャートである。 TCPを利用して相互通信接続を行う通信端末のネットワーク接続例を説明する図である。 従来技術に基づくパケット送信装置におけるブロック図である。
図1は、本発明による一実施形態のパケット送信装置11aにおけるブロック図である。パケット送信装置11aは、図9に示すパケット送信装置11に置き換えて、図8に示す通信端末10に設ける装置である。同様に、通信端末20に対しても、パケット送信装置22に置き換えてパケット送信装置11aと同様の構成を設けることができる。したがって、図8に示すように、TCPを利用して相互通信接続を行う通信端末10,20において、パケット送信装置11aは、データ送信用パケットを所定の通信路を介してパケット受信装置21に送信すると、パケット受信装置21は、受信した旨の報告として送達確認応答パケットをパケット送信装置11aに送信する。尚、図1に示すパケット送信装置11aは、本発明に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。
図1に示すように、本実施形態のパケット送信装置11aは、送信時刻書込部111、パケット送信部112、送達確認応答受信部113、パケットロス判定部114及びパケット送信制御部115を備え、パケット送信制御部115は、ロス再送動作部116、ロスリカバリ動作部117、輻輳回避動作部118及びスロースタート動作部119aからなる。尚、図9に示すパケット送信装置11と比較して、本実施形態のパケット送信装置11aは、スロースタート動作部119の代わりに、スロースタート動作部119aを備える点で相違しており、同様な構成要素には同一の参照番号を付している。
送信時刻書込部111は、パケット送信時に送信時刻を記録する。この送信時刻は、パケット送信装置11の本体内メモリ(図示せず)にパケット番号とともに記録することができる。或いは、TCPのタイムスタンプオプションを用いて記録することもできる。
パケット送信部112は、パケット受信装置21に向けてパケットを送信する。その後、送達確認応答受信部113は、パケット受信装置21から通知される送達確認応答パケットを受信すると、次の処理を開始する。
送達確認応答受信部113は、送達確認応答パケットを受信すると、パケット送信部112からのパケット送信から送達確認応答パケットを受信するまでにかかったRTTを計算する。RTTの計算は、本体内メモリに記録した送信時刻と受信時刻の差とすることができる。或いは、TCPタイムスタンプオプションを用いることができる。RTTの計算後、送達確認応答受信部113は、パケットロス判定部114へ送達確認応答パケットとRTTを通知する。より具体的には、図2に示すように、送達確認応答受信部113は、送達確認応答パケットを受信すると(ステップS11)、送信時刻と受信時刻の差からRTTを求め(ステップS12)、RTTの計算後、パケットロス判定部114へ送達確認応答パケット及びRTTを通知する(ステップS13)。
パケットロス判定部114は、送達確認応答部113から送達確認応答パケットとRTTを受信すると、RTTbaseを更新し、パケットロスの発生の有無を判定する。RTTbaseは通信中に計測したRTTの最小値であるが、通信開始時には、とりうる最大の値など、ある決まった値に初期化することができる。より具体的には、図3に示すように、パケットロス判定部114は、送達確認応答受信部113から送達確認応答パケットとRTTを受信すると(ステップS21)、式(2)によりRTTbaseを更新し(ステップS22)、パケットロスが発生しているか否かの判定を行う(ステップS23)。パケットロスの判定には、例えば送達確認応答パケットに含まれる送達確認番号が同じパケットを3回受信した場合とする方法がある。
RTTbase = min(RTT, RTTbase) (2)
パケットロスが発生している場合には(ステップS23:Yes)、パケットロス判定部114は、ロス再送動作部116へ送達確認応答パケットとRTTを通知し、所定のパケットロス再送動作を実行させる(ステップS24)。パケットロスが発生していない場合は(ステップS23:No)、パケットロス判定部114は、現在の動作フェーズがロスリカバリフェーズの場合はロスリカバリ動作部117へ(ステップS25,S26)、輻輳回避フェーズの場合は輻輳回避動作部118へ(ステップS25,S27)、送達確認応答パケットとRTTを通知する。また、パケットロス判定部114は、スロースタートフェーズの場合は本発明に係るスロースタート動作部119aへ、送達確認応答パケットとRTTを通知するとともに、さらにRTTbaseについても通知する(ステップS25,S28)。
パケット送信制御部115は、パケットロスの発生の有無に応じて各種の動作フェーズに基づいたレート制御を実行する。尚、ロス再送動作部116、ロスリカバリ動作部117及び輻輳回避動作部118は、一般的なTCPなどを含み既知の輻輳制御技法に基づいたレート制御処理を実行するように構成すればよく、その動作の更なる詳細については省略する。
本発明に係るスロースタート動作部119aは、通信を開始してから現時点までに計測した最小のRTTであるRTTbaseを用い、受信した送達応答確認パケットに対応するRTTに関して予め定めた1計測期間毎に計測する全てのRTTの中で最小のRTTであるRTTminを算出・更新し、RTTbaseとRTTminを比較・監視して輻輳判定を行うように構成され、後述する3つの実施例がある。
まず、「計測期間」に関して説明する。例えば、図4(A)に示すように、通信端末10が連続的に送信するデータ送信用パケットD1,D2,D3を通信端末20に向けて送信するとともに、データ送信用パケットD1,D2,D3の各々に対応する送達確認応答パケットACK1,ACK2,ACK3を受信する場合を考えたとき、1計測期間は、計測期間の計測の開始から通信端末10(パケット送信装置11a)が最初に送信するパケットに対する送達確認応答(ACK)が到着するまで、とすることができる。
或いは、図4(B)に示すように、1計測期間は、計測期間の計測の開始から所定時間(例えば、直前の計測期間における最小のRTT(RTTmin)経過時まで、とすることができる。尚、計測期間は、IPデータフローに対して連続的に定めてもよいし、間欠的に定めてもよく、計測期間で求めたRTTminは少なくとも次回の計測期間でRTTminを求めるまで保持するように構成し、RTTminを用いるCWND等の更新にはその更新時点で保持するRTTminを用いるようにする。
(実施例1)
まず、本発明に係る実施例1のスロースタート動作部119aについて、図5を参照して説明する。
スロースタート動作部119aは、パケットロス判定部114から受信した送達確認応答パケット、RTT及びRTTbaseを基に第1の輻輳判定を行うように構成され、この第1の輻輳判定を基に輻輳回避フェーズへ移行するか否かを決定する。より具体的には、図5に示すように、スロースタート動作部119aは、パケットロス判定部114から送達確認応答パケット、RTT及びRTTbaseを受信すると(ステップS31)、1計測期間が経過したか否かを判定する(ステップS32)。
1計測期間が経過していた場合(ステップS32:Yes)、スロースタート動作部119aは、式(3)により第1の輻輳判定を行い(ステップS33)、輻輳が発生していたと判定した際には(ステップS33:Yes)、ssthreshを現在のCWNDに設定し、輻輳回避フェーズへ移行する(ステップS34)。輻輳が発生していないと判定した場合(ステップS33:No)、RTTminをRTTで初期化して(ステップS35)、次の計測期間を開始し、ステップS37に移行する。
if RTTmin > RTTbase + α (3)
then 輻輳が発生
else 輻輳が発生していない
RTTminは1計測期間中に計測した最小のRTT、RTTbaseは通信を開始してから現時点までに計測した最小のRTT、αはパラメータである。αは、RTTbaseの定数倍、RTTの分散、RTTのジッタの移動平均などとすることができる。
一方、1計測期間が経過していない場合(ステップS32:No)、スロースタート動作部119aは、式(4)によりRTTminを更新する(ステップS36)。
RTTmin = min(RTT, RTTmin) (4)
第1の輻輳判定で輻輳が発生していないと判定した後(ステップS33,S35)、及び1計測期間が経過しておらず、RTTminを更新した場合(ステップS32,S36)、スロースタート動作部119aは、スロースタートフェーズを継続すると決定し、CWNDを式(5)により拡大する(ステップS37)。
CWND = CWND + MSS (5)
このように、本実施例のパケット送信装置11aでは、高速に輻輳ウィンドウサイズを拡大するスロースタートフェーズと、緩やかに輻輳ウィンドウサイズを調整する輻輳回避フェーズを遷移しながらパケット送信の制御を行い、スロースタートフェーズで動作中に、予め定めた計測期間の経過後となる受信応答確認に対して、RTTminとRTTbaseによって輻輳判定を行い、輻輳と判定された場合にはスロースタートフェーズから輻輳回避フェーズへ遷移するように構成される。このように構成することで、スロースタートフェーズにおいて、輻輳とは無関係の遅延増加が発生しやすい環境においても、その影響を軽減してウィンドウサイズを拡大することができるようになり、通信効率が向上する。
(実施例2)
次に、本発明に係る実施例2のスロースタート動作部119aについて、図6を参照して説明する。尚、図6において、図5と同様の処理内容を示す要素には、同一の参照番号を付している。実施例1では、1計測期間の経過判定及び輻輳判定後、スロースタートフェーズが継続する場合は全て式(5)によってCWNDを拡大するように構成していたが、本実施例のスロースタート動作部119aは、1計測期間の経過判定及び輻輳判定後、再度、第2の輻輳判定を実行し、輻輳が発生していない場合にのみ式(5)によりCWNDを拡大するように構成される。
より具体的には、図6に示すように、スロースタート動作部119aは、パケットロス判定部114から送達確認応答パケット、RTT及びRTTbaseを受信すると(ステップS31)、1計測期間が経過したか否かを判定する(ステップS32)。
1計測期間が経過していた場合(ステップS32:Yes)、スロースタート動作部119aは、式(3)により第1の輻輳判定を行い(ステップS33)、輻輳が発生していたと判定した場合(ステップS33:Yes)、ssthreshを現在のCWNDに設定し(ステップS34)、輻輳回避フェーズへ移行する(ステップS38)。輻輳が発生していないと判定した場合(ステップS33:No)、RTTminをRTTで初期化して(ステップS35)、次の計測期間を開始し、ステップS36aに移行する。
一方、1計測期間が経過していない場合(ステップS32:No)、スロースタート動作部119aは、式(4)によりRTTminを更新する(ステップS36)。
第1の輻輳判定で輻輳が発生していないと判定した後(ステップS33,S35)、及び1計測期間が経過しておらず、RTTminを更新した場合(ステップS32,S36)、スロースタート動作部119aは、再度、式(3)による第2の輻輳判定を実行する(ステップS36a)。ただし、第1の輻輳判定で輻輳が発生していないと判定した後では、式(3)に関して、RTTminはRTTにより初期化されている点に留意する。
スロースタート動作部119aは、第2の輻輳判定により輻輳が発生していたと判定した場合(ステップS36a:Yes)、CWNDの拡大を行わずにスロースタートフェーズを継続する。第2の輻輳判定により輻輳が発生していないと判定した場合(ステップS36a:No)、スロースタート動作部119aは、スロースタートフェーズを継続すると決定し、CWNDを式(5)により拡大する(ステップS37)。
これにより、スロースタート時のCWNDの拡大速度は減少する可能性があるが、対象の計測期間において輻輳が発生していないことを確認した状態でのみCWNDが拡大されるため、CWNDが過剰に大きくなることを抑制することができる。
(実施例3)
次に、本発明に係る実施例2のスロースタート動作部119aについて、図7を参照して説明する。尚、図7において、図5と同様の処理内容を示す要素には、同一の参照番号を付している。実施例1では、1計測期間の経過判定及び輻輳判定後、スロースタートフェーズが継続する場合は全て式(5)によってCWNDを拡大するように処理していたが、本実施例のスロースタート動作部119aは、1計測期間の経過判定及び輻輳判定後、第3の輻輳判定を実行し、輻輳が発生していない場合にのみ式(5)によりCWNDを拡大するように構成される。
より具体的には、図7に示すように、スロースタート動作部119aは、パケットロス判定部114から送達確認応答パケット、RTT及びRTTbaseを受信すると(ステップS31)、式(3)により1計測期間が経過したか否かを判定する(ステップS32)。
1計測期間が経過していた場合(ステップS32:Yes)、スロースタート動作部119aは、式(3)により第1の輻輳判定を行い(ステップS33)、輻輳が発生していたと判定した場合(ステップS33:Yes)、ssthreshを現在のCWNDに設定し(ステップS34)、輻輳回避フェーズへ移行する(ステップS38)。輻輳が発生していないと判定した場合(ステップS33:No)、RTTminをRTTで初期化して(ステップS35)、次の計測期間を開始し、ステップS36bに移行する。
一方、1計測期間が経過していない場合(ステップS32:No)、スロースタート動作部119aは、式(4)によりRTTminを更新する(ステップS36)。
第1の輻輳判定で輻輳が発生していないと判定した後(ステップS33,S35)、及び1計測期間が経過しておらず、RTTminを更新した場合(ステップS32,S36)、スロースタート動作部119aは、再度、式(6)による第3の輻輳判定を実行する(ステップS36b)。
if RTT > RTTbase + α (6)
then輻輳が発生
else輻輳が発生していない
スロースタート動作部119aは、第3の輻輳判定により輻輳が発生していたと判定した場合(ステップS36b:Yes)、CWNDの拡大を行わずにスロースタートフェーズを継続する。第3の輻輳判定により輻輳が発生していないと判定した場合(ステップS36b:No)、スロースタート動作部119aは、スロースタートフェーズを継続すると決定し、CWNDを式(5)により拡大する(ステップS37)。
これにより、スロースタート時のCWNDの拡大速度は減少する可能性があるが、輻輳が発生していないことをパケット毎に確認した状態でのみCWNDが拡大されるため、CWNDが過剰に大きくなることを抑制することができる。
以上、特定の実施例を挙げて本発明を説明したが、本発明は前述の実施形態及び各実施例に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うパケット送信装置であれば、如何なる態様の装置でもよい。
本発明によれば、輻輳とは無関係の遅延変動が大きな回線であっても、輻輳の誤判定を抑制しCWNDが拡大する前に輻輳回避フェーズへ移行することを防ぐことができるので、送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行う用途に有用である。
10 通信端末
11 従来技術に係るパケット送信装置
11a 本発明による一実施形態のパケット送信装置
12 パケット受信装置
20 通信端末
21 パケット受信装置
22 パケット送信装置
111 送信時刻書込部
112 パケット送信部
113 送達確認応答受信部
114 パケットロス判定部
115 パケット送信制御部
116 ロス再送動作部
117 ロスリカバリ動作部
118 輻輳回避動作部
119,119a スロースタート動作部

Claims (7)

  1. 送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うパケット送信装置であって、
    パケット送信の送達確認に基づく往復遅延時間(RTT)と、前記往復遅延時間(RTT)について継続して計測した最小の往復遅延時間(RTTbase)を保持し、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間(RTT)について直前の1計測期間内で計測した最小の値を計測期間内最小の往復遅延時間(RTTmin)として計測し保持するRTT算出手段と、
    スロースタートフェーズで動作中に、前記計測期間を監視し、前記計測期間を経過する送達確認を得た際に前記最小の往復遅延時間(RTTbase)に所定量を加えた値と前記計測期間内最小の往復遅延時間(RTTmin)の比較に基づく第1の輻輳判定を行い、前記第1の輻輳判定によって輻輳と判定した際にスロースタートフェーズから輻輳回避フェーズへ遷移させるように動作するスロースタート制御手段と、
    を備えることを特徴とするパケット送信装置。
  2. 前記スロースタート制御手段は、
    前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間(RTTmin)について前記往復遅延時間(RTT)を用いて更新するとともに、前記計測期間を経過する送達確認を得た際の前記第1の輻輳判定によって輻輳ではないと判定した際に、前記計測期間内最小の往復遅延時間(RTTmin)を当該往復遅延時間(RTT)により更新して、輻輳ウィンドウサイズを拡大しスロースタートフェーズを継続するように動作する手段を更に有することを特徴とする、請求項1に記載のパケット送信装置。
  3. 前記スロースタート制御手段は、
    前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間(RTTmin)について前記往復遅延時間(RTT)を用いて更新するとともに、当該送達確認時の前記最小の往復遅延時間(RTTbase)及び前記計測期間内最小の往復遅延時間(RTTmin)を基に、前記最小の往復遅延時間(RTTbase)に所定量を加えた値と前記計測期間内最小の往復遅延時間(RTTmin)の比較に基づく第2の輻輳判定を行い、前記第2の輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする、請求項1に記載のパケット送信装置。
  4. 前記スロースタート制御手段は、
    前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間(RTTmin)について前記往復遅延時間(RTT)を用いて更新するとともに、当該送達確認時の前記最小の往復遅延時間(RTTbase)及び前記往復遅延時間(RTT)を基に、前記最小の往復遅延時間(RTTbase)に所定量を加えた値と前記往復遅延時間(RTT)の比較に基づく第3の輻輳判定を行い、前記第3の輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする、請求項1に記載のパケット送信装置。
  5. 前記スロースタート制御手段は、
    前記計測期間を経過する送達確認を得た際の前記第1の輻輳判定によって輻輳ではないと判定した際に、再度、当該送達確認時の前記最小の往復遅延時間(RTTbase)及び当該往復遅延時間(RTT)を基に、前記最小の往復遅延時間(RTTbase)に所定量を加えた値と前記往復遅延時間(RTT)の比較に基づいて輻輳判定を行い、該輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする、請求項3又は4に記載のパケット送信装置。
  6. 請求項1から5のいずれか一項に記載のパケット送信装置を備えることを特徴とする通信端末。
  7. 送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うスロースタート制御方法であって、
    パケット送信の送達確認に基づく往復遅延時間(RTT)と、前記往復遅延時間(RTT)について継続して計測した最小の往復遅延時間(RTTbase)を保持し、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間(RTT)について直前の1計測期間内で計測した最小の値を計測期間内最小の往復遅延時間(RTTmin)として計測し保持するステップと、
    スロースタートフェーズで動作中に、前記計測期間を監視し、前記計測期間を経過する送達確認を得た際に前記最小の往復遅延時間(RTTbase)に所定量を加えた値と前記計測期間内最小の往復遅延時間(RTTmin)の比較に基づく第1の輻輳判定を行い、前記第1の輻輳判定によって輻輳と判定した際にスロースタートフェーズから輻輳回避フェーズへ遷移させるように動作するステップと、
    を含むことを特徴とするスロースタート制御方法。
JP2014057168A 2014-03-19 2014-03-19 パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法 Expired - Fee Related JP6280680B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014057168A JP6280680B2 (ja) 2014-03-19 2014-03-19 パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014057168A JP6280680B2 (ja) 2014-03-19 2014-03-19 パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法

Publications (2)

Publication Number Publication Date
JP2015180008A JP2015180008A (ja) 2015-10-08
JP6280680B2 true JP6280680B2 (ja) 2018-02-14

Family

ID=54263760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014057168A Expired - Fee Related JP6280680B2 (ja) 2014-03-19 2014-03-19 パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法

Country Status (1)

Country Link
JP (1) JP6280680B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6417225B2 (ja) * 2015-01-19 2018-10-31 日本放送協会 パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法

Also Published As

Publication number Publication date
JP2015180008A (ja) 2015-10-08

Similar Documents

Publication Publication Date Title
US11876714B2 (en) Method and apparatus for network congestion control based on transmission rate gradients
JP4147534B2 (ja) 通信装置および通信方法
JP4778453B2 (ja) 通信端末、輻輳制御方法および輻輳制御プログラム
WO2019019825A1 (zh) 一种拥塞控制方法及相关设备
JP5625748B2 (ja) 通信装置、通信システム、プログラム及び通信方法
US20060209838A1 (en) Method and system for estimating average bandwidth in a communication network based on transmission control protocol
US20130058212A1 (en) Optimization of the transmission control protocol particularly for wireless connections
EP2922241B1 (en) Methods and apparatus to determine network delay with location independence from retransmission delay and application response time
JP2008104018A (ja) 通信システム、通信装置、及び送信制御方法
JP6173826B2 (ja) パケット送信装置およびそのプログラム
JP5308364B2 (ja) 送信装置、送信方法及びプログラム
JP6101046B2 (ja) パケット送信装置およびそのプログラム
JP6280680B2 (ja) パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法
Sinky et al. Cross-layer assisted TCP for seamless handoff in heterogeneous mobile wireless systems
JP6491521B2 (ja) パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法
JP6417225B2 (ja) パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法
KR100915996B1 (ko) 대역폭변화에 따른 적응형 전송 제어 프로토콜을 이용한데이터 패킷 전송 방법 및 그를 위한 송신측 단말장치
JP6280681B2 (ja) パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法
JP6544353B2 (ja) 送信データ量制御装置、制御システム、制御方法および制御プログラム
JP5375313B2 (ja) 通信装置、擬似応答装置、送信レート制御方法およびプログラム
JP2017158047A (ja) 中継装置、中継方法及び中継プログラム
Kim et al. Improving TCP performance for vertical handover in heterogeneous wireless networks
WO2013011638A1 (ja) 通信装置およびその通信制御方法
Utsumi et al. Utilization-based congestion control: improvement of friendliness with TCP over wireless links
Park et al. TCP throughput improvement over vertical handover between 3G LTE and WLAN

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180120

R150 Certificate of patent or registration of utility model

Ref document number: 6280680

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees