Internet Engineering Task Force Arifumi Matsumoto Internet-Draft Tomohiro Fujisaki Expires: April 12, 2005 Hirotaka Matsuoka Jun-ya Kato NTT PF Lab. October 12, 2004 Source Address Selection Policy Distribution for Multihoming draft-arifumi-multi6-sas-policy-dist-00.txt Status of this Memo This document is an Internet-Draft and is subject to all provisions of section 3 of RFC 3667. By submitting this Internet-Draft, we certify that any applicable patent or other IPR claims of which we are aware have been disclosed, or will be disclosed, and any of which we become aware will be disclosed, in accordance with RFC 3668. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or made obsolete 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright Notice Copyright (C) The Internet Society (2004). All Rights Reserved. Abstract This document describes a method for the distribution of source address selection policy from ISPs to gateway routers for consumers and from the gateways to end nodes. This method is particularly effective when a consumer site has multiple address blocks. Every end node is guided by the policy in selecting an appropriate source address for each destination address and every gateway is guided by Arifumi [Page 1] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 the policy in forwarding packets to appropriate next-hop ISPs. This makes it possible for an end node to set a connection up without being concerned about failures of transfer due to ingress filtering by the ISPs, for ISP operators to manage consumers' behavior and networking policy, and for consumers to be provided with networks that are almost automatically robust and reliable. 1. Introduction An IPv6 multihoming site has multiple nodes, each of which is assigned multiple IPv6 addresses by up-stream ISPs. When there are multiple up-stream ISPs, the means of selection of the ISP for an outgoing packet is currently based on the destination address. In general, however, each packet should have a source address that has been allocated by the selected up-stream ISP. This is because the routers of ISPs may be configured to perform ingress filtering with the aim of blocking packets that have strange source addresses. In this document, we propose a technique that is used both to distribute policy information for source address selection at end nodes and to establish a method for the forwarding of packets by routers. This enables the control of incoming traffic from customer sites by ISPs, the selection of appropriate source addresses by end nodes, and the selection of outgoing ISPs in a way that is almost certain to produce successful connection setup. 2. Concepts In this document, we propose a method by which an ISP can distribute source address selection policies to each end node at a customer site. The policy information is particularly helpful to hosts in which multihoming is used, since an end node can use the destination address to select a source address that leads to a high probability of successful setup for the connection. An up-stream ISP is expected to use DHCPv6 Prefix Options [3633] to delegate a certain portion of the IPv6 address space to its subscribers. We propose a DHCPv6 new option, which contains a per- delegating-prefix address-selection policy. By making use of this option, an ISP can inform its customers of an address block that can be reached through the ISP and of a corresponding source address of packets, that is, a source address that must be used to reach the given block. This is simply achieved through delegation of the delegated source-address prefix and policy by the ISP. The gateway router of a customer's site receives the delegated prefix and address-selection policy mentioned above from its up-stream ISPs. Arifumi [Page 2] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 The router in turn distributes this information to end nodes at the site. Here, we propose an extension to the ND6 Router Advertisement Message [2461] and a DHCPv6 [3315] new option to cover delivery of address-selection policy to the end nodes. The address-selection policy delivered to an end node is stored in the form of a Policy Table as defined in RFC 3484 [3484]. Once the above series of processes is complete, an end node can select an appropriate source address for a given destination address. Routing of an outgoing packet to the corresponding up-stream ISP is mainly guided by the source address of the packet; this avoids blocking of the packet by ingress filtering. This mechanism is particularly effective when a site subscribes to an ISP or VPN service that provides connectivity to a certain closed network as well as acting as an ISP for global network connectivity. This is because selecting an appropriate source address for a given destination address is crucial in such a network environment. This approach gives end nodes an advance measure against connection setup failure. At the same time, an ISP can control incoming traffic from customers' sites, and the network managers of customers' sites can reflect their networking policy to some extent by configuring DHCPv6 or ND6 RA settings on routers. The last but not the least significant feature to note here is that this sequence of passing, processing, generation, and reflection of policy information can be made almost totally automatic from the viewpoint of customers. In the context of Multi6 WG activity, IMHO this kind of information will be very useful in terms of efficiently and effectively setting up connections no matter what modifications have been applied to the protocol stacks of end nodes. Also, this will be very helpful for those end nodes that haven't received the protocol-stack modifications required for this technique, in other words, to legacy nodes. This document also serves as a proposal for the Multi6 WG to consider a mechanism of the kind described as one element of the component class. Arifumi [Page 3] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 3. Overview 3.1 Multihome Site with Global-Closed Mixed Connectivity ============== | Internet | ============== | 2001:db8::/32 | 3ffe:1800::/32 +----+-+ +-+----+ | ISP1 | | ISP2 | (Closed Network) +----+-+ +-+----+ | | 2001:db8:a::/48 | | 3ffe:1800:a::/48 (DHCP-PD') ++-------++ (DHCP-PD') | Gateway | +----+----+ | 2001:db8:a:1::/64 | 3ffe:1800:a:1::/64 | (RA'/DHCP') ------+---+---------- | +-+----+ 2001:db8:a:1:[EUI64] | Host | 3ffe:1800:a:1:[EUI64] +------+ [Fig. 1] Fig. 1 shows a multihome site that subscribes to two ISPs. One ISP provides global network connectivity and the other provides connectivity to a closed network but not to the Internet. This site has one border router, labeled Gateway here, and the router may be connected to up-stream ISPs through a physical or logical link, say PPPoE or an IPsec Tunnel. 3.1.1 Description of Each Element i) ISP -> Gateway This figure shows that ISP1 has been allocated 2001:db8::/32 and ISP2 has been allocated 3ffe:1800::/32. Each ISP delegates part of its address block, called the "provider aggregatable (PA)" block, to this customer site. Here, ISP1 and ISP2 use DHCP-PD to delegate 2001:db8:a::/48 and 3ffe:1800:a::/48, respectively. In this document, we propose an extension to DHCP-PD, which is actually a new DHCP option and called DHCP-PD' here. DHCP-PD' gives DHCP servers (ISPs) functionality for delivering an address- Arifumi [Page 4] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 selection policy in combination with a delegated prefix to a client (gateway). In this example, ISP2 includes Address Addr. Sel. Policy 3ffe:1800:a::/48 ---- 3ffe:1800::/32 in the PD and address-selection policy options sent to the client. This means that the subscribers of ISP2 should use an address from the delegated range, that is, 3ffe:1800:a::/48, when communicating with 3ffe:1800::/32. Selection of an appropriate source address is very important, and this is particularly so when one of the subscribing networks is closed as in this example. This is simply because a return packet from the closed network can't possibly reach the session- originating host if the return packet is destined for an address beyond the range available to the closed ISP. ISP1 also uses DHCP-PD', in this case to deliver its address- selection policy to its customers. As ISP1 provides global network connectivity, the PD and policy options will take the following form. Address Addr-Sel. Policy 2001:db8:a::/48 --+-- 2001:db8::/32 +-- ::/0 (all address) This means that ISP1 can provide connectivity to 2001:db8::/32 and act as a transit point for any other address (::/0) in the Internet as long as the source address is that delegated by ISP1, namely 2001:db8:a::/48. With regard to backward compatibility, a normal DHCP-PD packet, which does not carry address-selection policy information of the above type, should be deemed to have ::/0 as its policy field. ii) Gateway -> Host A gateway router receives address-delegation information and address-selection policy from up-stream ISPs, in turn delivering both to down-stream nodes. In this document, we propose DHCP new option and an extension to RA (Router Advertisement Message). We refer to these as DHCP' and RA', respectively. The gateway router combines information given by multiple up-stream ISPs and distributes the following information down-stream through DHCP' or RA'. Arifumi [Page 5] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 Address Addr. Sel. Policy 1 2001:db8:a:1::/64 --+-- 2001:db8::/32 +-- ::/0 2 3ffe:1800:a:1::/64 ----- 3ffe:1800::/32 This is just the combination of the information from the two up- stream elements in the previous section, except that each advertising address prefix is 64 bits long. iii) Host When a host receives an RA' or DHCP' message from the site gateway, it configures addresses for each receiving network interface and reflects address-selection policy in its RFC3484-based policy table. In this example, we propose that the policy table should be configured as follows, by making use of the Label field defined in RFC3484, and the relation between address prefix and address- selection policy should be kept in this table. Prefix Pref. Label 2001:db8::/32 10 100 ::/0 10 100 2001:db8:a:1::/64 10 100 3ffe:1800::/32 10 200 3ffe:1800:a:1::/64 10 200 When this host sends a packet to, for example, 3ffe:1800:a::100, whose longest matching entry in this table is 3ffe:1800::/32, the host chooses the address beginning with 3ffe:1800:a:1:: as the source address. The source-address selection algorithm will select the longest entry that is a candidate source-address range and has the same label as the longest matching address for the destination address. In the same way, the source address of a packet destined for 2001:db8::/32 or 2002::/16 will be 2001:db8:a:1:[EUI64]. Preference values are only used in the selection of destination addresses. This document does not include an algorithm for determining preference values. iv) Gateway As well as delivering addresses and policy information to hosts through RA' or DHCP', the gateway forwards packets according to policy information distributed by up-stream ISPs. One way of implementing such forwarding or routing, called policy routing, is based on the source addresses of out-going packets. Policy routing Arifumi [Page 6] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 is illustrated in the table below. Src. Next Hop 2001:db8:a:1::/64 ISP1 3ffe:1800:a:1::/64 ISP2 In this example, the next-hop is deterministically selected by the destination address. So, normal destination-address-based routing with the following routing table is sufficient. Dst. Next Hop 2001:db8::/32 ISP1 ::/0 ISP1 3ffe:1800::/32 ISP2 3.1.2 Discussion The benefits of this scheme are very clear. Every end node can determine which source address should be used and can send packets without a risk of failure due to ingress filtering or the limited reachability of a closed network. What should be discussed from here is the need for and implementation of policy enforcement to end nodes and the process of combining multiple address-selection policies. It's so hard to combine two policies automatically when a policy coming from an ISP conflicts with another ISP's policy. We may also have to think about combining or pruning algorithm to contain too much policy information in one packet. Arifumi [Page 7] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 3.2 Host with Multiple Home Addresses and Connectivity to Two Global Networks ================== | Internet | ================== | | 2001:db8::/32 | | 3ffe:1800::/32 +----+-+ +-+----+ | ISP1 | | ISP2 | +----+-+ +-+----+ | | 2001:db8:a::/48 | | 3ffe:1800:a::/48 (DHCP-PD') ++-------++ (DHCP-PD') | Gateway | +----+----+ | 2001:db8:a:1::/64 | 3ffe:1800:a:1::/64 | (RA'/DHCP') ------+---+---------- | +-+----+ 2001:db8:a:1:[EUI64] | Host | 3ffe:1800:a:1:[EUI64] +------+ [Fig. 2] Fig. 2 shows a host with multiple home addresses that subscribes to two ISPs for connectivity to the Internet. The manner of address delegation and allocation is as described in 3.1. 3.2.1 Description of Each Element i) ISP -> Gateway The difference between this and the previous example is that ISP2 provides global network connectivity, so the DHCP-PD' address- selection policy option for ISP2 includes an additional entry. Address Addr. Sel. Policy 3ffe:1800:a::/48 --+-- 3ffe:1800::/32 +--- ::/0 ii) Gateway -> Host As both ISPs provide global network connectivity, the policy for address-selection from the gateway router to the end nodes is of the form shown below. Arifumi [Page 8] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 Address Addr. Sel. Policy 1 2001:db8:a:1::/64 --+-- 2001:db8::/32 +-- ::/0 2 3ffe:1800:a:1::/64 --+-- 3ffe:1800::/32 +--- ::/0 iii) Host Each end node will have the following address-selection policy table. Prefix. Pref. Label 2001:db8::/32 10 100 2001:db8:a:1::/64 10 100 (::/0 10 100) 3ffe:1800::/32 10 200 3ffe:1800:a:1::/64 10 200 (::/0 10 200) Note that the end nodes are notified of an address-selection policy that includes prefix ::/0 by both ISPs, hence a specific source address for ::/0 can't be determined in the Label-Rule judgment phase described in RFC3484. So, these entries for prefix ::/0 won't actually be stored in the policy table, and this policy table won't have any effect on source-address selection for packets that match ::/0. The source address in these cases will be determined by following rules listed in RFC3484, such as longest match with the destination address. iv) Gateway Unlike the previous example (3.1.1(iv)), normal destination- address-based routing doesn't specify a particular next-hop. Dst Next-Hop 2001:db8::/32 ISP1 ::/0 ISP1 3ffe:1800::/32 ISP2 ::/0 ISP2 So, source-address-based routing as described in 3.1.1(iv) will be effective. 3.2.2 Discussion One of the benefits of having an ISP provide address-selection policy to its customers is that it can explicitly check incoming packets to Arifumi [Page 9] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 see if it delegated their source addresses. Delivery of an address- selection policy makes the following mechanisms possible. - Since end nodes and routers in a multihoming site are given some kind of routing information, they can select the route expected to be optimal. In the above example, end nodes can communicate with servers of the ISPs without any circumvention. - Another possible usage of this framework is notification of security policy. ISPs commonly apply IP-address-based filtering to packets that attempt access to their services, such as POP, SMTP and Web content, partly for security reasons and partly as a value- added service for their customers. IMHO one issue to be discussed is multipath routing. In the second of the examples presented above, the router and host have two default routes and thus have the potential to apply multipath techniques [2991][2992]. To take greater advantage of multihoming, we should probably consider using a multipath routing algorithm. 3.3 A Host Directly Connected to Multiple ISPs ================== | Internet | ================== | | 2001:db8::/32 | | 3ffe:1800::/32 | | 2001:db8:a::/48 | | 3ffe:1800:a::/48 (DHCP-PD') +----+-+ +-+----+ (DHCP-PD') | GW1 | | GW2 | +----+-+ +-+----+ 2001:db8:a:1::/64 | | 3ffe:1800:a:1::/64 (RA'/DHCP') | | (RA'/DHCP') -----+-+- -+-+----- | | 2001:db8:a:1:[EUI64]++---++ 3ffe:1800:a:1:[EUI64] | Host| +-----+ [Fig. 3] This example shows an end node directly connected to two ISPs, both of which provide global network connectivity. The only difference between this case and the case described in 3.2 is that the host itself has to take on the role of gateway router, that is, of applying routing policy based on source addresses. Arifumi [Page 10] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 4. Security Considerations With regard to the possibility of traffic abduction through the announcement of a bogus policy, this scheme seems to neither lower nor raise the security level obtained by the existing base-protocols, such as DHCP-PD, DHCP and RA. However, it does raise the possibility of a new form of DoS attack on routers and hosts, in which large numbers of address-selection policies are generated by different source addresses. We will have to discuss this and take precautionary measures in designing the protocol specification. 5. Normative References [3633] O. Troan and R. Droms, "IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6," RFC 3633, Dec. 2003. [2461] T. Narten, E. Nordmark, and W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)," RFC 2461, Dec. 1998. [3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C. and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)," RFC 3315, Jul. 2003. [3484] R. Draves, "Default Address Selection for Internet Protocol version 6 (IPv6)," RFC 3484, Feb. 2003. [2991] D. Thaler and C. Hopps, "Multipath Issues in Unicast and Multicast Next-Hop Selection," RFC 2991, Nov. 2000. [2992] C. Hopps, "Analysis of an Equal-Cost Multi-Path Algorithm," RFC 2992, Nov. 2000. Authors' Addresses Arifumi Matsumoto Nippon Telegraph and Telephone Corporation Information Sharing Platform Laboratories 3-9-11 Midori-cho Musashino-shi, Tokyo 180-8585 Japan Phone: +81-422-59-3334 E-Mail: matsumoto.arifumi@lab.ntt.co.jp Tomohiro Fujisaki Nippon Telegraph and Telephone Corporation Information Sharing Platform Laboratories 3-9-11 Midori-cho Arifumi [Page 11] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 Musashino-shi, Tokyo 180-8585 Japan Phone: +81-422-59-7351 E-Mail: fujisaki.tomohiro@lab.ntt.co.jp Hirotaka Matsuoka Nippon Telegraph and Telephone Corporation Information Sharing Platform Laboratories 3-9-11 Midori-cho Musashino-shi, Tokyo 180-8585 Japan Phone: +81-422-59-4949 E-Mail: matsuoka.hirotaka@lab.ntt.co.jp Jun-ya Kato Nippon Telegraph and Telephone Corporation Information Sharing Platform Laboratories 3-9-11 Midori-cho Musashino-shi, Tokyo 180-8585 Japan Phone: +81-422-59-2939 E-Mail: kato.junya@lab.ntt.co.jp Full Copyright Statement Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an Arifumi [Page 12] draft-arifumi-multi6-sas-policy-dist-00.txt October 2004 attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org. Arifumi [Page 13]