IPv6 Operations (v6ops) Working Group N. Buraglio Internet Draft Energy Sciences Network Intended status: Informational K. Frank Expires: January 2024 P. Nero Private P. Volpato E. Vasilenko Huawei Technologies July 7, 2023 IPv6 Site connection to many Carriers draft-fbnvv-v6ops-site-multihoming-01 Abstract Carrier resilience is a typical business requirement. IPv4 deployments have traditionally solved this challenge through private internal site addressing in combination with separate NAT engines attached to multiple redundant carriers. IPv6 brings support for true end-to-end connectivity on the Internet, and hence NAT is the least desirable option in such deployments. Native IPv6 solutions for carrier resiliency, however, have drawbacks. This document discusses all currently-available options to organize carrier resiliency for a site, their strengths and weaknesses, and provides a history of past IETF efforts approaching the issue. The views presented here are the summary of discussions on the v6ops mailing list and are not just the personal opinion of the authors. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 2021. FBNVV Expires January 7, 2024 [Page 1] Internet-Draft site multihoming July 2023 Copyright Notice Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Terminology and pre-requisite..................................2 2. Problem statement..............................................3 2.1. General issues with network translation...................6 3. Problem history for the host-driven solution...................7 4. Solution requirements.........................................10 5. Available Solutions...........................................11 5.1. PI-based.................................................11 5.2. PA-based solution........................................14 5.2.1. Bind() case on the application side.................15 5.2.2. Getaddrinfo() case on the application side..........16 5.2.3. PA-based solution conclusion........................17 5.3. ULA with NPTv6...........................................19 5.4. ULA with NAT66...........................................22 5.5. Shifting the problem to the centralized site.............24 5.6. Application proxy........................................27 6. Conclusion....................................................31 7. Security Considerations.......................................34 8. IANA Considerations...........................................34 9. References....................................................34 9.1. Normative References.....................................34 9.2. Informative References...................................36 10. Acknowledgments..............................................37 1. Terminology and pre-requisite Terminology is inherited from [ND] and [SLAAC]. Additional terms: FBNVV Expires January 7, 2024 [Page 2] Internet-Draft site multihoming July 2023 RIR (Regional Internet Registry): an organization that manages Internet numbering resources (such as IP addresses and autonomous system (AS) numbers) within a geographical region of the world. LIR (Local Internet Registry): an organization (usually a carrier or an Enterprise/Academic institution) that receives its allocation of IP addresses from the Regional Internet Registry (RIR), then assigns parts of that allocation to its customers. PA (provider-assigned or provider-aggregatable) address space: a block of IP addresses assigned to the end customer by a carrier or other owner that received it inside a bigger block from an RIR or LIR. The principal characteristic of the PA address block is that it is aggregated in the bigger block (not announced separately) in the Internet routing tables. PI (provider-independent) address space: a block of IP addresses assigned by RIR or LIR to the end customer with the possibility for independent announcements in the Internet routing tables. DHCP-PD: IPv6 Prefix delegation by DHCP from the carrier to the client to be used for numbering throughout the client site (As currently defined by [DHCPv6] Section 6.3). End-to-end connectivity: The possibility to initiate the connection from any direction, including the case of complex protocols with many logically related sessions. ALG (Application-level gateway or Application-layer gateway): a component that monitors the data payload of connections to discover and fix application-level referrals (embedded IP addresses). Subscriber-only services: The resource that is filtered to the public Internet and available only for some portion of the Internet, typically only for subscribers of the particular carrier. 2. Problem statement Always-on connectivity is a key requirement for the vast majority of businesses. [IAB report] predicts that there "might be as many as 10 million multihomed sites by 2050". Unfortunately, several issues may affect the connection of a business to its upstream service provider. For example, the carrier's network, the network gateway, or the first-mile infrastructure may experience issues. It is FBNVV Expires January 7, 2024 [Page 3] Internet-Draft site multihoming July 2023 especially true now after many recent examples of massive carrier outages. A redundant connection to the carrier is then the norm for business. A simple topology that showcases this key requirement is shown in Figure 1. Note that the topology could be more complex as shown, for example, in Figure 3 [MHMP Enterprise]. +------+ _________ | | / \ +---| CPE1 |----/ Carrier \ 2001:db8:0:1001::xx | | |\ \ 1 / +------+ | +------+ \ \_________/ | | | \ | Host |----+ \ | | | \ +------+ | +------+ \_________ 2001:db8:0:2001::yy | | | / \ +---| CPE2 |----/ Carrier \ | | \ 2 / +------+ \_________/ Figure 1: The basic Carrier Resiliency topology Without entering too much into details, resilience is generally achieved by employing redundant elements. Two Customer Premises Equipment (CPE) systems are usually employed. Very often, each CPE connects the business to a different carrier. In some cases, a CPE may even connect to two different carriers, to achieve a higher level of protection against network failures. FBNVV Expires January 7, 2024 [Page 4] Internet-Draft site multihoming July 2023 It is very desirable to have paths with diversity. Unfortunately, it is not always possible for the enterprise to understand what exactly is shared between paths offered by different carriers. The duct the fibers run through may even be shared in many cases, with the risk of both strands being damaged at the same time. Let's assume for the discussion in this document that the paths available for the site to reach the Internet are sufficiently diverse. In literature, a topology such as that shown in Figure 1 based on IPv6 connectivity is often referred to as Multi-Home, Multi-Prefix (MHMP). The name implies that a network is multi-homed to different carriers, receiving from them different network prefixes. The problem of providing network protection with IPv6 was thoroughly discussed in [Local Protection]. This document is an overview of the most commonly used methods to facilitate the desired protection in modern IPv6 networks, along with a discussion of the advantages and disadvantages of each method. In IPv4 environments, such a scenario is implemented through independent NAT translation on every CPE to the carrier in combination with private address space on-site. [Local Protection] has a good list of benefits. The solution was initially adopted due to the shortage of globally-reachable address space. Later, security and carrier resiliency were identified as additional benefits. Due to the prevalence of a solution based around address translation in IPv4, demands are often voiced for such a mechanism in IPv6 as well, running the risk of being chosen by network designers without evaluating alternative options. [Local Protection] has a list of IPv6 tools that replace all functionality of the NAT solution except address conservation, which is not a necessity in IPv6. Time has shown that all IPv6 tools have been accepted as valid replacements except IPv6 "multi-homing and renumbering". Discussions about this last problem are ongoing - see [Multi-Homing] [MHMP Enterprise] [MHMP] [flash renumbering]. This document considers 6 solutions with current operational deployment (more may be added in future versions of the draft): 1. Static PI address space for the site, routed by multiple carriers. This method allows the allocation of Provider Independent (PI) addresses on-site while routing announcements are propagated by carriers on behalf of the client. It will be discussed in section 5.1. FBNVV Expires January 7, 2024 [Page 5] Internet-Draft site multihoming July 2023 2. Dynamic PA addresses distribution and withdrawal from carriers. An [IPv6] host gets different Provider Aggregatable (PA) addresses for its interfaces, possibly from different carriers. It is the host's responsibility to properly choose the combination of a source address and the relevant next hop. This solution is primarily based on the interaction of [ND] and [SASA] and will be discussed in section 5.2. 3. Static ULA address space for the site with NPTv6 translation. [NPTv6] is adopted in combination with Unique Local Addresses (ULA). This method is discussed in section 5.3. 4. Static ULA address space for the site with NAT66 translation. In this case, NAT66 is combined with Unique Local Addresses (ULA). The solution is discussed in section 5.4. 5. Shifting Internet access resilience to a central site. A branch site is granted redundant connectivity to a central hub location where the aspects related to resilient Internet connectivity are handled. The method is discussed in section 5.5. 6. Application proxy, discussed in section 5.6. The IETF consensus to preserve end-to-end connectivity does not favor the general acceptance of solutions 3 and 4, yet they are reported in this document because they offer a degree of support for the requirements listed in section 4. 2.1. General issues with network translation Part of the architectures described in this document rely on different forms of translation of the source IP address of internal hosts to offer redundant carrier connectivity. It is important to point out that, while these options have been included due to having a degree of real-world deployment, they incur a large number of drawbacks unrelated to carrier redundancy which have been extensively documented. From standards as well as practical perspectives, the [IAB request] to avoid the use of address and prefix translation has been heavily based on the long list of [NAT implications]. Some or all of the problems caused by network translation apply to the solutions in sections 5.3 and 5.4 breaking of the end-to-end model, the impossibility of initiating sessions from the outside, breaking of application-layer referrals to the addresses, single point of failure, redundancy challenges (state replication), and performance challenges (stateful processing). FBNVV Expires January 7, 2024 [Page 6] Internet-Draft site multihoming July 2023 The current document and its authors make no endorsement for the use of either NPTv6 or NAT66; rather, the intent is to illustrate and summarize operational alternatives currently in use when true route- based multi-homing, as exemplified by the use of PI in section 5.1, is not available. Network administrators looking to implement multi-homing as described in sections 5.3 or 5.4 are encouraged to consider [IAB request] and [NAT implications] before making a final decision. 3. Problem history for the host-driven solution Client applications typically utilize getaddrinfo() to establish communication and to perform source address selection. It was initially assumed in [SASA] and implemented by getaddrinfo() that the next hop is chosen before the source address. Bind() permits overriding this order, but it is typically used only in server-side applications. This specific process is the reason why in the case of a network fault, when a redundant CPE/link is promoted to the primary role, some specific destinations may become unreachable, causing the solutions listed hereafter to leave some unresolved scenarios. The initial discussion on carrier resiliency occurred in the [multi6] and [Shim6] working groups. [multi6] requirements were reused in this document. [shim6] proposed to separate the location and identity properties of addresses. [Shim6] did not gain market acceptance. It is not currently supported by available software and hardware options. The host-based solution is highly dependent on the availability of the information that the prefix is stale. [6renum] has a deep discussion on how to best react in cases where there is missing information, including the use of other mechanisms to automatically resolve the problem. The best way to provide warnings about stale prefixes is still in discussion [flash renumbering]. The next notable step was the addition of rule 5.5 to [SASA] to prefer the selection of a source address covered by a prefix advertised by the chosen next hop router. This allows the packet to be on the path to the PA-owning carrier and avoid packet filtering due to the application of [BCP38]. FBNVV Expires January 7, 2024 [Page 7] Internet-Draft site multihoming July 2023 Concerning Figure 1, if connectivity to Carrier 1 were lost then the host would select a source address in the prefix belonging to Carrier 2 to communicate with a certain destination outside of its local segment, thus achieving resiliency. On the other hand, this method is not a solution when only a particular source address is permitted (i.e., not filtered) to access a particular outside resource (e.g., "subscriber-only services") or when any type of deterministic traffic distribution policy is desired, because the random next hop choice would in turn lead to a random choice of source address. [MHMP] then discussed the problem thoroughly, attempting to use only already available tools. It was suggested that the solution must push related policies to the host as 1) "Routing Information Options" of [Route Preferences] and 2) [Policy by DHCP] to modify policies in the host's [SASA] selection algorithm. This solution has not gained market acceptance due to complexity reasons. Moreover, DHCPv6 is not universally implemented, being notably absent from some of the most widely deployed client platforms. Additionally, [HNCP] prescribes deprecating delegated prefixes (by setting their preferred lifetime to zero) when the router has information about loss of reachability to the carrier that sourced the prefix. This is particularly important when renumbering occurs (the PA prefix may change after disconnection and re-connection to the carrier). The next solution was proposed in [Multi-Homing]. The document incorrectly assumed (errata 7009 and 7010 are published) that the source address is chosen first in the typical scenario when a client initiates outbound communications. [Multi-Homing] section 3.2 proposed to prefer next hops from those routers that advertise the prefix covering the already selected source address. Hence, [Multi- Homing] unblocked the possibility for an application to use bind() to select the source address first since section 3.2 contains vital instructions on how to choose the next hop in that condition. It is important to note that the more common scenario of choosing the next hop before the source address is not solved by [Multi-Homing]. Further progress in the problem discussion was made in [MHMP Enterprise], which discusses potentially complex on-site topologies and the source routing that is needed in such a scenario; it may be considered a comprehensive guide covering the source routing aspect of the complex site with carrier resiliency. Unfortunately, at this time it is not yet possible to use it in practice due to the lack of FBNVV Expires January 7, 2024 [Page 8] Internet-Draft site multihoming July 2023 any market-accepted solutions to split and distribute PA prefixes throughout the complex site. All other solutions (PI, ULA+NAT66, ULA+NPTv6) do not require source routing in principle. [MHMP Enterprise] might become vital in the future if a solution were to be adopted for splitting and propagating PA prefixes through the complex site; however, such a solution is currently unavailable. Restrictions to the list of applicable source addresses for a specific next hop (rule 5 or 5.5 of [SASA]) may not have been implemented in certain host operating systems. [Conditional PIO] can in this case mitigate the problem through selective PIO announcements to a particular host. This represents a valuable transition mechanism until rule 5.5 of [SASA] will be universally applied. [DNS Options] allows the router to supply the addresses of many different DNS resolvers, including those of completely unrelated carriers. It is not possible, however, to provide information to clients regarding which DNS resolver is related to which particular prefix; such information might be crucial in scenarios where traffic steering policies are required for successful communication (including when accessing filtered resources such as "subscriber- only services"). Finally, [Provisioning domains] permit virtualization of the router on the link, representing one physical device as many logical ones with fully separate sets of link parameters. This solution is valuable in some scenarios to deliver more diverse information to the host but does little to assist it with choosing the proper combination of next hop and source address that is still restricted by [SASA]. The challenge remains the same independent of how many physical or logical routers are present on the link. Moreover, virtualization of a single router on a link having two uplinks to different carriers creates a problem, because the host could randomly choose the wrong combination of source address and next hop announced by one of the virtual routers. Yet, [Provisioning domains] remains valuable in scenarios where several different routers are behind a single router, as well as when multiple physical routers are present on the same link (i.e., the problem of host choice already exists). This is because, in contrast to [DNS Options], [Provisioning domains] retains the information that associates prefixes with the DNS resolvers of their respective carrier. FBNVV Expires January 7, 2024 [Page 9] Internet-Draft site multihoming July 2023 4. Solution requirements Solution Requirements are reflecting section 3.1 of [multi6] except for "Transport-Layer Survivability" (preservation of the session during the carrier disruption) which is not considered mandatory. 1. Site resiliency to an arbitrary number of carriers, with an arbitrary number of routers on the link. 2. End-to-end connectivity wherever possible. 3. Possibility for internal communication using any prefixes distributed by local routers, irrespective of the status of the connectivity to the carriers that distributed such prefixes. 4. The speed of convergence for the prefix deprecation on the site after connectivity is lost to any particular carrier should be comparable to the speed of routing convergence on the site. If flash renumbering affects the convergence of a particular solution then such a solution should have mechanisms to guarantee the desired level of convergence performance despite flash renumbering. 5. Support for sites with complex topologies, including multiple internal on-site hops requiring many routers and links. 6. Access to resources from the carrier's "subscriber-only services" is permitted only when using the address space distributed by the particular carrier. There may exist a need for the host to check DNS resolvers from all carriers before it can even discover the restricted resource. A given host may thus need to choose the correct source address that would be accepted by the particular carrier. 7. Possibility for traffic steering between different paths (including both internal to the site, and the Internet) based on bandwidth, cost, load, latency, packet loss, hop count, etc. (e.g. application traffic/path engineering) for both outbound and inbound packets. It is out of scope for this document to evaluate issues related to perimeter security; every system should assume an insecure environment, which is already the case since the host is establishing frequent connections to the open Internet. Different environments have diverse security policies, needs, and obligations that may be shaped by internal policy, regulatory compliance, or national security requirements, and as such will not be discussed in detail in this document. Privacy is furthermore assumed to be protected by [Temporary addressing] and is also kept outside of carrier resiliency design FBNVV Expires January 7, 2024 [Page 10] Internet-Draft site multihoming July 2023 considerations. Address-based privacy considerations are not affected by carrier resiliency mechanisms and techniques. All solutions to the problem statement in this document would have different cost advantages and disadvantages. The associated costs may greatly vary for different geographies, market segments, and organization sizes, but the choices should be ultimately driven by any needs and requirements set upon the organization by their respective governing bodies, with input from the appropriate subject matter experts. It is recognized that cost is often a determining factor in IT and networking decisions, but it is also considered out of the scope of this document. 5. Available Solutions 5.1. PI-based While building or expanding an IPv6 addressing plan, it may become necessary for an organization to procure or acquire additional network resources; it is reasonably straightforward to obtain additional Provider-Independent GUA address space and ASN from an RIR or LIR. However, not all organizations have the in-house expertise, desire, or capability to execute such a plan. PI prefixes allow the creation of an address plan that would never need renumbering, due to the non-dynamic and non-conditional nature of the prefix allocation. Hence, the address plan may be stable enough to be manually provisioned over all routers and links even in a complex topology. The long-term supportability and network convergence time of this solution are excellent because there is no need for renumbering; losing one of the Internet connectivities simply implies normal routing updates with default routing status withdrawal by the affected router. It may, however, be a more involved process to get the PI prefix routed by the carrier because such type of customer attachment is typically charged more by the carrier due to the more complicated nature of the connection and configuration (i.e. dynamic protocol configuration, configuration of appropriate prefix filtering, and equipment to support the necessary protocols). It generally requires a manual procedure on the carrier's side, and hence it is not possible to set this up without their cooperation. FBNVV Expires January 7, 2024 [Page 11] Internet-Draft site multihoming July 2023 For faster convergence, routers should announce a "default" on-site and then add some more specific prefixes if needed. Additional destination prefixes facilitate the distribution of traffic between the carriers. In cases where internal routing hops are present between the edge devices, such announcements likely require other protocols in addition to Neighbor Discovery. As for the network interface of the internal host (the last hop), such an announcement comes in the form of default router status in [ND], and [Route Preferences] for the more specific routes. The crucial requirement in the PI-based solution is that routers have to continuously track connectivity to carriers to be able to deprecate the "default" as well as any more specific announcements when such connectivity is lost. When multi-homing with PI space there are multiple entry points into the local network for traffic destined to every single address in the site, and this opens up discussion on how to load balance incoming traffic to such a site. An example can split the prefix into many smaller prefixes and announce them separately to different carriers. This requires that the initial prefix is of adequate size, to avoid ending up with announcements smaller than the longest acceptable prefix length within the default-free zone, which is conventionally /48. This advanced incoming traffic engineering is possible only with PI address space. Where traffic symmetry over the WAN is important, however, such as in environments performing application-based traffic steering, PI can fail to guarantee the necessary control over returning traffic. Traffic engineering using routing advertisements provides benefits for simple active/passive or active/active connectivity needs, but it can also be insufficient; routing advertisements are not granular or fast enough to make things work in scenarios where different application traffic must be steered towards different uplinks based on upper-layer information. As an example, an administrator might need FTP traffic generated by an internal host to always exit through the secondary Internet link, and for the return traffic to also arrive back on that same link; allowing the downstream component of FTP connections to occupy bandwidth on the primary link might be undesirable, and impact the performance of more sensitive protocols running over the primary link. Even in the extreme case where /128 prefixes for the internal host were advertised, engineering different return paths based on upper-layer information FBNVV Expires January 7, 2024 [Page 12] Internet-Draft site multihoming July 2023 would not be feasible in a deterministic manner for the same source address. In addition, environments, where the edge devices (commonly, perimeter firewalls) are stateful, might experience packet drops due to TCP session flows being split across Internet links. This would be especially true in the case where multiple stateful devices were deployed, one for each Internet link; the devices would thus only see a portion of the TCP sessions and never consider them fully established, or miss enough segments that the next arriving sequence number might be considered out of the window from their standpoint. Both conditions could cause the devices to drop segments. Note that these symptoms would be exaggerated for TCP traffic but also possible with other protocols such as UDP, if the stateful devices had a way to track the sessions and allowed inbound UDP traffic only when a matching tuple already existed in their session tables. On the other hand, a crucial advantage of using a prefix that is globally reachable through multiple Internet links is the seamless failover of transport-layer sessions across the links without having to re-establish them. Conventionally, in IPv4 environments, such a failover would have been guaranteed to break existing communication due to the ubiquity of PA addressing combined with NAT44, and the consequent change in source address as seen by the remote endpoint. This issue would also be felt when leveraging IPv6 multi-homing in a way that caused source address changes upon failover, either due to NAT (see sections 5.3 and 5.4) or the prefix of the existing connection becoming unusable (see section 5.2). The biggest problem with PI addresses today remains the fact that the widespread practice of using PI space would bloat the Internet routing table by at least 10 times (reaching up to 10M entries in the default-free zone), which would greatly impact the cost and scalability of Internet routers. Admittedly, however, this problem would not be an immediate concern for any enterprise company implementing a PI-based solution. The implementation of RPKI (for prefix ownership protection) is also among the additional challenges that enterprises making use of PI may face in the future, requiring skilled personnel to the setup and operation of BGP. Advantages: - Preserves end-to-end communication, - Does not require any special functionality from the host, FBNVV Expires January 7, 2024 [Page 13] Internet-Draft site multihoming July 2023 - Straightforward design, - Allows aggregation of multiple uplinks for increased throughput, - Supports sites with complex topology, - Seamless link failover without transport session re-establishment, - Supports outbound traffic steering. Disadvantages: - Hard to implement especially for smaller entities, as it requires knowledge of advanced routing protocols like BGP and availability of advanced networking hardware (it is not as simple as plugging two independent CPEs into the same switch as the client and having it work); moreover, skills related to RPKI may be needed in the future, - In case of provider failure a prefix may not be correctly deprecated from global routing, and this could lead to complex error scenarios and downtime, - The need to pay and liaise with a RIR or LIR for the PI address space, - Needs carriers to accept PI prefix advertisements, - Carriers typically charge significantly more for such type of attachment; often SD-WAN contracts are required instead of business DSL contracts, - The return traffic path is not guaranteed to mirror the outbound path, - Bloats the Internet routing table with a potential 10 million new routes. 5.2. PA-based solution Let us assume that a site is connected to the Internet through many carriers, with every carrier delegating a PA prefix. How the prefix is delivered to the site is unimportant for the current example. It may be dynamic (most likely using DHCP-PD) or static (offline agreement with carrier). We will also assume for this example that the local CPE performs no proprietary functions and that hosts are provisioned with an address from each PA allocation. As soon as a router becomes aware that the path to the carrier that delegated a prefix is down, all more specific prefixes under that prefix must be deprecated (preferred lifetime set to zero) in all subnets. This is specified as requirement L-13 of [HNCP] but is not currently requested in other standards. Support for the [HNCP] protocol itself is not mandatory. FBNVV Expires January 7, 2024 [Page 14] Internet-Draft site multihoming July 2023 The PA-based solution is the most affected by renumbering, a highly probable occurrence since 1/3 of carriers dynamically rotate prefixes leased by DHCP-PD after any re-connection. Measures specified in section 4.1 of [6renum] (i.e. usage of FQDN, DHCP+DNS, ULA, DHCP-PD, Parameterized Address Configuration, transition period, etc) alleviate the negative effects of renumbering. [Node Requirements] does not make DHCP mandatory for address assignment. Many popular client operating systems do not support DHCP even for other configurations, even though they "should", according to [Node Requirements]. Hence, for the general case, we should assume that address assignment and configuration is done with [SLAAC]. Note that the logic below would not change if DHCP were to be used for address assignment instead. As a result, we have a host with many IP addresses that needs to choose the source address and the next hop before any communication attempts it may wish to make. This is because, if the source address of one carrier were to be used to send a packet to a different carrier, then the other carrier would filter it out in suspicion of an address spoofing attack. 5.2.1. Bind() case on the application side Potentially, the application on the host may use bind() to choose the source address first using any logic pre-programmed into the application. This application-driven solution is the only current way to access the "subscriber-only services" of the particular carrier and for steering traffic based on cost, latency, packet loss, hop count, etc. After the application selects the proper source address with bind(), it needs to choose the next hop to serve it. There are two options to accomplish this: 1. [Multi-Homing] section 3.2 has an augmentation to [ND] section 6.3.6 asking to prefer default routers that advertised the particular prefix already used for the source address. 2. [Route Preferences] to install the external prefix into the host's routing table. It may be valuable to implement [Provisioning domains] to supply along with DNS resolvers the relationship of such resolvers to each prefix provided by the different carriers, as unrelated resolvers may respond with unusable or missing information when queried for FBNVV Expires January 7, 2024 [Page 15] Internet-Draft site multihoming July 2023 "subscriber-only services". In any case, IP stacks of host OSes are, in practice, not capable of accepting and using this additional information - so it would not play any role in the decision-making process. The implementer should check that the functionality mentioned in this paragraph is supported on routers and applications before relying on it in designs. Unfortunately, [Provisioning domains] and [Multi-Homing] have low acceptance on the market, and hence the application-driven solution for carrier resiliency has a low probability of having been implemented, and at best would be inconsistent. 5.2.2. Getaddrinfo() case on the application side Let us now consider the more typical case in which the application is simplified in its networking aspects. In this case, the application would use getaddrinfo(), which is typically compliant with [SASA] on all OSes. This solution is referred to as "host- driven" within this section. For historical reasons, getaddrinfo() selects the next hop first. By default, the next hop is chosen in a random round-robin manner between all available routers on the particular link (under [ND] section 6.3.6). If the routers and host support the "Default Router Preference" or "Route Preference" fields of [Route Preferences] in the RA header or the "Routing Information Option", priority can be assigned to certain default routers over others using a simple High, Medium, Low value; this functionality, however, is not universally implemented. Rule 5.5 of [SASA] section 5 will then prefer, in the list of available source addresses, those inside prefixes that are already advertised by the chosen next hop. Hence, the random next hop leads in turn to a random source address choice among those available. Such behavior may block the possibility of accessing the "subscriber-only services" of a particular carrier (traffic would be filtered due to having a source address belonging to a different carrier) as well as prevent traffic steering by any sort of policy. Moreover, even if [Provisioning domains] were to be implemented, the recommendation for random next hop choice would prevent effective use of it. FBNVV Expires January 7, 2024 [Page 16] Internet-Draft site multihoming July 2023 Simple Internet connectivity with carrier resiliency could be achieved in this manner, as carrier resiliency would work on a basic level albeit with unpredictable traffic distribution between the carriers. All that is needed for this is to support rule 5.5 of [SASA] section 5. Importantly, in addition to supporting rule 5.5 of [SASA], the router should also support the L-13 requirement of [HNCP] to deprecate prefixes individually and not the default router status itself. This is the only way for convergence to take place effectively in the case of connectivity loss to the PA carrier. [MHMP] discusses that it is possible to achieve traffic steering supplying policies by two mechanisms: 1. "Routing Information Options" of [Route Preferences] to influence next hop choice 2. [Policy by DHCP] to modify policies in the [SASA] source address selection algorithm. The latter method is considered impractical because of its complexity and general lack of DHCPv6 support in many commonly deployed operating systems. 5.2.3. PA-based solution conclusion One of the drawbacks of the PA-based solution is that it can fail to meet the requirements for real-time traffic steering based on measured link quality and upper-layer information. While PA-based traffic steering using the methods described above can be sufficient in some environments, it must be kept in mind that the decision of which link to exit from is ultimately left to the host in the form of source address selection. In environments performing application- based traffic steering, it is instead crucial that the steering decision be made by the edge device, due to it having a policy table based on network, transport, and application-layer aspects of packets as well as real-time link quality metrics. This policy represents the intent of the administrator and, ultimately, the business requirements of the organization which owns the network; it may for various reasons not discussed in this document have been deemed unfeasible to replicate and apply this policy table directly at the host level inside the clients. In the PA-based solution, the host has access to prefixes from all available Internet links and can assign itself routable addresses from them, and is thus free to ignore any policy configured on the edge device. The gateway is forced to forward the packet in a way that honors the source address FBNVV Expires January 7, 2024 [Page 17] Internet-Draft site multihoming July 2023 chosen by the host, lest the packet be dropped upstream due to implementations of [BCP38]. Once the traffic leaves the network through the correct uplink, however, the return path is guaranteed to be symmetric due to the address selected by the host being routed only to one of the Internet links; this could be considered to satisfy requirement 7 of section 4 with regards to the inbound portion of traffic steering. Finally, in the case where a site has many links and routers (complex topology) then source routing or other connection tracking mechanism in the internal network is mandatory to deliver the traffic to the carrier owning the source address of the packet. This aspect is properly discussed in [MHMP Enterprise], albeit it is not yet of any use in the PA-based scenario because the delegated PA prefix should since the beginning be dynamically split into smaller prefixes and propagated to all links throughout the site, and there is currently no accepted and available method to do this. Such a method should also assist with prefix deprecation in the case where connectivity to the carrier is lost. This is not supported at the moment because neither [HNCP] nor DHCP-PD have gained acceptance for this purpose. There is thus a chance that if this problem is addressed then [MHMP Enterprise] might become very important for sites with complex topologies. Advantages: - No need to own and operate a registered, Provider-Independent address space, - Preserves end-to-end communication, - In simple networks, it may be as easy as plugging all CPE routers and client devices into the same L2 domain (i.e. Switch). Disadvantages: - Scalability issues, easy for simple networks, but exponentially more difficult in complex networks, - Prefixes may not get deprecated when the CPE itself fails, as opposed to just the link, - Not all issues are resolved yet, only the simplest scenario is possible (simple topology and unpredictable traffic distribution), - Carriers may frequently change the prefix (flash renumbering), and this could disrupt communication, - Sites with complex topologies are not well supported yet, - Traffic steering by any policies (including the capability to access "subscriber-only services") is not supported yet. FBNVV Expires January 7, 2024 [Page 18] Internet-Draft site multihoming July 2023 5.3. ULA with NPTv6 [ULA] allows for the creation and use of local, non-globally reachable, and not centrally assigned address space that is sufficiently random to be treated like globally unique addressing within a given organization or environment. However, [ULA] has notable limits concerning the number of sites that one prefix may span, and well-documented usability limitations when considering address selection details across large, diverse network environments. Organizations requiring larger than a /48 prefix are often better served applying for and receiving a global PI allocation that is right-sized for their needs. There may exist creative tweaks for expanding ULA beyond its normal size, but that is outside the scope of this document. There is also one significant detail of [ULA] address space that is important to note in the presence of a dual-stacked environment, as [ULA] is prioritized below GUA and IPv4 address space on the hosts according to [SASA] section 2.1. Hence, in a dual-stack environment, it is necessary to modify the [SASA] policy table to insert the /48 prefix with higher precedence, as recommended in section 10.6 of [SASA]. Automation for such configuration is OS-specific, and in some cases may not be possible. It is not mandatory to have [ULA] for the solution described in this section, registered GUA (PI addresses in particular) may be used too, but this has a low chance of happening as PI address space is much more widely deployed as a routed policy directly to carriers or other upstream service providers. Network Prefix translation [NPTv6] is the unique IPv6 technology that enables a lightweight version of NAT with a 1:1 stateless relationship between addresses on the "inside" and "outside". It is formally an experimental protocol despite having a long list of production deployments. A stateless algorithmic relationship permits to have asymmetric routing and easy redundancy if multiple gateways are implemented facing a single carrier. Like any NAT it may create a challenge for protocols that embed IP addresses at the application level. It may require the usage of an external [STUN] server for address translation, or monitoring of the session by an ALG. FBNVV Expires January 7, 2024 [Page 19] Internet-Draft site multihoming July 2023 Additionally, when crossing NAT environments, protocols such as IPSec require or fall back to "NAT traversal" schemes, which typically work by encapsulating the original session into UDP. Application support for this with IPv6 is often poor because a main talking point for the adoption of IPv6 is that "NAT traversal" is no longer required and that this simplifies the application logic. However, in practice, this is not always the case, and legacy applications may still require these techniques to operate. Contrary to other forms of NAT, with NPTv6 there is no need to generate or retain translation logs because translation is stateless and deterministic. Two-thirds of carriers lease a permanent prefix to subscribers, and such prefix would thus remain the same after the uplink is disconnected and re-connected. For this reason, it is possible to initiate an inbound session from the "outside" stably and continuously; the NPTv6 engine can apply the required translation on all outbound and inbound packets regardless of whether they are part of a new or existing connection. For other carriers which do not lease prefixes permanently, some additional efforts are needed to dynamically update DNS records, and use those to establish inbound connections. The possibility of connection initiation in any direction (when firewall rules allow it) is considered valuable by some engineers, while others value the one-way connectivity typical of NAT that is lost with NPTv6. Similarly, other NAT-related problems are not present with NPTv6 because it does not require manipulation of the transport layer. [NPTv6] is partially acting against the [IAB request] to preserve the end-to-end transparency of the Internet which is important for the Internet's future flexibility. Together, [ULA] and [NPTv6] may effectively mimic the typical IPv4 carrier resilience practices: the organization might only have [ULA] inside its network (no GUA), and every site could have many redundant connections through separate [NPTv6] engines on every border gateway, making use of the actual PA space provided by each carrier on the external side of the translation to enable global reachability towards Internet destinations. There is, however, a principal difference from the typical IPv4 NAT solution in that [NPTv6] needs an equally-sized prefix on the "inside" and "outside". While it is typically possible to get a /56 or /60 from the fixed broadband carrier, it is significantly less FBNVV Expires January 7, 2024 [Page 20] Internet-Draft site multihoming July 2023 common to be delegated more than a /64 by the mobile carrier; hence, if the carrier is mobile then only a simplified site with one internal /64 subnet is feasible. For faster convergence, routers should announce a "default" on-site and then add some more specific prefixes if needed. Additional destination prefixes facilitate the distribution of traffic between the carriers. In cases where internal routing hops are present between the edge devices, such announcements likely require other protocols in addition to Neighbor Discovery. As for the network interface of the internal host (the last hop), such an announcement comes in the form of default router status in [ND], and [Route Preferences] for the more specific routes. The last one, in particular, is essential to be able to access "subscriber- only services". The crucial requirement remains that routers must continuously track connectivity to carriers to be able to deprecate the "default" as well as any more specific announcements when such connectivity is lost. Advantages: - No need for official address space, the ULA prefix is pseudo- randomly self-generated, - Easy to implement, similar in practice to current IPv4 carrier resiliency techniques, - Potential for traffic distribution policy between different carriers. Disadvantages: - It is challenging to automate ULA prioritization above IPv4 on hosts, - NPTv6 breaks some applications with address referrals at the application level, some additional solutions are needed (STUN, ALG), - Custom distribution policies are needed for access to filtered resources ("subscriber-only services"), - Session initiation from the outside is practical only in cases where the carrier prefix is stable or DNS records are dynamically updated, - Currently limited to one subnet per site in mobile environments, - May hinder overall IPv6 adoption as IPv6 with NPTv6 loses the end- to-end connectivity advantage, FBNVV Expires January 7, 2024 [Page 21] Internet-Draft site multihoming July 2023 - For applications, the drawbacks are similar to ULA with NAT66 (section 5.4). 5.4. ULA with NAT66 The observations regarding the use of ULA from the first paragraph of the previous section apply to this section as well. It is important to be mindful of the requirement and effort necessary to prioritize ULA above IPv4 in the [SASA] policy table of hosts. It is not mandatory to have [ULA] for the solution described in this section, alternatively, registered GUA (PI addresses in particular) may be used, but this brings its own set of requirements and effort, as PI address space is much more useful when routed directly to carriers. However, not all carriers may support this, or they might charge significantly more to do so. The [IAB request] to avoid the use of NAT has been heavily based on the long list of [NAT implications]. In the case of stateful NAT66, the full list of problems caused by NAT is applicable: breaking of the end-to-end model, the impossibility of initiating sessions from the outside, breaking of application-layer referrals to the addresses, single point of failure, redundancy challenges (state replication), and performance challenges (stateful processing). Hence, it is easy to understand the IETF consensus for not having a stateful NAT standard for IPv6. There is no RFC for NAT66. A proprietary implementation may furthermore create interoperability challenges. Those details aside, NAT has operational advantages: it avoids renumbering in case of PA address space change, and is historically the most common solution for carrier resiliency, especially in small to medium-sized environments that may not have the resources, availability, or expertise to leverage a PI-based solution with upstream carriers. Hence, it is supported by many products, both commercial and open source; one example is [nftables NAT66]. Another issue with NAT is the lack of UPnPv6 standardization and implementation. With IPv4, applications behind a NAT44 can dynamically request to know their public IP as well as new port forwardings, thanks to UPnP. With IPv6 this is not available, and the end-user experience with NAT66 is thus likely to be worse than with NAT44. FBNVV Expires January 7, 2024 [Page 22] Internet-Draft site multihoming July 2023 For faster convergence, routers should announce a "default" on-site and then additionally some more specific prefixes if needed. Additional destination prefixes facilitate the distribution of traffic between the carriers. In cases where internal routing hops are present between the edge devices, such announcements likely require other protocols in addition to Neighbor Discovery. As for the network interface of the internal host (the last hop), such an announcement comes in the form of default router status in [ND], and [Route Preferences] for the more specific routes. The last one, in particular, is essential to be able to access "subscriber- only services". The crucial requirement remains that routers must continuously track connectivity to carriers to be able to deprecate the "default" as well as any more specific announcements when such connectivity is lost. Advantages: - No need for official address space, as the ULA prefix is pseudo- randomly self-generated, - Easy to implement, - Equivalent in practice to current IPv4 carrier resiliency techniques, - NAT may be a normative requirement in itself (this is highly questionable, but brought forward in many discussions), - Support for sites with complex topologies, - Potential for traffic distribution policy between different carriers. Disadvantages: - It is challenging to automate ULA prioritization above IPv4 on hosts, - NAT breaks some applications with address referrals at the application level, - Custom distribution policies needed for access to filtered resources ("subscriber-only services"), - Some additional solutions are needed (STUN, ALG), - Session initiation from the outside is blocked in practice (needs complex configuration), - NAT implies the requirement to keep logs for compliance and troubleshooting, - Expensive, due to the higher costs of stateful processing, - May hinder overall IPv6 adoption, FBNVV Expires January 7, 2024 [Page 23] Internet-Draft site multihoming July 2023 - For applications, the drawbacks are similar to ULA with NPTv6 (section 5.3). 5.5. Shifting the problem to the centralized site Another possible approach is shifting the Internet access resiliency problem to a central site when the branch has a redundant, private WAN connectivity provisioned through any or multiple available methods (SDH/PDH/OTN links, MPLS VPNs, customer-managed overlays). In this scenario, the backhaul towards the central site (which then performs the ultimate handoff to the Internet) happens over physically or virtually dedicated links, and the actual addressing solution offered by the carrier serving the branch becomes irrelevant; in the extreme case the branch carrier does not provide an IP service at all (as in the case of optical transport or a layer-2 VPN) or the provided addressing is only used to establish tunnels (in the case of overlays). It is not uncommon for the branch edge device to not even have a default route configured towards any of the carrier next hops, instead configuring a default route through the overlay or having as next hop a loopback interface address reachable through the overlay itself. The reasoning behind this choice is based on several factors and commonly involves one or more of the following assumptions: 1. Branch site Multi-Homing is mainly a matter of first-mile redundancy due to the increased difficulty of providing stable connectivity to remote sites compared to a large central site. Suppose the traffic can be made to traverse the first mile in an optimal environment (because the entire path is under the network administrator's control, at least at the network level). In that case, the relatively high-quality Internet circuits found at the central site can be managed using more traditional and resource-intensive techniques (for example, by significantly increasing capacity and carrier diversity, tuning routing advertisements, and using ECMP). 2. Obtaining enterprise-class connectivity, where the customer has the option to announce their own address space dynamically to the carriers, can be complex and cannot thus be done for every site. 3. Managing a geographically-distributed Internet breakout may pose greater operational, financial, and security-related challenges when the proper orchestration tools are not employed. FBNVV Expires January 7, 2024 [Page 24] Internet-Draft site multihoming July 2023 It is typically much easier to arrange the resiliency over internal WAN links. This is primarily because the addressing structure and the path selection are under the control of a single entity throughout the LAN and the private WAN. This can allow, for example, to number the entire internetwork using a single type of addressing, recreating the benefits of the solution in section 5.1 while avoiding some of its disadvantages, namely: - "In case of provider failure, a prefix may not be correctly deprecated": in the tunnel-based solution, all network devices are under the control of the same entity experiencing the hypothetical issue, simplifying troubleshooting and speeding up resolution. - "Need carriers to accept PI prefix advertisements": in the tunnel- based solution, this needs to be done only once, at the central site, instead of at every site implementing the solution. - "Carriers typically charge significantly more for such type of attachment": see the previous observation. - "Return traffic path not guaranteed to mirror the outbound path": path symmetry in the more critical first mile can be guaranteed by the network administrator through configuring the network devices at the far end of the WAN to honor the original link choice of the incoming sessions in a stateful manner, or by applying the same deterministic forwarding algorithms on devices at both ends. Several vendors provide this functionality out of the box in certain products. Symmetry is thus guaranteed where it matters, i.e., where traffic must traverse links having vastly different characteristics and quality (it is not uncommon for remote sites to be served by a primary DSL/fiber link and a secondary, much more limited cellular link). The tunnel-based solution described in this section may also be implemented as a scheme in which the central site is not owned by the organization at all and is instead part of a service offered by a tunnel broker somewhere on the Internet. Such a choice can be appealing due to factors such as outsourcing of operational burden and the possibility of superior performance due to the broker having a globally distributed and fine-tuned network of "hubs," to the closest of which each site can then connect to. Another advantage of having control over the path crossing the first mile of the branch site lies in the possibility of applying error- correcting algorithms to the traffic; several vendors offer this functionality which, although proprietary, can be made to work by placing compatible devices at the branch edge and the central site, usually terminating the tunnels comprising the overlay. Such techniques typically include forward error correction, compression, FBNVV Expires January 7, 2024 [Page 25] Internet-Draft site multihoming July 2023 packet duplication, and deduplication across multiple low-quality links, to prevent or lessen packet loss across the overlay. These techniques, however, cannot improve other metrics such as latency. The principal downside of the tunnel-based solution is not making use of the "local Internet breakout": users at the branch site are almost guaranteed to experience worse performance towards Internet destinations compared to solutions listed in sections 5.1-5.4 due to the traffic having to be backhauled to the central site first. However, it should be noted that as long as the centralized site uses a solution similar to 5.1 or 5.2, it'll also enable communication that otherwise would have failed or required complex use-case-specific workarounds. In fact, despite the alleviating factors discussed above, shifting the problem to a different area of the network might not be considered a technical solution at all because the central site would face the same fundamental challenges, and it would ultimately have the same options for multi-homing as discussed in sections 5.1- 5.4. As such, what is described in this section could be considered a non-technical solution for a small site. Enterprise WAN design in itself remains outside the scope of this document. Advantages: - Shifting the problem to a different location may help solve it more efficiently, - The simplest solution for the small site, - Supported CE products (Wireguard), - No need to renumber, hence no issues with prefix deprecation, - No need for special support on hosts, - Traffic steering is easy to implement, including traffic symmetry requirements or active/passive failover, - A centralized Internet gateway simplifies perimeter security, - Possibility of applying WAN optimization techniques to the first section of the path toward the Internet, - Multiple free or paid tunnel brokers exist with different SLAs, - Avoid unnecessarily polluting the global routing table, and may also get better AS paths because of the aggregations compared to using a PI. Disadvantages: - Looping the Internet traffic through the centralized site might increase latency, and additional links on the traffic path may contribute to jitter and packet loss, FBNVV Expires January 7, 2024 [Page 26] Internet-Draft site multihoming July 2023 - More bandwidth is needed for rented WAN links, - Side effects related to tunnelings, such as encapsulation processing and overhead, - Convergence time in case of underlay network failures may be affected by the need to re-establish the tunnels and routing neighborships of the overlay, - The central site becomes a single point of failure for the Internet access of the entire organization, - Some or all of the disadvantages listed in sections 5.1-5.4 apply, depending on the specific solution selected to solve the multi- homing issue at the central site. These may include end-to-end connectivity and traffic steering issues toward Internet destinations. 5.6. Application proxy Another possible approach is shifting the Internet access resiliency problem to an explicit application proxy similar to the one described in [IP Proxy], that can be placed anywhere in the network. Traditionally, enterprise networks have often relied on proxies to enable Internet access for clients. The primary motivation for this has not been to provide network functionality but to enforce policy, authenticate users, and perform traffic filtering. The caveats for this mechanism to work are essentially two, namely that both the clients and the applications they are accessing support the use of an application proxy. "Transparent" proxies which sit in the traffic path, similar to those described in Section 4 of [IP Proxy], have also been employed to negate the requirement for clients to be configured to use the application proxy. With regards to the Site Multi-homing problem, however, this configuration is functionally equivalent to the scenario in 5.4 while having no advantages compared to it; for this reason, this section deals exclusively with explicitly configured proxies accepting traffic destined to an address owned by them. By proxying connections at the transport layer and above, thus splitting the connection into 2 parts, there is an inherent possibility to use a different source address for the second, upstream half of the connection; in an IPv4 environment, this can in some cases replace address translation in environments where private address space is used by the clients. A similar possibility exists in an IPv6 environment, allowing end hosts to communicate with the Internet even if they only possess ULA or otherwise non-globally reachable addresses as long as they can reach the application proxy. The use of a proxy in an IPv6 site with multi-homing requirements thus allows for the following configuration: FBNVV Expires January 7, 2024 [Page 27] Internet-Draft site multihoming July 2023 - Two or more Internet gateways from diverse carriers, receiving and advertising PA GUA address space on the network, - An application proxy provisioned with a ULA address as well as PA addresses from each Internet uplink, - Clients provisioned with ULA addresses to communicate with internal destinations and the proxy, and only optionally PA addresses. In such a configuration clients support, and are configured for, the proxying of outbound connections through the explicit application proxy. The connection to the proxy then uses ULA addresses exclusively, and the second part of the connection from the application proxy out to the Internet can use a viable PA source address selected from the available prefixes. In this manner, clients are relieved of the duty to select a GUA source as well as tracking of the health and validity of related prefixes. This leaves the source GUA selection, and in turn the link selection, to the proxy itself. In this case, tracking of the health of each Internet link needs to be performed in only one host, i.e. the proxy, and such tracking is facilitated further in the case where the proxy and the Internet gateways are the same devices. Available technologies for signaling and establishing proxied connections include [HTTP], [SOCKS], and, recently, [MASQUE], which allow the application proxy host to interject at various layers of the stack up to the application itself, supporting TCP, UDP, and even the forwarding of raw IP datagrams. Discussion of the low-level workings of such technologies is out of the scope of this document. Owing to the extensive past usage of Web proxies and the dominance of HTTP and HTTPS in the outbound component of enterprise network traffic, a client in the enterprise can typically perform nearly all of its interactions with the Internet through a proxy, but several direct connections are often required for some applications; in the scenario described in this section, the client is free to reach Internet destinations in such a manner if it is provisioned with one or more of the actual PA prefixes coming from the Internet links, and if such traffic is not restricted by other on-path devices such as firewalls. Using its ULA addresses may even work for direct communication, with the caveats outlined in sections 5.3 and 5.4. For any traffic generated by clients which bypasses the proxy, all considerations listed in sections 5.2, 5.3, and 5.4 apply. The device hosting the application proxy itself is in a situation comparable to the one described in section 5.2, but the process or daemon which performs the proxy functions can be placed arbitrarily FBNVV Expires January 7, 2024 [Page 28] Internet-Draft site multihoming July 2023 close or even inside the gateways. This mitigates a number of the disadvantages listed in 5.2, namely: - "Prefixes may not get deprecated when the CPE itself fails": the application proxy can track the health of each prefix using active polling and other proprietary methods. - "Carriers may frequently change the prefix (flash renumbering)": renumbering is simplified as it only needs to occur on one host, and any patches and upgrades of the network stack required to support newer and more robust renumbering mechanisms are simplified. Additionally, if the application proxy is the gateway itself, it can become aware of any new prefixes without having to employ any kind of network signaling. - "Sites with complex topologies are not well supported": the application proxy can be positioned in the subnet and link which is shared by the internal interface of all the site's Internet gateways, recreating the "simple topology" condition. Clients reach the proxy using ULA and conventional routing is sufficient in the more complex, internal part of the network. - "Traffic steering by any policies is not supported yet": link selection is centralized in the application proxy, which can enforce steering policies of various kinds. Communication inbound from the Internet toward clients is impossible in a purely proxy-based scenario and requires that clients be provisioned with GUAs in addition to the ULA they employ to reach the proxy. All considerations in 5.2 are applicable in this case. Additionally, if an application supports and the clients opt to use the proxy for it, outbound usage of such an application results in a completely different mechanism (an application proxy) and a different GUA address than the one used for inbound sessions. It is however likely that the host inside the site is acting purely as a client for such an application, and any peer-to-peer or server applications running on the host are elected for bypassing the proxy. Modern client operating systems offer several standardized ways of configuring the use of an application proxy, including manual and automatic techniques in which the proxy, as well as the list of destinations to be proxied, is auto-discovered by the client upon joining the network. Discussion of these techniques is out of the scope of this document, but they constitute a hard limit on the applicability of proxies as described in this section. If the number of hosts that do not support automatic configuration is large, provisioning of the proxy may become impractical or impossible. This is further compounded by the fact that an ever-increasing number of FBNVV Expires January 7, 2024 [Page 29] Internet-Draft site multihoming July 2023 hosts in enterprise networks is headless and/or unmanaged, such as IoT devices, and may not even support proxies at all or not support a way of configuring them. Any such device would need to resort to one of the other options described in this document to gain Internet access and benefit from multi-homing. Network designers may find that, in such cases, the need to mix and match solutions has operational drawbacks that outweigh the advantages of using a proxy. It is also crucial to keep in mind that the use of an application proxy does not technically constitute a solution to the issue of IPv6 multi-homing, which is a network problem. This is obvious for two reasons: - The solution operates at the transport layer and above, - The device hosting the application proxy faces the same fundamental challenges and ultimately has the same options for multi-homing as discussed in sections 5.1-5.4. As such, what is described in this section could be considered an upper-layer workaround to a network problem. Advantages: - No NAT, communication is terminated and re-established at a higher layer using a different source address, and the client is aware of this, - No need to own and operate a registered, Provider-Independent address space, - ULA usage is ULA to ULA, avoiding the need to engineer ULA prioritization above IPv4 in the [SASA] policy table, - Organizations may already be using an application proxy, - Supports sites with complex topology, - Supports outbound traffic steering, - Potential for traffic distribution policy between different carriers. Disadvantages: - No E2E unless the client has GUA as well, and even then outbound and inbound use different mechanisms, - Proxy provisioning and discovery, - The application proxy is an additional point of failure in the network, and ensuring its redundancy could bring increased costs and complexity, - Requires explicit application and/or protocol support, - Requires explicit client support, FBNVV Expires January 7, 2024 [Page 30] Internet-Draft site multihoming July 2023 - While not NAT66, sessions must still be tracked in a stateful manner by the application proxy, - Splitting the flow of data at the application layer is computationally expensive and can incur performance penalties far over a traditional network hop. 6. Conclusion Not all requirements can be satisfied by every solution: +--+--------------------------------+----+-----+---------+---------+ | | Requirement | PI | PA |ULA+NPTv6| ULA+NAT | +--+--------------------------------+----+-----+---------+---------+ | 1| Carriers Resiliency | + | + | + | + | | 2| End-to-End Connectivity | + | + | +/- | - | | 3| Internal Connectivity | + | + | +/- | +/- | | 4| Convergence speed | + | +/- | + | + | | 5| Complex Topology support | + | - | +/- | + | | 6| Subscriber-only services | - | - | +/- | +/- | | 7| Traffic Steering on Router | +/-| - | + | + | | 7| Traffic Steering on Host OS | - | - | - | - | | 7| Traffic Steering on Application| - | - | - | - | +--+--------------------------------+----+-----+---------+---------+ The table above shows partial support for end-to-end connectivity for the ULA+NPTv6 solution because, while it does allow initiating connectivity in any direction, employing address references at the application layer requires extra steps, for example in the form of an ALG or [STUN]. Internal connectivity is marked as partial support in the ULA solutions due to the complexity involved in promoting the ULA address space above IPv4 in the [SASA] policy table of hosts. FBNVV Expires January 7, 2024 [Page 31] Internet-Draft site multihoming July 2023 Convergence speed is partially satisfied by the PA-based solution because [HNCP] or DHCP-PD have not been adopted by the market, and they would be needed for prefix deprecation propagation over a complex site. Complex topology support is marked as partially satisfied by the ULA+NPTv6 solution because it is not possible in practice to get an external prefix larger than /64 from mobile carriers. Support for "subscriber-only services" is marked as partial in the ULA solutions because it needs a routing announcement as a "Routing Information Option" of [Route Preferences], which is not widely supported. Traffic steering on routers is marked as partially supported for the PI-based solution because of the high complexity involved in organizing the steering of incoming traffic. NAT/NPTv6-based solutions connect ingress traffic steering to egress which makes them simpler in this regard. Some of the functionality reflected in the table above may be improved in the future, but a roadmap (active IETF draft) is not available at the time of writing. Theoretically, from a purely technical point of view, the solutions in section 5 are ordered by the number of requirements satisfied, from most to least: PI is the best, PA-based is more complex, NPTv6 breaks the end-to-end Internet model, and so on. In the real world, though, the company could have non-technical requirements that override the technical ones. For example, an organization might find that the tunnel broker solution described in 5.5 fits their use-case best, even though it doesn't solve the issue so much as outsource it to a different organization (the tunnel-based solution in 5.5 cannot be properly evaluated in the requirements table due to it technically not being a solution, and anything added to the table would merely reflect the choice of multi-homing techniques at the central site). The table above is, in this sense, not complete - it should be enriched with non-technical requirements as perceived by the network owner. For many network owners, the main deciding factor may be the desire to have end-to-end connectivity, as it is the most notable advantage of deploying IPv6 compared to IPv4. This may be especially important when managing resources that need to be exposed to the Internet. FBNVV Expires January 7, 2024 [Page 32] Internet-Draft site multihoming July 2023 If this is needed then PI or PA-based solutions are applicable, and network owners must undertake some additional steps to implement them: - obtain a PI prefix from a RIR or LIR, - pay a premium for the advertisement of the PI prefixes through the carriers (as these often impose different tariffs for such an attachment circuit). If both of these challenges are deemed acceptable then the PI-based solution is preferable: simple, reliable, and scalable. The universal adoption of PI by companies of all sizes would, however, create a burden for Internet routing. Routing tables in the default- free zone could reach up to 10M entries due to small allocations being advertised directly by end sites, without any ties to any particular carrier, and thus no summarization being possible at the carrier level. To support this, routers would need much larger amounts of specialized hardware memory, and this would not only disqualify all current hardware but it would also multiply expenses related to Internet routers in the future. If many organizations were to implement this option, the Internet would break for everyone. In any case, this issue is unlikely to be considered a priority by an enterprise organization whose decision-making process is already constrained by many other factors. If at least one of the aforementioned challenges is not acceptable then PA may be the solution of choice, even with all the restrictions and complexities discussed in section 5.2. A notable exception to this is if complex topology support is a requirement and the site is served by a mobile carrier (due to the unavailability of prefixes larger than /64 on such connections). It may also be the case that end-to-end connectivity is not a necessity, and may even be undesired. Here, the ULA+NPTv6 solution (discussed in section 5.3) satisfies a greater amount of requirements in the majority of situations, apart from cases where NAT66 is a strict (non-technical) requirement or the site has a combination of complex topology and mobile connectivity (problematic due to the small assignments on the WAN side and the 1:1 mechanism of NPTv6). For sites having a complex topology (many links and routers), a PA- based solution is not an option yet, because it would need automatic PA address distribution over the site and neither [HNCP] nor DHCP-PD have gained market acceptance for this task. FBNVV Expires January 7, 2024 [Page 33] Internet-Draft site multihoming July 2023 The logical steps in the design process would then be like the ones above, but after having evaluated the PI-based solution the next option would be ULA+NPTv6. Previous availability of PI space or perceived NAT66 regulatory requirements might also be primary factors, and then the logic may yet again be different. For further use cases that have not been discussed in this document, it is possible to get a general expectation of compatibility using the table above. It is however recommended to read section 5 to fine-tune the custom requirements matrix and grade each solution accordingly. 7. Security Considerations This document is informational. Hence, it may not create additional security challenges. 8. IANA Considerations This document has no request to IANA. 9. References 9.1. Normative References [BCP38] P. Ferguson, D. Senie, "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827, May 2000, . [IPv6] S. Deering, R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 8200, DOI 10.17487/RFC8200, July 2017, . [ND] T. Narten, E. Nordmark, W. Simpson, H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, DOI 10.17487/RFC4861, September 2007, . [SLAAC] S. Thomson, T. Narten, T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, DOI 10.17487/RFC4862, September 2007, . FBNVV Expires January 7, 2024 [Page 34] Internet-Draft site multihoming July 2023 [NAT Implications] T. Hain, "Architectural Implications of NAT", RFC 2993, DOI 10.17487/RFC2993, November 2000, . [Local Protection] G. Van de Velde, T. Hain, R. Droms, B. Carpenter, E. Klein, "Local Network Protection for IPv6", RFC 4864, DOI 10.17487/RFC4864, May 2007, . [IAB request] D. Thaler, L. Zhang, G. Lebovitz, "IAB Thoughts on IPv6 Network Address Translation", RFC 5902, DOI 10.17487/RFC5902, July 2010, . [NPTv6] M. Wasserman, F. Baker, "IPv6-to-IPv6 Network Prefix Translation", RFC 6296, DOI 10.17487/RFC6296, June 2011, . [ULA] R. Hinden, B. Haberman, "Unique Local IPv6 Unicast Addresses", RFC 4193, DOI 10.17487/RFC4193, October 2005, . [SASA] D. Thaler, R. Draves, A. Matsumoto, T. Chown, "Default Address Selection for Internet Protocol Version 6 (IPv6)", RFC 6724, DOI 10.17487/RFC6724, September 2012, . [HNCP] M. Stenberg, S. Barth, P. Pfister, "Home Networking Control Protocol", RFC 7788, DOI 10.17487/RFC7788, April 2016, . [Node Requirements] T. Chown, J. Loughney, T. Winters, "IPv6 Node Requirements", BCP 220, RFC 8504, DOI 10.17487/RFC8504, January 2019, . [MHMP Enterprise] F. Baker, C. Bowers, J. Linkova, "Enterprise Multihoming Using Provider-Assigned IPv6 Addresses without Network Prefix Translation: Requirements and Solutions", RFC 8678 DOI 10.17487/RFC8678, December 2019, . [Multi-Homing] F. Baker, B. Carpenter, "First-Hop Router Selection by Hosts in a Multi-Prefix Network", RFC 8028, DOI 10.17487/RFC8028, November 2016, . FBNVV Expires January 7, 2024 [Page 35] Internet-Draft site multihoming July 2023 9.2. Informative References [IAB report] D. Meyer, L. Zhang, K. Fall, "Report from the IAB Workshop on Routing and Addressing", RFC 4984, DOI 10.17487/RFC4984, September 2007, . [Shim6] E. Nordmark, M. Bagnulo, "Shim6: Level 3 Multihoming Shim Protocol for IPv6", RFC 5533, DOI 10.17487/RFC5533, June 2009, . [STUN] M. Petit-Huguenin, G. Salgueiro, J. Rosenberg, D. Wing, R. Mahy, P. Matthews, "Session Traversal Utilities for NAT (STUN)", RFC 8489, DOI 10.17487/RFC8489, February 2020, . [MHMP] O. Troan, D. Miles, S. Matsushima, T. Okimoto, D. Wing, "IPv6 Multihoming without Network Address Translation", RFC 7157, DOI 10.17487/RFC7157, March 2014, . [Route Preferences] R. Draves, D. Thaler, "Default Router Preferences and More-Specific Routes", RFC 4191, DOI 10.17487/RFC4191, November 2005, . [Policy by DHCP] A. Matsumoto, T. Fujisaki, T. Chown, "Distributing Address Selection Policy Using DHCPv6", RFC 7078 DOI 10.17487/RFC7078, January 2014, . [DNS Options] J. Jeong, S. Park, L. Beloeil, S. Madanapalli, "IPv6 Router Advertisement Options for DNS Configuration", RFC 8106 DOI 10.17487/RFC8106, March 2017, . [Conditional PIO] J. Linkova, M. Stucchi, "Using Conditional Router Advertisements for Enterprise Multihoming", RFC 8475 DOI 10.17487/RFC8475, October 2018, . [Provisioning domains] P. Pfister, E. Vyncke, T. Pauly, D. Schinazi, W. Shao, "Discovering Provisioning Domain Names and Data", RFC 8801 DOI 10.17487/RFC8801, July 2020, . FBNVV Expires January 7, 2024 [Page 36] Internet-Draft site multihoming July 2023 [DHCPv6] T. Mrugalski, M. Siodelski, B. Volz, A. Yourtchenko, M. Richardson, S. Jiang, T. Lemon, T. Winters, " Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 8415 DOI 10.17487/RFC8415, November 2018, . [Temporary addressing] F. Gont, S. Krishnan, T. Narten, R. Draves, "Temporary Address Extensions for Stateless Address Autoconfiguration in IPv6", RFC 8981 DOI 10.17487/RFC8981, February 2021, . [6renum] S. Jiang, B. Liu, B. Carpenter, "IPv6 Enterprise Network Renumbering Scenarios, Considerations, and Methods", RFC 6879 DOI 10.17487/RFC6879, February 2013, . [multi6] J. Abley, B. Black, V. Gill, "Goals for IPv6 Site- Multihoming Architectures", RFC 3582 DOI 10.17487/RFC3582, August 2003, . [flash renumbering] F. Gont, J. Zorz, R. Patterson, "Improving the Robustness of Stateless Address Autoconfiguration (SLAAC) to Flash Renumbering Events", draft-ietf-6man-slaac-renum- 04 (work in progress), February 2023. [nftables NAT66] Marco Cilloni, "NAT66: The good, the bad, the ugly", . [IP Proxy] M. Chatel, "Classical versus Transparent IP Proxies", RFC 1919 DOI 10.17487/RFC1919, March 1996, . 10. Acknowledgments Thanks to v6ops working group for problem discussion. FBNVV Expires January 7, 2024 [Page 37] Internet-Draft site multihoming July 2023 Authors' Addresses Klaus Frank Email: klaus.frank@posteo.de Nick Buraglio Energy Sciences Network Email: buraglio@forwardingplane.net Paolo Nero Email: oselists@gmail.com Paolo Volpato Huawei Technologies Email: paolo.volpato@huawei.com Eduard Vasilenko Huawei Technologies Email: vasilenko.eduard@huawei.com FBNVV Expires January 7, 2024 [Page 38]