How To Calculate a TCP-IP Subnet Mask


If you’re a network administrator, chances are at some point you may need to set up a number of different networks on your IP range. In order to do this, you will need to know how to create different subnets.
There are two main things to remember when trying to calculate subnets. The first is that that default subnet for a range is 255.255.255.0. This subnet, that we all recognize gives you one network with 255 different addresses from 1 to 255. Fairly easy stuff so far. The second thing to remember is the formula needed to calculate a new subnet. For this we have to go back to basics and remember that the number 255 is made up in binary of 8 bits. To get the number 255, all those 8 bits would be set to 1, each one representing a number in decimal in the following sequence. (1, 2, 4, 8, 16, 32, 64, 128). If you add all these numbers together you get 255.

tcp-ip-subnet
In order to create our subnet mask we need to “borrow” a certain number of bits from our host address. The host address is the last number in the group of four that makes up our subnet. So in the subnet 255.255.255.0, the 0 is the host address.
We can use the formula (2^n – 2) to figure out how many networks we can make by borrowing certain number of bits. Lets say for example we wanted to make six networks; we would need to borrow 3 bits, because (2^3 – 2 = 6). So we take the three bits from the left of our binary sequence and add them together. (128 + 64 + 32 = 224). So the subnet we need to use for our 6-network system is 255.255.255.224.
Now we’ve calculated our subnet, the next thing we need to do is work out the ranges of our new networks. This is a fairly easy thing to do if you remember one rule. The lowest number in the bits we borrowed from our host address is our guide. In this case, the bits we borrowed were 128, 64 and 32. The lowest of these is 32, so this is our guide number we’re going to use to set up our network ranges.
What you want to do is start off with your guide number, and that gives you the first address of our first network. For example – 192.168.0.32. To get the starting address of the second network, you just add on 32. So the second network will begin at 192.168.0.64. Keep adding the number 32 to find the other network starting points, and you’ll end up with this network address range map:
  • Network 1: 192.168.0.32 – 192.168.0.63
  • Network 2: 192.168.0.64 – 192.168.0.95
  • Network 3: 192.168.0.96 – 192.168.0.127
  • Network 4: 192.168.0.128 – 192.168.0.159
  • Network 5: 192.168.0.160 – 192.168.0.191
  • Network 6: 192.168.0.192 – 192.168.0.223
Note that you cannot use the first 32 or last 32 addresses of the entire 255 address range, (unless you’re using specific equipment that allows it). And there you have it, we’ve calculated our subnet mask, and we’ve worked out the ranges our networks will use. Remember the formula (2^n – 2) and your binary numbers, and you’ll be able to work out any configuration of subnets and networks.