RFC 5453
Reserved IPv6 Interface Identifiers
RFC 5453: Reserved IPv6 Interface Identifiers π
Okay bestie, this one is a Standards Track doc π written by S. Krishnan at Ericsson, dated February 2009. Its title block doesn't list anything it obsoletes or updates, so it stands on its own π¦. It's a Network Working Group document, so the whole thing is an open protocol spec for the Internet community πΈ
Status of This Memo β¨
This doc is an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements π¬ If you want the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1) π Distribution of this memo is unlimited π
Copyright Notice π
Copyright (c) 2009 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 π«Ά
Abstract π₯
So, interface identifiers in IPv6 unicast addresses are how you tell interfaces apart on a link π They're required to be unique within a subnet. Several RFCs have given certain interface identifiers, or ranges of them, a special meaning π If an IPv6 node autoconfigures an interface identifier in one of those ranges, it's going to run into unexpected consequences π There's no centralized repository for these reserved identifiers, so this document is basically here to make one β¨
Table of Contents π
1. Introduction ....................................................2
1.1. Applicability ..............................................2
1.2. Requirements Notation ......................................3
2. Issues with Reusing Reserved Interface Identifiers ..............3
2.1. Possible Solutions .........................................3
3. IANA Considerations .............................................3
4. Acknowledgements ................................................4
5. Security Considerations .........................................4
6. References ......................................................5
6.1. Normative References .......................................5
6.2. Informative References .....................................5
Appendix A. List of Potentially Affected RFCs ......................6
1. Introduction π¦
Okay so an IPv6 unicast address has two parts: a subnet prefix, and an interface identifier (IID) that picks out one specific interface within that subnet prefix π§ The structure is laid out in "IPv6 Addressing Architecture" [RFC4291], and it's copied here so you can see it clearly π
| n bits | 128-n bits |
+-------------------------------+---------------------------------+
| subnet prefix | interface ID |
+-------------------------------+---------------------------------+
Figure 1: IPv6 Unicast Address Format
For all unicast addresses, except the ones that start with the binary value 000, Interface IDs are required to be 64 bits long and built in Modified EUI-64 format [RFC4291] π Some mechanisms make interface identifiers that don't come from a unique token, like Cryptographically Generated Addresses [RFC3972], Privacy Addresses [RFC4941], Hash-Based Addresses [HBA], and so on πΈ Non-unique interface identifiers can also be handed out by managed address assignment mechanisms, like DHCPv6 (Dynamic Host Configuration Protocol for IPv6) [RFC3315] π
1.1. Applicability β
This document only applies to interface identifiers formed in the modified EUI-64 format, the way Appendix A of [RFC4291] defines it π Every other type of interface identifier is out of its scope, so it's not this doc's problem π
1.2. Requirements Notation π
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 [RFC2119] π
2. Issues with Reusing Reserved Interface Identifiers π
Let's say a node comes up with an interface identifier that was reserved for something else π For example, an IPv6 node using temporary IPv6 addresses [RFC4941] ends up with an IID of fdff:ffff:ffff:ffff. That's a problem, because this node will get requests from every node that wants a service from a Mobile IPv6 home agent, since that identifier was reserved in [RFC2526] to be a MIPv6 home agent's anycast address π At best, it's an annoyance for the node that picked the address π At worst, another node on the link gets denied service and might not go looking for other ways to find a home agent π± So honestly, reserved interface identifiers like this one MUST NOT be used for autonomous autoconfiguration or for managed address configuration π«
2.1. Possible Solutions π§
There are two ways to avoid using these reserved interface identifiers π° One is to add a normative reference to every specification that reserves an interface identifier. The other is to create an IANA registry for these interface identifiers. The normative reference approach has two disadvantages, though π First, it doesn't scale well, because there are a lot of these specifications that would need updating π Second, the maturity level of the document that reserves the IID might be lower than the maturity level of the document that forbids using it, which causes a downward reference problem β οΈ So the better solution is an IANA registry for this purpose π
3. IANA Considerations π
This document creates an IANA registry for reserved IPv6 interface identifiers π The initial values for that registry are given below πΈ
+-----------------------------------------+-------------------------+
| Interface Identifier Range | Description |
+-----------------------------------------+-------------------------+
| 0000:0000:0000:0000 | Subnet-Router Anycast |
| | [RFC4291] |
| | |
| FDFF:FFFF:FFFF:FF80-FDFF:FFFF:FFFF:FFFF | Reserved Subnet Anycast |
| | Addresses[RFC2526] |
+-----------------------------------------+-------------------------+
Table 1: Current Assignments
Here's the tea β Some implementations might predate a specific assignment in this registry, which means they might not know the interface identifier is reserved π¬ So future assignments from this registry are discouraged π ββοΈ If there are any, they're made through Standards Action [RFC5226] π An assignment is either a single interface identifier or a range of interface identifiers π¦
NOTE: The address::(all zeros in the interface identifier field) is used as the unspecified address, and::/0is used as a default route indicator, as specified in [RFC5156]. These uses don't conflict with the reserved interface identifiers defined here, since those reserved identifiers exist to avoid conflicts with stateless address autoconfiguration, which uses a 64-bit prefix length π«Ά
4. Acknowledgements π«Ά
The author would like to thank Alain Durand, Alex Petrescu, Bernie Volz, Bob Hinden, Christian Huitema, Fred Templin, Jordi Palet Martinez, Pekka Savola, Remi Denis-Courmount, Tim Enos, Ed Jankiewicz, Brian Carpenter, Alfred Hoenes, Jari Arkko, Pasi Eronen, Tim Polk, Lars Eggert, Derek Atkins, and Robert Sparks for reviewing this document and suggesting changes π Iconic squad, thank you all π
5. Security Considerations π¨
This part is serious, bestie. By using one of the reserved interface identifiers, an IPv6 node might receive requests it isn't authorized to receive π± Any information that creates or updates a registration in this registry needs to be authenticated and authorized by the IANA, based on the instructions set forth by [RFC5226] π
6. References π
6.1. Normative References π
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2526] Johnson, D. and S. Deering, "Reserved IPv6 Subnet Anycast
Addresses", RFC 2526, March 1999.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, February 2006.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
6.2. Informative References πΈ
[HBA] Bagnulo, M., "Hash Based Addresses (HBA)", Work in
Progress, October 2006.
[RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
C., and M. Carney, "Dynamic Host Configuration Protocol
for IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)",
RFC 3972, March 2005.
[RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy
Extensions for Stateless Address Autoconfiguration in
IPv6", RFC 4941, September 2007.
[RFC5156] Blanchet, M., "Special-Use IPv6 Addresses", RFC 5156,
April 2008.
Appendix A. List of Potentially Affected RFCs π§
Implementations of the following RFCs need to be aware of the reserved interface identifier ranges when they allocate new addresses π Future revisions of these RFCs should make sure this is either already clear enough, or that the text gets amended to cover it β¨
- RFC 2590 - Transmission of IPv6 Packets over Frame Relay Networks Specification
- RFC 3315 - Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
- RFC 3972 - Cryptographically Generated Addresses (CGA)
- RFC 4489 - A Method for Generating Link-Scoped IPv6 Multicast Addresses
- RFC 4862 - IPv6 Stateless Address Autoconfiguration
- RFC 4941 - Privacy Extensions for Stateless Address Autoconfiguration in IPv6
- RFC 4982 - Support for Multiple Hash Algorithms in Cryptographically Generated Addresses (CGAs)
- RFC 5072 - IP Version 6 over PPP
Author's Address π
Suresh Krishnan
Ericsson
8400 Decarie Blvd.
Town of Mount Royal, QC
Canada
Phone: +1 514 345 7900 x42871
EMail: suresh.krishnan@ericsson.com
That's the whole spec, bestie! π¦πβ¨
π¦ where this page comes from
- ietf: rfc5453 2009-02
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms