rfc9096.original | rfc9096.txt | |||
---|---|---|---|---|
IPv6 Operations Working Group (v6ops) F. Gont | Internet Engineering Task Force (IETF) F. Gont | |||
Internet-Draft SI6 Networks | Request for Comments: 9096 SI6 Networks | |||
Updates: 7084 (if approved) J. Zorz | BCP: 234 J. Zorz | |||
Intended status: Best Current Practice 6connect | Updates: 7084 6connect | |||
Expires: November 28, 2021 R. Patterson | Category: Best Current Practice R. Patterson | |||
Sky UK | ISSN: 2070-1721 Sky UK | |||
B. Volz | B. Volz | |||
Cisco | Individual Contributor | |||
May 27, 2021 | August 2021 | |||
Improving the Reaction of Customer Edge Routers to IPv6 Renumbering | Improving the Reaction of Customer Edge Routers to IPv6 Renumbering | |||
Events | Events | |||
draft-ietf-v6ops-cpe-slaac-renum-08 | ||||
Abstract | Abstract | |||
This document specifies improvements to Customer Edge Routers that | This document specifies improvements to Customer Edge routers that | |||
help mitigate the problems that may arise when network configuration | help mitigate the problems that may arise when network configuration | |||
information becomes invalid, without any explicit signaling of that | information becomes invalid without any explicit signaling of that | |||
condition to the local nodes. This document updates RFC7084. | condition to the local nodes. This document updates RFC 7084. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This memo documents an Internet Best Current Practice. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
BCPs is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on November 28, 2021. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9096. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 | 2. Requirements Language | |||
3. Improved Customer Edge Router Behavior . . . . . . . . . . . 3 | 3. Improved Customer Edge Router Behavior | |||
3.1. Automatic DHCPv6 RELEASEs . . . . . . . . . . . . . . . . 4 | 3.1. Automatic DHCPv6 RELEASEs | |||
3.2. Stability of IAIDs . . . . . . . . . . . . . . . . . . . 4 | 3.2. Stability of IAIDs | |||
3.3. Interface Between WAN-side and LAN-side . . . . . . . . . 4 | 3.3. Interface between the WAN Side and LAN Side | |||
3.4. LAN-side Option Lifetimes . . . . . . . . . . . . . . . . 5 | 3.4. LAN-Side Option Lifetimes | |||
3.5. Signaling Stale Configuration Information . . . . . . . . 7 | 3.5. Signaling Stale Configuration Information | |||
4. Recommended Option Lifetimes Configuration Values . . . . . . 9 | 4. Recommended Option Lifetimes Configuration Values | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 5. IANA Considerations | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 6. Security Considerations | |||
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 | 7. References | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 7.1. Normative References | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 10 | 7.2. Informative References | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 11 | Acknowledgments | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
In scenarios where network configuration information becomes invalid | In scenarios where network configuration information becomes invalid | |||
without any explicit signaling of that condition (such as when a | without any explicit signaling of that condition (such as when a | |||
Customer Edge Router crashes and reboots without knowledge of the | Customer Edge (CE) router crashes and reboots without knowledge of | |||
previously-employed configuration information), hosts on the local | the previously employed configuration information), hosts on the | |||
network will continue using stale information for an unacceptably | local network will continue using stale information for an | |||
long period of time, thus resulting in connectivity problems. This | unacceptably long period of time, thus resulting in connectivity | |||
problem is documented in detail in [RFC8978]. | problems. This problem is documented in detail in [RFC8978]. | |||
This document specifies improvements to Customer Edge (CE) Routers | This document specifies improvements to CE routers that help mitigate | |||
that help mitigate the aforementioned problem for residential and | the aforementioned problem for residential and small office | |||
small office scenarios. It specifies recommendations for the default | scenarios. It specifies recommendations for the default behavior of | |||
behavior of CE Routers, and does not preclude the availability of | CE routers but does not preclude the availability of configuration | |||
configuration knobs that might allow an operator or user to manually- | knobs that might allow an operator or user to manually configure the | |||
configure the CE Router to deviate from these recommendations. This | CE router to deviate from these recommendations. This document | |||
document updates RFC7084. | updates RFC 7084. | |||
2. Requirements Language | 2. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
3. Improved Customer Edge Router Behavior | 3. Improved Customer Edge Router Behavior | |||
This section specifies and clarifies requirements for Customer Edge | This section specifies and clarifies requirements for CE routers that | |||
Routers that can help mitigate the problem discussed in Section 1, | can help mitigate the problem discussed in Section 1, particularly | |||
particularly when they employ prefixes learned via DHCPv6-Prefix | when they employ prefixes learned via DHCPv6 Prefix Delegation | |||
Delegation (DHCPv6-PD) [RFC8415] on the WAN-side with Stateless | (DHCPv6-PD) [RFC8415] on the WAN side with Stateless Address | |||
Address Autoconfiguration (SLAAC) [RFC4862] or DHCPv6 [RFC8415] on | Autoconfiguration (SLAAC) [RFC4862] or DHCPv6 [RFC8415] on the LAN | |||
the LAN-side. The recommendations in this document help improve | side. The recommendations in this document help improve robustness | |||
robustness at the Customer Edge Router (on which the user or ISP may | at the CE router (on which the user or ISP may have no control) and | |||
have no control), and do not preclude implementation of host-side | do not preclude implementation of host-side improvements such as | |||
improvements such as those specified in [I-D.ietf-6man-slaac-renum]. | those specified in [6MAN-SLAAC-RENUM]. | |||
This document specifies additional prefix-delegation requirements to | This document specifies additional WAN-side prefix-delegation (WPD) | |||
those specified in [RFC7084]: | requirements to those specified in [RFC7084]: | |||
o WPD-9: CE routers SHOULD NOT automatically send DHCPv6-PD RELEASE | WPD-9: CE routers SHOULD NOT automatically send DHCPv6-PD RELEASE | |||
messages upon reboot events. See Section 3.1 for further details. | messages upon restart events. See Section 3.1 for further | |||
details. | ||||
o WPD-10: CE Routers MUST by default use a WAN-side IAID value that | WPD-10: CE routers MUST by default use a WAN-side Identity | |||
is stable between CE Router restarts, DHCPv6 client restarts, or | Association IDentifier (IAID) value that is stable between CE | |||
interface state changes (e.g., Transient PPP interfaces), unless | router restarts, DHCPv6 client restarts, or interface state | |||
the CE Router employs the IAID techniques discussed in Section 4.5 | changes (e.g., transient PPP interfaces), unless the CE router | |||
of [RFC7844]. See Section 3.2 for further details. | employs the IAID techniques discussed in Section 4.5 of [RFC7844]. | |||
See Section 3.2 for further details. | ||||
This document also replaces LAN-side requirement L-13 from [RFC7084] | This document also replaces LAN-side requirement L-13 from [RFC7084] | |||
with: | with: | |||
o L-13: CE routers MUST signal stale configuration information as | L-13: CE routers MUST signal stale configuration information as | |||
specified in Section 3.5. | specified in Section 3.5. | |||
Finally, this document specifies the following additional LAN-side | Finally, this document specifies the following additional LAN-side | |||
requirements to those from [RFC7084]: | requirements to those from [RFC7084]: | |||
o L-15: CE routers MUST NOT advertise prefixes via SLAAC or assign | L-15: CE routers MUST NOT advertise prefixes via SLAAC or assign | |||
addresses or delegate prefixes via DHCPv6 on the LAN-side, | addresses or delegate prefixes via DHCPv6 on the LAN side using | |||
employing lifetimes that exceed the remaining lifetimes of the | lifetimes that exceed the remaining lifetimes of the corresponding | |||
corresponding prefixes learned from the WAN-side via DHCPv6-PD. | prefixes learned on the WAN side via DHCPv6-PD. For more details, | |||
For more details, see Section 3.3. | see Section 3.3. | |||
o L-16: CE routers SHOULD advertise capped SLAAC option lifetimes | L-16: CE routers SHOULD advertise capped SLAAC option lifetimes, | |||
and capped DHCPv6 IA Address Option and IA Prefix Option | capped DHCPv6 IA Address option lifetimes, and capped IA Prefix | |||
lifetimes, as specified in Section 3.4. | option lifetimes, as specified in Section 3.4. | |||
3.1. Automatic DHCPv6 RELEASEs | 3.1. Automatic DHCPv6 RELEASEs | |||
Some CE Routers are known to automatically send DHCPv6-PD RELEASE | Some CE routers are known to automatically send DHCPv6-PD RELEASE | |||
messages upon reboot events. However, this may inadvertently trigger | messages upon restart events. However, this may inadvertently | |||
a flash-renumbering scenario, along with the associated problems | trigger a flash-renumbering scenario, along with the associated | |||
discussed in [RFC8978], that this document attempts to mitigate. | problems discussed in [RFC8978], that this document attempts to | |||
mitigate. | ||||
As a result, requirement WPD-9 from Section 3 specifies that CE | As a result, requirement WPD-9 from Section 3 specifies that CE | |||
routers SHOULD NOT automatically send DHCPv6-PD RELEASE messages upon | routers SHOULD NOT automatically send DHCPv6-PD RELEASE messages upon | |||
reboot events. | restart events. | |||
3.2. Stability of IAIDs | 3.2. Stability of IAIDs | |||
[RFC8415] requires that the IAID for an IA MUST be consistent across | [RFC8415] requires that the IAID for an IA MUST be consistent across | |||
restarts of the DHCP client. However, some popular CE Routers are | restarts of the DHCP client. However, some popular CE routers are | |||
known to select new random IAIDs e.g. everytime the underlying PPP | known to select new random IAIDs, e.g., every time the underlying PPP | |||
session is established. This could be the result of extrapolating | session is established or when the device is rebooted. This could be | |||
the behavior described in [RFC7844], or simply a consequence of not | the result of extrapolating the behavior described in [RFC7844] or | |||
storing IAIDs on stable storage along with failing to employ an | simply a consequence of not storing IAIDs on stable storage along | |||
algorithm that consistently generates the same IAID upon reboots. | with failure to employ an algorithm that consistently generates the | |||
Thus, requirement WPD-10 from Section 3 prevents CE Routers from | same IAID upon reboots. Thus, requirement WPD-10 from Section 3 | |||
inadvertently triggering flash-renumbering events on the local | prevents CE routers from inadvertently triggering flash-renumbering | |||
network. | events on the local network. | |||
3.3. Interface Between WAN-side and LAN-side | 3.3. Interface between the WAN Side and LAN Side | |||
The "Preferred Lifetime" and "Valid Lifetime" of Prefix Information | The "Preferred Lifetime" and "Valid Lifetime" of Prefix Information | |||
Options (PIOs) [RFC4861] corresponding to prefixes learned via | Options (PIOs) [RFC4861] corresponding to prefixes learned via | |||
DHCPv6-PD MUST NOT span past the remaining preferred and valid | DHCPv6-PD on the WAN side MUST NOT span past the remaining preferred | |||
lifetimes of the corresponding DHCPv6-PD prefixes. This means that | and valid lifetimes of the corresponding DHCPv6-PD prefixes. This | |||
the "Preferred Lifetime" and the "Valid Lifetime" advertised in PIOs | means that the "Preferred Lifetime" and the "Valid Lifetime" | |||
by the CE router MUST be dynamically adjusted such that they never | advertised in PIOs by the CE router MUST be dynamically adjusted such | |||
span past the remaining preferred and valid lifetimes of the | that they never span past the remaining preferred and valid lifetimes | |||
corresponding prefixes delegated via DHCPv6-PD on the WAN-side. | of the corresponding prefixes delegated via DHCPv6-PD on the WAN | |||
side. | ||||
Similarly, the "preferred-lifetime" and "valid-lifetime" of DHCPv6 IA | Similarly, the "preferred-lifetime" and "valid-lifetime" of DHCPv6 IA | |||
Address Options and DHCPv6 IA Prefix Options employed with DHCPv6 on | Address options and DHCPv6 IA Prefix options employed with DHCPv6 on | |||
the LAN-side MUST NOT span past the remaining preferred and valid | the LAN side MUST NOT span past the remaining preferred and valid | |||
lifetimes of the corresponding prefixes leased via DHCPv6-PD on the | lifetimes of the corresponding prefixes learned via DHCPv6-PD on the | |||
WAN-side. This means that the "preferred-lifetime" and "valid- | WAN side. This means that the "preferred-lifetime" and "valid- | |||
lifetime" of DHCPv6 IA Address Options and DHCPv6 IA Prefix Options | lifetime" of DHCPv6 IA Address options and DHCPv6 IA Prefix options | |||
employed with DHCPv6 on the LAN-side MUST be dynamically adjusted | employed with DHCPv6 on the LAN side MUST be dynamically adjusted | |||
such that they never span past the remaining preferred and valid | such that they never span past the remaining preferred and valid | |||
lifetimes of the corresponding prefixes delegated to the CE router on | lifetimes of the corresponding prefixes delegated to the CE router on | |||
the WAN-side via DHCPv6-PD. | the WAN side via DHCPv6-PD. | |||
RATIONALE: | RATIONALE: | |||
* The lifetime values employed for the "Preferred Lifetime" | * The lifetime values employed for the "Preferred Lifetime" | |||
(AdvPreferredLifetime) and "Valid Lifetime" (AdvValidLifetime) | (AdvPreferredLifetime) and "Valid Lifetime" (AdvValidLifetime) of | |||
of SLAAC Prefix Information Options must never be larger than | SLAAC Prefix Information Options must never be larger than the | |||
the remaining lifetimes for the corresponding prefix (as | remaining lifetimes of the corresponding prefixes (as learned via | |||
learned via DHCPv6-PD on the WAN-side). This is in line with | DHCPv6-PD on the WAN side). This is in line with the requirement | |||
the requirement from Section 6.3 of [RFC8415], which states | from Section 6.3 of [RFC8415], which states: | |||
that "if the delegated prefix or a prefix derived from it is | ||||
advertised for stateless address autoconfiguration [RFC4862], | ||||
the advertised preferred and valid lifetimes MUST NOT exceed | ||||
the corresponding remaining lifetimes of the delegated prefix." | ||||
* The lifetime values of prefixes advertised on the LAN-side via | | In particular, if the delegated prefix or a prefix derived from it | |||
SLAAC must be dynamically updated (rather than static values), | | is advertised for stateless address autoconfiguration [RFC4862], | |||
otherwise the advertised lifetimes would eventually span past | | the advertised preferred and valid lifetimes MUST NOT exceed the | |||
the DHCPv6-PD lifetimes. | | corresponding remaining lifetimes of the delegated prefix. | |||
* The same considerations apply for the valid-lifetime and | * The lifetime values of prefixes advertised on the LAN side via | |||
preferred-lifetime of IA Address Options and IA Prefix Options | SLAAC must be dynamically updated (rather than static values); | |||
employed with DHCPv6 on the LAN-side. | otherwise, the advertised lifetimes would eventually span past the | |||
DHCPv6-PD lifetimes. | ||||
3.4. LAN-side Option Lifetimes | * The same considerations apply for the "valid-lifetime" and | |||
"preferred-lifetime" of IA Address options and IA Prefix options | ||||
employed with DHCPv6 on the LAN side. | ||||
CE Routers SHOULD override the default lifetime values of Neighbor | 3.4. LAN-Side Option Lifetimes | |||
CE routers SHOULD override the default lifetime values of Neighbor | ||||
Discovery options that depend in any way on changes in the prefix | Discovery options that depend in any way on changes in the prefix | |||
employed for address configuration on the LAN-side, and employ | employed for address configuration on the LAN side, and employ | |||
shorter lifetime values to improve the robustness to renumbering | shorter lifetime values to improve the robustness to renumbering | |||
events, while complying with the requirements from Section 3.3 of | events, while complying with the requirements from Section 3.3 of | |||
this document and the recommendations in [RFC7772]. | this document and the recommendations in [RFC7772]. | |||
CE Routers SHOULD set the Router Lifetime to ND_PREFERRED_LIMIT. | CE routers SHOULD set the "Router Lifetime" of Router Advertisement | |||
(RA) messages to ND_PREFERRED_LIMIT. | ||||
CE Routers SHOULD also set the PIO Preferred Lifetime to the lesser | CE routers SHOULD also set the PIO "Preferred Lifetime" to the lesser | |||
of the remaining preferred lifetime (see Section 3.3) and | of the remaining preferred lifetime of the corresponding prefix (see | |||
ND_PREFERRED_LIMIT, and the PIO Valid Lifetime to the lesser of the | Section 3.3) and ND_PREFERRED_LIMIT, and set the PIO "Valid Lifetime" | |||
remaining valid lifetime and ND_VALID_LIMIT. Additionally, the Route | to the lesser of the remaining valid lifetime of the corresponding | |||
Lifetime of Route Information Options (RIOs) [RFC4191], the Lifetime | prefix and ND_VALID_LIMIT. Additionally, the "Route Lifetime" of | |||
of Recursive DNS Search Options (RDNSSO) [RFC8106], and the Lifetime | Route Information Options (RIOs) [RFC4191], the "Lifetime" of | |||
of DNS Search List Options (DNSSLO) [RFC8106] SHOULD be set to the | Recursive DNS Server (RDNSS) options [RFC8106], and the "Lifetime" of | |||
lesser of the longest valid-lifetime in a DHCPv6 IA Prefix Option | DNS Search List (DNSSL) options [RFC8106] SHOULD be set to the lesser | |||
(received via DHCPv6 on the WAN-side) and ND_VALID_LIMIT, if any of | of the longest remaining valid lifetime of a prefix (leased via | |||
these options are included in Router Advertisement messages. | DHCPv6 on the WAN side) and ND_VALID_LIMIT, if any of these options | |||
are included in Router Advertisement messages. | ||||
NOTES: In scenarios where the valid-lifetime and the preferred- | NOTE: In scenarios where the valid lifetime and the preferred | |||
lifetime of the prefix leased via DHCPv6 on the WAN-side are | lifetime of prefixes learned via DHCPv6 on the WAN side are always | |||
always larger than ND_VALID_LIMIT and ND_PREFERRED_LIMIT, | larger than ND_VALID_LIMIT and ND_PREFERRED_LIMIT, respectively, | |||
respectively, the lifetime values advertised on the LAN-side will | the lifetime values advertised on the LAN side will not experience | |||
not experience actual changes. | actual changes. | |||
The above text refers to the Neighbor Discovery Options that are | The above text refers to the Neighbor Discovery options that are | |||
typically employed by CE Routers. A CE Router may need to apply | typically employed by CE routers. A CE router may need to apply the | |||
the same policy for setting the lifetime of other Neighbor | same policy for setting the lifetime of other Neighbor Discovery | |||
Discovery options it employs, if and where applicable. | options it employs, if and where applicable. | |||
CE Routers providing stateful address configuration via DHCPv6 SHOULD | CE routers providing stateful address configuration via DHCPv6 SHOULD | |||
set the DHCPv6 IA Address Option preferred-lifetime to the lesser of | set the "preferred-lifetime" of a DHCPv6 IA Address option to the | |||
the remaining preferred lifetime (see Section 3.3) and | lesser of the remaining preferred lifetime of the corresponding | |||
ND_PREFERRED_LIMIT, and the valid-lifetime of the same option to the | prefix (see Section 3.3) and ND_PREFERRED_LIMIT, and set the "valid- | |||
lesser of the remaining valid lifetime and ND_VALID_LIMIT. | lifetime" of the same option to the lesser of the remaining valid | |||
lifetime of the corresponding prefix and ND_VALID_LIMIT. | ||||
CE Routers providing DHCPv6-PD on the LAN-side SHOULD set the DHCPv6 | CE routers providing DHCPv6-PD on the LAN side SHOULD set the | |||
IA Prefix Option preferred-lifetime to the lesser of the remaining | "preferred-lifetime" of a DHCPv6 IA Prefix option to the lesser of | |||
preferred lifetime (see Section 3.3) and ND_PREFERRED_LIMIT, and the | the remaining preferred lifetime of the corresponding prefix (see | |||
valid-lifetime of the same option to the lesser of the remaining | Section 3.3) and ND_PREFERRED_LIMIT, and set the "valid-lifetime" of | |||
valid lifetime and ND_VALID_LIMIT. | the same option to the lesser of the remaining valid lifetime of the | |||
corresponding prefix and ND_VALID_LIMIT. | ||||
RATIONALE: | RATIONALE: | |||
* The Valid Lifetime and Preferred Lifetime of PIOs have a direct | * The "Valid Lifetime" and "Preferred Lifetime" of PIOs have a | |||
impact on three different aspects: | direct impact on three different aspects: | |||
+ The amount of time hosts may end up employing stale network | - The amount of time hosts may end up employing stale network | |||
configuration information (see [RFC8978]). | configuration information (see [RFC8978]). | |||
+ The amount of time CE Routers need to persist trying to | - The amount of time CE routers need to persist trying to | |||
deprecate stale network configuration information (e.g. to | deprecate stale network configuration information (e.g., to | |||
handle cases where hosts miss Router Advertisements and thus | handle cases where hosts miss Router Advertisement messages and | |||
still consider the stale information as valid). | thus still consider the stale information as valid). | |||
+ The amount of information that CE Routers need to maintain | - The amount of information that CE routers need to maintain | |||
when e.g. multiple crash-and-reboot events occur in the | when, e.g., multiple crash-and-reboot events occur in the time | |||
timespan represented by the option lifetimes employed on the | span represented by the option lifetimes employed on the LAN | |||
LAN-side. | side. | |||
* CE Routers need not employ the (possibly long) WAN-side | * CE routers need not employ the (possibly long) WAN-side DHCPv6-PD | |||
DHCPv6-PD lifetimes for the Valid Lifetime and Preferred | lifetimes for the "Valid Lifetime" and "Preferred Lifetime" of | |||
Lifetime of PIOs sent in Router Advertisements messages to | PIOs sent in Router Advertisement messages to advertise sub- | |||
advertise sub-prefixes of the leased prefix. Instead, CE | prefixes of the leased prefix. Instead, CE routers SHOULD use | |||
Routers SHOULD use shorter values for the Valid Lifetime and | shorter values for the "Valid Lifetime" and "Preferred Lifetime" | |||
Preferred Lifetime of PIOs, since subsequent Router | of PIOs, since subsequent Router Advertisement messages will | |||
Advertisement messages will nevertheless refresh the associated | nevertheless refresh the associated lifetimes, leading to the same | |||
lifetimes, leading to the same effective lifetimes as specified | effective lifetimes as specified by the WAN-side DHCPv6-PD | |||
by the WAN-side DHCPv6-PD lifetimes. | lifetimes. | |||
* Similarly, CE Routers need not employ the (possibly long) WAN- | * Similarly, CE routers need not employ the (possibly long) WAN-side | |||
side DHCPv6-PD lifetimes for the valid-lifetime and preferred- | DHCPv6-PD lifetimes for the "valid-lifetime" and "preferred- | |||
lifetime of IA Address Options and IA Prefix Option employed by | lifetime" of IA Address options and IA Prefix options employed by | |||
DHCPv6 on the LAN-side, since the renewal of bindings by DHCPv6 | DHCPv6 on the LAN side, since the renewal of bindings by DHCPv6 | |||
clients will lead to the same effective lifetimes as specified | clients will lead to the same effective lifetimes as specified by | |||
by the WAN-side DHCPv6-PD lifetimes. | the WAN-side DHCPv6-PD lifetimes. | |||
3.5. Signaling Stale Configuration Information | 3.5. Signaling Stale Configuration Information | |||
When a CE Router provides LAN-side address-configuration information | When a CE router provides LAN-side address-configuration information | |||
via SLAAC: | via SLAAC: | |||
o A CE Router sending RAs that advertise dynamically-learned | * A CE router sending RAs that advertise prefixes belonging to a | |||
prefixes (e.g. via DHCPv6-PD) SHOULD record, on stable storage, | dynamically learned prefix (e.g., via DHCPv6-PD) SHOULD record, on | |||
the list of prefixes being advertised via PIOs on each network | stable storage, the list of prefixes being advertised via PIOs on | |||
segment, and the state of the "A" and "L" flags of the | each network segment and the state of the "A" and "L" flags of the | |||
corresponding PIOs. | corresponding PIOs. | |||
o Upon changes to the advertised prefixes, and after bootstrapping, | * Upon changes to the advertised prefixes, and after bootstrapping, | |||
the CE Router advertising prefix information via SLAAC proceeds as | the CE router advertising prefix information via SLAAC proceeds as | |||
follows: | follows: | |||
* Any prefixes that were previously advertised by the CE Router | - Any prefixes that were previously advertised by the CE router | |||
via PIOs in RA messages, but that have now become stale, MUST | via PIOs in RA messages, but that have now become stale, MUST | |||
be advertised with a PIO that has the "Valid Lifetime" and the | be advertised with PIOs that have the "Valid Lifetime" and the | |||
"Preferred Lifetime" set to 0, and the "A" and "L" bits | "Preferred Lifetime" set to 0 and the "A" and "L" bits | |||
unchanged. | unchanged. | |||
* The aforementioned advertisement MUST be performed for at least | - The aforementioned advertisements MUST be performed for at | |||
the "Valid Lifetime" previously employed for such prefix. The | least the "Valid Lifetime" previously employed for such | |||
CE Router MUST advertise this information with unsolicited | prefixes. The CE router MUST advertise this information with | |||
Router Advertisements as described in Section 6.2.4 of | unsolicited Router Advertisement messages, as described in | |||
[RFC4861], and MAY advertise this information via unicast | Section 6.2.4 of [RFC4861], and MAY advertise this information | |||
Router Advertisements when possible and applicable. | via unicast Router Advertisement messages when possible and | |||
applicable. | ||||
+ Note: If requirement L-16 (Section 3.4) is followed, the | NOTE: If requirement L-16 (Section 3) is followed, the | |||
Valid Lifetime need not be saved and the stale prefix can | "Valid Lifetime" need not be saved, and the stale prefix can | |||
simply be advertised for a period of ND_VALID_LIMIT. | simply be advertised for a period of ND_VALID_LIMIT. | |||
o CE Routers receiving DHCPv6 Prefix Delegations with a 0 valid- | * CE routers receiving DHCPv6 IA Prefix options with a 0 "valid- | |||
lifetime MUST advertise the corresponding sub-prefixes (as they | lifetime" MUST advertise the corresponding sub-prefixes (as they | |||
would be generated for the same leased prefix with a non-zero | would be generated for the same leased prefix with a non-zero | |||
lifetime) with a PIO with both the Preferred Lifetime and the | lifetime) with PIOs with both the "Preferred Lifetime" and the | |||
Valid Lifetime set to 0, for at least the WAN-side DHCPv6-PD | "Valid Lifetime" set to 0, for at least the WAN-side DHCPv6-PD | |||
valid-lifetime, or for a period of ND_VALID_LIMIT if the | "valid-lifetime", or for a period of ND_VALID_LIMIT if the | |||
recommended lifetimes from Section 3.4 are employed. | recommended lifetimes from Section 3.4 are employed. | |||
When a CE Router provides LAN-side DHCPv6 (address assignment or | When a CE router provides LAN-side DHCPv6 (address assignment or | |||
prefix delegation), then: | prefix delegation), then: | |||
o The CE Router SHOULD record, on stable storage, the DHCPv6 address | * The CE router SHOULD record, on stable storage, the DHCPv6 address | |||
and delegated-prefix bindings corresponding to the LAN-side. | and delegated-prefix bindings corresponding to the LAN side. | |||
o If the CE Router finds that the prefix to be employed for address | * If the CE router finds that the prefix to be employed for address | |||
assignment and/or prefix delegation has changed (e.g., upon a | assignment and/or prefix delegation has changed (e.g., upon a | |||
crash-and-reboot event) or the CE Router receives DHCPv6 Prefix | crash-and-reboot event) or the CE router receives DHCPv6 IA Prefix | |||
Delegations with 0 lifetimes, the CE Router MUST: | options with 0 lifetimes, the CE router MUST: | |||
* In Replies to DHCPv6 Request, Renew, and Rebind messages, send | - In Replies to DHCPv6 Request, Renew, and Rebind messages, send | |||
IA Address Options or IA Prefix Options (as appropriate) for | IA Address options or IA Prefix options (as appropriate) for | |||
any address assignments or prefix delegations for the | any address assignments or prefix delegations for the stale | |||
deprecated prefixes. The aforementioned options MUST be sent | prefixes. The aforementioned options MUST be sent with both | |||
with both the valid-lifetime and the preferred-lifetime set to | the "valid-lifetime" and the "preferred-lifetime" set to 0, for | |||
0, for at least the valid-lifetime originally employed for | at least the "valid-lifetime" originally employed for them, or | |||
them, or for a period of ND_VALID_LIMIT if the recommended | for a period of ND_VALID_LIMIT if the recommended lifetimes | |||
lifetimes from Section 3.4 are employed. | from Section 3.4 are employed. | |||
* Initiate sending Reconfigure messages (if possible - i.e., | - Initiate sending Reconfigure messages, if possible (i.e., | |||
client requests Reconfigure support and the CE Router offers | client requests Reconfigure support and the CE router offers | |||
it) to those clients with address assignments or prefix | it), to those clients with address assignments or prefix | |||
delegations for the deprecated prefixes. | delegations for the stale prefixes. | |||
RATIONALE: | RATIONALE: | |||
* IPv6 network renumbering is expected to take place in a planned | * IPv6 network renumbering is expected to take place in a planned | |||
manner, with old/stale prefixes being phased-out via reduced | manner with old/stale prefixes being phased out via reduced prefix | |||
prefix lifetimes while new prefixes (with normal lifetimes) are | lifetimes while new prefixes (with normal lifetimes) are | |||
introduced. However, a number of scenarios may lead to the so- | introduced. However, a number of scenarios may lead to the so- | |||
called "flash-renumbering" events, where the prefix being | called "flash-renumbering" events, where a prefix being employed | |||
employed on a network suddenly becomes invalid and replaced by | on a network suddenly becomes invalid and replaced by a new prefix | |||
a new prefix [RFC8978]. One such scenario is when a DHCPv6 | [RFC8978]. One such scenario is when an Internet Service Provider | |||
server employs dynamic prefixes and the Customer Edge Router | (ISP) employs dynamic prefixes and the CE router crashes and | |||
crashes and reboots. The requirements in this section are | reboots. The requirements in this section are meant to allow CE | |||
meant to allow Customer Edge Routers to deprecate stale | routers to deprecate stale information in such scenarios. | |||
information in such scenarios. | ||||
* The recommendations in this section expand from requirement | * The recommendations in this section expand from requirement L-13 | |||
L-13 in Section 4.3 of [RFC7084], and Section 6.3 of [RFC8415]. | in Section 4.3 of [RFC7084] and Section 6.3 of [RFC8415]. | |||
* Host configuring addresses via SLAAC on the local network may | * Hosts configuring addresses via SLAAC on the local network may | |||
employ addresses configured for the previously advertised | employ addresses configured for the previously advertised prefixes | |||
prefixes for at most the "Valid Lifetime" of the corresponding | for at most the "Valid Lifetime" of the corresponding PIOs of the | |||
PIO of the last received Router Advertisement message. Since | last received Router Advertisement messages. Since Router | |||
Router Advertisement messages may be lost or fail to be | Advertisement messages may be lost or fail to be received for | |||
received for various reasons, Customer Edge Routers need to try | various reasons, CE routers need to try to deprecate stale | |||
to deprecate stale prefixes for a period of time equal to the | prefixes for a period of time equal to the "Valid Lifetime" of the | |||
"Valid Lifetime" of the PIO employed when originally | PIO employed when originally advertising the prefix. | |||
advertising the prefix. | ||||
* The requirement in this section is conveyed as a "SHOULD" (as | * The requirements in this section to store information on stable | |||
opposed to a "MUST"), since the requirement to store | storage are conveyed as "SHOULD" (as opposed to "MUST"), since | |||
information on stable storage may represent a challenge for | they may represent a challenge for some implementations. | |||
some implementations. | ||||
* Advertising DHCPv6-leased prefixes with zero lifetimes on the | * Advertising DHCPv6-leased prefixes with zero lifetimes on the LAN | |||
LAN-side would handle the case where a CE Router has no stable | side would handle the case where a CE router has no stable storage | |||
storage but receives the prefixes via DHCPv6 with 0 lifetimes. | but receives the prefixes via DHCPv6 with 0 lifetimes. | |||
* The above text does not include DHCPv6 Advertise messages sent | * The above text does not include DHCPv6 Advertise messages sent in | |||
in response to DHCPv6 Solicit messages, since Section 18.3.9 of | response to DHCPv6 Solicit messages, since Section 18.3.9 of | |||
[RFC8415] requires that a DHCPv6 server that is not going to | [RFC8415] requires that a DHCPv6 server that is not going to | |||
assign an address or delegated prefix received as a hint in the | assign an address or delegated prefix received as a hint in the | |||
Solicit message MUST NOT include that address or delegated | Solicit message MUST NOT include that address or delegated prefix | |||
prefix in the Advertise message. Additionally, any subsequent | in the Advertise message. Additionally, any subsequent Request | |||
Request messages will trigger the response specified in this | messages will trigger the response specified in this section and | |||
section, and therefore cause the address or prefix to be | therefore cause the address or prefix to be deprecated. | |||
deprecated. | ||||
4. Recommended Option Lifetimes Configuration Values | 4. Recommended Option Lifetimes Configuration Values | |||
o ND_PREFERRED_LIMIT: 2700 seconds (45 minutes) | * ND_PREFERRED_LIMIT: 2700 seconds (45 minutes) | |||
o ND_VALID_LIMIT: 5400 seconds (90 minutes) | * ND_VALID_LIMIT: 5400 seconds (90 minutes) | |||
RATIONALE: | RATIONALE: | |||
These values represent a trade-off among a number of factors, | ||||
* These values represent a trade-off among a number of factors, | ||||
including responsiveness and possible impact on the battery life | including responsiveness and possible impact on the battery life | |||
of connected devices [RFC7772]. | of connected devices [RFC7772]. | |||
ND_PREFERRED_LIMIT is set according to the recommendations in | * ND_PREFERRED_LIMIT is set according to the recommendations in | |||
[RFC7772] for Router Lifetime, following the rationale from | [RFC7772] for the "Router Lifetime", following the rationale from | |||
Section 3.2 of [RFC8978]. | Section 3.2 of [RFC8978]. | |||
ND_VALID_LIMIT is set to 2 * ND_PREFERRED_LIMIT to provide some | * ND_VALID_LIMIT is set to 2 * ND_PREFERRED_LIMIT to provide some | |||
additional leeway before configuration information is finally | additional leeway before configuration information is finally | |||
discarded by the host. | discarded by the hosts. | |||
5. IANA Considerations | 5. IANA Considerations | |||
This document has no actions for IANA. | This document has no IANA actions. | |||
6. Security Considerations | 6. Security Considerations | |||
This document discusses a problem that may arise in scenarios where | This document discusses a problem that may arise, e.g., in scenarios | |||
dynamic IPv6 prefixes are employed, and proposes improvements to | where dynamic IPv6 prefixes are employed, and it proposes | |||
Customer Edge Routers [RFC7084] to mitigate the problem for | improvements to CE routers [RFC7084] to mitigate the problem for | |||
residential or small office scenarios. It does not introduce new | residential or small office scenarios. It does not introduce new | |||
security issues, and thus the same security considerations as for | security issues; thus, the same security considerations as for | |||
[RFC4861], [RFC4862], [RFC7084], and [RFC8415] apply. | [RFC4861], [RFC4862], [RFC7084], and [RFC8415] apply. | |||
7. Acknowledgments | 7. References | |||
The authors would like to thank Owen DeLong, Philip Homburg, Erik | ||||
Kline, and Ted Lemon, for their valuable help in improving this | ||||
document via successive detailed reviews. | ||||
The authors would like to thank Mikael Abrahamsson, Luis Balbinot, | ||||
Tim Chown, Brian Carpenter, Lorenzo Colitti, Alejandro D'Egidio, Gert | ||||
Doering, Fernando Frediani, Guillermo Gont, Steinar Haug, Nick | ||||
Hilliard, Lee Howard, Christian Huitema, Sheng Jiang, Benjamin Kaduk, | ||||
Suresh Krishnan, Warren Kumari, Albert Manfredi, Olorunloba Olopade, | ||||
Jordi Palet Martinez, Richard Patterson, Pete Resnick, Michael | ||||
Richardson, Mark Smith, Job Snijders, Sander Steffann, Tarko Tikan, | ||||
Ole Troan, Loganaden Velvindron, Eric Vyncke, Robert Wilton, Timothy | ||||
Winters, Christopher Wood, and Chongfeng Xie, for providing valuable | ||||
comments on earlier versions of this document. | ||||
Fernando would also like to thank Brian Carpenter who, over the | ||||
years, has answered many questions and provided valuable comments | ||||
that have benefited his protocol-related work. | ||||
8. References | ||||
8.1. Normative References | 7.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and | [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and | |||
More-Specific Routes", RFC 4191, DOI 10.17487/RFC4191, | More-Specific Routes", RFC 4191, DOI 10.17487/RFC4191, | |||
November 2005, <https://www.rfc-editor.org/info/rfc4191>. | November 2005, <https://www.rfc-editor.org/info/rfc4191>. | |||
skipping to change at page 11, line 30 ¶ | skipping to change at line 485 ¶ | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., | [RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., | |||
Richardson, M., Jiang, S., Lemon, T., and T. Winters, | Richardson, M., Jiang, S., Lemon, T., and T. Winters, | |||
"Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | |||
RFC 8415, DOI 10.17487/RFC8415, November 2018, | RFC 8415, DOI 10.17487/RFC8415, November 2018, | |||
<https://www.rfc-editor.org/info/rfc8415>. | <https://www.rfc-editor.org/info/rfc8415>. | |||
8.2. Informative References | 7.2. Informative References | |||
[I-D.ietf-6man-slaac-renum] | [6MAN-SLAAC-RENUM] | |||
Gont, F., Zorz, J., and R. Patterson, "Improving the | Gont, F., Zorz, J., and R. Patterson, "Improving the | |||
Robustness of Stateless Address Autoconfiguration (SLAAC) | Robustness of Stateless Address Autoconfiguration (SLAAC) | |||
to Flash Renumbering Events", draft-ietf-6man-slaac- | to Flash Renumbering Events", Work in Progress, Internet- | |||
renum-02 (work in progress), January 2021. | Draft, draft-ietf-6man-slaac-renum-02, 19 January 2021, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-6man- | ||||
slaac-renum-02>. | ||||
[RFC7084] Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic | [RFC7084] Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic | |||
Requirements for IPv6 Customer Edge Routers", RFC 7084, | Requirements for IPv6 Customer Edge Routers", RFC 7084, | |||
DOI 10.17487/RFC7084, November 2013, | DOI 10.17487/RFC7084, November 2013, | |||
<https://www.rfc-editor.org/info/rfc7084>. | <https://www.rfc-editor.org/info/rfc7084>. | |||
[RFC8978] Gont, F., Zorz, J., and R. Patterson, "Reaction of IPv6 | [RFC8978] Gont, F., Žorž, J., and R. Patterson, "Reaction of IPv6 | |||
Stateless Address Autoconfiguration (SLAAC) to Flash- | Stateless Address Autoconfiguration (SLAAC) to Flash- | |||
Renumbering Events", RFC 8978, DOI 10.17487/RFC8978, March | Renumbering Events", RFC 8978, DOI 10.17487/RFC8978, March | |||
2021, <https://www.rfc-editor.org/info/rfc8978>. | 2021, <https://www.rfc-editor.org/info/rfc8978>. | |||
Acknowledgments | ||||
The authors would like to thank Owen DeLong, Philip Homburg, Erik | ||||
Kline, and Ted Lemon for their valuable help in improving this | ||||
document via successive detailed reviews. | ||||
The authors would like to thank Mikael Abrahamsson, Luis Balbinot, | ||||
Brian Carpenter, Tim Chown, Lorenzo Colitti, Alejandro D'Egidio, Gert | ||||
Doering, Fernando Frediani, Guillermo Gont, Steinar Haug, Nick | ||||
Hilliard, Lee Howard, Christian Huitema, Sheng Jiang, Benjamin Kaduk, | ||||
Suresh Krishnan, Warren Kumari, Albert Manfredi, Olorunloba Olopade, | ||||
Jordi Palet Martinez, Pete Resnick, Michael Richardson, Mark Smith, | ||||
Job Snijders, Sander Steffann, Tarko Tikan, Ole Troan, Loganaden | ||||
Velvindron, Éric Vyncke, Robert Wilton, Timothy Winters, Christopher | ||||
Wood, and Chongfeng Xie for providing valuable comments on earlier | ||||
draft versions of this document. | ||||
Fernando would also like to thank Brian Carpenter who, over the | ||||
years, has answered many questions and provided valuable comments | ||||
that have benefited his protocol-related work. | ||||
Authors' Addresses | Authors' Addresses | |||
Fernando Gont | Fernando Gont | |||
SI6 Networks | SI6 Networks | |||
Segurola y Habana 4310, 7mo Piso | 7mo Piso | |||
Villa Devoto, Ciudad Autonoma de Buenos Aires | Segurola y Habana 4310 | |||
Villa Devoto | ||||
Ciudad Autonoma de Buenos Aires | ||||
Argentina | Argentina | |||
Email: fgont@si6networks.com | Email: fgont@si6networks.com | |||
URI: https://www.si6networks.com | URI: https://www.si6networks.com | |||
Jan Zorz | Jan Zorz | |||
6connect | 6connect | |||
Email: jan@6connect.com | Email: jan@6connect.com | |||
Richard Patterson | Richard Patterson | |||
Sky UK | Sky UK | |||
Email: richard.patterson@sky.uk | Email: richard.patterson@sky.uk | |||
Bernie Volz | Bernie Volz | |||
Cisco Systems, Inc. | Individual Contributor | |||
300 Beaver Brook Rd | 116 Hawkins Pond Road | |||
Boxborough, MA 01719 | Center Harbor, NH 03226 | |||
USA | United States of America | |||
Email: volz@cisco.com | Email: bevolz@gmail.com | |||
End of changes. 85 change blocks. | ||||
311 lines changed or deleted | 319 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |