CA2548966A1 - Increasing tcp re-transmission process speed - Google Patents

Increasing tcp re-transmission process speed Download PDF

Info

Publication number
CA2548966A1
CA2548966A1 CA002548966A CA2548966A CA2548966A1 CA 2548966 A1 CA2548966 A1 CA 2548966A1 CA 002548966 A CA002548966 A CA 002548966A CA 2548966 A CA2548966 A CA 2548966A CA 2548966 A1 CA2548966 A1 CA 2548966A1
Authority
CA
Canada
Prior art keywords
tcp
ack
duplicate
connection
protocol
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.)
Granted
Application number
CA002548966A
Other languages
French (fr)
Other versions
CA2548966C (en
Inventor
Vadim Makher-Vaks
Zorik Machulsky
Giora Biran
Leah Shalev
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.)
Mellanox Technologies Ltd
Original Assignee
International Business Machines Corporation
Vadim Makher-Vaks
Zorik Machulsky
Giora Biran
Leah Shalev
Mellanox Technologies, Ltd.
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 International Business Machines Corporation, Vadim Makher-Vaks, Zorik Machulsky, Giora Biran, Leah Shalev, Mellanox Technologies, Ltd. filed Critical International Business Machines Corporation
Publication of CA2548966A1 publication Critical patent/CA2548966A1/en
Application granted granted Critical
Publication of CA2548966C publication Critical patent/CA2548966C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • 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)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Iron Core Of Rotating Electric Machines (AREA)

Abstract

An RNIC implementation that performs direct data placement to memory where all segments of a particular connection are aligned, or moves data through reassembly buffers where all segments of a particular connection are non-aligned. The type of connection that cuts-through without accessing the reassembly buffers is referred to as a "Fast" connection because it is highly likely to be aligned, while the other type is referred to as a "Slow"
connection. When a consumer establishes a connection, it specifies a connection type (S2). The connection type can change from Fast to Slow and back. The invention reduces memory bandwidth, latency, error recovery using TCP retransmit and provides for a "graceful recovery" from an empty receive queue. The implementation also may conduct CRC validation (S11, S6) for a majority of inbound DDP segments in the Fast connection before sending a TCP
acknowledgement (Ack) confirming segment reception.

Claims (11)

1. A method of increasing transmission control protocol (TCP) re-transmission process speed, the method comprising the steps of:
generating a first duplicate TCP acknowledgement (Ack) covering a received TCP
segment that is determined to be valid by TCP and was dropped by TCP based on an upper layer protocal (ULP) decision (S9); and transmitting the first duplicate TCP Ack.
2. The method of claim 1, wherein the ULP includes at least one of: a marker with protocol data unit alignment (MPA) protocol, a direct data placement (DDP) protocol, and a remote direct memory access (RDMA) protocol.
3. The method of claim 1, wherein the first duplicate TCP Ack is generated for a TCP
segment regardless of whether the TCP segment is in-order or out-of order.
4. The method of claim 1, wherein the first duplicate TCP Ack is generated even where a next in-order TCP segment has not been received.
5. The method of claim I, further comprising the step of generating a second duplicate TCP
acknowledgement (Ack) covering a next out-of-order received TCP segment and transmitting the second duplicate TCP Ack.
6. A system for increasing transmission control protocol (TCP) re-transmission process speed, the system comprising:
a TCP acknowledgement (Ack) generator to generate a first duplicate TCP Ack covering a received TCP segment that is determined to be valid by TCP and was dropped by TCP based on an upper layer protocal (LTLP) decision.
7. The system of claim 6, further comprising means for transmitting the first duplicate TCP
Ack.
8. The system of claim 6, wherein the ULP includes at least one of: a marker with protocol data unit alignment (MPA) protocol, a direct data placement (DDP) protocol, and a remote direct memory access (RDMA) protocol.
9. The system of claim 6, wherein the generator generates the first duplicate TCP Ack for a TCP segment regardless of whether the TCP segment is in-order or out-of-order.
10. The system of claim 6, wherein the generator generates the first duplicate TCP Ack even where a next in-order TCP segment has not been received.
11. The system of claim 6, further comprising a TCP Ack generator for generating a second duplicate TCP acknowledgement (Ack) covering a next out-of-order received TCP
segment and a means for transmitting the second duplicate TCP Ack.
CA2548966A 2003-12-11 2004-12-06 Increasing tcp re-transmission process speed Active CA2548966C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/733,630 US7177941B2 (en) 2003-12-11 2003-12-11 Increasing TCP re-transmission process speed
US10/733,630 2003-12-11
PCT/US2004/040758 WO2005060580A2 (en) 2003-12-11 2004-12-06 Increasing tcp re-transmission process speed

Publications (2)

Publication Number Publication Date
CA2548966A1 true CA2548966A1 (en) 2005-07-07
CA2548966C CA2548966C (en) 2010-06-01

Family

ID=34653141

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2548966A Active CA2548966C (en) 2003-12-11 2004-12-06 Increasing tcp re-transmission process speed

