The table below summarizes the possible network numbers, the total number of each type, and the number of hosts in each Class A, B, and C network.
Default subnet mask | Range | |
Class A | 255.0.0.0 (/8) | 1.0.0.0 – 126.255.255.255 |
Class B | 255.255.0.0 (/16) | 128.0.0.0 – 191.255.255.255 |
Class C | 255.255.255.0 (/24) | 192.0.0.0 – 223.255.255.255 |
Class A addresses begin with a 0 bit. Therefore, all addresses from 1.0.0.0 to 126.255.255.255 belong to class A (1=0000 0001; 126 = 0111 1110).
The 0.0.0.0 address is reserved for default routing and the 127.0.0.0 address is reserved for loopback testing so they don’t belong to any class.
Class B addresses begin with a 1 bit and a 0 bit. Therefore, all addresses from 128.0.0.0 to 191.255.255.255 belong to class B (128=1000 0000; 191 = 1011 1111).
Class C addresses begin with two 1 bits and a 0 bit. Class C addresses range from 192.0.0.0 to 223.255.255.255 (192 = 1100 0000; 223 = 1101 1111).
Class D & E are used for Multicast and Research purposes and we are not allowed to subnet them so they are not mentioned here.
Note: The number behind the slash notation (/) specifies how many bits are turned on (bit 1). For example:
+ “/8″ equals “1111 1111.0000 0000.0000 0000.0000 0000″ -> 8 bits are turned on (bit 1)
+ “/12″ equals “1111 1111.1111 0000.0000 0000.0000 0000″ -> 12 bits are turned on (bit 1)
+ “/28″ equals “1111 1111.1111 1111.1111 1111.1111 0000″ -> 28 bits are turned on (bit 1)
+ “/32″ equals “1111 1111.1111 1111.1111 1111.1111 1111″ -> 32 bits are turned on (bit 1) and this is also the maximum value because all bits are turned on.
The slash notation (following with a number) is equivalent to a subnet mask. If you know the slash notation you can figure out the subnet mask and vice versa. For example, “/8″ is equivalent to “255.0.0.0″; “/12″ is equivalent to “255.240.0.0″; “/28″ is equivalent to “255.255.255.240″; “/32″ is equivalent to “255.255.255.255″.
The Network & Host parts of each class by default
From the “default subnet mask” shown above,
we can identify the network and host part of each class. Notice that in
the subnet mask, bit 1 represents for Network part while bit 0 presents
for Host part (255 equals to 1111 1111 and 0 equals to 0000 0000 in
binary form).
What is “subnetting”?
When changing a number in the Network part of an IP address we will
be in a different network from the previous address. For example, the IP
address 11.0.0.1 belongs to class A and has a default subnet mask of
255.0.0.0; if we change the number in the first octet (a block of 8
bits, the first octet is the leftmost 8 bits) we will create a different
network. For example, 12.0.0.1 is in a different network from 11.0.0.1. But if we change a number in the Host part, we are still in the same Network. For example, 11.1.0.1 is in the same network of 11.0.0.1.The problem here is if we want to create 300 networks how can we do that? In the above example, we can only create different networks when changing the first octet so we can create a maximum of 255 networks because the first octet can only range from 1 to 255 (in fact it is much smaller because class A only range from 1 to 126). Now we have to use a technique called “subnetting” to achieve our purpose.
“Subnetting” means we borrow some bits from the Host part to add to the Network part. This allows us to have more networks than using the default subnet mask. For example, we can borrow some bits in the next octet to make the address 11.1.0.1 belong to a different network from 11.0.0.1.
How to subnet?
Do you remember that I said “in the subnet mask, bit 1 represents for Network part while bit 0 presents for Host part”? Well, this also means that we can specify how many bits we want to borrow by changing how many bit 0 to bit 1 in the subnet mask.
Let’s come back to our example with the IP 11.0.0.1, we will write all numbers in binary form to reveal what a computer really sees in an IP address.
So, in conclusion we “subnet” by borrowing bit “0″ in the Host portion and converting them to bit “1″. The number of borrowed bits is depended on how many networks we need.
Note: A rule of borrowing bits is we can only borrow bit 0 from the left to the right without skipping any bit 0. For example, you can borrow like this: “1111 1111. 1100 0000.0000 0000.0000 0000″ but not this: “1111 1111. 1010 0000.0000 0000.0000 0000″. In general, just make sure all your bit “1″s are successive on the left and all your bit “0″s are successive on the right.
Calculate how many networks and hosts-per-subnet
In our example, you may raise a question: “when we borrow 8 bits, how
many sub-networks and how many hosts per sub-network do it create?”Note: From now, we will call sub-networks “subnets”. This term is very popular so you should be familiar with it.
How many new subnets?
Because we can change any bit in the second octet to create a new subnet, each bit can be “0″ or “1″ so with this subnet mask (255.255.0.0) we can create 2^{8} more subnets. From here we can deduce the formula to calculate the newly created subnets. Suppose n is the number of bits we borrow:
The number of newly created subnets = 2^{n} |
How many hosts per subnet?
The number of hosts per subnet is depended on the Host part, which is indicated by the “0″ part of the subnet mask. So suppose k is the number of bits “0″ in the subnet mask. The formula to calculate the number of hosts is 2^{k}. But notice that with each subnet, there are two addresses we can’t assign for hosts because they are used for network address & broadcast address. Thus we must subtract the result to 2. Therefore the formula should be:
The number of hosts per subnet = 2^{k} – 2 |
Some other examples
Well, practice makes perfect so we should have some more exercises to
be familiar with them. But remember that this is only the beginning in
your journey to become a subnetting guru :)
Exercise 1
Your company has just been assigned the network 4.0.0.0. How many
subnets and hosts-per-subnet you can create with a subnet mask of
255.255.255.0?(Please try to solve by yourself before reading the solution ^^)
Solution
First of all you have to specify which class this network belongs to.
According to Table 1, it belongs to class A (simply, class A ranges
from 1 to 126) and its default subnet mask is 255.0.0.0. Therefore if we
use a subnet mask of 255.255.255.0, it means we borrowed 16 bits (to
convert from 0 to 1).255.0.0.0 = 1111 1111.0000 0000.0000 0000.0000 0000
255.255.255.0 = 1111 1111.1111 1111.1111 1111.0000 0000
Now use our above formulas to find the answers:
The number of newly created subnets = 2^{16} = 65536 (with 16 is the borrowed bits)
The number of hosts per subnet = 2^{8} – 2 = 254 (with 8 is the bit “0″s left in the 255.255.255.0 subnet mask)
Exercise 2
Your company has just been assigned the network 130.0.0.0. How many
subnets and hosts-per-subnet you can create with a subnet mask of
255.255.128.0?(Please try to solve by yourself before reading the solution ^^)
Solution
130.0.0.0 belongs to class B with the default subnet mask of 255.255.0.0. But is the subnet mask of 255.255.128.0 strange? Ok, let’s write all subnet masks in binary:
255.255.128.0 = 1111 1111.1111 1111.1000 0000.0000 0000
This is a valid subnet because all bit “1″s and “0″s are successive. Comparing to the default subnet mask, we borrowed only 1 bit:
255.255.0.0 = 1111 1111.1111 1111.0000 0000.0000 0000
Therefore:
The number of newly created subnets = 2^{1} = 2 (with 1 is the borrowed bits)
The number of hosts per subnet = 2^{15} – 2 = 32766 (with 15 is the bit “0″s left in the 255.255.128.0 subnet mask)
Exercise 3
Your company has just been assigned the network 198.23.16.0/28. How
many subnets and hosts-per-subnet you can create with a subnet mask of
255.255.255.252?(Please try to solve by yourself before reading the solution ^^)
Solution
In this exercise, your company was given a “subnetted” network from the beginning and it is not using the default subnet mask. So we will compare two subnet masks above:
/28 = 1111 1111.1111 1111.1111 1111.1111 0000 (=255.255.255.240)
255.255.255.252 = 1111 1111.1111 1111.1111 1111.1111 1100 (= /30)
In this case we borrowed 2 bits. Therefore:
The number of newly created subnets = 2^{2} = 4 (with 2 is the borrowed bits)
The number of hosts per subnet = 2^{2} – 2 = 2 (with 2 is the bit “0″s left in the 255.255.255.252 subnet mask)
In this exercise I want to go a bit deeper into the subnets created. We learned there are 4 created subnets but what are they? To find out, we should write all things in binary:
+ First subnet: 198.23.16.0/30 (the 4th octet is 00000000)
+ Second subnet: 198.23.16.4/30 (the 4th octet is 00000100)
+ Third subnet: 198.23.16.8/30 (the 4th octet is 00001000)
+ Fourth subnet: 198.23.16.12/30 (the 4th octet is 00001100)
So how about hosts per subnet? Please notice that all these 4 subnets are successive. So we can deduce the range of these subnets:
+ First subnet: ranges from 198.23.16.0 to 198.23.16.3
+ Second subnet: ranges from 198.23.16.4 to 198.23.16.7
+ Third subnet: ranges from 198.23.16.8 to 198.23.16.11
+ Fourth subnet: ranges from 198.23.16.12 to 198.23.16.15
Let’s analyze the first subnet which ranges from 198.23.16.0 to 198.23.16.3. Notice that all networks (and subnets) have a network address and a broadcast address. In this case, the network address is 198.23.16.0 and the broadcast address is 198.23.16.3 and they are not assignable or usable for hosts. This is the reason why we have to subtract 2 in the formula “The number of hosts per subnet = 2^{k} – 2″. After eliminating these 2 addresses we have 2 addresses left (which are 198.23.16.1 & 198.23.16.2) as calculated above.
Subnetting – The quick & easy way
One important thing we should notice is that a valid subnet mask must
have all bit “1″s and “0″s successive, in which bit “1″s must be on the
left; bit “0″s must be on the right. Therefore we only have 8
situations:Table 2 – lists all valid subnet masks
In most cases, this table is used to quickly convert a number from decimal to binary value without any calculation. For example, you can quickly convert the 4th octet of the subnet mask 255.255.255.248 to 11111000. Or if you are given a subnet of /29 you will know it equals to 255.255.255.248 (by thinking “/24 is the default subnet mask of class C so /29 will have the right-most bit “1″ at 5th position).
Try to practice with these questions:
+ “/28″ in binary form?
+ “255.255.224.0″ in binary form?
+ “255.192.0.0″ in slash notation form?
+ “/26″ in binary form?
+ “255.128.0.0″ in binary form?
+ “248.0.0.0″ in slash notation form?
(Please try to solve by yourself before reading the solution)
Answers:
+ /28 -> 1111 1111.1111 1111.1111 1111.1111 0000
+ 255.255.224.0 -> 1111 1111.1111 1111.1110 0000.0000 0000
+ 255.192.0.0 -> /10
+ /26 -> 1111 1111.1111 1111.1111 1111.1100 0000
+ 255.128.0.0 -> 1111 1111.1000 0000.0000 0000.0000 0000
+ 248.0.0.0 -> /5
How to find out the increment number?
The increment is the heart of subnetting; if you can find out the
increment, you can find all the information to solve a subnetting
question. So it is usually the first thing you must find out in a
subnetting question.The increment number is the number specifying how “big” your subnets are. Let’s take an example of the increment number! Did you remember the subnets in “Exercise 3″ in the previous part? By changing bits in the Network part, we found out 4 subnets:
+ First subnet: 198.23.16.0/30 (the 4th octet is 00000000)
+ Second subnet: 198.23.16.4/30 (the 4th octet is 00000100)
+ Third subnet: 198.23.16.8/30 (the 4th octet is 00001000)
+ Fourth subnet: 198.23.16.12/30 (the 4th octet is 00001100)
In this case the increment is 4 (in the 4th octet) because the “difference” between two successive subnets is 4 (from 0 -> 4; from 4 -> 8; from 8 -> 12)
There are 2 popular ways to find out the increment number:
1) Use the formula:
Increment = 256 – x |
+ In a subnet mask of 255.224.0.0 -> x = 224
+ In a subnet mask of /29 -> x = 248 (because /29 = 255.255.255.248)
+ In a subnet mask of 1111 1111.1111 1100.0000 0000.0000 0000 -> x = 252
In the case you see a subnet mask of 255.255.255.255 (which is very rare in CCNA), x = 255
Note: Also remember which octet “x” belongs to because we have to plus the increment to that octet.
Now let’s solve Exercise 3 again by using this formula:
Exercise 3 one again (with the formula 256 – x):
Your company has just been assigned the network 198.23.16.0/28. How many subnets and hosts-per-subnet you can create with a subnet mask of 255.255.255.252?
The subnet mask is 255.255.255.252 -> x = 252 (x belongs to 4th octet)
Therefore the Increment = 256 – 252 = 4
The initial network 198.23.16.0/28 is also the first subnet, so:
+ The first subnet: 198.23.16.0/30
+ The second subnet: 198.23.16.4/30 because the increment is 4 so we plus the network address with it to get the next network address (0 + 4 = 4)
+ The third subnet: 198.23.16.8/30 (4 + 4 = 8)
+ The fourth subnet: 198.23.16.12/30 (8 + 4 = 12)
Note: We know there are only 4 subnets because we borrow 2 bits.
2) Learn by heart the decimal value of the rightmost bit “1″ in the subnet mask:
Another way to find the increment value is to write “x” in binary: 11110000. Consider the rightmost bit “1″, the decimal value of this bit is the increment value. In this case it equals to 16.
The table below summarizes the decimal values of bit “1″ depending on its position. To use this method, you should learn by heart this table:
Table 3 – How to find out increment based on the “least-significant” (rightmost) bit 1
Now let’s solve Exercise 3 again by using this method:Exercise 3 one again (with the “decimal value of the rightmost bit 1″ method):
Your company has just been assigned the network 198.23.16.0/28. How many subnets and hosts-per-subnet you can create with a subnet mask of 255.255.255.252?
First use Table 2 to convert 252 to 1111 1100. The decimal value of the rightmost bit “1″ is 4 (according to Table 3) -> The Increment is 4.
After finding out the increment we can deduce 4 subnets it creates.
The initial network 198.23.16.0/28 is also the first subnet, so:
+ The first subnet: 198.23.16.0/30
+ The second subnet: 198.23.16.4/30 because the increment is 4 so we plus the network address with it to get the next network address (0 + 4 = 4)
+ The third subnet: 198.23.16.8/30 (4 + 4 = 8)
+ The fourth subnet: 198.23.16.12/30 (8 + 4 = 12)
Note: We should only choose one method to use and try to practice, practice & practice more with it. Practice until you can solve any subnetting questions within 20 seconds!
Maybe you will ask why 256 can help you find the increment. In fact, by using the formula Increment = 256 – x you are trying to separate the rightmost bit “1″ from other bits:
256 – x = 255 – x + 1
In which “255 – x” will convert all bit “0″s to bit “1″s and all bit “1″s to “0″s while “+1″ part will make our result have only one bit “1″ left. For example, if x = 240 then:
Source
No comments:
Post a Comment