What you do is "steal" "unused" parts of your LAN, and create another IP range. This allows you to "add" host to your network.

For example, if you have an IP range that allows for 30 hosts, but you only use10 (for example). You can "steal" the other 20 host allocations, and create another "mini" LAN and assign some more hosts to that.

this is correct, but I want to clarify it for those that do not understand the ins and outs of subnetting, by using real numbers.

using the above example as a base, well start with a subnet that allows 30 hosts. I am also going to assume that one of the hosts, is the gateway.

30 hosts is a /27 (in CIDR notation) -netmask is 255.255.255.224 with a total address space of 32 addresses (2 burned on network and broadcast)

If you are only using 10 of these and you want to steal part of it for another smaller subnet, you can't take all 20, but you can split the subnet in half to give yourself 2 smaller subnets.

This will give you 2 subnets that can support 14 hosts each

14 hosts = /28 -netmask is 255.255.255.240 with a total address space of 16 addresses (2 burned on network and broadcast)

When splitting a larger subnet into smaller subnets, you cannot arbitrarily pick a block and call it subnet. They must begin and end on proper boundries.

The easiest way to do this is to use halving.

a /24 can be split in half to give 2x /25

254 hosts -> 2x 126 hosts

a /25 can be split in half to give 2x /26

126 hosts -> 2x 62 hosts

a /26 can be split in half to give 2x /27

62 hosts -> 2x 30 hosts

a /27 can be split in half to give 2x /28

30 hosts -> 2x 14 hosts

a /28 can be split in half to give 2x /29

14 hosts -> 2x 6 hosts

a /29 can be split in half to give 2x /30

6 hosts -> 2x 2 hosts

a /30 can be split in half to give 2x /31

2 hosts -> 2x 1 host (legal subnet for point to point links where broadcast address is unnecessary the other address is the network)

a /31 can be split in half to give 2x /32

a /32 is a host only address used quite a bit for loopback addresses or for assigning mulitple addresses from the same subnet to a single interface.

Hopefully this doesn't confuse people even more, but with all the discussion on subnetting lately, i thought I would share my method of quickly determining block size and their respective boundries.