# Subnetting Made Easy - written for my students at work

Oct 17th, 2007

An IP address is made up of 32 bits, split into 4 octets. Some bits are reserved for identifying the network and the other bits are left to identify the host.

There are 3 main classes of IP address that we are concerned with.

Class A Range 0 - 127 in the first octet (0 and 127 are, however, reserved)

Class B Range 128 - 191 in the first octet

Class C Range 192 - 223 in the first octet

Below shows you how, for each class, the address is split in terms of network (N) and host (H) portions.

NNNNNNNN . HHHHHHHH . HHHHHHHH . HHHHHHHH Class A Address

NNNNNNNN . NNNNNNNN . HHHHHHHH . HHHHHHHH Class B Address

NNNNNNNN . NNNNNNNN . NNNNNNNN . HHHHHHHH Class C Address

At each dot I like to think that there is a boundary, therefore there are boundaries after bits 8, 16, 24, and 32. This is an important concept to remember.

Typical questions you may see are those asking what a host range is for a specific address or which subnet a certain address is located on. I shall run through examples of each, for each class of IP address.

What subnet does 192.168.12.78/29 belong to?

You may wonder where to begin. Well to start with let's find the next boundary of this address.

Our mask is a /29. The next boundary is 32. So 32 - 29 = 3. Now 2^3 = 8 which gives us our block size.

We have borrowed from the last octet as the 29th bit is in the last octet. We start from zero and count up in our block size. Therefore it follows that the subnets are:-

192.168.12.0

192.168.12.8

192.168.12.16

192.168.12.24

192.168.12.32

192.168.12.40

192.168.12.48

192.168.12.56

192.168.12.64

192.168.12.72

192.168.12.80

.............etc

Our address is 192.168.12.78 so it must sit on the 192.168.12.72 subnet.

What subnet does 172.16.116.4/19 sit on?

Our mask is /19 and our next boundary is 24. Therefore 24 - 19 = 5. The block size is 2^5 = 32.

We have borrowed into the third octet as bit 19 is in the third octet so we count up our block size in that octet. The subnets are:-

172.16.0.0

172.16.32.0

172.16.64.0

172.16.96.0

172.16.128.0

172.16.160.0

.............etc

Our address is 172.16.116.4 so it must sit on the 172.16.96.0 subnet. Easy eh?

What subnet does 10.34.67.234/12 sit on?

Our mask is 12. Our next bounday is 16. Therefore 16 - 12 = 4. 2^4 = 16 which gives us our block size.

We have borrowed from the second octet as bit 12 sits in the second octet so we count up the block size in that octet. The subnets are:-

10.0.0.0

10.16.0.0

10.32.0.0

10.48.0.0

.............etc

Our address is 10.34.67.234 which must sit on the 10.32.0.0 subnet.

We will now change the type of question so that we have to give a particular host range of a subnet.

What is the valid host range of of the 4th subnet of 192.168.10.0/28?

Easy as pie! The block size is 16 since 32 - 28 = 4 and 2^4 = 16. We need to count up in the block size in the last octet as bit 28 is in the last octet.

192.168.10.0

192.168.10.16

192.168.10.32

192.168.10.48

192.168.10.64

.................etc

Therefore the 4th subnet is 192.168.10.48 and the host range must be 192.168.10.49 to 192.168.10.62, remembering that the subnet and broadcast address cannot be used.

What is the valid host range of the 1st subnet of 172.16.0.0/17?

/17 tells us that the block size is 24-17 = 7 and 2^7 = 128. We are borrowing in the 3rd octet as bit 17 is in the 3rd octet. Our subnets are:-

172.16.0.0

172.16.128.0

The first subnet is 172.16.0.0 and the valid host range is 172.16.0.1 to 172.16.127.254. You must remember not to include the subnet address (172.16.0.0) and the broadcast address (172.16.127.255).

What is the valid host range of the 7th subnet of address 10.0.0.0/14?

The block size is 4, from 16 - 14 = 2 then 2^2 = 4. We are borrowing in the second octet so count in the block size from 0 seven times to get the seventh subnet.

The seventh subnet is 10.24.0.0. Our valid host range must be 10.24.0.1 to 10.27.255.254 again remebering not to include our subnet (10.24.0.0) and the broadcast address (10.27.255.255).

HTH

Overall Rating: 5 (3 ratings)

## Replies

quantico24 Sun, 10/21/2007 - 06:45

It's seems to be easy but I don't understand the term block size...And all the time when you have for example a /15 mask you count forward to the next boundary so it's 24-15=9 and 2^9=.....right???

Do you have like a book about subnetting?

Thank you ...

LordFlasheart Sun, 10/21/2007 - 09:36

Hi,

The term "block size" refers to the size of a subnet.

Your example is incorrect as the next boundary is at 16 (i.e. where is the next dot in the IP address?) For your example the boundary being at 16 means that your block size is 2^(16-15) = 2. So in the 2nd octet (remember that the 15th bit is within the 2nd octet) you have subnets at each even number:

e.g.

10.0.0.0/15

10.2.0.0/15

10.4.0.0/15

...........

10.254.0.0/15

Another example:

To which subnet does the host address 172.16.31.224/19 reside on?

The next boundary is at 24. Your CIDR is /19 so 24-19 = 5. 2^5 = 32 which gives you the block-size. Therefore count up in blocks of 32 in the 3rd octet (bit 19 is in the third octet); 0, 32, 64, etc. Look at the IP address given. The 3rd octet is 31 so the subnet address must be 172.16.0.0/19.

In essence though you are correct in your assumption that you count forward to the next boundary, just the excecution was flawed. Keep practicing and I promise you that if you stick to that technique you will be subnetting with your eyes shut sooner than you would believe.

Good luck!

Chris

miller811 Tue, 10/30/2007 - 05:14

I wanted to thank the original poster for this information.

I also wanted to bump it to the top to help others.

Reading this finally made it click and solved the mystery of subnetting for me and was instrumental in passing the CCNA yesterday.

LordFlasheart Tue, 10/30/2007 - 07:33

Congratulations! I'm glad you found it useful, and many thanks for bumping the thread!

Kind regards,

Chris

dale_lorenzen Fri, 11/02/2007 - 22:39

I wanted to thank you for posting this. This has got to be the most concise and least brain cell damaging explanation I've come across to figure out the subnets when using prefix notation.

LordFlasheart Mon, 11/05/2007 - 12:31

You're more than welcome. I'm glad that something that people think is hard can be made a hell of a lot easier.

Good luck!

Chris

Great, Keep it up!

Your easy and quick method helped me a lot to pass CCNA. I took lot of time and did many mistakes, that's why I failed for the first time, but once I see this post, I thought I have found some magical tricks of subnetting.

LordFlasheart Mon, 11/12/2007 - 00:41

I'm glad I helped you to pass. Subnetting this way is guaranteed to cut down the time.

Best of luck for the future.

Chris

LordFlasheart Sun, 11/18/2007 - 10:26

Hi Sean,

What kind of help are you after? Perhaps it is better on here then we can perhaps help educate others as well?

Regards,

Chris

bvsnarayana03 Sun, 11/18/2007 - 02:18

You deserve points for this post dude.

Request all who were helped by this post to Rate the author for his splendid work.

Ehsan M. Tue, 11/20/2007 - 01:51

Very Nice! It was completely useful for me.

Thanx

LordFlasheart Wed, 11/21/2007 - 03:11

All,

Just to let you know that this tutorial is now available online at:

As time goes by I will be adding little bits here and there and am open to suggestions for content.

If you find the site useful please recommend to friends and colleagues.

Kind regards,

Chris

I just passed the CCENT test. I wanted to thank you for this post. Using your technique I'm able to answer subnetting questions in 20 sec in my head. Great job.

robertssean Tue, 12/04/2007 - 10:19

Hi,

Congratulations on passing, any tips you can pass on

Sean

mabrook110 Wed, 12/05/2007 - 00:13

Thanx, buddy keep it on ....its quite simplified....