<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.8 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC6724 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6724.xml">
<!ENTITY RFC8028 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8028.xml">
<!ENTITY RFC4861 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4861.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC4191 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4191.xml">
<!ENTITY RFC4193 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4193.xml">
<!ENTITY RFC7526 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7526.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC1918 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1918.xml">
<!ENTITY RFC6555 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6555.xml">
<!ENTITY RFC8305 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8305.xml">
<!ENTITY RFC3587 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3587.xml">
<!ENTITY RFC8925 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8925.xml">
<!ENTITY RFC3484 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3484.xml">
]>


<rfc ipr="trust200902" docName="draft-ietf-6man-rfc6724-update-17" category="std" consensus="true" submissionType="IETF" updates="6724">
  <front>
    <title abbrev="Prioritizing known-local ULAs in RFC 6724">Prioritizing known-local IPv6 ULAs through address selection policy</title>

    <author initials="N." surname="Buraglio" fullname="Nick Buraglio">
      <organization>Energy Sciences Network</organization>
      <address>
        <email>buraglio@forwardingplane.net</email>
      </address>
    </author>
    <author initials="T." surname="Chown" fullname="Tim Chown">
      <organization>Jisc</organization>
      <address>
        <email>Tim.Chown@jisc.ac.uk</email>
      </address>
    </author>
    <author initials="J." surname="Duncan" fullname="Jeremy Duncan">
      <organization>Tachyon Dynamics</organization>
      <address>
        <email>jduncan@tachyondynamics.com</email>
      </address>
    </author>

    <date year="2025" month="January" day="24"/>

    <area>Int</area>
    <workgroup>6MAN</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 55?>

<t>This document draws on several years of operational experience to update RFC 6724, defining the concept of "known-local" ULA prefixes that enable ULA-to-ULA communications within fd00::/8 to become preferred over both IPv4-IPv4 and GUA-to-GUA for local use. The document defines the means by which nodes can both identify and insert such prefixes into their address selection policy table. It also clarifies the mandatory, unconditional requirement for support for Rule 5.5 and demotes the preference for 6to4 addresses. These changes to default behavior improve supportability of common use cases, including automatic / unmanaged scenarios, and makes preference for IPv6 over IPv4 consistent in local site networks for both ULA and GUA prefixes. It is recognized that some less common deployment scenarios may require explicit configuration or custom changes to achieve desired operational parameters.</t>



    </abstract>



  </front>

  <middle>


<?line 59?>

<section anchor="introduction"><name>Introduction</name>

<t>Since its publication in 2012, <xref target="RFC6724"/> has become an important mechanism by which nodes can perform address selection, deriving the most appropriate source and destination address pair to use from a
candidate set by following the procedures defined in the RFC. Part of the process involves the use of a policy table, where the precedence and labels for address prefixes are listed, and for which a default policy table is defined.</t>

<t>It was always expected that the default policy table may need to be changed based on operational experience; section 2.1 says "It is important that implementations provide a way to change the default policies as more experience is gained" and points to the examples in Section 10, which include Section 10.6 where a ULA example is presented.</t>

<t>This document is written on the basis of such operational experience, in particular for scenarios where ULAs are used for their intended purpose as stated in <xref target="RFC4193"/>, i.e., they are designed to be routed within a local site and by default not advertised, used or received from externally to that site. The document defines how preference for ULAs may be elevated for appropriate, common scenarios.</t>

<t>To support the preference to use ULA address pairs over both IPv4 and GUA address pairs for local intra-site scenarios, the concept of a "known-local" ULA address is introduced. This document describes the means for nodes to determine ULA prefixes that are known to be local to the site they are operating in and to insert those prefixes into their policy table with a label that differs to general ULA prefixes. This capability allows nodes to prefer ULA-ULA communication locally, but still use GUA-GUA address pairs for external communication, and importantly avoid selecting a ULA source to talk to a non-local ULA destination.</t>

<t>This document also reinforces the text in RFC 6724 to require support for Rule 5.5.</t>

<t>RFC 4193 defines ULAs within fc00::/7, where the L bit, as detailed in Section 3.1, is set to 1 for locally assigned (generated) prefixes, with L=0 as yet undefined. The use of known-locals as described in this document therefore applies to the currently used ULA prefixes under fd00::/8, where the prefixes conform to the definition in Section 3.1.</t>

<t>The overall goal of this update is to improve behavior for common scenarios, and to assist in the phasing out of use of IPv4, while noting that some specific scenarios may still require explicit configuration.</t>

<t>An IPv6 deployment, whether enterprise, residential or other, may use combinations of IPv6 GUAs, IPv6 ULAs, IPv4 globals, IPv4 RFC 1918 addressing, and may or may not use some form of NAT. However, this document makes no comment or recommendation on how ULAs are used, or on the use of NAT in an IPv6 network.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<t>GUA: Global Unicast Addressing as defined in <xref target="RFC3587"></xref></t>

