TCP
Transmission Control Protocol
ConnectionConnection-oriented (3-way handshake required)
DeliveryGuaranteed — lost packets are retransmitted
OrderIn-order delivery guaranteed (sequence numbers)
Error checkingChecksum + ACK + retransmit
Flow controlYes — sliding window prevents receiver overflow
Congestion ctrlYes — slow start, AIMD, CUBIC/BBR
Header size20–60 bytes (larger)
SpeedSlower (RTT overhead, HOL blocking)
BroadcastNo
Best forHTTP/S, SSH, email, file transfer, anything requiring accuracy
UDP
User Datagram Protocol
ConnectionConnectionless — fire and forget
DeliveryBest effort — packets can be lost silently
OrderNot guaranteed — out-of-order delivery possible
Error checkingChecksum only (optional in IPv4)
Flow controlNone — application must handle it
Congestion ctrlNone built-in
Header size8 bytes (minimal)
SpeedFast — no handshake, no waiting for ACKs
BroadcastYes (and multicast)
Best forDNS, VoIP, gaming, streaming, VPN tunnels