Every device on a network needs a unique address. IPv4 addresses are written as four numbers 0–255 separated by dots (dotted decimal), like 192.168.1.10 — roughly 4.3 billion possible addresses, which the modern internet has essentially exhausted. IPv6 addresses are written in hexadecimal, separated by colons, like 2001:0db8::1 — an address space large enough that exhaustion isn't a realistic concern.
NAT (Network Address Translation) translates private, internal IP addresses into a single public address when traffic leaves the local network — letting an entire office or household share one public IP address, while also hiding internal network structure from the outside world.
DHCP (Dynamic Host Configuration Protocol) automatically assigns an IP address to a device when it joins a network, instead of requiring someone to configure it by hand. A device requests an address; a DHCP server leases one out of its available pool for a set period of time.
| Protocol | What it solves |
|---|---|
| NAT | Lets many private devices share one public address |
| DHCP | Automatically hands out addresses instead of manual configuration |
Subnetting divides one network into smaller, isolated pieces. CIDR (Classless Inter-Domain Routing) notation — the "/24" you see after an IP address — states how many bits of the address are fixed as the network portion; the remaining bits are available for individual hosts.
Subnetting isn't just an organizational nicety — it's a real security control. If a device on one subnet is compromised, proper segmentation contains the breach to that subnet instead of exposing the entire network. This is the exact mechanism behind two concepts you'll use directly in the next project:
| Concept | What it is |
|---|---|
| DMZ (screened subnet) | A lower-security subnet sitting between the public internet and the internal network — holds public-facing resources without exposing internal systems directly |
| VLAN | A switch-level logical separation of devices, even when they're physically connected to the same hardware |
Every email carries a stack of Received: headers — one added by each server the message passed through on its way to you. Reading them from the bottom up reconstructs the actual path the email took, regardless of what the visible From: address claims.