RFC 3531 (rfc3531) - Page 2 of 7
A Flexible Method for Managing the Assignment of Bits of an IPv6 Address Block
Alternative Format: Original Text Document
RFC 3531 Bits Assignment of an IPv6 Address Block April 2003
1. Rationale
IPv6 addresses have a flexible structure for address assignments.
This enables registries, internet service providers, network
designers and others to assign address ranges to organizations and
networks based on different criteria, like size of networks,
estimated growth rate, etc. Often, the initial assignment doesn't
scale well because a small network becomes larger than expected,
needing more addresses. But then, the assignment authority cannot
allocate contiguous addresses because they were already assigned to
another network.
RFC 1219 [1] 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 subnet mask without
renumbering, for the central bits not allocated.
This work generalizes the previous scheme by extending the algorithm
so it can be applied on any part of an IP address, which are assigned
by any assignment authority level (registries, ISPs of any level,
organizations, ...). It can be used for both IPv4 and IPv6.
This document does not provide any recommendation to registries on
how to assign address ranges to their customers.
2. Scheme
We define parts of the IP address as p1, p2 , p3, ... pN in order,
so that an IP address is composed of these parts contiguously.
Boundaries between each part are based on the prefix assigned by the
next level authority. Part p1 is the leftmost part probably assigned
to a registry, Part p2 can be allocated to a large internet service
provider or to 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 |
+------+------+------+------+------+------+
The algorithm for allocating addresses is as follows: a) for the
leftmost part (p1), assign addresses using the leftmost bits first b)
for the rightmost part (pN), assign addresses using the rightmost
bits first c) for all other parts (center parts), predefine an
arbitrary boundary (prefix) and then assign addresses using the
center bits first of the part being assigned.
Blanchet Informational