Home / Journal

Reference Guide for IPv4 CIDR, Subnet Masks and Usable IP

Reference Guide for IPv4 CIDR, Subnet Masks and Usable IP

What is a /24 or a /22?

IP addresses are divided into portions. One part identifies a network and the other part identifies a specific machine or host within the network. IPv4 subnet masks identify the range of IP addresses that make up a subnet, or group of IP addresses on the same network. For example, a subnet can be used to identify all the machines in your house, building, department, geographic location, or on the same local area network (LAN).

In IPv4, the subnet mask 255.255.255.0 is 32 bits and consists of four 8-bit octets. For example, the address 10.10.10.0 with subnet mask 255.255.255.0 means the subnet is a range of IP addresses from 10.10.10.0 to 10.10.10.255.

Below is a guide for us to know how many usable IPv4 addresses each prefix gives us.

CIDR, subnet mask, and host count

CIDR  Subnet mask      Total addresses   Usable hosts
----  ---------------  ---------------  -------------
/0    0.0.0.0            4,294,967,296  4,294,967,294
/1    128.0.0.0          2,147,483,648  2,147,483,646
/2    192.0.0.0          1,073,741,824  1,073,741,822
/3    224.0.0.0            536,870,912    536,870,910
/4    240.0.0.0            268,435,456    268,435,454
/5    248.0.0.0            134,217,728    134,217,726
/6    252.0.0.0             67,108,864     67,108,862
/7    254.0.0.0             33,554,432     33,554,430
/8    255.0.0.0             16,777,216     16,777,214
/9    255.128.0.0            8,388,608      8,388,606
/10   255.192.0.0            4,194,304      4,194,302
/11   255.224.0.0            2,097,152      2,097,150
/12   255.240.0.0            1,048,576      1,048,574
/13   255.248.0.0              524,288        524,286
/14   255.252.0.0              262,144        262,142
/15   255.254.0.0              131,072        131,070
/16   255.255.0.0               65,536         65,534
/17   255.255.128.0             32,768         32,766
/18   255.255.192.0             16,384         16,382
/19   255.255.224.0              8,192          8,190
/20   255.255.240.0              4,096          4,094
/21   255.255.248.0              2,048          2,046
/22   255.255.252.0              1,024          1,022
/23   255.255.254.0                512            510
/24   255.255.255.0                256            254
/25   255.255.255.128              128            126
/26   255.255.255.192               64             62
/27   255.255.255.224               32             30
/28   255.255.255.240               16             14
/29   255.255.255.248                8              6
/30   255.255.255.252                4              2
/31   255.255.255.254                2              2   point-to-point (RFC 3021)
/32   255.255.255.255                1              1   single host

How to read the table

Pick your prefix — the /N. That number is how many leading bits are fixed for the network; the subnet mask is just those N one-bits written in dotted-decimal.

  • Total addresses = 2 ^ (32 − N). A /24 fixes 24 bits, leaving 8 host bits, so 2^8 = 256 addresses.
  • Usable hosts = total − 2. The first address in the block is the network ID and the last is the broadcast address, so neither is assigned to a host.

So our earlier example, 10.10.10.0/24, has 256 total addresses and 254 usable ones (10.10.10.1 through 10.10.10.254), with 10.10.10.0 as the network and 10.10.10.255 as the broadcast.

There are two special cases at the bottom of the table:

  • /31 has only 2 addresses. The old rule would leave 0 usable, but RFC 3021 lets both addresses be used on point-to-point links — handy for router-to-router connections where you don't want to waste a whole /30.
  • /32 is a single address. You'll see it used for host routes, loopbacks, and firewall rules that target one exact IP.

Hope this helps as a quick lookup. Bookmark it for the next time someone asks you "wait, how many hosts fit in a /26?"

← All articles