RFC 7608

IPv6 Prefix Length Recommendation for Forwarding

πŸ“… published July 2015, from ietf

RFC 7608: IPv6 Prefix Length Recommendation for Forwarding ✨

okay bestie, let's get into it πŸ’– This is BCP 198, a Best Current Practice from the IETF, dated July 2015. It's written by M. Boucadair (France Telecom), A. Petrescu (CEA, LIST), and F. Baker (Cisco Systems). It's published in the ISSN 2070-1721 series, and it doesn't obsolete or update any other RFCs. πŸŽ€


Abstract πŸ¦‹

okay so IPv6 prefix length works just like it does in IPv4 🌸 It's a parameter used in routing and forwarding under the CIDR architecture. A prefix can be anywhere from /0 to /128, even though SLAAC subnets conventionally use /64 πŸ’… The vibe is that hardware and software for routing and forwarding should impose no rules on prefix length and should do longest-match-first on prefixes of any valid length. literally the whole point πŸ”₯

Status of This Memo πŸ“œ

This memo documents an Internet Best Current Practice 🫢

This document is a product of the IETF. It represents the consensus of the IETF community, got public review, and was approved for publication by the IESG. If you want more on BCPs, check Section 2 of RFC 5741 🧚

For the current status, any errata, and how to give feedback, look at:

http://www.rfc-editor.org/info/rfc7608

Copyright (c) 2015 IETF Trust and the document authors. All rights reserved 🌈

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents, which you can find at http://trustee.ietf.org/license-info, as in effect on the publication date. Read them carefully, bestie, because they describe your rights and restrictions. Code Components pulled from this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and come without warranty as described in the Simplified BSD License πŸ™ˆ

Table of Contents πŸ“

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
  1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
2.  Recommendation  . . . . . . . . . . . . . . . . . . . . . . .   3
3.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
4.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
  4.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
  4.2.  Informative References  . . . . . . . . . . . . . . . . .   4
Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   6
Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1. Introduction 🌸

okay so this whole thing started with the 64-bit boundary in IPv6 addressing ([RFC7421]). People realized there was a real need for a clear recommendation about which bits must be used by forwarding decision-making. But that was out of scope for RFC 7421, so here we are πŸ™ˆ

Section 2.5 of [RFC4291] says that "IPv6 unicast addresses are aggregatable with prefixes of arbitrary bit-length, similar to IPv4 addresses under Classless Inter-Domain Routing" (CIDR, [RFC4632]). BUT people still think IPv6 prefixes can only be /127 ([RFC6164]) or anything up to /64. The 64-bit boundary is mostly to blame for that misunderstanding 😭

As [RFC7421] puts it, "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". The IPv6 addressing architecture evolved into [RFC4291], and then /127 prefixes were added for point-to-point links. That clearly shows the intent that future IPv6 work can change this part of the architecture when it's justified. main character energy πŸ‘‘

It's fundamental not to tie routing and forwarding to IPv6 prefix/address semantics [RFC4291]. This document has a recommendation to support that goal πŸ’…

Forwarding decisions use the longest-match-first algorithm. If two prefixes in the Forwarding Information Base (FIB) of different lengths both match the destination address up to their lengths, the longer one wins πŸ¦‹ This document's recommendation (Section 2) is that IPv6 forwarding must follow longest-match-first regardless of prefix length, unless some overriding policy is configured.

This doesn't clash with the 64-bit boundary for some schemes based on IPv6 stateless address autoconfiguration (SLAAC) [RFC4862], like [RFC2464]. [RFC7421] clarifies that it's only a parameter in the SLAAC process, and other longer prefix lengths are used in the wild too (for example, manually configured, or based on DHCPv6 [RFC3315]) ✨

A bit of CIDR history lives in [RFC1380] and Section 2 of [RFC4632] 🧚

1.1. Requirements Language πŸŽ€

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].

2. Recommendation πŸ’–

IPv6 implementations MUST conform to the rules in Section 5.1 of [RFC4632] 🫢

