Internet Engineering Task Force (IETF) M. Boucadair Request for Comments: 7608 France Telecom BCP: 198 A. Petrescu Category: Best Current Practice CEA, LIST ISSN: 2070-1721 F. Baker Cisco Systems July 2015
IPv6 Prefix Length Recommendation for Forwarding
IPv6 prefix length, as in IPv4, is a parameter conveyed and used in IPv6 routing and forwarding processes in accordance with the Classless Inter-domain Routing (CIDR) architecture. The length of an IPv6 prefix may be any number from zero to 128, although subnets using stateless address autoconfiguration (SLAAC) for address allocation conventionally use a /64 prefix. Hardware and software implementations of routing and forwarding should therefore impose no rules on prefix length, but implement longest-match-first on prefixes of any valid length.
Status of This Memo
This memo documents an Internet Best Current Practice.
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on BCPs is available in Section 2 of RFC 5741.
Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Discussions on the 64-bit boundary in IPv6 addressing ([RFC7421]) revealed a need for a clear recommendation on which bits must be used by forwarding decision-making processes. However, such a recommendation was out of scope for that document.
Although Section 2.5 of [RFC4291] states "IPv6 unicast addresses are aggregatable with prefixes of arbitrary bit-length, similar to IPv4 addresses under Classless Inter-Domain Routing" (CIDR, [RFC4632]), there is still a misinterpretation that IPv6 prefixes can be either /127 ([RFC6164]) or any length up to /64. This misinterpretation is mainly induced by the 64-bit boundary in IPv6 addressing.
As discussed in [RFC7421], "the notion of a /64 boundary in the address was introduced after the initial design of IPv6, following a period when it was expected to be at /80". This evolution of the IPv6 addressing architecture, resulting in [RFC4291], and followed with the addition of /127 prefixes for point-to-point links, clearly demonstrates the intent for future IPv6 developments to have the flexibility to change this part of the architecture when justified.
Boucadair, et al. Best Current Practice [Page 2]
RFC 7608 July 2015
It is fundamental not to link routing and forwarding to the IPv6 prefix/address semantics [RFC4291]. This document includes a recommendation in order to support that goal.
Forwarding decisions rely on the longest-match-first algorithm, which stipulates that, given a choice between two prefixes in the Forwarding Information Base (FIB) of different length that match the destination address in each bit up to their respective lengths, the longer prefix is used. This document's recommendation (Section 2) is that IPv6 forwarding must follow the longest-match-first rule, regardless of prefix length, unless some overriding policy is configured.
This recommendation does not conflict with the 64-bit boundary for some schemes that based on IPv6 stateless address autoconfiguration (SLAAC) [RFC4862], such as [RFC2464]. Indeed, [RFC7421] clarifies this is only a parameter in the SLAAC process, and other longer prefix lengths are in operational use (e.g., either manually configured or based upon DHCPv6 [RFC3315]).
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
IPv6 implementations MUST conform to the rules specified in Section 5.1 of [RFC4632].
Decision-making processes for forwarding MUST NOT restrict the length of IPv6 prefixes by design. In particular, forwarding processes MUST be designed to process prefixes of any length up to /128, by increments of 1.
Policies can be enforced to restrict the length of IP prefixes advertised within a given domain or in a given interconnection link. These policies are deployment specific and/or driven by administrative (interconnection) considerations.
Thanks to Eric Vyncke, Christian Jacquenet, Brian Carpenter, Fernando Gont, Tatuya Jinmei, Lorenzo Colitti, Ross Chandler, David Farmer, David Black, and Barry Leiba for their contributions and comments.
Special thanks to Randy Bush for his support.
Mohamed Boucadair France Telecom Rennes 35000 France
Alexandre Petrescu CEA, LIST CEA Saclay Gif-sur-Yvette, Ile-de-France 91190 France