<t>ULA: Unique Local Addressing as defined in <xref target="RFC4193"></xref></t>

<t>Known-local ULA: A ULA prefix that an individual organization/site has determined to be local to a given node/network</t>

</section>
<section anchor="operational-issues-regarding-preference-for-ipv4-addresses-over-ulas"><name>Operational Issues Regarding Preference for IPv4 addresses over ULAs</name>

<t>With multi-addressing being the norm for IPv6, more so where nodes are dual-stack, the ability for a node to pick an appropriate address pair for communication is very important.</t>

<t>Where getaddrinfo() or a comparable API is used, the sorting behavior should take into account both
the source addresses of the requesting node as well as the destination addresses returned, and sort the candidate address pairs following the procedures defined in RFC 6724.</t>

<t>The current default policy table leads to preference for use of IPv6 GUAs over IPv4 globals, which is widely considered preferential behavior to support greater use of IPv6 in dual-stack environments. This helps allow sites to phase out IPv4 as its evidenced use becomes ever lower.</t>

<t>However, there are two issues with preference, or rather non-preference, for ULAs as originally defined in RFC 6724.</t>

<t>One is that the same default policy table also puts IPv6 ULAs below all IPv4 addresses, including <xref target="RFC1918"/> addresses, such that IPv4-IPv4 address pairs are favored over ULA-ULA address pairs. For many site operators this behavior will be counter-intuitive, given the IPv6 GUA preference, and may create difficulties with respect to planning, operational, and security implications for environments where ULA addressing is used in IPv4/IPv6 dual-stack network scenarios. The expected default prioritization of known-local IPv6 traffic over IPv4 by default, as happens with IPv6 GUA addressing, does not happen for ULAs.</t>

<t>As a result, the use of ULAs is not a viable option for dual-stack networking transition planning, large scale network modeling, network lab environments or other modes of large scale networking that run both IPv4 and IPv6 concurrently with the expectation that IPv6 will be preferred by default. Local preference of ULAs over IPv4 is thus important to assist operators in phasing out IPv4 from dual-stack environments and is an important enabler for sites seeking to move from dual-stack to IPv6-only networking.</t>

<t>The other issue is that where nodes in a dual-stack site are addressed from both ULA and GUA prefixes, RFC 6724 will see GUA-GUA address pairs chosen over ULA-ULA. One goal of ULA addressing was to allow local communications to be independent of the availability of external connectivity and addressing, such that persistent ULAs can be used even when the global prefix made available to a site is withdrawn or changes.</t>

<t>This document therefore introduces two changes to RFC 6724 to support a node implementing elevated or differential preference for  known-local ULAs, i.e., ULAs within a common local network, over both IPv4 and IPv6 GUAs.</t>

<t>The first change is an update to the default policy table to elevate the preference for ULAs prefixes such that ULAs, like GUAs, carry a higher precedence than all IPv4 addresses, making IPv6 precedence over IPv4 consistent for both ULAs and GUAs.</t>

<t>The second change is the introduction of the concept of known-local ULAs. RFC 6724 includes a method by which nodes <bcp14>MAY</bcp14> provide more fine-grained support for further elevating the preference for specific ULA prefixes, while leaving other general ULA prefixes at the precedence described in the previous paragraph. This document elevates the requirement for specific ULA prefixes to be inserted into the policy table to be a <bcp14>MUST</bcp14>, but only for observed prefixes that are known to be local, i.e., known-local ULAs. Nodes implementing this behavior will see ULA prefixes known to be local to the node's site having precedence over IPv4 addresses and also over IPv6 GUA addresses, such that they can use ULA addressing independently of global prefixes within their site and continue to use GUA-GUA address pairs to talk to destinations external to their site.</t>

<t>These changes aim to improve the default handling of address selection for common cases, and unmanaged / automatic scenarios rather than those where DHCPv6 is deployed. The changes are discussed in more detail in the following sections, with a further section providing a summary of the proposed updates.</t>

</section>
<section anchor="preference-of-6to4-addresses"><name>Preference of 6to4 addresses</name>

<t>The anycast prefix for 6to4 relays was formally deprecated by <xref target="RFC7526"/> in 2015, and since that time the use of 6to4 addressing has further declined, with very little evidence of its use on the public internet. Note that RFC 7526 does not deprecate the 6to4 IPv6 prefix 2002::/16, it only deprecates the 6to4 Relay IPv4 prefix.</t>

<t>This document therefore demotes the precedence of the 6to4 prefix in the policy table to the same precedence as carried by the Teredo prefix. Leaving this entry in the default table will cause no problems and will help if any deployments still exist, and ensure 6to4 prefixes are differentiated from general GUAs.</t>

