Network Working Group W. Dec, Ed.
Internet-Draft Cisco Systems
Intended status: Standards Track T. Mrugalski
Expires: September 15, 2011 Gdansk University of Technology
T. Sun
China Mobile
B. Sarikaya
Huawei USA
March 14, 2011
DHCPv6 Route Option
draft-ietf-mif-dhcpv6-route-option-01
Abstract
This document describes DHCPv6 Route Options for provisioning IPv6
routes on DHCPv6 client nodes. This is expected to improve the
ability of an operator to configure and influence a nodes' ability to
pick an appropriate route to a destination when this node is multi-
homed and where other means of route configuration may be
impractical.
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].
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."
This Internet-Draft will expire on September 15, 2011.
Copyright Notice
Dec, et al. Expires September 15, 2011 [Page 1]
Internet-Draft DHCPv6 Route Option March 2011
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Problem overview . . . . . . . . . . . . . . . . . . . . . . . 3
3. DHCPv6 Based Solution . . . . . . . . . . . . . . . . . . . . 4
4. DHCPv6 Route Option . . . . . . . . . . . . . . . . . . . . . 4
4.1. DHCPv6 Route Option Format . . . . . . . . . . . . . . . . 5
4.2. Next Hop Option Format . . . . . . . . . . . . . . . . . . 6
4.3. Route Prefix Option Format . . . . . . . . . . . . . . . . 7
5. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 8
6. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . . . 8
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
9. Contributors and .Acknowledgements . . . . . . . . . . . . . . 9
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10.1. Normative References . . . . . . . . . . . . . . . . . . . 10
10.2. Informative References . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
Dec, et al. Expires September 15, 2011 [Page 2]
Internet-Draft DHCPv6 Route Option March 2011
1. Introduction
The Neighbor Discovery (ND) ICMPv6 protocol [RFC4861] provides a
mechanism for hosts to discover one or more default routers on a
directly connected network segment. Extensions to the Router
Advertisement (RA) protocol defined in [RFC4191] allow hosts to
discover the preferences for multiple default routers on a given
link, as well as any 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 ND
based mechanism however is sub optimal or impractical in some multi-
homing scenarios, where DHCPv6 [RFC3315]is seen to be more viable.
This draft defines the DHCPv6 Route Option for provisioning IPv6
routes on DHCPv6 clients. The proposed option is primarily envisaged
for use by DHCPv6 client nodes that are capable of making basic IP
routing decisions and maintaining an IPv6 routing table, broadly in
line with the capabilities of a generic host as described in
[RFC4191].
Throughout the document the words node and client are used as a
reference to the device with such routing capabilities, hosting the
DHCPv6 client software. The route information is taken to be
equivalent to static routing, and limited in the number of required
routes to a handful.
2. Problem overview
The solution described in this document applies to multi-homed
scenarios including ones where the client is simultaneously connected
to multiple access network (e.g. WiFi and 3G). The following
scenario is used to illustrate the problem as found in typical multi-
homed residential access networks. It is duly noted that the problem
is not specific to IPv6, occurring also with IPv4, where it is today
solved by means of DHCPv4 classless route information option
[RFC3442], or alternative configuration mechanisms.
In multi-homed networks, a given user's node may be connected to more
than one gateways. Such connectivity may be realized by means of
dedicated physical or logical links that may also be shared with
other users nodes. In such multi-homed networks it is quite common
for the network operator to offer the delivery of a particular type
of IP service via a particular gateway, where the service can be
characterised by means of specific destination IP network prefixes.
Thus, from an IP routing perspective in order for the user node to
select the appropriate gateway for a given destination IP prefix,
recourse needs to be made to classic longest destination match IP
Dec, et al. Expires September 15, 2011 [Page 3]
Internet-Draft DHCPv6 Route Option March 2011
routing, with the node acquiring such prefixes into its routing
table. This is typically the remit of dynamic Internal Gateway
Protocols (IGPs), which however are rarely used by operators in
residential access networks. This is primarily due to operational
costs and a desire to contain the complexity of user nodes and IP
Edge devices to a minimum. While, IP Route configuration may be
achieved using the ICMPv6 extensions defined in [RFC4191], this
mechanism does not lend itself to other operational constraints such
as the desire to control the route information on a per node basis,
the ability to determine whether a given node is actually capable of
receiveing/processing such route information. A preferred mechanism,
and one that additionally also lends itself to centralized management
independent of the management of the gateways, is that of using the
DHCP protocol for conveying route information to the nodes.
3. DHCPv6 Based Solution
A DHCPv6 based solution allows an operator an on demand and node
specific means of configuring static routing information. Such a
solution also fits into network environments where the operator
prefers to manage RG configuration information from a centralized
DHCP server. [I-D.troan-multihoming-without-nat66] provides
additional background to the need for a DHCPv6 solution to the
problem.
In terms of the high level operation of the solution defined in this
draft, a DHCPv6 client interested in obtaining routing information
request the route option using the DHCPv6 Option Request Option (ORO)
sent to a server. A Server, when configured to do so, provides the
requested route information as part of a nested options structure
covering; the next-hop address; the destination prefix; the route
metric; any additional options applicable to the destination or next-
hop. The overall DHCPv6 design follow a similar approach to that
used in the design of the IA_NA, IA_TA and IA_PD options in [RFC3633]
4. DHCPv6 Route Option
A DHCPv6 client interested in obtaining routing information includes
the OPTION_IA_RT as par of its DHCPv6 Option Request Option (ORO) in
messages directed to a server (as allowed by [RFC3315], ie Solicit,
Request, Renew, Rebind, Confirm or Information-request messages). A
Server, when configured to do so, provides the requested route
information using the OPTION_IA_RT option in messages sent in
response (Advertise, and Reply). So as to allow the route option to
be both extensible, as well as conveying detailed info for routes,
use is made of a nested options structure. An IA_RT conveys one or
Dec, et al. Expires September 15, 2011 [Page 4]
Internet-Draft DHCPv6 Route Option March 2011
more OPTION_NEXT_HOP options that specify the IPv6 next hop
addresses. Each OPTION_NEXT_HOP conveys in turn one or more
OPTION_RT_PREFIX options that represents the IPv6 destination
prefixes reachable via the given next hop. The Formats of the
OPTION_IA_RT, OPTION_NEXT_HOP and OPTION_RT_PREFIX are defined in the
following sub-sections
The DHCPv6 Route Option format borrows from the principles of the
Route Information Option defined in [RFC4191]. One notable exception
with respect to [RFC4191] is however that a Route Lifetime element is
not defined. The information conveyed by the DHCPv6 Route Option is
considered valid until changed or refreshed by general events that
trigger DHCPv6 or route table state changes on a node, thus not
requiring a specific route lifetime. In the event that it is desired
for the client to request a refresh of the route information (and
other stateless DHCPv6 options), use of the generic DHCPv6
Information Refresh Time Option, as specified in [RFC4242] is
envisaged.
4.1. DHCPv6 Route Option Format
To separate routing information from other options conveyed in a
DHCPv6 message, the DHCPv6 Route Option is defined and is used to
convey to a client one or more IPv6 routes. Each IPv6 route consists
of an IPv6 next hop address, an IPv6 destination prefix (a.k.a. the
destination subnet), and a host preference value for the route.
Elements of such route (e.g. Next hops and prefixes associated with
them) are conveyed in IA_RT's options, rather than in the IA_RT
option itself.
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_IA_RT | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. IA_RT options .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: IPv6 Routes Option Format
option-code: OPTION_IA_RT (TBD).
option-len: Length of the IA_RT options field.
Dec, et al. Expires September 15, 2011 [Page 5]
Internet-Draft DHCPv6 Route Option March 2011
IA_RT options: Options associated with this IA_RT. This includes,
but is not limited to, OPTION_NEXT_HOP options that specify
next hop addresses.
The Route option MUST NOT appear in the following DHCPv6 messages:
Solicit, Request, Renew, Rebind, Information-Request. The Route
Option MAY appear in ADVERTISE and REPLY messages.
Discussion: Traditionally, grouping options (IA_NA, IA_TA and IA_RD)
contain an identifier field (IAID) that must be unique among
identifiers generated by one client. It is used to differentiate
between several options of the same type (e.g. several IA_NA options)
that may be used simultaneously. However, it is assumed that client
will never use more than one IA_RT option therefore such an
identifier is not needed.
4.2. Next Hop Option Format
The Next Hop Option defines the IPv6 address of the next hop, usually
corresponding to a specific next-hop router. For each next hop
address there can be one or more prefixes reachable via that next
hop.
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_NEXT_HOP | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| IPv6 Next Hop Address |
| (16 octets) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| NEXT_HOP options |
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: IPv6 Route Option Format
option-code: OPTION_NEXT_HOP (TBD).
option-len: 16 + Length of NEXT_HOP options field.
IPv6 Next Hop Address: 16 octet long field that specified IPv6
address of the next hop.
Dec, et al. Expires September 15, 2011 [Page 6]
Internet-Draft DHCPv6 Route Option March 2011
NEXT_HOP options: Options associated with this Next Hop. This
includes, but is not limited to, one or more
OPTION_RT_PREFIX options that specify prefixes reachable
through the given next hop.
4.3. Route Prefix Option Format
The Route Prefix Option is used to convey information about a single
prefix that represents the destination network. The Route Prefix
Option is used as a sub-option in the previously defined Next Hop
Option.
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_RT_PREFIX | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix-Length | Metric | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| Prefix |
| (16 octets) |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
. .
. RT_PREFIX options .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Route Prefix Option Format
option-code: OPTION_RT_PREFIX (TBD).
option-len: 18 + length of RT_PREFIX options.
Prefix Length: 8-bit unsigned integer. The length in bits of the IP
Prefix. The value ranges from 0 to 128. This field
represents the number of valid leading bits in the prefix.
Metric: Route Metric. 8-bit signed integer. The Route Metric
indicates whether to prefer the next hop associated with
this prefix over others, when multiple identical prefixes
(for different next hops) have been received.
Prefix: Fixed length 16 octet field containing an IPv6 prefix.
Dec, et al. Expires September 15, 2011 [Page 7]
Internet-Draft DHCPv6 Route Option March 2011
RT_PREFIX options: Options specific to this particular prefix.
5. DHCPv6 Server Behavior
When configured to do so s DHCPv6 server shall provide the Routes
Option in ADVERTISE and REPLY messages sent to a client that
requested the route option. Each Next Hop Option sent by the server
must convey at least one Route Prefix Option.
Servers SHOULD NOT send Route Option to clients that did not
explicitly requested it, using the ORO.
Servers MUST NOT send Route Option in messages other than ADVERTISE
or REPLY.
Servers MAY also include Status Code Option, defined in Section 22.13
of the [RFC3315] to indicate the status of the operation.
Servers MUST include the Status Code Option, if the requested routing
configuration was not successful and SHOULD use status codes as
defined in [RFC3315] and [RFC3633].
The maximum number of routing information in one DHCPv6 message
depend on the maximum DHCPv6 message size defined in [RFC3315]
Discussion: How should server indicate that there are no specific
routes for this particular client? The reasonable behavior is to
return empty IA_RT option, possibly with Status Code indicating
Success. Another approach could be to simply not return any IA_RT
option.
6. DHCPv6 Client Behavior
A DHCPv6 client compliant with this specification MUST request the
Route Option (option value TBD) in an Option Request Option (ORO) in
the following messages: Solicit, Request, Renew, Rebind, Information-
Request or Reconfigure. The messages are to be sent as and when
specified by [RFC3315].
When processing a received Route Option a client MUST substitute a
received 0::0 value in the Next Hop Option with the source IPv6
address of the received DHCPv6 message. It MUST also associate a
received Link Local next hop addresses with the interface on which
the client received the DHCPv6 message containing the route option.
Such a substitution and/or association is useful in cases where the
DHCPv6 server operator does not directly know the IPv6 next-hop
Dec, et al. Expires September 15, 2011 [Page 8]
Internet-Draft DHCPv6 Route Option March 2011
address, other than knowing it is that of a DHCPv6 relay agent on the
client LAN segment. DHCPv6 Packets relayed to the client are sourced
by the relay using this relay's IPv6 address, which could be a link
local address.
The Client MAY refresh assigned route information periodically. The
generic DHCPv6 Information Refresh Time Option, as specified in
[RFC4242], can be used when it is desired for the client to
periodically refresh of route information.
The routes conveyed by the Route Option should be considered as
complimentary to any other static route learning and maintenance
mechanism used by, or on the client with one modification: The client
MUST flush DHCPv6 installed routes following a link flap event on the
DHCPv6 client interface over which the routes were installed. This
requirement is necessary to automate the flushing of routes for
clients that may move to a different network.
7. IANA Considerations
A DHCPv6 option number of TBD for the introduced Route Option. IANA
is requested to allocate three DHCPv6 option codes referencing this
document: OPTION_IA_RT, OPTION_NEXT_HOP and OPTION_RT_PREFIX.
8. 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.
9. Contributors and .Acknowledgements
This document would not have been possible without the significant
contribution provided by: Arifumi Matsumoto, Hui Deng, Richard
Johnson, Zhen Cao.
Dec, et al. Expires September 15, 2011 [Page 9]
Internet-Draft DHCPv6 Route Option March 2011
The authors would also like to thank Alfred Hines, Ralph Droms, Ted
Lemon, Ole Troan, Dave Oran and Dave Ward for their comments and
useful suggestions.
10. References
10.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.
[RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
Host Configuration Protocol (DHCP) version 6", RFC 3633,
December 2003.
10.2. Informative References
[I-D.troan-multihoming-without-nat66]
Troan, O., Miles, D., Matsushima, S., Okimoto, T., and D.
Wing, "IPv6 Multihoming without Network Address
Translation", draft-troan-multihoming-without-nat66-01
(work in progress), July 2010.
[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.
[RFC4242] Venaas, S., Chown, T., and B. Volz, "Information Refresh
Time Option for Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 4242, November 2005.
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
September 2007.
Dec, et al. Expires September 15, 2011 [Page 10]
Internet-Draft DHCPv6 Route Option March 2011
Authors' Addresses
Wojciech Dec (editor)
Cisco Systems
Haarlerbergweg 13-19
1101 CH Amsterdam
The Netherlands
Email: wdec@cisco.com
Tomasz Mrugalski
Gdansk University of Technology
Storczykowa 22B/12
Gdansk 80-177
Poland
Phone: +48 698 088 272
Email: tomasz.mrugalski@eti.pg.gda.pl
Tao Sun
China Mobile
Unit2, 28 Xuanwumenxi Ave
Beijing, Xuanwu District 100053
China
Phone:
Email: suntao@chinamobile.com
Behcet Sarikaya
Huawei USA
1700 Alma Dr. Suite 500
Plano, TX 75075
United States
Phone: +1 972-509-5599
Fax:
Email: sarikaya@ieee.org
URI:
Dec, et al. Expires September 15, 2011 [Page 11]