JP4531302B2 - Packet relay apparatus and method thereof - Google Patents

Packet relay apparatus and method thereof Download PDF

Info

Publication number
JP4531302B2
JP4531302B2 JP2001215808A JP2001215808A JP4531302B2 JP 4531302 B2 JP4531302 B2 JP 4531302B2 JP 2001215808 A JP2001215808 A JP 2001215808A JP 2001215808 A JP2001215808 A JP 2001215808A JP 4531302 B2 JP4531302 B2 JP 4531302B2
Authority
JP
Japan
Prior art keywords
packet
congestion
transmission section
transmission
transmitted
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 - Lifetime
Application number
JP2001215808A
Other languages
Japanese (ja)
Other versions
JP2003032295A (en
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2001215808A priority Critical patent/JP4531302B2/en
Publication of JP2003032295A publication Critical patent/JP2003032295A/en
Application granted granted Critical
Publication of JP4531302B2 publication Critical patent/JP4531302B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、異なる伝送遅延を有した二つの伝送区間の間でパケットを中継するパケット中継装置、及びその方法に関する。
【0002】
【従来の技術】
異なる伝送遅延を有した二つの伝送区間の間でパケットを中継する従来のパケット中継装置として、例えば特開平11−252179号公報に記載される装置が知られている。図12は、この従来のパケット中継装置(ゲートウェイ)41を備えた衛星通信システムの全体構成を示すブロック図である。
【0003】
この図12において、符号1は通信衛星である。符号2は通信衛星1による衛星回線6、7を利用して通信を行う通信事業者の通信システム(以下、通信事業者システムと称する)である。この通信事業者システム2は、ゲートウェイ41と、衛星ルータ22と、衛星アンテナ23とから構成される。符号3は通信事業者システム2の加入者が備えるローカルエリアネットワーク(LAN)システムである。この加入者LANシステム3は、加入者が使用する端末3と、衛星ルータ22と、衛星アンテナ23と、端末3および衛星ルータ22をそれぞれ接続するLAN32とから構成される。複数の加入者LANシステム3が通信衛星1を介して通信事業者システム2との間で通信を行う。
【0004】
符号4は、TCPおよびIPに基づいたパケット(以下、単にパケットと称する)により、端末31との間でデータ通信を行うサーバである。符号5は、サーバ4とゲートウェイ41を接続するインターネットと呼ばれるコンピュータネットワークである。
【0005】
上記図12の衛星通信システムにおいて、通信事業者システム2は、複数の加入者LANシステム3との間で一つの衛星回線6を共有して使用し、下り方向(通信事業者設備2から加入者LANシステム3へ)の通信を行う。一方、上り方向(加入者LANシステム3から通信事業者設備2へ)の通信については、加入者LANシステム3毎にそれぞれ個別の衛星回線7を使用して通信する。
【0006】
また、これら衛星回線6、7は伝送遅延時間が大きい回線である。例えば、上り下りの往復遅延時間は600m秒であり、これはインターネット5を利用した通信の往復遅延時間よりも大きい。
【0007】
従来のゲートウェイ41は、サーバ4からインターネット5を介して受信したパケットを、衛星回線6を介して端末31へ転送するために衛星ルータ22へ出力する。また、端末31から衛星回線7を介して衛星アンテナ23および衛星ルータ22により受信されたパケットについては、インターネット5へ出力するが、送達確認応答パケットは廃棄する。
【0008】
その代わりに、ゲートウェイ41は、サーバ4から受信したパケットについての送達確認応答パケットを生成し、該サーバ4へ送信する送達確認応答代行機能を有する。この送達確認応答代行機能は、サーバ4から端末31へ送信されたパケットについての送達確認応答パケットを、該端末31からの受信を待たずに代行して送信する機能である。この送達確認応答代行機能によって、図9に示すように、複数のパケット(DATA1〜5)についての送達確認応答パケット(FACK1〜5)が、端末31からの送達確認応答パケット(ACK1〜5)の受信前に、ゲートウェイ21からサーバ4へ送信される。
【0009】
また、ゲートウェイ41は、端末31から通知された受信ウインドウサイズ(rwin;最大受信可能データ量)を超えて、サーバ4から受信したパケットを端末31へ送信する。
【0010】
このように従来のゲートウェイ41は、遅延の大きい衛星回線を介して伝送される端末31からの達確認応答パケットを待たずに、サーバ4へ達確認応答パケットを代行して送信し、サーバ4にパケットをさらに送信させる。このサーバ4から受信したパケットを端末31から通知された受信ウインドウサイズを超えて、端末31へ送信する。これにより、異なる伝送遅延を有した二つの伝送区間(インターネット区間と衛星回線区間)からなる伝送路において、遅延の大きな伝送区間の影響を受けることがなくなり、この結果、伝送効率を向上することが可能となっている。
【0011】
【発明が解決しようとする課題】
しかし、上述した従来のパケット中継装置では、遅延の大きな伝送区間の下り回線と上り回線とが双方ともに十分なデータ伝送速度を有するものであることを前提としている。このために、遅延の大きな伝送区間の下り回線と上り回線のデータ伝送速度が非対称であった場合には、データ伝送速度が小さい方の回線が輻輳し、伝送効率が低下するという問題が生じる。
【0012】
上記図12に示す衛星通信システムにおいては、一般的に、上りの衛星回線7は、下りの衛星回線6に比してデータ伝送速度が小さい。例えば、下りの衛星回線6のデータ伝送速度は毎秒10Mビットであり、上りの衛星回線7のデータ伝送速度は毎秒64Kビットである。このようなシステムにおいては、上り衛星回線7の輻輳により、遅延の増大や達確認応答パケットの紛失等が発生し、この結果として、パケットの再送等により伝送効率が低下してしまう。
【0013】
また、ゲートウェイ41を複数備え、これらゲートウェイ41が下り衛星回線6を共有して使用する場合がある。この場合に、各ゲートウェイ41は、下り衛星回線6に空きの伝送帯域があれば、それぞれ端末31から通知された受信ウインドウサイズを超えてパケットを送信する。しかしながら、各ゲートウェイ41は、下り衛星回線6の空いている伝送帯域量を考慮することなく、送信しようとする。このため、それらゲートウェイ41から下り衛星回線6の伝送帯域以上のパケットが送信された場合には、下り衛星回線6で輻輳が発生することになる。この輻輳によっても、遅延の増大やパケットの紛失等が発生して、伝送効率が低下するという問題が生じる。
【0014】
また、従来のパケット中継装置では、遅延の大きな伝送区間へのパケット再送時においても、その受信装置の受信ウインドウサイズ(最大受信可能データ量)を超えてパケットを送信する。このために、さらに上り回線の輻輳が発生し、この輻輳からの回復に時間がかかるという問題も生じている。
【0015】
上記図12の衛星通信システムにおいて、例えば、図13に示すように、ゲートウェイ41が複数のパケット(DATA1〜8)を送達確認応答パケット(ACK1)の受信前に、端末31へ順次先送りし、パケット(DATA2)が端末31の輻輳により紛失したとする。この場合、ゲートウェイ41は、パケット(DATA1)についての送達確認応答パケット(ACK1)を連続して受信し、パケット(DATA2)の紛失を検出する。この例では、送達確認応答パケット(ACK1)を重複して三つ受信したことにより、パケット(DATA2)の紛失を検出してパケットの再送を開始している。なお、通常、TCPの再送手順では、内容が同一である送達確認応答パケットを四つ連続して受信すると、パケットの再送を行う。
【0016】
ここで、ゲートウェイ41は、再送対象のパケット(DATA2〜8)を端末31の受信ウインドウサイズを超えて、連続して端末31へ送信する。これにより、端末31の輻輳がさらに拡大し、また、端末31がそれら再送パケットについての送達確認応答パケット(ACK2〜8)を送信する際に、その上り衛星回線7にも輻輳が発生する。この結果、輻輳回復までにさらに時間がかかることになる。また、さらにパケットが紛失して輻輳がより拡大し、回復困難な輻輳状態に陥る場合もある。
【0017】
また、端末31が何らかの理由でウインドウを閉塞し、パケットの受信を行わない状態となった場合には、ゲートウェイ41が先送りしたパケットを端末31は廃棄するが、ゲートウェイ41は、端末31がウインドウ閉塞中であるにもかかわらず、先送りしたパケットの再送を行ってしまう。この結果、無駄なパケットを送信することになり、パケットの再送を効率よく行うことができないという問題がある。さらに、無駄なパケットを送信することによって、複数の加入者で共有している下りの衛星回線6の伝送効率を低下させるという問題も生じる。
【0018】
本発明は、このような事情を考慮してなされたもので、その目的は、異なる伝送遅延を有した二つの伝送区間からなる伝送路において、遅延の大きな伝送区間の影響を受けることなく伝送効率を向上することが可能であり、且つ、遅延の大きな伝送区間の下り回線と上り回線のデータ伝送速度が非対称であった場合に、データ伝送速度が小さい方の回線の輻輳により伝送効率が低下することを防止することができるパケット中継装置、及びその方法を提供することにある。
【0019】
さらに、本発明は、遅延の大きな伝送区間へパケットを再送する場合に、輻輳からの回復時間を短縮することができるパケット中継装置、及びその方法を提供することも目的とする。
【0020】
また、本発明は、受信装置のウインドウ閉塞により紛失したパケットの再送を効率よく行うことができるパケット中継装置、及びその方法を提供することも目的とする。
【0021】
【課題を解決するための手段】
上記の課題を解決するために、請求項1に記載の発明は、第1の伝送区間と前記第1の伝送区間よりも伝送遅延が大きい第2の伝送区間との間で、前記第1の伝送区間を介して伝送されたパケットを前記第2の伝送区間へ転送するパケット中継装置であって、前記第2の伝送区間へ転送済みのパケットを蓄えておくバッファ手段と、前記転送されたパケットを受信する受信装置から通知された最大受信可能データ量を超えて、前記第1の伝送区間から受信したパケットを前記第2の伝送区間へ送信し、また、前記バッファ手段内のパケットを使用して送達未確認パケットの再送を行うパケット転送手段と、前記第2の伝送区間へ送信されたパケットについての送達確認応答パケットを、前記受信装置からの受信を待たずに代行して前記第1の伝送区間へ送信する送達確認応答代行手段と、前記第2の伝送区間へパケットを送信してから、該パケットの送達確認応答パケットを前記受信装置から受信するまでの往復遅延時間に基づいて、前記パケット転送手段の最大送信可能データ量を増加または減少させる輻輳回避手段と、を具備し、前記最大送信可能データ量は、前記最大受信可能データ量に一定の先送り可能なデータ量を加えた値、あるいは、最後に送達確認されたパケットから送信可能な最大データ量を示す輻輳ウインドウ、のいずれか小さい値であり、前記輻輳ウインドウが前記最大受信可能データ量よりも大きい値をとることができるようにしたことを特徴とする。
【0022】
請求項2に記載の発明は、送達未確認のパケットがあることを検出した場合に、最前の送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として設定し、前記パケット転送手段に前記再送を指示し、前記受信装置から送達確認応答パケットを受信する毎に、順次、次の送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として設定する輻輳回復手段を具備することを特徴とする請求項1に記載のパケット中継装置である。
【0023】
請求項3に記載の発明は、前記輻輳回復手段は、再送タイムアウトによって前記検出がなされた場合には、前記再送された送達未確認パケットの送達確認応答パケットを受信するまで、該送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として使用し続けることを特徴とする請求項2に記載のパケット中継装置である。
【0024】
請求項4に記載の発明は、前記受信装置からウインドウ閉塞通知を受信した場合、該通知受信時点からウインドウ回復通知受信時点までの時間を計測し、この計測の結果、所定時間以上の経過を条件として前記パケット転送手段に前記再送を指示するウインドウ閉塞対処手段を具備することを特徴とする請求項1乃至請求項3のいずれかの項に記載のパケット中継装置である。
【0025】
請求項5に記載の発明は、前記ウインドウ閉塞対処手段は、再送タイムアウトが発生した場合には、前記パケット転送手段に少なくとも一つの送達未確認パケットの再送を指示することを特徴とする請求項4に記載のパケット中継装置である。
【0026】
請求項6に記載の発明は、第1の伝送区間と前記第1の伝送区間よりも伝送遅延が大きい第2の伝送区間との間で、前記第1の伝送区間を介して伝送されたパケットを前記第2の伝送区間へ転送するパケット中継装置におけるパケット中継方法であって、前記転送されたパケットを受信する受信装置から通知された最大受信可能データ量を超えて、前記第1の伝送区間から受信したパケットを前記第2の伝送区間へ送信する過程と、前記第2の伝送区間へ転送済みのパケットを蓄えておき、この蓄えておいたパケットを使用して送達未確認パケットの再送を行う過程と、前記第2の伝送区間へ送信されたパケットについての送達確認応答パケットを、前記受信装置からの受信を待たずに代行して前記第1の伝送区間へ送信する過程と、前記第2の伝送区間へパケットを送信してから、該パケットの送達確認応答パケットを前記受信装置から受信するまでの往復遅延時間を計測する過程と、この往復遅延時間に基づいて、前記第2の伝送区間への最大送信可能データ量を増加または減少させる過程と、を含み、前記最大送信可能データ量は、前記最大受信可能データ量に一定の先送り可能なデータ量を加えた値、あるいは、最後に送達確認されたパケットから送信可能な最大データ量を示す輻輳ウインドウ、のいずれか小さい値であり、前記輻輳ウインドウが前記最大受信可能データ量よりも大きい値をとることができるようにしたことを特徴とする。
【0027】
請求項7に記載の発明は、送達未確認のパケットがあることを検出する過程と、送達未確認のパケットがあった場合に、最前の送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として設定し、前記再送を指示する輻輳回復過程とをさらに含み、前記輻輳回復過程は、前記受信装置から送達確認応答パケットを受信する毎に、順次、次の送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として設定する処理を含むことを特徴とする請求項6に記載のパケット中継方法である。
【0028】
請求項8に記載の発明は、前記輻輳回復過程は、再送タイムアウトによって前記検出がなされた場合には、前記再送された送達未確認パケットの送達確認応答パケットを受信するまで、該送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として使用し続ける処理をさらに含むことを特徴とする請求項7に記載のパケット中継方法である。
【0029】
請求項9に記載の発明は、前記受信装置からウインドウ閉塞通知を受信した場合、該通知受信時点からウインドウ回復通知受信時点までの時間を計測する過程と、この計測の結果、所定時間以上の経過を条件として前記再送を指示するウインドウ閉塞対処過程をさらに含むことを特徴とする請求項6乃至請求項8のいずれかの項に記載のパケット中継方法である。
【0030】
請求項10に記載の発明は、前記ウインドウ閉塞対処過程は、再送タイムアウトが発生した場合には、少なくとも一つの送達未確認パケットの再送を指示する処理をさらに含むことを特徴とする請求項9に記載のパケット中継方法である。
【0031】
【発明の実施の形態】
以下、図面を参照し、本発明の一実施形態について説明する。
図1は、本発明の一実施形態によるゲートウェイ(パケット中継装置)21を備えた衛星通信システムの全体構成を示すブロック図である。この図1において上記図12の各部に対応する部分には同一の符号を付け、その説明を省略する。
【0032】
図1の衛星通信システムにおいて、通信事業者システム2は、従来のゲートウェイ41の代わりに本発明の一実施形態によるゲートウェイ21を備える。この通信事業者システム2は、複数の加入者LANシステム3との間で一つの衛星回線6を共有して使用し、下り方向(通信事業者設備2から加入者LANシステム3へ)の通信を行う。一方、上り方向(加入者LANシステム3から通信事業者設備2へ)の通信については、加入者LANシステム3毎にそれぞれ個別の衛星回線7を使用して通信する。上記上りの衛星回線7は、下りの衛星回線6に比してデータ伝送速度が小さい。例えば、下りの衛星回線6は毎秒10Mビットのデータ伝送速度であり、上りの衛星回線7は毎秒64Kビットである。
【0033】
また、これら衛星回線6、7は伝送遅延時間が大きい回線である。例えば、上り下りの往復遅延時間は600m秒であり、これはインターネット5を利用した通信の往復遅延時間よりも大きい。
【0034】
図2は、図1に示すゲートウェイ21の構成を示すブロック図である。この図2に示すゲートウェイ21は、衛星回線6、7を利用して加入者LANシステム3との間でパケット通信を行う衛星回線対応通信部51と、インターネット5を利用してサーバ4との間でパケット通信を行うインターネット対応通信部52とから構成される。
【0035】
衛星回線対応通信部51は、インターネット対応通信部52から入力されたパケットを衛星回線6を介して端末31へ転送する。また、衛星回線7を介して受信したパケットについては、インターネット対応通信部52へ出力するが、送達確認応答パケットは廃棄する。
【0036】
インターネット対応通信部52は、サーバ4からインターネット5を介して受信したパケットを衛星回線対応通信部51に出力する。また、衛星回線対応通信部51から入力されたパケットをインターネット5へ出力する。また、サーバ4から受信したパケットについての送達確認応答パケットを生成し、該サーバ4へ送信する送達確認応答代行機能を有する。この送達確認応答代行機能は、サーバ4から端末31へ送信されたパケットについての送達確認応答パケットを、該端末31からの受信を待たずに代行して送信する機能である。この送達確認応答代行機能によって、図9に示すように、複数のパケット(DATA1〜5)についての送達確認応答パケット(FACK1〜5)が、端末31からの送達確認応答パケット(ACK1〜5)の受信前に、ゲートウェイ21からサーバ4へ送信される。
【0037】
図3は、図2に示す衛星回線対応通信部51の構成を示すブロック図である。この図3において、符号61は、インターネット対応通信部52から入力されたパケットを端末31へ転送するために、そのまま出力する送信処理部である。この送信処理部61は、端末31から通知された受信ウインドウサイズ(rwin;最大受信可能データ量)を超えて、サーバ4から受信したパケットを端末31へ送信する。また、送信処理部61は、送信したパケットをバッファ62に蓄積し、このバッファ62に蓄積したパケットを使用して送達未確認パケットの再送を行う。上記送信処理部61は、図9に示すように、インターネット対応通信部52から入力されたパケットDATA1〜5をそのまま端末31へ転送する。
【0038】
符号63は、端末31または衛星回線6、7等の輻輳状況に応じて送信処理部61の送信動作を制御する輻輳制御部である。この輻輳制御部63は、輻輳を回避するための処理を行う輻輳回避部66と、輻輳を回復させるための処理を行う輻輳回復部67と、端末31のウインドウ閉塞時における対処を行うウインドウ閉塞対処部68とから構成される。この輻輳制御部63は、端末31から送達確認応答パケットを受信すると、この送達確認応答パケットに含まれる受信ウインドウサイズを送信処理部61へ通知する。
【0039】
符号64は、端末31から受信したパケットをサーバ4へ転送するために、そのままインターネット対応通信部52へ出力する受信処理部である。ただし、送達確認応答パケットは廃棄し、出力しない。
【0040】
符号65は、送信処理部61から入力されたパケットを衛星ルータ22へ出力し、また、衛星ルータ22から入力されたパケットを輻輳制御部63および受信処理部64へ出力する送受インタフェース部である。この送受インタフェース部65から出力されたパケットは、衛星ルータ22および衛星アンテナ23により下り衛星回線6へ送出される。また、上り衛星回線7から入力されたパケットは、衛星アンテナ23および衛星ルータ22により送受インタフェース部65へ入力される。
【0041】
なお、上記衛星回線対応通信部52およびインターネット回線対応通信部52の各処理部は専用のハードウェアにより実現されるものであってもよく、また、これら処理部はメモリおよびCPU(中央処理装置)により構成され、各処理部の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【0042】
次に、上記図3の送信処理部61および輻輳制御部63の動作について詳細に説明する。初めに、図4を参照して、送信処理部61がサーバ4から受信したパケットを端末31へ転送する動作を説明する。図4は、図3に示す送信処理部61が行うパケット転送処理の流れを示すフローチャートである。
先ず、送信処理部61は、TCPコネクションが確立すると、輻輳ウインドウ(cwnd)に予め設定されている初期値(cwnd_init)を設定する。この輻輳ウインドウ(cwnd)は、輻輳制御用のデータ送信制御値であって、最後に送達確認されたパケットから送信可能な最大データ量を示す値である。また、この輻輳ウインドウ(cwnd)は、輻輳制御部63に通知される(図4のステップS1、S2)。
【0043】
次いで、送信処理部61は、送信ウインドウ(sndwin;最大送信可能データ量)を(1)式により、端末31から通知された受信ウインドウサイズ(rwin)に一定の先送り可能なデータ量(winoffset)を加えた値、あるいは、輻輳ウインドウ(cwnd)のいずれか小さい値に決定する。送信処理部61は、この送信ウインドウ(sndwin)の範囲内において、受信ウインドウサイズ(rwin)を超えて端末31へパケットを送信可能である。
sndwin=min(rwin+winoffset,cwnd) …(1)
ただし、min(A,B)は、AまたはBのいずれか小さい値を示す。
【0044】
また、送信処理部61は、(2)式により、輻輳回避閾値(ssthresh)を決定する。この輻輳回避閾値(ssthresh)は、輻輳制御部63の動作状態である緩開始状態(slow_start)と輻輳回避状態(congestion_avoidance)とを切り替えるために使用されるものである。また、この輻輳回避閾値(ssthresh)は輻輳制御部63に通知される(図4のステップS3)。
ssthresh=c×winofsset/(確立中のTCPコネクション数) …(2)
ただし、確立中のTCPコネクション数とは、自身のコネクションに加えて他のコネクションも加味した値である。
cは予め設定された定数であり、その値cは、ゲートウェイ21の台数や、下り衛星回線6の共有形態に応じて決定する。
【0045】
次いで、送信処理部61は、上記送信ウインドウ(sndwin)の範囲内で、インターネット対応通信部52から入力されたパケットを端末31へ送信する。ここで、送信処理部61は、パケットを送信する度にその送信時刻を記録する。また、送信処理部61は、送信したパケットをバッファ62へ蓄積する。送信処理部61は、この送信動作を当該TCPコネクションが切断されるまで継続する(図4のステップS4、S5)。
【0046】
次に、図5を参照して、輻輳制御部63の輻輳回避部66が行う輻輳回避動作を説明する。図5は、図3に示す輻輳回避部66が行う輻輳回避処理の流れを示すフローチャートである。
先ず、輻輳回避部66は、端末31から送達確認応答(ACK)パケットを受信すると、このACKパケットに該当の送信パケットの送信時刻を送信処理部61から取得して、そのパケット送信からACKパケット受信迄の往復遅延時間(RTTreal)を求める(図5のステップS11、S12)。
【0047】
また、輻輳回避部66は、一定期間経過毎に、往復遅延時間(RTTreal)の総和を算出し、この総和から平均往復遅延時間(RTTave)を求める。ここで、往復遅延時間(RTTreal)の中で最小の値を基本往復遅延時間(BaseRTT)とする。(図5のステップS13、S14)。上記一定期間とは、前回、平均往復遅延時間(RTTave)を計算した時点における送信済データ(snd_nxt)が、全て送達確認されるまでの期間を指す。従って、ほぼ往復遅延時間毎に平均往復遅延時間(RTTave)の計算を行うことになる。
【0048】
次いで、輻輳回避部66は、(3)式により、前回、平均往復遅延時間(RTTave)を計算した時点からの、パケットの実送信レート(actual_rate)を算出する。
actual_rate=(snd_nxtnow-snd_nxtold)/(今回計算したRTTave)…(3)
ただし、snd_nxtnowは、今回の平均往復遅延時間(RTTave)を計算した時点における送信済データ量を示す。
snd_nxtoldは、前回の平均往復遅延時間(RTTave)を計算した時点における送信済データ量を示す。
【0049】
また、(4)式により、前回、平均往復遅延時間(RTTave)を計算した時点からの、パケットの予測送信レート(pred_rate)を算出する(図5のステップS15)。
pred_rate=(snd_nxtnow-(snd_una+max(ack_no-snd_una−MSS,0))/BaseRTT …(4)
ただし、ack_noはACKパケットのシーケンス番号を示す。
snd_unaはACパケット受信前における送信済パケットの最小シーケンス番号を示す。
MSSはTCPデータパケットの最大長を示す。
max(A,B)は、、AまたはBのいずれか大きい値を示す。
なお、(snd_una+max(ack_no-snd_una−MSS,0)は、snd_nxtoldに相当する値となる。
【0050】
次いで、輻輳回避部66は、現在の輻輳制御部63の動作状態が緩開始状態(slow_start)である場合、送信処理部61の輻輳ウインドウ(cwnd)を1増加させる。このように、ACKパケットの受信毎に輻輳ウインドウ(cwnd)を1増加させると、輻輳ウインドウ(cwnd)は指数関数的に増加することになる。
【0051】
次いで、輻輳回避部66は、輻輳ウインドウ(cwnd)が輻輳回避閾値(ssthresh)に達するか、あるいは、(5)式が成立した場合に、輻輳制御部63の動作状態を輻輳回避状態(congestion_avoidance)に移行させる(図5のステップS16〜S20)。
pred_rate-actual_rate≧α ・・・(5)
ただし、αは正の実数である。
【0052】
一方、輻輳回避部66は、現在の輻輳制御部63の動作状態が輻輳回避状態(congestion_avoidance)であった場合には、以下の(6)〜(8)のいずれかの処理を行う(図5のステップS21)。
(6)pred_rate-actual_rate>βである場合は、送信処理部61の輻輳ウインドウ(cwnd)を1減らす。ただし、βは正の実数である。
(7)pred_rate-actual_rate<αである場合は、以後のACKパケット受信毎に送信処理部61の輻輳ウインドウ(cwnd)を1/cwnd増やす。これにより、送信処理部61の輻輳ウインドウ(cwnd)は線形的に増加することになる。
(8)α<pred_rate-actual_late<βである場合は、送信処理部61の輻輳ウインドウ(cwnd)を変更しない。
【0053】
このように、輻輳回避部66は、輻輳回避状態(congestion_avoidance)において、往復遅延時間(RTTreal)に基づいて送信処理部61の輻輳ウインドウ(cwnd)を増減する。したがって、送信処理部61の送信ウインドウ(sndwin;最大送信可能データ量)が往復遅延時間(RTTreal)に基づいて増加または減少されることになる。
【0054】
上述した実施形態によれば、異なる伝送遅延を有した二つの伝送区間(インターネット回線区間および衛星回線区間)からなる伝送路において、遅延の大きな伝送区間(衛星回線区間)の影響を受けることなく伝送効率を向上することが可能である。さらに、遅延の大きな伝送区間の下り回線(衛星回線6)と上り回線(衛星回線7)のデータ伝送速度が非対称であった場合に、衛星回線区間の輻輳状況に応じてパケットの送信を行い、該伝送区間の輻輳を回避することが可能となる。この結果、データ伝送速度が小さい方の回線(衛星回線7)の輻輳により伝送効率が低下することを防止することができるという効果も得られる。
【0055】
次に、図6を参照して、輻輳制御部63の輻輳回復部67が行う第1の輻輳回復動作を説明する。図6は、図3に示す輻輳回復部67が行う第1の輻輳回復処理の流れを示すフローチャートである。
先ず、輻輳回復部67は、端末31から同一送信パケットについてのACKパケットを重複して受信すると、輻輳回避閾値(ssthresh)に、送信処理部61の輻輳ウインドウ(cwnd)の1/2の値を設定する。また、最前の送達未確認パケットを送信可能な最少のデータ量を送信処理部61の輻輳ウインドウ(cwnd)に設定する(図6のステップS31〜S33)。
【0056】
次いで、輻輳回復部67は、送信処理部61に対して送達未確認パケットがあれば再送を指示し、この指示によって送信処理部61は送達未確認パケットの再送を開始する(図6のステップS34)。
【0057】
次いで、輻輳回復部67は、端末31から再送パケットのACKパケットを受信すると、送信処理部61の輻輳ウインドウ(cwnd)に、輻輳回避閾値(ssthresh)の値を設定し、輻輳制御部63の動作状態を輻輳回避状態(congestion_avoidance)に移行させる(図6のステップS35、S38)。
【0058】
一方、再送パケットのACKパケットを未受信のまま、再度、ACKパケットを重複して受信すると、次の送達未確認パケットを送信可能な最少のデータ量分(増加レート分)を送信処理部61の輻輳ウインドウ(cwnd)に加え、送信処理部61に対して送達未確認パケットがあれば再送を指示する(図6のステップS36、S37)。これにより、送信処理部61の送信ウインドウ(sndwin;最大送信可能データ量)は、次の送達未確認パケットを送信可能な最少のデータ量となる。ただし、これは、その最少のデータ量が端末31の受信ウインドウサイズの範囲内であった場合であるが、一般的に、受信ウインドウサイズは一パケット分以上のデータ量として通知される。
【0059】
このように、端末31または衛星回線6等の輻輳により、例えば送信パケットが紛失して送達未確認のパケットが発生した場合には、再送パケットのACKパケットを受信するまで、端末31から重複したACKパケットを受信する毎に一パケットずつ順次、送達未確認パケットを再送する。
【0060】
例えば、図10に示すように、ゲートウェイ21が端末31の受信ウインドウサイズ分(DATA1、2)を超えてパケット(DATA3〜8)を先送りしたとする。ここで、端末31の輻輳によって送信パケット(DATA2)が紛失した場合には、当該パケット(DATA2)に加えて、既に先送り済みのパケット(DATA3〜8)も再送することになる。これらパケット(DATA2〜8)の再送の際に、本実施形態によれば、端末31からのACKパケット(ACK1;DATA1の送達確認応答パケット)を受信する毎に、1パケットずつ再送する。この結果、輻輳発生時には、端末31の受信可能速度(端末31の受信ウインドウサイズ)の範囲内で、パケットを再送することができるようになる。
なお、この図10の例では、送達確認応答パケット(ACK1)を重複して三つ受信したことにより、パケット(DATA2)の紛失を検出してパケットの再送を開始している。これは、TCPの通常の再送手順である。
【0061】
上述した実施形態によれば、遅延の大きな伝送区間(衛星回線区間)へパケットを再送する場合に、受信装置(端末31)の受信速度に合わせてパケットを再送することが可能となるので、パケット再送による輻輳の拡大を防止して輻輳からの回復時間を短縮することができるという効果が得られる。
【0062】
次に、図7を参照して、輻輳制御部63の輻輳回復部67が行う第2の輻輳回復動作を説明する。図7は、図3に示す輻輳回復部67が行う第2の輻輳回復処理の流れを示すフローチャートである。
先ず、輻輳回復部67は、再送タイムアウトが発生すると、以下の処理を行う。なお、送信処理部61は、送達確認対象のパケットを送信する毎に、再送タイマを起動しており、輻輳制御部63から当該パケットについてのACKパケット受信が通知されると、該再送タイマを停止する。したがって、送信したパケットについてのACKパケットが、再送タイムアウト時間までに受信されなかった場合には再送タイムアウトとなり、送信処理部61が輻輳回復部67へ再送タイムアウトの発生を通知する。
【0063】
初めに、輻輳回復部67は、輻輳回避閾値(ssthresh)に、送信処理部61の輻輳ウインドウ(cwnd)の1/2の値を設定し、また、最前の送達未確認パケットを送信可能な最少のデータ量を送信処理部61の輻輳ウインドウ(cwnd)に設定する(図7のステップS41〜S43)。これにより、送信処理部61の送信ウインドウ(sndwin;最大送信可能データ量)は、送達確認済みであるパケットの次の送達未確認パケットのみを送信可能な最少のデータ量となる。
【0064】
次いで、輻輳回復部67は、送信処理部61に対して送達未確認パケットを一パケットのみ再送するように指示し、この指示によって送信処理部61は送達未確認パケットを一パケットのみ再送する(図7のステップS44)。
【0065】
次いで、輻輳回復部67は、再送したパケットのACKパケットを端末31から受信するまで待つ。再送したパケットのACKパケットを端末31から受信すると、輻輳回復部67は、輻輳制御部63の動作状態を緩開始状態(slow_start)に移行させる(図7のステップS45、46)。
【0066】
このように本実施形態によれば、端末31または衛星回線6等の輻輳により、再送タイムアウトが発生した場合には、一つの送達未確認パケットの送達確認が完了するまで、次の送達未確認パケットを再送しない。このように、再送タイムアウトのように重度の輻輳発生時には、受信装置との間で相互に送達確認を行いながら一パケットずつ送達未確認パケットを再送するので、輻輳が拡大することがなく、結果的に、輻輳からの回復時間を短縮することができるという効果が得られる。
【0067】
次に、図8、図11を参照して、輻輳制御部63のウインドウ閉塞対処部68が行うウインドウ閉塞対処動作を説明する。図8は、図3に示すウインドウ閉塞対処部68が行うウインドウ閉塞対処処理の流れを示すフローチャートである。
初めに、図11に示すように、端末31がファイルのダウンロードをサーバ4に対して要求し、サーバ4からパケット(DATA)が送信される。ここで、ゲートウェイ21は、端末31の受信ウインドウサイズを超えて、通常転送分に加えて先送りのパケットを端末31に転送する。
【0068】
次いで、端末31は、受信ウインドウサイズの範囲内の通常転送分のパケットを蓄積し、ウインドウ閉塞状態になる。このウインドウ閉塞は、端末31の利用者からの入力待ち(ダウンロードするファイルについての出力先ファイル名の入力待ち)によるものである。このウインドウ閉塞時には、端末31は、受信したデータを廃棄するので、ゲートウェイ21から先送りされたパケットは廃棄される。また、端末31は、ウインドウ閉塞を通知するために、ウインドウ閉塞中にパケットを受信する度、winsize_field値が0であるACKパケット(以下、ZWAパケットと称する)を送信する。
【0069】
次いで、ウインドウ閉塞対処部68は、このZWAパケットを所定数連続して受信すると、このZWAパケットの受信時刻を記録する。また、ウインドウ閉塞からのウインドウ回復時に、緩開始状態(slow_start)で使用する輻輳回避閾値(ssthresh)として、(9)式により、値(old_ssthresh)を記録しておく(図8のステップS51〜S53)。
old_ssthresh=max(ssthresh,cwnd) ・・・(9)
これにより、緩開始状態(slow_start)で使用する輻輳回避閾値(ssthresh)の値が不必要に小さくなることを防ぐことができる。
【0070】
なお、ZWAパケットについては、上記図6の輻輳回復部67の第1の輻輳回復処理における重複したACKパケットには含めない。これにより、ウィンドウ閉塞中において、重複したZWAパケットの受信により、無駄なパケットの再送を防止することができる。また、ZWAパケットを送信処理部61の輻輳ウインドウ(cwnd)増加の対象とはしない。これにより、ウインドウ閉塞中に輻輳ウインドウ(cwnd)が拡大して新規にパケットが送信されることを防止することができる。
【0071】
なお、ZWAパケットを重複したACKパケット受信の対象にしないため、再送タイムアウトが発生するまでパケット紛失が検出できない可能性も考えられる。しかし、ゲートウェイ21では、先送りにより多数のパケットを送信するため、端末31の一時的な受信ウインドウ閉塞の場合は、受信ウインドウ回復後に、ZWAパケットではなく、受信ウインドウサイズを含んだ(winsize_field値が0ではない)ACKパケットが検出できると考えられるので、特に問題は生じない。
【0072】
次いで、端末31にファイル名が入力され、端末31がウインドウ閉塞からウインドウ開状態になり、ウインドウ閉塞対処部68は、端末31からウインドウ開通知のACKパケットを受信すると、記録しておいたZWAパケットの受信時刻からの経過時間と閾値(Thr_ztm)を比較する。この比較の結果、閾値を越えていた場合に、ウインドウ閉塞対処部68は、送信処理部61の輻輳ウインドウ(cwnd)に初期値(cwnd_init)を設定し、また、輻輳回避閾値(ssthresh)に記録しておいた値(old_ssthresh)を設定する(図8のステップS54〜S57)。
【0073】
次いで、ウインドウ閉塞対処部68は、輻輳制御部63の動作状態を緩開始状態(slow_start)に移行し、送信処理部61に対して送達未確認パケットの再送を指示する。この指示によって送信処理部61は送達未確認パケットの再送を開始する(図8のステップS58)。
【0074】
一方、上記ステップS55の比較の結果、閾値を越えていなかった場合には、ウインドウ閉塞対処部68は、記録しておいたZWAパケットの受信時刻をリセットし、その処理を終了する(図8のステップS61)。
【0075】
また、ウインドウ閉塞から回復する前に、再送タイムアウトが発生した場合には、ウインドウ閉塞対処部68は、送信処理部61の輻輳ウインドウ(cwnd)にに1を設定して、送達未確認パケットを1パケットのみ再送するように指示する(図8のステップS59、S60)。これにより、ウインドウ開通知のACKパケットの受信を待つことなく、いち早く端末31がウインドウ閉塞から回復したか確認することができる。この結果として、パケットの再送完了までの時間を短縮することができるという効果が得られる。
【0076】
上述した実施形態によれば、無駄なパケットを送信することがなくなるので、受信装置(端末31)のウインドウ閉塞により紛失したパケットの再送を効率よく行うことができる。また、再送パケットを伝送する下り回線(衛星回線6)を共有している場合には、無駄なパケットを送信することによってその下り回線の伝送効率が低下するという問題も解消する。
【0077】
なお、上述した実施形態においては、送信処理部がパケット転送手段に対応する。また、インターネット回線対応通信部が送達確認応答代行手段として機能する。また、第1の伝送区間がインターネット回線区間に対応し、第2の伝送区間が衛星回線区間に対応する。
【0078】
なお、上述した実施形態においては、上り回線と下り回線のデータ伝送速度が非対称な伝送路として衛星回線を適用したが、他の伝送路にも同様に適用可能である。このような非対称な伝送路としては、例えば、移動通信網における移動端末と基地局間の通信回線がある。
【0079】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0080】
【発明の効果】
以上説明したように、本発明によれば、第1の伝送区間からこの第1の伝送区間よりも伝送遅延が大きい第2の伝送区間へ転送されたパケットを受信する受信装置から通知された最大受信可能データ量を超えて、第1の伝送区間から受信したパケットを第2の伝送区間へ送信し、また、バッファ手段に蓄積した転送済みのパケットを使用して送達未確認パケットの再送を行い、また、第2の伝送区間へ送信されたパケットについての送達確認応答パケットを、該受信装置からの受信を待たずに代行して第1の伝送区間へ送信する。これにより、異なる伝送遅延を有した二つの伝送区間からなる伝送路において、遅延の大きな伝送区間の影響を受けることなく伝送効率を向上することが可能である。さらに、第2の伝送区間へパケットを送信してから、該パケットの送達確認応答パケットを該受信装置から受信するまでの往復遅延時間に基づいて、第2の伝送区間への最大送信可能データ量を増加または減少させるようにしたので、遅延の大きな伝送区間の下り回線と上り回線のデータ伝送速度が非対称であった場合に、遅延の大きな伝送区間の輻輳状況に応じてパケットの送信を行い、該伝送区間の輻輳を回避することが可能となる。この結果、データ伝送速度が小さい方の回線の輻輳により伝送効率が低下することを防止することができるという効果も得られる。
【0081】
さらに、送達未確認のパケットがあることを検出した場合に、最前の送達未確認パケットを送信可能な最少のデータ量を最大送信可能データ量として設定し、送達未確認パケットの再送を指示し、受信装置から送達確認応答パケットを受信する毎に、順次、次の送達未確認パケットを送信可能な最少のデータ量を最大送信可能データ量として設定するようにすれば、遅延の大きな伝送区間へパケットを再送する場合に、受信装置の受信速度に合わせてパケットを再送することが可能となるので、パケット再送による輻輳の拡大を防止して輻輳からの回復時間を短縮することができるという効果が得られる。
【0082】
さらに、再送タイムアウトによって送達未確認のパケットがあることの検出がなされた場合には、再送された送達未確認パケットの送達確認応答パケットを受信するまで、該送達未確認パケットを送信可能な最少のデータ量を最大送信可能データ量として使用し続けるようにすれば、一つの送達未確認パケットの送達確認が完了するまで、次の送達未確認パケットを再送しなくすることができる。このように、再送タイムアウトのように重度の輻輳発生時には、受信装置との間で相互に送達確認を行いながら一パケットずつ送達未確認パケットを再送するので、輻輳が拡大することがなく、結果的に、輻輳からの回復時間を短縮することができるという効果が得られる。
【0083】
また、受信装置からウインドウ閉塞通知を受信した場合、該通知受信時点からウインドウ回復通知受信時点までの時間を計測し、この計測の結果、所定時間以上の経過を条件として送達未確認パケットの再送を指示するようにすれば、無駄なパケットを送信することがなくなるので、受信装置のウインドウ閉塞により紛失したパケットの再送を効率よく行うことができる。また、再送パケットを伝送する下り回線を共有している場合には、無駄なパケットを送信することによってその下り回線の伝送効率が低下するという問題も解消する。
【0084】
さらに、再送タイムアウトが発生した場合には、少なくとも一つの送達未確認パケットの再送を指示するようにすれば、ウインドウ開通知の送達確認応答パケット(ACKパケット)の受信を待つことなく、いち早く受信装置がウインドウ閉塞から回復したか確認することができる。この結果として、パケットの再送完了までの時間を短縮することができるという効果が得られる。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるパケット中継装置(ゲートウェイ)21を備えた衛星通信システムの全体構成を示すブロック図である。
【図2】 図1に示すゲートウェイ21の構成を示すブロック図である。
【図3】 図2に示す衛星回線対応通信部51の構成を示すブロック図である。
【図4】 図3に示す送信処理部61が行うパケット転送処理の流れを示すフローチャートである。
【図5】 図3に示す輻輳回避部66が行う輻輳回避処理の流れを示すフローチャートである。
【図6】 図3に示す輻輳回復部67が行う第1の輻輳回復処理の流れを示すフローチャートである。
【図7】 図3に示す輻輳回復部67が行う第2の輻輳回復処理の流れを示すフローチャートである。
【図8】 図3に示すウインドウ閉塞対処部68が行うウインドウ閉塞対処処理の流れを示すフローチャートである。
【図9】 図1に示すゲートウェイ21の動作を説明するための第1のシーケンス図である。
【図10】 図1に示すゲートウェイ21の動作を説明するための第2のシーケンス図である。
【図11】 図1に示すゲートウェイ21の動作を説明するための第3のシーケンス図である。
【図12】 従来のパケット中継装置(ゲートウェイ)41を備えた衛星通信システムの全体構成を示すブロック図である。
【図13】 図12に示すゲートウェイ41の動作を説明するためのシーケンス図である。
【符号の説明】
1 通信衛星
2 通信事業者システム
3 加入者LANシステム
4 サーバ
5 インターネット
6、7 衛星回線
21 パケット中継装置(ゲートウェイ)
22 衛星ルータ
23 衛星アンテナ
31 端末
32 LAN
51 衛星回線対応通信部
52 インターネット回線対応通信部
61 送信処理部
62 バッファ
63 輻輳制御部
64 受信処理部
65 送受インタフェース部
66 輻輳回避部
67 輻輳回復部
68 ウインドウ閉塞対処部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet relay apparatus that relays a packet between two transmission sections having different transmission delays, and a method thereof.
[0002]
[Prior art]
As a conventional packet relay device that relays a packet between two transmission sections having different transmission delays, for example, a device described in JP-A-11-252179 is known. FIG. 12 is a block diagram showing the overall configuration of a satellite communication system provided with this conventional packet relay device (gateway) 41.
[0003]
In FIG. 12, reference numeral 1 denotes a communication satellite. Reference numeral 2 denotes a communication system of a communication carrier (hereinafter referred to as a communication carrier system) that performs communication using the satellite lines 6 and 7 by the communication satellite 1. The telecommunications carrier system 2 includes a gateway 41, a satellite router 22, and a satellite antenna 23. Reference numeral 3 denotes a local area network (LAN) system provided to a subscriber of the carrier system 2. The subscriber LAN system 3 includes a terminal 3 used by a subscriber, a satellite router 22, a satellite antenna 23, and a LAN 32 that connects the terminal 3 and the satellite router 22, respectively. A plurality of subscriber LAN systems 3 communicate with the communication carrier system 2 via the communication satellite 1.
[0004]
Reference numeral 4 denotes a server that performs data communication with the terminal 31 using packets based on TCP and IP (hereinafter simply referred to as packets). Reference numeral 5 denotes a computer network called the Internet that connects the server 4 and the gateway 41.
[0005]
In the satellite communication system of FIG. 12, the telecommunications carrier system 2 shares one satellite line 6 with a plurality of subscriber LAN systems 3 and uses it in the downstream direction (from the telecommunications carrier equipment 2 to the subscribers). To the LAN system 3). On the other hand, for communication in the upstream direction (from the subscriber LAN system 3 to the communication carrier facility 2), communication is performed using a separate satellite line 7 for each subscriber LAN system 3.
[0006]
These satellite lines 6 and 7 are lines having a long transmission delay time. For example, the round-trip delay time for uplink and downlink is 600 milliseconds, which is longer than the round-trip delay time for communication using the Internet 5.
[0007]
The conventional gateway 41 outputs the packet received from the server 4 via the Internet 5 to the satellite router 22 for transfer to the terminal 31 via the satellite line 6. Packets received by the satellite antenna 23 and the satellite router 22 from the terminal 31 via the satellite line 7 are output to the Internet 5, but the delivery confirmation response packet is discarded.
[0008]
Instead, the gateway 41 has a delivery confirmation proxy function that generates a delivery confirmation response packet for the packet received from the server 4 and transmits the packet to the server 4. This delivery confirmation response proxy function is a function of sending a delivery confirmation response packet for a packet transmitted from the server 4 to the terminal 31 instead of waiting for reception from the terminal 31. By this delivery confirmation response proxy function, as shown in FIG. 9, delivery confirmation response packets (FACK 1 to 5) for a plurality of packets (DATA 1 to 5) are converted into delivery confirmation response packets (ACK 1 to 5) from the terminal 31. It is transmitted from the gateway 21 to the server 4 before reception.
[0009]
Further, the gateway 41 transmits the packet received from the server 4 to the terminal 31 exceeding the reception window size (rwin; maximum receivable data amount) notified from the terminal 31.
[0010]
As described above, the conventional gateway 41 transmits the arrival confirmation response packet to the server 4 on behalf of the server 31 without waiting for the arrival confirmation response packet transmitted from the terminal 31 transmitted via the satellite line with a large delay. Send more packets. The packet received from the server 4 is transmitted to the terminal 31 exceeding the reception window size notified from the terminal 31. As a result, the transmission path consisting of two transmission sections (Internet section and satellite circuit section) having different transmission delays is not affected by the transmission section having a large delay, and as a result, the transmission efficiency can be improved. It is possible.
[0011]
[Problems to be solved by the invention]
However, the conventional packet relay apparatus described above is based on the premise that both the downlink and the uplink in the transmission section with a large delay have a sufficient data transmission rate. For this reason, when the data transmission rate of the downlink and the uplink in the transmission section with a large delay is asymmetric, the channel with the smaller data transmission rate is congested, resulting in a problem that the transmission efficiency is lowered.
[0012]
In the satellite communication system shown in FIG. 12, the uplink satellite line 7 generally has a lower data transmission rate than the downlink satellite line 6. For example, the data transmission rate of the downstream satellite line 6 is 10 Mbit / s, and the data transmission rate of the upstream satellite line 7 is 64 Kbits / second. In such a system, due to congestion of the uplink satellite line 7, an increase in delay, loss of an arrival confirmation response packet, and the like occur, and as a result, transmission efficiency decreases due to retransmission of the packet and the like.
[0013]
In some cases, a plurality of gateways 41 are provided, and these gateways 41 share the downlink satellite line 6 for use. In this case, each gateway 41 transmits a packet exceeding the reception window size notified from the terminal 31 if there is an empty transmission band in the downlink satellite line 6. However, each gateway 41 tries to transmit without considering the free transmission band amount of the downlink satellite line 6. For this reason, when a packet exceeding the transmission band of the downlink satellite line 6 is transmitted from the gateway 41, congestion occurs in the downlink satellite line 6. This congestion also causes an increase in delay, loss of packets, and the like, resulting in a problem of reduced transmission efficiency.
[0014]
In addition, the conventional packet relay device transmits a packet exceeding the reception window size (maximum receivable data amount) of the receiving device even when the packet is retransmitted to a transmission section with a large delay. For this reason, there is another problem that uplink congestion occurs and it takes time to recover from the congestion.
[0015]
In the satellite communication system of FIG. 12, for example, as shown in FIG. 13, the gateway 41 sequentially forwards a plurality of packets (DATA1 to 8) to the terminal 31 before receiving the delivery confirmation response packet (ACK1). Assume that (DATA2) is lost due to congestion of the terminal 31. In this case, the gateway 41 continuously receives the delivery confirmation response packet (ACK1) for the packet (DATA1), and detects the loss of the packet (DATA2). In this example, when three acknowledgment packets (ACK1) are received in duplicate, loss of the packet (DATA2) is detected and packet retransmission is started. Normally, in the TCP retransmission procedure, when four consecutive acknowledgment packets having the same contents are received, the packets are retransmitted.
[0016]
Here, the gateway 41 continuously transmits the packets to be retransmitted (DATA 2 to 8) exceeding the reception window size of the terminal 31 to the terminal 31. As a result, the congestion of the terminal 31 further increases, and when the terminal 31 transmits a delivery confirmation response packet (ACK 2 to 8) for these retransmission packets, the uplink satellite line 7 is also congested. As a result, more time is required for congestion recovery. Further, there are cases where packets are lost and congestion is further expanded, resulting in a congestion state that is difficult to recover.
[0017]
In addition, when the terminal 31 closes the window for some reason and does not receive a packet, the terminal 31 discards the packet postponed by the gateway 41. However, the gateway 41 causes the terminal 31 to close the window. Despite being in the middle, it resends the forwarded packet. As a result, a useless packet is transmitted, and there is a problem that the retransmission of the packet cannot be performed efficiently. Furthermore, there is a problem that transmission efficiency of the downlink satellite line 6 shared by a plurality of subscribers is reduced by transmitting useless packets.
[0018]
The present invention has been made in view of such circumstances, and its object is to achieve transmission efficiency without being affected by a transmission section having a large delay in a transmission path composed of two transmission sections having different transmission delays. If the data transmission rate of the downlink and uplink in the transmission section with a large delay is asymmetric, the transmission efficiency decreases due to the congestion of the channel with the lower data transmission rate. It is an object of the present invention to provide a packet relay apparatus and a method thereof that can prevent this.
[0019]
Furthermore, another object of the present invention is to provide a packet relay apparatus and method for reducing the recovery time from congestion when a packet is retransmitted to a transmission section having a large delay.
[0020]
It is another object of the present invention to provide a packet relay apparatus and method for efficiently retransmitting a packet lost due to the window closing of the receiving apparatus.
[0021]
[Means for Solving the Problems]
In order to solve the above problems, the invention according to claim 1 is characterized in that the first transmission section and the second transmission section having a transmission delay larger than the first transmission section, the first transmission section. A packet relay device for transferring a packet transmitted through a transmission section to the second transmission section, the buffer means for storing packets transferred to the second transmission section, and the transferred packet The packet received from the first transmission interval is transmitted to the second transmission interval exceeding the maximum receivable data amount notified from the receiving device that receives the packet, and the packet in the buffer means is used. The packet transfer means for retransmitting the undelivered packet and the delivery confirmation response packet for the packet transmitted to the second transmission section on behalf of the first transmission without waiting for reception from the receiving device. Based on a round trip delay time from transmission of a packet to the second transmission section to reception of a delivery confirmation response packet of the packet from the receiving device Congestion avoidance means for increasing or decreasing the maximum transmittable data amount of the packet transfer means, The maximum transmittable data amount is a value obtained by adding a certain amount of data that can be forwarded to the maximum receivable data amount, or a congestion window indicating the maximum data amount that can be transmitted from a packet that has been confirmed to be delivered last, The congestion window can take a value larger than the maximum receivable data amount. It is characterized by that.
[0022]
According to the second aspect of the present invention, when it is detected that there is an unacknowledged packet, the minimum data amount that can transmit the previous unacknowledged packet is set as the maximum transmittable data amount, and the packet transfer means Congestion recovery means for sequentially setting the minimum data amount that can transmit the next unacknowledged packet as the maximum transmittable data amount each time the retransmission is instructed and a delivery confirmation response packet is received from the receiving device. The packet relay device according to claim 1, further comprising:
[0023]
According to a third aspect of the present invention, the congestion recovery means transmits the unconfirmed delivery packet until receiving a delivery confirmation response packet of the retransmitted unconfirmed packet when the detection is made due to a retransmission timeout. 3. The packet relay device according to claim 2, wherein the smallest possible data amount is continuously used as the maximum transmittable data amount.
[0024]
According to a fourth aspect of the present invention, when a window closing notification is received from the receiving device, the time from the notification receiving time to the window recovery notification receiving time is measured. 4. The packet relay device according to claim 1, further comprising: a window blocking countermeasure unit that instructs the packet transfer unit to perform the retransmission.
[0025]
The invention according to claim 5 is characterized in that the window blocking countermeasure unit instructs the packet transfer unit to retransmit at least one unconfirmed delivery packet when a retransmission timeout occurs. It is a packet relay apparatus of description.
[0026]
According to a sixth aspect of the present invention, there is provided a packet transmitted through the first transmission section between the first transmission section and a second transmission section having a transmission delay larger than that of the first transmission section. Is a packet relay method in a packet relay apparatus that transfers the packet to the second transmission section, and exceeds the maximum receivable data amount notified from the receiving apparatus that receives the transferred packet, and the first transmission section The process of transmitting the packet received from the second transmission section and the packet transferred to the second transmission section are stored, and the unconfirmed delivery packet is retransmitted using the stored packet. A process of transmitting an acknowledgment packet for a packet transmitted to the second transmission section to the first transmission section on behalf of the packet without waiting for reception from the receiving apparatus; A process of measuring a round-trip delay time from when a packet is transmitted to the transmission section until reception of the packet acknowledgment response packet from the receiving device, and based on the round-trip delay time, the second transmission section Increasing or decreasing the maximum amount of data that can be transmitted to The maximum transmittable data amount is a value obtained by adding a certain amount of data that can be forwarded to the maximum receivable data amount, or a congestion window indicating the maximum data amount that can be transmitted from a packet that has been confirmed to be delivered last, The congestion window can take a value larger than the maximum receivable data amount. It is characterized by that.
[0027]
The invention according to claim 7 is a process for detecting that there is an unacknowledged packet, and when there is an unacknowledged packet, the maximum amount of data that can transmit the previous unacknowledged packet can be transmitted to the maximum A congestion recovery process that sets the amount of data and instructs the retransmission, and the congestion recovery process can sequentially transmit the next unconfirmed delivery packet every time a delivery confirmation response packet is received from the receiving device. The packet relay method according to claim 6, further comprising a process of setting a minimum data amount as the maximum transmittable data amount.
[0028]
In the invention according to claim 8, in the congestion recovery process, when the detection is performed due to a retransmission timeout, the delivery unconfirmed packet is transmitted until a delivery confirmation response packet of the retransmitted unconfirmed packet is received. The packet relay method according to claim 7, further comprising a process of continuously using a minimum possible data amount as the maximum transmittable data amount.
[0029]
According to the ninth aspect of the present invention, when a window closing notification is received from the receiving device, a process of measuring a time from the notification receiving time to a window recovery notification receiving time, and a lapse of a predetermined time or more as a result of the measurement The packet relay method according to any one of claims 6 to 8, further comprising a window blockage coping process instructing the retransmission on the condition of.
[0030]
The invention according to claim 10 is characterized in that the window blocking countermeasure process further includes a process of instructing retransmission of at least one unacknowledged packet when a retransmission timeout occurs. This is a packet relay method.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing an overall configuration of a satellite communication system including a gateway (packet relay device) 21 according to an embodiment of the present invention. In FIG. 1, portions corresponding to the respective portions in FIG. 12 are given the same reference numerals, and description thereof is omitted.
[0032]
In the satellite communication system of FIG. 1, the carrier system 2 includes a gateway 21 according to an embodiment of the present invention instead of the conventional gateway 41. This telecommunications carrier system 2 shares and uses one satellite line 6 with a plurality of subscriber LAN systems 3, and performs communication in the downstream direction (from the telecommunications carrier equipment 2 to the subscriber LAN system 3). Do. On the other hand, for communication in the upstream direction (from the subscriber LAN system 3 to the communication carrier facility 2), communication is performed using a separate satellite line 7 for each subscriber LAN system 3. The uplink satellite line 7 has a lower data transmission rate than the downlink satellite line 6. For example, the downstream satellite line 6 has a data transmission rate of 10 Mbits per second, and the upstream satellite line 7 has 64 Kbits per second.
[0033]
These satellite lines 6 and 7 are lines having a long transmission delay time. For example, the round-trip delay time for uplink and downlink is 600 milliseconds, which is longer than the round-trip delay time for communication using the Internet 5.
[0034]
FIG. 2 is a block diagram showing a configuration of the gateway 21 shown in FIG. The gateway 21 shown in FIG. 2 is connected between the satellite line compatible communication unit 51 that performs packet communication with the subscriber LAN system 3 using the satellite lines 6 and 7 and the server 4 using the Internet 5. And an Internet-compatible communication unit 52 that performs packet communication.
[0035]
The satellite line compatible communication unit 51 transfers the packet input from the Internet compatible communication unit 52 to the terminal 31 via the satellite line 6. Further, although the packet received via the satellite line 7 is output to the Internet compatible communication unit 52, the delivery confirmation response packet is discarded.
[0036]
The internet compatible communication unit 52 outputs the packet received from the server 4 via the Internet 5 to the satellite line compatible communication unit 51. Further, the packet input from the satellite line compatible communication unit 51 is output to the Internet 5. Further, it has a delivery confirmation response proxy function for generating a delivery confirmation response packet for the packet received from the server 4 and transmitting it to the server 4. This delivery confirmation response proxy function is a function of sending a delivery confirmation response packet for a packet transmitted from the server 4 to the terminal 31 instead of waiting for reception from the terminal 31. By this delivery confirmation response proxy function, as shown in FIG. 9, delivery confirmation response packets (FACK 1 to 5) for a plurality of packets (DATA 1 to 5) are converted into delivery confirmation response packets (ACK 1 to 5) from the terminal 31. It is transmitted from the gateway 21 to the server 4 before reception.
[0037]
FIG. 3 is a block diagram showing the configuration of the satellite channel compatible communication unit 51 shown in FIG. In FIG. 3, reference numeral 61 denotes a transmission processing unit that outputs a packet input from the Internet-compatible communication unit 52 as it is to be transferred to the terminal 31. The transmission processing unit 61 transmits a packet received from the server 4 to the terminal 31 exceeding the reception window size (rwin; maximum receivable data amount) notified from the terminal 31. The transmission processing unit 61 accumulates the transmitted packet in the buffer 62 and retransmits the unconfirmed delivery packet using the packet accumulated in the buffer 62. As shown in FIG. 9, the transmission processing unit 61 transfers the packets DATA 1 to 5 input from the Internet compatible communication unit 52 to the terminal 31 as they are.
[0038]
Reference numeral 63 denotes a congestion control unit that controls the transmission operation of the transmission processing unit 61 in accordance with the congestion status of the terminal 31 or the satellite lines 6 and 7. The congestion control unit 63 includes a congestion avoiding unit 66 that performs processing for avoiding congestion, a congestion recovery unit 67 that performs processing for recovering congestion, and a window blocking countermeasure that performs processing when the terminal 31 is closed. Part 68. When the congestion control unit 63 receives a delivery confirmation response packet from the terminal 31, the congestion control unit 63 notifies the transmission processing unit 61 of the reception window size included in the delivery confirmation response packet.
[0039]
Reference numeral 64 denotes a reception processing unit that directly outputs a packet received from the terminal 31 to the Internet compatible communication unit 52 in order to transfer the packet to the server 4. However, the delivery confirmation response packet is discarded and not output.
[0040]
Reference numeral 65 denotes a transmission / reception interface unit that outputs a packet input from the transmission processing unit 61 to the satellite router 22 and outputs a packet input from the satellite router 22 to the congestion control unit 63 and the reception processing unit 64. The packet output from the transmission / reception interface unit 65 is transmitted to the downlink satellite line 6 by the satellite router 22 and the satellite antenna 23. A packet input from the upstream satellite line 7 is input to the transmission / reception interface unit 65 by the satellite antenna 23 and the satellite router 22.
[0041]
The processing units of the satellite line compatible communication unit 52 and the Internet line compatible communication unit 52 may be realized by dedicated hardware, and these processing units include a memory and a CPU (central processing unit). The function may be realized by loading a program for realizing the function of each processing unit into a memory and executing the program.
[0042]
Next, operations of the transmission processing unit 61 and the congestion control unit 63 in FIG. 3 will be described in detail. First, with reference to FIG. 4, an operation in which the transmission processing unit 61 transfers a packet received from the server 4 to the terminal 31 will be described. FIG. 4 is a flowchart showing a flow of packet transfer processing performed by the transmission processing unit 61 shown in FIG.
First, when the TCP connection is established, the transmission processing unit 61 sets an initial value (cwnd_init) set in advance in the congestion window (cwnd). This congestion window (cwnd) is a data transmission control value for congestion control, and is a value indicating the maximum amount of data that can be transmitted from a packet that has been confirmed to be delivered last. The congestion window (cwnd) is notified to the congestion control unit 63 (steps S1 and S2 in FIG. 4).
[0043]
Next, the transmission processing unit 61 sets the transmission window (sndwin; maximum transmittable data amount) to a certain amount of data that can be forwarded (winoffset) to the reception window size (rwin) notified from the terminal 31 by the equation (1). The added value or the congestion window (cwnd) is determined to be the smaller value. The transmission processing unit 61 can transmit a packet to the terminal 31 exceeding the reception window size (rwin) within the range of the transmission window (sndwin).
sndwin = min (rwin + winoffset, cwnd) (1)
However, min (A, B) indicates a smaller value of either A or B.
[0044]
Further, the transmission processing unit 61 determines a congestion avoidance threshold (ssthresh) according to equation (2). This congestion avoidance threshold (ssthresh) is used to switch between a slow start state (slow_start) and a congestion avoidance state (congestion_avoidance), which are the operation states of the congestion control unit 63. Further, the congestion avoidance threshold (ssthresh) is notified to the congestion control unit 63 (step S3 in FIG. 4).
ssthresh = c × winofsset / (number of TCP connections being established) (2)
However, the number of established TCP connections is a value that takes into account other connections in addition to its own connection.
c is a preset constant, and the value c is determined according to the number of gateways 21 and the sharing form of the downlink satellite line 6.
[0045]
Next, the transmission processing unit 61 transmits the packet input from the Internet compatible communication unit 52 to the terminal 31 within the range of the transmission window (sndwin). Here, the transmission processing unit 61 records the transmission time every time a packet is transmitted. Further, the transmission processing unit 61 accumulates the transmitted packets in the buffer 62. The transmission processing unit 61 continues this transmission operation until the TCP connection is disconnected (steps S4 and S5 in FIG. 4).
[0046]
Next, the congestion avoiding operation performed by the congestion avoiding unit 66 of the congestion control unit 63 will be described with reference to FIG. FIG. 5 is a flowchart showing the flow of the congestion avoiding process performed by the congestion avoiding unit 66 shown in FIG.
First, when receiving the acknowledgment (ACK) packet from the terminal 31, the congestion avoiding unit 66 acquires the transmission time of the transmission packet corresponding to this ACK packet from the transmission processing unit 61, and receives the ACK packet from the packet transmission. Until the round-trip delay time (RTTreal) is obtained (steps S11 and S12 in FIG. 5).
[0047]
In addition, the congestion avoiding unit 66 calculates the sum of the round trip delay time (RTTreal) every elapse of a certain period, and obtains the average round trip delay time (RTTave) from this sum. Here, the minimum value in the round trip delay time (RTTreal) is defined as the basic round trip delay time (BaseRTT). (Steps S13 and S14 in FIG. 5). The above-mentioned fixed period refers to a period until transmission of all transmitted data (snd_nxt) at the time when the average round-trip delay time (RTTave) was calculated last time is confirmed. Therefore, the average round-trip delay time (RTTave) is calculated almost every round-trip delay time.
[0048]
Next, the congestion avoiding unit 66 calculates the actual transmission rate (actual_rate) of the packet from the time when the average round-trip delay time (RTTave) was calculated last time by using the equation (3).
actual_rate = (snd_nxtnow-snd_nxtold) / (RTTave calculated this time)… (3)
However, snd_nxtnow indicates the amount of transmitted data at the time of calculating the current average round-trip delay time (RTTave).
snd_nxtold indicates the amount of transmitted data when the previous average round-trip delay time (RTTave) is calculated.
[0049]
Further, the predicted transmission rate (pred_rate) of the packet from the time when the average round-trip delay time (RTTave) was calculated last time is calculated by the equation (4) (step S15 in FIG. 5).
pred_rate = (snd_nxtnow- (snd_una + max (ack_no-snd_una-MSS, 0)) / BaseRTT (4)
Here, ack_no indicates the sequence number of the ACK packet.
snd_una indicates the minimum sequence number of the transmitted packet before the AC packet is received.
MSS indicates the maximum length of the TCP data packet.
max (A, B) indicates a larger value of A or B.
Note that (snd_una + max (ack_no-snd_una-MSS, 0)) is a value corresponding to snd_nxtold.
[0050]
Next, when the current operation state of the congestion control unit 63 is the slow start state (slow_start), the congestion avoiding unit 66 increases the congestion window (cwnd) of the transmission processing unit 61 by one. In this way, if the congestion window (cwnd) is increased by 1 every time an ACK packet is received, the congestion window (cwnd) increases exponentially.
[0051]
Next, when the congestion window (cwnd) reaches the congestion avoidance threshold value (ssthresh) or when the expression (5) is satisfied, the congestion avoidance unit 66 sets the operation state of the congestion control unit 63 to the congestion avoidance state (congestion_avoidance). (Steps S16 to S20 in FIG. 5).
pred_rate-actual_rate ≧ α (5)
Here, α is a positive real number.
[0052]
On the other hand, when the current operation state of the congestion control unit 63 is the congestion avoidance state (congestion_avoidance), the congestion avoidance unit 66 performs any of the following processes (6) to (8) (FIG. 5). Step S21).
(6) When pred_rate-actual_rate> β, the congestion window (cwnd) of the transmission processing unit 61 is decreased by 1. Here, β is a positive real number.
(7) pred_rate-actual_rate If <α, the congestion window (cwnd) of the transmission processing unit 61 is increased by 1 / cwnd every time an ACK packet is received thereafter. As a result, the congestion window (cwnd) of the transmission processing unit 61 increases linearly.
(8) α <pred_rate-actual_late If <β, the congestion window (cwnd) of the transmission processing unit 61 is not changed.
[0053]
As described above, the congestion avoiding unit 66 increases or decreases the congestion window (cwnd) of the transmission processing unit 61 based on the round trip delay time (RTTreal) in the congestion avoiding state (congestion_avoidance). Therefore, the transmission window (sndwin; maximum transmittable data amount) of the transmission processing unit 61 is increased or decreased based on the round trip delay time (RTTreal).
[0054]
According to the above-described embodiment, transmission is performed without being affected by a transmission section (satellite line section) having a large delay in a transmission path composed of two transmission sections (internet line section and satellite line section) having different transmission delays. Efficiency can be improved. Further, when the data transmission speed of the downlink (satellite line 6) and the uplink (satellite line 7) in the transmission section with a large delay is asymmetric, the packet is transmitted according to the congestion state of the satellite line section, It becomes possible to avoid congestion in the transmission section. As a result, it is possible to prevent the transmission efficiency from being lowered due to the congestion of the line (satellite line 7) having the lower data transmission rate.
[0055]
Next, a first congestion recovery operation performed by the congestion recovery unit 67 of the congestion control unit 63 will be described with reference to FIG. FIG. 6 is a flowchart showing the flow of the first congestion recovery process performed by the congestion recovery unit 67 shown in FIG.
First, when the congestion recovery unit 67 receives ACK packets for the same transmission packet from the terminal 31 in duplicate, the congestion recovery unit 67 sets a value of ½ of the congestion window (cwnd) of the transmission processing unit 61 to the congestion avoidance threshold (ssthresh). Set. Further, the minimum amount of data that can transmit the forefront unconfirmed packet is set in the congestion window (cwnd) of the transmission processing unit 61 (steps S31 to S33 in FIG. 6).
[0056]
Next, the congestion recovery unit 67 instructs the transmission processing unit 61 to retransmit if there is an unconfirmed delivery packet, and in response to this instruction, the transmission processing unit 61 starts resending the unconfirmed delivery packet (step S34 in FIG. 6).
[0057]
Next, when receiving the ACK packet of the retransmission packet from the terminal 31, the congestion recovery unit 67 sets the value of the congestion avoidance threshold (ssthresh) in the congestion window (cwnd) of the transmission processing unit 61, and the operation of the congestion control unit 63 The state is shifted to the congestion avoidance state (congestion_avoidance) (steps S35 and S38 in FIG. 6).
[0058]
On the other hand, if the ACK packet is received again without receiving the ACK packet of the retransmission packet, the minimum amount of data (increase rate) that can transmit the next unacknowledged packet is congested by the transmission processing unit 61. In addition to the window (cwnd), if there is an unconfirmed delivery packet, the transmission processing unit 61 is instructed to retransmit (steps S36 and S37 in FIG. 6). Thereby, the transmission window (sndwin; maximum transmittable data amount) of the transmission processing unit 61 becomes the minimum data amount that can transmit the next unconfirmed delivery packet. However, this is a case where the minimum data amount is within the range of the reception window size of the terminal 31, but generally the reception window size is notified as a data amount of one packet or more.
[0059]
In this way, when the terminal 31 or the satellite circuit 6 is congested, for example, when a transmission packet is lost and an unacknowledged packet is generated, duplicate ACK packets are received from the terminal 31 until the ACK packet of the retransmission packet is received. Each time a packet is received, the unconfirmed delivery packet is retransmitted sequentially one packet at a time.
[0060]
For example, as illustrated in FIG. 10, it is assumed that the gateway 21 defers a packet (DATA 3 to 8) beyond the reception window size (DATA 1, 2) of the terminal 31. Here, when the transmission packet (DATA2) is lost due to congestion of the terminal 31, in addition to the packet (DATA2), the already sent packets (DATA3 to 8) are also retransmitted. When retransmitting these packets (DATA2 to DATA8), according to the present embodiment, every time an ACK packet (ACK1; DATA1 delivery confirmation response packet) from the terminal 31 is received, the packet is retransmitted one by one. As a result, when congestion occurs, the packet can be retransmitted within the range of the receivable speed of the terminal 31 (the reception window size of the terminal 31).
In the example of FIG. 10, since three acknowledgment packets (ACK1) are received in duplicate, the loss of the packet (DATA2) is detected and packet retransmission is started. This is a normal retransmission procedure of TCP.
[0061]
According to the above-described embodiment, when a packet is retransmitted to a transmission section (satellite line section) having a large delay, the packet can be retransmitted in accordance with the reception speed of the receiving device (terminal 31). It is possible to prevent the increase of congestion due to retransmission and shorten the recovery time from the congestion.
[0062]
Next, a second congestion recovery operation performed by the congestion recovery unit 67 of the congestion control unit 63 will be described with reference to FIG. FIG. 7 is a flowchart showing the flow of the second congestion recovery process performed by the congestion recovery unit 67 shown in FIG.
First, the congestion recovery unit 67 performs the following processing when a retransmission timeout occurs. The transmission processing unit 61 activates a retransmission timer every time a transmission confirmation target packet is transmitted, and stops the retransmission timer when the congestion control unit 63 notifies the reception of an ACK packet for the packet. To do. Therefore, if an ACK packet for a transmitted packet is not received before the retransmission timeout period, a retransmission timeout occurs, and the transmission processing unit 61 notifies the congestion recovery unit 67 of the occurrence of a retransmission timeout.
[0063]
First, the congestion recovery unit 67 sets a value of ½ of the congestion window (cwnd) of the transmission processing unit 61 to the congestion avoidance threshold value (ssthresh), and the smallest possible transmission unconfirmed packet can be transmitted. The data amount is set in the congestion window (cwnd) of the transmission processing unit 61 (steps S41 to S43 in FIG. 7). As a result, the transmission window (sndwin; maximum transmittable data amount) of the transmission processing unit 61 is the minimum data amount that can transmit only the undelivered packet next to the packet whose delivery has been confirmed.
[0064]
Next, the congestion recovery unit 67 instructs the transmission processing unit 61 to retransmit only one unacknowledged packet, and in response to this instruction, the transmission processing unit 61 retransmits only one unacknowledged packet (FIG. 7). Step S44).
[0065]
Next, the congestion recovery unit 67 waits until an ACK packet of the retransmitted packet is received from the terminal 31. When the ACK packet of the retransmitted packet is received from the terminal 31, the congestion recovery unit 67 shifts the operation state of the congestion control unit 63 to the slow start state (slow_start) (steps S45 and S46 in FIG. 7).
[0066]
As described above, according to this embodiment, when a retransmission timeout occurs due to congestion of the terminal 31 or the satellite line 6 or the like, the next unacknowledged packet is retransmitted until the delivery confirmation of one unacknowledged packet is completed. do not do. In this way, when severe congestion such as retransmission timeout occurs, the unacknowledged packet is retransmitted one packet at a time while confirming delivery with the receiving device, so congestion does not increase, and as a result The effect that the recovery time from congestion can be shortened is obtained.
[0067]
Next, with reference to FIG. 8 and FIG. 11, the window blockage coping operation performed by the window blockage coping unit 68 of the congestion control unit 63 will be described. FIG. 8 is a flowchart showing the flow of the window blocking countermeasure process performed by the window blocking countermeasure unit 68 shown in FIG.
First, as shown in FIG. 11, the terminal 31 requests the server 4 to download a file, and the server 4 transmits a packet (DATA). Here, the gateway 21 transfers the forward packet to the terminal 31 in addition to the normal transfer amount exceeding the reception window size of the terminal 31.
[0068]
Next, the terminal 31 accumulates packets for normal transfer within the range of the reception window size and enters a window closed state. This window blockage is caused by waiting for input from the user of the terminal 31 (waiting for input of an output destination file name for a file to be downloaded). When the window is closed, the terminal 31 discards the received data, so that the packet forwarded from the gateway 21 is discarded. Further, the terminal 31 transmits an ACK packet (hereinafter referred to as a ZWA packet) having a winsize_field value of 0 every time a packet is received during the window closing in order to notify the window closing.
[0069]
Next, when a predetermined number of the ZWA packets are continuously received, the window closing handling unit 68 records the reception time of the ZWA packets. Further, when the window recovers from the window closing, the value (old_ssthresh) is recorded by the equation (9) as the congestion avoidance threshold (ssthresh) used in the slow start state (slow_start) (steps S51 to S53 in FIG. 8). ).
old_ssthresh = max (ssthresh, cwnd) (9)
Thereby, it is possible to prevent the congestion avoidance threshold value (ssthresh) used in the slow start state (slow_start) from becoming unnecessarily small.
[0070]
Note that the ZWA packet is not included in the duplicate ACK packet in the first congestion recovery process of the congestion recovery unit 67 in FIG. Thereby, it is possible to prevent unnecessary packet retransmission due to reception of duplicate ZWA packets while the window is closed. Further, the ZWA packet is not targeted for increasing the congestion window (cwnd) of the transmission processing unit 61. Thereby, it is possible to prevent a packet from being newly transmitted due to the congestion window (cwnd) being enlarged while the window is closed.
[0071]
Since ZWA packets are not targeted for receiving duplicate ACK packets, there is a possibility that packet loss cannot be detected until a retransmission timeout occurs. However, since the gateway 21 transmits a large number of packets in advance, in the case where the reception window of the terminal 31 is temporarily blocked, the reception window size is included instead of the ZWA packet after the reception window is restored (winsize_field value is 0). It is considered that an ACK packet can be detected, so that no particular problem occurs.
[0072]
Next, when the file name is input to the terminal 31, the terminal 31 changes from the window closing to the window opening state, and the window closing handling unit 68 receives the window opening notification ACK packet from the terminal 31, the recorded ZWA packet The elapsed time from the reception time is compared with the threshold (Thr_ztm). As a result of the comparison, if the threshold is exceeded, the window blockage countermeasure unit 68 sets an initial value (cwnd_init) in the congestion window (cwnd) of the transmission processing unit 61 and records it in the congestion avoidance threshold (ssthresh). The previously set value (old_ssthresh) is set (steps S54 to S57 in FIG. 8).
[0073]
Next, the window blockage handling unit 68 shifts the operation state of the congestion control unit 63 to the slow start state (slow_start), and instructs the transmission processing unit 61 to retransmit the unconfirmed delivery packet. In response to this instruction, the transmission processing unit 61 starts resending the unconfirmed delivery packet (step S58 in FIG. 8).
[0074]
On the other hand, as a result of the comparison in step S55, if the threshold value is not exceeded, the window blockage countermeasure unit 68 resets the recorded reception time of the ZWA packet and ends the processing (FIG. 8). Step S61).
[0075]
If a retransmission timeout occurs before recovery from window blockage, the window blockage handling unit 68 sets 1 in the congestion window (cwnd) of the transmission processing unit 61 and sets one unconfirmed delivery packet. Only the retransmission is instructed (steps S59 and S60 in FIG. 8). As a result, it is possible to quickly confirm whether the terminal 31 has recovered from the window closing without waiting for the reception of the ACK packet for the window opening notification. As a result, it is possible to shorten the time until completion of packet retransmission.
[0076]
According to the above-described embodiment, useless packets are not transmitted, so that packets lost due to the window closing of the receiving device (terminal 31) can be efficiently retransmitted. Further, when the downlink (satellite line 6) for transmitting the retransmission packet is shared, the problem that the transmission efficiency of the downlink is reduced by transmitting a useless packet is also solved.
[0077]
In the above-described embodiment, the transmission processing unit corresponds to the packet transfer unit. In addition, the communication unit corresponding to the Internet line functions as a delivery confirmation response proxy means. Further, the first transmission section corresponds to the Internet line section, and the second transmission section corresponds to the satellite line section.
[0078]
In the above-described embodiment, the satellite channel is applied as a transmission channel in which the uplink and downlink data transmission rates are asymmetric. However, the present invention can be similarly applied to other transmission channels. Such an asymmetric transmission path includes, for example, a communication line between a mobile terminal and a base station in a mobile communication network.
[0079]
The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like within a scope not departing from the gist of the present invention.
[0080]
【The invention's effect】
As described above, according to the present invention, the maximum notified from the receiving apparatus that receives the packet transferred from the first transmission section to the second transmission section having a transmission delay larger than that of the first transmission section. Transmit the packet received from the first transmission section to the second transmission section exceeding the receivable data amount, and retransmit the unconfirmed delivery packet using the transferred packet stored in the buffer means, In addition, a delivery confirmation response packet for a packet transmitted to the second transmission section is transmitted to the first transmission section instead of waiting for reception from the receiving apparatus. Thereby, it is possible to improve transmission efficiency without being affected by a transmission section having a large delay in a transmission path including two transmission sections having different transmission delays. Furthermore, the maximum amount of data that can be transmitted to the second transmission section based on the round-trip delay time from when the packet is transmitted to the second transmission section until the reception acknowledgment packet of the packet is received from the receiving device Since the data transmission speed of the downlink and the uplink of the transmission section with a large delay is asymmetric, the packet is transmitted according to the congestion situation of the transmission section with a large delay, It becomes possible to avoid congestion in the transmission section. As a result, it is possible to prevent the transmission efficiency from being lowered due to the congestion of the line with the lower data transmission rate.
[0081]
Further, when it is detected that there is an unacknowledged packet, the minimum amount of data that can be transmitted in the previous unacknowledged packet is set as the maximum transmittable data amount, the retransmission of the unacknowledged packet is instructed, and the receiving device Each time a delivery confirmation response packet is received, if the minimum amount of data that can be transmitted in the next unacknowledged packet is set as the maximum transmittable data amount, the packet is resent to a transmission section with a large delay. In addition, since the packet can be retransmitted in accordance with the reception speed of the receiving apparatus, it is possible to prevent an increase in congestion due to the packet retransmission and shorten the recovery time from the congestion.
[0082]
Furthermore, when it is detected that there is an unacknowledged packet due to a retransmission timeout, the minimum amount of data that can be transmitted until the unacknowledged packet of the resent unacknowledged packet is received. By continuing to use it as the maximum transmittable data amount, it is possible to prevent the next unacknowledged packet from being retransmitted until the delivery confirmation of one unacknowledged packet is completed. In this way, when severe congestion such as retransmission timeout occurs, the unacknowledged packet is retransmitted one packet at a time while confirming delivery with the receiving device, so congestion does not increase, and as a result The effect that the recovery time from congestion can be shortened is obtained.
[0083]
In addition, when a window closing notification is received from the receiving device, the time from the notification reception time to the window recovery notification reception time is measured, and as a result of this measurement, the retransmission of unconfirmed delivery packets is instructed on the condition that a predetermined time or more has elapsed By doing so, unnecessary packets are not transmitted, so that packets lost due to window closing of the receiving apparatus can be efficiently retransmitted. In addition, when the downlink that transmits the retransmission packet is shared, the problem that the transmission efficiency of the downlink is reduced by transmitting a useless packet is also solved.
[0084]
Further, when a retransmission timeout occurs, if the retransmission of at least one unacknowledged packet is instructed, the receiving apparatus can promptly receive without waiting for the receipt of the acknowledgment response packet (ACK packet) of the window opening notification. It is possible to confirm whether or not the window has been recovered. As a result, it is possible to shorten the time until completion of packet retransmission.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an overall configuration of a satellite communication system including a packet relay device (gateway) 21 according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a gateway 21 shown in FIG.
3 is a block diagram showing a configuration of a satellite channel compatible communication unit 51 shown in FIG. 2;
4 is a flowchart showing a flow of packet transfer processing performed by a transmission processing unit 61 shown in FIG.
FIG. 5 is a flowchart showing a flow of congestion avoidance processing performed by the congestion avoidance unit 66 shown in FIG. 3;
6 is a flowchart showing a flow of a first congestion recovery process performed by a congestion recovery unit 67 shown in FIG.
FIG. 7 is a flowchart showing a flow of second congestion recovery processing performed by the congestion recovery unit 67 shown in FIG. 3;
FIG. 8 is a flowchart showing a flow of window blocking countermeasure processing performed by the window blocking countermeasure unit 68 shown in FIG. 3;
FIG. 9 is a first sequence diagram for explaining an operation of gateway 21 shown in FIG. 1;
FIG. 10 is a second sequence diagram for explaining the operation of the gateway 21 shown in FIG.
FIG. 11 is a third sequence diagram for explaining the operation of the gateway 21 shown in FIG.
FIG. 12 is a block diagram showing the overall configuration of a satellite communication system including a conventional packet relay device (gateway) 41.
13 is a sequence diagram for explaining the operation of the gateway 41 shown in FIG. 12. FIG.
[Explanation of symbols]
1 Communication satellite
2 Telecommunications carrier system
3. Subscriber LAN system
4 servers
5 Internet
6, 7 Satellite line
21 Packet relay device (gateway)
22 Satellite router
23 Satellite antenna
31 terminals
32 LAN
51 Communication part for satellite communication
52 Communication Department for Internet Line
61 Transmission processor
62 buffers
63 Congestion control unit
64 Reception processing unit
65 Transmission / Reception Interface Unit
66 Congestion Avoidance Unit
67 Congestion recovery unit
68 Window Blocking Countermeasure