Country Status (9)

Country Link
US (1) US7177941B2 (en)
EP (1) EP1702273B1 (en)
JP (1) JP4583383B2 (en)
KR (1) KR100974045B1 (en)
CN (1) CN100520758C (en)
AT (1) ATE470187T1 (en)
CA (1) CA2548966C (en)
DE (1) DE602004027543D1 (en)
WO (1) WO2005060580A2 (en)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7757232B2 (en) * 2003-08-14 2010-07-13 Hewlett-Packard Development Company, L.P. Method and apparatus for implementing work request lists
US7539780B2 (en) * 2003-12-01 2009-05-26 International Business Machines Corporation Asynchronous completion notification for an RDMA system
JP4755596B2 (en) * 2003-12-11 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Data transfer error check
US8065439B1 (en) * 2003-12-19 2011-11-22 Nvidia Corporation System and method for using metadata in the context of a transport offload engine
US20060039538A1 (en) * 2004-08-23 2006-02-23 Minnis John A "Software only" tool for testing networks under high-capacity, real-world conditions
US7761608B2 (en) * 2004-09-01 2010-07-20 Qlogic, Corporation Method and system for processing markers, data integrity fields and digests
US7464174B1 (en) * 2005-03-07 2008-12-09 Pericom Semiconductor Corp. Shared network-interface controller (NIC) using advanced switching (AS) turn-pool routing field to select from among multiple contexts for multiple processors
US8458280B2 (en) * 2005-04-08 2013-06-04 Intel-Ne, Inc. Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations
US20060259570A1 (en) * 2005-05-13 2006-11-16 Microsoft Corporation Method and system for closing an RDMA connection
US7554976B2 (en) * 2005-05-13 2009-06-30 Microsoft Corporation Method and system for transferring a packet stream to RDMA
US7761619B2 (en) * 2005-05-13 2010-07-20 Microsoft Corporation Method and system for parallelizing completion event processing
US8316129B2 (en) * 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
US20070008989A1 (en) * 2005-06-30 2007-01-11 Intel Corporation Packet processing
US20070091900A1 (en) * 2005-10-20 2007-04-26 Nokia Corporation Prioritized control packet delivery for transmission control protocol (TCP)
KR100834431B1 (en) 2006-01-02 2008-06-04 인터내셔널 비지네스 머신즈 코포레이션 RNIC-BASED OFFLOAD OF iSCSI DATA MOVEMENT FUNCTION BY INITIATOR
US7782905B2 (en) * 2006-01-19 2010-08-24 Intel-Ne, Inc. Apparatus and method for stateless CRC calculation
US7889762B2 (en) 2006-01-19 2011-02-15 Intel-Ne, Inc. Apparatus and method for in-line insertion and removal of markers
US8316156B2 (en) 2006-02-17 2012-11-20 Intel-Ne, Inc. Method and apparatus for interfacing device drivers to single multi-function adapter
US8078743B2 (en) * 2006-02-17 2011-12-13 Intel-Ne, Inc. Pipelined processing of RDMA-type network transactions
US7849232B2 (en) * 2006-02-17 2010-12-07 Intel-Ne, Inc. Method and apparatus for using a single multi-function adapter with different operating systems
US8798085B2 (en) * 2006-06-20 2014-08-05 Intel Corporation Techniques to process network protocol units
US8244825B2 (en) * 2006-11-06 2012-08-14 Hewlett-Packard Development Company, L.P. Remote direct memory access (RDMA) completion
US8271669B2 (en) * 2007-05-30 2012-09-18 Broadcom Corporation Method and system for extended steering tags (STAGS) to minimize memory bandwidth for content delivery servers
KR100932968B1 (en) * 2008-02-14 2009-12-21 부산대학교 산학협력단 How to handle TCPC retransmission by TOE without intervention of host computer
US8296386B1 (en) 2008-06-27 2012-10-23 Qlogic, Corporation Method and system for processing network packets
US7979671B2 (en) * 2008-07-28 2011-07-12 CacheIQ, Inc. Dual hash indexing system and methodology
CN101873257B (en) * 2010-06-04 2013-04-17 华为技术有限公司 Method and system for receiving messages
CN101917472B (en) * 2010-08-12 2013-05-29 北京星网锐捷网络技术有限公司 Method, device and equipment for recombining multi-link messages
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
CN102694635B (en) * 2012-06-07 2014-11-05 中国科学院声学研究所 Method and device for generating and using selective acknowledgement (SACK) option
TWI501082B (en) * 2013-07-19 2015-09-21 Inventec Corp Computer system and operating method thereof
US10110518B2 (en) * 2013-12-18 2018-10-23 Mellanox Technologies, Ltd. Handling transport layer operations received out of order
US10462711B2 (en) * 2017-01-30 2019-10-29 Futurewei Technologies, Inc. Controlling TCP data transmission
JP6376229B2 (en) * 2017-02-09 2018-08-22 オムロン株式会社 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND COMMUNICATION METHOD
US10637828B2 (en) 2017-09-17 2020-04-28 Mellanox Technologies, Ltd. NIC with stateful connection tracking
CN108600194B (en) * 2018-03-30 2021-03-23 上海兆芯集成电路有限公司 Network interface controller
US11075848B2 (en) 2019-08-21 2021-07-27 Hewlett Packard Enterprise Development Lp Fast path for acknowledgement frames in wireless networks
CN113572575A (en) * 2021-07-16 2021-10-29 北京东方国信科技股份有限公司 Self-adaptive data transmission method and system
US11764934B2 (en) 2021-12-06 2023-09-19 Charter Communications Operating, Llc Fast adaptive buffering of hierarchical TCP communications
US11622004B1 (en) 2022-05-02 2023-04-04 Mellanox Technologies, Ltd. Transaction-based reliable transport

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6882624B1 (en) * 1998-04-09 2005-04-19 Nokia Networks Oy Congestion and overload control in a packet switched network
KR100296077B1 (en) 1999-05-14 2001-07-12 이계철 Method for Transmission Control Protocol window size control in Asynchronous Transfer Mode
US6198735B1 (en) * 1999-05-20 2001-03-06 Motorola, Inc. Method for retransmitting a data packet in a packet network
US7089312B2 (en) * 2001-09-20 2006-08-08 Intel Corporation System and method for reducing retransmissions due to tunneled TCP-in-TCP communication in a network
JP2003264579A (en) * 2002-03-06 2003-09-19 Ntt Docomo Inc Packet transferring system, controller and mobile terminal to be used for the system, and packet transferring program
US7295555B2 (en) * 2002-03-08 2007-11-13 Broadcom Corporation System and method for identifying upper layer protocol message boundaries
US7028094B2 (en) * 2002-08-07 2006-04-11 Nokia Corporation Data communication method, system, and transmitter and receiver constituting the system
WO2004017220A1 (en) * 2002-08-19 2004-02-26 Broadcom Corporation One-shot rdma
US8004981B2 (en) * 2003-06-17 2011-08-23 Cisco Technology, Inc. Methods and devices for the coordination of flow control between a TCP/IP network and other networks
US7315515B2 (en) * 2003-09-30 2008-01-01 Conexant Systems, Inc. TCP acceleration system

