JP6280681B2 - パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法 - Google Patents

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

Info

Publication number
JP6280681B2
JP6280681B2 JP2014057629A JP2014057629A JP6280681B2 JP 6280681 B2 JP6280681 B2 JP 6280681B2 JP 2014057629 A JP2014057629 A JP 2014057629A JP 2014057629 A JP2014057629 A JP 2014057629A JP 6280681 B2 JP6280681 B2 JP 6280681B2
Authority
JP
Japan
Prior art keywords
rtt
packet
delay time
trip delay
base
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
JP2014057629A
Other languages
English (en)
Other versions
JP2015185857A (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 JP2014057629A priority Critical patent/JP6280681B2/ja
Publication of JP2015185857A publication Critical patent/JP2015185857A/ja
Application granted granted Critical
Publication of JP6280681B2 publication Critical patent/JP6280681B2/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参照)。
例えば、図11に示すように、TCPを利用して相互通信接続を行う通信端末10,20において、通信端末10にはパケット送信装置11及びパケット受信装置12が設けられ、通信端末20にはパケット受信装置21及びパケット送信装置22が設けられる。パケット送信装置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を調整する技法は輻輳制御技法と呼ばれ、通信の状態によってその制御技法が切り替えられる。一般的には通信開始時やタイムアウト後に適用される「スロースタートフェーズ」、通信が安定している際に適用される「輻輳回避フェーズ」、ロスパケットを再送するための「ロスリカバリフェーズ」といったフェーズに応じて輻輳制御技法が切り替える。
TCP NewRenoは、輻輳回避フェーズでは送達確認応答を受信する度に、式(1)によりCWNDを拡大する(例えば、非特許文献2参照)。尚、MSSはパケットに含まれるデータの最大バイト数である。
CWND = CWND + MSS /CWND (1)
また、パケットロスが発生した場合には式(2)によりCWNDを縮小する。
CWND = max(CWND_MIN, CWND/2) (2)
CWND_MINはCWNDが取りうる最小の値である。このように、パケットロスが発生するまでCWNDを拡大し続ける技法を一般に「ロスベース技法」と呼ぶ。
一方、TCP Vegasは、輻輳回避フェーズでは1往復遅延時間(RTT:Round Trip Time)毎に、式(3)によりCWNDを更新する(例えば、非特許文献3参照)。
diff = CWND/RTTbase − CWND/RTTmin (3)
if diff > β
then CWND = CWND − MSS
ssthresh = min(CWND, ssthresh)
else if diff < α
then CWND = CWND + MSS
else
CWND = CWND
ここに、RTTbaseは通信を開始してから現時点までに計測した最小のRTT、RTTminは予め定めたパケット遅延量に関する計測期間内におけるRTTについて直前の1計測期間で計測した最小のRTTである。また、α,βは、予め定めたパラメータである。さらに、ssthreshは、スロースタートフェーズにおけるCWNDの拡大・縮小を決めるのに用いるスロースタート閾値である。このようにRTTを用いてCWNDを増減する技法を一般に「遅延ベース技法」と呼ぶ。
また、TCP Westwoodはロスベース技法と遅延ベース技法を組み合わせており、「ハイブリッド技法」と呼ばれる(例えば、非特許文献4参照)。TCP Westwoodは送達確認応答を受信すると、TCP NewRenoと同じようにCWNDを拡大する。パケットロスが発生した場合には式(4)によりCWNDを縮小する。
ssthresh = BWE × RTTbase (4)
CWND = min(CWND, ssthresh)
BWEは使用帯域であり、CWND/RTTで計算される。パケットロス発生時にCWNDを縮小する点はロスベース技法と同様だが、その縮小量は遅延ベース技法のようにRTTbaseを用いて決定する。
また、Vegasのように遅延増加時にもCWNDを縮小させることができるが、その縮小幅をWestwoodのように使用帯域とRTTbaseを用いて決定する技法が開示されている(例えば、特許文献1参照)。
これらの従来技術を総括するに、ロスベース技法においてはパケットロス発生時にCWNDの縮小幅を制御するためにRTTbaseを基準に用いるように構成することがあり 、一方、遅延ベース技法においては、RTTbaseを遅延増加判定の閾値に用いるように構成する。例えば、ロスベース技法における、そのパケット送信装置11の概略構成を示すと、図12のようになり、遅延ベース技法における、そのパケット送信装置11の概略構成を示すと、図13のようになる。図12及び図13では、同様な構成要素には同一の参照番号を付している。尚、図12及び図13に示すパケット送信装置11は、後述する本発明との対比に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。まず、図12に示す従来技術に基づくパケット送信装置11は、送信時刻書込部111、パケット送信部112、送達確認応答受信部113、パケットロス判定部114、RTT更新部115及び輻輳ウィンドウ制御部116を備える。
送信時刻書込部111は、パケット送信時に送信時刻を記録する。この送信時刻は、パケット送信装置11の本体内メモリ(図示せず)にパケット番号とともに記録することができる。或いは、TCPのタイムスタンプオプションを用いて記録することもできる。
パケット送信部112は、パケット受信装置21に向けてパケットを送信する。その後、送達確認応答受信部113は、パケット受信装置21から通知される送達確認応答パケットを受信すると、次の処理を開始する。
送達確認応答受信部113は、送達確認応答パケットを受信すると、パケット送信部112からのパケット送信から送達確認応答パケットを受信するまでにかかったRTTを計算する。RTTの計算は、本体内メモリに記録した送信時刻と受信時刻の差とすることができる。或いは、TCPタイムスタンプオプションを用いることができる。RTTの計算後、送達確認応答受信部113は、パケットロス判定部114へ送達確認応答パケットを、RTT更新部115へ送達確認応答パケット及びRTTを通知する。
パケットロス判定部114は、送達確認応答受信部113から送達確認応答パケットを受信すると、パケットロスが発生しているか否かの判定を行う。パケットロスの判定には、例えば送達確認応答パケットに含まれる送達確認番号が同じパケットを3回受信した場合とする方法がある。その後、輻輳ウィンドウ制御部116へ判定結果を通知する。
RTT更新部115は、送達確認応答受信部113から送達確認応答パケット及びRTTを受信すると、RTTbaseを式(5)により更新する。
RTTbase = min (RTT, RTTbase) (5)
その後、輻輳ウィンドウ制御部116へRTTとRTTbaseを通知する。
輻輳ウィンドウ制御部116は、パケットロス判定部116から判定結果を受信し、更にRTT更新部115からRTT及びRTTbaseを受信し、パケットロスが発生していた場合、式(1)〜(4)のいずれかによりCWNDを更新し、パケット送信部112におけるパケット送信の輻輳ウィンドウを制御する。
また、図13に示す従来技術に基づくパケット送信装置11では、図12に示すパケット送信装置11に対して、更に、遅延増加判定部117が設けられる。この遅延増加判定部117は、RTT更新部115から受信したRTTbaseを遅延増加判定の閾値に用いてパケット遅延量を判別し、RTT及び送達確認応答パケットを基にRTTminを更新して、パケット遅延量の判定結果とRTTminを輻輳ウィンドウ制御部116に出力する。このようにして、図13に示す従来技術に基づくパケット送信装置11では、遅延ベースの輻輳制御を行う。
特許第4632874号明細書
"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〉 "RFC6582 The NewReno Modification to TCP’s Fast Recovery Algorithm"、[online]、平成24(西暦2012)年4月策定、Internet Engineering Task Force (IETF)、[平成26年2月24日検索]、インターネット〈URL:https://tools.ietf.org/html/rfc6582〉 Lawrence S. Brakmo, Larry L. Peterson,"TCP Vegas: End to End Congestion Avoidance on a Global Internet," Selected Areas in Communications, IEEE Journal on Volume:13 , Issue: 8, pp.1465-1480, Oct. 1995,[平成26年2月24日検索]、インターネット〈URL:http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=464716&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D464716〉 M. Gerla, M. Y. Sanadidi, R. Wang, A. Zanella, C. Casetti and S. Mascolo, "TCP Westwood: congestion window control using bandwidth estimation," IEEE Global Telecommunications Conference 2001, vol.3 pp.1698-1702, 2001,[平成26年2月24日検索]、インターネット〈URL:http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=965869&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D965869〉
ロスベース技法はパケットロスが発生するまでCWNDを拡大するため、必ずロスが発生する。一方、遅延ベース技法は遅延の増加を検出した時点でCWNDを縮小するため、パケットロスの発生を防ぐことが可能である。しかし、回線を共有するフロー間での使用帯域の公平性について問題があった。
例えば、或る回線にまずIPデータフロー1(F1)が発生したとする。F1はこの回線を使い切り、遅延が増加するまでCWNDを拡大する。そして、遅延が少し増加したところでCWNDの拡大を止める。F1のRTTbase(F1_RTTbase)は回線が空いた状態で計測したRTTとなる。
次に、IPデータフロー2(F2)が発生したとする。F2は既にF1により遅延が増加した状態の回線にパケットを送信するため、F2のRTTbase(F2_RTTbase)はF1_RTTbaseよりも大きい値となる。従って、F1とF2で同じRTTminを計測したとしてもF1が先にCWNDを縮小するスレッショルドを超えるため、F1ばかりがCWNDを縮小することとなり、使用帯域に不公平が生ずる。
TCP Westwoodの場合も同様に、RTTbaseを基にCWNDを計算するため、上記のようにRTTbaseの値に不公平が生ずると、使用帯域にも不公平が生ずる。
特許文献1の技法も同様に、RTTbaseを用いた遅延増加判定とCWNDの更新を行うため、RTTbaseの値に不公平が生ずると使用帯域にも不公平が生ずる。
本発明は、上述の問題を鑑みて為されたものであり、本発明の目的は、送達確認を行うパケット通信方式において、遅延を指標とした輻輳制御を行う際に、回線を共有するフロー間の使用帯域の公平性を改善するパケット送信装置、通信端末及び輻輳制御方法を提供することにある。
本発明によるパケット送信装置を備える通信端末は、RTTbaseの値についてCWNDを縮小する度にリセットした新たな基準の往復遅延時間(RTTbase_tmp)を用いてCWNDを更新するように構成し、これにより複数のIPデータフローの各々が同じRTTbase_tmpを使用可能にして、複数のIPデータフローの使用帯域の公平性を改善する。
即ち、本発明のパケット送信装置は、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウィンドウの制御を行うパケット送信装置であって、パケット送信の送達確認に基づく往復遅延時間(RTT)と、前記往復遅延時間(RTT)について継続して計測した最小の往復遅延時間(RTTbase)について輻輳ウィンドウサイズを縮小する度にリセットした基準の往復遅延時間(RTTbase_tmp)とを保持し、当該往復遅延時間(RTT)を算出する度に更新するRTT更新手段と、パケットロス発生時に、前記往復遅延時間(RTT)及び前記基準の往復遅延時間(RTTbase_tmp)を基に前記輻輳ウィンドウサイズを縮小するとともに、前記基準の往復遅延時間(RTTbase_tmp)をリセットさせるよう制御する輻輳ウィンドウ制御手段と、を備えることを特徴とする。
また、本発明のパケット送信装置において、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間(RTT)について直前の1計測期間内で計測した最小の値を計測期間内最小の往復遅延時間(RTTmin)として計測して保持し、前記基準の往復遅延時間(RTTbase_tmp)と前記計測期間内最小の往復遅延時間(RTTmin)を用いてパケット送信に関する遅延増加の発生を検出する遅延増加判定手段を更に備え、前記輻輳ウィンドウ制御手段は、前記パケットロス発生と前記遅延増加の発生のうち少なくとも一方を判定した際に、前記基準の往復遅延時間(RTTbase_tmp)及び前記計測期間内最小の往復遅延時間(RTTmin)を基に前記輻輳ウィンドウサイズを縮小するとともに、前記基準の往復遅延時間(RTTbase_tmp)及び前記計測期間内最小の往復遅延時間(RTTmin)をリセットさせるよう制御する手段を有することを特徴とする。
また、本発明の通信端末は、本発明のパケット送信装置を備えることを特徴とする。
また、本発明の輻輳制御方法は、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウィンドウの制御を行う輻輳制御方法であって、パケット送信の送達確認に基づく往復遅延時間(RTT)と、前記往復遅延時間(RTT)について継続して計測した最小の往復遅延時間(RTTbase)について輻輳ウィンドウサイズを縮小する度にリセットした基準の往復遅延時間(RTTbase_tmp)とを保持し、当該往復遅延時間(RTT)を算出する度に更新するステップと、パケットロス発生時に、前記往復遅延時間(RTT)及び前記基準の往復遅延時間(RTTbase_tmp)を基に前記輻輳ウィンドウサイズを縮小するとともに、前記基準の往復遅延時間(RTTbase_tmp)をリセットさせるよう制御するステップと、を含むことを特徴とする。
本発明によれば、遅延量を用いてCWNDの増減の判定や更新を行う輻輳制御技法にて、RTTbaseの値についてCWNDを縮小する度にリセットした新たな基準の往復遅延時間(RTTbase_tmp)を用いてCWNDを更新するように構成したので、複数のIPデータフローの各々が同じRTTbase_tmpを使用可能にして、複数のIPデータフローの使用帯域の公平性を改善することができる。
本発明による第1実施形態のパケット送信装置におけるブロック図である。 本発明による第1実施形態のパケット送信装置における送達確認応答受信部の処理を示すフローチャートである。 本発明による第1実施形態のパケット送信装置におけるパケットロス判定処理部の処理を示すフローチャートである。 本発明による第1実施形態のパケット送信装置におけるRTT更新部の処理を示すフローチャートである。 本発明による第1実施形態のパケット送信装置における輻輳ウィンドウ制御部の処理を示すフローチャートである。 本発明による第2実施形態のパケット送信装置におけるブロック図である。 本発明による第2実施形態のパケット送信装置におけるRTT更新部の処理を示すフローチャートである。 (A),(B)は、本発明による第2実施形態のパケット送信装置に係るパケット遅延量に関する計測期間の説明図である。 本発明による第2実施形態のパケット送信装置における遅延増加判定部の処理を示すフローチャートである。 本発明による第2実施形態のパケット送信装置における輻輳ウィンドウ制御部の処理を示すフローチャートである。 TCPを利用して相互通信接続を行う通信端末のネットワーク接続例を説明する図である。 従来技術に基づくロスベース技法のパケット送信装置におけるブロック図である。 従来技術に基づく遅延ベース技法のパケット送信装置におけるブロック図である。
以下、図面を参照して、本発明による各実施形態のパケット送信装置、通信端末及び輻輳制御方法を説明する。
〔第1実施形態〕
図1は、本発明による第1実施形態のパケット送信装置11aにおけるブロック図である。
パケット送信装置11aは、図12に示すパケット送信装置11に置き換えて、図11に示す通信端末10に設ける装置である。同様に、通信端末20に対しても、パケット送信装置22に置き換えてパケット送信装置11aと同様の構成を設けることができる。したがって、図11に示すように、TCPを利用して相互通信接続を行う通信端末10,20において、パケット送信装置11aは、データ送信用パケットを所定の通信路を介してパケット受信装置21に送信すると、パケット受信装置21は、受信した旨の報告として送達確認応答パケットをパケット送信装置11aに送信する。尚、図1に示すパケット送信装置11aは、本発明に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。
図1に示すように、本実施形態のパケット送信装置11aは、送信時刻書込部111、パケット送信部112、送達確認応答受信部113、パケットロス判定部114、RTT更新部115a及び輻輳ウィンドウ制御部116aを備える。尚、図12に示すパケット送信装置11と比較して、本実施形態のパケット送信装置11aは、RTT更新部115及び輻輳ウィンドウ制御部116の代わりに、RTT更新部115a及び輻輳ウィンドウ制御部116aを備える点で相違しており、同様な構成要素には同一の参照番号を付している。
送信時刻書込部111は、パケット送信時に送信時刻を記録する。この送信時刻は、パケット送信装置11の本体内メモリ(図示せず)にパケット番号とともに記録することができる。或いは、TCPのタイムスタンプオプションを用いて記録することもできる。
パケット送信部112は、パケット受信装置21に向けてパケットを送信する。その後、送達確認応答受信部113は、パケット受信装置21から通知される送達確認応答パケットを受信すると、次の処理を開始する。
送達確認応答受信部113は、送達確認応答パケットを受信すると、パケット送信部112からのパケット送信から送達確認応答パケットを受信するまでにかかったRTTを計算する。RTTの計算は、本体内メモリに記録した送信時刻と受信時刻の差とすることができる。或いは、TCPタイムスタンプオプションを用いることができる。より具体的には、図2に示すように、送達確認応答受信部113は、送達確認応答パケットを受信すると(ステップS11)、送信時刻と受信時刻の差からRTTを求め(ステップS12)、RTTの計算後、パケットロス判定部114へ送達確認応答パケットを通知するとともに(ステップS13)、RTT更新部115aへ送達確認応答パケット及びRTTを通知する(ステップS14)。
パケットロス判定部114は、送達確認応答受信部113から送達確認応答パケットを受信すると、パケットロスが発生しているか否かの判定を行う。より具体的には、図3に示すように、パケットロス判定部114は、送達確認応答受信部113から送達確認応答パケットを受信すると(ステップS21)、輻輳ウィンドウ制御部116aへ判定結果を通知する(ステップS22)。パケットロスの判定には、例えば送達確認応答パケットに含まれる送達確認番号が同じパケットを3回受信した場合とする方法がある。
RTT更新部115aは、RTTbaseの値についてCWNDを縮小する度にリセットした新たな基準の往復遅延時間(RTTbase_tmp)を用い、送達確認応答受信部113から受信した送達確認応答パケット及びRTTを基にRTTbase_tmpを更新するか、又は輻輳ウィンドウ制御部116aから受信したCWNDをリセットする旨を示すRTTリセット情報を基にRTTbase_tmpを更新する。より具体的には、図4に示すように、RTT更新部115aは、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信の有無を監視しており(ステップS31)、送達確認応答受信部113から送達確認応答パケット及びRTTを受信すると(ステップS31:Yes)、RTTbase_tmpを式(6)により更新する(ステップS32)。尚、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信が無い間(ステップS31:No)、輻輳ウィンドウ制御部116aからのRTTリセット情報の受信の有無を監視するためステップS34に移行する。
RTTbase_tmp = min(RTT, RTTbase_tmp) (6)
送達確認応答パケット及びRTTの受信時のRTTbase_tmpの更新後、RTT更新部115aは、輻輳ウィンドウ制御部116aへRTTとRTTbase_tmpを通知する(ステップS33)。
また、RTT更新部115aは、輻輳ウィンドウ制御部116aからのRTTリセット情報の受信の有無を監視しており(ステップS34)、輻輳ウィンドウ制御部116aからCWNDをリセットする旨を示すRTTリセット情報を受信すると(ステップS34:Yes)、RTTbase_tmpを式(7)により更新する(ステップS35)。尚、輻輳ウィンドウ制御部116aからのRTTリセット情報の受信が無い間(ステップS34:No)、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信の有無を監視するためステップS36に移行する。
RTTbase_tmp = max(RTT, RTTbase_tmp) (7)
そして、RTT更新部115aは、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信の待機状態に入り(ステップS36)、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信の有無、及び、輻輳ウィンドウ制御部116aからのRTTリセット情報の受信の有無を監視する(ステップS31,S34)。尚、図4では、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信の有無の監視、及び、輻輳ウィンドウ制御部116aからのRTTリセット情報の受信の有無の監視について経時的に行う例を説明したが、常時、双方の監視を行うように構成することができる。
輻輳ウィンドウ制御部116aは、パケットロス判定部114の判定結果と、RTT更新部115aからのRTT及びRTTbase_tmpに応じて、CWNDを更新する。より具体的には、図5に示すように、輻輳ウィンドウ制御部116aは、パケットロス判定部114から判定結果を受信し(ステップS41)、更にRTT更新部115aからRTTとRTTbase_tmpを受信する(ステップS42)。
パケットロス判定部114の判定結果によりパケットロスが発生していた場合(ステップS43:Yes)、輻輳ウィンドウ制御部116aは、式(8)によりssthreshとCWNDを更新する(ステップS45)。
ssthresh = CWND × RTTbase_tmp /RTT (8)
CWND = min(CWND, ssthresh)
その後、輻輳ウィンドウ制御部116aは、RTT更新部115aへRTTリセット情報を通知する(ステップS46)。
一方、パケットロス判定部114の判定結果によりパケットロスが発生していなかった場合には(ステップS43:No)、式(9)によりCWNDを拡大する(ステップS44)。
CWND = CWND + MSS/CWND (9)
このように、輻輳制御技法において、パケットロス発生時に送達確認に基づく新たな基準の遅延量を示すRTTbase_tmpを用いてCWNDを更新するように構成したことで、複数のIPデータフローの各々の間の使用帯域の公平性を改善することができる。
〔第2実施形態〕
図6は、本発明による第2実施形態のパケット送信装置11bにおけるブロック図である。
パケット送信装置11bは、図1213に示すパケット送信装置11に置き換えて、図11に示す通信端末10に設ける装置である。同様に、通信端末20に対しても、パケット送信装置22に置き換えてパケット送信装置11bと同様の構成を設けることができる。したがって、図11に示すように、TCPを利用して相互通信接続を行う通信端末10,20において、パケット送信装置11bは、データ送信用パケットを所定の通信路を介してパケット受信装置21に送信すると、パケット受信装置21は、受信した旨の報告として送達確認応答パケットをパケット送信装置11bに送信する。尚、図6に示すパケット送信装置11bは、本発明に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。
図6に示すように、本実施形態のパケット送信装置11bは、送信時刻書込部111、パケット送信部112、送達確認応答受信部113、パケットロス判定部114、RTT更新部115b、輻輳ウィンドウ制御部116b及び遅延増加判定部117bを備える。尚、図13に示すパケット送信装置11と比較して、本実施形態のパケット送信装置11bは、RTT更新部115、輻輳ウィンドウ制御部116及び遅延増加判定部117の代わりに、RTT更新部115b、輻輳ウィンドウ制御部116b及び遅延増加判定部117bを備える点で相違しており、同様な構成要素には同一の参照番号を付している。
また、本実施形態のパケット送信装置11bは、第1実施形態のパケット送信装置11aと比較して、新たな構成の遅延増加判定部117bを追加し、遅延増加が発生した場合にもCWNDを縮小し、パケットロス発生時に送達確認に基づく新たな基準の遅延量を示すRTTbase_tmpを用いてCWNDを更新するように遅延ベース技法に基づく構成とした例である。
送信時刻書込部111、パケット送信部112、送達確認応答受信部113、パケットロス判定部114の動作は第1実施形態と同様であり、更なる詳細な説明は省略する。
RTT更新部115bは、第1実施形態と同様に、送達確認応答受信部113から受信した送達確認応答パケット及びRTTを基にRTTbase_tmpを更新するか、又は輻輳ウィンドウ制御部116bから受信したCWNDをリセットする旨を示すRTTリセット情報を基にRTTbase_tmpを更新する機能を有するが、遅延増加判定部117bに対してもRTT、RTTbase_tmp及び送達確認応答パケットを通知するように構成される。より具体的には、図7に示すように、RTT更新部115bは、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信の有無を監視しており(ステップS51)、送達確認応答受信部113から送達確認応答パケット及びRTTを受信すると(ステップS51:Yes)、RTTbase_tmpを式(6)により更新する(ステップS52)。尚、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信が無い間(ステップS51:No)、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信の有無を監視するためステップS55に移行する。
送達確認応答パケット及びRTTの受信時のRTTbase_tmpの更新後、RTT更新部115bは、輻輳ウィンドウ制御部116bへRTTとRTTbase_tmpを通知するとともに(ステップS53)、遅延増加判定部117bへRTT、RTTbase_tmp及び送達確認応答パケットを通知する(ステップS54)。
また、RTT更新部115bは、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信の有無を監視しており(ステップS55)、輻輳ウィンドウ制御部116bからCWNDをリセットする旨を示すRTTリセット情報を受信すると(ステップS55:Yes)、RTTbase_tmpを式(7)により更新する(ステップS56)。尚、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信が無い間(ステップS55:No)、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信の有無を監視するためステップS57に移行する。
そして、RTT更新部115bは、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信の待機状態に入り(ステップS57)、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信の有無、及び、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信の有無を監視する(ステップS51,S55)。尚、図7では、送達確認応答受信部113からの送達確認応答パケット及びRTTの受信の有無の監視、及び、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信の有無の監視について経時的に行う例を説明したが、常時、双方の監視を行うように構成することができる。
遅延増加判定部117bは、RTT更新部115bから受信したRTT,RTTbase_tmp及び送達確認応答パケットを基に、予め定めたパケット遅延量に関する計測期間における計測開始から1計測期間が経過したか否かを判定する。
例えば、図8(A)に示すように、通信端末10が連続的に送信するデータ送信用パケットD1,D2,D3を通信端末20に向けて送信するとともに、データ送信用パケットD1,D2,D3の各々に対応する送達確認応答パケットACK1,ACK2,ACK3を受信する場合を考えたとき、1計測期間は、計測期間の計測の開始から通信端末10(パケット送信装置11b)が最初に送信するパケットに対する送達確認応答(ACK)が到着するまで、とすることができる。
或いは、図8(B)に示すように、1計測期間は、計測期間の計測の開始から所定時間(例えば、直前の計測期間における最小のRTT(RTTmin)経過時まで、とすることができる。尚、計測期間は、IPデータフローに対して連続的に定めてもよいし、間欠的に定めてもよく、計測期間で求めたRTTminは少なくとも次回の計測期間でRTTminを求めるまで保持するように構成し、RTTminを用いるCWND等の更新にはその更新時点で保持するRTTminを用いるようにする。
より具体的には、図9に示すように、遅延増加判定部117bは、RTT更新部115bからのRTT,RTTbase_tmp及び送達確認応答パケットの受信の有無を監視しており(ステップS61)、RTT更新部115bからRTT,RTTbase_tmp及び送達確認応答パケットを受信すると(ステップS61:Yes)、1計測期間が経過していた場合(ステップS62:Yes)、式(10)により遅延が増加しているか否かの判定を行う(ステップS65,S66)。尚、RTTminは、1計測期間内で計測した最小のRTTである。
diff = CWND/RTTbase_tmp − CWND/RTTmin (10)
if diff > 閾値
then 遅延増加発生と判定
else 遅延増加未発生と判定
続いて、遅延増加判定部117bは、遅延増加と判定した場合(ステップS66:Yes)、輻輳ウィンドウ制御部116bへRTTminと遅延増加発生を通知する(ステップS68)。遅延増加未発生と判定した場合(ステップS66:No)、輻輳ウィンドウ制御部へRTTminと遅延増加未発生を通知する(ステップS67)。その後、遅延増加判定部117bは、RTTminをRTTに更新し(ステップS69)、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信の有無を監視するためステップS70に移行する。
一方、遅延増加判定部117bは、RTT更新部115bからRTT,RTTbase_tmp及び送達確認応答パケットを受信し(ステップS61:Yes)、1計測期間が経過していない場合(ステップS62:No)、式(11)によりRTTminを更新する(ステップS63)。
RTTmin = min(RTT, RTTmin) (11)
続いて、遅延増加判定部117bは、輻輳ウィンドウ制御部116bへRTTminと遅延増加未発生の旨を通知し(ステップS64)、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信の有無を監視するためステップS70に移行する。
また、遅延増加判定部117bは、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信の有無を監視しており(ステップS70)、輻輳ウィンドウ制御部116bからCWNDをリセットする旨を示すRTTリセット情報を受信すると(ステップS70:Yes)、RTTminを式(12)により更新する(ステップS71)。尚、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信が無い間(ステップS70:No)、RTT更新部115bからのRTT、RTTbase_tmp及び送達確認応答パケットの受信の有無を監視するためステップS72に移行する。
RTTmin = max(RTT, RTTmin) (12)
そして、遅延増加判定部117bは、RTT更新部115bからのRTT,RTTbase_tmp及び送達確認応答パケットの受信の待機状態に入り(ステップS72)、RTT更新部115bからのRTT,RTTbase_tmp及び送達確認応答パケットの受信の有無、及び、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信の有無を監視する(ステップS61,S70)。尚、図9では、RTT更新部115bからのRTT,RTTbase_tmp及び送達確認応答パケットの受信の有無の監視、及び、輻輳ウィンドウ制御部116bからのRTTリセット情報の受信の有無の監視について経時的に行う例を説明したが、常時、双方の監視を行うように構成することができる。
輻輳ウィンドウ制御部116bは、パケットロス判定部114の判定結果と、遅延増加判定部117bからのRTTmin及び判定結果と、RTT更新部115bからのRTT及びRTTbase_tmpに応じて、CWNDを更新する。より具体的には、図10に示すように、まず、輻輳ウィンドウ制御部116bは、パケットロス判定部114から判定結果を受信し(ステップS81)、遅延増加判定部117bからRTTmin及び判定結果を受信し(ステップS82)、更にRTT更新部115abからRTTとRTTbase_tmpを受信する(ステップS83)。
パケットロス判定部114の判定結果によりパケットロスが発生していた場合、或いは遅延増加判定部117bの判定結果により遅延増加が発生していた場合(ステップS84:Yes)、輻輳ウィンドウ制御部116bは、式(13)によりssthreshとCWNDを更新する(ステップS86)。
ssthresh = CWND × RTTbase_tmp /RTTmin (13)
CWND = min(CWND, ssthresh)
その後、輻輳ウィンドウ制御部116bは、RTT更新部115b及び遅延増加判定部117bへRTTリセット情報を通知する(ステップS87)。
一方、パケットロス判定部114の判定結果によりパケットロスが発生していない場合、且つ遅延増加判定部117bの判定結果により遅延増加が発生していない場合(ステップS84:No)、輻輳ウィンドウ制御部116bは、式(9)によりCWNDを拡大する(ステップS85)。
このように、遅延ベース技法においても、送達確認に基づく新たな基準の遅延量を示すRTTbase_tmpと遅延増加の判定を用いてCWNDを更新するように構成することで、複数のIPデータフローの各々の間の使用帯域の公平性を改善することができる。
以上、特定の実施例を挙げて本発明を説明したが、本発明は前述の各実施形態の例に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウィンドウの制御を行うパケット送信装置であれば、如何なる態様の装置でもよい。
本発明によれば、複数のIPデータフローの使用帯域の公平性を改善することができるので、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウィンドウの制御を行う用途に有用である。
10 通信端末
11 従来技術に係るパケット送信装置
11a,11b 本発明による一実施形態のパケット送信装置
12 パケット受信装置
20 通信端末
21 パケット受信装置
22 パケット送信装置
111 送信時刻書込部
112 パケット送信部
113 送達確認応答受信部
114 パケットロス判定部
115,115a,116b RTT更新部
116,116a,116b 輻輳ウィンドウ制御部
117,117b 遅延増加判定部

Claims (4)

  1. 送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウィンドウの制御を行うパケット送信装置であって、
    パケット送信の送達確認に基づく往復遅延時間(RTT)と、前記往復遅延時間(RTT)について継続して計測した最小の往復遅延時間(RTTbase)について輻輳ウィンドウサイズを縮小する度にリセットした基準の往復遅延時間(RTTbase_tmp)とを保持し、当該往復遅延時間(RTT)を算出する度に更新するRTT更新手段と、
    パケットロス発生時に、前記往復遅延時間(RTT)及び前記基準の往復遅延時間(RTTbase_tmp)を基に前記輻輳ウィンドウサイズを縮小するとともに、前記基準の往復遅延時間(RTTbase_tmp)をリセットさせるよう制御する輻輳ウィンドウ制御手段と、
    を備えることを特徴とするパケット送信装置。
  2. 予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間(RTT)について直前の1計測期間内で計測した最小の値を計測期間内最小の往復遅延時間(RTTmin)として計測して保持し、前記基準の往復遅延時間(RTTbase_tmp)と前記計測期間内最小の往復遅延時間(RTTmin)を用いてパケット送信に関する遅延増加の発生を検出する遅延増加判定手段を更に備え、
    前記輻輳ウィンドウ制御手段は、
    前記パケットロス発生と前記遅延増加の発生のうち少なくとも一方を判定した際に、前記基準の往復遅延時間(RTTbase_tmp)及び前記計測期間内最小の往復遅延時間(RTTmin)を基に前記輻輳ウィンドウサイズを縮小するとともに、前記基準の往復遅延時間(RTTbase_tmp)及び前記計測期間内最小の往復遅延時間(RTTmin)をリセットさせるよう制御する手段を有することを特徴とする、請求項1に記載のパケット送信装置。
  3. 請求項1又は2に記載のパケット送信装置を備えることを特徴とする通信端末。
  4. 送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウィンドウの制御を行う輻輳制御方法であって、
    パケット送信の送達確認に基づく往復遅延時間(RTT)と、前記往復遅延時間(RTT)について継続して計測した最小の往復遅延時間(RTTbase)について輻輳ウィンドウサイズを縮小する度にリセットした基準の往復遅延時間(RTTbase_tmp)とを保持し、当該往復遅延時間(RTT)を算出する度に更新するステップと、
    パケットロス発生時に、前記往復遅延時間(RTT)及び前記基準の往復遅延時間(RTTbase_tmp)を基に前記輻輳ウィンドウサイズを縮小するとともに、前記基準の往復遅延時間(RTTbase_tmp)をリセットさせるよう制御するステップと、
    を含むことを特徴とする輻輳制御方法。
JP2014057629A 2014-03-20 2014-03-20 パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法 Expired - Fee Related JP6280681B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014057629A JP6280681B2 (ja) 2014-03-20 2014-03-20 パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014057629A JP6280681B2 (ja) 2014-03-20 2014-03-20 パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法

Publications (2)

Publication Number Publication Date
JP2015185857A JP2015185857A (ja) 2015-10-22
JP6280681B2 true JP6280681B2 (ja) 2018-02-14

Family

ID=54352012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014057629A Expired - Fee Related JP6280681B2 (ja) 2014-03-20 2014-03-20 パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法

Country Status (1)

Country Link
JP (1) JP6280681B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009146726A1 (en) * 2008-06-06 2009-12-10 Telefonaktiebolaget Lm Ericsson (Publ) Technique for improving congestion control
JP6173826B2 (ja) * 2013-08-07 2017-08-02 日本放送協会 パケット送信装置およびそのプログラム

Also Published As

Publication number Publication date
JP2015185857A (ja) 2015-10-22

Similar Documents

Publication Publication Date Title
JP4147534B2 (ja) 通信装置および通信方法
JP4778453B2 (ja) 通信端末、輻輳制御方法および輻輳制御プログラム
JP3789120B2 (ja) Tcpにおける受信側主体のrtt測定方法
JP4755038B2 (ja) バースト・ビット・レート測定方法及び装置
JP2005505199A (ja) 再送タイマを用いる伝送プロトコルの性能を向上する方法
JP2004253934A (ja) 無線通信システム、サーバ、基地局、移動端末及びそれらに用いる再送タイムアウト時間決定方法
WO2017119408A1 (ja) 送信データ量制御装置、方法および記録媒体
JP6274113B2 (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
JPWO2007026557A1 (ja) 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム
EP2922241B1 (en) Methods and apparatus to determine network delay with location independence from retransmission delay and application response time
JP2011061699A (ja) 輻輳制御装置及び輻輳制御方法
Braun et al. CCN & TCP co-existence in the future Internet: Should CCN be compatible to TCP?
JP2008104018A (ja) 通信システム、通信装置、及び送信制御方法
JP6173826B2 (ja) パケット送信装置およびそのプログラム
JP5308364B2 (ja) 送信装置、送信方法及びプログラム
JP6280681B2 (ja) パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法
JP6491521B2 (ja) パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法
Batla et al. Relative inspection of TCP variants reno, new reno, sack, vegas in AODV
EP2922242A2 (en) Methods and Apparatus to Determine Network Delay with Location Independence
JP6280680B2 (ja) パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法
Sinky et al. Cross-layer assisted TCP for seamless handoff in heterogeneous mobile wireless systems
JP6417225B2 (ja) パケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法
Lee et al. TCP-friendly congestion control for streaming real-time applications over wireless networks

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

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees