Ths is an Internet Protocol (IPv4) Subnet Chart. You can use this to quickly look up how your might need to subnet your network. At the bottom there is a quick how-to on calculating subnets.

Class address ranges:

- Class A = 1.0.0.0 to 126.0.0.0
- Class B = 128.0.0.0 to 191.255.0.0
- Class C = 192.0.1.0 to 223.255.255.0

Reserved address ranges for private (non-routed) use :

- 10.0.0.0 -> 10.255.255.255
- 172.16.0.0 -> 172.31.255.255
- 192.168.0.0 -> 192.168.255.255

Other reserved addresses:

- 127.0.0.0 is reserved for loopback and IPC on the local host
- 224.0.0.0 -> 239.255.255.255 is reserved for multicast addresses

Chart notes:

- Number of Subnets - "( )" Refers to the number of effective subnets, since the use of subnet numbers of all 0s or all 1s is highly frowned upon and RFC non-compliant.
- Number of Hosts - Refers to the number of effective hosts, excluding the network and broadcast address.

**Class A**

Network Bits |
Subnet Mask |
Number of Subnets |
Number of Hosts |

/8 | 255.0.0.0 | 0 | 16777214 |

/9 | 255.128.0.0 | 2 (0) | 8388606 |

/10 | 255.192.0.0 | 4 (2) | 4194302 |

/11 | 255.224.0.0 | 8 (6) | 2097150 |

/12 | 255.240.0.0 | 16 (14) | 1048574 |

/13 | 255.248.0.0 | 32 (30) | 524286 |

/14 | 255.252.0.0 | 64 (62) | 262142 |

/15 | 255.254.0.0 | 128 (126) | 131070 |

/16 | 255.255.0.0 | 256 (254) | 65534 |

/17 | 255.255.128.0 | 512 (510) | 32766 |

/18 | 255.255.192.0 | 1024 (1022) | 16382 |

/19 | 255.255.224.0 | 2048 (2046) | 8190 |

/20 | 255.255.240.0 | 4096 (4094) | 4094 |

/21 | 255.255.248.0 | 8192 (8190) | 2046 |

/22 | 255.255.252.0 | 16384 (16382) | 1022 |

/23 | 255.255.254.0 | 32768 (32766) | 510 |

/24 | 255.255.255.0 | 65536 (65534) | 254 |

/25 | 255.255.255.128 | 131072 (131070) | 126 |

/26 | 255.255.255.192 | 262144 (262142) | 62 |

/27 | 255.255.255.224 | 524288 (524286) | 30 |

/28 | 255.255.255.240 | 1048576 (1048574) | 14 |

/29 | 255.255.255.248 | 2097152 (2097150) | 6 |

/30 | 255.255.255.252 | 4194304 (4194302) | 2 |

**Class B**

Network Bits |
Subnet Mask |
Number of Subnets |
Number of Hosts |

/16 | 255.255.0.0 | 0 | 65534 |

/17 | 255.255.128.0 | 2 (0) | 32766 |

/18 | 255.255.192.0 | 4 (2) | 16382 |

/19 | 255.255.224.0 | 8 (6) | 8190 |

/20 | 255.255.240.0 | 16 (14) | 4094 |

/21 | 255.255.248.0 | 32 (30) | 2046 |

/22 | 255.255.252.0 | 64 (62) | 1022 |

/23 | 255.255.254.0 | 128 (126) | 510 |

/24 | 255.255.255.0 | 256 (254) | 254 |

/25 | 255.255.255.128 | 512 (510) | 126 |

/26 | 255.255.255.192 | 1024 (1022) | 62 |

/27 | 255.255.255.224 | 2048 (2046) | 30 |

/28 | 255.255.255.240 | 4096 (4094) | 14 |

/29 | 255.255.255.248 | 8192 (8190) | 6 |

/30 | 255.255.255.252 | 16384 (16382) | 2 |

**Class C**

