In my last article,
IP Addressing and Routing Part 1: The Invasion of IP Addresses,
I presented the architecture of the IP addressing scheme. We went over
the IP Network Classes and how to distinguish between them.
If you’re new to this field, I would suggest adding both Part 1 and
Part 2: IP Routing Process
to your reading list, since it provides some additional information
that can be useful in getting a firm grasp of the subnetting concept.
In today’s article we are going to learn about the concept of
subnetting and how we can use it to divide our classful network into
smaller networks that can operate in separate working zones. We’ll also
take a look at how we can conserve address space and save resources on
process management with the use of subnetting.
I’ll use a few examples to clearly present the steps of subnetting
and help you master this topic. And although at first this may seem
difficult, don’t give up! All it takes is some time and practice!
What Is Subnetting?
Subnetting is the process of stealing bits from the HOST part of an
IP address in order to divide the larger network into smaller
sub-networks called subnets. After subnetting, we end up with NETWORK
SUBNET HOST fields. We always reserve an IP address to identify the
subnet and another one to identify the broadcast address within the
subnet. In the following sections you will find out how all this is
possible.
Why Use Subnetting?
Conservation of IP addresses: Imagine having a
network of 20 hosts. Using a Class C network will waste a lot of IP
addresses (254-20=234). Breaking up large networks into smaller parts
would be more efficient and would conserve a great amount of addresses.
Reduced network traffic: The smaller networks created the smaller broadcast domains are formed hence less broadcast traffic on network boundaries.
Simplification: Breaking large networks into smaller
ones could simplify fault troubleshooting by isolating network problems
down to their specific existence.
The Subnetting Concept
You will be surprised how easy the concept of Subnetting really is.
Imagine a network with a total of 256 addresses (a Class C network). One
of these addresses is used to identify the network address and another
one is used to identify the broadcast address on the network. Therefore,
we are left with 254 addresses available for addressing hosts.
If we take all these addresses and divide them equally into 8
different subnets we still keep the total number of original addresses,
but we have now split them into 8 subnets with 32 addresses in each.
Each new subnet needs to dedicate 2 addresses for the subnet and
broadcast address within the subnet.
The result is that we eventually come up with 8 subnets, each one
possessing 30 addresses available for hosts. You can see that the total
amount of addressable hosts is reduced (240 instead of 254) but better
management of addressing space is gained. I’ll now use a couple of
examples to help explain the process of subnetting as clearly as
possible.
Subnetting a Class C Address Using the Binary Method
We will use a Class C address which takes 5 bits from the Host field
for subnetting and leaves 3 bits for defining hosts as shown in figure 1
below. Having 5 bits available for defining subnets means that we can
have up to 32 (2^5) different subnets.
It should be noted that in the past using subnet zero (00000—) and
all-ones subnet (11111—) was not allowed. This is not true nowadays.
Since Cisco IOS Software Release 12.0 the entire address space including
all possible subnets is explicitly allowed.
Let’s use IP address
192.168.10.44 with subnet mask
255.255.255.248 or
/29.
STEP 1: Convert to Binary
STEP 2: Calculate the Subnet Address
To calculate the Subnets IP Address you need to perform a bit-wise
AND operation (1+1=1, 1+0 or 0+1 =0, 0+0=0) on the host IP address and
subnet mask. The result is the
subnet address in which the host is situated.
STEP 3: Find Host Range
We know already that for subnetting this Class C address we have
borrowed 5 bits from the Host field. These 5 bits are used to identify
the subnets. The remaining 3 bits are used for defining hosts within a
particular subnet.
The Subnet address is identified by all 0 bits in the Host part of
the address. The first host within the subnet is identified by all 0s
and a 1. The last host is identified by all 1s and a 0. The broadcast
address is the all 1s. Now, we move to the next subnet and the process
is repeated the same way. The following diagram clearly illustrates this
process:
STEP 4: Calculate the Total Number of Subnets and Hosts Per Subnet
Knowing the number of Subnet and Host bits we can now calculate the
total number of possible subnets and the total number of hosts per
subnet. We assume in our calculations that all-zeros and all-ones
subnets can be used. The following diagram illustrated the calculation
steps.
Subnetting a Class C Address Using the Fast Way
Now let’s see how we can subnet the same Class C address using a faster method. Let’s again use the IP address
192.168.10.44 with subnet mask
255.255.255.248 (/29). The steps to perform this task are the following:
1. Total number of subnets: Using the subnet mask
255.255.255.248, number value 248 (11111000) indicates that 5 bits are
used to identify the subnet. To find the total number of subnets
available simply raise
2 to the power of 5 (2^5) and you will find that the result is
32 subnets.
Note that if subnet all-zeros is not used then we are left with 31
subnets and if also all-ones subnet is not used then we finally have 30
subnets.
2. Hosts per subnet: 3 bits are left to identify the host therefore the total number of hosts per subnet is
2 to the power of 3 minus 2 (1 address for subnet address and another one for the broadcast address)
(2^3-2) which equals to
6 hosts per subnet.
3. Subnets, hosts and broadcast addresses per subnet: To find the valid subnets for this specific subnet mask you have to
subtract 248 from the value 256 (256-248=8) which is the first available subnet address.
Actually the first available one is the
subnet-zero which we explicitly note. Next subnet address is 8+8=
16, next one is 16+8=
24 and this goes on until we reach value 248. The following table provides all the calculated information.
Note that our IP address
(192.168.10.44) lies in subnet 192.168.10.40.
Test Your Subnetting Knowledge and Practice, Practice, Practice!
Don’t get discouraged if you didn’t understand every little detail I
went over in this article. Subnetting is not really that difficult, but
it does require a bit of practice.
Start with testing your knowledge of subnets and make sure you feel
confident about this before you move on to designing your own subnets.
But remember, if you’re on the Cisco Networking track you will have to
deal with subnetting sooner or later, so grab this opportunity and start
testing yourself.
Go ahead and subnet the network address 192.168.10.0 address using
the subnet mask 255.255.255.192 (/26). Find the valid subnets, host
ranges and broadcast addresses per subnet. If you want to double-check
your answer, feel free to leave me a comment and I will provide you with
the correct solution.
By
Stelios Antoniou
http://www.trainsignal.com/blog/simplify-routing-how-to-organize-your-network-into-smaller-subnets