draft-ietf-6lo-rfc6775-update-11.txt | draft-ietf-6lo-rfc6775-update-12.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 Zededa | |||
Expires: June 18, 2018 S. Chakrabarti | Expires: August 24, 2018 S. Chakrabarti | |||
Verizon | Verizon | |||
C. Perkins | C. Perkins | |||
Futurewei | Futurewei | |||
December 15, 2017 | February 20, 2018 | |||
An Update to 6LoWPAN ND | An Update to 6LoWPAN ND | |||
draft-ietf-6lo-rfc6775-update-11 | draft-ietf-6lo-rfc6775-update-12 | |||
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 40 ¶ | 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 June 18, 2018. | This Internet-Draft will expire on August 24, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
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. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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 . . . . . . . . . . . . . . . . 7 | 4.2.1. Comparing TID values . . . . . . . . . . . . . . . . 8 | |||
4.3. Owner Unique ID . . . . . . . . . . . . . . . . . . . . . 9 | 4.3. Registration 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 . . . . . . . . . . . 12 | 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 . . . . . . . . . . . . . . 14 | 6. Extended ND Options And Messages . . . . . . . . . . . . . . 14 | |||
6.1. Enhanced Address Registration Option (EARO) . . . . . . . 14 | 6.1. Enhanced Address Registration Option (EARO) . . . . . . . 14 | |||
6.2. Extended Duplicate Address Message Formats . . . . . . . 17 | 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 . . . . . . . . . . . . . . . . . . . . . . . . . 18 | Option . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
7. Backward Compatibility . . . . . . . . . . . . . . . . . . . 18 | 7. Backward Compatibility . . . . . . . . . . . . . . . . . . . 19 | |||
7.1. Discovering the capabilities of an ND peer . . . . . . . 18 | 7.1. Discovering the capabilities of an ND peer . . . . . . . 19 | |||
7.1.1. Using the "E" Flag in the 6CIO . . . . . . . . . . . 19 | 7.1.1. Using the "E" Flag in the 6CIO . . . . . . . . . . . 19 | |||
7.1.2. Using the "T" Flag in the EARO . . . . . . . . . . . 19 | 7.1.2. Using the "T" Flag in the EARO . . . . . . . . . . . 19 | |||
7.2. Legacy 6LoWPAN Node . . . . . . . . . . . . . . . . . . . 20 | 7.2. Legacy 6LoWPAN Node . . . . . . . . . . . . . . . . . . . 20 | |||
7.3. Legacy 6LoWPAN Router . . . . . . . . . . . . . . . . . . 20 | 7.3. Legacy 6LoWPAN Router . . . . . . . . . . . . . . . . . . 20 | |||
7.4. Legacy 6LoWPAN Border Router . . . . . . . . . . . . . . 21 | 7.4. Legacy 6LoWPAN Border Router . . . . . . . . . . . . . . 21 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | |||
9. Privacy Considerations . . . . . . . . . . . . . . . . . . . 22 | 9. Privacy Considerations . . . . . . . . . . . . . . . . . . . 23 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | |||
10.1. ARO Flags . . . . . . . . . . . . . . . . . . . . . . . 23 | 10.1. ARO Flags . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
10.2. ICMP Codes . . . . . . . . . . . . . . . . . . . . . . . 23 | 10.2. ICMP Codes . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
10.3. New ARO Status values . . . . . . . . . . . . . . . . . 24 | 10.3. New ARO Status values . . . . . . . . . . . . . . . . . 25 | |||
10.4. New 6LoWPAN capability Bits . . . . . . . . . . . . . . 25 | 10.4. New 6LoWPAN capability Bits . . . . . . . . . . . . . . 26 | |||
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . 25 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 27 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . 26 | 12.2. Informative References . . . . . . . . . . . . . . . . . 28 | |||
12.3. External Informative References . . . . . . . . . . . . 29 | 12.3. External Informative References . . . . . . . . . . . . 31 | |||
Appendix A. Applicability and Requirements Served . . . . . . . 30 | Appendix A. Applicability and Requirements Served . . . . . . . 32 | |||
Appendix B. Requirements . . . . . . . . . . . . . . . . . . . . 30 | Appendix B. Requirements . . . . . . . . . . . . . . . . . . . . 33 | |||
B.1. Requirements Related to Mobility . . . . . . . . . . . . 31 | ||||
B.2. Requirements Related to Routing Protocols . . . . . . . . 31 | Internet-Draft An Update to 6LoWPAN ND February | |||
B.1. Requirements Related to Mobility . . . . . . . . . . . . 33 | ||||
B.2. Requirements Related to Routing Protocols . . . . . . . . 33 | ||||
B.3. Requirements Related to the Variety of Low-Power Link | B.3. Requirements Related to the Variety of Low-Power Link | |||
types . . . . . . . . . . . . . . . . . . . . . . . . . . 32 | types . . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
B.4. Requirements Related to Proxy Operations . . . . . . . . 33 | B.4. Requirements Related to Proxy Operations . . . . . . . . 35 | |||
B.5. Requirements Related to Security . . . . . . . . . . . . 33 | B.5. Requirements Related to Security . . . . . . . . . . . . 35 | |||
B.6. Requirements Related to Scalability . . . . . . . . . . . 34 | B.6. Requirements Related to Scalability . . . . . . . . . . . 37 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 | B.7. Matching Requirements with Specifications . . . . . . . . 37 | |||
Appendix C. Subset of a 6LoWPAN Glossary . . . . . . . . . . . . 38 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39 | ||||
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 and enhancements 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 Reduce requirement of registration for link-local addresses | o Simplify the registration flow for link-local addresses | |||
o Enhancement to Address Registration Option (ARO) | o Enhancement to Address Registration Option (ARO) | |||
o Permitting registration of a 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 [RFC6775] 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 | |||
skipping to change at page 3, line 50 ¶ | skipping to change at page 4, line 4 ¶ | |||
6LoWPAN ND specification is to facilitate duplicate address detection | 6LoWPAN ND specification is to facilitate duplicate address detection | |||
(DAD) for hosts as well as populate Neighbor Cache Entries (NCE) | (DAD) for hosts as well as populate Neighbor Cache Entries (NCE) | |||
[RFC4861] in the routers. This reduces the reliance on multicast | [RFC4861] in the routers. This reduces the reliance on multicast | |||
operations, which are often as intrusive as broadcast, in IPv6 ND | operations, which are often as intrusive as broadcast, in IPv6 ND | |||
operations. | operations. | |||
With this specification, a failed or useless registration can be | With this specification, a failed or useless registration can be | |||
detected for reasons other than address duplication. Examples | detected for reasons other than address duplication. Examples | |||
include: the router having run out of space; a registration bearing a | include: the router having run out of space; a registration bearing a | |||
stale sequence number perhaps denoting a movement of the host after | stale sequence number perhaps denoting a movement of the host after | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
the 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. | |||
The ability to return errors to address registrations is not intended | The ability to return errors to address registrations is not 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 multiple | |||
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 number of addresses | for enhanced privacy; each host may register a number of addresses | |||
using mechanisms such as "Privacy Extensions for Stateless Address | using mechanisms such as "Privacy Extensions for Stateless Address | |||
Autoconfiguration (SLAAC) in IPv6" [RFC4941]. | Autoconfiguration (SLAAC) in IPv6" [RFC4941]. | |||
In IPv6 ND [RFC4861], a router must have enough storage to hold | In IPv6 ND [RFC4861], a router must have enough storage to hold | |||
neighbor cache entries for all the addresses to which it may forward. | neighbor cache entries for all the addresses to which it may forward. | |||
A router using the Address Registration mechanism also needs enough | A router using the Address Registration mechanism also needs enough | |||
storage to hold NCEs for all the addresses that may be registered to | storage to hold NCEs for all the addresses that may be registered to | |||
it, regardless of whether or not they are actively communicating. | it, regardless of whether or not they are actively communicating. | |||
The number of registrations supported by a 6LoWPAN Router (6LR) or | The number of registrations supported by a 6LoWPAN Router (6LR) or | |||
6LoWPAN Border Router (6LBR) must be clearly documented. | 6LoWPAN Border Router (6LBR) must be clearly documented. | |||
A network administrator should deploy updated 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 their network, based on the number | |||
IPv6 addresses that those devices require and their address renewal | of IPv6 addresses that those devices require and their address | |||
rate and behaviour. | renewal rate and behavior. | |||
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 [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
The Terminology used in this document is consistent with and | ||||
incorporates that described in Terms Used in Routing for Low-Power | ||||
and Lossy Networks (LLNs). [RFC7102]. | ||||
Other terms in use in LLNs are found in Terminology for Constrained- | ||||
Node Networks [RFC7228]. | ||||
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], | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
o "IPv6 Stateless Address Autoconfiguration" [RFC4862], | o "IPv6 Stateless Address Autoconfiguration" [RFC4862], | |||
o "Problem Statement and Requirements for IPv6 over Low-Power | ||||
Wireless Personal Area Network (6LoWPAN) Routing" [RFC6606], | ||||
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: | |||
skipping to change at page 5, line 42 ¶ | skipping to change at page 6, line 5 ¶ | |||
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. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
Registered Address: An address owned by the Registered Node node | Registered Address: An address owned by the Registered Node node | |||
that was or is being registered. | that was or is being registered. | |||
IPv6 ND: The IPv6 Neighbor Discovery protocol as specified in | ||||
[RFC4861] and [RFC4862]. | ||||
legacy: a 6LN, a 6LR or a 6LBR that supports [RFC6775] but not this | legacy: a 6LN, a 6LR or a 6LBR that supports [RFC6775] but not this | |||
specification. | specification. | |||
updated: a 6LN, a 6LR or a 6LBR that supports this specification. | updated: a 6LN, a 6LR or a 6LBR that supports this specification. | |||
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 [RFC6775]; in particular | Option (EARO) based on the ARO as defined [RFC6775]; in particular a | |||
a "T" flag is added that MUST be set in NS messages when this | "T" flag is added that MUST be set in NS messages when this | |||
specification is used, and echoed in NA messages to confirm that the | specification is used, and echoed in NA messages to confirm that the | |||
protocol is supported. | protocol is supported. | |||
The extensions to the ARO option are used in the Duplicate Address | The extensions to the ARO option are used in the Duplicate Address | |||
Request (DAR) and Duplicate Address Confirmation (DAC) messages, so | Request (DAR) and Duplicate Address Confirmation (DAC) messages, so | |||
as to convey the additional information all the way to the 6LBR. In | as to convey the additional information all the way to the 6LBR. In | |||
turn the 6LBR may proxy the registration using IPv6 ND over a | turn the 6LBR may proxy the registration using IPv6 ND over a | |||
backbone as illustrated in Figure 1. Note that this specification | backbone as illustrated in Figure 1. Note that this specification | |||
avoids the extended DAR flow for Link Local Addresses in Route-Over | avoids the extended DAR flow for Link Local Addresses in a Route-Over | |||
mode. | [RFC6606] mesh. | |||
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 6, line 44 ¶ | skipping to change at page 7, line 5 ¶ | |||
| | | proxy NA(EARO) | | | | | proxy NA(EARO) | | |||
| | |<---------------| | | | |<---------------| | |||
| | Extended DAC | | | | | Extended DAC | | | |||
| |<--------------| | | | |<--------------| | | |||
| NA(EARO) | | | | | NA(EARO) | | | | |||
|<---------------| | | | |<---------------| | | | |||
| | | | | | | | | | |||
Figure 1: (Re-)Registration Flow | Figure 1: (Re-)Registration Flow | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
In order to support various types of link layers, it is RECOMMENDED | In order to support various types of link layers, it is RECOMMENDED | |||
to allow multiple registrations, including for privacy / temporary | to allow multiple registrations, including for privacy / temporary | |||
addresses, and provides new mechanisms to help clean up stale | addresses, and provide new mechanisms to help clean up stale | |||
registration states as soon as possible. | registration states as soon as possible. | |||
A Registering Node SHOULD prefer registering to a 6LR that is found | Section 5 of [RFC6775] specifies how a 6LN bootstraps an interface | |||
to support this specification, as discussed in Section 7.1, over a | and locates available 6LRs; a Registering Node SHOULD prefer | |||
legacy one. | registering to a 6LR that is found to support this specification, as | |||
discussed in Section 7.1, over a legacy one. | ||||
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 | |||
skipping to change at page 7, line 38 ¶ | skipping to change at page 7, line 50 ¶ | |||
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 | |||
The Transaction ID (TID) is a sequence number that is incremented | The Transaction ID (TID) is a sequence number that is incremented | |||
with each re-registration. The TID is used to detect the freshness | with each re-registration. The TID is used to detect the freshness | |||
of the registration request and useful to detect one single | of the registration request and useful to detect one single | |||
registration by multiple 6LOWPAN border routers (e.g., 6LBRs and | registration by multiple 6LoWPAN border routers (e.g., 6LBRs and | |||
6BBRs) supporting the same 6LOWPAN. The TID may also be used by the | 6BBRs) supporting the same 6LoWPAN. The TID may also be used by the | |||
network to track the sequence of movements of a node in order to | network to track the sequence of movements of a node in order to | |||
route to the current (freshest known) location of a moving node. | route to the current (freshest known) location of a moving node. | |||
When a Registered Node is registered with multiple BBRs in parallel, | Internet-Draft An Update to 6LoWPAN ND February | |||
When a Registered Node is registered with multiple 6BBRs in parallel, | ||||
the same TID SHOULD be used, to enable the 6BBRs to determine that | the same TID SHOULD be used, to enable the 6BBRs to determine that | |||
the registrations are the same, and distinguish that situation from a | the registrations are the same, and distinguish that situation from a | |||
movement. | movement. | |||
4.2.1. Comparing TID values | 4.2.1. Comparing TID values | |||
The TID is a sequence counter and its operation is the exact match of | The TID is a sequence counter and its operation is the exact match of | |||
the path sequence specified in RPL, the IPv6 Routing Protocol for | the path sequence specified in RPL, the IPv6 Routing Protocol for | |||
Low-Power and Lossy Networks [RFC6550] specification. | Low-Power and Lossy Networks [RFC6550] specification. | |||
skipping to change at page 8, line 41 ¶ | skipping to change at page 9, line 5 ¶ | |||
2. When a sequence counter increment would cause the sequence | 2. When a sequence counter increment would cause the sequence | |||
counter to increment beyond its maximum value, the sequence | counter to increment beyond its maximum value, the sequence | |||
counter MUST wrap back to zero. When incrementing a sequence | counter MUST wrap back to zero. When incrementing a sequence | |||
counter greater than or equal to 128, the maximum value is 255. | counter greater than or equal to 128, the maximum value is 255. | |||
When incrementing a sequence counter less than 128, the maximum | When incrementing a sequence counter less than 128, the maximum | |||
value is 127. | value is 127. | |||
3. When comparing two sequence counters, the following rules MUST be | 3. When comparing two sequence counters, the following rules MUST be | |||
applied: | applied: | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
1. When a first sequence counter A is in the interval [128..255] | 1. When a first sequence counter A is in the interval [128..255] | |||
and a second sequence counter B is in [0..127]: | and a second sequence counter B is in [0..127]: | |||
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. | |||
skipping to change at page 9, line 29 ¶ | skipping to change at page 9, line 42 ¶ | |||
[RFC1982] is used to determine the relationships greater | [RFC1982] is used to determine the relationships greater | |||
than, less than, and equal. | than, less than, and equal. | |||
2. If the absolute magnitude of difference of the two | 2. If the absolute magnitude of difference of the two | |||
sequence counters is greater than SEQUENCE_WINDOW, then a | sequence counters is greater than SEQUENCE_WINDOW, then a | |||
desynchronization has occurred and the two sequence | desynchronization has occurred and the two sequence | |||
numbers are not comparable. | numbers are not comparable. | |||
4. If two sequence numbers are determined to be not comparable, i.e. | 4. If two sequence numbers are determined to be not comparable, i.e. | |||
the results of the comparison are not defined, then a node should | the results of the comparison are not defined, then a node should | |||
consider the comparison as if it has evaluated in such a way so | give precedence to the sequence number that was most recently | |||
as to give precedence to the sequence number that has most | incremented. Failing this, the node should select the sequence | |||
recently been observed to increment. Failing this, the node | number in order to minimize the resulting changes to its own | |||
should consider the comparison as if it has evaluated in such a | state. | |||
way so as to minimize the resulting changes to its own state. | ||||
4.3. Owner Unique ID | 4.3. Registration Unique ID | |||
The Owner Unique ID (OUID) enables a duplicate address registration | The Registration Unique ID (RUID) enables a duplicate address | |||
to be distinguished from a double registration or a movement. An ND | registration to be distinguished from a double registration or a | |||
message from the 6BBR over the Backbone that is proxied on behalf of | movement. An ND message from the 6BBR over the Backbone that is | |||
a Registered Node must carry the most recent EARO option seen for | proxied on behalf of a Registered Node must carry the most recent | |||
that node. A NS/NA with an EARO and a NS/NA without a EARO thus | EARO option seen for that node. A NS/NA with an EARO and a NS/NA | |||
represent different nodes; if they relate to a same target then an | ||||
address duplication is likely. | ||||
The Owner Unique ID in [RFC6775] is a EUI-64 preconfigured address, | Internet-Draft An Update to 6LoWPAN ND February | |||
under the assumption that duplicate EUI-64 addresses are avoided. | ||||
With this specification, the Owner Unique ID is allowed to be | without a EARO thus represent different nodes; if they relate to a | |||
same target then an address duplication is likely. | ||||
The Registration Unique ID in [RFC6775] is a EUI-64 globally unique | ||||
address configured at a Lower Layer, under the assumption that | ||||
duplicate EUI-64 addresses are avoided. | ||||
With this specification, the Registration Unique ID is allowed to be | ||||
extended to different types of identifier, as long as the type is | extended to different types of identifier, as long as the type is | |||
clearly indicated. For instance, the type can be a cryptographic | clearly indicated. For instance, the type can be a cryptographic | |||
string and used to prove the ownership of the registration as | string and used to prove the ownership of the registration as | |||
discussed in "Address Protected Neighbor Discovery for Low-power and | discussed in "Address Protected Neighbor Discovery for Low-power and | |||
Lossy Networks" [I-D.ietf-6lo-ap-nd]. | Lossy Networks" [I-D.ietf-6lo-ap-nd]. In order to support the flows | |||
related to the proof of ownership, this specification introduces new | ||||
status codes "Validation Requested" and "Validation Failed" in the | ||||
EARO. | ||||
The node SHOULD store the unique ID, or a way to generate that ID, in | The Registering Node SHOULD store the unique ID, or a way to generate | |||
persistent memory. Otherwise, if a reboot causes a loss of memory, | that ID, in persistent memory. Otherwise, if a reboot causes a loss | |||
re-registering the same address could be impossible until the 6LBR | of memory, re-registering the same address could be impossible until | |||
times out the previous registration. | the 6LBR times out the previous 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 future extensions, and though no option has | In order to prepare for future extensions, and though no option has | |||
skipping to change at page 10, line 36 ¶ | skipping to change at page 11, line 4 ¶ | |||
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 in [RFC6775], it may be the Registered Node as well, in | the 6BBR. As in [RFC6775], it may be the Registered Node as well, in | |||
which case it registers one of its own addresses, and indicates its | which case it registers one of its own addresses, and indicates its | |||
own MAC Address as Source Link Layer Address (SLLA) in the NS(EARO). | own MAC Address as Source Link Layer Address (SLLA) in 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 | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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 | |||
skipping to change at page 11, line 37 ¶ | skipping to change at page 12, line 4 ¶ | |||
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 the Link-Local address is unique from | this 6LR by another 6LN, then the Link-Local address is unique from | |||
the standpoint of this 6LR and the registration is acceptable. | the standpoint of this 6LR and the registration is acceptable. | |||
Alternatively, two different 6LRs might expose the same Link-Local | Alternatively, two different 6LRs might expose the same Link-Local | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
address but different link-layer addresses. In that case, a 6LN MUST | address but different link-layer addresses. In that case, a 6LN MUST | |||
only interact with one of the 6LRs. | only interact with at most one of the 6LRs. | |||
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 preferable for a 6LR to avoid modifying its state associated to | ||||
the Source Address of an NS(EARO) message. For that reason, when | ||||
possible, an address that is already registered with a 6LR SHOULD be | ||||
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 an address that | |||
registered, or the address that is being registered. | is already registered to the 6LR, 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 globally unique hardware MAC | globally unique, e.g., derived from a globally unique hardware MAC | |||
address. An EARO option in the response NA indicates that the 6LR | address. An EARO option in the response NA indicates that the 6LR | |||
supports this specification. | supports this specification. | |||
Since there is no Duplicate Address exchange for Link-Local | Since there is no Duplicate Address exchange for Link-Local | |||
skipping to change at page 12, line 41 ¶ | skipping to change at page 13, line 4 ¶ | |||
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; as discussed in Section 4.6, this 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 | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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. | synchronized 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. | |||
If the registry in the 6LBR is be saturated, in which case the LBR | If the registry in the 6LBR is saturated, the LBR cannot guarantee | |||
cannot guarantee that a new address is effectively not a duplicate. | that a new address is effectively not a duplicate. In that case, the | |||
In that case, the 6LBR replies to a EDAR message with a EDAC message | 6LBR replies to a EDAR message with a EDAC message that carries a new | |||
that carries a Status code 9 indicating "6LBR Registry saturated", | Status Code indicating "6LBR Registry saturated" Table 1. 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, de- | |||
node may either abandon that address, deregister other addresses | register other addresses first to make room, or keep the address in | |||
first to make room, or keep the address in TENTATIVE state and retry | TENTATIVE state and retry later. | |||
later. | ||||
A node renews an existing registration by sending a new NS(EARO) | A node renews an existing registration by sending a new NS(EARO) | |||
message for the Registered Address. In order to refresh the | message for the Registered Address. In order to refresh the | |||
registration state in the 6LBR, the registration MUST be reported to | registration state in the 6LBR, the registration MUST be reported 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 de-register | |||
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 de- | |||
deregister all of its addresses registered to that 6LR and register | register all of its addresses registered to that 6LR and register to | |||
to a new 6LR with an incremented TID. When/if the node shows up | 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 | |||
3 "Moved" SHOULD be used to clean up the state in the previous | 3 "Moved" SHOULD be used to clean up the state in the previous | |||
location. For instance, the "Moved" status can be used by a 6BBR in | location. For instance, as described in | |||
a NA(EARO) message to indicate that the ownership of the proxy state | [I-D.ietf-6lo-backbone-router], the "Moved" status can be used by a | |||
on the Backbone was transferred to another 6BBR, as the consequence | 6BBR in a NA(EARO) message to indicate that the ownership of the | |||
of a movement of the device. The receiver of the message SHOULD | proxy state on the Backbone was transferred to another 6BBR, as the | |||
propagate the status down the chain towards the Registered node and | consequence of a movement of the device. The receiver of the message | |||
clean up its state. | SHOULD propagate the status down the chain towards the Registered | |||
node (e.g. reversing an existing RPL [RFC6550] path) and then 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, | ||||
indicating the null Registration Lifetime and the latest TID that | Internet-Draft An Update to 6LoWPAN ND February | |||
this 6LR is aware of. | ||||
Duplicate Address exchange with the 6LBR, indicating the null | ||||
Registration Lifetime and the latest TID that this 6LR is aware of. | ||||
Upon receiving the Extended DAR message, the 6LBR evaluates if this | Upon receiving the Extended DAR message, the 6LBR evaluates if this | |||
is the most recent TID it has received for that particular registry | is the most recent TID it has received for that particular registry | |||
entry. If so, then the entry is scheduled to be removed, and the | entry. If so, then the entry is scheduled to be removed, and the | |||
EDAR is answered with a EDAC message bearing a Status of 0 | EDAR is answered with a EDAC message bearing a Status of 0 | |||
("Success"). Otherwise, a Status 3 ("Moved") is returned instead, | ("Success"). Otherwise, a Status 3 ("Moved") is returned instead, | |||
and the existing entry is maintained. | and the existing entry is maintained. | |||
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 de-registered 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 silently removes 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. | indicate a node's capabilities to its peers. | |||
Section 6.3 defines new flags for the 6CIO to signal support for | Section 6.3 defines new flags for the 6CIO to signal support for | |||
EARO, as well as the node's capability to act as a 6LR, 6LBR and | EARO, as well as the node's capability to act as a 6LR, 6LBR and | |||
6BBR. Section 7.1.1 specifies how the "E" flag can be used to | 6BBR. Section 7.1.1 specifies how the "E" flag can be used to | |||
skipping to change at page 14, line 43 ¶ | skipping to change at page 15, line 4 ¶ | |||
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) updates the ARO | The Enhanced Address Registration Option (EARO) updates the ARO | |||
option within Neighbor Discovery NS and NA messages between a 6LN and | option within Neighbor Discovery NS and NA messages between a 6LN and | |||
its 6LR. On the other hand, the Extended Duplicate Address messages, | its 6LR. On the other hand, the Extended Duplicate Address messages, | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
EDAR and EDAC, replace the DAR and DAC messages so as to transport | EDAR and EDAC, replace the DAR and DAC messages so as to transport | |||
the new information between 6LRs and 6LBRs across LLNs meshes such as | the new information between 6LRs and 6LBRs across LLN meshes such as | |||
6TiSCH networks. | 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 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 [I-D.ietf-6lo-backbone-router] over | |||
the distributed registration state; in that case, it does not carry | the Backbone link to sort out the distributed registration state; in | |||
the SLLAO option and is not confused with a registration. | that case, it does not carry 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. | the Target Address field of the NS and NA messages. | |||
The EARO extends the ARO and is indicated 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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
+ Owner Unique ID (EUI-64 or equivalent) + | + Registration Unique ID (EUI-64 or equivalent) + | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 2: EARO | Figure 2: EARO | |||
Option Fields | Option Fields | |||
Type: 33 | Type: 33 | |||
Length: 8-bit unsigned integer. The length of the option in | Length: 8-bit unsigned integer. The length of the option in | |||
skipping to change at page 15, line 42 ¶ | skipping to change at page 16, line 4 ¶ | |||
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 [RFC6775]. Note: a Status of 1 "Duplicate Address" | | | 0..2 | See [RFC6775]. Note: a Status of 1 "Duplicate Address" | | |||
| | applies to the Registered Address. If the Source Address | | | | applies to the Registered Address. If the Source Address | | |||
| | conflicts with an existing registration, "Duplicate | | | | conflicts with an existing registration, "Duplicate | | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
| | Source Address" should be used. | | | | Source Address" should be used. | | |||
| | | | | | | | |||
| 3 | Moved: The registration fails because it is not the | | | 3 | Moved: The registration failed 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 | | |||
skipping to change at page 16, line 40 ¶ | skipping to change at page 17, line 5 ¶ | |||
| | | | | | | | |||
| 10 | Validation Failed: The proof of ownership of the | | | 10 | Validation Failed: The proof of ownership of the | | |||
| | registered address is not correct. | | | | registered address is not correct. | | |||
+-------+-----------------------------------------------------------+ | +-------+-----------------------------------------------------------+ | |||
Table 1: EARO Status | Table 1: EARO Status | |||
Reserved: This field is unused. It MUST be initialized to zero | Reserved: This field is unused. It MUST be initialized to zero | |||
by the sender and MUST be ignored by the receiver. | by the sender and MUST be ignored by the receiver. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
T: One bit flag. Set if the next octet is a used as a | T: One bit flag. Set if the next octet is a used as a | |||
TID. | TID. | |||
TID: 1-byte integer; a transaction id that is maintained | TID: 1-byte integer; a transaction id that is maintained | |||
by the node and incremented with each transaction. | by the node and incremented with each transaction. | |||
The node SHOULD maintain the TID in a persistent | The node SHOULD maintain the TID in a persistent | |||
storage. | storage. | |||
Registration Lifetime: 16-bit integer; expressed in minutes. 0 | Registration Lifetime: 16-bit integer; expressed in minutes. 0 | |||
means that the registration has ended and the | means that the registration has ended and the | |||
associated state should be removed. | associated state should be removed. | |||
Owner Unique Identifier (OUI): A globally unique identifier for the | Registration Unique IDentifier (OUI): A globally unique identifier | |||
node associated. This can be the EUI-64 derived IID | for the node associated. This can be the EUI-64 | |||
of an interface, or some provable ID obtained | derived IID of an interface, or some provable ID | |||
cryptographically. | obtained 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 | Internet-Draft An Update to 6LoWPAN ND February | |||
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 | |||
| Type | Code | Checksum | | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Status | TID | Registration Lifetime | | | Type | Code | Checksum | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | Status | TID | Registration Lifetime | | |||
+ Owner Unique ID (EUI-64 or equivalent) + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + Registration Unique ID (EUI-64 or equivalent) + | |||
| | | | | | |||
+ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
+ Registered Address + | + + | |||
| | | | | | |||
+ + | + Registered Address + | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + + | |||
| | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Figure 3: Duplicate Address Messages Format | Figure 3: Duplicate Address Messages Format | |||
Modified Message Fields | Modified Message Fields | |||
Code: The ICMP Code as defined in [RFC4443]. The ICMP Code | Code: The ICMP Code as defined in [RFC4443]. The ICMP Code | |||
MUST be set to 1 with this specification. An odd | MUST be set to 1 with this specification. An odd | |||
value of the ICMP Code indicates that the TID field | value of the ICMP Code indicates that the TID field | |||
is present and obeys this specification. | is present and obeys this specification. | |||
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 | Registration 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 new capability bits for use in the 6CIO, | This specification defines new capability bits for use in the 6CIO, | |||
which was introduced by [RFC7400] 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 MUST set the "E" flag and 6LN | |||
6LN SHOULD favor 6LR routers that support this specification over | SHOULD favor 6LR routers that support this specification over those | |||
those that do not. Routers that are capable of acting as 6LR, 6LBR | that do not. Routers that are capable of acting as 6LR, 6LBR and | |||
and 6BBR SHOULD set the "L", "B" and "P" flags, respectively. In | 6BBR SHOULD set the "L", "B" and "P" flags, respectively. In | |||
particular, the function 6LR is often collocated with that of 6LBR. | particular, the function 6LR is often collocated with that of 6LBR. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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 | |||
performing 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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 19, line 4 ¶ | skipping to change at page 19, line 35 ¶ | |||
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 | |||
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. | 6CIO. | |||
If the Registering Node (RN) receives a 6CIO in a Router | If the Registering Node receives a 6CIO in a Router Advertisement | |||
Advertisement message, then the setting of the "E" Flag indicates | message, then the setting of the "E" Flag indicates whether or not | |||
whether or not this specification is supported. | 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 is | |||
first register a Link Local address, placing the same address in the | to first register a Link Local address, placing the same address in | |||
Source and Target Address fields of the NS message, and setting the | the Source and Target Address fields of the NS message, and setting | |||
"T" Flag. The node may for instance register an address that is | the "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 | ||||
SLLAO option in the NS is actually more consistent with existing ND | Internet-Draft An Update to 6LoWPAN ND February | |||
specifications such as the "Optimistic Duplicate Address Detection | ||||
(DAD) for IPv6" [RFC4429]. | based on EUI-64. For such an address, DAD is not required and using | |||
the SLLAO option in the NS is actually more consistent with existing | ||||
ND specifications such as the "Optimistic Duplicate Address Detection | ||||
(ODAD) for IPv6" [RFC4429]. | ||||
Once its 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 [RFC6775], | harmless since the "T" flag and TID field are reserved in [RFC6775], | |||
and 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 flow. To enable backward compatibility, a 6LN 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 [RFC6775]. 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 | |||
skipping to change at page 20, line 23 ¶ | skipping to change at page 21, line 4 ¶ | |||
The main difference with [RFC6775] 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 | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
not make a difference and treat that registration as if the 6LN was a | not make a difference and treat that registration as if 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. From that first registration, the updated 6LN can | the NA message. From that first registration, the updated 6LN can | |||
determine whether or not the 6LR supports this specification. | 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 SHOULD attempt to find | |||
alternate 6LR that is updated. | an alternate 6LR that is updated for a reasonable time that depends | |||
on the type of device and the expected deployment. | ||||
An updated 6LN SHOULD use an EARO in the request regardless of the | An updated 6LN SHOULD use an EARO in the request regardless of the | |||
type of 6LR, legacy or updated, which implies that the "T" flag is | type of 6LR, legacy or updated, which implies that 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 | |||
skipping to change at page 21, line 10 ¶ | skipping to change at page 21, line 41 ¶ | |||
But if legacy and updated 6LRs coexist temporarily in a network, then | But if legacy and updated 6LRs coexist temporarily in a network, then | |||
it makes sense for an administrator to install a policy that allows | it makes sense for an administrator to install a policy that allows | |||
so, and the capability to install such a policy should be | so, and the capability to install such a policy should be | |||
configurable in a 6LBR though it is out of scope for this document. | configurable in a 6LBR though it is out of scope for this document. | |||
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 always 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 a legacy DAR, so legacy 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 [RFC6775], and the security section of | This specification extends [RFC6775], and the security section of | |||
that draft also applies to this as well. In particular, it is | that draft also applies to this as well. In particular, it is | |||
expected that the link layer is sufficiently protected to prevent a | expected that the link layer is sufficiently protected to prevent a | |||
rogue access, either by means of physical or IP security on the | rogue access, either by means of physical or IP security on the | |||
Backbone Link and link layer cryptography on the LLN. | Backbone Link and link layer cryptography on the LLN. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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 tampering with or replaying | |||
the RA messages. | the RA messages. | |||
This specification recommends to using privacy techniques (see | This specification recommends 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 | |||
Registered Address using a cryptographic OUID. | Registered Address using a cryptographic RUID. | |||
The registration mechanism may be used by a rogue node to attack the | The registration mechanism may be used by a rogue node to attack the | |||
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 de-register | |||
that address from all the 6LRs to which it is registered. See | that address from all the 6LRs to which it is registered. See | |||
Section 4.2 for the mechanism to avoid replay attacks and avoiding | Section 4.2 for the mechanism to avoid replay attacks and avoiding | |||
the use of stale registration information. | 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 | |||
skipping to change at page 22, line 22 ¶ | skipping to change at page 23, line 5 ¶ | |||
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) algorithm to clean up the addresses, | a Least-Recently-Used (LRU) algorithm to clean up the addresses, | |||
keeping at least one Link-Local address. The router SHOULD | keeping at least one Link-Local address. The router SHOULD | |||
attempt to keep one or more stable addresses if stability can be | attempt to keep one or more stable addresses if stability can be | |||
determined, e.g. from the way the IID is formed or because they | determined, e.g. from the way the IID is formed or because they | |||
are used over a much longer time span than other (privacy, | are used over a much longer time span than other (privacy, | |||
shorter-lived) addresses. Address lifetimes SHOULD be | shorter-lived) addresses. Address lifetimes SHOULD be | |||
individually configurable. | individually configurable. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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. This trust model | |||
could be at a minimum based on a Layer-2 access control, or could | ||||
provide role validation as well (see Req5.1 in Appendix B.5). | ||||
9. Privacy Considerations | 9. Privacy Considerations | |||
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. A host | limiting the number of IPv6 addresses that a device can form. A host | |||
should be able to form and register any address that is topologically | should be able to form and 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. | |||
This specification does not mandate any particular way for forming | This specification does not mandate any particular way for forming | |||
IPv6 addresses, but it discourages using EUI-64 for forming the | IPv6 addresses, but it discourages using EUI-64 for forming the | |||
Interface ID in the Link-Local address because this method prevents | Interface ID in the Link-Local address because this method prevents | |||
the usage of "SEcure Neighbor Discovery (SEND)" [RFC3971] and | the usage of "SEcure Neighbor Discovery (SEND)" [RFC3971] and | |||
"Cryptographically Generated Addresses (CGA)" [RFC3972], and that of | "Cryptographically Generated Addresses (CGA)" [RFC3972], and that of | |||
address privacy techniques. | address privacy techniques. | |||
"Privacy Considerations for IPv6 Adaptation-Layer Mechanisms" | "Privacy Considerations for IPv6 Adaptation-Layer Mechanisms" | |||
[RFC8065] explains why privacy is important and how to form such | [RFC8065] explains why privacy is important and how to form privacy- | |||
addresses. All implementations and deployment must consider the | aware addresses. All implementations and deployment must consider | |||
option of privacy addresses in their own environment. Also future | the option of privacy addresses in their own environment. | |||
specifications involving 6LOWPAN Neighbor Discovery should consult | ||||
"Recommendation on Stable IPv6 Interface Identifiers" [RFC8064] for | The IPv6 address of the 6LN in the IPv6 header can be compressed | |||
default interface identifaction. | statelessly when the Interface Identifier in the IPv6 address can be | |||
derived from the Lower Layer address. When it is not critical to | ||||
benefit from that compression, e.g. the address can be compressed | ||||
statefully, or it is rarely used and/or it is used only over one hop, | ||||
then privacy concerns should be considered. In particular, new | ||||
implementations should follow the IETF "Recommendation on Stable IPv6 | ||||
Interface Identifiers" [RFC8064] This RFC recommends the use of "A | ||||
Method for Generating Semantically Opaque Interface Identifiers with | ||||
Internet-Draft An Update to 6LoWPAN ND February | ||||
IPv6 Stateless Address Autoconfiguration (SLAAC)" [RFC7217] for | ||||
generating Interface Identifiers to be used in SLAAC. | ||||
10. IANA Considerations | 10. IANA Considerations | |||
Note to RFC Editor: please replace "This RFC" throughout this | ||||
document by the RFC number for this specification once it is | ||||
attributed. | ||||
IANA is requested to make a number of changes under the "Internet | IANA is requested to make a number of changes under the "Internet | |||
Control Message Protocol version 6 (ICMPv6) Parameters" registry, as | Control Message Protocol version 6 (ICMPv6) Parameters" registry, as | |||
follows. | follows. | |||
10.1. ARO Flags | 10.1. ARO Flags | |||
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 | This RFC | | | 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: | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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 | This RFC | | | 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 | This RFC | | | 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: | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
Address Registration Option Status Values Registry | Address Registration Option Status Values Registry | |||
+-------------+-----------------------------------------+-----------+ | +-------------+-----------------------------------------+-----------+ | |||
| ARO Status | Description | Document | | | ARO Status | Description | Document | | |||
+-------------+-----------------------------------------+-----------+ | +-------------+-----------------------------------------+-----------+ | |||
| 3 | Moved | This RFC | | | 3 | Moved | This RFC | | |||
| | | | | ||||
| 4 | Removed | This RFC | | | 4 | Removed | This RFC | | |||
| | | | | ||||
| 5 | Validation Requested | This RFC | | | 5 | Validation Requested | This RFC | | |||
| | | | | ||||
| 6 | Duplicate Source Address | This RFC | | | 6 | Duplicate Source Address | This RFC | | |||
| | | | | ||||
| 7 | Invalid Source Address | This RFC | | | 7 | Invalid Source Address | This RFC | | |||
| | | | | ||||
| 8 | Registered Address topologically | This RFC | | | 8 | Registered Address topologically | This RFC | | |||
| | incorrect | | | | | incorrect | | | |||
| | | | | ||||
| 9 | 6LBR registry saturated | This RFC | | | 9 | 6LBR registry saturated | This RFC | | |||
| | | | | ||||
| 10 | Validation Failed | This RFC | | | 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) | This RFC | | | 11 | 6LR capable (L bit) | This RFC | | |||
| | | | | ||||
| 12 | 6LBR capable (B bit) | This RFC | | | 12 | 6LBR capable (B bit) | This RFC | | |||
| | | | | ||||
| 13 | 6BBR capable (P bit) | This RFC | | | 13 | 6BBR capable (P bit) | This RFC | | |||
| | | | | ||||
| 14 | EARO support (E bit) | This RFC | | | 14 | EARO support (E bit) | This RFC | | |||
+-----------------+----------------------+-----------+ | +-----------------+----------------------+-----------+ | |||
Table 6: New 6LoWPAN capability Bits | Table 6: New 6LoWPAN capability Bits | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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 Sedat Gormus, Rahul Jadhav and Lorenzo Colitti for | Many thanks to Sedat Gormus, Rahul Jadhav and Lorenzo Colitti for | |||
their various contributions and reviews. Also many thanks to Thomas | their various contributions and reviews. Also many thanks to Thomas | |||
Watteyne for his early implementation of a 6LN that was instrumental | Watteyne for his early implementation of a 6LN that was instrumental | |||
to the early tests of the 6LR, 6LBR and Backbone Router. | to the early tests of the 6LR, 6LBR and Backbone Router. | |||
12. References | 12. References | |||
skipping to change at page 26, line 26 ¶ | skipping to change at page 28, line 5 ¶ | |||
Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, | Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, | |||
DOI 10.17487/RFC6282, September 2011, | DOI 10.17487/RFC6282, September 2011, | |||
<https://www.rfc-editor.org/info/rfc6282>. | <https://www.rfc-editor.org/info/rfc6282>. | |||
[RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C. | [RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C. | |||
Bormann, "Neighbor Discovery Optimization for IPv6 over | Bormann, "Neighbor Discovery Optimization for IPv6 over | |||
Low-Power Wireless Personal Area Networks (6LoWPANs)", | Low-Power Wireless Personal Area Networks (6LoWPANs)", | |||
RFC 6775, DOI 10.17487/RFC6775, November 2012, | RFC 6775, DOI 10.17487/RFC6775, November 2012, | |||
<https://www.rfc-editor.org/info/rfc6775>. | <https://www.rfc-editor.org/info/rfc6775>. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
[RFC7400] Bormann, C., "6LoWPAN-GHC: Generic Header Compression for | [RFC7400] Bormann, C., "6LoWPAN-GHC: Generic Header Compression for | |||
IPv6 over Low-Power Wireless Personal Area Networks | IPv6 over Low-Power Wireless Personal Area Networks | |||
(6LoWPANs)", RFC 7400, DOI 10.17487/RFC7400, November | (6LoWPANs)", RFC 7400, DOI 10.17487/RFC7400, November | |||
2014, <https://www.rfc-editor.org/info/rfc7400>. | 2014, <https://www.rfc-editor.org/info/rfc7400>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
skipping to change at page 27, line 6 ¶ | skipping to change at page 28, line 31 ¶ | |||
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-ap-nd] | [I-D.ietf-6lo-ap-nd] | |||
Sarikaya, B., Thubert, P., and M. Sethi, "Address | Thubert, P., Sarikaya, B., 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-04 (work in progress), | Networks", draft-ietf-6lo-ap-nd-05 (work in progress), | |||
November 2017. | January 2018. | |||
[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-05 (work in progress), January 2018. | |||
[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-08 (work in progress), | Communication", draft-ietf-6lo-nfc-09 (work in progress), | |||
October 2017. | January 2018. | |||
[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-13 (work | of IEEE 802.15.4", draft-ietf-6tisch-architecture-13 (work | |||
in progress), November 2017. | in progress), November 2017. | |||
[I-D.ietf-bier-architecture] | ||||
Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and | ||||
S. Aldrin, "Multicast using Bit Index Explicit | ||||
Replication", draft-ietf-bier-architecture-08 (work in | ||||
progress), September 2017. | ||||
[I-D.ietf-ipv6-multilink-subnets] | [I-D.ietf-ipv6-multilink-subnets] | |||
Thaler, D. and C. Huitema, "Multi-link Subnet Support in | Thaler, D. and C. Huitema, "Multi-link Subnet Support in | |||
IPv6", draft-ietf-ipv6-multilink-subnets-00 (work in | IPv6", draft-ietf-ipv6-multilink-subnets-00 (work in | |||
progress), July 2002. | progress), July 2002. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
[I-D.ietf-mboned-ieee802-mcast-problems] | ||||
Perkins, C., McBride, M., Stanley, D., Kumari, W., and J. | ||||
Zuniga, "Multicast Considerations over IEEE 802 Wireless | ||||
Media", draft-ietf-mboned-ieee802-mcast-problems-01 (work | ||||
in progress), February 2018. | ||||
[I-D.perkins-intarea-multicast-ieee802] | ||||
Perkins, C., Stanley, D., Kumari, W., and J. Zuniga, | ||||
"Multicast Considerations over IEEE 802 Wireless Media", | ||||
draft-perkins-intarea-multicast-ieee802-03 (work in | ||||
progress), July 2017. | ||||
[I-D.popa-6lo-6loplc-ipv6-over-ieee19012-networks] | [I-D.popa-6lo-6loplc-ipv6-over-ieee19012-networks] | |||
Popa, D. and J. Hui, "6LoPLC: Transmission of IPv6 Packets | Popa, D. and J. Hui, "6LoPLC: Transmission of IPv6 Packets | |||
over IEEE 1901.2 Narrowband Powerline Communication | over IEEE 1901.2 Narrowband Powerline Communication | |||
Networks", draft-popa-6lo-6loplc-ipv6-over- | Networks", draft-popa-6lo-6loplc-ipv6-over- | |||
ieee19012-networks-00 (work in progress), March 2014. | ieee19012-networks-00 (work in progress), March 2014. | |||
[I-D.struik-lwip-curve-representations] | ||||
Struik, R., "Alternative Elliptic Curve Representations", | ||||
draft-struik-lwip-curve-representations-00 (work in | ||||
progress), October 2017. | ||||
[RFC1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982, | [RFC1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982, | |||
DOI 10.17487/RFC1982, August 1996, | DOI 10.17487/RFC1982, August 1996, | |||
<https://www.rfc-editor.org/info/rfc1982>. | <https://www.rfc-editor.org/info/rfc1982>. | |||
[RFC3610] Whiting, D., Housley, R., and N. Ferguson, "Counter with | [RFC3610] Whiting, D., Housley, R., and N. Ferguson, "Counter with | |||
CBC-MAC (CCM)", RFC 3610, DOI 10.17487/RFC3610, September | CBC-MAC (CCM)", RFC 3610, DOI 10.17487/RFC3610, September | |||
2003, <https://www.rfc-editor.org/info/rfc3610>. | 2003, <https://www.rfc-editor.org/info/rfc3610>. | |||
[RFC3810] Vida, R., Ed. and L. Costa, Ed., "Multicast Listener | [RFC3810] Vida, R., Ed. and L. Costa, Ed., "Multicast Listener | |||
Discovery Version 2 (MLDv2) for IPv6", RFC 3810, | Discovery Version 2 (MLDv2) for IPv6", RFC 3810, | |||
skipping to change at page 28, line 23 ¶ | skipping to change at page 30, line 5 ¶ | |||
<https://www.rfc-editor.org/info/rfc3971>. | <https://www.rfc-editor.org/info/rfc3971>. | |||
[RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", | [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", | |||
RFC 3972, DOI 10.17487/RFC3972, March 2005, | RFC 3972, DOI 10.17487/RFC3972, March 2005, | |||
<https://www.rfc-editor.org/info/rfc3972>. | <https://www.rfc-editor.org/info/rfc3972>. | |||
[RFC4429] Moore, N., "Optimistic Duplicate Address Detection (DAD) | [RFC4429] Moore, N., "Optimistic Duplicate Address Detection (DAD) | |||
for IPv6", RFC 4429, DOI 10.17487/RFC4429, April 2006, | for IPv6", RFC 4429, DOI 10.17487/RFC4429, April 2006, | |||
<https://www.rfc-editor.org/info/rfc4429>. | <https://www.rfc-editor.org/info/rfc4429>. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
[RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 | [RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 | |||
over Low-Power Wireless Personal Area Networks (6LoWPANs): | over Low-Power Wireless Personal Area Networks (6LoWPANs): | |||
Overview, Assumptions, Problem Statement, and Goals", | Overview, Assumptions, Problem Statement, and Goals", | |||
RFC 4919, DOI 10.17487/RFC4919, August 2007, | RFC 4919, DOI 10.17487/RFC4919, August 2007, | |||
<https://www.rfc-editor.org/info/rfc4919>. | <https://www.rfc-editor.org/info/rfc4919>. | |||
[RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy | [RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy | |||
Extensions for Stateless Address Autoconfiguration in | Extensions for Stateless Address Autoconfiguration in | |||
IPv6", RFC 4941, DOI 10.17487/RFC4941, September 2007, | IPv6", RFC 4941, DOI 10.17487/RFC4941, September 2007, | |||
<https://www.rfc-editor.org/info/rfc4941>. | <https://www.rfc-editor.org/info/rfc4941>. | |||
[RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., | [RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., | |||
Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, | Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, | |||
JP., and R. Alexander, "RPL: IPv6 Routing Protocol for | JP., and R. Alexander, "RPL: IPv6 Routing Protocol for | |||
Low-Power and Lossy Networks", RFC 6550, | Low-Power and Lossy Networks", RFC 6550, | |||
DOI 10.17487/RFC6550, March 2012, | DOI 10.17487/RFC6550, March 2012, | |||
<https://www.rfc-editor.org/info/rfc6550>. | <https://www.rfc-editor.org/info/rfc6550>. | |||
[RFC6606] Kim, E., Kaspar, D., Gomez, C., and C. Bormann, "Problem | ||||
Statement and Requirements for IPv6 over Low-Power | ||||
Wireless Personal Area Network (6LoWPAN) Routing", | ||||
RFC 6606, DOI 10.17487/RFC6606, May 2012, | ||||
<https://www.rfc-editor.org/info/rfc6606>. | ||||
[RFC7102] Vasseur, JP., "Terms Used in Routing for Low-Power and | ||||
Lossy Networks", RFC 7102, DOI 10.17487/RFC7102, January | ||||
2014, <https://www.rfc-editor.org/info/rfc7102>. | ||||
[RFC7217] Gont, F., "A Method for Generating Semantically Opaque | [RFC7217] Gont, F., "A Method for Generating Semantically Opaque | |||
Interface Identifiers with IPv6 Stateless Address | Interface Identifiers with IPv6 Stateless Address | |||
Autoconfiguration (SLAAC)", RFC 7217, | Autoconfiguration (SLAAC)", RFC 7217, | |||
DOI 10.17487/RFC7217, April 2014, | DOI 10.17487/RFC7217, April 2014, | |||
<https://www.rfc-editor.org/info/rfc7217>. | <https://www.rfc-editor.org/info/rfc7217>. | |||
[RFC7228] Bormann, C., Ersue, M., and A. Keranen, "Terminology for | ||||
Constrained-Node Networks", RFC 7228, | ||||
DOI 10.17487/RFC7228, May 2014, | ||||
<https://www.rfc-editor.org/info/rfc7228>. | ||||
[RFC7428] Brandt, A. and J. Buron, "Transmission of IPv6 Packets | [RFC7428] Brandt, A. and J. Buron, "Transmission of IPv6 Packets | |||
over ITU-T G.9959 Networks", RFC 7428, | over ITU-T G.9959 Networks", RFC 7428, | |||
DOI 10.17487/RFC7428, February 2015, | DOI 10.17487/RFC7428, February 2015, | |||
<https://www.rfc-editor.org/info/rfc7428>. | <https://www.rfc-editor.org/info/rfc7428>. | |||
[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, | |||
<https://www.rfc-editor.org/info/rfc7668>. | <https://www.rfc-editor.org/info/rfc7668>. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
[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, | |||
<https://www.rfc-editor.org/info/rfc7934>. | <https://www.rfc-editor.org/info/rfc7934>. | |||
[RFC8064] Gont, F., Cooper, A., Thaler, D., and W. Liu, | [RFC8064] Gont, F., Cooper, A., Thaler, D., and W. Liu, | |||
"Recommendation on Stable IPv6 Interface Identifiers", | "Recommendation on Stable IPv6 Interface Identifiers", | |||
RFC 8064, DOI 10.17487/RFC8064, February 2017, | RFC 8064, DOI 10.17487/RFC8064, February 2017, | |||
<https://www.rfc-editor.org/info/rfc8064>. | <https://www.rfc-editor.org/info/rfc8064>. | |||
skipping to change at page 29, line 35 ¶ | skipping to change at page 31, line 32 ¶ | |||
M., and D. Barthel, "Transmission of IPv6 Packets over | M., and D. Barthel, "Transmission of IPv6 Packets over | |||
Digital Enhanced Cordless Telecommunications (DECT) Ultra | Digital Enhanced Cordless Telecommunications (DECT) Ultra | |||
Low Energy (ULE)", RFC 8105, DOI 10.17487/RFC8105, May | Low Energy (ULE)", RFC 8105, DOI 10.17487/RFC8105, May | |||
2017, <https://www.rfc-editor.org/info/rfc8105>. | 2017, <https://www.rfc-editor.org/info/rfc8105>. | |||
[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>. | |||
[RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | ||||
Przygienda, T., and S. Aldrin, "Multicast Using Bit Index | ||||
Explicit Replication (BIER)", RFC 8279, | ||||
DOI 10.17487/RFC8279, November 2017, | ||||
<https://www.rfc-editor.org/info/rfc8279>. | ||||
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/IEEE | IEEE Standard 802.15.4, DOI 10.1109/IEEE | |||
P802.15.4-REVd/D01, June 2017, | 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>. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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 provide a sequence number to | |||
and serves the requirements expressed Appendix B.1 by enabling the | the registration and serves the requirements expressed Appendix B.1 | |||
mobility of devices from one LLN to the next based on the | by enabling the mobility of devices from one LLN to the next based on | |||
complementary work in the "IPv6 Backbone Router" | the complementary work in the "IPv6 Backbone Router" | |||
[I-D.ietf-6lo-backbone-router] specification. | [I-D.ietf-6lo-backbone-router] specification. | |||
In the context of the the TimeSlotted Channel Hopping (TSCH) mode of | In the context of the the TimeSlotted Channel Hopping (TSCH) mode of | |||
IEEE Std. 802.15.4 [IEEEstd802154], the "6TiSCH architecture" | IEEE Std. 802.15.4 [IEEEstd802154], the "6TiSCH architecture" | |||
[I-D.ietf-6tisch-architecture] introduces how a 6LoWPAN ND host could | [I-D.ietf-6tisch-architecture] introduces how a 6LoWPAN ND host could | |||
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. | |||
This specification is extended by "Address Protected Neighbor | ||||
Discovery for Low-power and Lossy Networks" [I-D.ietf-6lo-ap-nd] to | ||||
providing a solution to some of the security-related requirements | ||||
expressed in Appendix B.5. | ||||
"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 IPv6 ND ([RFC4861], | the multicast operations that are related to IPv6 ND ([RFC4861], | |||
[RFC4862]) and plague the wireless medium. This serves scalability | [RFC4862]) and affect the operation of the wireless medium | |||
[I-D.ietf-mboned-ieee802-mcast-problems] | ||||
[I-D.perkins-intarea-multicast-ieee802]. This serves the scalability | ||||
requirements listed in Appendix B.6. | requirements listed in Appendix B.6. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
Finally Appendix B.7 provides a matching of requirements with the | ||||
specifications that serves them. | ||||
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. | |||
B.1. Requirements Related to Mobility | B.1. Requirements Related to Mobility | |||
Due to the unstable nature of LLN links, even in a LLN of immobile | Due to the unstable nature of LLN links, even in a LLN of immobile | |||
nodes a 6LN may change its point of attachment to a 6LR, say 6LR-a, | nodes a 6LN may change its point of attachment to a 6LR, say 6LR-a, | |||
and may not be able to notify 6LR-a. Consequently, 6LR-a may still | and may not be able to notify 6LR-a. Consequently, 6LR-a may still | |||
attract traffic that it cannot deliver any more. When links to a 6LR | attract traffic that it cannot deliver any more. When links to a 6LR | |||
change state, there is thus a need to identify stale states in a 6LR | change state, there is thus a need to identify stale states in a 6LR | |||
and restore reachability in a timely fashion. | and restore reachability in a timely fashion. | |||
Req1.1: Upon a change of point of attachment, connectivity via a new | Req1.1: Upon a change of point of attachment, connectivity via a new | |||
6LR MUST be restored timely without the need to de-register from the | 6LR MUST be restored in a timely fashion without the need to de- | |||
previous 6LR. | register from the previous 6LR. | |||
Req1.2: For that purpose, the protocol MUST enable to differentiate | Req1.2: For that purpose, the protocol MUST enable to differentiate | |||
between multiple registrations from one 6LoWPAN Node and | between multiple registrations from one 6LoWPAN Node and | |||
registrations from different 6LoWPAN Nodes claiming the same address. | registrations from different 6LoWPAN Nodes claiming the same address. | |||
Req1.3: Stale states MUST be cleaned up in 6LRs. | Req1.3: Stale states MUST be cleaned up in 6LRs. | |||
Req1.4: A 6LoWPAN Node SHOULD also be capable to register its Address | Req1.4: A 6LoWPAN Node SHOULD also be capable to register its Address | |||
to multiple 6LRs, and this, concurrently. | concurrently to multiple 6LRs. | |||
B.2. Requirements Related to Routing Protocols | B.2. Requirements Related to Routing Protocols | |||
The point of attachment of a 6LN may be a 6LR in an LLN mesh. IPv6 | The point of attachment of a 6LN may be a 6LR in an LLN mesh. IPv6 | |||
routing in a LLN can be based on RPL, which is the routing protocol | routing in a LLN can be based on RPL, which is the routing protocol | |||
that was defined at the IETF for this particular purpose. Other | that was defined at the IETF for this particular purpose. Other | |||
routing protocols than RPL are also considered by Standard Defining | routing protocols than RPL are also considered by Standard Defining | |||
Organizations (SDO) on the basis of the expected network | Organizations (SDO) on the basis of the expected network | |||
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 | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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 [RFC8279] | |||
[I-D.ietf-bier-architecture] proposes an optimized technique to | proposes an optimized technique to enable multicast in a LLN with a | |||
enable multicast in a LLN with a very limited requirement for routing | 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 so that the 6LR | Req2.1: The ND registration method SHOULD be extended so that the 6LR | |||
is able to advertise the Address of a 6LoWPAN Node over the selected | is able to advertise the Address of a 6LoWPAN Node over the selected | |||
routing protocol and obtain reachability to that Address using the | routing protocol and obtain reachability to that Address 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 | |||
skipping to change at page 32, line 42 ¶ | skipping to change at page 35, line 4 ¶ | |||
Communication [I-D.ietf-6lo-nfc], IEEE Std. 802.11ah | Communication [I-D.ietf-6lo-nfc], IEEE Std. 802.11ah | |||
[I-D.delcarpio-6lo-wlanah], as well as IEEE1901.2 Narrowband | [I-D.delcarpio-6lo-wlanah], as well as IEEE1901.2 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 | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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. | |||
Req3.2: As part of this extension, a mechanism to compute a unique | Req3.2: As part of this extension, a mechanism to compute a unique | |||
Identifier should be provided, with the capability to form a Link- | Identifier should be provided, with the capability to form a Link- | |||
Local Address that SHOULD be unique at least within the LLN connected | Local Address that SHOULD be unique at least within the LLN connected | |||
to a 6LBR discovered by ND in each node within the LLN. | to a 6LBR discovered by ND in each node within the LLN. | |||
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. | |||
skipping to change at page 33, line 41 ¶ | skipping to change at page 36, line 5 ¶ | |||
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 | |||
when the node that registered the address is sleeping. | when the node that registered the address is sleeping. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
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 | |||
skipping to change at page 34, line 14 ¶ | skipping to change at page 36, line 28 ¶ | |||
Related requirements are: | Related requirements are: | |||
Req5.1: 6LoWPAN ND security mechanisms SHOULD provide a mechanism for | Req5.1: 6LoWPAN ND security mechanisms SHOULD provide a mechanism for | |||
the 6LR, 6LBR and 6BBR to authenticate and authorize one another for | the 6LR, 6LBR and 6BBR to authenticate and authorize one another for | |||
their respective roles, as well as with the 6LoWPAN Node for the role | their respective roles, as well as with the 6LoWPAN Node for the role | |||
of 6LR. | of 6LR. | |||
Req5.2: 6LoWPAN ND security mechanisms SHOULD provide a mechanism for | Req5.2: 6LoWPAN ND security mechanisms SHOULD provide a mechanism for | |||
the 6LR and the 6LBR to validate new registration of authorized | the 6LR and the 6LBR to validate new registration of authorized | |||
nodes. Joining of unauthorized nodes MUST be impossible. | nodes. Joining of unauthorized nodes MUST be prevented. | |||
Req5.3: 6LoWPAN ND security mechanisms SHOULD lead to small packet | Req5.3: 6LoWPAN ND security mechanisms SHOULD lead to small packet | |||
sizes. In particular, the NS, NA, DAR and DAC messages for a re- | sizes. In particular, the NS, NA, DAR and DAC messages for a re- | |||
registration flow SHOULD NOT exceed 80 octets so as to fit in a | registration flow SHOULD NOT exceed 80 octets so as to fit in a | |||
secured IEEE Std.802.15.4 [IEEEstd802154] frame. | secured IEEE Std.802.15.4 [IEEEstd802154] frame. | |||
Req5.4: Recurrent 6LoWPAN ND security operations MUST NOT be | Req5.4: Recurrent 6LoWPAN ND security operations MUST NOT be | |||
computationally intensive on the LoWPAN Node CPU. When a Key hash | computationally intensive on the LoWPAN Node CPU. When a Key hash | |||
calculation is employed, a mechanism lighter than SHA-1 SHOULD be | calculation is employed, a mechanism lighter than SHA-1 SHOULD be | |||
preferred. | preferred. | |||
skipping to change at page 34, line 42 ¶ | skipping to change at page 37, line 5 ¶ | |||
present on the device for upper layer security such as TLS. | present on the device for upper layer security such as TLS. | |||
Req5.7: Public key and signature sizes SHOULD be minimized while | Req5.7: Public key and signature sizes SHOULD be minimized while | |||
maintaining adequate confidentiality and data origin authentication | maintaining adequate confidentiality and data origin authentication | |||
for multiple types of applications with various degrees of | for multiple types of applications with various degrees of | |||
criticality. | criticality. | |||
Req5.8: Routing of packets should continue when links pass from the | Req5.8: Routing of packets should continue when links pass from the | |||
unsecured to the secured state. | unsecured to the secured state. | |||
Internet-Draft An Update to 6LoWPAN ND February | ||||
Req5.9: 6LoWPAN ND security mechanisms SHOULD provide a mechanism for | Req5.9: 6LoWPAN ND security mechanisms SHOULD provide a mechanism for | |||
the 6LR and the 6LBR to validate whether a new registration for a | the 6LR and the 6LBR to validate whether a new registration for a | |||
given address corresponds to the same 6LoWPAN Node that registered it | given address corresponds to the same 6LoWPAN Node that registered it | |||
initially, and, if not, determine the rightful owner, and deny or | initially, and, if not, determine the rightful owner, and deny or | |||
clean-up the registration that is duplicate. | clean-up the registration that is duplicate. | |||
B.6. Requirements Related to Scalability | B.6. Requirements Related to Scalability | |||
Use cases from Automatic Meter Reading (AMR, collection tree | Use cases from Automatic Meter Reading (AMR, collection tree | |||
operations) and Advanced Metering Infrastructure (AMI, bi-directional | operations) and Advanced Metering Infrastructure (AMI, bi-directional | |||
skipping to change at page 35, line 15 ¶ | skipping to change at page 37, line 29 ¶ | |||
to the 6LBR over a large number of LLN hops (e.g. 15). | to the 6LBR over a large number of LLN hops (e.g. 15). | |||
Related requirements are: | Related requirements are: | |||
Req6.1: The registration mechanism SHOULD enable a single 6LBR to | Req6.1: The registration mechanism SHOULD enable a single 6LBR to | |||
register multiple thousands of devices. | register multiple thousands of devices. | |||
Req6.2: The timing of the registration operation should allow for a | Req6.2: The timing of the registration operation should allow for a | |||
large latency such as found in LLNs with ten and more hops. | large latency such as found in LLNs with ten and more hops. | |||
B.7. Matching Requirements with Specifications | ||||
I-drafts/RFCs addressing requirements | ||||
+-------------+-----------------------------------------+ | ||||
| Requirement | Document | | ||||
+-------------+-----------------------------------------+ | ||||
| Req1.1 | [I-D.ietf-6lo-backbone-router] | | ||||
| | | | ||||
| Req1.2 | [RFC6775] | | ||||
| | | | ||||
| Req1.3 | [RFC6775] | | ||||
| | | | ||||
| Req1.4 | This RFC | | ||||
| | | | ||||
| Req2.1 | This RFC | | ||||
| | | | ||||
| Req2.2 | This RFC | | ||||
| | | | ||||
| Req2.3 | | | ||||
| | | | ||||
| Req3.1 | Technology Dependant | | ||||
| | | | ||||
| Req3.2 | Technology Dependant | | ||||
| | | | ||||
| Req3.3 | Technology Dependant | | ||||
Internet-Draft An Update to 6LoWPAN ND February | ||||
| | | | ||||
| Req3.4 | Technology Dependant | | ||||
| | | | ||||
| Req4.1 | This RFC | | ||||
| | | | ||||
| Req4.2 | This RFC | | ||||
| | | | ||||
| Req4.3 | [RFC6775] | | ||||
| | | | ||||
| Req5.1 | | | ||||
| | | | ||||
| Req5.2 | [I-D.ietf-6lo-ap-nd] | | ||||
| | | | ||||
| Req5.3 | | | ||||
| | | | ||||
| Req5.4 | | | ||||
| | | | ||||
| Req5.5 | [I-D.ietf-6lo-ap-nd] | | ||||
| | | | ||||
| Req5.6 | [I-D.struik-lwip-curve-representations] | | ||||
| | | | ||||
| Req5.7 | [I-D.ietf-6lo-ap-nd] | | ||||
| | | | ||||
| Req5.8 | | | ||||
| | | | ||||
| Req5.9 | [I-D.ietf-6lo-ap-nd] | | ||||
| | | | ||||
| Req6.1 | This RFC | | ||||
| | | | ||||
| Req6.2 | This RFC | | ||||
+-------------+-----------------------------------------+ | ||||
Table 7: Addressing requirements | ||||
Appendix C. Subset of a 6LoWPAN Glossary | ||||
This document often uses the followng acronyms: | ||||
6BBR: 6LoWPAN Backbone Router (proxy for the registration) | ||||
6LBR: 6LoWPAN Border Router (authoritative on DAD) | ||||
6LN: 6LoWPAN Node | ||||
6LR: 6LoWPAN Router (relay to the registration process) | ||||
6CIO: Capability Indication Option | ||||
Internet-Draft An Update to 6LoWPAN ND February | ||||
(E)ARO: (Extended) Address Registration Option | ||||
DAD: Duplicate Address Detection | ||||
LLN: Low Power Lossy Network (a typical IoT network) | ||||
NCE: Neighbor Cache Entry | ||||
TSCH: TimeSlotted Channel Hopping | ||||
TID: Transaction ID (a sequence counter in the EARO) | ||||
Authors' Addresses | Authors' Addresses | |||
Pascal Thubert (editor) | Pascal Thubert (editor) | |||
Cisco Systems, Inc | Cisco Systems, Inc | |||
Building D (Regus) 45 Allee des Ormes | Building D (Regus) 45 Allee des Ormes | |||
MOUGINS - Sophia Antipolis | Mougins - Sophia Antipolis | |||
FRANCE | France | |||
Phone: +33 4 97 23 26 34 | Phone: +33 4 97 23 26 34 | |||
Email: pthubert@cisco.com | Email: pthubert@cisco.com | |||
Erik Nordmark | Erik Nordmark | |||
Zededa | ||||
Santa Clara, CA | Santa Clara, CA | |||
USA | United States of America | |||
Email: nordmark@sonic.net | Email: nordmark@sonic.net | |||
Samita Chakrabarti | Samita Chakrabarti | |||
Verizon | Verizon | |||
San Jose, CA | San Jose, CA | |||
USA | United States of America | |||
Email: samitac.ietf@gmail.com | Email: samitac.ietf@gmail.com | |||
Charles E. Perkins | Charles E. Perkins | |||
Futurewei | Futurewei | |||
2330 Central Expressway | 2330 Central Expressway | |||
Santa Clara 95050 | Santa Clara 95050 | |||
Unites States | United States of America | |||
Email: charliep@computer.org | Email: charliep@computer.org | |||
End of changes. 125 change blocks. | ||||
199 lines changed or deleted | 458 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |