IPv6 Maintenance Working Group A. Matsumoto Internet-Draft T. Fujisaki Intended status: Informational NTT Expires: April 27, 2010 R. Hiromi Intec Netcore October 24, 2009 Considerations of address selection policy conflicts draft-arifumi-6man-addr-select-conflict-01.txt Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. 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 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." 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. This Internet-Draft will expire on April 27, 2010. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. Matsumoto, et al. Expires April 27, 2010 [Page 1] Internet-Draft Address-Selection Poloicy Conflict October 2009 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This document tries to speculate how policy conflicts happen, and how to address the conflicts. After making it clear what kind of address selection policy should be necessary, we proposed how to merge the possibily conflicting policies for each of the destination address selection policy and source address selection policy. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Address Selection Control . . . . . . . . . . . . . . . . . . 3 3. Source Address Selection Conflicts and Solution . . . . . . . 4 4. Destination Address Selection Conflicts and Solution . . . . . 5 5. Cenceptual Message Processing Model . . . . . . . . . . . . . 7 5.1. Source Address Selection Policy . . . . . . . . . . . . . 7 5.2. Destination Address Selection Policy . . . . . . . . . . . 9 6. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 8. Security Considerations . . . . . . . . . . . . . . . . . . . 11 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 10.1. Normative References . . . . . . . . . . . . . . . . . . . 11 10.2. Informative References . . . . . . . . . . . . . . . . . . 11 Appendix A. Appendix. Revision History . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 Matsumoto, et al. Expires April 27, 2010 [Page 2] Internet-Draft Address-Selection Poloicy Conflict October 2009 1. Introduction RFC 5220 [RFC5220] describes several cases that have problems caused by using multiple prefixes at hosts and sites. The address selection design team is working on this issue and summarizes their work in the considerations document [I-D.ietf-6man-addr-select-considerations]. Their solution mechanism is going to be an update mechanism of the address selection policy table at a host from the network. A new DHCPv6 option [I-D.fujisaki-dhc-addr-select-opt] is proposed for this purpose. As mentioned in RFC 5220 [RFC5220], a host and a site can belong to multiple upstream networks. For example, a host with multiple interfaces, such as wireless and wired interfaces, can easily belong to multiple networks. A site may have connectivity to ISP and a corporate network through a VPN link. In these cases, if two or more of the upstream networks want to control address selection behavior of his network's customer host, those address selection policies have to be merged at the host, and they may collide there. This document tries to speculate how policy conflicts happen, and how to address the conflicts. Moreover, this document also tries to examine a mechanism for solving conflicts in the section of cenceptual processing model. This document focuses on identifying what kind of conflict related problems we have, and in what kind of manner we can solve them. Some of the problems described in RFC 5220 are specific to and resulted from the address selection mechanism defined in RFC 3484. [RFC3484] However, above mentioned policy collision is an intrinsic problem of address selection policy merging, and not specific to the RFC 3484 mechanism. 2. Address Selection Control As in RFC 5220, there are various motivations for network administrator to control address selection behavior of his customers' hosts. However, we can summarize them into two following kinds of controls. - Source address selection behavior control: Matsumoto, et al. Expires April 27, 2010 [Page 3] Internet-Draft Address-Selection Poloicy Conflict October 2009 "When accessing to PREFIX-1, use ADDRESS-1 as the source address." A lot of ISPs have this policy and they usually implement it by adopting ingress filtering to incoming packets from their customers. Another case where this policy is used is a network that makes use of multiple address blocks in the network and assigns multiple addresses/prefixes to its customers and use them for different purpose, such as the Internet access use and telephone call use. - Destination address selection behavior control: "When accessing to PREFIX-1 or PREFIX-2, prefer PREFIX-1 rather than PREFIX-2." This control is rather intended for optimization of the customers' traffic. This kind of control is not intended for on-off switch, but rather a preference degree. For example, this is useful when a destination site has both PREFIX-1 and PREFIX-2, and the network administrator knows connectivity to PREFIX-1 is better than PREFIX-2. The typical case of this is IPv4 and IPv6 prioritization as mentioned in RFC 5220. On-off switch manner of control is not in scope of address selection behavior, but it should be implemented some other mechanism, such as routing table manipulation and DNS resolution. As this is intrinsiclly intended for optimization, it should not be used for any other purpose like security . Here, PREFIX-* is used to denote both IPv4 and IPv6 prefixes. In the following part, policy conflict and solution for these two patterns above are examined separately. 3. Source Address Selection Conflicts and Solution As mentioned above, source address selection policy have following meaning: "When accessing to PREFIX-1, use ADDRESS-1 as the source address." The upstream network that has this kind of policy usually assigns an address block that includes ADDRESS-1, and also provides reachability to the network that is specified by PREFIX-1. Source address selection policy conflict can happen when different network have a policy for the same prefix. For example, in the following figure, Network-1 have a policy: "To PREFIX-1, use ADDRESS-1", and Network-2: "To PREFIX-1 and PREFIX-2, use ADDRESS-2". Matsumoto, et al. Expires April 27, 2010 [Page 4] Internet-Draft Address-Selection Poloicy Conflict October 2009 PREFIX-1 -----+ PREFIX-2 | \ | | \ | +-----+-----+ +-+---+-----+ | Network-1 | | Network-2 | +------+----+ +----+------+ \ / \ / ADDRESS-1 \ / ADDRESS-2 +---+----+---+ | Host/Site | +------------+ In this case, the solution is straightforward. The destination address is determined before source address selection policy is used. Thus, the outgoing route, such as the next-hop node and the network interface, is determined by looking up the routing table at a host. That is, the outgoing network that carries the packet to the destination is determined without the source address selection policy. So, the bottom line is that the source address selection policy that matches routing table's behavior should be chosen. There is no point adopting the source address selection policy of a network where a packet does not go through. In other words, if the routing table is fixed before the source address selection policy is fixed, then the source address selection policy should be implemented while avoiding contradiction with the routing table. If not, the routing table should be coordinated to match the source address selection policy. In a case where a site is connected to the multiple ISPs, like the figure above, and receives policies from the ISPs and re-distribute policies to the downstream hosts, the hosts cannot know which ISP are chosen for transit to PREFIX-1. So, in this case, the entity who knows which way is chosen have to address the policy conflict. 4. Destination Address Selection Conflicts and Solution As mentioned in section 2, destination address selection policy have following meaning: "When accessing to a destination site that has PREFIX-1 and PREFIX-2, prefer PREFIX-1 rather than PREFIX-2." The upstream network that has this kind of policy should provides reachability to both networks that are specified by PREFIX-1 and PREFIX-2. Matsumoto, et al. Expires April 27, 2010 [Page 5] Internet-Draft Address-Selection Poloicy Conflict October 2009 Destination address selection policy conflict can happen when a network has a policy that has inverse effect of another network's policy. That is, in the figure below, Network-1 prefers PREFIX-1 rather than PREFIX-2, and Network-2 prefers PREFIX-2 rather than PREFIX-1. bad bad PREFIX-1 ---- ---- PREFIX-2 | X | good | / \ | good +-----+-----+ +-----+-----+ | Network-1 | | Network-2 | +------+----+ +----+------+ \ / \ / ADDRESS-1 \ / ADDRESS-2 +---+---+---+ | Host/Site | +-----------+ In routing mechanism, a router advertises a route A to a certain destination, another advertises a route B to the same destination, and the receiver decides which route to take by looking at the cost of the routes and other information. In destination address selection policy, a network advertises prefix A and the precedence degree. The destination address selection policy conflict happens when multiple entities provide policies for the same or the overlapping destination prefix with different costs. This is the same situation as the routing mechanism in that there can be multiple "routes" for the same destination. Here, we can choose the better, that is, higher precedence "route" for the destination prefix, but there is no point if the route is not actually used by the routing mechainism. Even if we choose a policy for prefix A provided from Network-1, a packet destined for the prefix A does not always go through Network-1. This is what the routing mechianism of the host or the site router decides. So, we propose to adopt the policy that is provided from the network the routing mechanism selected and thus a packet goes through, because the routing mechanism is already there and performs routing decisions by making use of the routing protocols metrics and also implementation dependent information. For example, Network-1 router advertises the following policy to the customers: Matsumoto, et al. Expires April 27, 2010 [Page 6] Internet-Draft Address-Selection Poloicy Conflict October 2009 to PREFIX-1, precedence 20 to PREFIX-2, precedence 10 Network-2 advertises: to PREFIX-1, precedence 30 to PREFIX-2, precedence 40 And when the routing table is: PREFIX-1 via Network-1 PREFIX-2 via Network-2 Then, the receiving host should have the following merged destination address selection policy: to PREFIX-1, precedence 20 via Network-1 to PREFIX-2, precedence 40 via Network-2 5. Cenceptual Message Processing Model The merging process described here does not demand any modification to the address selection mechanism defined in RFC 3484. However, the policy receiver has to keep multiple sets of the received policy as they are somewhere other than the policy table defined in RFC 3484. Also, the default policy table define in RFC 3484 has to be kept. The merging process retrieves all the above stored sets of policy, processes them, and put the merged policy into the policy table. This process should be performed every time the received policy changes. The default priority should be defined which to prioritize the default policy table or the received policy, or possibly the manually configured policy on the host. The priority should also be configurable. 5.1. Source Address Selection Policy Matsumoto, et al. Expires April 27, 2010 [Page 7] Internet-Draft Address-Selection Poloicy Conflict October 2009 ::/0 -----+ fd00:2::/48 | \ | | \ | +-----+-----+ +--+---+----+ | Network-1 | | Network-2 | +------+----+ +-----+-----+ \ / \ / 2001:db8:1::/64 \ / 2001:db8:2::/64 +---+----+---+ | Host | +------------+ When these two ISPs, Network-1 and Network-2, provide the source address selection policy below, Network-1 "if dst ::/0, then src 2001:db8:1::/64" Network-2 "if dst ::/0 or fd00:2::/48, then src 2001:db8:2::/64" and when the Host's routing table looks like below, Prefix Nexthop ::/0 Network-1 fd00:2::/48 Network-2 as mentioned in the previous section, the policy that came from the selected entity in the routing table should be selected in the policy table also. In this case, the routing table selected Network-1 for the nexthop for the prefix ::/0, so the Network-1's policy should be selected in the policy table. Prefix Precedence Label ::/0 ? 1 2001:db8:1::/64 ? 1 fd00:2::/48 ? 5 2001:db8:2::/64 ? 5 If we consider about the merging with the default policy table, which is pasted below from the RFC 3484, Prefix Precedence Label ::1/128 50 0 ::/0 40 1 2002::/16 30 2 ::/96 20 3 Matsumoto, et al. Expires April 27, 2010 [Page 8] Internet-Draft Address-Selection Poloicy Conflict October 2009 ::ffff:0:0/96 10 4 We can have the following merged table. Prefix Precedence Label ::1/128 50 0 ::/0 40 1 * 2001:db8:1::/64 40 1 * fd00:2::/48 40 5 * 2001:db8:2::/64 40 5 2002::/16 30 2 ::/96 20 3 ::ffff:0:0/96 10 4 Here, the merging process was used that chooses the most harmless Precedence value. That means, the Precedence value that does not spoil or change the other policy table entries' effects. The process is to find a prefix that includes or overlaps with the inserting entry in the default policy table, and to use the Precedence value of the prefix. In this example, the prefix 2001: db8:1::/64 longestly matches with the existing prefix ::/0, so the Precedence value 40 was used for the merged entries. 5.2. Destination Address Selection Policy bad bad ::/0 ---- ---- ::ffff:0:0/96 | X | good | / \ | good +-----+-----+ +-----+-----+ | Network-1 | | Network-2 | +------+----+ +----+------+ \ / \ / 2001:db8:1::/64 \ / 2001:db8:2::/64 +---+---+---+ | Host | +-----------+ When these two ISPs, Network-1 and Network-2, provide the source address selection policy below, Network-1 "::/0 Precedence 20, ::ffff:0:0/96 Precedence 10" Network-2 "::/0 Precedence 30, ::ffff:0:0/96 Precedence 40" Matsumoto, et al. Expires April 27, 2010 [Page 9] Internet-Draft Address-Selection Poloicy Conflict October 2009 and the routing table of the Host is like below. Prefix Nexthop ::/0 Network-1 ::ffff:0:0/96 Network-2 Here, the merging process selects the Precedence value of the policy that is selected in the routing table. That is, the routing table above selects Network-1 for the prefix ::/0, so the Precedence value for the prefix ::/0 should be the value of the Network-1's policy. The resulf of this merging process is below. Prefix Precedence Label ::/0 20 ? ::ffff:0:0/96 40 ? If we consider about the merging with the default policy table, the merged policy table is going to be Prefix Precedence Label ::1/128 50 0 * ::/0 20 1 2002::/16 30 2 ::/96 20 3 * ::ffff:0:0/96 40 4 by adopting almost the same process as the source address policy merging. That is, the merging process was used that chooses the most harmless Label value. The Label value should be used that does not spoil or change the other policy table entries' effects. It seems to be harmless to use the same Label value as the existing entry that longestly matches the inserting entry's prefix. 6. Discussion In this document, we examined and classified address selection policies. For each class, we proposed how to solve the merging conflicting policies. As documented here, the merging process has close relationship with the routing table. It should be noted that the address selection policy distribution has to be considered and used along with the routing mechanism. Matsumoto, et al. Expires April 27, 2010 [Page 10] Internet-Draft Address-Selection Poloicy Conflict October 2009 7. IANA Considerations This document has no actions for IANA. 8. Security Considerations TBD 9. Acknowledgements Dave Thaler and Aleksi Suhonen has given invaluable advice and feedback on this document. 10. References 10.1. Normative References [RFC3484] Draves, R., "Default Address Selection for Internet Protocol version 6 (IPv6)", RFC 3484, February 2003. [RFC5220] Matsumoto, A., Fujisaki, T., Hiromi, R., and K. Kanayama, "Problem Statement for Default Address Selection in Multi- Prefix Environments: Operational Issues of RFC 3484 Default Rules", RFC 5220, July 2008. 10.2. Informative References [I-D.fujisaki-dhc-addr-select-opt] Fujisaki, T., Matsumoto, A., and R. Hiromi, "Distributing Address Selection Policy using DHCPv6", draft-fujisaki-dhc-addr-select-opt-08 (work in progress), October 2009. [I-D.ietf-6man-addr-select-considerations] Chown, T., "Considerations for IPv6 Address Selection Policy Changes", draft-ietf-6man-addr-select-considerations-00 (work in progress), October 2009. Appendix A. Appendix. Revision History 01: Matsumoto, et al. Expires April 27, 2010 [Page 11] Internet-Draft Address-Selection Poloicy Conflict October 2009 The section 4 was made clearer. The section 5 "Conceptual processing model" was added. The section "Conclusions" was renamed to "Discussion". Authors' Addresses Arifumi Matsumoto NTT PF Lab Midori-Cho 3-9-11 Musashino-shi, Tokyo 180-8585 Japan Phone: +81 422 59 3334 Email: arifumi@nttv6.net Tomohiro Fujisaki NTT PF Lab Midori-Cho 3-9-11 Musashino-shi, Tokyo 180-8585 Japan Phone: +81 422 59 7351 Email: fujisaki@syce.net Ruri Hiromi Intec Netcore, Inc. Shinsuna 1-3-3 Koto-ku, Tokyo 136-0075 Japan Phone: +81 3 5665 5069 Email: hiromi@inetcore.com Matsumoto, et al. Expires April 27, 2010 [Page 12]