IP address space management

To keep IANA happy, and to cause maximal-density usage of CIDR blocks, what
should be allocated is un-growable blocks, just big enough for customer needs.
This ensures that once the CIDR block is allocated-out, density is sufficient
to justify trivially another CIDR block.

This also means when the customer needs more space, they either have to
renumber (and this is the number one customer complaint), or have to set
up their network with overlayed subnets (and not all the stuff out there
can successfully do that).

We serve primarily business customers with dedicated LAN access, and have
relatively little dialup business (as measured by address space and revenue).
This is one of our biggest costs since part of our service is to manage the
internet access for our customers, including on-site configuration. So that
means we actually go renumber the customer for them. That's good for the
customer, but it also means we are sorely aware of the costs involved. We
try to balance things the best we can by working with customers to determine
what their needs are with respect to their expanding networking needs over
the coming year. I try to allocate what they reasonably expect to need in
the next 12 months, giving them the smallest subnet that fits that projected
need if it is not more than 2 or 4 times the current need. But I have had
customers who hooked up 3 machines to begin with and knew that they would
have 100 machines within 6-9 months, and they really did.

This is basically a space-packing problem, which while non-trivial, yields
solutions which are quite simple to code. The general process is as follows.

The coding is certainly simple enough, but is it a practical business model?
The answer is actually yes, if one considers a reasonable balance between
current and future needs. I've tried the "tree" approach, manually and have
found that I end up going back and re-using the "holes" for different (and
usually new) customers without leaving space for customer expansion. Once
we have reached the 50% usage mark it's still not time to go back and get
more space, so the "holes" get used. Still, there is a 50% time in which
we can expand most customers with growing space if we do use the "tree"
method. Today as we are rapidly growing, new customers still outpace the
growth in network size of existing customers.

It's still a business decision on which way to allocate network address
space, rather than a technical one.