Skip to main content

Networking Fundamentals

How data actually moves between machines: the OSI model, addressing, name resolution, proxies, transport protocols, and load balancing.

IP Addresses

An IP address is a numeric label assigned to a device on a network, used to identify it and route traffic to it — the Layer 3 concern in the OSI Model. Every design that involves more than one machine eventually depends on IP addressing working correctly: it's how a load balancer knows which backend to forward to, how a client's DNS lookup turns into something a TCP connection can actually be opened against, and how two services inside the same private network find each other at all.

HTTP/HTTPS

HTTP (HyperText Transfer Protocol) is the application-layer protocol — the top of the OSI Model — that almost every web and API request in a system design interview ultimately runs on. It defines a simple request/response contract: a client sends a request with a method, a path, headers, and optionally a body; a server sends back a status code, headers, and optionally a body. HTTPS is that same protocol wrapped in TLS encryption, so the content of every request and response is unreadable to anything sitting on the network path between client and server.

Load Balancing

A load balancer distributes incoming requests across multiple servers so that no single one is overwhelmed. It's one of the most consistently reused components across system design interviews, because it's the concrete mechanism behind several ideas already introduced in this course: it's how horizontal scaling actually spreads load in practice, it's usually where failover is implemented (health checks removing a dead server from rotation), and putting one in front of a single server is the standard first fix for the most common single point of failure in a naive design.