JP2006074251A - フロー制御方法、通信機器、及びtcp通信システム - Google Patents

フロー制御方法、通信機器、及びtcp通信システム Download PDF

Info

Publication number
JP2006074251A
JP2006074251A JP2004253255A JP2004253255A JP2006074251A JP 2006074251 A JP2006074251 A JP 2006074251A JP 2004253255 A JP2004253255 A JP 2004253255A JP 2004253255 A JP2004253255 A JP 2004253255A JP 2006074251 A JP2006074251 A JP 2006074251A
Authority
JP
Japan
Prior art keywords
data
segment
communication device
transmitted
supplement
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.)
Withdrawn
Application number
JP2004253255A
Other languages
English (en)
Inventor
Tetsushi Uchiumi
哲史 内海
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.)
Advantest Corp
Original Assignee
Advantest 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 Advantest Corp filed Critical Advantest Corp
Priority to JP2004253255A priority Critical patent/JP2006074251A/ja
Priority to PCT/JP2005/015945 priority patent/WO2006025469A1/ja
Publication of JP2006074251A publication Critical patent/JP2006074251A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】リンクエラーによって多くのパケットが損失してしまうネットワークにおいてリンク帯域を効率的に利用することができるフロー制御方法を提供する。
【解決手段】TCPによるデータ通信におけるフロー制御方法であって、送信側通信機器のアプリケーションから受信側通信機器のアプリケーションに受け渡すべきデータ列が有するデータをデータセグメントとして送信する段階と、データ列が有する送信が完了していないデータであって、送信が完了しているデータのうちでデータ列の先頭から連続するデータに連続しないデータをサプリメントセグメントとして送信する段階と、サプリメントセグメントに対して受信側通信機器から送信される確認応答に基づいて、利用可能なネットワークの帯域幅を測定する段階とを備える。
【選択図】図4

Description

本発明は、フロー制御方法、通信機器、及びTCP通信システムに関する。特に本発明は、TCPによるデータ通信におけるフロー制御方法、TCPによるデータ通信を行う通信機器、及び送信側通信機器及び受信側通信機器を備えるTCP通信システムに関する。
パケットによるデータ通信において、通信経路上でのパケット損失によるデータ通信エラーを回避して信頼性を保証するフロー制御方法として、TCP(Transmission Control Protocol)が広く使用されており、TCP−Tahoe、TCP−Reno、TCP−NewReno、TCP−Peach、TCP−PeachPlus等のバージョンが提案されている。
I.F.Akyildiz、G.Morabito、S.Palazzo、TCP−Peach:A New Congestion Control Scheme for Satellite IP Networks、IEEE/ACM Transactions on Networking、June 2001、Vol.9、No.3、p.307−321 G.Morabito、I.F.Akyildiz、S.Palazzo、TCP−Peach:Analytical Model and Performance Evaluation、International Journal of Satellite Communications、September/Octorber 2001、Vol.19、No.5、p.429−442 I.F.Akyildiz、G.Morabito、S.Palazzo、Research Issues for Transport Protocols in Satellite IP Networks、IEEE Personal Communications、June 2001、Vol.8、No.3、p.44−48 I.F.Akyildiz、Xin Zhang、Jian Fang、TCP−PeachPlus:Enhancement of TCP Peacn for Satellite IP Networks、IEEE Communications Letters、July 2002、Vol.6、No.7、p.303−305 M.Mathis、J.Mahdavi、S.Floyd、A.Romanow、TCP Selective Acknowledgement Option、RFC2018、October 1996 S.Floyd、J.Mahdavi、M.Mathis、M.Podolsky、An Extension to the Selective Acknowledgement(SACK) Option for TCP、RFC2883、July 2000 V.Jacobson、Congestion Avoidance and Control、in Proc.ACM SIGCOMM、August 1988、p.314−329 V.Jacobson、Modified TCP Congestion Avoidance Algorithm、Technical Report、April 1990 K.Fall、S.Floyd、Simulaton−Based Comparisons of Tahoe,Reno and SACK TCP、ACM Computer Communication Review、July 1996、Vol.26、No.3、p.5−12 K.Fall、K.Varadhan、ns Notes and Documentation、Technical Report、the VINT UC Berkeley、LBL、USC/ISI、Xerox PARC、2003 S Utsumi、S.M.S.Zabir、G.Kitagata、N.Shiratori、Improving TCP Performance over Wireless with Data Link Layer ARQ、Information Processing Society of Japan(IPSJ) Journal、April 2004、Vol.45、No.4、p.1112−1120 S.Utsumi、S.M.S.Zabir、N.Shiratori、An Efficient Approach to Improve TCP Performance over Wireless Networks、Lecture Notes in Computer Science(LNCS) 2510、Octorber 2002、p.916−925
TCP−Reno又はTCP−NewRenoによるフロー制御方法は、フローの数に対してリンク帯域の小さい有線リンクのみを有するネットワークにおいて、リンク帯域を効率的に利用できるが、帯域幅遅延積が大きいネットワークやリンクエラーによって多くのパケットが損失してしまうネットワーク、特に衛星ネットワークにおいて、リンク帯域を効率的に利用することができない。また、TCP−Peach又はTCP−PeachPlusによるフロー制御方法は、帯域幅遅延積が大きいネットワークやリンクエラーによって多くのパケットが損失してしまうネットワーク、特に衛星ネットワークにおいて、リンク帯域を効率的に利用することができるが、TCPの受信側ホストが、送信側ホストから受信した利用可能な帯域幅を測定するためのセグメントより多くの確認応答を返信するように改ざんすることによって、TCPフロー間のスループットの公平性が損なわれるという問題がある。
そこで本発明は、上記の課題を解決することができるフロー制御方法、通信機器、及びTCP通信システムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
本発明の第1の形態によると、TCPによるデータ通信におけるフロー制御方法であって、送信側通信機器のアプリケーションから受信側通信機器のアプリケーションに受け渡すべきデータ列が有するデータをデータセグメントとして送信するデータセグメント送信段階と、データ列が有する送信が完了していないデータであって、送信が完了しているデータのうちでデータ列の先頭から連続するデータに連続しないデータをサプリメントセグメントとして送信するサプリメントセグメント送信段階と、サプリメントセグメントに対して受信側通信機器から送信される確認応答に基づいて、利用可能なネットワークの帯域幅を測定する帯域幅測定段階とを備える。
サプリメントセグメントがネットワーク内の通信機器により転送される優先度は、データセグメントがネットワーク内の通信機器により転送される優先度より低くてもよい。
サプリメントセグメントに対する確認応答がネットワーク内の通信機器により転送される優先度は、サプリメントセグメントがネットワーク内の通信機器により転送される優先度と等しく、データセグメントに対する確認応答がネットワーク内の通信機器により転送される優先度は、データセグメントがネットワーク内の通信機器により転送される優先度と等しくてもよい。
データセグメント送信段階は、データ列において、送信が完了しているデータのうちでデータ列の先頭から連続するデータと、サプリメントセグメントとして送信されたデータとの間に位置するデータをデータセグメントとして送信する段階を有してもよい。
サプリメントセグメント送信段階は、送信が完了しているデータのうちでデータ列の先頭から連続するデータから所定のセグメント数だけ後方に位置するデータをサプリメントセグメントとして送信する段階を有してもよい。
サプリメントセグメント送信段階は、データ列において、送信が完了しているデータのうちでデータ列の先頭から連続するデータから所定のセグメント数だけ後方に位置するデータが存在しない場合、データ列において、サプリメントセグメントとして送信されていないデータのうちの最も後方に位置するデータをサプリメントセグメントとして送信する段階を有してもよい。
コネクション開始時又はタイムアウト発生時において、送信が完了していないデータのセグメント数が、maxcwnd×2−1以上の場合、サプリメントセグメント送信段階は、シーケンス番号がt_seqno+maxcwndのデータから昇順にmaxcwnd−1個のデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階を有してもよい。
コネクション開始時又はタイムアウト発生時において、データ列が有する送信が完了していないデータのセグメント数が、maxcwnd+1以上でmaxcwnd×2−1以下の場合、サプリメントセグメント送信段階は、シーケンス番号がt_seqno+maxcwndのデータから昇順にcurseqまでのデータを選択しながら、選択したデータをサプリメントセグメントとして送信した後、シーケンス番号がt_seqno+maxcwnd−1のデータから降順にデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階を有してもよい。
コネクション開始時又はタイムアウト発生時において、データ列が有する送信が完了していないデータのセグメント数が、maxcwnd以下の場合、サプリメントセグメント送信段階は、シーケンス番号がcurseqのデータから降順にデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階を有してもよい。
受信側通信機器から同一のデータセグメントの送信を要求する確認応答をN個重複して受信した場合であって、データ列が有する送信が完了していないデータのセグメント数が、maxcwnd×2−cwnd/2以上の場合、データセグメント送信段階は、ネットワークにおいて損失したと判断されたデータセグメントを再送する段階を有し、サプリメントセグメント送信段階は、シーケンス番号がt_seqno+maxcwndのデータから昇順にcurseq−cwnd/2個のデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階を有してもよい。
受信側通信機器から同一のデータセグメントの送信を要求する確認応答をN個重複して受信した場合であって、データ列が有する送信が完了していないデータのセグメント数が、maxcwnd以上でmaxcwnd×2−cwnd/2−1以下の場合、データセグメント送信段階は、ネットワークにおいて損失したと判断されたデータセグメントを再送する段階を有し、サプリメントセグメント送信段階は、シーケンス番号がt_seqno+maxcwndのデータから昇順にcurseqまでのデータを選択しながら、選択したデータをサプリメントセグメントとして送信した後、シーケンス番号がt_seqno+maxcwnd−1のデータから降順にデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階を有してもよい。
受信側通信機器から同一のデータセグメントの送信を要求する確認応答をN個重複して受信した場合であって、データ列が有する送信が完了していないデータのセグメント数が、maxcwnd−1以下の場合、データセグメント送信段階は、ネットワークにおいて損失したと判断されたデータセグメントを再送する段階を有し、サプリメントセグメント送信段階は、シーケンス番号がcurseqのデータから降順にデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階を有してもよい。
データセグメント送信段階は、ネットワークに存在するデータセグメントの数を示すpipe値がcwnd以下の場合に、受信側通信機器にデータセグメントを送信する段階を有してもよい。
帯域幅測定段階は、サプリメントセグメントに対する確認応答のうち、既に確認応答を受け取っているデータに対する確認応答に依存せず、未だ確認応答を受け取っていないデータに対する確認応答に基づいて、利用可能なネットワークの帯域幅を測定する段階を有してもよい。
本発明の第2の形態によると、TCPによるデータ通信を行う通信機器であって、送信側通信機器のアプリケーションから受信側通信機器のアプリケーションに受け渡すべきデータ列が有するデータをデータセグメントとして送信するデータセグメント送信部と、データ列が有する送信が完了していないデータであって、送信が完了しているデータのうちでデータ列の先頭から連続するデータに連続しないデータを選択するデータ選択部と、データ選択部が選択したデータをサプリメントセグメントとして送信するサプリメントセグメント送信部と、サプリメントセグメントに対して受信側通信機器から送信される確認応答に基づいて、利用可能なネットワークの帯域幅を測定する帯域幅測定部とを備える。
本発明の第3の形態によると、送信側通信機器及び受信側通信機器を備えるTCP通信システムであって、送信側通信機器は、送信側通信機器のアプリケーションから受信側通信機器のアプリケーションに受け渡すべきデータ列が有するデータをデータセグメントとして送信するデータセグメント送信部と、データ列が有する送信が完了していないデータであって、送信が完了しているデータのうちでデータ列の先頭から連続するデータに連続しないデータを選択するデータ選択部と、データ選択部が選択したデータをサプリメントセグメントとして送信するサプリメントセグメント送信部と、サプリメントセグメントに対して受信側通信機器から送信される確認応答に基づいて、利用可能なネットワークの帯域幅を測定する帯域幅測定部とを有する。
受信側通信機器は、送信側通信機器から送信されたデータセグメント及びサプリメントセグメントを受信する受信部と、受信部がデータセグメント又はサプリメントセグメントを受信した場合に、受信部が既に受信しているデータセグメント及びサプリメントセグメントのデータのシーケンス番号に、受信部が最後に受信したデータセグメント又はサプリメントセグメントのデータのシーケンス番号が付加された確認応答を送信側通信機器に送信する確認応答送信部とを有してもよい。
但し、maxcwndは、送信側通信機器が受信側通信機器に割り当てることを認めた最大の輻輳ウインドウ数とし、t_seqnoは、データ列が有する送信が完了していないデータのうちでシーケンス番号が最小のデータのシーケンス番号とし、curseqは、データ列が有する送信が完了していないデータのうちでシーケンス番号が最大のデータのシーケンス番号とし、cwndは、帯域幅測定段階において測定された帯域幅に対応する輻輳ウインドウ数とする。また、cwndは、N個の重複確認応答受信直前の輻輳ウインドウ数であってもよい。
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた発明となりうる。
本発明のフロー制御方法によれば、受信側通信機器による不正によってTCPフロー間のスループットの公平性が失われず、また帯域幅遅延積の大きいネットワークやリンクエラーによって多くのパケットが損失してしまうネットワーク、特に衛星ネットワークにおいて、リンク帯域を効率的に利用することができる。
以下、発明の実施形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明の一実施形態に係るTCP通信システム100の一例を示す。TCP通信システム100は、送信側通信機器102及び受信側通信機器104を備える。送信側通信機器102と受信側通信機器104とは、衛星IPネットワーク等のネットワーク106を介してTCPによるデータ通信を行う。
TCP通信システム100は、リンクエラーによって多くのパケットが損失してしまう衛星IPネットワーク等のネットワーク106におけるTCPのパフォーマンスを改善し、また受信側通信機器104の不正によって不公平に大きなスループットを実現することを防ぐため、TCP−Peachのフロー制御方法を改造することを目的とする。本実施形態に係るTCP通信システム100のフロー制御方法のバージョンをTCP−Cherryと呼ぶ。
送信側通信機器102は、データ列格納部110、データセグメント送信部112、タイマ部114、pipe値保持部116、確認応答受信部118、通信インタフェース120、重複確認応答カウンタ部124、帯域幅測定部126、データ選択部128、及びサプリメントセグメント送信部130を有する。また、受信側通信機器104は、受信部132、バッファ134、通信インタフェース138、及び確認応答送信部140を有する。なお、送信側通信機器102と受信側通信機器104とは同一の機能を有してもよい。即ち、図1に示した送信側通信機器102の各構成要素を受信側通信機器104が有してもよく、図1に示した受信側通信機器104の各構成要素を送信側通信機器102が有してもよい。
まず、送信側通信機器102の各構成要素の動作を説明する。データ列格納部110は、送信側通信機器102のアプリケーションから受信側通信機器104のアプリケーションに受け渡すべきデータ列を格納する。データセグメント送信部112は、データ列格納部110が格納するデータ列が有するデータをデータセグメントとして、通信インタフェース120を介して送信する。そして、確認応答受信部118は、データセグメント送信部112から送信されたデータセグメントに対して受信側通信機器104から送信される確認応答を、通信インタフェース120を介して受信する。
pipe値保持部116は、ネットワーク106に存在するデータセグメントの数を示すpipe値を保持する。また、pipe値保持部116は、確認応答受信部118が受信した確認応答に基づいて、保持しているpipe値を更新する。具体的には、pipe値保持部116は、データセグメント送信部112がデータセグメントをネットワーク106に対して送信した場合にpipe値を1増加させ、確認応答受信部118がデータセグメントに対する確認応答を受信した場合にpipe値を1減少させる。なお、pipe値保持部116は、サプリメントセグメント送信部130がサプリメントセグメントをネットワーク106に対して送信した場合、及び確認応答受信部118がサプリメントセグメントに対する確認応答を受信した場合には、pipe値を増減させない。
タイマ部114は、データセグメント送信部112がデータセグメントを送信してから、確認応答受信部118が当該データセグメントに対する確認応答を受信するまでの時間を計測する。そして、タイマ部114は、データセグメント送信部112がデータセグメントを送信してから、確認応答受信部118が当該データセグメントに対する確認応答を受信しない状態が予め定められた時間続くと、タイムアウトによって、当該データセグメントがネットワーク106上で損失したと判断し、帯域幅測定部126にその旨を通知する。
重複確認応答カウンタ部124は、受信側通信機器104からの同一のデータセグメントの送信を要求する確認応答の数を計数する。そして、重複確認応答カウンタ部124は、受信側通信機器104から同一のデータセグメントの送信を要求する確認応答を、予め定められた数であるN個重複して受信した場合に、N個の重複確認応答の受信によって、当該データセグメントがネットワーク106上で損失したと判断し、帯域幅測定部126にその旨を通知する。
帯域幅測定部126は、タイマ部114によってタイムアウトが通知された場合、又は重複確認応答カウンタ部124によってN個の重複確認応答の受信が通知された場合に、利用可能なネットワーク106の帯域幅に対応する輻輳ウインドウ数、即ちcwndを測定する。即ち、帯域幅測定部126は、サプリメントセグメント送信部130からサプリメントセグメントを送信させ、当該サプリメントセグメントに対する確認応答に基づいてcwndを測定する。なお、帯域幅測定部126は、サプリメントセグメントに対する確認応答のうち、確認応答受信部118が既に確認応答を受け取っているデータに対する確認応答に依存せず、確認応答受信部118が未だ確認応答を受け取っていないデータに対する確認応答に基づいてcwndを測定する。
具体的には、データ選択部128は、データ列格納部110が格納するデータ列が有する、データセグメント送信部112による送信が完了していないデータのうちで、データセグメント送信部112による送信が完了しているデータと連続しないデータを選択する。そして、サプリメントセグメント送信部130は、データ選択部128が選択したデータをパケットのペイロードとして含むサプリメントセグメントを、通信インタフェース120を介して送信する。そして、確認応答受信部118は、サプリメントセグメント送信部130から送信されたサプリメントセグメントに対して受信側通信機器104から送信される確認応答を、通信インタフェース120を介して受信する。そして、帯域幅測定部126は、確認応答受信部118がサプリメントセグメントに対する確認応答を受信したか否かに基づいてcwndを測定する。そして、データセグメント送信部112は、帯域幅測定部126が測定したcwndが、pipe値保持部116が保持するpipe値以上の場合に、データ列格納部110が格納するデータ列が有する、送信が完了していないデータのうちでシーケンス番号が最小のデータをデータセグメントとして送信する。
なお、データセグメントは通信における優先度が高く、サプリメントセグメントは通信における優先度が低い。即ち、サプリメントセグメントが送信側通信機器102、受信側通信機器104を含めたネットワーク106内の通信機器により転送される優先度は、データセグメントが送信側通信機器102、受信側通信機器104を含めたネットワーク106内の通信機器により転送される優先度より低く、通信機器内にサプリメントセグメントとデータセグメントが転送待ちしているとき、データセグメントが先に転送される。また、サプリメントセグメントが送信側通信機器102、受信側通信機器104を含めたネットワーク106内の通信機器により破棄されない優先度は、データセグメントが送信側通信機器102、受信側通信機器104を含めたネットワーク106内の通信機器により破棄されない優先度より低く、通信機器内のバッファオーバフロー時、サプリメントセグメントが先に破棄される。また、サプリメントセグメントに対する確認応答の通信における優先度は、サプリメントセグメントの通信における優先度に等しく、データセグメントに対する確認応答における通信の優先度は、データセグメントの通信における優先度に等しい。
なお、本実施形態において、データの送信が完了している状態とは、データセグメント送信部112がデータをデータセグメントとして送信し、当該データについて、既に確認応答を受け取った状態、未だ再送要求がない状態、若しくは既に再送要求があって、既に再送し、未だ新たな再送要求がない状態、又はサプリメントセグメント送信部130がデータをサプリメントセグメントとして送信し、確認応答受信部118が当該データに対する確認応答を受信した状態をいう。ただし、タイムアウト発生時に、タイムアウトしたデータセグメント送信以降に送信したデータが再送要求され、N個重複確認応答やSACKオプションにより、ネットワーク106でデータセグメントの損失を検出した場合、検出された損失デ−タが再送要求される。
次に、受信側通信機器104の各構成要素の動作を説明する。受信部132は、送信側通信機器102から送信されたデータセグメント及びサプリメントセグメントを、通信インタフェース138を介して受信する。そして、バッファ134は、受信部132が受信したデータセグメントのデータ又はサプリメントセグメントのデータを保持する。バッファ134は、受信部132が受信したデータのうち、データ列の先頭から連続しないデータを保持し、データ列の先頭から連続するデータは、受信部132からアプリケーションに受け渡される。バッファ134は、輻輳ウインドウ数maxcwndに対応する大きさである。maxcwndは、例えば16ビットウインドウサイズである。但し、バッファ134は、受信側通信機器104は、ウインドウスケールオプションによって表現される32ビットウインドウサイズだけのデータセグメントのデータをバッファすることができる。
確認応答送信部140は、受信部132がデータセグメント又はサプリメントセグメントを受信した場合に、確認応答を送信側通信機器102に送信する。具体的には、確認応答送信部140は、受信部132が既に受信しているデータセグメント及びサプリメントセグメントのデータのシーケンス番号に、受信部132が最後に受信したデータセグメント又はサプリメントセグメントのデータのシーケンス番号が付加された確認応答を送信側通信機器102に送信する。
図2は、本実施形態に係る送信側通信機器102によるフロー制御方法の一例を示す。送信側通信機器102によるフロー制御方法は、第1帯域幅測定工程(Surprise Start:S300)、輻輳回避工程(Congestion Avoidance:S302)、タイムアウト発生又はN個重複確認応答受信の判断工程(S304)、第1損失セグメント再送工程(Retransmit:S306)、第2損失セグメント再送工程(Fast Retransmit:S308)、及び第2帯域幅測定工程(Joyful Recovery:S310)を備える。第1帯域幅測定工程(S300)及び第2帯域幅測定工程(S310)は、本発明のサプリメントセグメント送信段階及び帯域幅測定段階の一例であり、輻輳回避工程(S302、第1損失セグメント再送工程(S306)、及び第2損失セグメント再送工程(S308)は、本発明のデータセグメント送信段階の一例である。
送信側通信機器102は、TCPコネクションの確立後、又はタイムアウトによるデータセグメントの再送後、即ち第1損失セグメント再送工程(S306)の後に、第1帯域幅測定工程(S300)を実行する。第1帯域幅測定工程(S300)については、図3から図5において詳細に説明する。
送信側通信機器102は、N個重複確認応答受信によるデータセグメントの再送後、即ち第2損失セグメント再送工程(S308)の後に、第2帯域幅測定工程(S310)を実行する。第2帯域幅測定工程(S310)については、図6から図8において詳細に説明する。
送信側通信機器102は、第1帯域幅測定工程(S300)の実行後、又は第2帯域幅測定工程(S310)の実行後に、輻輳回避工程(S302)を実行する。輻輳回避工程(S302)において、データセグメント送信部112は、データ列格納部110が格納しているデータ列が有するデータを順次データセグメントとして送信し、確認応答受信部118が応答確認を受信するごとにcwndをシフトさせてデータセグメントを送信する。そして、タイマ部114によりタイムアウトの発生が検出された場合(S304−1)、重複確認応答カウンタ部124により同一のデータセグメントを要求する確認応答N個の受信が検出された場合(S304−2)に、輻輳回避工程(S302)が終了する。
図3は、本実施形態に係る第1帯域幅測定工程(S300)におけるサプリメントセグメントの選択方法の第1の例を示す。図3では、コネクション開始時又はタイムアウト発生時(S304−1)において、データ列格納部110が格納するデータ列のうちで受信側通信機器104への送信が完了していないデータのセグメント数が、maxcwnd×2−1以上の場合について説明する。
コネクション開始時又はタイムアウト発生時、データセグメント送信部112がデータ列におけるシーケンス番号がt_seqno−1のデータをデータセグメントとして再送した後、データ選択部128は、送信が完了しているデータのうちでデータ列の先頭から連続するデータの最後のデータから所定のセグメント数だけ後方に位置するデータであって、送信が完了しているデータのうちでデータ列の先頭から連続するデータに連続しないデータを選択し、サプリメントセグメント送信部130は、データ選択部128によって選択されたデータをサプリメントセグメントとして送信する。
具体的には、データ選択部128は、シーケンス番号がt_seqno+maxcwndのデータから昇順にmaxcwnd−1個のデータを選択しながら、サプリメントセグメント送信部130は、選択されたデータをサプリメントセグメントとして送信する。そして、帯域幅測定部126は、サプリメントセグメントに対して受信側通信機器104から送信される確認応答に基づいて、利用可能なネットワーク106の帯域幅に対応する輻輳ウインドウcwndを測定する。
データセグメント送信部112は、ネットワーク106に存在するデータセグメントの数を示すpipe値がcwnd以下の場合に、データ列において、データセグメントとして送信が完了しているデータと、サプリメントセグメントとして送信されたデータとの間に位置するデータを、データセグメントとして送信する。具体的には、データセグメント送信部112は、シーケンス番号t_seqnoのデータから順にデータセグメントとして送信する。
図4は、本実施形態に係る第1帯域幅測定工程(S300)におけるサプリメントセグメントの選択方法の第2の例を示す。図4では、コネクション開始時又はタイムアウト発生時(S304−1)において、データ列格納部110が格納するデータ列のうちで受信側通信機器104への送信が完了していないデータのセグメント数が、maxcwnd+1以上でmaxcwnd×2−1以下の場合について説明する。
コネクション開始時又はタイムアウト発生時、データセグメント送信部112がデータ列におけるシーケンス番号がt_seqno−1のデータをデータセグメントとして再送した後、データ選択部128は、送信が完了しているデータのうちでデータ列の先頭から連続するデータの最後のデータから所定のセグメント数だけ後方に位置するデータであって、送信が完了しているデータのうちでデータ列の先頭から連続するデータに連続しないデータを選択し、サプリメントセグメント送信部130は、データ選択部128によって選択されたデータをサプリメントセグメントとして送信する。また、データ選択部128は、データ列において、データセグメントとして送信が完了しているデータから所定のセグメント数だけ後方に位置するデータが存在しない場合、データ列において、サプリメントセグメントとして送信されていないデータのうちの最も後方に位置するデータを選択し、サプリメントセグメント送信部130は、データ選択部128によって選択されたデータをサプリメントセグメントとして送信する。
具体的には、データ選択部128は、シーケンス番号がt_seqno+maxcwndのデータから昇順にcurseqまでのデータを選択しながら、サプリメントセグメント送信部130は、選択されたデータをサプリメントセグメントとして送信する。その後、データ選択部128は、シーケンス番号がt_seqno+maxcwnd−1のデータから降順にt_seqno+maxcwnd×2−curseq−1個のデータを選択しながら、サプリメントセグメント送信部130は、選択されたデータをサプリメントセグメントとして送信する。そして、帯域幅測定部126は、サプリメントセグメントに対して受信側通信機器104から送信される確認応答に基づいて、利用可能なネットワーク106の帯域幅に対応する輻輳ウインドウcwndを測定する。
データセグメント送信部112は、ネットワーク106に存在するデータセグメントの数を示すpipe値がcwnd以下の場合に、データ列において、送信が完了しているデータのうちでデータ列の先頭から連続するデータと、サプリメントセグメントとして送信されたデータとの間に位置するデータを、データセグメントとして送信する。具体的には、データセグメント送信部112は、シーケンス番号t_seqnoのデータから順にデータセグメントとして送信する。
図5は、本実施形態に係る第1帯域幅測定工程(S300)におけるサプリメントセグメントの選択方法の第3の例を示す。図5では、コネクション開始時又はタイムアウト発生時(S304−1)において、データ列格納部110が格納するデータ列のうちで受信側通信機器104への送信が完了していないデータのセグメント数が、maxcwnd以下の場合について説明する。
コネクション開始時又はタイムアウト発生時、データセグメント送信部112がデータ列におけるシーケンス番号がt_seqno−1のデータをデータセグメントとして再送した後、データ選択部128は、データ列において、サプリメントセグメントとして送信されていないデータのうちの最も後方に位置するデータを選択し、サプリメントセグメント送信部130は、データ選択部128によって選択されたデータをサプリメントセグメントとして送信する。
具体的には、データ選択部128は、シーケンス番号がcurseqのデータから降順にmaxcwnd−1個のデータを選択しながら、サプリメントセグメント送信部130は、選択されたデータをサプリメントセグメントとして送信する。そして、帯域幅測定部126は、サプリメントセグメントに対して受信側通信機器104から送信される確認応答に基づいて、利用可能なネットワーク106の帯域幅に対応する輻輳ウインドウcwndを測定する。
データセグメント送信部112は、ネットワーク106に存在するデータセグメントの数を示すpipe値がcwnd以下の場合に、データ列において、送信が完了しているデータのうちでデータ列の先頭から連続するデータと、サプリメントセグメントとして送信されたデータとの間に位置するデータを、データセグメントとして送信する。具体的には、データセグメント送信部112は、シーケンス番号t_seqnoのデータから順にデータセグメントとして送信する。
図6は、本実施形態に係る第2帯域幅測定工程(S310)におけるサプリメントセグメントの選択方法の第1の例を示す。図6では、受信側通信機器104から同一のデータセグメントの送信を要求する確認応答をN個重複して受信した場合(S304−2)であって、データ列格納部110が格納するデータ列のうちで受信側通信機器104への送信が完了していないデータのセグメント数が、maxcwnd×2−cwnd/2以上の場合について説明する。
N個重複確認応答受信時、データセグメント送信部112がネットワーク106において損失したと判断されたデータセグメント(drop)を再送した後、データ選択部128は、送信が完了しているデータのうちでデータ列の先頭から連続するデータの最後のデータから所定のセグメント数だけ後方に位置するデータであって、送信が完了しているデータのうちでデータ列の先頭から連続するデータに連続しないデータを選択し、サプリメントセグメント送信部130は、データ選択部128によって選択されたデータをサプリメントセグメントとして送信する。
具体的には、データ選択部128は、シーケンス番号がt_seqno+maxcwndのデータから昇順にmaxcwnd−cwnd/2個のデータを選択しながら、サプリメントセグメント送信部130は、選択されたデータをサプリメントセグメントとして送信する。そして、帯域幅測定部126は、サプリメントセグメントに対して受信側通信機器104から送信される確認応答に基づいて、利用可能なネットワーク106の帯域幅に対応する輻輳ウインドウcwndを測定する。
データセグメント送信部112は、ネットワーク106に存在するデータセグメントの数を示すpipe値がcwnd以下の場合に、データ列において、送信が完了しているデータのうちでデータ列の先頭から連続するデータと、サプリメントセグメントとして送信されたデータとの間に位置するデータを、データセグメントとして送信する。具体的には、データセグメント送信部112は、シーケンス番号t_seqnoのデータから順にデータセグメントとして送信する。
図7は、本実施形態に係る第2帯域幅測定工程(S310)におけるサプリメントセグメントの選択方法の第2の例を示す。図7では、受信側通信機器104から同一のデータセグメントの送信を要求する確認応答をN個重複して受信した場合(S304−2)であって、データ列格納部110が格納するデータ列のうちで受信側通信機器104への送信が完了していないデータのセグメント数が、maxcwnd以上でmaxcwnd×2−cwnd/2−1以下の場合について説明する。
N個重複確認応答受信時、データセグメント送信部112がネットワーク106において損失したと判断されたデータセグメント(drop)を再送した後、データ選択部128は、送信が完了しているデータのうちでデータ列の先頭から連続するデータの最後のデータから所定のセグメント数だけ後方に位置するデータであって、送信が完了しているデータのうちでデータ列の先頭から連続するデータに連続しないデータを選択し、サプリメントセグメント送信部130は、データ選択部128によって選択されたデータをサプリメントセグメントとして送信する。また、データ選択部128は、データ列において、データセグメントとして送信が完了しているデータから所定のセグメント数だけ後方に位置するデータが存在しない場合、データ列において、サプリメントセグメントとして送信されていないデータのうちの最も後方に位置するデータを選択し、サプリメントセグメント送信部130は、データ選択部128によって選択されたデータをサプリメントセグメントとして送信する。
具体的には、データ選択部128は、シーケンス番号がt_seqno+maxcwndのデータから昇順にcurseqまでのデータを選択しながら、サプリメントセグメント送信部130は、選択されたデータをサプリメントセグメントとして送信する。その後、データ選択部128は、シーケンス番号がt_seqno+maxcwnd−1のデータから降順にt_seqno+maxcwnd×2ーcwnd/2+curseq個のデータを選択しながら、サプリメントセグメント送信部130は、選択されたデータをサプリメントセグメントとして送信する。そして、帯域幅測定部126は、サプリメントセグメントに対して受信側通信機器104から送信される確認応答に基づいて、利用可能なネットワーク106の帯域幅に対応する輻輳ウインドウcwndを測定する。
データセグメント送信部112は、ネットワーク106に存在するデータセグメントの数を示すpipe値がcwnd以下の場合に、データ列において、送信が完了しているデータのうちでデータ列の先頭から連続するデータと、サプリメントセグメントとして送信されたデータとの間に位置するデータを、データセグメントとして送信する。具体的には、データセグメント送信部112は、シーケンス番号t_seqnoのデータから順にデータセグメントとして送信する。
図8は、本実施形態に係る第2帯域幅測定工程(S310)におけるサプリメントセグメントの選択方法の第3の例を示す。図8では、受信側通信機器104から同一のデータセグメントの送信を要求する確認応答をN個重複して受信した場合(S304−2)であって、データ列格納部110が格納するデータ列のうちで受信側通信機器104への送信が完了していないデータのセグメント数が、maxcwnd−1以下の場合について説明する。
N個重複確認応答受信時、データセグメント送信部112がネットワーク106において損失したと判断されたデータセグメント(drop)を再送した後、データ選択部128は、データ列において、サプリメントセグメントとして送信されていないデータのうちの最も後方に位置するデータを選択し、サプリメントセグメント送信部130は、データ選択部128によって選択されたデータをサプリメントセグメントとして送信する。
具体的には、データ選択部128は、シーケンス番号がcurseqのデータから降順にmaxcwnd−cwnd/2個のデータを選択しながら、サプリメントセグメント送信部130は、選択されたデータをサプリメントセグメントとして送信する。そして、帯域幅測定部126は、サプリメントセグメントに対して受信側通信機器104から送信される確認応答に基づいて、利用可能なネットワーク106の帯域幅に対応する輻輳ウインドウcwndを測定する。
データセグメント送信部112は、ネットワーク106に存在するデータセグメントの数を示すpipe値がcwnd以下の場合に、データ列において、データセグメントとして送信が完了しているデータと、サプリメントセグメントとして送信されたデータとの間に位置するデータを、データセグメントとして送信する。具体的には、データセグメント送信部112は、シーケンス番号t_seqnoのデータから順にデータセグメントとして送信する。
図9は、本実施形態に係る輻輳回避工程(S302)から他の工程への移行における他の例を示す。本実施形態に係るフロー制御方法において、データセグメントに対して通信における優先度が低いサプリメントセグメントを用いて、利用可能なネットワーク106の帯域幅を測定するため、測定される帯域幅は実際より小さい値となる。したがって、測定直後のデータセグメントの損失が、ネットワーク106の輻輳によるものであると考えることが合理的ではない。
そこで、図9に示すように、第2帯域幅測定工程(S308)においてサプリメントセグメントAを送信することによりネットワーク106の帯域幅を測定している間、及び第2帯域幅測定工程(S308)においてサプリメントセグメントAを送信することにより測定された帯域幅分のデータセグメントBを送信している間は、輻輳回避工程(S302)においてネットワーク106でデータセグメントの損失を検出した場合(S304)であっても、輻輳ウインドウcwndを縮小しない。即ち、この間は、第1損失セグメント再送工程(S306)又は第2損失セグメント再送工程(S308)を実行して損失したデータセグメントを再送するのみで、第1帯域幅測定工程(S300)又は第2帯域幅測定工程(S310)を実行しない。これにより、利用可能なネットワーク106の帯域幅の測定直後のリンクエラーによるエラー回復機能の実行を回避し、輻輳ウインドウcwndを適切な値に調整することができる。
本実施形態に係るフロー制御方法によれば、リンクエラーが高くまた伝搬遅延時間の大きい衛星ネットワークのようなネットワーク106の性能を改善することができる。また、送信側通信機器102のアプリケーションから受信側通信機器104のアプリケーションに受け渡すべきデータ列が有するデータをサプリメントセグメントのペイロードとし、サプリメントセグメントを用いてネットワーク106の帯域幅を測定することにより、受信側通信機器104の不正によりTCPフロー間の不公平なスループットが実現されることを防ぐことができる。
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることができる。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
TCP通信システム100の一例を示す図である。 送信側通信機器102によるフロー制御方法の一例を示す図である。 サプリメントセグメントの選択方法の第1の例を示す図である。 サプリメントセグメントの選択方法の第2の例を示す図である。 サプリメントセグメントの選択方法の第3の例を示す図である。 サプリメントセグメントの選択方法の第1の例を示す図である。 サプリメントセグメントの選択方法の第2の例を示す図である。 サプリメントセグメントの選択方法の第3の例を示す図である。 輻輳回避工程から他の工程への移行における他の例を示す図である。
符号の説明
100 TCP通信システム
102 送信側通信機器
104 受信側通信機器
106 ネットワーク
110 データ列格納部
112 データセグメント送信部
114 タイマ部
116 pipe値保持部
118 確認応答受信部
120 通信インタフェース
124 重複確認応答カウンタ部
126 帯域幅測定部
128 データ選択部
130 サプリメントセグメント送信部
132 受信部
134 バッファ
138 通信インタフェース
140 確認応答送信部

Claims (17)

  1. TCPによるデータ通信におけるフロー制御方法であって、
    送信側通信機器のアプリケーションから受信側通信機器のアプリケーションに受け渡すべきデータ列が有するデータをデータセグメントとして送信するデータセグメント送信段階と、
    前記データ列が有する送信が完了していないデータであって、送信が完了しているデータのうちで前記データ列の先頭から連続するデータに連続しないデータをサプリメントセグメントとして送信するサプリメントセグメント送信段階と、
    前記サプリメントセグメントに対して前記受信側通信機器から送信される確認応答に基づいて、利用可能なネットワークの帯域幅を測定する帯域幅測定段階と
    を備えるフロー制御方法。
  2. 前記サプリメントセグメントがネットワーク内の通信機器により転送される優先度は、前記データセグメントがネットワーク内の通信機器により転送される優先度より低い
    請求項1に記載のフロー制御方法。
  3. 前記サプリメントセグメントに対する確認応答がネットワーク内の通信機器により転送される優先度は、前記サプリメントセグメントがネットワーク内の通信機器により転送される優先度と等しく、前記データセグメントに対する確認応答がネットワーク内の通信機器により転送される優先度は、前記データセグメントがネットワーク内の通信機器により転送される優先度と等しい
    請求項2に記載のフロー制御方法。
  4. 前記データセグメント送信段階は、
    前記データ列において、送信が完了しているデータのうちで前記データ列の先頭から連続するデータと、サプリメントセグメントとして送信されたデータとの間に位置するデータをデータセグメントとして送信する段階
    を有する請求項1に記載のフロー制御方法。
  5. 前記サプリメントセグメント送信段階は、
    送信が完了しているデータのうちで前記データ列の先頭から連続するデータから所定のセグメント数だけ後方に位置するデータをサプリメントセグメントとして送信する段階
    を有する請求項1に記載のフロー制御方法。
  6. 前記サプリメントセグメント送信段階は、
    前記データ列において、送信が完了しているデータのうちで前記データ列の先頭から連続するデータから所定のセグメント数だけ後方に位置するデータが存在しない場合、前記データ列において、サプリメントセグメントとして送信されていないデータのうちの最も後方に位置するデータをサプリメントセグメントとして送信する段階
    を有する請求項5に記載のフロー制御方法。
  7. コネクション開始時又はタイムアウト発生時において、送信が完了していないデータのセグメント数が、maxcwnd×2−1以上の場合、
    前記サプリメントセグメント送信段階は、
    シーケンス番号がt_seqno+maxcwndのデータから昇順にmaxcwnd−1個のデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階
    を有する請求項1に記載のフロー制御方法。
    但し、maxcwndは、前記送信側通信機器が前記受信側通信機器に割り当てることを認めた最大の輻輳ウインドウ数とし、t_seqnoは、前記データ列が有する送信が完了していないデータのうちでシーケンス番号が最小のデータのシーケンス番号とする。
  8. コネクション開始時又はタイムアウト発生時において、前記データ列が有する送信が完了していないデータのセグメント数が、maxcwnd+1以上でmaxcwnd×2−1以下の場合、
    前記サプリメントセグメント送信段階は、
    シーケンス番号がt_seqno+maxcwndのデータから昇順にcurseqまでのデータを選択しながら、選択したデータをサプリメントセグメントとして送信した後、シーケンス番号がt_seqno+maxcwnd−1のデータから降順にデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階
    を有する請求項1に記載のフロー制御方法。
    但し、maxcwndは、前記送信側通信機器が前記受信側通信機器に割り当てることを認めた最大の輻輳ウインドウ数とし、t_seqnoは、前記データ列が有する送信が完了していないデータのうちでシーケンス番号が最小のデータのシーケンス番号とし、curseqは、前記データ列が有する送信が完了していないデータのうちでシーケンス番号が最大のデータのシーケンス番号とする。
  9. コネクション開始時又はタイムアウト発生時において、前記データ列が有する送信が完了していないデータのセグメント数が、maxcwnd以下の場合、
    前記サプリメントセグメント送信段階は、
    シーケンス番号がcurseqのデータから降順にデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階
    を有する請求項1に記載のフロー制御方法。
    但し、maxcwndは、前記送信側通信機器が前記受信側通信機器に割り当てることを認めた最大の輻輳ウインドウ数とし、curseqは、前記データ列が有する送信が完了していないデータのうちでシーケンス番号が最大のデータのシーケンス番号とする。
  10. 前記受信側通信機器から同一のデータセグメントの送信を要求する確認応答をN個重複して受信した場合であって、前記データ列が有する送信が完了していないデータのセグメント数が、maxcwnd×2−cwnd/2以上の場合、
    前記データセグメント送信段階は、
    ネットワークにおいて損失したと判断されたデータセグメントを再送する段階
    を有し、
    前記サプリメントセグメント送信段階は、
    シーケンス番号がt_seqno+maxcwndのデータから昇順にcurseq−cwnd/2個のデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階
    を有する請求項1に記載のフロー制御方法。
    但し、cwndは、帯域幅測定段階において測定された帯域幅に対応する輻輳ウインドウ数とし、t_seqnoは、前記データ列が有する送信が完了していないデータのうちでシーケンス番号が最小のデータのシーケンス番号とし、curseqは、前記データ列が有する送信が完了していないデータのうちでシーケンス番号が最大のデータのシーケンス番号とする。
  11. 前記受信側通信機器から同一のデータセグメントの送信を要求する確認応答をN個重複して受信した場合であって、前記データ列が有する送信が完了していないデータのセグメント数が、maxcwnd以上でmaxcwnd×2−cwnd/2−1以下の場合、
    前記データセグメント送信段階は、
    ネットワークにおいて損失したと判断されたデータセグメントを再送する段階
    を有し、
    前記サプリメントセグメント送信段階は、
    シーケンス番号がt_seqno+maxcwndのデータから昇順にcurseqまでのデータを選択しながら、選択したデータをサプリメントセグメントとして送信した後、シーケンス番号がt_seqno+maxcwnd−1のデータから降順にデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階
    を有する請求項1に記載のフロー制御方法。
    但し、cwndは、帯域幅測定段階において測定された帯域幅に対応する輻輳ウインドウ数とし、t_seqnoは、前記データ列が有する送信が完了していないデータのうちでシーケンス番号が最小のデータのシーケンス番号とし、curseqは、前記データ列が有する送信が完了していないデータのうちでシーケンス番号が最大のデータのシーケンス番号とする。
  12. 前記受信側通信機器から同一のデータセグメントの送信を要求する確認応答をN個重複して受信した場合であって、前記データ列が有する送信が完了していないデータのセグメント数が、maxcwnd−1以下の場合、
    前記データセグメント送信段階は、
    ネットワークにおいて損失したと判断されたデータセグメントを再送する段階
    を有し、
    前記サプリメントセグメント送信段階は、
    シーケンス番号がcurseqのデータから降順にデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段階
    を有する請求項1に記載のフロー制御方法。
    但し、cwndは、帯域幅測定段階において測定された帯域幅に対応する輻輳ウインドウ数とし、curseqは、前記データ列が有する送信が完了していないデータのうちでシーケンス番号が最大のデータのシーケンス番号とする。
  13. 前記データセグメント送信段階は、
    ネットワークに存在するデータセグメントの数を示すpipe値がcwnd以下の場合に、前記受信側通信機器にデータセグメントを送信する段階
    を有する請求項1に記載のフロー制御方法。
    但し、cwndは、帯域幅測定段階において測定された帯域幅に対応する輻輳ウインドウ数とする。
  14. 前記帯域幅測定段階は、
    前記サプリメントセグメントに対する確認応答のうち、既に確認応答を受け取っているデータに対する確認応答に依存せず、未だ確認応答を受け取っていないデータに対する確認応答に基づいて、利用可能なネットワークの帯域幅を測定する段階
    を有する請求項1に記載のフロー制御方法。
  15. TCPによるデータ通信を行う通信機器であって、
    送信側通信機器のアプリケーションから受信側通信機器のアプリケーションに受け渡すべきデータ列が有するデータをデータセグメントとして送信するデータセグメント送信部と、
    前記データ列が有する送信が完了していないデータであって、送信が完了しているデータのうちで前記データ列の先頭から連続するデータに連続しないデータを選択するデータ選択部と、
    前記データ選択部が選択したデータをサプリメントセグメントとして送信するサプリメントセグメント送信部と、
    前記サプリメントセグメントに対して前記受信側通信機器から送信される確認応答に基づいて、利用可能なネットワークの帯域幅を測定する帯域幅測定部と
    を備える通信機器。
  16. 送信側通信機器及び受信側通信機器を備えるTCP通信システムであって、
    前記送信側通信機器は、
    送信側通信機器のアプリケーションから受信側通信機器のアプリケーションに受け渡すべきデータ列が有するデータをデータセグメントとして送信するデータセグメント送信部と、
    前記データ列が有する送信が完了していないデータであって、送信が完了しているデータのうちで前記データ列の先頭から連続するデータに連続しないデータを選択するデータ選択部と、
    前記データ選択部が選択したデータをサプリメントセグメントとして送信するサプリメントセグメント送信部と、
    前記サプリメントセグメントに対して前記受信側通信機器から送信される確認応答に基づいて、利用可能なネットワークの帯域幅を測定する帯域幅測定部と
    を有するTCP通信システム。
  17. 前記受信側通信機器は、
    前記送信側通信機器から送信された前記データセグメント及び前記サプリメントセグメントを受信する受信部と、
    前記受信部がデータセグメント又はサプリメントセグメントを受信した場合に、前記受信部が既に受信しているデータセグメント及びサプリメントセグメントのデータのシーケンス番号に、前記受信部が最後に受信したデータセグメント又はサプリメントセグメントのデータのシーケンス番号が付加された確認応答を前記送信側通信機器に送信する確認応答送信部と
    を有する請求項16に記載のTCP通信システム。
JP2004253255A 2004-08-31 2004-08-31 フロー制御方法、通信機器、及びtcp通信システム Withdrawn JP2006074251A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004253255A JP2006074251A (ja) 2004-08-31 2004-08-31 フロー制御方法、通信機器、及びtcp通信システム
PCT/JP2005/015945 WO2006025469A1 (ja) 2004-08-31 2005-08-31 フロー制御方法、通信機器、及びtcp通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004253255A JP2006074251A (ja) 2004-08-31 2004-08-31 フロー制御方法、通信機器、及びtcp通信システム

Publications (1)

Publication Number Publication Date
JP2006074251A true JP2006074251A (ja) 2006-03-16

Family

ID=36000118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004253255A Withdrawn JP2006074251A (ja) 2004-08-31 2004-08-31 フロー制御方法、通信機器、及びtcp通信システム

Country Status (2)

Country Link
JP (1) JP2006074251A (ja)
WO (1) WO2006025469A1 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001277773A1 (en) * 2000-09-22 2002-04-02 Matsushita Electric Industrial Co., Ltd. Data transmitting/receiving method, transmitting device, receiving device, transmitting/receiving system, and program

Also Published As

Publication number Publication date
WO2006025469A1 (ja) 2006-03-09

Similar Documents

Publication Publication Date Title
Allman et al. RFC 5681: TCP congestion control
US7385923B2 (en) Method, system and article for improved TCP performance during packet reordering
US9178665B2 (en) Communication apparatus, communication system, absent packet detecting method and absent packet detecting program
JP5523350B2 (ja) Tcpフロー制御のための方法及び装置
CN1671094B (zh) 对假超时的响应
US6958997B1 (en) TCP fast recovery extended method and apparatus
KR102046792B1 (ko) 송신 노드로부터 목적지 노드로의 데이터 전송 방법
US8306062B1 (en) Method and apparatus of adaptive large receive offload
WO2008044653A1 (fr) Système, périphérique et procédé de communication
WO2005027456A1 (ja) 通信システム、通信装置、およびデータの再送制御方法
Bhandarkar et al. Improving the robustness of TCP to non-congestion events
CA2466231A1 (en) Time-aware best-effort hole-filling retry method and system for network communications
US20060271680A1 (en) Method For Transmitting Window Probe Packets
US7480301B2 (en) Method, system and article for improved TCP performance during retransmission in response to selective acknowledgement
JP2005192216A (ja) トランスポートオフロードエンジンのための再送信システムおよび方法
US20060259845A1 (en) Method and apparatus for acknowledging a bitwise data chunk in wireline and wireless communication systems
US20080195911A1 (en) Automatic repeat request (arq) reset method
US20050038899A1 (en) Method, system and article for client application control of network transmission loss tolerance
US10917348B1 (en) Network interface device that sets an ECN-CE bit in response to detecting congestion at an internal bus interface
CN104580171B (zh) Tcp协议的传输方法、装置和系统
JPH0955718A (ja) データ通信装置
US20140204737A1 (en) Reducing round-trip times for tcp communications
EP1427127A2 (en) Communication control method, communication system and communication apparatus that can improve throughput
JP2006074251A (ja) フロー制御方法、通信機器、及びtcp通信システム
EP1505759A2 (en) Method and device for transmitting/receiving data using acknowledged transport layer protocols

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106