# How I plan a small IPv4 subnet without doing binary math in my head

A beginner-friendly guide to CIDR blocks, network address, broadcast address, usable hosts, and using an IPv4 subnet calculator.

- Date: 2026-09-27
- URL: https://ilham.dev/posts/how-to-plan-a-small-ipv4-subnet/
- Markdown: https://ilham.dev/posts/how-to-plan-a-small-ipv4-subnet/index.md
- Tags: ipv4, networking, subnet, tools
- Reading time: 2 min


A subnet is a range of IP addresses. CIDR notation like `192.168.1.0/24` describes the size of that range.

The [IPv4 Subnet Calculator](/tools/ipv4-subnet-calculator/) tool gives me a safe place to test the idea before I put it into a script, server, or production workflow.

## The simple mental model

A subnet is a range of IP addresses. CIDR notation like `192.168.1.0/24` describes the size of that range.

I try to reduce the tool to one question: what input do I have, what output do I expect, and what would make the result unsafe or misleading?

## Step 1: Start with the IP and prefix length

Start with the IP and prefix length.

Start with a small example first. A small example is easier to inspect than a real production-sized case.

## Step 2: Check the network address

Check the network address.

## Step 3: Check the broadcast address

Check the broadcast address.

## Step 4: Look at the usable host range

Look at the usable host range.

## Step 5: Confirm the subnet mask

Confirm the subnet mask.

## Step 6: Pick a subnet size large enough for expected devices

Pick a subnet size large enough for expected devices.

## Step 7: Document gateway, reserved, and DHCP ranges separately

Document gateway, reserved, and DHCP ranges separately.

## My checklist

Before I trust the result, I check:

- Start with the IP and prefix length.
- Check the network address.
- Check the broadcast address.
- Look at the usable host range.
- Confirm the subnet mask.
- Pick a subnet size large enough for expected devices.
- Document gateway, reserved, and DHCP ranges separately.

The tool saves time, but the important part is still understanding the input and reviewing the output before using it somewhere important.
