Skip to main content

Transmission Control Protocol Specification
draft-eddy-rfc793bis-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Wesley Eddy , Andre Oppermann
Last updated 2013-10-20
Replaced by draft-ietf-tcpm-rfc793bis, draft-ietf-tcpm-rfc793bis, RFC 9293
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-eddy-rfc793bis-00
Internet Engineering Task Force                                  W. Eddy
Internet-Draft                                               MTI Systems
Obsoletes: 793 (if approved)                                A. Oppermann
Intended status: Standards Track
Expires: April 24, 2014                                 October 21, 2013

              Transmission Control Protocol Specification
                        draft-eddy-rfc793bis-00

Abstract

   This document specifies the Internet's Transmission Control Protocol
   (TCP).  TCP is an important transport layer protocol in the Internet
   stack, and has continuously evolved over decades of use and growth of
   the Internet.  In this time, a number of changes have been made to
   TCP as it was specified in RFC 793, though these are only documented
   in a piecemeal fashion.  This document collects and brings those
   changes together with the protocol specification from RFC 793.  This
   document obsoletes RFC 793 and several other RFCs (TODO: list actual
   RFCs).

Requirements Language

   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 [1].

Status of This Memo

   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).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on April 24, 2014.

Copyright Notice

Eddy & Oppermann         Expires April 24, 2014                 [Page 1]
Internet-Draft              TCP Specification               October 2013

   Copyright (c) 2013 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.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

   1.  Purpose and Scope . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Functional Specification  . . . . . . . . . . . . . . . . . .   3
     3.1.  Segment Format  . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  State Machine . . . . . . . . . . . . . . . . . . . . . .   4
     3.3.  Event Processing  . . . . . . . . . . . . . . . . . . . .   4
   4.  Changes from RFC 793  . . . . . . . . . . . . . . . . . . . .   4
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   5
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   5
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Purpose and Scope

   In 1983, RFC 793 [2] was released, documenting the Transmission
   Control Protocol (TCP), and replacing earlier specifications for TCP
   that had been published in the past.

Eddy & Oppermann         Expires April 24, 2014                 [Page 2]
Internet-Draft              TCP Specification               October 2013

   Since that time, TCP has been implemented many times, and has been
   used as a transport protocol for numerous applications on the
   Internet.

   For several decades, RFC 793 plus a number of other documents have
   combined to serve as the specification for TCP [3].  Over time,
   errata have been identified on RFC 793, as well as deficiencies in
   security, performance, and other aspects.  A number of enhancements
   has grown and been documented separately.

   The purpose of this document is to bring together all of the IETF
   Standards Track changes that have been made to the TCP specification
   and adopt them into an update of the RFC 793 protocol specification.

   In addition to the protocol specification that descibes the TCP
   segment format, generation, and processing rules that are to be
   implemented in code, RFC 793 and other updates also contain
   informative and descriptive text for human readers to understand
   aspects of the protocol design and operation.  This document does not
   attempt to alter or update those parts of RFC 793, and is focused
   only on updating the normative protocol specification.

2.  Introduction

   RFC 793 contains a discussion of the TCP design goals and provides
   examples of its operation, including examples of connection
   establishment, closing connections, and retransmitting packets to
   repair losses.

   This document describes the functionality expected in modern
   implementations of TCP, and replaces the protocol specification in
   RFC 793.  It does not replicate or attempt to update the examples and
   other discussion in RFC 793.  Other documents are referenced to
   provide explanation of the theory of operation, rationale, and
   detailed discussion of design decisions.  This document only focuses
   on the normative behavior of the protocol.

   TODO: describe the subsequent structure of the document to-be (e.g.
   will it follow the newtcp BSD implementation?), and mention that a
   list of changes from RFC 793 will be kept in the final section

3.  Functional Specification

   TODO

3.1.  Segment Format

   TODO

Eddy & Oppermann         Expires April 24, 2014                 [Page 3]
Internet-Draft              TCP Specification               October 2013

3.2.  State Machine

   TODO

3.3.  Event Processing

   TODO

4.  Changes from RFC 793

   TODO: Incomplete list of changes - these need to be added to and made
   more specific, as the document proceeds:

   1.   incorporate the accepted errata

   2.   incorporate 1122 additions

   3.   point to major additional docs like 1323bis and 5681

   4.   incorporate relevant parts of 3168 (ECN)

   5.   incorporate 6093 (urgent pointer)

   6.   incorporate 6528 (sequence number)

   7.   incorporate Fernando's new number-checking fixes (if past the
        IESG in time)

   8.   point to PMTUD?

   9.   point to 5461 (soft errors)

   10.  mention 5961 state machine option

   11.  mention 6161 (reducing TIME-WAIT)

   12.  incorporate 6429 (ZWP/persist)

   13.  incorporate 6691 (MSS)

5.  IANA Considerations

   This memo includes no request to IANA.  Existing IANA registries for
   TCP parameters are sufficient.

   TODO: check whether entries pointing to 793 and other documents
   obsoleted by this one should be updated to point to this one instead.

Eddy & Oppermann         Expires April 24, 2014                 [Page 4]
Internet-Draft              TCP Specification               October 2013

6.  Security Considerations

   TODO

7.  References

7.1.  Normative References

   [1]        Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

7.2.  Informative References

   [2]        Postel, J., "Transmission Control Protocol", STD 7, RFC
              793, September 1981.

   [3]        Duke, M., Braden, R., Eddy, W., Blanton, E., and A.
              Zimmermann, "A Roadmap for Transmission Control Protocol
              (TCP) Specification Documents", draft-ietf-tcpm-tcp-
              rfc4614bis-00 (work in progress), August 2013.

Authors' Addresses

   Wesley M. Eddy
   MTI Systems
   US

   Email: wes@mti-systems.com

   Andre Oppermann

   Email: andre@freebsd.org

Eddy & Oppermann         Expires April 24, 2014                 [Page 5]