Skip to main content

RFC 9293 - Transmission Control Protocol (TCP)

Published: August 2022
Status: Internet Standard
STD: 7
Author: W. Eddy (Ed.), MTI Systems
Obsoletes: RFC 793, 879, 2873, 6093, 6429, 6528, 6691
Updates: RFC 1011, 1122, 5961


Abstract

This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of 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 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, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.


Table of Contents

Appendices



Quick Reference

What is TCP?

TCP (Transmission Control Protocol) is a core transport-layer protocol in the Internet protocol stack, providing:

  • Connection-Oriented - Establishes connection before communication
  • Reliable Transmission - Ensures data arrives correctly
  • Ordered Delivery - Receives data in the order sent
  • Flow Control - Prevents receiver overload
  • Congestion Control - Avoids network congestion

Core Features

  • Three-Way Handshake - Connection establishment
  • Sequence Number Mechanism - Ensures order and reliability
  • Acknowledgment - Data arrival confirmation
  • Timeout Retransmission - Handles packet loss
  • Sliding Window - Flow control
  • Congestion Control - Network stability

TCP vs UDP

FeatureTCPUDP
ConnectionConnection-orientedConnectionless
ReliabilityReliableUnreliable
OrderingGuaranteedNot guaranteed
SpeedSlowerFaster
OverheadHigherLower
Use CasesHTTP, SMTP, FTP, SSHDNS, Video streaming, Gaming

Importance of RFC 9293

RFC 9293 vs RFC 793:

  • RFC 793 (1981) - Original TCP specification
  • RFC 9293 (2022) - Latest standard, consolidating 40 years of evolution
  • Obsoletes RFC 793 and several updates
  • Clarifies modern TCP implementation requirements
  • Updates security and performance best practices

Major Improvements:

  • Consolidates all TCP extensions and errata
  • Clarifies must-support options
  • Updates congestion control requirements
  • Enhances security considerations
  • Reflects modern network environment

Common TCP Ports

  • HTTP: 80
  • HTTPS: 443
  • SMTP: 25
  • FTP: 20, 21
  • SSH: 22
  • Telnet: 23
  • POP3: 110
  • IMAP: 143

Related RFCs:

  • RFC 768 - UDP (User Datagram Protocol)
  • RFC 791 - IP (Internet Protocol)
  • RFC 5681 - TCP Congestion Control
  • RFC 7323 - TCP Extensions (Window Scaling, Timestamps)
  • RFC 7413 - TCP Fast Open
  • RFC 8200 - IPv6 Specification