TCP vs UDP

Quick Reference: HTTP | WebSockets


Quick Reference

AspectTCPUDP
ConnectionConnection-orientedConnectionless
ReliabilityReliable (guaranteed delivery)Unreliable (best effort)
OrderingOrdered deliveryNo ordering guarantee
SpeedSlower (overhead)Faster (low overhead)
Use CaseWeb, email, file transferVideo streaming, gaming, DNS
Header Size20 bytes8 bytes

Clear Definition

TCP (Transmission Control Protocol) is a reliable, connection-oriented protocol that guarantees data delivery and ordering. UDP (User Datagram Protocol) is a fast, connectionless protocol that provides best-effort delivery without guarantees.

šŸ’” Key Insight: TCP prioritizes reliability, UDP prioritizes speed. Choose based on your requirements.


Core Concepts

TCP Characteristics

  • Reliable: Guarantees delivery, retransmits lost packets
  • Ordered: Delivers packets in order
  • Connection-oriented: Establishes connection before data transfer
  • Flow Control: Prevents overwhelming receiver
  • Congestion Control: Adapts to network conditions

UDP Characteristics

  • Fast: Low overhead, no connection setup
  • Unreliable: No delivery guarantee, no retransmission
  • No Ordering: Packets may arrive out of order
  • Connectionless: No connection establishment
  • Lightweight: Minimal header overhead

Use Cases

TCP Use Cases

  1. Web Browsing: HTTP/HTTPS
  2. Email: SMTP
  3. File Transfer: FTP
  4. Database: MySQL, PostgreSQL connections

UDP Use Cases

  1. Video Streaming: Real-time video (can tolerate packet loss)
  2. Gaming: Real-time game data (low latency critical)
  3. DNS: Domain name resolution (fast lookups)
  4. VoIP: Voice over IP (low latency)

Best Practices

  1. Choose TCP: When reliability critical
  2. Choose UDP: When speed/low latency critical
  3. Handle Loss: Implement application-level reliability for UDP if needed

Interview Tips

šŸŽÆ Interview Focus: Understand trade-offs and when to use each.


Quick Reference Summary

TCP: Reliable, ordered, connection-oriented. Use for web, email, file transfer.

UDP: Fast, unreliable, connectionless. Use for video, gaming, DNS.


Next Topic: HTTP →

Back to: Step 5 Overview | Main Index