Visual RFC.
ALL RFCs / RFC 9293
Read the RFC ↗
RFC 9293 / CONNECTION LIFECYCLE

Three-way handshake

03

Both endpoints synchronize their initial sequence numbers before ordinary data transfer.

Related RFCs and changes

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

DIAGRAM§ 3.5 ↗
RFC 9293 · § 3.5EXAMPLE
4 / 4
Three-way handshakeThree transport messages synchronize both sequence spaces and change the connection states.ClientServerSYN · seq xSYN y · ACK x+1ACK y+1SYN-SENTSYN-RECEIVEDBoth sides: ESTABLISHED
04
Complete synchronization.

The server enters ESTABLISHED after the valid acknowledgment.

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

Acknowledge both initial sequence numbers.

  • SYN consumes one sequence number in each direction.
  • The final ACK acknowledges the server SYN.
  • TCP also supports simultaneous open; the familiar client-server exchange is one path through the state machine.
DETAILS

The handshake synchronizes transport state. It does not authenticate the peer or negotiate encryption.

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

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

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

RFC status and corrections ↗