Packet Path/

IP Addresses and Subnets Without Tears

Enterprise Network Engineer · Module 1: Networking Fundamentals

Lesson 3 of 8

Foundations⏱ 40 min

Prerequisites: What Is a Network, Really?, How Computers Talk: Packets, Frames, and Addresses

What you'll be able to do: read an address with its slash notation, decide whether two addresses share a subnet, and carve a block of addresses into right-sized subnets by hand.

Every house on your street has an address, and the addresses are grouped: one side of the tracks is one neighborhood, the other side is another. To visit a neighbor you walk over. To visit a different neighborhood you drive — and you must know exactly where yours ends.

Computers work the same way. Every device has an address of four numbers; part of it names the "neighborhood," the rest names the house. Devices in the same neighborhood talk directly; devices in different ones need a guide to carry messages between them.

Then the neighborhood grows. Two hundred devices fit fine — until the company opens a second office, adds guest wifi, and buys a hundred printers. Somebody must redraw the neighborhood lines on paper first, because one wrong line lands the printers in the guest network.

Here's the puzzle.

Scenario. You're the new tech at a small company. On your first morning the boss hands you one big block of addresses — 10.1.0.0/16, a "city" of 65,536 addresses — and four needs: headquarters (500 devices), a branch office (200), guest wifi (50), printers (20). "Carve it up," she says, "and tell me where these six devices live." Get it wrong and the printers end up in the guest network.

Given artifacts. The requirements, the six addresses to place, and a map of your "city" (hover the bar for what each part means).

Needs:   HQ = 500 hosts · Branch = 200 hosts · Guests = 50 hosts · Printers = 20 hosts
City:    10.1.0.0/16  (addresses 10.1.0.0 through 10.1.255.255)

Place these six:
  10.1.0.5 · 10.1.1.200 · 10.1.2.17 · 10.1.3.44 · 10.1.3.70 · 10.1.4.9
The whole city: 10.1.0.0/16 — 65,536 addresses, currently undivided. Your job: carve four neighborhoods out of it. 10.1.0.0/16 — the whole city (65,536 addresses) needs a home: HQ ×500 Branch ×200 Guests ×50 Printers ×20

Your task: (1) write the four subnet blocks in slash notation (for example 10.9.0.0/23); (2) for each of the six host addresses, name which subnet it belongs to — or answer "none (unallocated space)".

Workspace: analyze-and-answer — four text fields for your blocks, six short fields for the placements. Then open the site's subnet calculator tool and check each block: does it hold enough usable addresses, and do any two blocks overlap? The tool is the checker; your brain is the carver.

Hint 1 — where to look Size each subnet from its host count before placing anything. A subnet always holds a power-of-two number of addresses — and two of those are always reserved — so "500 hosts" needs more than 500 addresses.
Hint 2 — what to compare Compare each requirement against the ladder: a /24 holds 256 addresses (254 usable), a /23 holds 512 (510 usable), a /26 holds 64 (62 usable), a /27 holds 32 (30 usable). Match the smallest rung that fits each need.
Hint 3 — the mechanism Carve from the top of 10.1.0.0/16 downward without overlaps — and remember the third number can roll past 255 into the next "street," so a big subnet can span two third-number values. One of the six addresses will land in space you never allocated. That's not a mistake in your carving — spare space stays spare.

Commitment ritual: below the workspace sits a checkbox — "I've attempted this challenge and thought it through." Checking it (with or without typing an answer) reveals the worked answer in S7. Nothing is graded; the checkbox is a promise to yourself that you struggled first. (Honor system for now — real progress tracking arrives with accounts.)

Checking the box reveals the worked answer in S7 below. Returning learners stay unlocked.

Four numbers, one address

The classic device address is the IPv4 address (four numbers from 0 to 255, written with dots between them — 192.168.1.10 — the "dotted decimal" style is just the fancy name for this writing). Underneath, it's 32 tiny on/off switches (bits), eight per number — but you can do everything in this lesson with the four dotted numbers and never touch the bits.

Each device's address must be unique within its neighborhood — two devices claiming the same address is like two houses sharing one street number: mail goes to the wrong door, or neither.

Why this matters for the challenge: every address you'll carve and place — 10.1.0.5, 10.1.3.70, all of them — is one of these four-number addresses.

The slash tells you where the neighborhood ends

An address rarely travels alone; it brings a suffix like /24. This is CIDR notation ("slash notation" — the number after the slash says how many of the 32 bits name the neighborhood; the remaining bits name devices inside it). So 192.168.5.0/24 means: the first 24 bits (the first three numbers) are the neighborhood's name, and the last 8 bits are house numbers within it.

