Is network subnetting driving you crazy ? Does binary math gives you headaches ? well..fear not, since the time i have delved into networks, i have gone through all the oohs and aaahs and the NAH’s of the logical crescendo , and I present you the easiest way to do subnetting. Generally,3 questions are being addressed when subnetting an IP-
- No of subnets
- No of valid hosts and
- Host range/block size
We will tackle them one by one. First you need to know about IP addresses and their classes.
Class A includes 0-127 where 0 and 127 are reserved, the default subnet mask for this class is /8 .
Class B includes 128-191 in their first octet, and the default subnet mask for this class is /16
Class C deals with 192-224 in their first octet and the default subnet mask for this class is /24
Also, also, understand a simple concept, subnet masks lying between 8- 15 are A class masks, from 16- 23 are B class and 24-32 are C class masks. Furthermore, a subnet mask can be expressed as this where (N)etwork value and (H)ost values-
Class A : 255.0.0.0 = NNNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH
Class B : 255.255.0.0 = NNNNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH
Class C : 255.255.0.0 = NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH
Class mask value 8 16 24 32
Now once you see it, lets tackle some real life questions. Lets find the no of subnets and valid hosts for 192.168.10.10/18
See this ? its a C class IP address having a mask of B class (as the mask lies between 16-24) now, in order to find the number of subnets, use the following formulae -
2 ^ (What mask you have been provided – default mask of the IP address given)
putting the values here..
2^(18-16) –> 2^(2) –> 4 subnets
simple : )
Now for calculating the no.of hosts, use the below formulae -
2^(32- what mask you have been provided) –2
Putting values here..
2^(32-18)-2 -> 2^(14)-2 –> 16384-2 –> 16382 hosts
piece of cake ..
now to find the block size, see the provided mask lies between which next default mask value , which in this case is 24 (as 18 is greater than 16 and less than 24) . So ..
Subtract the provided mask with the class mask value which is greater than it.
2^(Next class mask value – provided mask)
which on putting values will be
2^(24-18) –> 2^6 –> 64
So, the block size will be of 64 . So, the IP addresses will be divided into 4 subnets (which we already calculated above) above as -
192.168.0.0 - 192.168.63.255
192.168.64.0 – 192.168.127.255
192.168.128.0 - 192.168.191.255
192.168.192.0 – 192.168.255.255
And the best part, its applicable to all classes : )
Happy Subnetting : ]