Claims (10)

第1の伝送区間と前記第1の伝送区間よりも伝送遅延が大きい第2の伝送区間との間で、前記第1の伝送区間を介して伝送されたパケットを前記第2の伝送区間へ転送するパケット中継装置であって、
前記第2の伝送区間へ転送済みのパケットを蓄えておくバッファ手段と、
前記転送されたパケットを受信する受信装置から通知された最大受信可能データ量を超えて、前記第1の伝送区間から受信したパケットを前記第2の伝送区間へ送信し、また、前記バッファ手段内のパケットを使用して送達未確認パケットの再送を行うパケット転送手段と、
前記第2の伝送区間へ送信されたパケットについての送達確認応答パケットを、前記受信装置からの受信を待たずに代行して前記第1の伝送区間へ送信する送達確認応答代行手段と、
前記第2の伝送区間へパケットを送信してから、該パケットの送達確認応答パケットを前記受信装置から受信するまでの往復遅延時間に基づいて、前記パケット転送手段の最大送信可能データ量を増加または減少させる輻輳回避手段と、を具備し、
前記最大送信可能データ量は、前記最大受信可能データ量に一定の先送り可能なデータ量を加えた値、あるいは、最後に送達確認されたパケットから送信可能な最大データ量を示す輻輳ウインドウ、のいずれか小さい値であり、
前記輻輳ウインドウが前記最大受信可能データ量よりも大きい値をとることができるようにしたことを特徴とするパケット中継装置。
A packet transmitted through the first transmission section is transferred to the second transmission section between the first transmission section and a second transmission section having a transmission delay larger than that of the first transmission section. A packet relay device,
Buffer means for storing packets transferred to the second transmission section;
The packet received from the first transmission section exceeds the maximum receivable data amount notified from the receiving apparatus that receives the transferred packet, and is transmitted to the second transmission section. Packet transfer means for retransmitting undelivered packets using the packets of
A delivery confirmation response proxy means for sending a delivery confirmation response packet for a packet transmitted to the second transmission section to the first transmission section instead of waiting for reception from the reception device;
Increase the maximum transmittable data amount of the packet transfer means based on the round-trip delay time from when the packet is transmitted to the second transmission period until the packet is received from the receiving device. A congestion avoiding means for reducing ,
The maximum transmittable data amount is a value obtained by adding a certain amount of data that can be forwarded to the maximum receivable data amount, or a congestion window indicating the maximum data amount that can be transmitted from a packet that has been confirmed to be delivered last. Or a small value,
A packet relay apparatus characterized in that the congestion window can take a value larger than the maximum receivable data amount .
送達未確認のパケットがあることを検出した場合に、最前の送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として設定し、前記パケット転送手段に前記再送を指示し、前記受信装置から送達確認応答パケットを受信する毎に、順次、次の送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として設定する輻輳回復手段
を具備することを特徴とする請求項1に記載のパケット中継装置。
When it is detected that there is an unacknowledged packet, the minimum amount of data that can be transmitted by the previous unacknowledged packet is set as the maximum transmittable data amount, the retransmission is instructed to the packet transfer means, and the reception A congestion recovery means for setting, as the maximum transmittable data amount, a minimum data amount capable of sequentially transmitting a next unacknowledged packet every time a delivery confirmation response packet is received from a device. 1. The packet relay device according to 1.
前記輻輳回復手段は、
再送タイムアウトによって前記検出がなされた場合には、前記再送された送達未確認パケットの送達確認応答パケットを受信するまで、該送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として使用し続ける
ことを特徴とする請求項2に記載のパケット中継装置。
The congestion recovery means includes
When the detection is performed due to a retransmission timeout, the minimum amount of data that can be transmitted in the unacknowledged packet is used as the maximum amount of data that can be transmitted until the acknowledgment packet of the resent unacknowledged packet is received. The packet relay device according to claim 2, wherein the packet relay device continues.
前記受信装置からウインドウ閉塞通知を受信した場合、該通知受信時点からウインドウ回復通知受信時点までの時間を計測し、この計測の結果、所定時間以上の経過を条件として前記パケット転送手段に前記再送を指示するウインドウ閉塞対処手段
を具備することを特徴とする請求項1乃至請求項3のいずれかの項に記載のパケット中継装置。
When a window closing notification is received from the receiving device, the time from the notification receiving time to the window recovery notification receiving time is measured, and as a result of this measurement, the retransmission is sent to the packet transfer means on the condition that a predetermined time or more has passed. The packet relay apparatus according to any one of claims 1 to 3, further comprising: a window blocking countermeasure unit that instructs.
前記ウインドウ閉塞対処手段は、
再送タイムアウトが発生した場合には、前記パケット転送手段に少なくとも一つの送達未確認パケットの再送を指示する
ことを特徴とする請求項4に記載のパケット中継装置。
The window closing countermeasure means
The packet relay device according to claim 4, wherein when a retransmission timeout occurs, the packet transfer unit is instructed to retransmit at least one unacknowledged packet.
第1の伝送区間と前記第1の伝送区間よりも伝送遅延が大きい第2の伝送区間との間で、前記第1の伝送区間を介して伝送されたパケットを前記第2の伝送区間へ転送するパケット中継装置におけるパケット中継方法であって、
前記転送されたパケットを受信する受信装置から通知された最大受信可能データ量を超えて、前記第1の伝送区間から受信したパケットを前記第2の伝送区間へ送信する過程と、
前記第2の伝送区間へ転送済みのパケットを蓄えておき、この蓄えておいたパケットを使用して送達未確認パケットの再送を行う過程と、
前記第2の伝送区間へ送信されたパケットについての送達確認応答パケットを、前記受信装置からの受信を待たずに代行して前記第1の伝送区間へ送信する過程と、
前記第2の伝送区間へパケットを送信してから、該パケットの送達確認応答パケットを前記受信装置から受信するまでの往復遅延時間を計測する過程と、
この往復遅延時間に基づいて、前記第2の伝送区間への最大送信可能データ量を増加または減少させる過程と、を含み、
前記最大送信可能データ量は、前記最大受信可能データ量に一定の先送り可能なデータ量を加えた値、あるいは、最後に送達確認されたパケットから送信可能な最大データ量を示す輻輳ウインドウ、のいずれか小さい値であり、
前記輻輳ウインドウが前記最大受信可能データ量よりも大きい値をとることができるようにしたことを特徴とするパケット中継方法。
A packet transmitted through the first transmission section is transferred to the second transmission section between the first transmission section and a second transmission section having a transmission delay larger than that of the first transmission section. A packet relay method in the packet relay device,
Transmitting the packet received from the first transmission section to the second transmission section in excess of the maximum receivable data amount notified from the receiving device that receives the transferred packet;
Storing a packet that has been transferred to the second transmission section, and retransmitting an unconfirmed delivery packet using the stored packet;
A process of transmitting a delivery confirmation response packet for a packet transmitted to the second transmission section to the first transmission section instead of waiting for reception from the reception device;
A step of measuring a round trip delay time from when a packet is transmitted to the second transmission section until reception of a delivery confirmation response packet of the packet from the receiving device;
Based on the round trip time, it looks including the the steps of increasing or decreasing the maximum transmittable data amount to said second transmission section,
The maximum transmittable data amount is a value obtained by adding a certain amount of data that can be forwarded to the maximum receivable data amount, or a congestion window indicating the maximum data amount that can be transmitted from a packet that has been confirmed to be delivered last. Or a small value,
A packet relay method characterized in that the congestion window can take a value larger than the maximum receivable data amount .
送達未確認のパケットがあることを検出する過程と、
送達未確認のパケットがあった場合に、最前の送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として設定し、前記再送を指示する輻輳回復過程とをさらに含み、
前記輻輳回復過程は、
前記受信装置から送達確認応答パケットを受信する毎に、順次、次の送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として設定する処理
を含むことを特徴とする請求項6に記載のパケット中継方法。
Detecting the presence of unacknowledged packets;
A congestion recovery process in which when there is an unacknowledged packet, the minimum amount of data that can be transmitted in the previous unacknowledged packet is set as the maximum transmittable data amount, and the retransmission is instructed.
The congestion recovery process includes:
7. A process of sequentially setting a minimum data amount that can transmit a next unconfirmed delivery packet as the maximum transmittable data amount every time a delivery confirmation response packet is received from the receiving device. The packet relay method described in 1.
前記輻輳回復過程は、
再送タイムアウトによって前記検出がなされた場合には、前記再送された送達未確認パケットの送達確認応答パケットを受信するまで、該送達未確認パケットを送信可能な最少のデータ量を前記最大送信可能データ量として使用し続ける処理
をさらに含むことを特徴とする請求項7に記載のパケット中継方法。
The congestion recovery process includes:
When the detection is performed due to a retransmission timeout, the minimum amount of data that can be transmitted to the unacknowledged packet is used as the maximum amount of data that can be transmitted until the acknowledgment packet of the retransmitted unacknowledged packet is received. The packet relay method according to claim 7, further comprising: a process of continuing.
前記受信装置からウインドウ閉塞通知を受信した場合、該通知受信時点からウインドウ回復通知受信時点までの時間を計測する過程と、
この計測の結果、所定時間以上の経過を条件として前記再送を指示するウインドウ閉塞対処過程
をさらに含むことを特徴とする請求項6乃至請求項8のいずれかの項に記載のパケット中継方法。
When receiving a window closing notification from the receiving device, measuring the time from the notification reception time to the window recovery notification reception time,
The packet relay method according to any one of claims 6 to 8, further comprising a window blocking countermeasure process instructing the retransmission on the condition that a predetermined time or more has passed as a result of the measurement.
前記ウインドウ閉塞対処過程は、
再送タイムアウトが発生した場合には、少なくとも一つの送達未確認パケットの再送を指示する処理
をさらに含むことを特徴とする請求項9に記載のパケット中継方法。
The window blocking countermeasure process includes:
The packet relay method according to claim 9, further comprising a process of instructing retransmission of at least one unacknowledged packet when a retransmission timeout occurs.
JP2001215808A 2001-07-16 2001-07-16 Packet relay apparatus and method thereof Expired - Lifetime JP4531302B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001215808A JP4531302B2 (en) 2001-07-16 2001-07-16 Packet relay apparatus and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001215808A JP4531302B2 (en) 2001-07-16 2001-07-16 Packet relay apparatus and method thereof

