Subnets are a necessary part of networking and while there are a lot of websites with charts out there. You can print out one of many such charts really small, then laminate it, or better, use our God-given noggen and memorize it! We learned multiplication tables as a kid – learning subnetting is about as easy you work with me on this… Take 20 minutes now and you’ll know this for life.
At first, subnets were hard for me to understand – until my brother Hans somegeek explained it in a really simple way.
Definition
A subnet is a portion of the full net – and every network we use is part of a subnet. As geeks we mostly deal with class C or smaller.
Lets work with an example. You just started working at RARPAnet and have lots of computers to set up. You were assigned the entire 10.0.0.0 network for address space. Since the 10 network is designated for use on private networks (its not routed on the public internet) you have lots of addresses.
Class – amount of address space you have:
Class A: The entire 10 network – any address where the first number is the same
Class B: The 10.1, or the 10.2 network – up to the 10.255 network – any address where the first 2 numbers are the same
Class C: 10.0.1, or 10.0.2, up to the 10.0.255 network – any address where the first 3 numbers are the same
Examples of subnets from the 10 network:
Class A: 10.0.0.0 to 10.255.255.255
Class B: 10.1.0.0 to 10.1.255.255
Class C: 10.1.0.0 to 10.1.0.255
Every Subnet has 4 parts to it:
- Network – this is the first address on the network – designates the starting address
- Hosts – addresses that can be used for hosts (routers, computers, etc)
- Broadcast – the last address of the network – for ‘yelling’ at everyone at the same time.
- Netmask – used to get the network – put as a mask over the address
Example 1: Break down the 192.168.1 network
For the 192.168.1 subnet:
192.168.1.0 network
192.168.1.1 - 254 hosts
192.168.1.255 broadcast
255.255.255.0 netmask
Every IP address is made up of 32 bits in 4 chunks of 8 bits.
To count in binary is really simple – use the table below to make the number – a sum of its parts.
Basic table for counting up to 255 in binary: first row of 1′s, second row powers of 2 starting with 1:
1 1 1 1 1 1 1 1 128 64 32 16 8 4 2 1
Conversion of regular numbers to binary:
1 in binary:
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
1
2 in binary: 2 + 0
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
2 0 = 2
1 0
5 binary: 4 + 1
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
4 0 1 = 5
1 0 1
18 binary: 16 + 2
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
16 0 0 2 0 = 18
1 0 0 1 0
187 in binary: 128 + 32 + 16 + 8 + 2 + 1
1 1 1 1 1 1 1 1 128 64 32 16 8 4 2 1 128 0 32 16 8 0 2 1 = 187 1 0 1 1 1 0 1 1
Convert Binary to Decimal
Convert 10110 to a decimal number:
First 10110 is 5 bits, you biggest number in the count set will always be 2^(n-1).
Another way to remember is the largest number will be half of 2^n;
2^5 = 32; half is 16.
The mathematical way is:
n = 5; so 2^(5-1) = 16 That’s your biggest number, so count set is “16 8 4 2 1″
1*16 + 0*8 + 1*4 + 1*2 + 0*1 = 22 – convert 22 back to binary above – it can be done in your head.
Takes some practice but like counting change when working a cash register, it’ll flow after a while.
With the binary-decimal conversion understood, lets look at IP’s – v4 that is. The binary for the full IPv4 address is: 1111111.1111111.1111111.1111111
Detailed breakdown
Now, for a host with ip of 192.168.1.12, the IP and subnet are often denoted together in one of two ways:
192.168.1.12 255.255.255.0
or more often used and shorter to write:
192.168.1.12/24
The /24 means of the 32 bits for the address, use first 24 bit to denote the network, last 8 bits for address space:
For a /24: There 8 bits for address space:
Subtract the slash number from 32: in the case of /24:
32 – 24 = 8 bits;
Then the number of IP addresses used is 2^8bits = 256;
256 addresses: first address is network, last is broadcast; 254 in the middle are for hosts.
192.168.1.0 network
192.168.1.1 to 192.168.0.254 hosts
192.168.1.255 broadcast
255.255.255.0 subnet mask
1111111.1111111.1111111.00000000 Last 8 bits are zero's
How to easily remember this:
Mentally I think this: I see 192.168.1/24 – then
1. an IP address has 32 bits for address
2. 32 – 24 = 8; 2^8 = 256;
3. 256 addresses – first one is network; last one is broadcast, the rest in the middle are hosts.
Example: You are given an address of 192.168.1.16/29 for your network:
For a /29: There are 3 bits for address space:
1. 32 bits – 29 bits = 3 bits for address space;
2. 2^3 = 8 – the number of addresses in this network
3. Since my first address is 192.168.1.16, 192.168.1.23 is my last address
Summary:
8 addresses: First is network, 6 in the middle for hosts, last is the broadcast address:
192.168.1.16 network 192.168.1.17 to 192.168.1.22 hosts 192.168.1.23 broadcast 255.255.255.248 subnet mask 1111111.1111111.1111111.1111000 Last 3 bits are zero's
… and since this subnet is most like subdivided into groups of 8 ip’s, there is a new network every 8 IP addreses on this 192.168.1 subnet – a good way to segment a network for security, etc.
192.168.1.0-7 192.168.1.8-15 192.168.1.16-23 (your network) 192.168.1.24-31 192.168.1.32-39 ...and so on up to 192.168.1.248-255
So there it is – binary math, subnets and now no chart to carry in your pocket. This website has a subnet calculator – good for refence and checking your work.