<t>The discussion regarding the adding of 6to4 site prefixes in section 10.7 of RFC6724 remains valid.</t>

</section>
<section anchor="adjustments-to-rfc-6724"><name>Adjustments to RFC 6724</name>

<t>This document makes three specific changes to RFC 6724: first to update the default policy table, second to change Rule 5.5 on preferring addresses in a prefix advertised by the next-hop to a <bcp14>MUST</bcp14>, and third to require that nodes <bcp14>MUST</bcp14> insert observed known-local ULA prefixes into their policy table.</t>

<section anchor="policy-table-update"><name>Policy Table Update</name>

<t>This update alters the default policy table listed in Rule 2.1 of RFC 6724.</t>

<t>The table below reflects the current RFC 6724 state on the left, and the updated state defined by this RFC on the right:</t>

<figure><artwork><![CDATA[
                    RFC 6724                              Updated                  
Prefix       Precedence Label        Prefix        Precedence Label              
::1/128              50     0        ::1/128               50     0
                                     $known_local/48       45    14 (**)
::/0                 40     1        ::/0                  40     1
::ffff:0:0/96        35     4        ::ffff:0:0/96         20     4 (*)
2002::/16            30     2        2002::/16              5     2 (*)
2001::/32             5     5        2001::/32              5     5
fc00::/7              3    13        fc00::/7              30    13 (*)
::/96                 1     3        ::/96                  1     3
fec0::/10             1    11        fec0::/10              1    11
3ffe::/16             1    12        3ffe::/16              1    12

(*) value(s) changed in update
(**) $known_local = the ULA Known-Local /48 IPv6 prefix(es) (if any) 
with precedence and labels per the rules in Sec 5.3

]]></artwork></figure>

<t>The update moves 2002::/16 to de-preference its status in line with <xref target="RFC7526"/> and moves the precedence of fc00::/7 above legacy IPv4, with ::ffff:0:0/96 now set to precedence 20.</t>

</section>
<section anchor="rule-55"><name>Rule 5.5</name>

<t>The heuristic for address selection defined in Rule 5.5 of Section 5 of RFC 6724 to prefer addresses in a prefix advertised by a next-hop router has proven to be very useful.</t>

<t>The text in RFC 6724 states that the Rules <bcp14>MUST</bcp14> be followed in order, but also includes a discussion note under Rule 5.5 that says that an IPv6 implementation is not required to remember which next-hops advertised which prefixes and thus that Rule 5.5 is only
applicable to implementations that track this information.</t>

<t>This document removes that exception and elevates the requirement to prefer addresses in a prefix advertised by a next-hop router to a <bcp14>MUST</bcp14> for all nodes.</t>

<t>This change means that an IPv6 implementation will need to remember which next-hops advertised which prefixes
<xref target="RFC8028"/>, although the conceptual models of IPv6 hosts in Section 5 of <xref target="RFC4861"/> and Section 3 of <xref target="RFC4191"/>
have no such requirement.</t>

</section>
<section anchor="automatic-insertion-of-known-local-ula-prefixes-into-the-policy-table"><name>Automatic insertion of known-local ULA prefixes into the policy table</name>

<t>Section 2.1 of RFC 6724 states that "an implementation <bcp14>MAY</bcp14> automatically add additional site-specific rows to the default table based on its configured addresses, such as for Unique Local Addresses (ULAs)", but it provides no detail on how such behavior might be implemented.</t>

<t>If a node can determine which ULA prefix(es) are known to be local, it can provide differential treatment for those over general ULAs, and insert these into the policy table at a higher precedence than GUAs while keeping all general ULA prefixes to a lower precedence.</t>

<t>This document thus elevates the <bcp14>MAY</bcp14> requirement above for insertion to a <bcp14>MUST</bcp14> for the specific case of known-local ULAs.</t>

<t>These known-local ULA prefixes are inferred from ULA addresses assigned to interfaces or learned from Prefix Information Options (PIOs) in Router Advertisements (RAs) <xref target="RFC4861"/> received on any interface regardless of how the PIO flags are set. Further, they are learned from Route Information Options (RIOs) in RAs received on any interface by Type C hosts that process RIOs, as defined in <xref target="RFC4191"/>.</t>

<t>Section 3.1 of RFC 4193 only defines ULA prefixes where the L-bit is set to 1, i.e., prefixes under fd00::/8 where the prefix is locally assigned or generated. The use of ULAs where L=0, i.e., prefixes under fc00::/8, is currently undefined.</t>

<t>The following rules define how the learnt known-local ULA prefixes under fd00::/8 are inserted into the address selection policy table for a node, through a conceptual list of known-local prefixes.</t>

