idnits 2.17.1 draft-ietf-6lo-rfc6775-update-10.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 13, 2017) is 2386 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'Perlman83' is mentioned on line 1354, but not defined == Missing Reference: 'IEEEstd802154' is mentioned on line 1567, but not defined == Outdated reference: A later version (-23) exists of draft-ietf-6lo-ap-nd-03 == Outdated reference: A later version (-20) exists of draft-ietf-6lo-backbone-router-04 == Outdated reference: A later version (-22) exists of draft-ietf-6lo-nfc-07 == Outdated reference: A later version (-30) exists of draft-ietf-6tisch-architecture-12 -- Obsolete informational reference (is this intentional?): RFC 4941 (Obsoleted by RFC 8981) Summary: 0 errors (**), 0 flaws (~~), 7 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 6lo P. Thubert, Ed. 3 Internet-Draft cisco 4 Updates: 6775 (if approved) E. Nordmark 5 Intended status: Standards Track 6 Expires: April 16, 2018 S. Chakrabarti 8 C. Perkins 9 Futurewei 10 October 13, 2017 12 An Update to 6LoWPAN ND 13 draft-ietf-6lo-rfc6775-update-10 15 Abstract 17 This specification updates RFC 6775 - 6LoWPAN Neighbor Discovery, to 18 clarify the role of the protocol as a registration technique, 19 simplify the registration operation in 6LoWPAN routers, as well as to 20 provide enhancements to the registration capabilities and mobility 21 detection for different network topologies including the backbone 22 routers performing proxy Neighbor Discovery in a low power network. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on April 16, 2018. 41 Copyright Notice 43 Copyright (c) 2017 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 59 2. Applicability of Address Registration Options . . . . . . . . 3 60 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 61 4. Updating RFC 6775 . . . . . . . . . . . . . . . . . . . . . . 6 62 4.1. Extended Address Registration Option (EARO) . . . . . . . 7 63 4.2. Transaction ID . . . . . . . . . . . . . . . . . . . . . 7 64 4.2.1. Comparing TID values . . . . . . . . . . . . . . . . 7 65 4.3. Owner Unique ID . . . . . . . . . . . . . . . . . . . . . 9 66 4.4. Extended Duplicate Address Messages . . . . . . . . . . . 10 67 4.5. Registering the Target Address . . . . . . . . . . . . . 10 68 4.6. Link-Local Addresses and Registration . . . . . . . . . . 11 69 4.7. Maintaining the Registration States . . . . . . . . . . . 12 70 5. Detecting Enhanced ARO Capability Support . . . . . . . . . . 14 71 6. Extended ND Options And Messages . . . . . . . . . . . . . . 14 72 6.1. Enhanced Address Registration Option (EARO) . . . . . . . 14 73 6.2. Extended Duplicate Address Message Formats . . . . . . . 17 74 6.3. New 6LoWPAN Capability Bits in the Capability Indication 75 Option . . . . . . . . . . . . . . . . . . . . . . . . . 18 76 7. Backward Compatibility . . . . . . . . . . . . . . . . . . . 18 77 7.1. Discovering the capabilities of an ND peer . . . . . . . 18 78 7.1.1. Using the "E" Flag in the 6CIO . . . . . . . . . . . 19 79 7.1.2. Using the "T" Flag in the EARO . . . . . . . . . . . 19 80 7.2. Legacy 6LoWPAN Node . . . . . . . . . . . . . . . . . . . 20 81 7.3. Legacy 6LoWPAN Router . . . . . . . . . . . . . . . . . . 20 82 7.4. Legacy 6LoWPAN Border Router . . . . . . . . . . . . . . 21 83 8. Security Considerations . . . . . . . . . . . . . . . . . . . 21 84 9. Privacy Considerations . . . . . . . . . . . . . . . . . . . 22 85 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 86 10.1. ARO Flags . . . . . . . . . . . . . . . . . . . . . . . 23 87 10.2. ICMP Codes . . . . . . . . . . . . . . . . . . . . . . . 23 88 10.3. New ARO Status values . . . . . . . . . . . . . . . . . 24 89 10.4. New 6LoWPAN capability Bits . . . . . . . . . . . . . . 25 90 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 91 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 92 12.1. Normative References . . . . . . . . . . . . . . . . . . 25 93 12.2. Informative References . . . . . . . . . . . . . . . . . 26 94 12.3. External Informative References . . . . . . . . . . . . 29 95 Appendix A. Applicability and Requirements Served . . . . . . . 30 96 Appendix B. Requirements . . . . . . . . . . . . . . . . . . . . 30 97 B.1. Requirements Related to Mobility . . . . . . . . . . . . 31 98 B.2. Requirements Related to Routing Protocols . . . . . . . . 31 99 B.3. Requirements Related to the Variety of Low-Power Link 100 types . . . . . . . . . . . . . . . . . . . . . . . . . . 32 101 B.4. Requirements Related to Proxy Operations . . . . . . . . 33 102 B.5. Requirements Related to Security . . . . . . . . . . . . 33 103 B.6. Requirements Related to Scalability . . . . . . . . . . . 34 104 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 106 1. Introduction 108 The scope of this draft is an IPv6 Low Power Networks including star 109 and mesh topologies. This specification modifies and extends the 110 behavior and protocol elements of "Neighbor Discovery Optimization 111 for IPv6 over Low-Power Wireless Personal Area Networks" (6LoWPAN ND) 112 [RFC6775] to enable additional capabilities and enhancements such as: 114 o Support for indicating mobility vs retry (T-bit) 116 o Reduce requirement of registration for link-local addresses 118 o Enhancement to Address Registration Option (ARO) 120 o Permitting registration of a target address 122 o Clarification of support of privacy and temporary addresses 124 The applicability of 6LoWPAN ND registration is discussed in 125 Section 2, and new extensions and updates to [RFC6775] are presented 126 in Section 4. Considerations on Backward Compatibility, Security and 127 Privacy are also elaborated upon in Section 7, Section 8 and in 128 Section 9, respectively. 130 2. Applicability of Address Registration Options 132 The purpose of the Address Registration Option (ARO) in the legacy 133 6LoWPAN ND specification is to facilitate duplicate address detection 134 (DAD) for hosts as well as populate Neighbor Cache Entries (NCE) 135 [RFC4861] in the routers. This reduces the reliance on multicast 136 operations, which are often as intrusive as broadcast, in IPv6 ND 137 operations. 139 With this specification, a failed or useless registration can be 140 detected for reasons other than address duplication. Examples 141 include: the router having run out of space; a registration bearing a 142 stale sequence number perhaps denoting a movement of the host after 143 the registration was placed; a host misbehaving and attempting to 144 register an invalid address such as the unspecified address 146 [RFC4291]; or a host using an address which is not topologically 147 correct on that link. 149 In such cases the host will receive an error to help diagnose the 150 issue and may retry, possibly with a different address, and possibly 151 registering to a different router, depending on the returned error. 152 The ability to return errors to address registrations is not intended 153 to be used to restrict the ability of hosts to form and use 154 addresses, as recommended in "Host Address Availability 155 Recommendations" [RFC7934]. 157 In particular, the freedom to form and register addresses is needed 158 for enhanced privacy; each host may register a number of addresses 159 using mechanisms such as "Privacy Extensions for Stateless Address 160 Autoconfiguration (SLAAC) in IPv6" [RFC4941]. 162 In IPv6 ND [RFC4861], a router must have enough storage to hold 163 neighbor cache entries for all the addresses to which it may forward. 164 A router using the Address Registration mechanism also needs enough 165 storage to hold NCEs for all the addresses that may be registered to 166 it, regardless of whether or not they are actively communicating. 167 The number of registrations supported by a 6LoWPAN Router (6LR) or 168 6LoWPAN Border Router (6LBR) must be clearly documented. 170 A network administrator should deploy updated 6LR/6LBRs to support 171 the number and type of devices in his network, based on the number of 172 IPv6 addresses that those devices require and their address renewal 173 rate and behaviour. 175 3. Terminology 177 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 178 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 179 document are to be interpreted as described in [RFC2119]. 181 Readers are expected to be familiar with all the terms and concepts 182 that are discussed in 184 o "Neighbor Discovery for IP version 6" [RFC4861], 186 o "IPv6 Stateless Address Autoconfiguration" [RFC4862], 188 o "IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): 189 Overview, Assumptions, Problem Statement, and Goals" [RFC4919], 191 o "Neighbor Discovery Optimization for Low-power and Lossy Networks" 192 [RFC6775] and 194 o "Multi-link Subnet Support in IPv6" 195 [I-D.ietf-ipv6-multilink-subnets], 197 as well as the following terminology: 199 Backbone Link: An IPv6 transit link that interconnects two or more 200 Backbone Routers. It is expected to be a higher speed device 201 speed compared to the LLN in order to carry the traffic that is 202 required to federate multiple segments of the potentially large 203 LLN into a single IPv6 subnet. 205 Backbone Router: A logical network function in an IPv6 router that 206 federates a LLN over a Backbone Link. In order to do so, the 207 Backbone Router (6BBR) proxies the 6LoWPAN ND operations 208 detailed in the document onto the matching operations that run 209 over the backbone, typically IPv6 ND. Note that 6BBR is a 210 logical function, just like 6LR and 6LBR, and that a same 211 physical router may operate all three. 213 Extended LLN: The aggregation of multiple LLNs as defined in 214 [RFC4919], interconnected by a Backbone Link via Backbone 215 Routers, and forming a single IPv6 MultiLink Subnet. 217 Registration: The process during which a 6LN registers its 218 address(es) with the Border Router so the 6BBR can serve as 219 proxy for ND operations over the Backbone. 221 Binding: The association between an IP address with a MAC address, a 222 port and/or other information about the node that owns the IP 223 address. 225 Registered Node: The node for which the registration is performed, 226 and which owns the fields in the EARO option. 228 Registering Node: The node that performs the registration to the 229 6BBR, which may proxy for the registered node. 231 Registered Address: An address owned by the Registered Node node 232 that was or is being registered. 234 IPv6 ND: The IPv6 Neighbor Discovery protocol as specified in 235 [RFC4861] and [RFC4862]. 237 legacy: a 6LN, a 6LR or a 6LBR that supports [RFC6775] but not this 238 specification. 240 updated: a 6LN, a 6LR or a 6LBR that supports this specification. 242 4. Updating RFC 6775 244 This specification introduces the Extended Address Registration 245 Option (EARO) based on the ARO as defined in [RFC6775]; in particular 246 a "T" flag is added that MUST be set in NS messages when this 247 specification is used, and echoed in NA messages to confirm that the 248 protocol is supported. 250 The extensions to the ARO option are used in the Duplicate Address 251 Request (DAR) and Duplicate Address Confirmation (DAC) messages, so 252 as to convey the additional information all the way to the 6LBR. In 253 turn the 6LBR may proxy the registration using IPv6 ND over a 254 backbone as illustrated in Figure 1. Note that this specification 255 avoids the extended DAR flow for Link Local Addresses in Route-Over 256 mode. 258 6LN 6LR 6LBR 6BBR 259 | | | | 260 | NS(EARO) | | | 261 |--------------->| | | 262 | | Extended DAR | | 263 | |-------------->| | 264 | | | | 265 | | | proxy NS(EARO) | 266 | | |--------------->| 267 | | | | NS(DAD) 268 | | | | ------> 269 | | | | 270 | | | | 271 | | | proxy NA(EARO) | 272 | | |<---------------| 273 | | Extended DAC | | 274 | |<--------------| | 275 | NA(EARO) | | | 276 |<---------------| | | 277 | | | | 279 Figure 1: (Re-)Registration Flow 281 In order to support various types of link layers, it is RECOMMENDED 282 to allow multiple registrations, including for privacy / temporary 283 addresses, and provides new mechanisms to help clean up stale 284 registration states as soon as possible. 286 A Registering Node SHOULD prefer registering to a 6LR that is found 287 to support this specification, as discussed in Section 7.1, over a 288 legacy one. 290 4.1. Extended Address Registration Option (EARO) 292 The Extended ARO (EARO) deprecates the ARO and is backward compatible 293 with it. More details on backward compatibility can be found in 294 Section 7. 296 The semantics of the ARO are modified as follows: 298 o The address that is being registered with a Neighbor Solicitation 299 (NS) with an EARO is now the Target Address, as opposed to the 300 Source Address as specified in [RFC6775] (see Section 4.5). This 301 change enables a 6LBR to use one of its addresses as source to the 302 proxy-registration of an address that belongs to a LLN Node to a 303 6BBR. This also limits the use of an address as source address 304 before it is registered and the associated DAD process is 305 complete. 307 o The Unique ID in the EARO Option is not required to be a MAC 308 address (see Section 4.3). 310 o The specification introduces a Transaction ID (TID) field in the 311 EARO (see Section 4.2). The TID MUST be provided by a node that 312 supports this specification and a new "T" flag MUST be set to 313 indicate so. 315 o Finally, this specification introduces new status codes to help 316 diagnose the cause of a registration failure (see Table 1). 318 4.2. Transaction ID 320 The Transaction ID (TID) is a sequence number that is incremented 321 with each re-registration. The TID is used to detect the freshness 322 of the registration request and useful to detect one single 323 registration by multiple 6LOWPAN border routers (e.g., 6LBRs and 324 6BBRs) supporting the same 6LOWPAN. The TID may also be used by the 325 network to track the sequence of movements of a node in order to 326 route to the current (freshest known) location of a moving node. 328 When a Registered Node is registered with multiple BBRs in parallel, 329 the same TID SHOULD be used, to enable the 6BBRs to determine that 330 the registrations are the same, and distinguish that situation from a 331 movement. 333 4.2.1. Comparing TID values 335 The TID is a sequence counter and its operation is the exact match of 336 the path sequence specified in RPL, the IPv6 Routing Protocol for 337 Low-Power and Lossy Networks [RFC6550] specification. 339 In order to keep this document self-contained and yet compatible, the 340 text below is an exact copy from section 7.2. "Sequence Counter 341 Operation" of [RFC6550]. 343 A TID is deemed to be fresher than another when its value is greater 344 per the operations detailed in this section. 346 The TID range is subdivided in a 'lollipop' fashion ([Perlman83]), 347 where the values from 128 and greater are used as a linear sequence 348 to indicate a restart and bootstrap the counter, and the values less 349 than or equal to 127 used as a circular sequence number space of size 350 128 as in [RFC1982]. Consideration is given to the mode of operation 351 when transitioning from the linear region to the circular region. 352 Finally, when operating in the circular region, if sequence numbers 353 are detected to be too far apart then they are not comparable, as 354 detailed below. 356 A window of comparison, SEQUENCE_WINDOW = 16, is configured based on 357 a value of 2^N, where N is defined to be 4 in this specification. 359 For a given sequence counter, 361 1. The sequence counter SHOULD be initialized to an implementation 362 defined value which is 128 or greater prior to use. A 363 recommended value is 240 (256 - SEQUENCE_WINDOW). 365 2. When a sequence counter increment would cause the sequence 366 counter to increment beyond its maximum value, the sequence 367 counter MUST wrap back to zero. When incrementing a sequence 368 counter greater than or equal to 128, the maximum value is 255. 369 When incrementing a sequence counter less than 128, the maximum 370 value is 127. 372 3. When comparing two sequence counters, the following rules MUST be 373 applied: 375 1. When a first sequence counter A is in the interval [128..255] 376 and a second sequence counter B is in [0..127]: 378 1. If (256 + B - A) is less than or equal to 379 SEQUENCE_WINDOW, then B is greater than A, A is less than 380 B, and the two are not equal. 382 2. If (256 + B - A) is greater than SEQUENCE_WINDOW, then A 383 is greater than B, B is less than A, and the two are not 384 equal. 386 For example, if A is 240, and B is 5, then (256 + 5 - 240) is 387 21. 21 is greater than SEQUENCE_WINDOW (16), thus 240 is 388 greater than 5. As another example, if A is 250 and B is 5, 389 then (256 + 5 - 250) is 11. 11 is less than SEQUENCE_WINDOW 390 (16), thus 250 is less than 5. 392 2. In the case where both sequence counters to be compared are 393 less than or equal to 127, and in the case where both 394 sequence counters to be compared are greater than or equal to 395 128: 397 1. If the absolute magnitude of difference between the two 398 sequence counters is less than or equal to 399 SEQUENCE_WINDOW, then a comparison as described in 400 [RFC1982] is used to determine the relationships greater 401 than, less than, and equal. 403 2. If the absolute magnitude of difference of the two 404 sequence counters is greater than SEQUENCE_WINDOW, then a 405 desynchronization has occurred and the two sequence 406 numbers are not comparable. 408 4. If two sequence numbers are determined to be not comparable, i.e. 409 the results of the comparison are not defined, then a node should 410 consider the comparison as if it has evaluated in such a way so 411 as to give precedence to the sequence number that has most 412 recently been observed to increment. Failing this, the node 413 should consider the comparison as if it has evaluated in such a 414 way so as to minimize the resulting changes to its own state. 416 4.3. Owner Unique ID 418 The Owner Unique ID (OUID) enables a duplicate address registration 419 to be distinguished from a double registration or a movement. An ND 420 message from the 6BBR over the Backbone that is proxied on behalf of 421 a Registered Node must carry the most recent EARO option seen for 422 that node. A NS/NA with an EARO and a NS/NA without a EARO thus 423 represent different nodes; if they relate to a same target then an 424 address duplication is likely. 426 The Owner Unique ID in [RFC6775] is a EUI-64 preconfigured address, 427 under the assumption that duplicate EUI-64 addresses are avoided. 428 With this specification, the Owner Unique ID is allowed to be 429 extended to different types of identifier, as long as the type is 430 clearly indicated. For instance, the type can be a cryptographic 431 string and used to prove the ownership of the registration as 432 discussed in "Address Protected Neighbor Discovery for Low-power and 433 Lossy Networks" [I-D.ietf-6lo-ap-nd]. 435 The node SHOULD store the unique ID, or a way to generate that ID, in 436 persistent memory. Otherwise, if a reboot causes a loss of memory, 437 re-registering the same address could be impossible until the 6LBR 438 times out the previous registration. 440 4.4. Extended Duplicate Address Messages 442 In order to map the new EARO content in the DAR/DAC messages, a new 443 TID field is added to the Extended DAR (EDAR) and the Extended DAC 444 (EDAC) messages as a replacement to a Reserved field, and an odd 445 value of the ICMP Code indicates support for the TID, to transport 446 the "T" flag. 448 In order to prepare for future extensions, and though no option has 449 been defined for the Duplicate Address messages, implementations 450 SHOULD expect ND options after the main body, and SHOULD ignore them. 452 As for the EARO, the Extended Duplicate Address messages are backward 453 compatible with the legacy versions, and remarks concerning backwards 454 compatibility for the protocol between the 6LN and the 6LR apply 455 similarly between a 6LR and a 6LBR. 457 4.5. Registering the Target Address 459 The Registering Node is the node that performs the registration to 460 the 6BBR. As in [RFC6775], it may be the Registered Node as well, in 461 which case it registers one of its own addresses, and indicates its 462 own MAC Address as Source Link Layer Address (SLLA) in the NS(EARO). 464 This specification adds the capability to proxy the registration 465 operation on behalf of a Registered Node that is reachable over a LLN 466 mesh. In that case, if the Registered Node is reachable from the 467 6BBR over a Mesh-Under mesh, the Registering Node indicates the MAC 468 Address of the Registered Node as SLLA in the NS(EARO). If the 469 Registered Node is reachable over a Route-Over mesh from the 470 Registering Node, the SLLA in the NS(ARO) is that of the Registering 471 Node. This enables the Registering Node to attract the packets from 472 the 6BBR and route them over the LLN to the Registered Node. 474 In order to enable the latter operation, this specification changes 475 the behavior of the 6LN and the 6LR so that the Registered Address is 476 found in the Target Address field of the NS and NA messages as 477 opposed to the Source Address. With this convention, a TLLA option 478 indicates the link-layer address of the 6LN that owns the address, 479 whereas the SLLA Option in a NS message indicates that of the 480 Registering Node, which can be the owner device, or a proxy. 482 The Registering Node is reachable from the 6LR, and is also the one 483 expecting packets for the 6LN. Therefore, it MUST place its own Link 484 Layer Address in the SLLA Option that MUST always be placed in a 485 registration NS(EARO) message. This maintains compatibility with 486 legacy 6LoWPAN ND [RFC6775]. 488 4.6. Link-Local Addresses and Registration 490 Considering that LLN nodes are often not wired and may move, there is 491 no guarantee that a Link-Local address stays unique between a 492 potentially variable and unbounded set of neighboring nodes. 494 Compared to [RFC6775], this specification only requires that a Link- 495 Local address is unique from the perspective of the two nodes that 496 use it to communicate (e.g. the 6LN and the 6LR in an NS/NA 497 exchange). This simplifies the DAD process in Route-Over Mode for 498 Link-Local addresses, and there is no exchange of Duplicate Address 499 messages between the 6LR and a 6LBR for Link-Local addresses. 501 In more details: 503 An exchange between two nodes using Link-Local addresses implies that 504 they are reachable over one hop and that at least one of the 2 nodes 505 acts as a 6LR. A node MUST register a Link-Local address to a 6LR in 506 order to obtain reachability from that 6LR beyond the current 507 exchange, and in particular to use the Link-Local address as source 508 address to register other addresses, e.g. global addresses. 510 If there is no collision with an address previously registered to 511 this 6LR by another 6LN, then the Link-Local address is unique from 512 the standpoint of this 6LR and the registration is acceptable. 513 Alternatively, two different 6LRs might expose the same Link-Local 514 address but different link-layer addresses. In that case, a 6LN MUST 515 only interact with one of the 6LRs. 517 The DAD process between the 6LR and a 6LBR, which is based on an 518 exchange of Duplicate Address messages, does not need to take place 519 for Link-Local addresses. 521 It is preferable for a 6LR to avoid modifying its state associated to 522 the Source Address of an NS(EARO) message. For that reason, when 523 possible, an address that is already registered with a 6LR SHOULD be 524 used by a 6LN. 526 When registering to a 6LR that conforms this specification, a node 527 MUST use a Link-Local address as the source address of the 528 registration, whatever the type of IPv6 address that is being 529 registered. That Link-Local Address MUST be either already 530 registered, or the address that is being registered. 532 When a Registering Node does not have an already-Registered Address, 533 it MUST register a Link-Local address, using it as both the Source 534 and the Target Address of an NS(EARO) message. In that case, it is 535 RECOMMENDED to use a Link-Local address that is (expected to be) 536 globally unique, e.g., derived from a globally unique hardware MAC 537 address. An EARO option in the response NA indicates that the 6LR 538 supports this specification. 540 Since there is no Duplicate Address exchange for Link-Local 541 addresses, the 6LR may answer immediately to the registration of a 542 Link-Local address, based solely on its existing state and the Source 543 Link-Layer Option that MUST be placed in the NS(EARO) message as 544 required in [RFC6775]. 546 A node needs to register its IPv6 Global Unicast IPv6 Addresses 547 (GUAs) to a 6LR in order to establish global reachability for these 548 addresses via that 6LR. When registering with an updated 6LR, a 549 Registering Node does not use its GUA as Source Address, in contrast 550 to a node that complies to [RFC6775]. For non-Link-Local addresses, 551 the Duplicate Address exchange MUST conform to [RFC6775], but the 552 extended formats described in this specification for the DAR and the 553 DAC are used to relay the extended information in the case of an 554 EARO. 556 4.7. Maintaining the Registration States 558 This section discusses protocol actions that involve the Registering 559 Node, the 6LR and the 6LBR. It must be noted that the portion that 560 deals with a 6LBR only applies to those addresses that are registered 561 to it; as discussed in Section 4.6, this is not the case for Link- 562 Local addresses. The registration state includes all data that is 563 stored in the router relative to that registration, in particular, 564 but not limited to, an NCE in a 6LR. 6LBRs and 6BBRs may store 565 additional registration information in more complex data structures 566 and use protocols that are out of scope of this document to keep them 567 synchonized when they are distributed. 569 When its Neighbor Cache is full, a 6LR cannot accept a new 570 registration. In that situation, the EARO is returned in a NA 571 message with a Status of 2, and the Registering Node may attempt to 572 register to another 6LR. 574 If the registry in the 6LBR is be saturated, in which case the LBR 575 cannot guarantee that a new address is effectively not a duplicate. 576 In that case, the 6LBR replies to a EDAR message with a EDAC message 577 that carries a Status code 9 indicating "6LBR Registry saturated", 578 and the address stays in TENTATIVE state. Note: this code is used by 579 6LBRs instead of Status 2 when responding to a Duplicate Address 580 message exchange and passed on to the Registering Node by the 6LR. 581 There is no point for the node to retry this registration immediately 582 via another 6LR, since the problem is global to the network. The 583 node may either abandon that address, deregister other addresses 584 first to make room, or keep the address in TENTATIVE state and retry 585 later. 587 A node renews an existing registration by sending a new NS(EARO) 588 message for the Registered Address. In order to refresh the 589 registration state in the 6LBR, the registration MUST be reported to 590 the 6LBR. 592 A node that ceases to use an address SHOULD attempt to deregister 593 that address from all the 6LRs to which it has registered the 594 address, which is achieved using an NS(EARO) message with a 595 Registration Lifetime of 0. 597 A node that moves away from a particular 6LR SHOULD attempt to 598 deregister all of its addresses registered to that 6LR and register 599 to a new 6LR with an incremented TID. When/if the node shows up 600 elsewhere, an asynchronous NA(EARO) or EDAC message with a status of 601 3 "Moved" SHOULD be used to clean up the state in the previous 602 location. For instance, the "Moved" status can be used by a 6BBR in 603 a NA(EARO) message to indicate that the ownership of the proxy state 604 on the Backbone was transferred to another 6BBR, as the consequence 605 of a movement of the device. The receiver of the message SHOULD 606 propagate the status down the chain towards the Registered node and 607 clean up its state. 609 Upon receiving a NS(EARO) message with a Registration Lifetime of 0 610 and determining that this EARO is the freshest for a given NCE (see 611 Section 4.2), a 6LR cleans up its NCE. If the address was registered 612 to the 6LBR, then the 6LR MUST report to the 6LBR, through a 613 Duplicate Address exchange with the 6LBR, or an alternate protocol, 614 indicating the null Registration Lifetime and the latest TID that 615 this 6LR is aware of. 617 Upon receiving the Extended DAR message, the 6LBR evaluates if this 618 is the most recent TID it has received for that particular registry 619 entry. If so, then the entry is scheduled to be removed, and the 620 EDAR is answered with a EDAC message bearing a Status of 0 621 ("Success"). Otherwise, a Status 3 ("Moved") is returned instead, 622 and the existing entry is maintained. 624 When an address is scheduled to be removed, the 6LBR SHOULD keep its 625 entry in a DELAY state for a configurable period of time, so as to 626 protect a mobile node that deregistered from one 6LR and did not 627 register yet to a new one, or the new registration did not reach yet 628 the 6LBR due to propagation delays in the network. Once the DELAY 629 time is passed, the 6LBR removes silently its entry. 631 5. Detecting Enhanced ARO Capability Support 633 The "Generic Header Compression for IPv6 over 6LoWPANs" [RFC7400] 634 introduces the 6LoWPAN Capability Indication Option (6CIO) to 635 indicate a node's capabilities to its peers. This specification 636 extends the format defined in [RFC7400] to signal support for EARO, 637 as well as the node's capability to act as a 6LR, 6LBR and 6BBR. 639 The 6CIO is typically sent in a Router Solicitation (RS) message. 640 When used to signal capabilities per this specification, the 6CIO is 641 typically present in Router Advertisement (RA) messages but can also 642 be present in RS, Neighbor Solicitation (NS) and Neighbor 643 Advertisement (NA) messages. 645 6. Extended ND Options And Messages 647 This specification does not introduce new options, but it modifies 648 existing ones and updates the associated behaviors as specified in 649 the following subsections. 651 6.1. Enhanced Address Registration Option (EARO) 653 The Address Registration Option (ARO) is defined in section 4.1. of 654 [RFC6775]. 656 The Enhanced Address Registration Option (EARO) updates the ARO 657 option within Neighbor Discovery NS and NA messages between a 6LN and 658 its 6LR. On the other hand, the Extended Duplicate Address messages, 659 EDAR and EDAC, replace the DAR and DAC messages so as to transport 660 the new information between 6LRs and 6LBRs across LLNs meshes such as 661 6TiSCH networks. 663 An NS message with an EARO option is a registration if and only if it 664 also carries an SLLAO option. The EARO option also used in NS and NA 665 messages between Backbone Routers over the Backbone link to sort out 666 the distributed registration state; in that case, it does not carry 667 the SLLAO option and is not confused with a registration. 669 When using the EARO option, the address being registered is found in 670 the Target Address field of the NS and NA messages. 672 The EARO extends the ARO and is indicated by the "T" flag set. The 673 format of the EARO option is as follows: 675 0 1 2 3 676 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 677 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 678 | Type | Length = 2 | Status | Reserved | 679 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 680 | Reserved |T| TID | Registration Lifetime | 681 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 682 | | 683 + Owner Unique ID (EUI-64 or equivalent) + 684 | | 685 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 687 Figure 2: EARO 689 Option Fields 691 Type: 33 693 Length: 8-bit unsigned integer. The length of the option in 694 units of 8 bytes. Always 2. 696 Status: 8-bit unsigned integer. Indicates the status of a 697 registration in the NA response. MUST be set to 0 in 698 NS messages. See Table 1 below. 700 +-------+-----------------------------------------------------------+ 701 | Value | Description | 702 +-------+-----------------------------------------------------------+ 703 | 0..2 | See [RFC6775]. Note: a Status of 1 "Duplicate Address" | 704 | | applies to the Registered Address. If the Source Address | 705 | | conflicts with an existing registration, "Duplicate | 706 | | Source Address" should be used. | 707 | | | 708 | 3 | Moved: The registration fails because it is not the | 709 | | freshest. This Status indicates that the registration is | 710 | | rejected because another more recent registration was | 711 | | done, as indicated by a same OUI and a more recent TID. | 712 | | One possible cause is a stale registration that has | 713 | | progressed slowly in the network and was passed by a more | 714 | | recent one. It could also indicate a OUI collision. | 715 | | | 716 | 4 | Removed: The binding state was removed. This may be | 717 | | placed in an asynchronous NS(ARO) message, or as the | 718 | | rejection of a proxy registration to a Backbone Router | 719 | | | 720 | 5 | Validation Requested: The Registering Node is challenged | 721 | | for owning the Registered Address or for being an | 722 | | acceptable proxy for the registration. This Status is | 723 | | expected in asynchronous messages from a registrar (6LR, | 724 | | 6LBR, 6BBR) to indicate that the registration state is | 725 | | removed, for instance due to a movement of the device. | 726 | | | 727 | 6 | Duplicate Source Address: The address used as source of | 728 | | the NS(ARO) conflicts with an existing registration. | 729 | | | 730 | 7 | Invalid Source Address: The address used as source of the | 731 | | NS(ARO) is not a Link-Local address as prescribed by this | 732 | | document. | 733 | | | 734 | 8 | Registered Address topologically incorrect: The address | 735 | | being registered is not usable on this link, e.g. it is | 736 | | not topologically correct | 737 | | | 738 | 9 | 6LBR Registry saturated: A new registration cannot be | 739 | | accepted because the 6LBR Registry is saturated. Note: | 740 | | this code is used by 6LBRs instead of Status 2 when | 741 | | responding to a Duplicate Address message exchange and | 742 | | passed on to the Registering Node by the 6LR. | 743 | | | 744 | 10 | Validation Failed: The proof of ownership of the | 745 | | registered address is not correct. | 746 +-------+-----------------------------------------------------------+ 748 Table 1: EARO Status 750 Reserved: This field is unused. It MUST be initialized to zero 751 by the sender and MUST be ignored by the receiver. 753 T: One bit flag. Set if the next octet is a used as a 754 TID. 756 TID: 1-byte integer; a transaction id that is maintained 757 by the node and incremented with each transaction. 758 The node SHOULD maintain the TID in a persistent 759 storage. 761 Registration Lifetime: 16-bit integer; expressed in minutes. 0 762 means that the registration has ended and the 763 associated state should be removed. 765 Owner Unique Identifier (OUI): A globally unique identifier for the 766 node associated. This can be the EUI-64 derived IID 767 of an interface, or some provable ID obtained 768 cryptographically. 770 6.2. Extended Duplicate Address Message Formats 772 The Duplicate Address Request (DAR) and the Duplicate Address 773 Confirmation (DAC) messages are defined in section 4.4 of [RFC6775]. 774 Those messages follow a common base format, which enables information 775 from the ARO to be transported over multiple hops. 777 The Duplicate Address Messages are extended to adapt to the Extended 778 ARO format, as follows: 780 0 1 2 3 781 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 782 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 783 | Type | Code | Checksum | 784 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 785 | Status | TID | Registration Lifetime | 786 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 787 | | 788 + Owner Unique ID (EUI-64 or equivalent) + 789 | | 790 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 791 | | 792 + + 793 | | 794 + Registered Address + 795 | | 796 + + 797 | | 798 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 800 Figure 3: Duplicate Address Messages Format 802 Modified Message Fields 804 Code: The ICMP Code as defined in [RFC4443]. The ICMP Code 805 MUST be set to 1 with this specification. An odd 806 value of the ICMP Code indicates that the TID field 807 is present and obeys this specification. 809 TID: 1-byte integer; same definition and processing as the 810 TID in the EARO option as defined in Section 6.1. 812 Owner Unique Identifier (OUI): 8 bytes; same definition and 813 processing as the OUI in the EARO option as defined 814 in Section 6.1. 816 6.3. New 6LoWPAN Capability Bits in the Capability Indication Option 818 This specification defines new capability bits for use in the 6CIO, 819 which was introduced by [RFC7400] for use in IPv6 ND RA messages. 821 Routers that support this specification SHOULD set the "E" flag and 822 6LN SHOULD favor 6LR routers that support this specification over 823 those that do not. Routers that are capable of acting as 6LR, 6LBR 824 and 6BBR SHOULD set the "L", "B" and "P" flags, respectively. In 825 particular, the function 6LR is often collocated with that of 6LBR. 827 Those flags are not mutually exclusive and if a router is capable of 828 performing multiple functions, it SHOULD set all the related flags. 830 0 1 2 3 831 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 832 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 833 | Type | Length = 1 | Reserved |L|B|P|E|G| 834 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 835 | Reserved | 836 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 838 Figure 4: New capability Bits L, B, P, E in the 6CIO 840 Option Fields 842 Type: 36 844 L: Node is a 6LR, it can take registrations. 846 B: Node is a 6LBR. 848 P: Node is a 6BBR, proxying for nodes on this link. 850 E: This specification is supported and applied. 852 7. Backward Compatibility 854 7.1. Discovering the capabilities of an ND peer 855 7.1.1. Using the "E" Flag in the 6CIO 857 If the 6CIO is used in an ND message and the sending node supports 858 this specification, then the "E" Flag MUST be set. 860 A router that supports this specification SHOULD indicate that with a 861 6CIO. 863 If the Registering Node (RN) receives a 6CIO in a Router 864 Advertisement message, then the setting of the "E" Flag indicates 865 whether or not this specification is supported. 867 7.1.2. Using the "T" Flag in the EARO 869 One alternate way for a 6LN to discover the router's capabilities to 870 first register a Link Local address, placing the same address in the 871 Source and Target Address fields of the NS message, and setting the 872 "T" Flag. The node may for instance register an address that is 873 based on EUI-64. For such address, DAD is not required and using the 874 SLLAO option in the NS is actually more consistent with existing ND 875 specifications such as the "Optimistic Duplicate Address Detection 876 (DAD) for IPv6" [RFC4429]. 878 Once its first registration is complete, the node knows from the 879 setting of the "T" Flag in the response whether the router supports 880 this specification. If support is verified, the node may register 881 other addresses that it owns, or proxy-register addresses on behalf 882 some another node, indicating those addresses being registered in the 883 Target Address field of the NS messages, while using one of its own 884 previously registered addresses as source. 886 A node that supports this specification MUST always use an EARO as a 887 replacement to an ARO in its registration to a router. This is 888 harmless since the "T" flag and TID field are reserved in [RFC6775], 889 and are ignored by a legacy router. A router that supports this 890 specification answers an ARO with an ARO and answers an EARO with an 891 EARO. 893 This specification changes the behavior of the peers in a 894 registration flows. To enable backward compatibility, a 6LB that 895 registers to a 6LR that is not known to support this specification 896 MUST behave in a manner that is compatible with [RFC6775]. A 6LN can 897 achieve that by sending a NS(EARO) message with a Link-Local Address 898 used as both Source and Target Address, as described in Section 4.6. 899 Once the 6LR is known to support this specification, the 6LN MUST 900 obey this specification. 902 7.2. Legacy 6LoWPAN Node 904 A legacy 6LN will use the Registered Address as source and will not 905 use an EARO option. An updated 6LR MUST accept that registration if 906 it is valid per [RFC6775], and it MUST manage the binding cache 907 accordingly. The updated 6LR MUST then use the legacy Duplicate 908 Address messages as specified in [RFC6775] to indicate to the 6LBR 909 that the TID is not present in the messages. 911 The main difference with [RFC6775] is that Duplicate Address exchange 912 for DAD is avoided for Link-Local addresses. In any case, the 6LR 913 SHOULD use an EARO in the reply, and may use any of the Status codes 914 defined in this specification. 916 7.3. Legacy 6LoWPAN Router 918 The first registration by an updated 6LN MUST be for a Link-Local 919 address, using that Link-Local address as source. A legacy 6LR will 920 not make a difference and treat that registration as if the 6LN was a 921 legacy node. 923 An updated 6LN will always use an EARO option in the registration NS 924 message, whereas a legacy 6LR will always reply with an ARO option in 925 the NA message. From that first registration, the updated 6LN can 926 determine whether or not the 6LR supports this specification. 928 After detecting a legacy 6LR, an updated 6LN may attempt to find an 929 alternate 6LR that is updated. 931 An updated 6LN SHOULD use an EARO in the request regardless of the 932 type of 6LR, legacy or updated, which implies that the "T" flag is 933 set. 935 If an updated 6LN moves from an updated 6LR to a legacy 6LR, the 936 legacy 6LR will send a legacy DAR message, which can not be compared 937 with an updated one for freshness. 939 Allowing legacy DAR messages to replace a state established by the 940 updated protocol in the 6LBR would be an attack vector and that 941 cannot be the default behavior. 943 But if legacy and updated 6LRs coexist temporarily in a network, then 944 it makes sense for an administrator to install a policy that allows 945 so, and the capability to install such a policy should be 946 configurable in a 6LBR though it is out of scope for this document. 948 7.4. Legacy 6LoWPAN Border Router 950 With this specification, the Duplicate Address messages are extended 951 to transport the EARO information. Similarly to the NS/NA exchange, 952 updated 6LBR devices always use the Extended Duplicate Address 953 messages and all the associated behavior so they can amlways be 954 differentiated from legacy ones. 956 Note that a legacy 6LBR will accept and process an EDAR message as if 957 it was a legacy DAR, so legacy support of DAD is preserved. 959 8. Security Considerations 961 This specification extends [RFC6775], and the security section of 962 that draft also applies to this as well. In particular, it is 963 expected that the link layer is sufficiently protected to prevent a 964 rogue access, either by means of physical or IP security on the 965 Backbone Link and link layer cryptography on the LLN. 967 This specification also expects that the LLN MAC provides secure 968 unicast to/from the Backbone Router and secure Broadcast from the 969 Backbone Router in a way that prevents tempering with or replaying 970 the RA messages. 972 This specification recommends to using privacy techniques (see 973 Section 9, and protection against address theft such as provided by 974 "Address Protected Neighbor Discovery for Low-power and Lossy 975 Networks" [I-D.ietf-6lo-ap-nd], which guarantees the ownership of the 976 Registered Address using a cryptographic OUID. 978 The registration mechanism may be used by a rogue node to attack the 979 6LR or the 6LBR with a Denial-of-Service attack against the registry. 980 It may also happen that the registry of a 6LR or a 6LBR is saturated 981 and cannot take any more registration, which effectively denies the 982 requesting a node the capability to use a new address. In order to 983 alleviate those concerns, Section 4.7 provides a number of 984 recommendations that ensure that a stale registration is removed as 985 soon as possible from the 6LR and 6LBR. In particular, this 986 specification recommends that: 988 o A node that ceases to use an address SHOULD attempt to deregister 989 that address from all the 6LRs to which it is registered. See 990 Section 4.2 for the mechanism to avoid replay attacks and avoiding 991 the use of stale registration information. 993 o The Registration lifetimes SHOULD be individually configurable for 994 each address or group of addresses. The nodes SHOULD be 995 configured with a Registration Lifetime that reflects their 996 expectation of how long they will use the address with the 6LR to 997 which it is registered. In particular, use cases that involve 998 mobility or rapid address changes SHOULD use lifetimes that are 999 larger yet of a same order as the duration of the expectation of 1000 presence. 1002 o The router (6LR or 6LBR) SHOULD be configurable so as to limit the 1003 number of addresses that can be registered by a single node, as 1004 identified at least by MAC address and preferably by security 1005 credentials. When that maximum is reached, the router should use 1006 a Least-Recently-Used (LRU) algorithm to clean up the addresses, 1007 keeping at least one Link-Local address. The router SHOULD 1008 attempt to keep one or more stable addresses if stability can be 1009 determined, e.g. from the way the IID is formed or because they 1010 are used over a much longer time span than other (privacy, 1011 shorter-lived) addresses. Address lifetimes SHOULD be 1012 individually configurable. 1014 o In order to avoid denial of registration for the lack of 1015 resources, administrators should take great care to deploy 1016 adequate numbers of 6LRs to cover the needs of the nodes in their 1017 range, so as to avoid a situation of starving nodes. It is 1018 expected that the 6LBR that serves a LLN is a more capable node 1019 then the average 6LR, but in a network condition where it may 1020 become saturated, a particular deployment should distribute the 1021 6LBR functionality, for instance by leveraging a high speed 1022 Backbone and Backbone Routers to aggregate multiple LLNs into a 1023 larger subnet. 1025 The LLN nodes depend on the 6LBR and the 6BBR for their operation. A 1026 trust model must be put in place to ensure that the right devices are 1027 acting in these roles, so as to avoid threats such as black-holing, 1028 or bombing attack whereby an impersonated 6LBR would destroy state in 1029 the network by using the "Removed" Status code. 1031 9. Privacy Considerations 1033 As indicated in section Section 2, this protocol does not aim at 1034 limiting the number of IPv6 addresses that a device can form. A host 1035 should be able to form and register any address that is topologically 1036 correct in the subnet(s) advertised by the 6LR/6LBR. 1038 This specification does not mandate any particular way for forming 1039 IPv6 addresses, but it discourages using EUI-64 for forming the 1040 Interface ID in the Link-Local address because this method prevents 1041 the usage of "SEcure Neighbor Discovery (SEND)" [RFC3971] and 1042 "Cryptographically Generated Addresses (CGA)" [RFC3972], and that of 1043 address privacy techniques. 1045 "Privacy Considerations for IPv6 Adaptation-Layer Mechanisms" 1046 [RFC8065] explains why privacy is important and how to form such 1047 addresses. All implementations and deployment must consider the 1048 option of privacy addresses in their own environment. Also future 1049 specifications involving 6LOWPAN Neighbor Discovery should consult 1050 "Recommendation on Stable IPv6 Interface Identifiers" [RFC8064] for 1051 default interface identifaction. 1053 10. IANA Considerations 1055 IANA is requested to make a number of changes under the "Internet 1056 Control Message Protocol version 6 (ICMPv6) Parameters" registry, as 1057 follows. 1059 10.1. ARO Flags 1061 IANA is requested to create a new subregistry for "ARO Flags". This 1062 specification defines 8 positions, bit 0 to bit 7, and assigns bit 7 1063 for the "T" flag in Section 6.1. The policy is "IETF Review" or 1064 "IESG Approval" [RFC8126]. The initial content of the registry is as 1065 shown in Table 2. 1067 New subregistry for ARO Flags under the "Internet Control Message 1068 Protocol version 6 (ICMPv6) [RFC4443] Parameters" 1070 +-------------+--------------+-----------+ 1071 | ARO Status | Description | Document | 1072 +-------------+--------------+-----------+ 1073 | 0..6 | Unassigned | | 1074 | 7 | "T" Flag | This RFC | 1075 +-------------+--------------+-----------+ 1077 Table 2: new ARO Flags 1079 10.2. ICMP Codes 1081 IANA is requested to create a new entry in the ICMPv6 "Code" Fields 1082 subregistry of the Internet Control Message Protocol version 6 1083 (ICMPv6) Parameters for the ICMP codes related to the ICMP type 157 1084 and 158 Duplicate Address Request (shown in Table 3) and Confirmation 1085 (shown in Table 4), respectively, as follows: 1087 New entries for ICMP types 157 DAR message 1089 +-------+----------------------+------------+ 1090 | Code | Name | Reference | 1091 +-------+----------------------+------------+ 1092 | 0 | Original DAR message | RFC 6775 | 1093 | 1 | Extended DAR message | This RFC | 1094 +-------+----------------------+------------+ 1096 Table 3: new ICMPv6 Code Fields 1098 New entries for ICMP types 158 DAC message 1100 +-------+----------------------+------------+ 1101 | Code | Name | Reference | 1102 +-------+----------------------+------------+ 1103 | 0 | Original DAC message | RFC 6775 | 1104 | 1 | Extended DAC message | This RFC | 1105 +-------+----------------------+------------+ 1107 Table 4: new ICMPv6 Code Fields 1109 10.3. New ARO Status values 1111 IANA is requested to make additions to the Address Registration 1112 Option Status Values Registry as follows: 1114 Address Registration Option Status Values Registry 1116 +-------------+-----------------------------------------+-----------+ 1117 | ARO Status | Description | Document | 1118 +-------------+-----------------------------------------+-----------+ 1119 | 3 | Moved | This RFC | 1120 | 4 | Removed | This RFC | 1121 | 5 | Validation Requested | This RFC | 1122 | 6 | Duplicate Source Address | This RFC | 1123 | 7 | Invalid Source Address | This RFC | 1124 | 8 | Registered Address topologically | This RFC | 1125 | | incorrect | | 1126 | 9 | 6LBR registry saturated | This RFC | 1127 | 10 | Validation Failed | This RFC | 1128 +-------------+-----------------------------------------+-----------+ 1130 Table 5: New ARO Status values 1132 10.4. New 6LoWPAN capability Bits 1134 IANA is requested to make additions to the Subregistry for "6LoWPAN 1135 capability Bits" as follows: 1137 Subregistry for "6LoWPAN capability Bits" under the "Internet Control 1138 Message Protocol version 6 (ICMPv6) Parameters" 1140 +-----------------+----------------------+-----------+ 1141 | Capability Bit | Description | Document | 1142 +-----------------+----------------------+-----------+ 1143 | 11 | 6LR capable (L bit) | This RFC | 1144 | 12 | 6LBR capable (B bit) | This RFC | 1145 | 13 | 6BBR capable (P bit) | This RFC | 1146 | 14 | EARO support (E bit) | This RFC | 1147 +-----------------+----------------------+-----------+ 1149 Table 6: New 6LoWPAN capability Bits 1151 11. Acknowledgments 1153 Kudos to Eric Levy-Abegnoli who designed the First Hop Security 1154 infrastructure upon which the first backbone router was implemented. 1155 Many thanks to Sedat Gormus, Rahul Jadhav and Lorenzo Colitti for 1156 their various contributions and reviews. Also many thanks to Thomas 1157 Watteyne for his early implementation of a 6LN that was instrumental 1158 to the early tests of the 6LR, 6LBR and Backbone Router. 1160 12. References 1162 12.1. Normative References 1164 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1165 Requirement Levels", BCP 14, RFC 2119, 1166 DOI 10.17487/RFC2119, March 1997, 1167 . 1169 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 1170 Architecture", RFC 4291, DOI 10.17487/RFC4291, February 1171 2006, . 1173 [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet 1174 Control Message Protocol (ICMPv6) for the Internet 1175 Protocol Version 6 (IPv6) Specification", STD 89, 1176 RFC 4443, DOI 10.17487/RFC4443, March 2006, 1177 . 1179 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 1180 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 1181 DOI 10.17487/RFC4861, September 2007, 1182 . 1184 [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless 1185 Address Autoconfiguration", RFC 4862, 1186 DOI 10.17487/RFC4862, September 2007, 1187 . 1189 [RFC6282] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6 1190 Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, 1191 DOI 10.17487/RFC6282, September 2011, 1192 . 1194 [RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C. 1195 Bormann, "Neighbor Discovery Optimization for IPv6 over 1196 Low-Power Wireless Personal Area Networks (6LoWPANs)", 1197 RFC 6775, DOI 10.17487/RFC6775, November 2012, 1198 . 1200 [RFC7400] Bormann, C., "6LoWPAN-GHC: Generic Header Compression for 1201 IPv6 over Low-Power Wireless Personal Area Networks 1202 (6LoWPANs)", RFC 7400, DOI 10.17487/RFC7400, November 1203 2014, . 1205 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1206 Writing an IANA Considerations Section in RFCs", BCP 26, 1207 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1208 . 1210 12.2. Informative References 1212 [I-D.chakrabarti-nordmark-6man-efficient-nd] 1213 Chakrabarti, S., Nordmark, E., Thubert, P., and M. 1214 Wasserman, "IPv6 Neighbor Discovery Optimizations for 1215 Wired and Wireless Networks", draft-chakrabarti-nordmark- 1216 6man-efficient-nd-07 (work in progress), February 2015. 1218 [I-D.delcarpio-6lo-wlanah] 1219 Vega, L., Robles, I., and R. Morabito, "IPv6 over 1220 802.11ah", draft-delcarpio-6lo-wlanah-01 (work in 1221 progress), October 2015. 1223 [I-D.ietf-6lo-ap-nd] 1224 Sarikaya, B., Thubert, P., and M. Sethi, "Address 1225 Protected Neighbor Discovery for Low-power and Lossy 1226 Networks", draft-ietf-6lo-ap-nd-03 (work in progress), 1227 September 2017. 1229 [I-D.ietf-6lo-backbone-router] 1230 Thubert, P., "IPv6 Backbone Router", draft-ietf-6lo- 1231 backbone-router-04 (work in progress), July 2017. 1233 [I-D.ietf-6lo-nfc] 1234 Choi, Y., Hong, Y., Youn, J., Kim, D., and J. Choi, 1235 "Transmission of IPv6 Packets over Near Field 1236 Communication", draft-ietf-6lo-nfc-07 (work in progress), 1237 June 2017. 1239 [I-D.ietf-6tisch-architecture] 1240 Thubert, P., "An Architecture for IPv6 over the TSCH mode 1241 of IEEE 802.15.4", draft-ietf-6tisch-architecture-12 (work 1242 in progress), August 2017. 1244 [I-D.ietf-bier-architecture] 1245 Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and 1246 S. Aldrin, "Multicast using Bit Index Explicit 1247 Replication", draft-ietf-bier-architecture-08 (work in 1248 progress), September 2017. 1250 [I-D.ietf-ipv6-multilink-subnets] 1251 Thaler, D. and C. Huitema, "Multi-link Subnet Support in 1252 IPv6", draft-ietf-ipv6-multilink-subnets-00 (work in 1253 progress), July 2002. 1255 [I-D.popa-6lo-6loplc-ipv6-over-ieee19012-networks] 1256 Popa, D. and J. Hui, "6LoPLC: Transmission of IPv6 Packets 1257 over IEEE 1901.2 Narrowband Powerline Communication 1258 Networks", draft-popa-6lo-6loplc-ipv6-over- 1259 ieee19012-networks-00 (work in progress), March 2014. 1261 [RFC1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982, 1262 DOI 10.17487/RFC1982, August 1996, 1263 . 1265 [RFC3610] Whiting, D., Housley, R., and N. Ferguson, "Counter with 1266 CBC-MAC (CCM)", RFC 3610, DOI 10.17487/RFC3610, September 1267 2003, . 1269 [RFC3810] Vida, R., Ed. and L. Costa, Ed., "Multicast Listener 1270 Discovery Version 2 (MLDv2) for IPv6", RFC 3810, 1271 DOI 10.17487/RFC3810, June 2004, 1272 . 1274 [RFC3971] Arkko, J., Ed., Kempf, J., Zill, B., and P. Nikander, 1275 "SEcure Neighbor Discovery (SEND)", RFC 3971, 1276 DOI 10.17487/RFC3971, March 2005, 1277 . 1279 [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", 1280 RFC 3972, DOI 10.17487/RFC3972, March 2005, 1281 . 1283 [RFC4429] Moore, N., "Optimistic Duplicate Address Detection (DAD) 1284 for IPv6", RFC 4429, DOI 10.17487/RFC4429, April 2006, 1285 . 1287 [RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 1288 over Low-Power Wireless Personal Area Networks (6LoWPANs): 1289 Overview, Assumptions, Problem Statement, and Goals", 1290 RFC 4919, DOI 10.17487/RFC4919, August 2007, 1291 . 1293 [RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy 1294 Extensions for Stateless Address Autoconfiguration in 1295 IPv6", RFC 4941, DOI 10.17487/RFC4941, September 2007, 1296 . 1298 [RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., 1299 Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, 1300 JP., and R. Alexander, "RPL: IPv6 Routing Protocol for 1301 Low-Power and Lossy Networks", RFC 6550, 1302 DOI 10.17487/RFC6550, March 2012, 1303 . 1305 [RFC7217] Gont, F., "A Method for Generating Semantically Opaque 1306 Interface Identifiers with IPv6 Stateless Address 1307 Autoconfiguration (SLAAC)", RFC 7217, 1308 DOI 10.17487/RFC7217, April 2014, 1309 . 1311 [RFC7428] Brandt, A. and J. Buron, "Transmission of IPv6 Packets 1312 over ITU-T G.9959 Networks", RFC 7428, 1313 DOI 10.17487/RFC7428, February 2015, 1314 . 1316 [RFC7668] Nieminen, J., Savolainen, T., Isomaki, M., Patil, B., 1317 Shelby, Z., and C. Gomez, "IPv6 over BLUETOOTH(R) Low 1318 Energy", RFC 7668, DOI 10.17487/RFC7668, October 2015, 1319 . 1321 [RFC7934] Colitti, L., Cerf, V., Cheshire, S., and D. Schinazi, 1322 "Host Address Availability Recommendations", BCP 204, 1323 RFC 7934, DOI 10.17487/RFC7934, July 2016, 1324 . 1326 [RFC8064] Gont, F., Cooper, A., Thaler, D., and W. Liu, 1327 "Recommendation on Stable IPv6 Interface Identifiers", 1328 RFC 8064, DOI 10.17487/RFC8064, February 2017, 1329 . 1331 [RFC8065] Thaler, D., "Privacy Considerations for IPv6 Adaptation- 1332 Layer Mechanisms", RFC 8065, DOI 10.17487/RFC8065, 1333 February 2017, . 1335 [RFC8105] Mariager, P., Petersen, J., Ed., Shelby, Z., Van de Logt, 1336 M., and D. Barthel, "Transmission of IPv6 Packets over 1337 Digital Enhanced Cordless Telecommunications (DECT) Ultra 1338 Low Energy (ULE)", RFC 8105, DOI 10.17487/RFC8105, May 1339 2017, . 1341 [RFC8163] Lynn, K., Ed., Martocci, J., Neilson, C., and S. 1342 Donaldson, "Transmission of IPv6 over Master-Slave/Token- 1343 Passing (MS/TP) Networks", RFC 8163, DOI 10.17487/RFC8163, 1344 May 2017, . 1346 12.3. External Informative References 1348 [IEEEstd802154] 1349 IEEE, "IEEE Standard for Low-Rate Wireless Networks", 1350 IEEE Standard 802.15.4, DOI 10.1109/IEEE 1351 P802.15.4-REVd/D01, June 2017, 1352 . 1354 [Perlman83] 1355 Perlman, R., "Fault-Tolerant Broadcast of Routing 1356 Information", North-Holland Computer Networks 7: 395-405, 1357 1983, . 1360 Appendix A. Applicability and Requirements Served 1362 This specification extends 6LoWPAN ND to sequence the registration 1363 and serves the requirements expressed Appendix B.1 by enabling the 1364 mobility of devices from one LLN to the next based on the 1365 complementary work in the "IPv6 Backbone Router" 1366 [I-D.ietf-6lo-backbone-router] specification. 1368 In the context of the the TimeSlotted Channel Hopping (TSCH) mode of 1369 IEEE Std. 802.15.4 [IEEEstd802154], the "6TiSCH architecture" 1370 [I-D.ietf-6tisch-architecture] introduces how a 6LoWPAN ND host could 1371 connect to the Internet via a RPL mesh Network, but this requires 1372 additions to the 6LOWPAN ND protocol to support mobility and 1373 reachability in a secured and manageable environment. This 1374 specification details the new operations that are required to 1375 implement the 6TiSCH architecture and serves the requirements listed 1376 in Appendix B.2. 1378 The term LLN is used loosely in this specification to cover multiple 1379 types of WLANs and WPANs, including Low-Power Wi-Fi, BLUETOOTH(R) Low 1380 Energy, IEEE Std.802.11AH and IEEE Std.802.15.4 wireless meshes, so 1381 as to address the requirements discussed in Appendix B.3. 1383 This specification can be used by any wireless node to associate at 1384 Layer-3 with a 6BBR and register its IPv6 addresses to obtain routing 1385 services including proxy-ND operations over the Backbone, effectively 1386 providing a solution to the requirements expressed in Appendix B.4. 1388 "Efficiency aware IPv6 Neighbor Discovery Optimizations" 1389 [I-D.chakrabarti-nordmark-6man-efficient-nd] suggests that 6LoWPAN ND 1390 [RFC6775] can be extended to other types of links beyond IEEE Std. 1391 802.15.4 for which it was defined. The registration technique is 1392 beneficial when the Link-Layer technique used to carry IPv6 multicast 1393 packets is not sufficiently efficient in terms of delivery ratio or 1394 energy consumption in the end devices, in particular to enable 1395 energy-constrained sleeping nodes. The value of such extension is 1396 especially apparent in the case of mobile wireless nodes, to reduce 1397 the multicast operations that are related to IPv6 ND ([RFC4861], 1398 [RFC4862]) and plague the wireless medium. This serves scalability 1399 requirements listed in Appendix B.6. 1401 Appendix B. Requirements 1403 This section lists requirements that were discussed at 6lo for an 1404 update to 6LoWPAN ND. This specification meets most of them, but 1405 those listed in Appendix B.5 which are deferred to a different 1406 specification such as [I-D.ietf-6lo-ap-nd], and those related to 1407 multicast. 1409 B.1. Requirements Related to Mobility 1411 Due to the unstable nature of LLN links, even in a LLN of immobile 1412 nodes a 6LN may change its point of attachment to a 6LR, say 6LR-a, 1413 and may not be able to notify 6LR-a. Consequently, 6LR-a may still 1414 attract traffic that it cannot deliver any more. When links to a 6LR 1415 change state, there is thus a need to identify stale states in a 6LR 1416 and restore reachability in a timely fashion. 1418 Req1.1: Upon a change of point of attachment, connectivity via a new 1419 6LR MUST be restored timely without the need to de-register from the 1420 previous 6LR. 1422 Req1.2: For that purpose, the protocol MUST enable to differentiate 1423 between multiple registrations from one 6LoWPAN Node and 1424 registrations from different 6LoWPAN Nodes claiming the same address. 1426 Req1.3: Stale states MUST be cleaned up in 6LRs. 1428 Req1.4: A 6LoWPAN Node SHOULD also be capable to register its Address 1429 to multiple 6LRs, and this, concurrently. 1431 B.2. Requirements Related to Routing Protocols 1433 The point of attachment of a 6LN may be a 6LR in an LLN mesh. IPv6 1434 routing in a LLN can be based on RPL, which is the routing protocol 1435 that was defined at the IETF for this particular purpose. Other 1436 routing protocols than RPL are also considered by Standard Defining 1437 Organizations (SDO) on the basis of the expected network 1438 characteristics. It is required that a 6LoWPAN Node attached via ND 1439 to a 6LR would need to participate in the selected routing protocol 1440 to obtain reachability via the 6LR. 1442 Next to the 6LBR unicast address registered by ND, other addresses 1443 including multicast addresses are needed as well. For example a 1444 routing protocol often uses a multicast address to register changes 1445 to established paths. ND needs to register such a multicast address 1446 to enable routing concurrently with discovery. 1448 Multicast is needed for groups. Groups may be formed by device type 1449 (e.g. routers, street lamps), location (Geography, RPL sub-tree), or 1450 both. 1452 The Bit Index Explicit Replication (BIER) Architecture 1453 [I-D.ietf-bier-architecture] proposes an optimized technique to 1454 enable multicast in a LLN with a very limited requirement for routing 1455 state in the nodes. 1457 Related requirements are: 1459 Req2.1: The ND registration method SHOULD be extended so that the 6LR 1460 is able to advertise the Address of a 6LoWPAN Node over the selected 1461 routing protocol and obtain reachability to that Address using the 1462 selected routing protocol. 1464 Req2.2: Considering RPL, the Address Registration Option that is used 1465 in the ND registration SHOULD be extended to carry enough information 1466 to generate a DAO message as specified in [RFC6550] section 6.4, in 1467 particular the capability to compute a Path Sequence and, as an 1468 option, a RPLInstanceID. 1470 Req2.3: Multicast operations SHOULD be supported and optimized, for 1471 instance using BIER or MPL. Whether ND is appropriate for the 1472 registration to the 6BBR is to be defined, considering the additional 1473 burden of supporting the Multicast Listener Discovery Version 2 1474 [RFC3810] (MLDv2) for IPv6. 1476 B.3. Requirements Related to the Variety of Low-Power Link types 1478 6LoWPAN ND [RFC6775] was defined with a focus on IEEE Std.802.15.4 1479 and in particular the capability to derive a unique Identifier from a 1480 globally unique MAC-64 address. At this point, the 6lo Working Group 1481 is extending the 6LoWPAN Header Compression (HC) [RFC6282] technique 1482 to other link types ITU-T G.9959 [RFC7428], Master-Slave/Token- 1483 Passing [RFC8163], DECT Ultra Low Energy [RFC8105], Near Field 1484 Communication [I-D.ietf-6lo-nfc], IEEE Std. 802.11ah 1485 [I-D.delcarpio-6lo-wlanah], as well as IEEE1901.2 Narrowband 1486 Powerline Communication Networks 1487 [I-D.popa-6lo-6loplc-ipv6-over-ieee19012-networks] and BLUETOOTH(R) 1488 Low Energy [RFC7668]. 1490 Related requirements are: 1492 Req3.1: The support of the registration mechanism SHOULD be extended 1493 to more LLN links than IEEE Std.802.15.4, matching at least the LLN 1494 links for which an "IPv6 over foo" specification exists, as well as 1495 Low-Power Wi-Fi. 1497 Req3.2: As part of this extension, a mechanism to compute a unique 1498 Identifier should be provided, with the capability to form a Link- 1499 Local Address that SHOULD be unique at least within the LLN connected 1500 to a 6LBR discovered by ND in each node within the LLN. 1502 Req3.3: The Address Registration Option used in the ND registration 1503 SHOULD be extended to carry the relevant forms of unique Identifier. 1505 Req3.4: The Neighbour Discovery should specify the formation of a 1506 site-local address that follows the security recommendations from 1507 [RFC7217]. 1509 B.4. Requirements Related to Proxy Operations 1511 Duty-cycled devices may not be able to answer themselves to a lookup 1512 from a node that uses IPv6 ND on a Backbone and may need a proxy. 1513 Additionally, the duty-cycled device may need to rely on the 6LBR to 1514 perform registration to the 6BBR. 1516 The ND registration method SHOULD defend the addresses of duty-cycled 1517 devices that are sleeping most of the time and not capable to defend 1518 their own Addresses. 1520 Related requirements are: 1522 Req4.1: The registration mechanism SHOULD enable a third party to 1523 proxy register an Address on behalf of a 6LoWPAN node that may be 1524 sleeping or located deeper in an LLN mesh. 1526 Req4.2: The registration mechanism SHOULD be applicable to a duty- 1527 cycled device regardless of the link type, and enable a 6BBR to 1528 operate as a proxy to defend the Registered Addresses on its behalf. 1530 Req4.3: The registration mechanism SHOULD enable long sleep 1531 durations, in the order of multiple days to a month. 1533 B.5. Requirements Related to Security 1535 In order to guarantee the operations of the 6LoWPAN ND flows, the 1536 spoofing of the 6LR, 6LBR and 6BBRs roles should be avoided. Once a 1537 node successfully registers an address, 6LoWPAN ND should provide 1538 energy-efficient means for the 6LBR to protect that ownership even 1539 when the node that registered the address is sleeping. 1541 In particular, the 6LR and the 6LBR then should be able to verify 1542 whether a subsequent registration for a given address comes from the 1543 original node. 1545 In a LLN it makes sense to base security on layer-2 security. During 1546 bootstrap of the LLN, nodes join the network after authorization by a 1547 Joining Assistant (JA) or a Commissioning Tool (CT). After joining 1548 nodes communicate with each other via secured links. The keys for 1549 the layer-2 security are distributed by the JA/CT. The JA/CT can be 1550 part of the LLN or be outside the LLN. In both cases it is needed 1551 that packets are routed between JA/CT and the joining node. 1553 Related requirements are: 1555 Req5.1: 6LoWPAN ND security mechanisms SHOULD provide a mechanism for 1556 the 6LR, 6LBR and 6BBR to authenticate and authorize one another for 1557 their respective roles, as well as with the 6LoWPAN Node for the role 1558 of 6LR. 1560 Req5.2: 6LoWPAN ND security mechanisms SHOULD provide a mechanism for 1561 the 6LR and the 6LBR to validate new registration of authorized 1562 nodes. Joining of unauthorized nodes MUST be impossible. 1564 Req5.3: 6LoWPAN ND security mechanisms SHOULD lead to small packet 1565 sizes. In particular, the NS, NA, DAR and DAC messages for a re- 1566 registration flow SHOULD NOT exceed 80 octets so as to fit in a 1567 secured IEEE Std.802.15.4 [IEEEstd802154] frame. 1569 Req5.4: Recurrent 6LoWPAN ND security operations MUST NOT be 1570 computationally intensive on the LoWPAN Node CPU. When a Key hash 1571 calculation is employed, a mechanism lighter than SHA-1 SHOULD be 1572 preferred. 1574 Req5.5: The number of Keys that the 6LoWPAN Node needs to manipulate 1575 SHOULD be minimized. 1577 Req5.6: The 6LoWPAN ND security mechanisms SHOULD enable the 1578 variation of CCM [RFC3610] called CCM* for use at both Layer 2 and 1579 Layer 3, and SHOULD enable the reuse of security code that has to be 1580 present on the device for upper layer security such as TLS. 1582 Req5.7: Public key and signature sizes SHOULD be minimized while 1583 maintaining adequate confidentiality and data origin authentication 1584 for multiple types of applications with various degrees of 1585 criticality. 1587 Req5.8: Routing of packets should continue when links pass from the 1588 unsecured to the secured state. 1590 Req5.9: 6LoWPAN ND security mechanisms SHOULD provide a mechanism for 1591 the 6LR and the 6LBR to validate whether a new registration for a 1592 given address corresponds to the same 6LoWPAN Node that registered it 1593 initially, and, if not, determine the rightful owner, and deny or 1594 clean-up the registration that is duplicate. 1596 B.6. Requirements Related to Scalability 1598 Use cases from Automatic Meter Reading (AMR, collection tree 1599 operations) and Advanced Metering Infrastructure (AMI, bi-directional 1600 communication to the meters) indicate the needs for a large number of 1601 LLN nodes pertaining to a single RPL DODAG (e.g. 5000) and connected 1602 to the 6LBR over a large number of LLN hops (e.g. 15). 1604 Related requirements are: 1606 Req6.1: The registration mechanism SHOULD enable a single 6LBR to 1607 register multiple thousands of devices. 1609 Req6.2: The timing of the registration operation should allow for a 1610 large latency such as found in LLNs with ten and more hops. 1612 Authors' Addresses 1614 Pascal Thubert (editor) 1615 Cisco Systems, Inc 1616 Sophia Antipolis 1617 FRANCE 1619 Email: pthubert@cisco.com 1621 Erik Nordmark 1622 Santa Clara, CA 1623 USA 1625 Email: nordmark@sonic.net 1627 Samita Chakrabarti 1628 San Jose, CA 1629 USA 1631 Email: samitac.ietf@gmail.com 1633 Charles E. Perkins 1634 Futurewei 1635 2330 Central Expressway 1636 Santa Clara 95050 1637 Unites States 1639 Email: charliep@computer.org