The same idea can be written as four numbers called a subnet mask (the old way of writing the slash — 255.255.255.0 means exactly the same as /24). You'll see both in the wild; they're two spellings of one idea. The bits the mask covers are the network bits (the neighborhood's name); the rest are the host bits (house numbers). Bigger slash = more network bits = smaller neighborhood.

Why this matters for the challenge: your city's /16 means the first 16 bits — the 10.1 part — are fixed. All four of your carved subnets will start with 10.1.

How big is a subnet? Powers of two, minus two

With n host bits you get 2ⁿ addresses — but two are always reserved: the network address (the very first address, which names the subnet itself — like the neighborhood's entrance sign) and the broadcast address (the very last address, meaning "everyone in this subnet at once"). So usable devices = 2ⁿ − 2. Memorize the ladder; you'll use it weekly:

SlashHost bitsTotalUsable
/239512510
/248256254
/257128126
/2666462
/2753230
/2841614

Watch it work on a different block than your challenge: carve 192.168.10.0/24 for 100, 40, and 10 hosts. 100 needs ≥102 → /25 (126 usable): 192.168.10.0/25 (covers .0–.127). 40 needs ≥42 → /26 (62 usable): 192.168.10.128/26 (.128–.191). 10 needs ≥12 → /28 (14 usable): 192.168.10.192/28 (.192–.207). Three neighborhoods, no overlaps, spare space left over at the end.

Why this matters for the challenge: run this exact ladder on 500 / 200 / 50 / 20. The worked answer shows the arithmetic — but the method is right here.

Are these two in the same neighborhood?

The same-subnet test is one comparison: do the two addresses share the same network bits? If yes, same subnet — they can talk directly. If no, different subnets — they need a guide (a router) between them.

Try it: 192.168.5.10/24 vs 192.168.5.200/24 — the /24 covers the first three numbers, which match (192.168.5) → same subnet. Now 192.168.5.10/24 vs 192.168.6.10/24 — the third number differs (5 vs 6) → different subnets, even though they look almost identical. Beginners get burned by that one constantly: close is not same.

Why this matters for the challenge: placing the six host addresses is six rounds of this test against your four carved blocks.

Some addresses are private by agreement

Not every address may appear on the public internet. The private addresses (ranges anyone may use inside their own networks — 10.x.x.x, 192.168.x.x, and 172.16.x.x through 172.31.x.x — but which never appear on the public internet) exist because there simply aren't enough unique addresses for every device on earth. Your home wifi almost certainly uses them. Public addresses (globally unique, allowed on the internet) are the scarce ones, handed out carefully.

Why this matters for the challenge: your whole city, 10.1.0.0/16, is private space. That's why the boss can hand you 65,536 addresses like candy — inside your own networks, private addresses are free.

A one-line look at what's next

IPv6 (the newer address format — eight groups of letters and numbers, enormously larger than the four-number style) exists because the four-number well is running dry. You'll meet it properly later; for now, know its name and why it was born.

Address 192.168.1.200 AND mask 255.255.255.0 address bits (one number shown): 11001000 11111111 mask bits: 11001000 = the network bits survive 11011000 00000000 last number, where the mask is 0: …and the host bits are zeroed
  1. Step 1 of 5: Take one number of the address (200 = 11001000) and line it under the mask's number (255 = 11111111).
  2. Step 2 of 5: Compare each column: 1 AND 1 = 1, anything AND 0 = 0. The mask keeps whatever it covers with 1s.
  3. Step 3 of 5: Where the mask has 1s, the address's bits survive — that's the network portion: the neighborhood's name.
  4. Step 4 of 5: Where the mask has 0s (the last number here), every column becomes 0 — the host portion is wiped.
  5. Step 5 of 5: What survives is the network address (192.168.1.0). Same network address = same neighborhood = the same-subnet test, done the long way.

Platform: Cisco IOS / IOS-XE

! PLAIN-ENGLISH: put an address on the router's doorway to the 192.168.10.0 neighborhood and declare the neighborhood size — /24 written the old way, as 255.255.255.0
interface GigabitEthernet0/0
 ip address 192.168.10.1 255.255.255.0
 no shutdown

⚠️ Remove this, break that: without no shutdown, the interface stays asleep — the address is configured but does absolutely nothing. ⚠️ Remove this, break that: type the mask wrong (say, 255.255.0.0 instead of 255.255.255.0) and the router draws the neighborhood lines in the wrong place — devices it should reach directly, it will try to send away, and they'll never answer.

Platform: Cisco IOS / IOS-XE

Router# show ip interface brief
! PLAIN-ENGLISH: the one-line health board — every doorway, its address, and whether it is awake (up) or asleep (down)
Interface              IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0     192.168.10.1    YES manual up                    up
GigabitEthernet0/1     unassigned      YES unset  administratively down down

⚠️ Remove this, break that: if the Status column shows down, the cable or the far device is the problem — no address math will fix a sleeping interface. Check the wire before you re-subnet.

🔒 The worked answer is hidden until you commit...

Check yourself — nothing here is graded. Wrong answers are the useful ones; each explains why.

Question 1. A /24 subnet holds how many usable device addresses?

Question 2. 192.168.5.10/24 and 192.168.5.200/24 — same subnet?

Question 3. You need 120 usable addresses. What's the smallest subnet that fits?

Question 4. A printer at 10.0.3.40/24 reaches everything at 10.0.3.x but can't reach a server at 10.0.4.10/24. What's the most likely story?

Question 5. Which of these could you freely use inside your own private network?

Next: Your First Lab: Ping, Traceroute, and Reading Output — you can now carve up address space on paper; next you'll use addresses for real, sending the first test messages across a network and learning to read what comes back.