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 the soon to be released Part 2 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!
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.
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.
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.
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.

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.

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:

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.

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:

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.
Our instructor led video training covers the Cisco CCENT Certification and Cisco Networking, including the 64-822 ICND1: Interconnecting Cisco Network Devices Exam. Some of the topics in this training include:
Get your start in Cisco networking — the CCENT certification is your half-way point to your CCNA certification!
Copyright © Train Signal Inc. All Rights Reserved.
michael spann Says:
November 9th, 2007 at 1:28 pm
I know this is wrong but I tried..
I don’t have any subnet experience, I’m trying to understand this.
Step 1
IP Address 192 . 168 . 10 . 0
IP (Binary) 11000000 10101000 00001010 0
Subnet Mask (Binary) 1111111 11111111 11111111 11000000
Subnet Mask (decimal) 255 255 255 192
Step 2
IP Address (Decimal) 192 . 168 . 10 . 0
IP Address (Binary) 11000000 10101000 00001010 0
Subnet Mask (Binary) 1111111 11111111 11111111 11000000
Subnet Decimal 11000000 10101000 00001010 00000000
192 168 10 0
Subnet Address Binary 11000000 10101000 00001010 │11000│000
255 .255.255. number value 192 (110000). I’m not sure but this indicate 2 bits are use to identify the subnet so it would be 2^2.
So there will be 4 subnets but we have to subtract 2 addresses because we don’t have all zeros and one’s. So there’s 2 subnets.
Host per subnets: 5 bits are left to identify the host so the total number of host per subnet is (2^5-2) which equals 32 minus 2 equals 30 host per subnet.
The valid subnet is 256 – 192 = 64 so 64 is the first available subnet
I SCREWED UP ! !! ! ! GRRRRR ! ! !
Stelios Antoniou Says:
November 13th, 2007 at 1:55 pm
Actually Michael, you performed very well. You identified 2 bits for the subnet part, hence 6 bits remaining for hosts which gives us 64 (2^6) minus 2 equals 62 hosts per subnet. Suppose we don’t use subnet zero and all-one’s subnet, then the valid subnets are
64(256-192) and 128(64+64). 128+64 is invalid because it is the subnet mask (both subnet bits turned on)
srikanth Says:
December 11th, 2007 at 1:15 am
excellent ip subneting topics
jenny Says:
November 7th, 2008 at 2:49 am
excellent article on subnet
David Says:
November 10th, 2008 at 11:37 pm
I’d really like from you an explanation of why can’t we use the all zeros subnet and and the all 1’s subnet? I think i have an idea but not a clear one. I guess this All 1’s subnet we cant because its broadcast ip would be the broadcast for all subnets or something like that..? I’d really appreciate you can help us with that. Thanks in advance. Greetings from Guayaquil – Ecuador
Alexander Says:
January 27th, 2009 at 3:30 am
Stelios,
I really appreciated your article, it was straight forward and you broke it down step by step. I’m currently in school for IT (LWTC) so I was a little more familiar with your explanation.
I beleive Michael Spann simply misread the question as I first did. I originally started to subnet the IP address and realized it was already subnetted hence the subnet mask 255.255.255.192.
I reread the question and realized you were asking for:
Total number of Subnets = 2
With a total number of Host per subnets = 62
Host ranges = 193 – 254
Broadcast address per Subnet = 255
Please let me know how I did.
Alex Says:
July 5th, 2009 at 5:22 pm
Stelios,
I really like the way you broke down your explaination. I’m not sure if this is correct, but here’s my answer to your question
IP: 192.168.10.0
SM: 255.255.255.192
1. Total Subnets
11000000 = 192
2^2 = 4
4 total subnets
2. Host per Subnet
11000000 = 192
2^6 = 64
64-2 = 62
62 host per subnet
3. Network, Range, and Broadcast
256 – 192 = 64
1st Network = 0
Range = 1-62
Broadcast = 63
2nd Network = 64
Range = 65-126
Broadcast = 127
3rd Network = 128
Range = 129 – 190
Broadcast = 191
4th Network = 192
Range = 193 – 254
Broadcast = 255
Sam Says:
October 9th, 2009 at 2:44 pm
Hey guys,
I tried to use the above logic and solve a simple subnetting problem but i am stuck!
Maybe one of you can help me out!
What is the first valid host on the subnetwork that the node 172.27.193.236/23 belongs to?
I know the answer(since i got it from a website) but I just dont know how they are getting the answer!
Can you please also post your steps if you try to solve this!Thanks