| rfc8978xml2.original.xml | rfc8978.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
| <?rfc subcompact="no" ?> | ||||
| <?rfc toc="yes" ?> | ||||
| <?rfc symrefs="yes" ?> | ||||
| <?rfc sortrefs="yes"?> | ||||
| <?rfc strict="no" ?> | ||||
| <rfc category="info" ipr="trust200902" | ||||
| docName="draft-ietf-v6ops-slaac-renum-05"> | ||||
| <front> | ||||
| <title abbrev="Reaction to Renumbering Events">Reaction of Stateless Address | ||||
| Autoconfiguration (SLAAC) to Flash-Renumbering Events</title> | ||||
| <author fullname="Fernando Gont" initials="F." surname="Gont"> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" | |||
| docName="draft-ietf-v6ops-slaac-renum-05" number="8978" obsoletes="" | ||||
| updates="" submissionType="IETF" category="info" consensus="true" | ||||
| xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3"> | ||||
| <organization abbrev="SI6 Networks">SI6 Networks</organization> | <!-- xml2rfc v2v3 conversion 3.5.0 --> | |||
| <address> | <front> | |||
| <postal> | <title abbrev="Reaction to Renumbering Events">Reaction of IPv6 Stateless | |||
| <street>Segurola y Habana 4310, 7mo Piso</street> | Address Autoconfiguration (SLAAC) to Flash-Renumbering Events</title> | |||
| <!-- <code>1706</code> --> | <seriesInfo name="RFC" value="8978"/> | |||
| <city>Villa Devoto</city> | <author fullname="Fernando Gont" initials="F." surname="Gont"> | |||
| <region>Ciudad Autonoma de Buenos Aires</region> | <organization abbrev="SI6 Networks">SI6 Networks</organization> | |||
| <country>Argentina</country> | <address> | |||
| </postal> | <postal> | |||
| <!-- <phone>+54 11 4650 8472</phone> --> | <street>Segurola y Habana 4310, 7mo Piso</street> | |||
| <email>fgont@si6networks.com</email> | <city>Villa Devoto</city> | |||
| <uri>https://www.si6networks.com</uri> | <region>Ciudad Autónoma de Buenos Aires</region> | |||
| <country>Argentina</country> | ||||
| </postal> | ||||
| <email>fgont@si6networks.com</email> | ||||
| <uri>https://www.si6networks.com</uri> | ||||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Jan Žorž" initials="J." surname="Žorž"> | ||||
| <author fullname="Jan Zorz" initials="J." surname="Zorz"> | <organization abbrev="6connect">6connect, Inc.</organization> | |||
| <address> | ||||
| <organization abbrev="6connect">6connect</organization> | <email>jan@6connect.com</email> | |||
| <address> | ||||
| <!-- | ||||
| <postal> | ||||
| <street>Frankovo naselje 165</street> | ||||
| <code>4220</code> | ||||
| <city>Skofja Loka</city> | ||||
| <country>Slovenia</country> | ||||
| </postal> --> | ||||
| <email>jan@connect.com</email> | ||||
| <!-- <uri>https://www.6connect.com/</uri> --> | ||||
| </address> | ||||
| </author> | ||||
| <author initials="R." surname="Patterson" fullname="Richard Patterson"> | ||||
| <organization>Sky UK</organization> | ||||
| <address> | ||||
| <email>richard.patterson@sky.uk</email> | ||||
| </address> | ||||
| </author> | ||||
| <date/> | ||||
| <area>Operations and Management</area> | ||||
| <workgroup>IPv6 Operations Working Group (v6ops)</workgroup> | ||||
| <!-- [rfced] Please insert any keywords (beyond those that appear in | ||||
| the title) for use on http://www.rfc-editor.org/search.html. --> | ||||
| <keyword></keyword> | ||||
| <abstract> | ||||
| <t><!--A very common IPv6 deployment scenario is that in which a CPE route | ||||
| r employs DHCPv6 Prefix Delegation to obtain an IPv6 prefix, and at least one pr | ||||
| efix from within the leased prefix is advertised on a local network via SLAAC. - | ||||
| ->In scenarios where network configuration information related to IPv6 prefixes | ||||
| becomes invalid without any explicit and reliable signaling of that condition (s | ||||
| uch as when a Customer Edge router crashes and reboots without knowledge of the | ||||
| previously-employed prefixes), nodes on the local network may continue using sta | ||||
| le prefixes for an unacceptably long time (on the order of several days), thus r | ||||
| esulting in connectivity problems. This document describes this issue and discus | ||||
| ses operational workarounds that may help to improve network robustness. Additio | ||||
| nally, it highlights areas where further work may be needed.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <middle> | ||||
| <section anchor="intro" title="Introduction"> | ||||
| <t>IPv6 Stateless address autoconfiguration (SLAAC) <xref target="RFC4862"/> con | ||||
| veys information about prefixes to be employed for address configuration via Pre | ||||
| fix Information Options (PIOs) sent in Router Advertisement (RA) messages. IPv6 | ||||
| largely assumes prefix stability, with network renumbering only taking place in | ||||
| a planned manner, with old/stale prefixes being phased-out via reduced prefix li | ||||
| fetimes, and new prefixes (with longer lifetimes) being introduced at the same t | ||||
| ime. However, there are several scenarios that may lead to the so-called "flash- | ||||
| renumbering" events, where the prefix employed by a network suddenly becomes inv | ||||
| alid and replaced by a new prefix. In some of these scenarios, the local router | ||||
| producing the network renumbering event may try to deprecate the currently-emplo | ||||
| yed prefixes (by explicitly signaling the network about the renumbering event), | ||||
| whereas in other scenarios it may be unable to do so.</t> | ||||
| <t>In scenarios where network configuration information related to IPv6 prefixes | ||||
| becomes invalid without any explicit and reliable signaling of that condition, | ||||
| nodes on the local network may continue using stale prefixes for an unacceptably | ||||
| long period of time, thus resulting in connectivity problems.</t> | ||||
| <t>Scenarios where this problem may arise include, but are not limited to, | ||||
| the following: | ||||
| <list style="symbols"> | ||||
| <t>The most common IPv6 deployment scenario for residential or small office netw | ||||
| orks, where a Customer Edge (CE) router employs DHCPv6 Prefix Delegation (DHCPv6 | ||||
| -PD) <xref target="RFC8415"/> to request a prefix from an Internet Service Provi | ||||
| der (ISP), and a sub-prefix of the leased prefix is advertised on the LAN-side o | ||||
| f the CE router via Stateless Address Autoconfiguration (SLAAC) <xref target="RF | ||||
| C4862"/>. | ||||
| In scenarios where the CE router crashes and reboots, the CE may obtain (via DHC | ||||
| Pv6-PD) a different prefix from the one previously | ||||
| leased, and therefore advertise (via SLAAC) the new prefix on the LAN side. Host | ||||
| s will typically configure addresses for the new prefix, but will normally retai | ||||
| n and may actively employ the addresses configured for the previously-advertised | ||||
| prefix, since their associated Preferred Lifetime and Valid Lifetime allow them | ||||
| to do so.</t> | ||||
| <t>A router (e.g. Customer Edge router) advertises autoconfiguration | ||||
| prefixes corresponding to prefixes learned via DHCPv6-PD with constant PIO | ||||
| lifetimes that are not synchronized with the DHCPv6-PD lease time (even though S | ||||
| ection 6.3 of <xref target="RFC8415"/> requires such synchronization). While thi | ||||
| s behavior violates the | ||||
| aforementioned requirement from <xref target="RFC8415"/>, it is not an unusual b | ||||
| ehavior, | ||||
| particularly when e.g. DHCPv6-PD is implemented in a different software | ||||
| module than the SLAAC router component. | ||||
| </t> | ||||
| <t>A switch-port the host is connected to is moved to another subnet | ||||
| (VLAN) as a result of manual switch-port reconfiguration or 802.1x | ||||
| re-authentication. There has been evidence that | ||||
| some 802.1x supplicants do not reset network settings after | ||||
| successful 802.1x authentication. So if a host fails 802.1x | ||||
| authentication for some reason, is placed in a "quarantine" VLAN | ||||
| and is successfully authenticated later on, it might end up | ||||
| having IPv6 addresses from both the old ("quarantine") and the new VLANs. | ||||
| </t> | ||||
| <t>During the planned network renumbering, a router is configured to | ||||
| send an RA with the Preferred Lifetime for the "old" Prefix Information Op | ||||
| tion (PIO) set to zero | ||||
| and the new PIO with a non-zero Preferred Lifetime. However, due | ||||
| to unsolicited RAs being sent to a multicast destination address, and mult | ||||
| icast being rather unreliable on busy wifi networks, the RA | ||||
| might not be received by local hosts. | ||||
| </t> | ||||
| <t>Automated device config management system performs periodic config | ||||
| pushes to network devices. In these scenarios, network devices may simply immed | ||||
| iately | ||||
| forget their previous configuration, rather than withdrawing it gracefully. If | ||||
| such a push results in | ||||
| changing the subnet configured on a particular network, hosts | ||||
| attached to that network would not get notified about the subnet | ||||
| change, and their addresses from the "old" prefix will not be | ||||
| deprecated. A related scenario is the incorrect network renumbering where | ||||
| a network administrator renumbers a network by simply | ||||
| removing the "old" prefix from the configuration and configuring a | ||||
| new prefix instead. | ||||
| </t> | ||||
| </list> | ||||
| </t> | ||||
| <t> | ||||
| Lacking any explicit and reliable signaling to deprecate the previously-advertis | ||||
| ed prefixes, hosts may continue to employ the previously-configured addresses, w | ||||
| hich will typically result in packets being blackholed (whether because of egres | ||||
| s-filtering by the CE router or ISP) or the return traffic being discarded or ro | ||||
| uted elsewhere. | ||||
| </t> | ||||
| <t>The default values for the "Preferred Lifetime" and "Valid Lifetime" of PIOs | ||||
| specified in <xref target="RFC4861"/> mean that, in the aforementioned scenarios | ||||
| , the stale addresses would be retained, and could be actively employed for new | ||||
| communications instances, for an unacceptably long period of time (one month, an | ||||
| d one week, respectively). This could lead to interoperability problems, instead | ||||
| of hosts transitioning to the newly-advertised prefix(es) in a more timely mann | ||||
| er.</t> | ||||
| <t>Some devices have implemented ad-hoc mechanisms to address this problem, such | ||||
| as sending RAs to deprecate apparently-stale prefixes when the device receives | ||||
| any packets employing a source address from a prefix not currently advertised fo | ||||
| r address configuration on the local network <xref target="FRITZ"/>. However, th | ||||
| is may introduce other interoperability problems, particularly in multihomed/mul | ||||
| tiprefix scenarios. This is a clear indication that advice in this area is warra | ||||
| nted.</t> | ||||
| <t>Unresponsiveness to these "flash-renumbering" events is caused by the inabili | ||||
| ty of the network to deprecate stale information, as well as by the inability of | ||||
| hosts to react to network configuration changes in a more timely manner. Clearl | ||||
| y, it would be desirable that these flash-renumbering scenarios do not occur, an | ||||
| d that, when they do occur, that hosts are explicitly and reliably notified of t | ||||
| heir occurrence. However, for robustness reasons, it is paramount for hosts to b | ||||
| e able to recover from stale configuration information even when these flash-ren | ||||
| umbering events occur and the network is unable to explicitly and reliably notif | ||||
| y hosts about such conditions. | ||||
| </t> | ||||
| <t><xref target="problem"/> analyzes this problem in more detail. <xref target=" | ||||
| Solutions"/> describes possible operational mitigations. <xref target="futurewor | ||||
| k"/> describes possible future work to mitigate the aforementioned problem.</t> | ||||
| </section> | ||||
| <!-- | ||||
| <section title="Terminology" anchor="term"> | ||||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", | ||||
| "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", | ||||
| and "OPTIONAL" in this document are to be interpreted as | ||||
| described in | ||||
| <xref target='RFC2119' />.</t> | ||||
| </section> | ||||
| <section title="Analysis of the Problem" anchor="problem"> | ||||
| <t>As noted in <xref target="intro"/>, the problems discussed in this document a | ||||
| re exacerbated by the default values of some protocol parameters and other facto | ||||
| rs. The following sections analyze each of them in detail.</t> | ||||
| <section anchor="ops" title="Use of Dynamic Prefixes"> | ||||
| <t>In network scenarios where dynamic prefixes are employed, renumbering eve | ||||
| nts lead to updated network configuration information being propagated through t | ||||
| he network, such that the renumbering events are gracefully handled. However, if | ||||
| the renumbering event happens along with e.g. loss of configuration state by so | ||||
| me 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-renumbering | ||||
| event, where new prefixes are introduced without properly phasing out the old on | ||||
| es.</t> | ||||
| <t>In simple residential or small office scenario, the problem discussed | ||||
| in this document would be avoided if DHCPv6-PD would lease "stable" prefixes. Ho | ||||
| wever, a recent survey <xref target="UK-NOF"/> indicates that 37% of the respond | ||||
| ing ISPs employ dynamic prefixes. That is, dynamic IPv6 prefixes are an operatio | ||||
| nal reality.</t> | ||||
| <t>Deployment reality aside, there are a number of possible issues associated wi | ||||
| th stable prefixes: | ||||
| <list style="symbols"> | ||||
| <t>Provisioning systems may be unable to deliver stable IPv6 pref | ||||
| ixes.</t> | ||||
| <t>While an ISP might lease stable prefixes to the home or small office, the Cus | ||||
| tomer Edge router might in turn lease sub-prefixes of these prefixes to other in | ||||
| ternal network devices. Unless the associated lease databases are stored on non- | ||||
| volatile memory, these internal devices might be leased dynamic sub-prefixes of | ||||
| the stable prefix leased by the ISP. In other words, every time a prefix is leas | ||||
| ed there is the potential for the resulting prefixes to become dynamic, even if | ||||
| the device leasing sub-prefixes has been leased a stable prefix by its upstream | ||||
| router. | ||||
| </t> | ||||
| <t>While there is a range of information that may be employed to | ||||
| correlate network activity <xref target="RFC7721"/>, the use of stable prefixes | ||||
| clearly simplifies network activity correlation, and may essentially render feat | ||||
| ures such as "temporary addresses" <xref target="RFC4941"/> irrelevant. </t> | ||||
| <t>There may be existing advice for ISPs to deliver dynamic IPv6 | ||||
| prefixes *by default* (see e.g. <xref target="GERMAN-DP"/>) over privacy concern | ||||
| s associated with stable prefixes.</t> | ||||
| </list> | ||||
| </t> | ||||
| <t>For a number of reasons (such as the ones stated above), IPv6 deployments may | ||||
| employ dynamic prefixes (even at the expense of the issues discussed in this do | ||||
| cument), and that there might be scenarios in which the dynamics of a network ar | ||||
| e such that the network exhibits the behaviour of dynamic prefixes. Rather than | ||||
| trying to regulate how operators may run their networks, this document aims at i | ||||
| mproving network robustness in the deployed Internet.</t> | ||||
| </section> | ||||
| <section title="Default Timer Values in IPv6 Stateless Address Autoconfiguration | ||||
| (SLAAC)" anchor="timer-problem"> | ||||
| <!-- | ||||
| <t>One common use of timers is when implementing reliability mechanisms where a | ||||
| packet is | ||||
| transmitted, and, unless a response is received, a timer will fire to | ||||
| trigger retransmission of the original packet.</t> | ||||
| <t>For obvious reasons, the whole point of using timers in this way is | ||||
| that, in problematic scenarios, they trigger some recovery action in a timely ma | ||||
| nner.</t> | ||||
| <t>The impact of the issue discussed in this document is a function of the lifet | ||||
| ime values employed for the PIO lifetimes, since these values determine for how | ||||
| long the corresponding addresses will be preferred and considered valid. Thus, w | ||||
| hen the problem discussed in this document is experienced, the longer the PIO li | ||||
| fetimes, the higher the impact.</t> | ||||
| <t><xref target="RFC4861"/> specifies the following default PIO lifetime values: | ||||
| <list style="symbols"> | ||||
| <t>Preferred Lifetime (AdvPreferredLifetime): 604800 seconds (7 days)</t> | ||||
| <t>Valid Lifetime (AdvValidLifetime): 2592000 seconds (30 days)</t> | ||||
| </list> | ||||
| </t> | ||||
| <t>Under problematic circumstances, such as where the corresponding network info | ||||
| rmation has become stale without any explicit and reliable signal from the netwo | ||||
| rk (as described in <xref target="intro"/>), 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. </t> | ||||
| <!-- | ||||
| <t>Clearly, for any practical purposes, employing such long default values is eq | ||||
| uivalent of not using any timers at all, since taking 7 days or 30 days (respect | ||||
| ively) to recover from a network problem is simply unacceptable.</t> | ||||
| <!-- | ||||
| MaxRtrAdvInterval: 300 seconds (5 minutes) | ||||
| MinRtrAdvInterval: 0.33 * MaxRtrAdvInterval = 99 seconds | ||||
| AdvDefaultLifetime: 3 * MaxRtrAdvInterval (no mayor a 9000) = 900 (15 minutes) | ||||
| ********* | ||||
| Current values: | ||||
| AdvDefaultLifetime: 3 * 600 = 1800 = 30 minutes | ||||
| <!-- <t><xref target="timers"/> of this document updates the SLAAC specification | ||||
| to employ shorter timer values.</t> --> | ||||
| </section> | ||||
| <section title="Recovering from Stale Network Configuration Information" anchor= | ||||
| "hosts-problem"> | ||||
| <t>SLAAC hosts are unable to recover from stale network configuration informatio | ||||
| n for a number of reasons: | ||||
| <list style="symbols"> | ||||
| <t>Item "e)" of Section 5.5.3 of <xref target="RFC4862"/> specifies that an unau | ||||
| thenticated RA may never reduce the "RemainingLifetime" to less than two hours. | ||||
| If the RemainingLifetime of an address is smaller than 2 hours, then a Valid Lif | ||||
| etime smaller than 2 hours will be ignored. The Preferred Lifetime of an address | ||||
| can be reduced to any value to avoid using a stale prefix for new communication | ||||
| s. | ||||
| </t> | ||||
| <t>In the absence of explicit signalling from SLAAC routers (such as sending PIO | ||||
| s with a "Preferred Lifetime" set to 0), SLAAC hosts fail to recover from stale | ||||
| configuration information in a timely manner. However, when a network element is | ||||
| able to explicitly signal the renumbering event, it will only be able to deprec | ||||
| ate the stale prefix, but not to invalidate the prefix in question. Therefore, c | ||||
| ommunication with the new "owners" of the stale prefix will not be possible, sin | ||||
| ce the stale prefix will still be considered "on-link". | ||||
| </t> | ||||
| </list> | ||||
| </t> | ||||
| <!-- | ||||
| <t><xref target="stale-config"/> of this document specifies a local policy that | ||||
| SLAAC hosts can implement to heuristically infer that network configuration info | ||||
| rmation has changed and recover from stale prefixes.</t> | ||||
| </section> | ||||
| <section title="Lack of Explicit Signaling about Stale Information" anchor="cpe- | ||||
| problem"> | ||||
| <t>Whenever prefix information has changed, a SLAAC router should not only adver | ||||
| tise the new information, but should also advertise the | ||||
| stale information with appropriate lifetime values (both "Preferred | ||||
| Lifetime" and "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 scenarios such as when a CE router crashes and reboots, the CE rout | ||||
| er may have no knowledge about the previously-advertised prefixes, and thus may | ||||
| be unable to advertise them with appropriate lifetimes (in order to deprecate th | ||||
| em). | ||||
| </t> | ||||
| <t>However, we note that, as discussed in <xref target="hosts-problem"/>, PIOs w | ||||
| ith small Valid Lifetimes in unauthenticated RAs will not lower the Valid Lifeti | ||||
| me to any value shorter than two hours (as per <xref target="RFC4862"/>). Theref | ||||
| ore, even if a SLAAC router tried to explicitly signal the network about the sta | ||||
| le configuration information via unauthenticated RAs, implementations compliant | ||||
| with <xref target="RFC4862"/> would deprecate the corresponding prefixes, but wo | ||||
| uld fail to invalidate them. | ||||
| <list style="hanging"> | ||||
| <t hangText="NOTE:"><vspace blankLines="0" /> | ||||
| Some implementations have been updated to honor small PIO lifetimes values, as p | ||||
| roposed in <xref target="I-D.ietf-6man-slaac-renum"/>. For example, please see < | ||||
| xref target="Linux-update"/>. | ||||
| </t> | ||||
| </list> | ||||
| </t> | ||||
| <!-- | ||||
| <t><xref target="sig-stale-config"/> updates the SLAAC specification such that r | ||||
| outers explicitly notify SLAAC hosts about the stale network configuration infor | ||||
| mation, and hosts can recover from it upon receipt of such notifications. <xref | ||||
| target="CPE"/> specifies the corresponding requirements for CPE routers.</t> | ||||
| </section> | ||||
| <section title="Interaction Between DHCPv6-PD and SLAAC" anchor="dhcpv6-pd-slaac | ||||
| -problem"> | ||||
| <t>While DHCPv6-PD is normally employed along with SLAAC, the interaction betwee | ||||
| n 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 some sort of script that feeds the SLAAC implementation with | ||||
| values learned from DHCPv6-PD.</t> | ||||
| <t>At times, the prefix lease time is fed as a constant value to the SLAAC route | ||||
| r implementation, meaning that, eventually, the prefix lifetime advertised on th | ||||
| e 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 prefixe | ||||
| s for a longer time than it has been granted usage of those prefixes via DHCPv6- | ||||
| PD. </t> | ||||
| <!-- | ||||
| <t><xref target="dhcpv6-pd-slaac"/> of this document specifies this aspect of th | ||||
| e interaction between DHCPv6-PD and SLAAC.</t> | ||||
| </section> | ||||
| </section> | ||||
| <section anchor="Solutions" title="Operational Mitigations"> | ||||
| <t>The following subsections discuss possible operational workarounds for | ||||
| the aforementioned problems. <!-- <xref target="host-side"/> specifies modifica | ||||
| tions to SLAAC which include the use of more appropriate lifetime values and a m | ||||
| echanism for hosts to infer when a previously-advertised prefix has become stale | ||||
| . This modification leads to more robust behaviour even for existing deployments | ||||
| . --></t> | ||||
| <section title="Stable Prefixes"> | ||||
| <t>As noted in <xref target="ops"/>, the use of stable prefixes would eliminate | ||||
| the issue in *some* of the scenarios discussed in <xref target="intro"/> of this | ||||
| document, such as the typical home network deployment. However, even in such sc | ||||
| enarios, there might be reasons for which an administrator may want or may need | ||||
| to employ dynamic prefixes</t> | ||||
| </section> | ||||
| <section title="SLAAC Parameter Tweaking" anchor="host-side"> | ||||
| <t>An operator may wish to override some SLAAC parameters such that, under norma | ||||
| l circumstances, the timers will be refreshed/reset, but in the presence of netw | ||||
| ork faults (such as the one discussed in this document), the timers go off and t | ||||
| rigger some fault recovering action (e.g. deprecate and subsequently invalidate | ||||
| stale addresses). | ||||
| </t> | ||||
| <t> | ||||
| The following router configuration variables from <xref target="RFC4861"/> (corr | ||||
| esponding to the "lifetime" parameters of PIOs) could be overridden as follows: | ||||
| <list> | ||||
| <t>AdvPreferredLifetime: 2700 seconds (45 minutes)</t> | ||||
| <t>AdvValidLifetime: 5400 seconds (90 minutes)</t> | ||||
| </list> | ||||
| </t> | ||||
| <t> | </address> | |||
| <list style="hanging"> | </author> | |||
| <t hangText="NOTES:"><vspace blankLines="0" /> | <author initials="R." surname="Patterson" fullname="Richard Patterson"> | |||
| The aforementioned values for AdvPreferredLifetime and AdvValidLifetime are expe | <organization>Sky UK</organization> | |||
| cted to be appropriate for most networks. In some networks, particularly where t | <address> | |||
| he operator has complete control of prefix allocation and where hosts on the net | <email>richard.patterson@sky.uk</email> | |||
| work may spend long periods sleeping (e.g., sensors with limited battery), longe | </address> | |||
| r values may be appropriate. | </author> | |||
| </t> | <date month="March" year="2021"/> | |||
| <t> | <area>Operations and Management</area> | |||
| A CE router advertising a sub-prefix of a prefix leased via DHCPv6-PD will perio | <workgroup>v6ops</workgroup> | |||
| dically refresh the Preferred Lifetime and the Valid Lifetime of an advertised p | <keyword>IPv6</keyword> | |||
| refix to AdvPreferredLifetime and AdvValidLifetime, respectively, as long as the | <keyword>problem</keyword> | |||
| resulting lifetime of the corresponding prefixes does not extend past the DHCPv | <keyword>address</keyword> | |||
| 6-PD lease time <xref target="I-D.ietf-v6ops-cpe-slaac-renum"/>. | <keyword>prefix delegation</keyword> | |||
| </t> | <keyword>DHCPv6</keyword> | |||
| </list> | <keyword>stale prefixes</keyword> | |||
| </t> | <keyword>old prefixes</keyword> | |||
| <t> | <abstract> | |||
| <list style="hanging"> | <t>In scenarios where network configuration information | |||
| <t hangText="RATIONALE:"> | related to IPv6 prefixes becomes invalid without any explicit and reliable | |||
| <list style="symbols"> | signaling of that condition (such as when a Customer Edge router crashes and | |||
| <t>In the context of <xref target="RFC8028"/>, where it is clear that use of add | reboots without knowledge of the previously employed prefixes), hosts on the | |||
| resses configured for a given prefix is tied to using the next-hop router that a | local network may continue using stale prefixes for an unacceptably long time | |||
| dvertised the prefix, it does not make sense for the "Preferred Lifetime" of a P | (on the order of several days), thus resulting in connectivity problems. This | |||
| IO to be larger than the "Router Lifetime" (AdvDefaultLifetime) of the correspon | document describes this issue and discusses operational workarounds that may | |||
| ding Router Advertisement messages. The "Valid Lifetime" is set to a much larger | help to improve network robustness. Additionally, it highlights areas where | |||
| value to cope with transient network problems.</t> | further work may be needed.</t> | |||
| <!-- | </abstract> | |||
| <t>As a result, this document updates <xref target="RFC4861"/> such that the def | </front> | |||
| ault Valid Lifetime (AdvValidLifetime) and Preferred Lifetime (AdvPreferredLifet | <middle> | |||
| ime) of PIOs are specified as a function of the "Router Lifetime" (AdvDefaultLif | <section anchor="intro" numbered="true" toc="default"> | |||
| etime) of Router Advertisement messages.</t> | <name>Introduction</name> | |||
| <t>IPv6 Stateless Address Autoconfiguration (SLAAC) <xref | ||||
| target="RFC4862" format="default"/> conveys information about prefixes to be | ||||
| employed for address configuration via Prefix Information Options (PIOs) sent | ||||
| in Router Advertisement (RA) messages. IPv6 largely assumes prefix stability, | ||||
| with network renumbering only taking place in a planned manner: old | ||||
| prefixes are deprecated (and eventually invalidated) via reduced prefix lifetime | ||||
| s and new prefixes are introduced (with | ||||
| longer lifetimes) at the same time. However, there are several | ||||
| scenarios that may lead to the so-called "flash-renumbering" events, where a | ||||
| prefix employed by a network suddenly becomes invalid and replaced by a new | ||||
| prefix. In some of these scenarios, the local router producing the network | ||||
| renumbering event may try to deprecate (and eventually invalidate) the currently | ||||
| employed prefix (by | ||||
| explicitly signaling the network about the renumbering event), whereas in other | ||||
| scenarios, it may be unable to do so.</t> | ||||
| <t>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.</t> | ||||
| <t>Scenarios where this problem may arise include, but are not limited to | ||||
| , the following:</t> | ||||
| <ul spacing="normal"> | ||||
| <li>The most common IPv6 deployment scenario for residential or small | ||||
| office networks, where a Customer Edge (CE) router employs DHCPv6 Prefix | ||||
| Delegation (DHCPv6-PD) <xref target="RFC8415" format="default"/> to request a | ||||
| prefix from an Internet Service Provider (ISP), and a sub-prefix of the leased | ||||
| prefix is advertised on the LAN side of the CE router via Stateless Address | ||||
| Autoconfiguration (SLAAC) <xref target="RFC4862" format="default"/>. In | ||||
| scenarios where the CE router crashes and reboots, the CE router may obtain (via | ||||
| DHCPv6-PD) a different prefix from the one previously leased and therefore | ||||
| advertise (via SLAAC) a new sub-prefix on the LAN side. Hosts will typically | ||||
| configure addresses for the new sub-prefix but will also normally retain and may | ||||
| actively employ the addresses configured for the previously advertised sub-prefi | ||||
| x, | ||||
| since their associated Preferred Lifetime and Valid Lifetime allow them to do | ||||
| so.</li> | ||||
| <li>A router (e.g., Customer Edge router) advertises autoconfiguration | ||||
| prefixes (corresponding to prefixes learned via DHCPv6-PD) with constant PIO | ||||
| lifetimes that are not synchronized with the DHCPv6-PD lease time (even though | ||||
| <xref target="RFC8415" sectionFormat="of" section="6.3"/> requires such | ||||
| synchronization). While this behavior violates the aforementioned requirement | ||||
| from <xref target="RFC8415" format="default"/>, it is not an unusual behavior. | ||||
| For example, this is particularly true for implementations in which DHCPv6-PD is | ||||
| implemented in a different software module | ||||
| than SLAAC.</li> | ||||
| <t>Lacking RAs that refresh information, addresses configured for advertised pre | <li>A switch-port that a host is connected to is moved to another subnet | |||
| fixes become deprecated in a more timely manner, and thus Rule 3 of <xref target | (VLAN) as a result of manual switch-port reconfiguration or 802.1x reauthentica | |||
| ="RFC6724"/> causes other configured addresses (if available) to be used instead | tion. There has been evidence that | |||
| .</t> | some 802.1x supplicants do not reset network settings after | |||
| successful 802.1x authentication. If a host fails 802.1x authentication | ||||
| for some reason, it may be placed in a "quarantine" VLAN; if successfully authen | ||||
| ticated later on, the host may end up having IPv6 addresses from both the old (" | ||||
| quarantine") and new VLANs.</li> | ||||
| <li>During a planned network renumbering event, a router is configured t | ||||
| o | ||||
| send an RA including a Prefix Information | ||||
| Option (PIO) for the "old" prefix with the Preferred Lifetime set to zero and t | ||||
| he Valid Lifetime set to a small value, as well as a PIO for the new prefix with | ||||
| default lifetimes. | ||||
| However, due to unsolicited RAs being sent to a multicast destination address, | ||||
| and multicast being rather unreliable on busy Wi-Fi networks, the RA might not | ||||
| be received by local hosts.</li> | ||||
| <li>An automated device config management system performs periodic confi | ||||
| g | ||||
| pushes to network devices. In these scenarios, network devices may simply imme | ||||
| diately | ||||
| forget their previous configuration, rather than withdraw it gracefully. If su | ||||
| ch a push results in | ||||
| changing the prefix configured on a particular subnet, hosts | ||||
| attached to that subnet might not get notified about the prefix | ||||
| change, and their addresses from the "old" prefix might not be | ||||
| deprecated (and eventually invalidated) in a timely manner. A related sc | ||||
| enario is an incorrect network renumbering event, where a network administrator | ||||
| renumbers a network by simply | ||||
| removing the "old" prefix from the configuration and configuring a | ||||
| new prefix instead. | ||||
| </li> | ||||
| </ul> | ||||
| <t> | ||||
| Lacking any explicit and reliable signaling to deprecate (and eventually invalid | ||||
| ate) the stale prefixes, hosts may continue to employ the previously configured | ||||
| addresses, which will typically result in packets being filtered or blackholed e | ||||
| ither on the CE router or within the ISP network. </t> | ||||
| <t>The default values for the Preferred Lifetime and Valid Lifetime of | ||||
| PIOs specified in <xref target="RFC4861" format="default"/> 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 | ||||
| interoperability problems, instead of hosts transitioning to the | ||||
| newly advertised prefix(es) in a more timely manner.</t> | ||||
| <t>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 <xref | ||||
| target="FRITZ" format="default"/>. However, this may introduce other | ||||
| interoperability problems, particularly in multihomed/multi-prefix | ||||
| scenarios. This is a clear indication that advice in this area is | ||||
| warranted.</t> | ||||
| <t>Unresponsiveness to these flash-renumbering events is caused by the | ||||
| inability of the network to deprecate (and eventually invalidate) stale informat | ||||
| ion as well as by the | ||||
| inability of hosts to react to network configuration changes in a more timely | ||||
| manner. Clearly, it would be desirable that these flash-renumbering events | ||||
| do not occur and that, when they do occur, hosts are explicitly and | ||||
| reliably notified of their occurrence. However, for robustness reasons, it is | ||||
| paramount for hosts to be able to recover from stale configuration information | ||||
| even when these flash-renumbering events occur and the network is unable to | ||||
| explicitly and reliably notify hosts about such conditions. </t> | ||||
| <t><xref target="problem" format="default"/> analyzes this problem in | ||||
| more detail. <xref target="Solutions" format="default"/> describes possible | ||||
| operational mitigations. <xref target="futurework" format="default"/> describes | ||||
| possible future work to mitigate the aforementioned problem.</t> | ||||
| </section> | ||||
| <section anchor="problem" numbered="true" toc="default"> | ||||
| <name>Analysis of the Problem</name> | ||||
| <t>As noted in <xref target="intro" format="default"/>, the problem discu | ||||
| ssed in this document is exacerbated by the default values of some protocol para | ||||
| meters and other factors. The following sections analyze each of them in detail. | ||||
| </t> | ||||
| <section anchor="ops" numbered="true" toc="default"> | ||||
| <name>Use of Dynamic Prefixes</name> | ||||
| <t>In network scenarios where dynamic prefixes are employed, renumbering | ||||
| events lead to updated network configuration information being propagated throu | ||||
| gh 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 cr | ||||
| ashes, reboots, and gets leased a new prefix), this may result in a flash-renumb | ||||
| ering event, where new prefixes are introduced without properly phasing out the | ||||
| old ones.</t> | ||||
| <t>In simple residential or small office scenarios, the problem discusse | ||||
| d in this document would be avoided if DHCPv6-PD leased "stable" prefixes. Howev | ||||
| er, a recent survey <xref target="UK-NOF" format="default"/> indicates that 37% | ||||
| of the responding ISPs employ dynamic IPv6 prefixes. That is, dynamic IPv6 prefi | ||||
| xes are an operational reality.</t> | ||||
| <t>Deployment reality aside, there are a number of possible issues assoc | ||||
| iated with stable prefixes: | ||||
| </t> | ||||
| <ul spacing="normal"> | ||||
| <li>Provisioning systems may be unable to deliver stable IPv6 prefixes | ||||
| .</li> | ||||
| <li>While an ISP might lease stable prefixes to the home or small | ||||
| office, the Customer Edge router might in turn lease sub-prefixes of these | ||||
| prefixes to other internal network devices. Unless the associated lease | ||||
| databases are stored on non-volatile memory, these internal devices might get | ||||
| leased dynamic sub-prefixes of the stable prefix leased by the ISP. In other | ||||
| words, every time a prefix is leased, there is the potential for the resulting | ||||
| prefixes to become dynamic, even if the device leasing sub-prefixes has been | ||||
| leased a stable prefix by its upstream router. </li> | ||||
| <li>While there is a range of information that may be employed to | ||||
| correlate network activity <xref target="RFC7721" format="default"/>, the use | ||||
| of stable prefixes clearly simplifies network activity correlation and may reduc | ||||
| e | ||||
| the effectiveness of "temporary addresses" <xref | ||||
| target="RFC8981" format="default"/>. </li> | ||||
| <li>There might be existing advice for ISPs to deliver dynamic IPv6 | ||||
| prefixes <strong>by default</strong> (e.g., see <xref target="GERMAN-DP" | ||||
| format="default"/>) over privacy concerns associated with stable prefixes.</li> | ||||
| <li>There might be scalability and performance drawbacks of either a | ||||
| disaggregated distributed routing topology or a centralized topology, which are | ||||
| often required to provide stable prefixes, i.e., distributing more-specific rout | ||||
| es or summarizing routes at centralized locations.</li> | ||||
| </ul> | ||||
| <t>For a number of reasons (such as the ones stated above), IPv6 deploym | ||||
| ents 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 netwo | ||||
| rk are such that the network exhibits the behavior of dynamic prefixes. Rather t | ||||
| han trying to regulate how operators may run their networks, this document aims | ||||
| at improving network robustness in the deployed Internet.</t> | ||||
| </section> | ||||
| <section anchor="timer-problem" numbered="true" toc="default"> | ||||
| <name>Default PIO Lifetime Values in IPv6 Stateless Address Autoconfigur | ||||
| ation (SLAAC)</name> | ||||
| <t>The impact of the issue discussed in this document is a function of the life | ||||
| time values employed for PIOs, since these values determine for how long the cor | ||||
| responding addresses will be preferred and considered valid. Thus, when the prob | ||||
| lem discussed in this document is experienced, the longer the PIO lifetimes, the | ||||
| higher the impact.</t> | ||||
| <t><xref target="RFC4861" format="default"/> specifies the following def | ||||
| ault PIO lifetime values: | ||||
| </t> | ||||
| <ul spacing="normal"> | ||||
| <li>Preferred Lifetime (AdvPreferredLifetime): 604800 seconds (7 days) | ||||
| </li> | ||||
| <li>Valid Lifetime (AdvValidLifetime): 2592000 seconds (30 days)</li> | ||||
| </ul> | ||||
| <t>Under problematic circumstances, such as when the corresponding netwo | ||||
| rk information has become stale without any explicit and reliable signal from th | ||||
| e network (as described in <xref target="intro" format="default"/>), it could ta | ||||
| ke 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. </t> | ||||
| <t>We note that lowering the default values for the "Valid Lifetime" helps reduc | </section> | |||
| e the amount of time a host may maintain stale information and the amount of tim | <section anchor="hosts-problem" numbered="true" toc="default"> | |||
| e an advertising router would need to advertise stale prefixes to deprecate them | <name>Recovering from Stale Network Configuration Information</name> | |||
| , while reducing the default "Preferred Lifetime" would reduce the amount of tim | <t>SLAAC hosts are unable to recover from stale network configuration in | |||
| e it takes for a host to prefer other working prefixes (see Section 12 of <xref | formation, since: | |||
| target="RFC4861"/>). However, while the values suggested in this section are an | </t> | |||
| improvement over the default values specified in <xref target="RFC4861"/>, they | <ul spacing="normal"> | |||
| represent a trade-off among a number of factors, including responsiveness, possi | <li>In scenarios where SLAAC routers explicitly signal the | |||
| ble impact on the battery life of connected devices <xref target="RFC7772"/>, et | renumbering event, hosts will typically deprecate, but not | |||
| c. Thus, they may or may not provide sufficient mitigation to the problem discus | invalidate, the stale addresses, since item "e)" of <xref target="RFC4862" | |||
| sed in this document.</t> | sectionFormat="of" | |||
| </list> | section="5.5.3"/> specifies that an unauthenticated RA may never reduce | |||
| </t> | the valid lifetime of an address to less than two hours. | |||
| </list> | Communication with the new "users" of the stale prefix | |||
| </t> | will not be possible, since the stale prefix will still be | |||
| </section> | considered "on-link" by the local hosts.</li> | |||
| <li>In the absence of explicit signaling from SLAAC routers, SLAAC | ||||
| hosts will typically fail to recover from stale configuration | ||||
| information in a timely manner, since hosts would need to rely | ||||
| on the last Preferred Lifetime and Valid Lifetime advertised | ||||
| for the stale prefix, for the corresponding addresses to become | ||||
| deprecated and subsequently invalidated. Please see <xref target="timer-pro | ||||
| blem" | ||||
| format="default"/> of | ||||
| this document for a discussion of the default PIO lifetime values.</li> | ||||
| </ul> | ||||
| </section> | </section> | |||
| <section anchor="cpe-problem" numbered="true" toc="default"> | ||||
| <name>Lack of Explicit Signaling about Stale Information</name> | ||||
| <t>Whenever prefix information has changed, a SLAAC router should advert | ||||
| ise 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). </t> | ||||
| <t>In any case, we note that, as discussed in <xref target="hosts-proble | ||||
| m" | ||||
| format="default"/>, PIOs with small Valid Lifetimes in unauthenticated RAs will | ||||
| not lower the Valid Lifetime to any value shorter than two hours (as per <xref | ||||
| target="RFC4862" format="default"/>). Therefore, even if a SLAAC router tried | ||||
| to explicitly signal the network about the stale configuration information via | ||||
| unauthenticated RAs, implementations compliant with <xref target="RFC4862" | ||||
| format="default"/> would deprecate the corresponding prefixes but would fail | ||||
| to invalidate them. </t> | ||||
| <aside> | ||||
| <t>NOTE: </t> | ||||
| <t>Some implementations have been updated to honor small PIO lifetimes | ||||
| values, as proposed in <xref target="I-D.ietf-6man-slaac-renum" | ||||
| format="default"/>. For example, please see <xref target="Linux-update" | ||||
| format="default"/>.</t> | ||||
| </aside> | ||||
| <section title="Future Work" anchor="futurework"> | </section> | |||
| <t>Improvement in Customer Edge Routers <xref target="RFC7084"/> such that | <section anchor="dhcpv6-pd-slaac-problem" numbered="true" toc="default"> | |||
| they can signal the network about stale prefixes and deprecate them accordingly | <name>Interaction between DHCPv6-PD and SLAAC</name> | |||
| can help mitigate the problem discussed in this document for the "home network" | <t>While DHCPv6-PD is normally employed along with SLAAC, the interactio | |||
| scenario. Such work is currently being pursued in <xref target="I-D.ietf-v6ops- | n between the two protocols is largely unspecified. Not unusually, the two proto | |||
| cpe-slaac-renum"/>.</t> | cols are implemented in two different software components, with the interface be | |||
| tween the two implemented by means of some sort of script that feeds the SLAAC i | ||||
| mplementation with values learned from DHCPv6-PD.</t> | ||||
| <t>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 <strong>past</strong> 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 o | ||||
| ne they have been leased for via DHCPv6-PD. </t> | ||||
| <t>Improvements in the SLAAC protocol <xref target="RFC4862"/> and other algorit | </section> | |||
| hms such as "Default Address Selection for IPv6" <xref target="RFC6724"/> would | </section> | |||
| help improve network robustness. Such work is currently being pursued in <xref t | <section anchor="Solutions" numbered="true" toc="default"> | |||
| arget="I-D.ietf-6man-slaac-renum"/>.</t> | <name>Operational Mitigations</name> | |||
| <t>The following subsections discuss possible operational workarounds | ||||
| for the aforementioned problems. | ||||
| <t>The aforementioned work is considered out of the scope of this present docume | </t> | |||
| nt, which only focuses on documenting the problem and discussing operational mit | <section numbered="true" toc="default"> | |||
| igations.</t> | <name>Stable Prefixes</name> | |||
| <t>As noted in <xref target="ops" format="default"/>, the use of | ||||
| stable prefixes would eliminate the issue in <strong>some</strong> of the | ||||
| scenarios discussed in <xref target="intro" format="default"/> of this | ||||
| document, such as the typical home network deployment. However, as noted in <xre | ||||
| f target="ops" format="default"/>, there might be reasons for which an administr | ||||
| ator may want or may | ||||
| need to employ dynamic prefixes.</t> | ||||
| </section> | ||||
| <section anchor="host-side" numbered="true" toc="default"> | ||||
| <name>SLAAC Parameter Tweaking</name> | ||||
| <t>An operator may wish to override some SLAAC parameters such that, | ||||
| under normal circumstances, the associated timers will be refreshed/reset, but i | ||||
| n the | ||||
| presence of network faults (such as the one discussed in this document), the | ||||
| associated timers go off and trigger some fault recovering action (e.g., depreca | ||||
| te and | ||||
| eventually invalidate stale addresses).</t> | ||||
| <t>The following router configuration variables from <xref | ||||
| target="RFC4861" format="default"/> (corresponding to the "lifetime" parameters | ||||
| of PIOs) could be overridden as follows:</t> | ||||
| <ul spacing="normal"> | ||||
| <li>AdvPreferredLifetime: 2700 seconds (45 minutes)</li> | ||||
| <li>AdvValidLifetime: 5400 seconds (90 minutes)</li> | ||||
| </ul> | ||||
| </section> | <aside> | |||
| <t>NOTES:</t> | ||||
| <section title="IANA Considerations"> | <t>The aforementioned values for AdvPreferredLifetime and AdvValidLifetime are | |||
| <t> | expected to be appropriate for most networks. In some networks, particularly | |||
| This document has no actions for IANA. | those where the operator has complete control of prefix allocation and where hos | |||
| </t> | ts on | |||
| </section> | the network may spend long periods of time sleeping (e.g., sensors with limited | |||
| battery), longer values may be appropriate.</t> | ||||
| <t> | ||||
| A CE router advertising a sub-prefix of a prefix leased via DHCPv6-PD will | ||||
| periodically refresh the Preferred Lifetime and the Valid Lifetime of an | ||||
| advertised prefix to AdvPreferredLifetime and AdvValidLifetime, respectively, | ||||
| as long as the resulting lifetimes of the corresponding prefixes do not extend | ||||
| past the DHCPv6-PD lease time <xref target="I-D.ietf-v6ops-cpe-slaac-renum" | ||||
| format="default"/>. </t> | ||||
| <section title="Security Considerations"> | </aside> | |||
| <t>This document discusses a problem that may arise in scenarios where fla | <t>RATIONALE:</t> | |||
| sh-renumbering events occur, and proposes workarounds to mitigate the aforementi | <ul spacing="normal"> | |||
| oned problems. This document does not introduce any new security issues, and thu | <li>In the context of <xref target="RFC8028" format="default"/>, | |||
| s the same security considerations as for <xref target="RFC4861"/> and <xref tar | where it is clear that use of addresses configured for a given prefix is tied | |||
| get="RFC4862"/> apply.</t> | to using the next-hop router that advertised the prefix, it does not make sense | |||
| for the Preferred Lifetime of a PIO to be larger than the Router Lifetime | ||||
| (AdvDefaultLifetime) of the corresponding Router Advertisement messages. The | ||||
| Valid Lifetime is set to a larger value to cope with transient network | ||||
| problems.</li> | ||||
| <li>Lacking RAs that refresh information, addresses configured for advertised | ||||
| prefixes become deprecated in a more timely manner; therefore, Rule 3 of <xref | ||||
| target="RFC6724" format="default"/> causes other configured addresses (if | ||||
| available) to be used instead.</li> | ||||
| <li>Reducing the Valid Lifetime of PIOs helps reduce the amount of | ||||
| time a host may maintain stale information | ||||
| and the amount of time an advertising router would need to advertise stale | ||||
| prefixes to invalidate them. Reducing the Preferred Lifetime of PIOs helps redu | ||||
| ce the amount of time it takes for a host to prefer other working | ||||
| prefixes (see <xref target="RFC4861" sectionFormat="of" | ||||
| section="12"/>). However, we note that while the values suggested in this secti | ||||
| on are an | ||||
| improvement over the default values specified in <xref target="RFC4861" | ||||
| format="default"/>, they represent a trade-off among a number of factors, | ||||
| including responsiveness, possible impact on the battery life of connected | ||||
| devices <xref target="RFC7772" format="default"/>, etc. Thus, they may or may | ||||
| not provide sufficient mitigation to the problem discussed in this | ||||
| document.</li> | ||||
| </ul> | ||||
| </section> | ||||
| </section> | ||||
| <section anchor="futurework" numbered="true" toc="default"> | ||||
| <name>Future Work</name> | ||||
| <t>Improvements in Customer Edge routers <xref target="RFC7084" | ||||
| format="default"/>, 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 <xref target="I-D.ietf-v6ops-cpe-slaac-renum" format="default"/>.</t> | ||||
| <t>Improvements in the SLAAC protocol <xref target="RFC4862" | ||||
| format="default"/> and some IPv6-related algorithms, such as "Default Address Se | ||||
| lection for | ||||
| Internet Protocol Version 6 (IPv6)" <xref target="RFC6724" format="default"/>, w | ||||
| ould help improve network | ||||
| robustness. Such work is currently being pursued in <xref | ||||
| target="I-D.ietf-6man-slaac-renum" format="default"/>.</t> | ||||
| <t>The aforementioned work is considered out of the scope of this | ||||
| present document, which only focuses on documenting the problem and discussing | ||||
| operational mitigations.</t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>IANA Considerations</name> | ||||
| <t>This document has no IANA actions.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Acknowledgments"> | <name>Security Considerations</name> | |||
| <t>This document discusses a problem that may arise in scenarios where | ||||
| <t>The authors would like to thank (in alphabetical order) Brian Carpenter, Alis | flash-renumbering events occur and proposes workarounds to mitigate the | |||
| sa Cooper, Roman Danyliw, Owen DeLong, Martin Duke, Guillermo Gont, Philip Hombu | aforementioned problem. This document does not introduce any new security | |||
| rg, Sheng Jiang, Benjamin Kaduk, Erik Kline, Murray Kucherawy, Warren Kumari, Te | issues; therefore, the same security considerations as for <xref target="RFC4861 | |||
| d Lemon, Juergen Schoenwaelder, Eric Vyncke, Klaas Wierenga, Robert Wilton, and | " format="default"/> and <xref target="RFC4862" format="default"/> apply.</t> | |||
| Dale Worley, for providing valuable comments on earlier versions of this documen | ||||
| t.</t> | ||||
| <t>The authors would like to thank (in alphabetical order) Mikael Abrahamsson, L | ||||
| uis Balbinot, Brian Carpenter, Tassos Chatzithomaoglou, Uesley Correa, Owen DeLo | ||||
| ng, Gert Doering, Martin Duke, Fernando Frediani, Steinar Haug, Nick Hilliard, P | ||||
| hilip Homburg, Lee Howard, Christian Huitema, Ted Lemon, Albert Manfredi, Jordi | ||||
| Palet Martinez, Michael Richardson, Mark Smith, Tarko Tikan, and Ole Troan, for | ||||
| providing valuable comments on a previous document on which this document is bas | ||||
| ed.</t> | ||||
| <t>Fernando would like to thank <!--Niloofar Adeli (Shatel, Iran), -->Alejandro | ||||
| D'Egidio and Sander Steffann for a discussion of these issues. Fernando would al | ||||
| so like to thank Brian Carpenter who, over the years, has answered many question | ||||
| s and provided valuable comments that have benefited his protocol-related work.< | ||||
| /t> | ||||
| <t>The problem discussed in this document has been previously documented b | ||||
| y Jen Linkova in <xref target="I-D.linkova-6man-default-addr-selection-update"/> | ||||
| , and also in <xref target="RIPE-690"/>. <xref target="intro"/> borrows text fro | ||||
| m <xref target="I-D.linkova-6man-default-addr-selection-update"/>, authored by J | ||||
| en Linkova.</t> | ||||
| </section> | </section> | |||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references title="Normative References"> | <displayreference target="I-D.linkova-6man-default-addr-selection-update" to="DE | |||
| <!-- <?rfc include="reference.RFC.2119" ?> --> | FAULT-ADDR"/> | |||
| <?rfc include="reference.RFC.8415" ?> | <displayreference target="I-D.ietf-6man-slaac-renum" to="RENUM-RXN"/> | |||
| <displayreference target="I-D.ietf-v6ops-cpe-slaac-renum" to="RENUM-CPE"/> | ||||
| <?rfc include="reference.RFC.4861" ?> | ||||
| <?rfc include="reference.RFC.4862" ?> | ||||
| <?rfc include="reference.RFC.8028" ?> | <references> | |||
| <?rfc include="reference.RFC.6724" ?> | <name>References</name> | |||
| <!-- <?rfc include="reference.RFC.8504" ?> --> | <references> | |||
| <name>Normative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.8415.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.4861.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.4862.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8028.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.6724.xml"/> | ||||
| </references> | </references> | |||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8981.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.7084.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.7721.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7772.xml"/> | ||||
| <references title="Informative References"> | <!-- [I-D.linkova-6man-default-addr-selection-update] IESG state Expired --> | |||
| <?rfc include="reference.RFC.4941" ?> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
| .linkova-6man-default-addr-selection-update.xml"/> | ||||
| <!-- <?rfc include="reference.RFC.2827" ?> --> | ||||
| <!-- <?rfc include="reference.RFC.5927" ?> --> | ||||
| <!-- <?rfc include="reference.RFC.6105" ?> --> | ||||
| <?rfc include="reference.RFC.7084" ?> | ||||
| <!-- <?rfc include="reference.RFC.7113" ?> --> | ||||
| <?rfc include="reference.RFC.7721" ?> | ||||
| <?rfc include="reference.RFC.7772" ?> | ||||
| <?rfc include="reference.I-D.linkova-6man-default-addr-selection-update" | ||||
| ?> | ||||
| <?rfc include="reference.I-D.ietf-6man-slaac-renum" ?> | ||||
| <?rfc include="reference.I-D.ietf-v6ops-cpe-slaac-renum" ?> | ||||
| <reference anchor="Linux-update" target="https://patchwork.ozlabs.org/pro | ||||
| ject/netdev/patch/20200419122457.GA971@archlinux-current.localdomain/"> | ||||
| <front> | ||||
| <title>[net-next] ipv6: Honor all IPv6 PIO Valid Lifetime | ||||
| values</title> | ||||
| <author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
| <organization abbrev="SI6 Networks / UTN-FRH">SI6 Networks</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>Segurola y Habana 4310, 7mo Piso</street> | ||||
| <!-- <code>1706</code> --> | ||||
| <city>Villa Devoto</city> | ||||
| <region>Ciudad Autonoma de Buenos Aires</region> | ||||
| <country>Argentina</country> | ||||
| </postal> | ||||
| <phone>+54 11 4650 8472</phone> | ||||
| <email>fgont@si6networks.com</email> | ||||
| <uri>https://www.si6networks.com</uri> | ||||
| </address> | ||||
| </author> | ||||
| <date month="April" year="2020"/> | ||||
| </front> | ||||
| <seriesInfo name="Post to the netdev mailing-list" value="http:// | ||||
| vger.kernel.org/vger-lists.html"/> | ||||
| </reference> | ||||
| <reference anchor="GERMAN-DP" target="http://www.bfdi.bund.de/SharedDocs/ | ||||
| Publikationen/Entschliessungssammlung/DSBundLaender/84DSK_EinfuehrungIPv6.pdf?__ | ||||
| blob=publicationFile"> | ||||
| <front> | ||||
| <title>Einfuhrung von IPv6 Hinweise fur Provider im Priva | ||||
| tkundengeschaft und Herstellere</title> | ||||
| <author> | <!-- [I-D.ietf-6man-slaac-renum] IESG state I-D Exists --> | |||
| <organization>BFDI</organization> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
| </author> | .ietf-6man-slaac-renum.xml"/> | |||
| <date month="November" year="2012"/> | <!-- [I-D.ietf-v6ops-cpe-slaac-renum] IESG state IESG Evaluation::Revised I-D Ne | |||
| </front> | eded --> | |||
| <seriesInfo name="Entschliessung der 84. Konferenz der Datenschut | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
| zbeauftragten des Bundes und der Lander" value="am 7./8. November 2012 in Frankf | .ietf-v6ops-cpe-slaac-renum.xml"/> | |||
| urt (Oder)"/> | ||||
| </reference> | ||||
| <reference anchor="FRITZ" target="https://www.si6networks.com/2016/02/16/ | <reference anchor="Linux-update" target="https://patchwork.ozlabs.org/pr | |||
| quiz-weird-ipv6-traffic-on-the-local-network-updated-with-solution/"> | oject/netdev/patch/20200419122457.GA971@archlinux-current.localdomain/"> | |||
| <front> | <front> | |||
| <title>Quiz: Weird IPv6 Traffic on the Local Network (upd | <title>Subject: [net-next] ipv6: Honor all IPv6 PIO Valid Lifetime v | |||
| ated with solution)</title> | alues</title> | |||
| <author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
| </author> | ||||
| <date day="19" month="April" year="2020"/> | ||||
| </front> | ||||
| <refcontent>message to the netdev mailing list</refcontent> | ||||
| </reference> | ||||
| <author fullname="Fernando Gont" initials="F." surname="Gont"> | <reference anchor="GERMAN-DP" quoteTitle="false" target="http://www.bfdi | |||
| .bund.de/SharedDocs/Publikationen/Entschliessungssammlung/DSBundLaender/84DSK_Ei | ||||
| nfuehrungIPv6.pdf?__blob=publicationFile"> | ||||
| <front> | ||||
| <title>"Einführung von IPv6: Hinweise für Provider im Privatkundenge | ||||
| schäft und Hersteller" [Introduction of IPv6: Notes for providers in the consume | ||||
| r market and manufacturers]</title> | ||||
| <author> | ||||
| <organization>BFDI</organization> | ||||
| </author> | ||||
| <date month="November" year="2012"/> | ||||
| </front> | ||||
| <refcontent>Entschliessung der 84. Konferenz der Datenschutzbeauftragt | ||||
| en des Bundes und der Lander [Resolution of the 84th Conference of the Federal a | ||||
| nd State Commissioners for Data Protection]</refcontent> | ||||
| </reference> | ||||
| <organization abbrev="SI6 Networks / UTN-FRH">SI6 Networks</organization> | <reference anchor="FRITZ" target="https://www.si6networks.com/2016/02/16 | |||
| <address> | /quiz-weird-ipv6-traffic-on-the-local-network-updated-with-solution/"> | |||
| <postal> | <front> | |||
| <street>Segurola y Habana 4310, 7mo Piso</street> | <title>Quiz: Weird IPv6 Traffic on the Local Network (updated with s | |||
| <!-- <code>1706</code> --> | olution)</title> | |||
| <author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
| <organization abbrev="SI6 Networks / UTN-FRH">SI6 Networks</organi | ||||
| zation> | ||||
| <address> | ||||
| <postal> | ||||
| <street>Segurola y Habana 4310, 7mo Piso</street> | ||||
| <city>Villa Devoto</city> | <city>Villa Devoto</city> | |||
| <region>Ciudad Autonoma de Buenos Aires</region> | <region>Ciudad Autonoma de Buenos Aires</region> | |||
| <country>Argentina</country> | <country>Argentina</country> | |||
| </postal> | </postal> | |||
| <phone>+54 11 4650 8472</phone> | <phone>+54 11 4650 8472</phone> | |||
| <email>fgont@si6networks.com</email> | <email>fgont@si6networks.com</email> | |||
| <uri>https://www.si6networks.com</uri> | <uri>https://www.si6networks.com</uri> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date month="February" year="2016"/> | ||||
| <date month="February" year="2016"/> | </front> | |||
| </front> | <refcontent>SI6 Networks</refcontent> | |||
| <seriesInfo name="SI6 Networks" value="Blog"/> | </reference> | |||
| </reference> | ||||
| <reference anchor="RIPE-690" target="https://www.ripe.net/publications/do | ||||
| cs/ripe-690"> | ||||
| <front> | ||||
| <title>Best Current Operational Practice for Operators: I | ||||
| Pv6 prefix assignment for end-users - persistent vs non-persistent, and what siz | ||||
| e to choose</title> | ||||
| <author fullname="Jan Zorz" initials="J." surname="Zorz"> | ||||
| </author> | ||||
| <author fullname="Sander Steffannz" initials="S." surname="Zorz"> | ||||
| </author> | ||||
| <author fullname="Primoz Drazumeric" initials="P." surname="Drazumeric"> | ||||
| </author> | ||||
| <author fullname="Mark Townsley" initials="M." surname="Townsley"> | ||||
| </author> | ||||
| <author fullname="Andrew Alston" initials="J." surname="Alston"> | ||||
| </author> | ||||
| <author fullname="Gert Doering" initials="G." surname="Doering"> | ||||
| </author> | ||||
| <author fullname="Jordi Palet" initials="J." surname="Palet"> | ||||
| </author> | ||||
| <author fullname="Jen Linkova" initials="J." surname="Linkova"> | ||||
| </author> | ||||
| <author fullname="Luis Balbinot" initials="L." surname="Balbinot"> | ||||
| </author> | ||||
| <author fullname="Kevin Meynell" initials="K." surname="Meynell"> | ||||
| </author> | ||||
| <author fullname="Lee Howard" initials="L." surname="Howard"> | ||||
| </author> | ||||
| <date month="October" year="2017"/> | ||||
| </front> | ||||
| <seriesInfo name="RIPE" value="690"/> | ||||
| </reference> | ||||
| <reference anchor="UK-NOF" target="https://indico.uknof.org.uk/event/41/c | ||||
| ontributions/542/attachments/712/866/bcop-ipv6-prefix-v9.pdf"> | ||||
| <front> | ||||
| <title>IPv6 Deployment Survey (Residential/Household Serv | ||||
| ices) How IPv6 is being deployed?</title> | ||||
| <author fullname="Jordi Palet" initials="J." surname="Palet"> | ||||
| </author> | ||||
| <date month="January" year="2018"/> | <reference anchor="RIPE-690" target="https://www.ripe.net/publications/d | |||
| </front> | ocs/ripe-690"> | |||
| <seriesInfo name="UK NOF" value="39"/> | <front> | |||
| </reference> | <title>Best Current Operational Practice for Operators: IPv6 prefix | |||
| assignment for end-users - persistent vs non-persistent, and what size to choose | ||||
| </title> | ||||
| <author fullname="Jan Žorž" initials="J." surname="Žorž"></author> | ||||
| <author fullname="Sander Steffann" initials="S." surname="Steffann"> | ||||
| </author> | ||||
| <author fullname="Primož Dražumeric" initials="P." surname="Dražumer | ||||
| ič"></author> | ||||
| <author fullname="Mark Townsley" initials="M." surname="Townsley"></ | ||||
| author> | ||||
| <author fullname="Andrew Alston" initials="A." surname="Alston"></au | ||||
| thor> | ||||
| <author fullname="Gert Doering" initials="G." surname="Doering"></au | ||||
| thor> | ||||
| <author fullname="Jordi Palet Martinez" initials="J." surname="Palet | ||||
| Martinez"></author> | ||||
| <author fullname="Jen Linkova" initials="J." surname="Linkova"></aut | ||||
| hor> | ||||
| <author fullname="Luis Balbinot" initials="L." surname="Balbinot"></ | ||||
| author> | ||||
| <author fullname="Kevin Meynell" initials="K." surname="Meynell"></a | ||||
| uthor> | ||||
| <author fullname="Lee Howard" initials="L." surname="Howard"></autho | ||||
| r> | ||||
| <date month="October" year="2017"/> | ||||
| </front> | ||||
| <seriesInfo name="RIPE" value="690"/> | ||||
| </reference> | ||||
| <reference anchor="UK-NOF" target="https://indico.uknof.org.uk/event/41/ | ||||
| contributions/542/"> | ||||
| <front> | ||||
| <title>IPv6 Deployment Survey and BCOP</title> | ||||
| <author fullname="Jordi Palet Martinez" initials="J." surname="Palet | ||||
| Martinez"></author> | ||||
| <date month="January" year="2018"/> | ||||
| </front> | ||||
| <seriesInfo name="UK NOF" value="39"/> | ||||
| </reference> | ||||
| </references> | ||||
| </references> | </references> | |||
| <section numbered="false" toc="default"> | ||||
| <name>Acknowledgments</name> | ||||
| <t>The authors would like to thank (in alphabetical order) <contact | ||||
| fullname="Brian Carpenter"/>, <contact fullname="Alissa Cooper"/>, | ||||
| <contact fullname="Roman Danyliw"/>, <contact fullname="Owen DeLong"/>, | ||||
| <contact fullname="Martin Duke"/>, <contact fullname="Guillermo Gont"/>, | ||||
| <contact fullname="Philip Homburg"/>, <contact fullname="Sheng Jiang"/>, | ||||
| <contact fullname="Benjamin Kaduk"/>, <contact fullname="Erik Kline"/>, | ||||
| <contact fullname="Murray Kucherawy"/>, <contact fullname="Warren | ||||
| Kumari"/>, <contact fullname="Ted Lemon"/>, <contact fullname="Juergen | ||||
| Schoenwaelder"/>, <contact fullname="Éric Vyncke"/>, <contact | ||||
| fullname="Klaas Wierenga"/>, <contact fullname="Robert Wilton"/>, and | ||||
| <contact fullname="Dale Worley"/> for providing valuable comments on | ||||
| earlier draft versions of this document.</t> | ||||
| <t>The authors would like to thank (in alphabetical order) <contact | ||||
| fullname="Mikael Abrahamsson"/>, <contact fullname="Luis Balbinot"/>, | ||||
| <contact fullname="Brian Carpenter"/>, <contact fullname="Tassos | ||||
| Chatzithomaoglou"/>, <contact fullname="Uesley Correa"/>, <contact | ||||
| fullname="Owen DeLong"/>, <contact fullname="Gert Doering"/>, <contact | ||||
| fullname="Martin Duke"/>, <contact fullname="Fernando Frediani"/>, <contac | ||||
| t | ||||
| fullname="Steinar Haug"/>, <contact fullname="Nick Hilliard"/>, <contact | ||||
| fullname="Philip Homburg"/>, <contact fullname="Lee Howard"/>, <contact | ||||
| fullname="Christian Huitema"/>, <contact fullname="Ted Lemon"/>, <contact | ||||
| fullname="Albert Manfredi"/>, <contact fullname="Jordi Palet Martinez"/>, | ||||
| <contact fullname="Michael Richardson"/>, <contact fullname="Mark Smith"/> | ||||
| , | ||||
| <contact fullname="Tarko Tikan"/>, and <contact fullname="Ole Troan"/> | ||||
| for providing valuable comments on a previous document on which this | ||||
| document is based.</t> | ||||
| <t>Fernando would like to thank <contact fullname="Alejandro D'Egidio"/> a | ||||
| nd <contact | ||||
| fullname="Sander Steffann"/> for a discussion of these issues. Fernando wo | ||||
| uld | ||||
| also like to thank <contact fullname="Brian Carpenter"/> who, over the | ||||
| years, has answered many questions and provided valuable comments that | ||||
| have benefited his protocol-related work.</t> | ||||
| <t>The problem discussed in this document has been previously documented | ||||
| by <contact fullname="Jen Linkova"/> in <xref | ||||
| target="I-D.linkova-6man-default-addr-selection-update" | ||||
| format="default"/> and also in <xref target="RIPE-690" | ||||
| format="default"/>. | ||||
| <xref target="intro" format="default"/> borrows text | ||||
| from <xref target="I-D.linkova-6man-default-addr-selection-update" | ||||
| format="default"/>, authored by <contact fullname="Jen Linkova"/>.</t> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| <!-- | ||||
| Local Variables: | ||||
| mode:xml | ||||
| End: | ||||
| =--> | ||||
| End of changes. 32 change blocks. | ||||
| 716 lines changed or deleted | 608 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/ | ||||