What are unicast, broadcast and multicast, and why can TCP not use the last two?
Unicast sends to one receiver, broadcast to every host on the local network, and multicast to a group that has joined. TCP needs a two-way connection with one peer, so it only supports unicast; broadcast and multicast use UDP.
Explain it simply
Unicast is a phone call to one friend. Broadcast is shouting in the hostel corridor so everyone hears. Multicast is a WhatsApp group: only members who joined get the message.
Example
Unicast 203.0.113.7 one host
Broadcast 255.255.255.255 every host on this link (limited)
192.168.1.255 (for /24) every host in that subnet (directed)
Multicast 224.0.0.0 - 239.255.255.255 members of a group, e.g. 224.0.0.5 (OSPF routers)DHCP discovery uses broadcast because the new device has no address yet. ARP also broadcasts its question. IPTV and some live video feeds use multicast so the sender transmits one stream instead of one per viewer.
TCP cannot work here: its handshake, sequence numbers and ACKs assume exactly one peer. With a thousand receivers, a thousand ACKs would swamp the sender, and each would have different loss. UDP has no such state, so it fits. IPv6 has no broadcast at all; it uses multicast instead.
What to say in the interview
"Unicast is one to one, broadcast is one to all on the segment, multicast is one to a subscribed group. TCP is strictly connection-oriented between two endpoints, so one-to-many delivery uses UDP. Routers do not forward broadcasts by default, which keeps them local."
Common mistakes
- Thinking broadcasts cross routers. They stop at the router.