Publications (2)

Publication Number Publication Date
JP2003032295A JP2003032295A (en) 2003-01-31
JP4531302B2 true JP4531302B2 (en) 2010-08-25

Family

ID=19050379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001215808A Expired - Lifetime JP4531302B2 (en) 2001-07-16 2001-07-16 Packet relay apparatus and method thereof

Country Status (1)

Country Link
JP (1) JP4531302B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4214793B2 (en) 2003-02-19 2009-01-28 日本電気株式会社 Wireless communication system, server, base station, mobile terminal, and retransmission timeout time determination method used for them
KR101231793B1 (en) * 2004-11-24 2013-02-08 아이에스티 인터내셔널 인코포레이티드 Methods and apparatus for optimizing a tcp session for a wireless network
JP4627669B2 (en) 2005-03-16 2011-02-09 アラクサラネットワークス株式会社 Packet transfer apparatus and transfer control method thereof
JP6464911B2 (en) 2015-05-01 2019-02-06 富士通株式会社 Information processing system, information processing system control method, and receiving apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000216811A (en) * 1999-01-22 2000-08-04 Chokosoku Network Computer Gijutsu Kenkyusho:Kk Flow controlling method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3448481B2 (en) * 1998-03-05 2003-09-22 Kddi株式会社 TCP communication speed-up device for asymmetric line

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000216811A (en) * 1999-01-22 2000-08-04 Chokosoku Network Computer Gijutsu Kenkyusho:Kk Flow controlling method