Also Published As

Publication number Publication date
DE602004027543D1 (en) 2010-07-15
CN100520758C (en) 2009-07-29
JP4583383B2 (en) 2010-11-17
ATE470187T1 (en) 2010-06-15
WO2005060580A3 (en) 2005-10-06
CA2548966C (en) 2010-06-01
EP1702273A4 (en) 2009-09-16
KR100974045B1 (en) 2010-08-05
EP1702273A2 (en) 2006-09-20
JP2007519315A (en) 2007-07-12
KR20060131776A (en) 2006-12-20
CN1997982A (en) 2007-07-11
US20050132077A1 (en) 2005-06-16
EP1702273B1 (en) 2010-06-02
WO2005060580A2 (en) 2005-07-07
US7177941B2 (en) 2007-02-13

Similar Documents

Publication Publication Date Title
CA2548966A1 (en) Increasing tcp re-transmission process speed
CN1177498C (en) Device and method for repeatly transmitting error block data of radio local loop
US9049017B2 (en) Efficient TCP ACK prioritization in wireless networks
US8958440B2 (en) System and method for identifying upper layer protocol message boundaries
US8724656B2 (en) Methods and devices for transmitting data between storage area networks
WO2005060579A3 (en) Reducing number of write operations relative to delivery of out-of-order rdma send messages
JP4898822B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, COMMUNICATION METHOD
US8306062B1 (en) Method and apparatus of adaptive large receive offload
CN106105141A (en) Realize the delivery acceleration device of extension transmission control function
JP2003258938A (en) Window based stall avoidance mechanism for high speed wireless communication system
US7055085B2 (en) System and method for protecting header information using dedicated CRC
CN101895332B (en) Method for controlling spatial TCP flow and controlling error
EP1586182B1 (en) Methods and devices for transmitting data between storage area networks
US20050265352A1 (en) Recovery from MSS change
WO2005062861A3 (en) Method and system for rlp optimization
US20140341028A1 (en) Reducing superfluous traffic in a network
EP1357721A2 (en) System and method for identifying upper layer protocol message boundaries
WO2019005381A1 (en) Reliable write command protocol for bluetooth le
EP1505759A2 (en) Method and device for transmitting/receiving data using acknowledged transport layer protocols
KR100344979B1 (en) Discard procedure for service data unit in radio link control
EP2289198B1 (en) Receiving unit in a wireless communication network and method for generating an automatic repeat request feedback message
US7738493B2 (en) Methods and devices for transmitting data between storage area networks
EP1734720B1 (en) System and method for identifying upper layer protocol message boundaries
KR20150094435A (en) Method of transmitting image data with short-term reliability
CN111200761A (en) Method for packet loss retransmission in real-time streaming media transmission system

Legal Events

Date Code Title Description
EEER Examination request