JP5020076B2 - 低頻度ackのシステムに適した高性能tcp - Google Patents
低頻度ackのシステムに適した高性能tcp Download PDFInfo
- Publication number
- JP5020076B2 JP5020076B2 JP2007523876A JP2007523876A JP5020076B2 JP 5020076 B2 JP5020076 B2 JP 5020076B2 JP 2007523876 A JP2007523876 A JP 2007523876A JP 2007523876 A JP2007523876 A JP 2007523876A JP 5020076 B2 JP5020076 B2 JP 5020076B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- burst
- data packet
- ack
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
RFC2001「TCPスロースタート、輻輳回避、高速再送信および早期回復アルゴリズム(TCP Slow Start, Congestion Avoidance, Fast Retransmit and Fast Recovery Algorithms)」1997年1月、および、
RFC2582「TCP早期回復アルゴリズムに関するNew Renoの改良(the new Reno modification to TCP's Fast Recovery Algorithm)」1999年4月、である。
図2は、データネットワーク10におけるネットワーク装置のプロトコルスタック50を示すブロック図である。当技術分野では公知のとおり、コンピュータネットワークを記述するために、開放型システム間相互接続(「OSI」)モデルが使用される。OSIモデルは、下位から上位に、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、およびアプリケーション層を含む7層から成る。物理層はデータビットを通信リンクを介して転送する。データリンク層はデータのエラーのない(error free)フレームを転送する。ネットワーク層はデータパケットを転送およびルーティングする。
IP58はIPパケット形式のデータを伝送およびルーティングする。図3はこのようなパケット80の1つの構造を示すブロック図である。パケット80はヘッダフィールド82およびペイロードフィールド104を有する。パケット80のペイロードフィールド104は一般に、1つのネットワーク装置から他のネットワーク装置に送信されるデータを含む。ただし、ペイロードフィールド104は、ICMP56メッセージなどのネットワーク管理メッセージ、または、UDP60、TCP62、FTP68、もしくはDHCP66などの他のプロトコルのデータパケットも含むことができる。
当技術分野では公知のとおり、TCP62の用途の1つは、送信側から受信側へのデータパケット80の順序どおりの配信を保証することである。ここでは、第1ネットワーク装置14を送信側とし、第2ネットワーク装置16を受信側と称する。ただし、いずれのネットワーク装置も送信側または受信側になることができる。パケットが損失するか、または破損して到達する場合、TCPはこのようなパケットの再送信を保証する。さらに、TCP62はデータネットワーク10上の輻輳を監視することを試み、これに応じて、データ伝送速度を調整する。限定されたネットワークリソースをデータストリームが競合するとき、帯域幅を適切に割り当てる試みにおいてフロー制御プロセスが選択される。TCP62は、スライディング「ウィンドウ」を使用することによって、そのフロー制御を実行する。スライディングウィンドウによって、発信元アプリケーションを有する送信側が宛先アプリケーションを有する受信側16に、確認応答を待つ必要なく、複数のパケットを送信できる。受信側16によるフロー制御は「フロー制御」と呼ばれるのに対して、送信側14によるフロー制御は「輻輳制御」と呼ばれる。
次に、本発明によって提供される改良を説明する前に、TCPのいわゆる「Reno」実装に従う典型的な標準TCPフロー制御を説明する。図4は伝送制御プロトコル62を表すブロック図である。コネクションのセットアップ後、送信側14のTCP62プロセスは開始状態122にある。開始状態122において、輻輳ウィンドウは初期ウィンドウ値(「IW」)に設定される。一般に、IWはMSSと同一であるが、TCPの特定の実装では、IWをMSSの2倍または4倍に設定する。特に、遅延ACKを使用する受信側16と通信するとき、MSSよりも大きいIWが第1パケットの不必要な遅延を無くす。加えて、電子メールまたはハイパーテキストマークアップコネクションなどのトランザクション指向コネクションは、一般に、各コネクション当たり少量のデータを送信する。十分に大きなIWは1つのウィンドウ内でこのデータの全てを転送することができるので、トランザクション速度が大幅に増す。
前述の図4の状態に加えて、TCP62はさらに、高速再送信および早期回復を可能にする。重複ACKが送信側14で受信される場合、これは特殊ケースである。軽度の輻輳または一時的輻輳の状態下では、高速再送信および早期回復がTCP62性能を向上できる。例えば、高速再送信は、TCP62が第3の重複ACKを受信するときに取るアクションである。この状況は、少なくとも1つのパケットが伝送状態から外れて損失されたが、少なくとも3つの後続のデータが無事に到達していることを示す。
TCP62の従来のNew Reno実装においては、送信側14は比較的小さい「バースト」でパケットを送信できる。例えば、送信側14はわずか4つのパケットを含むバーストを送信できる。典型的なNew RenoのTCPの受信側16は、2つのパケットを受信する度に、ACKを送信する。典型的な送信側14のルールは、ACKを受信する度に、TCP送信ウィンドウに従って、送信側が新しいバースト(4パケット)を送信する。
−バースト進行中フラグ601(ビジーコネクションについては、大部分の時間で真である)
−Renoのバースト内に存在する現在のパケット602
−バーストサイズ603(min=current_default, max==current_default*N(ここでNは8)と定量化される)
特定の条件下では、標準New Reno TCPアルゴリズムはバーストサイズの増加を許容しない(例えば、Win2kの例)。本発明はこの状況を回避し、バーストサイズが送信されたACK数に関係なく増加することを保証する。
大きい転送サイズに対して、32のバーストサイズは、Windows(登録商標)2000では良好に機能していることは公知である。小さい転送サイズはパケット損失も少ない。本発明のシステムは、TCP送信パケットルーチンを呼び出す度に、もはやバーストを送信しないので、小さいパケットを消費するピアのプロセス能力にプロセスが応える。理論的には、これは極めて好ましいスループットの向上である(従来技術におけるのと同様に、ピアコネクションのスループットを容易に超えることができる)。
全ての転送サイズは、送出の準備がされているときはいつでも、TCP送信プロセス150を呼び出すことができる。進行中のバーストが存在し、さらなるデータ送信が要求された場合、ウィンドウがこの時点でデータ送信を許容するならば、追加データが直ちに設定される。したがって、ピアへの出力は確認応答によって主として制御される。再度、プロセスはピアの使用量速度に大きく依存する。この結果、高速の無損失データ伝送が可能になる。
Claims (10)
- 一のデータ通信装置においてデータパケットを処理する方法であって、
(a)前記一のデータ通信装置と他のデータ通信装置の間で許容される未処理のデータパケットの最大数である輻輳ウィンドウを保持する工程と、
(b)前記一のデータ通信装置からの1つのバースト内で共に送信されるデータパケットの最大数であるバーストサイズを保持する工程と、
(c)前記バーストサイズによって決定されたデータ量で、当初のデータパケットのバーストを送信する工程と、
(d)前記当初のデータパケットのバーストの確認応答(ACK)を受信する工程であって、前記バーストにおける2つのパケットごとよりも少ない頻度でACKが受信される、工程と、
(e)前記ACKによって示されるパケット数が前記当初のデータパケットのバーストにおけるパケット数と同一の場合、前記輻輳ウィンドウを増加させる工程と、
(f)前記ACKによって示されるパケット数が前記当初のデータパケットのバーストにおけるパケット数よりも少ない場合、前記輻輳ウィンドウを減少させる工程と、
(g)前記当初のデータパケットのバーストのうちの少なくとも所定のデータ量について、前記ACKが確認応答を行うと、前記バーストサイズを増加させる工程であって、前記所定のデータ量は前記当初のバーストにおけるパケット数よりも少ない、工程と、
(h)前記当初のデータパケットのバーストのうちの前記所定のデータ量よりも少ない量について、前記ACKが確認応答を行うと、前記バーストサイズを同一サイズに維持する工程とを備え、
さらに、前記ACKによって確認応答が行われたデータ量が、前記輻輳ウィンドウの半分よりも多く、かつ、送信待ち状態のデータパケットが存在する場合、前記バーストサイズを所定量増加させる工程とを備えた、データパケット処理方法。 - 請求項1において、前記工程(d)よりも後に、さらに、
前記当初のデータパケットのバーストのデータ量以上の量について、前記ACKが確認応答を行う場合、前記バーストサイズを増加させる、データパケット処理方法。 - 請求項1において、さらに、送信される追加データが存在しない場合、前記バーストサイズを同一に維持する工程を備えた、データパケット処理方法。
- 請求項1において、前記データパケットがTCPパケットである、データパケット処理方法。
- 請求項1において、さらに、前記一のデータ通信装置がアイドル状態になると、前記バーストサイズをデフォルト値にリセットする工程を備えた、データパケット処理方法。
- 請求項1において、さらに、データパケット損失が検出されると、前記バーストサイズをデフォルト値にリセットする工程を備えた、データパケット処理方法。
- 請求項1において、さらに、
(i)進行中バーストフラグを保持する工程であって、前記当初のデータパケットのバーストを送信する前記工程(c)が完了した後に、前記進行中バーストフラグが真値に設定される工程を備えた、データパケット処理方法。 - 請求項7において、前記工程(g)および工程(h)は、前記進行中バーストフラグが前記真値に設定されている場合にのみ実行される、データパケット処理方法。
- 請求項8において、前記ステップ(i)は、さらに、前記当初のバーストにおけるパケットが所定のパケットサイズ制限値よりも短い長さのパケットを有する場合にのみ、進行中バーストフラグを前記真値に設定する、データパケット処理方法。
- 請求項7において、前記バーストサイズが所定の最大バーストサイズに達した場合、前記進行中バーストフラグが偽値に設定される、データパケット処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US59206504P | 2004-07-29 | 2004-07-29 | |
US60/592,065 | 2004-07-29 | ||
PCT/US2005/027212 WO2006015300A2 (en) | 2004-07-29 | 2005-07-29 | High performance tcp for systems with infrequent ack |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008508817A JP2008508817A (ja) | 2008-03-21 |
JP5020076B2 true JP5020076B2 (ja) | 2012-09-05 |
Family
ID=35787891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007523876A Active JP5020076B2 (ja) | 2004-07-29 | 2005-07-29 | 低頻度ackのシステムに適した高性能tcp |
Country Status (4)
Country | Link |
---|---|
US (1) | US7706274B2 (ja) |
EP (1) | EP1771742B1 (ja) |
JP (1) | JP5020076B2 (ja) |
WO (1) | WO2006015300A2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101139996B1 (ko) * | 2004-12-22 | 2012-05-02 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 중복 확인으로 데이터 흐름 제어 |
US20070081561A1 (en) * | 2005-10-11 | 2007-04-12 | International Business Machines Corporation | Single ended solution for estimation of bandwidth delay product |
US8411581B2 (en) * | 2006-07-25 | 2013-04-02 | Broadcom Corporation | Method and system for medium access control (MAC) layer specialization for voice and multimedia data streams |
JP4714172B2 (ja) * | 2007-02-28 | 2011-06-29 | 日本放送協会 | ファイル受信装置およびファイル受信プログラム |
US8199648B2 (en) * | 2007-07-03 | 2012-06-12 | Cisco Technology, Inc. | Flow control in a variable latency system |
US8015310B2 (en) * | 2008-08-08 | 2011-09-06 | Cisco Technology, Inc. | Systems and methods of adaptive playout of delayed media streams |
US8812641B2 (en) * | 2008-09-30 | 2014-08-19 | Freescale Semiconductor, Inc. | Processing load with normal or fast operation mode |
US8239739B2 (en) * | 2009-02-03 | 2012-08-07 | Cisco Technology, Inc. | Systems and methods of deferred error recovery |
US8036223B2 (en) * | 2009-02-26 | 2011-10-11 | Research In Motion Limited | Method, apparatus and system for improving packet throughput based on classification of packet loss in data transmissions |
US9584416B2 (en) * | 2009-06-08 | 2017-02-28 | Qualcomm Incorporated | Systems and methods to provide flow control for mobile devices |
US8625622B2 (en) * | 2009-12-25 | 2014-01-07 | Cisco Technology, Inc. | Increasing transmission rate to a remote device in response to attributing information loss as not being a result of network congestion |
TWI492574B (zh) * | 2010-02-05 | 2015-07-11 | Realtek Semiconductor Corp | 一種通訊系統的遠端裝置狀態的偵測與傳輸控制的方法 |
JP5533270B2 (ja) * | 2010-05-28 | 2014-06-25 | 日本電気株式会社 | ゲートウェイ装置およびゲートウェイ装置におけるパケットバッファ管理方法 |
JP5517875B2 (ja) | 2010-10-07 | 2014-06-11 | パナソニック株式会社 | 無線通信システム、データ送信装置、データ無線受信装置、及び、無線通信方法 |
KR101051712B1 (ko) * | 2011-02-11 | 2011-07-26 | 삼성탈레스 주식회사 | 데이터 전송 방법 |
US10009445B2 (en) * | 2012-06-14 | 2018-06-26 | Qualcomm Incorporated | Avoiding unwanted TCP retransmissions using optimistic window adjustments |
US9276866B2 (en) * | 2012-11-30 | 2016-03-01 | Microsoft Technology Licensing, Llc | Tuning congestion notification for data center networks |
US9118569B2 (en) * | 2013-04-06 | 2015-08-25 | Citrix System, Inc. | Systems and methods for TCP Westwood hybrid approach |
CN104954279B (zh) * | 2014-03-28 | 2018-04-10 | 华为技术有限公司 | 一种传输控制方法、装置及系统 |
JP6455135B2 (ja) | 2014-12-24 | 2019-01-23 | 富士通株式会社 | パケット抽出装置、パケット抽出プログラムおよびパケット抽出方法 |
EP3297384B1 (en) * | 2015-05-12 | 2020-07-01 | LG Electronics Inc. | Method for adjusting contention window size in wireless access system supporting unlicensed band, and device for supporting same |
KR102363534B1 (ko) * | 2015-06-08 | 2022-02-17 | 삼성전자주식회사 | 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치 |
IT201900010362A1 (it) * | 2019-06-28 | 2020-12-28 | Telecom Italia Spa | Abilitazione della misura di perdita di pacchetti round-trip in una rete di comunicazioni a commutazione di pacchetto |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078564A (en) * | 1996-08-30 | 2000-06-20 | Lucent Technologies, Inc. | System for improving data throughput of a TCP/IP network connection with slow return channel |
US7035291B2 (en) * | 2001-05-02 | 2006-04-25 | Ron Grinfeld | TCP transmission acceleration |
US5974028A (en) * | 1997-02-24 | 1999-10-26 | At&T Corp. | System and method for improving transport protocol performance in communication networks having lossy links |
US5912878A (en) * | 1997-02-27 | 1999-06-15 | Motorola, Inc. | Method and end station with improved user reponse time in a mobile network |
US6105064A (en) * | 1997-05-30 | 2000-08-15 | Novell, Inc. | System for placing packets on network for transmission from sending endnode to receiving endnode at times which are determined by window size and metering interval |
CA2249152C (en) * | 1998-09-30 | 2003-07-08 | Northern Telecom Limited | Apparatus for and method of managing bandwidth for a packet-based connection |
JP3003095B1 (ja) * | 1998-10-22 | 2000-01-24 | 株式会社超高速ネットワーク・コンピュータ技術研究所 | フロー制御方法 |
US6643259B1 (en) * | 1999-11-12 | 2003-11-04 | 3Com Corporation | Method for optimizing data transfer in a data network |
US6831912B1 (en) * | 2000-03-09 | 2004-12-14 | Raytheon Company | Effective protocol for high-rate, long-latency, asymmetric, and bit-error prone data links |
US7027393B1 (en) * | 2001-03-02 | 2006-04-11 | Cisco Technology, Inc. | TCP optimized single rate policer |
US7389336B2 (en) * | 2003-01-24 | 2008-06-17 | Microsoft Corporation | Pacing network packet transmission using at least partially uncorrelated network events |
US7290195B2 (en) * | 2004-03-05 | 2007-10-30 | Microsoft Corporation | Adaptive acknowledgment delay |
US7397759B2 (en) * | 2004-03-15 | 2008-07-08 | Microsoft Corporation | Response for spurious timeout |
-
2005
- 2005-07-29 EP EP05776751.9A patent/EP1771742B1/en active Active
- 2005-07-29 US US11/194,130 patent/US7706274B2/en active Active
- 2005-07-29 JP JP2007523876A patent/JP5020076B2/ja active Active
- 2005-07-29 WO PCT/US2005/027212 patent/WO2006015300A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP1771742B1 (en) | 2017-07-12 |
US20060034286A1 (en) | 2006-02-16 |
US7706274B2 (en) | 2010-04-27 |
JP2008508817A (ja) | 2008-03-21 |
WO2006015300A2 (en) | 2006-02-09 |
EP1771742A4 (en) | 2011-06-22 |
EP1771742A2 (en) | 2007-04-11 |
WO2006015300A3 (en) | 2006-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5020076B2 (ja) | 低頻度ackのシステムに適した高性能tcp | |
US6643259B1 (en) | Method for optimizing data transfer in a data network | |
KR100785293B1 (ko) | 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법 | |
US7369498B1 (en) | Congestion control method for a packet-switched network | |
JP5544430B2 (ja) | 通信装置および通信システム | |
CA2628788C (en) | Transmission control protocol with performance enhancing proxy for degraded communication channels | |
CA2313025C (en) | A receiver initiated recovery algorithm (rira) for the layer 2 tunneling protocol (l2tp) | |
KR102061772B1 (ko) | 데이터 전송 방법 및 장치 | |
Caini et al. | Transport layer protocols and architectures for satellite networks | |
US20070223529A1 (en) | Methods and apparatus for estimating bandwidth of a data network | |
CN104683259A (zh) | Tcp拥塞控制方法及装置 | |
Wang et al. | Use of TCP decoupling in improving TCP performance over wireless networks | |
JP2007013449A (ja) | シェーパー制御方法、データ通信システム、ネットワークインタフェース装置及びネットワーク中継装置 | |
JP2005136684A (ja) | データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム | |
Henderson | TCP performance over satellite channels | |
WO2020154872A1 (zh) | 一种传输控制协议加速方法和装置 | |
KR100913897B1 (ko) | 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법 | |
JP2984910B2 (ja) | データフロー制御方法 | |
US20140369189A1 (en) | Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent | |
KR101231793B1 (ko) | Tcp 세션 최적화 방법 및 네트워크 노드 | |
KR101396785B1 (ko) | 네트워크 장치에서 tcp 기능을 수행하는 방법 | |
Chen et al. | An enhanced TCP for satellite network with intermittent connectivity and random losses | |
JP2003198612A (ja) | パケット通信ネットワークにおけるファイル転送方法 | |
Eddie Law | Transport protocols for wireless mesh networks | |
Suthar et al. | Comparision of SACK TCP performance with and without LSS for high speed network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080513 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110517 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110808 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110815 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111116 |
|
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: 20120515 |
|
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: 20120612 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5020076 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: 20150622 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |