Compare
Side-by-side on the decisions that recur: TCP vs UDP, HTTP/2 vs HTTP/3, flow vs congestion control, L4 vs L7, forward vs reverse proxy, IPv4 vs IPv6 — with when to choose each.
TCP vs UDPHTTP/2 vs HTTP/3Flow control vs Congestion controlSwitch vs RouterForward proxy vs Reverse proxyL4 load balancing vs L7 load balancingServer-Sent Events vs WebSocketsIPv4 vs IPv6ARP (IPv4) vs Neighbor Discovery (IPv6)Keep-alive (reuse) vs New connection per request
| ARP (IPv4) | Neighbor Discovery (IPv6) | |
|---|---|---|
| Question asked | "Who has 192.168.1.1? Tell 192.168.1.42" | Neighbor Solicitation for fe80::1 |
| Carried in | Its own Ethernet frame type (0x0806), no IP | ICMPv6 inside IPv6 packets |
| Addressed to | Broadcast ff:ff:ff:ff:ff:ff — every host on the LAN | Solicited-node multicast — only hosts whose address matches the last 24 bits |
| Cache | ARP table (ip neigh / arp -a) | Neighbor cache with reachability states (REACHABLE, STALE, PROBE) |
| Also handles | Only address resolution | Router discovery, prefix advertisement, duplicate address detection, redirects |
| Security | Trivially spoofable (ARP poisoning) | Also spoofable; SEND exists but is rarely deployed |
| Choose this when | Understanding why "same subnet but unreachable" on IPv4 means a stale or poisoned ARP entry. | Understanding IPv6 hosts self-configuring from router advertisements, and why there is no broadcast storm. |