| < draft-ietf-6lo-rfc6775-update-09.txt | draft-ietf-6lo-rfc6775-update-10.txt > | |||
|---|---|---|---|---|
| 6lo P. Thubert, Ed. | 6lo P. Thubert, Ed. | |||
| Internet-Draft cisco | Internet-Draft cisco | |||
| Updates: 6775 (if approved) E. Nordmark | Updates: 6775 (if approved) E. Nordmark | |||
| Intended status: Standards Track | Intended status: Standards Track | |||
| Expires: March 24, 2018 S. Chakrabarti | Expires: April 16, 2018 S. Chakrabarti | |||
| September 20, 2017 | ||||
| C. Perkins | ||||
| Futurewei | ||||
| October 13, 2017 | ||||
| An Update to 6LoWPAN ND | An Update to 6LoWPAN ND | |||
| draft-ietf-6lo-rfc6775-update-09 | draft-ietf-6lo-rfc6775-update-10 | |||
| Abstract | Abstract | |||
| This specification updates RFC 6775 - 6LoWPAN Neighbor Discovery, to | This specification updates RFC 6775 - 6LoWPAN Neighbor Discovery, to | |||
| clarify the role of the protocol as a registration technique, | clarify the role of the protocol as a registration technique, | |||
| simplify the registration operation in 6LoWPAN routers, as well as to | simplify the registration operation in 6LoWPAN routers, as well as to | |||
| provide enhancements to the registration capabilities and mobility | provide enhancements to the registration capabilities and mobility | |||
| detection for different network topologies including the backbone | detection for different network topologies including the backbone | |||
| routers performing proxy Neighbor Discovery in a low power network. | routers performing proxy Neighbor Discovery in a low power network. | |||
| skipping to change at page 1, line 37 ¶ | skipping to change at page 1, line 40 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on March 24, 2018. | This Internet-Draft will expire on April 16, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 16 ¶ | skipping to change at page 2, line 19 ¶ | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Applicability of Address Registration Options . . . . . . . . 3 | 2. Applicability of Address Registration Options . . . . . . . . 3 | |||
| 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Updating RFC 6775 . . . . . . . . . . . . . . . . . . . . . . 6 | 4. Updating RFC 6775 . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4.1. Extended Address Registration Option (EARO) . . . . . . . 7 | 4.1. Extended Address Registration Option (EARO) . . . . . . . 7 | |||
| 4.2. Transaction ID . . . . . . . . . . . . . . . . . . . . . 7 | 4.2. Transaction ID . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 4.2.1. Comparing TID values . . . . . . . . . . . . . . . . 8 | 4.2.1. Comparing TID values . . . . . . . . . . . . . . . . 7 | |||
| 4.3. Owner Unique ID . . . . . . . . . . . . . . . . . . . . . 9 | 4.3. Owner Unique ID . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 4.4. Extended Duplicate Address Messages . . . . . . . . . . . 10 | 4.4. Extended Duplicate Address Messages . . . . . . . . . . . 10 | |||
| 4.5. Registering the Target Address . . . . . . . . . . . . . 10 | 4.5. Registering the Target Address . . . . . . . . . . . . . 10 | |||
| 4.6. Link-Local Addresses and Registration . . . . . . . . . . 11 | 4.6. Link-Local Addresses and Registration . . . . . . . . . . 11 | |||
| 4.7. Maintaining the Registration States . . . . . . . . . . . 13 | 4.7. Maintaining the Registration States . . . . . . . . . . . 12 | |||
| 5. Detecting Enhanced ARO Capability Support . . . . . . . . . . 14 | 5. Detecting Enhanced ARO Capability Support . . . . . . . . . . 14 | |||
| 6. Extended ND Options And Messages . . . . . . . . . . . . . . 15 | 6. Extended ND Options And Messages . . . . . . . . . . . . . . 14 | |||
| 6.1. Enhanced Address Registration Option (EARO) . . . . . . . 15 | 6.1. Enhanced Address Registration Option (EARO) . . . . . . . 14 | |||
| 6.2. Extended Duplicate Address Message Formats . . . . . . . 18 | 6.2. Extended Duplicate Address Message Formats . . . . . . . 17 | |||
| 6.3. New 6LoWPAN Capability Bits in the Capability Indication | 6.3. New 6LoWPAN Capability Bits in the Capability Indication | |||
| Option . . . . . . . . . . . . . . . . . . . . . . . . . 19 | Option . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 7. Backward Compatibility . . . . . . . . . . . . . . . . . . . 19 | 7. Backward Compatibility . . . . . . . . . . . . . . . . . . . 18 | |||
| 7.1. Discovering the capabilities of an ND peer . . . . . . . 19 | 7.1. Discovering the capabilities of an ND peer . . . . . . . 18 | |||
| 7.1.1. Using the "E" Flag in the 6CIO Option . . . . . . . . 19 | 7.1.1. Using the "E" Flag in the 6CIO . . . . . . . . . . . 19 | |||
| 7.1.2. Using the "T" Flag in the EARO . . . . . . . . . . . 20 | 7.1.2. Using the "T" Flag in the EARO . . . . . . . . . . . 19 | |||
| 7.2. Legacy 6LoWPAN Node . . . . . . . . . . . . . . . . . . . 21 | 7.2. Legacy 6LoWPAN Node . . . . . . . . . . . . . . . . . . . 20 | |||
| 7.3. Legacy 6LoWPAN Router . . . . . . . . . . . . . . . . . . 21 | 7.3. Legacy 6LoWPAN Router . . . . . . . . . . . . . . . . . . 20 | |||
| 7.4. Legacy 6LoWPAN Border Router . . . . . . . . . . . . . . 22 | 7.4. Legacy 6LoWPAN Border Router . . . . . . . . . . . . . . 21 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 22 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | |||
| 9. Privacy Considerations . . . . . . . . . . . . . . . . . . . 23 | 9. Privacy Considerations . . . . . . . . . . . . . . . . . . . 22 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 10.1. ARO Flags . . . . . . . . . . . . . . . . . . . . . . . 24 | 10.1. ARO Flags . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 10.2. ICMP Codes . . . . . . . . . . . . . . . . . . . . . . . 24 | 10.2. ICMP Codes . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 10.3. New ARO Status values . . . . . . . . . . . . . . . . . 25 | 10.3. New ARO Status values . . . . . . . . . . . . . . . . . 24 | |||
| 10.4. New 6LoWPAN capability Bits . . . . . . . . . . . . . . 26 | 10.4. New 6LoWPAN capability Bits . . . . . . . . . . . . . . 25 | |||
| 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 26 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 26 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 25 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 27 | 12.2. Informative References . . . . . . . . . . . . . . . . . 26 | |||
| 12.3. External Informative References . . . . . . . . . . . . 30 | 12.3. External Informative References . . . . . . . . . . . . 29 | |||
| Appendix A. Applicability and Requirements Served . . . . . . . 30 | Appendix A. Applicability and Requirements Served . . . . . . . 30 | |||
| Appendix B. Requirements . . . . . . . . . . . . . . . . . . . . 31 | Appendix B. Requirements . . . . . . . . . . . . . . . . . . . . 30 | |||
| B.1. Requirements Related to Mobility . . . . . . . . . . . . 32 | B.1. Requirements Related to Mobility . . . . . . . . . . . . 31 | |||
| B.2. Requirements Related to Routing Protocols . . . . . . . . 32 | B.2. Requirements Related to Routing Protocols . . . . . . . . 31 | |||
| B.3. Requirements Related to the Variety of Low-Power Link | B.3. Requirements Related to the Variety of Low-Power Link | |||
| types . . . . . . . . . . . . . . . . . . . . . . . . . . 33 | types . . . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| B.4. Requirements Related to Proxy Operations . . . . . . . . 34 | B.4. Requirements Related to Proxy Operations . . . . . . . . 33 | |||
| B.5. Requirements Related to Security . . . . . . . . . . . . 34 | B.5. Requirements Related to Security . . . . . . . . . . . . 33 | |||
| B.6. Requirements Related to Scalability . . . . . . . . . . . 35 | B.6. Requirements Related to Scalability . . . . . . . . . . . 34 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 1. Introduction | 1. Introduction | |||
| The scope of this draft is an IPv6 Low Power Networks including star | The scope of this draft is an IPv6 Low Power Networks including star | |||
| and mesh topologies. This specification modifies and extends the | and mesh topologies. This specification modifies and extends the | |||
| behavior and protocol elements of "Neighbor Discovery Optimization | behavior and protocol elements of "Neighbor Discovery Optimization | |||
| for IPv6 over Low-Power Wireless Personal Area Networks" (6LoWPAN ND) | for IPv6 over Low-Power Wireless Personal Area Networks" (6LoWPAN ND) | |||
| [RFC6775] to enable additional capabilities such as: | [RFC6775] to enable additional capabilities and enhancements such as: | |||
| o Support for indicating mobility vs retry (T-bit) | o Support for indicating mobility vs retry (T-bit) | |||
| o Ease up requirement of registration for link-local addresses | o Reduce requirement of registration for link-local addresses | |||
| o Enhancement to Address Registration Option (ARO) | o Enhancement to Address Registration Option (ARO) | |||
| o Permitting registration of target address | o Permitting registration of a target address | |||
| o Clarification of support of privacy and temporary addresses | o Clarification of support of privacy and temporary addresses | |||
| The applicability of 6LoWPAN ND registration is discussed in | The applicability of 6LoWPAN ND registration is discussed in | |||
| Section 2, and new extensions and updates to RFC 6775 are presented | Section 2, and new extensions and updates to [RFC6775] are presented | |||
| in Section 4. Considerations on Backward Compatibility, Security and | in Section 4. Considerations on Backward Compatibility, Security and | |||
| Privacy are also elaborated upon in Section 7, Section 8 and in | Privacy are also elaborated upon in Section 7, Section 8 and in | |||
| Section 9, respectively. | Section 9, respectively. | |||
| 2. Applicability of Address Registration Options | 2. Applicability of Address Registration Options | |||
| The original purpose of the Address Registration Option (ARO) in the | The purpose of the Address Registration Option (ARO) in the legacy | |||
| original 6LoWPAN ND specification is to facilitate duplicate address | 6LoWPAN ND specification is to facilitate duplicate address detection | |||
| detection (DAD) for hosts as well as populate Neighbor Cache Entries | (DAD) for hosts as well as populate Neighbor Cache Entries (NCE) | |||
| (NCE) [RFC4861] in the routers. This reduces the reliance on | [RFC4861] in the routers. This reduces the reliance on multicast | |||
| multicast operations, which are often as intrusive as broadcast, in | operations, which are often as intrusive as broadcast, in IPv6 ND | |||
| IPv6 ND operations. | operations. | |||
| With this specification, a registration can fail or become useless | With this specification, a failed or useless registration can be | |||
| for reasons other than address duplication. Examples include: the | detected for reasons other than address duplication. Examples | |||
| router having run out of space; a registration bearing a stale | include: the router having run out of space; a registration bearing a | |||
| sequence number perhaps denoting a movement of the host after the | stale sequence number perhaps denoting a movement of the host after | |||
| registration was placed; a host misbehaving and attempting to | the registration was placed; a host misbehaving and attempting to | |||
| register an invalid address such as the unspecified address | register an invalid address such as the unspecified address | |||
| [RFC4291]; or a host using an address which is not topologically | [RFC4291]; or a host using an address which is not topologically | |||
| correct on that link. | correct on that link. | |||
| In such cases the host will receive an error to help diagnose the | In such cases the host will receive an error to help diagnose the | |||
| issue and may retry, possibly with a different address, and possibly | issue and may retry, possibly with a different address, and possibly | |||
| registering to a different router, depending on the returned error. | registering to a different router, depending on the returned error. | |||
| However, the ability to return errors to address registrations is not | The ability to return errors to address registrations is not intended | |||
| intended to be used to restrict the ability of hosts to form and use | to be used to restrict the ability of hosts to form and use | |||
| addresses, as recommended in "Host Address Availability | addresses, as recommended in "Host Address Availability | |||
| Recommendations" [RFC7934]. | Recommendations" [RFC7934]. | |||
| In particular, the freedom to form and register addresses is needed | In particular, the freedom to form and register addresses is needed | |||
| for enhanced privacy; each host may register a multiplicity of | for enhanced privacy; each host may register a number of addresses | |||
| address using mechanisms such as "Privacy Extensions for Stateless | using mechanisms such as "Privacy Extensions for Stateless Address | |||
| Address Autoconfiguration (SLAAC) in IPv6" [RFC4941]. | Autoconfiguration (SLAAC) in IPv6" [RFC4941]. | |||
| In the classical IPv6 ND [RFC4861], a router must have enough storage | In IPv6 ND [RFC4861], a router must have enough storage to hold | |||
| to hold neighbor cache entries for all the addresses to which it may | neighbor cache entries for all the addresses to which it may forward. | |||
| forward. A router using the Address Registration mechanism needs | A router using the Address Registration mechanism also needs enough | |||
| enough storage to hold NCEs for all the addresses that may be | storage to hold NCEs for all the addresses that may be registered to | |||
| registered to it, regardless of whether or not they are actively | it, regardless of whether or not they are actively communicating. | |||
| communicating. For this reason, the number of registrations | The number of registrations supported by a 6LoWPAN Router (6LR) or | |||
| supported by a 6LoWPAN Router (6LR) or 6LoWPAN Border Router (6LBR) | 6LoWPAN Border Router (6LBR) must be clearly documented. | |||
| must be clearly documented. | ||||
| A network administrator should deploy adapted 6LR/6LBRs to support | A network administrator should deploy updated 6LR/6LBRs to support | |||
| the number and type of devices in his network, based on the number of | the number and type of devices in his network, based on the number of | |||
| IPv6 addresses that those devices require and their renewal rate and | IPv6 addresses that those devices require and their address renewal | |||
| behaviour. | rate and behaviour. | |||
| 3. Terminology | 3. Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| Readers are expected to be familiar with all the terms and concepts | Readers are expected to be familiar with all the terms and concepts | |||
| that are discussed in | that are discussed in | |||
| o "Neighbor Discovery for IP version 6" [RFC4861], | o "Neighbor Discovery for IP version 6" [RFC4861], | |||
| o "IPv6 Stateless Address Autoconfiguration" [RFC4862], | o "IPv6 Stateless Address Autoconfiguration" [RFC4862], | |||
| o "IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): | o "IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): | |||
| Overview, Assumptions, Problem Statement, and Goals" [RFC4919], | Overview, Assumptions, Problem Statement, and Goals" [RFC4919], | |||
| o "Neighbor Discovery Optimization for Low-power and Lossy Networks" | o "Neighbor Discovery Optimization for Low-power and Lossy Networks" | |||
| [RFC6775] and | [RFC6775] and | |||
| o "Multi-link Subnet Support in IPv6" | o "Multi-link Subnet Support in IPv6" | |||
| [I-D.ietf-ipv6-multilink-subnets], | [I-D.ietf-ipv6-multilink-subnets], | |||
| as well as the following terminology: | as well as the following terminology: | |||
| Backbone Link An IPv6 transit link that interconnects two or more | Backbone Link: An IPv6 transit link that interconnects two or more | |||
| Backbone Routers. It is expected to be of a relatively high | Backbone Routers. It is expected to be a higher speed device | |||
| speed compared to the LLN in order to support the trafic that | speed compared to the LLN in order to carry the traffic that is | |||
| is required to federate multiple segments of the potentially | required to federate multiple segments of the potentially large | |||
| large LLN into a single IPv6 subnet. Also referred to as a to | LLN into a single IPv6 subnet. | |||
| as a Backbone, a LLN Backbone, and a Backbone Network. | ||||
| Backbone Router A logical network function in an IPv6 router that | Backbone Router: A logical network function in an IPv6 router that | |||
| federates a LLN over a Backbone Link. In order to do so, the | federates a LLN over a Backbone Link. In order to do so, the | |||
| Backbone Router (6BBR) proxies the 6LoWPAN ND operations | Backbone Router (6BBR) proxies the 6LoWPAN ND operations | |||
| detailed in the document onto the matching operations that run | detailed in the document onto the matching operations that run | |||
| over the backbone, typically classical IPv6 ND. Note that 6BBR | over the backbone, typically IPv6 ND. Note that 6BBR is a | |||
| is a logical function, just like 6LR and 6LBR, and that a same | logical function, just like 6LR and 6LBR, and that a same | |||
| physical router may operate all three. | physical router may operate all three. | |||
| Extended LLN The aggregation of multiple LLNs as defined in RFC 4919 | Extended LLN: The aggregation of multiple LLNs as defined in | |||
| [RFC4919], interconnected by a Backbone Link via Backbone | [RFC4919], interconnected by a Backbone Link via Backbone | |||
| Routers, and forming a single IPv6 MultiLink Subnet. | Routers, and forming a single IPv6 MultiLink Subnet. | |||
| Registration The process during which a wireless Node registers its | Registration: The process during which a 6LN registers its | |||
| address(es) with the Border Router so the 6BBR can serve as | address(es) with the Border Router so the 6BBR can serve as | |||
| proxy for ND operations over the Backbone. | proxy for ND operations over the Backbone. | |||
| Binding The association between an IP address with a MAC address, a | Binding: The association between an IP address with a MAC address, a | |||
| port and/or other information about the node that owns the IP | port and/or other information about the node that owns the IP | |||
| address. | address. | |||
| Registered Node The node for which the registration is performed, | Registered Node: The node for which the registration is performed, | |||
| and which owns the fields in the EARO option. | and which owns the fields in the EARO option. | |||
| Registering Node The node that performs the registration to the | Registering Node: The node that performs the registration to the | |||
| 6BBR, which may proxy for the registered node. | 6BBR, which may proxy for the registered node. | |||
| Registered Address An address owned by the Registered Node node that | Registered Address: An address owned by the Registered Node node | |||
| was or is being registered. | that was or is being registered. | |||
| legacy and original vs. updated In the context of this | IPv6 ND: The IPv6 Neighbor Discovery protocol as specified in | |||
| specification, the terms "legacy" and "original" relate to the | [RFC4861] and [RFC4862]. | |||
| support of the RFC 6775 by a 6LN, a 6LR or a 6LBR, whereas the | ||||
| term "updated" refers to the support of this specification. | ||||
| classical In the context of this specification, the term "classical" | legacy: a 6LN, a 6LR or a 6LBR that supports [RFC6775] but not this | |||
| relates to the support of the IPv6 Neighbor Discovery (IPv6 ND) | specification. | |||
| protocol as specified in RFC 4861 and RFC 4862. This | ||||
| specification does not deprecate the classical IPv6 ND | updated: a 6LN, a 6LR or a 6LBR that supports this specification. | |||
| Protocol. | ||||
| 4. Updating RFC 6775 | 4. Updating RFC 6775 | |||
| This specification introduces the Extended Address Registration | This specification introduces the Extended Address Registration | |||
| Option (EARO) based on the ARO as defined in RFC 6775 [RFC6775]; in | Option (EARO) based on the ARO as defined in [RFC6775]; in particular | |||
| particular a "T" flag is added that MUST be set is NS messages when | a "T" flag is added that MUST be set in NS messages when this | |||
| this specification is used, and echoed in NA messages to confirm that | specification is used, and echoed in NA messages to confirm that the | |||
| the protocol is supported. | protocol is supported. | |||
| The extensions to the ARO option are reported to the Duplicate | The extensions to the ARO option are used in the Duplicate Address | |||
| Address Request (DAR) and Duplicate Address Confirmation (DAC) | Request (DAR) and Duplicate Address Confirmation (DAC) messages, so | |||
| messages, so as to convey the additional information all the way to | as to convey the additional information all the way to the 6LBR. In | |||
| the 6LBR, and in turn the 6LBR may proxy the registration using | turn the 6LBR may proxy the registration using IPv6 ND over a | |||
| classical ND over a backbone as illustrated in Figure 1. | backbone as illustrated in Figure 1. Note that this specification | |||
| avoids the extended DAR flow for Link Local Addresses in Route-Over | ||||
| mode. | ||||
| 6LN 6LR 6LBR 6BBR | 6LN 6LR 6LBR 6BBR | |||
| | | | | | | | | | | |||
| | NS(EARO) | | | | | NS(EARO) | | | | |||
| |--------------->| | | | |--------------->| | | | |||
| | | Extended DAR | | | | | Extended DAR | | | |||
| | |-------------->| | | | |-------------->| | | |||
| | | | | | | | | | | |||
| | | | proxy NS(EARO) | | | | | proxy NS(EARO) | | |||
| | | |--------------->| | | | |--------------->| | |||
| skipping to change at page 7, line 15 ¶ | skipping to change at page 7, line 15 ¶ | |||
| 4.1. Extended Address Registration Option (EARO) | 4.1. Extended Address Registration Option (EARO) | |||
| The Extended ARO (EARO) deprecates the ARO and is backward compatible | The Extended ARO (EARO) deprecates the ARO and is backward compatible | |||
| with it. More details on backward compatibility can be found in | with it. More details on backward compatibility can be found in | |||
| Section 7. | Section 7. | |||
| The semantics of the ARO are modified as follows: | The semantics of the ARO are modified as follows: | |||
| o The address that is being registered with a Neighbor Solicitation | o The address that is being registered with a Neighbor Solicitation | |||
| (NS) with an EARO is now the Target Address, as opposed to the | (NS) with an EARO is now the Target Address, as opposed to the | |||
| Source Address as specified in RFC 6775 [RFC6775] (see | Source Address as specified in [RFC6775] (see Section 4.5). This | |||
| Section 4.5). This change enables a 6LBR to use one of its | change enables a 6LBR to use one of its addresses as source to the | |||
| addresses as source to the proxy-registration of an address that | proxy-registration of an address that belongs to a LLN Node to a | |||
| belongs to a LLN Node to a 6BBR. This also limits the use of an | 6BBR. This also limits the use of an address as source address | |||
| address as source address before it is registered and the | before it is registered and the associated DAD process is | |||
| associated DAD process is complete. | complete. | |||
| o The Unique ID in the EARO Option is no longer required to be a MAC | o The Unique ID in the EARO Option is not required to be a MAC | |||
| address (see Section 4.3). This enables in particular the use of | address (see Section 4.3). | |||
| a Provable Temporary UID (PT-UID) as opposed to burn-in MAC | ||||
| address; the PT-UID provides an anchor trusted by the 6LR and 6LBR | ||||
| to protect the state associated to the node. | ||||
| o The specification introduces a Transaction ID (TID) field in the | o The specification introduces a Transaction ID (TID) field in the | |||
| EARO (see Section 4.2). The TID MUST be provided by a node that | EARO (see Section 4.2). The TID MUST be provided by a node that | |||
| supports this specification and a new "T" flag MUST be set to | supports this specification and a new "T" flag MUST be set to | |||
| indicate so. | indicate so. | |||
| o Finally, this specification introduces new status codes to help | o Finally, this specification introduces new status codes to help | |||
| diagnose the cause of a registration failure (see Table 1). | diagnose the cause of a registration failure (see Table 1). | |||
| 4.2. Transaction ID | 4.2. Transaction ID | |||
| skipping to change at page 9, line 10 ¶ | skipping to change at page 9, line 6 ¶ | |||
| 1. If (256 + B - A) is less than or equal to | 1. If (256 + B - A) is less than or equal to | |||
| SEQUENCE_WINDOW, then B is greater than A, A is less than | SEQUENCE_WINDOW, then B is greater than A, A is less than | |||
| B, and the two are not equal. | B, and the two are not equal. | |||
| 2. If (256 + B - A) is greater than SEQUENCE_WINDOW, then A | 2. If (256 + B - A) is greater than SEQUENCE_WINDOW, then A | |||
| is greater than B, B is less than A, and the two are not | is greater than B, B is less than A, and the two are not | |||
| equal. | equal. | |||
| For example, if A is 240, and B is 5, then (256 + 5 - 240) is | For example, if A is 240, and B is 5, then (256 + 5 - 240) is | |||
| 21. 21 is greater than SEQUENCE_WINDOW (16), thus 240 is | 21. 21 is greater than SEQUENCE_WINDOW (16), thus 240 is | |||
| greater than 5. As another example, if A is 250 and B is 5, | greater than 5. As another example, if A is 250 and B is 5, | |||
| then (256 + 5 - 250) is 11. 11 is less than SEQUENCE_WINDOW | then (256 + 5 - 250) is 11. 11 is less than SEQUENCE_WINDOW | |||
| (16), thus 250 is less than 5. | (16), thus 250 is less than 5. | |||
| 2. In the case where both sequence counters to be compared are | 2. In the case where both sequence counters to be compared are | |||
| less than or equal to 127, and in the case where both | less than or equal to 127, and in the case where both | |||
| sequence counters to be compared are greater than or equal to | sequence counters to be compared are greater than or equal to | |||
| 128: | 128: | |||
| 1. If the absolute magnitude of difference between the two | 1. If the absolute magnitude of difference between the two | |||
| skipping to change at page 9, line 49 ¶ | skipping to change at page 9, line 45 ¶ | |||
| 4.3. Owner Unique ID | 4.3. Owner Unique ID | |||
| The Owner Unique ID (OUID) enables a duplicate address registration | The Owner Unique ID (OUID) enables a duplicate address registration | |||
| to be distinguished from a double registration or a movement. An ND | to be distinguished from a double registration or a movement. An ND | |||
| message from the 6BBR over the Backbone that is proxied on behalf of | message from the 6BBR over the Backbone that is proxied on behalf of | |||
| a Registered Node must carry the most recent EARO option seen for | a Registered Node must carry the most recent EARO option seen for | |||
| that node. A NS/NA with an EARO and a NS/NA without a EARO thus | that node. A NS/NA with an EARO and a NS/NA without a EARO thus | |||
| represent different nodes; if they relate to a same target then an | represent different nodes; if they relate to a same target then an | |||
| address duplication is likely. | address duplication is likely. | |||
| With RFC 6775, the Owner Unique ID carries an EUI-64 burn-in address, | The Owner Unique ID in [RFC6775] is a EUI-64 preconfigured address, | |||
| which implies that duplicate EUI-64 addresses are avoided. With this | under the assumption that duplicate EUI-64 addresses are avoided. | |||
| specification, the Owner Unique ID is allowed to be extended to | With this specification, the Owner Unique ID is allowed to be | |||
| different types of identifier, as long as the type is clearly | extended to different types of identifier, as long as the type is | |||
| indicated. For instance, the type can be a cryptographic string and | clearly indicated. For instance, the type can be a cryptographic | |||
| used to prove the ownership of the registration as discussed in | string and used to prove the ownership of the registration as | |||
| "Address Protected Neighbor Discovery for Low-power and Lossy | discussed in "Address Protected Neighbor Discovery for Low-power and | |||
| Networks" [I-D.ietf-6lo-ap-nd]. | Lossy Networks" [I-D.ietf-6lo-ap-nd]. | |||
| In any fashion, it is recommended that the node stores the unique Id | The node SHOULD store the unique ID, or a way to generate that ID, in | |||
| or the keys used to generate that ID in persistent memory. | persistent memory. Otherwise, if a reboot causes a loss of memory, | |||
| Otherwise, it will be prevented to re-register a same address after a | re-registering the same address could be impossible until the 6LBR | |||
| reboot that would cause a loss of memory until the 6LBR times out the | times out the previous registration. | |||
| registration. | ||||
| 4.4. Extended Duplicate Address Messages | 4.4. Extended Duplicate Address Messages | |||
| In order to map the new EARO content in the DAR/DAC messages, a new | In order to map the new EARO content in the DAR/DAC messages, a new | |||
| TID field is added to the Extended DAR (EDAR) and the Extended DAC | TID field is added to the Extended DAR (EDAR) and the Extended DAC | |||
| (EDAC) messages as a replacement to a Reserved field, and an odd | (EDAC) messages as a replacement to a Reserved field, and an odd | |||
| value of the ICMP Code indicates support for the TID, to transport | value of the ICMP Code indicates support for the TID, to transport | |||
| the "T" flag. | the "T" flag. | |||
| In order to prepare for new extensions, and though no option had been | In order to prepare for future extensions, and though no option has | |||
| earlier defined for the Duplicate Address messages, implementations | been defined for the Duplicate Address messages, implementations | |||
| SHOULD expect ND options after the main body, and SHOULD ignore them. | SHOULD expect ND options after the main body, and SHOULD ignore them. | |||
| As for the EARO, the Extended Duplicate Address messages are backward | As for the EARO, the Extended Duplicate Address messages are backward | |||
| compatible with the original versions, and remarks concerning | compatible with the legacy versions, and remarks concerning backwards | |||
| backwards compatibility between the 6LN and the 6LR apply similarly | compatibility for the protocol between the 6LN and the 6LR apply | |||
| between a 6LR and a 6LBR. | similarly between a 6LR and a 6LBR. | |||
| 4.5. Registering the Target Address | 4.5. Registering the Target Address | |||
| The Registering Node is the node that performs the registration to | The Registering Node is the node that performs the registration to | |||
| the 6BBR. As inherited from RFC 6775, it may be the Registered Node | the 6BBR. As in [RFC6775], it may be the Registered Node as well, in | |||
| as well, in which case it registers one of its own addresses, and | which case it registers one of its own addresses, and indicates its | |||
| indicates its own MAC Address as Source Link Layer Address (SLLA) in | own MAC Address as Source Link Layer Address (SLLA) in the NS(EARO). | |||
| the NS(EARO). | ||||
| This specification adds the capability to proxy the registration | This specification adds the capability to proxy the registration | |||
| operation on behalf of a Registered Node that is reachable over a LLN | operation on behalf of a Registered Node that is reachable over a LLN | |||
| mesh. In that case, if the Registered Node is reachable from the | mesh. In that case, if the Registered Node is reachable from the | |||
| 6BBR over a Mesh-Under mesh, the Registering Node indicates the MAC | 6BBR over a Mesh-Under mesh, the Registering Node indicates the MAC | |||
| Address of the Registered Node as SLLA in the NS(EARO). If the | Address of the Registered Node as SLLA in the NS(EARO). If the | |||
| Registered Node is reachable over a Route-Over mesh from the | Registered Node is reachable over a Route-Over mesh from the | |||
| Registering Node, the SLLA in the NS(ARO) is that of the Registering | Registering Node, the SLLA in the NS(ARO) is that of the Registering | |||
| Node. This enables the Registering Node to attract the packets from | Node. This enables the Registering Node to attract the packets from | |||
| the 6BBR and route them over the LLN to the Registered Node . | the 6BBR and route them over the LLN to the Registered Node. | |||
| In order to enable the latter operation, this specification changes | In order to enable the latter operation, this specification changes | |||
| the behavior of the 6LN and the 6LR so that the Registered Address is | the behavior of the 6LN and the 6LR so that the Registered Address is | |||
| found in the Target Address field of the NS and NA messages as | found in the Target Address field of the NS and NA messages as | |||
| opposed to the Source Address. | opposed to the Source Address. With this convention, a TLLA option | |||
| indicates the link-layer address of the 6LN that owns the address, | ||||
| The reason for this change is to enable proxy-registrations on behalf | whereas the SLLA Option in a NS message indicates that of the | |||
| of other nodes, for instance to enable a RPL root to register | Registering Node, which can be the owner device, or a proxy. | |||
| addresses on behalf of other LLN nodes, as discussed in Appendix B.4. | ||||
| In that case, the Registering Node MUST indicate its own address as | ||||
| source of the ND message and its MAC address in the Source Link-Layer | ||||
| Address Option (SLLAO), since it still expects to receive and route | ||||
| the packets. Since the Registered Address belongs to the Registered | ||||
| Node, that address is indicated in the Target Address field of the NS | ||||
| message. | ||||
| With this convention, a TLLA option indicates the link-layer address | ||||
| of the 6LN that owns the address, whereas the SLLA Option in a NS | ||||
| message indicates that of the Registering Node, which can be the | ||||
| owner device, or a proxy. | ||||
| The Registering Node is reachable from the 6LR, and is also the one | The Registering Node is reachable from the 6LR, and is also the one | |||
| expecting packets for the 6LN. Therefore, it MUST place its own Link | expecting packets for the 6LN. Therefore, it MUST place its own Link | |||
| Layer Address in the SLLA Option that MUST always be placed in a | Layer Address in the SLLA Option that MUST always be placed in a | |||
| registration NS(EARO) message. This maintains compatibility with the | registration NS(EARO) message. This maintains compatibility with | |||
| original 6LoWPAN ND [RFC6775]. | legacy 6LoWPAN ND [RFC6775]. | |||
| 4.6. Link-Local Addresses and Registration | 4.6. Link-Local Addresses and Registration | |||
| Considering that LLN nodes are often not wired and may move, there is | Considering that LLN nodes are often not wired and may move, there is | |||
| no guarantee that a Link-Local address stays unique between a | no guarantee that a Link-Local address stays unique between a | |||
| potentially variable and unbounded set of neighboring nodes. | potentially variable and unbounded set of neighboring nodes. | |||
| Compared to RFC 6775, this specification only requires that a Link- | Compared to [RFC6775], this specification only requires that a Link- | |||
| Local address is unique from the perspective of the nodes that use it | Local address is unique from the perspective of the two nodes that | |||
| to communicate (e.g. the 6LN and the 6LR in an NS/NA exchange). This | use it to communicate (e.g. the 6LN and the 6LR in an NS/NA | |||
| simplifies the DAD process for Link-Local addresses, and there is no | exchange). This simplifies the DAD process in Route-Over Mode for | |||
| exchange of Duplicate Address messages between the 6LR and a 6LBR for | Link-Local addresses, and there is no exchange of Duplicate Address | |||
| Link-Local addresses. | messages between the 6LR and a 6LBR for Link-Local addresses. | |||
| According to RFC 6775, a 6LoWPAN Node (6LN) uses the an address being | ||||
| registered as the source of the registration message. This generates | ||||
| complexities in the 6LR to be able to cope with a potential | ||||
| duplication, in particular for global addresses. | ||||
| To simplify this, a 6LN and a 6LR that conform this specification | ||||
| MUST always use Link-Local addresses as source and destination | ||||
| addresses for the registration NS/NA exchange. As a result, the | ||||
| registration is globally faster, and some of the complexity is | ||||
| removed. | ||||
| In more details: | In more details: | |||
| An exchange between two nodes using Link-Local addresses implies that | An exchange between two nodes using Link-Local addresses implies that | |||
| they are reachable over one hop and that at least one of the 2 nodes | they are reachable over one hop and that at least one of the 2 nodes | |||
| acts as a 6LR. A node MUST register a Link-Local address to a 6LR in | acts as a 6LR. A node MUST register a Link-Local address to a 6LR in | |||
| order to obtain reachability from that 6LR beyond the current | order to obtain reachability from that 6LR beyond the current | |||
| exchange, and in particular to use the Link-Local address as source | exchange, and in particular to use the Link-Local address as source | |||
| address to register other addresses, e.g. global addresses. | address to register other addresses, e.g. global addresses. | |||
| If there is no collision with an address previously registered to | If there is no collision with an address previously registered to | |||
| this 6LR by another 6LN, then, from the standpoint of this 6LR, this | this 6LR by another 6LN, then the Link-Local address is unique from | |||
| Link-Local address is unique and the registration is acceptable. | the standpoint of this 6LR and the registration is acceptable. | |||
| Conversely, it may possibly happen that two different 6LRs expose the | Alternatively, two different 6LRs might expose the same Link-Local | |||
| same Link-Local address but different link-layer addresses. In that | address but different link-layer addresses. In that case, a 6LN MUST | |||
| case, a 6LN may only interact with one of the 6LRs so as to avoid | only interact with one of the 6LRs. | |||
| confusion in the 6LN neighbor cache. | ||||
| The DAD process between the 6LR and a 6LBR, which is based on an | The DAD process between the 6LR and a 6LBR, which is based on an | |||
| exchange of Duplicate Address messages, does not need to take place | exchange of Duplicate Address messages, does not need to take place | |||
| for Link-Local addresses. | for Link-Local addresses. | |||
| It is desired that a 6LR does not need to modify its state associated | It is preferable for a 6LR to avoid modifying its state associated to | |||
| to the Source Address of an NS(EARO) message. For that reason, when | the Source Address of an NS(EARO) message. For that reason, when | |||
| possible, it is RECOMMENDED to use an address that is already | possible, an address that is already registered with a 6LR SHOULD be | |||
| registered with a 6LR | used by a 6LN. | |||
| When registering to a 6LR that conforms this specification, a node | When registering to a 6LR that conforms this specification, a node | |||
| MUST use a Link-Local address as the source address of the | MUST use a Link-Local address as the source address of the | |||
| registration, whatever the type of IPv6 address that is being | registration, whatever the type of IPv6 address that is being | |||
| registered. That Link-Local Address MUST be either already | registered. That Link-Local Address MUST be either already | |||
| registered, or the address that is being registered. | registered, or the address that is being registered. | |||
| When a Registering Node does not have an already-Registered Address, | When a Registering Node does not have an already-Registered Address, | |||
| it MUST register a Link-Local address, using it as both the Source | it MUST register a Link-Local address, using it as both the Source | |||
| and the Target Address of an NS(EARO) message. In that case, it is | and the Target Address of an NS(EARO) message. In that case, it is | |||
| RECOMMENDED to use a Link-Local address that is (expected to be) | RECOMMENDED to use a Link-Local address that is (expected to be) | |||
| globally unique, e.g. derived from a burn-in MAC address. An EARO | globally unique, e.g., derived from a globally unique hardware MAC | |||
| option in the response NA indicates that the 6LR supports this | address. An EARO option in the response NA indicates that the 6LR | |||
| specification. | supports this specification. | |||
| Since there is no Duplicate Address exchange for Link-Local | Since there is no Duplicate Address exchange for Link-Local | |||
| addresses, the 6LR may answer immediately to the registration of a | addresses, the 6LR may answer immediately to the registration of a | |||
| Link-Local address, based solely on its existing state and the Source | Link-Local address, based solely on its existing state and the Source | |||
| Link-Layer Option that MUST be placed in the NS(EARO) message as | Link-Layer Option that MUST be placed in the NS(EARO) message as | |||
| required in RFC 6775 [RFC6775]. | required in [RFC6775]. | |||
| A node needs to register its IPv6 Global Unicast IPv6 Addresses | A node needs to register its IPv6 Global Unicast IPv6 Addresses | |||
| (GUAs) to a 6LR in order to establish global reachability for these | (GUAs) to a 6LR in order to establish global reachability for these | |||
| addresses via that 6LR. When registering with a 6LR that conforms | addresses via that 6LR. When registering with an updated 6LR, a | |||
| this specification, a Registering Node does not use its GUA as Source | Registering Node does not use its GUA as Source Address, in contrast | |||
| Address, in contrast to a node that complies to RFC 6775 [RFC6775]. | to a node that complies to [RFC6775]. For non-Link-Local addresses, | |||
| For non-Link-Local addresses, the Duplicate Address exchange MUST | the Duplicate Address exchange MUST conform to [RFC6775], but the | |||
| conform to RFC 6775, but the extended formats described in this | extended formats described in this specification for the DAR and the | |||
| specification for the DAR and the DAC are used to relay the extended | DAC are used to relay the extended information in the case of an | |||
| information in the case of an EARO. | EARO. | |||
| 4.7. Maintaining the Registration States | 4.7. Maintaining the Registration States | |||
| This section discusses protocol actions that involve the Registering | This section discusses protocol actions that involve the Registering | |||
| Node, the 6LR and the 6LBR. It must be noted that the portion that | Node, the 6LR and the 6LBR. It must be noted that the portion that | |||
| deals with a 6LBR only applies to those addresses that are registered | deals with a 6LBR only applies to those addresses that are registered | |||
| to it, which, as discussed in Section 4.6, is not the case for Link- | to it; as discussed in Section 4.6, this is not the case for Link- | |||
| Local addresses. The registration state includes all data that is | Local addresses. The registration state includes all data that is | |||
| stored in the router relative to that registration, in particular, | stored in the router relative to that registration, in particular, | |||
| but not limited to, an NCE in a 6LR. 6LBRs and 6BBRs may store | but not limited to, an NCE in a 6LR. 6LBRs and 6BBRs may store | |||
| additional registration information in more complex data structures | additional registration information in more complex data structures | |||
| and use protocols that are out of scope of this document to keep them | and use protocols that are out of scope of this document to keep them | |||
| synchonized when they are distributed. | synchonized when they are distributed. | |||
| When its Neighbor Cache is full, a 6LR cannot accept a new | When its Neighbor Cache is full, a 6LR cannot accept a new | |||
| registration. In that situation, the EARO is returned in a NA | registration. In that situation, the EARO is returned in a NA | |||
| message with a Status of 2, and the Registering Node may attempt to | message with a Status of 2, and the Registering Node may attempt to | |||
| register to another 6LR. | register to another 6LR. | |||
| Conversely the registry in the 6LBR may be saturated, in which case | If the registry in the 6LBR is be saturated, in which case the LBR | |||
| the LBR cannot guarantee that a new address is effectively not a | cannot guarantee that a new address is effectively not a duplicate. | |||
| duplicate. In that case, the 6LBR replies to a EDAR message with a | In that case, the 6LBR replies to a EDAR message with a EDAC message | |||
| EDAC message that carries a Status code 9 indicating "6LBR Registry | that carries a Status code 9 indicating "6LBR Registry saturated", | |||
| saturated", and the address stays in TENTATIVE state. Note: this | and the address stays in TENTATIVE state. Note: this code is used by | |||
| code is used by 6LBRs instead of Status 2 when responding to a | 6LBRs instead of Status 2 when responding to a Duplicate Address | |||
| Duplicate Address message exchange and passed on to the Registering | message exchange and passed on to the Registering Node by the 6LR. | |||
| Node by the 6LR. There is no point for the node to retry this | There is no point for the node to retry this registration immediately | |||
| registration immediately via another 6LR, since the problem is global | via another 6LR, since the problem is global to the network. The | |||
| to the network. The node may either abandon that address, deregister | node may either abandon that address, deregister other addresses | |||
| other addresses first to make room, or keep the address in TENTATIVE | first to make room, or keep the address in TENTATIVE state and retry | |||
| state and retry later. | later. | |||
| A node renews an existing registration by repeatedly sending NS(EARO) | A node renews an existing registration by sending a new NS(EARO) | |||
| messages for the Registered Address. In order to refresh the | message for the Registered Address. In order to refresh the | |||
| registration state in the 6LBR, these registrations MUST be reported | registration state in the 6LBR, the registration MUST be reported to | |||
| to the 6LBR. | the 6LBR. | |||
| A node that ceases to use an address SHOULD attempt to deregister | A node that ceases to use an address SHOULD attempt to deregister | |||
| that address from all the 6LRs to which it has registered the | that address from all the 6LRs to which it has registered the | |||
| address, which is achieved using an NS(EARO) message with a | address, which is achieved using an NS(EARO) message with a | |||
| Registration Lifetime of 0. | Registration Lifetime of 0. | |||
| A node that moves away from a particular 6LR SHOULD attempt to | A node that moves away from a particular 6LR SHOULD attempt to | |||
| deregister all of its addresses registered to that 6LR and register | deregister all of its addresses registered to that 6LR and register | |||
| to a new 6LR with an incremented TID. When/if the node shows up | to a new 6LR with an incremented TID. When/if the node shows up | |||
| elsewhere, an asynchronous NA(EARO) or EDAC message with a status of | elsewhere, an asynchronous NA(EARO) or EDAC message with a status of | |||
| skipping to change at page 14, line 25 ¶ | skipping to change at page 13, line 44 ¶ | |||
| clean up its state. | clean up its state. | |||
| Upon receiving a NS(EARO) message with a Registration Lifetime of 0 | Upon receiving a NS(EARO) message with a Registration Lifetime of 0 | |||
| and determining that this EARO is the freshest for a given NCE (see | and determining that this EARO is the freshest for a given NCE (see | |||
| Section 4.2), a 6LR cleans up its NCE. If the address was registered | Section 4.2), a 6LR cleans up its NCE. If the address was registered | |||
| to the 6LBR, then the 6LR MUST report to the 6LBR, through a | to the 6LBR, then the 6LR MUST report to the 6LBR, through a | |||
| Duplicate Address exchange with the 6LBR, or an alternate protocol, | Duplicate Address exchange with the 6LBR, or an alternate protocol, | |||
| indicating the null Registration Lifetime and the latest TID that | indicating the null Registration Lifetime and the latest TID that | |||
| this 6LR is aware of. | this 6LR is aware of. | |||
| Upon the Extended DAR message, the 6LBR evaluates if this is the | Upon receiving the Extended DAR message, the 6LBR evaluates if this | |||
| freshest TID it has received for that particular registry entry. If | is the most recent TID it has received for that particular registry | |||
| it is, then the entry is scheduled to be removed, and the EDAR is | entry. If so, then the entry is scheduled to be removed, and the | |||
| answered with a EDAC message bearing a Status of 0 "Success". If it | EDAR is answered with a EDAC message bearing a Status of 0 | |||
| is not the freshest, then a Status 3 "Moved" is returned instead, and | ("Success"). Otherwise, a Status 3 ("Moved") is returned instead, | |||
| the existing entry is conserved. | and the existing entry is maintained. | |||
| Upon timing out a registration, a 6LR removes silently its binding | ||||
| cache entry, and a 6LBR schedules its entry to be removed. | ||||
| When an address is scheduled to be removed, the 6LBR SHOULD keep its | When an address is scheduled to be removed, the 6LBR SHOULD keep its | |||
| entry in a DELAY state for a configurable period of time, so as to | entry in a DELAY state for a configurable period of time, so as to | |||
| protect a mobile node that deregistered from one 6LR and did not | protect a mobile node that deregistered from one 6LR and did not | |||
| register yet to a new one, or the new registration did not reach yet | register yet to a new one, or the new registration did not reach yet | |||
| the 6LBR due to propagation delays in the network. Once the DELAY | the 6LBR due to propagation delays in the network. Once the DELAY | |||
| time is passed, the 6LBR removes silently its entry. | time is passed, the 6LBR removes silently its entry. | |||
| 5. Detecting Enhanced ARO Capability Support | 5. Detecting Enhanced ARO Capability Support | |||
| The "Generic Header Compression for IPv6 over 6LoWPANs" [RFC7400] | The "Generic Header Compression for IPv6 over 6LoWPANs" [RFC7400] | |||
| introduces the 6LoWPAN Capability Indication Option (6CIO) to | introduces the 6LoWPAN Capability Indication Option (6CIO) to | |||
| indicate a node's capabilities to its peers. This specification | indicate a node's capabilities to its peers. This specification | |||
| extends the format defined in RFC 7400 to signal the support for | extends the format defined in [RFC7400] to signal support for EARO, | |||
| EARO, as well as the node's capability to act as a 6LR, 6LBR and | as well as the node's capability to act as a 6LR, 6LBR and 6BBR. | |||
| 6BBR. | ||||
| With RFC 7400, the 6CIO is typically sent in a Router Solicitation | The 6CIO is typically sent in a Router Solicitation (RS) message. | |||
| (RS) message. When used to signal the capabilities above per this | When used to signal capabilities per this specification, the 6CIO is | |||
| specification, the 6CIO is typically present in Router Advertisement | typically present in Router Advertisement (RA) messages but can also | |||
| (RA) messages but can also be present in RS, Neighbor Solicitation | be present in RS, Neighbor Solicitation (NS) and Neighbor | |||
| (NS) and Neighbor Advertisement (NA) messages. | Advertisement (NA) messages. | |||
| 6. Extended ND Options And Messages | 6. Extended ND Options And Messages | |||
| This specification does not introduce new options, but it modifies | This specification does not introduce new options, but it modifies | |||
| existing ones and updates the associated behaviors as specified in | existing ones and updates the associated behaviors as specified in | |||
| the following subsections. | the following subsections. | |||
| 6.1. Enhanced Address Registration Option (EARO) | 6.1. Enhanced Address Registration Option (EARO) | |||
| The Address Registration Option (ARO) is defined in section 4.1. of | The Address Registration Option (ARO) is defined in section 4.1. of | |||
| [RFC6775]. | [RFC6775]. | |||
| The Enhanced Address Registration Option (EARO) is intended to be | The Enhanced Address Registration Option (EARO) updates the ARO | |||
| used as a replacement to the ARO option within Neighbor Discovery NS | option within Neighbor Discovery NS and NA messages between a 6LN and | |||
| and NA messages between a 6LN and its 6LR. Conversely, the Extended | its 6LR. On the other hand, the Extended Duplicate Address messages, | |||
| Duplicate Address messages, EDAR and EDAC, are to be used in | EDAR and EDAC, replace the DAR and DAC messages so as to transport | |||
| replacement of the DAR and DAC messages so as to transport the new | the new information between 6LRs and 6LBRs across LLNs meshes such as | |||
| information between 6LRs and 6LBRs across LLNs meshes such as 6TiSCH | 6TiSCH networks. | |||
| networks. | ||||
| An NS message with an EARO option is a registration if and only if it | An NS message with an EARO option is a registration if and only if it | |||
| also carries an SLLAO option. The EARO option also used in NS and NA | also carries an SLLAO option. The EARO option also used in NS and NA | |||
| messages between Backbone Routers over the Backbone link to sort out | messages between Backbone Routers over the Backbone link to sort out | |||
| the distributed registration state; in that case, it does not carry | the distributed registration state; in that case, it does not carry | |||
| the SLLAO option and is not confused with a registration. | the SLLAO option and is not confused with a registration. | |||
| When using the EARO option, the address being registered is found in | When using the EARO option, the address being registered is found in | |||
| the Target Address field of the NS and NA messages. This differs | the Target Address field of the NS and NA messages. | |||
| from 6LoWPAN ND RFC 6775 [RFC6775] which specifies that the address | ||||
| being registered is the source of the NS. | ||||
| The EARO extends the ARO and is recognized by the "T" flag set. The | The EARO extends the ARO and is indicated by the "T" flag set. The | |||
| format of the EARO option is as follows: | format of the EARO option is as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length = 2 | Status | Reserved | | | Type | Length = 2 | Status | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved |T| TID | Registration Lifetime | | | Reserved |T| TID | Registration Lifetime | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| skipping to change at page 16, line 33 ¶ | skipping to change at page 15, line 36 ¶ | |||
| Length: 8-bit unsigned integer. The length of the option in | Length: 8-bit unsigned integer. The length of the option in | |||
| units of 8 bytes. Always 2. | units of 8 bytes. Always 2. | |||
| Status: 8-bit unsigned integer. Indicates the status of a | Status: 8-bit unsigned integer. Indicates the status of a | |||
| registration in the NA response. MUST be set to 0 in | registration in the NA response. MUST be set to 0 in | |||
| NS messages. See Table 1 below. | NS messages. See Table 1 below. | |||
| +-------+-----------------------------------------------------------+ | +-------+-----------------------------------------------------------+ | |||
| | Value | Description | | | Value | Description | | |||
| +-------+-----------------------------------------------------------+ | +-------+-----------------------------------------------------------+ | |||
| | 0..2 | See RFC 6775 [RFC6775]. Note: a Status of 1 "Duplicate | | | 0..2 | See [RFC6775]. Note: a Status of 1 "Duplicate Address" | | |||
| | | Address" applies to the Registered Address. If the Source | | | | applies to the Registered Address. If the Source Address | | |||
| | | Address conflicts with an existing registration, | | | | conflicts with an existing registration, "Duplicate | | |||
| | | "Duplicate Source Address" should be used. | | | | Source Address" should be used. | | |||
| | | | | | | | | |||
| | 3 | Moved: The registration fails because it is not the | | | 3 | Moved: The registration fails because it is not the | | |||
| | | freshest. This Status indicates that the registration is | | | | freshest. This Status indicates that the registration is | | |||
| | | rejected because another more recent registration was | | | | rejected because another more recent registration was | | |||
| | | done, as indicated by a same OUI and a more recent TID. | | | | done, as indicated by a same OUI and a more recent TID. | | |||
| | | One possible cause is a stale registration that has | | | | One possible cause is a stale registration that has | | |||
| | | progressed slowly in the network and was passed by a more | | | | progressed slowly in the network and was passed by a more | | |||
| | | recent one. It could also indicate a OUI collision. | | | | recent one. It could also indicate a OUI collision. | | |||
| | | | | | | | | |||
| | 4 | Removed: The binding state was removed. This may be | | | 4 | Removed: The binding state was removed. This may be | | |||
| skipping to change at page 18, line 8 ¶ | skipping to change at page 17, line 10 ¶ | |||
| associated state should be removed. | associated state should be removed. | |||
| Owner Unique Identifier (OUI): A globally unique identifier for the | Owner Unique Identifier (OUI): A globally unique identifier for the | |||
| node associated. This can be the EUI-64 derived IID | node associated. This can be the EUI-64 derived IID | |||
| of an interface, or some provable ID obtained | of an interface, or some provable ID obtained | |||
| cryptographically. | cryptographically. | |||
| 6.2. Extended Duplicate Address Message Formats | 6.2. Extended Duplicate Address Message Formats | |||
| The Duplicate Address Request (DAR) and the Duplicate Address | The Duplicate Address Request (DAR) and the Duplicate Address | |||
| Confirmation (DAC) messages are defined in section 4.4. of [RFC6775]. | Confirmation (DAC) messages are defined in section 4.4 of [RFC6775]. | |||
| Those messages follow a common base format, which enables information | Those messages follow a common base format, which enables information | |||
| from the ARO to be transported over multiple hops. | from the ARO to be transported over multiple hops. | |||
| The Duplicate Address Messages are extended to adapt to the Extended | The Duplicate Address Messages are extended to adapt to the Extended | |||
| ARO format, as follows: | ARO format, as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Code | Checksum | | | Type | Code | Checksum | | |||
| skipping to change at page 19, line 7 ¶ | skipping to change at page 18, line 11 ¶ | |||
| TID: 1-byte integer; same definition and processing as the | TID: 1-byte integer; same definition and processing as the | |||
| TID in the EARO option as defined in Section 6.1. | TID in the EARO option as defined in Section 6.1. | |||
| Owner Unique Identifier (OUI): 8 bytes; same definition and | Owner Unique Identifier (OUI): 8 bytes; same definition and | |||
| processing as the OUI in the EARO option as defined | processing as the OUI in the EARO option as defined | |||
| in Section 6.1. | in Section 6.1. | |||
| 6.3. New 6LoWPAN Capability Bits in the Capability Indication Option | 6.3. New 6LoWPAN Capability Bits in the Capability Indication Option | |||
| This specification defines a number of capability bits in the 6CIO | This specification defines new capability bits for use in the 6CIO, | |||
| that was introduced by RFC 7400 for use in IPv6 ND RA messages. | which was introduced by [RFC7400] for use in IPv6 ND RA messages. | |||
| Routers that support this specification SHOULD set the "E" flag and | Routers that support this specification SHOULD set the "E" flag and | |||
| 6LN SHOULD favor 6LR routers that support this specification over | 6LN SHOULD favor 6LR routers that support this specification over | |||
| those that do not. Routers that are capable of acting as 6LR, 6LBR | those that do not. Routers that are capable of acting as 6LR, 6LBR | |||
| and 6BBR SHOULD set the "L", "B" and "P" flags, respectively. In | and 6BBR SHOULD set the "L", "B" and "P" flags, respectively. In | |||
| particular, the function 6LR is usually collocated with that of 6LBR. | particular, the function 6LR is often collocated with that of 6LBR. | |||
| Those flags are not mutually exclusive and if a router is capable of | Those flags are not mutually exclusive and if a router is capable of | |||
| running multiple functions, it SHOULD set all the related flags. | performing multiple functions, it SHOULD set all the related flags. | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length = 1 | Reserved |L|B|P|E|G| | | Type | Length = 1 | Reserved |L|B|P|E|G| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved | | | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: New capability Bits L, B, P, E in the 6CIO | Figure 4: New capability Bits L, B, P, E in the 6CIO | |||
| skipping to change at page 19, line 44 ¶ | skipping to change at page 19, line 4 ¶ | |||
| B: Node is a 6LBR. | B: Node is a 6LBR. | |||
| P: Node is a 6BBR, proxying for nodes on this link. | P: Node is a 6BBR, proxying for nodes on this link. | |||
| E: This specification is supported and applied. | E: This specification is supported and applied. | |||
| 7. Backward Compatibility | 7. Backward Compatibility | |||
| 7.1. Discovering the capabilities of an ND peer | 7.1. Discovering the capabilities of an ND peer | |||
| 7.1.1. Using the "E" Flag in the 6CIO | ||||
| 7.1.1. Using the "E" Flag in the 6CIO Option | ||||
| If the 6CIO is used in an ND message and the sending node supports | If the 6CIO is used in an ND message and the sending node supports | |||
| this specification, then the "E" Flag MUST be set. | this specification, then the "E" Flag MUST be set. | |||
| A router that supports this specification SHOULD indicate that with a | A router that supports this specification SHOULD indicate that with a | |||
| 6CIO Option, but this might not be practical if the link-layer MTU is | 6CIO. | |||
| too small. | ||||
| If the Registering Node (RN) receives a CIO in a Router Advertisement | If the Registering Node (RN) receives a 6CIO in a Router | |||
| message, then the setting of the "E" Flag indicates whether or not | Advertisement message, then the setting of the "E" Flag indicates | |||
| this specification is supported. RN SHOULD favor a router that | whether or not this specification is supported. | |||
| supports this specification over those that do not. | ||||
| 7.1.2. Using the "T" Flag in the EARO | 7.1.2. Using the "T" Flag in the EARO | |||
| One alternate way for a 6LN to discover the router's capabilities to | One alternate way for a 6LN to discover the router's capabilities to | |||
| first register a Link Local address, placing the same address in the | first register a Link Local address, placing the same address in the | |||
| Source and Target Address fields of the NS message, and setting the | Source and Target Address fields of the NS message, and setting the | |||
| "T" Flag. The node may for instance register an address that is | "T" Flag. The node may for instance register an address that is | |||
| based on EUI-64. For such address, DAD is not required and using the | based on EUI-64. For such address, DAD is not required and using the | |||
| SLLAO option in the NS is actually more consistent with existing ND | SLLAO option in the NS is actually more consistent with existing ND | |||
| specifications such as the "Optimistic Duplicate Address Detection | specifications such as the "Optimistic Duplicate Address Detection | |||
| (DAD) for IPv6" [RFC4429]. | (DAD) for IPv6" [RFC4429]. | |||
| Once that first registration is complete, the node knows from the | Once its first registration is complete, the node knows from the | |||
| setting of the "T" Flag in the response whether the router supports | setting of the "T" Flag in the response whether the router supports | |||
| this specification. If support is verified, the node may register | this specification. If support is verified, the node may register | |||
| other addresses that it owns, or proxy-register addresses on behalf | other addresses that it owns, or proxy-register addresses on behalf | |||
| some another node, indicating those addresses being registered in the | some another node, indicating those addresses being registered in the | |||
| Target Address field of the NS messages, while using one of its own | Target Address field of the NS messages, while using one of its own | |||
| previously registered addresses as source. | previously registered addresses as source. | |||
| A node that supports this specification MUST always use an EARO as a | A node that supports this specification MUST always use an EARO as a | |||
| replacement to an ARO in its registration to a router. This is | replacement to an ARO in its registration to a router. This is | |||
| harmless since the "T" flag and TID field are reserved in RFC 6775 | harmless since the "T" flag and TID field are reserved in [RFC6775], | |||
| are ignored by a legacy router. A router that supports this | and are ignored by a legacy router. A router that supports this | |||
| specification answers an ARO with an ARO and answers an EARO with an | specification answers an ARO with an ARO and answers an EARO with an | |||
| EARO. | EARO. | |||
| This specification changes the behavior of the peers in a | This specification changes the behavior of the peers in a | |||
| registration flows. To enable backward compatibility, a 6LB that | registration flows. To enable backward compatibility, a 6LB that | |||
| registers to a 6LR that is not known to support this specification | registers to a 6LR that is not known to support this specification | |||
| MUST behave in a manner that is compatible with RFC 6775. A 6LN can | MUST behave in a manner that is compatible with [RFC6775]. A 6LN can | |||
| achieve that by sending a NS(EARO) message with a Link-Local Address | achieve that by sending a NS(EARO) message with a Link-Local Address | |||
| used as both Source and Target Address, as described in Section 4.6. | used as both Source and Target Address, as described in Section 4.6. | |||
| Once the 6LR is known to support this specification, the 6LN MUST | Once the 6LR is known to support this specification, the 6LN MUST | |||
| obey this specification. | obey this specification. | |||
| 7.2. Legacy 6LoWPAN Node | 7.2. Legacy 6LoWPAN Node | |||
| A legacy 6LN will use the Registered Address as source and will not | A legacy 6LN will use the Registered Address as source and will not | |||
| use an EARO option. An updated 6LR MUST accept that registration if | use an EARO option. An updated 6LR MUST accept that registration if | |||
| it is valid per RFC 6775, and it MUST manage the binding cache | it is valid per [RFC6775], and it MUST manage the binding cache | |||
| accordingly. The updated 6LR MUST then use the original Duplicate | accordingly. The updated 6LR MUST then use the legacy Duplicate | |||
| Address messages as specified in RFC 6775 to indicate to the 6LBR | Address messages as specified in [RFC6775] to indicate to the 6LBR | |||
| that the TID is not present in the messages. | that the TID is not present in the messages. | |||
| The main difference with RFC 6775 is that Duplicate Address exchange | The main difference with [RFC6775] is that Duplicate Address exchange | |||
| for DAD is avoided for Link-Local addresses. In any case, the 6LR | for DAD is avoided for Link-Local addresses. In any case, the 6LR | |||
| SHOULD use an EARO in the reply, and may use any of the Status codes | SHOULD use an EARO in the reply, and may use any of the Status codes | |||
| defined in this specification. | defined in this specification. | |||
| 7.3. Legacy 6LoWPAN Router | 7.3. Legacy 6LoWPAN Router | |||
| The first registration by an updated 6LN MUST be for a Link-Local | The first registration by an updated 6LN MUST be for a Link-Local | |||
| address, using that Link-Local address as source. A legacy 6LR will | address, using that Link-Local address as source. A legacy 6LR will | |||
| not make a difference and accept -or reject- that registration as if | not make a difference and treat that registration as if the 6LN was a | |||
| the 6LN was a legacy node. | legacy node. | |||
| An updated 6LN will always use an EARO option in the registration NS | An updated 6LN will always use an EARO option in the registration NS | |||
| message, whereas a legacy 6LR will always reply with an ARO option in | message, whereas a legacy 6LR will always reply with an ARO option in | |||
| the NA message. So from that first registration, the updated 6LN can | the NA message. From that first registration, the updated 6LN can | |||
| figure whether the 6LR supports this specification or not. | determine whether or not the 6LR supports this specification. | |||
| After detecting a legacy 6LR, an updated 6LN may attempt to find an | After detecting a legacy 6LR, an updated 6LN may attempt to find an | |||
| alternate 6LR that is updated. In order to be backward compatible, | alternate 6LR that is updated. | |||
| after detecting that a 6LR is legacy, the 6LN MUST adhere to RFC 6775 | ||||
| in future protocol exchanges with that 6LR, and source the packet | ||||
| with the Registered Address. | ||||
| Note that the updated 6LN SHOULD use an EARO in the request | An updated 6LN SHOULD use an EARO in the request regardless of the | |||
| regardless of the type of 6LR, legacy or updated, which implies that | type of 6LR, legacy or updated, which implies that the "T" flag is | |||
| the "T" flag is set. | set. | |||
| If an updated 6LN moves from an updated 6LR to a legacy 6LR, the | If an updated 6LN moves from an updated 6LR to a legacy 6LR, the | |||
| legacy 6LR will send a legacy DAR message, which can not be compared | legacy 6LR will send a legacy DAR message, which can not be compared | |||
| with an updated one for freshness. | with an updated one for freshness. | |||
| Allowing legacy DAR messages to replace a state established by the | Allowing legacy DAR messages to replace a state established by the | |||
| updated protocol in the 6LBR would be an attack vector and that | updated protocol in the 6LBR would be an attack vector and that | |||
| cannot be the default behavior. | cannot be the default behavior. | |||
| But if legacy and updated 6LRs coexist temporarily in a network, then | But if legacy and updated 6LRs coexist temporarily in a network, then | |||
| skipping to change at page 22, line 14 ¶ | skipping to change at page 21, line 14 ¶ | |||
| 7.4. Legacy 6LoWPAN Border Router | 7.4. Legacy 6LoWPAN Border Router | |||
| With this specification, the Duplicate Address messages are extended | With this specification, the Duplicate Address messages are extended | |||
| to transport the EARO information. Similarly to the NS/NA exchange, | to transport the EARO information. Similarly to the NS/NA exchange, | |||
| updated 6LBR devices always use the Extended Duplicate Address | updated 6LBR devices always use the Extended Duplicate Address | |||
| messages and all the associated behavior so they can amlways be | messages and all the associated behavior so they can amlways be | |||
| differentiated from legacy ones. | differentiated from legacy ones. | |||
| Note that a legacy 6LBR will accept and process an EDAR message as if | Note that a legacy 6LBR will accept and process an EDAR message as if | |||
| it was an original one, so the original support of DAD is preserved. | it was a legacy DAR, so legacy support of DAD is preserved. | |||
| 8. Security Considerations | 8. Security Considerations | |||
| This specification extends RFC 6775 [RFC6775], and the security | This specification extends [RFC6775], and the security section of | |||
| section of that draft also applies to this as well. In particular, | that draft also applies to this as well. In particular, it is | |||
| it is expected that the link layer is sufficiently protected to | expected that the link layer is sufficiently protected to prevent a | |||
| prevent a rogue access, either by means of physical or IP security on | rogue access, either by means of physical or IP security on the | |||
| the Backbone Link and link layer cryptography on the LLN. | Backbone Link and link layer cryptography on the LLN. | |||
| This specification also expects that the LLN MAC provides secure | This specification also expects that the LLN MAC provides secure | |||
| unicast to/from the Backbone Router and secure Broadcast from the | unicast to/from the Backbone Router and secure Broadcast from the | |||
| Backbone Router in a way that prevents tempering with or replaying | Backbone Router in a way that prevents tempering with or replaying | |||
| the RA messages. | the RA messages. | |||
| This specification recommends to using privacy techniques (see | This specification recommends to using privacy techniques (see | |||
| Section 9, and protection against address theft such as provided by | Section 9, and protection against address theft such as provided by | |||
| "Address Protected Neighbor Discovery for Low-power and Lossy | "Address Protected Neighbor Discovery for Low-power and Lossy | |||
| Networks" [I-D.ietf-6lo-ap-nd], which guarantees the ownership of the | Networks" [I-D.ietf-6lo-ap-nd], which guarantees the ownership of the | |||
| skipping to change at page 22, line 46 ¶ | skipping to change at page 21, line 46 ¶ | |||
| 6LR or the 6LBR with a Denial-of-Service attack against the registry. | 6LR or the 6LBR with a Denial-of-Service attack against the registry. | |||
| It may also happen that the registry of a 6LR or a 6LBR is saturated | It may also happen that the registry of a 6LR or a 6LBR is saturated | |||
| and cannot take any more registration, which effectively denies the | and cannot take any more registration, which effectively denies the | |||
| requesting a node the capability to use a new address. In order to | requesting a node the capability to use a new address. In order to | |||
| alleviate those concerns, Section 4.7 provides a number of | alleviate those concerns, Section 4.7 provides a number of | |||
| recommendations that ensure that a stale registration is removed as | recommendations that ensure that a stale registration is removed as | |||
| soon as possible from the 6LR and 6LBR. In particular, this | soon as possible from the 6LR and 6LBR. In particular, this | |||
| specification recommends that: | specification recommends that: | |||
| o A node that ceases to use an address SHOULD attempt to deregister | o A node that ceases to use an address SHOULD attempt to deregister | |||
| that address from all the 6LRs to which it is registered. The | that address from all the 6LRs to which it is registered. See | |||
| flow is propagated to the 6LBR when needed, and a sequence number | Section 4.2 for the mechanism to avoid replay attacks and avoiding | |||
| is used to make sure that only the freshest command is acted upon. | the use of stale registration information. | |||
| o The Registration lifetimes SHOULD be individually configurable for | o The Registration lifetimes SHOULD be individually configurable for | |||
| each address or group of addresses. The nodes SHOULD be | each address or group of addresses. The nodes SHOULD be | |||
| configured with a Registration Lifetime that reflects their | configured with a Registration Lifetime that reflects their | |||
| expectation of how long they will use the address with the 6LR to | expectation of how long they will use the address with the 6LR to | |||
| which it is registered. In particular, use cases that involve | which it is registered. In particular, use cases that involve | |||
| mobility or rapid address changes SHOULD use lifetimes that are | mobility or rapid address changes SHOULD use lifetimes that are | |||
| larger yet of a same order as the duration of the expectation of | larger yet of a same order as the duration of the expectation of | |||
| presence. | presence. | |||
| o The router (6LR or 6LBR) SHOULD be configurable so as to limit the | o The router (6LR or 6LBR) SHOULD be configurable so as to limit the | |||
| number of addresses that can be registered by a single node, as | number of addresses that can be registered by a single node, as | |||
| identified at least by MAC address and preferably by security | identified at least by MAC address and preferably by security | |||
| credentials. When that maximum is reached, the router should use | credentials. When that maximum is reached, the router should use | |||
| a Least-Recently-Used (LRU) logic so as to clean up the addresses | a Least-Recently-Used (LRU) algorithm to clean up the addresses, | |||
| that were not used for the longest time, keeping at least one | keeping at least one Link-Local address. The router SHOULD | |||
| Link-Local address, and attempting to keep one or more stable | attempt to keep one or more stable addresses if stability can be | |||
| addresses if such can be recognized, e.g. from the way the IID is | determined, e.g. from the way the IID is formed or because they | |||
| formed or because they are used over a much longer time span than | are used over a much longer time span than other (privacy, | |||
| other (privacy, shorter-lived) addresses. The address lifetimes | shorter-lived) addresses. Address lifetimes SHOULD be | |||
| SHOULD be individually configurable. | individually configurable. | |||
| o In order to avoid denial of registration for the lack of | o In order to avoid denial of registration for the lack of | |||
| resources, administrators SHOULD take great care to deploy | resources, administrators should take great care to deploy | |||
| adequate numbers of 6LRs to cover the needs of the nodes in their | adequate numbers of 6LRs to cover the needs of the nodes in their | |||
| range, so as to avoid a situation of starving nodes. It is | range, so as to avoid a situation of starving nodes. It is | |||
| expected that the 6LBR that serves a LLN is a more capable node | expected that the 6LBR that serves a LLN is a more capable node | |||
| then the average 6LR, but in a network condition where it may | then the average 6LR, but in a network condition where it may | |||
| become saturated, a particular deployment SHOULD distribute the | become saturated, a particular deployment should distribute the | |||
| 6LBR functionality, for instance by leveraging a high speed | 6LBR functionality, for instance by leveraging a high speed | |||
| Backbone and Backbone Routers to aggregate multiple LLNs into a | Backbone and Backbone Routers to aggregate multiple LLNs into a | |||
| larger subnet. | larger subnet. | |||
| The LLN nodes depend on the 6LBR and the 6BBR for their operation. A | The LLN nodes depend on the 6LBR and the 6BBR for their operation. A | |||
| trust model must be put in place to ensure that the right devices are | trust model must be put in place to ensure that the right devices are | |||
| acting in these roles, so as to avoid threats such as black-holing, | acting in these roles, so as to avoid threats such as black-holing, | |||
| or bombing attack whereby an impersonated 6LBR would destroy state in | or bombing attack whereby an impersonated 6LBR would destroy state in | |||
| the network by using the "Removed" Status code. | the network by using the "Removed" Status code. | |||
| skipping to change at page 24, line 30 ¶ | skipping to change at page 23, line 30 ¶ | |||
| IANA is requested to create a new subregistry for "ARO Flags". This | IANA is requested to create a new subregistry for "ARO Flags". This | |||
| specification defines 8 positions, bit 0 to bit 7, and assigns bit 7 | specification defines 8 positions, bit 0 to bit 7, and assigns bit 7 | |||
| for the "T" flag in Section 6.1. The policy is "IETF Review" or | for the "T" flag in Section 6.1. The policy is "IETF Review" or | |||
| "IESG Approval" [RFC8126]. The initial content of the registry is as | "IESG Approval" [RFC8126]. The initial content of the registry is as | |||
| shown in Table 2. | shown in Table 2. | |||
| New subregistry for ARO Flags under the "Internet Control Message | New subregistry for ARO Flags under the "Internet Control Message | |||
| Protocol version 6 (ICMPv6) [RFC4443] Parameters" | Protocol version 6 (ICMPv6) [RFC4443] Parameters" | |||
| +------------+--------------+-----------+ | +-------------+--------------+-----------+ | |||
| | ARO Status | Description | Document | | | ARO Status | Description | Document | | |||
| +------------+--------------+-----------+ | +-------------+--------------+-----------+ | |||
| | 0..6 | Unassigned | | | | 0..6 | Unassigned | | | |||
| | 7 | "T" Flag | RFC This | | | 7 | "T" Flag | This RFC | | |||
| +------------+--------------+-----------+ | +-------------+--------------+-----------+ | |||
| Table 2: new ARO Flags | Table 2: new ARO Flags | |||
| 10.2. ICMP Codes | 10.2. ICMP Codes | |||
| IANA is requested to create a new entry in the ICMPv6 "Code" Fields | IANA is requested to create a new entry in the ICMPv6 "Code" Fields | |||
| subregistry of the Internet Control Message Protocol version 6 | subregistry of the Internet Control Message Protocol version 6 | |||
| (ICMPv6) Parameters for the ICMP codes related to the ICMP type 157 | (ICMPv6) Parameters for the ICMP codes related to the ICMP type 157 | |||
| and 158 Duplicate Address Request (shown in Table 3) and Confirmation | and 158 Duplicate Address Request (shown in Table 3) and Confirmation | |||
| (shown in Table 4), respectively, as follows: | (shown in Table 4), respectively, as follows: | |||
| New entries for ICMP types 157 DAR message | New entries for ICMP types 157 DAR message | |||
| +------+----------------------+------------+ | +-------+----------------------+------------+ | |||
| | Code | Name | Reference | | | Code | Name | Reference | | |||
| +------+----------------------+------------+ | +-------+----------------------+------------+ | |||
| | 0 | Original DAR message | RFC 6775 | | | 0 | Original DAR message | RFC 6775 | | |||
| | 1 | Extended DAR message | RFC This | | | 1 | Extended DAR message | This RFC | | |||
| +------+----------------------+------------+ | +-------+----------------------+------------+ | |||
| Table 3: new ICMPv6 Code Fields | Table 3: new ICMPv6 Code Fields | |||
| New entries for ICMP types 158 DAC message | New entries for ICMP types 158 DAC message | |||
| +------+----------------------+------------+ | +-------+----------------------+------------+ | |||
| | Code | Name | Reference | | | Code | Name | Reference | | |||
| +------+----------------------+------------+ | +-------+----------------------+------------+ | |||
| | 0 | Original DAC message | RFC 6775 | | | 0 | Original DAC message | RFC 6775 | | |||
| | 1 | Extended DAC message | RFC This | | | 1 | Extended DAC message | This RFC | | |||
| +------+----------------------+------------+ | +-------+----------------------+------------+ | |||
| Table 4: new ICMPv6 Code Fields | Table 4: new ICMPv6 Code Fields | |||
| 10.3. New ARO Status values | 10.3. New ARO Status values | |||
| IANA is requested to make additions to the Address Registration | IANA is requested to make additions to the Address Registration | |||
| Option Status Values Registry as follows: | Option Status Values Registry as follows: | |||
| Address Registration Option Status Values Registry | Address Registration Option Status Values Registry | |||
| +------------+------------------------------------------+-----------+ | +-------------+-----------------------------------------+-----------+ | |||
| | ARO Status | Description | Document | | | ARO Status | Description | Document | | |||
| +------------+------------------------------------------+-----------+ | +-------------+-----------------------------------------+-----------+ | |||
| | 3 | Moved | RFC This | | | 3 | Moved | This RFC | | |||
| | 4 | Removed | RFC This | | | 4 | Removed | This RFC | | |||
| | 5 | Validation Requested | RFC This | | | 5 | Validation Requested | This RFC | | |||
| | 6 | Duplicate Source Address | RFC This | | | 6 | Duplicate Source Address | This RFC | | |||
| | 7 | Invalid Source Address | RFC This | | | 7 | Invalid Source Address | This RFC | | |||
| | 8 | Registered Address topologically | RFC This | | | 8 | Registered Address topologically | This RFC | | |||
| | | incorrect | | | | | incorrect | | | |||
| | 9 | 6LBR registry saturated | RFC This | | | 9 | 6LBR registry saturated | This RFC | | |||
| | 10 | Validation Failed | RFC This | | | 10 | Validation Failed | This RFC | | |||
| +------------+------------------------------------------+-----------+ | +-------------+-----------------------------------------+-----------+ | |||
| Table 5: New ARO Status values | Table 5: New ARO Status values | |||
| 10.4. New 6LoWPAN capability Bits | 10.4. New 6LoWPAN capability Bits | |||
| IANA is requested to make additions to the Subregistry for "6LoWPAN | IANA is requested to make additions to the Subregistry for "6LoWPAN | |||
| capability Bits" as follows: | capability Bits" as follows: | |||
| Subregistry for "6LoWPAN capability Bits" under the "Internet Control | Subregistry for "6LoWPAN capability Bits" under the "Internet Control | |||
| Message Protocol version 6 (ICMPv6) Parameters" | Message Protocol version 6 (ICMPv6) Parameters" | |||
| +----------------+----------------------+-----------+ | +-----------------+----------------------+-----------+ | |||
| | capability Bit | Description | Document | | | Capability Bit | Description | Document | | |||
| +----------------+----------------------+-----------+ | +-----------------+----------------------+-----------+ | |||
| | 11 | 6LR capable (L bit) | RFC This | | | 11 | 6LR capable (L bit) | This RFC | | |||
| | 12 | 6LBR capable (B bit) | RFC This | | | 12 | 6LBR capable (B bit) | This RFC | | |||
| | 13 | 6BBR capable (P bit) | RFC This | | | 13 | 6BBR capable (P bit) | This RFC | | |||
| | 14 | EARO support (E bit) | RFC This | | | 14 | EARO support (E bit) | This RFC | | |||
| +----------------+----------------------+-----------+ | +-----------------+----------------------+-----------+ | |||
| Table 6: New 6LoWPAN capability Bits | Table 6: New 6LoWPAN capability Bits | |||
| 11. Acknowledgments | 11. Acknowledgments | |||
| Kudos to Eric Levy-Abegnoli who designed the First Hop Security | Kudos to Eric Levy-Abegnoli who designed the First Hop Security | |||
| infrastructure upon which the first backbone router was implemented; | infrastructure upon which the first backbone router was implemented. | |||
| many thanks to Charlie Perkins for his in-depth reviews and | Many thanks to Sedat Gormus, Rahul Jadhav and Lorenzo Colitti for | |||
| constructive suggestions, as well as to Sedat Gormus, Rahul Jadhav | their various contributions and reviews. Also many thanks to Thomas | |||
| and Lorenzo Colitti for their various contributions and reviews. | Watteyne for his early implementation of a 6LN that was instrumental | |||
| Also many thanks to Thomas Watteyne for his early implementation of a | to the early tests of the 6LR, 6LBR and Backbone Router. | |||
| 6LN that was instrumental to the early tests of the 6LR, 6LBR and | ||||
| Backbone Router. | ||||
| 12. References | 12. References | |||
| 12.1. Normative References | 12.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| skipping to change at page 28, line 8 ¶ | skipping to change at page 27, line 8 ¶ | |||
| 6man-efficient-nd-07 (work in progress), February 2015. | 6man-efficient-nd-07 (work in progress), February 2015. | |||
| [I-D.delcarpio-6lo-wlanah] | [I-D.delcarpio-6lo-wlanah] | |||
| Vega, L., Robles, I., and R. Morabito, "IPv6 over | Vega, L., Robles, I., and R. Morabito, "IPv6 over | |||
| 802.11ah", draft-delcarpio-6lo-wlanah-01 (work in | 802.11ah", draft-delcarpio-6lo-wlanah-01 (work in | |||
| progress), October 2015. | progress), October 2015. | |||
| [I-D.ietf-6lo-ap-nd] | [I-D.ietf-6lo-ap-nd] | |||
| Sarikaya, B., Thubert, P., and M. Sethi, "Address | Sarikaya, B., Thubert, P., and M. Sethi, "Address | |||
| Protected Neighbor Discovery for Low-power and Lossy | Protected Neighbor Discovery for Low-power and Lossy | |||
| Networks", draft-ietf-6lo-ap-nd-02 (work in progress), May | Networks", draft-ietf-6lo-ap-nd-03 (work in progress), | |||
| 2017. | September 2017. | |||
| [I-D.ietf-6lo-backbone-router] | [I-D.ietf-6lo-backbone-router] | |||
| Thubert, P., "IPv6 Backbone Router", draft-ietf-6lo- | Thubert, P., "IPv6 Backbone Router", draft-ietf-6lo- | |||
| backbone-router-04 (work in progress), July 2017. | backbone-router-04 (work in progress), July 2017. | |||
| [I-D.ietf-6lo-nfc] | [I-D.ietf-6lo-nfc] | |||
| Choi, Y., Hong, Y., Youn, J., Kim, D., and J. Choi, | Choi, Y., Hong, Y., Youn, J., Kim, D., and J. Choi, | |||
| "Transmission of IPv6 Packets over Near Field | "Transmission of IPv6 Packets over Near Field | |||
| Communication", draft-ietf-6lo-nfc-07 (work in progress), | Communication", draft-ietf-6lo-nfc-07 (work in progress), | |||
| June 2017. | June 2017. | |||
| skipping to change at page 30, line 39 ¶ | skipping to change at page 29, line 39 ¶ | |||
| [RFC8163] Lynn, K., Ed., Martocci, J., Neilson, C., and S. | [RFC8163] Lynn, K., Ed., Martocci, J., Neilson, C., and S. | |||
| Donaldson, "Transmission of IPv6 over Master-Slave/Token- | Donaldson, "Transmission of IPv6 over Master-Slave/Token- | |||
| Passing (MS/TP) Networks", RFC 8163, DOI 10.17487/RFC8163, | Passing (MS/TP) Networks", RFC 8163, DOI 10.17487/RFC8163, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8163>. | May 2017, <https://www.rfc-editor.org/info/rfc8163>. | |||
| 12.3. External Informative References | 12.3. External Informative References | |||
| [IEEEstd802154] | [IEEEstd802154] | |||
| IEEE, "IEEE Standard for Low-Rate Wireless Networks", | IEEE, "IEEE Standard for Low-Rate Wireless Networks", | |||
| IEEE Standard 802.15.4, DOI 10.1109/IEEESTD.2016.7460875, | IEEE Standard 802.15.4, DOI 10.1109/IEEE | |||
| P802.15.4-REVd/D01, June 2017, | ||||
| <http://ieeexplore.ieee.org/document/7460875/>. | <http://ieeexplore.ieee.org/document/7460875/>. | |||
| [Perlman83] | [Perlman83] | |||
| Perlman, R., "Fault-Tolerant Broadcast of Routing | Perlman, R., "Fault-Tolerant Broadcast of Routing | |||
| Information", North-Holland Computer Networks 7: 395-405, | Information", North-Holland Computer Networks 7: 395-405, | |||
| 1983, <http://www.cs.illinois.edu/~pbg/courses/cs598fa09/ | 1983, <http://www.cs.illinois.edu/~pbg/courses/cs598fa09/ | |||
| readings/p83.pdf>. | readings/p83.pdf>. | |||
| Appendix A. Applicability and Requirements Served | Appendix A. Applicability and Requirements Served | |||
| skipping to change at page 31, line 20 ¶ | skipping to change at page 30, line 26 ¶ | |||
| connect to the Internet via a RPL mesh Network, but this requires | connect to the Internet via a RPL mesh Network, but this requires | |||
| additions to the 6LOWPAN ND protocol to support mobility and | additions to the 6LOWPAN ND protocol to support mobility and | |||
| reachability in a secured and manageable environment. This | reachability in a secured and manageable environment. This | |||
| specification details the new operations that are required to | specification details the new operations that are required to | |||
| implement the 6TiSCH architecture and serves the requirements listed | implement the 6TiSCH architecture and serves the requirements listed | |||
| in Appendix B.2. | in Appendix B.2. | |||
| The term LLN is used loosely in this specification to cover multiple | The term LLN is used loosely in this specification to cover multiple | |||
| types of WLANs and WPANs, including Low-Power Wi-Fi, BLUETOOTH(R) Low | types of WLANs and WPANs, including Low-Power Wi-Fi, BLUETOOTH(R) Low | |||
| Energy, IEEE Std.802.11AH and IEEE Std.802.15.4 wireless meshes, so | Energy, IEEE Std.802.11AH and IEEE Std.802.15.4 wireless meshes, so | |||
| as to address the requirements discussed in Appendix B.3 | as to address the requirements discussed in Appendix B.3. | |||
| This specification can be used by any wireless node to associate at | This specification can be used by any wireless node to associate at | |||
| Layer-3 with a 6BBR and register its IPv6 addresses to obtain routing | Layer-3 with a 6BBR and register its IPv6 addresses to obtain routing | |||
| services including proxy-ND operations over the Backbone, effectively | services including proxy-ND operations over the Backbone, effectively | |||
| providing a solution to the requirements expressed in Appendix B.4. | providing a solution to the requirements expressed in Appendix B.4. | |||
| "Efficiency aware IPv6 Neighbor Discovery Optimizations" | "Efficiency aware IPv6 Neighbor Discovery Optimizations" | |||
| [I-D.chakrabarti-nordmark-6man-efficient-nd] suggests that 6LoWPAN ND | [I-D.chakrabarti-nordmark-6man-efficient-nd] suggests that 6LoWPAN ND | |||
| [RFC6775] can be extended to other types of links beyond IEEE Std. | [RFC6775] can be extended to other types of links beyond IEEE Std. | |||
| 802.15.4 for which it was defined. The registration technique is | 802.15.4 for which it was defined. The registration technique is | |||
| beneficial when the Link-Layer technique used to carry IPv6 multicast | beneficial when the Link-Layer technique used to carry IPv6 multicast | |||
| packets is not sufficiently efficient in terms of delivery ratio or | packets is not sufficiently efficient in terms of delivery ratio or | |||
| energy consumption in the end devices, in particular to enable | energy consumption in the end devices, in particular to enable | |||
| energy-constrained sleeping nodes. The value of such extension is | energy-constrained sleeping nodes. The value of such extension is | |||
| especially apparent in the case of mobile wireless nodes, to reduce | especially apparent in the case of mobile wireless nodes, to reduce | |||
| the multicast operations that are related to classical ND ([RFC4861], | the multicast operations that are related to IPv6 ND ([RFC4861], | |||
| [RFC4862]) and plague the wireless medium. This serves scalability | [RFC4862]) and plague the wireless medium. This serves scalability | |||
| requirements listed in Appendix B.6. | requirements listed in Appendix B.6. | |||
| Appendix B. Requirements | Appendix B. Requirements | |||
| This section lists requirements that were discussed at 6lo for an | This section lists requirements that were discussed at 6lo for an | |||
| update to 6LoWPAN ND. This specification meets most of them, but | update to 6LoWPAN ND. This specification meets most of them, but | |||
| those listed in Appendix B.5 which are deferred to a different | those listed in Appendix B.5 which are deferred to a different | |||
| specification such as [I-D.ietf-6lo-ap-nd], and those related to | specification such as [I-D.ietf-6lo-ap-nd], and those related to | |||
| multicast. | multicast. | |||
| skipping to change at page 32, line 44 ¶ | skipping to change at page 31, line 44 ¶ | |||
| characteristics. It is required that a 6LoWPAN Node attached via ND | characteristics. It is required that a 6LoWPAN Node attached via ND | |||
| to a 6LR would need to participate in the selected routing protocol | to a 6LR would need to participate in the selected routing protocol | |||
| to obtain reachability via the 6LR. | to obtain reachability via the 6LR. | |||
| Next to the 6LBR unicast address registered by ND, other addresses | Next to the 6LBR unicast address registered by ND, other addresses | |||
| including multicast addresses are needed as well. For example a | including multicast addresses are needed as well. For example a | |||
| routing protocol often uses a multicast address to register changes | routing protocol often uses a multicast address to register changes | |||
| to established paths. ND needs to register such a multicast address | to established paths. ND needs to register such a multicast address | |||
| to enable routing concurrently with discovery. | to enable routing concurrently with discovery. | |||
| Multicast is needed for groups. Groups MAY be formed by device type | Multicast is needed for groups. Groups may be formed by device type | |||
| (e.g. routers, street lamps), location (Geography, RPL sub-tree), or | (e.g. routers, street lamps), location (Geography, RPL sub-tree), or | |||
| both. | both. | |||
| The Bit Index Explicit Replication (BIER) Architecture | The Bit Index Explicit Replication (BIER) Architecture | |||
| [I-D.ietf-bier-architecture] proposes an optimized technique to | [I-D.ietf-bier-architecture] proposes an optimized technique to | |||
| enable multicast in a LLN with a very limited requirement for routing | enable multicast in a LLN with a very limited requirement for routing | |||
| state in the nodes. | state in the nodes. | |||
| Related requirements are: | Related requirements are: | |||
| Req2.1: The ND registration method SHOULD be extended in such a | Req2.1: The ND registration method SHOULD be extended so that the 6LR | |||
| fashion that the 6LR MAY advertise the Address of a 6LoWPAN Node over | is able to advertise the Address of a 6LoWPAN Node over the selected | |||
| the selected routing protocol and obtain reachability to that Address | routing protocol and obtain reachability to that Address using the | |||
| using the selected routing protocol. | selected routing protocol. | |||
| Req2.2: Considering RPL, the Address Registration Option that is used | Req2.2: Considering RPL, the Address Registration Option that is used | |||
| in the ND registration SHOULD be extended to carry enough information | in the ND registration SHOULD be extended to carry enough information | |||
| to generate a DAO message as specified in [RFC6550] section 6.4, in | to generate a DAO message as specified in [RFC6550] section 6.4, in | |||
| particular the capability to compute a Path Sequence and, as an | particular the capability to compute a Path Sequence and, as an | |||
| option, a RPLInstanceID. | option, a RPLInstanceID. | |||
| Req2.3: Multicast operations SHOULD be supported and optimized, for | Req2.3: Multicast operations SHOULD be supported and optimized, for | |||
| instance using BIER or MPL. Whether ND is appropriate for the | instance using BIER or MPL. Whether ND is appropriate for the | |||
| registration to the 6BBR is to be defined, considering the additional | registration to the 6BBR is to be defined, considering the additional | |||
| skipping to change at page 34, line 12 ¶ | skipping to change at page 33, line 12 ¶ | |||
| Req3.3: The Address Registration Option used in the ND registration | Req3.3: The Address Registration Option used in the ND registration | |||
| SHOULD be extended to carry the relevant forms of unique Identifier. | SHOULD be extended to carry the relevant forms of unique Identifier. | |||
| Req3.4: The Neighbour Discovery should specify the formation of a | Req3.4: The Neighbour Discovery should specify the formation of a | |||
| site-local address that follows the security recommendations from | site-local address that follows the security recommendations from | |||
| [RFC7217]. | [RFC7217]. | |||
| B.4. Requirements Related to Proxy Operations | B.4. Requirements Related to Proxy Operations | |||
| Duty-cycled devices may not be able to answer themselves to a lookup | Duty-cycled devices may not be able to answer themselves to a lookup | |||
| from a node that uses classical ND on a Backbone and may need a | from a node that uses IPv6 ND on a Backbone and may need a proxy. | |||
| proxy. Additionally, the duty-cycled device may need to rely on the | Additionally, the duty-cycled device may need to rely on the 6LBR to | |||
| 6LBR to perform registration to the 6BBR. | perform registration to the 6BBR. | |||
| The ND registration method SHOULD defend the addresses of duty-cycled | The ND registration method SHOULD defend the addresses of duty-cycled | |||
| devices that are sleeping most of the time and not capable to defend | devices that are sleeping most of the time and not capable to defend | |||
| their own Addresses. | their own Addresses. | |||
| Related requirements are: | Related requirements are: | |||
| Req4.1: The registration mechanism SHOULD enable a third party to | Req4.1: The registration mechanism SHOULD enable a third party to | |||
| proxy register an Address on behalf of a 6LoWPAN node that may be | proxy register an Address on behalf of a 6LoWPAN node that may be | |||
| sleeping or located deeper in an LLN mesh. | sleeping or located deeper in an LLN mesh. | |||
| skipping to change at page 34, line 42 ¶ | skipping to change at page 33, line 42 ¶ | |||
| B.5. Requirements Related to Security | B.5. Requirements Related to Security | |||
| In order to guarantee the operations of the 6LoWPAN ND flows, the | In order to guarantee the operations of the 6LoWPAN ND flows, the | |||
| spoofing of the 6LR, 6LBR and 6BBRs roles should be avoided. Once a | spoofing of the 6LR, 6LBR and 6BBRs roles should be avoided. Once a | |||
| node successfully registers an address, 6LoWPAN ND should provide | node successfully registers an address, 6LoWPAN ND should provide | |||
| energy-efficient means for the 6LBR to protect that ownership even | energy-efficient means for the 6LBR to protect that ownership even | |||
| when the node that registered the address is sleeping. | when the node that registered the address is sleeping. | |||
| In particular, the 6LR and the 6LBR then should be able to verify | In particular, the 6LR and the 6LBR then should be able to verify | |||
| whether a subsequent registration for a given Address comes from the | whether a subsequent registration for a given address comes from the | |||
| original node. | original node. | |||
| In a LLN it makes sense to base security on layer-2 security. During | In a LLN it makes sense to base security on layer-2 security. During | |||
| bootstrap of the LLN, nodes join the network after authorization by a | bootstrap of the LLN, nodes join the network after authorization by a | |||
| Joining Assistant (JA) or a Commissioning Tool (CT). After joining | Joining Assistant (JA) or a Commissioning Tool (CT). After joining | |||
| nodes communicate with each other via secured links. The keys for | nodes communicate with each other via secured links. The keys for | |||
| the layer-2 security are distributed by the JA/CT. The JA/CT can be | the layer-2 security are distributed by the JA/CT. The JA/CT can be | |||
| part of the LLN or be outside the LLN. In both cases it is needed | part of the LLN or be outside the LLN. In both cases it is needed | |||
| that packets are routed between JA/CT and the joining node. | that packets are routed between JA/CT and the joining node. | |||
| skipping to change at line 1674 ¶ | skipping to change at page 35, line 35 ¶ | |||
| Santa Clara, CA | Santa Clara, CA | |||
| USA | USA | |||
| Email: nordmark@sonic.net | Email: nordmark@sonic.net | |||
| Samita Chakrabarti | Samita Chakrabarti | |||
| San Jose, CA | San Jose, CA | |||
| USA | USA | |||
| Email: samitac.ietf@gmail.com | Email: samitac.ietf@gmail.com | |||
| Charles E. Perkins | ||||
| Futurewei | ||||
| 2330 Central Expressway | ||||
| Santa Clara 95050 | ||||
| Unites States | ||||
| Email: charliep@computer.org | ||||
| End of changes. 99 change blocks. | ||||
| 353 lines changed or deleted | 311 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||