Visual RFC.
ALL RFCs / RFC 9293
Read the RFC ↗
RFC 9293 / THE TCP MODEL

A reliable byte stream

01

TCP offers applications an ordered, reliable stream of bytes over a network that may lose, duplicate, or reorder packets.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

DIAGRAM§ 2.2 ↗
RFC 9293 · § 2.2EXAMPLE
4 / 4
A reliable byte streamTwo writes are shown as spans on a byte stream, split into different segment ranges and rejoined in order.APPLICATION WRITESsendABCDEFwrite 1write 2TCP SEGMENTSABCDEFACK: receivedRECEIVED STREAMreadABCDEFABCDEF delivered in order; write boundaries disappear
04
Deliver ordered bytes.

The application sees a stream, with no preserved write boundaries.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

TCP preserves bytes, not application messages.

  • Each direction has its own byte sequence space.
  • TCP uses acknowledgments and retransmission to recover from loss.
  • One application write need not correspond to one segment or one application read.
DETAILS

Reliability is subject to connection failure. Applications need their own framing and must handle errors; TCP cannot promise delivery after every failure.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. A reliable byte stream
  2. Headers & connections
  3. Three-way handshake
  4. Sequence & acknowledgment
  5. Initial sequence numbers
  6. Loss & retransmission
  7. Flow control
  8. Congestion control
  9. Segments & small writes
  10. Graceful close
  11. Resets & idle probes
  12. Security & the consolidated spec
RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