An IP address contains a network portion and a host portion.
The netmask determines the division between these portions.
Together the operating system can determine which IPs are part of the local subnet and which ones are outside.
An IPv4 IP address (32 bits) of 192.168.1.200 with a subnet mask of 255.255.255.0 is represented in CIDR notation as: 192.168.1.200/24 (First 24 bits have binary value of 1, 11111111 = 255). The /24 is called the netmask.
If we use 192.168.1.200/26, the netmask is 255.255.255.192. This netmask tells us that the broadcast addresses will begin with 192.168.1 and that the range of each subnet is 64 (256-192).
The way to find out the number of subnets and hosts is simple.
A table might make this clearer:
MASK BITS | # OF SUBNETS | # OF HOSTS | ADDED BITS | SUBNET MASK BITS (DEC) |
---|---|---|---|---|
/24 | 1 | 256 | 0 | 0 |
/25 | 2 | 128 | 1 | 128 |
/26 | 4 | 64 | 2 | 192 |
/27 | 8 | 32 | 3 | 224 |
/28 | 16 | 16 | 4 | 240 |
/29 | 32 | 8 | 5 | 248 |
/30 | 64 | 4 | 6 | 252 |
The next steps is to find:
Let's take for example 192.168.1.75/27. Using the chart above we know there are 8 subnets with 32 addresses each. This IP obviously cannot reside in the .32 to .63 range so it must be in the .64 to .93 range. Hence the network address for 192.168.1.75/27 is 192.168.1.64 and the broadcast address is 192.168.1.95.
So what's the point of all this madness?
Here's a real world example. Say you're hired to divide up a 10.14.1.0/24 network into 20 subnets. Each subnet represents a department in the company. How would you do this? From looking at the chart above, you'll need to allocate 32 subnets, which means you need to change the netmask to /29. Each subnet will have 8 hosts which has only 5 usable addresses (You need one for network address, broadcast, and router).