Skip to main content

Why is UDP called "unreliable"?

UDP is called "unreliable" because it does not guarantee data delivery and does not control the transmission process in any way.

More simply: UDP sends data and does not check whether it arrived.


What exactly makes UDP "unreliable"

1. No delivery acknowledgments

UDP:

  • does not wait for an ACK
  • does not know whether the receiver got the message

If a packet is lost:

  • the sender never finds out

2. No retransmission

UDP:

  • does not resend lost packets
  • does not try to recover the data

Once lost, it is lost forever.


3. No order guarantee

UDP:

  • does not number messages
  • does not assemble them in the correct sequence

Messages can arrive:

  • in a different order
  • or not arrive at all

4. No congestion control

UDP:

  • does not reduce speed under network congestion
  • may keep sending data

This can:

  • worsen congestion
  • lead to packet loss

5. No flow control

UDP:

  • does not account for whether the receiver can keep up with processing the data
  • may "flood" the application with messages

What UDP does still do

Important. UDP is not entirely "irresponsible":

  • it preserves message boundaries
  • it checks basic integrity (checksum)
  • it delivers data on a best effort basis

But:

  • if something goes wrong, UDP does not fix the situation

Why this is done on purpose

UDP is deliberately simple because that gives:

  • minimal latency
  • minimal overhead
  • predictable delivery time

For many applications, this matters more than reliability.


Where "unreliability" is an advantage

UDP fits well when:

  • reaction speed matters
  • losses are acceptable

Examples:

  • voice communication
  • real-time video
  • online games
  • DNS

Short Answer

Interview ready
Premium

A concise answer to help you respond confidently on this topic during an interview.