datatracker.ietf.org
Sign in
Version 5.6.4.p1, 2014-10-20
Report a bug

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

Document type: Active Internet-Draft (tcpm WG)
Document stream: IETF
Last updated: 2014-10-15 (latest revision 2014-09-29)
Intended RFC status: Experimental
Other versions: plain text, pdf, html

IETF State: Submitted to IESG for Publication Sep 2012
Consensus: Yes
Document shepherd: Michael Scharf
Shepherd Write-Up: Last changed 2014-06-18

IESG State: RFC Ed Queue
IANA Action State: RFC-Ed-Ack
RFC Editor State: AUTH
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-10.txt                                   J. Chu
Intended status: Experimental                           S. Radhakrishnan
Expiration date: April, 2015                                     A. Jain
                                                                  Google
                                                      September 29, 2014

                             TCP Fast Open

Abstract

   This document describes an experimental TCP mechanism TCP Fast Open
   (TFO). TFO allows data to be carried in the SYN and SYN-ACK packets
   and consumed by the receiving end during the initial connection
   handshake, and saves up to one full round trip time (RTT) compared to
   the standard TCP, which requires a three-way handshake (3WHS) to
   complete before data can be exchanged. However TFO deviates from the
   standard TCP semantics since the data in the SYN could be replayed to
   an application in some rare circumstances. Applications should not
   use TFO unless they can tolerate this issue detailed in the
   Applicability section.

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

Copyright Notice

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

Cheng, et. al.           Expires April 2, 2015                  [Page 1]
Internet Draft               TCP Fast Open            September 29, 2014

   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.

Table of Contents

   1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . .  3
   2. Data In SYN . . . . . . . . . . . . . . . . . . . . . . . . . .  3
     2.1 Relaxing TCP Semantics on Duplicated SYNs  . . . . . . . . .  4
     2.2. SYNs with Spoofed IP Addresses  . . . . . . . . . . . . . .  4
   3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . .  5
   4. Protocol Details  . . . . . . . . . . . . . . . . . . . . . . .  6
     4.1. Fast Open Cookie  . . . . . . . . . . . . . . . . . . . . .  6
       4.1.1.  Fast Open option . . . . . . . . . . . . . . . . . . .  7
       4.1.2. Server Cookie Handling  . . . . . . . . . . . . . . . .  7
       4.1.3. Client Cookie Handling  . . . . . . . . . . . . . . . .  8
         4.1.3.1 Client Caching Negative Responses  . . . . . . . . .  9
     4.2. Fast Open Protocol  . . . . . . . . . . . . . . . . . . . .  9
       4.2.1. Fast Open Cookie Request  . . . . . . . . . . . . . . . 10
       4.2.2. TCP Fast Open . . . . . . . . . . . . . . . . . . . . . 11
   5. Security Considerations . . . . . . . . . . . . . . . . . . . . 13
     5.1. Resource Exhaustion Attack by SYN Flood with Valid 
          Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . 13
       5.1.1 Attacks from behind Shared Public IPs (NATs) . . . . . . 14
     5.2. Amplified Reflection Attack to Random Host  . . . . . . . . 14
   6. TFO's Applicability . . . . . . . . . . . . . . . . . . . . . . 15
     6.1 Duplicate Data in SYNs . . . . . . . . . . . . . . . . . . . 15
     6.2 Potential Performance Improvement  . . . . . . . . . . . . . 16
     6.3. Example: Web Clients and Servers  . . . . . . . . . . . . . 16
       6.3.1. HTTP Request Replay . . . . . . . . . . . . . . . . . . 16
       6.3.2. HTTP over TLS (HTTPS) . . . . . . . . . . . . . . . . . 16
       6.3.3. Comparison with HTTP Persistent Connections . . . . . . 17
       6.3.4. Load Balancers and Server farms . . . . . . . . . . . . 17

[include full document text]