INTERNET-DRAFT
A flexible allocation scheme for IP addresses (IPv4 and IPv6)
par Marc Blanchet, Viagénie inc.
2 July 1998
Expires 2 January 1999
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working documents of the Internet
Engineering Task Force (IETF), its areas, and its working groups. Note that other groups
may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated,
replaced, or obsoleted by other documents at any time. It is inappropriate to use
Internet- Drafts as reference material or to cite them other than as "work in
progress."
To view the entire list of current Internet-Drafts, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories
on ftp.is.co.za (Africa), ftp.nordu.net
(Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim),
ftp.ietf.org (US East Coast), or ftp.isi.edu
Abstract
This draft presents an IP address allocation scheme that enables the IP allocator (the
organisation that allocates addresses) to postpone the final decision of prefix length by
keeping space between allocated bits of the different parts of the IP address. This
enables the allocator to change the different part lengths of the prefix (TLA, subTLA,
SLA, ...) even after allocated spaces. This scheme is applicable to both IPv4 and IPv6 but
is envisionned mainly for IPv6 where the address space is larger and more flexible.
1. Context
IPv6 addresses have a more flexible structure for address allocation where no pre-defined
prefixes (called subnetmasks in IPv4) are used (except a few special cases). It enables
the registries, the service provider, the network designer and others to allocate
addresses based on different criterias, like size of networks, estimated growth rate, etc.
It happens often that the initial design of the allocation doesnt scale well because
a small network becomes larger than expected, needing more addresses. But then, the
allocator cannot allocate contiguous addresses because they were already assigned to
another network. Non-contiguous addresses breaks the address aggregation for routing.
RFC1219 [IPv4Assign] describes an allocation scheme for IPv4 where address space is kept
unallocated between the leftmost bits of the subnet part and the rightmost bits of the
host part of the address. This enables the network designer to change the subnetmask
without renumbering, for the central bits that were not allocated.
This work generalize the previous scheme by an algorithm to allocate IP addresses for all
the parts of an IPv6 address allocated by all levels of the allocators (TLA, registries,
ISPs, organisations, ...).
2. Scheme
We define parts of the IP address as p1, p2 , p3, ... pN in order, so that an IP address
is composed of all its parts contiguous. Boundaries between each part is based on the
prefix allocated by the next level allocator. Part p1 is the leftmost part probably
assigned to a TLA, Part p2 can be allocated by the TLA to a large provider or a national
registry. Part p3 can be allocated to a large customer or a smaller provider, etc. Each
part can be of different length. We define l(pX) the length of part X.
+------+------+------+------+------+------+
| p1 | p2 | p3 | p4 | ... | pN |
+------+------+------+------+------+------+
<------- ipv6 or ipv4 address ------------>
The algorithm for allocating addresses is as follows :
a) for the leftmost part (p1), allocate addresses using the leftmost bits first
b) for the rightmost part (pN), allocate addresses using the rightmost bits first
c) for all other parts (center parts), predefine an arbitrary boundary (prefix) and then
allocate addresses using the center
|