Network Working Group                                        M. Blanchet
Request for Comments: 3531                                      Viagenie
Category:Informational                                        April 2003
        
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

管理IPv6地址块位分配的灵活方法

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.

版权所有(C)互联网协会(2003年)。版权所有。

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.

本文档提出了一种管理IPv6地址块或范围的位分配的方法。当组织需要为其子网制定地址计划,或当ISP需要为其客户制定地址计划时,此方法使组织能够推迟对其拥有的地址空间中要划分的位数的最终决定。它通过尽可能长时间地保持分区边界周围的位空闲来实现。该方案适用于使用空间中具有分区的位的任何位寻址方案,但其第一个预期用途是用于IPv6。它是RFC1219的推广,可用于IPv6分配。

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
        
   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
        
1. Rationale
1. 根本原因

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.

IPv6地址具有灵活的地址分配结构。这使注册中心、internet服务提供商、网络设计者和其他人能够根据不同的标准(如网络大小、估计增长率等)为组织和网络分配地址范围。通常,初始分配的规模不太大,因为小型网络比预期的大,需要更多的地址。但是,分配机构无法分配连续地址,因为它们已分配给另一个网络。

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.

RFC 1219[1]描述了IPv4的一种分配方案,其中地址空间在子网部分的最左边位和地址的主机部分的最右边位之间保持未分配。这使网络设计器能够在不重新编号的情况下更改未分配的中心位的子网掩码。

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.

这项工作通过扩展算法来推广先前的方案,使其可以应用于IP地址的任何部分,这些部分由任何分配权限级别(注册中心、任何级别的ISP、组织等)分配。它可以用于IPv4和IPv6。

This document does not provide any recommendation to registries on how to assign address ranges to their customers.

本文件没有就如何为客户分配地址范围向登记处提供任何建议。

2. Scheme
2. 计划

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.

我们将IP地址的一部分定义为p1、p2、p3。。。pN顺序,因此IP地址由这些部分连续组成。每个零件之间的边界基于下一级机构指定的前缀。p1部分可能是分配给注册中心的最左边部分,p2部分可以分配给大型互联网服务提供商或国家注册中心。零件p3可分配给大客户或小供应商等。每个零件的长度不同。我们定义l(pX)为X部分的长度。

   +------+------+------+------+------+------+
   | p1   | p2   | p3   | p4   | ...  | pN   |
   +------+------+------+------+------+------+
   <------- ipv6 or ipv4 address ------------>
        
   +------+------+------+------+------+------+
   | 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.

分配地址的算法如下:a)对于最左边的部分(p1),首先使用最左边的位分配地址b)对于最右边的部分(pN),首先使用最右边的位分配地址c)对于所有其他部分(中心部分),预定义任意边界(前缀)然后使用被分配部分的第一个中心位分配地址。

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
3. 算法描述

This section describes the assignment of leftmost bits, rightmost bits and centermost bits.

本节介绍最左侧位、最右侧位和最中心位的分配。

3.1 Leftmost
3.1 最左边的

p1 will be assigned in order as follows:

p1将按如下顺序分配:

Order Assignment 1 00000000 2 10000000 3 01000000 4 11000000 5 00100000 6 10100000 7 01100000 8 11100000 9 00010000 ...

订单分配100000000 2 10000000 3 010000004 11000000 5 001000006 101000007 011000008 111000009 00010000。。。

This is actually a mirror of binary counting.

这实际上是二进制计数的镜像。

3.2 Rightmost
3.2 最右边的

pN (the last part) will be assigned in order as follows:

pN(最后一部分)将按如下顺序分配:

Order Assignment 1 00000000 2 00000001 3 00000010 4 00000011 5 00000100 6 00000101 7 00000110 8 00000111 9 00001000 ...

订单分配1000000200000001300000104000011500000106000001017000011008000800000111900011000。。。

3.3 Centermost
3.3 最中心的
   pX (where 1 < X < N) will be assigned in order as follows: (for
   example, with a 8 bit predefined length l(pX)=8))
        
   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 ...

订单分配100000000 2 00001003 0001000004 000110005 00000100 6 0000111007 00001008 00011100900100000。。。

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)

1. 第一轮仅选择中间位(如果位数为偶数,则选择中心后面的位)

2. Create all combinations using the selected bits that haven't yet been created.

2. 使用尚未创建的选定位创建所有组合。

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.

3. 在集合中再添加一位,开始新一轮。在偶数轮中,将前一位添加到集合中。在奇数轮中,将后续位添加到集合中。

4. Repeat 2 and 3 until there are no more bits to consider.

4. 重复2和3直到没有更多的比特需要考虑。

4. Example
4. 实例

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.

例如,提供商P1已被分配3ffe:0b00/24前缀,并希望为其连接的网络分配前缀。它预计在可预见的未来,最多有256个客户使用8位。其中一个名为C2的客户预计其下最多有1024个客户的任务,消耗其他10位。

The assignment will be as follows, not showing the first 24 leftmost bits (3ffe:0b00/24: 00111111 11111110 00001011):

分配如下,不显示前24个最左边的位(3ffe:0b00/24:00111111 1111111 0 00001011):

P1 assigns address space to its customers using leftmost bits:

P1使用最左边的位为其客户分配地址空间:

10000000 : assigned to C1 01000000 : assigned to C2 11000000 : assigned to C3 00100000 : assigned to C4 ...

10000000:分配给C1 01000000:分配给C2 11000000:分配给C3 00100000:分配给C4。。。

C2 assigns address space to its customers (C2C1, C2C2, ...) using centermost bits:

C2使用最中间的位将地址空间分配给其客户(C2C1、C2C2等):

0000010000 : assigned to C2C1 0000100000 : assigned to C2C2 0000110000 : assigned to C2C3 ...

0000010000:分配给C2C1 0000100000:分配给C2C2 0000110000:分配给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.

C2的客户可以使用最中心的位以获得最大的灵活性,然后使用最右边的位分配最后一个聚合器(应该是站点中的网络)。

   Putting all bits together for C2C3:
   P1                        |C2      |C2C3
   00111111 11111110 00001011 01000000 00001100 00
                                 <------->    <------>
                                     growing 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.

通过使用此方法,P1将能够扩大客户数量,客户将能够修改其关于自己客户规模的第一个假设,直到分配“保留”位。

5. Security Considerations
5. 安全考虑

Address assignment doesn't seem to have any specific security consideration.

地址分配似乎没有任何特定的安全考虑。

6. Acknowledgements
6. 致谢

Thanks to Steve Deering, Bob Hinden, Thomas Narten, Erik Nordmark, Florent Parent and Jocelyn Picard for their very useful comments on this work.

感谢Steve Deering、Bob Hinden、Thomas Narten、Erik Nordmark、Florent Parent和Jocelyn Picard对这项工作的非常有用的评论。

References

工具书类

[1] Tsuchiya, P., "On the assignment of subnet numbers", RFC 1219, April 1991.

[1] Tsuchiya,P.,“关于子网编号的分配”,RFC 1219,1991年4月。

[2] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996.

[2] Bradner,S.,“互联网标准过程——第3版”,BCP 9,RFC 2026,1996年10月。

Author's Address

作者地址

Marc Blanchet Viagenie 2875 boul. Laurier, bureau 300 Sainte-Foy, QC G1V 2M2 Canada

Marc Blanchet Viagenie 2875 boul。Laurier,加拿大QC G1V 2M2圣福伊300局

   Phone: +1 418 656 9254
   EMail: Marc.Blanchet@viagenie.qc.ca
   URI:   http://www.viagenie.qc.ca/
        
   Phone: +1 418 656 9254
   EMail: Marc.Blanchet@viagenie.qc.ca
   URI:   http://www.viagenie.qc.ca/
        

Full Copyright Statement

完整版权声明

Copyright (C) The Internet Society (2003). All Rights Reserved.

版权所有(C)互联网协会(2003年)。版权所有。

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.

RFC编辑功能的资金目前由互联网协会提供。