Decision-making processes for forwarding MUST NOT restrict the length of IPv6 prefixes by design. Specifically, forwarding processes MUST be designed to process prefixes of any length up to /128, in increments of 1 πŸ’…

Policies can be enforced to restrict the length of IP prefixes advertised within a given domain or over a given interconnection link. These policies are deployment specific and/or driven by administrative (interconnection) considerations 🌈

3. Security Considerations πŸ”₯

⚠️ Security is serious, bestie. Read this part fully. πŸ’€

This document does not introduce any security issues beyond what's discussed in [RFC4291] πŸ™ˆ

IPv6 security issues, including operational ones, are discussed in [RFC4942] and [OPSEC-v6] πŸ”

4. References πŸ“š

4.1. Normative References πŸ’œ

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119,
           DOI 10.17487/RFC2119, March 1997,
           <http://www.rfc-editor.org/info/rfc2119>.

[RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
           Architecture", RFC 4291, DOI 10.17487/RFC4291, February
           2006, <http://www.rfc-editor.org/info/rfc4291>.

[RFC4632]  Fuller, V. and T. Li, "Classless Inter-domain Routing
           (CIDR): The Internet Address Assignment and Aggregation
           Plan", BCP 122, RFC 4632, DOI 10.17487/RFC4632, August
           2006, <http://www.rfc-editor.org/info/rfc4632>.

4.2. Informative References πŸ¦‹

[OPSEC-v6] Chittimaneni, K., Kaeo, M., and E. Vyncke, "Operational
           Security Considerations for IPv6 Networks", Work in
           Progress, draft-ietf-opsec-v6-06, March 2015.

[RFC1380]  Gross, P. and P. Almquist, "IESG Deliberations on Routing
           and Addressing", RFC 1380, DOI 10.17487/RFC1380, November
           1992, <http://www.rfc-editor.org/info/rfc1380>.

[RFC2464]  Crawford, M., "Transmission of IPv6 Packets over Ethernet
           Networks", RFC 2464, DOI 10.17487/RFC2464, December 1998,
           <http://www.rfc-editor.org/info/rfc2464>.

[RFC3315]  Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
           C., and M. Carney, "Dynamic Host Configuration Protocol
           for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July
           2003, <http://www.rfc-editor.org/info/rfc3315>.

[RFC4862]  Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
           Address Autoconfiguration", RFC 4862,
           DOI 10.17487/RFC4862, September 2007,
           <http://www.rfc-editor.org/info/rfc4862>.

[RFC4942]  Davies, E., Krishnan, S., and P. Savola, "IPv6 Transition/
           Co-existence Security Considerations", RFC 4942,
           DOI 10.17487/RFC4942, September 2007,
           <http://www.rfc-editor.org/info/rfc4942>.

[RFC6164]  Kohno, M., Nitzan, B., Bush, R., Matsuzaki, Y., Colitti,
           L., and T. Narten, "Using 127-Bit IPv6 Prefixes on Inter-
           Router Links", RFC 6164, DOI 10.17487/RFC6164, April 2011,
           <http://www.rfc-editor.org/info/rfc6164>.

[RFC7421]  Carpenter, B., Ed., Chown, T., Gont, F., Jiang, S.,
           Petrescu, A., and A. Yourtchenko, "Analysis of the 64-bit
           Boundary in IPv6 Addressing", RFC 7421,
           DOI 10.17487/RFC7421, January 2015,
           <http://www.rfc-editor.org/info/rfc7421>.

Acknowledgements 🌷

thank you 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 πŸ’–

Authors' Addresses 🧚

Mohamed Boucadair France Telecom Rennes 35000 France

Email: mohamed.boucadair@orange.com

Alexandre Petrescu CEA, LIST CEA Saclay Gif-sur-Yvette, Ile-de-France 91190 France

Phone: +33169089223 Email: alexandre.petrescu@cea.fr

Fred Baker Cisco Systems Santa Barbara, California 93117 United States

Email: fred@cisco.com ✨

πŸ“¦ where this page comes from