Subnetting – Just what is it and why do we use it?
A Very Brief History
When networks were first used all hosts on the network were allocated hostnames such as PC 1 or admin_PC but it was soon discovered that it was hard to keep track of all of these names and then routing across a WAN was almost impossible.
A RFC (request for comment) was submitted which suggested that we could allocate numbers to hosts on networks instead of hostnames. The current implementation of this scheme is IP version 4 although IPv6 is now replacing this.
The idea is that every address would be made up from four groups of eight binary numbers. Each group of eight binary numbers is known as an octet. Because we struggle to write numbers out in binary we usually convert them into decimal but computers and network devices still see all numbers in binary because they can only recognise on and off signals so either a 0 or a 1.
How it Works
Each number you allocate to a host on your network will be in groups of four separated by a dot e.g 192.168.1.23. This was working just fine until somebody realised that we needed to identify which parts of the address were for the network and which were for the host on the network. To deal with this we began to add subnet masks to IP addresses.
You must use subnet masks even if you only use a basic IP numbering scheme on your network. The rules are that 255.0.0.0 is used for Class A addresses 255.255.0.0 is for Class B and 255.255.255.0 is for Class C addresses. The 255 tells the router that this part of the address is reserved for the network portion of the address.
But it Still Wasn’t Enough
When this addressing scheme was devised nobody could have predicted the exponential growth of PC use in companies and then homes all over the world. Instead of only huge companies paying millions for a huge computing device now most people could afford them and they were big enough to put into a box and carry home.
VLSM was devised as an interim measure to prevent us running out of IP addresses. Variable length subnet masking allows you to cut your subnet down to even smaller portions which mean you can conserve huge amounts of wasted addresses. Instead of being stuck with the below example you could get far more use out of your IP addresses.
Class C 192.168.1.0 255.255.255.0 means you can only use the last octet for host addresses on your network. You are not allowed to use 0 at the end because that is your subnet number. You are not allowed to use 255 on the end because that tells the network that it is a broadcast so here are your allowed host numbers.
Anything from 192.168.1.1 to 192.168.1.254 so you can only have one large network with 254 hosts on. Imagine 254 hosts all passing huge amounts of traffic across the network.
Please read the VLSM section for more information.