When dating, every message gets a reply. If it does not arrive, you send it again. After marriage, the necessary information still goes out, but acknowledgements may be omitted. The change feels strangely similar to TCP and UDP.
1. Dating — TCP
Dating / Connected
Good morning.
Morning. You're up early again.
Did you sleep well?
I did. How about you?
Me too.
A sent message gets a response. If no response comes back, you wonder whether it arrived and try again. Dating conversations can resemble TCP: communication proceeds while both sides keep confirming the connection.
2. A conversation before the conversation
TCP does not begin with the main message. It first checks both directions in three steps.
Three-way handshake
Can you talk? SYN
Yes. Can you? SYN + ACK
I'm ready too. ACK
This is the three-way handshake. TCP establishes a connection before exchanging application data. It costs three packets before the main topic begins, but verifies that communication works in both directions.
3. No reply? Send it again
Acknowledgement timeout
Are you free Sunday? SEQ 101
…no acknowledgement arrives
Are you free Sunday? SEQ 101 / Retry
Yes, I am. ACK
TCP tracks byte positions with sequence numbers and waits for an acknowledgement (ACK). If the ACK does not arrive in time, TCP retransmits. The receiver uses those positions to identify duplicate data.
4. Putting the conversation back in order
Data sent later can arrive first on a network.
Even if the pieces arrive as 1, 3, and 2, TCP uses their sequence information to restore the original order. The application receives an ordered, continuous stream.
TCP carries a byte stream, not separate chat messages. The application must still decide where one message ends and the next begins.
5. After marriage — UDP
Marriage / Connectionless
I'll be a little late today.
No response
Please buy milk on your way home.
No response
Both sides send the information they need to send, but neither acknowledges receipt. UDP sends datagrams without establishing a connection first. UDP itself does not confirm delivery and does not wait for a reply.
Out of order
Is regular milk okay?
And please get detergent.
Low-fat?
The refill pack.
The messages arrived, yet the exchange no longer lines up. UDP does not restore their order.
6. Packet loss and extreme latency
Packet loss
Please buy milk on your way home.
This packet was lost on the way
I'm home.
Where's the milk?
I never heard about it.
Please install retransmission.
UDP does not automatically retransmit lost data. An application can add acknowledgements and retransmission when it needs them.
Very high latency
Could you fix that shelf sometime?
…several days later
I'll get to it sometime.
The packet was not lost. It experienced extremely high latency.
7. UDP is not careless; it avoids waiting
UDP is not an inferior version of TCP. By leaving out built-in acknowledgement and retransmission, it stays simple and suits situations where fresh data matters more than late old data.
- Live audio and video:continue rather than pause everything to recover an old instant.
- Online games:receive a current position instead of waiting for an obsolete one.
- DNS:handle short queries with little setup.
Applications can add only the reliability they need on top of UDP. QUIC, used by HTTP/3, builds reliability and congestion control over UDP.
8. TCP and UDP side by side
| Feature | TCP | UDP |
|---|---|---|
| Starting communication | Establishes a connection | Sends without a connection handshake |
| Delivery acknowledgement | Uses ACKs | Not provided by UDP itself |
| Retransmission | Retransmits lost data | Not provided by UDP itself |
| Ordering | Restores original order | Does not guarantee order |
| Data model | Continuous byte stream | Individual datagrams |
| Common examples | HTTP/1.1 and HTTP/2, email, file transfer | DNS, live media, games, QUIC |
9. Protocol selection for married life
Dinner is curry tonight. UDP may suffice
Tomorrow is our anniversary. TCP recommended
While dating, every message received an ACK.
After marriage, only important packets seem to get a reply.
Communication has become more efficient.
Whether this counts as optimization remains unresolved.