RFC 1817 RFC 1812: Class A
RFC 1817 RFC 1812: Class A
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.
For more information on subnetting, see RFC 1817 and RFC 1812.
Reserved address ranges for private (non-routed) use (see RFC 1918):
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
/8 255.0.0.0 0 16777214
Class B
Class C
Class C
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 based on grouping numbers by 10's. 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.
The 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 multiplying each number place by 10
gives you the next number place. So: 1x10=10 (the 10's place), 10x10=100 (the 100's
place), 100x10=1000 (the 1000's place) etc.
Thus: 100+0+3=103
By 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.
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 multiplying each number place by 2 gives you the next number place. 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.
Let's look at the decimal number Let's look at the decimal number 103 in binary format:
Thus: 0+64+32+0+0+4+2+1=103
Okay, 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.
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.0
192.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). The subnet mask determines what
portion of the TCP/IP address represents your network and what portion can be used
for your hosts. 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.
A 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 octet because we think of them in binary, and there
are eight possible bits in each section. Eight bits is an octet. 11111111 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.0
192.168.1.0/24
Do you see why both subnet masks are the same? The number 24 is the number of bits 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.
[Understanding Subnetting]
6
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 multiple sub networks. To go back to my
silly example about houses and streets, subnetting gives you multiple streets in your
neighborhood.
There 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.
Example:
192.168.1.0/255.255.255.0
192.168.2.0/255.255.255.0
Doing 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:
Subnetting is when you use bits from the host portion of your address as part of your
network number. 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.
As 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 now using some of the binary
bits in the fourth octet for our network numbers, 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).
How 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 how many bits in the fourth octet are being used? The decimal
number is 224, what is the decimal number 224 as represented in binary?
Thus: 128+64+32+0+0+0+0+0=224
We 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: 2n-2, where n
is the number of bits being used from the host portion of our subnet mask.
Note: We subtract 2 from the total because you do not count all 0's or all 1's.
In simpler terms:
(2x2x2)-2=6
So 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.
11100000
The 3rd bit will start our first network, and the 3rd bit is in the 32's place (remember binary).
Start adding the value 32 to itself six times to get the six network numbers.
Note: A quicker way to find our starting network number is to subtract our mask from 256.
256-224=32
32
64
96
128
160
192
192.168.1.32
192.168.1.64
192.168.1.96
192.168.1.128
192.168.1.160
192.168.1.192
The host addresses will fall between the network numbers, so we will have 30 hosts per
network. You're probably wondering why it's not 31? The answer is that the last address of
each subnet is used as the broadcast address for that subnet.
Example:
Subnet:192.168.1.32 / 255.255.255.224
Address Range: 192.168.1.33 through 192.168.1.62 (30 hosts)
Subnet Broadcast Address:192.168.1.63
8
Quiz:
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.
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.
How 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.
So four bits are taken from the host portion of our mask. We do the same math as before:
24-2=14
In simpler terms:
(2x2x2x2)-2=14
We will have 14 sub networks, and what will the network numbers be? Look at the fourth bit,
it's in the 16's place:
11110000
Note: A quicker way to find our starting network number is to subtract the value of our mask
from 256. So: 256-240=16
16
32
48
64
80
96
112
128
144
160
176
192
208
224
192.168.1.16
192.168.1.32
192.168.1.48
9
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.
Network: 205.112.10.16/.255.255.255.240
Address Range: 205.112.10.17 through 205.112.10.30
Subnet Broadcast Address: 205.112.10.31
10000000 = 128
11000000 = 192
11100000 = 224
01000000 = 64
10000011 = 131
10010001 = 145
11111111 = 255
Subnet:192.168.1.128 / 255.255.255.224
Address Range: 192.168.1.129 through 192.168.1.158
Subnet Broadcast Address: 192.168.1.159