JP / EN
Networks / Communication

Dating Was TCP; Marriage Became UDP

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.

The conversations in this article are fictional analogies made to explain TCP and UDP. They do not describe the actual transport used by chat apps, or every couple's communication.

1. Dating — TCP

Dating / Connected

Him

Good morning.

Her

Morning. You're up early again.

Him

Did you sleep well?

Her

I did. How about you?

Him

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

Him

Can you talk? SYN

Her

Yes. Can you? SYN + ACK

Him

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

Him

Are you free Sunday? SEQ 101

…no acknowledgement arrives

Him

Are you free Sunday? SEQ 101 / Retry

Her

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.

Where the analogy stops:a TCP ACK means the data reached the receiving TCP stack. It does not prove that a person read or understood the message.

4. Putting the conversation back in order

Data sent later can arrive first on a network.

1. Please buy milk on your way home. 2. Make it low-fat. 3. Regular is fine if they are out.

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

Him

I'll be a little late today.

No response

Her

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

Him

Is regular milk okay?

Her

And please get detergent.

Him

Low-fat?

Her

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

Her

Please buy milk on your way home.

This packet was lost on the way

Him

I'm home.

Her

Where's the milk?

Him

I never heard about it.

Her

Please install retransmission.

UDP does not automatically retransmit lost data. An application can add acknowledgements and retransmission when it needs them.

Very high latency

Her

Could you fix that shelf sometime?

…several days later

Him

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

FeatureTCPUDP
Starting communicationEstablishes a connectionSends without a connection handshake
Delivery acknowledgementUses ACKsNot provided by UDP itself
RetransmissionRetransmits lost dataNot provided by UDP itself
OrderingRestores original orderDoes not guarantee order
Data modelContinuous byte streamIndividual datagrams
Common examplesHTTP/1.1 and HTTP/2, email, file transferDNS, live media, games, QUIC

9. Protocol selection for married life

Her

Dinner is curry tonight. UDP may suffice

Her

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.