<t><list style="numbers">
  <t>Any RIO or PIO that is delivered in an RA in which the "SNAC Router" RA header flag bit <xref target="SNACBIT"/> is set <bcp14>MUST</bcp14> be ignored when considering the following rules.</t>
  <t>RIOs from within fd00::/8 are considered the preferred information source for determining known-local ULAs and should override other conflicting information or assumptions from other sources, including PIOs.</t>
  <t>RIOs within fd00::/8 that are of length /40 or longer <bcp14>MUST</bcp14> be added to the known-local ULA list. RIOs for shorter prefixes <bcp14>MUST NOT</bcp14> be used to insert known-local ULA entries in the address selection policy table</t>
  <t>PIOs within fd00::/8 of length /64 that are not already in the nodes known-local ULA list <bcp14>MUST</bcp14> be added to the list with an assumed prefix length of /48, regardless of how the PIO flags are set.</t>
  <t>ULA interface addresses from within fd00::/8, particularly ones not created by SLAAC, and not already covered by the known-local ULA list <bcp14>MUST</bcp14> be added to the list with an assumed prefix length of /48. However, as with rule 1, if the ULA interface address was generated on the basis of a PIO that has only been seen in RAs in which the SNAC router flag bit is set <bcp14>MUST NOT</bcp14> be used as described in this rule (rule 5).</t>
  <t>Regardless of their length or how the PIO flags are set, other PIOs from within fd00::/8 that are not already covered by the known-local ULA list <bcp14>MAY</bcp14> be added to the list, but only with the advertised prefix length.</t>
  <t>When inserting known-local ULA entries into the policy table, they <bcp14>MUST</bcp14> have a label of 14 (rather than the default ULA label of 13) and a precedence of 45.</t>
  <t>Entries <bcp14>MUST</bcp14> be removed from the known-local ULA list and the Policy Table when the announced RIOs or PIOs are deprecated, or an interface address is removed, and there is no covering RIO or PIO.</t>
</list></t>

<t>When support is added for the insertion of known-local ULA prefixes it <bcp14>MUST</bcp14> default to on, but a mechanism <bcp14>SHOULD</bcp14> be supported to administratively toggle the behavior off and on.</t>

<t>Tools that display a node's default policy table <bcp14>MUST</bcp14> show all currently inserted known-local ULA prefixes.</t>

<t>The identification and insertion of known-local prefixes under fc00::/8 is currently not defined.</t>

<t>Note that a practical limit exists on the number of RIOs and PIOs that can be placed into a single RA. Therefore, there is a practical limit to the number of known-local ULAs that can be expressed on a single network and the number of ULA prefixes that can automatically be preferred over IPv4 and GUA prefixes within the policy table. This limit is unlikely to impact most networks, especially residential and other small unmanaged networks that automatically generate ULA prefixes.</t>

<t>Section 4 of RFC 4191 says "Routers <bcp14>SHOULD NOT</bcp14> send more than 17 Route Information Options in Router Advertisements per link. This arbitrary bound is meant to reinforce that relatively few and carefully selected routes should be advertised to hosts." The exact limit will depend on other Options that are used. So while this is not the practical limit discussed above, operators <bcp14>MUST</bcp14> take extra care not to overflow the RA with RA Options when exceeding this limit.</t>

<t>Note that in the case of Rule 2 above it would be expected that ULA prefixes being included in the known-local prefix
list be compliant with Section 3 of RFC4193 (i.e., /48 in size) but the above rule is pragmatic in that it allows
the use of ULA prefixes of up to /40 in length.
Most networks use ("are expected to use") /48 prefixes as per
RFC4193. However, it is possible that in some circumstances a
larger managed enterprise may wish to use a shorter prefix (e.g., to simplify management, filtering
rules, etc, and to overcome the issue with the number of RIOs an RA
can carry as described in the above paragraph). However, such
non-compliant use of ULAs may be problematic in other ways, e.g., carrying an increased risk of collision with other
ULA prefixes, where you might be using someone else's compliant prefix because shorter prefixes have a lower chance to be globally unique.</t>

</section>
</section>
<section anchor="configuration-of-the-default-policy-table"><name>Configuration of the default policy table</name>

<t>As stated in Section 2.1 of RFC 6724 "IPv6 implementations <bcp14>SHOULD</bcp14> support configurable address selection via a mechanism at least as powerful as the policy tables defined here".</t>

<t>Based on operational experience to date, it is important that node policy tables can be changed once deployed to support future emerging use cases. This update thus re-states the importance of such configurability.</t>

</section>
<section anchor="intended-behaviors"><name>Intended behaviors</name>

<t>In this section we review the intended default behaviors after this update is applied.</t>

<section anchor="gua-gua-preferred-over-ipv4-ipv4"><name>GUA-GUA preferred over IPv4-IPv4</name>

<t>This is the current behavior, and remains unaltered. The rationale is to promote use of IPv6 GUAs in dual-stack environments.</t>

</section>
<section anchor="gua-gua-preferred-over-ula-ula"><name>GUA-GUA preferred over ULA-ULA</name>

