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.