1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333
|
<pre>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
<span class="h1">IPv6 Prefix Length Recommendation for Forwarding</span>
Abstract
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 <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="http://www.rfc-editor.org/info/rfc7608">http://www.rfc-editor.org/info/rfc7608</a>.
<span class="grey">Boucadair, et al. Best Current Practice [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc7608">RFC 7608</a> July 2015</span>
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) 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.
Table of Contents
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-1.1">1.1</a>. Requirements Language . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-2">2</a>. Recommendation . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-3">3</a>. Security Considerations . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-4">4</a>. References . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-4.1">4.1</a>. Normative References . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-4.2">4.2</a>. Informative References . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-6">6</a>
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-6">6</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
Discussions on the 64-bit boundary in IPv6 addressing ([<a href="./rfc7421" title=""Analysis of the 64-bit Boundary in IPv6 Addressing"">RFC7421</a>])
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 <a href="./rfc4291#section-2.5">Section 2.5 of [RFC4291]</a> states "IPv6 unicast addresses are
aggregatable with prefixes of arbitrary bit-length, similar to IPv4
addresses under Classless Inter-Domain Routing" (CIDR, [<a href="./rfc4632" title=""Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan"">RFC4632</a>]),
there is still a misinterpretation that IPv6 prefixes can be either
/127 ([<a href="./rfc6164" title=""Using 127-Bit IPv6 Prefixes on Inter- Router Links"">RFC6164</a>]) or any length up to /64. This misinterpretation is
mainly induced by the 64-bit boundary in IPv6 addressing.
As discussed in [<a href="./rfc7421" title=""Analysis of the 64-bit Boundary in IPv6 Addressing"">RFC7421</a>], "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 [<a href="./rfc4291" title=""IP Version 6 Addressing Architecture"">RFC4291</a>], 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.
<span class="grey">Boucadair, et al. Best Current Practice [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc7608">RFC 7608</a> July 2015</span>
It is fundamental not to link routing and forwarding to the IPv6
prefix/address semantics [<a href="./rfc4291" title=""IP Version 6 Addressing Architecture"">RFC4291</a>]. 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 (<a href="#section-2">Section 2</a>) 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) [<a href="./rfc4862" title=""IPv6 Stateless Address Autoconfiguration"">RFC4862</a>], such as [<a href="./rfc2464" title=""Transmission of IPv6 Packets over Ethernet Networks"">RFC2464</a>]. Indeed, [<a href="./rfc7421" title=""Analysis of the 64-bit Boundary in IPv6 Addressing"">RFC7421</a>] 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 [<a href="./rfc3315" title=""Dynamic Host Configuration Protocol for IPv6 (DHCPv6)"">RFC3315</a>]).
A historical background of CIDR is documented in [<a href="./rfc1380" title=""IESG Deliberations on Routing and Addressing"">RFC1380</a>] and
<a href="./rfc4632#section-2">Section 2 of [RFC4632]</a>.
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. Requirements Language</span>
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 <a href="./rfc2119">RFC 2119</a> [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Recommendation</span>
IPv6 implementations MUST conform to the rules specified in
<a href="./rfc4632#section-5.1">Section 5.1 of [RFC4632]</a>.
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.
<span class="grey">Boucadair, et al. Best Current Practice [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc7608">RFC 7608</a> July 2015</span>
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Security Considerations</span>
This document does not introduce security issues in addition to what
is discussed in [<a href="./rfc4291" title=""IP Version 6 Addressing Architecture"">RFC4291</a>].
IPv6 security issues, including operational ones, are discussed in
[<a href="./rfc4942" title=""IPv6 Transition/ Co-existence Security Considerations"">RFC4942</a>] and [<a href="#ref-OPSEC-v6" title=""Operational Security Considerations for IPv6 Networks"">OPSEC-v6</a>].
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. References</span>
<span class="h3"><a class="selflink" id="section-4.1" href="#section-4.1">4.1</a>. Normative References</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>,
DOI 10.17487/RFC2119, March 1997,
<<a href="http://www.rfc-editor.org/info/rfc2119">http://www.rfc-editor.org/info/rfc2119</a>>.
[<a id="ref-RFC4291">RFC4291</a>] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", <a href="./rfc4291">RFC 4291</a>, DOI 10.17487/RFC4291, February
2006, <<a href="http://www.rfc-editor.org/info/rfc4291">http://www.rfc-editor.org/info/rfc4291</a>>.
[<a id="ref-RFC4632">RFC4632</a>] Fuller, V. and T. Li, "Classless Inter-domain Routing
(CIDR): The Internet Address Assignment and Aggregation
Plan", <a href="https://www.rfc-editor.org/bcp/bcp122">BCP 122</a>, <a href="./rfc4632">RFC 4632</a>, DOI 10.17487/RFC4632, August
2006, <<a href="http://www.rfc-editor.org/info/rfc4632">http://www.rfc-editor.org/info/rfc4632</a>>.
<span class="h3"><a class="selflink" id="section-4.2" href="#section-4.2">4.2</a>. Informative References</span>
[<a id="ref-OPSEC-v6">OPSEC-v6</a>] Chittimaneni, K., Kaeo, M., and E. Vyncke, "Operational
Security Considerations for IPv6 Networks", Work in
Progress, <a href="./draft-ietf-opsec-v6-06">draft-ietf-opsec-v6-06</a>, March 2015.
[<a id="ref-RFC1380">RFC1380</a>] Gross, P. and P. Almquist, "IESG Deliberations on Routing
and Addressing", <a href="./rfc1380">RFC 1380</a>, DOI 10.17487/RFC1380, November
1992, <<a href="http://www.rfc-editor.org/info/rfc1380">http://www.rfc-editor.org/info/rfc1380</a>>.
[<a id="ref-RFC2464">RFC2464</a>] Crawford, M., "Transmission of IPv6 Packets over Ethernet
Networks", <a href="./rfc2464">RFC 2464</a>, DOI 10.17487/RFC2464, December 1998,
<<a href="http://www.rfc-editor.org/info/rfc2464">http://www.rfc-editor.org/info/rfc2464</a>>.
[<a id="ref-RFC3315">RFC3315</a>] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
C., and M. Carney, "Dynamic Host Configuration Protocol
for IPv6 (DHCPv6)", <a href="./rfc3315">RFC 3315</a>, DOI 10.17487/RFC3315, July
2003, <<a href="http://www.rfc-editor.org/info/rfc3315">http://www.rfc-editor.org/info/rfc3315</a>>.
<span class="grey">Boucadair, et al. Best Current Practice [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc7608">RFC 7608</a> July 2015</span>
[<a id="ref-RFC4862">RFC4862</a>] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", <a href="./rfc4862">RFC 4862</a>,
DOI 10.17487/RFC4862, September 2007,
<<a href="http://www.rfc-editor.org/info/rfc4862">http://www.rfc-editor.org/info/rfc4862</a>>.
[<a id="ref-RFC4942">RFC4942</a>] Davies, E., Krishnan, S., and P. Savola, "IPv6 Transition/
Co-existence Security Considerations", <a href="./rfc4942">RFC 4942</a>,
DOI 10.17487/RFC4942, September 2007,
<<a href="http://www.rfc-editor.org/info/rfc4942">http://www.rfc-editor.org/info/rfc4942</a>>.
[<a id="ref-RFC6164">RFC6164</a>] Kohno, M., Nitzan, B., Bush, R., Matsuzaki, Y., Colitti,
L., and T. Narten, "Using 127-Bit IPv6 Prefixes on Inter-
Router Links", <a href="./rfc6164">RFC 6164</a>, DOI 10.17487/RFC6164, April 2011,
<<a href="http://www.rfc-editor.org/info/rfc6164">http://www.rfc-editor.org/info/rfc6164</a>>.
[<a id="ref-RFC7421">RFC7421</a>] Carpenter, B., Ed., Chown, T., Gont, F., Jiang, S.,
Petrescu, A., and A. Yourtchenko, "Analysis of the 64-bit
Boundary in IPv6 Addressing", <a href="./rfc7421">RFC 7421</a>,
DOI 10.17487/RFC7421, January 2015,
<<a href="http://www.rfc-editor.org/info/rfc7421">http://www.rfc-editor.org/info/rfc7421</a>>.
<span class="grey">Boucadair, et al. Best Current Practice [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc7608">RFC 7608</a> July 2015</span>
Acknowledgements
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.
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
Boucadair, et al. Best Current Practice [Page 6]
</pre>
|