draft-ietf-tcpm-rfc793bis-12.txt   draft-ietf-tcpm-rfc793bis-13.txt 
Internet Engineering Task Force W. Eddy, Ed. Internet Engineering Task Force W. Eddy, Ed.
Internet-Draft MTI Systems Internet-Draft MTI Systems
Obsoletes: 793, 879, 2873, 6093, 6429, December 5, 2018 Obsoletes: 793, 879, 2873, 6093, 6429, June 3, 2019
6528, 6691 (if approved) 6528, 6691 (if approved)
Updates: 5961, 1122 (if approved) Updates: 5961, 1122 (if approved)
Intended status: Standards Track Intended status: Standards Track
Expires: June 8, 2019 Expires: December 5, 2019
Transmission Control Protocol Specification Transmission Control Protocol Specification
draft-ietf-tcpm-rfc793bis-12 draft-ietf-tcpm-rfc793bis-13
Abstract Abstract
This document specifies the Internet's Transmission Control Protocol This document specifies the Internet's Transmission Control Protocol
(TCP). TCP is an important transport layer protocol in the Internet (TCP). TCP is an important transport layer protocol in the Internet
stack, and has continuously evolved over decades of use and growth of stack, and has continuously evolved over decades of use and growth of
the Internet. Over this time, a number of changes have been made to the Internet. Over this time, a number of changes have been made to
TCP as it was specified in RFC 793, though these have only been TCP as it was specified in RFC 793, though these have only been
documented in a piecemeal fashion. This document collects and brings documented in a piecemeal fashion. This document collects and brings
those changes together with the protocol specification from RFC 793. those changes together with the protocol specification from RFC 793.
skipping to change at page 2, line 10 skipping to change at page 2, line 10
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 8, 2019. This Internet-Draft will expire on December 5, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 3, line 28 skipping to change at page 3, line 28
3.9.2. TCP/Lower-Level Interface . . . . . . . . . . . . . . 55 3.9.2. TCP/Lower-Level Interface . . . . . . . . . . . . . . 55
3.10. Event Processing . . . . . . . . . . . . . . . . . . . . 57 3.10. Event Processing . . . . . . . . . . . . . . . . . . . . 57
3.11. Glossary . . . . . . . . . . . . . . . . . . . . . . . . 82 3.11. Glossary . . . . . . . . . . . . . . . . . . . . . . . . 82
4. Changes from RFC 793 . . . . . . . . . . . . . . . . . . . . 87 4. Changes from RFC 793 . . . . . . . . . . . . . . . . . . . . 87
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 92 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 92
6. Security and Privacy Considerations . . . . . . . . . . . . . 92 6. Security and Privacy Considerations . . . . . . . . . . . . . 92
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 93 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 93
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 94 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 94
8.1. Normative References . . . . . . . . . . . . . . . . . . 94 8.1. Normative References . . . . . . . . . . . . . . . . . . 94
8.2. Informative References . . . . . . . . . . . . . . . . . 95 8.2. Informative References . . . . . . . . . . . . . . . . . 95
Appendix A. Other Implementation Notes . . . . . . . . . . . . . 99 Appendix A. Other Implementation Notes . . . . . . . . . . . . . 98
A.1. IP Security Compartment and Precedence . . . . . . . . . 99 A.1. IP Security Compartment and Precedence . . . . . . . . . 99
A.2. Sequence Number Validation . . . . . . . . . . . . . . . 99 A.2. Sequence Number Validation . . . . . . . . . . . . . . . 99
A.3. Nagle Modification . . . . . . . . . . . . . . . . . . . 100 A.3. Nagle Modification . . . . . . . . . . . . . . . . . . . 99
A.4. Low Water Mark . . . . . . . . . . . . . . . . . . . . . 100 A.4. Low Water Mark . . . . . . . . . . . . . . . . . . . . . 100
Appendix B. TCP Requirement Summary . . . . . . . . . . . . . . 100 Appendix B. TCP Requirement Summary . . . . . . . . . . . . . . 100
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 104 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 104
1. Purpose and Scope 1. Purpose and Scope
In 1981, RFC 793 [12] was released, documenting the Transmission In 1981, RFC 793 [12] was released, documenting the Transmission
Control Protocol (TCP), and replacing earlier specifications for TCP Control Protocol (TCP), and replacing earlier specifications for TCP
that had been published in the past. that had been published in the past.
skipping to change at page 54, line 28 skipping to change at page 54, line 28
assume this takes the form of an application-supplied assume this takes the form of an application-supplied
ERROR_REPORT routine that may be upcalled asynchronously from ERROR_REPORT routine that may be upcalled asynchronously from
the transport layer: the transport layer:
ERROR_REPORT(local connection name, reason, subreason) ERROR_REPORT(local connection name, reason, subreason)
The precise encoding of the reason and subreason parameters is The precise encoding of the reason and subreason parameters is
not specified here. However, the conditions that are reported not specified here. However, the conditions that are reported
asynchronously to the application MUST include: asynchronously to the application MUST include:
* ICMP error message arrived (see Section 3.9.2.2) (TODO - * ICMP error message arrived (see Section 3.9.2.2 for
MUST here is inconsistent with SHOULDs in the section description of handling each ICMP message type, since some
describing ICMP processing) message types need to be suppressed from generating reports
to the application)
* Excessive retransmissions (see Section 3.8.3) (TODO - MUST * Excessive retransmissions (see Section 3.8.3) (TODO - the
here is inconsistent with SHOULD in the section describing MUST here is inconsistent with SHOULD in the section
excessive retransmissions) describing excessive retransmissions. Both conflicting bits
of text are direct from 1122)
* Urgent pointer advance (see Section 3.8.5) (MUST-32). * Urgent pointer advance (see Section 3.8.5) (MUST-32).
However, an application program that does not want to receive However, an application program that does not want to receive
such ERROR_REPORT calls SHOULD be able to effectively disable such ERROR_REPORT calls SHOULD be able to effectively disable
these calls (SHLD-20). these calls (SHLD-20).
Set Differentiated Services Field (IPv4 TOS or IPv6 Traffic Class) Set Differentiated Services Field (IPv4 TOS or IPv6 Traffic Class)
The application layer MUST be able to specify the The application layer MUST be able to specify the
skipping to change at page 92, line 25 skipping to change at page 92, line 25
Early in the process of updating RFC 793, Scott Brim mentioned that Early in the process of updating RFC 793, Scott Brim mentioned that
this should include a PERPASS/privacy review. This may be something this should include a PERPASS/privacy review. This may be something
for the chairs or AD to request during WGLC or IETF LC. for the chairs or AD to request during WGLC or IETF LC.
5. IANA Considerations 5. IANA Considerations
This memo includes no request to IANA. Existing IANA registries for This memo includes no request to IANA. Existing IANA registries for
TCP parameters are sufficient. 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.
6. Security and Privacy Considerations 6. Security and Privacy Considerations
The TCP design includes only rudimentary security features that The TCP design includes only rudimentary security features that
improve the robustness and reliability of connections and application improve the robustness and reliability of connections and application
data transfer, but there are no built-in cryptographic capabilities data transfer, but there are no built-in cryptographic capabilities
to support any form of privacy, authentication, or other typical to support any form of privacy, authentication, or other typical
security functions. Non-cryptographic enhancements (e.g. [28]) have security functions. Non-cryptographic enhancements (e.g. [28]) have
been developed to improve robustness of TCP connections to particular been developed to improve robustness of TCP connections to particular
types of attacks, but the applicability and protections of non- types of attacks, but the applicability and protections of non-
cryptographic enhancements are limited (e.g. see section 1.1 of cryptographic enhancements are limited (e.g. see section 1.1 of
 End of changes. 10 change blocks. 
16 lines changed or deleted 15 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/