What is a subnet mask?

A subnet mask is a 32-bit number that splits an IPv4 address into two parts: the network part, which every device on the same subnet shares, and the host part, which identifies one device on that subnet. Bits set to 1 in the mask mark the network part; bits set to 0 mark the host part.

Take 192.168.1.10 with the mask 255.255.255.0:

text
IP address    192.168.1.10    11000000.10101000.00000001.00001010
Subnet mask   255.255.255.0   11111111.11111111.11111111.00000000
Network       192.168.1.0     (IP AND mask)
Broadcast     192.168.1.255   (host bits all 1)
Usable hosts  192.168.1.1 to 192.168.1.254

The first 24 bits of the mask are 1, so that mask is written /24 in CIDR notation, and 192.168.1.10/24 means the same thing as 192.168.1.10 with mask 255.255.255.0. A device compares the network part of a destination address with its own: if they match, it delivers the packet directly on the local network; if not, it sends the packet to its default gateway.

How many hosts does a subnet hold?

A /n subnet has 32 - n host bits, so it holds 2^(32 - n) addresses. Two of them are reserved, the network address (all host bits 0) and the broadcast address (all host bits 1), which leaves 2^(32 - n) - 2 usable hosts. A /26 has 6 host bits: 64 addresses, 62 usable.

Two exceptions: a /31 has no network or broadcast address and both addresses are usable on point-to-point links (RFC 3021), and a /32 identifies exactly one host, which is how loopback addresses and single-host routes are written.

Find your subnet mask

  • Linux: ip -4 addr show prints the address in CIDR form, for example inet 192.168.1.10/24.
  • Windows: ipconfig shows a Subnet Mask line under each adapter.
  • macOS: ifconfig en0 shows the mask in hex, so netmask 0xffffff00 is 255.255.255.0.

Subnet mask cheat sheet

Understanding subnet masks is crucial for anyone managing networks, especially when dealing with IP address allocation and routing. The tables below list common subnet masks, their address ranges and host counts, and how they relate to a Class C network.

Subnet Masks Overview

The table below lists common subnet masks, the number of available hosts, and the corresponding netmask for each subnet size:

CIDR NotationAddressesUsable HostsNetmaskFraction of Class C
/3211 (single host)255.255.255.2551/256
/3122 (RFC 3021)255.255.255.2541/128
/3042255.255.255.2521/64
/2986255.255.255.2481/32
/281614255.255.255.2401/16
/273230255.255.255.2241/8
/266462255.255.255.1921/4
/25128126255.255.255.1281/2
/24256254255.255.255.01
/23512510255.255.254.02
/2210241022255.255.252.04
/2120482046255.255.248.08
/2040964094255.255.240.016
/1981928190255.255.224.032
/181638416382255.255.192.064
/173276832766255.255.128.0128
/166553665534255.255.0.0256
/1210485761048574255.240.0.04096
/81677721616777214255.0.0.065536

Subclassing a Class C Network

Below are examples of how to break down a Class C network (/24) into smaller subnets, along with their corresponding IP ranges and broadcast addresses.

/25: 2 Subnets, 126 Hosts per Subnet

NetworkIP RangeBroadcast
.0.1 - .126.127
.128.129 - .254.255

/30: 64 Subnets, 2 Hosts per Subnet

NetworkIP RangeBroadcast
.0.1 - .2.3
.4.5 - .6.7
.8.9 - .10.11
.12.13 - .14.15
………
.248.249 - .250.251
.252.253 - .254.255

/26: 4 Subnets, 62 Hosts per Subnet

NetworkIP RangeBroadcast
.0.1 - .62.63
.64.65 - .126.127
.128.129 - .190.191
.192.193 - .254.255

/27: 8 Subnets, 30 Hosts per Subnet

NetworkIP RangeBroadcast
.0.1 - .30.31
.32.33 - .62.63
.64.65 - .94.95
.96.97 - .126.127
.128.129 - .158.159
.160.161 - .190.191
.192.193 - .222.223
.224.225 - .254.255

/28: 16 Subnets, 14 Hosts per Subnet

NetworkIP RangeBroadcast
.0.1 - .14.15
.16.17 - .30.31
.32.33 - .46.47
.48.49 - .62.63
.64.65 - .78.79
.80.81 - .94.95
.96.97 - .110.111
.112.113 - .126.127
.128.129 - .142.143
.144.145 - .158.159
.160.161 - .174.175
.176.177 - .190.191
.192.193 - .206.207
.208.209 - .222.223
.224.225 - .238.239
.240.241 - .254.255

/29: 32 Subnets, 6 Hosts per Subnet

NetworkIP RangeBroadcast
.0.1 - .6.7
.8.9 - .14.15
.16.17 - .22.23
.24.25 - .30.31
.32.33 - .38.39
.40.41 - .46.47
.48.49 - .54.55
.56.57 - .62.63
.64.65 - .70.71
.72.73 - .78.79
.80.81 - .86.87
.88.89 - .94.95
.96.97 - .102.103
.104.105 - .110.111
.112.113 - .118.119
.120.121 - .126.127

Conclusion

Subnetting is essential for network management, allowing for better organization and security by splitting a network into smaller sub-networks. By understanding how subnet masks correspond to network size, IP ranges, and broadcast addresses, you can more efficiently plan and allocate your network’s resources. Keep this cheat sheet handy for when you need a quick reference on subnet masks and their corresponding configurations!