Also Published As

Publication number Publication date
JP2003032295A (en) 2003-01-31

Similar Documents

Publication Publication Date Title
KR100785293B1 (en) System and Method for TCP Congestion Control Using Multiple TCP ACKs
US6741555B1 (en) Enhancement of explicit congestion notification (ECN) for wireless network applications
US7876678B2 (en) Congestion control for signalling transport protocols
US8014287B2 (en) Communications apparatus
JP5816718B2 (en) Communication apparatus, communication system, and data communication relay method
US7028094B2 (en) Data communication method, system, and transmitter and receiver constituting the system
KR100600607B1 (en) A apparatus for ARQ controlling in wireless portable internet system and method therof
US20040052234A1 (en) Method and system for dispatching multiple TCP packets from communication systems
KR100547749B1 (en) Congestion Control Method and System of Transmission Control Protocol to Reduce the Number of Retransmission Timeouts
EP1762052A1 (en) Network feedback method and device
WO2003015337A1 (en) Uplink session extension
Wang et al. Use of TCP decoupling in improving TCP performance over wireless networks
JP3003095B1 (en) Flow control method
EP1278348A1 (en) Long-lived TCP connection using ICMP messages in wireless mobile communications
WO2018155406A1 (en) Communication system, communication device, method, and program
JP3727198B2 (en) Gateway device
JP4531302B2 (en) Packet relay apparatus and method thereof
JP2006101339A (en) Data communication apparatus
JP2000022744A (en) Packet communication system, packet communication device and packet communication method
CA2372023A1 (en) Overload control method for a packet-switched network
CN110912831B (en) TCP transmission method, device and storage medium
KR100913897B1 (en) Method for controlling congestion of TCP for reducing the number of retransmission timeout
WO2008049018A2 (en) Method and system for traffic flow control in a communication network
KR101396785B1 (en) Method for performing tcp functions in network equipmment
JP2003198612A (en) File transferring method in packet communication network

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071009

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071009

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100514

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100609

R150 Certificate of patent or registration of utility model

Ref document number: 4531302

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

EXPY Cancellation because of completion of term