IP address space management

Use "tree".

Actually, given IANA's current requirements, and most ISP's desires to abide
by both the letter and intent of these guidelines, I'd have to day, "don't".

The reason is, tree is a program designed to allocate 'growable' blocks,
which translates into deliberately anti-optimal allocation. (Apologies to
the authors for any perceived negativity - tree does what it was intended
to do, wonderfully - it's just the opposite of what IANA says to do.)
This maximizes the number of holes, while minimizing the hole size.
At a very early point in allocation, you stop being able to allocate blocks,
when your density is basically minimum.

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 is basically a space-packing problem, which while non-trivial, yields
solutions which are quite simple to code. The general process is as follows.

To do this, you want to avoid breaking up any 'holes', so that you will
most likely be able to accommodate the needs of any customer, big or small.
If you have an unused power-of-two chunck which exactly fits your customer's
needs, give it to them. If not, break up the smallest "hole" bigger that
they need. This minimizes the number of "holes", maximizes "hole" size,
and maximizes probability that all customers needs will be met, and that all
holes will be used before you need to get another block to meet new needs.

At a previous employer, I developed a perl script to do just this.
I'll see whether it's possible to get them to release this code to
the public domain, since they aren't using it (my previous employer
was acquired (read: absorbed) by PSInet, and all engineering and
associated development is now done by PSI, with any prior work non-PSI
code basically abandoned (or so I am lead to believe).

Brandon Ross wrote:

We are in need of a software package to manage our IP space. We've looked at
several products on the market but haven't found anything that really suits
an ISP's needs very well. Does anyone know of anything on the market that
works well? It should understand CIDR and be hierarchical.

I guess the question would be, what is meant by hierarchical... do you mean
assigning sub-CIDR blocks to customers, and then managing customers' space
as well as your own? CIDR and VLSM goes without saying...

Something like that. We have a need to assign perhaps a large block to
web hosting, then out of that block assign smaller blocks to each server,
then yet a smaller block still to each customer, for example.

CIDR and VLSM goes without saying...

Brandon Ross Network Engineering 404-815-0770 800-719-4664
Director, Network Engineering, MindSpring Ent., Inc. info@mindspring.com
                                                            ICQ: 2269442

Stop Smurf attacks! Configure your router interfaces to block directed
broadcasts. See http://www.quadrunner.com/~chuegen/smurf.cgi for details.