JP2001168907A - 通信装置 - Google Patents

通信装置

Info

Publication number
JP2001168907A
JP2001168907A JP34619299A JP34619299A JP2001168907A JP 2001168907 A JP2001168907 A JP 2001168907A JP 34619299 A JP34619299 A JP 34619299A JP 34619299 A JP34619299 A JP 34619299A JP 2001168907 A JP2001168907 A JP 2001168907A
Authority
JP
Japan
Prior art keywords
retransmission
packet
data packet
sequence number
data packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP34619299A
Other languages
English (en)
Inventor
Takashi Ikegawa
隆司 池川
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP34619299A priority Critical patent/JP2001168907A/ja
Publication of JP2001168907A publication Critical patent/JP2001168907A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 データパケットの送達状況を確認し、無効と
なるデータパケットの再送を回避し、効率の良いデータ
パケットの再送を実現する。また、受信装置の改造を行
うことなく、効率の良いデータパケット転送を実現す
る。 【解決手段】 再送用パケットバッファ管理テーブルの
要素に再送回数を設け、データパケットの再送後、その
データパケットの再送の成功もしくは失敗が送信装置で
確認されるまで、再送済データパケットを再々送しな
い。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は送信装置から受信装
置に向けてデータパケットを送信し、受信装置では送信
されたデータパケットの欠落の有無を検出し、欠落した
データパケットが有る場合には送信装置に欠落したデー
タパケットの再送を要求し、送信装置はそれに応じてデ
ータパケットの再送を行うパケット通信に利用する。
【0002】
【従来の技術】コンピュータ間のファイル転送、電子メ
ールなどのデータ転送では、信頼性のあるデータ転送が
必要となる。そのため、受信装置がユーザの情報を含む
データ(以下データパケットと呼ぶ)を誤りなく受信し
た場合に、送信装置にそれを通知する機能(送達確認機
能)と、データパケットが伝送路上のビット誤りや輻輳
などにより廃棄された場合に、送信装置は廃棄されたパ
ケットを再送する機能(誤り回復機能)を実行する。
【0003】このような送達確認機能、誤り回復機能、
送達確認機能を実行するための通信手順をプロトコルと
呼び、各種のプロトコルが標準化されている。例えば、
ホストコンピュータ間の代表的なプロトコルとしてTC
P(Transmission Control Protocol)(例えば、W.R.Stev
ens著、"TCP/IP Illustrated,Volume 1:The Protocol
s",Addison-Wesley Publishing Company,1994年参照)が
標準化されている。
【0004】従来のTCPでは、受信装置は順序通りに
受信を期待する順序番号(ここでは、受信期待順序番号
と呼び、受信装置で順序正しく受信した順序番号+1と
なる)だけしか送信局に通知できないため、例え順序誤
りのデータパケットを保持していても、それらの順序番
号の情報を送信装置に通知することができないために、
送信装置では、通知された受信期待順序番号以降の順序
番号をもつすべてのデータパケットを再送する(Go-back
-N再送方式と呼ばれる)か、もしくは、通知された受信
期待順序番号をもつデータパケットのみ再送するなどの
非効率な再送方式しか実現できなかった。
【0005】近年、紛失したデータパケットを効率よく
送信装置に通知する方式として、選択的送達確認方式
(SACK:Selective acknowledgement)がオプション
として標準化された(M.Mathisら著、"TCP Selective Ac
knowledgement Options",RFC2018,1996年参照)。SAC
Kオプションでは、受信装置で保持されている順序誤り
のデータパケットの順序番号を送信装置に通知する。し
たがって、送信装置では、実際に紛失したデータパケッ
トのみ再送することが可能となり、効率的な誤り回復の
実現が可能となった。
【0006】SACK方式を実装する送信装置では、再
送済みのデータパケットを、その再送の送達が確認され
る前に再度再送するなどの無効な再送を避ける必要があ
る。また、TCPではデッドロックを回避するために、
再送タイマのタイムアウトにより再送パケットの紛失を
検出する手段を有するが、再送タイマのタイムアウト値
は、無意味なタイムアウトを避けるために、往復応答時
間(送信装置がデータパケットを送信後、そのデータパ
ケットに対する送達確認パケットを受信するまでの時
間)より大きな値を設定するため、再送タイマのタイム
アウトによる再送は非効率となる。したがって、できる
限りこのタイムアウトによる再送パケットの紛失を検出
する頻度を減らす工夫が必要となる。
【0007】従来例を図5ないし図9を参照して説明す
る。図5は従来の通信装置の全体構成図である。以下の
例では、送信装置1で発生したデータを受信装置2に送
信する片方向の場合を考えるが、両方向の通信の場合
は、送信装置1に受信装置2の機能を具備し、受信装置
2に送信装置1の機能を具備することにより可能である
ため、その実現例は省略する。
【0008】また、TCPのようなコネクション型プロ
トコルでは、コネクションの確立・解放処理が必要とな
るが、本件はコネクション確立後のデータ転送フェーズ
に関するものであるため、コネクションの確立・解放処
理については記述しない。また、従来例の説明は、デー
タパケットの送信側装置(すなわち送信装置)に関わる
ため、以下の説明では、送信装置についてのみ説明す
る。
【0009】図5に示す送信装置1と受信装置2ではT
CPが実行され、受信装置2では、RFC2018のS
ACKオプションを具備していると仮定する。図6はS
ACKオプションフィールドのフォーマットを示す図で
ある。RFC2018では、順序誤りのデータパケット
のうち、順序が連続したデータパケットの集合をブロッ
クと呼び、各ブロックは、最小のバイト値(左端値:Le
ft edge)と最大のバイト値(右端値:Right edge)の
組により識別される。ここでは、SACKオプションフ
ィールドを持つ送達確認パケットを選択的送達確認(以
下、SACKという)パケットと呼ぶ。送信装置1と受
信装置2の間には、ひとつのTCPコネクションが設定
されていると仮定する。
【0010】図7は送信装置1の要部ブロック構成図で
ある。複数のコネクションが設定されている場合の処理
を考慮するには、送信側TCPコネクション管理テーブ
ル40、再送用パケットバッファ管理テーブル24に、
各TCPコネクションを特定する識別子を設け、送信側
TCP処理部20、受信側TCP処理部30では、送信
および受信したパケットを該当するコネクションに対応
づけて処理すれば容易に拡張できる。したがって、複数
のコネクションを処理する場合については省略する。
【0011】ここで、SACKオプションを規定してい
るRFC2018文書では、輻輳制御については言及し
ていない。すなわち、Slow start,congestion avoidanc
e,fast recovery,fast retransmitアルゴリズム(W.R.St
evens著、"TCP/IP Illustrated,Volume 1:The Protocol
s",Addison-Wesley Publishing Company,1994年参照)な
どの動的にウィンドウサイズを変化させる輻輳制御との
相互干渉については明確に述べられていない。したがっ
て、ここでは、本件とは関係が薄い輻輳制御については
考慮せず、固定ウィンドウサイズのウィンドウフロー制
御が送信装置1で実行されているものと仮定する。
【0012】図7に示す送信装置1では、大きく、ファ
イル転送、電子メール、World WideWebなどのアプリケ
ーション層の処理部に相当する送信側上位層処理部1
0、TCPの送信側の処理を行う送信側TCP処理部2
0、TCPの受信側の処理を行う受信側TCP処理部3
0、各TCPコネクションの状態値を保持する送信側T
CPコネクション管理テーブル40、IPの送信側の処
理を行う送信側IP処理部50、IPの受信側の処理を
行う受信側IP処理部60、送信側回線のための処理を
行う送信側回線処理部70、受信側回線のための処理を
行う受信側回線処理部80、上り回線90、下り回線9
1から構成される。送信側TCPコネクション管理テー
ブル40は、以下の要素から構成されている。
【0013】VT(S):次に送信すべきデータパケッ
ト(TCP用語のセグメントに相当する)の順序番号
(単位はバイトである。送信装置では、今までにVT
(S)−1までのバイト数を送信したことを意味す
る)。初期値は1とする。
【0014】VT(A):受信装置で次に受信を期待す
る順序番号(受信局では、VT(A)−1までの順序番
号のバイト数を確かに受信したことを意味する)。初期
値は1とする。
【0015】最大データ長:一度の転送で送信可能な最
大のデータパケットのユーザデータフィールドの長さと
する(TCP用語では、最大セグメントサイズ(MS
S:Maximum Segment Size)に相当する)。
【0016】送信側上位層処理部10は、アプリケーシ
ョンの処理を行う上位層送信処理部11とアプリケーシ
ョンで発生したメッセージを保持するメッセージバッフ
ァ12から構成される。
【0017】送信側TCP処理部20は、ウィンドウサ
イズを制御するウィンドウフロー制御部21とデータパ
ケットを作成するデータパケット作成部22と、パケッ
トの再送に備え送信したパケットを保持する再送用パケ
ットバッファ23と、パケットを送信後、一定時間、受
信装置2から応答がない場合を監視する再送タイマ管理
部25から構成される。
【0018】なお、受信装置側のウィンドウサイズが更
新しているか否かを確認するための監視タイマであるウ
ィンドウ更新監視(persist)タイマ(W.R.Stevens著、"TC
P/IPIllustrated,Volume1:The Protocols",Addison-Wes
ley Publishing Company,pp.323-330、1994年参照)が必
要となるが、本件には関係しないため省略する。
【0019】ウィンドウフロー制御部21では、送達確
認なしで送信できるバイト数(ウィンドウサイズ)を制
限する。すなわち、送信装置は、VT(A)+ウィンド
ウサイズ−1までの値をもつバイト数までの送信を許可
する。前述したように、このウィンドウサイズは、固定
値と仮定する。
【0020】データパケット作成部22では、ウィンド
ウフロー制御部21で送信許可された場合に、メッセー
ジバッファ12に蓄積されているメッセージから、送信
可能なバイト数分のデータを取り出す。もし、メッセー
ジ長が最大データ長を超える場合には、最大データ長分
だけのバイト数のデータを取り出す。取り出されたデー
タをデータパケットのユーザデータフィールドとし、デ
ータパケットの順序番号(sequence number)フィールド
に送信側TCPコネクション管理テーブルの状態値VT
(S)値をセットしたデータパケットを作成し、そのデ
ータパケットを送信側IP処理部50に送るとともに、
VT(S)をデータパケットのユーザデータフィールド
長分、増加させる。
【0021】データパケット作成部22では、最初の送
信のデータパケットの送信の場合に、そのデータパケッ
トを再送用パケットバッファ23に保存する。
【0022】図8は再送用パケットバッファ管理テーブ
ル24の例を示す図である。再送用パケットバッファ管
理テーブルは、送信したデータパケットの先頭バイト1
01、そのデータパケットの末尾バイト102、送達確
認フラグ103(RFC2018での“SACKフラグ
ビット”に相当する)から構成される。データパケット
作成部22は最初の送信のデータパケットの送信の場合
に、そのデータパケットの先頭バイト値、末尾バイト値
を再送用パケットバッファ管理テーブル24に設定し、
送達確認フラグを“偽”(FALSEと図示する)に設
定する。後述するが、この送達確認フラグは、SACK
パケットを受信する毎に更新される。
【0023】再送タイマ管理部25のタイマがタイムア
ウトした場合には、端末間の通信網3で暗に輻輳が発生
したとみなし、受信装置2から送達確認を受けていない
データパケット(すなわち送達確認フラグがFALSE
であるデータパケット)を再送用パケットバッファ23
から取り出して再送する。ただし、この再送時のデータ
パケットは、最初の送信時のデータパケットと同一のも
のを再送する。
【0024】送信側IP処理部50では、送信側TCP
処理部20で作成されたTCPのパケットに対し、IP
ヘッダを付加する。
【0025】送信側回線処理部70では、上り回線90
への送信のためのパケットを保持する上り回線送信パケ
ットバッファ71と上り回線90へのパケット送信を制
御する上り回線送信制御部72(回線ドライバに相当す
る処理部)から構成される。
【0026】受信側回線処理部80では、下り回線91
からのパケットの受信制御を行う下り回線受信制御部8
2と、処理待ちのためのパケットである下り回線受信パ
ケットバッファ81から構成される。
【0027】受信側IP処理部60では、受信パケット
のIP処理(誤り検出、IPパケット並び替えなど)を
行う。受信側TCP処理部30では、SACKパケット
を処理するSACKパケット処理部31から構成され
る。
【0028】SACKパケット処理部31では、SAC
Kパケットを受信した場合には、そのパケット内で指示
されている送達確認順序番号(acknowledgement number)
フィールド値(受信装置2で次に受信を期待するデータ
パケットの送信順序番号)の値を送信側TCPコネクシ
ョン管理テーブル40の状態値VT(A)に設定し、再
送用パケットバッファ23内にあり、末尾バイト値がV
T(A)−1以下のデータパケットを削除する。また、
再送用パケットバッファ管理テーブル24において、末
尾バイト値がVT(A)−1以下のデータパケットの要
素を削除する。
【0029】また、SACKパケット処理部31は、送
信側TCP処理部20に、SACKオプションフィール
ド内の各ブロックの左端値および右端値の組を通知す
る。送信側TCP処理部20では、再送用パケットバッ
ファ管理テーブル24において、通知された各ブロック
の左端値および右端値に含まれるデータパケットの送達
確認フラグを“真”(TRUEと図示する)にする。
【0030】送信側TCP処理部20内のデータパケッ
ト作成部22では、RFC2018文書の規定に従い、
送達確認フラグが“偽”であり、末尾バイト値が通知さ
れたブロックの最大の右端値より小さいデータパケット
を取り出し、それらのデータパケットを再送する。ま
た、ウィンドウフロー制御部21では、通知された受信
期待順序番号からウィンドウサイズを適切な値に増加さ
せるとともにウィンドウ内で送信可能な新しいデータパ
ケットをデータパケット作成部22において作成して順
次送信する。
【0031】図9は送信装置1と受信装置2との間のデ
ータパケット(図9ではDTと図示)およびSACKパ
ケット(図9ではSACKと図示)のフローの一例を示
す図である。データパケットは実線、SACKパケット
は破線で示してある。データパケット内の括弧内の数字
の組は送信しているデータパケット先頭バイト、末尾バ
イトを意味し、SACKパケット内の先頭数字は、受信
期待順序番号、括弧内の組は、SACKオプションフィ
ールド内の各ブロックの左端値、右端値を意味する。
【0032】図9に示すように、従来の通信装置では、
DT(1025:2048)、DT(2049:307
2)のデータパケットは二度再送されていることがわか
る。なお、送信装置1が、SACK{1025,{30
73,4096}}を受信した時の再送用パケットバッ
ファ管理テーブル24は、図8で示された値となる。
【0033】
【発明が解決しようとする課題】このように従来の通信
装置では、SACKパケットを受信したとき、送達未確
認のデータパケットをすべて再送するために、すでに再
送しているのに再度再送する無効な再送が発生する。
【0034】無効な再送を簡単に避ける方法として、デ
ータリンク層の代表的なプロトコルであるHDLC(Hig
h Level Date Link Control)プロトコル(JISX52
03システム間の通信及び情報交換−ハイレベルデータ
リンク制御(XDLC)手順参照)において採用されて
いる“REJフラグ”を適用する方法が考えられる。こ
の方法では、各データパケット毎に、再送済フラグを用
意して、再送後はそのフラグを“真”にセットして、一
度“真”にセットされた場合には、SACKパケットを
受信し、そのデータパケットが送達未確認であっても再
送しない。
【0035】再送済フラグが“真”にセットされたデー
タパケットは、最終的に再送タイマのタイムアウトによ
り回復される。一般に再送タイマのタイムアウト値は、
無効なタイムアウトを避けるためデータパケットの往復
応答時間より十分大きい値を設定する(W.R.Stevens
著、"TCP/IP Illustrated,Volume1:The Protocols",Add
ison-Wesley Publishing Company,pp.249-301、1994年
参照)。したがって、この方式では、再送パケットの紛
失を速やかに検出することができない。
【0036】文献(近藤ら著“タイムアウトを回避する
SACK−TCP再送制御方式”、信学技報CQ98-63,pp
21-26,1998年)では、タイムアウトを発生させない再送
パケットの紛失の検出方式として、データパケットの再
送時に、次に送信(もしくは再送)するデータパケット
の順序番号を保持し、SACKパケットにより、再送さ
れたデータパケットが送達確認されず、次に送信したデ
ータパケットが送達確認された場合には、再送パケット
の紛失と判断し、その再送パケットを再び再送する方式
が提案されている。この方式では、再送パケットの次に
送信するデータパケットが必要となり、最終のデータパ
ケットの再送または図9で示されるように連続してデー
タパケットを再送する場合には、次に送信するデータパ
ケットがないため、本方式ではすべての再送データパケ
ットにおいて適用することができない。
【0037】本発明は、このような背景に行われたもの
であって、データパケットの送達状況を確認し、無効と
なるデータパケットの再送を回避することができる通信
装置を提供することを目的とする。また、本発明は、効
率の良いデータパケットの再送を実現することができる
通信装置を提供することを目的とする。さらに、本発明
は、受信装置の改造を行うことなく、効率の良いデータ
パケット転送を実現することができる通信装置を提供す
ることを目的とする。
【0038】
【課題を解決するための手段】本発明では、無効となる
データパケットの再送を回避するために、従来の再送用
パケットバッファ管理テーブルの要素に再送回数を設
け、データパケットの再送後(すなわち再送回数が1以
上)、そのデータパケットの再送の成功もしくは失敗が
送信装置で確認されるまで、再送済データパケットを再
々送しないことを特徴とする。
【0039】すなわち、本発明は、一連のユーザの情報
を含むデータパケットにこのデータパケットの送信順序
を示す順序番号を記して送信する手段を備えた送信装置
と、このデータパケットを受信してこのデータパケット
に記された前記順序番号と欠落なくデータパケットが送
達されたと仮定した場合の順序番号である受信期待順序
番号とを比較することにより欠落パケットを検出する手
段と、欠落パケットが検出されたときには既に保持され
ているデータパケットの前記順序番号の集合および前記
受信期待順序番号を前記送信装置に通知する手段とを備
えた受信装置とから構成され、前記送信装置は、通知さ
れた前記順序番号の集合および前記受信期待順序番号に
したがって欠落パケットを特定するとともに当該欠落パ
ケットを再送する手段を備えた通信装置である。
【0040】ここで、本発明の特徴とするところは、各
データパケット対応に再送の必要の有無を判定する手段
が設けられ、前記再送する手段は、この判定結果にした
がってデータパケットの再送を実行する手段を備えたと
ころにある。
【0041】これにより、再送したデータパケットの送
達状況を確認してから、再々送パケットの送信を行うた
め、無効となるデータパケットの再々送を回避すること
ができる。したがって、効率の良いデータパケット転送
を実現することができる。
【0042】各データパケット対応に再送の必要の有無
を判定するための構成としては、データパケット対応に
再送回数および再送の必要の有無を示す再送フラグと前
記受信装置でのデータパケットの有無を示す送達確認フ
ラグとを設ける。
【0043】さらに、前記再送の必要の有無を判定する
手段の判定手順の一例としては、まず、通知された前記
順序番号の集合と前記受信期待順序番号とにしたがって
前記受信装置で既に保持されているデータパケットの順
序番号の内で最大の順序番号である最大送達確認順序番
号を求め、前記受信期待順序番号から当該最大送達確認
順序番号までの順序番号をもつデータパケットの内で前
記受信装置で保持されていることを確認したデータパケ
ットの送達確認フラグを送達確認済を示す“真”に設定
することにより、送達済のデータパケットを認識して再
送候補から除外する。
【0044】さらに、この送達確認フラグが送達未確認
を示す“偽”であり再送回数が0であるデータパケット
の再送フラグを再送の必要有りを示す“真”に設定する
ことにより、未だ一回も再送を行っていない未送達のデ
ータパケットについては、再送を行う必要の有るデータ
パケットとして認識する。
【0045】さらに、再送回数が1以上であり送達確認
フラグが“偽”から“真”に遷移したデータパケットの
内で最大の再送回数を最大再送回数として求めることに
より、現在の通信網の状況下では最大何回の再送を行え
ば送達を達成できるのかを推定する。
【0046】さらに、再送回数が当該最大再送回数以下
で送達確認フラグが“偽”であるデータパケットの再送
フラグを“真”に設定することにより、未だ前記最大再
送回数までは再送を行っていないデータパケットについ
てはこれを再送の必要有りとして認識する。このとき、
再送回数が当該最大再送回数を越えているにもかかわら
ず、未だ送達確認フラグが“偽”であるデータパケット
については、もはやこれ以上の再送を行っても送達は困
難であると判断して再送を中止する。
【0047】このようにして、再送フラグが“真”に設
定されているすべてのデータパケットが前記順序番号が
最小のデータパケットから順に前記受信装置に対し再送
された後にはそれらのデータパケットの再送フラグを
“偽”にし再送回数を一つ増加させる。
【0048】このような手順を実行することにより、無
効となるデータパケットの再送を回避し、効率の良いデ
ータパケットの再送を実現することができる。本発明の
通信装置は、受信装置を改造することなく実現すること
ができる。
【0049】また、前記送信装置から前記受信装置に欠
落なく連続して送達されたデータパケットの集合をブロ
ックとし、前記通知する手段は、当該受信装置で既に保
持している前記ブロックの末尾バイト値を前記順序番号
として通知するとともに当該ブロックに対応する前記受
信期待順序番号を通知する手段を含む構成とすることも
できる。これによれば、受信装置は送信装置に対し、T
CPプロトコルのSACKオプションフィールドを使っ
て順序番号および受信期待順序番号の通知を行うことが
できる。
【0050】この場合の前記再送の必要の有無を判定す
る手段の判定手順の一例としては、各ブロックの末尾バ
イト値の内で最大の値を最大送達確認順序番号として求
め、末尾バイト値が前記受信期待順序番号以上であり前
記最大送達確認順序番号以下の各データパケットの内で
前記受信装置で保持されていることを確認したデータパ
ケットの送達確認フラグを送達確認済を示す“真”に設
定し、送達確認フラグが送達未確認を示す“偽”であり
再送回数が0であるデータパケットの再送フラグを再送
の必要有りを示す“真”に設定し、再送回数が1以上で
あり送達確認フラグが“偽”から“真”に遷移したデー
タパケットの内で最大の再送回数を最大再送回数として
求め、再送回数が当該最大再送回数以下で送達確認フラ
グが“偽”であるデータパケットの再送フラグを“真”
に設定し、再送フラグが“真”に設定されているすべて
のデータパケットが先頭バイト値が最小のデータパケッ
トから順に前記受信装置に対し再送された後にはそのデ
ータパケットの再送フラグを“偽”にし再送回数を一つ
増加させることにより実行する。
【0051】
【発明の実施の形態】本発明実施例の通信装置の構成を
図1ないし図3を参照して説明する。図1は本発明実施
例の送信装置におけるデータパケット作成部の要部ブロ
ック構成図である。図2は本発明実施例における受信装
置の要部ブロック構成図である。図3は再送用パケット
バッファ管理テーブルの構成図である。なお、送信装置
1の構成は、図7に示すものと同じである。また、受信
装置の構成は、従来から用いられている構成である。
【0052】本発明は、図1に示すように、一連のユー
ザの情報を含むデータパケットにこのデータパケットの
送信順序を示す順序番号を記して送信する手段である順
序番号付与部120を備えた送信装置1と、図2に示す
ように、このデータパケットを受信してこのデータパケ
ットに記された前記順序番号と欠落なく前記データパケ
ットが送達されたと仮定した場合の順序番号である受信
期待順序番号とを比較することにより欠落パケットを検
出する手段である比較部126および欠落判定部128
と、欠落パケットが検出されたときには既に保持されて
いるデータパケットの前記順序番号の集合および前記受
信期待順序番号を前記送信装置に通知する手段である欠
落情報送信部129とを備えた受信装置2とから構成さ
れ、送信装置1は、図1に示すように、通知された前記
順序番号の集合および前記受信期待順序番号にしたがっ
て欠落パケットを特定するとともに当該欠落パケットを
再送する手段である欠落情報検証部123、欠落パケッ
ト検出部124およびパケット再送部121を備えた通
信装置である。
【0053】ここで、本発明の特徴とするところは、各
データパケット対応に再送の必要の有無を判定する手段
である再送管理部122が設けられ、パケット再送部1
21は、この判定結果にしたがってデータパケットの再
送を実行するところにある。
【0054】各データパケット対応に再送の必要の有無
を判定する具体的構成としては、図3に示すように、再
送用パケットバッファ管理テーブル24に、データパケ
ット対応に再送回数201および再送の必要の有無を示
す再送フラグ202と受信装置2でのデータパケットの
有無を示す送達確認フラグ103とが設けられ、再送管
理部122は、通知された前記順序番号の集合と前記受
信期待順序番号とにしたがって受信装置2で既に保持さ
れているデータパケットの順序番号の内で最大の順序番
号である最大送達確認順序番号を求め、前記受信期待順
序番号から当該最大送達確認順序番号までの順序番号を
もつデータパケットの内で受信装置2で保持されている
ことを確認したデータパケットの送達確認フラグを送達
確認済を示す“真”(TRUEと図示する)に設定し、
この送達確認フラグが送達未確認を示す“偽”(FAL
SEと図示する)であり再送回数が0であるデータパケ
ットの再送フラグを再送の必要有りを示す“真”に設定
し、再送回数が1以上であり送達確認フラグが“偽”か
ら“真”に遷移したデータパケットの内で最大の再送回
数を最大再送回数として求め、再送回数が当該最大再送
回数以下で送達確認フラグが“偽”であるデータパケッ
トの再送フラグを“真”に設定し、再送フラグが“真”
に設定されているすべてのデータパケットが前記順序番
号が最小のデータパケットから順に前記受信装置に対し
再送された後にはそれらのデータパケットの再送フラグ
を“偽”にし再送回数を一つ増加させる。
【0055】本発明実施例では、送信装置1から受信装
置2に欠落なく連続して送達されたデータパケットの集
合をブロックとし、受信装置2の欠落情報送信部129
は、TCPプロトコルのSACKオプションフィールド
により当該受信装置2で既に保持しているブロックの末
尾バイト値を前記順序番号として送信装置1に通知する
とともに当該ブロックに対応する前記受信期待順序番号
をSACKパケットの送達確認番号フィールド値として
送信装置1に通知する。
【0056】次に、本発明実施例の通信装置の動作を図
4を参照して説明する。図4は再送管理部122の動作
を示すフローチャートである。受信装置2はSACKオ
プションを具備し、送信装置1と受信装置2との間では
TCPプロトコルが実行される。図8に示した従来の再
送用パケットバッファ管理テーブル24に対して、本発
明実施例では、図3に示すように、再送回数201と再
送フラグ202を追加する。
【0057】本発明の処理では、従来の通信装置と比較
して、最初の送信のデータパケットの送信処理、SAC
Kパケットの受信処理が異なる。以下、各々の処理につ
いて説明する。
【0058】最初の送信のデータパケットの送信時 データパケット作成部22の再送管理部122では、最
初の送信のデータパケットの作成時、再送用パケットバ
ッファ管理テーブル24の送達確認フラグを“偽”、再
送フラグを“偽”に設定するとともに再送回数の値を0
に設定する。
【0059】SACKパケットの受信処理 SACKパケット受信時、データパケット作成部22の
再送管理部122では、図4に示すように、以下の処理
を行う。 (1)受信したSACKパケットの送達確認番号フィー
ルド値を求め、その値を受信期待順序番号とする(S
1)。 (2)再送用パケットバッファ23に保存されているデ
ータパケットにおいて、順序番号に相当する末尾バイト
値が、受信期待順序番号−1以下のデータパケットを削
除するとともに、再送用パケットバッファ管理テーブル
24の同データパケットの要素を削除する(S2)。 (3)SACKオプションフィールドの各ブロック内、
右端の値(Right Edge)が最大の値(最大送達確認順序番
号)を求める(S3)。 (4)再送用パケットバッファ管理テーブル24のデー
タパケットの先頭バイト値が受信期待順序番号以上であ
り、かつ末尾バイトが最大送達確認順序番号以下の各デ
ータパケットにおいて、以下の処理を行う(S4)。 (a)SACKオプションフィールドで、送達確認され
ている場合(すなわち(S3)で求めたブロック内にデ
ータパケットが含まれる場合)、送達確認フラグを
“真”に設定する。 (b)再送回数が0で、送達確認フラグが“偽”の場合
には、再送フラグを“真”に設定する。 (c)再送回数が1以上で、かつ、送達確認フラグが
“偽”から“真”に設定されたデータパケットの内、最
大の再送回数(最大再送回数)を求める。 (5)再送用パケットバッファ管理テーブル24のデー
タパケットの先頭バイト値が受信期待順序番号以上であ
るとともに末尾バイト値が最大送達確認順序番号以下で
あり、送達確認フラグが“偽”であり、再送回数が1以
上で、再送回数が最大再送回数以下のデータパケットの
再送フラグを“真”に設定する(S5)。 (6)再送用パケットバッファ管理テーブル24のデー
タパケットの先頭バイト値が受信期待順序番号以上であ
るとともに末尾バイトが最大送達確認順序番号以下のデ
ータパケットにおいて、最小の先頭バイト値のデータパ
ケットから順に、以下の処理を行う(S6)。 ・再送フラグが“真”の場合には、そのデータパケット
を再送するとともに、再送回数を増加させ、再送フラグ
を“偽”に設定する。 (7)通知された受信期待順序番号からウィンドウサイ
ズを適切な値に増加させるとともにウィンドウ内で送信
可能な新しいデータパケットをデータパケット作成部2
2において作成して順次送信する(S7)。
【0060】
【発明の効果】以上説明したように、本発明によれば、
データパケットの送達状況を確認し、無効となるデータ
パケットの再送を回避することができる。これにより、
効率の良いデータパケットの再送を実現することができ
る。また、受信装置の改造を行うことなく、効率の良い
データパケット転送を実現することができる。
【図面の簡単な説明】
【図1】本発明実施例の送信装置の要部ブロック構成
図。
【図2】本発明実施例の受信装置の要部ブロック構成
図。
【図3】本発明実施例の再送用パケットバッファ管理テ
ーブルの構成図。
【図4】本発明実施例の再送管理部の動作を示すフロー
チャート。
【図5】従来の通信装置の全体構成図。
【図6】SACKオプションフィールドのフォーマット
を示す図。
【図7】従来の送信装置の要部ブロック構成図。
【図8】従来の再送用パケットバッファ管理テーブルの
構成図。
【図9】送信装置と受信装置との間のデータパケットお
よびSACKパケットのフローの一例を示す図。
【符号の説明】
1 送信装置 2 受信装置 3 通信網 10 送信側上位層処理部 11 上位層送信処理部 12 メッセージバッファ 20 送信側TCP処理部 21 ウィンドウフロー制御部 22 データパケット作成部 23 再送用パケットバッファ 24 再送用パケットバッファ管理テーブル 25 再送タイマ管理部 30 受信側TCP処理部 31 SACKパケット処理部 40 送信側TCPコネクション管理テーブル 50 送信側IP処理部 60 受信側IP処理部 70 送信側回線処理部 71 上り回線送信パケットバッファ 72 上り回線送信制御部 80 受信側回線処理部 81 下り回線受信パケットバッファ 82 下り回線受信制御部 90 上り回線 91 下り回線 101 送信したデータパケットの先頭バイト 102 送信したデータパケットの末尾バイト 103 送達確認フラグ 120 順序番号付与部 121 パケット再送部 122 再送管理部 123 欠落情報検証部 124 欠落パケット検出部 125 欠落パケット検出部 126 比較部 127 受信期待順序番号メモリ 128 欠落判定部 129 欠落情報送信部 201 再送回数 202 再送フラグ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 一連のユーザの情報を含むデータパケッ
    トにこのデータパケットの送信順序を示す順序番号を記
    して送信する手段を備えた送信装置と、 このデータパケットを受信してこのデータパケットに記
    された前記順序番号と欠落なくデータパケットが送達さ
    れたと仮定した場合の順序番号である受信期待順序番号
    とを比較することにより欠落パケットを検出する手段
    と、欠落パケットが検出されたときには既に保持されて
    いるデータパケットの前記順序番号の集合および前記受
    信期待順序番号を前記送信装置に通知する手段とを備え
    た受信装置とから構成され、 前記送信装置は、通知された前記順序番号の集合および
    前記受信期待順序番号にしたがって欠落パケットを特定
    するとともに当該欠落パケットを再送する手段を備えた
    通信装置において、 各データパケット対応に再送の必要の有無を判定する手
    段が設けられ、 前記再送する手段は、この判定結果にしたがってデータ
    パケットの再送を実行する手段を備えたことを特徴とす
    る通信装置。
  2. 【請求項2】 データパケット対応に再送回数および再
    送の必要の有無を示す再送フラグと前記受信装置でのデ
    ータパケットの有無を示す送達確認フラグとが設けら
    れ、 前記再送の必要の有無を判定する手段は、通知された前
    記順序番号の集合と前記受信期待順序番号とにしたがっ
    て前記受信装置で既に保持されているデータパケットの
    順序番号の内で最大の順序番号である最大送達確認順序
    番号を求め、前記受信期待順序番号から当該最大送達確
    認順序番号までの順序番号をもつデータパケットの内で
    前記受信装置で保持されていることを確認したデータパ
    ケットの送達確認フラグを送達確認済を示す“真”に設
    定し、この送達確認フラグが送達未確認を示す“偽”で
    あり再送回数が0であるデータパケットの再送フラグを
    再送の必要有りを示す“真”に設定し、再送回数が1以
    上であり送達確認フラグが“偽”から“真”に遷移した
    データパケットの内で最大の再送回数を最大再送回数と
    して求め、再送回数が当該最大再送回数以下で送達確認
    フラグが“偽”であるデータパケットの再送フラグを
    “真”に設定し、再送フラグが“真”に設定されている
    すべてのデータパケットが前記順序番号が最小のデータ
    パケットから順に前記受信装置に対し再送された後には
    それらのデータパケットの再送フラグを“偽”にし再送
    回数を一つ増加させる手段を含む請求項1記載の通信装
    置。
  3. 【請求項3】 前記送信装置から前記受信装置に欠落な
    く連続して送達されたデータパケットの集合をブロック
    とし、 前記通知する手段は、当該受信装置で既に保持している
    前記ブロックの末尾バイト値を前記順序番号として通知
    するとともに当該ブロックに対応する前記受信期待順序
    番号を通知する手段を含む請求項2記載の通信装置。
JP34619299A 1999-12-06 1999-12-06 通信装置 Pending JP2001168907A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34619299A JP2001168907A (ja) 1999-12-06 1999-12-06 通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34619299A JP2001168907A (ja) 1999-12-06 1999-12-06 通信装置

Publications (1)

Publication Number Publication Date
JP2001168907A true JP2001168907A (ja) 2001-06-22

Family

ID=18381743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34619299A Pending JP2001168907A (ja) 1999-12-06 1999-12-06 通信装置

Country Status (1)

Country Link
JP (1) JP2001168907A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005502125A (ja) * 2001-08-31 2005-01-20 アダプテック・インコーポレイテッド Tcp/ipを使用した高速度データ送信システムおよび方法
JP2008167071A (ja) * 2006-12-27 2008-07-17 Fujitsu Ltd 伝送品質測定装置、伝送品質測定方法および伝送品質測定システム
JP2009177788A (ja) * 2007-12-27 2009-08-06 Ricoh Co Ltd 情報処理装置、情報処理方法及び情報処理プログラム
US7590888B2 (en) 2003-05-16 2009-09-15 Ntt Docomo, Inc. Receiving device and transmitting device for determining errors in transmission
US8276034B2 (en) 2007-12-27 2012-09-25 Ricoh Company, Limited Information processing apparatus, information processing method, and computer program product
JP2014016906A (ja) * 2012-07-10 2014-01-30 Mitsubishi Electric Corp コンテンツ配信システム、配信サーバー、端末装置およびコンテンツ配信方法
US9379852B2 (en) 2006-09-05 2016-06-28 Nec Corporation Packet recovery method, communication system, information processing device, and program
US9509623B2 (en) 2013-06-05 2016-11-29 Fujitsu Limited Information processing device, information processing system, and method for processing packets from transmitting devices

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005502125A (ja) * 2001-08-31 2005-01-20 アダプテック・インコーポレイテッド Tcp/ipを使用した高速度データ送信システムおよび方法
US7590888B2 (en) 2003-05-16 2009-09-15 Ntt Docomo, Inc. Receiving device and transmitting device for determining errors in transmission
US9379852B2 (en) 2006-09-05 2016-06-28 Nec Corporation Packet recovery method, communication system, information processing device, and program
JP2008167071A (ja) * 2006-12-27 2008-07-17 Fujitsu Ltd 伝送品質測定装置、伝送品質測定方法および伝送品質測定システム
JP2009177788A (ja) * 2007-12-27 2009-08-06 Ricoh Co Ltd 情報処理装置、情報処理方法及び情報処理プログラム
JP4554703B2 (ja) * 2007-12-27 2010-09-29 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
US8276034B2 (en) 2007-12-27 2012-09-25 Ricoh Company, Limited Information processing apparatus, information processing method, and computer program product
JP2014016906A (ja) * 2012-07-10 2014-01-30 Mitsubishi Electric Corp コンテンツ配信システム、配信サーバー、端末装置およびコンテンツ配信方法
US9509623B2 (en) 2013-06-05 2016-11-29 Fujitsu Limited Information processing device, information processing system, and method for processing packets from transmitting devices

Similar Documents

Publication Publication Date Title
US9674832B2 (en) Method and apparatus for layer 2 ARQ for packets
EP1169804B1 (en) Flexible radio link control protocol
JP4199439B2 (ja) 網通信システムにおいてデータパケットを伝送するための誤り訂正通信方法
KR100436435B1 (ko) 유무선 통합망에서 간접 승인을 이용한 패킷 전송 장치 및그 방법
EP1161810B1 (en) Data discard mechanism for selective repeat protocol
EP2238707B1 (en) Method of detecting and handling an endless rlc retransmission
JP5081900B2 (ja) 再送要求送信方法及び受信側装置
JP4153502B2 (ja) 通信装置及び論理リンク異常検出方法
JP4929349B2 (ja) 再送要求送信方法及び受信側装置
WO2008000181A1 (fr) Procédés et systèmes de retransmission sur couche de transport
AU1589600A (en) Method and apparatus for discarding packets in a data network having automatic repeat request
US8738984B2 (en) Apparatus for processing retransmission failure in radio link control (RLC) layer
CA2346473A1 (en) Semi-reliable data transport
CN114268991A (zh) 数据传输方法、装置、电子设备、存储介质
KR20050078096A (ko) 데이터 프레임 재전송 방법 및 상기 방법을 사용하는네트워크 장치
JP2001168907A (ja) 通信装置
JP3032419B2 (ja) データ転送方法
CN102201901A (zh) 数据重传方法及装置
KR100522327B1 (ko) 무선 통신 시스템에 있어서의 로버스트 무선 링크 제어 리셋 절차
JPH11252134A (ja) 同報通信システム
JP2001352339A (ja) 通信システム
KR100524744B1 (ko) 알엘씨 프로토콜의 이피씨 제어 방법
JP2002290442A (ja) 通信装置、プログラム、情報記憶媒体および通信制御方法
KR20100138649A (ko) 통신 시스템에서 패킷 데이터 유닛 송/수신 방법 및 장치