[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