<t>This is the current behavior, and remains unaltered for the general case.</t>

<t>However, where a ULA prefix is determined to be local, and added as a known-local ULA prefix to a node's address selection policy table, communications to addresses in other known-local ULA prefixes will prefer ULA-ULA address pairs to GUA-GUA (matching label, higher precedence).</t>

</section>
<section anchor="known-local-ula-known-local-ula-preferred-over-gua-gua"><name>Known-local ULA - Known-local ULA preferred over GUA-GUA</name>

<t>As described in the previous case, this document elevates preference for use of ULAs over GUAs in cases where the ULA prefix(es) in use can be determined to be local to a site or organization.</t>

<t>By only adapting this behavior for known-local ULAs, a node will not select a ULA source to talk to a non-local ULA destination and will instead correctly use GUA-GUA.</t>

<t>Nodes not yet implementing this RFC will continue to use GUA-GUA over ULA-ULA for all cases.</t>

<t>As an example, consider a site that uses prefixes ULA1::/48, ULA2::/48 and GUA1::/48.</t>

<t>Host A has address ULA1::1 and GUA1:1::1
Host B has address ULA2::1 and GUA1:2::1</t>

<t>Both ULA prefixes have been determined to be known-local through RIOs.
Perhaps ULA2 is reachable within the site, but its prefix is not in direct use at host A.</t>

<t>If host A sends to host B the candidate pairs are ULA1::1 - ULA2::1 and GUA1::1::1 - GUA1:2::1.</t>

<t>In this case ULA1::1 - ULA2::1 wins because of matching labels (both 14) and higher precedence than GUA (45 vs 40).</t>

<t>If host A were to send to a host C with addresses ULA3::1 (where ULA3::/48 has not been learned to be a known-local prefix) and GUA2:1::1, host A would use the GUA address pair for the communication as the GUAs have matching labels (both 1) where the known-local ULA and general ULA do not (14 and 13 respectively).</t>

</section>
<section anchor="known-local-ula-ula-preferred-over-ipv4-ipv4"><name>Known-local ULA-ULA preferred over IPv4-IPv4</name>

<t>This update changes previous behavior for this case. RFC 6724 as originally defined would lead to IPv4 being preferred over ULAs, which is contrary to the spirit of the IPv6 GUA preference over IPv4, and to the goal of removing evidenced use of IPv4 in a dual-stack site before transitioning to IPv6-only.</t>

<t>This document elevates the precedence of known-local ULAs above IPv4, so known-local ULA-ULA address pairs will be chosen over IPv4-IPv4 pairs (matching label, higher precedence).</t>

</section>
<section anchor="ipv4-ipv4-preferred-over-ula-gua"><name>IPv4-IPv4 preferred over ULA-GUA</name>

<t>An IPv6 ULA address will only be preferred over an IPv4 address if both IPv6 ULA source and destination addresses are available. With Rule 5 of Section 6 of RFC 6724 and the ULA-specific label added in <xref target="RFC6724"/> (which was not present in <xref target="RFC3484"/>) an IPv4 source and destination will be preferred over an IPv6 ULA source and an IPv6 GUA destination address, even though generally known-local IPv6 ULA addresses are preferred over IPv4 in the policy table as proposed in this update. The IPv4 matching label trumps ULA-GUA.</t>

</section>
</section>
<section anchor="discussion-of-ula-source-with-gua-or-remote-ula-destination"><name>Discussion of ULA source with GUA or remote ULA destination</name>

<t>In this section we present a discussion on the scenarios where a ULA source may be communicating with a GUA or ULA destination.</t>

<t>A potential problem exists when a ULA source attempts to communicate with GUA or remote ULA destinations. In these scenarios, the ULA source as stated earlier is by default intended for communication only with the local network, meaning an individual site, several sites that are part of the same organization, or multiple sites across cooperating organizations, as detailed in <xref target="RFC4193"/>. As a result, most GUA and ULA destinations are not attached to the same local network as the ULA source and are, therefore, not reachable from the ULA source.</t>

<t>Scenario 1: ULA source and GUA destination</t>

<t>When only a ULA source is available for communication with GUA destinations, this generally implies no connectivity to the IPv6 Internet is available. Otherwise, a GUA source would have been made available and selected for use with GUA destinations. As a result, the ULA source will typically fail when it attempts to communicate with most GUA destinations. However, corner cases exist where the ULA source will not fail, such as when GUA destinations are attached to the same local network as the ULA source.</t>

<t>Scenario 2: ULA source and remote ULA destination</t>

<t>Receiving a DNS response for a ULA destination that is not attached to the local network, in other words, a remote ULA destination, is considered a misconfiguration in most cases, or at least this contradicts the operational guidelines provided in Section 4.4 of RFC 4193. Nevertheless, this can occur, and the ULA source will typically fail when it attempts to communicate with ULA destinations that are not attached to the same local network as the ULA source. This case provides a rationale for implementing support for known-local ULA prefix insertion in the policy table, such that differential behavior can be applied for known-local versus general ULA prefixes.</t>

