In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

I have a practice lab where its asking me to take an IP address and find the ranges for it with the required number of hosts.

200.1.1.0 (Class C) and requires 40 hosts. I only know the long way to do this but my answer keeps coming out different than answer from the lab.

Lab Answer:

200.1.1.0, break into networks of 40 hosts each

40 hosts = 00101000 (6 bits) Subnet Mask = 255.255.255.192 Increment = 64

Ranges:

200.1.1.0 – 200.1.1.63

200.1.1.64 – 200.1.1.127

200.1.1.128 – 200.1.1.191

200.1.1.192 – 200.1.1.255

My answer (I hope you know the long way):

200.1.1.0, break into networks of 40 hosts each

40 hosts = 00101000 (6 bits)

255.255.255.0 = 11111111.11111111.11111111.00000000

255.255.255.252 = 11111111.11111111.11111111.11111100

(6 bits=252)

Since the last bit used in the last octet above converted from binary is 4, I add the 4th octet in increments of 4 for the results below. Where is my math wrong?

Ranges:

200.1.1.0 - 200.1.1.3

200.1.1.4 - 200.1.1.7

200.1.1.8 - 200.1.1.11

Thanks.

200.1.1.0 (Class C) and requires 40 hosts. I only know the long way to do this but my answer keeps coming out different than answer from the lab.

Lab Answer:

200.1.1.0, break into networks of 40 hosts each

40 hosts = 00101000 (6 bits) Subnet Mask = 255.255.255.192 Increment = 64

Ranges:

200.1.1.0 – 200.1.1.63

200.1.1.64 – 200.1.1.127

200.1.1.128 – 200.1.1.191

200.1.1.192 – 200.1.1.255

My answer (I hope you know the long way):

200.1.1.0, break into networks of 40 hosts each

40 hosts = 00101000 (6 bits)

255.255.255.0 = 11111111.11111111.11111111

255.255.255.252 = 11111111.11111111.11111111

(6 bits=252)

Since the last bit used in the last octet above converted from binary is 4, I add the 4th octet in increments of 4 for the results below. Where is my math wrong?

Ranges:

200.1.1.0 - 200.1.1.3

200.1.1.4 - 200.1.1.7

200.1.1.8 - 200.1.1.11

Thanks.

Since you need 40 hosts, below is the increment of number of hosts.

128

1 1 0 0 0 0 0 0

Since 40 will be under 64, the subnet will look like below.

11111111.11111111.11111111

So it will be 200.1.1.1/26 which is 255.255.255.192

And the useable IP should be 200.1.1.1 - 200.1.1.62.

200.1.1.0 is subnet ID and 200.1.1.63 will be broadcast address.

Could it be that my results were mistakenly based on requiring 40 networks, instead of hosts?Yes. Your answer would be correct had the request been for 40 networks, instead of networks with 40 hosts.

Your error came into trying to build the subnet mask. You got the fact that 6 bits being necessary correct, but your subnet mask reflected the usage of only 2. Rather than having subnets of 64 addresses, you created subnets of 4 addresses.

Here is a way to make it a bit easier...

The number of 1s in a subnet mask = 32 - number of bits necessary for hosts required

So in your case, you need 6 bits for 40 hosts, which leads to this: 32 - 6

The answer to that is 26, meaning that the first 26 bits in your subnet mask should be 1, while the others would be 0.

In binary, this would be your subnet mask: 11111111.11111111.11111111

Once translated to decimal, the subnet mask would be 255.255.255.252

increment = 2 ^ number of bits needed for number of hosts

6 bits needed for 40 hosts --> 2 ^ 6 = 64

Hosts per network = increment - 2

64 - 2 = 62 (remember that the 2 addresses are subtracted because of subnet ID and broadcast address)

As per the instructions in the lab, the question says:

C - 200.1.1.0 Break into 40 networks

Instructors answer to that question:

200.1.1.0, break into networks of 40 hosts each

40 hosts = 00101000 (6 bits) Subnet Mask = 255.255.255.192 Increment = 64

Ranges:

200.1.1.0 – 200.1.1.63

200.1.1.64 – 200.1.1.127

200.1.1.128 – 200.1.1.191

200.1.1.192 – 200.1.1.255

I still come up with

So with the IP of 200.1.1.0 (40 required networks), I still come up with

200.1.1.0 - 200.1.1.3

200.1.1.4 - 200.1.1.7

200.1.1.8 - 200.1.1.11

The video didn't even get into yet doing subnetting with the required number of hosts, that's the next video actually.

So, either the instructor mistakenly wrote hosts and might have meant networks. Or I'm still confused at this point?

Really all I care about is that I did the formula in the correct way depending on the requirement being the numbers of networks and not hosts.

The lab answer you're showing reflect the scenario of needing 40 hosts per subnet. Your answer reflects needing 40 subnets.

Which means either the instructor answered the wrong question or wrote the wrong problem. Or you're looking at the wrong part of the problem.

I normally do not like asking, but could you copy and paste the actual problem?

The approach is similar to what was given above. You will need 6 consecutive bits (.11111100) to hold the varying part of the network address, which only leaves the last two bits for hosts. Mixing up decimal and binary for simplicity, it looks like this:

200.1.1.nnnnnnhh (where "n" is a bit used for the network address and "hh" is the two-bit host address)

The first network would have nnnnnn=000000 so it will range from:

200.1.1.0-200.1.1.3

The second network would have nnnnnn=000001:

200.1.1.4-200.1.1.7

And so on as you listed above.

Keep in mind that this will allow only two hosts because of the exclusions of all 0 and all 1 host addresses.

mansrock is correct about the instructor having made an error if it is as you described.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.

Using your (public) addresses, this would allow such subnets as:

200.1.1.0-200.1.1.63

200.1.1.64-200.1.1.127

200.1.1.128-200.1.1.191

200.1.1.192-200.1.1.255

Of course, you have to leave out the addresses on either end as they are reserved.

Technically, you could use a netmask with non-consecutive zeroes to hit the 40 hosts more precisely, but my understanding is that this is no longer supported.