JP2005268979A - 片方向遅延時間に基づいた輻輳制御方法、通信システム、通信装置、通信方法、プログラム、および記録媒体 - Google Patents
片方向遅延時間に基づいた輻輳制御方法、通信システム、通信装置、通信方法、プログラム、および記録媒体 Download PDFInfo
- Publication number
- JP2005268979A JP2005268979A JP2004075519A JP2004075519A JP2005268979A JP 2005268979 A JP2005268979 A JP 2005268979A JP 2004075519 A JP2004075519 A JP 2004075519A JP 2004075519 A JP2004075519 A JP 2004075519A JP 2005268979 A JP2005268979 A JP 2005268979A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- window size
- reception confirmation
- now1
- network
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】輻輳時にウィンドウサイズの増加率を変化させることによって、廃棄されるパケット数を少なくし、結果としてネットワーク使用率の低下を防ぐ。
【解決手段】送信端末31は、パケット送信時に現在の時刻now1をパケットに書き込み、該パケットを送信する。受信端末は、now1と現在の時刻now2を受信確認パケットに書き込み、該受信確認パケットを送信する。送信端末31は前記受信確認パケットを受信した時、now2からnow1を減算した値を計算し、その平均値Avg、最小値Min、及び最大値Maxを記憶しておき、ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、Avg>Min+α(Max−Min)(0<α<1)が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくする。
【選択図】 図3
【解決手段】送信端末31は、パケット送信時に現在の時刻now1をパケットに書き込み、該パケットを送信する。受信端末は、now1と現在の時刻now2を受信確認パケットに書き込み、該受信確認パケットを送信する。送信端末31は前記受信確認パケットを受信した時、now2からnow1を減算した値を計算し、その平均値Avg、最小値Min、及び最大値Maxを記憶しておき、ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、Avg>Min+α(Max−Min)(0<α<1)が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくする。
【選択図】 図3
Description
本発明は、ネットワークの輻輳度に応じて、どの程度ウィンドウサイズを増加させるかを計算する技術に関する。
現在のインターネットで使用されている端末はトランスポートプロトコルにTCP(Transmission Control Protocol)を実装している。TCPにおける輻輳制御アルゴリズムは、スロースタート段階と輻輳回避段階に分けることができる(非特許文献1参照)。ここでは本提案に関係のある輻輳回避段階におけるアルゴリズムについてのみ述べる。
TCPを使用している送信端末はパケットを送信する時、各パケットにシーケンス番号を付与する。受信端末はパケットを正しく受信すると、次に受信を期待するパケットのシーケンス番号が付与された受信確認パケットを送信する。図1の例では、シーケンス番号100或いは101のパケットを受信すると、受信端末は次に受信を期待するパケットのシーケンス番号101或いは102が付与された受信確認パケットを送信している。
また送信端末は、輻輳ウィンドウ(cwnd)と呼ばれる変数を管理しており、cwndの値だけパケットを受信端末からの受信確認パケットの到着なしに送信することができる。例えばcwndの値が100の時、送信端末は100個のパケットを受信確認パケットの到着なしに送信することができる。送信端末はcwnd個の受信確認パケットを受信すると、ネットワークが輻輳状態ではないと判断し、cwndの値を1だけ増加させる。つまり先程の例では100個のパケットに対する受信確認パケットを受信すると、cwndの値を1だけ増加させ、101にする。一方、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値を半分にし、そのシーケンス番号のパケットを再送する。図2ではシーケンス番号101のパケットがネットワーク内で廃棄され、送信端末は次に受信を期待するパケットのシーケンス番号が101である受信確認パケットを3回受信したので、シーケンス番号が101のパケットを再送している。
上記がTCPにおける輻輳制御アルゴリズムの基本的動作であるが、近年このアルゴリズムでは、往復伝播遅延時間が長い場合、ギガビットレベルのスループットが実現不可能であることが報告され、新しくHigh−Speed TCP(HS−TCP)が提案されている(非特許文献2参照)。HS−TCPでは、送信端末はcwnd分の受信確認パケットを受信すると、ネットワークが輻輳状態でないと判断し、cwndの値をaだけ増加させる。一方、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値を(1−b)倍にする。ここで、a、bはそれぞれ以下の式1、式2で定義される。
HS−TCPは従来のTCPに比べて、cwndの増加率を高くし、且つ減少率を低くすることにより、往復遅延時間が長い場合でも、ギガビットレベルのスループットが実現可能であるようにしている。
しかし一般にネットワークでTCPのパケットが廃棄される時、その数はTCPのウィンドウサイズの増加率に比例すると言われている。よってHS−TCPでは輻輳時、従来のTCPより大量のパケットが廃棄されることとなり、結果として、ネットワーク使用率の低下を招くという問題がある。
この問題を解決する方法として、cwndの値がパケットのn倍の時、n個のパケットの往復遅延時間を測定し、それらパケットを送信した時刻と測定した往復遅延時間に正の相関関係があれば、HS−TCPにおけるcwndの増加率を従来のTCPと同じ値に減少させる方式が提案されている(非特許文献3参照)。
しかしこの方式は、往復遅延時間の増加が送信端末から受信端末へのトラヒックが通過するリンクの輻輳を必ずしも意味していない為、不必要に増加率を減少させる問題がある。またcwndの値が大きくなった時、記憶しておく情報(n個のパケットの送信時刻、往復遅延時間)が大きくなりすぎるという問題もある。
S. A. Thomas(塚本、春本訳)、"次世代TCP/IP技術解説"、日経BP社、1997年1月27日
S. Floyd、"HighSpeed TCP for Large Congestion Windows"、RFC 3649、December 2003、[online]、[平成16年3月10日検索]、インターネット<http://www.faqs.org/rfcs/rfc3649.html>
徳田他、"HighSpeed TCPの性能評価とその性能改善方式の提案"、電子情報通信学会、情報ネットワーク研究会、2003年3月
本発明はHS−TCPの輻輳制御アルゴリズムにおいて、片方向遅延時間の値の増加によって送信端末から受信端末へのトラヒックが通過するリンクの輻輳を検出し、輻輳時にウィンドウサイズの増加率を変化させることによって、廃棄されるパケット数を少なくし、結果としてネットワーク使用率の低下を防ぐことである。
本発明は、ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御方法またはシステムであって、送信端末は、パケット送信時に現在の時刻now1をパケットに書き込み、該パケットを送信し、受信端末は、パケットを受信した時、パケットに書き込まれているnow1を読み取り、受信したパケットに対する受信確認パケットを送信する際、now1と現在の時刻now2を受信確認パケットに書き込み、該パケットを送信し、前記送信端末は前記受信確認パケットを受信した時、now2からnow1を減算した値を計算し、その平均値Avg、最小値Min、及び最大値Maxを記憶しておき、ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、Avg>Min+α(Max−Min)(0<α<1)が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくすることを特徴とする。また、本発明は、ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御を行う通信装置であって、パケット送信時に現在の時刻now1をパケットに書き込み、該パケットを送信する手段と、送信した前記パケットの受信確認パケットを受信した時、受信端末が前記受信確認パケットに書き込んだ受信端末における現在時刻now2から前記パケット送信時の現在時刻now1を減算した値を計算し、その平均値Avg、最小値Min、及び最大値Maxを記憶しておき、ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、Avg>Min+α(Max−Min)(0<α<1)が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくする手段と、を備えることを特徴とする。また、本発明は、前記通信装置からパケットを受信し前記通信装置に受信確認パケットを送信する通信装置であって、前記パケットを受信した時、該パケットに書き込まれているnow1を読み取り、受信したパケットに対する受信確認パケットを送信する際、now1と現在の時刻now2を受信確認パケットに書き込み、該パケットを送信する手段を備える。また、本発明は前記通信装置における通信方法を特徴とし、さらに、そのためのプログラム、そのプログラムを記録した記録媒体を特徴とする。
本発明を用いれば、例えばギガビットレベルのスループットが実現可能なHighSpeed TCPにおいて輻輳時、廃棄されるパケットの数を少なくすることができる。その結果、ネットワーク使用率を高く維持することができる。
以下、本発明の実施例を図を用いて詳細に説明する。
実施例における送信端末の構成図を図3に、受信端末の構成図を図4に示す。送信端末31は、送信するパケットに現在時刻を書き込む現在時刻書込部32と、受信したパケットから時刻を読み取る読み取り部33と、片方向遅延時間を計算する片方向遅延時間計算部34と、増加率・減少率を決定する増加率・減少率決定部35を備える。受信端末41は受信したパケットから時刻を読み取る時刻読み取り部42と、送信するパケットに情報を書き込む情報書込部43と、送信するパケットに現在時刻を書き込む書込部44を備える。なお、送信端末31、受信端末41が上記の各部の外に、パケットを送受するための手段等の送信端末、受信端末として必要な手段を備えていることはいうまでもない。また、一つの装置が送信端末と受信端末の両方の機能を備えていてもよい。
実施例における送信端末の構成図を図3に、受信端末の構成図を図4に示す。送信端末31は、送信するパケットに現在時刻を書き込む現在時刻書込部32と、受信したパケットから時刻を読み取る読み取り部33と、片方向遅延時間を計算する片方向遅延時間計算部34と、増加率・減少率を決定する増加率・減少率決定部35を備える。受信端末41は受信したパケットから時刻を読み取る時刻読み取り部42と、送信するパケットに情報を書き込む情報書込部43と、送信するパケットに現在時刻を書き込む書込部44を備える。なお、送信端末31、受信端末41が上記の各部の外に、パケットを送受するための手段等の送信端末、受信端末として必要な手段を備えていることはいうまでもない。また、一つの装置が送信端末と受信端末の両方の機能を備えていてもよい。
送信端末31はパケットAを送信する時、現在時刻書込部32で現在の時刻now1を書き込んだ後、パケットAを送信する。
受信端末41はパケットAを受信すると時刻読み取り部42でパケットAに書き込まれている時刻情報now1を読み取り、その値を情報書込部43に通知する。受信端末41はパケットAに対する受信確認パケットを送信する時、情報書込部43で、パケットAに書き込まれていた時刻情報now1を書き込み、且つ、現在時刻書込部44で現在の時刻now2を書き込んだ後、パケットBを送信する。
受信端末41はパケットAを受信すると時刻読み取り部42でパケットAに書き込まれている時刻情報now1を読み取り、その値を情報書込部43に通知する。受信端末41はパケットAに対する受信確認パケットを送信する時、情報書込部43で、パケットAに書き込まれていた時刻情報now1を書き込み、且つ、現在時刻書込部44で現在の時刻now2を書き込んだ後、パケットBを送信する。
送信端末31はパケットBを受信すると時刻読み取り部33でパケットBに書き込まれている時刻情報now1とnow2を読み取り、それらを片方向遅延時間計算部34に通知する。
送信端末31の片方向遅延時間計算部34は図5に示すフローチャートに従って、平均、最小、最大片方向遅延時間を計算する。図5において、Avgは片方向遅延時間の平均値である。Maxは片方向遅延時間の最大値であり、初期値は十分小さな値とする。Minは片方向遅延時間の最小値であり、初期値は十分大きな値とする。βは常数であり、0<β<1である。片方向遅延時間計算部34は次のようにして計算する。ステップ51において時刻読み取り部33で読み取られた時刻情報now2とnow1の時間差すなわち片方向遅延時間time=now2−now1を計算する。ステップ52において片方向遅延時間の平均値Avgをそれまでの片方向遅延時間の平均値Avg、片方向遅延時間time、常数β(0<β<1)を用いて、Ave=(1−β)*Avg+β*timeとして計算する。ステップ53において片方向遅延時間timeが片方向遅延時間の最大値Maxより大きいかどうかを判断し、YESであれば片方向遅延時間の最大値Maxに片方向遅延時間timeの値を代入した後ステップ55に進み、NOであればそのままステップ55に進む。ステップ55において片方向遅延時間の最小値Minが片方向遅延時間timeより大きいかどうかを判断し、YESであれば片方向遅延時間の最小値Minに片方向遅延時間timeの値を代入して終了し、NOであればそのまま終了する。以上のフローにより、送信端末31が受信端末41から受信確認パケットを受信するたびに、送信端末31の片方向遅延時間計算部34は片方向遅延時間の平均値Avg、片方向遅延時間の最大値Max、片方向遅延時間の最小値Minを計算し、記憶する。
送信端末31の片方向遅延時間計算部34は図5に示すフローチャートに従って、平均、最小、最大片方向遅延時間を計算する。図5において、Avgは片方向遅延時間の平均値である。Maxは片方向遅延時間の最大値であり、初期値は十分小さな値とする。Minは片方向遅延時間の最小値であり、初期値は十分大きな値とする。βは常数であり、0<β<1である。片方向遅延時間計算部34は次のようにして計算する。ステップ51において時刻読み取り部33で読み取られた時刻情報now2とnow1の時間差すなわち片方向遅延時間time=now2−now1を計算する。ステップ52において片方向遅延時間の平均値Avgをそれまでの片方向遅延時間の平均値Avg、片方向遅延時間time、常数β(0<β<1)を用いて、Ave=(1−β)*Avg+β*timeとして計算する。ステップ53において片方向遅延時間timeが片方向遅延時間の最大値Maxより大きいかどうかを判断し、YESであれば片方向遅延時間の最大値Maxに片方向遅延時間timeの値を代入した後ステップ55に進み、NOであればそのままステップ55に進む。ステップ55において片方向遅延時間の最小値Minが片方向遅延時間timeより大きいかどうかを判断し、YESであれば片方向遅延時間の最小値Minに片方向遅延時間timeの値を代入して終了し、NOであればそのまま終了する。以上のフローにより、送信端末31が受信端末41から受信確認パケットを受信するたびに、送信端末31の片方向遅延時間計算部34は片方向遅延時間の平均値Avg、片方向遅延時間の最大値Max、片方向遅延時間の最小値Minを計算し、記憶する。
そして送信端末31の増加率・減少率決定部35は、図6に示すフローチャートに従って、ウィンドウサイズの増加率・減少率を決定する。図6において、cntは変数であり、初期値は0である。cwndは輻輳ウィンドウサイズである。αは定数であり、0<α<1である。また、f(Avg)=(Max−Avg)/(Max−min)である。また、a、bはそれぞれ背景技術の欄に記載した式1、式2で定義される。増加率・減少率決定部35は次のようにして輻輳ウィンドウサイズcwndを決定する。ステップ61において次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信したかどうかを判断する。YESの場合(輻輳状態であると判断した場合)は、ステップ62において輻輳ウィンドウサイズcwndにそれまでの輻輳ウィンドウサイズcwndと(1−b)を乗じた値を代入し、ステップ68に進む。ステップ61でNOの場合(輻輳状態でないと判断した場合)は、ステップ63で変数cntをインクリメントし、ステップ64で変数cntと輻輳ウィンドウサイズcwndが等しいかどうかを判断する。NOであれば終了する。YESであれば、ステップ65でAvg>Min+α*(Max−Min)かどうかを判断する。YESであれば、ステップ66で輻輳ウィンドウサイズcwndにそれまでのcwndにa*f(Avg)を加算した値を代入し、ステップ68に進む。ステップ65でNOであればステップ67において輻輳ウィンドウサイズcwndにそれまでのcwndにaを加算した値を代入し、ステップ68に進む。ステップ68ではcntを初期値0に戻して、終了する。以上のフローにより、送信端末31の増加率・減少率決定部35は輻輳ウィンドウサイズcwndを決定し、記憶する。
以上のように、ステップ64でYESの場合すなわち輻輳ウィンドウサイズを増加させる場合、輻輳ウィンドウサイズcwndは、ステップ65でYESの場合はステップ66でcwnd=cwnd+a*f(Avg)とされ、ステップ65でNOの場合はステップ67でcwnd=cwnd+aとされる。f(Avg)=(Max−Avg)/(Max−Min)であり、Max−Avg≦Max−Minであるから、f(Avg)≦1である。これは、ステップ65でYESの場合はNOの場合よりもそれまでのcwndに加算する値が少ないことを意味している。したがって、Avg>Min+α*(Max−Min)が成立するならば、成立しない場合に比べて、輻輳ウィンドウサイズの増加幅は小さいことになる。
以下、図7に示す例を用いて、本発明の実施例の動作を説明する。送信端末は図7において示された時刻にパケット1から3を送信し、受信端末は図7において示された時刻にパケット1から3の受信確認パケットを送信するとする。パケット1から3のシーケンス番号は101から103とし、それらに対する受信確認パケットの次に受信を期待するパケットのシーケンス番号はそれぞれ102、103、104であるとする。またパケット1を送信する時、図5の片方向遅延時間の平均値Avgは0.05秒、片方向遅延時間の最小値Minは0.05秒、片方向遅延時間の最大値Maxは0.09秒、βは0.5、図6のcntは5097、輻輳ウィンドウサイズcwndは5100、αは0.5、a(cwnd=5100)は20であり、次に受信を期待するパケットのシーケンス番号が101である受信確認パケットを受信しているとする。
送信端末31がパケット1を送信する時、現在時刻書込部32で時刻10.00が書き込まれる。受信端末41がパケット1を受信すると時刻読み取り部42で時刻10.00が読み取られ、その値は情報書込部43に通知される。受信端末41がパケット1に対する受信確認パケットを送信する時、情報書込部43で10.00が書き込まれ、現在時刻書込部44で時刻10.05が書き込まれる。送信端末31がパケット1の受信確認パケットを受信すると、時刻読み取り部33で、10.00と10.05が読み取られる。そして、それらは片方向遅延時間計算部34に通知される。
片方向遅延時間計算部34では図5のアルゴリズムに従って、片方向遅延時間が計算される。今、now2は10.05、now1は10.00なので、片方向遅延時間timeは0.05となり(ステップ51)、片方向遅延時間の平均値Avgの値は、
Avg=(1−β)*Avg+β*time
=(1−0.5)*0.05+0.5*0.05
=0.05
に更新される(ステップ52)。そして、timeは0.05でありMaxは0.09であるから、timeはMaxより大きくないのでMaxの値は更新されず(ステップ53でNO)、また、timeは0.05でありMinは0.05であるから、timeはMinより小さくないのでMinの値も更新されない(ステップ55でNO)。次に増加率・減少率決定部35で図6のアルゴリズムに従って、ウィンドウサイズが変更される。今、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受け取っていないので(ステップ61でNO)、cntを5097から5098に更新する(ステップ63)。cwndは5100であり、cntはcwndと等しくないので(ステップ64でNO)、アルゴリズムは終了する。
Avg=(1−β)*Avg+β*time
=(1−0.5)*0.05+0.5*0.05
=0.05
に更新される(ステップ52)。そして、timeは0.05でありMaxは0.09であるから、timeはMaxより大きくないのでMaxの値は更新されず(ステップ53でNO)、また、timeは0.05でありMinは0.05であるから、timeはMinより小さくないのでMinの値も更新されない(ステップ55でNO)。次に増加率・減少率決定部35で図6のアルゴリズムに従って、ウィンドウサイズが変更される。今、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受け取っていないので(ステップ61でNO)、cntを5097から5098に更新する(ステップ63)。cwndは5100であり、cntはcwndと等しくないので(ステップ64でNO)、アルゴリズムは終了する。
送信端末31がパケット2を送信する時、現在時刻書込部32で時刻10.10が書き込まれる。受信端末41がパケット2を受信すると時刻読み取り部42で時刻10.10が読み取られ、その値は情報書込部43に通知される。受信端末41がパケット2に対する受信確認パケットを送信する時、情報書込部43で10.10が書き込まれ、現在時刻書込部44で時刻10.16が書き込まれる。送信端末31がパケット2の受信確認パケットを受信すると、時刻読み取り部33で、10.10と10.16が読み取られる。そして、それらは片方向遅延時間計算部34に通知される。
片方向遅延時間計算部34では図5のアルゴリズムに従って、片方向遅延時間が計算される。今、now2は10.16、now1は10.10なので、timeは0.06となり(ステップ51)、Avgの値は、
Avg=(1−β)*Avg+β*time
=(1−0.5)*0.05+0.5*0.06
=0.055
に更新される(ステップ52)。そして、timeは0.06でありMaxは0.09であるから、timeはMaxより大きくないのでMaxの値は更新されず(ステップ53でNO)、また、timeは0.06でありMinは0.05であるから、timeはMinより小さくないのでMinの値も更新されない(ステップ55でNO)。次に増加率・減少率決定部35で図6のアルゴリズムに従って、ウィンドウサイズが変更される。今、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受け取っていないので(ステップ61でNO)、cntを5098から5099に更新する。cwndは5100であり、cntはcwndと等しくないので、アルゴリズムは終了する。
Avg=(1−β)*Avg+β*time
=(1−0.5)*0.05+0.5*0.06
=0.055
に更新される(ステップ52)。そして、timeは0.06でありMaxは0.09であるから、timeはMaxより大きくないのでMaxの値は更新されず(ステップ53でNO)、また、timeは0.06でありMinは0.05であるから、timeはMinより小さくないのでMinの値も更新されない(ステップ55でNO)。次に増加率・減少率決定部35で図6のアルゴリズムに従って、ウィンドウサイズが変更される。今、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受け取っていないので(ステップ61でNO)、cntを5098から5099に更新する。cwndは5100であり、cntはcwndと等しくないので、アルゴリズムは終了する。
送信端末31がパケット3を送信する時、現在時刻書込部32で時刻10.21が書き込まれる。受信端末41がパケット3を受信すると時刻読み取り部42で時刻10.21が読み取られ、その値は情報書込部43に通知される。受信端末41がパケット3に対する受信確認パケットを送信する時、情報書込部43で10.21が書き込まれ、現在時刻書込部44で時刻10.31が書き込まれる。送信端末31がパケット3の受信確認パケットを受信すると、時刻読み取り部33で、10.21と10.31が読み取られる。そして、それらは片方向遅延時間計算部34に通知される。
片方向遅延時間計算部34では図5のアルゴリズムに従って、片方向遅延時間が計算される。今、now2は10.31、now1は10.21なので、片方向遅延時間timeは0.10となり(ステップ51)、片方向遅延時間の平均値Avgの値は、
Avg=(1−β)*Avg+β*time
=(1−0.5)*0.055+0.5*0.10
=0.0775
に更新される(ステップ52)。そして、timeは0.10でありMaxは0.09であるから、timeはMaxより大きいのでMaxの値は0.10に更新され(ステップ53、54)、また、timeは0.10でありMinは0.05であるから、timeはMinより小さくないのでMinの値は更新されない(ステップ55でNO)。次に増加率・減少率決定部35で図6のアルゴリズムに従って、ウィンドウサイズが変更される。今、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受け取っていないので(ステップ61でNO)、cntを5099から5100に更新する(ステップ63)。輻輳ウィンドウサイズcwndは5100であるから、cntはcwndと等しく(ステップ64でYES)、Avgが0.0775であり、
Min+α*(Max−Min)=0.05+0.5(0.10−0.05)
=0.075
なので(ステップ65でYES)、輻輳ウィンドウサイズcwndの値を
Avg=(1−β)*Avg+β*time
=(1−0.5)*0.055+0.5*0.10
=0.0775
に更新される(ステップ52)。そして、timeは0.10でありMaxは0.09であるから、timeはMaxより大きいのでMaxの値は0.10に更新され(ステップ53、54)、また、timeは0.10でありMinは0.05であるから、timeはMinより小さくないのでMinの値は更新されない(ステップ55でNO)。次に増加率・減少率決定部35で図6のアルゴリズムに従って、ウィンドウサイズが変更される。今、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受け取っていないので(ステップ61でNO)、cntを5099から5100に更新する(ステップ63)。輻輳ウィンドウサイズcwndは5100であるから、cntはcwndと等しく(ステップ64でYES)、Avgが0.0775であり、
Min+α*(Max−Min)=0.05+0.5(0.10−0.05)
=0.075
なので(ステップ65でYES)、輻輳ウィンドウサイズcwndの値を
次に本実施例の効果を確認するシミュレーションを行った結果を示す。図8にシミュレーションモデルを示す。送信端末、受信端末はそれぞれ5つで、リンク帯域は1Gbps、送信・受信端末間の往復伝播遅延時間を100ミリ秒、パケットサイズを1500バイトとした。送信端末は常に送信するパケットを有しており、シミュレーション時間は300秒し、150秒から300秒間のデータを結果に用いた。
図9にルータにおけるバッファサイズを変化させた時のリンク使用率を示す。横軸は8334パケットを1とした時の値を示している。縦軸は1Gbpsを1とした時の5つの受信端末で受信したスループットの合計値を示している。図9より、本実施例を用いることにより、従来方式(従来のHS−TCP)を用いる場合に比べて、スループットが向上していることが分かる。また図10にパケットロス率を示す。図10より、本実施例を用いた場合、パケットロス率が大幅に減少していることが分かる。
以上詳細に説明したように、本発明の実施例のポイントは、新たに片方向遅延時間を計測し、平均片方向遅延時間が最小片方向遅延時間と最大片方向遅延時間により決まる値以上ならば、ウィンドウサイズの増加率をそうでない場合に比べて、減少させることによって、輻輳時に廃棄されるパケットの数を少なくし、結果として、ネットワーク使用率を高く維持できる点である。
従来の技術との差異は以下の通りである。
・本発明の実施例では片方向遅延時間を用いてウィンドウサイズの増加率を決定している。しかし従来方式では片方向遅延時間を用いていない。
・cwndの増加率を減少させる時、従来の方式では従来のTCPと同じ値に減少させている。しかし本発明の実施例では、平均片方向遅延時間、最小片方向遅延時間、及び最大片方向遅延時間により決まる値によって、減少する値を決定している。
・本発明の実施例では片方向遅延時間を用いてウィンドウサイズの増加率を決定している。しかし従来方式では片方向遅延時間を用いていない。
・cwndの増加率を減少させる時、従来の方式では従来のTCPと同じ値に減少させている。しかし本発明の実施例では、平均片方向遅延時間、最小片方向遅延時間、及び最大片方向遅延時間により決まる値によって、減少する値を決定している。
以上の実施例の送信端末および受信端末の一部または全部をコンピュータとプログラムによっても構成できる。また、そのプログラムを記録媒体に記録することができ、ネットワークを介して転送することもできる。図5、図6に示したアルゴリズムは好適にはトランスポート層に実装する。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
31…送信端末、32…現在時刻書込部、33時刻読み取り部、34…片方向遅延時間計算部、35…増加率・減少率決定部、41…受信端末、42…時刻読み取り部、43…情報書込部、44…現在時刻書込部
Claims (8)
- ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御方法であって、
送信端末は、パケット送信時に現在の時刻now1をパケットに書き込み、該パケットを送信し、
受信端末は、パケットを受信した時、パケットに書き込まれているnow1を読み取り、受信したパケットに対する受信確認パケットを送信する際、now1と現在の時刻now2を受信確認パケットに書き込み、該受信確認パケットを送信し、
前記送信端末は前記受信確認パケットを受信した時、now2からnow1を減算した値を計算し、その平均値Avg、最小値Min、及び最大値Maxを記憶しておき、
ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、
Avg>Min+α(Max−Min)(0<α<1)
が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくすることを特徴とする輻輳制御方法。 - ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御を行う送信端末と受信端末を有する通信システムであって、
前記送信端末は、パケット送信時に現在の時刻now1をパケットに書き込み、該パケットを送信する手段を備え、
前記受信端末は、パケットを受信した時、パケットに書き込まれているnow1を読み取り、受信したパケットに対する受信確認パケットを送信する際、now1と現在の時刻now2を受信確認パケットに書き込み、該受信確認パケットを送信する手段を備え、
前記送信端末は、前記受信確認パケットを受信した時、now2からnow1を減算した値を計算し、その平均値Avg、最小値Min、及び最大値Maxを記憶しておき、
ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、
Avg>Min+α(Max−Min)(0<α<1)
が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくする手段を備えることを特徴とする通信システム。 - ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御を行う通信装置であって、
パケット送信時に現在の時刻now1をパケットに書き込み、該パケットを送信する手段と、
送信した前記パケットの受信確認パケットを受信した時、受信端末が前記受信確認パケットに書き込んだ受信端末における現在時刻now2から前記パケット送信時の現在時刻now1を減算した値を計算し、その平均値Avg、最小値Min、及び最大値Maxを記憶しておき、
ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、
Avg>Min+α(Max−Min)(0<α<1)
が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくする手段と、
を備えることを特徴とする通信装置。 - 請求項3に記載の通信装置からパケットを受信し前記通信装置に受信確認パケットを送信する通信装置であって、
前記パケットを受信した時、該パケットに書き込まれているnow1を読み取り、受信したパケットに対する受信確認パケットを送信する際、now1と現在の時刻now2を受信確認パケットに書き込み、該受信確認パケットを送信する手段を備える通信装置。 - ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御を行う通信装置における通信方法であって、
パケット送信時に現在の時刻now1をパケットに書き込み、該パケットを送信するステップと、
送信した前記パケットの受信確認パケットを受信した時、受信端末が前記受信確認パケットに書き込んだ受信端末における現在時刻now2から前記パケット送信時の現在時刻now1を減算した値を計算し、その平均値Avg、最小値Min、及び最大値Maxを記憶しておき、
ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、
Avg>Min+α(Max−Min)(0<α<1)
が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくするステップと、
を有することを特徴とする通信方法。 - 請求項5に記載の通信装置からパケットを受信し前記通信装置に受信確認パケットを送信する通信装置における通信方法であって、
前記パケットを受信した時、該パケットに書き込まれているnow1を読み取り、受信したパケットに対する受信確認パケットを送信する際、now1と現在の時刻now2を受信確認パケットに書き込み、該受信確認パケットを送信するステップを有する通信方法。 - 請求項5または6に記載の通信方法の各ステップをコンピュータに実行させるためのプログラム。
- 請求項7に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004075519A JP2005268979A (ja) | 2004-03-17 | 2004-03-17 | 片方向遅延時間に基づいた輻輳制御方法、通信システム、通信装置、通信方法、プログラム、および記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004075519A JP2005268979A (ja) | 2004-03-17 | 2004-03-17 | 片方向遅延時間に基づいた輻輳制御方法、通信システム、通信装置、通信方法、プログラム、および記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005268979A true JP2005268979A (ja) | 2005-09-29 |
Family
ID=35093090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004075519A Pending JP2005268979A (ja) | 2004-03-17 | 2004-03-17 | 片方向遅延時間に基づいた輻輳制御方法、通信システム、通信装置、通信方法、プログラム、および記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005268979A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006340078A (ja) * | 2005-06-02 | 2006-12-14 | Nippon Telegr & Teleph Corp <Ntt> | フロー制御方法およびその装置 |
KR100922472B1 (ko) | 2006-09-08 | 2009-10-21 | 가부시키가이샤 엔.티.티.도코모 | 통신 단말, 통신 제어 방법 및 통신 제어 프로그램 |
CN113691882A (zh) * | 2021-09-02 | 2021-11-23 | 广州市奥威亚电子科技有限公司 | 判断网络状况的方法、装置、设备及存储介质 |
-
2004
- 2004-03-17 JP JP2004075519A patent/JP2005268979A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006340078A (ja) * | 2005-06-02 | 2006-12-14 | Nippon Telegr & Teleph Corp <Ntt> | フロー制御方法およびその装置 |
KR100922472B1 (ko) | 2006-09-08 | 2009-10-21 | 가부시키가이샤 엔.티.티.도코모 | 통신 단말, 통신 제어 방법 및 통신 제어 프로그램 |
CN113691882A (zh) * | 2021-09-02 | 2021-11-23 | 广州市奥威亚电子科技有限公司 | 判断网络状况的方法、装置、设备及存储介质 |
CN113691882B (zh) * | 2021-09-02 | 2024-04-26 | 广州市奥威亚电子科技有限公司 | 判断网络状况的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kliazovich et al. | Cross-layer congestion control in ad hoc wireless networks | |
US7839859B2 (en) | Voice adaptive gateway pacing methods and systems for wireless multi-hop networks | |
JP4708978B2 (ja) | 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル | |
JP4738594B2 (ja) | データフロー制御方法および装置 | |
EP3780542B1 (en) | Data transmission method and device | |
US9467390B2 (en) | Method and device for data transmission | |
JP5020076B2 (ja) | 低頻度ackのシステムに適した高性能tcp | |
KR102187810B1 (ko) | 통신 시스템에서 데이터 흐름 제어 장치 및 방법 | |
CN105024940A (zh) | 基于链路自适应的异构网络tcp拥塞控制方法 | |
US11570117B2 (en) | Congestion control | |
Man et al. | ImTCP: TCP with an inline measurement mechanism for available bandwidth | |
Rakocevic et al. | A cross layer solution to address TCP intra-flow performance degradation in multihop ad hoc networks | |
JP2007013823A (ja) | 輻輳制御方法およびその通信端末 | |
CN117676695A (zh) | Tcp传输方法、装置和系统 | |
JP2005268979A (ja) | 片方向遅延時間に基づいた輻輳制御方法、通信システム、通信装置、通信方法、プログラム、および記録媒体 | |
Lee et al. | The influence of the large bandwidth-delay product on TCP Reno, NewReno, and SACK | |
Pu et al. | Enhancements on router-assisted congestion control for wireless networks | |
JP2006217235A (ja) | 輻輳制御方法及び送信端末 | |
Razdan et al. | Enhancing TCP performance in networks with small buffers | |
Ho et al. | Performance improvement of delay-based TCPs in asymmetric networks | |
Deng et al. | A cross-layer congestion and contention window control scheme for TCP performance improvement in wireless LANs | |
JP2005184494A (ja) | データ通信管理方法 | |
Jang et al. | A flow control scheme for improving TCP throughput and fairness for wireless networks | |
JP4828555B2 (ja) | ノード装置および帯域制御方法 | |
CN110650491B (zh) | 一种用于车载自组网通信的前向纠错fec参数分析方法 |