<t>The remainder of this section discusses several complementary mechanisms involved with these scenarios.</t>

<section anchor="the-ula-label-and-its-precedence"><name>The ULA Label and its Precedence</name>

<t>RFC 6724 added (in obsoleting RFC 3484) a separate label for ULAs (the whole range, under fc00::/7), whose default precedence is raised by this update. This separate label interacts with Rule 5 of Section 6 of RFC 6724, which says:</t>

<figure><artwork><![CDATA[
Rule 5: Prefer matching label.

If Label(Source(DA)) = Label(DA) and Label(Source(DB)) <> Label(DB), 
then prefer DA.

Similarly, if Label(Source(DA)) <> Label(DA) and Label(Source(DB)) = 
Label(DB), then prefer DB.
]]></artwork></figure>

<t>In the first scenario, the ULA source label, whether known-local or not, will not match the GUA destination label. Therefore, an IPv4 destination, if available, will be preferred over a GUA destination with a ULA source, even though the GUA destination has higher precedence than the IPv4 destination in the policy table. This means the IPv4 destination will be moved up in the list of destinations over the GUA destination with the ULA source.</t>

<t>If the ULA (fc00::/7) label is removed from the policy table, a GUA destination with a ULA source will be preferred over an IPv4 destination, as GUA and ULA will be part of the same label (for ::/0).</t>

<t>In the second scenario, if the ULA source has been recognized as being within a known-local prefix that has been inserted into the address selection policy table, then the known-local ULA source and general ULA destination will have different labels, and therefore IPv4 communication will be preferred.</t>

<t>If the ULA source has not been recognized as known-local, e.g., if the insertion of known-local prefixes into the policy table has been administratively disabled, its general ULA label will match the general ULA destination label and therefore, whether part of the local network or not, the ULA destination will be preferred over an IPv4 destination.</t>

</section>
<section anchor="happy-eyeballs"><name>Happy Eyeballs</name>

<t>Regardless of the preference resulting from the above discussion, Happy Eyeballs version 1 <xref target="RFC6555"/> or version 2 <xref target="RFC8305"/>, if implemented, will try both the GUA or ULA destination with the ULA source and the IPv4 destination and source pairings.
The ULA source will typically fail to communicate with most GUA or remote ULA destinations, and IPv4 will be preferred if IPv4 connectivity is available unless the GUA or ULA destinations are attached to the same local network as the ULA source.</t>

</section>
<section anchor="try-the-next-address"><name>Try the Next Address</name>

<t>As stated in Section 2 of RFC 6724:</t>

<t>"Well-behaved applications <bcp14>SHOULD NOT</bcp14> simply use the first address returned from an API such as getaddrinfo() and then give up if it fails. For many applications, it is appropriate to iterate through the list of addresses returned from getaddrinfo() until a working address is found. For other applications, it might be appropriate to try multiple addresses in parallel (e.g., with some small delay in between) and use the first one to succeed."</t>

<t>Therefore, when an IPv4 destination is preferred over GUA or ULA destinations, IPv4 will likely succeed if IPv4 connectivity is available, and the GUA or ULA destination may only be tried if Happy Eyeballs is implemented.</t>

<t>On the other hand, if the GUA or ULA destination with the ULA source is preferred, the ULA source will typically fail to communicate with GUA or ULA destinations that are not connected to the same local network. However, if the operational guidelines in Section 4.3 of RFC 4193  are followed, recognizing this failure can be accelerated, and transport layer timeouts (e.g., TCP) can be avoided. The guidelines will cause a Destination Unreachable ICMPv6 Error to be received by the source device, signaling the next address in the list to be tried, as discussed above.</t>

</section>
</section>
<section anchor="following-ula-operational-guidelines-in-rfc-4193"><name>Following ULA operational guidelines in RFC 4193</name>

<t>This section re-emphasizes two important operational requirements stated in <xref target="RFC4193"/> that should be followed by operators.</t>

<section anchor="filtering-ula-source-addresses-at-site-borders"><name>Filtering ULA-source addresses at site borders</name>

<t>Section 4.3 states "Site border routers and firewalls should be configured to not forward
any packets with Local IPv6 source or destination addresses outside the site, unless they have been explicitly configured with routing information about specific /48 or longer Local IPv6 prefixes".</t>

<t>And further that "Site border routers should respond with the appropriate ICMPv6 Destination Unreachable message to inform the source that the packet was not forwarded".</t>

<t>As stated in the above discussion, such ICMPv6 messages can assist in fast failover for TCP connections.</t>

</section>
<section anchor="avoid-using-ula-addresses-in-the-global-dns"><name>Avoid using ULA addresses in the global DNS</name>

<t>Section 4.3 of RFC 4193 states that "AAAA and PTR records for locally assigned local IPv6 addresses are not recommended being installed in the global DNS."</t>

<t>This is particularly important given the general method presented in this document elevates the priority for ULAs above IPv4. However, where support for insertion of known-local prefixes is implemented, such "rogue" ULAs in the global DNS are no longer a concern for address selection as they would have the lowest precedence.</t>

</section>
</section>
<section anchor="the-practicalities-of-implementing-address-selection-support"><name>The practicalities of implementing address selection support</name>

<t>As with most adjustments to standards, and using the introduction of RFC 6724 as a measuring stick, the updates defined in this document will likely take several years to become common enough for consistent behavior within most operating systems. At the time of writing, it has been over 10 years since RFC 6724 has been published but we continue to see existing commercial and open source operating systems exhibiting RFC 3484 (or other) behavior.</t>

<t>While it should be noted that RFC 6724 defines a solution to adjust the address preference selection table that is functional theoretically, operationally the solution is operating system dependent and in practice policy table changes cannot be signaled by any currently deployed network mechanism. While RFC 7078 defines such a DHCPv6 option, there are few if any implementations. This lack of an intra-protocol or network-based ability to adjust address selection preference, along with the inability to adjust a notable number of operating systems either programmatically or manually, renders operational scalability of such a mechanism challenging.</t>

<t>It is especially important to note this behavior in the long lifecycle equipment that exists in industrial control and operational technology environments due to their very long mean time to replacement/lifecycle.</t>

</section>
<section anchor="limitations-of-rfc-6724"><name>Limitations of RFC 6724</name>

<t>The procedures defined in RFC 6724 do not give optimal results for all scenarios. As stated in the introduction, the aim of this update is to improve the behavior for the most common scenarios.</t>

<t>It is widely recognized in the IETF 6man WG that the whole 3484/6724/getaddrinfo() model is fundamentally inadequate for optimal address selection.  A model that considers address pairs directly, rather than sorting on destination addresses with the best source for that address, would be preferable, but beyond the scope of this document.</t>

<t>To simplify address selection, operators may instead look to deploy IPv6-only and/or may choose to only use GUA addresses and no ULA addresses. Other approaches to reduce the use of IPv4, e.g., through use of DHCPv4 Option 108 as defined in <xref target="RFC8925"/> as part of an "IPv6 Mostly" deployment model, also helps simplify address selection for nodes.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The authors would like to acknowledge the valuable input and contributions of the 6man WG including (in alphabetic order) Erik Auerswald, Dale Carder, Brian Carpenter, Tom Coffeen, Lorenzo Colitti, Chris Cummings, David Farmer (in particular for the ULA to GUA/ULA discussion text, and discussion of using the specific fd00::/8 prefix for known-locals), Bob Hinden, Scott Hogg, Ed Horley, Ted Lemon, Jen Linkova, Michael Richardson, Kyle Rose, Nathan Sherrard, Ole Troan, Eduard Vasilenko, Eric Vyncke, Paul Wefel, Timothy Winters, and XiPeng Xiao.</t>

</section>
<section anchor="implementation-status"><name>Implementation Status</name>

<t>This section should be removed before publication as an RFC.</t>

<t>There are two known implementations of the ULA known-local preference mechanism.
The first implementation was created by Lorenzo Colitti at Google as a prototype solution, with public code available for reference on their android platform available to the public <xref target="ANDROID"/>. It was last updated in April of 2024, and does not include the capability to listen for RIO/PIO changes, but does support adding the ULA prefix learned on the interface to the known-local preference.</t>

<t>The second implementation was written by Jeremy Duncan at Tachyon Dynamics and made available as open source, reference prototype code available <xref target="RAIO-ULA-PY"/>. This implementation includes a full implementation written in python, including the capability to listen to RIO and PIO on the wire and adjust ULA known-local prefixes as needed. It was last updated in May of 2024.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>There are no direct security considerations in this document.</t>

<t>The mixed preference for IPv6 over IPv4 from the default policy table in RFC 6724 represents a potential security issue, given an operator may expect ULAs to be used when in practice RFC 1918 addresses are used instead.</t>

<t>The requirements of RFC 4193, stated earlier in this document, should be followed for optimal behavior.</t>

<t>Operators should be mindful of cases where communicating nodes have differing behaviors for address selection, e.g., RFC3484 behavior, RFC6724, the updated RFC6724 behavior defined here, some other non-IETF-standardized behavior, or even no mechanism. There may thus be inconsistent behavior for communications initiated in each direction between two nodes. Ultimately all nodes should be made compliant to the updated specification described in this document.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>None.</t>

