[comp.protocols.tcp-ip] non-contiguous masks

tsuchiya@THUMPER.BELLCORE.COM (Paul Tsuchiya) (07/02/90)

|> 
|> he ya go, campers. anyone wish to rise up and define a good reason to keep
|> non-contigious subnet bits, assuming we require the ability to have more
|> than one address on an interface . . . . . .
|> 

I beleive that there is a very good reason for keeping non-contiguous masks.
It turns out that there is a very efficient and flexible method of assigning
addresses that requires non-contiguous masks to work.  It is something that
I recently have proposed for ABOVE the network level (to address the issues
of both scaling and address depletion), but it can work perfectly well below
the network level.

The idea is very simple, and it works for any number of hierarchy levels.
Basicly, you assign addresses from the bottom up, as they are needed.
Initially, when a subnet needs some addresses (when it is first created),
you give it just enough address space to cover its needs (the first
multiple of two above the actual number of addresses they need).  In
other words, they have a mask that has just enough zeros to cover all
their hosts.  Later, when a subnet needs new addresses, what you do is
find a bit in their mask that 1) currently is a "1", and 2) can be changed
to a "0" without stealing addresses from some other subnet.  In other
words, you double their allocation of address space by flipping a mask
bit from a "1" to a "0".  By doing this, none of the subnet's existing
addresses are invalidated--they still match under the same routing
entry.  By only handing out addresses when they are needed, you use
the address space very efficiently (like, possibly over 50% utilization).

I will be talking about this at the UBC IETF meeting (plenary).  I would
love to come to router requirements and talk about it there specifically,
or if anyone is interested, I have a postscript paper (draft) that talks
about this stuff and some other interesting aspects of scaling.

Oh, and by the way, patricia still works just fine with non-contiguous
masks (at least the way I assign them).  In fact, I think the use of
non-contiguous masks speeds up patricia, because since you are packing
the meaningful information into a smaller number of bits, patricia
needs to sort through a fewer number of bits to get the right result.

PT

_________________________________________________________________
Paul F. Tsuchiya		Bellcore
tsuchiya@thumper.bellcore.com	435 South St.
201-829-4484			MRE 2L-281
201-267-9298 (FAX)		Morristown, NJ 07960
_________________________________________________________________