Master the math every networking role tests — IPv4 and binary, IP vs MAC vs ARP, subnet masks, CIDR subnetting, VLSM, route summarization, and NAT. Each concept is made concrete with Python's ipaddress module and ends with the Cisco IOS command that applies it.
Before you start
The examples use Python 3.10+ and its built-in ipaddress module — nothing to install. Run them in any Python REPL to check your subnetting by hand. The Cisco IOS snippets run in a simulator like Packet Tracer or GNS3.
IPv4 Addressing & Binary
An IP address is 32 bits dressed up as four decimal numbers. Once you can see the binary underneath, subnetting stops being magic — start here.
IP vs MAC vs ARP
Two addresses move every packet: the IP (logical, end-to-end) and the MAC (physical, hop-to-hop). ARP is the glue that maps one to the other on a LAN.
Subnet Masks & Prefixes
The subnet mask draws the line between the network part of an address and the host part. Read it in binary, in decimal, and as a /prefix.
Subnetting with CIDR
Subnetting is borrowing host bits to create more, smaller networks. Learn CIDR notation and slice a network into equal subnets you can compute in your head.
VLSM — Right-Sizing Subnets
Fixed-size subnets waste addresses. Variable Length Subnet Masking gives each segment exactly the size it needs — the skill that separates real network design from theory.
Route Summarization (Supernetting)
The opposite of subnetting: combine many small networks into one shorter prefix. Summarization shrinks routing tables and hides instability — a core design skill.
NAT & PAT
Private addresses can’t traverse the internet, so NAT rewrites them into public ones. PAT lets a whole network share a single public IP — the reason IPv4 still works.