< draft-bhandari-dhc-class-based-prefix-02.txt   draft-bhandari-dhc-class-based-prefix-03.txt >
skipping to change at page 1, line 15 skipping to change at page 1, line 15
Intended status: Standards Track S. Bandi Intended status: Standards Track S. Bandi
Expires: January 17, 2013 S. Gundavelli Expires: January 17, 2013 S. Gundavelli
Cisco Systems Cisco Systems
H. Deng H. Deng
China Mobile China Mobile
L. Thiebaut L. Thiebaut
Alcatel-Lucent Alcatel-Lucent
July 16, 2012 July 16, 2012
DHCPv6 class based prefix DHCPv6 class based prefix
draft-bhandari-dhc-class-based-prefix-02 draft-bhandari-dhc-class-based-prefix-03
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 usage 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
skipping to change at page 2, line 22 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. Usage Class Option . . . . . . . . . . . . . . . . . . . . 4 2.1. Usage Class Option . . . . . . . . . . . . . . . . . . . . 5
2.2. Consideration for different DHCPv6 entities . . . . . . . 6 2.2. Consideration for different DHCPv6 entities . . . . . . . 6
2.2.1. Requesting Router Behavior . . . . . . . . . . . . . . 6 2.2.1. Requesting Router Behavior for IA_PD allocation . . . 6
2.2.2. Delegating Router Behavior . . . . . . . . . . . . . . 7 2.2.2. Delegating Router Behavior for IA_PD allocation . . . 7
2.2.3. DHCPv6 Client Behavior for IA_NA allocation . . . . . 7 2.2.3. DHCPv6 Client Behavior for IA_NA allocation . . . . . 7
2.2.4. DHCPv6 Server Behavior for IA_NA allocation . . . . . 8
2.3. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1. OPTION_USAGE_CLASS Values . . . . . . . . . . . . . . 8 2.3.1. OPTION_USAGE_CLASS Values . . . . . . . . . . . . . . 8
2.3.2. Class based prefix and IA_NA allocation . . . . . . . 8 2.3.2. Class based prefix and IA_NA allocation . . . . . . . 9
2.3.3. Class based prefix and IA_PD allocation . . . . . . . 9 2.3.3. Class based prefix and IA_PD allocation . . . . . . . 9
2.3.4. Class based prefix and SLAAC . . . . . . . . . . . . . 9 2.3.4. Class based prefix and SLAAC . . . . . . . . . . . . . 9
2.3.5. Class based prefix and applications . . . . . . . . . 9 2.3.5. Class based Information-Request . . . . . . . . . . . 10
3. Example Application . . . . . . . . . . . . . . . . . . . . . 9 2.3.6. Class based prefix and applications . . . . . . . . . 10
3. Example Application . . . . . . . . . . . . . . . . . . . . . 10
3.1. Class based prefix delegation . . . . . . . . . . . . . . 12 3.1. Class based prefix delegation . . . . . . . . . . . . . . 12
3.2. IPv6 address assignment from class based prefix . . . . . 12 3.2. IPv6 address assignment from class based prefix . . . . . 12
4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
5.1. OPTION_USAGE_CLASS values . . . . . . . . . . . . . . . . 13 5.1. OPTION_USAGE_CLASS values . . . . . . . . . . . . . . . . 13
6. Security Considerations . . . . . . . . . . . . . . . . . . . 14 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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 RFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.1. Normative References . . . . . . . . . . . . . . . . . . . 14 8.1. Normative References . . . . . . . . . . . . . . . . . . . 14
skipping to change at page 3, line 21 skipping to change at page 3, line 21
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. But the OPTION_USER_CLASS
OPTION_USAGE_CLASS option in IA_PD option for the purpose of option is only loosely defined and it can hardly be used in mobile
selecting a prefix for further delegation either via IA_NA or IA_PD environment where a DHCPv6 client, the DHCPv6 server or requesting
DHCPv6 request. It defines the behavior of the DHCPv6 server, the router and the delegating Router may belong to different
DHCPv6 prefix requesting router and the DHCPv6 client to use this organizations.
option.
This document introduces 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 DHCPv6 request. It defines the behavior of the
DHCPv6 server, the DHCPv6 prefix requesting router and the DHCPv6
client to use this option.
In IPv6 a network interface can acquire multiple addresses from the In IPv6 a network interface can acquire multiple addresses from the
same scope. In this case application need to have additional same scope. In this case application need to have additional
information about the prefix configured on the interface for source information about the prefix configured on the interface for source
address selection. Since the network address can be configured via address selection. Since the network address can be configured via
DHCPv6 as defined in [RFC3315] or via Stateless Address DHCPv6 as defined in [RFC3315] or via Stateless Address
Autoconfiguration (SLAAC) as defined in [RFC4862], additional Autoconfiguration (SLAAC) as defined in [RFC4862], additional
information of a prefix can be provided via DHCPv6 or via IPv6 Router information of a prefix can be provided via DHCPv6 or via IPv6 Router
Advertisement (RA). Advertisement (RA).
skipping to change at page 4, line 40 skipping to change at page 4, line 44
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 usage 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. It defines also usage class option in the
context of a DHCP information request from a DHCP client to a DHCP
server.
2.1. Usage Class Option 2.1. Usage Class Option
The format of the DHCPv6 usage 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_USAGE_CLASS | option-length(2) | | OPTION_USAGE_CLASS | option-length(2) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Class | ~ | Class | ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ~
~ Vendor Class Data (Optional,variable length) ~ ~ Vendor Class Data (Optional,variable length) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 6, line 33 skipping to change at page 6, line 33
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_USAGE_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 for IA_PD allocation
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_USAGE_CLASS requesting prefix delegation for the include OPTION_USAGE_CLASS requesting prefix delegation for the
specific class indicated in the OPTION_USAGE_CLASS option. It can specific class indicated in the OPTION_USAGE_CLASS option. It can
include multiple IA_PD Prefix options to indicate it's preference include multiple IA_PD Prefix options to indicate it's preference
for more than one usage class. for more than one usage class.
skipping to change at page 7, line 7 skipping to change at page 7, line 7
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_USAGE_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 for IA_PD allocation
If the Delegating router supports class based prefix allocation by If the Delegating router supports class based prefix allocation by
supporting the OPTION_USAGE_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_USAGE_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.
skipping to change at page 8, line 9 skipping to change at page 8, line 9
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 usage 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_USAGE_CLASS requesting address to be allocated from a OPTION_USAGE_CLASS requesting address to be allocated from a
specific usage class indicated in that option. specific usage class indicated in that option.
The DHCPv6 server parses OPTION_USAGE_CLASS option received and If DHCPv6 client receives OPTION_USAGE_CLASS option in the IAaddr-
includes it in option area of corresponding OPTION_IA_NA in ADVERTISE options area of the corresponding IA_NA but does not support this
message. option, it SHOULD ignore the received option.
2.2.4. DHCPv6 Server Behavior for IA_NA allocation
The DHCPv6 server parses OPTION_USAGE_CLASS option received and when
it supports allocation within the requested OPTION_USAGE_CLASS
responds with an ADVERTISE message after populating the IA_NA option
with address information from the requested Usage class. Along with
including the IA Address options in the IA_NA option, it also
includes the OPTION_USAGE_CLASS option in the corresponding IAaddr-
options area.
Even though the IA_NA option in the SOLICIT message does not include
the OPTION_USAGE_CLASS option, based on local policies, the DHCP
server MAY select a default OPTION_USAGE_CLASS value for the client
and then SHOULD include the OPTION_USAGE_CLASS option in the IAaddr-
options area of the corresponding IA_NA it sends to the client. If
both DHCP client and server support Usage-class-based address
allocation, but the DHCP server cannot offer addresses in the
specified Usage class then the DHCP server MUST include the status
code NoAddrsAvail (as defined in [RFC3315]) in the response message.
If the DHCP server cannot offer addresses for any other reason, it
MUST respond to requesting router with appropriate status code as
specified in [RFC3315].
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. OPTION_USAGE_CLASS Values 2.3.1. OPTION_USAGE_CLASS Values
skipping to change at page 9, line 30 skipping to change at page 10, line 5
delegating router, its behavior is explained in Section 2.2.2. delegating router, its behavior is explained in Section 2.2.2.
2.3.4. 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, it is specified in outside the scope of this document, it is specified in
[I-D.korhonen-dmm-prefix-properties]. [I-D.korhonen-dmm-prefix-properties].
2.3.5. Class based prefix and applications 2.3.5. Class based Information-Request
A DHCP client MAY include OPTION_USAGE_CLASS in the Information
request message to indicate that the requested configuration
information (such as a list of available DNS servers) may be
associated with a specific Usage Class.The server responds to the
client with the requested Options whose values are determined based
on the received OPTION_USAGE_CLASS. Even though the Information
request message does not include the OPTION_USAGE_CLASS option, based
on local policies, the DHCP server MAY select a default
OPTION_USAGE_CLASS value for the client and then SHOULD include the
OPTION_USAGE_CLASS option Information Response it sends to the
client.
2.3.6. Class based prefix and applications
Applications within a host can do source address selection based on Applications within a host can do source address selection based on
the class of the prefix learnt in OPTION_USAGE_CLASS using rules the class of the prefix learnt in OPTION_USAGE_CLASS using rules
defined in [RFC3484]. 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:
 End of changes. 13 change blocks. 
20 lines changed or deleted 67 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/