Ask LH: How Do Subnets Work?

Ask LH: How Do Subnets Work?
To sign up for our daily newsletter covering the latest news, hacks and reviews, head HERE. For a running feed of all our stories, follow us on Twitter HERE. Or you can bookmark the Lifehacker Australia homepage to visit whenever you need a fix.

Hi Lifehacker, For some reason whenever I look at a network “subnet” I just can’t figure it out. I understand that the subnet is broken into 8 bits (so would give me 254 addresses). But why? How do I then convert something like to get an idea of what the subnet mask would be and how many addresses I would get? Thanks, Net Getting It

Subnet picture from Shutterstock

Dear NGI,

There are really a couple of separate issues to address in your question. Let’s start with the first part โ€“ why does a subnet of give you 254 addresses?

This is the way TCP/IP is designed. When devices on a network are in the same subnet, then they are deemed to be on the same segment of a larger network. Even if two devices have the valid network addresses, they won’t be able to communicate unless they’re in the same subnet.

Your second question is “How do I then convert something like to get an idea of what the subnet mask would be and how many addresses I would get?”

There’s a useful article at TechRepublic that explains how subnetting works and how many addresses you get.

As far as we can tell, you canโ€™t calculate the subnet from the address although we’re far from networking experts and would gladly be corrected by someone in the Lifehacker family.

Understanding TCP/IP addressing and subnetting basics [Microsoft]

Address Allocation for Private Internets [IANA]


Got your own question you want to put to Lifehacker? Send it using our [contact text=”contact form”].


  • Binary and masking. 255 in binary is 11111111. In a subnet mask, any area that has a 1 specifies a network bit, and anywhere that has a 0 specifies a host bit. means the first 24 bits are network bits, and the last 8 bits are host bits. Host bits are assigned to hosts on a network, with 8 host bits you can have (2^8)-2 hosts, which is 254. The first and last address in the range, that is, the addresses where the host bits are all 0 and the host bits are all 1, are reserved. (All 0’s is simply referred to as the “network address” and I think all 1’s is the broadcast address. I’ve never used a broadcast address so I could be wrong on that one.)

    The subnet mask will go straight 1’s and then once they’ve finished, the rest are 0’s. So 11111111.1111111.11111111.1111000 would be valid but 11111111.11110000.11111111.11100000 wouldn’t be. It is also why 255, 254, 252, 248, 240, 224, 192, 128 and 0 are the only decimal numbers that will appear in a subnet mask (they are 11111111, 11111110, 11111100 etc. respectively.) I’d recommend reading up on the binary number system in addition to the other articles linked to above (see

    The shortened version, say /12, is the number of networking bits (the 1’s). So in binary that would look like 11111111.11110000.00000000.0000000, which converted to decimal is There are plenty of conversion utilities online, which are useful even if you do know how it all works (but understanding how it works is really beneficial.) Just Google “subnet calculator” or something similar.

    The Microsoft article goes into more detail and looks quite good from skimming over it, and in addition it covers classes (which are somewhat irrelevant since variable bit subnet masks, except their legacy still remains because it was the way of doing things originally.)

    • Thanks, I found that much more helpful than the incredibly brief article gives. Yours answered some of my questions!

  • An easy way in your head (this works for me and everyone is different:
    I’ll work in class C to simplify things.
    Say I have a subnet mask of to find out how many users i minus the last octet of that subnet which is 128 from 256 = 128 and then of course – 2 for the network and broadcast addresses = 126 hosts.
    As for the slash notation (/12) in your question. I work in octets the clossest one being the first or a /8 then work out how many more bits I need and simply count (i need another 4) 128, 192, 224, 240 =
    It’s all to do with binary. There are HEAPS of videos on youtube and dozens of different ways of working it all out. But we haven’t barely scratched the surface here or really even mentioned VLSM. Needless to say unless you want to be a network engineer, all you probably need to know that your normal home network of something like 192.168.*.* will probably have a /24 or subnet mask giving you 254 hosts.

  • thats a slash 12 subnet, too tired to do vlsm right now but easiest way to know whats going on is that that with slash 12 you can have 32766 (minusing network and broadcast) active connections talking to each other at layer2 (switches).

  • I can remember learning how subnets works when doing a CISCO course thingy when I was in highschool (was kind of boss we got to do that). It took me a while to figure it out, and at one point I ended up explaining it to the class. Ask me now though, and I certainly didn’t retain THAT knowledge ๐Ÿ˜›

  • 5. You have Class-C network address You need to subnet your network to have 14 subnets. Based on Classful network addressing, fill in the following table:
    Subnet name Subnet address First host address Last host address Subnet mask CIDR

    Can some one please help me. Thanks

Show more comments

Comments are closed.

Log in to comment on this story!