JP2004147183A - 誤り制御方法、通信装置および通信システム - Google Patents
誤り制御方法、通信装置および通信システム Download PDFInfo
- Publication number
- JP2004147183A JP2004147183A JP2002311209A JP2002311209A JP2004147183A JP 2004147183 A JP2004147183 A JP 2004147183A JP 2002311209 A JP2002311209 A JP 2002311209A JP 2002311209 A JP2002311209 A JP 2002311209A JP 2004147183 A JP2004147183 A JP 2004147183A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- tcp
- terminal device
- communication
- ack
- 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.)
- Abandoned
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
【課題】ARQによるパケットの順序制御を実施しない場合における、TCPによる無駄なファストリカバリを回避可能な誤り制御方法、通信装置および通信システムを得ること。
【解決手段】本発明の通信装置(2,4)は、誤り制御方式としてARQ(自動再送要求:Automatic Repeat reQuest)方式を採用し、TCP(TransmissionControl Protocol)によりエンド−エンドの端末装置(1,5)間のパケットを中継するために、たとえば、再送処理によるパケットの順序制御を行わずに、順序反転した状態のパケットをパケット送信先の端末装置5に対して中継するARQ受信処理部23と、パケット送信先から送られてくる重複ACKをカウントし、当該カウント値に基づいて予め規定された個数以上の重複ACKを破棄するTCP−ACK制御部24と、を備える構成とした。
【選択図】 図1
【解決手段】本発明の通信装置(2,4)は、誤り制御方式としてARQ(自動再送要求:Automatic Repeat reQuest)方式を採用し、TCP(TransmissionControl Protocol)によりエンド−エンドの端末装置(1,5)間のパケットを中継するために、たとえば、再送処理によるパケットの順序制御を行わずに、順序反転した状態のパケットをパケット送信先の端末装置5に対して中継するARQ受信処理部23と、パケット送信先から送られてくる重複ACKをカウントし、当該カウント値に基づいて予め規定された個数以上の重複ACKを破棄するTCP−ACK制御部24と、を備える構成とした。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、誤り制御技術としてARQ(自動再送要求:Automatic Repeat reQuest)方式を採用する通信装置および通信システムに関するものであり、特に、誤りのあったパケットのみを再送するSR(Selective−Repeat)−ARQ方式に適用可能な誤り制御方法に関するものである。
【0002】
【従来の技術】
以下、従来の誤り制御方法について説明する。従来、誤り制御技術としては、単純さの観点からGBN(Go−Back−N)−ARQ方式が用いられていたが、通信速度が速くなるにつれて、伝搬遅延や物理層およびマック層での処理による遅延時間が相対的に無視できなくなり、SR(Selective−Repeat)−ARQ方式が用いられるようになった。
【0003】
上記SR−ARQでは、NACK(Not Acknowledge)が返信された誤りパケットのみを再送する。また、再送処理による順序制御待ちの受信パケットを記憶するための受信バッファを必要とする。すなわち、ユーザ(インターネット等の通信ネットワークに接続された端末等)に渡すパケットの順序を保証する必要があるため、再送パケットが正しく受信できるまでの間に正しく受信した他のパケットを記憶しておく。
【0004】
ここで、図面に基づいてSR−ARQについて説明する。図5は、SR−ARQの処理を示す図である(たとえば、非特許文献1参照。)。ここでは、たとえば、送信側の通信装置が図示の0,1,2,3,4,5の送信順でパケットを送信する場合を想定する。
【0005】
図5において、受信側の通信装置では、受け取った0番目のパケットに誤りがないのでACK(Acknowledge)を返信し、つぎに受け取った1番目のパケットには誤りがあるのでNACKを返信し、つぎに受け取った2番目のパケットには誤りがないのでACKを返信し、つぎに受け取った3番目のパケットには誤りがあるのでNACKを返信し、つぎに受け取った4,5番目のパケットには誤りがないのでACKを返信している。
【0006】
一方、送信側の通信装置では、上記1番目のパケットに対応したNACKを受け取った後、当該1番目のパケット(1´)を再送し、以降、ACKが返信されるまで1番目のパケットの再送を繰り返し実行する。ここでは、2回目の再送でACKが返信されている。同様に、上記3番目のパケットに対応したNACKを受け取った場合は、当該3番目のパケット(3´)を再送する。ここでは、1回目の再送でACKが返信されている。
【0007】
上記のような再送制御が行われた場合、受信側の通信装置では、まず、0番目のパケットを上記端末等に中継する。つぎに、1番目のパケットを再送している間に2、3(再送1回),4,5番目のパケットを正しく受信しているが、パケットの順序を保証するためには2,3,4,5番目のパケットを上記端末等に中継することができないので、これらのパケットを一旦受信バッファに記憶する。そして、1番目のパケットを正しく受信できた段階で、受信バッファを一斉に解放する。
【0008】
つぎに、SR−ARQを採用する上記送信側の通信装置および上記受信側の通信装置と、さらに、送信側の通信装置に接続されたパケット送信元の端末装置と、受信側の通信装置に接続されたパケット送信先(宛先)の端末装置と、を含む通信システムにおいて、各端末装置間が、通信プロトコルとしてTCP(Transmission Control Protocol)を用いる場合の誤り制御について説明する。
【0009】
たとえば、通信装置間のSR−ARQにて最大再送回数やタイムアウトの影響でパケットが破棄された場合、宛先の端末装置において、TCPパケットの到着順序の反転(ミスオーダ)が生じる。そして、宛先の端末装置では、抜けたパケットの影響で、同一のACKを複数回(重複ACK)にわたってパケット送信元の端末装置に対して返信する(たとえば、非特許文献2参照。)。
【0010】
一方、パケット送信元の端末装置では、3つの重複ACKを受け取ると、ファストリカバリというアルゴリズムで、自動的にSR−ARQにより破棄されたパケットを再送する(たとえば、非特許文献3参照。)。
【0011】
【非特許文献1】
電子情報通信学会技術報告 NS2002−81 RCS2002−109(2002−07)「Selective−Repeat ARQプロトコルの順序制御による出力トラヒックのバースト性評価」、図1
【非特許文献2】
文献「Wireless環境におけるTCPの性能評価:Layer2 ARQおよびパケット管理による影響」 4章
【非特許文献3】
宮原秀夫、尾家祐二著 文献「コンピュータ ネットワーク」共立出版株式会社 ページ185〜188
【0012】
【発明が解決しようとする課題】
しかしながら、上記、従来の誤り制御方法においては、パケットの順序を保証する必要があるため、上記のように再送が発生した場合には、その後に正常受信したパケットを、再送パケットを正常に受信するまで保持することとなり、遅延時間が大きくなる、という問題があった。また、上記と同様の理由から、再送パケットを正常に受信するまでの間に正常に受信した他のパケットを記憶しておくための受信バッファが必要になるが、再送が繰り返し実行された場合を想定して大きなバッファを準備しておく必要がある、という問題もあった。特に、伝搬遅延の大きい通信システム(衛星通信システム等)においては、必然的に再送処理にかかる時間が長くなり、順序制御待ちの受信パケットが増大するため、より大きな受信バッファが必要になる。
【0013】
また、再送パケットを正常に受信できた場合には、受信バッファ内に保持されたパケットが一斉に解放されるため、インターネット等の通信ネットワーク上のトラヒックが急激に増大し、ルータ等がオーバーフロー状態となる、という問題があった。特に、上記伝搬遅延の大きい通信システム(衛星通信システム等)では、受信バッファが大きくなる傾向にあるため、バースト性が顕著に表れる。
【0014】
また、上記従来の通信システム、特に、伝搬遅延の大きい通信システムにおいて、たとえば、上記問題点を解消するために受信バッファを削除してパケットの順序制御を実施しない構成とした場合は、ARQによる再送処理が行われているにもかかわらず、さらに、TCPにて重複ACKによるファストリカバリが実施され、重複して再送処理が行われることとなる、という問題があった。
【0015】
本発明は、上記に鑑みてなされたものであって、ARQによるパケットの順序制御を実施しない場合における、TCPによる無駄なファストリカバリを回避可能な誤り制御方法、通信装置および通信システムを得ることを目的とする。
【0016】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明にかかる誤り制御方法にあっては、端末装置に対してパケットを中継する通信装置間の誤り制御方式としてARQ(自動再送要求:Automatic Repeat reQuest)方式を用い、エンド−エンドの端末装置間の通信プロトコルとしてTCP(Transmission Control Protocol)を用いる場合、再送処理によるパケットの順序制御を行わずに、パケット送信先の端末装置に対して送信するパケットの順序反転を許可する第1の再送制御ステップと、パケット送信元の端末装置に対してTCPのACKを通知する場合に、予め規定された個数以上の重複ACKを破棄する第2の再送制御ステップと、を含むことを特徴とする。
【0017】
この発明によれば、従来技術のように大きな受信バッファを用意してパケットの順序を完全に保証するのではなく、受信バッファを削除してパケットの順序制御を行わず、さらに、送信元の端末装置に対してTCPのACK情報を通知する場合に、たとえば、2個目までの重複ACKは通知し、3個目以降の重複ACKについては破棄する。
【0018】
【発明の実施の形態】
以下に、本発明にかかる誤り制御方法、通信装置および通信システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0019】
実施の形態1.
本実施の形態では、本発明にかかる通信システムの一例として、準天頂衛星システムを用いた場合の、誤り制御方法について説明する。この準天頂衛星システムは、3機の衛星が所定の軌道を通って1日で地球を一周し、3機の衛星の少なくとも1機が常に日本の上空(天頂)付近に存在する地域限定型の衛星システムである。また、衛星の切り換えを8時間毎に行えば、常に60度以上の仰角が確保され、ユーザは、常に、ビル等による通信回線の遮断が少ない良好な移動体通信サービス(自動車電話サービス、携帯電話サービス、GPSとは別の簡易測位システム等)の提供を受けられる。具体的には、日本の主要地域から見た場合は常に天頂から20度以内に衛星が存在するため、たとえば、車のアンテナを天頂方向に向けておくだけで、車の進行方向が変化しても、常に良好な通信が可能となり、さらに衛星追尾が不要となるため通信装置を簡略化することができる。
【0020】
図1は、本発明にかかる通信システムおよび通信装置の実施の形態1の構成を示す図である。本実施の形態では、説明の便宜上、たとえば、データ送信元の端末装置1が、送信側の通信装置2,衛星(SAT)3および受信側の通信装置4を経由して、端末装置5に対してデータを送信する場合を想定する。このとき、送信側の通信装置2および受信側の通信装置4との間では、ARQによる誤り制御が行われ、パケット送信元の端末装置1とパケット送信先(宛先)の端末装置5との間は、通信プロトコルとしてTCPを用いる。また、通信装置2,4は、それぞれARQ制御部11,12が、インタフェース部21,ARQ送信処理部22,ARQ受信処理部23,TCP−ACK制御部24およびACK情報レジスタ25を備え、後述する本実施の形態の誤り制御を実現する。
【0021】
ここで、本実施の形態の誤り制御方法を、図面を用いて詳細に説明する。図2は、本実施の形態の誤り制御方法を示す図である。なお、ここでは、説明の便宜上、上記端末装置1が0,1,2,3,4,5の送信順でパケットを送信する場合を想定する。このパケットを、順にP(0),P(1),P(2),P(3),P(4),P(5)とする。また、本実施の形態においては、通信装置4にてパケットの順序制御を行わないので、順序制御待ちのパケットを記憶しておくための受信バッファが存在しない。
【0022】
図2において、端末装置1では、パケットP(0),P(1),P(2),P(3),P(4),P(5)を順に通信装置2に対して送信する。通信装置2のARQ制御部11では、ARQ送信処理部22が、インタフェース部21を介して受け取ったパケットP(0),P(1),P(2),P(3),P(4),P(5)を内部の送信バッファ(図示せず)に記憶し、送信バッファから順に読み出したパケットを衛星3経由で通信装置4に対して送信する。
【0023】
通信装置4のARQ制御部12では、ARQ受信処理部23が、衛星3を経由して受け取ったパケットP(0)に誤りがないのでARQ送信処理部22に対してACKを通知し、ARQ送信処理部22が、衛星3を経由して当該ACK(図示せず)を通信装置2に対して返信する。そして、受け取ったパケットP(0)をインタフェース部21およびIPネットワーク経由で端末装置5に対して送信する。
【0024】
つぎに、衛星3を経路してパケットP(1)を受け取ったARQ制御部12のARQ受信処理部23では、当該パケットに誤りがあるのでそれを破棄し、上記ACKと同様の経路でNACKを返信する。以降、ARQ制御部12のARQ受信処理部23では、上記同様の処理で、つぎに受け取ったパケットP(2)には誤りがないのでACK(図示せず)を返信し、パケットP(2)を端末装置5に対して送信し、つぎに受け取ったパケットP(3)には誤りがあるので、そのパケットを破棄するとともにNACKを返信し、つぎに受け取ったパケットP(4),P(5)には誤りがないのでACK(図示せず)を返信し、パケットP(4),P(5)を端末装置5に対して送信する。
【0025】
また、通信装置2では、ARQ受信処理部23経由で上記パケットP(1)に対応したNACKを受け取ったARQ送信処理部22が、再度パケットP(1)(図示の1´に相当)を送信バッファから読み出して再送し、以降、ACKが返信されるまでパケットP(1)の再送処理を繰り返し実行する。図2では、2回目の再送でACKが返信され、そして、パケットP(1)がインタフェース部21経由で端末装置5に対して送信されている。同様に、上記パケットP(3)に対応したNACKを受け取った場合は、当該パケットP(3)(図示の3´に相当)を再送する。図2では、1回目の再送でACKが返信され、パケットP(3)がインタフェース部21経由で端末装置5に対して送信されている。
【0026】
また、端末装置5では、IPネットワーク経由でパケットP(0)を受け取ると、その応答としてパケットP(0)を正常に受け取ったことを示すPACK(0)を返信する。そして、通信装置4では、ARQ送信処理部22が、インタフェース部21経由で受け取ったPACK(0)を、衛星3経由で通信装置2に対して送信する。
【0027】
つぎに、端末装置5では、IPネットワーク経由でパケットP(2)を受け取ると、パケットP(1)を受け取っていないのでPACK(2)を送信せず、パケットの順序が反転していることを示すためにPACK(0)を再度返信する。そして、通信装置4のARQ送信処理部22では、インタフェース部21経由で受け取ったPACK(0)、すなわち、重複ACKを、衛星3経由で通信装置2に対して送信する。
【0028】
つぎに、端末装置5では、IPネットワーク経由でパケットP(4)を受け取ると、まだPACK(1)が受け取れていないのでPACK(4)を送信せず、上記同様PACK(0)を返信する。そして、通信装置4のARQ送信処理部22では、インタフェース部21経由で受け取ったPACK(0)、すなわち、3個目の重複ACKを、衛星3経由で通信装置2に対して送信する。
【0029】
つぎに、端末装置5では、IPネットワーク経由でパケットP(5)を受け取ると、まだPACK(1)が受け取れていないのでPACK(5)を送信せず、上記同様PACK(0)を返信する。そして、通信装置4のARQ送信処理部22では、インタフェース部21経由で受け取ったPACK(0)、すなわち、4個目の重複ACKを、衛星3経由で通信装置2に対して送信する。
【0030】
つぎに、端末装置5では、IPネットワーク経由で再送によるパケットP(3)を受け取ると、まだPACK(1)が受け取れていないのでPACK(3)を送信せず、上記同様PACK(0)を返信する。そして、通信装置4のARQ送信処理部22では、インタフェース部21経由で受け取ったPACK(0)、すなわち、5個目の重複ACKを、衛星3経由で通信装置2に対して送信する。
【0031】
つぎに、端末装置5では、IPネットワーク経由で再送によるパケットP(1)を受け取ると、パケットP(2)〜P(5)を既に受信しているので、パケットP(5)までを正常に受け取ったことを示すPACK(5)を返信する。そして、通信装置4のARQ送信処理部22では、インタフェース部21経由で受け取ったPACK(5)を、衛星3経由で通信装置2に対して送信する。
【0032】
また、通信装置2では、ARQ受信処理部23経由でPACK(0)を受け取ったTCP−ACK制御部24が、所定のパラメータ(宛先アドレス,宛先ポート番号,送信元アドレス,送信元ポート番号)からフローIDを取得し、TCPフロー毎のACK情報レジスタ25内を検索してPACK(0)を過去に受け取っているかどうかを確認する。ここでは、最初の受信となるので、ACK情報レジスタ25内のACK番号欄にPACK(0)の通番0を記録し、さらに、そのACK番号に対応したカウンタ値(初期値:0)をインクリメントして「1」を記録する。そして、TCP−ACK制御部24では、受け取ったPACK(0)をインタフェース部21経由で端末装置1に対して送信する。
【0033】
つぎに、ARQ受信処理部23経由で再度PACK(0)を受け取った通信装置2のTCP−ACK制御部24では、上記同様の確認処理で、PACK(0)が2回目の重複ACKであることを認識すると、ACK情報レジスタ25内のPACK(0)に対応するカウンタ値をインクリメントして「2」とする。そして、受け取ったPACK(0)をインタフェース部21経由で端末装置1に対して送信する。以降、TCP−ACK制御部24では、通信装置4から送られてくるACK情報(PACK)を受信する度にフロー毎のACK情報レジスタ25を確認し、そのACK情報に対応するカウンタ値が「2」であればそのACK情報を破棄する。ここでは、3つのPACK(0)が破棄されている。これにより、TCPによる無駄なファストリカバリを回避できる。
【0034】
最後に、ARQ受信処理部23経由でPACK(5)を受け取った通信装置2のTCP−ACK制御部24では、上記同様の確認処理によりPACK(5)が最初の受信であることが確認できるので、ACK情報レジスタ25内のACK番号欄にPACK(5)の通番5を記録し、そのACK番号に対応したカウンタ値をインクリメントして「1」を記録する。そして、受け取ったPACK(5)をインタフェース部21経由で端末装置1に対して送信する。
【0035】
このように、本実施の形態においては、従来技術のように大きな受信バッファを用意してパケットの順序を完全に保証するのではなく、受信バッファを削除してパケットの順序制御を行わず、さらに、送信元の端末装置に対してTCPのACK情報を通知する場合に、予め規定された個数である2個目までの重複ACKは通知し、3個目以降の重複ACKについては破棄して通知しない。なお、予め規定された個数は、TCPにおいてファストリカバリによりパケットを再送するために設定された個数(本実施の形態では3個)よりも小さい。これにより、ARQによるパケットの順序制御を実施しない場合の、TCPによる無駄なファストリカバリを回避することができる。
【0036】
なお、本実施の形態では、説明の便宜上、通信装置2が図示の0,1,2,3,4,5の順番でパケットを送信する場合を想定したが、送信するパケット数に規定はない。また、本実施の形態では、3個目以降のTCPの重複ACKについてはすべて破棄することとしたが、これに限らず、たとえば、すべての重複ACKを破棄することとしてもよい。この場合、上記予め規定された個数は0個となる。
【0037】
また、本発明にかかる誤り制御方法は、誤り制御方式としてARQ方式を採用する通信システムであれば、上記準天頂衛星システムに限らず、その他の衛星通信システムや衛星を中継しない通信システム等(移動体通信システム等)、あらゆる通信システムに適用可能である。
【0038】
実施の形態2.
図3は、本発明にかかる通信システムおよび通信装置の実施の形態2の構成を示す図である。なお、本実施の形態においても、前述同様、データ送信元の端末装置1が、送信側の通信装置2a,衛星(SAT)3および受信側の通信装置4aを経由して、端末装置5に対してデータを送信する場合を想定する。また、送信側の通信装置2aおよび受信側の通信装置4aとの間では、ARQによる誤り制御が行われ、パケット送信元の端末装置1とパケット送信先(宛先)の端末装置5との間は、通信プロトコルとしてTCPを用いる。また、通信装置2a,4aは、それぞれARQ制御部11a,12aが、インタフェース部21,ARQ送信処理部22,ARQ受信処理部23a,TCP−ACK制御部24aおよびACK情報レジスタ25aを備え、後述する本実施の形態の誤り制御を実現する。
【0039】
ここで、本実施の形態の誤り制御方法を、図面を用いて詳細に説明する。図4は、本実施の形態の誤り制御方法を示す図である。なお、ここでは、説明の便宜上、上記端末装置1が0,1,2,3,4,5の送信順でパケットを送信する場合を想定し、このパケットを順にP(0),P(1),P(2),P(3),P(4),P(5)と定義する。以下、前述の実施の形態1と異なる処理についてのみ説明する。
【0040】
図4において、衛星3経由でパケットを受け取った通信装置4aのARQ受信処理部23aでは、先に説明した実施の形態1のARQ受信処理部23の処理に加えて、パケット内の所定のパラメータ(宛先アドレス,宛先ポート番号,送信元アドレス,送信元ポート番号)からフローIDを取得し、さらに、その取得情報とパケットの順序反転の有無とをTCP−ACK制御部24aに通知する。
【0041】
具体的にいうと、たとえば、パケットP(2)を受け取った通信装置4aのARQ受信処理部23aでは、前述したACK(図示せず)を返信する処理と、パケットP(2)を端末装置5に対して送信する処理の他に、さらに、パケットP(2)内の所定のパラメータ(宛先アドレス,宛先ポート番号,送信元アドレス,送信元ポート番号)からフローIDを取得し、さらに、その取得情報と順序反転が存在する旨とをTCP−ACK制御部24aに通知する。
【0042】
そして、上記情報を受け取ったTCP−ACK制御部24aでは、フロー毎のACK情報レジスタ25aに現在の時刻を記録する。なお、パケットの順序反転が存在しない場合は、時刻の記録は行わない。
【0043】
その後、前述の実施の形態1と同様の処理で、端末装置5からインタフェース部21経由でPACK(0)を受け取った通信装置4aのTCP−ACK制御部24aでは、PACK(0)パケットの所定のパラメータ(宛先アドレス,宛先ポート番号,送信元アドレス,送信元ポート番号)からフローIDを取得し、TCPフォロー毎のACK情報レジスタ25a内を検索してPACK(0)を過去に受け取っているかどうかを確認する。ここでは、最初の受信となるので、ACK情報レジスタ25a内のACK番号欄にPACK(0)の通番0を記録し、さらに、そのACK番号に対応したカウンタ値(初期値:0)をインクリメントして「1」を記録する。そして、TCP−ACK制御部24aでは、受け取ったPACK(0)をARQ送信処理部22,衛星3経由で通信装置2aに対して送信する。
【0044】
つぎに、端末装置5からインタフェース部21経由で2回目のPACK(0)を受け取った通信装置4aのTCP−ACK制御部24aでは、上記同様の確認処理で、PACK(0)が2回目の重複ACKであることを認識すると、ACK情報レジスタ25a内のPACK(0)に対応するカウンタ値をインクリメントして「2」とする。そして、受け取ったPACK(0)をARQ送信処理部22,衛星3経由で通信装置2aに対して送信する。以降、通信装置4aのTCP−ACK制御部24aでは、通信装置5から送られてくるACK情報(PACK)を受信する度にフロー毎のACK情報レジスタ25aを確認し、そのACK情報に対応するカウンタ値が「2」であり、かつ時刻欄に記録された時刻から一定時間(予め規定しておく)以内であれば、ARQによる再送で所望のパケットを受信できるものと判断し、そのACK情報を破棄する。ここでは、実際に3つのPACK(0)が破棄されている。これにより、TCPによる無駄なファストリカバリを回避できる。なお、図示はしていないが、ACK情報に対応するカウンタ値が「2」であり、かつ時刻欄に記録された時刻から一定時間(予め規定しておく)が既に経過している場合には、ARQによる再送では所望のパケットを受信できないものと判断し、ファストリカバリによる再送処理を実施するため、3回目の重複ACKを端末装置1宛てに送信する。
【0045】
つぎに、端末装置5からインタフェース部21経由でPACK(5)を受け取った通信装置4aのTCP−ACK制御部24aでは、上記同様の確認処理によりPACK(5)が最初の受信であることが確認できるので、ACK情報レジスタ25a内のACK番号欄にPACK(5)の通番5を記録し、そのACK番号に対応したカウンタ値をインクリメントして「1」を記録し、さらに、時刻欄をリセットする。そして、受け取ったPACK(5)をARQ送信処理部22,衛星3経由で通信装置2aに対して送信する。
【0046】
最後に、通信装置2aのARQ受信処理部23aでは、受け取った2個のPACK(0)と1個のPACK(5)をインタフェース部21経由で端末装置1に対して送信する。
【0047】
このように、本実施の形態においては、従来技術のように大きな受信バッファを用意してパケットの順序を完全に保証するのではなく、受信バッファを削除してパケットの順序制御を行わず、さらに、送信元の端末装置に対してTCPのACK情報を通知する場合に、2個目までの重複ACKは通知し、3個目以降の重複ACKについては、予め規定した一定時間以内であれば破棄し、一定時間が経過していれば通知する。これにより、ARQによるパケットの順序制御を実施しない場合の、TCPによる無駄なファストリカバリを回避することができる。
【0048】
なお、本実施の形態では、説明の便宜上、端末装置1が図示の0,1,2,3,4,5の順番でパケットを送信する場合を想定したが、送信するパケット数に規定はない。また、本実施の形態では、3個目以降のTCPの重複ACKについてはすべて破棄することとしたが、これに限らず、すべての重複ACKを破棄することとしてもよい。
【0049】
また、本発明にかかる誤り制御方法は、誤り制御方式としてARQ方式を採用する通信システムであれば、上記準天頂衛星システムに限らず、その他の衛星通信システムや衛星を中継しない通信システム等(移動体通信システム等)、あらゆる通信システムに適用可能である。
【0050】
【発明の効果】
以上、説明したとおり、本発明によれば、従来技術のように大きな受信バッファを用意してパケットの順序を完全に保証するのではなく、受信バッファを削除してパケットの順序制御を行わず、さらに、送信元の端末装置に対してTCPのACK情報を通知する場合に、たとえば、2個目までの重複ACKは通知し、3個目以降の重複ACKについては破棄して通知しないこととした。これにより、ARQによるパケットの順序制御を実施しない場合における、TCPによる無駄なファストリカバリを回避することができる、という効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる通信システムおよび通信装置の実施の形態1の構成を示す図である。
【図2】実施の形態1の誤り制御方法を示す図である。
【図3】本発明にかかる通信システムおよび通信装置の実施の形態2の構成を示す図である。
【図4】実施の形態2の誤り制御方法を示す図である。
【図5】SR−ARQの処理を示す図である
【符号の説明】
1,5 端末装置、2,2a,4,4a 通信装置、3 衛星、11,11a,12,12a ARQ制御部、21 インタフェース部、22 ARQ送信処理部、23,23a ARQ受信処理部、24,24a TCP−ACK制御部、25,25a ACK情報レジスタ。
【発明の属する技術分野】
本発明は、誤り制御技術としてARQ(自動再送要求:Automatic Repeat reQuest)方式を採用する通信装置および通信システムに関するものであり、特に、誤りのあったパケットのみを再送するSR(Selective−Repeat)−ARQ方式に適用可能な誤り制御方法に関するものである。
【0002】
【従来の技術】
以下、従来の誤り制御方法について説明する。従来、誤り制御技術としては、単純さの観点からGBN(Go−Back−N)−ARQ方式が用いられていたが、通信速度が速くなるにつれて、伝搬遅延や物理層およびマック層での処理による遅延時間が相対的に無視できなくなり、SR(Selective−Repeat)−ARQ方式が用いられるようになった。
【0003】
上記SR−ARQでは、NACK(Not Acknowledge)が返信された誤りパケットのみを再送する。また、再送処理による順序制御待ちの受信パケットを記憶するための受信バッファを必要とする。すなわち、ユーザ(インターネット等の通信ネットワークに接続された端末等)に渡すパケットの順序を保証する必要があるため、再送パケットが正しく受信できるまでの間に正しく受信した他のパケットを記憶しておく。
【0004】
ここで、図面に基づいてSR−ARQについて説明する。図5は、SR−ARQの処理を示す図である(たとえば、非特許文献1参照。)。ここでは、たとえば、送信側の通信装置が図示の0,1,2,3,4,5の送信順でパケットを送信する場合を想定する。
【0005】
図5において、受信側の通信装置では、受け取った0番目のパケットに誤りがないのでACK(Acknowledge)を返信し、つぎに受け取った1番目のパケットには誤りがあるのでNACKを返信し、つぎに受け取った2番目のパケットには誤りがないのでACKを返信し、つぎに受け取った3番目のパケットには誤りがあるのでNACKを返信し、つぎに受け取った4,5番目のパケットには誤りがないのでACKを返信している。
【0006】
一方、送信側の通信装置では、上記1番目のパケットに対応したNACKを受け取った後、当該1番目のパケット(1´)を再送し、以降、ACKが返信されるまで1番目のパケットの再送を繰り返し実行する。ここでは、2回目の再送でACKが返信されている。同様に、上記3番目のパケットに対応したNACKを受け取った場合は、当該3番目のパケット(3´)を再送する。ここでは、1回目の再送でACKが返信されている。
【0007】
上記のような再送制御が行われた場合、受信側の通信装置では、まず、0番目のパケットを上記端末等に中継する。つぎに、1番目のパケットを再送している間に2、3(再送1回),4,5番目のパケットを正しく受信しているが、パケットの順序を保証するためには2,3,4,5番目のパケットを上記端末等に中継することができないので、これらのパケットを一旦受信バッファに記憶する。そして、1番目のパケットを正しく受信できた段階で、受信バッファを一斉に解放する。
【0008】
つぎに、SR−ARQを採用する上記送信側の通信装置および上記受信側の通信装置と、さらに、送信側の通信装置に接続されたパケット送信元の端末装置と、受信側の通信装置に接続されたパケット送信先(宛先)の端末装置と、を含む通信システムにおいて、各端末装置間が、通信プロトコルとしてTCP(Transmission Control Protocol)を用いる場合の誤り制御について説明する。
【0009】
たとえば、通信装置間のSR−ARQにて最大再送回数やタイムアウトの影響でパケットが破棄された場合、宛先の端末装置において、TCPパケットの到着順序の反転(ミスオーダ)が生じる。そして、宛先の端末装置では、抜けたパケットの影響で、同一のACKを複数回(重複ACK)にわたってパケット送信元の端末装置に対して返信する(たとえば、非特許文献2参照。)。
【0010】
一方、パケット送信元の端末装置では、3つの重複ACKを受け取ると、ファストリカバリというアルゴリズムで、自動的にSR−ARQにより破棄されたパケットを再送する(たとえば、非特許文献3参照。)。
【0011】
【非特許文献1】
電子情報通信学会技術報告 NS2002−81 RCS2002−109(2002−07)「Selective−Repeat ARQプロトコルの順序制御による出力トラヒックのバースト性評価」、図1
【非特許文献2】
文献「Wireless環境におけるTCPの性能評価:Layer2 ARQおよびパケット管理による影響」 4章
【非特許文献3】
宮原秀夫、尾家祐二著 文献「コンピュータ ネットワーク」共立出版株式会社 ページ185〜188
【0012】
【発明が解決しようとする課題】
しかしながら、上記、従来の誤り制御方法においては、パケットの順序を保証する必要があるため、上記のように再送が発生した場合には、その後に正常受信したパケットを、再送パケットを正常に受信するまで保持することとなり、遅延時間が大きくなる、という問題があった。また、上記と同様の理由から、再送パケットを正常に受信するまでの間に正常に受信した他のパケットを記憶しておくための受信バッファが必要になるが、再送が繰り返し実行された場合を想定して大きなバッファを準備しておく必要がある、という問題もあった。特に、伝搬遅延の大きい通信システム(衛星通信システム等)においては、必然的に再送処理にかかる時間が長くなり、順序制御待ちの受信パケットが増大するため、より大きな受信バッファが必要になる。
【0013】
また、再送パケットを正常に受信できた場合には、受信バッファ内に保持されたパケットが一斉に解放されるため、インターネット等の通信ネットワーク上のトラヒックが急激に増大し、ルータ等がオーバーフロー状態となる、という問題があった。特に、上記伝搬遅延の大きい通信システム(衛星通信システム等)では、受信バッファが大きくなる傾向にあるため、バースト性が顕著に表れる。
【0014】
また、上記従来の通信システム、特に、伝搬遅延の大きい通信システムにおいて、たとえば、上記問題点を解消するために受信バッファを削除してパケットの順序制御を実施しない構成とした場合は、ARQによる再送処理が行われているにもかかわらず、さらに、TCPにて重複ACKによるファストリカバリが実施され、重複して再送処理が行われることとなる、という問題があった。
【0015】
本発明は、上記に鑑みてなされたものであって、ARQによるパケットの順序制御を実施しない場合における、TCPによる無駄なファストリカバリを回避可能な誤り制御方法、通信装置および通信システムを得ることを目的とする。
【0016】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明にかかる誤り制御方法にあっては、端末装置に対してパケットを中継する通信装置間の誤り制御方式としてARQ(自動再送要求:Automatic Repeat reQuest)方式を用い、エンド−エンドの端末装置間の通信プロトコルとしてTCP(Transmission Control Protocol)を用いる場合、再送処理によるパケットの順序制御を行わずに、パケット送信先の端末装置に対して送信するパケットの順序反転を許可する第1の再送制御ステップと、パケット送信元の端末装置に対してTCPのACKを通知する場合に、予め規定された個数以上の重複ACKを破棄する第2の再送制御ステップと、を含むことを特徴とする。
【0017】
この発明によれば、従来技術のように大きな受信バッファを用意してパケットの順序を完全に保証するのではなく、受信バッファを削除してパケットの順序制御を行わず、さらに、送信元の端末装置に対してTCPのACK情報を通知する場合に、たとえば、2個目までの重複ACKは通知し、3個目以降の重複ACKについては破棄する。
【0018】
【発明の実施の形態】
以下に、本発明にかかる誤り制御方法、通信装置および通信システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0019】
実施の形態1.
本実施の形態では、本発明にかかる通信システムの一例として、準天頂衛星システムを用いた場合の、誤り制御方法について説明する。この準天頂衛星システムは、3機の衛星が所定の軌道を通って1日で地球を一周し、3機の衛星の少なくとも1機が常に日本の上空(天頂)付近に存在する地域限定型の衛星システムである。また、衛星の切り換えを8時間毎に行えば、常に60度以上の仰角が確保され、ユーザは、常に、ビル等による通信回線の遮断が少ない良好な移動体通信サービス(自動車電話サービス、携帯電話サービス、GPSとは別の簡易測位システム等)の提供を受けられる。具体的には、日本の主要地域から見た場合は常に天頂から20度以内に衛星が存在するため、たとえば、車のアンテナを天頂方向に向けておくだけで、車の進行方向が変化しても、常に良好な通信が可能となり、さらに衛星追尾が不要となるため通信装置を簡略化することができる。
【0020】
図1は、本発明にかかる通信システムおよび通信装置の実施の形態1の構成を示す図である。本実施の形態では、説明の便宜上、たとえば、データ送信元の端末装置1が、送信側の通信装置2,衛星(SAT)3および受信側の通信装置4を経由して、端末装置5に対してデータを送信する場合を想定する。このとき、送信側の通信装置2および受信側の通信装置4との間では、ARQによる誤り制御が行われ、パケット送信元の端末装置1とパケット送信先(宛先)の端末装置5との間は、通信プロトコルとしてTCPを用いる。また、通信装置2,4は、それぞれARQ制御部11,12が、インタフェース部21,ARQ送信処理部22,ARQ受信処理部23,TCP−ACK制御部24およびACK情報レジスタ25を備え、後述する本実施の形態の誤り制御を実現する。
【0021】
ここで、本実施の形態の誤り制御方法を、図面を用いて詳細に説明する。図2は、本実施の形態の誤り制御方法を示す図である。なお、ここでは、説明の便宜上、上記端末装置1が0,1,2,3,4,5の送信順でパケットを送信する場合を想定する。このパケットを、順にP(0),P(1),P(2),P(3),P(4),P(5)とする。また、本実施の形態においては、通信装置4にてパケットの順序制御を行わないので、順序制御待ちのパケットを記憶しておくための受信バッファが存在しない。
【0022】
図2において、端末装置1では、パケットP(0),P(1),P(2),P(3),P(4),P(5)を順に通信装置2に対して送信する。通信装置2のARQ制御部11では、ARQ送信処理部22が、インタフェース部21を介して受け取ったパケットP(0),P(1),P(2),P(3),P(4),P(5)を内部の送信バッファ(図示せず)に記憶し、送信バッファから順に読み出したパケットを衛星3経由で通信装置4に対して送信する。
【0023】
通信装置4のARQ制御部12では、ARQ受信処理部23が、衛星3を経由して受け取ったパケットP(0)に誤りがないのでARQ送信処理部22に対してACKを通知し、ARQ送信処理部22が、衛星3を経由して当該ACK(図示せず)を通信装置2に対して返信する。そして、受け取ったパケットP(0)をインタフェース部21およびIPネットワーク経由で端末装置5に対して送信する。
【0024】
つぎに、衛星3を経路してパケットP(1)を受け取ったARQ制御部12のARQ受信処理部23では、当該パケットに誤りがあるのでそれを破棄し、上記ACKと同様の経路でNACKを返信する。以降、ARQ制御部12のARQ受信処理部23では、上記同様の処理で、つぎに受け取ったパケットP(2)には誤りがないのでACK(図示せず)を返信し、パケットP(2)を端末装置5に対して送信し、つぎに受け取ったパケットP(3)には誤りがあるので、そのパケットを破棄するとともにNACKを返信し、つぎに受け取ったパケットP(4),P(5)には誤りがないのでACK(図示せず)を返信し、パケットP(4),P(5)を端末装置5に対して送信する。
【0025】
また、通信装置2では、ARQ受信処理部23経由で上記パケットP(1)に対応したNACKを受け取ったARQ送信処理部22が、再度パケットP(1)(図示の1´に相当)を送信バッファから読み出して再送し、以降、ACKが返信されるまでパケットP(1)の再送処理を繰り返し実行する。図2では、2回目の再送でACKが返信され、そして、パケットP(1)がインタフェース部21経由で端末装置5に対して送信されている。同様に、上記パケットP(3)に対応したNACKを受け取った場合は、当該パケットP(3)(図示の3´に相当)を再送する。図2では、1回目の再送でACKが返信され、パケットP(3)がインタフェース部21経由で端末装置5に対して送信されている。
【0026】
また、端末装置5では、IPネットワーク経由でパケットP(0)を受け取ると、その応答としてパケットP(0)を正常に受け取ったことを示すPACK(0)を返信する。そして、通信装置4では、ARQ送信処理部22が、インタフェース部21経由で受け取ったPACK(0)を、衛星3経由で通信装置2に対して送信する。
【0027】
つぎに、端末装置5では、IPネットワーク経由でパケットP(2)を受け取ると、パケットP(1)を受け取っていないのでPACK(2)を送信せず、パケットの順序が反転していることを示すためにPACK(0)を再度返信する。そして、通信装置4のARQ送信処理部22では、インタフェース部21経由で受け取ったPACK(0)、すなわち、重複ACKを、衛星3経由で通信装置2に対して送信する。
【0028】
つぎに、端末装置5では、IPネットワーク経由でパケットP(4)を受け取ると、まだPACK(1)が受け取れていないのでPACK(4)を送信せず、上記同様PACK(0)を返信する。そして、通信装置4のARQ送信処理部22では、インタフェース部21経由で受け取ったPACK(0)、すなわち、3個目の重複ACKを、衛星3経由で通信装置2に対して送信する。
【0029】
つぎに、端末装置5では、IPネットワーク経由でパケットP(5)を受け取ると、まだPACK(1)が受け取れていないのでPACK(5)を送信せず、上記同様PACK(0)を返信する。そして、通信装置4のARQ送信処理部22では、インタフェース部21経由で受け取ったPACK(0)、すなわち、4個目の重複ACKを、衛星3経由で通信装置2に対して送信する。
【0030】
つぎに、端末装置5では、IPネットワーク経由で再送によるパケットP(3)を受け取ると、まだPACK(1)が受け取れていないのでPACK(3)を送信せず、上記同様PACK(0)を返信する。そして、通信装置4のARQ送信処理部22では、インタフェース部21経由で受け取ったPACK(0)、すなわち、5個目の重複ACKを、衛星3経由で通信装置2に対して送信する。
【0031】
つぎに、端末装置5では、IPネットワーク経由で再送によるパケットP(1)を受け取ると、パケットP(2)〜P(5)を既に受信しているので、パケットP(5)までを正常に受け取ったことを示すPACK(5)を返信する。そして、通信装置4のARQ送信処理部22では、インタフェース部21経由で受け取ったPACK(5)を、衛星3経由で通信装置2に対して送信する。
【0032】
また、通信装置2では、ARQ受信処理部23経由でPACK(0)を受け取ったTCP−ACK制御部24が、所定のパラメータ(宛先アドレス,宛先ポート番号,送信元アドレス,送信元ポート番号)からフローIDを取得し、TCPフロー毎のACK情報レジスタ25内を検索してPACK(0)を過去に受け取っているかどうかを確認する。ここでは、最初の受信となるので、ACK情報レジスタ25内のACK番号欄にPACK(0)の通番0を記録し、さらに、そのACK番号に対応したカウンタ値(初期値:0)をインクリメントして「1」を記録する。そして、TCP−ACK制御部24では、受け取ったPACK(0)をインタフェース部21経由で端末装置1に対して送信する。
【0033】
つぎに、ARQ受信処理部23経由で再度PACK(0)を受け取った通信装置2のTCP−ACK制御部24では、上記同様の確認処理で、PACK(0)が2回目の重複ACKであることを認識すると、ACK情報レジスタ25内のPACK(0)に対応するカウンタ値をインクリメントして「2」とする。そして、受け取ったPACK(0)をインタフェース部21経由で端末装置1に対して送信する。以降、TCP−ACK制御部24では、通信装置4から送られてくるACK情報(PACK)を受信する度にフロー毎のACK情報レジスタ25を確認し、そのACK情報に対応するカウンタ値が「2」であればそのACK情報を破棄する。ここでは、3つのPACK(0)が破棄されている。これにより、TCPによる無駄なファストリカバリを回避できる。
【0034】
最後に、ARQ受信処理部23経由でPACK(5)を受け取った通信装置2のTCP−ACK制御部24では、上記同様の確認処理によりPACK(5)が最初の受信であることが確認できるので、ACK情報レジスタ25内のACK番号欄にPACK(5)の通番5を記録し、そのACK番号に対応したカウンタ値をインクリメントして「1」を記録する。そして、受け取ったPACK(5)をインタフェース部21経由で端末装置1に対して送信する。
【0035】
このように、本実施の形態においては、従来技術のように大きな受信バッファを用意してパケットの順序を完全に保証するのではなく、受信バッファを削除してパケットの順序制御を行わず、さらに、送信元の端末装置に対してTCPのACK情報を通知する場合に、予め規定された個数である2個目までの重複ACKは通知し、3個目以降の重複ACKについては破棄して通知しない。なお、予め規定された個数は、TCPにおいてファストリカバリによりパケットを再送するために設定された個数(本実施の形態では3個)よりも小さい。これにより、ARQによるパケットの順序制御を実施しない場合の、TCPによる無駄なファストリカバリを回避することができる。
【0036】
なお、本実施の形態では、説明の便宜上、通信装置2が図示の0,1,2,3,4,5の順番でパケットを送信する場合を想定したが、送信するパケット数に規定はない。また、本実施の形態では、3個目以降のTCPの重複ACKについてはすべて破棄することとしたが、これに限らず、たとえば、すべての重複ACKを破棄することとしてもよい。この場合、上記予め規定された個数は0個となる。
【0037】
また、本発明にかかる誤り制御方法は、誤り制御方式としてARQ方式を採用する通信システムであれば、上記準天頂衛星システムに限らず、その他の衛星通信システムや衛星を中継しない通信システム等(移動体通信システム等)、あらゆる通信システムに適用可能である。
【0038】
実施の形態2.
図3は、本発明にかかる通信システムおよび通信装置の実施の形態2の構成を示す図である。なお、本実施の形態においても、前述同様、データ送信元の端末装置1が、送信側の通信装置2a,衛星(SAT)3および受信側の通信装置4aを経由して、端末装置5に対してデータを送信する場合を想定する。また、送信側の通信装置2aおよび受信側の通信装置4aとの間では、ARQによる誤り制御が行われ、パケット送信元の端末装置1とパケット送信先(宛先)の端末装置5との間は、通信プロトコルとしてTCPを用いる。また、通信装置2a,4aは、それぞれARQ制御部11a,12aが、インタフェース部21,ARQ送信処理部22,ARQ受信処理部23a,TCP−ACK制御部24aおよびACK情報レジスタ25aを備え、後述する本実施の形態の誤り制御を実現する。
【0039】
ここで、本実施の形態の誤り制御方法を、図面を用いて詳細に説明する。図4は、本実施の形態の誤り制御方法を示す図である。なお、ここでは、説明の便宜上、上記端末装置1が0,1,2,3,4,5の送信順でパケットを送信する場合を想定し、このパケットを順にP(0),P(1),P(2),P(3),P(4),P(5)と定義する。以下、前述の実施の形態1と異なる処理についてのみ説明する。
【0040】
図4において、衛星3経由でパケットを受け取った通信装置4aのARQ受信処理部23aでは、先に説明した実施の形態1のARQ受信処理部23の処理に加えて、パケット内の所定のパラメータ(宛先アドレス,宛先ポート番号,送信元アドレス,送信元ポート番号)からフローIDを取得し、さらに、その取得情報とパケットの順序反転の有無とをTCP−ACK制御部24aに通知する。
【0041】
具体的にいうと、たとえば、パケットP(2)を受け取った通信装置4aのARQ受信処理部23aでは、前述したACK(図示せず)を返信する処理と、パケットP(2)を端末装置5に対して送信する処理の他に、さらに、パケットP(2)内の所定のパラメータ(宛先アドレス,宛先ポート番号,送信元アドレス,送信元ポート番号)からフローIDを取得し、さらに、その取得情報と順序反転が存在する旨とをTCP−ACK制御部24aに通知する。
【0042】
そして、上記情報を受け取ったTCP−ACK制御部24aでは、フロー毎のACK情報レジスタ25aに現在の時刻を記録する。なお、パケットの順序反転が存在しない場合は、時刻の記録は行わない。
【0043】
その後、前述の実施の形態1と同様の処理で、端末装置5からインタフェース部21経由でPACK(0)を受け取った通信装置4aのTCP−ACK制御部24aでは、PACK(0)パケットの所定のパラメータ(宛先アドレス,宛先ポート番号,送信元アドレス,送信元ポート番号)からフローIDを取得し、TCPフォロー毎のACK情報レジスタ25a内を検索してPACK(0)を過去に受け取っているかどうかを確認する。ここでは、最初の受信となるので、ACK情報レジスタ25a内のACK番号欄にPACK(0)の通番0を記録し、さらに、そのACK番号に対応したカウンタ値(初期値:0)をインクリメントして「1」を記録する。そして、TCP−ACK制御部24aでは、受け取ったPACK(0)をARQ送信処理部22,衛星3経由で通信装置2aに対して送信する。
【0044】
つぎに、端末装置5からインタフェース部21経由で2回目のPACK(0)を受け取った通信装置4aのTCP−ACK制御部24aでは、上記同様の確認処理で、PACK(0)が2回目の重複ACKであることを認識すると、ACK情報レジスタ25a内のPACK(0)に対応するカウンタ値をインクリメントして「2」とする。そして、受け取ったPACK(0)をARQ送信処理部22,衛星3経由で通信装置2aに対して送信する。以降、通信装置4aのTCP−ACK制御部24aでは、通信装置5から送られてくるACK情報(PACK)を受信する度にフロー毎のACK情報レジスタ25aを確認し、そのACK情報に対応するカウンタ値が「2」であり、かつ時刻欄に記録された時刻から一定時間(予め規定しておく)以内であれば、ARQによる再送で所望のパケットを受信できるものと判断し、そのACK情報を破棄する。ここでは、実際に3つのPACK(0)が破棄されている。これにより、TCPによる無駄なファストリカバリを回避できる。なお、図示はしていないが、ACK情報に対応するカウンタ値が「2」であり、かつ時刻欄に記録された時刻から一定時間(予め規定しておく)が既に経過している場合には、ARQによる再送では所望のパケットを受信できないものと判断し、ファストリカバリによる再送処理を実施するため、3回目の重複ACKを端末装置1宛てに送信する。
【0045】
つぎに、端末装置5からインタフェース部21経由でPACK(5)を受け取った通信装置4aのTCP−ACK制御部24aでは、上記同様の確認処理によりPACK(5)が最初の受信であることが確認できるので、ACK情報レジスタ25a内のACK番号欄にPACK(5)の通番5を記録し、そのACK番号に対応したカウンタ値をインクリメントして「1」を記録し、さらに、時刻欄をリセットする。そして、受け取ったPACK(5)をARQ送信処理部22,衛星3経由で通信装置2aに対して送信する。
【0046】
最後に、通信装置2aのARQ受信処理部23aでは、受け取った2個のPACK(0)と1個のPACK(5)をインタフェース部21経由で端末装置1に対して送信する。
【0047】
このように、本実施の形態においては、従来技術のように大きな受信バッファを用意してパケットの順序を完全に保証するのではなく、受信バッファを削除してパケットの順序制御を行わず、さらに、送信元の端末装置に対してTCPのACK情報を通知する場合に、2個目までの重複ACKは通知し、3個目以降の重複ACKについては、予め規定した一定時間以内であれば破棄し、一定時間が経過していれば通知する。これにより、ARQによるパケットの順序制御を実施しない場合の、TCPによる無駄なファストリカバリを回避することができる。
【0048】
なお、本実施の形態では、説明の便宜上、端末装置1が図示の0,1,2,3,4,5の順番でパケットを送信する場合を想定したが、送信するパケット数に規定はない。また、本実施の形態では、3個目以降のTCPの重複ACKについてはすべて破棄することとしたが、これに限らず、すべての重複ACKを破棄することとしてもよい。
【0049】
また、本発明にかかる誤り制御方法は、誤り制御方式としてARQ方式を採用する通信システムであれば、上記準天頂衛星システムに限らず、その他の衛星通信システムや衛星を中継しない通信システム等(移動体通信システム等)、あらゆる通信システムに適用可能である。
【0050】
【発明の効果】
以上、説明したとおり、本発明によれば、従来技術のように大きな受信バッファを用意してパケットの順序を完全に保証するのではなく、受信バッファを削除してパケットの順序制御を行わず、さらに、送信元の端末装置に対してTCPのACK情報を通知する場合に、たとえば、2個目までの重複ACKは通知し、3個目以降の重複ACKについては破棄して通知しないこととした。これにより、ARQによるパケットの順序制御を実施しない場合における、TCPによる無駄なファストリカバリを回避することができる、という効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる通信システムおよび通信装置の実施の形態1の構成を示す図である。
【図2】実施の形態1の誤り制御方法を示す図である。
【図3】本発明にかかる通信システムおよび通信装置の実施の形態2の構成を示す図である。
【図4】実施の形態2の誤り制御方法を示す図である。
【図5】SR−ARQの処理を示す図である
【符号の説明】
1,5 端末装置、2,2a,4,4a 通信装置、3 衛星、11,11a,12,12a ARQ制御部、21 インタフェース部、22 ARQ送信処理部、23,23a ARQ受信処理部、24,24a TCP−ACK制御部、25,25a ACK情報レジスタ。
Claims (7)
- 端末装置に対してパケットを中継する通信装置間の誤り制御方式としてARQ(自動再送要求:Automatic Repeat reQuest)方式を用い、エンド−エンドの端末装置間の通信プロトコルとしてTCP(Transmission Control Protocol)を用いる場合の誤り制御方法において、
再送処理によるパケットの順序制御を行わずに、パケット送信先の端末装置に対して送信するパケットの順序反転を許可する第1の再送制御ステップと、
パケット送信元の端末装置に対してTCPのACK(Acknowledge)を通知する場合に、予め規定された個数以上の重複ACKを破棄する第2の再送制御ステップと、
を含むことを特徴とする誤り制御方法。 - 前記第2の再送制御ステップでは、
前記パケット送信元の端末装置からパケットを受信した通信装置が、パケット送信先から送られてくる重複ACKをカウントし、当該カウント値により重複ACKを破棄するかどうかを判断することを特徴とする請求項1に記載の誤り制御方法。 - 前記第2の再送制御ステップでは、
前記パケット送信先の端末装置に対してパケットを送信する通信装置が、
順序逆転したパケットを前記端末装置へ送信した時刻を記憶し、さらに、パケット送信先から送られてくる重複ACKをカウントし、
前記時刻から一定時間以内に受け取った規定個数以上の重複ACKを破棄し、前記時刻から一定時間経過後に受け取った規定個数以上の重複ACKについてはパケット送信元の端末装置宛てに送信することを特徴とする請求項1に記載の誤り制御方法。 - 誤り制御方式としてARQ(自動再送要求:Automatic Repeat reQuest)方式を採用し、TCP(Transmission Control Protocol)によりエンド−エンドの端末装置間のパケットを中継する通信装置において、
再送処理によるパケットの順序制御を行わずに、順序反転した状態のパケットをパケット送信先の端末装置に対して中継するパケット受信処理手段と、
パケット送信先から送られてくる重複ACK(Acknowledge)をカウントし、当該カウント値に基づいて予め規定された個数以上の重複ACKを破棄するTCP−ACK制御手段と、
を備えることを特徴とする通信装置。 - 誤り制御方式としてARQ(自動再送要求:Automatic Repeat reQuest)方式を採用し、TCP(Transmission Control Protocol)によりエンド−エンドの端末装置間のパケットを中継する通信装置において、
再送処理によるパケットの順序制御を行わずに、順序反転した状態のパケットをパケット送信先の端末装置に対して中継するパケット受信処理手段と、
パケットの順序反転が発生した時刻を検出し、さらに、パケット送信先から送られてくる重複ACK(Acknowledge)をカウントし、前記検出時刻から一定時間以内に受け取った規定個数以上の重複ACKを破棄し、前記検出時刻から一定時間経過後に受け取った規定個数以上の重複ACKについてはパケット送信元の端末装置宛てに送信するTCP−ACK制御手段と、
を備えることを特徴とする通信装置。 - 端末装置に対してパケットを中継する通信装置間の誤り制御方式としてARQ(自動再送要求:Automatic Repeat reQuest)方式を用い、エンド−エンドの端末装置間の通信プロトコルとしてTCP(Transmission Control Protocol)を用いる通信システムにおいて、
パケット送信先の端末装置側の通信装置が、
再送処理によるパケットの順序制御を行わずに、順序反転した状態のパケットをパケット送信先の端末装置に対して中継するパケット受信処理手段、
を備え、
パケット送信元の端末装置側の通信装置が、
パケット送信先から送られてくる重複ACKをカウントし、当該カウント値に基づいて予め規定された個数以上の重複ACK(Acknowledge)を破棄するTCP−ACK制御手段、
を備えることを特徴とする通信システム。 - 端末装置に対してパケットを中継する通信装置間の誤り制御方式としてARQ(自動再送要求:Automatic Repeat reQuest)方式を用い、エンド−エンドの端末装置間の通信プロトコルとしてTCP(Transmission Control Protocol)を用いる通信システムにおいて、
パケット送信先の端末装置側の通信装置が、
再送処理によるパケットの順序制御を行わずに、順序反転した状態のパケットをパケット送信先の端末装置に対して中継するパケット受信処理手段と、
パケットの順序反転が発生した時刻を検出し、さらに、パケット送信先から送られてくる重複ACK(Acknowledge)をカウントし、前記検出時刻から一定時間以内に受け取った規定個数以上の重複ACKを破棄し、前記検出時刻から一定時間経過後に受け取った規定個数以上の重複ACKについてはパケット送信元の端末装置宛てに送信するTCP−ACK制御手段と、
を備えることを特徴とする通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002311209A JP2004147183A (ja) | 2002-10-25 | 2002-10-25 | 誤り制御方法、通信装置および通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002311209A JP2004147183A (ja) | 2002-10-25 | 2002-10-25 | 誤り制御方法、通信装置および通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004147183A true JP2004147183A (ja) | 2004-05-20 |
Family
ID=32456503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002311209A Abandoned JP2004147183A (ja) | 2002-10-25 | 2002-10-25 | 誤り制御方法、通信装置および通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004147183A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006021159A1 (fr) * | 2004-08-26 | 2006-03-02 | Huawei Technologies Co., Ltd. | Procede de commande de frequence de transmission de rapports de statut |
JP2007081678A (ja) * | 2005-09-13 | 2007-03-29 | Ntt Docomo Inc | データ中継装置及びデータ中継方法 |
WO2008126809A1 (ja) * | 2007-04-06 | 2008-10-23 | Ntt Docomo, Inc. | 再送制御方法及び送信側装置 |
JP2009152709A (ja) * | 2007-12-19 | 2009-07-09 | Oki Electric Ind Co Ltd | 通信パケット中継方法 |
WO2010047044A1 (ja) * | 2008-10-24 | 2010-04-29 | 日本電気株式会社 | パケットロス頻度計測システム、パケットロス頻度計測方法およびプログラム |
JP2010519789A (ja) * | 2007-01-22 | 2010-06-03 | クゥアルコム・インコーポレイテッド | 逆方向リンクおよび順方向リンクのビデオデータエラーを区別するエラーフィルタ |
JP2011250142A (ja) * | 2010-05-27 | 2011-12-08 | Sony Corp | 通信装置及び通信方法、並びにコンピューター・プログラム |
WO2012095904A1 (en) * | 2011-01-12 | 2012-07-19 | Nec Corporation | Communication device, packet retransmission control method and packet retransmission control program |
JP2014192811A (ja) * | 2013-03-28 | 2014-10-06 | Fujitsu Ltd | 中継装置及び通信方法 |
-
2002
- 2002-10-25 JP JP2002311209A patent/JP2004147183A/ja not_active Abandoned
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006021159A1 (fr) * | 2004-08-26 | 2006-03-02 | Huawei Technologies Co., Ltd. | Procede de commande de frequence de transmission de rapports de statut |
JP2007081678A (ja) * | 2005-09-13 | 2007-03-29 | Ntt Docomo Inc | データ中継装置及びデータ中継方法 |
US8767839B2 (en) | 2007-01-22 | 2014-07-01 | Qualcomm Incorporated | Error filter to differentiate between reverse link and forward link video data errors |
JP2010519789A (ja) * | 2007-01-22 | 2010-06-03 | クゥアルコム・インコーポレイテッド | 逆方向リンクおよび順方向リンクのビデオデータエラーを区別するエラーフィルタ |
CN101652950B (zh) * | 2007-04-06 | 2012-12-19 | 株式会社Ntt都科摩 | 重发控制方法和发送侧装置 |
WO2008126809A1 (ja) * | 2007-04-06 | 2008-10-23 | Ntt Docomo, Inc. | 再送制御方法及び送信側装置 |
JP2009152709A (ja) * | 2007-12-19 | 2009-07-09 | Oki Electric Ind Co Ltd | 通信パケット中継方法 |
JP5348138B2 (ja) * | 2008-10-24 | 2013-11-20 | 日本電気株式会社 | パケットロス頻度計測システム、パケットロス頻度計測方法およびプログラム |
US8614965B2 (en) | 2008-10-24 | 2013-12-24 | Nec Corporation | Packet loss frequency measuring system, packet loss frequency measuring method, and program |
WO2010047044A1 (ja) * | 2008-10-24 | 2010-04-29 | 日本電気株式会社 | パケットロス頻度計測システム、パケットロス頻度計測方法およびプログラム |
JP2011250142A (ja) * | 2010-05-27 | 2011-12-08 | Sony Corp | 通信装置及び通信方法、並びにコンピューター・プログラム |
WO2012095904A1 (en) * | 2011-01-12 | 2012-07-19 | Nec Corporation | Communication device, packet retransmission control method and packet retransmission control program |
JP2014507817A (ja) * | 2011-01-12 | 2014-03-27 | 日本電気株式会社 | 通信装置、パケット再送制御方法、パケット再送制御プログラム |
JP2014192811A (ja) * | 2013-03-28 | 2014-10-06 | Fujitsu Ltd | 中継装置及び通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2119085B1 (en) | Enhanced error control communication systems and methods | |
EP1411688B1 (en) | Method and apparatus for multicast data retransmission | |
JP3677297B2 (ja) | 階層arq方式のための連結された誤り検出コード化及びパケット番号付け | |
CN101588225B (zh) | 一种基于分组交换网络的快速重传方法 | |
WO1999003228A9 (en) | Error and flow control method with a group reject arq | |
US7496038B2 (en) | Method for faster detection and retransmission of lost TCP segments | |
JP2007531340A (ja) | マルチパス伝送を使用したmimoシステムのためのパケット再送 | |
CN101510816B (zh) | 基于路径关联化的多路径并行传输方法 | |
WO2007007383A1 (ja) | 送信装置、受信装置、情報通信方法 | |
US7653060B2 (en) | System and method for implementing ASI over long distances | |
JP2004147183A (ja) | 誤り制御方法、通信装置および通信システム | |
US20030028837A1 (en) | Method for driving retransmission timer in mobile telecommunications system using radio link protocol | |
JP3727198B2 (ja) | ゲートウェイ装置 | |
JPS60106250A (ja) | デ−タ通信装置 | |
JP3973536B2 (ja) | 誤り制御方法、通信装置および通信システム | |
KR100683417B1 (ko) | 무선 네트워크에서의 패킷 중계 장치 및 중계 방법 | |
JP3539606B2 (ja) | パケット通信装置 | |
JPH01147926A (ja) | 同報無線通信方法 | |
WO2019193448A1 (en) | Method and apparatus for multi‑hop arq | |
JP4832483B2 (ja) | 移動体通信システム及び移動体通信方法 | |
JP3923977B2 (ja) | ゲートウェイ装置 | |
Shah et al. | An improved selective-repeat ARQ scheme for IrDA links at high bit error rate | |
JP2005102340A (ja) | ゲートウェイ装置 | |
KR101298544B1 (ko) | 이동통신 시스템의 수신 패킷 처리 장치 및 방법 | |
JPH0447825A (ja) | パケット再送処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050902 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070612 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20070725 |