| < draft-ietf-6lo-rfc6775-update-04.txt | draft-ietf-6lo-rfc6775-update-05.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: November 2, 2017 S. Chakrabarti | Expires: November 13, 2017 S. Chakrabarti | |||
| May 1, 2017 | May 12, 2017 | |||
| An Update to 6LoWPAN ND | An Update to 6LoWPAN ND | |||
| draft-ietf-6lo-rfc6775-update-04 | draft-ietf-6lo-rfc6775-update-05 | |||
| 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, and provide | simplify the registration operation in 6LoWPAN routers, and provide | |||
| enhancements to the registration capabilities, in particular for the | enhancements to the registration capabilities, in particular for the | |||
| registration to a Backbone Router for proxy ND operations. | registration to a Backbone Router for proxy ND operations. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 36 ¶ | skipping to change at page 1, line 36 ¶ | |||
| 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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 November 2, 2017. | This Internet-Draft will expire on November 13, 2017. | |||
| 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 | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://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 12 ¶ | skipping to change at page 2, line 12 ¶ | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| 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. Considerations On Registration Rejection . . . . . . . . . . 3 | 2. Considerations On Registration Rejection . . . . . . . . . . 3 | |||
| 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Extending RFC 7400 . . . . . . . . . . . . . . . . . . . . . 5 | 4. Updating RFC 6775 . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 5. Updating RFC 6775 . . . . . . . . . . . . . . . . . . . . . . 5 | 4.1. Extended Address Registration Option . . . . . . . . . . 5 | |||
| 5.1. Extended Address Registration Option . . . . . . . . . . 6 | 4.2. Transaction ID . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5.2. Transaction ID . . . . . . . . . . . . . . . . . . . . . 6 | 4.3. Owner Unique ID . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5.3. Owner Unique ID . . . . . . . . . . . . . . . . . . . . . 7 | 4.4. Registering the Target Address . . . . . . . . . . . . . 7 | |||
| 5.4. Registering the Target Address . . . . . . . . . . . . . 8 | 4.5. Link-Local Addresses and Registration . . . . . . . . . . 8 | |||
| 5.5. Link-Local Addresses and Registration . . . . . . . . . . 8 | 4.6. Maintaining the Registration States . . . . . . . . . . . 9 | |||
| 5.6. Maintaining the Registration States . . . . . . . . . . . 10 | 5. Extending RFC 7400 . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 6. Updated ND Options . . . . . . . . . . . . . . . . . . . . . 11 | 6. Updated ND Options . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 6.1. New 6LoWPAN capability Bits in the Capability Indication | 6.1. The Enhanced Address Registration Option (EARO) . . . . . 11 | |||
| Option . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 6.2. New 6LoWPAN capability Bits in the Capability Indication | |||
| 6.2. The Enhanced Address Registration Option (EARO) . . . . . 12 | Option . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 7. Backward Compatibility . . . . . . . . . . . . . . . . . . . 14 | 7. Backward Compatibility . . . . . . . . . . . . . . . . . . . 14 | |||
| 7.1. Discovering the capabilities of an ND peer . . . . . . . 14 | 7.1. Discovering the capabilities of an ND peer . . . . . . . 14 | |||
| 7.1.1. Using the E Flag in the CIO . . . . . . . . . . . . . 14 | 7.1.1. Using the E Flag in the CIO . . . . . . . . . . . . . 14 | |||
| 7.1.2. Using the T Flag in the EARO . . . . . . . . . . . . 15 | 7.1.2. Using the T Flag in the EARO . . . . . . . . . . . . 15 | |||
| 7.2. Legacy 6LoWPAN Node . . . . . . . . . . . . . . . . . . . 15 | 7.2. Legacy 6LoWPAN Node . . . . . . . . . . . . . . . . . . . 15 | |||
| 7.3. Legacy 6LoWPAN Router . . . . . . . . . . . . . . . . . . 16 | 7.3. Legacy 6LoWPAN Router . . . . . . . . . . . . . . . . . . 16 | |||
| 7.4. Legacy 6LoWPAN Border Router . . . . . . . . . . . . . . 16 | 7.4. Legacy 6LoWPAN Border Router . . . . . . . . . . . . . . 16 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 | 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 20 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 20 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . 21 | 11.2. Informative References . . . . . . . . . . . . . . . . . 21 | |||
| 11.3. External Informative References . . . . . . . . . . . . 23 | 11.3. External Informative References . . . . . . . . . . . . 24 | |||
| Appendix A. Applicability and Requirements Served . . . . . . . 24 | Appendix A. Applicability and Requirements Served . . . . . . . 24 | |||
| Appendix B. Requirements . . . . . . . . . . . . . . . . . . . . 24 | Appendix B. Requirements . . . . . . . . . . . . . . . . . . . . 25 | |||
| B.1. Requirements Related to Mobility . . . . . . . . . . . . 25 | B.1. Requirements Related to Mobility . . . . . . . . . . . . 25 | |||
| B.2. Requirements Related to Routing Protocols . . . . . . . . 25 | B.2. Requirements Related to Routing Protocols . . . . . . . . 25 | |||
| B.3. Requirements Related to the Variety of Low-Power Link | B.3. Requirements Related to the Variety of Low-Power Link | |||
| types . . . . . . . . . . . . . . . . . . . . . . . . . . 26 | types . . . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| B.4. Requirements Related to Proxy Operations . . . . . . . . 27 | B.4. Requirements Related to Proxy Operations . . . . . . . . 27 | |||
| B.5. Requirements Related to Security . . . . . . . . . . . . 27 | B.5. Requirements Related to Security . . . . . . . . . . . . 27 | |||
| B.6. Requirements Related to Scalability . . . . . . . . . . . 28 | B.6. Requirements Related to Scalability . . . . . . . . . . . 29 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 1. Introduction | 1. Introduction | |||
| RFC 6775, the "Neighbor Discovery Optimization for IPv6 over Low- | RFC 6775, the "Neighbor Discovery Optimization for IPv6 over Low- | |||
| Power Wireless Personal Area Networks (6LoWPANs)" [RFC6775] | Power Wireless Personal Area Networks (6LoWPANs)" [RFC6775] | |||
| introduced a proactive registration mechanism to IPv6 Neighbor | introduced a proactive registration mechanism to IPv6 Neighbor | |||
| Discovery (ND) services that is well suited to nodes belonging to a | Discovery (ND) services that is well suited to nodes belonging to a | |||
| Low Power Lossy Network (LLN). | Low Power Lossy Network (LLN). | |||
| The scope of this draft is an IPv6 LLN, which can be a simple star or | The scope of this draft is an IPv6 LLN, which can be a simple star or | |||
| a more complex mesh topology. The LLN may be anchored at an IPv6 | a more complex mesh topology. The LLN may be anchored at an IPv6 | |||
| Backbone Router (6BBR) [I-D.ietf-6lo-backbone-router]. The 6BBRs | Backbone Router (6BBR) [I-D.ietf-6lo-backbone-router]. This | |||
| interconnect the LLNs over a Backbone Link and emulate that the LLN | specification modifies and extends the behavior and protocol elements | |||
| nodes are present on the Backbone using proxy-ND operations. | of RFC 6775 [RFC6775] to enable additional capabilities, in | |||
| This specification modifies and extends the behavior and protocol | ||||
| elements of RFC 6775 [RFC6775] to enable additional capabilities, in | ||||
| particular the registration to a 6BBR for proxy ND operations. | particular the registration to a 6BBR for proxy ND operations. | |||
| 2. Considerations On Registration Rejection | 2. Considerations On Registration Rejection | |||
| The purpose of the Address Registration Option (ARO) RFC 6775 | The purpose of the Address Registration Option (ARO) [RFC6775] and of | |||
| [RFC6775] and of the Extended ARO (EARO) that is introduced in this | the Extended ARO (EARO) that is introduced in this document is to | |||
| document is to facilitate duplicate address detection (DAD) for hosts | facilitate duplicate address detection (DAD) for hosts and pre- | |||
| and pre-populate Neighbor Cache Entries (NCE) [RFC4861] in the | populate Neighbor Cache Entries (NCE) [RFC4861] in the routers to | |||
| routers to reduce the need for sending multicast neighbor | reduce the need for sending multicast neighbor solicitations and also | |||
| solicitations and also to be able to support IPv6 Backbone Routers. | to be able to support IPv6 Backbone Routers. | |||
| In some cases the address registration can fail or be useless for | In some cases the address registration can fail or be useless for | |||
| reasons other than a duplicate address. Examples are the router | reasons other than a duplicate address. Examples are the router | |||
| having run out of space, a registration bearing a stale sequence | having run out of space, a registration bearing a stale sequence | |||
| number (e.g. denoting a movement of the host after this registration | number (e.g. denoting a movement of the host after this registration | |||
| was placed), a host misbehaving and attempting to register an invalid | was placed), a host misbehaving and attempting to register an invalid | |||
| address such as the unspecified address [RFC4291], or the host using | address such as the unspecified address [RFC4291], or the host using | |||
| an address which is not topologically correct on that link. In such | an address which is not topologically correct on that link. In such | |||
| cases the host will receive an error to help diagnose the issue and | cases the host will receive an error to help diagnose the issue and | |||
| may retry, possibly with a different address, and possibly | may retry, possibly with a different address, and possibly | |||
| skipping to change at page 4, line 40 ¶ | skipping to change at page 4, line 38 ¶ | |||
| "Terms Used in Routing for Low-Power and Lossy Networks" [RFC7102] | "Terms Used in Routing for Low-Power and Lossy Networks" [RFC7102] | |||
| and | and | |||
| the "6TiSCH Terminology" [I-D.ietf-6tisch-terminology], | the "6TiSCH Terminology" [I-D.ietf-6tisch-terminology], | |||
| as well as this additional terminology: | as well as this additional terminology: | |||
| Backbone This is an IPv6 transit link that interconnects 2 or more | Backbone This is an IPv6 transit link that interconnects 2 or more | |||
| Backbone Routers. It is expected to be deployed as a high | Backbone Routers. It is expected to be deployed as a high | |||
| speed backbone in order to federate a potentially large set of | speed Backbone in order to federate a potentially large set of | |||
| LLNS. Also referred to as a LLN backbone or Backbone network. | LLNS. Also referred to as a LLN Backbone or Backbone network. | |||
| Backbone Router An IPv6 router that federates the LLN using a | Backbone Router An IPv6 router that federates the LLN using a | |||
| Backbone link as a backbone. A 6BBR acts as a 6LoWPAN Border | Backbone link as a Backbone. A 6BBR acts as a 6LoWPAN Border | |||
| Routers (6LBR) and an Energy Aware Default Router (NEAR). | Routers (6LBR) and an Energy Aware Default Router (NEAR). | |||
| Extended LLN This is the aggregation of multiple LLNs as defined in | Extended LLN This is the aggregation of multiple LLNs as defined in | |||
| RFC 4919 [RFC4919], interconnected by a Backbone Link via | RFC 4919 [RFC4919], interconnected by a Backbone Link via | |||
| Backbone Routers, and forming a single IPv6 MultiLink Subnet. | Backbone Routers, and forming a single IPv6 MultiLink Subnet. | |||
| Registration The process during which a wireless Node registers its | Registration The process during which a wireless Node registers its | |||
| address(es) with the Border Router so the 6BBR can proxy ND for | address(es) with the Border Router so the 6BBR can proxy ND for | |||
| it over the backbone. | it over the Backbone. | |||
| Binding The state in the 6BBR that associates an IP address with a | Binding The state in the 6BBR that associates an IP address with a | |||
| MAC address, a port and some other information about the node | MAC address, a port and some other information about the node | |||
| that owns the IP address. | that owns the IP address. | |||
| Registered Node The node for which the registration is performed, | Registered Node The node for which the registration is performed, | |||
| which owns the fields in the EARO option. | 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, either for one of its own addresses, in which case it is | 6BBR, either for one of its own addresses, in which case it is | |||
| skipping to change at page 5, line 33 ¶ | skipping to change at page 5, line 29 ¶ | |||
| Address of the Registered Node as SLLA in the NS(EARO). | Address of the Registered Node as SLLA in the NS(EARO). | |||
| Otherwise, it is expected that the Registered Device is | Otherwise, it is expected that the Registered Device is | |||
| reachable over a Route-Over mesh from the Registering Node, in | reachable over a Route-Over mesh from the Registering Node, in | |||
| which case the SLLA in the NS(ARO) is that of the Registering | which case the SLLA in the NS(ARO) is that of the Registering | |||
| Node, which causes it to attract the packets from the 6BBR to | Node, which causes it to attract the packets from the 6BBR to | |||
| the Registered Node and route them over the LLN. | the Registered Node and route them over the LLN. | |||
| Registered Address The address owned by the Registered Node node | Registered Address The address owned by the Registered Node node | |||
| that is being registered. | that is being registered. | |||
| 4. Extending RFC 7400 | 4. Updating RFC 6775 | |||
| RFC 7400 [RFC7400] introduces the 6LoWPAN Capability Indication | ||||
| Option (6CIO) to indicate a node's capabilities to its peers. This | ||||
| specification extends the format defined in RFC 7400 to signal the | ||||
| support for EARO, as well as the capability to act as a 6LR, 6LBR and | ||||
| 6BBR. | ||||
| With RFC 7400 [RFC7400], the 6CIO is typically sent Router | ||||
| Solicitation (RS) messages. When used to signal the capabilities | ||||
| above per this specification, the 6CIO is typically present Router | ||||
| Advertisement (RA) messages but can also be present in RS, Neighbor | ||||
| Solicitation (NS) and Neighbor Advertisement (NA) messages. | ||||
| 5. Updating RFC 6775 | ||||
| This specification extends the Address Registration Option (ARO) | This specification extends the Address Registration Option (ARO) | |||
| defined in RFC 6775 [RFC6775]; in particular a "T" flag is added that | defined in RFC 6775 [RFC6775]; in particular a "T" flag is added that | |||
| must be set is NS messages when this specification is used, and | must be set is NS messages when this specification is used, and | |||
| echo'ed in NA messages to confirm that the protocol effectively | echo'ed in NA messages to confirm that the protocol effectively | |||
| supported. Support for this specification can thus be inferred from | supported. Support for this specification can thus be inferred from | |||
| the presence of the Extended ARO ("T" flag set) in ND messages. | the presence of the Extended ARO ("T" flag set) in ND messages. | |||
| In order to support various types of link layers, this specification | In order to support various types of link layers, this specification | |||
| also adds recommendation to allow multiple registrations, including | also adds recommendation to allow multiple registrations, including | |||
| for privacy / temporary addresses, and provides new mechanisms to | for privacy / temporary addresses, and provides new mechanisms to | |||
| help clean up stale registration states as soon as possible. | help clean up stale registration states as soon as possible. | |||
| A Registering Node that supports this specification will favor | A Registering Node that supports this specification will favor | |||
| registering to a 6LR that indicates support for this specification | registering to a 6LR that indicates support for this specification | |||
| over that of RFC 6775 [RFC6775]. | over that of RFC 6775 [RFC6775]. | |||
| 5.1. Extended Address Registration Option | 4.1. Extended Address Registration Option | |||
| This specification extends the ARO option that is used for the | This specification extends the ARO option that is used for the | |||
| process of address registration. The new ARO is referred to as | process of address registration. The new ARO is referred to as | |||
| Extended ARO (EARO), and its semantics are modified as follows: | Extended ARO (EARO), and its semantics are modified as follows: | |||
| The address that is being registered with a Neighbor Solicitation | The address that is being registered with a Neighbor Solicitation | |||
| (NS) with an EARO is now the Target Address, as opposed to the Source | (NS) with an EARO is now the Target Address, as opposed to the Source | |||
| Address as specified in RFC 6775 [RFC6775] (see Section 5.4 for | Address as specified in RFC 6775 [RFC6775] (see Section 4.4 for | |||
| more). This change enables a 6LBR to use an address of his as source | more). This change enables a 6LBR to use an address of his as source | |||
| to the proxy-registration of an address that belongs to a LLN Node to | to the proxy-registration of an address that belongs to a LLN Node to | |||
| a 6BBR. This also limits the use of an address as source address | a 6BBR. This also limits the use of an address as source address | |||
| before it is registered and the associated Duplicate Address | before it is registered and the associated Duplicate Address | |||
| Detection (DAD) is complete. | Detection (DAD) is complete. | |||
| The Unique ID in the EARO option does no more have to be a MAC | The Unique ID in the EARO option does no more have to be a MAC | |||
| address (see Section 5.3 for more). This enables in particular the | address (see Section 4.3 for more). This enables in particular the | |||
| use of a Provable Temporary UID (PT-UID) as opposed to burn-in MAC | use of a Provable Temporary UID (PT-UID) as opposed to burn-in MAC | |||
| address, the PT-UID providing a trusted anchor by the 6LR and 6LBR to | address, the PT-UID providing a trusted anchor by the 6LR and 6LBR to | |||
| protect the state associated to the node. | protect the state associated to the node. | |||
| The specification introduces a Transaction ID (TID) field in the EARO | The specification introduces a Transaction ID (TID) field in the EARO | |||
| (see Section 5.2 for more on TID). The TID MUST be provided by a | (see Section 4.2 for more on TID). The TID MUST be provided by a | |||
| node that supports this specification and a new T flag MUST be set to | node that supports this specification and a new T flag MUST be set to | |||
| indicate so. The T bit can be used to determine whether the peer | indicate so. The T bit can be used to determine whether the peer | |||
| supports this specification. | supports this specification. | |||
| Finally, this specification introduces a number of new Status codes | Finally, this specification introduces a number of new Status codes | |||
| to help diagnose the cause of a registration failure (more in | to help diagnose the cause of a registration failure (more in | |||
| Table 1). | Table 1). | |||
| 5.2. Transaction ID | 4.2. Transaction ID | |||
| The specification expects that the Registered Node can provide a | The specification expects that the Registered Node can provide a | |||
| sequence number called Transaction ID (TID) that is incremented with | sequence number called Transaction ID (TID) that is incremented with | |||
| each re-registration. The TID essentially obeys the same rules as | each re-registration. The TID essentially obeys the same rules as | |||
| the Path Sequence field in the Transit Information Option (TIO) found | the Path Sequence field in the Transit Information Option (TIO) found | |||
| in the RPL Destination Advertisement Object (DAO) [RFC6550]. This | in the RPL Destination Advertisement Object (DAO) [RFC6550]. This | |||
| way, the LLN node can use the same counter for ND and RPL, and a 6LBR | way, the LLN node can use the same counter for ND and RPL, and a 6LBR | |||
| acting as RPL root may easily maintain the registration on behalf of | acting as RPL root may easily maintain the registration on behalf of | |||
| a RPL node deep inside the mesh by simply using the RPL TIO Path | a RPL node deep inside the mesh by simply using the RPL TIO Path | |||
| Sequence as TID for EARO. | Sequence as TID for EARO. | |||
| skipping to change at page 7, line 25 ¶ | skipping to change at page 7, line 7 ¶ | |||
| If the TIDs are different, a conflict resolution inherited from RPL | If the TIDs are different, a conflict resolution inherited from RPL | |||
| sorts out the most recent registration and other ones are removed. | sorts out the most recent registration and other ones are removed. | |||
| The operation for computing and comparing the Path Sequence is | The operation for computing and comparing the Path Sequence is | |||
| detailed in section 7 of RFC 6550 [RFC6550] and applies to the TID in | detailed in section 7 of RFC 6550 [RFC6550] and applies to the TID in | |||
| the exact same fashion. The resolution is used to determine the | the exact same fashion. The resolution is used to determine the | |||
| freshest registration for a particular address, and an EARO is | freshest registration for a particular address, and an EARO is | |||
| processed only if it is the freshest, otherwise a Status code 3 | processed only if it is the freshest, otherwise a Status code 3 | |||
| "Moved" is returned. | "Moved" is returned. | |||
| 5.3. Owner Unique ID | 4.3. Owner Unique ID | |||
| The Owner Unique ID (OUID) enables to differentiate a real duplicate | The Owner Unique ID (OUID) enables to differentiate a real duplicate | |||
| address registration from a double registration or a movement. An ND | address registration 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 and if they relate to a same target then | represent different nodes and if they relate to a same target then | |||
| they reflect an address duplication. The Owner Unique ID can be as | they reflect an address duplication. The Owner Unique ID can be as | |||
| simple as a EUI-64 burn-in address, if duplicate EUI-64 addresses are | simple as a EUI-64 burn-in address, if duplicate EUI-64 addresses are | |||
| avoided. | avoided. | |||
| Alternatively, the unique ID can be a cryptographic string that can | Alternatively, the unique ID can be a cryptographic string that can | |||
| can be used to prove the ownership of the registration as discussed | can be used to prove the ownership of the registration as discussed | |||
| in "Address Protected Neighbor Discovery for Low-power and Lossy | in "Address Protected Neighbor Discovery for Low-power and Lossy | |||
| Networks" [I-D.ietf-6lo-ap-nd]. | Networks" [I-D.ietf-6lo-ap-nd]. | |||
| In any fashion, it is recommended that the node stores the unique Id | In any fashion, it is recommended that the node stores the unique Id | |||
| or the keys used to generate that ID in persistent memory. | or the keys used to generate that ID in persistent memory. | |||
| Otherwise, it will be prevented to re-register after a reboot that | Otherwise, it will be prevented to re-register after a reboot that | |||
| would cause a loss of memory until the Backbone Router times out the | would cause a loss of memory until the Backbone Router times out the | |||
| registration. | registration. | |||
| 5.4. Registering the Target Address | 4.4. Registering the Target Address | |||
| This specification changes the behavior of the 6LN and the 6LR so | This specification changes the behavior of the 6LN and the 6LR so | |||
| that the Registered Address is found in the Target Address field of | that the Registered Address is found in the Target Address field of | |||
| the NS and NA messages as opposed to the Source Address. | the NS and NA messages as opposed to the Source Address. | |||
| The reason for this change is to enable proxy-registrations on behalf | The reason for this change is to enable proxy-registrations on behalf | |||
| of other nodes in Route-Over meshes, for instance to enable that a | of other nodes in Route-Over meshes, for instance to enable that a | |||
| RPL root registers addresses on behalf LLN nodes that are deeper in a | RPL root registers addresses on behalf LLN nodes that are deeper in a | |||
| 6TiSCH mesh, as discussed in Appendix B.4. In that case, the | 6TiSCH mesh, as discussed in Appendix B.4. In that case, the | |||
| Registering Node MUST indicate its own address as source of the ND | Registering Node MUST indicate its own address as source of the ND | |||
| skipping to change at page 8, line 33 ¶ | skipping to change at page 8, line 11 ¶ | |||
| of the 6LN that owns the address, whereas the SLLA Option in a NS | 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 | message indicates that of the Registering Node, which can be the | |||
| owner device, or a proxy. | owner device, or a proxy. | |||
| Since the Registering Node is the one that has reachability with the | Since the Registering Node is the one that has reachability with the | |||
| 6LR, and is the one expecting packets for the 6LN, it makes sense to | 6LR, and is the one expecting packets for the 6LN, it makes sense to | |||
| maintain compatibility with RFC 6775 [RFC6775], and it is REQUIRED | maintain compatibility with RFC 6775 [RFC6775], and it is REQUIRED | |||
| that an SLLA Option is always placed in a registration NS(EARO) | that an SLLA Option is always placed in a registration NS(EARO) | |||
| message. | message. | |||
| 5.5. Link-Local Addresses and Registration | 4.5. 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 [RFC6775], this specification only requires that | Compared to RFC 6775 [RFC6775], this specification only requires that | |||
| a Link-Local address is unique from the perspective of the peering | a Link-Local address is unique from the perspective of the peering | |||
| nodes. This simplifies the Duplicate Address Detection (DAD) for | nodes. This simplifies the Duplicate Address Detection (DAD) for | |||
| Link-Local addresses, and there is no DAR/DAC exchange between the | Link-Local addresses, and there is no DAR/DAC exchange between the | |||
| 6LR and a 6LBR for Link-Local addresses. | 6LR and a 6LBR for Link-Local addresses. | |||
| skipping to change at page 9, line 38 ¶ | skipping to change at page 9, line 16 ¶ | |||
| to the Source Address of an NS(EARO) message. For that reason, when | to the Source Address of an NS(EARO) message. For that reason, when | |||
| possible, it is RECOMMENDED to use an address that is already | possible, it is RECOMMENDED to use an address that is already | |||
| registered with a 6LR | registered with a 6LR | |||
| 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 burn-in MAC address. An EARO | |||
| option in the response NA indicates that the 6LR supports this | option in the response NA indicates that the 6LR supports this | |||
| specification. | specification. | |||
| Since there is no DAR/DAC exchange for Link-Local addresses, the 6LR | Since there is no DAR/DAC exchange for Link-Local addresses, the 6LR | |||
| may answer immediately to the registration of a Link-Local address, | may answer immediately to the registration of a Link-Local address, | |||
| based solely on its existing state and the Source Link-Layer Option | based solely on its existing state and the Source Link-Layer Option | |||
| skipping to change at page 10, line 13 ¶ | skipping to change at page 9, line 38 ¶ | |||
| [RFC6775]. | [RFC6775]. | |||
| A node needs to register its IPv6 Global Unicast IPv6 Addresses (GUA) | A node needs to register its IPv6 Global Unicast IPv6 Addresses (GUA) | |||
| to a 6LR in order to obtain a global reachability for these addresses | to a 6LR in order to obtain a global reachability for these addresses | |||
| via that 6LR. As opposed to a node that complies to RFC 6775 | via that 6LR. As opposed to a node that complies to RFC 6775 | |||
| [RFC6775], a Registering Node registering a GUA does not use that GUA | [RFC6775], a Registering Node registering a GUA does not use that GUA | |||
| as Source Address for the registration to a 6LR that conforms this | as Source Address for the registration to a 6LR that conforms this | |||
| specification. The DAR/DAC exchange MUST take place for non-Link- | specification. The DAR/DAC exchange MUST take place for non-Link- | |||
| Local addresses as prescribed by RFC 6775 [RFC6775]. | Local addresses as prescribed by RFC 6775 [RFC6775]. | |||
| 5.6. Maintaining the Registration States | 4.6. 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 5.5, is not the case for Link- | to it, which, as discussed in Section 4.5, 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. Conversely the registry in the 6LBR may be | register to another 6LR. Conversely the registry in the 6LBR may be | |||
| saturated, in which case the 6LBR cannot guarantee that a new address | saturated, in which case the 6LBR cannot guarantee that a new address | |||
| is effectively not a duplicate. In that case, the 6LBR replies to a | is effectively not a duplicate. In that case, the 6LBR replies to a | |||
| DAR message with a DAC message that carries a Status code 9 | DAR message with a DAC message that carries a Status code 9 | |||
| indicating "6LBR Registry saturated", and the address stays in | indicating "6LBR Registry saturated", and the address stays in | |||
| TENTATIVE state. | TENTATIVE state. | |||
| A node renews an existing registration by repeatedly sending NS(EARO) | A node renews an existing registration by repeatedly sending NS(EARO) | |||
| messages for the registered address. In order to refresh the | messages for the Registered Address. In order to refresh the | |||
| registration state in the 6LBR, these registrations MUST be reported | registration state in the 6LBR, these registrations MUST be reported | |||
| to the 6LBR. This is normally done through a DAR/DAC exchange, but | to the 6LBR. This is normally done through a DAR/DAC exchange, but | |||
| the refresh MAY alternatively be piggy-backed in another protocol | the refresh MAY alternatively be piggy-backed in another protocol | |||
| such as RPL [RFC6550], as long as the semantics of the EARO are fully | such as RPL [RFC6550], as long as the semantics of the EARO are fully | |||
| carried in the alternate protocol. In the particular case of RPL, | carried in the alternate protocol. In the particular case of RPL, | |||
| the TID MUST be used as the Path Sequence in the TIO, and the | the TID MUST be used as the Path Sequence in the TIO, and the | |||
| Registration Lifetime MUST be used as Path Lifetime. It is also | Registration Lifetime MUST be used as Path Lifetime. It is also | |||
| REQUIRED that the root of the RPL DODAG passes that information to | REQUIRED that the root of the RPL DODAG passes that information to | |||
| the 6LBR on behalf of the 6LR, either through a DAR/DAC exchange, or | the 6LBR on behalf of the 6LR, either through a DAR/DAC exchange, or | |||
| through internal methods if they are collocated. | through internal methods if they are collocated. | |||
| skipping to change at page 11, line 10 ¶ | skipping to change at page 10, line 35 ¶ | |||
| 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. | deregister all of its addresses registered to that 6LR. | |||
| 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 5.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 DAR/DAC | to the 6LBR, then the 6LR MUST report to the 6LBR, through a DAR/DAC | |||
| exchange with the 6LBR, or an alternate protocol, indicating the null | exchange with the 6LBR, or an alternate protocol, indicating the null | |||
| Registration Lifetime and the latest TID that this 6LR is aware of. | Registration Lifetime and the latest TID that this 6LR is aware of. | |||
| Upon the DAR message, the 6LBR evaluates if this is the freshest EARO | Upon the DAR message, the 6LBR evaluates if this is the freshest EARO | |||
| it has received for that particular registry entry. If it is, then | it has received for that particular registry entry. If it is, then | |||
| the entry is scheduled to be removed, and the DAR is answered with a | the entry is scheduled to be removed, and the DAR is answered with a | |||
| DAC message bearing a Status of 0 "Success". If it is not the | DAC message bearing a Status of 0 "Success". If it is not the | |||
| freshest, then a Status 2 "Moved" is returned instead, and the | freshest, then a Status 2 "Moved" is returned instead, and the | |||
| existing entry is conserved. The 6LBR SHOULD conserve the address in | existing entry is conserved. The 6LBR SHOULD conserve the address in | |||
| a DELAY state for a configurable period of time, so as to protect a | a DELAY state for a configurable period of time, so as to protect a | |||
| mobile node that deregistered from one 6LR and did not register yet | mobile node that deregistered from one 6LR and did not register yet | |||
| to a new one. | to a new one. | |||
| 6. Updated ND Options | 5. Extending RFC 7400 | |||
| This specification does not introduce new options, but it modifies | ||||
| existing ones and updates the associated behaviors as follow: | ||||
| 6.1. New 6LoWPAN capability Bits in the Capability Indication Option | ||||
| This specification defines a number of capability bits in the CIO | ||||
| that was introduced by RFC 7400 [RFC7400]. | ||||
| Support for this specification is indicated by setting the "E" flag | ||||
| in a CIO option. Routers that are capable of acting as 6LR, 6LBR and | ||||
| 6BBR SHOULD set the L, B and P flags, respectively. | ||||
| Those flags are not mutually exclusive and if a router is capable of | ||||
| multiple roles, it SHOULD set all the related flags. | ||||
| 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Type | Length = 1 |_____________________|L|B|P|E|G| | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |_______________________________________________________________| | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 1: New capability Bits L, B, P, E in the CIO | ||||
| Option Fields | ||||
| Type: 36 | ||||
| L: Node is a 6LR, it can take registrations. | RFC 7400 [RFC7400] introduces the 6LoWPAN Capability Indication | |||
| Option (6CIO) to indicate a node's capabilities to its peers. This | ||||
| specification extends the format defined in RFC 7400 to signal the | ||||
| support for EARO, as well as the capability to act as a 6LR, 6LBR and | ||||
| 6BBR. | ||||
| B: Node is a 6LBR. | With RFC 7400 [RFC7400], the 6CIO is typically sent Router | |||
| Solicitation (RS) messages. When used to signal the capabilities | ||||
| above per this specification, the 6CIO is typically present Router | ||||
| Advertisement (RA) messages but can also be present in RS, Neighbor | ||||
| Solicitation (NS) and Neighbor Advertisement (NA) messages. | ||||
| P: Node is a 6BBR, proxying for nodes on this link. | 6. Updated ND Options | |||
| E: This specification is supported and applied. | This specification does not introduce new options, but it modifies | |||
| existing ones and updates the associated behaviors as follow: | ||||
| 6.2. The Enhanced Address Registration Option (EARO) | 6.1. The Enhanced Address Registration Option (EARO) | |||
| The Enhanced Address Registration Option (EARO) is intended to be | The Enhanced Address Registration Option (EARO) is intended to be | |||
| used as a replacement to the ARO option within Neighbor Discovery NS | used as a replacement to the ARO option within Neighbor Discovery NS | |||
| and NA messages between a LLN node and its 6LoWPAN Router (6LR), as | and NA messages between a LLN node and its 6LoWPAN Router (6LR), as | |||
| well as in Duplicate Address Request (DAR) and the Duplicate Address | well as in Duplicate Address Request (DAR) and the Duplicate Address | |||
| Confirmation (DAC) messages between 6LRs and 6LBRs in LLNs meshes | Confirmation (DAC) messages between 6LRs and 6LBRs in LLNs meshes | |||
| such as 6TiSCH networks. | such as 6TiSCH 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 AERO option also used in NS and NA | also carries an SLLAO option. The AERO 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, and in that case, it does not | the distributed registration state, and in that case, it does not | |||
| carry the SLLAO option and is not confused with a registration. | carry the SLLAO option and is not confused with a registration. | |||
| The EARO extends the ARO and is recognized by the "T" flag set. | The EARO extends the ARO and is recognized by the "T" flag set. | |||
| 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. This differs | |||
| from 6LoWPAN ND RFC 6775 [RFC6775] which specifies that the address | from 6LoWPAN ND RFC 6775 [RFC6775] which specifies that the address | |||
| being registered is the source of the NS. | being registered is the source of the NS. | |||
| skipping to change at page 12, line 50 ¶ | skipping to change at page 12, line 17 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length = 2 | Status | Reserved | | | Type | Length = 2 | Status | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved |T| TID | Registration Lifetime | | | Reserved |T| TID | Registration Lifetime | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| + Owner Unique ID (EUI-64 or equivalent) + | + Owner Unique ID (EUI-64 or equivalent) + | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: EARO | Figure 1: EARO | |||
| Option Fields | Option Fields | |||
| Type: 33 | Type: 33 | |||
| Length: 8-bit unsigned integer. | Length: 8-bit unsigned integer. | |||
| 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 NS messages. | registration in the NA response. MUST be set to 0 in NS messages. | |||
| See Table 1 below. | See Table 1 below. | |||
| skipping to change at page 13, line 38 ¶ | skipping to change at page 12, line 52 ¶ | |||
| 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 of an | node associated. This can be the EUI-64 derived IID of an | |||
| interface, or some provable ID obtained cryptographically. | interface, or some provable ID obtained cryptographically. | |||
| +-------+-----------------------------------------------------------+ | +-------+-----------------------------------------------------------+ | |||
| | Value | Description | | | Value | Description | | |||
| +-------+-----------------------------------------------------------+ | +-------+-----------------------------------------------------------+ | |||
| | 0..2 | See RFC 6775 [RFC6775]. Note that a Status of 1 | | | 0..2 | See RFC 6775 [RFC6775]. Note that a Status of 1 | | |||
| | | "Duplicate Address" applies to the Registered Address. If | | | | "Duplicate Address" applies to the Registered Address. If | | |||
| | | the Source Address conflicts with an existing | | | | the Source Address conflicts with an existing | | |||
| | | registration, "Duplicate Source Address" should be used | | | | registration, "Duplicate Source Address" should be used. | | |||
| | | instead | | ||||
| | | | | | | | | |||
| | 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 | | |||
| | | placed in an asynchronous NS(ARO) message, or as the | | | | placed in an asynchronous NS(ARO) message, or as the | | |||
| | | rejection of a proxy registration to a Backbone Router | | | | rejection of a proxy registration to a Backbone Router | | |||
| | | | | | | | | |||
| | 5 | Proof requested: The registering node is challenged for | | | 5 | Proof requested: The Registering Node is challenged for | | |||
| | | owning the registered address or for being an acceptable | | | | owning the Registered Address or for being an acceptable | | |||
| | | proxy for the registration. This Status is expected in | | | | proxy for the registration. This Status is expected in | | |||
| | | asynchronous messages from a registrar (6LR, 6LBR, 6BBR) | | | | asynchronous messages from a registrar (6LR, 6LBR, 6BBR) | | |||
| | | to indicate that the registration state is removed, for | | | | to indicate that the registration state is removed, for | | |||
| | | instance due to time out of a lifetime, or a movement. It | | | | instance due to time out of a lifetime, or a movement. | | |||
| | | is used for instance by a 6BBR in a NA(ARO) message to | | | | The receiver of the NA is the device that has performed a | | |||
| | | indicate that the ownership of the proxy state on the | | | | registration that is now stale and it should clean up its | | |||
| | | backbone was transferred to another 6BBR, which is | | | | state. | | |||
| | | indicative of a movement of the device. The receiver of | | ||||
| | | the NA is the device that has performed a registration | | ||||
| | | that is now stale and it should clean up its state. | | ||||
| | | | | | | | | |||
| | 6 | Duplicate Source Address: The address used as source of | | | 6 | Duplicate Source Address: The address used as source of | | |||
| | | the NS(ARO) conflicts with an existing registration. | | | | the NS(ARO) conflicts with an existing registration. | | |||
| | | | | | | | | |||
| | 7 | Invalid Source Address: The address used as source of the | | | 7 | Invalid Source Address: The address used as source of the | | |||
| | | NS(ARO) is not a Link-Local address as prescribed by this | | | | NS(ARO) is not a Link-Local address as prescribed by this | | |||
| | | document. | | | | document. | | |||
| | | | | | | | | |||
| | 8 | Registered Address topologically incorrect: The address | | | 8 | Registered Address topologically incorrect: The address | | |||
| | | being registered is not usable on this link, e.g. it is | | | | being registered is not usable on this link, e.g. it is | | |||
| | | not topologically correct | | | | not topologically correct | | |||
| | | | | | | | | |||
| | 9 | 6LBR Registry saturated: A new registration cannot be | | | 9 | 6LBR Registry saturated: A new registration cannot be | | |||
| | | accepted because the 6LBR Registry is saturated. This | | | | accepted because the 6LBR Registry is saturated. This | | |||
| | | code is used by 6LBRs instead of Status 2 when responding | | | | code is used by 6LBRs instead of Status 2 when responding | | |||
| | | to a DAR/DAC exchange and passed on to the registering | | | | to a DAR/DAC exchange and passed on to the Registering | | |||
| | | node by the 6LR. There is no point for the node to retry | | | | Node by the 6LR. There is no point for the node to retry | | |||
| | | this registration immediately via another 6LR, since the | | | | this registration immediately via another 6LR, since the | | |||
| | | problem is global to the network. The node may either | | | | problem is global to the network. The node may either | | |||
| | | abandon that address, deregister other addresses first to | | | | abandon that address, deregister other addresses first to | | |||
| | | make room, or keep the address in TENTATIVE state and | | | | make room, or keep the address in TENTATIVE state and | | |||
| | | retry later. | | | | retry later. | | |||
| +-------+-----------------------------------------------------------+ | +-------+-----------------------------------------------------------+ | |||
| Table 1: EARO Status | Table 1: EARO Status | |||
| 6.2. New 6LoWPAN capability Bits in the Capability Indication Option | ||||
| This specification defines a number of capability bits in the CIO | ||||
| that was introduced by RFC 7400 [RFC7400]. | ||||
| Support for this specification is indicated by setting the "E" flag | ||||
| in a CIO option. Routers that are capable of acting as 6LR, 6LBR and | ||||
| 6BBR SHOULD set the L, B and P flags, respectively. | ||||
| Those flags are not mutually exclusive and if a router is capable of | ||||
| multiple roles, it SHOULD set all the related flags. | ||||
| 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Type | Length = 1 |_____________________|L|B|P|E|G| | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |_______________________________________________________________| | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 2: New capability Bits L, B, P, E in the CIO | ||||
| Option Fields | ||||
| Type: 36 | ||||
| L: Node is a 6LR, it can take registrations. | ||||
| B: Node is a 6LBR. | ||||
| P: Node is a 6BBR, proxying for nodes on this link. | ||||
| 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 CIO | 7.1.1. Using the E Flag in the CIO | |||
| If the CIO is used in an ND message, then the "E" Flag MUST be set by | If the CIO is used in an ND message, then the "E" Flag MUST be set by | |||
| the sending node if supports this specification. | the sending node if supports this specification. | |||
| It is RECOMMENDED that a router that supports this specification | It is RECOMMENDED that a router that supports this specification | |||
| indicates so with a CIO option, but this might not be practical if | indicates so with a CIO option, but this might not be practical if | |||
| the link-layer MTU is too small. | the link-layer MTU is too small. | |||
| If the registering node receives a CIO in a RA, then the setting of | If the Registering Node receives a CIO in a RA, then the setting of | |||
| the E" Flag indicates whether or not this specification is supported. | the E" Flag indicates whether or not this specification is supported. | |||
| 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 amenable with existing ND | SLLAO option in the NS is actually more amenable with existing ND | |||
| skipping to change at page 15, line 39 ¶ | skipping to change at page 15, line 35 ¶ | |||
| 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 RFC 6775 | |||
| [RFC6775] are ignored by a legacy router. A router that supports | [RFC6775] are ignored by a legacy router. A router that supports | |||
| this specification answers to an ARO with an ARO and to an EARO with | this specification answers to an ARO with an ARO and to an EARO with | |||
| an EARO. | an 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 node that | registration flows. To enable backward compatibility, a node that | |||
| registers to a router that is not known to support this specification | registers to a router that is not known to support this specification | |||
| MUST behave as prescribed by RFC 6775 [RFC6775]. Once the router is | MUST behave as prescribed by RFC 6775. Once the router is known to | |||
| known to support this specification, the node MUST obey this | support this specification, the node MUST obey this specification. | |||
| 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. In order to be backward compatible, an updated | use an EARO option. In order to be backward compatible, an updated | |||
| 6LR needs to accept that registration if it is valid per the | 6LR needs to accept that registration if it is valid per the RFC 6775 | |||
| "Cryptographically Generated Addresses (CGA)" [RFC3972] | [RFC6775] specification, and manage the binding cache accordingly. | |||
| specification, and manage the binding cache accordingly. | ||||
| The main difference with RFC 3972 [RFC3972] is that DAR/DAC exchange | The main difference with RFC 6775 is that DAR/DAC exchange for DAD | |||
| for DAD may be avoided for Link-Local addresses. Additionally, the | may be avoided for Link-Local addresses. Additionally, the 6LR | |||
| 6LR SHOULD use an EARO in the reply, and may use any of the Status | SHOULD use an EARO in the reply, and may use any of the Status codes | |||
| codes defined in this specification. | defined in this specification. | |||
| 7.3. Legacy 6LoWPAN Router | 7.3. Legacy 6LoWPAN Router | |||
| The first registration by a an updated 6LN is for a Link-Local | The first registration by a an updated 6LN is for a Link-Local | |||
| address, using that Link-Local address as source. A legacy 6LN will | address, using that Link-Local address as source. A legacy 6LN will | |||
| not makes a difference and accept -or reject- that registration as if | not makes a difference and accept -or reject- that registration as if | |||
| the 6LN was a legacy node. | the 6LN was a 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 6LN will always areply with an ARO option | message, whereas a legacy 6LN will always areply with an ARO option | |||
| in the NA message. So from that first registration, the updated 6LN | in the NA message. So from that first registration, the updated 6LN | |||
| can figure whether the 6LR supports this specification or not. | can figure whether the 6LR supports this specification or not. | |||
| When facing a legacy 6LR, an updated 6LN may attempt to find an | When facing 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. In order to be backward compatible, | |||
| based on the discovery that a 6LR is legacy, the 6LN needs to | based on the discovery that a 6LR is legacy, the 6LN needs to | |||
| fallback to legacy behavior and source the packet with the registered | fallback to legacy behavior and source the packet with the Registered | |||
| address. | Address. | |||
| The main difference is that the updated 6LN SHOULD use an EARO in the | The main difference is that the updated 6LN SHOULD use an EARO in the | |||
| request regardless of the type of 6LN, legacy or updated | request regardless of the type of 6LN, legacy or updated | |||
| 7.4. Legacy 6LoWPAN Border Router | 7.4. Legacy 6LoWPAN Border Router | |||
| With this specification, the DAR/DAC transports an EARO option as | With this specification, the DAR/DAC transports an EARO option as | |||
| opposed to an ARO option. As described for the NS/NA exchange, | opposed to an ARO option. As described for the NS/NA exchange, | |||
| devices that support this specification always use an EARO option and | devices that support this specification always use an EARO option and | |||
| all the associated behavior. | all the associated behavior. | |||
| skipping to change at page 16, line 50 ¶ | skipping to change at page 16, line 48 ¶ | |||
| prevent a rogue access, either by means of physical or IP security on | prevent a rogue access, either by means of physical or IP security on | |||
| the Backbone Link and link layer cryptography on the LLN. This | the Backbone Link and link layer cryptography on the LLN. This | |||
| specification also expects that the LLN MAC provides secure unicast | specification also expects that the LLN MAC provides secure unicast | |||
| to/from the Backbone Router and secure Broadcast from the Backbone | to/from the Backbone Router and secure Broadcast from the Backbone | |||
| Router in a way that prevents tempering with or replaying the RA | Router in a way that prevents tempering with or replaying the RA | |||
| messages. | messages. | |||
| This specification does not mandate any particular way for forming | This specification does not mandate any particular way for forming | |||
| IPv6 addresses, but it recognizes that use of EUI-64 for forming the | IPv6 addresses, but it recognizes that use of EUI-64 for forming the | |||
| Interface ID in the Link-Local address prevents the usage of "SEcure | Interface ID in the Link-Local address prevents the usage of "SEcure | |||
| Neighbor Discovery (SEND)" [RFC3971] and CGA [RFC3972], and that of | Neighbor Discovery (SEND)" [RFC3971] and "Cryptographically Generated | |||
| address privacy techniques. This specification RECOMMENDS the use of | Addresses (CGA)" [RFC3972], and that of address privacy techniques, | |||
| additional protection against address theft such as provided by | such as recommended in "Privacy Considerations for IPv6 Adaptation- | |||
| "Address Protected Neighbor Discovery for Low-power and Lossy | Layer Mechanisms" [RFC8065]. This specification RECOMMENDS the use | |||
| Networks" [I-D.ietf-6lo-ap-nd], which guarantees the ownership of the | of privacy techniques, and that of additional protection against | |||
| OUID. | address theft such as provided by "Address Protected Neighbor | |||
| Discovery for Low-power and Lossy Networks" [I-D.ietf-6lo-ap-nd], | ||||
| which guarantees the ownership of the Registered Address using a | ||||
| cryptographic OUID. | ||||
| As indicated in section Section 2, this protocol does not aim at | As indicated in section Section 2, this protocol does not aim at | |||
| limiting the number of IPv6 addresses that a device can form, either. | limiting the number of IPv6 addresses that a device can form, either. | |||
| A host should be able to register any address that is topologically | A host should be able to register any address that is topologically | |||
| correct in the subnet(s) advertised by the 6LR/6LBR. | correct in the subnet(s) advertised by the 6LR/6LBR. | |||
| On the other hand, the registration mechanism may be used by a rogue | On the other hand, the registration mechanism may be used by a rogue | |||
| node to attack the 6LR or the 6LBR with a Denial-of-Service attack | node to attack the 6LR or the 6LBR with a Denial-of-Service attack | |||
| against the registry. It may also happen that the registry of a 6LR | against the registry. It may also happen that the registry of a 6LR | |||
| or a 6LBR is saturated and cannot take any more registration, which | or a 6LBR is saturated and cannot take any more registration, which | |||
| effectively denies the requesting a node the capability to use a new | effectively denies the requesting a node the capability to use a new | |||
| address. In order to alleviate those concerns, Section 5.6 provides | address. In order to alleviate those concerns, Section 4.6 provides | |||
| a number of recommendations that ensure that a stale registration is | a number of recommendations that ensure that a stale registration is | |||
| removed as soon as possible from the 6LR and 6LBR. In particular, | removed as soon as possible from the 6LR and 6LBR. In particular, | |||
| this specification recommends that: | this 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. The | |||
| flow is propagated to the 6LBR when needed, and a sequence number | flow is propagated to the 6LBR when needed, and a sequence number | |||
| is used to make sure that only the freshest command is acted upon. | is used to make sure that only the freshest command is acted upon. | |||
| o The nodes should be configured with a Registration Lifetime that | o The nodes should be configured with a Registration Lifetime that | |||
| skipping to change at page 18, line 4 ¶ | skipping to change at page 18, line 4 ¶ | |||
| addresses if such can be recognized, e.g. from the way the IID is | addresses if such can be recognized, e.g. from the way the IID is | |||
| formed or because they are used over a much longer time span than | formed or because they are used over a much longer time span than | |||
| other (privacy, shorter-lived) addresses. | other (privacy, shorter-lived) addresses. | |||
| o Administrators should take great care to deploy adequate numbers | o Administrators should take great care to deploy adequate numbers | |||
| of 6LR to cover the needs of the nodes in their range, so as to | of 6LR to cover the needs of the nodes in their range, so as to | |||
| avoid a situation of starving nodes. It is expected that the 6LBR | avoid a situation of starving nodes. It is expected that the 6LBR | |||
| that serves a LLN is a more capable node then the average 6LR, but | that serves a LLN is a more capable node then the average 6LR, but | |||
| in a network condition where it may become saturated, a particular | in a network condition where it may become saturated, a particular | |||
| deployment should distribute the 6LBR functionality, for instance | deployment should distribute the 6LBR functionality, for instance | |||
| by leveraging a high speed backbone and Backbone Routers to | by leveraging a high speed Backbone and Backbone Routers to | |||
| aggregate multiple LLNs into a larger subnet. | aggregate multiple LLNs into a larger subnet. | |||
| When the ownership of the OUID cannot be assessed, this specification | When the ownership of the OUID cannot be assessed, this specification | |||
| limits the cases where the OUID and the TID are multicasted, and | limits the cases where the OUID and the TID are multicasted, and | |||
| obfuscates them in responses to attempts to take over an address. | obfuscates them in responses to attempts to take over an address. | |||
| 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. | |||
| 9. IANA Considerations | 9. IANA Considerations | |||
| IANA is requested to create a new subregistry for "ARO Flags" under | IANA is requested to create a new subregistry for "ARO Flags" under | |||
| the "Internet Control Message Protocol version 6 (ICMPv6) | the "Internet Control Message Protocol version 6 (ICMPv6) | |||
| Parameters". This specification defines 8 positions, bit 0 to bit 7, | Parameters". This specification defines 8 positions, bit 0 to bit 7, | |||
| and assigns bit 7 for the "T" flag in Section 6.2. The policy is | and assigns bit 7 for the "T" flag in Section 6.1. The policy is | |||
| "IETF Review" or "IESG Approval" [RFC5226]. The initial content of | "IETF Review" or "IESG Approval" [RFC5226]. The initial content of | |||
| the registry is as shown in Table 2. | the registry is as 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) Parameters" | Protocol version 6 (ICMPv6) Parameters" | |||
| +------------+--------------+-----------+ | +------------+--------------+-----------+ | |||
| | ARO Status | Description | Document | | | ARO Status | Description | Document | | |||
| +------------+--------------+-----------+ | +------------+--------------+-----------+ | |||
| | 0..6 | Unassigned | | | | 0..6 | Unassigned | | | |||
| skipping to change at page 20, line 9 ¶ | skipping to change at page 20, line 9 ¶ | |||
| 10. Acknowledgments | 10. Acknowledgments | |||
| Kudos to Eric Levy-Abegnoli who designed the First Hop Security | Kudos to Eric Levy-Abegnoli who designed the First Hop Security | |||
| infrastructure at Cisco. | infrastructure at Cisco. | |||
| 11. References | 11. References | |||
| 11.1. Normative References | 11.1. Normative References | |||
| [I-D.ietf-6lo-backbone-router] | ||||
| Thubert, P., "IPv6 Backbone Router", draft-ietf-6lo- | ||||
| backbone-router-03 (work in progress), January 2017. | ||||
| [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, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing | [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing | |||
| Architecture", RFC 4291, DOI 10.17487/RFC4291, February | Architecture", RFC 4291, DOI 10.17487/RFC4291, February | |||
| 2006, <http://www.rfc-editor.org/info/rfc4291>. | 2006, <http://www.rfc-editor.org/info/rfc4291>. | |||
| [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, | [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, | |||
| skipping to change at page 21, line 18 ¶ | skipping to change at page 21, line 18 ¶ | |||
| Chakrabarti, S., Nordmark, E., Thubert, P., and M. | Chakrabarti, S., Nordmark, E., Thubert, P., and M. | |||
| Wasserman, "IPv6 Neighbor Discovery Optimizations for | Wasserman, "IPv6 Neighbor Discovery Optimizations for | |||
| Wired and Wireless Networks", draft-chakrabarti-nordmark- | Wired and Wireless Networks", draft-chakrabarti-nordmark- | |||
| 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-6lobac] | ||||
| Lynn, K., Martocci, J., Neilson, C., and S. Donaldson, | ||||
| "Transmission of IPv6 over MS/TP Networks", draft-ietf- | ||||
| 6lo-6lobac-08 (work in progress), March 2017. | ||||
| [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-00 (work in progress), | Networks", draft-ietf-6lo-ap-nd-00 (work in progress), | |||
| November 2016. | November 2016. | |||
| [I-D.ietf-6lo-dect-ule] | [I-D.ietf-6lo-backbone-router] | |||
| Mariager, P., Petersen, J., Shelby, Z., Logt, M., and D. | Thubert, P., "IPv6 Backbone Router", draft-ietf-6lo- | |||
| Barthel, "Transmission of IPv6 Packets over DECT Ultra Low | backbone-router-03 (work in progress), January 2017. | |||
| Energy", draft-ietf-6lo-dect-ule-09 (work in progress), | ||||
| December 2016. | ||||
| [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-06 (work in progress), | Communication", draft-ietf-6lo-nfc-06 (work in progress), | |||
| March 2017. | March 2017. | |||
| [I-D.ietf-6tisch-architecture] | [I-D.ietf-6tisch-architecture] | |||
| Thubert, P., "An Architecture for IPv6 over the TSCH mode | Thubert, P., "An Architecture for IPv6 over the TSCH mode | |||
| of IEEE 802.15.4", draft-ietf-6tisch-architecture-11 (work | of IEEE 802.15.4", draft-ietf-6tisch-architecture-11 (work | |||
| skipping to change at page 23, line 42 ¶ | skipping to change at page 23, line 37 ¶ | |||
| [RFC7668] Nieminen, J., Savolainen, T., Isomaki, M., Patil, B., | [RFC7668] Nieminen, J., Savolainen, T., Isomaki, M., Patil, B., | |||
| Shelby, Z., and C. Gomez, "IPv6 over BLUETOOTH(R) Low | Shelby, Z., and C. Gomez, "IPv6 over BLUETOOTH(R) Low | |||
| Energy", RFC 7668, DOI 10.17487/RFC7668, October 2015, | Energy", RFC 7668, DOI 10.17487/RFC7668, October 2015, | |||
| <http://www.rfc-editor.org/info/rfc7668>. | <http://www.rfc-editor.org/info/rfc7668>. | |||
| [RFC7934] Colitti, L., Cerf, V., Cheshire, S., and D. Schinazi, | [RFC7934] Colitti, L., Cerf, V., Cheshire, S., and D. Schinazi, | |||
| "Host Address Availability Recommendations", BCP 204, | "Host Address Availability Recommendations", BCP 204, | |||
| RFC 7934, DOI 10.17487/RFC7934, July 2016, | RFC 7934, DOI 10.17487/RFC7934, July 2016, | |||
| <http://www.rfc-editor.org/info/rfc7934>. | <http://www.rfc-editor.org/info/rfc7934>. | |||
| [RFC8065] Thaler, D., "Privacy Considerations for IPv6 Adaptation- | ||||
| Layer Mechanisms", RFC 8065, DOI 10.17487/RFC8065, | ||||
| February 2017, <http://www.rfc-editor.org/info/rfc8065>. | ||||
| [RFC8105] Mariager, P., Petersen, J., Ed., Shelby, Z., Van de Logt, | ||||
| M., and D. Barthel, "Transmission of IPv6 Packets over | ||||
| Digital Enhanced Cordless Telecommunications (DECT) Ultra | ||||
| Low Energy (ULE)", RFC 8105, DOI 10.17487/RFC8105, May | ||||
| 2017, <http://www.rfc-editor.org/info/rfc8105>. | ||||
| [RFC8163] Lynn, K., Ed., Martocci, J., Neilson, C., and S. | ||||
| Donaldson, "Transmission of IPv6 over Master-Slave/Token- | ||||
| Passing (MS/TP) Networks", RFC 8163, DOI 10.17487/RFC8163, | ||||
| May 2017, <http://www.rfc-editor.org/info/rfc8163>. | ||||
| 11.3. External Informative References | 11.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/IEEESTD.2016.7460875, | |||
| <http://ieeexplore.ieee.org/document/7460875/>. | <http://ieeexplore.ieee.org/document/7460875/>. | |||
| Appendix A. Applicability and Requirements Served | Appendix A. Applicability and Requirements Served | |||
| This specification extends 6LoWPAN ND to sequence the registration | This specification extends 6LoWPAN ND to sequence the registration | |||
| skipping to change at page 24, line 30 ¶ | skipping to change at page 24, line 37 ¶ | |||
| 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 | |||
| skipping to change at page 26, line 31 ¶ | skipping to change at page 26, line 40 ¶ | |||
| burden of supporting the Multicast Listener Discovery Version 2 | burden of supporting the Multicast Listener Discovery Version 2 | |||
| [RFC3810] (MLDv2) for IPv6. | [RFC3810] (MLDv2) for IPv6. | |||
| B.3. Requirements Related to the Variety of Low-Power Link types | B.3. Requirements Related to the Variety of Low-Power Link types | |||
| 6LoWPAN ND [RFC6775] was defined with a focus on IEEE Std.802.15.4 | 6LoWPAN ND [RFC6775] was defined with a focus on IEEE Std.802.15.4 | |||
| and in particular the capability to derive a unique Identifier from a | and in particular the capability to derive a unique Identifier from a | |||
| globally unique MAC-64 address. At this point, the 6lo Working Group | globally unique MAC-64 address. At this point, the 6lo Working Group | |||
| is extending the 6LoWPAN Header Compression (HC) [RFC6282] technique | is extending the 6LoWPAN Header Compression (HC) [RFC6282] technique | |||
| to other link types ITU-T G.9959 [RFC7428], Master-Slave/Token- | to other link types ITU-T G.9959 [RFC7428], Master-Slave/Token- | |||
| Passing [I-D.ietf-6lo-6lobac], DECT Ultra Low Energy | Passing [RFC8163], DECT Ultra Low Energy [RFC8105], Near Field | |||
| [I-D.ietf-6lo-dect-ule], Near Field Communication [I-D.ietf-6lo-nfc], | Communication [I-D.ietf-6lo-nfc], IEEE Std. 802.11ah | |||
| IEEE Std.802.11ah [I-D.delcarpio-6lo-wlanah], as well as IEEE1901.2 | [I-D.delcarpio-6lo-wlanah], as well as IEEE1901.2 Narrowband | |||
| Narrowband Powerline Communication Networks | Powerline Communication Networks | |||
| [I-D.popa-6lo-6loplc-ipv6-over-ieee19012-networks] and BLUETOOTH(R) | [I-D.popa-6lo-6loplc-ipv6-over-ieee19012-networks] and BLUETOOTH(R) | |||
| Low Energy [RFC7668]. | Low Energy [RFC7668]. | |||
| Related requirements are: | Related requirements are: | |||
| Req3.1: The support of the registration mechanism SHOULD be extended | Req3.1: The support of the registration mechanism SHOULD be extended | |||
| to more LLN links than IEEE Std.802.15.4, matching at least the LLN | to more LLN links than IEEE Std.802.15.4, matching at least the LLN | |||
| links for which an "IPv6 over foo" specification exists, as well as | links for which an "IPv6 over foo" specification exists, as well as | |||
| Low-Power Wi-Fi. | Low-Power Wi-Fi. | |||
| skipping to change at page 27, line 12 ¶ | skipping to change at page 27, line 20 ¶ | |||
| 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 classical ND on a Backbone and may need a | |||
| proxy. Additionally, the duty-cycled device may need to rely on the | proxy. Additionally, the duty-cycled device may need to rely on the | |||
| 6LBR to perform registration to the 6BBR. | 6LBR to 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. | |||
| Req4.2: The registration mechanism SHOULD be applicable to a duty- | Req4.2: The registration mechanism SHOULD be applicable to a duty- | |||
| cycled device regardless of the link type, and enable a 6BBR to | cycled device regardless of the link type, and enable a 6BBR to | |||
| operate as a proxy to defend the registered Addresses on its behalf. | operate as a proxy to defend the Registered Addresses on its behalf. | |||
| Req4.3: The registration mechanism SHOULD enable long sleep | Req4.3: The registration mechanism SHOULD enable long sleep | |||
| durations, in the order of multiple days to a month. | durations, in the order of multiple days to a month. | |||
| 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 | |||
| End of changes. 61 change blocks. | ||||
| 158 lines changed or deleted | 158 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/ | ||||