| rfc9926.original | rfc9926.txt | |||
|---|---|---|---|---|
| 6lo P. Thubert, Ed. | Internet Engineering Task Force (IETF) P. Thubert, Ed. | |||
| Internet-Draft 20 August 2025 | Request for Comments: 9926 January 2026 | |||
| Updates: 4861, 6550, 8505, 8928, 9010 (if | Updates: 4861, 6550, 8505, 8928, 9010 | |||
| approved) | Category: Standards Track | |||
| Intended status: Standards Track | ISSN: 2070-1721 | |||
| Expires: 21 February 2026 | ||||
| IPv6 Neighbor Discovery Prefix Registration | IPv6 Neighbor Discovery Prefix Registration | |||
| draft-ietf-6lo-prefix-registration-18 | ||||
| Abstract | Abstract | |||
| This document updates IPv6 Neighbor Discovery (RFC 4861) and IPv6 | This document updates IPv6 Neighbor Discovery (RFC 4861) and IPv6 | |||
| Subnet Neighbor Discovery (RFC 8505, RFC 8928) to enable a node that | Subnet Neighbor Discovery (RFC 8505, RFC 8928) to enable a node that | |||
| owns or is directly connected to a prefix to register that prefix to | owns or is directly connected to a prefix to register that prefix to | |||
| neighbor routers. The registration indicates that the registered | neighbor routers. The registration indicates that the registered | |||
| prefix can be reached via the advertising node without a loop. The | prefix can be reached via the advertising node without a loop. The | |||
| unicast prefix registration allows the node to request neighbor | unicast prefix registration allows the node to request one or more | |||
| router(s) to redistribute the prefix in another routing domain | neighbor routers to redistribute the prefix in another routing domain | |||
| regardless of the routing protocol used in that domain. This | regardless of the routing protocol used in that domain. This | |||
| document updates Routing Protocol for Low-Power and Lossy Networks | document updates the Routing Protocol for Low-Power and Lossy | |||
| (RPL) (RFC 6550, RFC 9010) to enable a 6LoWPAN Router (6LR) to inject | Networks (RPL), as specified in RFCs 6550 and 9010, to enable a | |||
| the registered prefix in RPL. | 6LoWPAN Router (6LR) to inject the registered prefix in RPL. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
| 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 | This document is a product of the Internet Engineering Task Force | |||
| and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
| time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
| material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on 21 February 2026. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9926. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2025 IETF Trust and the persons identified as the | Copyright (c) 2026 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
| described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
| provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
| in the Revised BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Terminology | |||
| 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 | 2.1. Requirements Language | |||
| 2.2. Inherited Terms and Concepts . . . . . . . . . . . . . . 5 | 2.2. Inherited Terms and Concepts | |||
| 2.3. Acronyms and Initialisms . . . . . . . . . . . . . . . . 6 | 2.3. Acronyms and Initialisms | |||
| 2.4. New terms . . . . . . . . . . . . . . . . . . . . . . . . 7 | 2.4. New Terms | |||
| 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3. Overview | |||
| 4. Updating RFC 4861 . . . . . . . . . . . . . . . . . . . . . . 8 | 4. Updating RFC 4861 | |||
| 5. Updating RFC 7400 . . . . . . . . . . . . . . . . . . . . . . 9 | 5. Updating RFC 7400 | |||
| 6. Updating RFC 6550 . . . . . . . . . . . . . . . . . . . . . . 10 | 6. Updating RFC 6550 | |||
| 7. Updating RFC 8505 . . . . . . . . . . . . . . . . . . . . . . 11 | 7. Updating RFC 8505 | |||
| 7.1. New P-Field value . . . . . . . . . . . . . . . . . . . . 11 | 7.1. New P-Field Value | |||
| 7.2. New EARO Prefix Length Field and F flag . . . . . . . . . 11 | 7.2. New EARO Prefix Length Field and F flag | |||
| 7.3. New EDAR Prefix Length Field . . . . . . . . . . . . . . 13 | 7.3. New EDAR Prefix Length Field | |||
| 7.4. Updating the Registration Operation . . . . . . . . . . . 15 | 7.4. Updating the Registration Operation | |||
| 8. Updating RFC 9010 . . . . . . . . . . . . . . . . . . . . . . 18 | 8. Updating RFC 9010 | |||
| 9. Updating RFC 8928 . . . . . . . . . . . . . . . . . . . . . . 18 | 9. Updating RFC 8928 | |||
| 10. Updating RFC 8929 . . . . . . . . . . . . . . . . . . . . . . 19 | 10. Updating RFC 8929 | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | 11. Security Considerations | |||
| 12. Operational Considerations . . . . . . . . . . . . . . . . . 20 | 12. Operational Considerations | |||
| 12.1. Partially Upgraded Networks . . . . . . . . . . . . . . 20 | 12.1. Partially Upgraded Networks | |||
| 12.2. Application to RPL-Based Route-Over LLNs . . . . . . . . 20 | 12.2. Application to RPL-Based Route-Over LLNs | |||
| 12.3. Application to a Shared Link . . . . . . . . . . . . . . 22 | 12.3. Application to a Shared Link | |||
| 12.4. Application to a Hub Link with Stub Spokes . . . . . . . 23 | 12.4. Application to a Hub Link with Stub Spokes | |||
| 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | 13. IANA Considerations | |||
| 13.1. Updated P-Field Registry . . . . . . . . . . . . . . . . 24 | 13.1. Updated P-Field Registry | |||
| 13.2. New 6LoWPAN Capability Bit . . . . . . . . . . . . . . . 24 | 13.2. New 6LoWPAN Capability Bit | |||
| 14. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 | 14. Normative References | |||
| 15. Normative References . . . . . . . . . . . . . . . . . . . . 25 | 15. Informative References | |||
| 16. Informative References . . . . . . . . . . . . . . . . . . . 27 | Acknowledgments | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 28 | Author's Address | |||
| 1. Introduction | 1. Introduction | |||
| The design of Low Power and Lossy Networks (LLNs) is generally | The design of Low Power and Lossy Networks (LLNs) is generally | |||
| focused on saving energy, which is the most constrained resource of | focused on saving energy, which is the most constrained resource of | |||
| all. Other design constraints, such as a limited memory capacity, | all. Other design constraints, such as a limited memory capacity, | |||
| duty cycling of the LLN devices and low-power lossy transmissions, | duty cycling of the LLN devices, and low-power lossy transmissions, | |||
| derive from that primary concern. The radio (both transmitting or | derive from that primary concern. The radio (both transmitting or | |||
| simply listening) is a major energy drain and the LLN protocols must | simply listening) is a major energy drain, and the LLN protocols must | |||
| be adapted to allow the nodes to remain sleeping with the radio | be adapted to allow the nodes to remain sleeping with the radio | |||
| turned off at most times. | turned off at most times. | |||
| Examples of LLNs include hub-and-spoke access links such as (Low- | Examples of LLNs include hub-and-spoke access links such as (Low- | |||
| Power) Wi-Fi [IEEE80211] and Bluetooth (Low Energy) [IEEE802151], | Power) Wi-Fi [IEEE80211] and Bluetooth (Low Energy) [IEEE802151], | |||
| Mesh-Under networks where the routing operation is handled at Layer- | Mesh-Under networks where the routing operation is handled at Layer 2 | |||
| 2, and Route-Over networks such as the Wi-SUN [WI-SUN] and 6TiSCH | (L2), and route-over networks such as the Wi-SUN [WI-SUN] and 6TiSCH | |||
| [RFC9030] mesh networks, which leverage 6LoWPAN [RFC4919][RFC6282] | [RFC9030] mesh networks, which leverage 6LoWPAN [RFC4919] [RFC6282] | |||
| and RPL [RFC6550] over [IEEE802154]. | and RPL [RFC6550] over [IEEE802154]. | |||
| LLNs and constrained devices are the original domain of application | LLNs and constrained devices are the original domain of application | |||
| for 6LoWPAN protocols. It is thus a foremost concern, when designing | for 6LoWPAN protocols. It is thus a foremost concern, when designing | |||
| those protocols, to minimize energy spendings. In non-LLN | those protocols, to minimize energy spendings. In non-LLN | |||
| environments where lowering carbon emissions is also a priority, it | environments where lowering carbon emissions is also a priority, it | |||
| could make sense to apply the 6LoWPAN designs and extend some of the | could make sense to apply the 6LoWPAN designs and extend some of the | |||
| 6LoWPAN protocols. The general design points include: | 6LoWPAN protocols. The general design points include: | |||
| * Placing the protocol complexity in the less-constrained routers to | * Placing the protocol complexity in the less-constrained routers to | |||
| simplify the host implementation and avoid expanding the control | simplify the host implementation and avoid expanding the control | |||
| traffic to all nodes. | traffic to all nodes. | |||
| * Using host-triggered operations to enable transient disconnections | * Using host-triggered operations to enable transient disconnections | |||
| with the routers, e.g., to conserve power (sleep), but also to | with the routers, e.g., to conserve power (sleep), but also to | |||
| cope with inconsistent connectivity. | cope with inconsistent connectivity. | |||
| This translates into: | This translates into: | |||
| * Stateful proactively-built knowledge in the routers that is | * Stateful proactively built knowledge in the routers that is | |||
| available at any point of time. | available at any point of time. | |||
| * Unicast host to router operations triggered by the host and its | * Unicast host-to-router operations triggered by the host and its | |||
| applications. | applications. | |||
| * Minimal use of asynchronous L2-broadcast operations that would | * Minimal use of asynchronous L2 broadcast operations that would | |||
| keep the host awake and listening with no application-level need | keep the host awake and listening with no application-level need | |||
| to do so. | to do so. | |||
| The "Routing Protocol for Low Power and Lossy Networks" [RFC6550] | "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks" | |||
| (RPL) provides IPv6 [RFC8200] routing services within such | [RFC6550] provides IPv6 [RFC8200] routing services within such | |||
| constraints. To save signaling and routing state in constrained | constraints. To save signaling and routing state in constrained | |||
| networks, the RPL routing is only performed along a Destination- | networks, the RPL routing is only performed along a Destination- | |||
| Oriented Directed Acyclic Graph (DODAG) that is optimized to reach a | Oriented Directed Acyclic Graph (DODAG) that is optimized to reach a | |||
| Root node, as opposed to along the shortest path between 2 peers, | Root node, as opposed to along the shortest path between two peers, | |||
| whatever that would mean in each LLN. | whatever that would mean in each LLN. | |||
| The classical Neighbor Discovery (IPv6 ND) Protocol (NDP) [RFC4861] | The classical Neighbor Discovery Protocol (NDP) [RFC4861] [RFC4862] | |||
| [RFC4862] was defined for serial links and shared transit media such | was defined for serial links and shared transit media such as | |||
| as Ethernet at a time when L2-broadcast was cheap on those media | Ethernet at a time when L2 broadcast was cheap on those media, while | |||
| while memory for neighbor cache was expensive. It was thus designed | memory for neighbor cache was expensive. It was thus designed as a | |||
| as a reactive protocol that relies on caching and multicast | reactive protocol that relies on caching and multicast operations for | |||
| operations for the Address Resolution (AR, aka Address Discovery or | the Address Resolution (AR) (aka Address Discovery or Address Lookup) | |||
| Address Lookup) and Duplicate Address Detection (DAD) of IPv6 unicast | and Duplicate Address Detection (DAD) of IPv6 unicast addresses. | |||
| addresses. Those multicast operations typically impact every node | Those multicast operations typically impact every node on-link when | |||
| on-link when at most one is really targeted, which is a waste of | at most one is really targeted, which is a waste of energy, and imply | |||
| energy, and imply that all nodes are awake to hear the request, which | that all nodes are awake to hear the request, which is inconsistent | |||
| is inconsistent with power saving (sleeping) modes. | with power-saving (sleeping) modes. | |||
| The "Architecture and Framework for IPv6 over Non-Broadcast Access" | "Architecture and Framework for IPv6 over Non-Broadcast Access" | |||
| (NBMA) [I-D.ietf-6man-ipv6-over-wireless] introduces an evolution of | [IPv6-over-NBMA] introduces an evolution of IPv6 ND towards a | |||
| IPv6 ND towards a proactive AR method. Because the IPv6 model for | proactive AR method. Because the IPv6 model for NBMA depends on a | |||
| NBMA depends on a routing protocol to reach inside the Subnet, the | routing protocol to reach inside the Subnet, the IPv6 ND extension | |||
| IPv6 ND extension for NBMA is referred to as Subnet Neighbor | for NBMA is referred to as Subnet Neighbor Discovery (SND). SND is | |||
| Discovery (SND). SND is based on work done in the context of IoT, | based on work done in the context of Internet of Things (IoT), known | |||
| known as 6LoWPAN ND. As opposed to the classical IPv6 ND Protocol, | as 6LoWPAN ND. As opposed to the classical IPv6 ND protocol, this | |||
| this evolution follows the energy conservation principles discussed | evolution follows the energy conservation principles discussed above: | |||
| above: | ||||
| * The original 6LoWPAN ND, "Neighbor Discovery Optimizations for | * The original 6LoWPAN ND, "Neighbor Discovery Optimization for IPv6 | |||
| 6LoWPAN networks" [RFC6775], was introduced to avoid the excessive | over Low-Power Wireless Personal Area Networks (6LoWPANs)" | |||
| use of multicast messages and enable IPv6 ND for operations over | [RFC6775], was introduced to avoid the excessive use of multicast | |||
| energy-constrained nodes. [RFC6775] changes the classical IPv6 ND | messages and enable IPv6 ND for operations over energy-constrained | |||
| model to proactively establish the Neighbor Cache Entry (NCE) | nodes. [RFC6775] changes the classical IPv6 ND model to | |||
| associated to the unicast address of a 6LoWPAN Node (6LN) in the | proactively establish the Neighbor Cache Entry (NCE) associated to | |||
| 6LoWPAN Router(s) (6LRs) that serve it. To that effect, [RFC6775] | the unicast address of a 6LoWPAN Node (6LN) in the one or more | |||
| 6LoWPAN Routers (6LRs) that serve it. To that effect, [RFC6775] | ||||
| defines a new Address Registration Option (ARO) that is placed in | defines a new Address Registration Option (ARO) that is placed in | |||
| unicast Neighbor Solicitation (NS) and Neighbor Advertisement (NA) | unicast Neighbor Solicitation (NS) and Neighbor Advertisement (NA) | |||
| messages between the 6LN and the 6LRs. | messages between the 6LN and the 6LRs. | |||
| * "Registration Extensions for 6LoWPAN Neighbor Discovery" [RFC8505] | * "Registration Extensions for IPv6 over Low-Power Wireless Personal | |||
| updates [RFC6775] into a generic Address Registration mechanism | Area Network (6LoWPAN) Neighbor Discovery>" [RFC8505] updates | |||
| and is the foundation for Subnet Neighbor Discovery (SND). SND | [RFC6775] into a generic Address Registration mechanism and is the | |||
| introduces the Extended Address Registration Option (EARO) to | foundation for Subnet Neighbor Discovery (SND). SND introduces | |||
| enable the registering node to access services such as routing | the Extended Address Registration Option (EARO) to enable the | |||
| inside a subnet and ND proxy [RFC8929] operations. This provides | registering node to access services such as routing inside a | |||
| a routing-protocol-agnostic method for a host to request that the | subnet and ND proxy operations [RFC8929]. This provides a | |||
| router injects a unicast IPv6 address in the local routing | routing-protocol-agnostic method for a host to request that the | |||
| protocol and provide return reachability for that address. | router inject a unicast IPv6 address in the local routing protocol | |||
| and provide return reachability for that address. | ||||
| * "IPv6 Neighbor Discovery Multicast Address Listener Subscription" | * "Listener Subscription for IPv6 Neighbor Discovery Multicast and | |||
| [RFC9685] updates [RFC8505] to enable a listener to subscribe to | Anycast Addresses" [RFC9685] updates [RFC8505] to enable a | |||
| an IPv6 anycast or multicast address; the draft also updates | listener to subscribe to an IPv6 anycast or multicast address; the | |||
| [RFC9010] to enable a 6LR to inject the anycast and multicast | document also updates [RFC9010] to enable a 6LR to inject the | |||
| addresses in RPL. Similarly, this specification updates [RFC8505] | anycast and multicast addresses in RPL. Similarly, this | |||
| and [RFC9010] to add the capability for a 6LN to register unicast | specification updates [RFC8505] and [RFC9010] to add the | |||
| prefixes up to 120 bits long, as opposed to addresses, and to | capability for a 6LN to register unicast prefixes up to 120 bits | |||
| signal in a routing-protocol-independent fashion to a 6LR that it | long, as opposed to addresses, and to signal in a routing- | |||
| is expected to redistribute the prefixes. | protocol-independent fashion to a 6LR that it is expected to | |||
| redistribute the prefixes. | ||||
| This specification updates the above registration and subscription | This specification updates the above registration and subscription | |||
| methods to enable a node to register a unicast prefix to the routing | methods to enable a node to register a unicast prefix to the routing | |||
| system and get it injected in the routing protocol. As with | system and get it injected in the routing protocol. As with | |||
| [RFC8505], the prefix registration is agnostic to the routing | [RFC8505], the prefix registration is agnostic to the routing | |||
| protocol in which the router injects the prefix, and the router is | protocol in which the router injects the prefix, and the router is | |||
| agnostic to the method that was used to allocate the prefix to the | agnostic to the method that was used to allocate the prefix to the | |||
| node. The energy conservation principles in [RFC8505] are retained | node. The energy conservation principles in [RFC8505] are retained | |||
| as well, meaning that the node does not have to send or expect | as well, meaning that the node does not have to send or expect | |||
| asynchronous multicast messages. | asynchronous multicast messages. | |||
| skipping to change at page 5, line 45 ¶ | skipping to change at line 225 ¶ | |||
| trusted for a safe injection in the routing protocol for the lack of | trusted for a safe injection in the routing protocol for the lack of | |||
| the equivalent of the Registration Ownership Verifier (ROVR) | the equivalent of the Registration Ownership Verifier (ROVR) | |||
| [RFC8928] in the EARO. | [RFC8928] in the EARO. | |||
| 2. Terminology | 2. Terminology | |||
| 2.1. Requirements Language | 2.1. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 2.2. Inherited Terms and Concepts | 2.2. Inherited Terms and Concepts | |||
| This document uses terms and concepts that are discussed in: | This document uses terms and concepts that are discussed in: | |||
| * "Neighbor Discovery for IP version 6" [RFC4861] and | * "TLS User Mapping Extension" [RFC4861] and | |||
| * "IPv6 Stateless Address Autoconfiguration" [RFC4862] for the | * "IPv6 Stateless Address Autoconfiguration" [RFC4862] for the | |||
| Neighbor Solicitation operation, | Neighbor Solicitation operation, | |||
| * Neighbor Discovery Optimization for IPv6 over Low-Power Wireless | * "Neighbor Discovery Optimization for IPv6 over Low-Power Wireless | |||
| Personal Area Networks (6LoWPANs) [RFC6775], as well as | Personal Area Networks (6LoWPANs)" [RFC6775], as well as | |||
| * "Registration Extensions for 6LoWPAN Neighbor Discovery" for SND | * "Registration Extensions for IPv6 over Low-Power Wireless Personal | |||
| operations [RFC8505] and | Area Network (6LoWPAN) Neighbor Discovery" [RFC8505], and | |||
| * "Routing Protocol for Low Power and Lossy Networks" [RFC6550] for | * "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks" | |||
| RPL, which is the routing protocol used in LLNs for SND. | [RFC6550] for RPL, which is the routing protocol used in LLNs for | |||
| SND. | ||||
| 2.3. Acronyms and Initialisms | 2.3. Acronyms and Initialisms | |||
| This document uses the following abbreviations: | This document uses the following abbreviations: | |||
| *6CIO:* 6LoWPAN Capability Indication Option [RFC7400] | *6CIO:* 6LoWPAN Capability Indication Option [RFC7400] | |||
| *6LBR:* 6LoWPAN Border Router [RFC6775] | *6LBR:* 6LoWPAN Border Router [RFC6775] | |||
| *6LN:* 6LoWPAN Node [RFC6775] | *6LN:* 6LoWPAN Node [RFC6775] | |||
| *6LR:* 6LoWPAN Router [RFC6775] | *6LR:* 6LoWPAN Router [RFC6775] | |||
| *ARO:* Address Registration Option [RFC6775] | *ARO:* Address Registration Option [RFC6775] | |||
| *DAD:* Duplicate Address Detection [RFC4861] | *DAD:* Duplicate Address Detection [RFC4861] | |||
| *DAO:* Destination Advertisement Object [RFC6550] | *DAO:* Destination Advertisement Object [RFC6550] | |||
| *DODAG:* Destination-Oriented Directed Acyclic Graph | *DODAG:* Destination-Oriented Directed Acyclic Graph | |||
| *EARO:* Extended Address Registration Option [RFC8505] | *EARO:* Extended Address Registration Option [RFC8505] | |||
| *EDAC:* Extended Duplicate Address Confirmation [RFC8505] | *EDAC:* Extended Duplicate Address Confirmation [RFC8505] | |||
| *EDAR:* Extended Duplicate Address Request [RFC8505] | *EDAR:* Extended Duplicate Address Request [RFC8505] | |||
| *ESS:* Extended Service Set [IEEE80211] | *ESS:* Extended Service Set [IEEE80211] | |||
| *IPAM:* IP Address Management | *IPAM:* IP Address Management | |||
| *LLN:* Low-Power and Lossy Network | *LLN:* Low-Power and Lossy Network | |||
| *LLA:* Link Layer Address | *LLA:* Link-Layer Address | |||
| *LoWPAN:* Low-Rate Personal Area Network [IEEE802154] | *LoWPAN:* Low-Power Wireless Personal Area Network [IEEE802154] | |||
| *MAC:* Medium Access Control | *MAC:* Medium Access Control | |||
| *NA:* Neighbor Advertisement (message) [RFC4861] | *NA:* Neighbor Advertisement (message) [RFC4861] | |||
| *NBMA:* Non-Broadcast Multi-Access (full mesh) | *NBMA:* Non-Broadcast Multi-Access (full mesh) | |||
| *NCE:* Neighbor Cache Entry [RFC4861] | *NCE:* Neighbor Cache Entry [RFC4861] | |||
| *ND:* Neighbor Discovery (protocol) | *ND:* Neighbor Discovery (protocol) | |||
| *NDP:* Neighbor Discovery Protocol | *NDP:* Neighbor Discovery Protocol | |||
| *NS:* Neighbor Solicitation (message) [RFC4861] | *NS:* Neighbor Solicitation (message) [RFC4861] | |||
| *ROVR:* Registration Ownership Verifier (pronounced "rover") | *ROVR:* Registration Ownership Verifier (pronounced "rover") | |||
| [RFC8505] | [RFC8505] | |||
| *RPL:* IPv6 Routing Protocol for LLNs (pronounced "ripple") | *RPL:* IPv6 Routing Protocol for LLNs (pronounced "ripple") | |||
| [RFC6550] | [RFC6550] | |||
| *RA:* Router Advertisement (message) [RFC4861] | *RA:* Router Advertisement (message) [RFC4861] | |||
| *RS:* Router Solicitation (message) [RFC4861] | *RS:* Router Solicitation (message) [RFC4861] | |||
| *RTO:* RPL Target Option [RFC6550] | *RTO:* RPL Target Option [RFC6550] | |||
| *SLLAO:* Source Link-Layer Address Option [RFC4861] | *SLLAO:* Source Link-Layer Address Option [RFC4861] | |||
| *SND:* Subnet Neighbor Discovery (protocol) | *SND:* Subnet Neighbor Discovery (protocol) | |||
| *TID:* Transaction ID [RFC8505] | *TID:* Transaction ID [RFC8505] | |||
| *TIO:* Transit Information Option [RFC6550] | *TIO:* Transit Information Option [RFC6550] | |||
| *TLLAO:* Target Link-Layer Address Option [RFC4861] | *TLLAO:* Target Link-Layer Address Option [RFC4861] | |||
| 2.4. New terms | 2.4. New Terms | |||
| This document introduces the following terms: | This document introduces the following terms: | |||
| *Origin:* The node that issued the prefix advertisement, either in | *Origin:* The node that issued the prefix advertisement, either in | |||
| the form of a NS(EARO) or as a DAO(TIO, RTO) | the form of a NS(EARO) or as a DAO(TIO, RTO) | |||
| *Merge:* The action of receiving multiple anycast or multicast | *Merge:* The action of receiving multiple anycast or multicast | |||
| advertisements, either internally from self, in the form of a | advertisements, either internally from self, in the form of a | |||
| NS(EARO), or as a DAO(TIO, RTO), and generating a single | NS(EARO), or as a DAO(TIO, RTO), and generating a single | |||
| DAO(TIO, RTO). The 6RPL router maintains a state per origin | DAO(TIO, RTO). The 6RPL router maintains a state per origin | |||
| for each advertised address, and merges the advertisements for | for each advertised address, and merges the advertisements for | |||
| skipping to change at page 7, line 33 ¶ | skipping to change at line 311 ¶ | |||
| origin of the merged advertisement and uses its own values for | origin of the merged advertisement and uses its own values for | |||
| the Path Sequence and ROVR fields. | the Path Sequence and ROVR fields. | |||
| 3. Overview | 3. Overview | |||
| This specification inherits from [RFC6550], [RFC8505], and [RFC9010] | This specification inherits from [RFC6550], [RFC8505], and [RFC9010] | |||
| to register prefixes as opposed to addresses. | to register prefixes as opposed to addresses. | |||
| An SND deployment consists of: | An SND deployment consists of: | |||
| * One or more 6LBR(s) that act(s) as RPL Root | * one or more 6LBRs that act as RPL Root, | |||
| * intermediate routers down the RPL graph that propagate routing | * intermediate routers down the RPL graph that propagate routing | |||
| information on addresses and prefixes towards the Root | information on addresses and prefixes towards the Root, | |||
| * 6LRs that are RPL-aware 6LNs and can leverage RPL directly to | * 6LRs that are RPL-aware 6LNs and can leverage RPL directly to | |||
| expose their addresses and prefixes | expose their addresses and prefixes, and | |||
| * and 6LNs that are the RPL-unaware destinations and need SND to | * 6LNs that are the RPL-unaware destinations and need SND to obtain | |||
| obtain reachability tover the RPL LLN for their addresses and, | reachability over the RPL LLN for their addresses and, with this | |||
| with this specification, their prefixes as well. | specification, their prefixes as well. | |||
| The SND operation for prefixes inherits from that for unicast | The SND operation for prefixes inherits from that for unicast | |||
| addresses, meaning that it is the same unless specified otherwise | addresses, meaning that it is the same unless specified otherwise | |||
| herein. In particular, forwarding a packet happens as specified in | herein. In particular, forwarding a packet happens as specified in | |||
| section 11 of [RFC6550], including loop avoidance and detection, | Section 11 of [RFC6550], including loop avoidance and detection. | |||
| though in the case of multicast multiple copies might be generated. | However, in the case of multicast, multiple copies might be | |||
| generated. | ||||
| [RFC8505] is a pre-requisite to this specification. A node that | [RFC8505] is a prerequisite to this specification. A node that | |||
| implements this MUST also implement [RFC8505]. This specification | implements this MUST also implement [RFC8505]. This specification | |||
| does not introduce a new option; it modifies existing options and | does not introduce a new option; it modifies existing options and | |||
| updates the associated behaviors to enable the Registration for | updates the associated behaviors to enable the Registration for | |||
| prefixes as an extension to [RFC8505]. | prefixes as an extension to [RFC8505]. | |||
| This specification updates the P-Field introduced in [RFC9685] for | This specification updates the P-Field introduced in [RFC9685] for | |||
| use in EARO, DAR, and RTO, with the new value of 3 to indicate the | use in EARO, DAR, and RTO, with the new value of 3 to indicate the | |||
| registration of a prefix, as detailed in Section 7.2. With this | registration of a prefix, as detailed in Section 7.2. With this | |||
| extension, the 6LN can now express its willingness to receive the | extension, the 6LN can now express its willingness to receive the | |||
| traffic for all addresses in the range of a prefix, using the P-Field | traffic for all addresses in the range of a prefix, using the P-Field | |||
| value of 3 in the EARO to signal that the registration is for such | value of 3 in the EARO to signal that the registration is for such | |||
| prefix. Multiple 6LNs acting as border routers to the same external | prefix. Multiple 6LNs acting as border routers to the same external | |||
| network or as access routers to the same subnet may register the same | network or as access routers to the same subnet may register the same | |||
| prefix to the same 6LR or to different 6LRs. | prefix to the same 6LR or to different 6LRs. | |||
| If the R flag is set in the registration of one or more 6LNs for the | If the R flag is set in the registration of one or more 6LNs for the | |||
| same prefix, then, according to its redistribution policy, the 6LR | same prefix, then, according to its redistribution policy, the 6LR | |||
| MUST redistribute the prefix in the routing protocol(s) (e.g., RPL) | MUST redistribute the prefix in the routing protocol(s) (e.g., RPL) | |||
| that it participates in. The duration of the redistribution is based | that it participates in. The duration of the redistribution is based | |||
| on the longest registration lifetime across the non-expired received | on the longest registration lifetime across the non-expired received | |||
| registrations for the prefix. | registrations for the prefix.` | |||
| Examples of use-cases where this specification may apply include | Examples of use cases where this specification may apply include | |||
| virtual links, shared links, and hub links as shown in Section 12.3 | virtual links, shared links, and hub links as shown in Sections 12.3 | |||
| and Section 12.4, respectively. More generally, the 6LN may be a | and 12.4, respectively. More generally, the 6LN may be a router | |||
| router running a different routing protocol in an external network, | running a different routing protocol in an external network, e.g., a | |||
| e.g., a stub network, and acting as a border router. Using the | stub network, and acting as a border router. Using the prefix | |||
| prefix registration method enables decoupling the routing protocol in | registration method enables decoupling the routing protocol in the | |||
| the 6LN from the routing protocol that the 6LRs run in the main LLN | 6LN from the routing protocol that the 6LRs run in the main LLN and | |||
| and provide signaling to stimulate the redistribution. | provide signaling to stimulate the redistribution. | |||
| 4. Updating RFC 4861 | 4. Updating RFC 4861 | |||
| [RFC4861] expects that the NS/NA exchange is for a unicast address, | [RFC4861] expects that the NS/NA exchange is for a unicast address, | |||
| which is indicated in the Target Address field of the ND message. | which is indicated in the Target Address field of the ND message. | |||
| Section 5.5 of [RFC8505] updates [RFC4861] to signal the Registered | Section 5.5 of [RFC8505] updates [RFC4861] to signal the Registered | |||
| Address in the Target Address field. | Address in the Target Address field. | |||
| This specification updates [RFC4861] by allowing a 6LN to advertise a | This specification updates [RFC4861] by allowing a 6LN to advertise a | |||
| prefix in the Target Address field when the NS or NA message is used | prefix in the Target Address field when the NS or NA message is used | |||
| for a registration, per section 5.5 of [RFC8505]; in that case, the | for a registration, per Section 5.5 of [RFC8505]. In that case, the | |||
| prefix length MUST be indicated in the EARO of the NS message, | prefix length MUST be indicated in the EARO of the NS message, | |||
| overloading the field that is used in the NA response for the Status. | overloading the field that is used in the NA response for the Status. | |||
| If the 6LN owns at least one an IPv6 address that is derived from the | If the 6LN owns at least one IPv6 address that is derived from the | |||
| registered prefix with a non-0 interface ID, then it MUST indicate | registered prefix with a non-zero interface ID, then it MUST indicate | |||
| one of these addresses in full in the Target Address field of the | one of these addresses in full in the Target Address field of the | |||
| NS(EARO) message. Else, it MUST indicate the prefix padded with 0s | NS(EARO) message. Else, it MUST indicate the prefix padded with | |||
| in the Target Address field. | zeros in the Target Address field. | |||
| 5. Updating RFC 7400 | 5. Updating RFC 7400 | |||
| This specification updates "6LoWPAN-GHC: Generic Header Compression | This specification updates "6LoWPAN-GHC: Generic Header Compression | |||
| for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)" | for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)" | |||
| [RFC7400] by defining a new capability bit for use in the 6CIO. | [RFC7400] by defining a new capability bit for use in the 6CIO. | |||
| [RFC7400] was already updated by [RFC8505] for use in IPv6 ND | [RFC7400] was already updated by [RFC8505] for use in IPv6 ND | |||
| messages. | messages. | |||
| The new "Registration for prefixes Supported" (F) flag indicates to | The new "Registration for prefixes Supported" (F) flag indicates to | |||
| the 6LN that the 6LR accepts IPv6 prefix registrations as specified | the 6LN that the 6LR (1) accepts IPv6 prefix registrations as | |||
| in this document and will ensure that packets for the addresses that | specified in this document, (2) will ensure that packets for the | |||
| match this prefix will be routed to the 6LNs that registered the | addresses that match this prefix will be routed to the 6LNs that | |||
| prefix, and the route to the prefix will be redistributed if the R | registered the prefix, and (3) will ensure that the route to the | |||
| flag is set to 1. | prefix will be redistributed if the R flag is set to 1. | |||
| Figure 1 illustrates the F flag in its position (16, counting 0 to 47 | Figure 1 illustrates the F flag in its position (16, counting 0 to 47 | |||
| in network order in the 48-bit array). | in network order in the 48-bit array). | |||
| - to be confirmed by IANA | 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 | ||||
| - and updated by RFC Editor if needed. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length = 1 | Experimental |X|A|D|L|B|P|E|G| | ||||
| 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 | |F| Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length = 1 | Experimental |X|A|D|L|B|P|E|G| | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |F| Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 1: New Capability Bit in the 6CIO | Figure 1: New Capability Bit in the 6CIO | |||
| New Option Field: | New Option Field: | |||
| *F:* 1-bit flag, set to 1 to indicate "Registration for prefixes | *F:* 1-bit flag, set to 1 to indicate "Registration for prefixes | |||
| Supported" | Supported" | |||
| 6. Updating RFC 6550 | 6. Updating RFC 6550 | |||
| skipping to change at page 10, line 18 ¶ | skipping to change at line 427 ¶ | |||
| (TIO) to retain only the freshest unicast route and remove stale | (TIO) to retain only the freshest unicast route and remove stale | |||
| ones, e.g., in the case of mobility. [RFC9010] copies the TID from | ones, e.g., in the case of mobility. [RFC9010] copies the TID from | |||
| the EARO into the Path Sequence, and the ROVR field into the | the EARO into the Path Sequence, and the ROVR field into the | |||
| associated RPL Target Option (RTO). This way, it is possible to | associated RPL Target Option (RTO). This way, it is possible to | |||
| identify both the registering node and the order of registration in | identify both the registering node and the order of registration in | |||
| RPL for each individual advertisement, so the most recent path and | RPL for each individual advertisement, so the most recent path and | |||
| lifetime values are used. | lifetime values are used. | |||
| [RFC9685] requires the use of the ROVR field as the indication of the | [RFC9685] requires the use of the ROVR field as the indication of the | |||
| origin of a Target advertisement in the RPL DAO messages, as | origin of a Target advertisement in the RPL DAO messages, as | |||
| specified in section 6.1 of [RFC9010]. For anycast and multicast | specified in Section 6.1 of [RFC9010]. For anycast and multicast | |||
| advertisements (in NS or DAO messages), multiple origins may | advertisements (in NS or DAO messages), multiple origins may | |||
| subscribe to the same address, in which case the multiple | subscribe to the same address, in which case the multiple | |||
| advertisements from the different or unknown origins are merged by | advertisements from the different or unknown origins are merged by | |||
| the common parent; in that case, the common parent becomes the origin | the common parent. In that case, the common parent becomes the | |||
| of the merged advertisements and uses its own ROVR value. On the | origin of the merged advertisements and uses its own ROVR value. On | |||
| other hand, a parent that propagates an advertisement from a single | the other hand, a parent that propagates an advertisement from a | |||
| origin uses the original ROVR in the propagated RTO, as it does for | single origin uses the original ROVR in the propagated RTO, as it | |||
| unicast address advertisements, so the origin is recognized across | does for unicast address advertisements, so the origin is recognized | |||
| multiple hops. | across multiple hops. | |||
| This specification updates [RFC6550] to require that, for prefix | This specification updates [RFC6550] to require that, for prefix | |||
| routes, the Path Sequence is used between and only between | routes, the Path Sequence is used between and only between | |||
| advertisements for the same Target and from the same origin (i.e., | advertisements for the same Target and from the same origin (i.e., | |||
| with the same ROVR value); in that case, only the freshest | with the same ROVR value); in that case, only the freshest | |||
| advertisement is retained. But the freshness comparison cannot apply | advertisement is retained. However, the freshness comparison cannot | |||
| if the origin is not determined (i.e., the origin did not support | apply if the origin is not determined (i.e., the origin did not | |||
| this specification). | support this specification). | |||
| [RFC6550] uses the Path Lifetime in the TIO to indicate the remaining | [RFC6550] uses the Path Lifetime in the TIO to indicate the remaining | |||
| time for which the advertisement is valid for unicast route | time for which the advertisement is valid for unicast route | |||
| determination, and a Path Lifetime value of 0 invalidates that route. | determination, and a Path Lifetime value of 0 invalidates that route. | |||
| [RFC9010] maps the Address Registration lifetime in the EARO and the | [RFC9010] maps the Address Registration lifetime in the EARO and the | |||
| Path Lifetime in the TIO so they are comparable when both forms of | Path Lifetime in the TIO so they are comparable when both forms of | |||
| advertisements are received. | advertisements are received. | |||
| The RPL router that merges multiple advertisements for the same | The RPL router that merges multiple advertisements for the same | |||
| prefix uses and advertises the longest remaining lifetime across all | prefix uses and advertises the longest remaining lifetime across all | |||
| the origins of the advertisements for that prefix. When the lifetime | the origins of the advertisements for that prefix. When the lifetime | |||
| expires, the router sends a no-path DAO (i.e., the lifetime is 0) | expires, the router sends a no-path DAO (i.e., the lifetime is 0) | |||
| using the same value for ROVR value as for the previous | using the same value for the ROVR value as for the previous | |||
| advertisements, that is either itself or the single descendant that | advertisements. This value refers to either the router itself or the | |||
| advertised the Target. | single descendant that advertised the Target. | |||
| Note that the Registration Lifetime, TID and ROVR fields are also | Note that the Registration Lifetime, TID, and ROVR fields are also | |||
| placed in the EDAR message so the state created by EDAR is also | placed in the EDAR message, so the state created by EDAR is also | |||
| comparable with that created upon an NS(EARO) or a DAO message. For | comparable with that created upon an NS(EARO) or a DAO message. For | |||
| simplicity the text below mentions only NS(EARO) but applies also to | simplicity, the text below mentions only NS(EARO) but it also applies | |||
| EDAR. | to EDAR. | |||
| 7. Updating RFC 8505 | 7. Updating RFC 8505 | |||
| This specification updates the EARO and EDAR messages to enable the | This specification updates the EARO and EDAR messages to enable the | |||
| registration of prefixes and updates the Registration operation in | registration of prefixes and updates the Registration operation in | |||
| the case of a prefix, in particular from the standpoint of the 6LR, | the case of a prefix, in particular from the standpoint of the 6LR, | |||
| e.g., to enable the Registration of overlapping prefixes. | e.g., to enable the Registration of overlapping prefixes. | |||
| 7.1. New P-Field value | 7.1. New P-Field Value | |||
| [RFC9685] defines a 2-bit P-Field with values 0 through 2 and | [RFC9685] defines a 2-bit P-Field with values 0 through 2 and | |||
| reserves the value 3 for future use. This specification defines the | reserves the value 3 for future use. This specification defines the | |||
| semantics of P-Field value 3. | semantics of P-Field value 3. | |||
| When the P-Field is set to 3, it indicates that the Registered | When the P-Field is set to 3, it indicates that the Registered | |||
| Address represents a prefix rather than a single address. Upon | Address represents a prefix rather than a single address. Upon | |||
| receiving an NS(EARO) message with the P-Field set to 3, the receiver | receiving an NS(EARO) message with the P-Field set to 3, the receiver | |||
| MUST install a route to the indicated prefix via the source address | MUST install a route to the indicated prefix via the source address | |||
| of the NS(EARO) message. | of the NS(EARO) message. | |||
| This specification assigns the value 3 to the P-Field, resulting in | This specification assigns the value 3 to the P-Field, resulting in | |||
| the following complete set of defined values: | the following complete set of defined values: | |||
| +-------+--------------------------------------+ | +=======+======================================+ | |||
| | Value | Meaning | | | Value | Meaning | | |||
| +-------+--------------------------------------+ | +=======+======================================+ | |||
| | *0* | Registration for a Unicast Address | | | *0* | Registration for a Unicast Address | | |||
| +-------+--------------------------------------+ | +-------+--------------------------------------+ | |||
| | *1* | Registration for a Multicast Address | | | *1* | Registration for a Multicast Address | | |||
| +-------+--------------------------------------+ | +-------+--------------------------------------+ | |||
| | *2* | Registration for an Anycast Address | | | *2* | Registration for an Anycast Address | | |||
| +-------+--------------------------------------+ | +-------+--------------------------------------+ | |||
| | *3* | Registration for a Unicast prefix | | | *3* | Registration for a Prefix | | |||
| +-------+--------------------------------------+ | +-------+--------------------------------------+ | |||
| Table 1: P-Field Values | Table 1: P-Field Values | |||
| 7.2. New EARO Prefix Length Field and F flag | 7.2. New EARO Prefix Length Field and F flag | |||
| Section 4.1 of [RFC8505] defines the EARO as an extension to the ARO | Section 4.1 of [RFC8505] defines the EARO as an extension to the ARO | |||
| option defined in [RFC6775]. | option defined in [RFC6775]. | |||
| The Status field is used only when the EARO is placed in an NA | The Status field is used only when the EARO is placed in an NA | |||
| message. This specification repurposes that field to carry the | message. This specification repurposes that field to carry the | |||
| prefix length when the EARO is placed in an NS message as illustrated | prefix length when the EARO is placed in an NS message as illustrated | |||
| in Figure 2. The prefix length is expressed as 7 bits and the most | in Figure 2. The prefix length is expressed as 7 bits, and the most | |||
| significant bit of the field is reserved. A 7-bit value of 0 is | significant bit of the field is reserved. A 7-bit value of 0 is | |||
| understood as a truncated 128, meaning that this registration is for | understood as a truncated 128, meaning that this registration is for | |||
| an address as opposed to a prefix. This approach is backward | an address as opposed to a prefix. This approach is backward | |||
| compatible with [RFC8505] and spans both addresses and prefixes. | compatible with [RFC8505] and spans both addresses and prefixes. | |||
| This specification adds a new F flag to signal that the Registered | This specification adds a new F flag to signal that the Registered | |||
| Prefix is topologically correct through the Registering Node. This | Prefix is topologically correct through the Registering Node. This | |||
| means that the Registering Node relays packets that are sourced in | means that the Registering Node relays packets that are sourced in | |||
| the Registered Prefix to the outside, in accordance with "Network | the Registered Prefix to the outside, in accordance with "Network | |||
| Ingress Filtering" [BCP38] . The receiver forwards packets to the | Ingress Filtering: Defeating Denial of Service Attacks which employ | |||
| Registering Node address when the source address of the packets | IP Source Address Spoofing" [BCP38]. The receiver forwards packets | |||
| derives from the Registered Prefix. Note that to avoid loops, the | to the Registering Node address when the source address of the | |||
| receiver must be in the inside so packets sent by the sender towards | packets derives from the Registered Prefix. Note that to avoid | |||
| the outside may never reach the receiver. The notion of inside and | loops, the receiver must be in the inside so packets sent by the | |||
| outside are administratively defined, e.g., inside is a particular | sender towards the outside may never reach the receiver. The notion | |||
| Layer-2 network such as an Ethernet fabric. | of "inside" and "outside" are administratively defined, e.g., | |||
| "inside" is a particular L2 network such as an Ethernet fabric. | ||||
| When the F flag is not set, the Registering Node owns the prefix and | When the F flag is not set, the Registering Node owns the prefix and | |||
| will deliver packets to the destination if the destination address | will deliver packets to the destination if the destination address | |||
| derives from the prefix. Conversely, if the F flag is set, the | derives from the prefix. Conversely, if the F flag is set, the | |||
| Registering Node will forward traffic whose source address derives | Registering Node will forward traffic whose source address derives | |||
| from the Registered Prefix into a network location (e.g., to an ISP | from the Registered Prefix into a network location (e.g., to an ISP | |||
| Provider Edge) where this source address is topologically correct | Provider Edge) where this source address is topologically correct | |||
| (e.g., derives from a prefix assigned by that ISP). The F flag is | (e.g., derives from a prefix assigned by that ISP). The F flag is | |||
| encoded in the most significant bit of the EARO Status field when the | encoded in the most significant bit of the EARO Status field when the | |||
| Status field is used to transport a Prefix Length as shown in | Status field is used to transport a Prefix Length as shown in | |||
| skipping to change at page 14, line 19 ¶ | skipping to change at line 599 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |P=3| Reserved | TID | Registration Lifetime | | |P=3| Reserved | TID | Registration Lifetime | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| ... ROVR ... | ... ROVR ... | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| + Prefix + | + Prefix + | |||
| | | | | | | |||
| + (up to 120 bits, padded with 0s) + | + (up to 120 bits, padded with zeros) + | |||
| | | | | | | |||
| + +-+-+-+-+-+-+-+-+ | + +-+-+-+-+-+-+-+-+ | |||
| | |r|Prefix Length| | | |r|Prefix Length| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Options ... | | Options ... | |||
| +-+-+-+-+-+-+-+-+-+-+-+- | +-+-+-+-+-+-+-+-+-+-+-+- | |||
| Figure 3: EDAR Message Format with P == 3 | Figure 3: EDAR Message Format with P == 3 | |||
| 0 1 2 3 | 0 1 2 3 | |||
| skipping to change at page 14, line 43 ¶ | skipping to change at line 623 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Status | TID | Registration Lifetime | | | Status | TID | Registration Lifetime | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| ... ROVR ... | ... ROVR ... | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| + Prefix + | + Prefix + | |||
| | | | | | | |||
| + (up to 120 bits, padded with 0s) + | + (up to 120 bits, padded with zeros) + | |||
| | | | | | | |||
| + +-+-+-+-+-+-+-+-+ | + +-+-+-+-+-+-+-+-+ | |||
| | |r|Prefix Length| | | |r|Prefix Length| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Options ... | | Options ... | |||
| +-+-+-+-+-+-+-+-+-+-+-+- | +-+-+-+-+-+-+-+-+-+-+-+- | |||
| Figure 4: EDAC Message Format | Figure 4: EDAC Message Format | |||
| New and updated EDAR/EDAC Message Fields: | New and updated EDAR/EDAC Message Fields: | |||
| *Prefix:* A 15-byte field that carries up to 120 bits of the prefix. | *Prefix:* A 15-byte field that carries up to 120 bits of the prefix. | |||
| If the prefix isshorter than 120 bits, the remaining bits MUST be | If the prefix is shorter than 120 bits, the remaining bits MUST be | |||
| padded with zeros. The receiver MUST treat the padding as zeroed | padded with zeros. The receiver MUST treat the padding as zeroed | |||
| and MUST overwrite any unused bits with zeros before using the | and MUST overwrite any unused bits with zeros before using the | |||
| prefix. | prefix. | |||
| *r* (reserved): A 1-bit reserved field. It MUST be set to zero by | *r* (reserved): A 1-bit reserved field. It MUST be set to zero by | |||
| the sender and MUST be ignored by the receiver. | the sender and MUST be ignored by the receiver. | |||
| *Prefix Length:* A 7-bit unsigned integer indicating the length of | *Prefix Length:* A 7-bit unsigned integer indicating the length of | |||
| the prefix in bits. The value MUST be in the inclusive range of | the prefix in bits. The value MUST be in the inclusive range of | |||
| 16 to 120. | 16 to 120. | |||
| The capability to place The P-Field and the contiguous "Reserved" | The capability to place the P-Field and the contiguous "Reserved" | |||
| field in the EDAR message are specified in section 7.2 of [RFC9685]. | field in the EDAR message is specified in Section 7.2 of [RFC9685]. | |||
| The capability to append ND options to the EDAR and EDAC messages is | The capability to append ND options to the EDAR and EDAC messages is | |||
| introduced in section 3.1 of [RFC8929]. | introduced in Section 3.1 of [RFC8929]. | |||
| All other fields follow the same definition as specified in | All other fields follow the same definition as specified in | |||
| [RFC8505]. The values for these fields and RFC references are | [RFC8505]. The values for these fields and RFC references are | |||
| maintained by IANA under the "Internet Control Message Protocol | maintained by IANA under the "Internet Control Message Protocol | |||
| version 6 (ICMPv6) Parameters" [IANA.ICMP] registry grouping. | version 6 (ICMPv6) Parameters" [IANA.ICMP] registry group. | |||
| 7.4. Updating the Registration Operation | 7.4. Updating the Registration Operation | |||
| With [RFC8505]: | With [RFC8505]: | |||
| * A router that expects to reboot may send a final RA message, upon | * A router that expects to reboot may send a final RA message, upon | |||
| which nodes should register elsewhere or redo the registration to | which nodes should register elsewhere or redo the registration to | |||
| the same router upon reboot. In all other cases, a node reboot is | the same router upon reboot. In all other cases, a node reboot is | |||
| silent. When the node comes back to life, existing registration | silent. When the node comes back to life, existing registration | |||
| state might be lost if it was not safely stored, e.g., in | state might be lost if it was not safely stored, e.g., in | |||
| skipping to change at page 16, line 32 ¶ | skipping to change at line 706 ¶ | |||
| node. The NA message MAY be sent to a unicast or a multicast | node. The NA message MAY be sent to a unicast or a multicast | |||
| link-scope address and SHOULD be contained within the L2 range | link-scope address and SHOULD be contained within the L2 range | |||
| where nodes may effectively have registered/subscribed to this | where nodes may effectively have registered/subscribed to this | |||
| router, e.g., a radio broadcast domain to preserve energy and | router, e.g., a radio broadcast domain to preserve energy and | |||
| spectrum. | spectrum. | |||
| A device that wishes to refresh its state, e.g., upon reboot if it | A device that wishes to refresh its state, e.g., upon reboot if it | |||
| may have lost some registration state, SHOULD send an asynchronous | may have lost some registration state, SHOULD send an asynchronous | |||
| NA(EARO) with this new status value. That asynchronous NA(EARO) | NA(EARO) with this new status value. That asynchronous NA(EARO) | |||
| SHOULD be sent to the all-nodes link-scope multicast address | SHOULD be sent to the all-nodes link-scope multicast address | |||
| (ff02::1) and Target MUST be set to the link-local address that | (ff02::1), and Target MUST be set to the link-local address that | |||
| was exposed previously by this node to accept registrations, and | was exposed previously by this node to accept registrations, and | |||
| the TID MUST be set to 0; the ROVR field MUST be set to all zeroes | the TID MUST be set to 0; the ROVR field MUST be set to all zeros | |||
| and ignored by the receiver. | and ignored by the receiver. | |||
| In an environment with unreliable transmissions, the multicast | In an environment with unreliable transmissions, the multicast | |||
| NA(EARO) message may be resent in a fast sequence, in which case | NA(EARO) message may be resent in a fast sequence, in which case | |||
| the TID is incremented each time. A 6LN that has recently | the TID is incremented each time. A 6LN that has recently | |||
| processed the NA(EARO) indicating a "Registration Refresh Request" | processed the NA(EARO) indicating a "Registration Refresh Request" | |||
| ignores the additional NA(EARO) also indicating a "Registration | ignores the additional NA(EARO) also indicating a "Registration | |||
| Refresh Request" within the duration of the fast sequence. That | Refresh Request" within the duration of the fast sequence. That | |||
| duration depends on the environment and has to be configured. By | duration depends on the environment and has to be configured. By | |||
| default, it is 10 seconds. | default, it is 10 seconds. | |||
| * Registration for prefixes is now supported. The value of 3 in the | * Registration for prefixes is now supported. The value of 3 in the | |||
| P-Field of the EARO and the EDAR message signals when the | P-Field of the EARO and the EDAR message signals when the | |||
| registration is for a prefix as opposed to an address. DAD for | registration is for a prefix as opposed to an address. DAD for | |||
| prefixes and addresses becomes a prefix overlap match. Whether | prefixes and addresses becomes a prefix overlap match. Whether | |||
| overlapping addresses and prefixes may be registered is a network | overlapping addresses and prefixes may be registered is a network | |||
| policy decision and out of scope. The same prefix may be injected | policy decision and out of scope. The same prefix may be injected | |||
| twice (multiple routes) as long as they use the same value of the | twice (multiple routes) as long as they use the same value of the | |||
| ROVR. | ROVR. | |||
| Overlaps may be desirable. It may happen for instance that a | Overlaps may be desirable. For instance, it may happen that a | |||
| router or a proxy (see Section 10) registers a prefix or an | router or a proxy (see Section 10) registers a prefix or an | |||
| aggregation while a host using an address from that prefix or a | aggregation while a host using an address from that prefix or a | |||
| prefix from that aggregation also registers its piece. | prefix from that aggregation also registers its piece. | |||
| In case of an overlapping registration, the longest prefix match | In case of an overlapping registration, the longest prefix match | |||
| wins, meaning that if the network policy allows for overlapping | wins, meaning that if the network policy allows for overlapping | |||
| registrations, then the routes for the registered prefixes are | registrations, then the routes for the registered prefixes are | |||
| installed towards the node that registered with the longest prefix | installed towards the node that registered with the longest prefix | |||
| match, all the way to /128. | match, all the way to /128. | |||
| * If the 6LR acts as a border router to external prefixes or owns | * If the 6LR acts as a border router to external prefixes or owns | |||
| the prefixes entirely, it SHOULD register all those prefixes on | the prefixes entirely, it SHOULD register all those prefixes on | |||
| all interfaces from which it might be needed to relay traffic to | all interfaces from which it might be needed to relay traffic to | |||
| that prefix. It MUST set the P-Field in the EARO to 3 for those | that prefix. It MUST set the P-Field in the EARO to 3 for those | |||
| prefixes, and the set R flag to receive the traffic associated to | prefixes and set the R flag to receive the traffic associated to | |||
| the prefixes. It MAY refrain from registering a prefix on one | the prefixes. It MAY refrain from registering a prefix on one | |||
| interface if that prefix is already successfully registered on | interface if that prefix is already successfully registered on | |||
| another interface, or the router handled the EDAR / EDAC flow by | another interface, or the router handled the EDAR/EDAC flow by | |||
| itself, to ensure that the prefix ownership is known and validated | itself, to ensure that the prefix ownership is known and validated | |||
| by the 6LBR. Additionally, if the router expect to receive | by the 6LBR. Additionally, if the router expects to receive | |||
| traffic for that prefix on that interface, it needs to ensure that | traffic for that prefix on that interface, it needs to ensure that | |||
| the prefix is advertised some other way, e.g., over a routing | the prefix is advertised some other way, e.g., over a routing | |||
| protocol such as RPL. | protocol such as RPL. | |||
| * The 6LN MAY set the R flag in the EARO to request the 6LR to | * The 6LN MAY set the R flag in the EARO to request the 6LR to | |||
| redistribute the prefix on other links using a routing protocol. | redistribute the prefix on other links using a routing protocol. | |||
| The 6LR MUST NOT reregister that prefix to yet another router | The 6LR MUST NOT reregister that prefix to yet another router | |||
| unless loops are avoided some way, e.g., following a tree | unless loops are avoided some way, e.g., following a tree | |||
| structure. | structure. | |||
| skipping to change at page 18, line 19 ¶ | skipping to change at line 783 ¶ | |||
| With [RFC9010]: | With [RFC9010]: | |||
| * The 6LR injects only unicast routes in RPL. | * The 6LR injects only unicast routes in RPL. | |||
| * Upon a registration with the R flag set to 1 in the EARO, the 6LR | * Upon a registration with the R flag set to 1 in the EARO, the 6LR | |||
| injects the address in the RPL unicast support. | injects the address in the RPL unicast support. | |||
| * Upon receiving a packet directed to a unicast address for which it | * Upon receiving a packet directed to a unicast address for which it | |||
| has an active registration, the 6LR delivers the packet as a | has an active registration, the 6LR delivers the packet as a | |||
| unicast layer-2 frame to the LLA of the node that registered the | unicast L2 frame to the LLA of the node that registered the | |||
| unicast address. | unicast address. | |||
| This specification adds the following behavior: | This specification adds the following behavior: | |||
| * Upon a registration with the R flag set to 1 and the P-Field set | * Upon a registration with the R flag set to 1 and the P-Field set | |||
| to 3 in the EARO, the 6LR injects the prefix in RPL using a prefix | to 3 in the EARO, the 6LR injects the prefix in RPL using a prefix | |||
| RTO. The P-Field in the RTP MUST be set to 3. | RTO. The P-Field in the RTP MUST be set to 3. | |||
| * Upon receiving a packet directed to an address that derives from a | * Upon receiving a packet directed to an address that derives from a | |||
| prefix for which it has at least one registration, the 6LR | prefix for which it has at least one registration, the 6LR | |||
| delivers a copy of the packet as a unicast layer-2 frame to the | delivers a copy of the packet as a unicast L2 frame to the LLA of | |||
| LLA of exactly one of the nodes that registered to that prefix, | exactly one of the nodes that registered to that prefix, using the | |||
| using the longest prefix match derivation to find the best 6LN. | longest prefix match derivation to find the best 6LN. | |||
| 9. Updating RFC 8928 | 9. Updating RFC 8928 | |||
| Address-Protected Neighbor Discovery for Low-Power and Lossy Networks | "Address-Protected Neighbor Discovery for Low-Power and Lossy | |||
| [RFC8928] was defined to protect the ownership of unicast IPv6 | Networks" [RFC8928] was defined to protect the ownership of unicast | |||
| addresses that are registered with [RFC8505]. | IPv6 addresses that are registered with [RFC8505]. | |||
| With [RFC8928], it is possible for a node to autoconfigure a pair of | With Address-Protected Neighbor Discovery (AP-ND) [RFC8928], it is | |||
| public and private keys and use them to sign the registration of | possible for a node to autoconfigure a pair of public and private | |||
| addresses that are either autoconfigured or obtained through other | keys and use them to sign the registration of addresses that are | |||
| methods. | either autoconfigured or obtained through other methods. | |||
| The first hop router (the 6LR) can then validate a registration and | The first-hop router (the 6LR) can then validate a registration and | |||
| perform source address validation on packets coming from the sender | perform source address validation on packets coming from the sender | |||
| node (the 6LN). | node (the 6LN). | |||
| As multiple nodes may register the same prefix, the method specified | As multiple nodes may register the same prefix, the method specified | |||
| in [RFC8928] cannot be used with node-local autoconfigured keypairs, | in [RFC8928] cannot be used with node-local autoconfigured keypairs, | |||
| which protect a single ownership only. | which protect a single ownership only. | |||
| For a prefix, as for an anycast or a multicast address, it is still | For a prefix, as for an anycast or a multicast address, it is still | |||
| possible to leverage [RFC8928] to enforce the right to register. If | possible to leverage AP-ND [RFC8928] to enforce the right to | |||
| [RFC8928] is used, a keypair MUST be created and associated with the | register. If AP-ND [RFC8928] is used, a keypair MUST be created and | |||
| prefix before the prefix is deployed, and a ROVR MUST be generated | associated with the prefix before the prefix is deployed, and a ROVR | |||
| from that keypair as specified in [RFC8928]. The prefix and the ROVR | MUST be generated from that keypair as specified in [RFC8928]. The | |||
| MUST then be installed in the 6LBR at the first registration, or by | prefix and the ROVR MUST then be installed in the 6LBR at the first | |||
| an external mechanism such as IP Address Management (IPAM) or DHCPv6 | registration, or by an external mechanism such as IP Address | |||
| snooping prior to the first registration. This way, the 6LBR can | Management (IPAM) or DHCPv6 snooping prior to the first registration. | |||
| recognize the prefix on the future registrations and validate the | This way, the 6LBR can recognize the prefix on the future | |||
| right to register based on the ROVR. | registrations and validate the right to register based on the ROVR. | |||
| The keypair MUST then be provisioned in each node that needs to | The keypair MUST then be provisioned in each node that needs to | |||
| register the prefix or a prefix within, so the node can follow the | register the prefix or a prefix within, so the node can follow the | |||
| steps in [RFC8928] to register the prefix. | steps in [RFC8928] to register the prefix. | |||
| Upon receiving an NA message with the status set to 5 "Validation | Upon receiving an NA message with the status set to 5 "Validation | |||
| Requested", the node that registered the address or prefix performs | Requested", the node that registered the address or prefix performs | |||
| the proof of ownership based on that longest prefix match. | the proof of ownership based on that longest prefix match. | |||
| 10. Updating RFC 8929 | 10. Updating RFC 8929 | |||
| "IPv6 Backbone Router" [RFC8929] defines a proxy operation whereby a | "IPv6 Backbone Router" [RFC8929] defines a proxy operation whereby a | |||
| 6LoWPAN Border Router (6LBR) may impersonate a 6LN when performing an | 6LoWPAN Border Router (6LBR) may impersonate a 6LN when performing an | |||
| address registration. In that case, [RFC8505] messages are used as | address registration. In that case, [RFC8505] messages are used as | |||
| is, with one change that the SLLAO in the proxied NS(EARO) messages | is, with one change that the SLLAO in the proxied NS(EARO) messages | |||
| indicates the Registering Node (the 6LBR) as opposed to the | indicates the Registering Node (the 6LBR) as opposed to the | |||
| Registered Node (the 6LN). See figure 5 of [RFC8929] for an example | Registered Node (the 6LN). See Figure 5 of [RFC8929] for an example | |||
| of proxy operation by the 6LBR, which generates an NS(EARO) upon | of proxy operation by the 6LBR, which generates an NS(EARO) upon | |||
| receiving an EDAR message. | receiving an EDAR message. | |||
| This specification updates that proxy operation with the updates in | This specification updates that proxy operation with the updates in | |||
| [RFC9685] and this on the formats and content of the EARO, the EDAR, | [RFC9685] and this on the formats and content of the EARO, the EDAR, | |||
| and the EDAC messages, to support the P-Field and the signaling of | and the EDAC messages, to support the P-Field and the signaling of | |||
| prefixes. The proxy MUST use the P-Field as received in the EDAR or | prefixes. The proxy MUST use the P-Field as received in the EDAR or | |||
| NS(EARO) message to generate the proxied NS(EARO), and it MUST use | NS(EARO) message to generate the proxied NS(EARO), and it MUST use | |||
| the exact same prefix and prefix length as received in the case of a | the exact same prefix and prefix length as received in the case of a | |||
| prefix registration. | prefix registration. | |||
| 11. Security Considerations | 11. Security Considerations | |||
| This specification updates [RFC8505], and the security section of | This specification updates [RFC8505], and the security considerations | |||
| that document also applies to this document. In particular, the link | of that document also apply to this document. In particular, the | |||
| layer SHOULD be sufficiently protected to prevent rogue access, else | link layer SHOULD be sufficiently protected to prevent rogue access, | |||
| a rogue node with physical Access to the network may inject packets | else a rogue node with physical access to the network may inject | |||
| and perform an attack from within. | packets and perform an attack from within. | |||
| Section 9 leverages [RFC8928] to prevent a rogue node to register a | Section 9 leverages AP-ND [RFC8928] to prevent a rogue node from | |||
| unicast address that it does not own. The mechanism could be | registering a unicast address that it does not own. The mechanism | |||
| extended to anycast and multicast addresses if the values of the ROVR | could be extended to anycast and multicast addresses if the values of | |||
| they use are known in advance, but how this is done is not in scope | the ROVR they use are known in advance, but how this is done is not | |||
| for this specification. One way would be to authorize in advance the | in scope for this specification. One way would be to authorize in | |||
| ROVR of the valid users. A less preferred way could be to | advance the ROVR of the valid users. A less preferred way could be | |||
| synchronize the ROVR and TID values across the valid registering | to synchronize the ROVR and TID values across the valid registering | |||
| nodes as a preshared key material. | nodes as a preshared key material. | |||
| In the latter case, it could be possible to update the keys | In the latter case, it could be possible to update the keys | |||
| associated to a prefix in all the 6LNs, but the flow is not clearly | associated to a prefix in all the 6LNs, but the flow is not clearly | |||
| documented and may not complete in due time for all nodes in LLN use | documented and may not complete in due time for all nodes in LLN use | |||
| cases. It may be simpler to install an all-new address with new keys | cases. It may be simpler to install an all-new address with new keys | |||
| over a period of time, and switch the traffic to that address when | over a period of time and switch the traffic to that address when the | |||
| the migration is complete. | migration is complete. | |||
| 12. Operational Considerations | 12. Operational Considerations | |||
| 12.1. Partially Upgraded Networks | 12.1. Partially Upgraded Networks | |||
| A mix of devices that support only [RFC8505], both [RFC8505] and | A mix of devices that support only [RFC8505], both [RFC8505] and | |||
| [RFC9685], and all of the above plus this specification, may coexist. | [RFC9685], and all of the above plus this specification, may coexist. | |||
| Different cases may occur: | Different cases may occur: | |||
| * A legacy 6LN will not register prefixes and the service will be | * A legacy 6LN will not register prefixes, and the service will be | |||
| the same when the network is upgraded. | the same when the network is upgraded. | |||
| * A legacy 6LR will not set the F flag in the 6CIO and an upgraded | * A legacy 6LR will not set the F flag in the 6CIO and an upgraded | |||
| 6LN will not register prefixes with that router, though it may | 6LN will not register prefixes with that router, though it may | |||
| with other 6LRs that do support this specification. | with other 6LRs that do support this specification. | |||
| * Upon an EDAR message, a legacy 6LBR may not realize that the | * Upon an EDAR message, a legacy 6LBR may not realize that the | |||
| address being registered comes with a whole prefix, and return | address being registered comes with a whole prefix, and return | |||
| that it is duplicate in the EDAC status. The 6LR MUST ignore a | that it is duplicate in the EDAC status. The 6LR MUST ignore a | |||
| duplicate status in the EDAR for prefixes. | duplicate status in the EDAR for prefixes. | |||
| skipping to change at page 21, line 31 ¶ | skipping to change at line 937 ¶ | |||
| o o o o +-------+ | o o o o +-------+ | |||
| o o o o +-------+ RPL | o o o o +-------+ RPL | |||
| o | 6LN | leaf | o | 6LN | leaf | |||
| +-------+ L | +-------+ L | |||
| o : LLN node | o : LLN node | |||
| Figure 5: RPL-Based Route-Over LLN | Figure 5: RPL-Based Route-Over LLN | |||
| A RPL leaf L acting as a 6LN registers its addresses and prefixes to | A RPL leaf L acting as a 6LN registers its addresses and prefixes to | |||
| a RPL router acting as a 6LR, using a layer-2 unicast NS message with | a RPL router acting as a 6LR, using a L2 unicast NS message with an | |||
| an EARO as specified in [RFC8505] and [RFC9685]. Note that a RPL | EARO as specified in [RFC8505] and [RFC9685]. Note that a RPL leaf | |||
| leaf acting as 6LN may still be a border router for another routing | acting as 6LN may still be a border router for another routing | |||
| protocol, an access router for an IP link, or a virtual Router | protocol, an access router for an IP link, or a virtual Router | |||
| serving virtual machines or applications within the same physical | serving virtual machines or applications within the same physical | |||
| node. Note also that a RPL-aware Leaf would preferably leverage RPL | node. Note also that a RPL-aware Leaf would preferably leverage RPL | |||
| directly to inject routes, to fully leverage the routing protocol. | directly to inject routes, to fully leverage the routing protocol. | |||
| The registration state is periodically renewed by the Registering | The registration state is periodically renewed by the Registering | |||
| Node (the 6LN), before the lifetime indicated in the EARO expires (at | Node (the 6LN), before the lifetime indicated in the EARO expires (at | |||
| the 6LR). As for unicast IPv6 addresses, the 6LR uses an Extended | the 6LR). As for unicast IPv6 addresses, the 6LR uses an Extended | |||
| Duplicate Address Request/Confirmation (EDAR/EDAC) exchange with the | Duplicate Address Request/Confirmation (EDAR/EDAC) exchange with the | |||
| 6LBR to notify the 6LBR of the presence of the listeners. With this | 6LBR to notify the 6LBR of the presence of the listeners. With this | |||
| specification, a router that owns a prefix or provides reachability | specification, a router that owns a prefix or provides reachability | |||
| to an external prefix but is not a RPL router can also register those | to an external prefix but is not a RPL router can also register those | |||
| prefixes with the R flag set, to enable reachability to the Prefix | prefixes with the R flag set, to enable reachability to the Prefix | |||
| within the RPL domain. | within the RPL domain. | |||
| 12.3. Application to a Shared Link | 12.3. Application to a Shared Link | |||
| A shared link is a situation where more than one prefix is deployed | A shared link is a situation where more than one prefix is deployed | |||
| over a L2 link (say a switched Ethernet fabric, or a Wi-Fi Extended | over an L2 link (say, a switched Ethernet fabric or a Wi-Fi Extended | |||
| Service Set (ESS) federating multiple Access Points (APs)), and not | Service Set (ESS) federating multiple Access Points (APs)), and not | |||
| necessarily all nodes are aware of all prefixes. Figure 6 depicts | necessarily all nodes are aware of all prefixes. Figure 6 depicts | |||
| such a situation, with 2 routers 6LR1 and 6LR2 that own respective | such a situation, with two routers 6LR1 and 6LR2 that own respective | |||
| prefixes P1:: and P2::, and expose those in their RA messages over | prefixes P1:: and P2:: and expose those in their RA messages over the | |||
| the same link. Note that the shared link maybe operated with any | same link. Note that the shared link maybe operated with any | |||
| combination of NDP and SND as discussed in section 7 of | combination of NDP and SND as discussed in Section 7 of | |||
| [I-D.ietf-6man-ipv6-over-wireless]. | [IPv6-over-NBMA]. | |||
| .- -- . | .- -- . | |||
| .-( ). | .-( ). | |||
| ( Internet ) | ( Internet ) | |||
| (___.________.___) | (___.________.___) | |||
| | | | | |||
| +----+--+ +-------+ | +----+--+ +-------+ | |||
| | P1::a | | P2::b | | | P1::a | | P2::b | | |||
| | 6LR1 | | 6LR2 | | | 6LR1 | | 6LR2 | | |||
| +---+---+ +---+---+ | +---+---+ +---+---+ | |||
| skipping to change at page 22, line 37 ¶ | skipping to change at line 986 ¶ | |||
| ----+--+------+---------+-+-------+---------+---- | ----+--+------+---------+-+-------+---------+---- | |||
| | | | | | | | | | | | | |||
| +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | |||
| |P1::c| |P2::d| |P2::e| |P1::f| |P1::g| | |P1::c| |P2::d| |P2::e| |P1::f| |P1::g| | |||
| +-----+ +-----+ +-----+ +-----+ +-----+ | +-----+ +-----+ +-----+ +-----+ +-----+ | |||
| Figure 6: Shared Link | Figure 6: Shared Link | |||
| Say that 6LR1 is the router providing access to the outside, and 6LR2 | Say that 6LR1 is the router providing access to the outside, and 6LR2 | |||
| is aware of 6LR1 as its default gateway. With this specification, | is aware of 6LR1 as its default gateway. With this specification, | |||
| 6LR2 registers P2:: to 6LR1 and 6LR1 installs a route to P2:: via | 6LR2 registers P2:: to 6LR1, and 6LR1 installs a route to P2:: via | |||
| 6LR2. This way, addresses that derive from P2:: can still be reached | 6LR2. This way, addresses that derive from P2:: can still be reached | |||
| via 6LR1 and then 6LR2. 6LR2 may then leverage ICMP Redirect | via 6LR1 and then 6LR2. 6LR2 may then leverage ICMP Redirect | |||
| messages [RFC4861] to shorten the path between 6LR1 and the nodes | messages [RFC4861] to shorten the path between 6LR1 and the nodes | |||
| that own those addresses. | that own those addresses. | |||
| If P2 was delegated by 6LR1, e.g., using the "Dynamic Host | If P2 were delegated by 6LR1, e.g., using DHCPv6 [RFC8415], then the | |||
| Configuration Protocol for IPv6" [RFC8415] (DHCPv6), then the | ||||
| expectation is that 6LR1 aggregates P1:: and P2:: in its | expectation is that 6LR1 aggregates P1:: and P2:: in its | |||
| advertisements to the outside, and there is no need to set the R | advertisements to the outside, and there is no need to set the R | |||
| flag. But unless 6LR2 knows about such a situation, e.g., through | flag. However, unless 6LR2 knows about such a situation, e.g., | |||
| configuration, 6LR2 SHOULD set the R flag requesting 6LR1 to | through configuration, 6LR2 SHOULD set the R flag requesting 6LR1 to | |||
| advertise P2:: so as to obtain reachability. | advertise P2:: so as to obtain reachability. | |||
| 12.4. Application to a Hub Link with Stub Spokes | 12.4. Application to a Hub Link with Stub Spokes | |||
| A hub link is a situation where stub links are deployed around a | A hub link is a situation where stub links are deployed around a | |||
| backbone and interconnected by routers. Figure 7 depicts such a | backbone and interconnected by routers. Figure 7 depicts such a | |||
| situation, with one router 6LR1 serving the hub link and at least one | situation, with one router 6LR1 serving the hub link and at least one | |||
| router like 6LR2 and 6LR3 providing connectivity from the stub links | router like 6LR2 and 6LR3 providing connectivity from the stub links | |||
| to the hub link. In this example, say that there is one prefix on | to the hub link. In this example, say that there is one prefix on | |||
| each link, P1:: on the hub link and P2:: and P3:: on the stub links. | each link -- P1:: on the hub link, and P2:: and P3:: on the stub | |||
| links. | ||||
| +-----+ +-----+ +-----+ +-----+ | +-----+ +-----+ +-----+ +-----+ | |||
| |P2::s| |P2::d| |P2::e| |P2::f| | |P2::s| |P2::d| |P2::e| |P2::f| | |||
| +--+--+ +--+--+ +--+--+ +--+--+ | +--+--+ +--+--+ +--+--+ +--+--+ | |||
| | | | | | | | | | | |||
| ----+----+----+---------+--STUB-LINK--+----- | ----+----+----+---------+--STUB-LINK--+----- | |||
| | | | | |||
| +---+---+ +-------+ | +---+---+ +-------+ | |||
| | P2::r | | | .- --.. | | P2::r | | | .- --.. | |||
| | 6LR2 | | 6LR1 +---- .-( ). | | 6LR2 | | 6LR1 +---- .-( ). | |||
| skipping to change at page 23, line 44 ¶ | skipping to change at line 1039 ¶ | |||
| ----+--+------+---------+--STUB-LINK--+-+----- | ----+--+------+---------+--STUB-LINK--+-+----- | |||
| | | | | | | | | | | |||
| +--+--+ +--+--+ +--+--+ +--+--+ | +--+--+ +--+--+ +--+--+ +--+--+ | |||
| |P3::h| |P3::i| |P3::j| |P3::k| | |P3::h| |P3::i| |P3::j| |P3::k| | |||
| +-----+ +-----+ +-----+ +-----+ | +-----+ +-----+ +-----+ +-----+ | |||
| Figure 7: Hub and Stubs | Figure 7: Hub and Stubs | |||
| As before, say that 6LR1 is the router providing access to the | As before, say that 6LR1 is the router providing access to the | |||
| outside, and 6LR2 is aware of 6LR1 as its default gateway. With this | outside, and 6LR2 is aware of 6LR1 as its default gateway. With this | |||
| specification, 6LR2 registers P2:: to 6LR1 and 6LR1 installs a route | specification, 6LR2 registers P2:: to 6LR1, and 6LR1 installs a route | |||
| to P2:: via 6LR2. This way, nodes on the stub link behind 6LR2 that | to P2:: via 6LR2. This way, nodes on the stub link behind 6LR2 that | |||
| derive their addresses from P2:: can still be reached via 6LR1 and | derive their addresses from P2:: can still be reached via 6LR1 and | |||
| then 6LR2. The same goes for 6LR3 and any other routers serving stub | then 6LR2. The same goes for 6LR3 and any other routers serving stub | |||
| links. | links. | |||
| If P2 was delegated by 6LR1, then the expectation is that 6LR1 | If P2 were delegated by 6LR1, then the expectation is that 6LR1 | |||
| aggregates P1:: and P2:: in its advertisements to the outside, and | aggregates P1:: and P2:: in its advertisements to the outside, and | |||
| there is no need to set the R flag. But unless 6LR2 knows about such | there is no need to set the R flag. However, unless 6LR2 knows about | |||
| a situation, e.g., through configuration, 6LR2 SHOULD set the R flag | such a situation, e.g., through configuration, 6LR2 SHOULD set the R | |||
| requesting 6LR1 to advertise P2:: so as to obtain reachability. | flag requesting 6LR1 to advertise P2:: so as to obtain reachability. | |||
| In this example, routers 6LR3 and 6LR4 both connect to the same stub | In this example, routers 6LR3 and 6LR4 both connect to the same stub | |||
| link where subnet P3 is installed. They may both register P3 to | link where subnet P3 is installed. They may both register P3 to | |||
| 6LR1, and 6LR1 will apply its own load balancing logic to use either | 6LR1, and 6LR1 will apply its own load-balancing logic to use either | |||
| of the routers. | of the routers. | |||
| 13. IANA Considerations | 13. IANA Considerations | |||
| Note to RFC Editor, to be removed: please replace "This RFC" | IANA has made changes under the "Internet Control Message Protocol | |||
| throughout this document by the RFC number for this specification | version 6 (ICMPv6) Parameters" [IANA.ICMP] and the "Routing Protocol | |||
| once it is allocated. | for Low Power and Lossy Networks (RPL)" [IANA.RPL] registry groups, | |||
| as follows. | ||||
| IANA is requested to make changes under the "Internet Control Message | ||||
| Protocol version 6 (ICMPv6) Parameters" [IANA.ICMP] and the "Routing | ||||
| Protocol for Low Power and Lossy Networks (RPL)" [IANA.RPL] registry | ||||
| groupings, as follows: | ||||
| 13.1. Updated P-Field Registry | 13.1. Updated P-Field Registry | |||
| This specification updates the P-Field introduced in [RFC9685] to | This specification updates the P-Field introduced in [RFC9685] to | |||
| assign the value of 3, which is the only remaining unassigned value | assign the value of 3, which is the only remaining unassigned value | |||
| for the 2-bit field. To that effect, IANA is requested to update the | for the 2-bit field. To that effect, IANA has updated the "P-Field | |||
| "P-Field values" registry under the heading "Internet Control Message | Values" registry in the "Internet Control Message Protocol version 6 | |||
| Protocol version 6 (ICMPv6) Parameters" as indicated in Table 2: | (ICMPv6) Parameters" registry group as indicated in Table 2: | |||
| +-------+---------------------------+-----------+ | +=======+===========================+===========+ | |||
| | Value | Meaning | Reference | | | Value | Meaning | Reference | | |||
| +-------+---------------------------+-----------+ | +=======+===========================+===========+ | |||
| | *3* | Registration for a prefix | This RFC | | | *3* | Registration for a Prefix | RFC 9926 | | |||
| +-------+---------------------------+-----------+ | +-------+---------------------------+-----------+ | |||
| Table 2: New P-Field value | Table 2: New P-Field Value | |||
| 13.2. New 6LoWPAN Capability Bit | 13.2. New 6LoWPAN Capability Bit | |||
| IANA is requested to make an addition to the "6LoWPAN Capability | IANA has made an addition to the "6LoWPAN Capability Bits" | |||
| Bits" [IANA.ICMP.6CIO] registry under the heading "Internet Control | [IANA.ICMP.6CIO] registry in the "Internet Control Message Protocol | |||
| Message Protocol version 6 (ICMPv6) Parameters" as indicated in | version 6 (ICMPv6) Parameters" registry group as indicated in | |||
| Table 3: | Table 3: | |||
| IANA is also requested to fix the description of bit 9 (the "A" flag | IANA has fixed the description of bit 9 (the "A" flag defined in | |||
| defined in [RFC8928]). It is not called "1" but "A". | [RFC8928]). It is not called "1" but "A". | |||
| +------------------+---------------------------+-----------+ | +======+=============================================+===========+ | |||
| | Bit | Description | Reference | | | Bit | Description | Reference | | |||
| +------------------+---------------------------+-----------+ | +======+=============================================+===========+ | |||
| | *9* | AP-ND Enabled (A bit) | [RFC8928] | | | *9* | AP-ND Enabled (A bit) | [RFC8928] | | |||
| +------------------+---------------------------+-----------+ | +------+---------------------------------------------+-----------+ | |||
| | *16 (suggested)* | Registration for prefixes | This RFC | | | *16* | Registration for prefixes Supported (F bit) | RFC 9926 | | |||
| | | Supported (F bit) | | | +------+---------------------------------------------+-----------+ | |||
| +------------------+---------------------------+-----------+ | ||||
| Table 3: New 6LoWPAN Capability Bit | Table 3: New 6LoWPAN Capability Bit | |||
| 14. Acknowledgments | 14. Normative References | |||
| Many thanks to Dave Thaler and Dan Romascanu for their early reviews, | ||||
| Adnan Rashid for all his contributions, and Eric Vyncke for his in- | ||||
| depth AD review. Many thanks as well to the reviewers of the IETF | ||||
| last call and IESG rounds, Dan Romascanu, Shuping Peng, Mohamed | ||||
| Boucadair, Paul Wouters, Ketan Talaulikar, Gunter Van de Velde, Mike | ||||
| Bishop, Roman Danyliw, ... | ||||
| 15. Normative References | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, | [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, | |||
| "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, | "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, | |||
| DOI 10.17487/RFC4861, September 2007, | DOI 10.17487/RFC4861, September 2007, | |||
| <https://www.rfc-editor.org/info/rfc4861>. | <https://www.rfc-editor.org/info/rfc4861>. | |||
| skipping to change at page 27, line 6 ¶ | skipping to change at line 1169 ¶ | |||
| (Routing Protocol for Low-Power and Lossy Networks) | (Routing Protocol for Low-Power and Lossy Networks) | |||
| Leaves", RFC 9010, DOI 10.17487/RFC9010, April 2021, | Leaves", RFC 9010, DOI 10.17487/RFC9010, April 2021, | |||
| <https://www.rfc-editor.org/info/rfc9010>. | <https://www.rfc-editor.org/info/rfc9010>. | |||
| [RFC9685] Thubert, P., Ed., "Listener Subscription for IPv6 Neighbor | [RFC9685] Thubert, P., Ed., "Listener Subscription for IPv6 Neighbor | |||
| Discovery Multicast and Anycast Addresses", RFC 9685, | Discovery Multicast and Anycast Addresses", RFC 9685, | |||
| DOI 10.17487/RFC9685, November 2024, | DOI 10.17487/RFC9685, November 2024, | |||
| <https://www.rfc-editor.org/info/rfc9685>. | <https://www.rfc-editor.org/info/rfc9685>. | |||
| [IANA.ICMP] | [IANA.ICMP] | |||
| IANA, "IANA Registry for ICMPv6", IANA, | IANA, "Internet Control Message Protocol version 6 | |||
| https://www.iana.org/assignments/icmpv6-parameters/ | (ICMPv6) Parameters", | |||
| icmpv6-parameters.xhtml. | <https://www.iana.org/assignments/icmpv6-parameters>. | |||
| [IANA.ICMP.6CIO] | [IANA.ICMP.6CIO] | |||
| IANA, "IANA Registry for the 6LoWPAN Capability Bits", | IANA, "6LoWPAN Capability Bits", | |||
| IANA, https://www.iana.org/assignments/icmpv6-parameters/ | <https://www.iana.org/assignments/icmpv6-parameters>. | |||
| icmpv6-parameters.xhtml#sixlowpan-capability-bits. | ||||
| [IANA.RPL] IANA, "IANA Registry for the RPL", | [IANA.RPL] IANA, "Routing Protocol for Low Power and Lossy Networks | |||
| IANA, https://www.iana.org/assignments/rpl/rpl.xhtml. | (RPL)", <https://www.iana.org/assignments/rpl>. | |||
| 16. Informative References | 15. Informative References | |||
| [BCP38] Ferguson, P. and D. Senie, "Network Ingress Filtering: | [BCP38] Best Current Practice 38, | |||
| <https://www.rfc-editor.org/info/bcp38>. | ||||
| At the time of writing, this BCP comprises the following: | ||||
| Ferguson, P. and D. Senie, "Network Ingress Filtering: | ||||
| Defeating Denial of Service Attacks which employ IP Source | Defeating Denial of Service Attacks which employ IP Source | |||
| Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827, | Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827, | |||
| May 2000, <https://www.rfc-editor.org/info/rfc2827>. | May 2000, <https://www.rfc-editor.org/info/rfc2827>. | |||
| [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and | [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and | |||
| More-Specific Routes", RFC 4191, DOI 10.17487/RFC4191, | More-Specific Routes", RFC 4191, DOI 10.17487/RFC4191, | |||
| November 2005, <https://www.rfc-editor.org/info/rfc4191>. | November 2005, <https://www.rfc-editor.org/info/rfc4191>. | |||
| [RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 | [RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 | |||
| over Low-Power Wireless Personal Area Networks (6LoWPANs): | over Low-Power Wireless Personal Area Networks (6LoWPANs): | |||
| skipping to change at page 28, line 5 ¶ | skipping to change at line 1217 ¶ | |||
| Richardson, M., Jiang, S., Lemon, T., and T. Winters, | Richardson, M., Jiang, S., Lemon, T., and T. Winters, | |||
| "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | |||
| RFC 8415, DOI 10.17487/RFC8415, November 2018, | RFC 8415, DOI 10.17487/RFC8415, November 2018, | |||
| <https://www.rfc-editor.org/info/rfc8415>. | <https://www.rfc-editor.org/info/rfc8415>. | |||
| [RFC9030] Thubert, P., Ed., "An Architecture for IPv6 over the Time- | [RFC9030] Thubert, P., Ed., "An Architecture for IPv6 over the Time- | |||
| Slotted Channel Hopping Mode of IEEE 802.15.4 (6TiSCH)", | Slotted Channel Hopping Mode of IEEE 802.15.4 (6TiSCH)", | |||
| RFC 9030, DOI 10.17487/RFC9030, May 2021, | RFC 9030, DOI 10.17487/RFC9030, May 2021, | |||
| <https://www.rfc-editor.org/info/rfc9030>. | <https://www.rfc-editor.org/info/rfc9030>. | |||
| [I-D.ietf-6man-ipv6-over-wireless] | [IPv6-over-NBMA] | |||
| Thubert, P. and M. Richardson, "Architecture and Framework | Thubert, P. and M. Richardson, "Architecture and Framework | |||
| for IPv6 over Non-Broadcast Access", Work in Progress, | for IPv6 over Non-Broadcast Access", Work in Progress, | |||
| Internet-Draft, draft-ietf-6man-ipv6-over-wireless-08, 19 | Internet-Draft, draft-ietf-6man-ipv6-over-wireless-09, 9 | |||
| May 2025, <https://datatracker.ietf.org/doc/html/draft- | November 2025, <https://datatracker.ietf.org/doc/html/ | |||
| ietf-6man-ipv6-over-wireless-08>. | draft-ietf-6man-ipv6-over-wireless-09>. | |||
| [IEEE802154] | [IEEE802154] | |||
| IEEE standard for Information Technology, "IEEE Std | IEEE, "IEEE Standard for Information technology -- Local | |||
| 802.15.4, Part. 15.4: Wireless Medium Access Control (MAC) | and metropolitan area networks -- Specific requirements -- | |||
| and Physical Layer (PHY) Specifications for Low-Rate | Part 15.4: Wireless Medium Access Control (MAC) and | |||
| Wireless Personal Area Networks". | Physical Layer (PHY) Specifications for Low Rate Wireless | |||
| Personal Area Networks (WPANs)", IEEE Std 802.15.4-2006, | ||||
| DOI 10.1109/IEEESTD.2006.232110, 2006, | ||||
| <https://ieeexplore.ieee.org/document/1700009>. | ||||
| [IEEE80211] | [IEEE80211] | |||
| IEEE standard for Information Technology, "IEEE Standard | IEEE, "IEEE Standard for Information Technology -- | |||
| 802.11 - IEEE Standard for Information Technology - | Telecommunications and Information Exchange between | |||
| Telecommunications and information exchange between | Systems - Local and Metropolitan Area Networks -- Specific | |||
| systems Local and metropolitan area networks - Specific | Requirements - Part 11: Wireless LAN Medium Access Control | |||
| requirements - Part 11: Wireless LAN Medium Access Control | (MAC) and Physical Layer (PHY) Specifications", IEEE | |||
| (MAC) and Physical Layer (PHY) Specifications.", | Std 802.11-2022, DOI 10.1109/IEEESTD.2021.9363693, | |||
| <https://ieeexplore.ieee.org/document/9363693>. | <https://ieeexplore.ieee.org/document/9363693>. | |||
| [WI-SUN] "Wi-SUN Alliance", <https://wi-sun.org/>. | [WI-SUN] "Wi-SUN Alliance", <https://wi-sun.org/>. | |||
| [IEEE802151] | [IEEE802151] | |||
| IEEE standard for Information Technology, "IEEE Standard | IEEE, "IEEE Standard for Telecommunications and | |||
| for Information Technology - Telecommunications and | Information Exchange Between Systems - LAN/MAN - Specific | |||
| Information Exchange Between Systems - Local and | Requirements - Part 15: Wireless Medium Access Control | |||
| Metropolitan Area Networks - Specific Requirements. - Part | (MAC) and Physical Layer (PHY) Specifications for Wireless | |||
| 15.1: Wireless Medium Access Control (MAC) and Physical | Personal Area Networks (WPANs)", IEEE Std 802.15.1-2002, | |||
| Layer (PHY) Specifications for Wireless Personal Area | DOI 10.1109/IEEESTD.2002.93621, 2002, | |||
| Networks (WPANs)". | <https://ieeexplore.ieee.org/document/1016473>. | |||
| Acknowledgments | ||||
| Many thanks to Dave Thaler and Dan Romascanu for their early reviews, | ||||
| Adnan Rashid for all his contributions, and Éric Vyncke for his in- | ||||
| depth AD review. Many thanks as well to the reviewers of the IETF | ||||
| Last Call and IESG rounds: Dan Romascanu, Shuping Peng, Mohamed | ||||
| Boucadair, Paul Wouters, Ketan Talaulikar, Gunter Van de Velde, Mike | ||||
| Bishop, and Roman Danyliw. | ||||
| Author's Address | Author's Address | |||
| Pascal Thubert (editor) | Pascal Thubert (editor) | |||
| 06330 Roquefort-les-Pins | 06330 Roquefort-les-Pins | |||
| France | France | |||
| Email: pascal.thubert@gmail.com | Email: pascal.thubert@gmail.com | |||
| End of changes. 108 change blocks. | ||||
| 372 lines changed or deleted | 370 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||