Network Bits |
Subnet Mask |
Number of Subnets |
Number of Hosts |

/24 | 255.255.255.0 | 0 | 254 |

/25 | 255.255.255.128 | 2 (0) | 126 |

/26 | 255.255.255.192 | 4 (2) | 62 |

/27 | 255.255.255.224 | 8 (6) | 30 |

/28 | 255.255.255.240 | 16 (14) | 14 |

/29 | 255.255.255.248 | 32 (30) | 6 |

/30 | 255.255.255.252 | 64 (62) | 2 |

- CIDR - Classless Inter-Domain Routing.
- Note: The Number of Class C networks must be contiguous.

For example, 192.169.1.0/22 represents the following block of addresses:

192.169.1.0, 192.169.2.0, 192.169.3.0 and 192.169.4.0.

**Class C**

CIDR Block |
Supernet Mask |
Number of Class C Addresses |
Number of Hosts |

/14 | 255.252.0.0 | 1024 | 262144 |

/15 | 255.254.0.0 | 512 | 131072 |

/16 | 255.255.0.0 | 256 | 65536 |

/17 | 255.255.128.0 | 128 | 32768 |

/18 | 255.255.192.0 | 64 | 16384 |

/19 | 255.255.224.0 | 32 | 8192 |

/20 | 255.255.240.0 | 16 | 4096 |

/21 | 255.255.248.0 | 8 | 2048 |

/22 | 255.255.252.0 | 4 | 1024 |

/23 | 255.255.254.0 | 2 | 512 |

