RFC 8978: Reaction of IPv6 Stateless Address Autoconfiguration (SLAAC) to Flash-Renumbering Events
- F. Gont,
- J. Žorž,
- R. Patterson
Abstract
In scenarios where network configuration information related to IPv6 prefixes becomes invalid without any explicit and reliable signaling of that condition (such as when a Customer Edge router crashes and reboots without knowledge of the previously employed prefixes), hosts on the local network may continue using stale prefixes for an unacceptably long time (on the order of several days), thus resulting in connectivity problems. This document describes this issue and discusses operational workarounds that may help to improve network robustness. Additionally, it highlights areas where further work may be needed.¶
Status of This Memo
This document is not an Internet Standards Track specification; it is published for informational purposes.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are candidates for any level of Internet Standard; see Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
IPv6 Stateless Address Autoconfigurati
In scenarios where network configuration information related to IPv6 prefixes becomes invalid without any explicit and reliable signaling of that condition, hosts on the local network may continue using stale prefixes for an unacceptably long period of time, thus resulting in connectivity problems.¶
Scenarios where this problem may arise include, but are not limited to, the following:¶
Lacking any explicit and reliable signaling to deprecate (and eventually invalidate) the stale prefixes, hosts may continue to employ the previously configured addresses, which will typically result in packets being filtered or blackholed either on the CE router or within the ISP network.¶
The default values for the Preferred Lifetime and Valid Lifetime of
PIOs specified in [RFC4861] mean that, in the
aforementioned scenarios, the stale addresses would be retained and could be
actively employed for new communication instances for an unacceptably long
period of time (one month and one week, respectively). This could lead to
interoperabilit
Some devices have implemented ad hoc mechanisms to address this
problem, such as sending RAs to deprecate (and eventually invalidate) apparently stale prefixes when the
device receives any packets employing a source address from a prefix not
currently advertised for address configuration on the local network [FRITZ]. However, this may introduce other
interoperabilit
Unresponsiveness to these flash
Section 2 analyzes this problem in more detail. Section 3 describes possible operational mitigations. Section 4 describes possible future work to mitigate the aforementioned problem.¶
2. Analysis of the Problem
As noted in Section 1, the problem discussed in this document is exacerbated by the default values of some protocol parameters and other factors. The following sections analyze each of them in detail.¶
2.1. Use of Dynamic Prefixes
In network scenarios where dynamic prefixes are employed, renumbering events lead to updated network configuration information being propagated through the network, such that the renumbering events are gracefully handled. However, if the renumbering event happens along with, e.g., loss of configuration state by some of the devices involved in the renumbering procedure (e.g., a router crashes, reboots, and gets leased a new prefix), this may result in a flash
In simple residential or small office scenarios, the problem discussed in this document would be avoided if DHCPv6-PD leased "stable" prefixes. However, a recent survey [UK-NOF] indicates that 37% of the responding ISPs employ dynamic IPv6 prefixes. That is, dynamic IPv6 prefixes are an operational reality.¶
Deployment reality aside, there are a number of possible issues associated with stable prefixes:¶
For a number of reasons (such as the ones stated above), IPv6 deployments might employ dynamic prefixes (even at the expense of the issues discussed in this document), and there might be scenarios in which the dynamics of a network are such that the network exhibits the behavior of dynamic prefixes. Rather than trying to regulate how operators may run their networks, this document aims at improving network robustness in the deployed Internet.¶
2.2. Default PIO Lifetime Values in IPv6 Stateless Address Autoconfiguration (SLAAC)
The impact of the issue discussed in this document is a function of the lifetime values employed for PIOs, since these values determine for how long the corresponding addresses will be preferred and considered valid. Thus, when the problem discussed in this document is experienced, the longer the PIO lifetimes, the higher the impact.¶
[RFC4861] specifies the following default PIO lifetime values:¶
Under problematic circumstances, such as when the corresponding network information has become stale without any explicit and reliable signal from the network (as described in Section 1), it could take hosts up to 7 days (one week) to deprecate the corresponding addresses and up to 30 days (one month) to eventually invalidate and remove any addresses configured for the stale prefix. This means that it will typically take hosts an unacceptably long period of time (on the order of several days) to recover from these scenarios.¶
2.3. Recovering from Stale Network Configuration Information
SLAAC hosts are unable to recover from stale network configuration information, since:¶
2.4. Lack of Explicit Signaling about Stale Information
Whenever prefix information has changed, a SLAAC router should advertise not only the new information but also the stale information with appropriate lifetime values (both the Preferred Lifetime and the Valid Lifetime set to 0). This would provide explicit signaling to SLAAC hosts to remove the stale information (including configured addresses and routes). However, in certain scenarios, such as when a CE router crashes and reboots, the CE router may have no knowledge about the previously advertised prefixes and thus might be unable to advertise them with appropriate lifetimes (in order to deprecate and eventually invalidate them).¶
In any case, we note that, as discussed in Section 2.3, PIOs with small Valid Lifetimes in unauthenticated RAs will not lower the Valid Lifetime to any value shorter than two hours (as per [RFC4862]). Therefore, even if a SLAAC router tried to explicitly signal the network about the stale configuration information via unauthenticated RAs, implementations compliant with [RFC4862] would deprecate the corresponding prefixes but would fail to invalidate them.¶
2.5. Interaction between DHCPv6-PD and SLAAC
While DHCPv6-PD is normally employed along with SLAAC, the interaction between the two protocols is largely unspecified. Not unusually, the two protocols are implemented in two different software components, with the interface between the two implemented by means of some sort of script that feeds the SLAAC implementation with values learned from DHCPv6-PD.¶
At times, the prefix lease time is fed as a constant value to the SLAAC router implementation, meaning that, eventually, the prefix lifetimes advertised on the LAN side will span past the DHCPv6-PD lease time. This is clearly incorrect, since the SLAAC router implementation would be allowing the use of such prefixes for a period of time that is longer than the one they have been leased for via DHCPv6-PD.¶
3. Operational Mitigations
The following subsections discuss possible operational workarounds for the aforementioned problems.¶
3.1. Stable Prefixes
As noted in Section 2.1, the use of stable prefixes would eliminate the issue in some of the scenarios discussed in Section 1 of this document, such as the typical home network deployment. However, as noted in Section 2.1, there might be reasons for which an administrator may want or may need to employ dynamic prefixes.¶
3.2. SLAAC Parameter Tweaking
An operator may wish to override some SLAAC parameters such that,
under normal circumstances, the associated timers will be refreshed
The following router configuration variables from [RFC4861] (corresponding to the "lifetime" parameters of PIOs) could be overridden as follows:¶
RATIONALE:¶
4. Future Work
Improvements in Customer Edge routers [RFC7084], such that they can signal hosts about stale prefixes to deprecate (and eventually invalidate) them accordingly, can help mitigate the problem discussed in this document for the "home network" scenario. Such work is currently being pursued in [RENUM-CPE].¶
Improvements in the SLAAC protocol [RFC4862] and some IPv6-related algorithms, such as "Default Address Selection for Internet Protocol Version 6 (IPv6)" [RFC6724], would help improve network robustness. Such work is currently being pursued in [RENUM-RXN].¶
The aforementioned work is considered out of the scope of this present document, which only focuses on documenting the problem and discussing operational mitigations.¶
5. IANA Considerations
This document has no IANA actions.¶
6. Security Considerations
This document discusses a problem that may arise in scenarios where
flash
7. References
7.1. Normative References
- [RFC4861]
-
Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, DOI 10
.17487 , , <https:///RFC4861 www >..rfc -editor .org /info /rfc4861 - [RFC4862]
-
Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless Address Autoconfigurati
on" , RFC 4862, DOI 10.17487 , , <https:///RFC4862 www >..rfc -editor .org /info /rfc4862 - [RFC6724]
-
Thaler, D., Ed., Draves, R., Matsumoto, A., and T. Chown, "Default Address Selection for Internet Protocol Version 6 (IPv6)", RFC 6724, DOI 10
.17487 , , <https:///RFC6724 www >..rfc -editor .org /info /rfc6724 - [RFC8028]
-
Baker, F. and B. Carpenter, "First-Hop Router Selection by Hosts in a Multi-Prefix Network", RFC 8028, DOI 10
.17487 , , <https:///RFC8028 www >..rfc -editor .org /info /rfc8028 - [RFC8415]
-
Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., Richardson, M., Jiang, S., Lemon, T., and T. Winters, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 8415, DOI 10
.17487 , , <https:///RFC8415 www >..rfc -editor .org /info /rfc8415
7.2. Informative References
- [DEFAULT-ADDR]
-
Linkova, J., "Default Address Selection and Subnet Renumbering", Work in Progress, Internet-Draft, draft
-linkova , , <https://-6man -default -addr -selection -update -00 tools >..ietf .org /html /draft -linkova -6man -default -addr -selection -update -00 - [FRITZ]
-
Gont, F., "Quiz: Weird IPv6 Traffic on the Local Network (updated with solution)", SI6 Networks, , <https://
www >..si6networks .com /2016 /02 /16 /quiz -weird -ipv6 -traffic -on -the -local -network -updated -with -solution / - [GERMAN-DP]
-
BFDI, "Einführung von IPv6: Hinweise für Provider im Privatkundenges
chäft und Hersteller" [Introduction of IPv6: Notes for providers in the consumer market and manufacturers] , Entschliessung der 84. Konferenz der Datenschutzbeauftragten des Bundes und der Lander [Resolution of the 84th Conference of the Federal and State Commissioners for Data Protection] , , <http://www >..bfdi .bund .de /Shared Docs /Publikationen /Entschliessungs sammlung /DSBund Laender /84DSK _Einfuehrung IPv6 .pdf ?__blob =publication File - [Linux-update]
-
Gont, F., "Subject: [net-next] ipv6: Honor all IPv6 PIO Valid Lifetime values", message to the netdev mailing list, , <https://
patchwork >..ozlabs .org /project /netdev /patch /20200419122457 .GA971 @archlinux -current .localdomain / - [RENUM-CPE]
-
Gont, F., Zorz, J., Patterson, R., and B. Volz, "Improving the Reaction of Customer Edge Routers to IPv6 Renumbering Events", Work in Progress, Internet-Draft, draft
-ietf , , <https://-v6ops -cpe -slaac -renum -07 tools >..ietf .org /html /draft -ietf -v6ops -cpe -slaac -renum -07 - [RENUM-RXN]
-
Gont, F., Zorz, J., and R. Patterson, "Improving the Robustness of Stateless Address Autoconfigurati
on (SLAAC) to Flash Renumbering Events" , Work in Progress, Internet-Draft, draft-ietf , , <https://-6man -slaac -renum -02 tools >..ietf .org /html /draft -ietf -6man -slaac -renum -02 - [RFC7084]
-
Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic Requirements for IPv6 Customer Edge Routers", RFC 7084, DOI 10
.17487 , , <https:///RFC7084 www >..rfc -editor .org /info /rfc7084 - [RFC7721]
-
Cooper, A., Gont, F., and D. Thaler, "Security and Privacy Considerations for IPv6 Address Generation Mechanisms", RFC 7721, DOI 10
.17487 , , <https:///RFC7721 www >..rfc -editor .org /info /rfc7721 - [RFC7772]
-
Yourtchenko, A. and L. Colitti, "Reducing Energy Consumption of Router Advertisements", BCP 202, RFC 7772, DOI 10
.17487 , , <https:///RFC7772 www >..rfc -editor .org /info /rfc7772 - [RFC8981]
-
Gont, F., Krishnan, S., Narten, T., and R. Draves, "Temporary Address Extensions for Stateless Address Autoconfigurati
on in IPv6" , RFC 8981, DOI 10.17487 , , <https:///RFC8981 www >..rfc -editor .org /info /rfc8981 - [RIPE-690]
-
Žorž, J., Steffann, S., Dražumerič, P., Townsley, M., Alston, A., Doering, G., Palet Martinez, J., Linkova, J., Balbinot, L., Meynell, K., and L. Howard, "Best Current Operational Practice for Operators: IPv6 prefix assignment for end-users - persistent vs non-persistent, and what size to choose", RIPE 690, , <https://
www >..ripe .net /publications /docs /ripe -690 - [UK-NOF]
-
Palet Martinez, J., "IPv6 Deployment Survey and BCOP", UK NOF 39, , <https://
indico >..uknof .org .uk /event /41 /contributions /542 /
Acknowledgments
The authors would like to thank (in alphabetical order) Brian Carpenter, Alissa Cooper, Roman Danyliw, Owen DeLong, Martin Duke, Guillermo Gont, Philip Homburg, Sheng Jiang, Benjamin Kaduk, Erik Kline, Murray Kucherawy, Warren Kumari, Ted Lemon, Juergen Schoenwaelder, Éric Vyncke, Klaas Wierenga, Robert Wilton, and Dale Worley for providing valuable comments on earlier draft versions of this document.¶
The authors would like to thank (in alphabetical order) Mikael Abrahamsson, Luis Balbinot,
Brian Carpenter, Tassos Chatzithomaoglo
Fernando would like to thank Alejandro D'Egidio and Sander Steffann for a discussion of these issues. 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
The problem discussed in this document has been previously documented by Jen Linkova in [DEFAULT-ADDR] and also in [RIPE-690]. Section 1 borrows text from [DEFAULT-ADDR], authored by Jen Linkova.¶