IPv6 Multihoming without Network Address Translation
Author(s): Dan Wing, David Miles, Ole Troan, Tadahisa Okimoto, Satoru Matsushima
Network Address and Port Translation (NAPT) works well for conserving global addresses and addressing multihoming requirements, because an IPv4 NAPT router implements three functions: source address selection, next-hop resolution and optionally DNS resolution. For IPv6 hosts one approach...
Internet Engineering Task Force O. Troan, Ed. Internet-Draft Cisco Intended status: Informational D. Miles Expires: September 19, 2013 Alcatel-Lucent S. Matsushima Softbank Telecom T. Okimoto NTT West D. Wing Cisco March 18, 2013 IPv6 Multihoming without Network Address Translation draft-ietf-v6ops-ipv6-multihoming-without-ipv6nat-05 Abstract Network Address and Port Translation (NAPT) works well for conserving global addresses and addressing multihoming requirements, because an IPv4 NAPT router implements three functions: source address selection, next-hop resolution and optionally DNS resolution. For IPv6 hosts one approach could be the use of NPTv6. However, NAT should be avoided, if at all possible, to permit transparent end-to- end connectivity. In this document, we analyze the use cases of multihoming. We also describe functional requirements and possible solutions for multihoming without the use of NAT in IPv6 for hosts and small IPv6 networks that would otherwise be unable to meet minimum IPv6 allocation criteria. We conclude that DHCPv6 based solutions are suitable to solve the multihoming issues, described in this document, while NPTv6 may be required as an intermediate solution. 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 http://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." Troan, et al. Expires September 19, 2013 [Page 1] Internet-Draft IPv6 Multihoming without NAT March 2013 This Internet-Draft will expire on September 19, 2013. Copyright Notice Copyright (c) 2013 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. Troan, et al. Expires September 19, 2013 [Page 2] Internet-Draft IPv6 Multihoming without NAT March 2013 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. IPv6 multihomed network scenarios . . . . . . . . . . . . . . 6 3.1. Classification of network scenarios for multihomed host . 6 3.2. Multihomed network environment . . . . . . . . . . . . . . 9 3.3. Problem Statement . . . . . . . . . . . . . . . . . . . . 10 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.1. End-to-End transparency . . . . . . . . . . . . . . . . . 11 4.2. Scalability . . . . . . . . . . . . . . . . . . . . . . . 12 5. Problem statement and analysis . . . . . . . . . . . . . . . . 12 5.1. Source address selection . . . . . . . . . . . . . . . . . 12 5.2. Next-hop selection . . . . . . . . . . . . . . . . . . . . 13 5.3. DNS recursive name server selection . . . . . . . . . . . 13 6. Implementation approach . . . . . . . . . . . . . . . . . . . 14 6.1. Source address selection . . . . . . . . . . . . . . . . . 14 6.2. Next-hop selection . . . . . . . . . . . . . . . . . . . . 15 6.3. DNS recursive name server selection . . . . . . . . . . . 15 6.4. Other algorithms available in RFCs . . . . . . . . . . . . 16 7. Considerations for MHMP deployment . . . . . . . . . . . . . . 16 7.1. Non-MHMP host consideration . . . . . . . . . . . . . . . 17 7.2. Co-existence considerations . . . . . . . . . . . . . . . 17 7.3. Policy collision consideration . . . . . . . . . . . . . . 18 8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 20 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20 11.1. Normative References . . . . . . . . . . . . . . . . . . . 20 11.2. Informative References . . . . . . . . . . . . . . . . . . 21 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22 Troan, et al. Expires September 19, 2013 [Page 3] Internet-Draft IPv6 Multihoming without NAT March 2013 1. Introduction In this document, we analyze the use cases of multihoming, describe functional requirements and the problems with IPv6 multihoming. There are two ways to avoid the problems of IPv6 multihoming: 1. IPv6 network prefix translation (NPTv6, [RFC6296]), or; 2. refining IPv6 specifications to resolve the problems with IPv6 multihoming. This document concerns itself with the latter, and explores the solution space. We hope this will encourage the development of solutions to the problem so that, in the long run, NPTv6 can be avoided. IPv6 provides enough globally unique addresses to permit every conceivable host on the Internet to be uniquely addressed without the requirement for Network Address Port Translation (NAPT [RFC3022]), offering a renaissance in end-to-end transparent connectivity. Unfortunately, this may not be possible in every case, due to the possible necessity of NAT even in IPv6, because of multihoming. Though there are mechanisms to implement multihoming, such as BGP multihoming [RFC4116] at the network level, and SCTP based multihoming [RFC4960] in the transport layer, there is no mechanism in IPv6 that serves as a replacement for NAT based multihoming in IPv4. In IPv4, for a host or a small network, NAT based multihoming is easily deployable and an already deployed technique. Whenever a host or small network (that does not meet minimum IPv6 allocation criteria) is connected to multiple upstream networks, an IPv6 address is assigned by each respective service provider resulting in hosts with multiple global scope IPv6 addresses with different prefixes. As each service provider is allocated a different address space from its Internet Registry, it, in turn assigns a different address space to the end-user network or host. For example, a remote access user's host or router may use a VPN to simultaneously connect to a remote network and retain a default route to the Internet for other purposes. In IPv4 a common solution to the multihoming problem is to employ NAPT on a border router and use private address space for individual host addressing. The use of NAPT allows hosts to have exactly one IP address visible on the public network and the combination of NAPT with provider-specific outside addresses (one for each uplink) and destination-based routing insulates a host from the impacts of multiple upstream networks. The border router may also implement a Troan, et al. Expires September 19, 2013 [Page 4] Internet-Draft IPv6 Multihoming without NAT March 2013 DNS cache or DNS policy to resolve address queries from hosts. It is our goal to avoid the IPv6 equivalent of NAT. So, the goals for IPv6 multihoming defined in [RFC3582] do not match the goals of this document. Also regardless of what the NPTv6 specification is, we are trying to avoid any form of network address translation technique that may not be visible to either of the end hosts. To reach this goal, several mechanisms are needed for end-user hosts to have multiple address assignments and resolve issues such as which address to use for sourcing traffic to which destination: o If multiple routers exist on a single link the host must select the appropriate next-hop for each connected network. Each router is in turn connected to a different service provider network, which provides independent address assignment. Routing protocols that would normally be employed for router-to-router network advertisement seem inappropriate for use by individual hosts. o Source address selection becomes difficult whenever a host has more than one address of the same address scope. Current address selection criteria, may result in hosts using an arbitrary or random address when sourcing upstream traffic. Unfortunately, for the host, the appropriate source address is a function of the upstream network for which the packet is bound for. If an upstream service provider uses IP anti-spoofing or ingress filtering, it is conceivable that the packets that have an inappropriate source address for the upstream network would never reach their destination. o In a multihomed environment, different DNS scopes or partitions may exist in each independent upstream network. A DNS query sent to an arbitrary upstream DNS recursive name server may result in incorrect or poisoned responses. In short, while IPv6 facilitates hosts having more than one address in the same address scope, the application of this causes significant issues for a host; from routing, source address selection and DNS resolution perspectives. A possible consequence of assigning a host multiple identically-scoped addresses is severely impaired IP connectivity. If a host connects to a network behind an IPv4 NAPT, the host has one private address in the local network. There is no confusion. The NAT becomes the gateway of the host and forwards the packet to an appropriate network when it is multihomed. It also operates a DNS cache server or DNS proxy, which receives all DNS inquires, and gives a correct answer to the host. Troan, et al. Expires September 19, 2013 [Page 5] Internet-Draft IPv6 Multihoming without NAT March 2013 2. Terminology NPTv6 IPv6-to-IPv6 Network Prefix Translation in NPTv6 [RFC6296]. NAPT Network Address Port Translation as described in [RFC3022]. In other contexts, NAPT is often pronounced "NAT" or written as "NAT". Multihomed with multi-prefix (MHMP) A host implementation which supports the mechanisms described in this document. Namely source address selection policy, next-hop selection and DNS selection policy. 3. IPv6 multihomed network scenarios In this section, we classify three scenarios of the multihoming environment. 3.1. Classification of network scenarios for multihomed host Scenario 1: In this scenario, two or more routers are present on a single link shared with the host(s). Each router is in turn connected to a different service provider network, that provides independent address assignment and DNS recursive name servers. A host in this environment would be offered multiple prefixes and DNS recursive name servers advertised from the two different routers. Troan, et al. Expires September 19, 2013 [Page 6] Internet-Draft IPv6 Multihoming without NAT March 2013 +------+ ___________ | | / \ +---| rtr1 |=====/ network \ | | | \ 1 / +------+ | +------+ \___________/ | | | | hosts|-----+ | | | +------+ | +------+ ___________ | | | / \ +---| rtr2 |=====/ network \ | | \ 2 / +------+ \___________/ Figure 1: single uplink, multiple next-hop, multiple prefix (Scenario 1) Figure 1 illustrates the host connecting to rtr1 and rtr2 via a shared link. Networks 1 and 2 are reachable via rtr1 and rtr2 respectively. When the host sends packets to network 1, the next-hop to network 1 is rtr1. Similarly, rtr2 is the next-hop to network 2. - e.g., multiple broadband service providers (Internet, VoIP, IPTV, etc.) Scenario 2: In this scenario, a single gateway router connects the host to two or more upstream service provider networks. This gateway router would receive prefix delegations and a different set of DNS recursive name servers from each independent service provider network. The gateway in turn advertises the provider prefixes to the host, and for DNS, may either act as a lightweight DNS cache server or may advertise the complete set of service provider DNS recursive name servers to the hosts. Troan, et al. Expires September 19, 2013 [Page 7] Internet-Draft IPv6 Multihoming without NAT March 2013 +------+ ___________ +-----+ | | / \ | |=======| rtr1 |=====/ network \ | |port1 | | \ 1 / +------+ | | +------+ \___________/ | | | | | hosts|-----| GW | | | | rtr | +------+ | | +------+ ___________ | |port2 | | / \ | |-------| rtr2 |=====/ network \ +-----+ | | \ 2 / +------+ \___________/ Figure 2: single uplink, single next-hop, multiple prefix (Scenario 2) Figure 2 illustrates the host connected to GW rtr. GW rtr connects to networks 1 and 2 via port1 and 2 respectively. As the figure shows a logical topology of the scenario, the port1 could be a pseudo interface for tunneling, which connects to the network 1 through the network 2, and vice versa. When the host sends packets to either network 1 or 2, the next-hop is GW rtr. When the packets are sent to network 1 (network 2), GW rtr forwards the packets to port1 (port2). - e.g, Internet + VPN/Application Service Provider (ASP) Scenario 3: In this scenario, a host has more than one active interface that connects to different routers and service provider networks. Each router provides the host with a different address prefix and set of DNS recursive name servers, resulting in a host with a unique address per link/interface. Troan, et al. Expires September 19, 2013 [Page 8] Internet-Draft IPv6 Multihoming without NAT March 2013 +------+ +------+ ___________ | | | | / \ | |-----| rtr1 |=====/ network \ | | | | \ 1 / | | +------+ \___________/ | | | host | | | | | +------+ ___________ | | | | / \ | |=====| rtr2 |=====/ network \ | | | | \ 2 / +------+ +------+ \___________/ Figure 3: Multiple uplink, multiple next-hop, multiple prefix (Scenario 3) Figure 3 illustrates the host connecting to rtr1 and rtr2 via a direct connection or a virtual link. When the host sends packets network 1, the next-hop to network 1 is rtr1. Similarly, rtr2 is the next-hop to network 2. - e.g., Mobile Wifi + 3G, ISP A + ISP B 3.2. Multihomed network environment In an IPv6 multihomed network, a host is assigned two or more IPv6 addresses and DNS recursive name servers from independent service provider networks. When this multihomed host attempts to connect with other hosts, it may incorrectly resolve the next-hop router, use an inappropriate source address, or use a DNS response from an incorrect service provider that may result in impaired IP connectivity. Multihomed networks in IPv4 have been implemented through the use of a gateway router with NAPT function (scenario 2 with NAPT) in many cases. An analysis of the current IPv4 NAPT and DNS functions within the gateway router should provide a baseline set of requirements for IPv6 multihomed environments. A destination prefix/route is often used on the gateway router to separate traffic between the networks. Troan, et al. Expires September 19, 2013 [Page 9] Internet-Draft IPv6 Multihoming without NAT March 2013 +------+ ___________ | | / \ +---| rtr1 |=====/ network \ | | | \ 1 / +------+ +-----+ | +------+ \___________/ | IPv4 | | | | | hosts|-----| GW |---+ | | | rtr | | +------+ +-----+ | +------+ ___________ (NAPT&DNS) | | | / \ (private +---| rtr2 |=====/ network \ address | | \ 2 / space) +------+ \___________/ Figure 4: IPv4 Multihomed environment with Gateway Router performing NAPT 3.3. Problem Statement A multihomed IPv6 host has one or more assigned IPv6 addresses and DNS recursive name servers from each upstream service provider, resulting in the host having multiple valid IPv6 addresses and DNS recursive name servers. The host must be able to resolve the appropriate next-hop, the correct source address and DNS recursive name server to use based on the destination prefix. To prevent IP spoofing, operators will often implement ingress filtering to discard traffic with an inappropriate source address, making it essential for the host to correctly resolve these three items before sourcing the first packet. IPv6 has mechanisms for the provision of multiple routers on a single link and multiple address assignments to a single host. However, when these mechanisms are applied to the three scenarios in Section 3.1 a number of connectivity issues are identified: Scenario 1: The host has been assigned an address from each router and recognizes both rtr1 and rtr2 as valid default routers (in the default routers list). o The source address selection policy on the host does not deterministically resolve a source address. Ingress filtering or filter policies will discard traffic with source addresses that the operator did not assign. o The host will select one of the two routers as the active default router. No traffic is sent to the other router. Troan, et al. Expires September 19, 2013 [Page 10] Internet-Draft IPv6 Multihoming without NAT March 2013 Scenario 2: The host has been assigned two different addresses from the single gateway router. The gateway router is the only default router on the link. o The source address selection policy on the host does not deterministically resolve a source address. Ingress filtering or filter policies will discard traffic with source addresses that the operator did not assign. o The gateway router does not have an autonomous mechanism for determining which traffic should be sent to which network. If the gateway router is implementing host functions (i.e., processing Router Advertisement) then two valid default routers may be recognized. Scenario 3: A host has two separate interfaces and on each interface a different address is assigned. Each link has its own router. o The host does not have enough information for determining which traffic should be sent to which upstream routers. The host will select one of the two routers as the active default router, and no traffic is sent to the other router. The default address selection rules select the address assigned to the outgoing interface as the source address. So, if a host has an appropriate routing table, an appropriate source address will be selected. All scenarios: o In network deployments utilizing local namespaces, the host may choose to communicate with a "wrong" DNS recursive server unable to serve a local namespace. 4. Requirements This section describes requirements that any solution multi-address and multi-uplink architectures need to meet. 4.1. End-to-End transparency One of the major design goals for IPv6 is to restore the end-to-end transparency of the Internet. If NAT is applied to IP communication between hosts, NAT traversal mechanism are required, to establish bi- directional IP communication. A NAT traversal mechanism does not Troan, et al. Expires September 19, 2013 [Page 11] Internet-Draft IPv6 Multihoming without NAT March 2013 need to be implemented in an application, in an environment with end- to-end transparency. Therefore, the IPv6 multihoming solution should strive to avoid NPTv6 to achieve end-to-end transparency. 4.2. Scalability The solution will have to be able to manage a large number of sites/ nodes. In services for residential users, provider edge devices have to manage thousands of sites. In such environments, sending packets periodically to each site may affect edge system performance. 5. Problem statement and analysis The problems described in Section 3 can be classified into these three types: o Wrong source address selection o Wrong next-hop selection o Wrong DNS server selection This section reviews the problem statements presented above and the proposed functional requirements to resolve the issues. 5.1. Source address selection A multihomed IPv6 host will typically have different addresses assigned from each service provider either on the same link (scenarios 1 & 2) or different links (scenario 3). When the host wishes to send a packet to any given destination, the current source address selection rules [RFC3484] may not deterministically select the correct source address. [I-D.ietf-6man-addr-select-considerations] describes the use of the policy table [RFC3484] to resolve this problem, but there is no mechanism defined to disseminate the policy table information to a host. A proposal is in [I-D.ietf-6man-addr-select-opt] to provide a DHCPv6 mechanism for host policy table management. Again, by employing DHCPv6, the server could restrict address assignment (of additional prefixes) only to hosts that support policy table management. Scenario 1: "Host" needs to support the solution for this problem. Scenario 2: "Host" needs to support the solution for this problem. Troan, et al. Expires September 19, 2013 [Page 12] Internet-Draft IPv6 Multihoming without NAT March 2013 Scenario 3: If "Host" support the next-hop selection solution, there is no need to support the address selection functionality on the host. It is noted that the service providers (i.e., ISP and enterprise/VPN) must also support [I-D.ietf-6man-addr-select-opt]. 5.2. Next-hop selection A multihomed IPv6 host or gateway may have multiple uplinks to different service providers. Here each router would use Router Advertisements [RFC4861] for distributing default route/next-hop information to the host or gateway router. In this case, the host or gateway router may select any valid default router from the default routers list, resulting in traffic being sent to the wrong router and discarded by the upstream service provider. Using the above scenarios as an example, whenever the host wishes to reach a destination in network 2 and there is no connectivity between networks 1 and 2 (as is the case for a walled-garden or closed service), the host or gateway router does not know whether to forward traffic to rtr1 or rtr2 to reach a destination in network 2. The host or gateway router may choose rtr1 as the default router, and traffic fails to reach the destination server. The host or gateway router requires route information for each upstream service provider, but the use of a routing protocol between the gateway and the two routers causes both configuration and scaling issues. For IPv4 hosts, the gateway router is often pre-configured with static route information or uses of Classless Static Route Options [RFC3442] for DHCPv4. Extensions to Router Advertisements through Default Router Preference and More-Specific Routes [RFC4191] provides for link- specific preferences but does not address per-host configuration in a multi-access topology because of its reliance on Router Advertisements. Scenario 1: "Host" needs to support the solution for this problem. Scenario 2: "GW rtr" needs to support the solution for this problem. Scenario 3: "Host" needs to support the solution for this problem. 5.3. DNS recursive name server selection A multihomed IPv6 host or gateway router may be provided multiple DNS recursive name servers through DHCPv6 [RFC3646] or RA [RFC6106]. When the host or gateway router sends a DNS query, it would normally choose one of the available DNS recursive name servers for the query. Troan, et al. Expires September 19, 2013 [Page 13] Internet-Draft IPv6 Multihoming without NAT March 2013 In the IPv6 gateway router scenario, the Broadband Forum [TR124] requires that the query be sent to all DNS recursive name servers, and the gateway waits for the first reply. In IPv6, given our use of specific destination-based policy for both routing and source address selection, it is desirable to extend a policy-based concept to DNS recursive name server selection. Doing so can minimize DNS recursive name server load and avoid issues where DNS recursive name servers in different networks have connectivity issues, or the DNS recursive name server are not publicly accessible. In the worst case, a DNS query for a name from a local namespace may not be resolved correctly if sent towards a DNS server not aware of said local namespace, resulting in a lack of connectivity. It is not an issue of Domain Name System model itself, but an IPv6 multihomed host or gateway router should have the ability to select appropriate DNS recursive name servers for each service based on the domain space for the destination, and each service should provide rules specific to that network. [RFC6731] proposes a solution for distributing DNS server selection policy using a DHCPv6 option. Scenario 1: "Host" needs to support the solution for this problem. Scenario 2: "GW rtr" needs to support the solution for this problem. Scenario 3: "Host" needs to support the solution for this problem. It is noted that the service providers (i.e., ISP and enterprise/VPN) must also support [RFC6731]. 6. Implementation approach As mentioned in Section 5, in the multi-prefix environment, we have three problems; source address selection, next-hop selection, and DNS recursive name server selection. In this section, possible solutions for each problem are introduced and evaluated against the requirements in Section 4. 6.1. Source address selection Possible solutions and their evaluation are summarized in [I-D.ietf-6man-addr-select-considerations]. When those solutions are examined against the requirements in Section 4, the proactive approaches, such as the policy table distribution mechanism and the routing hints mechanism, are more appropriate in that they can propagate the network administrator's policy directly. The policy distribution mechanism has an advantage with regard to the host's protocol stack impact and the static nature of the assumed target Troan, et al. Expires September 19, 2013 [Page 14] Internet-Draft IPv6 Multihoming without NAT March 2013 network environment. 6.2. Next-hop selection As for the source address selection problem, both a policy-based approach and a non policy-based approach are possible with regard to the next-hop selection problem. Because of the same requirements, the policy propagation-based solution mechanism, whatever the policy, should be more appropriate. Routing information is a typical example of policy related to next- hop selection. If we assume source address-based routing at hosts or intermediate routers, pairs of source prefixes and next-hops can be another example of next-hop selection policy. The routing information-based approach has a clear advantage in implementation and is already commonly used. The existing proposed or standardized routing information distribution mechanisms are routing protocols, such as RIPng and OSPFv3, the RA extension option defined in [RFC4191], and the [TR069] standardized at BBF. The RA-based mechanism doesn't handle distribution of per-host routing information easily. Dynamic routing protocols are not typically used between residential users and ISPs, because of their scalability and security implications. The DHCPv6 mechanism does not have these problems and has the advantage of its relaying functionality. It is commonly used and is thus easy to deploy. [TR069], mentioned above, is a possible solution mechanism for routing information distribution to customer-premises equipment (CPE). It assumes, however, IP reachability to the Auto Configuration Server (ACS) is established. Therefore, if the CPE requires routing information to reach the ACS, [TR069] cannot be used to distribute this information. 6.3. DNS recursive name server selection Note: Split-horizon DNS is discussed in this section. Split- horizon DNS is known to cause problems with applications to allow information leakage. The discussion of split-horizon DNS is not condoning its use, but rather acknowledging that split-horizon DNS is used and that its use is another justification for network address translation. The goal of this document is to encourage building solutions which do not need network address translation. Two solutions appear possible: make split-horizon DNS work better (which is discussed below) or meet network administrator's Troan, et al. Expires September 19, 2013 [Page 15] Internet-Draft IPv6 Multihoming without NAT March 2013 requirements without split-horizon DNS (which is out of scope of this document). As in the above two problems, a policy-based approach and a non policy-based approach are possible. In a non policy-based approach, a host or a home gateway router is assumed to send DNS queries to several DNS recursive name servers at once or to select one of the available servers. In the non policy-based approach, by making a query to a DNS recursive name server in a different service provider to that which hosts the service, a user could be directed to unexpected IP address or receive an invalid response, and thus cannot connect to the service provider's private and legitimate service. For example, some DNS recursive name servers reply with different answers depending on the source address of the DNS query, which is sometimes called split- horizon. When the host mistakenly makes a query to a different provider's DNS recursive name server to resolve a FQDN of another provider's private service, and the DNS recursive name server adopts the split-horizon configuration, the queried server returns an IP address of the non-private side of the service. Another problem with this approach is that it causes unnecessary DNS traffic to the DNS recursive name servers that are visible to the users. The alternative of a policy-based approach is documented in [RFC6731], where several pairs of DNS recursive name server addresses and DNS domain suffixes are defined as part of a policy and conveyed to hosts in a new DHCP option. In an environment where there is a home gateway router, that router can act as a DNS recursive name server, interpret this option and distribute DNS queries to the appropriate DNS servers according to the policy. 6.4. Other algorithms available in RFCs The authors of this document are aware of a variety of other algorithms and architectures, such as shim6 [RFC5533] and HIP [RFC5206], that may be useful in this environment. At this writing, there is not enough operational experience on which to base a recommendation. Should such operational experience become available, this document may be updated in the future. 7. Considerations for MHMP deployment This section describes considerations to mitigate possible problem in a network which implements MHMP described in Section 6. Troan, et al. Expires September 19, 2013 [Page 16] Internet-Draft IPv6 Multihoming without NAT March 2013 7.1. Non-MHMP host consideration In a typical IPv4 multihomed network deployment, IPv4 NAPT is practically used and it can eventually avoid assigning multiple addresses to the hosts and solve the next-hop selection problem. In a similar fashion, NPTv6 can be used as a last resort for IPv6 multihomed network deployments where one needs to assign a single IPv6 address to a non-MHMP host. __________ / \ +---/ Internet \ gateway router | \ / +------+ +---------------------+ | \__________/ | | | | | WAN1 +--+ | host |-----|LAN| Router |--------| | | | | |NAT|WAN2+--+ +------+ +---------------------+ | __________ | / \ +---/ ASP \ \ / \__________/ Figure 5: Legacy Host The gateway router also has to support the two features, next-hop selection and DNS server selection, shown in Section 6. The implementation and issues of NPTv6 are out of the scope of this document. They may be covered by another document under discussion [RFC6296]. 7.2. Co-existence considerations To allow the co-existence of non-MHMP hosts and MHMP hosts (i.e. hosts supporting multi-prefix with the enhancements for the source address selection), GW-rtr may need to treat those hosts separately. An idea for how to achieve this, is that GW-rtr identifies the hosts, and then assigns a single prefix to non-MHMP hosts and assigns multiple prefixes to MHMP hosts. In this case, GW-rtr can perform IPv6 NAT only for the traffic from non-MHMP hosts if its source address is not appropriate. Another idea is that GW-rtr assigns multiple prefixes to both hosts, and performs IPv6 NAT for traffic from non-MHMP hosts if its source address is not appropriate. Troan, et al. Expires September 19, 2013 [Page 17] Internet-Draft IPv6 Multihoming without NAT March 2013 In scenario 1 and 3, the non-MHMP hosts can be placed behind the NAT box. In this case, the non-MHMP host can access the service through the NAT box. The implementation of identifying non-MHMP hosts and NAT policy is outside the scope of this document. 7.3. Policy collision consideration When multiple policy distributors exist, a policy receiver may not follow one or each of the received policy. In particular, when a policy conflicts with another policy, a policy receiver cannot implement each of the policy. To solve or mitigate this issue, it is required that prioritization rule to align these policies along preference on a trusted interface. Another solution is to preclude the functionality of multiple policy acceptance at the receiver side. In this case, a policy distributor should cooperate with other policy distributors, and a single representative provider should distribute a merged policy. This document does not presume specific recommendations for resolving policy collision. It is expected to the implementation to decide how to resolve the conflicts. If they are not resolved consistently by different implementations, that could affect interoperability and security trust boundaries. Future work will be expected to address the need for consistent policy resolution to avoid interoperability and security trust boundary issues. 8. Security Considerations In today's multi-homed IPv4 networks, it is difficult to resolve or coordinate conflicts between the two upstream networks. This problem persists with IPv6, no matter if the hosts use IPv6 provider- dependent or provider-independent addresses. This document requires that the solutions for MHMP should have policy providing functions. New security threats can be introduced depending on what kind and what form of the policy. The threats can be categorized in two parts: the policy receiver side and the policy distributor side. A policy receiver may receive an evil policy from a policy distributor. A policy distributor should expect some hosts in its network do not follow the distributed policy. At the time of writing, there are no known methods to resolve conflicts between the host's own policy (policy receiver) and the policies of upstream providers (policy provider). As this document is analyzing the Troan, et al. Expires September 19, 2013 [Page 18] Internet-Draft IPv6 Multihoming without NAT March 2013 problem space, rather than proposing a solution, we note the following problems: Threats related to the policy distributor side: Service provider should expect the existence of hosts that will not obey the received policy. A possible solutions is to ingress-filter those packets that do not match the distributed policy and drop them. About the route selection, packet forwarding or redirection can be another possible solution. About the source address selection, IPv6 NAT can be another possible solution. Administrators of different networks might need to control policies (and nodes' behaviors) independently of other administrators. It means that the need to have access controls for such cross-administrative policy access. Administrators must control only nodes that are part of their own networks, or some administrators must control only nodes that are part of their own networks, while others are authorized to control nodes across administrative boundaries. To be success to cross-administrative policy-control, per-user authorization might be required with existing AAA and network management standards. Threats related to the policy receiver side: For policy receiver side, who should be trusted to accept policies is a fundamental issue. How is the trust established, and how can the network element be assured that it can established that trust before the network is fully configured. If a policy receiver trusts untrusted network, it will cause that distributing unwanted and unauthorized policy that described below. A policy receiver are exposed to the threats of unauthorized policy, which can lead to session hijack, falsification, DoS, wiretapping and phishing. Unauthorized policy here means a policy distributed from an entity that does not have rights to do so. Usually, only a site administrator and a network service provider have rights to distribute these policies just as well as IP address assignment and DNS server address notification. Regarding source address selection, unauthorized policy can expose an IP address that will not usually be exposed to an external server, which can be a privacy problem. To solve or mitigate this problem of unauthorized policy, one approach is limiting on use of these policy distribution mechanisms, as described in the section 4.4 of [RFC6731]. For Troan, et al. Expires September 19, 2013 [Page 19] Internet-Draft IPv6 Multihoming without NAT March 2013 example, a policy should be preferred or accepted when the policy is verified its integrity and delivered across a secure, trusted channel such as 3G connection in cellular services. The proposed solutions are based on DHCP, so the limitation of local site communication, which is often used in WiFi access services, should be another solution or mitigation for this problem. About DNS server selection issue, DNSSEC can be another solution. About source address selection, the ingress filter at the network service provider router can be a solution. Another threat is the leakage of the policy and privacy issues resulting from that. Especially when each client is distributed its own policy from the network service provider, the policy can give a hint of which service the client subscribes. Encryption of communication channel, separation of communication channel per host can be solutions for this problem. The security threats related to IPv6 multihoming are described in [RFC4218]. 9. IANA Considerations This document has no IANA actions. 10. Contributors The following people contributed to this document: Akiko Hattori, Arifumi Matsumoto, Frank Brockners, Fred Baker, Tomohiro Fujisaki, Jun-ya Kato, Shigeru Akiyama, Seiichi Morikawa, Mark Townsley, Wojciech Dec, Yasuo Kashimura, Yuji Yamazaki. This document has greatly benefited from inputs by Randy Bush, Brian Carpenter, and Teemu Savolainen. 11. References 11.1. Normative References [I-D.ietf-6man-addr-select-considerations] Chown, T. and A. Matsumoto, "Considerations for IPv6 Address Selection Policy Changes", draft-ietf-6man-addr-select-considerations-04 (work in progress), October 2011. Troan, et al. Expires September 19, 2013 [Page 20] Internet-Draft IPv6 Multihoming without NAT March 2013 [I-D.ietf-6man-addr-select-opt] Matsumoto, A., Fujisaki, T., and T. Chown, "Distributing Address Selection Policy using DHCPv6", draft-ietf-6man-addr-select-opt-08 (work in progress), January 2013. [RFC3484] Draves, R., "Default Address Selection for Internet Protocol version 6 (IPv6)", RFC3484, February 2003. [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and More-Specific Routes", RFC4191, November 2005. [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC4861, September 2007. [RFC6296] Wasserman, M. and F. Baker, "IPv6-to-IPv6 Network Prefix Translation", RFC6296, June 2011. [RFC6731] Savolainen, T., Kato, J., and T. Lemon, "Improved Recursive DNS Server Selection for Multi-Interfaced Nodes", RFC6731, December 2012. 11.2. Informative References [RFC3022] Srisuresh, P. and K. Egevang, "Traditional IP Network Address Translator (Traditional NAT)", RFC3022, January 2001. [RFC3442] Lemon, T., Cheshire, S., and B. Volz, "The Classless Static Route Option for Dynamic Host Configuration Protocol (DHCP) version 4", RFC3442, December 2002. [RFC3582] Abley, J., Black, B., and V. Gill, "Goals for IPv6 Site- Multihoming Architectures", RFC3582, August 2003. [RFC3646] Droms, R., "DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC3646, December 2003. [RFC4116] Abley, J., Lindqvist, K., Davies, E., Black, B., and V. Gill, "IPv4 Multihoming Practices and Limitations", RFC4116, July 2005. [RFC4218] Nordmark, E. and T. Li, "Threats Relating to IPv6 Multihoming Solutions", RFC4218, October 2005. [RFC4960] Stewart, R., "Stream Control Transmission Protocol", Troan, et al. Expires September 19, 2013 [Page 21] Internet-Draft IPv6 Multihoming without NAT March 2013 RFC4960, September 2007. [RFC5206] Nikander, P., Henderson, T., Vogt, C., and J. Arkko, "End- Host Mobility and Multihoming with the Host Identity Protocol", RFC5206, April 2008. [RFC5533] Nordmark, E. and M. Bagnulo, "Shim6: Level 3 Multihoming Shim Protocol for IPv6", RFC5533, June 2009. [RFC6106] Jeong, J., Park, S., Beloeil, L., and S. Madanapalli, "IPv6 Router Advertisement Options for DNS Configuration", RFC6106, November 2010. [TR069] The BroadBand Forum, "TR-069, CPE WAN Management Protocol v1.1, Version: Issue 1 Amendment 2", December 2007. [TR124] The BroadBand Forum, "TR-124i2, Functional Requirements for Broadband Residential Gateway Devices (work in progress)", May 2010. Authors' Addresses Ole Troan (editor) Cisco Oslo Norway Email: firstname.lastname@example.org David Miles Alcatel-Lucent Melbourne Australia Email: email@example.com Satoru Matsushima Softbank Telecom Tokyo Japan Email: firstname.lastname@example.org Troan, et al. Expires September 19, 2013 [Page 22] Internet-Draft IPv6 Multihoming without NAT March 2013 Tadahisa Okimoto NTT West Osaka Japan Email: email@example.com Dan Wing Cisco 170 West Tasman Drive San Jose USA Email: firstname.lastname@example.org Troan, et al. Expires September 19, 2013 [Page 23]