summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3531.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc3531.txt')
-rw-r--r--doc/rfc/rfc3531.txt395
1 files changed, 395 insertions, 0 deletions
diff --git a/doc/rfc/rfc3531.txt b/doc/rfc/rfc3531.txt
new file mode 100644
index 0000000..227af19
--- /dev/null
+++ b/doc/rfc/rfc3531.txt
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+Network Working Group M. Blanchet
+Request for Comments: 3531 Viagenie
+Category:Informational April 2003
+
+
+ A Flexible Method for Managing the Assignment of Bits
+ of an IPv6 Address Block
+
+Status of this Memo
+
+ This memo provides information for the Internet community. It does
+ not specify an Internet standard of any kind. Distribution of this
+ memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+Abstract
+
+ This document proposes a method to manage the assignment of bits of
+ an IPv6 address block or range. When an organisation needs to make
+ an address plan for its subnets or when an ISP needs to make an
+ address plan for its customers, this method enables the organisation
+ to postpone the final decision on the number of bits to partition in
+ the address space they have. It does it by keeping the bits around
+ the borders of the partition to be free as long as possible. This
+ scheme is applicable to any bits addressing scheme using bits with
+ partitions in the space, but its first intended use is for IPv6. It
+ is a generalization of RFC 1219 and can be used for IPv6 assignments.
+
+Table of Contents
+
+ 1. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 2. Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 3. Description of the Algorithm . . . . . . . . . . . . . . . . . 3
+ 3.1 Leftmost . . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 3.2 Rightmost . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 3.3 Centermost . . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 4. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5
+ 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5
+ References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
+ Author's Address . . . . . . . . . . . . . . . . . . . . . . . 6
+ Full Copyright Statement . . . . . . . . . . . . . . . . . . . 7
+
+
+
+
+
+
+Blanchet Informational [Page 1]
+
+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 |
+ +------+------+------+------+------+------+
+ <------- ipv6 or ipv4 address ------------>
+
+ 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 [Page 2]
+
+RFC 3531 Bits Assignment of an IPv6 Address Block April 2003
+
+
+ This algorithm grows assigned bits in such way that it keeps
+ unassigned bits near the boundary of the parts. This means that the
+ prefix between any two parts can be changed forward or backward,
+ later on, up to the assigned bits.
+
+3. Description of the Algorithm
+
+ This section describes the assignment of leftmost bits, rightmost
+ bits and centermost bits.
+
+3.1 Leftmost
+
+ p1 will be assigned in order as follows:
+
+ Order Assignment
+ 1 00000000
+ 2 10000000
+ 3 01000000
+ 4 11000000
+ 5 00100000
+ 6 10100000
+ 7 01100000
+ 8 11100000
+ 9 00010000
+ ...
+
+ This is actually a mirror of binary counting.
+
+3.2 Rightmost
+
+ pN (the last part) will be assigned in order as follows:
+
+ Order Assignment
+ 1 00000000
+ 2 00000001
+ 3 00000010
+ 4 00000011
+ 5 00000100
+ 6 00000101
+ 7 00000110
+ 8 00000111
+ 9 00001000
+ ...
+
+
+
+
+
+
+
+
+Blanchet Informational [Page 3]
+
+RFC 3531 Bits Assignment of an IPv6 Address Block April 2003
+
+
+3.3 Centermost
+
+ pX (where 1 < X < N) will be assigned in order as follows: (for
+ example, with a 8 bit predefined length l(pX)=8))
+
+ Order Assignment
+ 1 00000000
+ 2 00001000
+ 3 00010000
+ 4 00011000
+ 5 00000100
+ 6 00001100
+ 7 00010100
+ 8 00011100
+ 9 00100000
+ ...
+
+ The bits are assigned using the following algorithm:
+
+ 1. The first round is to select only the middle bit (and if there is
+ an even number of bits pick the bit following the center)
+
+ 2. Create all combinations using the selected bits that haven't yet
+ been created.
+
+ 3. Start a new round by adding one more bit to the set. In even
+ rounds add the preceding bit to the set. In odd rounds add the
+ subsequent bit to the set.
+
+ 4. Repeat 2 and 3 until there are no more bits to consider.
+
+4. Example
+
+ As an example, a provider P1 has been assigned the 3ffe:0b00/24
+ prefix and wants to assign prefixes to its connected networks. It
+ anticipates in the foreseeable future a maximum of 256 customers
+ consuming 8 bits. One of these customers, named C2, anticipates a
+ maximum of 1024 customer's assignments under it, consuming 10 other
+ bits.
+
+
+
+
+
+
+
+
+
+
+
+
+Blanchet Informational [Page 4]
+
+RFC 3531 Bits Assignment of an IPv6 Address Block April 2003
+
+
+ The assignment will be as follows, not showing the first 24 leftmost
+ bits (3ffe:0b00/24: 00111111 11111110 00001011):
+
+ P1 assigns address space to its customers using leftmost bits:
+
+ 10000000 : assigned to C1
+ 01000000 : assigned to C2
+ 11000000 : assigned to C3
+ 00100000 : assigned to C4
+ ...
+
+ C2 assigns address space to its customers (C2C1, C2C2, ...) using
+ centermost bits:
+
+ 0000010000 : assigned to C2C1
+ 0000100000 : assigned to C2C2
+ 0000110000 : assigned to C2C3
+ ...
+
+ Customers of C2 can use centermost bits for maximum flexibility and
+ then the last aggregators (should be a network in a site) will be
+ assigned using rightmost bits.
+
+ Putting all bits together for C2C3:
+ P1 |C2 |C2C3
+ 00111111 11111110 00001011 01000000 00001100 00
+ <-------> <------>
+ growing bits
+
+ By using this method, P1 will be able to expand the number of
+ customers and the customers will be able to modify their first
+ assumptions about the size of their own customers, until the
+ "reserved" bits are assigned.
+
+5. Security Considerations
+
+ Address assignment doesn't seem to have any specific security
+ consideration.
+
+6. Acknowledgements
+
+ Thanks to Steve Deering, Bob Hinden, Thomas Narten, Erik Nordmark,
+ Florent Parent and Jocelyn Picard for their very useful comments on
+ this work.
+
+
+
+
+
+
+
+Blanchet Informational [Page 5]
+
+RFC 3531 Bits Assignment of an IPv6 Address Block April 2003
+
+
+References
+
+ [1] Tsuchiya, P., "On the assignment of subnet numbers", RFC 1219,
+ April 1991.
+
+ [2] Bradner, S., "The Internet Standards Process -- Revision 3", BCP
+ 9, RFC 2026, October 1996.
+
+Author's Address
+
+ Marc Blanchet
+ Viagenie
+ 2875 boul. Laurier, bureau 300
+ Sainte-Foy, QC G1V 2M2
+ Canada
+
+ Phone: +1 418 656 9254
+ EMail: Marc.Blanchet@viagenie.qc.ca
+ URI: http://www.viagenie.qc.ca/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Blanchet Informational [Page 6]
+
+RFC 3531 Bits Assignment of an IPv6 Address Block April 2003
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Blanchet Informational [Page 7]
+