[Understanding decimal - Base 10]
The first thing you must know is that the common number system used world wide is the decimal system (otherwise known as base 10). What makes the decimal
system a base 10 system is that it is . It is believed that the system evolved because we have ten fingers and ten toes
which over the years we have used for counting. I use mine all the time (grin). We name the ten digits: zero, one, two, three, four, five, six, seven, eight and
nine.based on grouping numbers by 10'sThe decimal system has a 1's place, a 10's place, a 100's place, a 1000's place and so on. We say the number places are grouped by 10's
because
. So: 1x10=10 (the 10's place), 10x10=100 (the 100's place),
100x10=1000 (the 1000's place) etc.multiplying each number place by 10 gives you the next number placeLet's look at the decimal number 103 by place.103 <- read from right to leftWe have a 3 in the 1's placeWe have a 0in the 10's placeWe have a 1 in the 100's placeThus: 100+0+3=103By now you probably feel like you have attended Kindergarten for the second time in your life? Sorry about that but it is very important that you understand the concept of what a number system is, and what it is based on before we look at binary.
[Understanding binary - base 2]
Binary is a base 2 system, and thus groups numbers by 2's and not by 10's like the decimal system. We name the two digits: zero and one. The binary system has a
1's place, a 2's place, a 4's place, an 8's place, a 16's place and so on. We say the number places are grouped by 2's because
. So: 1x2=2 (the 2's place), 2x2=4 (the 4's place), 4x2=8 (the 8's
place), 8x2=16 (the 16's place) etc.
multiplying each number place by 2 gives you the next number placeLet's look at the decimal number Let's look at the decimal number 103 in binary format:01100111 <- read from right to leftWe have a 1 in the 1's placeWe have a 1 in the 2's placeWe have a 1 in the 4's placeWe have a 0 in the 8's placeWe have a 0 in the 16's placeWe have a 1 in the 32's placeWe have a 1 in the 64's placeWe have a 0 in the 128's placeThus: 0+64+32+0+0+4+2+1=103Okay, Let's test your skills. Here is a list of binary numbers, try converting them to decimal and check your answers at the end of this post. 10000000 11000000 11100000 01000000 10000011 10010001 11111111 If you were able to convert these numbers to decimal then congratulations! You're ready to move on to the next section.
[Understanding a subnet mask]Now that you understand what binary is, let's have a look at our two subnet masks from the beginning of my post:
192.168.1.0 / 255.255.255.0192.168.1.0/24 The concept of a subnet mask is simple. You have a network and you have hosts on the network (anything with an IP address is a host). . Because I am a simple person, I think of it like this; The
network number represents the street I live on, and the host portion is used for the numbers on all the houses on my street. The subnet mask determines
what portion of the TCP/IP address represents your network and what portion can be used for your hostsA subnet mask of 255.255.255.0 means that the first three octets of the address will be used for the network, and thus our network number is
192.168.1. This means we can have 254 computers on this network, because the fourth octet is not being used by the network portion of the address. We know
this because of the 0 in the subnet mask (255.255.255.0). We call each of the number sections an because we think of them in binary, and there are eight possible bits in each section. Eight bits is an octet.
octet11111111 in binary is 255 in decimal (did you do the conversions?). So our decimal subnet mask 255.255.255.0 displayed in binary is
going to be:11111111.11111111.11111111.00000000 If you count all the ones, you will find that there are 24 of them. Now look at the subnet mask examples again.
192.168.1.0/255.255.255.0192.168.1.0/24 Do you see why both subnet masks are the same? The number 24 is the number of used in the network portion of the address, and is
short-hand for writing the address/subnet mask combination. It becomes important to understand this when you start dividing your network into multiple sub networks.
bits
[Understanding Subnetting]Before reading this section, you should have a good understanding of what a subnet mask is and how binary bits represent the subnet mask.Simply put, subnetting is dividing your network into . To go back to my silly example about houses and streets, subnetting gives you
multiple streets in your neighborhood.multiple sub networksThere are two methods for dividing your network into multiple sub networks; One is to simply change your network numbers keeping the same subnet mask. The other is
to subnet your network into smaller sub networks.Keeping the same mask: Your network could be divided into two or more networks by changing the network portion of the address such as 192.168.1 and 192.168.2 and keeping the same
subnet mask.Example:192.168.1.0/255.255.255.0192.168.2.0/255.255.255.0Doing this would give you two separate networks with 254 hosts per network. This is a very common method of dealing with multiple networks. However, back in
the good old days you had to pay for every IP address you used, and if you had 25 computers on your network you probably would not want to pay for 254 addresses! The
answer to the problem is...subnetting.Subnetting a network: . This let's you subdivide your network at the cost of
host addresses, which is great if you're paying for every host IP address. It will save you money because you pay for fewer TCP/IP addresses. Confused? Here is where
understanding binary is important.Subnetting is when you use bits from the host portion of your address as part of your network numberLets look at a new subnet mask: 255.255.255.224As you can see in the fourth octet, some of the host portion of this subnet mask is now being used for part of the network address. Which means we are , and that gives us fewer hosts than our old mask (which gave us 254),
but gives us more networks (which is why we call it subnetting). now using some of the binary bits in the fourth octet for our network numbersHow can we tell how many networks and hosts per network this new subnet mask will give us? Well... we shall have to use some of our newly acquired binary skills. The first task is to find out ? The decimal number is 224, what is the decimal number 224 as
represented in binary?how many bits in the fourth octet are being usedThe decimal number 224 in binary is: 11100000We have a 0 in the 1's placeWe have a 0 in the 2's placeWe have a 0 in the 4's placeWe have a 0 in the 8's placeWe have a 0 in the 16's placeWe have a 1 in the 32's placeWe have a 1 in the 64's placeWe have a 1 in the 128's placeThus: 128+64+32+0+0+0+0+0= 224
So our complete subnet mask in binary is: 1111111.11111111.11111111. 11100000We now know that three bits from the fourth octet are used. How can we tell how many sub networks we're going to have? This requires some math - sorry. The formula is: 2, where ^{n}-2 is the
nnumber of bits being used from the host portion of our subnet mask. Important Note:We subtract 2 networks (the first and last subnets) from the total unless we have equipment that supports
IP Subnet-Zero in which case we use the formula 2 - please see the addendum at the end of this
lesson for more details.^{n}The formula for is:three bits2=6^{3}-2In simpler terms: (2x2x2)-2=6So our network is sub divided into 6 networks. Next, we want to know what the network numbers are, and how many hosts we can have on each of the 6 networks?What is the first subnet? Let's have a look at the bits in our fourth octet again. The bit that gives us the answer is the (1) closest to the first zero,
and in this case it is the 3rd bit from the left.11 100000The 3rd bit will start our first network, and the 3rd bit is in the 's place (remember binary). Start adding the value 32 to itself six times to
get the six network numbers.32Note: A quicker way to find our starting network number is to subtract our
mask from 256.256-224=32Here are our network numbers: 32 64 96 128 160 192 A better way to display this is: 192.168.1. 32192.168.1. 64192.168.1. 96192.168.1. 128192.168.1. 160192.168.1. 192The host addresses will fall between the network numbers, so we will have 30
hosts per network. You're probably wondering why it's 31? The answer is that the last address of each subnet is used as the notbroadcast address
for that subnet. Example: Subnet:192.168.1.32 / 255.255.255.224Address Range: 192.168.1.33 through 192.168.1.62 (30 hosts)Subnet Broadcast Address:192.168.1.63Quiz: Let's test your skills- write the address range and broadcast address for the following subnet. You will find the answer at the end of this post. Subnet: 192.168.1.128 / 255.255.255.224 Address Range?Subnet Broadcast Address?If we we're paying for our TCP/IP addresses, we would only pay for one network and host combination, thus paying for 30 hosts and not 254. It could mean some real
savings, it also frees up the remaining addresses for other organizations to use.Let's look at another subnet mask: 255.255.255.240How many bits are used from the host portion? To find this out, we need to know how the decimal number 240 is represented in binary. The answer is: 11110000 So four bits are taken from the host portion of our mask. We do the same math as before: 2=14^{4}-2In simpler terms: (2x2x2x2)-2=14We will have 14 sub networks, and what will the network numbers be? Look at the fourth bit, it's in the 16's place: 111 10000Note: A quicker way to find our starting network number is to subtract the
value of our mask from 256. So: 256-240=16Start adding 16 to itself- fourteen times to get all 14 network numbers: 16 32 48 64 80 96 112 128 144 160 176 192 208 224 A better way to display our subnets is: 192.168.1.16 192.168.1.32 192.168.1.48 192.168.1.64 192.168.1.80 192.168.1.96 192.168.1.112 192.168.1.128 192.168.1.144 192.168.1.160 192.168.1.176 192.168.1.192 192.168.1.208 192.168.1.224 The host addresses fall between the network numbers. So we will have 14 host addresses on each of our 14 sub networks ( remember: the last or 15th address is the
broadcast address for that subnet).If you had a small company with 10 hosts and needed to have a static IP address for all of your hosts, you would be assigned a network/subnet mask and a valid IP address range. Here is an example of what that might look like: Network: 205.112.10.16/.255.255.255.240Address Range: 205.112.10.17 through 205.112.10.30Subnet Broadcast Address: 205.112.10.31Important Addendum: There may be concerns about why the first and last subnets were not used in any of the examples
above. What happened to them? Did they get scared and run away? The answer is simple
- nothing happend to them it's just that some older routing equipment and software does not support
the use of the first and last subnets. This is documented in the older TCP/IP doc rfc 950. The newer
standard outlined in rfc 1812 allows for the use of the first and last subnets- making it the current
standard in IPv4 subnetting.
[Answers to Binary Conversions]10000000 = 128 11000000 = 192 11100000 = 224 01000000 = 64 10000011 = 131 10010001 = 145 11111111 = 255
[Answer to Subnet Question]Subnet:192.168.1.128 / 255.255.255.224Address Range: 192.168.1.129 through 192.168.1.158Subnet Broadcast Address: 192.168.1.159 |