/25 Subnet Mask: Meaning, Binary Boundaries, and Class B IPv4
A /25 subnet mask equals 255.255.255.128. It uses 25 bits for the network and 7 bits for the host, which leaves 126 usable addresses under standard IPv4 unicast rules. The fastest way to read it is by boundary: a /25 splits the last octet into 0-127 and 128-255.
The subnet mask meaning is simple: it shows which part of an IP address identifies the subnet and which part identifies the device inside that subnet. In binary, the mask is the cleanest way to see that split, because every 1 bit marks network space and every 0 bit marks host space.
What a subnet mask means in binary and dotted decimal
For a /25, the dotted-decimal mask is 255.255.255.128. In binary, that is 11111111.11111111.11111111.10000000. The first 25 bits are fixed as network bits, and the last 7 bits are available for host addresses.
That binary boundary matters more than the label. The last octet is where the split happens, and 128 is the halfway point of that octet. Because the leftmost bit in the final octet belongs to the network, the remaining seven bits can vary from all zeroes to all ones.
A /25 therefore creates a block size of 128 addresses in the final octet. Under normal IPv4 subnetting, two of those addresses are reserved:
- Network address: all host bits set to 0
- Broadcast address: all host bits set to 1
- Usable hosts: everything between those two values
That is the practical subnet mask meaning for day-to-day address work: identify the network, then identify which addresses inside that block can be assigned to devices.
How to calculate a /25 subnet mask range
The calculation is easiest when the last octet is treated as a 256-value range. With a /25, the mask value in the final octet is 128, so the increment is 256 – 128 = 128. That means every /24 breaks into two equal /25 subnets.
If the parent block is 192.168.10.0/24, the two /25 networks are:
- 192.168.10.0/25 covering 192.168.10.0 through 192.168.10.127
- 192.168.10.128/25 covering 192.168.10.128 through 192.168.10.255
The same pattern works for any /24-sized space. The only question is whether the host IP falls in the lower half or the upper half of the last octet.
Example 1: 192.168.10.34/25
- The last octet is 34.
- 34 is less than 128, so it belongs to the lower half of the /25 block.
- Network address: 192.168.10.0
- Broadcast address: 192.168.10.127
- Usable host range: 192.168.10.1 to 192.168.10.126
The binary view matches the range. The final octet 34 is 00100010, while the mask octet 128 is 10000000. The network bit is shared; the host bits carry the device-specific value.
Example 2: 172.16.4.200/25
- The last octet is 200.
- 200 is 128 or higher, so it belongs to the upper half of the /25 block.
- Network address: 172.16.4.128
- Broadcast address: 172.16.4.255
- Usable host range: 172.16.4.129 to 172.16.4.254
This second example shows why memorizing only the dotted-decimal mask is not enough. The prefix stays /25, but the network changes based on where the address sits inside the 128-address block.
A quick calculation rule for /25 is useful in any exam or live network check:
- Find the last octet of the IP address.
- If it is 0-127, the network starts at .0.
- If it is 128-255, the network starts at .128.
- Add 127 to the network address to get the broadcast address.
- Everything in between is usable, assuming standard IPv4 host assignment rules.
Class B IP addresses and CIDR today
A class B IP address is a historical label from classful IPv4. In that older system, class B addresses ran from 128.0.0.0 to 191.255.255.255, and the default mask was /16 or 255.255.0.0.
That class name is no longer the rule for subnet size. Modern addressing uses CIDR, which writes the prefix length directly with the IP address. A modern network may use a /16, /20, /25, or any other valid prefix regardless of whether the address falls in a class A, class B, or class C range.
That is why a value such as 172.16.4.200/25 should be read as a /25 subnet first. The address happens to sit in the class B range by its first octet, but the operational instruction is the prefix length, not the class label.
There is also a separate distinction between class and private space. The 172.16.0.0/12 block is commonly used for private networks, but its private status does not change the subnet math. The /25 prefix still means 25 network bits, 7 host bits, 128 addresses total, and 126 usable hosts under standard rules.
Useful way to remember the difference:
- Classful terminology: a legacy naming system based on the first octet
- CIDR prefix: the actual subnet size written in the address notation
- Modern practice: always trust the prefix, not the class label
So a class B range can contain many different subnet sizes, and /25 is only one of them. The class does not replace the prefix; it only describes the historical address family.
How to check the network, broadcast, and usable addresses
For a /25, the standard assumptions are straightforward:
- The network address is the first address in the block, with all host bits set to 0.
- The broadcast address is the last address in the block, with all host bits set to 1.
- The usable host addresses are the values in between.
That gives a fixed count for every /25 subnet: 128 total addresses, 126 usable, and 2 reserved. Those reserved values are the network and broadcast addresses, which are not assigned to regular hosts in standard IPv4 subnetting.
A fast field check uses only the last octet:
- Identify whether the address ends in 0-127 or 128-255.
- Round down to the nearest multiple of 128 to get the network address.
- Add 127 to get the broadcast address.
- Subtract 1 from the broadcast address to get the last usable host.
- Add 1 to the network address to get the first usable host.
Applied to the earlier examples:
- 192.168.10.34/25 gives network 192.168.10.0, broadcast 192.168.10.127, and usable hosts from 192.168.10.1 to 192.168.10.126.
- 172.16.4.200/25 gives network 172.16.4.128, broadcast 172.16.4.255, and usable hosts from 172.16.4.129 to 172.16.4.254.
If an address falls exactly on the network value, it identifies the subnet itself. If it falls exactly on the broadcast value, it marks the end of that subnet. Any address between those two values is a usable host address in that /25 block.