[Irtf-rr] Just an idea for a self organiziong IPv6 address space network

Pepmiller, Craig E. craig@more.net
Wed, 23 Oct 2002 16:03:57 -0500


I have been considering making a proposal for part of the reserved IPv6 =
address space.  The goal would be experimentation into a self-organizing =
network.  Please help me brainstorm what is needed for a self-organizing =
IP network.

Proposed protocol:  Address space allocation protocol (yes I know ASAP =
is taken)

Goal:  Automatically assign IPv6 address space to routers and clients.

Definitions:
	1) Seed point:  An Internic controlled, fixed start of network- the =
seed point is where all other networks directly or indirectly get their =
addressing from the reserved pool and their authority to delegate =
addressing.  This router/server has the only fixed address.
	2) Seed router:  The router/server that acts as the seed point.
	3) Delegate router:  Any router that understands the protocol and can =
act on the part of the seed for downstream connections.

How the protocol works:
	1) non-seed routers connect to the seed point (or a delegate) by using =
either pre-assigned addresses (as currently assigned by the Internic) or =
through the IPv6 local-link addressing
	2) non-seed routers make a request for address space and forward their =
current routing table (as generated by BGP and any of their IGPs)
	3) seed router (or it's delegate) executes tests to determine bandwidth =
and minimum latency of the local link to the requesting router
	4) seed router (or it's delegate) evaluates the routing table to =
determine expected address requirements; larger chunks of address space =
are allocated for routers with large, complex routing tables reflecting =
lots of aggregated routes; high speed connection to the seed (or =
delegate) and high latency (This is an attempt to cast the address net =
as wide as possible first.  High latency indicates that the requesting =
router is a larger physical distance from the seed point.) any routing =
table entries that use addressing from the reserved block for this =
protocol are discounted.  The goal is to make the address block =
assignment enough to cover the address requirements assuming that all =
downstream networks will accept addresses from the requesting router. =20
	5) the seed router or delegate assigns an address block to the =
requesting router and sets a secondary address on the connection to the =
starting address of that range
	6) the seed router (or delegate) communicates the address block to the =
requesting router.  If the address block allocation is more than enough =
to cover the downstream networks as indicated in the routing table then =
the seed router (or delegate) also communicates that the requesting =
router is able to act as a delegate
	7) the requesting router sets a secondary address to the starting =
address of the address block plus one and acknowledges the block =
assignment and agreement to be a delegate (if offered) from the new =
address
	8) the delegate router that made the assignment communicates the =
assignment to the seed point. =20
	9) the seed point makes a log entry of the assignment.

Potential modifications:
	1) multiple seed points
	2) upstream communication of unused address space for possible =
reassignment
	3) modification of the address block calculation to handle waste in =
other IPv6 address assignments.  The initial protocol relies on routing =
tables that are mostly IPv4 address blocks, which can easily be covered =
by a small segment of the IPv6 block reserved for the protocol.
	4) ability to make secondary assignments to routers that come back =
asking for more address space
	5) potential for the seed or a delegate to call for readdressing to =
compact the assigned address space and free up blocks for reassignment

Open questions:
	1) is bandwidth, latency and a routing table enough to make decisions =
on address block assignments?
	2) any suggestions?

Thanks-
-Craig Pepmiller=09