THE PROBLEM
Applications need a reliable, ordered stream even when IP packets can be lost, delayed or reordered.
THE NAIVE APPROACH
Sending each message once gives no reliable way to detect loss or restore order.
THE KEY INSIGHT
Sequence numbers, acknowledgements, retransmission and flow control coordinate a byte stream between endpoints.
WHERE YOU MEET IT
- • HTTPS connections over TCP
- • SSH remote terminal sessions
- • Database client connections
ANALOGY / HISTORY
A phone call: hello, yes I hear you, now let's talk.
Context: TCP made reliable transport available above best-effort IP without each application rebuilding it.
client → server · SYN_SENT
SYN
The client proposes a connection and an initial sequence number. SYN consumes one sequence number.
A SYN does not contain application data in this teaching example. It begins the connection handshake.
The TCP flags field contains SYN=1. The sequence number is the first sequence number chosen by the client; this example uses 1000.