RFC 9010: Routing For RPL (Routing Protocol For Low-Power And Lossy .

Transcription

:Internet Engineering Task Force (IETF)90106550, 6775, 8505Standards TrackApril 20212070-1721P. Thubert, Ed.M. RichardsonCisco SystemsSandelmanRFC 9010Routing for RPL (Routing Protocol for Low-Powerand Lossy Networks) LeavesAbstractThis specification provides a mechanism for a host that implements a routing-agnostic interfacebased on IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discoveryto obtain reachability services across a network that leverages RFC 6550 for its routingoperations. It updates RFCs 6550, 6775, and 8505.Status of This MemoThis is an Internet Standards Track document.This document is a product of the Internet Engineering Task Force (IETF). It represents theconsensus of the IETF community. It has received public review and has been approved forpublication by the Internet Engineering Steering Group (IESG). Further information on InternetStandards is available in Section 2 of RFC 7841.Information about the current status of this document, any errata, and how to provide feedbackon it may be obtained at https://www.rfc-editor.org/info/rfc9010.Copyright NoticeCopyright (c) 2021 IETF Trust and the persons identified as the document authors. All rightsreserved.This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETFDocuments (https://trustee.ietf.org/license-info) in effect on the date of publication of thisdocument. Please review these documents carefully, as they describe your rights and restrictionswith respect to this document. Code Components extracted from this document must includeSimplified BSD License text as described in Section 4.e of the Trust Legal Provisions and areprovided without warranty as described in the Simplified BSD License.Thubert & RichardsonStandards TrackPage 1

RFC 9010RPL-Unaware LeavesApril 2021Table of Contents1. Introduction2. Terminology2.1. Requirements Language2.2. Glossary2.3. Related Documents3. RPL External Routes and Data-Plane Artifacts4. 6LoWPAN Neighbor Discovery4.1. Address Registration per RFC 67754.2. Extended Address Registration per RFC 85054.2.1. R Flag4.2.2. TID, "I" Field, and Opaque Field4.2.3. Route Ownership Verifier4.3. EDAR/EDAC per RFC 85054.3.1. Capability Indication Option per RFC 74005. Requirements for the RPL-Unaware Leaf5.1. Support of 6LoWPAN ND5.2. Support of IPv6 Encapsulation5.3. Support of the Hop-by-Hop Header5.4. Support of the Routing Header6. Enhancements to RFC 65506.1. Updated RPL Target Option6.2. Additional Flag in the RPL DODAG Configuration Option6.3. Updated RPL Status7. Enhancements to RFC 90098. Enhancements to RFCs 6775 and 85059. Protocol Operations for Unicast Addresses9.1. General FlowThubert & RichardsonStandards TrackPage 2

RFC 9010RPL-Unaware LeavesApril 20219.2. Detailed Operation9.2.1. Perspective of the 6LN Acting as a RUL9.2.2. Perspective of the 6LR Acting as a Border Router9.2.3. Perspective of the RPL DODAG Root9.2.4. Perspective of the 6LBR10. Protocol Operations for Multicast Addresses11. Security Considerations12. IANA Considerations12.1. Fixing the Address Registration Option Flags12.2. Resizing the ARO Status Values12.3. New RPL DODAG Configuration Option Flag12.4. RPL Target Option Flags Registry12.5. New Subregistry for RPL Non-Rejection Status Values12.6. New Subregistry for RPL Rejection Status Values13. References13.1. Normative References13.2. Informative ReferencesAppendix A. Example CompressionAcknowledgmentsAuthors' Addresses1. IntroductionThe design of Low-Power and Lossy Networks (LLNs) is generally focused on saving energy,which is the most constrained resource of all. Other design constraints, such as a limited memorycapacity, duty cycling of the LLN devices, and low-power lossy transmissions, derive from thatprimary concern.The IETF produced "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks" [RFC6550]to provide routing services for IPv6 [RFC8200] within such constraints. RPL belongs to the classof distance-vector protocols -- which, compared to link-state protocols, limit the amount oftopological knowledge that needs to be installed and maintained in each node -- and does notrequire convergence to avoid micro-loops.Thubert & RichardsonStandards TrackPage 3

RFC 9010RPL-Unaware LeavesApril 2021To save signaling and routing state in constrained networks, RPL allows a path stretch (see[RFC6687]), whereby routing is only performed along a Destination-Oriented Directed AcyclicGraph (DODAG) that is optimized to reach a root node, as opposed to along the shortest pathbetween two peers, whatever that would mean in a given LLN. This trades the quality of peer-topeer (P2P) paths for a vastly reduced amount of control traffic and routing state that would berequired to operate an any-to-any shortest-path protocol. Additionally, broken routes may befixed lazily and on demand, based on data-plane inconsistency discovery, which avoids wastingenergy in the proactive repair of unused paths.For many of the nodes, though not all, the DODAG provides multiple forwarding solutionstowards the root of the topology via so-called parents. RPL installs the routes proactively, but toadapt to fuzzy connectivity -- whereby the physical topology cannot be expected to reach a stablestate -- it uses a lazy route maintenance operation that may only fix them reactively, upon actualtraffic. The result is that RPL provides reachability for most of the LLN nodes, most of the time,but may not converge in the classical sense.RPL can be deployed in conjunction with IPv6 Neighbor Discovery (ND) [RFC4861] [RFC4862] andIPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) ND [RFC6775] [RFC8505] tomaintain reachability within a Non-Broadcast Multi-Access (NBMA) multi-link subnet.In that mode, IPv6 addresses are advertised individually as host routes. Some nodes may act asrouters and participate in the forwarding operations, whereas others will only receive/originatepackets, acting as hosts in the data plane. Per the terminology of [RFC6550], an IPv6 host[RFC8504] that is reachable over the RPL network is called a "leaf".Section 2 of [RFC9008] defines the terms "RPL leaf", "RPL-Aware Leaf" (RAL), and "RPL-UnawareLeaf" (RUL). A RPL leaf is a host attached to one or more RPL routers; as such, it relies on the RPLrouter(s) to forward its traffic across the RPL domain but does not forward traffic from anothernode. As opposed to the RAL, the RUL does not participate in RPL and relies on its RPL router(s)to also inject the routes to its IPv6 addresses in the RPL domain.A RUL may be unable to participate because it is very energy constrained or code-spaceconstrained, or because it would be unsafe to let it inject routes in RPL. Using 6LoWPAN ND asopposed to RPL as the host-to-router interface limits the surface of the possible attacks by theRUL against the RPL domain. If all RULs and RPL-Aware Nodes (RANs) use 6LoWPAN ND for theneighbor discovery process, it is also possible to protect the address ownership of all nodes,including the RULs.This document specifies how the router injects the host routes in the RPL domain on behalf of theRUL. Section 5 details how the RUL can leverage 6LoWPAN ND to obtain the routing servicesfrom the router. In that model, the RUL is also a 6LoWPAN Node (6LN) and the RPL-aware routeris also a 6LoWPAN Router (6LR). Using the 6LoWPAN ND Address Registration mechanism, theRUL signals that the router must inject a host route for the Registered Address.Thubert & RichardsonStandards TrackPage 4

RFC 9010RPL-Unaware LeavesApril 2021------ -------- Internet ----- ------------- 6LBR / RPL DODAG Root ----- ooo o RPLo oo oo ooo o o o o ooo oo o ooooooo o oo oo ooo o 6LoWPAN NDo o o ooo oooovooo ------------- 6LR / RPL Border Router 6LoWPAN ND onlyvu ------------- 6LN / RPL-Unaware LeafFigure 1: Injecting Routes on Behalf of RULsThe RPL Non-Storing mode mechanism is used to extend the routing state with connectivity tothe RULs even when the DODAG is operated in Storing mode. The unicast packet-forwardingoperation by the 6LR serving a RUL is described in Section 4.1.1 of [RFC9008].Examples of possible RULs include severely energy-constrained sensors such as window smashsensors (alarm system) and kinetically powered light switches. Other applications of thisspecification may include a smart grid network that controls appliances -- such as washingmachines or the heating system -- in the home. Appliances may not participate in the RPLprotocol operated in the smart grid network but can still interact with the smart grid for controland/or metering.This specification can be deployed incrementally in a network that implements [RFC9008]. Onlythe root and the 6LRs that connect the RULs need to be upgraded. The RPL routers on the pathwill only see unicast IPv6 traffic between the root and the 6LR.This document is organized as follows: Sections 3 and 4 present in a non-normative fashion the salient aspects of RPL and 6LoWPANND, respectively, that are leveraged in this specification to provide connectivity to a 6LNacting as a RUL across a RPL network. Section 5 lists the requirements that a RUL needs to match in order to be served by a RPLrouter that complies with this specification. Section 6 presents the changes made to [RFC6550]; a new behavior is introduced wherebythe 6LR advertises the 6LN's addresses in a RPL Destination Advertisement Object (DAO)message based on the ND registration by the 6LN, and the RPL DODAG root performs theExtended Duplicate Address Request / Extended Duplicate Address Confirmation (EDAR/EDAC) exchange with the 6LoWPAN Border Router (6LBR) on behalf of the 6LR;Thubert & RichardsonStandards TrackPage 5

RFC 9010RPL-Unaware LeavesApril 2021modifications are introduced to some RPL options and to the RPL Status to facilitate theintegration of the protocols. Section 7 presents the changes made to [RFC9009]; the use of the Destination Cleanup Object(DCO) message is extended to the Non-Storing RPL Mode of Operation (MOP) to reportasynchronous issues from the root to the 6LR. Section 8 presents the changes made to [RFC6775] and [RFC8505]; the range of the AddressRegistration Option / Extended Address Registration Option (ARO/EARO) Status values isreduced to 64 values, and the remaining bits in the original status field are now reserved. Sections 9 and 10 present the operation of this specification for unicast and multicast flows,respectively, and Section 11 presents associated security considerations.2. Terminology2.1. Requirements LanguageThe key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULDNOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are tobe interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear inall capitals, as shown here.2.2. GlossaryThis document uses the following abbreviations:6BBR: 6LoWPAN Backbone Router6CIO: 6LoWPAN Capability Indication Option6LBR: 6LoWPAN Border Router6LN: 6LoWPAN Node (a low-power host or router)6LoRH: 6LoWPAN Routing Header6LoWPAN: IPv6 over Low-Power Wireless Personal Area Network6LR: 6LoWPAN RouterAP-ND: Address-Protected Neighbor DiscoveryARO: Address Registration OptionDAC: Duplicate Address ConfirmationDAD: Duplicate Address DetectionDAO: Destination Advertisement Object (a RPL message)DAR: Duplicate Address RequestDCO: Destination Cleanup Object (a RPL message)DIO: DODAG Information Object (a RPL message)DODAG: Destination-Oriented Directed Acyclic GraphEARO: Extended Address Registration OptionEDAC: Extended Duplicate Address ConfirmationEDAR: Extended Duplicate Address RequestEUI: Extended Unique IdentifierLLN: Low-Power and Lossy NetworkThubert & RichardsonStandards TrackPage 6

RFC 9010RPL-Unaware LeavesApril 2021MLD: Multicast Listener DiscoveryMOP: RPL Mode of OperationNA: Neighbor AdvertisementNBMA: Non-Broadcast Multi-AccessNCE: Neighbor Cache EntryND: Neighbor DiscoveryNS: Neighbor SolicitationPIO: Prefix Information OptionRA: Router AdvertisementRAL: RPL-Aware LeafRAN: RPL-Aware Node (either a RPL router or a RPL-Aware Leaf)RH3: Routing Header for IPv6 (type 3)ROVR: Registration Ownership VerifierRPI: RPL Packet InformationRPL: Routing Protocol for Low-Power and Lossy NetworksRUL: RPL-Unaware LeafSAVI: Source Address Validation ImprovementSLAAC: Stateless Address AutoconfigurationSRH: Source Routing HeaderTID: Transaction ID (a sequence counter in the EARO)TIO: Transit Information Option2.3. Related DocumentsThe terminology used in this document is consistent with, and incorporates the terms providedin, "Terms Used in Routing for Low-Power and Lossy Networks" [RFC7102]. A glossary of classical6LoWPAN abbreviations is given in Section 2.2. Other terms in use in LLNs are found in"Terminology for Constrained-Node Networks" [RFC7228]. This specification uses the terms "6LN"and "6LR" to refer specifically to nodes that implement the 6LN and 6LR roles in 6LoWPAN NDand does not expect other functionality such as 6LoWPAN Header Compression [RFC6282] fromthose nodes."RPL", "RPI", "RPL Instance" (indexed by a RPLInstanceID), "up", and "down" are defined in "RPL:IPv6 Routing Protocol for Low-Power and Lossy Networks" [RFC6550]. The RPI is the abstractinformation that RPL defines to be placed in data packets, e.g., as the RPL Option [RFC6553]within the IPv6 Hop-By-Hop Header. By extension, the term "RPI" is often used to refer to the RPLOption itself. The DAO and DIO messages are also specified in [RFC6550]. The DCO message isdefined in [RFC9009].This document uses the terms "RUL", "RAN", and "RAL" consistently with [RFC9008]. A RAN iseither a RAL or a RPL router. As opposed to a RUL, a RAN manages the reachability of itsaddresses and prefixes by injecting them in RPL by itself.In this document, readers will encounter terms and concepts that are discussed in the followingdocuments:Thubert & RichardsonStandards TrackPage 7

RFC 9010RPL-Unaware LeavesApril 2021Classical IPv6 ND: "Neighbor Discovery for IP version 6 (IPv6)" [RFC4861] and "IPv6 StatelessAddress Autoconfiguration" [RFC4862],6LoWPAN: "Problem Statement and Requirements for IPv6 over Low-Power Wireless PersonalArea Network (6LoWPAN) Routing" [RFC6606] and "IPv6 over Low-Power Wireless PersonalArea Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals"[RFC4919], and6LoWPAN ND: "Neighbor Discovery Optimization for IPv6 over Low-Power Wireless PersonalArea Networks (6LoWPANs)" [RFC6775], "Registration Extensions for IPv6 over Low-PowerWireless Personal Area Network (6LoWPAN) Neighbor Discovery" [RFC8505], "AddressProtected Neighbor Discovery for Low-Power and Lossy Networks" [RFC8928], and "IPv6Backbone Router" [RFC8929].3. RPL External Routes and Data-Plane ArtifactsRPL was initially designed to build stub networks whereby the only border router would be theRPL DODAG root (typically co-located with the 6LBR) and all the nodes in the stub would be RPLaware. But [RFC6550] was also prepared to be extended for external routes ("targets" in RPLparlance), via the External ('E') flag in the Transit Information Option (TIO). External targetsprovide the ability to reach destinations that are outside the RPL domain and connected to theRPL domain via RPL border routers that are not the root. Section 4.1 of [RFC9008] provides a setof rules (summarized below) that must be followed for routing packets to and from an externaldestination. A RUL is a special case of an external target that is also a host directly connected tothe RPL domain.A 6LR that acts as a border router for external routes advertises them using Non-Storing modeDAO messages that are unicast directly to the root, even if the DODAG is operated in Storingmode. Non-Storing mode routes are not visible inside the RPL domain, and all packets are routedvia the root. The RPL DODAG root tunnels the data packets directly to the 6LR that advertised theexternal route, which decapsulates and forwards the original (inner) packets.The RPL Non-Storing MOP signaling and the associated IPv6-in-IPv6 encapsulated packets appearas normal traffic to the intermediate routers. Support of external routes only impacts the rootand the 6LR. It can be operated with legacy intermediate routers and does not add to the amountof state that must be maintained in those routers. A RUL is an example of a destination that isreachable via an external route that happens to also be a host route.The RPL data packets typically carry a Hop-by-Hop Header with a RPL Option [RFC6553] thatcontains the RPI (the RPL Packet Information, as defined in Section 11.2 of [RFC6550]). Unless theRUL already placed a RPL Option in the outer header chain, the packets from and to the RUL areencapsulated using an IPv6-in-IPv6 tunnel between the root and the 6LR that serves the RUL (seeSections 7 and 8 of [RFC9008] for details). If the packet from the RUL has an RPI, the 6LR acting asa RPL border router rewrites the RPI to indicate the selected RPL Instance and set the flags, but itdoes not need to encapsulate the packet (see Section 9.2.2).Thubert & RichardsonStandards TrackPage 8

RFC 9010RPL-Unaware LeavesApril 2021In Non-Storing mode, packets going down the DODAG carry a Source Routing Header (SRH). TheIPv6-in-IPv6 encapsulation, the RPI, and the SRH are collectively called the "RPL artifacts" andcan be compressed using the method defined in [RFC8138]. Appendix A presents an examplecompressed format for a packet forwarded by the root to a RUL in a Storing mode DODAG.The inner packet that is forwarded to the RUL may carry some RPL artifacts, e.g., an RPI if theoriginal packet was generated with it, and an SRH in a Non-Storing mode DODAG. [RFC9008]expects the RUL to support the basic IPv6 node requirements per [RFC8504] and, in particular,the mandates in Sections 4.2 and 4.4 of [RFC8200]. As such, the RUL is expected to ignore the RPLartifacts that may be left over -- either an SRH whose Segments Left is zero or a RPL Option in theHop-by-Hop Header (which can be skipped when not recognized; see Section 5.3 for details).A RUL is not expected to support the compression method defined in [RFC8138]. For that reason,the border router (the 6LR here) uncompresses the packet before forwarding it over an externalroute to a RUL [RFC9008].4. 6LoWPAN Neighbor DiscoveryThis section goes through the 6LoWPAN ND mechanisms that this specification leverages, as anon-normative reference to the reader. The full normative text is to be found in [RFC6775],[RFC8505], and [RFC8928].4.1. Address Registration per RFC 6775The classical IPv6 Neighbor Discovery (IPv6 ND) protocol [RFC4861] [RFC4862] was defined forserial links and transit media such as Ethernet. It is a reactive protocol that relies heavily onmulticast operations for Address Discovery (aka address lookup) and Duplicate AddressDetection (DAD)."Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks(6LoWPANs)" [RFC6775] adapts IPv6 ND for operations over energy-constrained LLNs. The mainfunctions of [RFC6775] are to proactively establish the Neighbor Cache Entry (NCE) in the 6LRand to prevent address duplication. To that effect, [RFC6775] introduces a unicast AddressRegistration mechanism that contributes to reducing the use of multicast messages compared tothe classical IPv6 ND protocol.[RFC6775] also introduces the Address Registration Option (ARO), which is carried in the unicastNeighbor Solicitation (NS) and Neighbor Advertisement (NA) messages between the 6LoWPANNode (6LN) and the 6LoWPAN router (6LR). It also defines the Duplicate Address Request (DAR)and Duplicate Address Confirmation (DAC) messages between the 6LR and the 6LBR). In an LLN,the 6LBR is the central repository of all the Registered Addresses in its domain and the source oftruth for uniqueness and ownership.Thubert & RichardsonStandards TrackPage 9

RFC 9010RPL-Unaware LeavesApril 20214.2. Extended Address Registration per RFC 8505"Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN)Neighbor Discovery" [RFC8505] updates RFC 6775 with a generic Address Registrationmechanism that can be used to access services such as routing and ND proxy functions. To thateffect, [RFC8505] defines the Extended Address Registration Option (EARO), as shown in Figure 2:01230 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Type Length Status Opaque - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Rsvd I R T TID Registration Lifetime - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .Registration Ownership Verifier (ROVR). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Figure 2: EARO Format4.2.1. R Flag[RFC8505] introduces the R flag in the EARO. The Registering Node sets the R flag to indicatewhether the 6LR should ensure reachability for the Registered Address. If the R flag is set to 0,then the Registering Node handles the reachability of the Registered Address by other means. Ina RPL network, this means that either it is a RAN that injects the route by itself or it uses anotherRPL router for reachability services.This document specifies how the R flag is used in the context of RPL. A RPL leaf that implementsthe 6LN functionality from [RFC8505] requires reachability services for an IPv6 address if andonly if it sets the R flag in the NS(EARO) used to register the address to a 6LR acting as a RPLborder router. Upon receiving the NS(EARO), the RPL router generates a DAO message for theRegistered Address if and only if the R flag is set to 1.Section 9.2 specifies additional operations when the R flag is set to 1 in an EARO that is placed ineither an NS message or an NA message.4.2.2. TID, "I" Field, and Opaque FieldWhen the T flag is set to 1, the EARO includes a sequence counter called the "Transaction ID"(TID), which is needed to fill the Path Sequence field in the RPL Transit Information Option (TIO).For this reason, support of [RFC8505] by the RUL, as opposed to only [RFC6775], is a prerequisitefor this specification; this requirement is fully explained in Section 5.1. The EARO also transportsan Opaque field and an associated "I" field that describes what the Opaque field transports andhow to use it.Section 9.2.1 specifies the use of the "I" field and the Opaque field by a RUL.Thubert & RichardsonStandards TrackPage 10

RFC 9010RPL-Unaware LeavesApril 20214.2.3. Route Ownership VerifierSection 5.3 of [RFC8505] introduces the Registration Ownership Verifier (ROVR) field, which has avariable length of 64 to 256 bits. The ROVR replaces the 64-bit Extended Unique Identifier(EUI‑64) in the ARO [RFC6775], which was used to uniquely identify an Address Registration withthe link-layer address of the owner but provided no protection against spoofing."Address-Protected Neighbor Discovery for Low-Power and Lossy Networks" [RFC8928] leveragesthe ROVR field as a cryptographic proof of ownership to prevent a rogue third party fromregistering an address that is already owned. The use of the ROVR field enables the 6LR to blocktraffic that is not sourced at an owned address.This specification does not address how the protection offered by [RFC8928] could be extendedfor use in RPL. On the other hand, it adds the ROVR to the DAO to build the proxied EDAR at theroot (see Section 6.1), which means that nodes that are aware of the host route are also aware ofthe ROVR associated to the Target Address.4.3. EDAR/EDAC per RFC 8505[RFC8505] updates the DAR/DAC messages to EDAR/EDAC messages to carry the ROVR field. TheEDAR/EDAC exchange takes place between the 6LR and the 6LBR. It is triggered by an NS(EARO)message from a 6LN to create, refresh, and delete the corresponding state in the 6LBR. Theexchange is protected by the retry mechanism specified in Section 8.2.6 of [RFC6775], though inan LLN, a duration longer than the default value of the RetransTimer (RETRANS TIMER)[RFC4861] of 1 second may be necessary to cover the round-trip delay between the 6LR and the6LBR.RPL [RFC6550] specifies a periodic DAO from the 6LN all the way to the root that maintains therouting state in the RPL network for the lifetime indicated by the source of the DAO. This meansthat for each address, there are two keep-alive messages that traverse the whole network: one tothe root and one to the 6LBR.This specification avoids the periodic EDAR/EDAC exchange across the LLN. The 6LR turns theperiodic NS(EARO) from the RUL into a DAO message to the root on every refresh, but it onlygenerates the EDAR upon the first registration, for the purpose of DAD, which must be verifiedbefore the address is injected in RPL. Upon the DAO message, the root proxies the EDARexchange to refresh the state at the 6LBR on behalf of the 6LR, as illustrated in Figure 8 in Section9.1.4.3.1. Capability Indication Option per RFC 7400"6LoWPAN-GHC: Generic Header Compression for IPv6 over Low-Power Wireless Personal AreaNetworks (6LoWPANs)" [RFC7400] defines the 6LoWPAN Capability Indication Option (6CIO),which enables a node to expose its capabilities in Router Advertisement (RA) messages.[RFC8505] defines a number of bits in the 6CIO; in particular:Thubert & RichardsonStandards TrackPage 11

RFC 9010L:E:P:RPL-Unaware LeavesApril 2021The node is a 6LR.The node is an IPv6 ND Registrar -- i.e., it supports registrations based on EARO.The node is a Routing Registrar -- i.e., an IPv6 ND Registrar that also provides reachabilityservices for the Registered Address.01230 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Type Length 1 Reserved D L B P E G - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reserved - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Figure 3: 6CIO FlagsA 6LR that provides reachability services for a RUL in a RPL network as specified in thisdocument includes a 6CIO in its RA messages and set the L, P, and E flags to 1 as prescribed by[RFC8505]; this is fully explained in Section 9.2.5. Requirements for the RPL-Unaware LeafThis document describes how RPL routing can be extended to reach a RUL. This section specifiesthe minimal RPL-independent functionality that the RUL needs to implement in order to obtainrouting services for its addresses.5.1. Support of 6LoWPAN NDTo obtain routing services from a router that implements this specification, a RUL needs toimplement [RFC8505] and sets the "R" and "T" flags in the EARO to 1 as discussed in Sections 4.2.1and 4.2.2, respectively. Section 9.2.1 specifies new behaviors for the RUL, e.g., when the R flag setto 1 in an NS(EARO) is not echoed in the NA(EARO), which indicates that the route injectionfailed.The RUL is expected to request routing services from a router only if that router originates RAmessages with a 6CIO that has the L, P, and E flags all set to 1 as discussed in Section 4.3.1, unlessconfigured to do so. It is suggested that the RUL also implement [RFC8928] to protect theownership of its addresses.A RUL that may attach to multiple 6LRs is expected to prefer those that provide routing services.The RUL needs to register with all the 6LRs from which it desires routing services.Parallel Address Registrations to several 6LRs should be performed in a rapid sequence, usingthe same EARO for the same address. Gaps between the Address Registrations will invalidatesome of the routes until the Address Registration finally shows on those routes.[RFC8505] introduces error Status values in the NA(EARO) that can be received synchronouslyupon an NS(EARO) or asynchronously. The RUL needs to support both cases and refrain fromusing the address when the Status value indicates a rejection (see Section 6.3).Thubert & RichardsonStandards TrackPage 12

RFC 9010RPL-Unaware LeavesApril 20215.2. Support of IPv6 EncapsulationSection 4.1.1 of [RFC9008] defines the rules for signaling an external destination (e.g., a RUL) andtunneling to its attachment router (designated as a 6LR). In order to terminate the IPv6-in-IPv6tunnel, the RUL, as an IPv6 host, would have to be capable of decapsulating the tunneled packetand either drop the encapsulated packet if it is not the final destination or pass it to the upperlayer for further processing. As indicated in Section 4.1 of [RFC9008], this is not mandated by[RFC8504], and the IPv6-in-IPv6 tunnel from the root is terminated at the parent 6LR. It is thusnot necessary for a RUL to support IPv6-in-IPv6 decapsulation.5.3. Support of the Hop-by-Hop HeaderA RUL is expected to process an Option Type in a Hop-by-Hop Header as prescribed by Section4.2 of [RFC8200]. An RPI with an Option Type of 0x23 [RFC9008] is thus skipped when notrecognized.5.4. Support of the Routing HeaderA RUL is expected to process an unknown Routing Header Type as prescribed by Section 4.4 of[RFC8200]. This implies that the SRH, which has a Routing Type of 3 [RFC6554], is ignored whenSegments Left is zero. When Segments Left is non-zero, the RUL discards the packet and sends anICMP Parameter Problem message with Code 0 to the packet's source address, pointing to theunrecognized Routing Type.6. Enhancements to RFC 6550This document specifies a new behavior whereby a 6LR injects DAO messages for unicastaddresses (see Section 9) and multicast addresses (see Section 10) on behalf of leaves that are notaware of RPL. The RUL addresses are exposed as external targets [RFC6550]. Conforming to[RFC9008], IPv6-in-IPv6 encapsulation between the 6LR and the RPL DODAG root is used to carrythe RPL artifacts and remove them when forwarding outside the RPL domain, e.g., to a RUL.This document also synchronizes the liveness monitoring at the root and the 6LBR. The samelifetime value is used for both, and a single keep-alive message, the RPL DAO, traverses the RPLnetwork. Another new behavior is introduced whereby the RPL DODAG root proxies the EDARmessage to the 6LBR on behalf of

Leaf" (RUL). A RPL leaf is a host attached to one or more RPL routers; as such, it relies on the RPL router(s) to forward its traffic across the RPL domain but does not forward traffic from another . specification may include a smart grid network that controls appliances -- such as washing machines or the heating system -- in the home .