• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1904
  • Last Modified:

subnetting question

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. (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:, break into networks of 40 hosts each
40 hosts = 00101000 (6 bits) Subnet Mask = Increment = 64
Ranges: – – – –

My answer (I hope you know the long way):, break into networks of 40 hosts each
40 hosts = 00101000 (6 bits) = 11111111.11111111.11111111.00000000 = 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: - - -

  • 2
  • 2
  • 2
  • +1
3 Solutions
If you are going to need 40 unique addresses (hosts) on each subnet, you will have to round that up to 64 and use a mask of (1111111.11111111.1111111.1100000).  The remaining 6 bits (.xx111111) have a range of 0-63.

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

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.
tolinromeAuthor Commented:
Could it be that my results were mistakenly based on requiring 40 networks, instead of hosts?
In addition to CompProbSolv's explanation, I think this should help understand better.

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

128 64 32 16 8 4 2 1
 1     1   0    0  0 0 0 0

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


So it will be which is

And the useable IP should be - is subnet ID and will be broadcast address.
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

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.11000000

Once translated to decimal, the subnet mask would be

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)
tolinromeAuthor Commented:
Sorry, in my question I wrote that I needed the required number of hosts, but I really needed the required number of networks as per the instructions.

As per the instructions in the lab, the question says:
C - Break into 40 networks

Instructors answer to that question:, break into networks of 40 hosts each
40 hosts = 00101000 (6 bits) Subnet Mask = Increment = 64
Ranges: – – – –

I still come up with

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

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.
Something is very wrong....

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?
If it really is Class C (first three octets remain constant) and you need 40 networks, then your proposed example is correct.

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:

The second network would have nnnnnn=000001:

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.

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now