Networking is how software becomes a system: protocols, latency, reliability, and the failure modes between machines. Most production bugs are distributed bugs in disguise, so a solid network model is a force multiplier. Example: an HTTP timeout can be caused by DNS, TCP congestion, TLS negotiation, or the application itself.

The Layer Model

Networking is easiest to reason about as a stack of layers, each depending on the one below. A single request touches all of them, so knowing which layer owns a symptom is half of debugging:

LayerOwnsExamplesTypical failure
LinkFrames on the local wireEthernet, Wi-Fi, ARPDriver/physical issues, local congestion
InternetAddressing and routing between networksIP, ICMP, routingUnreachable host, wrong route, MTU/fragmentation
TransportEnd-to-end delivery between processesTCP, UDP, portsRefused/reset connections, retransmit-driven latency
ApplicationWhat the bytes meanHTTP, DNS, TLS, gRPCWrong status, slow handshakes, protocol mismatch

TLS sits between transport and application, and DNS is an application-layer lookup most requests pay for first — which is why “the site is slow” so often turns out to be resolution or handshake cost, not the payload.

Delivery Modes

The destination address determines who may receive an IP packet. The transport protocol does not change that fact: UDP supports all four patterns where the network does, while a TCP connection is still a unicast conversation between two endpoints.

ModeAddress ownershipSender → receiversRouting scopeConcrete use
UnicastOne interface owns the destination1 → 1Local or routedA client connects to one API address; ordinary DNS replies are usually unicast
BroadcastEvery IPv4 host on the attached broadcast domain accepts the destination1 → all on-linkIPv4 subnet only; routers normally do not forward itA DHCP client without an address sends to 255.255.255.255
MulticastReceivers join a group address; no host owns it1 → subscribed groupLink-local or routed only where multicast is configuredmDNS uses 224.0.0.251/ff02::fb; controlled networks distribute media or market data
AnycastMultiple nodes advertise the same unicast address1 → one topologically selected nodeRoutedPublic DNS and CDN edges steer a client to one nearby healthy site

Anycast is not “send to every copy.” Routing selects one current path, and a path change can move later packets to another site. Stateful services therefore keep sessions short, replicate state, or terminate behind a stable edge. Multicast is the opposite cardinality: routers replicate packets toward joined receivers, but membership and multicast routing must exist end to end. IPv6 has multicast and anycast, but no broadcast; Neighbor Discovery and service discovery use scoped multicast instead.

The useful diagnostic question is “who owns this destination?” A unicast outage is usually endpoint or route specific. Broadcast trouble stays inside a link. Multicast can fail because receivers never joined or routers lack multicast state. Anycast can fail only from some networks because BGP selected a bad advertisement.

Questions

References

5 items under this folder.