When allocating IP subnets within a network, care should be taken to allocate them in a logical fashion. When allocating subnets, you should strive for two goals:
Allow for the largest possible remaining addressable space (i.e., the largest subnets possible in the remaining space).
Allow as many subnets as possible to be expanded into the surrounding available space.
As you will see, achieving both of these goals is a balancing act.
I've encountered three methods for allocating IP subnets. I'll call these methods sequential, divide by half, and reverse binary.
Most people's first inclination seems to be to allocate IP addresses and IP subnets in numerical order. That is, they allocate the first numerical subnet, then the next, and so on. If such a person were subnetting the 192.168.100.0/24 network into /30 subnets, they would likely get allocated in this order: 0, 4, 8, 12, etc. Sequential allocation of subnets in a network is what most admins seem naturally prone to do. It works, it's easy to understand, and it's pretty easy to tell where the next available network will be.
Of the three methods I'll discuss here, this is the least desirable, and the most often deployed. There are some serious problems with this method. First, there is no room for expansion in any of the subnets, except for possibly the last one used. If the subnet 192.168.100.16 exhibits growth, and now needs 18 addresses instead of 16, the entire subnet must be renumbered to a larger ...