Network Working Group W. Dec Internet-Draft R. Johnson Intended status: Informational Cisco Systems Expires: April 22, 2010 October 19, 2009 DHCPv6 Route Option draft-dec-dhcpv6-route-option-02 Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. 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 22, 2010. Copyright Notice Copyright (c) 2009 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 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 describes the DHCPv6 Route Option for provisioning IPv6 routes on a DHCPv6 client. This improves the ability of an operator to configure and influence the client to pick an appropriate route to Dec & Johnson Expires April 22, 2010 [Page 1] Internet-Draft DHCPv6 Route Option October 2009 a destination when this client is multi-homed to routers and where other means of route configuration may be impractical. The option is primarily envisaged for configuring a broadband Residential Gateway (RG) node, but is generic enough to be used by other types of DHCPv6 clients. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Problem overview . . . . . . . . . . . . . . . . . . . . . . . 3 3. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Route Option Format . . . . . . . . . . . . . . . . . . . . 5 3.2. Appearance of the option in DHCP messages . . . . . . . . . 6 4. DHCP Client Behavior . . . . . . . . . . . . . . . . . . . . . 7 5. DHCP Server Behavior . . . . . . . . . . . . . . . . . . . . . 8 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 8 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 Dec & Johnson Expires April 22, 2010 [Page 2] Internet-Draft DHCPv6 Route Option October 2009 1. Introduction The Neighbor Discover protocol [RFC2461] provides a mechanism allowing hosts to discover one or more default routers. Extensions to the protocol defined in [RFC4191] allow the discovery by a host of the preferences for multiple default routers as well as more specific routes advertised by these routers. This allows network administrators to better handle multi-homed host topologies and influence the route selection by the host. This mechanism however falls short in a few network and operational scenarios that are in existence today. This document describes the DHCPv6 Route Option for provisioning static IPv6 routes by a DHCPv6 client. It is primarily envisaged for use by a broadband Residential Gateway (RG) when connecting to an upstream operator's network, but it is generic enough to be used by other types of clients. Throughout the document the word client is used to designate the device hosting the DHCPv6 client and is intended to be interchangeable with the term RG. It is assumed that the client is capable of making basic routing decisions and maintaining a simple, non-recursive IPv6 routing table. 2. Problem overview Two scenarios are used to illustrate the problem. (It is also noted that the problem is not specific to IPv6). Figure 1 illustrates the case of two clients connected to a shared link, e.g. an Ethernet VLAN. Both clients are assumed to have IPv6 addresses from a global scope and obtain their Internet connectivity via Router2 by means of a configured or a discovered default route. Client 1 however, unlike Client 2, is intended to run a specific application, e.g. VoIP, that is meant to access ServerA by means of Router1 with Server A being otherwise not reachable from the Internet. In addition to the global IP address Client1 may be assigned with another IP address of a more restricted scope for the purpose of communicating with Server A. +---Router1------ServerA | Client1----+ | Client2----+ | +---Router2------Internet Figure 1 Dec & Johnson Expires April 22, 2010 [Page 3] Internet-Draft DHCPv6 Route Option October 2009 The problem in the above scenario comes down to the fact that in order to reach Server A, Client1 requires to use a more specific route whose next-hop address is Router1. An ICMPv6 based mechanism for disseminating more specific route information, as defined in [RFC4191], disseminates this information via the shared link also to Client2. Often the operator wants to avoid this redundant dissemination to passing to Client2. In addition many operators prefer to be able to manage specific client route information from a centralized repository instead of managing directly such configuration on a router, as is required with the ICMPv6 based scheme. The former requirement is driven by the desire to provide to each client only the information required for their intended role which may be tied to a specific service, as well as to allow the possibility to introduce other routers into the scenario for purposes of load sharing. The requirement for more centralized configuration management is often due to administrative boundaries within an operator's organization as well as an existing operational practice that are in place for IPv4, all of which make router based configuration difficult. Figure 2 illustrates the case of a single client connected via two logical or physical links to Router 1 and Router 2 respectively. Once again, Router 1 is the intended gateway for a specific application (e.g. VoIP or NMS), or perhaps access to a private VPN, which is otherwise not meant to be reachable via Router2. ----Router1------ServerA / Client1 \ ----Router2------Internet Figure 2 To obtain the desired behaviour from the system depicted once again there is a need for the client to use a more specific IP route towards the target application/server. Router1 is intended as being the gateway for this more specific route, leaving Router2 as the default gateway for other destinations. In this scenario the [RFC4191] mechanism provides a solution but one that is only applicable in cases when the operator is willing to maintain the necessary configuration, which may be on a per subscriber/client basis. As described previously this is often either impractical or not possible for operators, especially those that are accustomed to resolving the issue for the IPv4 case by means of DHCPv4 and the classless route information option as defined in [RFC3442]. In terms of routing of IPv6 traffic towards the Client by Routers 1 Dec & Johnson Expires April 22, 2010 [Page 4] Internet-Draft DHCPv6 Route Option October 2009 and 2, neither scenario requires any mechanisms for populating their routing table other than those commonly used in such access scenarios with IPv4, e.g. Router 1 may have a dynamically configured route towards the limited scope address of Client1, while Router2 may only have a route corresponding to the Client's global IP address prefix. 3. Solution One possible solution to the presented problem is the introduction of dynamic IGP routing protocols between client and Router. However, many network operators deem the use of today's IGPs to incur a substantial overhead in terms of equipment and operational costs and preference is given towards a simpler, non-topology aware automated provisioning solution. A DHCPv6 Route-Option extension can be seen to bring such a capability and supplement the one that already exists in DHCPv4[RFC3442]. 3.1. Route Option Format A DHCPv6 server sends the Route Option to a DHCPv6 client to convey one or more IPv6 routes. Each IPv6 route consists of an IPv6 prefix of a declared bit length (a prefix) and a next hop IPv6 address for the prefix. Multiple prefixes (routes) can be present in a single option, when sharing the same next hop address. The complete option is octet aligned by padding with 0s to the last octet boundary. Dec & Johnson Expires April 22, 2010 [Page 5] Internet-Draft DHCPv6 Route Option October 2009 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_ROUTE | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | IPv6 Next Hop Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Prefix Length | Prefix (variable length) | +-+-+-+-+-+-+-+-+ . . . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ option-code OPTION_ROUTE (TBD). option-len 17 + Length of the Prefix field in full octets (includes any padding). IPv6 Next Hop Address The 128 bit IPv6 address of the next hop to be used when forwarding towards the IP Prefix(es). Prefix Length 8-bit unsigned integer. The length in bits of the directly following IP Prefix directly following, which also represents the number of leading bits in the prefix. The value ranges from 0 to 128. Prefix Variable-length field containing the IP Prefix. 3.2. Appearance of the option in DHCP messages The Route option MUST NOT appear in the following DHCP messages: Solicit, Request, Renew, Rebind, Information-Request and Reconfigure. A single option can be used to covey multiple routes by means of successively inserting additional combinations of the prefix and next hop field. The example below illustrates how two routes, consisting of Prefix A and Prefix B with two different next hop addresses Next Hop 1 and Next Hop 2 respectively, can be conveyed within a single option. Dec & Johnson Expires April 22, 2010 [Page 6] Internet-Draft DHCPv6 Route Option October 2009 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_ROUTE | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Prefix A Length| Prefix A (variable length) | +-+-+-+-+-+-+-+-+ . . . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | IPv6 Next Hop Address 1 | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Prefix B Length| Prefix B (variable length) | +-+-+-+-+-+-+-+-+ . . . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | IPv6 Next Hop Address 2 | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4. DHCP Client Behavior A DHCPv6 client compliant with this specification SHOULD request the Route option (option value TBD) in an Options Request Option (ORO), as described in [RFC3315], by including the Route options' code in the following messages: Solicit, Request, Renew, Rebind, Information- Request and Reconfigure. If more than one route option appears in the same DHCPv6 message, the client MUST process the options in the same way as if the information was received in a single route option. If the same prefix appears more than once but with different values for next- hop, the client SHOULD install separate routes in the routing table for that prefix, one for each distinct value of next-hop. When processing the Route option a client MUST substitute a 0::0 IP next hop address with the source IP address of the received DHCP message. This is useful in cases where the DHCP server operator would like the client to use as a next hop the source IP address of an intermediate DHCP relay agent, whose address is used in packets Dec & Johnson Expires April 22, 2010 [Page 7] Internet-Draft DHCPv6 Route Option October 2009 relayed to the client, without the need of identifying this address explicitly. Given that next-hop address is likely to be an IPv6 Link-local address, the client MUST associate the route with the interface on which the client received the DHCPv6 message containing the route option. In terms of all other behaviour, such as the behaviour upon the failure or re-establishment of a link ,or the failure to communicate with a DHCP server, the client is assumed to follow [RFC3315]. 5. DHCP Server Behavior A server MAY send a client the Route Option. The server SHOULD support sending the option as part of other DHCP options where such a possibility exists, for example when sending the route option as part of an IA_NA or IA_PD option set. 6. IANA Considerations IANA would be expected to assigned a DHCPv6 option number of TBD for the "Route Option" 7. Security Considerations The overall security considerations discussed in [RFC3315] apply also to this document. The Route option could be used by malicious parties to misdirect traffic sent by the client either as part of a denial of service or man-in-the-middle attack. An alternative denial of service attack could also be realized by means of using the route option to overflowing any known memory limitations of the client, or to exceed the client's ability to handle the number of next hop addresses. Neither of the above considerations are new and specific to the proposed route option. The mechanisms identified for securing DHCPv6 as well as reasonable checks performed by client implementations are deemed sufficient in addressing these problems. 8. Acknowledgements The authors would like to thank Ralph Droms, Ted Lemon, Ole Troan, Dave Oran and Dave Ward for their comments and useful suggestions. Dec & Johnson Expires April 22, 2010 [Page 8] Internet-Draft DHCPv6 Route Option October 2009 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, July 2003. 9.2. Informative References [RFC2461] Narten, T., Nordmark, E., and W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)", RFC 2461, December 1998. [RFC3442] Lemon, T., Cheshire, S., and B. Volz, "The Classless Static Route Option for Dynamic Host Configuration Protocol (DHCP) version 4", RFC 3442, December 2002. [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and More-Specific Routes", RFC 4191, November 2005. [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006. Authors' Addresses Wojciech Dec Cisco Systems Haarlerbergweg 13-19 1101 CH Amsterdam The Netherlands Email: wdec@cisco.com Dec & Johnson Expires April 22, 2010 [Page 9] Internet-Draft DHCPv6 Route Option October 2009 Richard Johnson Cisco Systems 170 W. Tasman Dr. San Jose, CA 95134 USA Phone: Fax: Email: raj@cisco.com Dec & Johnson Expires April 22, 2010 [Page 10]