< draft-bhandari-dhc-class-based-prefix-01.txt   draft-bhandari-dhc-class-based-prefix-02.txt >
Internet Engineering Task Force S. Bhandari Internet Engineering Task Force S. Bhandari
Internet-Draft G. Halwasia Internet-Draft G. Halwasia
Intended status: Standards Track S. Bandi Intended status: Standards Track S. Bandi
Expires: September 13, 2012 S. Gundavelli Expires: January 17, 2013 S. Gundavelli
Cisco Systems Cisco Systems
H. Deng H. Deng
China Mobile China Mobile
March 12, 2012 L. Thiebaut
Alcatel-Lucent
July 16, 2012
DHCPv6 class based prefix DHCPv6 class based prefix
draft-bhandari-dhc-class-based-prefix-01 draft-bhandari-dhc-class-based-prefix-02
Abstract Abstract
DHCPv6 defines class based allocation of IA_NA and IA_TA IPv6 DHCPv6 defines class based allocation of IA_NA and IA_TA IPv6
addresses. This document extends DHCPv6 prefix delegation with class addresses. This document extends DHCPv6 prefix delegation with class
based prefix allocation. It defines a new prefix class option to based prefix allocation. It defines a new usage class option to
classify a prefix. It defines the behavior of a DHCPv6 client classify a prefix. It defines the behavior of a DHCPv6 client
requesting a prefix to include the class of the prefix to be requesting a prefix to include the class of the prefix to be
allocated and the DHCPv6 server behavior to select and offer a prefix allocated and the DHCPv6 server behavior to select and offer a prefix
from a given class. It discusses how IA_NA can be requested and from a given class. It discusses how IA_NA can be requested and
assigned from a specific prefix class. assigned from a specific usage class.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 13, 2012. This Internet-Draft will expire on January 17, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 19 skipping to change at page 2, line 22
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Requirements Language . . . . . . . . . . . . . . . . . . 4 1.3. Requirements Language . . . . . . . . . . . . . . . . . . 4
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Prefix Class Option in IA_PD . . . . . . . . . . . . . . . 4 2.1. Usage Class Option . . . . . . . . . . . . . . . . . . . . 4
2.2. Consideration for different DHCPv6 entities . . . . . . . 5 2.2. Consideration for different DHCPv6 entities . . . . . . . 6
2.2.1. Requesting Router Behavior . . . . . . . . . . . . . . 5 2.2.1. Requesting Router Behavior . . . . . . . . . . . . . . 6
2.2.2. Delegating Router Behavior . . . . . . . . . . . . . . 6 2.2.2. Delegating Router Behavior . . . . . . . . . . . . . . 7
2.2.3. DHCPv6 Client Behavior for IA_NA allocation . . . . . 7 2.2.3. DHCPv6 Client Behavior for IA_NA allocation . . . . . 7
2.3. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1. Class based prefix and IA_NA allocation . . . . . . . 7 2.3.1. OPTION_USAGE_CLASS Values . . . . . . . . . . . . . . 8
2.3.2. Class based prefix and IA_PD allocation . . . . . . . 8 2.3.2. Class based prefix and IA_NA allocation . . . . . . . 8
2.3.3. Class based prefix and SLAAC . . . . . . . . . . . . . 8 2.3.3. Class based prefix and IA_PD allocation . . . . . . . 9
3. Example Application . . . . . . . . . . . . . . . . . . . . . 8 2.3.4. Class based prefix and SLAAC . . . . . . . . . . . . . 9
3.1. Class based prefix delegation . . . . . . . . . . . . . . 11 2.3.5. Class based prefix and applications . . . . . . . . . 9
3.2. IPv6 address assignment from class based prefix . . . . . 11 3. Example Application . . . . . . . . . . . . . . . . . . . . . 9
4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12 3.1. Class based prefix delegation . . . . . . . . . . . . . . 12
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 3.2. IPv6 address assignment from class based prefix . . . . . 12
6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
5.1. OPTION_USAGE_CLASS values . . . . . . . . . . . . . . . . 13
6. Security Considerations . . . . . . . . . . . . . . . . . . . 14
7. Change History (to be removed prior to publication as an 7. Change History (to be removed prior to publication as an
RFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 RFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.1. Normative References . . . . . . . . . . . . . . . . . . . 12 8.1. Normative References . . . . . . . . . . . . . . . . . . . 14
8.2. Informative References . . . . . . . . . . . . . . . . . . 13 8.2. Informative References . . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
DHCPv6 based prefix delegation as defined in [RFC3633] is a mechanism DHCPv6 based prefix delegation as defined in [RFC3633] is a mechanism
for the delegation of IPv6 prefixes using DHCPv6 options. Through for the delegation of IPv6 prefixes using DHCPv6 options. Through
these options, a delegating router can delegate prefixes to these options, a delegating router can delegate prefixes to
authorized requesting routers. If the requesting router has to authorized requesting routers. If the requesting router has to
function as a DHCPv6 server there needs to be additional information function as a DHCPv6 server there needs to be additional information
in the delegated prefix that helps the requesting router to select in the delegated prefix that helps the requesting router to select
the address allocation for the DHCPv6 client it serves, from one of the address allocation for the DHCPv6 client it serves, from one of
the available delegated prefixes. the available delegated prefixes.
One way to select an address or longer prefix (from a delegated One way to select an address or longer prefix (from a delegated
prefix) to be allocated by a requesting router playing the role of a prefix) to be allocated by a requesting router playing the role of a
DHCPv6 server is by introducing additional options in IA_PD to be DHCPv6 server is by introducing additional options in IA_PD to be
matched with options for address selection in the DHCPv6 SOLICIT matched with options for address selection in the DHCPv6 SOLICIT
message. [RFC3315] defines the OPTION_USER_CLASS option which is message. [RFC3315] defines the OPTION_USER_CLASS option which is
used for selecting address for assignment. This document introduces used for selecting address for assignment. This document introduces
OPTION_PREFIX_CLASS option in IA_PD option for the purpose of OPTION_USAGE_CLASS option in IA_PD option for the purpose of
selecting a prefix for further delegation either via IA_NA or IA_PD selecting a prefix for further delegation either via IA_NA or IA_PD
DHCPv6 request. It defines the behavior of the DHCPv6 server, the DHCPv6 request. It defines the behavior of the DHCPv6 server, the
DHCPv6 prefix requesting router and the DHCPv6 client to use this DHCPv6 prefix requesting router and the DHCPv6 client to use this
option. option.
In IPv6 a network interface can acquire multiple addresses from the
same scope. In this case application need to have additional
information about the prefix configured on the interface for source
address selection. Since the network address can be configured via
DHCPv6 as defined in [RFC3315] or via Stateless Address
Autoconfiguration (SLAAC) as defined in [RFC4862], additional
information of a prefix can be provided via DHCPv6 or via IPv6 Router
Advertisement (RA).
1.1. Motivation 1.1. Motivation
In this section motivation for class based prefix delegation that In this section motivation for class based prefix delegation that
qualifies the delegated prefix with additional class information is qualifies the delegated prefix with additional class information is
described in the context of mobile networks. The class information described in the context of mobile networks. The class information
attached to a delegated prefix helps to distinguish property of a attached to a delegated prefix helps to distinguish property of a
delegated IPv6 prefix and selection of the prefix by different delegated IPv6 prefix and selection of the prefix by different
applications using it. applications using it.
In the mobile network architecture, there is a mobile router which In the mobile network architecture, there is a mobile router which
skipping to change at page 4, line 27 skipping to change at page 4, line 37
and [RFC3633]. and [RFC3633].
1.3. Requirements Language 1.3. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
2. Overview 2. Overview
This section defines Prefix Class option in IA_PD and IA_NA to aid This section defines usage class option in IA_PD and IA_NA to aid
class based prefix delegation and address assignment. This section class based prefix delegation and address assignment. This section
defines the behavior of the delegating router, the requesting router defines the behavior of the delegating router, the requesting router
and the DHCPv6 client. and the DHCPv6 client.
2.1. Prefix Class Option in IA_PD 2.1. Usage Class Option
The format of the DHCPv6 Prefix Class option is shown below. The format of the DHCPv6 usage class option is shown below.
0 1 2 3 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 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_PREFIX_CLASS | option-length | | OPTION_USAGE_CLASS | option-length(2) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| prefix-class | | Class | ~
| (variable length) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ~
~ Vendor Class Data (Optional,variable length) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
option-code: OPTION_PREFIX_CLASS (TBD) option-code: OPTION_USAGE_CLASS (TBD)
option-length: length of prefix-class option-length: 2 + Length of Vendor class information
prefix-class: Prefix class (binary string). if present
Class: 16 bit numeric value maintained as
OPTION_USAGE_CLASS enumeration in
IANA registered namespace
Vendor Class Data: If the value of Class (3) indicates it is
vendor specified additional vendor
specified data of variable length will be
attached in the form specified below:
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_USAGE_CLASS | option-length(2) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Class | Enterprise ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Enterprise ID(4) | Vendor Class length(2) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Vendor Class Data (Variable length) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Enterprise ID: The vendor's 32-bit Enterprise Number as
registered with IANA [IANAEnterprise]
Vendor Class Length: 2, length of vendor class data that follows
Vendor Class Data: Binary data as defined by the vendor.
For e.g. 3gpp can specify this data to be
Application providers network domain string
The class values are maintained in OPTION_USAGE_CLASS values
enumeration explained in Section Section 2.3.1.
2.2. Consideration for different DHCPv6 entities 2.2. Consideration for different DHCPv6 entities
The model of operation of communicating prefixes to be used by a The model of operation of communicating prefixes to be used by a
DHCPv6 server is as follows. A requesting router requests prefix(es) DHCPv6 server is as follows. A requesting router requests prefix(es)
from the delegating router, as described in Section 2.2.1. A from the delegating router, as described in Section 2.2.1. A
delegating router is provided IPv6 prefixes to be delegated to the delegating router is provided IPv6 prefixes to be delegated to the
requesting router. Examples of ways in which the delegating router requesting router. Examples of ways in which the delegating router
is provided these prefixes are: is provided these prefixes are:
skipping to change at page 5, line 43 skipping to change at page 6, line 30
The delegating router chooses prefix(es) for delegation, and responds The delegating router chooses prefix(es) for delegation, and responds
with prefix(es) to the requesting router along with additional with prefix(es) to the requesting router along with additional
options in the allocated prefix as described in Section 2.2.2. The options in the allocated prefix as described in Section 2.2.2. The
requesting router is then responsible for the delegated prefix(es) requesting router is then responsible for the delegated prefix(es)
after the DHCPv6 REQUEST message exchange. For example, the after the DHCPv6 REQUEST message exchange. For example, the
requesting router may create DHCPv6 server configuration pools from requesting router may create DHCPv6 server configuration pools from
the delegated prefix, and function as a DHCPv6 Server. When the the delegated prefix, and function as a DHCPv6 Server. When the
requesting router then receives a DHCPv6 IA_NA requests it can select requesting router then receives a DHCPv6 IA_NA requests it can select
the address to be allocated based on the OPTION_USER_CLASS or the address to be allocated based on the OPTION_USER_CLASS or
OPTION_PREFIX_CLASS options received in IA_NA request or any of the OPTION_USAGE_CLASS options received in IA_NA request or any of the
other methods as described in Section 2.3.1. other methods as described in Section 2.3.1.
2.2.1. Requesting Router Behavior 2.2.1. Requesting Router Behavior
DHCPv6 requesting router can request for prefixes in the following DHCPv6 requesting router can request for prefixes in the following
ways: ways:
o In the SOLICIT message within the IA_PD Prefix option, it MAY o In the SOLICIT message within the IA_PD Prefix option, it MAY
include OPTION_PREFIX_CLASS requesting prefix delegation for the include OPTION_USAGE_CLASS requesting prefix delegation for the
specific class indicated in the OPTION_PREFIX_CLASS option. It specific class indicated in the OPTION_USAGE_CLASS option. It can
can include multiple IA_PD Prefix options to indicate it's include multiple IA_PD Prefix options to indicate it's preference
preference for more than one prefix class. for more than one usage class.
o In the SOLICIT message include an OPTION_ORO option with the o In the SOLICIT message include an OPTION_ORO option with the
OPTION_PREFIX_CLASS option code to request prefixes from all the OPTION_USAGE_CLASS option code to request prefixes from all the
classes that the DHCPv6 server can provide to this requesting classes that the DHCPv6 server can provide to this requesting
Router. Router.
The requesting router parses the OPTION_PREFIX_CLASS option in The requesting router parses the OPTION_USAGE_CLASS option in
theOPTION_IAPREFIX option area of the corresponding IA_PD Prefix theOPTION_IAPREFIX option area of the corresponding IA_PD Prefix
option in the ADVERTISE message. The Requesting router MUST then option in the ADVERTISE message. The Requesting router MUST then
include all or subset of the received class based prefix(es) in the include all or subset of the received class based prefix(es) in the
REQUEST message so that it will be responsible for the prefixes REQUEST message so that it will be responsible for the prefixes
selected. selected.
2.2.2. Delegating Router Behavior 2.2.2. Delegating Router Behavior
If the Delegating router supports class based prefix allocation by If the Delegating router supports class based prefix allocation by
supporting the OPTION_PREFIX_CLASS option and it is configured to supporting the OPTION_USAGE_CLASS option and it is configured to
assign prefixes from different classes, it selects prefixes for class assign prefixes from different classes, it selects prefixes for class
based prefix allocation in the following way: based prefix allocation in the following way:
o If requesting router includes OPTION_PREFIX_CLASS within the IA_PD o If requesting router includes OPTION_USAGE_CLASS within the IA_PD
Prefix option, it selects prefixes to be offered from that Prefix option, it selects prefixes to be offered from that
specific class. specific class.
o If requesting router includes OPTION_PREFIX_CLASS within o If requesting router includes OPTION_USAGE_CLASS within
OPTION_ORO, then based on its configuration and policy it MAY OPTION_ORO, then based on its configuration and policy it MAY
offer prefixes from multiple classes available. offer prefixes from multiple classes available.
The delegating router responds with an ADVERTISE message after The delegating router responds with an ADVERTISE message after
populating the IP_PD option with prefixes from different prefix populating the IP_PD option with prefixes from different usage
classes. Along with including the IA_PD prefix options in the IA_PD classes. Along with including the IA_PD prefix options in the IA_PD
option, it also includes the OPTION_PREFIX_CLASS option in the option, it also includes the OPTION_USAGE_CLASS option in the
OPTION_IAPREFIX option area of the corresponding IA_PD prefix option. OPTION_IAPREFIX option area of the corresponding IA_PD prefix option.
If neither the OPTION_ORO nor the IA_PD option in the SOLICIT message If neither the OPTION_ORO nor the IA_PD option in the SOLICIT message
include the OPTION_PREFIX_CLASS option, then the delegating router include the OPTION_USAGE_CLASS option, then the delegating router MAY
MAY allocate the prefix as specified in [RFC3633] without including allocate the prefix as specified in [RFC3633] without including the
the class option in the IA_PD prefix option in the response. class option in the IA_PD prefix option in the response.
If OPTION_ORO option in the Solicit message includes the If OPTION_ORO option in the Solicit message includes the
OPTION_PREFIX_CLASS option code but the delegating router does not OPTION_USAGE_CLASS option code but the delegating router does not
support the solution described in this specification, then the support the solution described in this specification, then the
delegating router acts as specified in [RFC3633]. The requesting delegating router acts as specified in [RFC3633]. The requesting
router MUST in this case also fall back to the behavior specified in router MUST in this case also fall back to the behavior specified in
[RFC3633]. [RFC3633].
If both delegating and requesting routers support class-based prefix If both delegating and requesting routers support class-based prefix
allocation, but the delegating router cannot offer prefixes for any allocation, but the delegating router cannot offer prefixes for any
other reason, it MUST respond to requesting router with appropriate other reason, it MUST respond to requesting router with appropriate
status code as specified in [RFC3633]. For e.g., if no prefixes are status code as specified in [RFC3633]. For e.g., if no prefixes are
available in the specified class then the delegating router MUST available in the specified class then the delegating router MUST
include the status code NoPrefixAvail in the response message. include the status code NoPrefixAvail in the response message.
2.2.3. DHCPv6 Client Behavior for IA_NA allocation 2.2.3. DHCPv6 Client Behavior for IA_NA allocation
DHCPv6 client MAY request for an IA_NA address allocation from a DHCPv6 client MAY request for an IA_NA address allocation from a
specific prefix class in the following way: specific usage class in the following way:
o In the SOLICIT message within the IA_NA option, it MAY include the o In the SOLICIT message within the IA_NA option, it MAY include the
OPTION_PREFIX_CLASS requesting address to be allocated from a OPTION_USAGE_CLASS requesting address to be allocated from a
specific prefix class indicated in that option. specific usage class indicated in that option.
The DHCPv6 server parses OPTION_PREFIX_CLASS option received and The DHCPv6 server parses OPTION_USAGE_CLASS option received and
includes it in option area of corresponding OPTION_IA_NA in ADVERTISE includes it in option area of corresponding OPTION_IA_NA in ADVERTISE
message. message.
2.3. Usage 2.3. Usage
Class based prefix delegation can be used by the requesting router to Class based prefix delegation can be used by the requesting router to
configure itself as a DHCPv6 server to serve its DHCPv6 clients. It configure itself as a DHCPv6 server to serve its DHCPv6 clients. It
can allocate longer prefixes from a delegated shorter prefix it can allocate longer prefixes from a delegated shorter prefix it
received, for serving IA_NA and IA_PD requests. received, for serving IA_NA and IA_PD requests.
2.3.1. Class based prefix and IA_NA allocation 2.3.1. OPTION_USAGE_CLASS Values
Following values will be allocated from the IANA maintained
OPTION_USAGE_CLASS registry:
o global-anchor(1) - Prefix is globally anchored and hence would
allow mobility.
o local-breakout(2) - Prefix is managed in a local-breakout domain
and hence has limited mobility.
o Vendor-specfied-class(3) - Prefix class is specified by the
vendor, Vendor class data in the option that follows will provide
more information.
New values of OPTION_USAGE_CLASS can be assigned and registered with
IANA as per policy detailed in section Section 5.1.
2.3.2. Class based prefix and IA_NA allocation
The requesting router can use the delegated prefix(es) from different The requesting router can use the delegated prefix(es) from different
classes (for example "video", "guest", "voice" etc), for assigning classes (for example "video", "guest", "voice" etc), for assigning
the IPv6 addresses to the end hosts through DHCPv6 IA_NA based on a the IPv6 addresses to the end hosts through DHCPv6 IA_NA based on a
preconfigured mapping with OPTION_PREFIX_CLASS option, the following preconfigured mapping with OPTION_USAGE_CLASS option, the following
conditions MAY be observed: conditions MAY be observed:
o It MAY have a pre-configured mapping between the prefix class and o It MAY have a pre-configured mapping between the usage class and
OPTION_USER_CLASS option received in IA_NA. OPTION_USER_CLASS option received in IA_NA.
o It MAY match the OPTION_PREFIX_CLASS if the IA_NA request received o It MAY match the OPTION_USAGE_CLASS if the IA_NA request received
contains OPTION_PREFIX_CLASS. contains OPTION_USAGE_CLASS.
o It MAY map OPTION_PREFIX_CLASS option to the OPTION_USER_CLASS
option by string matching of both these option values.
o It MAY have a pre-configured mapping between the prefix class and o It MAY have a pre-configured mapping between the usage class and
the client DUID received in DHCPv6 message. the client DUID received in DHCPv6 message.
o It MAY have a pre-configured mapping between the prefix class and o It MAY have a pre-configured mapping between the usage class and
its network interface on which the IA_NA request was received. its network interface on which the IA_NA request was received.
The requesting router playing the role of a DHCPv6 server can The requesting router playing the role of a DHCPv6 server can
ADVERTISE IA_NA from a class of prefix(es) thus selected. ADVERTISE IA_NA from a class of prefix(es) thus selected.
2.3.2. Class based prefix and IA_PD allocation 2.3.3. Class based prefix and IA_PD allocation
If the requesting router, receives prefix(es) for different classes If the requesting router, receives prefix(es) for different classes
(for example "video", "guest", "voice" etc), it can use these (for example "video", "guest", "voice" etc), it can use these
prefix(es) for assigning the longer IPv6 prefixes to requesting prefix(es) for assigning the longer IPv6 prefixes to requesting
routers it serves through DHCPv6 IA_PD by assuming the role of routers it serves through DHCPv6 IA_PD by assuming the role of
delegating router, its behavior is explained in Section 2.2.2. delegating router, its behavior is explained in Section 2.2.2.
2.3.3. Class based prefix and SLAAC 2.3.4. Class based prefix and SLAAC
DHCPv6 IA_NA and IPv6 Stateless Address Autoconfiguration (SLAAC as DHCPv6 IA_NA and IPv6 Stateless Address Autoconfiguration (SLAAC as
defined in [RFC4862]) are two ways by IPv6 addresses can be defined in [RFC4862]) are two ways by IPv6 addresses can be
dynamically assigned to end hosts. Making SLAAC class aware is dynamically assigned to end hosts. Making SLAAC class aware is
outside the scope of this document. outside the scope of this document, it is specified in
[I-D.korhonen-dmm-prefix-properties].
2.3.5. Class based prefix and applications
Applications within a host can do source address selection based on
the class of the prefix learnt in OPTION_USAGE_CLASS using rules
defined in [RFC3484].
3. Example Application 3. Example Application
The following sub-sections provide examples of class based prefix The following sub-sections provide examples of class based prefix
delegation and how it is used in a mobile network. Each of the delegation and how it is used in a mobile network. Each of the
examples will refer to the below network: examples will refer to the below network:
The example network consists of : The example network consists of :
Mobile Gateway It is network entity anchoring IP traffic in the Mobile Gateway It is network entity anchoring IP traffic in the
skipping to change at page 10, line 19 skipping to change at page 11, line 19
(_ _) (_ _) (_ _) (_ _) (_ _) (_ _)
-+-- -+-- '-+--' -+-- -+-- '-+--'
+--------+ +--------+ +--------+ +--------+ +--------+ +--------+
| Mobile | | Mobile | | Mobile | | Mobile | | Mobile | | Mobile |
|gateway | |gateway | |gateway | |gateway | |gateway | |gateway |
+--------+ +--------+ +--------+ +--------+ +--------+ +--------+
| | | | | |
+-------------. | .-------------+ +-------------. | .-------------+
| | | | | |
| | | | | |
| | |P1:"global-anchor" | | |P1:"global-anchor"(1)
| | | | | |
+--------+ _----_ +--------+ _----_
+---+ | |P2:"local-breakout"_( )_ +---+ | |P2:"local-breakout"(2)_( )_
|AAA|. . . . . . . | Access |------------------( Internet ) |AAA|. . . . . . . | Access |---------------------( Internet )
+---+ | Aggreg |-----------+ (_ _) +---+ | Aggreg |-----------+ (_ _)
| Gateway| P3:"guest"| '----' | Gateway| P3:"guest"| '----'
+--------+ | +--------+ |
| | +----- Guest Access | | +----- Guest Access
| | Network | | Network
| +-------------+ | +-------------+
| | | |
| +-----+ | +-----+
| | AR | | | AR |
+-----+ +-----+ +-----+ +-----+
| WLC | * ---------* | WLC | * ---------*
| | ( LAN ) | | ( LAN )
skipping to change at page 11, line 8 skipping to change at page 12, line 8
+----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+
. . . .
/ \ / \ / \ / \
MN1 MN2 MN3 MN4(guest) MN1 MN2 MN3 MN4(guest)
Figure 1 Figure 1
3.1. Class based prefix delegation 3.1. Class based prefix delegation
The Access Aggregation Gateway requests for Prefix delegation from The Access Aggregation Gateway requests for Prefix delegation from
Mobile gateway and associates the prefix received with prefix class Mobile gateway and associates the prefix received with usage class
"global-anchor". The Access Aggregation Gateway is preconfigured to "global-anchor"(1). The Access Aggregation Gateway is preconfigured
provide prefixes from the following classes: "global-anchor", "local- to provide prefixes from the following classes: "global-anchor" (1),
breakout", "guest". It has a preconfigured policy to advertise "local-breakout"(2), "guest"(x). It has a preconfigured policy to
prefixes to requesting routers and mobile nodes based on the service advertise prefixes to requesting routers and mobile nodes based on
class supported by the service provider for the requesting device. the service class supported by the service provider for the
In the example mobile network, the Access Router(AR) requests class requesting device. In the example mobile network, the Access
based prefix allocation by sending a DHCPv6 SOLICIT message and Router(AR) requests class based prefix allocation by sending a DHCPv6
include OPTION_PREFIX_CLASS in the OPTION_ORO. SOLICIT message and include OPTION_USAGE_CLASS in the OPTION_ORO.
The Access Router (AR) receives an advertise with following prefixes The Access Router (AR) receives an advertise with following prefixes
in the IA_PD option: in the IA_PD option:
1. P1: IA_PD Prefix option with a prefix 3001::1::/64 containing 1. P1: IA_PD Prefix option with a prefix 3001::1::/64 containing
OPTION_PREFIX_CLASS set to "global-anchor" OPTION_USAGE_CLASS set to "global-anchor"(1)
2. P2: IA_PD Prefix option with a prefix 3001::2::/64 containing 2. P2: IA_PD Prefix option with a prefix 3001::2::/64 containing
OPTION_PREFIX_CLASS set to "local-breakout" OPTION_USAGE_CLASS set to "local-breakout"(2)
3. P3: IA_PD Prefix option with a prefix 3001::3::/64 containing 3. P3: IA_PD Prefix option with a prefix 3001::3::/64 containing
OPTION_PREFIX_CLASS set to "guest" OPTION_USAGE_CLASS set to "guest"(x)
It sends a REQUEST message with all of above prefixes and receives a It sends a REQUEST message with all of above prefixes and receives a
REPLY message with prefixes allocated for each of the requested REPLY message with prefixes allocated for each of the requested
class. class.
3.2. IPv6 address assignment from class based prefix 3.2. IPv6 address assignment from class based prefix
When the Access Router(AR) receives a DHCPv6 SOLICIT requesting IA_NA When the Access Router(AR) receives a DHCPv6 SOLICIT requesting IA_NA
from the mobile node that has mobility service enabled, it offers an from the mobile node that has mobility service enabled, it offers an
IPv6 address from the prefix class "global-anchor". For MN3 it IPv6 address from the usage class "global-anchor"(1). For MN3 it
advertises 3001::1::1 as the IPv6 address in OPTION_IAADDR in advertises 3001::1::1 as the IPv6 address in OPTION_IAADDR in
response to the IA_NA request. response to the IA_NA request.
The Mobile Node(MN4) Figure 1 sends a DHCPv6 SOLICIT message The Mobile Node(MN4) Figure 1 sends a DHCPv6 SOLICIT message
requesting IA_NA address assignment with OPTION_USER_CLASS option requesting IA_NA address assignment with OPTION_USER_CLASS option
containing the value "guest" towards the CPE. The Access Router(AR) containing the value "guest" towards the CPE. The Access Router(AR)
assumes the role of the DHCPv6 server and sends an ADVERTISE to the assumes the role of the DHCPv6 server and sends an ADVERTISE to the
MN with OPTION_IA_NA containing an IPv6 address in OPTION_IAADDR from MN with OPTION_IA_NA containing an IPv6 address in OPTION_IAADDR from
the "guest" prefix class. The IPv6 address in the OPTION_IAADDR is the "guest" usage class. The IPv6 address in the OPTION_IAADDR is
set to 3001::3::1. The "guest" class can also be distinguished based set to 3001::3::1. The "guest" class can also be distinguished based
on a preconfigured interface or SSID advertised for MNs connecting to on a preconfigured interface or SSID advertised for MNs connecting to
it. it.
When the Access Aggregation Gateway receives a DHCPv6 SOLICIT When the Access Aggregation Gateway receives a DHCPv6 SOLICIT
requesting IA_NA from MNs through WLC and it has a preconfigured requesting IA_NA from MNs through WLC and it has a preconfigured
profile to provide both local-breakout internet access and global- profile to provide both local-breakout internet access and global-
anchor, it offers an IPv6 address from the prefix class "local- anchor, it offers an IPv6 address from the usage class "local-
breakout" and "global-anchor". For MN1 it advertises 3001::2::1 and breakout" (2) and "global-anchor"(1). For MN1 it advertises
3001::1::2 as the IPv6 address in OPTION_IAADDR in response to the 3001::2::1 and 3001::1::2 as the IPv6 address in OPTION_IAADDR in
IA_NA request. Applications within MN1 can choose to use the response to the IA_NA request. Applications within MN1 can choose to
appropriate prefix based on the mobility enabled or local-breakout use the appropriate prefix based on the mobility enabled or local-
property. breakout property attached to the prefix based on source address
selection policy.
4. Acknowledgements 4. Acknowledgements
The authors would like to acknowledge review and guidance received The authors would like to acknowledge review and guidance received
from Frank Brockners, Wojciech Dec, Richard Johnson, Erik Nordmark, from Frank Brockners, Wojciech Dec, Richard Johnson, Erik Nordmark,
Hemant Singh, Mark Townsley, Ole Troan, Bernie Volz Hemant Singh, Mark Townsley, Ole Troan, Bernie Volz
5. IANA Considerations 5. IANA Considerations
IANA is requested to assign an option code to OPTION_PREFIX_CLASS IANA is requested to assign an option code to OPTION_USAGE_CLASS from
from the "DHCPv6 and DHCPv6 options" registry (http://www.iana.org/ the "DHCPv6 and DHCPv6 options" registry (http://www.iana.org/
assignments/dhcpv6-parameters/dhcpv6-parameters.xml). assignments/dhcpv6-parameters/dhcpv6-parameters.xml).
5.1. OPTION_USAGE_CLASS values
IANA is requested to reserve and maintain registry of
OPTION_USAGE_CLASS values and manage allocation of values in the
following way as per as per policy defined in [RFC5226]:
1. Values 1 to 8191 ( 0x0001 - 0x1FFF) - IETF assigned class with
IETF consensus, RFC Required policy
2. Values 8192 to 16368 (0x2000 - 0x3ff0) - Vendor defined class
assigned on a First Come First Served allocation policy
3. Values 16369 to 16383 (0x3ff1 - 0x3fff) - Experimental usage
reserved for Private Use
Following values will be allocated from this registry as explained in
section Section 2.3.1:
o global-anchor(1) - Prefix is globally anchored and hence would
allow mobility.
o local-breakout(2) - Prefix is managed in a local-breakout domain
and hence has limited mobility.
o Vendor-specfied-class(3) - Prefix class is vendor specified.
6. Security Considerations 6. Security Considerations
Security issues related to DHCPv6 which are described in section 23 Security issues related to DHCPv6 which are described in section 23
of [RFC3315] and [RFC3633] apply for scenarios mentioned in this of [RFC3315] and [RFC3633] apply for scenarios mentioned in this
draft as well. draft as well.
7. Change History (to be removed prior to publication as an RFC) 7. Change History (to be removed prior to publication as an RFC)
Changes from -00 to -01 Changes from -00 to -01
a. Modified motivation section to focus on mobile networks a. Modified motivation section to focus on mobile networks
b. Modified example with a mobile network and class based prefix b. Modified example with a mobile network and class based prefix
delegation in it delegation in it
Changes from -00 to -02
a. Modified option format to be enumerated values
b. Added IANA section to request managing of registry for the
enumerated values
c. Added initial values for the class
d. Added section for applications to select address with a specific
property
8. References 8. References
8.1. Normative References 8.1. Normative References
[I-D.korhonen-dmm-prefix-properties]
Korhonen, J., Patil, B., Gundavelli, S., Seite, P., and D.
Liu, "IPv6 Prefix Mobility Management Properties",
draft-korhonen-dmm-prefix-properties-02 (work in
progress), July 2012.
[IANAEnterprise]
IANA, "Private Enterprise Numbers,
http://www.iana.org/assignments/enterprise-numbers".
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998. (IPv6) Specification", RFC 2460, December 1998.
[RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson,
"Remote Authentication Dial In User Service (RADIUS)", "Remote Authentication Dial In User Service (RADIUS)",
RFC 2865, June 2000. RFC 2865, June 2000.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003. IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC3484] Draves, R., "Default Address Selection for Internet
Protocol version 6 (IPv6)", RFC 3484, February 2003.
[RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic [RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
Host Configuration Protocol (DHCP) version 6", RFC 3633, Host Configuration Protocol (DHCP) version 6", RFC 3633,
December 2003. December 2003.
[RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support [RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support
in IPv6", RFC 3775, June 2004. in IPv6", RFC 3775, June 2004.
[RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", RFC 4862, September 2007. Address Autoconfiguration", RFC 4862, September 2007.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
8.2. Informative References 8.2. Informative References
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
June 1999. June 1999.
[RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
Text on Security Considerations", BCP 72, RFC 3552, Text on Security Considerations", BCP 72, RFC 3552,
July 2003. July 2003.
Authors' Addresses Authors' Addresses
skipping to change at page 14, line 29 skipping to change at page 17, line 4
Phone: +91 80 4426 2347 Phone: +91 80 4426 2347
Email: sinb@cisco.com Email: sinb@cisco.com
Sri Gundavelli Sri Gundavelli
Cisco Systems Cisco Systems
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95134 San Jose, CA 95134
USA USA
Email: sgundave@cisco.com Email: sgundave@cisco.com
Hui Deng Hui Deng
China Mobile China Mobile
53A, Xibianmennei Ave., Xuanwu District 53A, Xibianmennei Ave., Xuanwu District
Beijing 100053 Beijing 100053
China China
Email: denghui02@gmail.com Email: denghui02@gmail.com
Laurent Thiebaut
Alcatel-Lucent
France
Email: laurent.thiebaut@alcatel-lucent.com
 End of changes. 56 change blocks. 
99 lines changed or deleted 219 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/