Blog
Thoughts on engineering, design, and building great products.
IP Addresses and Subnets
Every device on a network has an IP address. This article explains IPv4 structure, the network part and host part, the subnet mask and CIDR notation (/24), private (RFC 1918) vs public addresses, and why IPv6 exists.
The Link Layer: MAC, ARP and Switches
Within a local network (LAN), machines find and send data to each other by MAC address, not IP. This article explains MAC, why you need both MAC and IP, the ARP protocol that links the two addresses, and how a switch works.
Routing: Routers, Gateways and the Routing Table
How does a packet travel from your machine to a server on the other side of the world? This article explains routers, the default gateway, the routing table, and how a packet hops across each leg (hop) — observed for real with traceroute.
NAT and Private/Public IPs
Why does a whole household share one public IP out to the Internet? This article explains NAT — the mechanism by which a router translates private IPs into a public IP, tracks them by port, and why incoming connections from outside need port forwarding.
TCP and UDP: Ports and Connections
A deep dive into the transport layer: how a port identifies which service, how TCP's three-way handshake creates a reliable connection, the connection states, and UDP when you need speed over certainty. Observed for real with netstat and nc.
DNS: Resolving Domain Names
A deep dive into DNS — the system that translates domain names into IPs. Understand the root/TLD/authoritative hierarchy, recursive resolvers, the step-by-step resolution flow, record types (A, CNAME, MX, NS, TXT), and the role of TTL/cache. Observed live with dig.
HTTP and HTTPS
The language of the web: the request/response structure, methods (GET/POST...), status code groups (2xx/3xx/4xx/5xx), headers, and the evolution from HTTP/1.1 → 2 → 3. HTTPS is HTTP plus encryption. Observed live with curl -v.