Transmission Control Protocol Specification
draft-eddy-rfc793bis-00
The information below is for an old version of the document.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | Wesley Eddy , Andre Oppermann | ||
| Last updated | 2013-10-20 | ||
| Replaced by | draft-ietf-tcpm-rfc793bis, draft-ietf-tcpm-rfc793bis | ||
| Stream | (None) | ||
| Formats | plain text htmlized pdfized bibtex | ||
| 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]