Skip to main content

Why two transport protocols exist

Short answer

IP provides uniform best-effort packet delivery, so only one protocol is needed. Applications require different services: TCP offers reliable, ordered delivery for web/email, while UDP provides low-latency, lightweight transport for real-time apps like VoIP and DNS. This diversity necessitates two transport protocols.

Why do you think there exist two protocols in the transport layer whereas there exists only one protocol in the Internet layer in the TCP/IP reference model?

The Internet layer has one protocol (IP) because its job is the same for everyone: deliver a packet from one host to another host using best-effort. The applications above it, however, need very different services, which one transport protocol cannot offer efficiently. So the transport layer has two main protocols, TCP and UDP.

Need of applicationProtocol
Reliable, ordered, error-free delivery (web, email, file transfer)TCP
Speed, low delay, small messages, tolerance of loss (DNS query, VoIP, video, games)UDP

Reasons

  1. TCP's reliability costs time. Handshake, acknowledgements, retransmission and congestion control add delay and header overhead (20 to 60 bytes). Real-time applications prefer to lose a packet than to wait for it.
  2. UDP is light. An 8-byte header, no connection set-up, no state in the end hosts; suitable for a single request-response such as DNS.
  3. Multicast and broadcast can be done by UDP only, since TCP is point to point.
  4. Flexibility. Applications that need their own reliability rules can build them over UDP (e.g. QUIC).
  5. IP needs only one protocol because it only handles addressing and routing; every packet needs the same service at that layer, so no alternative protocol is needed. Both TCP and UDP run on top of it (IP protocol numbers 6 and 17).

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Networks and Security chapter 5 questions →