6lo Working Group L. Iannone Internet-Draft D. Lou Intended status: Standards Track Huawei Expires: 11 January 2024 10 July 2023 Generic Address Assignment Option for 6LowPAN Neighbor Discovery draft-iannone-6lo-nd-gaao-00 Abstract This document specifies a mechanism enabling a node to request the allocation of an address or a prefix from neighbor routers. Such mechanism allows to algorithmically assign addresses and prefixes to nodes in a 6LowPAN deployment. 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 11 January 2024. Copyright Notice Copyright (c) 2023 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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Iannone & Lou Expires 11 January 2024 [Page 1] Internet-Draft GAAO July 2023 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 3 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Generic Address Assignment Option . . . . . . . . . . . . . . 5 5. Messages Sequence . . . . . . . . . . . . . . . . . . . . . . 7 6. Signaling GAAO Support . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 7.1. IPv6 ND Option Types . . . . . . . . . . . . . . . . . . 8 7.2. 6LoWPAN Capability Bits . . . . . . . . . . . . . . . . . 9 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 1. Introduction Low Power and Lossy Networks (LLNs) have adapted the design of Internet protocols to more constrained environments, by taking into consideration of energy saving, limited memory capacity and duty cycling of the LLN devices, as well as low-power lossy transmissions. Since the wireless interface is a major energy drain, protocols aiming at being deployed over LLN must be designed in such a way to reduce as much as possible transmissions, allowing to turn off the radio interface or put the node in sleeping mode. IPv6 Neighbor Discovery has been also adapted to the LLN environment in [RFC6775], later updated by [RFC8505], [RFC8929], and [RFC9010]. In particular, address assignment is basically relying on address auto-configuration [RFC4862], since the use of Dynamic Host Configuration Protocol (DHCP [RFC8415]) is not adapted to LLN deployments. Hence, mechanisms to register these self-generated addresses have been designed ([RFC6775], [RFC8505], [I-D.thubert-6lo-prefix-registration], [I-D.ietf-6lo-multicast-registration]). Recent use cases show however, that there is some advantages in assigning addresses algorithmically, which may simplify packet forwarding in some scenarios ([I-D.ietf-6lo-path-aware-semantic-addressing], [SHENOY21], [BLESS22], [RIDOUX05]), hence reducing the power consumption and memory footprint. Each algorithmic address assignment has its own pros and cons, as well as deployment requirements. However, they have the common benefit of being easily distributed. In other words, it is not necessary to have a centralized approach, like DHCP, rather a node can obtain an address generated from one of the neighbors by simply running the algorithm. Iannone & Lou Expires 11 January 2024 [Page 2] Internet-Draft GAAO July 2023 This situation highlights an existing gap that this document tries to fill: 6LowPAN nodes have no means to directly request an address (or address prefix) from their direct neighbors. Currently, either auto- configuration is used, or DHCP has to be deployed. This document proposes a new Neighbor Discovery Option, namely the Generic Address Assignment Option (GAAO), in order for a node to issue an address request to their neighbors. In oder to work properly, as explained later, the GAAO option must be coupled with the Extended Address Registration Option, as defined in [RFC8505] and further extended in [I-D.thubert-6lo-prefix-registration], [I-D.ietf-6lo-multicast-registration]. 2. Requirements Notation The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] and [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Terminology This document assumes familiarity with the terminology defined in [RFC6775] and [RFC8505]. In particular for the following acronyms: 6CIO: Capability Indication Option 6LBR: 6LoWPAN Border Router 6LN: 6LoWPAN Node 6LoWPAN: IPv6 over Low-Power Wireless Personal Area Network 6LR: 6LoWPAN Router ARO: Address Registration Option EARO: Extended Address Registration Option LLN: Low-Power and Lossy Network NA: Neighbor Advertisement ND: Neighbor Discovery NS: Neighbor Solicitation Iannone & Lou Expires 11 January 2024 [Page 3] Internet-Draft GAAO July 2023 RA: Router Advertisement RS: Router Solicitation # Algorithmically Assigned Addresses The IPv6 address assignment model inside a local domain is based on randomly assigned Interface IDentifier (IID), either done in a centralized way using DHCP, which can guarantee no address collision, or by decentralized State-Less Address Auto-Configuration (SLAAC [RFC4862]), which needs additional mechanisms to ensure the uniqueness of addresses. However, there is a third approach for address assignment, which is distributed and collision free: algorithmically generated addresses ([SHENOY21], [BLESS22], [RIDOUX05], [ERIKSSON04]). The main idea is to use a well-known Address Allocation Function (AAF) to assign addresses to nodes joining a network. Each node acquiring an address firstly needs to select a neighbor 6LR by choosing among the nodes that replied with a Router Advertisement (RA) after an initial Router Solicitation (RS), and then ask for an address and confirm its usage. The sequence of actions is depicted in {Fig:AAFSeq} 6LN 6LR | | | 1. Address Request | |------------------------>| | | | 2. Address Offer | |<------------------------| | | | 3. Address Acceptation | |------------------------>| | | | 4. Address Confirmation | |<------------------------| Figure 1: Address/Prefix assignment sequence. Iannone & Lou Expires 11 January 2024 [Page 4] Internet-Draft GAAO July 2023 Steps 3 and 4 of the sequence of actions can be implemented by using the address registration procedure defined in [RFC8505]. Basically it uses an EARO message to register an address, which in this case is not a self-generated address. However, in order to issue the initial request, meaning steps 1 and 2, a new Generic Address Assignment Option (GAAO) is required and proposed, since no existing mechanism can be readily used for this purpose. In the remaining of this document, the format of this option is firstly defined (Section 4), followed by a revised Address/Prefix assignment sequence (Section 5). 4. Generic Address Assignment Option In order for a node to request the assignment of an address or prefix, the Generic Address Assignment Option (GAAO) message is used. The format of the GAAO message is 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Status/PfxLen | Opaque | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R|F| P | I |Rsd| AAF | Assignment Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Address/Prefix | | (128 bits) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Generic Address Assignment Option format. Option Fields: Type: 42 (Suggested) Length: 8-bit unsigned integer. The length of the option in units of 8 bytes. This field is set to 1 when the option is used in NS messages. It is set to 3 when this option is used in NA messages because the assigned address/prefix is appended to the option. Status/PfxLen: 8-bits unsigned integer. It indicates the Prefix Iannone & Lou Expires 11 January 2024 [Page 5] Internet-Draft GAAO July 2023 Length of the assigned address if the assignment is successful. On success, the returned GAAO will have appended to it the assigned address/prefix and in this case the Length field will be set to 3. This field can indicate an error code (See table 1 in [RFC8505] for error codes) if the assignment failed. On failure, the returned GAAO message will not have any address/prefix appended to it. Hence it will have the Length field set to 1, indicating a failure, whose code is indicated in this field. This field MUST be set to 0 in NS messages. Opaque: As defined in [RFC8505]. R (Reserved): This field is unused. It MUST be initialized to 0 by the sender and MUST be ignored by the receiver. F: F-Field as defined in [I-D.thubert-6lo-prefix-registration]. P: P-Field as defined in [I-D.thubert-6lo-prefix-registration] indicating the type of address requested. I: As defined in [RFC8505]. R (Reserved): This field is unused. It MUST be initialized to 0 by the sender and MUST be ignored by the receiver. Address Allocation Function(AAF): 1-byte unsigned integer. Describe the allocation function (AF), i.e. the algorithm, used to assign the address/prefix. 0 is a special value indicating that the field is not used. On request this field can be set to 0 to indicate there is no preference on how the address is assigned. If different from 0 it means that it is requested to use a specific AAF to assign the address/prefix. Assignment Lifetime: 16-bit integer, expressed in minutes. In NS message the field expresses the minimum requested lifetime. In NA messages it expresses the maximum lifetime. Address/Prefix: 128-bits address or prefix returned in a GAAO option in an NA message. This field is not present in GAAO requests in NS messages or in the NA message when an error occurs. Iannone & Lou Expires 11 January 2024 [Page 6] Internet-Draft GAAO July 2023 5. Messages Sequence When a node bootstraps, it typically does multicast a Routing Solicitation (RS) and receives one or more unicast Routing Advertisements (RA) messages from neighbor 6LRs. The node can choose one or more 6LRs from which to request address(es) or prefix(es). A node can perform an address request at any time, not necessarily at boot time. If done at boot time, the request may be appended as option of the first RS message, while responding routers can offer an address in the RA message. The mechanism is completely optional. If the node requests an address, the node will go through the following steps (it is assume that the node already registered a link-local address to the same 6LR): 1. The node will issue a NS message with the GAAO option to request an address assignment. This initial GAAO option has length equal to 1 (no address appended), Status/PfxLength set to 0. Opaque, as well as the F-bit and I-bits will be set according to local configuration. The P-bits is set according to the type of address it is requesting. The AAF is set to zero if no preference for the assignment algorithm. The lifetime field is set to the minimum requested lifetime, or zero otherwise. 2. Assuming no errors occur, the node will receive an NA with a GAAO option of length 3, because of the presence of the address/prefix field. All fields have been copied back except for: * Pfxlen: now indicating the length of the prefix. * AAF: Indicating the Address Allocation Function, i.e., the algorithm, used to assign the address/prefix. If the node is a 6LR it will use the same AAF to generate addresses/prefixes to requesting neighbors nodes. * Assigned lifetime: the maximum lifetime of the assigned address/prefix. 3. In order to confirm the acceptance and usage of the proposed address received in the NA message, the 6LN has to register to the obtained address following the procedures in [RFC8505], [I-D.ietf-6lo-multicast-registration], or [I-D.thubert-6lo-prefix-registration] depending on the type of address. This sequence of actions is also depicted in Figure 3, which update the sequence prposed in Figure 1. Iannone & Lou Expires 11 January 2024 [Page 7] Internet-Draft GAAO July 2023 6LN 6LR | | | NS(GAAO) | |----------->| | | | NA(GAAO) | |<-----------| | | | NS(EARO) | |----------->| | | ... Procedure According to {{RFC8505}}, {{I-D.ietf-6lo-multicast-registration}}, or {{I-D.thubert-6lo-prefix-registration}} depending on the type of address. ... | | | NA(EARO) | |<-----------| Figure 3: Address/Prefix assignment with GAAO message sequence. 6. Signaling GAAO Support A 6LowPAN node that supports this specification MUST set the A flag. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length = 1 | Reserved |A|D|L|B|P|E|G| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: New GAAO Capability Bit in the 6CIO. A: The node supports the Generic Address Assignment Capability. 7. IANA Considerations 7.1. IPv6 ND Option Types IANA is requested to make an addition to the "IPv6 Neighbor Discovery Option Formats" registry under the heading "Internet Control Message Protocol version 6 (ICMPv6) Parameters" as indicated in Table 1: Iannone & Lou Expires 11 January 2024 [Page 8] Internet-Draft GAAO July 2023 +================+===================================+===========+ | Type | Description | Reference | +================+===================================+===========+ | 42 (Suggested) | Generic Address Assignment Option | [This | | | | Document] | +----------------+-----------------------------------+-----------+ Table 1: New Generic Address Assignment Option. 7.2. 6LoWPAN Capability Bits IANA is requested to make an addition to the "6LoWPAN Capability Bits" registry under the heading "Internet Control Message Protocol version 6 (ICMPv6) Parameters" as indicated in Table 2: +================+============================+===========+ | Bit | Description | Reference | +================+============================+===========+ | 16 (Suggested) | Generic Address Assignment | [This | | | Capability (A) Flag | Document] | +----------------+----------------------------+-----------+ Table 2: New 6LoWPAN Capability Bit. 8. Security Considerations A security analysis of the proposed mechanism will be provided in future revisions of the document. 9. References 9.1. Normative References [I-D.ietf-6lo-multicast-registration] Thubert, P., "IPv6 Neighbor Discovery Multicast and Anycast Address Listener Subscription", Work in Progress, Internet-Draft, draft-ietf-6lo-multicast-registration-15, 30 May 2023, . [I-D.thubert-6lo-prefix-registration] Thubert, P., "IPv6 Neighbor Discovery Prefix Registration", Work in Progress, Internet-Draft, draft- thubert-6lo-prefix-registration-03, 26 June 2023, . Iannone & Lou Expires 11 January 2024 [Page 9] Internet-Draft GAAO July 2023 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, DOI 10.17487/RFC4862, September 2007, . [RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C. Bormann, "Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)", RFC 6775, DOI 10.17487/RFC6775, November 2012, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8505] Thubert, P., Ed., Nordmark, E., Chakrabarti, S., and C. Perkins, "Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery", RFC 8505, DOI 10.17487/RFC8505, November 2018, . 9.2. Informative References [BLESS22] Bless, R., Zitterbart, M., Despotovic, Z., and A. Hecker, "KIRA: Distributed Scalable ID-based Routing with Fast Forwarding", 2022 IFIP Networking Conference (IFIP Networking), DOI 10.23919/ifipnetworking55013.2022.9829816, June 2022, . [ERIKSSON04] Eriksson, J., Faloutsos, M., and S. Krishnamurthy, "Scalable ad hoc routing: the case for dynamic addressing", IEEE INFOCOM 2004, DOI 10.1109/infcom.2004.1356997, February 2005, . [I-D.ietf-6lo-path-aware-semantic-addressing] Iannone, L., Li, G., Lou, Z., Liu, P., Long, R., Makhijani, K., and P. Thubert, "Path-Aware Semantic Addressing (PASA) for Low power and Lossy Networks", Work in Progress, Internet-Draft, draft-ietf-6lo-path-aware- Iannone & Lou Expires 11 January 2024 [Page 10] Internet-Draft GAAO July 2023 semantic-addressing-02, 10 July 2023, . [RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., Richardson, M., Jiang, S., Lemon, T., and T. Winters, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 8415, DOI 10.17487/RFC8415, November 2018, . [RFC8929] Thubert, P., Ed., Perkins, C.E., and E. Levy-Abegnoli, "IPv6 Backbone Router", RFC 8929, DOI 10.17487/RFC8929, November 2020, . [RFC9010] Thubert, P., Ed. and M. Richardson, "Routing for RPL (Routing Protocol for Low-Power and Lossy Networks) Leaves", RFC 9010, DOI 10.17487/RFC9010, April 2021, . [RIDOUX05] Ridoux, J., Fladenmuller, A., Viniotis, Y., and K. Salamatian, "Trellis-Based Virtual Regular Addressing Structures in Self-organized Networks", NETWORKING 2005. Networking Technologies, Services, and Protocols; Performance of Computer and Communication Networks; Mobile and Wireless Communications Systems pp. 511-522, DOI 10.1007/11422778_41, 2005, . [SHENOY21] Shenoy, N., Chandraiah, S., and P. Willis, "A Structured Approach to Routing in the Internet", 2021 IEEE 22nd International Conference on High Performance Switching and Routing (HPSR), DOI 10.1109/hpsr52026.2021.9481818, June 2021, . Authors' Addresses Luigi Iannone Huawei Technologies France S.A.S.U. 18, Quai du Point du Jour 92100 Boulogne-Billancourt France Email: luigi.iannone@huawei.com Iannone & Lou Expires 11 January 2024 [Page 11] Internet-Draft GAAO July 2023 David Lou Huawei Technologies Duesseldorf GmbH Riesstrasse 25 80992 Munich Germany Email: zhe.lou@huawei.com Iannone & Lou Expires 11 January 2024 [Page 12]