idnits 2.17.1 draft-chakrabarti-nordmark-6man-efficient-nd-03.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 : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC4861, but the abstract doesn't seem to directly say this. It does mention RFC4861 though, so this could be OK. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: The efficiency-aware default router MUST not send periodic RA unless it is configured to support both legacy IPv6 and efficiency-aware hosts. If the Router is configured for efficiency-aware hosts support, it MUST send Router Advertisements with E-bit flag ON and MUST NOT set 'L' bit in the advertisements. (Using the creation date from RFC4861, updated by this document, for RFC5378 checks: 2004-07-16) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (October 15, 2013) is 3818 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: 'RFC4861' is mentioned on line 234, but not defined == Missing Reference: 'RFC4919' is mentioned on line 316, but not defined == Missing Reference: 'SLLAO' is mentioned on line 970, but not defined == Missing Reference: 'RFC 3756' is mentioned on line 1173, but not defined == Unused Reference: 'LOWPANG' is defined on line 1244, but no explicit reference was found in the text == Unused Reference: 'IPV6' is defined on line 1250, but no explicit reference was found in the text == Unused Reference: 'SEND' is defined on line 1264, but no explicit reference was found in the text == Unused Reference: 'AUTOADHOC' is defined on line 1267, but no explicit reference was found in the text == Unused Reference: 'NDDOS-halpern' is defined on line 1271, but no explicit reference was found in the text == Unused Reference: 'IEEE' is defined on line 1287, but no explicit reference was found in the text == Unused Reference: 'PD' is defined on line 1290, but no explicit reference was found in the text == Unused Reference: 'IPV6M' is defined on line 1304, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2434 (Obsoleted by RFC 5226) ** Downref: Normative reference to an Informational RFC: RFC 4919 (ref. 'LOWPANG') -- Obsolete informational reference (is this intentional?): RFC 2460 (ref. 'IPV6') (Obsoleted by RFC 8200) == Outdated reference: A later version (-07) exists of draft-ietf-6man-impatient-nud-05 == Outdated reference: A later version (-06) exists of draft-ietf-6man-resilient-rs-01 Summary: 2 errors (**), 0 flaws (~~), 16 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 6man WG S. Chakrabarti 3 Internet-Draft Ericsson 4 Updates: 4861 (if approved) E. Nordmark 5 Intended status: Standards Track 6 Expires: April 18, 2014 P. Thubert 7 Cisco Systems 8 M. Wasserman 9 Painless Security 10 October 15, 2013 12 Wired and Wireless IPv6 Neighbor Discovery Optimizations 13 draft-chakrabarti-nordmark-6man-efficient-nd-03 15 Abstract 17 IPv6 Neighbor Discovery (RFC 4861) protocol has been designed for 18 neighbor's address resolution, unreachability detection, address 19 autoconfiguration, router advertisement and solicitation. With the 20 progress of Internet adoption on various industries including home, 21 wireless, M2M and cellular networks there is a desire for optimizing 22 the legacy IPv6 Neighbor Discovery protocol. This document describes 23 a method of optimization by reducing multicast messages and 24 introducing an IPv6 address Registration mechanism. The optimization 25 of IPv6 Neighbor Discovery protocol is useful for Wirless and low- 26 power IPv6 networks and as well as Data Centers and Home Networks. 27 The solution is capable of handling existing legacy IPv6 nodes in the 28 network with local mobility. 30 Status of this Memo 32 This Internet-Draft is submitted in full conformance with the 33 provisions of BCP 78 and BCP 79. 35 Internet-Drafts are working documents of the Internet Engineering 36 Task Force (IETF). Note that other groups may also distribute 37 working documents as Internet-Drafts. The list of current Internet- 38 Drafts is at http://datatracker.ietf.org/drafts/current/. 40 Internet-Drafts are draft documents valid for a maximum of six months 41 and may be updated, replaced, or obsoleted by other documents at any 42 time. It is inappropriate to use Internet-Drafts as reference 43 material or to cite them other than as "work in progress." 45 This Internet-Draft will expire on April 18, 2014. 47 Copyright Notice 48 Copyright (c) 2013 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents 53 (http://trustee.ietf.org/license-info) in effect on the date of 54 publication of this document. Please review these documents 55 carefully, as they describe your rights and restrictions with respect 56 to this document. Code Components extracted from this document must 57 include Simplified BSD License text as described in Section 4.e of 58 the Trust Legal Provisions and are provided without warranty as 59 described in the Simplified BSD License. 61 Table of Contents 63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 64 1.1. Problem Areas . . . . . . . . . . . . . . . . . . . . . . 4 65 1.2. Overview of the basic ND Optimization . . . . . . . . . . 5 66 2. Definition Of Terms . . . . . . . . . . . . . . . . . . . . . 6 67 3. Assumptions for efficiency-aware Neighbor Discovery . . . . . 8 68 4. The set of Requirements for efficiency and optimization . . . 8 69 5. Basic Operations . . . . . . . . . . . . . . . . . . . . . . . 9 70 6. Applicability Statement . . . . . . . . . . . . . . . . . . . 10 71 7. New Neighbor Discovery Options and Messages . . . . . . . . . 10 72 7.1. Address Registration Option . . . . . . . . . . . . . . . 10 73 7.2. Refresh and De-registration . . . . . . . . . . . . . . . 12 74 7.3. A New Router Advertisement Flag . . . . . . . . . . . . . 13 75 7.4. The Transaction Identification(TID) . . . . . . . . . . . 13 76 8. Efficiency-aware Neighbor Discovery Messages . . . . . . . . . 14 77 9. Efficiency-aware Host Behavior . . . . . . . . . . . . . . . . 15 78 10. The Efficiency Aware Default Router (NEAR) Behavior . . . . . 16 79 10.1. Router Configuration Modes . . . . . . . . . . . . . . . . 17 80 10.2. Movement Detection . . . . . . . . . . . . . . . . . . . . 17 81 10.2.1. Registration ownership . . . . . . . . . . . . . . . 17 82 11. NCE Management in efficiency-aware Routers . . . . . . . . . . 18 83 11.1. Handling ND DOS Attack . . . . . . . . . . . . . . . . . . 20 84 12. Mixed-Mode Operations . . . . . . . . . . . . . . . . . . . . 20 85 13. Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . 21 86 14. Handling Sleepy Nodes . . . . . . . . . . . . . . . . . . . . 23 87 15. Duplicate Address Detection . . . . . . . . . . . . . . . . . 23 88 16. Mobility Considerations . . . . . . . . . . . . . . . . . . . 23 89 17. Other Considerations . . . . . . . . . . . . . . . . . . . . . 24 90 17.1. Detecting Network Attachment(DNA) . . . . . . . . . . . . 24 91 17.2. Proxying for Efficiency-Aware hosts . . . . . . . . . . . 24 92 17.3. DHCPv6 Interaction . . . . . . . . . . . . . . . . . . . . 25 93 18. RPL Implications . . . . . . . . . . . . . . . . . . . . . . . 25 94 19. Updated Neighbor Discovery Constants . . . . . . . . . . . . . 26 95 20. Security Considerations . . . . . . . . . . . . . . . . . . . 26 96 21. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 97 22. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . 26 98 23. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 27 99 24. References . . . . . . . . . . . . . . . . . . . . . . . . . . 27 100 24.1. Normative References . . . . . . . . . . . . . . . . . . . 27 101 24.2. Informative References . . . . . . . . . . . . . . . . . . 28 102 Appendix A. Usecase Analysis . . . . . . . . . . . . . . . . . . 29 103 A.1. Data Center Routers on the link . . . . . . . . . . . . . 29 104 A.2. Edge Routers and Home Networks . . . . . . . . . . . . . . 29 105 A.3. M2M Networks . . . . . . . . . . . . . . . . . . . . . . . 30 106 A.4. Wi-fi Networks . . . . . . . . . . . . . . . . . . . . . . 30 107 A.5. 3GPP Networks . . . . . . . . . . . . . . . . . . . . . . 30 108 A.6. Industrial Networks . . . . . . . . . . . . . . . . . . . 31 109 A.7. Set and forget offline network . . . . . . . . . . . . . . 31 110 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 31 112 1. Introduction 114 Conceptually, IPv6 multicast messages are supposed to avoid broadcast 115 messages, but in practice, the multicast operation at the link level 116 is that of a broadcast nevertheless. This did not matter much at the 117 time ND [ND] was originally designed, when an Ethernet network was 118 more or less a single shared wire, but since then, large scale switch 119 fabrics, low power sleeping devices, mobile wireless/cellular devices 120 and virtual machines have changed the landscape dramatically. 122 In a modern switch fabric, a number of intermediate devices (such as 123 switches, routers and security middle boxes) host IPv6 State 124 Maintaining Entities (SMEs) holding information such as the location 125 of an IPv6 address or its mapping with a MAC address. Such 126 intermediate devices include Wireless Controllers that terminate a 127 overlay tunnel and rapidly re-enable reachability for mobile 128 devices(L2/L3), Network edge devices performing subscriber access, 129 network devices that protect the ownership of an IPv6 address, 130 Overlay networks in data centers, Home Networks for IPv6 clients. 132 In general, there is a need for enhancing the IPv6 ND [ND] to make it 133 less chatty and flexible to work with different types of networking 134 elements, physical and virtual networks and at the same time 135 maintaining the IPv6 states to avoid duplicates or denial of 136 services. 138 1.1. Problem Areas 140 Specifically, the following are the issues with the IPv6 deployment 141 in many wireless and high-density IPv6 subnets today: 142 o The periodic RA messages in IPv6 ND [ND], and NS/NA messages 143 require all IPv6 nodes in the link to be in listening mode even 144 when they are in idle cycle. It requires energy for the sleepy 145 nodes which may otherwise be sleeping during the idle period. 146 Non-sleepy nodes also spends more energy since they are in 147 continuous listening mode. With the explosion of Internet-of- 148 things and machine to machine communication, more and more devices 149 would be using IPv6 addresses in the near future. 150 o With WIFI, a multicast message will consume the wireless link on 151 all Access Points around a switched fabric and will be transmitted 152 at the lowest speed possible in order to ensure the maximum 153 reception by all wireless nodes. This means that in an 154 environment where bandwidth is scarce, a single multicast packet 155 may consume the bandwidth for hundreds of unicast packets. Sadly, 156 IPv6 ND is a major source of multicast messages in wireless 157 devices, since such messages are triggered each time a wireless 158 device changes its point of attachment. 160 o In a datacenter, where VM mobility and VM address reslution also 161 trigger storms of IPv6 ND multicast messages, which become a major 162 hassle as the number of VM may scale to the tens of thousands in a 163 large Data Center. At the IETF, a WG discusses such problems with 164 Address Resolution in Massive Datacenters (ARMD). 166 The following paragraph elaborates the source of all the multicast 167 messages in IPv6 ND. 169 Following power-on and initialization of the network in IPv6 Ethernet 170 networks, a node joins the solicited-node multicast address on the 171 interface and then performs duplicate address detection (DAD) for the 172 acquired link-local address by sending a solicited-node multicast 173 message to the link. After that it sends multicast router 174 solicitation (RS) messages to the all-router address to solicit 175 router advertisements. Once the host receives a valid router 176 advertisement (RA) with the "A" flag, it autoconfigures the IPv6 177 address with the advertised prefix in the router advertisement (RA). 178 Besides this, the IPv6 routers usually send router advertisements 179 periodically on the network. RAs are sent to the all-node multicast 180 address. The minimum RA interval range can be 3sec to 600sec 181 depending on applications. Nodes send Neighbor Solicitation (NS) and 182 Neighbor Advertisement (NA) messages to resolve the IPv6 address of 183 the destination on the link. These NS/NA messages are also often 184 multicast messages and it is assumed that the node is on the same 185 link and relies on the fact that the destination node is always 186 powered and generally available. 188 1.2. Overview of the basic ND Optimization 190 In a nutshell, the following basic optimizations are made from the 191 original IPv6 Neighbor Discovery protocol [ND]: 192 o Adds Node Registration at the default subnet-router 193 o Introduces a EUI-64 identifier for identification during 194 initiation 195 o Does not require unsolicited periodic Router Advertisements 196 o No multicast messages required for address resolution and DAD for 197 non-link-local IP addresses 198 o Introduces a short-lived temporary NCE entry for unregistered 199 nodes that turns into a regular NCE upon registration 200 o Supports mixed mode operations where legacy IPv6 nodes and 201 enahnced optimized routers can co-exist during the transition 202 period. 204 EUI-64 identifiers are recommended as unique Interface Identifiers, 205 however if the network is isolated from the Internet, uniqueness of 206 the identifiers may be obtained by other mechanisms such as a random 207 number generator with lowest collision rate. Although, the ND 208 optimization [6LOWPAN-ND] applies to 6LoWPAN [LOWPAN] networks, the 209 concept is mostly applicable to power-aware IPv6 networks. 210 Therefore, this document generalizes the address registration and 211 multicast reduction in [6LOWPAN-ND] to all IPv6 links. 213 Thus optimizing the regular IPv6 Neighbor Discovery [ND] to minimize 214 total number of related signaling messages without losing generality 215 of Neighbor Discovery, autoconfiguration and reliable host-router 216 communication, are desirable in any modern IPv6 networks such as 217 Home, Enterprise networks, Data Centers and Operator's Cellular/ 218 Wireless networks. 220 The optimization will be highly effective for links and nodes which 221 do not support multicast and as well as for a multicast network 222 without MLD snooping switches. Moreover, in the MLD-snooping 223 networks the MLD switches will deal with less number of multicasts. 225 The goal of this document is to provide an efficient Neighbor 226 Discovery Protocol in classic IPv6 subnets in wireless/wired links. 227 In the process, the node registration method is also deemed to be 228 useful for preventing Neighbor Discovery denial of service ( ND DOS) 229 attacks. 231 The proposed changes can be used in two different ways. In one case 232 all the hosts and routers on a link implement the new mechanisms, 233 which gives the maximum benefits. In another case the link has a 234 mixture of new hosts and/or routers and legacy [RFC4861] hosts and 235 routers, operating in a mixed-mode providing some of the benefits. 237 In the following sections the document describes the basic operations 238 of registration methods, optimization of Neighbor Discovery messages, 239 interoperability with legacy IPv6 implementations and provides a 240 section on use-case scenarios where it can be typically applicable. 241 This document also describes an optional feature for enabling node 242 mobility in the LLN network using backbone routers(BBR) or multiple 243 default subnet routers. This optional feature generates a sequence 244 ID by the host in the registration message for deploying some routing 245 protocols (example: RPL [RFC6550]) with reliability in the LLN. 247 2. Definition Of Terms 249 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 250 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 251 document are to be interpreted as described in [RFC2119]. 253 multi-level Subnets: 254 A wireless link determined by one IPv6 off-link prefix in a 255 network where in order to reach a destination with same prefix a 256 packet may have to travel through one or more 'intermediate' 257 routers which relay the packet to the next 'intermediate' router 258 or the host in its own. 259 Border Router(BR): 260 A border router is typically located at the junction of Internet 261 and Home Network. An IPv6 router with one interface connected to 262 an IPv6 subnet and other interface connecting to a non-classic 263 IPv6 interface such as 6LoWPAN interface. A Border router is 264 usually the gateway between the IPv6 network and Internet. 265 Backbone: 266 This is an IPv6 transit link that interconnects 2 or more Low 267 Power Lossy Networks (LLNs). It is expected to be deployed as a 268 high speed backbone in order to federate a potentially large set 269 of LLN nodes. Also referred to as a LLN backbone or Backbone 270 network in this document. 271 Backbone Router: 272 An IPv6 router that federates the LLN using a transit link as a 273 backbone. A BBR acts as a 6LoWPAN Border Router (6LBR) and an 274 Efficiency Aware Default Router (NEAR). 275 Efficiency-Aware Network: 276 An Efficiency-Aware network is composed of network elements that 277 are sensitive to energy usage or number of signaling messages in 278 the network. An efficiency-aware network may also contain links 279 that do not support multicast or it does not have MLD snooping 280 capabilities and yet the network likes to communicate most 281 efficiently with minimum number of signaling messages. Data 282 center networks with virtual machines, cellular IPv6 networks, any 283 IPv6 networks with energy-sensitive nodes are examples of 284 Efficiency-Aware networks. 285 IPv6 ND-efficiency-aware Router(NEAR): 286 The default Router of the single hop IPv6 subnet. This router 287 implements the optimizations specified in this document. This 288 router should be able to handle both legacy IPv6 nodes and nodes 289 that sends registration request. 290 Efficiency-Aware Host(EAH): 291 A host in a IPv6 network is considered a IPv6 node without routing 292 and forwarding capability. The EAH is the host which implements 293 the host functionality for optimized Neighbor Discovery mentioned 294 in this document. 295 Legacy IPv6 Host: 296 A host in a IPv6 network is considered a IPv6 node without routing 297 and forwarding capability and implements RFC 4861 host functions. 299 Legacy IPv6 Router: 300 An IPv6 Router which implements RFC 4861 Neighbor Discovery 301 protocols. 302 EUI-64: 303 It is the IEEE defined 64-bit extended unique identifier formed by 304 concatenation of 24-bit or 36-bit company id value by IEEE 305 Registration Authority and the extension identifier within that 306 company-id assignment. The extension identifiers are 40-bit (for 307 24-bit company-id) or 28-bit (for the 36-bit company-id) 308 respectively. 309 LLN: 310 It is a low power and lossy network where nodes are typically 311 constrained in system resources and energy, for instance battery 312 powered nodes. Alternately LLN could be a network of line-powered 313 nodes with radio links with lossy characteristics. Wifi, ZigBee, 314 Celular networks are examples of such a network. 315 Extended LLN: 316 This is the aggregation of multiple LLNs as defined in [RFC4919] 317 interconnected by a Backbone Link via Backbone Routers and forming 318 a single IPv6 link. 320 3. Assumptions for efficiency-aware Neighbor Discovery 322 o The efficiency-aware nodes in the network carry unique interface 323 ID in the network in order to form the auto-configured IPv6 324 address uniquely. An EUI-64 interface ID required for global 325 communication. 326 o All nodes are single IPv6-hop away from their default router in 327 the subnet. 328 o /64-bit IPv6 prefix is used for Stateless Auto-address 329 configuration (SLAAC). The IPv6 Prefix may be distributed with 330 Router Advertisement (RA) from the default router to all the nodes 331 in that link. 332 o The efficiency-aware node MAY maintain a sequence counter in 333 permanent memory according to section 7 of RFC 6550. 335 4. The set of Requirements for efficiency and optimization 337 o Node Registration: Node initiated Registration and address 338 allocation is done in order to avoid periodic multicast Router 339 Advertisement messages and often Neighbor Address resolution can 340 be skipped as all packets go via the default router which now 341 knows about all the registered nodes. Node Registration enables 342 reduction of all-node and solicited-node multicast messages in the 343 subnet. 345 o Address allocation of registered nodes [ND] are performed using 346 IPv6 Autoconfiguration [AUTOCONF]. 347 o Host initiated Registration and Refresh is done by sending a 348 Router Solicitation and then a Neighbor Solicitation Message using 349 Address Registration Option (described below). 350 o The node registration may replace the requirement of doing 351 Duplicate Address Detection. 352 o Sleepy hosts are supported by this Neighbor Discovery procedures 353 as they are not woken up periodically by Router Advertisement 354 multicast messages or Neighbor Solicitation multicast messages. 355 Sleepy nodes may wake up in its own schedule and send unicast 356 registration refresh messages when needed. 357 o Since this document requires formation of an IPv6 address with an 358 unique 64-bit Interface ID(EUI-64) is required for global IPv6 359 addresses, if the network is an isolated one and uses ULA [ULA] as 360 its IPv6 address then the deployment should make sure that each 361 MAC address in that network has unique address and can provide a 362 unique 64-bit ID for each node in the network. 363 o A /64-bit Prefix is required to form the IPv6 address. 364 o MTU requirement is same as IPv6 network. 366 5. Basic Operations 368 In the efficient-nd IPv6 Network, the NEAR routers are the default 369 routers for the efficiency-aware hosts (EAH). During the startup or 370 joining the network the host does not wait for the Router 371 Advertisements as the NEAR routers do not perform periodic multicast 372 RA as per RFC 4861. Instead, the EAH sends a multicast RS to find 373 out a NEAR router in the network. The RS message is the same as in 374 RFC 4861. The advertising routers in the link responds to the RS 375 message with RA with Prefix Information Option and any other options 376 configured in the network. If EAH hosts will look for a RA from a 377 NEAR (E-flag) and choose a NEAR as its default router and 378 consequently sends a unicast Neighbor Solicitation Message with ARO 379 option in order to register itself with the default router. The EAH 380 does not do Duplicate Address Detection or NS Resolution of 381 addresses. NEAR maintains a binding of registered nodes and 382 registration life-time information along with the neighbor Cache 383 information. The NEAR is responsible for forwarding all the messages 384 from its EAH including on-link messages from one EAH to another. For 385 details of protocol operations please see the sections below. 387 When a IPv6 network consists of both legacy hosts and EAH, and if the 388 NEAR is configured for 'mixed mode' operation, it should be able to 389 handle Address Registration Option(ARO) requests and send periodic 390 RA. Thus it should be able to serve both efficiency-aware hosts and 391 legacy hosts. Similarly, a legacy host compatible EAH falls back to 392 RFC 4861 host behavior if a NEAR is not present in the link. See the 393 section on 'Mixed Mode Operations' for details below. 395 6. Applicability Statement 397 This document aims to guide implementers to choose an appropriate 398 IPv6 neighbor discovery and Address configuration procedures suitable 399 for any efficient IPv6 network. These optimizations are equally 400 useful for the energy-sensitive, non-multicast links and for 401 classical IPv6 networks i.e. home networks, Data-Center IPv6 overlay 402 networks where saving Neighbor Discovery messages will reduce cost 403 and increase bandwidth availability. 405 The address registration mechanism and associated extension to the 406 Neighbor Discovery protocol allow a low-power host to move between 407 the LLN and the classic IPv6 networks as well as movement from one 408 Border Router registration area to another while staying within the 409 same IPv6 subnet. 411 Note that the specification allows 'Mixed-mode' operation in the 412 efficiency-aware nodes for backward compatibility and transitioning 413 to a complete efficiency-aware network of hosts and routers. Though 414 the efficiency-aware only nodes will minimize the ND signaling and 415 DOS attacks in the LAN. 417 Applicability of this solution is limited to the legacy IPv6 nodes 418 and subnets and it optimizes the generic IPv6 signaling activities at 419 network layer. However, further optimization at the application 420 layers are possible for increased efficiency based on particular use- 421 cases and applications. 423 7. New Neighbor Discovery Options and Messages 425 This section will discuss the registration and de-registration 426 procedure of the hosts in the network. 428 7.1. Address Registration Option 430 The Address Registration Option(ARO) is useful for avoiding Duplicate 431 Address Detection messages since it requires a unique EUI-64 ID for 432 registration. The address registration is used for maintaining 433 reachability of the node or host by the router. This option is 434 almost the same ARO as in [6LOWPAN-ND]. A Transaction ID field and a 435 corresponding bit have been introduced in order to detect duplicate 436 address registration and local mobility of a node. 438 The routers keep track of host IP addresses that are directly 439 reachable and their corresponding link-layer addresses. This is 440 useful for lossy and lowpower networks(LLN) and as well as wired IPv6 441 networks. An Address Registration Option (ARO) can be included in 442 unicast Neighbor Solicitation (NS) messages sent by hosts. Thus it 443 can be included in the unicast NS messages that a host sends as part 444 of Neighbor Unreachability Detection to determine that it can still 445 reach a default router. The ARO is used by the receiving router to 446 reliably maintain its Neighbor Cache. The same option is included in 447 corresponding Neighbor Advertisement (NA) messages with a Status 448 field indicating the success or failure of the registration. This 449 option is always host initiated. 451 The ARO is required for reliability and power saving. The lifetime 452 field provides flexibility to the host to register an address which 453 should be usable (the reachability information may be propagated to 454 the routing protocols) during its intended sleep schedule of nodes 455 that switches to frequent sleep mode. 457 The sender of the NS also includes the EUI-64 of the interface it is 458 registering an address from. This is used as a unique ID for the 459 detection of duplicate addresses. It is used to tell the difference 460 between the same node re-registering its address and a different node 461 (with a different EUI-64) registering an address that is already in 462 use by someone else. The EUI-64 is also used to deliver an NA 463 carrying an error Status code to the EUI-64 based link-local IPv6 464 address of the host. 466 When the ARO is used by hosts and SLLA option MUST be included [ 467 except for the point-to-point links (example: IP-in-IP tunnel)] and 468 the target address for to-be registered node MUST be the IPv6 source 469 address of the Neighbor Solicitation message. 471 Note that a node should be able to register with a default router 472 with multiple IPv6 addresses (including privacy addresses). 474 0 1 2 3 475 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 476 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 477 | Type | Length = 2 | Status | Reserved | 478 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 479 | Reservd |T| TID | Registration Lifetime | 480 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 481 | | 482 + EUI-64 or equivalent + 483 | | 484 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 485 Fields: 486 Type: 33 ( See [6LOWPAN-ND] ) 487 Length: 8-bit unsigned integer. The length of the option in 488 units of 8 bytes. Always 2. 489 Status: 8-bit unsigned integer. Indicates the status of a 490 registration in the NA response. MUST be set to 0 in 491 NS messages. See below. 492 Reserved: This field is unused. It MUST be initialized to zero 493 by the sender and MUST be ignored by the receiver. 494 TID: 8-bit integer. It is a transaction id maintained by 495 the host and incremented with each registration. it is 496 recommended that the node maintains a persistent 497 storage for TID. TID is used as a sequence counter to 498 detect the most recent registration request from a 499 host and its mobility within the same subnet across 500 multiple default Border Routers. Its operation 501 follows section 7 of RPL [RFC6550] for sequence 502 counters. 503 Registration Lifetime: 16-bit unsigned integer. The amount of time 504 in a unit of 60 seconds that the router should retain 505 the Neighbor Cache entry for the sender of the NS that 506 includes this option. 507 EUI-64: 64 bits. This field is used to uniquely identify the 508 interface of the registered address by including the 509 EUI-64 identifier assigned to it unmodified. 510 T bit: One bit flag. Set if the TID octet is present for 511 processing. 513 The Status values used in Neighbor Advertisements are: 515 +--------+--------------------------------------------+ 516 | Status | Description | 517 +--------+--------------------------------------------+ 518 | 0 | Success | 519 | 1 | Duplicate Address | 520 | 2 | Neighbor Cache Full | 521 | 3 | Registration Ownership Response | 522 | 4-255 | Allocated using Standards Action [RFC2434] | 523 +--------+--------------------------------------------+ 525 Table 1 527 7.2. Refresh and De-registration 529 A host SHOULD send a Registration message in order to renew its 530 registration before its registration lifetime expires in order to 531 continue its connectivity with the network. If anytime, the node 532 decides that it does not need the default router's service anymore, 533 it MUST send a de-registration message - i,e, a registration message 534 with lifetime being set to zero. A mobile host SHOULD first de- 535 register with the default router before it moves away from the 536 subnet. 538 7.3. A New Router Advertisement Flag 540 A new Router Advertisement flag [RF] is needed in order to 541 distinguish a router advertisement from a efficiency-aware default 542 router or a legacy IPv6 router. This flag is ignored by the legacy 543 IPv6 hosts. EAH hosts use this flag in order to discover a NEAR 544 router if it receives multiple RA from both legacy and NEAR routers. 546 0 1 2 3 4 5 6 7 547 +-+-+-+-+-+-+-+-+ 548 |M|O|H|Prf|P|E|R| 549 +-+-+-+-+-+-+-+-+ 551 The 'E' bit above MUST be 1 when a IPv6 router implements and 552 configures the efficiency-aware Router behavior for Neighbor 553 Discovery as per this document. All other cases the E bit MUST be 0. 555 The legacy IPv6 hosts will ignore the E bit in RA advertisement. All 556 EAH MUST look for E bit in RA in order to determine the efficiency- 557 aware support in the default router in the link. 559 7.4. The Transaction Identification(TID) 561 The TID field is used together with age of a registration for 562 arbitration between two routers (default or backbone) to ensure 563 freshness and ownership of the registration of a given target 564 address. Same value of TID indicates that both states of 565 registration are valid. In case of a mismatch between comparable 566 TIDs, the most recent TID wins. The TID definition used in section 567 6.4.1 of RFC 6550 for DAOSequence number would be applicable for here 568 for TID in ARO message. 570 It is 8 bit field. TID is generated by the host at the time of a new 571 registraton request. 573 This document assumes that an implementation will have configuration 574 knobs to determine whether it is running in classical IPv6 ND [ND] or 575 Efficiency Aware ND (this document) mode or both(Mixed mode). 577 8. Efficiency-aware Neighbor Discovery Messages 579 Router Advertisement(RA): Periodic RAs SHOULD be avoided. Only 580 solicited RAs are RECOMMENDED. An RA MUST 581 contain the Source Link-layer Address option 582 containing Router's link-layer address (this 583 is optional in [ND]. An RA MUST carry Prefix 584 information option with L bit being unset, so 585 that hosts do not multicast any NS messages 586 as part of address resolution. A new flag 587 (E-flag) is introduced in the RA in order to 588 characterize the efficiency-aware mode 589 support. Unlike RFC4861 which suggests 590 multicast Router Advertisements, this 591 specification optimizes the exchange by 592 always unicasting RAs in response to RS. 593 This is possible since the RS always includes 594 a SLLA option, which is used by the router to 595 unicast the RA. 596 Router Solicitation(RS): Upon system startup, the node sends a 597 multicast or link broadcast (when multicast 598 is not supported at the link-layer) RS to 599 find out the available routers in the link. 600 An RS may be sent at other times as described 601 in section 6.3.7 of RFC 4861. A Router 602 Solicitation MUST carry Source Link-layer 603 Address option except for the point-to-point 604 links. Since no periodic RAs are allowed in 605 the efficiency-aware IPv6 network, the host 606 may send periodic unicast RS to the routers. 607 The time-periods for the RS varies on the 608 deployment scenarios and the Default Router 609 Lifetime advertised in the RAs. 610 Default Router Selection: Same as in section 6.3.6 of RFC 4861[ND]. 611 Neighbor Solicitation (NS): Neighbor solicitation is used between 612 the hosts and the default-router as part of 613 NUD and registering the host's address(es). 614 An NS message MUST use the Address 615 Registration option in order to accomplish 616 the registration. 617 Neighbor Advertisement (NA): As defined in [ND] and ARO option. 618 Redirect Messages: A router SHOULD NOT send a Redirect message 619 to a host since the link has non-transitive 620 reachability. The host behavior is same as 621 described in section 8.3 of RFC 4861[ND], 622 i,e. a host MUST NOT send or accept redirect 623 messages when in efficiency-aware mode. 625 Same as in RFC 4861[ND] 626 MTU option: As per the RFC 4861. 627 Address Resolution: No NS/NA are sent as the prefixes are treated 628 as off-link. Thus no address resolution is 629 performed at the hosts. The routers keep 630 track of Neighbor Solicitations with Address 631 Registration options(ARO) and create an 632 extended neighbor cache of reachable 633 addresses. The router also knows the nexthop 634 link-local address and corresponding link- 635 layer address when it wants to route a 636 packet. 637 Neighbor Unreachability Detection(NUD): NUD is performed in 638 "forward-progress" fashion as described in 639 section 7.3.1 of RFC 4861[ND]. However, if 640 Address Registration Option is used, the NUD 641 SHOULD be combined with the Re-registration 642 of the node. This way no extra message for 643 NUD is required. 645 9. Efficiency-aware Host Behavior 647 A host sends Router Solicitation at the system startup and also when 648 it suspects that one of its default routers have become 649 unreachable(after NUD fails). The EAH MUST process the E-bit in RA 650 as described in this document. The EAH MUST use ARO option to 651 register with the neighboring NEAR router. 653 A host SHOULD be able to autoconfigure its IPv6 addresses using the 654 IPv6 prefix obtained from Router Advertisement. The host SHOULD form 655 its link-local address from the EUI-64 as specified by IEEE 656 Registration Authority and RFC 2373. If this draft feature is 657 implemented and configured, the host MUST NOT re-direct Neighbor 658 Discovery messages. The host is not required to join the solicited- 659 node multicast address but it MUST join the all-node multicast 660 address. 662 A host always sends packets to (one of) its default router(s). This 663 is accomplished by the routers never setting the 'L' flag in the 664 Prefix options. 666 The host is unable to forward routes or participate in a routing 667 protocol. A legacy IPv6 Host compliant EAH SHOULD be able to fall 668 back to RFC 4861 host behavior if there is no efficiency-aware router 669 (NEAR) in the link. 671 The efficiency-aware host MUST NOT send or accept re-direct messages. 673 It does not join solicited node multicast address. 675 If the EAH is capable of generating TID and configured for this 676 operation, the EAH MUST use the TID field and appropriate associated 677 operation bits in the ARO message during registration and refresh. 679 In some cases, hosts may need to send MAX_RTR_SOLICITATIONS(3) to 680 receive the reply back from the default router. In a lossy link or 681 due to sleepy default router, the hosts may have to send more than 3 682 solicitations [Resilient-RS]. But this can easily increase the 683 number of siganling traffic in the network. Thus it is RECOMMEDED 684 that the EAH nodes start with the default MAX_RTR_SOLICITATION [ND] 685 value in a low power network. 687 However, in some scenarios the packet loss resilient router 688 solicitation method may be applicable [Resilient-RS]. 690 10. The Efficiency Aware Default Router (NEAR) Behavior 692 The main purpose of the default router in the context of this 693 document is to receive and process the registration request, forward 694 packets from one neighbor to the other, informs the routing protocol 695 about the un-availability of the registered nodes if the routing 696 protocol requires this information for the purpose of mobility or 697 fast convergence. A default router (NEAR) behavior may be observed 698 in one or more interfaces of a Border Router(BR). 700 A Border Router normally may have multiple interfaces and connects 701 the nodes in a link like a regular IPv6 subnet(s) or acts as a 702 gateway between separate networks such as Internet and home networks 703 . The Border Router is responsible for distributing one or more /64 704 prefixes to the nodes to identify a packet belonging to the 705 particular network. One or more of the interfaces of the Border 706 Router may be connected with the efficiency-aware hosts or a 707 efficiency-aware router(NEAR). 709 The efficiency-aware default router MUST not send periodic RA unless 710 it is configured to support both legacy IPv6 and efficiency-aware 711 hosts. If the Router is configured for efficiency-aware hosts 712 support, it MUST send Router Advertisements with E-bit flag ON and 713 MUST NOT set 'L' bit in the advertisements. 715 The router SHOULD NOT garbage collect Registered Neighbor Cache 716 entries since they need to retain them until the Registration 717 Lifetime expires. If a NEAR receives a NS message from the same host 718 one with ARO and another without ARO then the NS message with ARO 719 gets the precedence and the NS without ARO is ignored. This behavior 720 protects the router from Denial Of Service attacks. Similarly, if 721 Neighbor Unreachability Detection on the router determines that the 722 host is UNREACHABLE (based on the logic in [ND]), the Neighbor Cache 723 entry SHOULD NOT be deleted but be retained until the Registration 724 Lifetime expires. If an ARO arrives for an NCE that is in 725 UNCREACHABLE state, that NCE should be marked as STALE. 727 A default router keeps a cache for all the nodes' IP addresses, 728 created from the Address Registration processing. 730 10.1. Router Configuration Modes 732 An efficiency-aware Router(NEAR) MUST be able to configure in 733 efficiency-aware-only mode where it will expect all hosts register 734 with the router following RS; thus NEAR will not support legacy 735 hosts. However, it will create legacy NCE for the routers in the 736 network assuming that the routers do not register with it. This mode 737 is able to prevent ND flooding on the link. 739 An efficiency-aware Router(NEAR) SHOULD be able to have configuration 740 knob to configure itself in Mixed-Mode where it will support both 741 efficiency-aware hosts and legacy hosts. However even in mixed-mode 742 the router should check for duplicate entries in the NCE before 743 creating a new ones and it should rate-limit creating new NCE based 744 on requests from the same host MAC address. 746 The RECOMMENDED default mode of operation for the efficiency-aware 747 router is Mixed-mode. Though it cannot reap the full benefit of 748 efficiency related optimization described in this document. 750 10.2. Movement Detection 752 When a host moves from one subnet to another its IPv6 prefix changes 753 and the movement detection is determined according to the existing 754 IPv6 movement detection described in [DNA]. 756 However, if the movement happens across different default routers in 757 the subnet and the node likes to register with one of the default 758 routers closest to its present location, it MUST send another 759 registration request to the new default router. The new default 760 router then first sends a NS to its peers with a link scope multicast 761 message to IPv6 address ff02::2 with the ARO option. 763 10.2.1. Registration ownership 765 The subnet-local-routers check their respective NCE table for the 766 particular registration. If the registration entry exists, the NEAR 767 default router then calculates the 'age' of the registration by 768 subtracting the present time from the registration received time 769 recorded at the NCE. The NEAR router then responds with a NA with 770 ARO option Status being equal to 3 and replaces the 'registration 771 lifetime' field with the 'age' of registration. Upon receiving the 772 NA from the neighboring routers the prospective default router 773 determines its registration ownership. If the other router 774 registration age is higher than its own registration age, then the 775 current router is considered to have the most recent registration 776 ownership. 778 If both routers registration age are zero or within a 50msec window, 779 then the TID field is used to determine the ownership. The higher 780 value of TID wins. Note that the registration ownership and local 781 movement detection behavior in NEAR router MUST be optionally 782 configured. The NEAR routers MAY implement this feature. 783 Configuring this option is needed when the NEAR routers are used in a 784 low power and lossy network environment. 786 11. NCE Management in efficiency-aware Routers 788 The use of explicit registrations with lifetimes plus the desire to 789 not multicast Neighbor Solicitation messages for hosts imply that we 790 manage the Neighbor Cache entries slightly differently than in [ND]. 791 This results in two different types of NCEs and the types specify how 792 those entries can be removed: 794 Legacy: Entries that are subject to the normal rules in 795 [ND] that allow for garbage collection when low 796 on memory. Legacy entries are created only 797 when there is no duplicate NCE. In mixed-mode 798 and efficiency-aware mode the legacy entries 799 are converted to the registered entries upon 800 successful processing of ARO. Legacy type can 801 be considered as union of garbage-collectible 802 and Tentative Type NCEs described in 803 [6LOWPAN-ND]. 804 Registered: Entries that have an explicit registered 805 lifetime and are kept until this lifetime 806 expires or they are explicitly unregistered. 808 Note that the type of the NCE is orthogonal to the states specified 809 in [ND]. 811 When a host interacts with a router by sending Router Solicitations 812 that does not match with the existing NCE entry of any type, a Legacy 813 NCE is first created. Once a node successfully registers with a 814 Router the result is a Registered NCE. As Routers send RAs to legacy 815 hosts, or receive multicast NS messages from other Routers the result 816 is Legacy NCEs. There can only be one kind of NCE for an IP address 817 at a time. 819 A Router Solicitation might be received from a host that has not yet 820 registered its address with the router or from a legacy[ND] host in 821 the Mixed-mode of operation. 823 In the 'Efficiency-aware' only mode the router MUST NOT modify an 824 existing Neighbor Cache entry based on the SLLA option from the 825 Router Solicitation. Thus, a router SHOULD create a tentative Legacy 826 Neighbor Cache entry based on SLLA option when there is no match with 827 the existing NCE. Such a legacy Neighbor Cache entry SHOULD be timed 828 out in TENTATIVE_LEGACY_NCE_LIFETIME seconds unless a registration 829 converts it into a Registered NCE. 831 However, in 'Mixed-mode' operation, the router does not require to 832 keep track of TENTATIVE_LEGACY_NCE_LIFETIME as it does not know if 833 the RS request is from a legacy host or the efficiency-aware hosts. 834 However, it creates the legacy type of NCE and updates it to a 835 registered NCE if the ARO NS request arrives corresponding to the 836 legacy NCE. Successful processing of ARO will complete the NCE 837 creation phase. 839 If ARO did not result in a duplicate address being detected, and the 840 registration life-time is non-zero, the router creates and updates 841 the registered NCE for the IPv6 address. If the Neighbor Cache is 842 full and new entries need to be created, then the router SHOULD 843 respond with a NA with status field set to 2. For successful 844 creation of NCE, the router SHOULD include a copy of ARO and send NA 845 to the requestor with the status field 0. A TLLA(Target Link Layer) 846 Option is not required with this NA. 848 Typically for efficiency-aware routers (NEAR), the registration life- 849 time and EUI-64 are recorded in the Neighbor Cache Entry along with 850 the existing information described in [ND]. The registered NCE are 851 meant to be ready and reachable for communication and no address 852 resolution is required in the link. The efficiency-aware hosts will 853 renew their registration to keep maintain the state of reachability 854 of the NCE at the router. However the router may do NUD to the idle 855 or unreachable hosts as per [ND]. 857 In addition, NEAR default routers MUST associate a record of the age 858 of the registration. 'Age' is a simple way to detect movement of a 859 node from local default router to another. 'Age' information SHOULD 860 contain System-time when the registration is first created or last 861 refreshed. This system-time is deducted from the current system-time 862 to determine the "age" of the registration and it is used for age 863 reporting with Neighbor advertisement for selection of registration 864 ownership among the default-router contenders in case of local 865 movement of the host from one default-router to another in the same 866 subnet. 'Age' is always considered zero for a fresh registration or 867 a registration refresh message. 869 11.1. Handling ND DOS Attack 871 IETF community has discussed possible issues with /64 DOS attacks on 872 the ND networks when an attacker host can send thousands of packets 873 to the router with an on-link destination address or sending RS 874 messages to initiate a Neighbor Solicitation from the neighboring 875 router which will create a number of INCOMPLETE NCE entries for non- 876 existent nodes in the network resulting in table overflow and denial 877 of service of the existing communications. 879 The efficiency-aware behavior documented in this specification avoids 880 the ND DOS attacks by: 882 o Having the hosts register with the default router 883 o Having the hosts send their packets via the default router 884 o Not resolving addresses for the Routing Solicitor by mandating 885 SLLA option along with RS 886 o Checking for duplicates in NCE before the registration 887 o Checking against the MAC-address and EUI-64 id is possible now for 888 NCE matches 889 o On-link IPv6-destinations on a particular link must be registered 890 else these packets are not resolved and extra NCEs are not created 892 It is RECOMMENDED that Mixed-mode operation and legacy hosts SHOULD 893 NOT be mixed in the IPv6 link in order to avoid the ND DOS attacks. 894 For the general case of Mixed-mode the router does not create 895 INCOMPLETE NCEs for the registered hosts, but it follows the [ND] 896 steps of NCE states for legacy hosts. 898 12. Mixed-Mode Operations 900 Mixed-Mode operation discusses the protocol behavior where the IPv6 901 subnet is composed with legacy IPv6 Neighbor Discovery compliant 902 nodes and efficiency-aware IPv6 nodes implementing this 903 specification. 905 The mixed-mode model SHOULD support the following configurations in 906 the IPv6 link: 907 o The legacy IPv6 hosts and efficiency-aware-hosts in the network 908 and a NEAR router 910 o legacy IPv6 default-router and efficiency-aware hosts(EAH) in the 911 link 912 o one router is in mixed mode and the link contains both legacy IPv6 913 hosts and EAH 914 o A link contains both efficiency-aware IPv6 router and hosts and 915 legacy IPv6 routers and hosts and each host should be able to 916 communicate with each other. 918 In mixed-mode operation, a NEAR MUST be configured for mixed-mode in 919 order to support the legacy IPv6 hosts in the network. In mixed- 920 mode, the NEAR MUST act as proxy for Neighbor Solicitation for DAD 921 and Address Resolution on behalf of its registered hosts on that 922 link. It should follow the NCE management for the EAH as described 923 in this document and follow RFC 4861 NCE management for the legacy 924 IPv6 hosts. Both in mixed-mode and efficiency-aware mode, the NEAR 925 sets E-bit flag in the RA and does not set 'L' on-link bit. 927 If a NEAR receives NS message from the same host one with ARO and 928 another without ARO then the NS message with ARO gets the precedence. 930 An efficiency-aware Host implementation SHOULD support falling back 931 to legacy IPv6 node behavior when no efficiency-aware routers are 932 available in the network during the startup. If the EAH was 933 operational in efficiency-aware mode and it determines that the NEAR 934 is no longer available, then it should send a RS and find an 935 alternate default router in the link. If no efficiency-aware router 936 is indicated from the RA, then the EAH SHOULD fall back into RFC 4861 937 behavior. On the other hand, in the efficiency-aware mode EAH SHOULD 938 ignore multicast Router Advertisements(RA) sent by the legacy and 939 Mixed-mode routers in the link. 941 In mixed mode operation, the Router SHOULD be able to do local 942 movement detection based on ARO if it is configured for that 943 operation for EAH hosts. For the legacy hosts, the mixed-mode router 944 MAY follow classical IPv6 methods of movement detection and MAY act 945 as ND proxy by sending NA with 'O' bit.[ Reference??] 947 The routers that are running on efficiency-aware mode or legacy mode 948 SHOULD NOT dynamically switch the mode without flushing the Neighbor 949 Cache Entries. 951 In mixed mode, the NEAR SHOULD have a configurable interval for 952 periodic unsolicited router advertisements based on the media type. 954 13. Bootstrapping 956 The bootstrapping mechanism described here is applicable for the 957 efficiency-aware hosts and routers. At the start, the host uses its 958 link-local address to send Router Solicitation and then it sends the 959 Node Registration message as described in this document in order to 960 form the address. The Duplicate address detection process should be 961 skipped if the network is guaranteed to have unique interface 962 identifiers which is used to form an IPv6 address. 964 Node Router 966 0. |[Forms LL IPv6 addr] | 968 1. | ---------- Router Solicitation --------> | 970 | [SLLAO] | 972 2. | <-------- Router Advertisement --------- | 974 | [PIO + SLLAO] | 975 | | 977 3. | ----- Address Registration (NS) --------> | 979 | [ARO + SLLAO] | 981 4. | <-------- Neighbor Advertisement ------- | 983 | [ARO with Status code] | 985 5. ====> Address Assignment Complete 987 Figure 1: Neighbor Discovery Address Registration and bootstrapping 989 In the mixed mode operation, it is expected that logically there will 990 be at least one legacy IPv6 router and another NEAR router present in 991 the link. The legacy IPv6 router will follow RFC 4861 behavior and 992 NEAR router will follow the efficiency-aware behavior for 993 registration, NCE maintenance, forwarding packets from a EAH and it 994 will also act as a ND proxy for the legacy IPv6 hosts querying to 995 resolve a EAH node. 997 A legacy IPv6 host and EAH are not expected to see a difference in 998 their bootstrapping if both legacy and efficiency-aware 999 functionalities of rotuers are available in the network. It is 1000 RECOMMENDED that the EAH implementation SHOULD be able to behave like 1001 a legacy IPv6 host if it discovers that no efficiency-aware routing 1002 support is present in the link. 1004 14. Handling Sleepy Nodes 1006 The solution allows the sleepy nodes to complete its sleep schedule 1007 without waking up due to periodic Router Advertisement messages or 1008 due to Multicast Neighbor Solicitation for address resolution. The 1009 node registration lifetime SHOULD be synchronized with its sleep 1010 interval period in order to avoid waking up in the middle of sleep 1011 for registration refresh. Depending on the application, the 1012 registration lifetime SHOULD be equal to or integral multiple of a 1013 node's sleep interval period. 1015 15. Duplicate Address Detection 1017 In efficiency-aware mode, there is no need for Duplicate Address 1018 Detection(DAD) assuming that the deployment ensures unique 64bit 1019 identification availability for each registered host. In the event 1020 of collision of EUI64 field of ARO by two registration requests, the 1021 later request is denied if the first one is a valid request. The 1022 denied EAH node SHOULD pick another alternative IPv6 address to 1023 register to prevent further registration denial. The method of 1024 assignment of alternate IPv6 address is out of scope of this 1025 document. 1027 In some networks there are multiple default routers and the 1028 registering node may move from one default router (where it was 1029 registered before) to another default router in the same subnet. 1030 Thus in order to differentiate between the duplicate request and the 1031 movement, the router checks the 64-bit MAC address and 'age' of the 1032 request. If there is an entry in the node already with 0 < 'age' < 1033 registration-life-time and the TID field of the existing entry and 1034 the new request is same with TID of the new request, it is a 1035 duplicate. 1037 If the default router does not have a registered entry for this host, 1038 it should check whether it is a local movement. Please see 'Mobility 1039 Consideration section' for details. 1041 16. Mobility Considerations 1043 If the hosts move from one subnet to another, they MUST first de- 1044 register and then register themselves in the new subnet or network. 1045 If a node moves away without de-registration and returns to the 1046 network before the registration lifetime expires, its registration is 1047 still considered valid. For run-away nodes the registration expires 1048 after the lifetime expiry or due to unreachablity whichever comes 1049 first. Otherwise, the regular IPv6 Mobility [IPV6M]behavior applies. 1051 In the multiple default router scenario, a node may move from its 1052 current primary default router to a prospective primary default 1053 router. At this point, the default routers use Neighbor 1054 Advertisements(NA) to arbitrate the latest ownership of the 1055 registration of host. The ownership of registration is useful for 1056 the Border Routers if they participate in a routing protocol which 1057 advertises proximity preferences or adjusts its own forwarding 1058 preference based on the host registration. This kind of forwarding 1059 or routing mechanisms are useful for energy efficiency and 1060 performance of the networks. See 'Movement Detection' section for 1061 details. 1063 17. Other Considerations 1065 17.1. Detecting Network Attachment(DNA) 1067 IPv6 DNA[DNA] uses unicast ND probes and link-layer indications to 1068 detect movement of its network attachments. Upon detecting link- 1069 layer indication, it sends a all-routers Solicitation message. When 1070 the node implements this document along with DNA, it MUST send ARO 1071 option with its Neighbor Solicitation unicast message if the 1072 candidate router advertisement indicates that the router is a NEAR 1073 router. If the candiate router is a legacy router then and it is the 1074 only choice then the EAH host SHOULD adapt to the legacy behavior. 1075 However if EAH node implements DNA host capability as well, then it 1076 SHOULD give preference to the NEAR routers in its candidate list of 1077 routers. 1079 Thus the ND optimization solution will work seamlessly with DNA 1080 implementations and no change is required in DNA solution because of 1081 Neighbor Discovery updates. It is a deployment and configuration 1082 consideration as to run the network in mixed mode or efficient-mode. 1084 17.2. Proxying for Efficiency-Aware hosts 1086 The efficient-ND SHOULD continue to support the legacy IPv6 Neighbor 1087 Solicitation requests in the mixed mode. The NEAR router SHOULD act 1088 as the ND proxy on behalf of EAH hosts for the legacy nodes' NS 1089 requests for EAH. 1091 In the context of this specification, proxy ND means: defending a 1092 registered address over the backbone using NA messages with and ARO 1093 option and the Override bit set if the ARO option in the NS indicates 1094 either a different node (different EUI-64) or a older registration 1095 (when comparing the TID). 1097 o advertising a registered address over the backbone using NA 1098 messages, asynchronously or as a response to a Neighbor 1099 Solicitation messages. 1100 o Looking up a destination over the backbone in order to deliver 1101 packets arriving from the EAH host using Neighbor Solicitation 1102 messages. 1103 o Forwarding packets from the EAH over the backbone, and the other 1104 way around at a time if the devide has known sleeping periods or 1105 resides on a different link such as an LLN attached to the 1106 backbone. 1107 Eventually triggering a look-up for a destination EAH that would not 1108 be registered at a given point of time, or as a verification of a 1109 registration. 1111 17.3. DHCPv6 Interaction 1113 Co-existence with DHCP: For classical IPv6, if DHCPv6 or central 1114 address allocation mechanism is used, then Neighbor Discovery 1115 autoconfiguration is not used for global address allocation. 1116 However, link-local duplicate address detection, Neighbor 1117 solicitation, Neighbor unreachability detection are still used. Upon 1118 assignment of the IPv6-address from DHCPv6, a EAH node SHOULD then 1119 register the IP-address with the default router for avoiding 1120 Duplicate address detection and Address Resolution. For Legacy 1121 DHCPv6 nodes there is no change in behavior. NOTE: DHCPv6 Server 1122 MUST be notified by NEAR for its efficiency-aware service interfaces. 1123 DHCPv6 server then SHOULD inform the DHCP requestor node about the 1124 default-rotuer capability during the address assignment period. 1126 Although the solution described in this document prevents unnecesary 1127 multicast messages in the IPv6 ND procedure, it does not affect 1128 normal IPv6 multicast packets and ability of nodes to join and leave 1129 the multicast group or forwarding multicast traffic or responding to 1130 multicast queries. 1132 18. RPL Implications 1134 RPL [RFC6550] does not provide means for duplicate address detection 1135 and in particular does not have a concept of unique identifier. On 1136 the other hand, RPL is designed to discover and resolve conflicts 1137 that arise when a mobile device changes its point of attachment, with 1138 a sequence counter that is owned by the device and incremented at 1139 each new registration, called a DAOSequence. As we extend 6LoWPAN ND 1140 operation over a backbone and scale, there is a similar need to 1141 resolve the latest point of attachment of a device, whether this 1142 device moves at layer 2 over a WIFI infrastructure, or at layer 3 1143 within a RPL DODAG or from a DODAG to another one attached to the 1144 same backbone. In order to cover all cases in a consistent fashion, 1145 this document requires that a sequence counter call TID for 1146 Transaction ID and with the similar rules as the RPL DAOSequence is 1147 added to the ND registration. This document defines the TID 1148 operations and RPL may use the reserved fields for their purpose 1149 inside the LLN. 1151 19. Updated Neighbor Discovery Constants 1153 This section discusses the updated default values of ND constants 1154 based on [ND] section 10. New and changed constants are listed only 1155 for efficiency-aware-nd implementation. These values SHOULD be 1156 configurable and tunable to fit implementations and deployment. 1158 Router Constants: 1159 MAX_RTR_ADVERTISEMENTS(NEW) 3 transmissions 1160 MIN_DELAY_BETWEEN_RAS(CHANGED) 1 second 1161 TENTATIVE_LEGACY_NCE_LIFETIME(NEW) 30 seconds 1163 Host Constants: 1164 MAX_RTR_SOLICITATION_INTERVAL(NEW) 60 seconds 1166 Also refer to [ENH-ND] , [IMPAT-ND] and [6LOWPAN-ND] for further 1167 tuning of ND constants. 1169 20. Security Considerations 1171 These optimizations are not known to introduce any new threats 1172 against Neighbor Discovery beyond what is already documented for IPv6 1173 [RFC 3756]. 1175 Section 11.2 of [ND] applies to this document as well. 1177 This mechanism minimizes the possibility of ND /64 DOS attacks in 1178 efficiency-aware mode. See Section 11.1. 1180 21. IANA Considerations 1182 A new flag (E-bit) in RA has been introduced. IANA assignment of the 1183 E-bit flag is required upon approval of this document. 1185 22. Changelog 1187 Changes from draft-chakrabarti-nordmark-energy-aware-nd-02: 1189 o Added clarification that SLLA is not required for ARO in a 1190 point-to-point link 1191 o Clarified that the document is indeed an optimization for legacy 1192 IPv6 ND 1193 o Adressed editorial comments and fixed typoes. Some more 1194 editorial work is needed 1195 o Added another usecase for Z-Wave example. Clarified 3GPP 1196 Networks related comments on existing ND optimizations. 1198 23. Acknowledgements 1200 The primary idea of this document are from 6LoWPAN Neighbor Discovery 1201 document [6LOWPAN-ND] and the discussions from the 6lowpan working 1202 group members, chairs Carsten Bormann and Geoff Mulligan and through 1203 our discussions with Zach Shelby, editor of the [6LOWPAN-ND]. 1205 The inspiration of such a IPv6 generic document came from Margaret 1206 Wasserman who saw a need for such a document at the IOT workshop at 1207 Prague IETF. 1209 The authors acknowledge the ND denial of service issues and key 1210 causes mentioned in the draft-halpern-6man-nddos-mitigation document 1211 by Joel Halpern. Thanks to Joel Halpern for pinpointing the problems 1212 that are now addressed in the NCE management section. 1214 The authors like to thank Dave Thaler, Stuart Cheshire, Jari Arkko, 1215 Ylva Jading, Niklas J. Johnsson, Reda Nedjar, Purvi Shah, Jaume Rius 1216 Riu, Fredrik Garneij, Andrew Yourtchenko, Jouni Korhonen, Suresh 1217 Krishnan, Brian Haberman, Anders Brandt, Mark Smith, Lorenzo Colitti, 1218 David Miles and Carsten Bormann for their useful comments and 1219 suggestions on this work. 1221 24. References 1223 24.1. Normative References 1225 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1226 Requirement Levels", BCP 14, RFC 2119, March 1997. 1228 [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an 1229 IANA Considerations Section in RFCs", BCP 26, RFC 2434, 1230 October 1998. 1232 [6LOWPAN-ND] 1233 Shelby, Z., Chakrabarti, S., Nordmark, E., and C. Bormann, 1234 "ND Optimizations for 6LoWPAN", RFC 6775, November 2012. 1236 [ND] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 1237 "Neighbor Discovery for IP version 6", RFC 4861, 1238 September 2007. 1240 [LOWPAN] Montenegro, G. and N. Kushalnagar, "Transmission of IPv6 1241 Packets over IEEE 802.15.4 networks", RFC 4944, 1242 September 2007. 1244 [LOWPANG] Kushalnagar, N. and G. Montenegro, "6LoWPAN: Overview, 1245 Assumptions, Problem Statement and Goals", RFC 4919, 1246 August 2007. 1248 24.2. Informative References 1250 [IPV6] Deering, S. and R. Hinden, "Internet Protocol, Version 6 1251 (IPv6), Specification", RFC 2460, December 1998. 1253 [DNA] Krishnan, S. and G. Daley, "Simple Procedures for 1254 Detecting Network Attachments in IPv6", RFC 6059, 1255 November 2010. 1257 [RFC6550] "RPL: IPv6 Routing Protocol for Low-Power and Lossy 1258 Networks", RFC 6550, March 2012. 1260 [AUTOCONF] 1261 Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless 1262 Autoconfiguration", RFC 4862, September 2007. 1264 [SEND] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "Secure 1265 Neighbor Discovery", RFC 3971, March 2005. 1267 [AUTOADHOC] 1268 Baccelli, E. and M. Townsley, "IP Addressing Model in 1269 Adhoc Networks", RFC 5889, September 2010. 1271 [NDDOS-halpern] 1272 Halpern, J., "IP Addressing Model in Adhoc Networks", 1273 draft-halpern-6man-nddos-mitigation-00.txt (work in 1274 progress), October 2011. 1276 [ENH-ND] Kumari, W., Gashinsky, I., Jaeggli, J., and K. 1277 Chittimaneni, "Neighbor Discovery Enhancement for DOS 1278 mitigation", draft-gashinsky-6man-v6nd-enhance-02 (work in 1279 progress), October 2012. 1281 [IMPAT-ND] 1282 Nordmark, E. and I. Gashinsky, "Neighbor Unreachability 1283 Detection is too impatient", 1284 draft-ietf-6man-impatient-nud-05 (work in progress), 1285 October 2012. 1287 [IEEE] IEEE Computer Society, "IEEE Std. 802.15.4-2003", , 1288 October 2003. 1290 [PD] Miwakawya, S., "Requirements for Prefix Delegation", 1291 RFC 3769, June 2004. 1293 [RF] Haberman, B. and B. Hinden, "IPv6 Router Advertisement 1294 Flags option", RFC 5175, March 2008. 1296 [ULA] "Unique Local IPv6 Addresses", RFC 4193. 1298 [Resilient-RS] 1299 Krishnan, S., Anipko, D., and D. Thaler, "Packet loss 1300 resiliency for Router Solicitations", 1301 draft-ietf-6man-resilient-rs-01 (work in progress), 1302 May 2013. 1304 [IPV6M] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support 1305 in IPv6", RFC 6275, July 2011. 1307 Appendix A. Usecase Analysis 1309 This section provides applicability scenarios where the efficiency- 1310 aware Neighbor Discovery will be most beneficial. Most likely the 1311 usecases will be detailed in a separate document. 1313 A.1. Data Center Routers on the link 1315 Efficiency-aware Routers and hosts are useful in IPv6 networks in the 1316 Data Center as they produce less signaling and also provides ways to 1317 minimize the ND flood of messages. Moreover, this mechanism will 1318 work with data-center nodes which are deliberately in sleep mode for 1319 saving energy. 1321 This solution will work well in Data Center Virtual network and VM 1322 scenarios where number of VLANs are very high and ND signalings are 1323 undesirably high due the multicast messaging and periodic Router 1324 Advertisments and Neighbor Unreachability detections. 1326 A.2. Edge Routers and Home Networks 1328 An Edge Router in the network will also benefit implementing the 1329 efficiency-aware Neighbor Discovery behavior in order to save the 1330 signaling and keeping track of the registered nodes in its domain. A 1331 BNG sits at the operator's edge network and often the BNG has to 1332 handle a large number of home CPEs. If a BNG runs Neighbor Discovery 1333 protocol and acts as the default router for the CPE at home, this 1334 solution will be helpful for reducing the control messages and 1335 improving network performances. 1337 The same solution can be run on CPE or Home Residential Gateways to 1338 assign IPv6 addresses to the wired and wireless home devices without 1339 the problem of ND flooding issues and consuming less power. It 1340 provides mechanism for the sleepy nodes to adjust their registration 1341 lifetime according to their sleep schedules. 1343 A.3. M2M Networks 1345 Any Machine-to-machine(M2M) networks such as IPv6 surveilance 1346 networks, wireless monitoring networks and other m2m networks desire 1347 for efficiency-aware control protocols and dynamic address 1348 allocation. The in-built address allocation and autoconfiguration 1349 mechanism in IPv6 along with the default router capability will be 1350 useful for the simple small-scale networks without having the burden 1351 of DHCPv6 service and Routing Protocols. 1353 A.4. Wi-fi Networks 1355 In Wi-fi networks, a multicast message will consume the wireless link 1356 on all Access Points around a switched fabric and will be transmitted 1357 at the lowest speed possible in order to ensure the maximum reception 1358 by all wireless nodes. This means that in an environment where 1359 bandwidth is scarce, a single multicast packet may consume the 1360 bandwidth for hundreds of unicast packets. 1362 The Wi-fi IPv6 hosts can act as efficiency-aware hosts and register 1363 with their nearest default router with NEAR behavior. This method 1364 reduces multicast operations in the wireless access points or routers 1365 by using this optimization. 1367 A.5. 3GPP Networks 1369 Section 9.2.1.1 of TS23.060 allows periodic RA and TS 123.401 stays 1370 silent about periodic RA while 3GPP TS29.061 recommends large values 1371 for minimum and maximum periodic router advertisements for reduced 1372 periodic mesages. Though RFC6459 describes best practices about IPv6 1373 3GPP systems behavior, this ND optimization standard specification 1374 will be a helpful reference for 3GPP documents. LTE terminals (cell 1375 phones) may also benefit with reduced multicast messages described in 1376 this document in the wireless mode. 1378 A.6. Industrial Networks 1380 RPL [RFC6550] is used for Industrial wireless networks. 1382 A.7. Set and forget offline network 1384 Home control modules designed for networked environments may be 1385 deployed in very simple settings like garden path lighting controlled 1386 by wireless light and motion sensors. Once the network has been 1387 created and sensors have been associated with the light modules, the 1388 installer takes away the configuration tool which was used to set up 1389 the network. Most likely a ULA prefix is used, since multiple hops 1390 may be needed. None of the sensors and light modules has the 1391 capability of handing out fresh prefixes. Thus, for a set-and-forget 1392 style off-line network to work, the nodes must be provided an 1393 infinite prefix lifetime since they have nowhere to ask for a fresh 1394 one. 1396 Authors' Addresses 1398 Samita Chakrabarti 1399 Ericsson 1400 San Jose, CA 1401 USA 1403 Email: samita.chakrabarti@ericsson.com 1405 Erik Nordmark 1406 San Jose, CA 1407 USA 1409 Email: nordmark@sonic.net 1411 Pascal Thubert 1412 Cisco Systems 1414 Email: pthubert@cisco.com 1415 Margaret Wasserman 1416 Painless Security 1418 Email: mrw@lilacglade.org