What is the difference between TCP and UDP?

· Category: Networking

Short answer

TCP (Transmission Control Protocol) is connection-oriented and reliable. UDP (User Datagram Protocol) is connectionless and fast. Choose TCP when data integrity matters and UDP when speed is critical.

Key differences

  • Reliability: TCP guarantees delivery with acknowledgments and retransmissions. UDP sends data without confirmation.
  • Ordering: TCP ensures packets arrive in order. UDP does not sequence packets.
  • Overhead: TCP requires a handshake and maintains state, creating more overhead. UDP has minimal header overhead.
  • Speed: UDP is faster because it skips handshake and error recovery.
  • Use cases: TCP powers HTTP, FTP, and email. UDP powers DNS queries, VoIP, video streaming, and online gaming.

When to use each

  • Use TCP for file transfers, web browsing, email, and database queries.
  • Use UDP for live broadcasts, real-time gaming, DNS, and telemetry where occasional loss is acceptable.

Why it matters

Selecting the right transport protocol impacts user experience and resource efficiency. Streaming a video over TCP could introduce buffering, while transferring a file over UDP could result in corrupted data.