</section>
<section anchor="summary-of-changes-and-additional-text-since-rfc-6724"><name>Summary of changes and additional text since RFC 6724</name>
<t>This section should be removed before publication as an RFC.</t>

<t><list style="symbols">
  <t>Introduced concept of known-locals and rules for their insertion/removal in the table.</t>
  <t>Changed default policy table to move fc00::/7 to precedence 30, above legacy IPv4.</t>
  <t>Changed default policy table to move the 6to4 address block 2002::/16 to the same precedence as the Teredo prefix.</t>
  <t>Changed ::ffff:0:0/96 to precedence 20.</t>
  <t>Changed Rule 5.5 to a <bcp14>MUST</bcp14> support.</t>
  <t>Defined the concept of known-local ULA prefixes for currently defined RFC 4193 ULAs with L=1 under fd00::/8, how they may be learnt, and the <bcp14>MUST</bcp14> requirement to insert them into the policy table.</t>
  <t>Added text clarifying intended behaviors.</t>
  <t>Added text discussing ULA to GUA/ULA case.</t>
  <t>Added text for the security section.</t>
  <t>Added text to account for SNAC bit.</t>
</list></t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">

&RFC6724;
&RFC8028;
&RFC4861;
&RFC2119;
&RFC4191;
&RFC4193;
&RFC7526;
<reference anchor="SNACBIT" target="https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-parameters-11">
  <front>
    <title>IPv6 ND Router Advertisement Flags</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ANDROID" target="https://r.android.com/3046000">
  <front>
    <title>Optionally prefer known-local ULAs in Android</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="RAIO-ULA-PY" target="https://github.com/jeremy-duncan/raio_ula">
  <front>
    <title>Python known-local ULA implementation</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
&RFC8174;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

&RFC1918;
&RFC6555;
&RFC8305;
&RFC3587;
&RFC8925;
&RFC3484;


    </references>



  </back>

<!-- ##markdown-source:
H4sIABvUk2cAA7V963LbSJbmfz5FrnojVuogKVE3u7RdPa2yqrpc45K9ljy1
HRMTEyCQJNEGAQ4uUrE6ap5ln2WfbM81LwCo8nTH6octkQAy8+TJc75zxWw2
m7R5W9gb86HOqzpv81/ycm0+l9VzOSuqNCnM2w9P1+bTu9vGtJu66tYbk2RZ
bZvGNLawaZtXpdlVRZ7uJ8lyWdunF55Fj8lL8/G7N+b61fnlJKvSMtnC8Fmd
rNpZbtvV7HqblLN6leIFs26XJa2dLV5N0qS9MU2bTZpuuc2bBsZt9zu49e23
j99N8l19Y9q6a9rzs7Ovzs4nSW0T+K5sJ8/rG3P94+395PMzfWDr0razOxxw
wo9vbng2k6RrN1V9MzH0M5P/DUwZLrmfm2+6OlkXeeW+4Mnf5+nn4XdVDQN/
W9p6vTcPaW7L1Dbm3rbPVf3ZXWS3SV7cmKXc/KdVVT8ndQaE2xVJaecw1fHZ
PM7Nmw1QtjeVx3zb+5ym8UPepP0x4dI5Xfqnv8K38ySdd5/Hx/phbu66Mk36
g/1ga7vd97+jAR+TdLMHzrjbw6V52vQH/2tGN/2p5esyuWyeVtvJpKzqbdLm
TxZ3AngFN0d+fX12/lp+vXx9vZBfzxeLr/TTxVcL/+uF/Prq6vwaf324v33z
zdtH3uE2qdcWmOpo07a75ub09Pn5eZ4nZTKHJZwmwGLrcmvLtjnN0+3u6Xq2
S2pYNzDQyCfznzfttvjd4PPZYnHEo/E5o+N0f2c+Vh18bW6zJ1u3eWNxIPNd
kayRVLf3dx/fv707MM16npRZXeUZUuv04uzy+uzsLBrk/Q6PZVIUe7Or7QrG
GTuFt/wUpNDt2/cz+Hj24S8Hxlzn7aZb0oB/pV2f8Qae1kle/XtXJNH4H/Zw
jsr+oCbf7gpaaEJSw0zyctXbatg93d/rq6sr3fWLM/314ur1K/30q3P36eVr
4JDJbDYzybJp6yRtJ5PHTd4YkDAd0RYkzHNjYNjGAslhRnub1PDBylQ7+JsJ
ZuzP8AedVdNWhsWDE1dTk9lVXqJUazfWpBVctmvxEUfBUo9orUj3/GeLUjNp
jS2TZWHxi1lbIaXh5u22K/OUBm7MM9AXtmSVnZ3d3Jy+xsGXFq6xsoG1zUwF
8zbLqt0gE13O8B8DnGD+/ImeCv8ZIKdheneNnZtHmKUnAM6dJmTN1iYw6HJv
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
iQAA

-->

</rfc>

