Network Working Group F. Templin, Ed. Internet-Draft The Boeing Company Intended status: Standards Track November 23, 2020 Expires: May 27, 2021 The IPv6 Link-Local Address Type Field draft-templin-6man-lla-type-02 Abstract IPv6 link-local addresses are formed from the prefix fe80::/10 which is followed by 54 "zero" bits, then followed by a 64-bit Interface Identifier. There are multiple methods for generating link-local addresses, and multiple may be in use by nodes on the same link (and sometimes even the same interface) at the same time. This document defines an IPv6 link-local address "Type" field that identifies the type of link-local address being used. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on May 27, 2021. Copyright Notice Copyright (c) 2020 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 (https://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 Templin Expires May 27, 2021 [Page 1] Internet-Draft IPv6 Link-Local Address Type Field November 2020 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. The IPv6 Link-Local Address Type Field . . . . . . . . . . . 3 4. LLA-Based Prefix Delegation (PD) . . . . . . . . . . . . . . 4 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 8.1. Normative References . . . . . . . . . . . . . . . . . . 6 8.2. Informative References . . . . . . . . . . . . . . . . . 6 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction The IPv6 link-local address (LLA) prefix is defined in [RFC4291] as the prefix fe80::/10 followed by 54 "zero" bits, then followed by a 64-bit interface identifier. There are multiple methods for generating LLAs, and multiple may be in use on the same link (and sometimes even the same interface) at the same time. For example, [I-D.ietf-6man-rfc4941bis], [RFC7217], [RFC4291], [RFC3972], [I-D.templin-6man-omni-interface] and possibly others define diverse methods for generating interface identifiers for constructing LLAs on a given interface. Administrative configuration (e.g., manually setting the interface ID) is also an option available to all interfaces. IPv6 multi-addressing allows each interface to assign multiple IPv6 addresses, and even multiple IPv6 LLAs. On some interfaces, it may even be the case that multiple LLAs of different types would be configured at the same time. But, since the diverse methods for generating interface identifiers are not coordinated with one another, some interfaces may need a way to differentiate the types of LLAs as well as to avoid collisions and duplication. This document defines a Type field in the LLA prefix for differentiating LLA construction types. The Type field also has a companion Function field which can be used to perform Type-specific functions such as Prefix Delegation (PD). This document updates [RFC4291]. Templin Expires May 27, 2021 [Page 2] Internet-Draft IPv6 Link-Local Address Type Field November 2020 2. Terminology The terminology in the normative references applies. 3. The IPv6 Link-Local Address Type Field [RFC4291] defines the IPv6 LLA format as the prefix fe80::/10, followed by 54 zero bits, then followed by a 64-bit Interface Identifier as shown in Figure 1: | 10 | | bits | 54 bits | 64 bits | +----------+-------------------------+----------------------------+ |1111111010| 0 | interface ID | +----------+-------------------------+----------------------------+ Figure 1: IPv6 Link-Local Address Format In this format, there is currently no use for the 54 bits of 0s, and existing IPv6-over-(foo) documents such as [RFC2464] expect them always to be zero regardless of the method used in generating the Interface ID. However, new IPv6-over-(foo) documents could benefit from having a coded indication of the LLA construction type. This would not only allow the interface to differentiate between the LLA autoconfiguration methods used by the sender in packets received with LLAs, but it would also provide a means for avoiding address duplication between diverse address autoconfiguration methods used on the same link. This document defines a new Type field in the IPv6 LLA prefix. The Type field and a companion Function field occupy the least significant 16 bits of the prefix fe80::/64 as shown in Figure 2: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1|1|1|1|1|1|1|0|1|0| zeros (22 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | zeros (16 bits) | Function | Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: IPv6 LLA Prefix with Type and Function Fields In this format, Type is an 8-bit field that identifies the LLA type on IPv6-over-(foo) interfaces that recognize the field, and Function Templin Expires May 27, 2021 [Page 3] Internet-Draft IPv6 Link-Local Address Type Field November 2020 is an 8-bit Type-specific field. The values for Type that are currently defined are: Link-Local Format Type ***************** **** Unspecified (default) 0 Administratively Configured 1 RFC4941bis 2 RFC7217 3 RFC4291 4 RFC3972 5 OMNI 6 Figure 3 For example, on IPv6-over-(foo) interface types that recognize the Type field, an IPv6 link-local address formed according to [RFC7217] would be written as: fe80:0:0:3::[Interface ID], while one formed according to [RFC3972] would be written as: fe80:0:0:5::[Interface ID]. For some link types, it is possible that multiple types would be assigned on the same link and possibly even on the same interface. Note that for existing IPv6-over-(foo) link types, the Type and Function fields are always set to the value 0 (unspecified) and the link local address format fe80::/64 still applies as it always has. 4. LLA-Based Prefix Delegation (PD) Prefix Delegation (PD) concerns a Requesting Router (RR) requesting an IPv6 PD from a Delegating Router (DR) on the same link. The Type and Function extensions of the LLA are used to drive the PD process as discussed below. RRs autoconfigure a Type '2' "Temporary" LLA according to [I-D.ietf-6man-rfc4941bis] and set the Function field to a prefix length value between 1 and 64 to indicate the length of PD that is being requested (if a PD is not requested, the RR instead sets the Function field to the value 0). The RR then uses the LLA as the IPv6 source address of a Router Solicitation (RS) message used to request a PD. When the DR receives the RS message, it coordinates with the PD service to receive an IPv6 prefix delegation. The DR then autoconfigures a 'Type 6' "OMNI" LLA according to [I-D.templin-6man-omni-interface], where the delegated prefix is encoded in the interface identifier of the LLA. For example, if the delegated prefix is 2001:db8:1:2::/NN, the DR writes the LLA as fe80::2001:db8:1:2, then sets the Type field to the value '6' and the Templin Expires May 27, 2021 [Page 4] Internet-Draft IPv6 Link-Local Address Type Field November 2020 Function field to the value 'NN' as fe80:0:0:NN06:2001:db8:1:2. The DR then sets the LLA as the destination address of a Router Advertisement (RA) message, and sends the RA message back to the RR. When the RR receives the RA message, it both derives the delegated prefix from the LLA destination address and assigns the LLA to the receiving interface. The RR can then distribute the delegated prefix to its downstream-attached networks. Note that if the RR knows in advance its own OMNI LLA (for example, if the OMNI LLA were administratively configured a priori) it can send an RS message with the OMNI LLA as the source address in its first exchange with the DR. If the DR is able to confirm that the RR is authorized to use its claimed OMNI LLA, it sends an RA message back to the RR with the same OMNI LLA as the IPv6 destination address. 5. IANA Considerations This document defines a Type field for IPv6 link-local addresses, for which IANA is instructed to create and maintain a new registry entitled "IPv6 Link-Local Address Type values". Initial values are given below; future assignments are to be made through Expert Review [RFC8126]: Link-Local Format Type ***************** **** Unspecified (default) 0 Administratively Configured 1 RFC4941bis 2 RFC7217 3 RFC4291 4 RFC3972 5 OMNI 6 Figure 4: IANA IPv6 Link-Local Address Type Registry 6. Security Considerations Security considerations for IPv6 [RFC8200] apply. 7. Acknowledgements This document is aligned with the IETF 6man (IPv6) working group. . Templin Expires May 27, 2021 [Page 5] Internet-Draft IPv6 Link-Local Address Type Field November 2020 8. References 8.1. Normative References [I-D.ietf-6man-rfc4941bis] Gont, F., Krishnan, S., Narten, T., and R. Draves, "Temporary Address Extensions for Stateless Address Autoconfiguration in IPv6", draft-ietf-6man-rfc4941bis-12 (work in progress), November 2020. [I-D.templin-6man-omni-interface] Templin, F. and T. Whyman, "Transmission of IP Packets over Overlay Multilink Network (OMNI) Interfaces", draft- templin-6man-omni-interface-50 (work in progress), October 2020. [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", RFC 3972, DOI 10.17487/RFC3972, March 2005, . [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, DOI 10.17487/RFC4291, February 2006, . [RFC7217] Gont, F., "A Method for Generating Semantically Opaque Interface Identifiers with IPv6 Stateless Address Autoconfiguration (SLAAC)", RFC 7217, DOI 10.17487/RFC7217, April 2014, . [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017, . [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, July 2017, . 8.2. Informative References [RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet Networks", RFC 2464, DOI 10.17487/RFC2464, December 1998, . Templin Expires May 27, 2021 [Page 6] Internet-Draft IPv6 Link-Local Address Type Field November 2020 Author's Address Fred L. Templin (editor) The Boeing Company P.O. Box 3707 Seattle, WA 98124 USA Email: fltemplin@acm.org Templin Expires May 27, 2021 [Page 7]