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