Variable Length Subnet Mask (VLSM)

Hi Rene,

Can you pls elaborate on how you got this subnet mask? I didn’t get it. thanks
<>

Sure, which exact subnet mask do you refer to?

Subnet 1. 255.255.254.0

Subnet 1: this subnet is a block of “512” which is a combination of 2x “256”. A subnet with a size of 256 addresses normally has a subnet mask of 255.255.255.0 (/24). When we combine 2x 256 to get a 512 block, we give back one host bit so that means we have a /23 which is a subnet mask of 255.255.254.0.

Let me describe it this way, we know that a subnet mask of 255.255.255.0 has 256 addresses in total:

255.255.255.0 / 24 - 256 addresses

When we create smaller subnets, the list will be like this:

255.255.255.0 /24 - 256 addresses
255.255.255.128 /25 - 128 addresses
255.255.255.192 /26 - 64 addresses
255.255.255.224 /27 - 32 addresses

You can see that whenever the subnet becomes smaller, we can only use half of the addresses. I can apply the same logic if I move into the other direction:

255.255.240.0 /21 - 2048 addresses
255.255.248.0 /22 - 1024 addresses
255.255.254.0 /23 - 512 addresses
255.255.255.0 /24 - 256 addresses

Does this help?

Rene

Hi I’m having hard time figuring out the Subnet Mask, Hosts, Subnets, Network ID and Broadcast ID for the following IP Address. I hope someone can help me answers. Cheers!

150.12.110.10/25

112.10.78.40/22

50.1.112.10/21

28.10.145.10/18

150.50.50.50/23

100.10.185.10/20

172.16.221.10/19

Hi Lynkaran,

I’ll explain how to do the first example, see if you can solve them with my technique. Let’s start with 112.10.78.40/22:

First we need to figure out what the subnet mask since /22 doesn’t tell us much. You need to write this down in binary and convert it to decimal:

first 8 bits = 11111111 (255 in decimal)
next 8 bits = 11111111 (255 in decimal)
next 8 bits = 11111100 (252 in decimal)
next 8 bits = 00000000 (0 in decimal)

So now we know the subnet mask is 255.255.252.0

How many hosts do we have per subnet? There are 2 + 8 host bits so 10 host bits in total. You can use this formula for this:

210 - 2 = 1024.

You need to remove 2 since one address is the network address and the other one is the broadcast address.

What subnets do we have? There’s a quick way to calculate this. Take number 256 - subnet mask = size of subnet:

256 - 252 = 4

Now we can write down the subnets, I’ll start with 0:

#1 112.10.0.0/22
#2 112.10.4.0/22
#3 112.10.8.0/22
#4 112.10.12.0/22
#5 112.10.16.0/22
#6 112.10.20.0/22
#7 112.10.24.0/22
…and so on

You can see it increases with 4 every time, you now have your network addresses. What about the broadcast address? That’s the last address in each subnet.

For subnet #1 that will be 112.10.3.255 and for subnet #5 it’s 112.10.19.255.

See if you can do the other examples on your own with these steps. All you need is practice, practice, practice.

Hope this helps.

Rene

WOW! Awesome explanation! Thank you so much :slight_smile:

Quick question how did you get this answer when the slash value is /22?

first 8 bits = 11111111 (255 in decimal)
next 8 bits = 11111111 (255 in decimal)
next 8 bits = 11110000 (240 in decimal)
next 8 bits = 00000000 (0 in decimal)

So now we know the subnet mask is 255.255.240.0

The value behind the slash are the number of bits that we use for the subnet mask:

11111111 11111111 11111100 00000

Those are 22 bits, when you convert it to decimal you get 255.255.252.0

Wouldnt it be 255.255.252.0?

The nearest classfull mask that is bigger then our /22 is /24. So we subtract 22 from 24 and we get 2. This digit is the power of 2 we need.
So as we get 2 we have to power up 2 by our result - 2.
2^2=4
Now we have to subtract this result (4) from 256(this is maximum quantity of subnet that we can get from 255 in netmask)
256-4=252.
So the result is /22 prefix is 255.255.252.0 netmask it is not the 255.255.240.0

Whoops, early morning error :slight_smile: You are totally right, I just edited my calculations.

Hi Rene,
Why do you always consider the subnet with the largest number of hosts first ?
And then decide the block sizes of the smaller ones.
Why cant we do the other way round ?

Hi Vikas,

We do this because you can have issues with overlapping subnets. If you start with the largest subnets first and move on to the smaller ones then you won’t run into issues with overlapping addresses.

Rene

Hi,

Thank you for awesome explanation. It is helping me a lot for my ccna studies

I was solving a problem as stated:-

Network ip- 172.16.0.0
No. of host needed-120

subnet mask will be 255.255.255.128
CIDR notation will be /25

so ip address range will be from 172.16.0.0 to 172.16.0.128

have I solved problem correctly.

Hello Apurva.

That is exactly correct! Keep in mind as well that the first and last addresses in the range are the network and broadcast addresses respectively so you will have 126 addresses available for hosts.

I hope this has been helpful!

Laz

Hi Rene,

I was trying to figure out a way of “knowing” the amount of bits needed for huge hosts without the need of a calculator, like:

  • 2^X-2= hosts (too complicated).

This way sorts the problem!

"
255.255.255.0 /24 – 256 addresses
255.255.255.128 /25 – 128 addresses
255.255.255.192 /26 – 64 addresses
255.255.255.224 /27 – 32 addresses

You can see that whenever the subnet becomes smaller, we can only use half of the addresses. I can apply the same logic if I move into the other direction:

255.255.240.0 /21 – 2048 addresses
255.255.248.0 /22 – 1024 addresses
255.255.254.0 /23 – 512 addresses
255.255.255.0 /24 – 256 addresses"

Thanks!

Hi Rene,

Shouldn’t be for 600 hosts, 3 blocks would suffice? 256*3
Instead of taking 4 blocks in above solution?

Rahul

Hello Rahul

If you were to use three separate subnets to accommodate 600 hosts then you could create them, but they would still be separate subnets. For example, you could use

192.168.0.0/24
192.168.1.0/24
192.168.2.0/24

That would give you 256*3 = 768 IP addresses.

However, you would still have three SEPARATE subnets each requiring a network address, a broadcast address and a default gateway. You would also require routing to communicate between the subnets. For example, a host at 192.168.0.26 needs to go through a router to reach 192.168.2.26.

If you want to create ONE large subnet, you must find the smallest subnet that will accommodate at least 600 hosts.

So
a subnet mask of 255.255.255.0 or /24 gives you 255 IPs
a subnet mask of 255.255.254.0 or /23 gives you 512 IPs
a subnet mask of 255.255.252.0 or /22 gives you 1024 IPs

Notice that the sizes of the subnets always double in size so you go from 512 to 1024 addresses. There is no whole subnet that gives you 768 hosts (256*3).

A subnet mask of 255.255.252.0 or /22 which gives you 1024 IPs is equivalent to the merging of FOUR /24 subnets.

I hope this has been helpful!

Laz

Hi,
It seems like simple by troubling my head!
Is 192.168.10.0/24 and 192.168.10.0/28 a same networks or different networks?
(192.168.10.0/24 network accommodates hosts from 192.168.10.1 to 192.168.10.254
similarly 192.168.10.0/28 accommodates from 192.168.10.1 to 192.168.10.14)

Thanks in advance !

Pradeep

Hello Pradeep

These are two different subnets yes, because they are defined with differing sizes. However you cannot use both in the same network because they overlap. All subnets used in a single network must not overlap.

I hope this has been helpful!

Laz