Visual RFC.
ALL RFCs / RFC 9293
Read the RFC ↗
RFC 9293 / RELIABLE TRANSFER

Sequence & acknowledgment

04

Sequence numbers identify byte positions. A cumulative acknowledgment names the next byte expected in order.

Related RFCs and changes

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

DIAGRAM§ 3.4 ↗
RFC 9293 · § 3.4EXAMPLE
4 / 4
Sequence & acknowledgmentReceipt fills an explicit byte range and advances the cumulative acknowledgment to its right boundary.Worked example: bytes 1001–1100SEQ 1001 · length 100RECEIVE SEQUENCE SPACE1001…1050…110010011101 → nextACK 1101ACK N cumulatively covers the bytes before N
04
Report the next expected byte.

This cumulative acknowledgment covers all bytes through 1100.

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

ACK N covers the bytes before N.

  • Sequence numbers wrap modulo 2³²; comparisons must account for wraparound.
  • SYN and FIN each occupy one sequence number; ACK alone does not.
  • Duplicate data must not be delivered twice to the application.
DETAILS

The example sequence numbers are illustrative. They are not guidance for selecting initial sequence numbers.

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 ↗