IP addresses

Categories: Infrastructure

TL;DR;

A cheat sheet to IPv4 subnetting and other quirks. Common subnet configurations with CIDR and netmask notation.

Disclaimer

I’m no expert in IPv4 networking, I’ve simply learnt stuff as I needed it. This post is mostly a cheat sheet for me, when I need to setup some infrastructure.

Private networks

There are three private address spaces currently in use.

  • 127.0.0.0/18 - Not exactly a private network, but a reserved range for loopback intefaces.
  • 10.0.0.0/8 - 16,777,216 addresses
  • 172.16.0.0/12 - 1,048,576 addresses
  • 192.168.0.0/24 - 65,536 addresses

In networks ranging from /1 to /30, there are always two addresses that are unusable as host addresses. They are the first address and last address. Example, in a 192.168.1.0/24 subnet, the address 192.168.1.0 and 192.168.1.255 are reserved as network address and broadcast address.

Since addresses are divided into 4 groups and and 32 (The CIDR bit) is dividable by 4, we can form this rule of thumb:

  • If CIDR is lower than 8, it changes all groups.
  • If CIDR is lower than 16 but higher or equal to 8, it changes the last three groups.
  • If CIDR is lower than 24 but higher or equal to 16, it changes the last two groups.
  • If CIDR is higher or equal to 24, it changes the last group only.

Examples: A /8 network ranges from *.0.0.0 to *.255.255.255, a /16 network ranges from *.*.0.0 to *.*.255.255 and thus a /24 network ranges from *.*.*.0 to *.*.*.255.

Table of netmasks

CIDR Netmask Hosts Usable hosts Comments
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 Class A
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 Class B
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 Class C
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
32 255.255.255.255 1 1

Table of ranges