TCP Fast Open
draft-ietf-tcpm-fastopen-03

The information below is for an old version of the document
Document Type Active Internet-Draft (tcpm WG)
Last updated 2013-02-25
Replaces draft-cheng-tcpm-fastopen
Stream IETF
Intended RFC status Experimental
Formats plain text pdf html
Stream WG state WG Document
Document shepherd None
IESG IESG state AD is watching
Telechat date
Responsible AD Martin Stiemerling
Send notices to tcpm-chairs@tools.ietf.org, draft-ietf-tcpm-fastopen@tools.ietf.org
Internet Draft                                                  Y. Cheng
draft-ietf-tcpm-fastopen-03.txt                                   J. Chu
Intended status: Experimental                           S. Radhakrishnan
Expiration date: August, 2013                                    A. Jain
                                                            Google, Inc.
                                                       Feburary 25, 2013

                             TCP Fast Open

Status of this Memo

   Distribution of this memo is unlimited.

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire in August, 2012.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document. Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

 

Cheng, et. al.            Expires August 2013                   [Page 1]
Internet Draft               TCP Fast Open                 February 2013

Abstract

   TCP Fast Open (TFO) allows data to be carried in the SYN and SYN-ACK
   packets and consumed by the receiving end during the initial
   connection handshake, thus saving up to one full round trip time
   (RTT) compared to standard TCP which requires a three-way handshake
   (3WHS) to complete before data can be exchanged.

Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].
   TFO refers to TCP Fast Open. Client refers to the TCP's active open
   side and server refers to the TCP's passive open side.

Table of Contents

   1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2. Data In SYN . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.1 Relaxing TCP semantics on duplicated SYNs  . . . . . . . . .  4
     2.2. SYNs with spoofed IP addresses  . . . . . . . . . . . . . .  4
   3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . .  5
   4. Protocol Details  . . . . . . . . . . . . . . . . . . . . . . .  7
     4.1. Fast Open Cookie  . . . . . . . . . . . . . . . . . . . . .  7
       4.1.1. TCP Options . . . . . . . . . . . . . . . . . . . . . .  7
       4.1.2. Server Cookie Handling  . . . . . . . . . . . . . . . .  8
       4.1.3. Client Cookie Handling  . . . . . . . . . . . . . . . .  9
     4.2. Fast Open Protocol  . . . . . . . . . . . . . . . . . . . .  9
       4.2.1. Fast Open Cookie Request  . . . . . . . . . . . . . . . 10
       4.2.2. TCP Fast Open . . . . . . . . . . . . . . . . . . . . . 11
   5. Reliability and Deployment Issues . . . . . . . . . . . . . . . 13
   6. Security Considerations . . . . . . . . . . . . . . . . . . . . 14
     6.1. Server Resource Exhaustion Attack by SYN Flood with Valid
          Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . 14
     6.2. Amplified Reflection Attack to Random Host  . . . . . . . . 15
     6.3 Attacks from behind sharing public IPs (NATs)  . . . . . . . 16
   7. TFO's Applicability . . . . . . . . . . . . . . . . . . . . . . 17
     7.1 Duplicate data in SYNs . . . . . . . . . . . . . . . . . . . 17
     7.2 Potential performance improvement  . . . . . . . . . . . . . 17
     7.3 Example: Web clients and servers . . . . . . . . . . . . . . 17
       7.3.1 HTTP request replay  . . . . . . . . . . . . . . . . . . 17
       7.3.2 HTTP persistent connection . . . . . . . . . . . . . . . 18
Show full document text