Skip to main content

5. Changes from RFC 793

This section summarizes the main changes made in this document relative to RFC 793 and its subsequent updates.

5.1. Protocol Specification Changes

Header Format Updates:

  • Updated TCP header control bits according to RFC 3168, adding CWR (Congestion Window Reduced) and ECE (ECN-Echo) flags
  • Clarified handling requirements for reserved bits

Sequence Number Handling:

  • Clarified Initial Sequence Number (ISN) selection mechanism
  • Updated sequence number comparison and wrap-around handling

Connection Management:

  • Added clarification for Reset handling in SYN-RECEIVED state (updates RFC 5961)
  • Clarified simultaneous open handling
  • Updated TIME-WAIT state duration and handling

Option Processing:

  • Clarified the mandatory option set: End of Option List, No-Operation, Maximum Segment Size
  • Updated handling requirements for unknown options
  • Added references to experimental options

5.2. Obsoleted Content

This document obsoletes the following RFCs:

  • RFC 793 - Original TCP specification (1981)
  • RFC 879 - TCP Maximum Segment Size and Related Topics
  • RFC 2873 - TCP Processing of the IPv4 Precedence Field
  • RFC 6093 - On the Implementation of the TCP Urgent Mechanism
  • RFC 6429 - TCP Sender Clarification for Persist Condition
  • RFC 6528 - Defending against Sequence Number Attacks
  • RFC 6691 - TCP Options and Maximum Segment Size (MSS)

5.3. Updated Content

This document updates the following RFCs:

  • RFC 1011 - Official Internet Protocols (TCP section)
  • RFC 1122 - Requirements for Internet Hosts -- Communication Layers (TCP section)
  • RFC 5961 - Improving TCP's Robustness to Blind In-Window Attacks (SYN-RECEIVED state handling)

5.4. Security Enhancements

  • Added protection mechanisms against blind attacks
  • Updated defenses against sequence number attacks
  • Clarified security implementation best practices
  • Added considerations for SYN flood attacks

5.5. Performance Improvements

  • Referenced modern congestion control algorithms
  • Updated Retransmission Timeout (RTO) calculation
  • Added references to high-performance extensions (window scaling, timestamps, SACK)
  • Clarified Nagle algorithm implementation requirements

5.6. Interoperability Clarifications

  • Clarified handling of malformed segments
  • Updated error condition handling
  • Clarified boundary case behavior
  • Unified terminology and definitions

5.7. Editorial Changes

  • Modernized language and terminology
  • Reorganized content for improved readability
  • Added implementation guidance
  • Updated references
  • Standardized use of RFC 2119 keywords

5.8. Content Not Included

The following content, while important parts of modern TCP implementations, is specified in separate documents:

  • Detailed congestion control algorithms (RFC 5681, etc.)
  • High-performance extensions (RFC 7323 - window scaling, timestamps)
  • Selective Acknowledgment SACK (RFC 2018, RFC 2883)
  • TCP Fast Open (RFC 7413)
  • Multipath TCP (RFC 8684)

This is a deliberate design choice to maintain clarity of the base specification while allowing these extensions to evolve independently.


Note: For a complete list of changes and errata fixes, see Section 5 of the official RFC 9293 document.