One document matched: draft-hui-6lowpan-dhcp-00.txt
Network Working Group J. Hui
Internet-Draft Arch Rock Corporation
Intended status: Standards Track March 22, 2010
Expires: September 23, 2010
Simple DHCP for 6LoWPAN Networks
draft-hui-6lowpan-dhcp-00
Abstract
6LoWPAN nodes may find it useful to utilize DHCPv6 to obtain
configuration parameters. In addition to network-layer information
that any IPv6 node may require, 6LoWPAN nodes may find DHCP useful
for obtaining link-specific parameters such as short link addresses
or 6LoWPAN header compression contexts. Both stateful and stateless
configuration DHCP modes may be useful in 6LoWPAN networks. This
document describes a simplified form of DHCPv6 for use in 6LoWPAN
networks.
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 September 23, 2010.
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
Hui Expires September 23, 2010 [Page 1]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
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 BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2. Network Architecture . . . . . . . . . . . . . . . . . . . . . 4
3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 4
4. 6LoWPAN-DHCP Client/Server Message Formats . . . . . . . . . . 5
5. 6LoWPAN-DHCP Relay Agent/Server Message Formats . . . . . . . 6
6. 6LoWPAN-DHCP Configuration Exchange . . . . . . . . . . . . . 7
7. 6LoWPAN-DHCP Relay Agent Behavior . . . . . . . . . . . . . . 7
7.1. Relaying a Client Message . . . . . . . . . . . . . . . . 8
7.2. Relaying a Reply Message . . . . . . . . . . . . . . . . . 8
8. 6LoWPAN-DHCP Options . . . . . . . . . . . . . . . . . . . . . 8
8.1. Identity Association for Non-temporary Address Option . . 8
8.2. IA Address Option . . . . . . . . . . . . . . . . . . . . 9
8.3. 6LoWPAN Short Address Option . . . . . . . . . . . . . . . 10
9. Example Messages . . . . . . . . . . . . . . . . . . . . . . . 11
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
11. Security Considerations . . . . . . . . . . . . . . . . . . . 11
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
13.1. Normative References . . . . . . . . . . . . . . . . . . . 12
13.2. Informative References . . . . . . . . . . . . . . . . . . 12
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12
Hui Expires September 23, 2010 [Page 2]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
1. Introduction
As with any IPv6 network, 6LoWPAN nodes may require configuration
parameters to effectively participate in the network and utilize
services provided by other nodes, such as IPv6 addresses, prefix
information, or a list of DNS servers. However, 6LoWPAN networks may
also need to obtain link-specific configuration parameters. For
example, IEEE 802.15.4 allows the use of 16-bit short link addresses
that are not globally unique to reduce link-layer header overhead
[ieee802154]. Additionally, the 6LoWPAN header compression format
utilizes context information to efficiently compress IPv6 headers
[I-D.ietf-6lowpan-hc].
DHCPv6 [RFC3315] is currently the most widely available approach to
distributing and managing configuration information within a network.
The introduction of DHCP relay agents makes it possible for a single
DHCP server to service an entire 6LoWPAN network, even if the network
is configured as a route-over network and operates over multiple IP
hops.
By using DHCPv6, 6LoWPAN networks can utilize the same infrastructure
for managing configuration information as with any other IPv6
network. It is possible to re-use existing DHCPv6 options such DNS
configuration options.
In addition to managing configuration parameters, use of DHCPv6
provides additional opportunities. Because a DHCP server manages a
central repository for IPv6 addresses, the same repository can be
used to help ensure that no duplicate IPv6 addresses are in use among
nodes that maintain a binding with the DHCP server. Duplicate
Address Detection may be unnecessary if all 6LoWPAN nodes maintain
DHCP bindings for any IPv6 addresses in use.
A downside with DHCPv6 is that it was designed to be very general and
extensible. The generality and extensibility can make DHCP
prohibitively costly to implement within the resource constraints
typical for 6LoWPAN networks. Furthermore, the method of discovering
a DHCP server or relay agent requires the use of multicast messages,
which are especially costly within 6LoWPAN networks. As a result, it
is attractive to limit what DHCP mechanisms are used and utilize
compact representations of DHCP messages.
The remainder of this document species the use of a simple and
compact DHCP protocol for use in 6LoWPAN networks, called 6LoWPAN-
DHCP. The protocol supports a strict subset of DHCPv6 defined in
[RFC3315]. Through stateless translation mechanisms implemented at
DHCP relay agents, existing DHCPv6 servers may be used to communicate
directly with 6LoWPAN-DHCP clients and relay agents.
Hui Expires September 23, 2010 [Page 3]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
1.1. 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].
2. Network Architecture
To efficiently support DHCPv6 in 6LoWPAN networks, all 6LoWPAN edge
routers MUST implement either DHCP server or relay agent
functionality on all 6LoWPAN interfaces. All 6LoWPAN edge routers
must also subscribe to the ANY_6LOWPAN_DHCP_ROUTER_AND_AGENT anycast
address. All 6LoWPAN routers MUST implement DHCP relay agent
functionality on all 6LoWPAN interfaces.
In a network connected by only a single edge router, implementing a
DHCP server in the edge router is sufficient. In a network connected
by multiple edge routers, implementing DHCP relay agent at the edge
routers is needed to forward DHCP messages between the client and the
DHCP server.
6LoWPAN routers forward all DHCP client messages to the
ANY_6LOWPAN_DHCP_ROUTER_AND_AGENT anycast address. By using an
anycast address, it is not necessary to explicitly configure relay
agents with the specific address of another DHCP relay agent or
server. Requiring all 6LoWPAN routers to provide DHCP relay agent
functionality ensures that any 6LoWPAN node attempting to obtain
configuration information can do so as long as the 6LoWPAN network
itself is connected. Another benefit of doing so is it eliminates
the need for multicast messages used to discover which nodes provide
DHCP server or relay agent functionality.
3. Protocol Overview
For simplicity, the only supported DHCP message types are Solicit,
Rebind, Information-request, and Reply. As such, 6LoWPAN-DHCP
clients do not maintain any state that identifies DHCP servers.
Instead, a 6LoWPAN-DHCP client may request assignment of new
addresses using a Solicit-Reply exchange or renew lifetimes of
existing addresses using a Rebind-Reply exchange. To support
Stateless DHCPv6 [RFC3736] in 6LoWPAN networks, 6LoWPAN-DHCP clients
may also use Information-request exchanges.
The basic protocol exchange for obtaining configuration parameters
using these messages is identical to what is specified in [RFC3315].
A 6LoWPAN node wishing to obtain configuration information may send a
Hui Expires September 23, 2010 [Page 4]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
DHCP Solicit or Information-request message to a DHCP server or relay
agent. If the destination is a DHCP relay agent, the relay agent
then relays the client's message to a 6LoWPAN edge router using the
ANY_6LOWPAN_DHCP_ROUTER_AND_AGENT anycast address. Eventually, a
DHCP server will receive the client's DHCP Solicit message, to which
the server responds using a DHCP Reply message. The DHCP Reply
message will follow the same path through DHCP relay agents, if any
exist, and then finally back to the DHCP client. When a node needs
to refresh its DHCP binding, it sends a DHCP rebind message to the
DHCP server.
Because every 6LoWPAN router MUST implement DHCP relay agent
functionality, a client SHOULD unicast any DHCP messages to a
neighboring router. Unicast reduces the use of costly multicast
transmissions and eliminates duplicate messages caused by multiple
DHCP relay agents relaying the same DHCP message to the DHCP server.
The specific router chosen may be the same as the default router.
Other mechanisms for selecting a specific router is left out of
scope.
6LoWPAN networks typically have limited communication resources (e.g.
small frame sizes, limited energy, etc.). To respect those resource
constraints, this document defines 6LoWPAN-DHCP, a simple and compact
form of DHCPv6 for use within 6LoWPAN networks. 6LoWPAN-DHCP reduces
the number of messages to only Solicit, Rebind, Information-request,
and Reply. New compact options are defined to carry both network-
layer and 6LoWPAN-specific configuration parameters. Being a strict
subset of DHCPv6 makes simple translations with 6LoWPAN-DHCP
possible.
4. 6LoWPAN-DHCP Client/Server Message Formats
All 6LoWPAN-DHCP messages between clients and servers share the same
fixed format header and a variable format area for options.
Options are stored serially in the options field, with no padding
between the options. Options are byte-aligned but are not aligned in
any other way such as on 2 or 4 byte boundaries.
The following diagram illustrates the format of 6LoWPAN-DHCP messages
sent between clients and servers:
Hui Expires September 23, 2010 [Page 5]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg-type | transaction-id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ client-identifier +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. options .
. (variable) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
msg-type Identifies the DHCP message type.
transaction-id The transaction ID for this message
exchange.
client-identifier Used to carry an IEEE EUI-64 identifying a
client between a client and a server.
options Options carried in this message.
The 6LoWPAN-DHCP message format builds on the client/server message
formats found in [RFC3315]. The only difference is that 6LoWPAN-DHCP
adds a client-identifier field. While [RFC3315] is designed for
generality, supporting client-identifiers with arbitrary length,
6LoWPAN-DHCP clients MUST use a client identifier with a DUID based
on an IEEE EUI-64 link-layer address. By making this assumption,
6LoWPAN-DHCP saves 8-octets in every message.
5. 6LoWPAN-DHCP Relay Agent/Server Message Formats
Relay agents exchange messages with servers to relay messages between
clients and servers that are not connected to the same link.
Options are stored serially in the options field, with no padding
between the options. Options are byte-aligned but are not aligned in
any other way such as on 2 or 4 byte boundaries.
The following diagram illustrates the format of 6LoWPAN-DHCP messages
sent between relay agents and servers:
Hui Expires September 23, 2010 [Page 6]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg-type | |
+-+-+-+-+-+-+-+-+ +
. DHCP-relay-message .
. (variable) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
msg-type Identifies the DHCP message type. MUST be
either RELAY-FORW (12) or RELAY-REPL (13).
DHCP-relay-message In a Relay-forward message, the received
message, relayed verbatim to the next relay
agent or server; in a Relay-reply message,
the message to be copied and relayed to the
client whose link-local address is
generated from the client-identifier field
of the encapsulated Reply message.
6. 6LoWPAN-DHCP Configuration Exchange
A client uses Solicit and Rebind messages during the normal life
cycle of addresses. It uses Information-Request messages when it
needs configuration information but no addresses.
The client is responsible for creating IAs and requesting that a
server assign IPv6 addresses to the IA. The client first creates an
IA and assigns it an IAID. The client then transmits a Solicit
message containing an IA option describing the IA. A server that can
assign addresses to the IA responds to the client with a Reply
message.
For simplicity, 6LoWPAN-DHCP clients do not maintain state about DHCP
servers. As a result, all Solicit and Reply messages implicitly
include the Rapid Commit option and the client only terminates the
waiting process as soon as a Reply message is received. Because
6LoWPAN-DHCP does not make use of multicast, a Solicit message should
be routed to a single server and any Reply messages should only come
from a single server under normal operation.
7. 6LoWPAN-DHCP Relay Agent Behavior
The relay agent MAY be configured to use a list of other addresses
assigned by the network administrator. If the relay agent has not
Hui Expires September 23, 2010 [Page 7]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
been explicitly configured, it MUST use the
ANY_6LOWPAN_DHCP_ROUTER_AND_AGENT as the default.
7.1. Relaying a Client Message
A 6LoWPAN-DHCP relay agent only forwards messages from other 6LoWPAN-
DHCP clients. Unlike [RFC3315], 6LoWPAN-DHCP only supports a single
relay hop between a 6LoWPAN-DHCP client and 6LoWPAN edge router. If
the edge router is configured as a DHCPv6 relay agent, it MUST
translate the message to the message formats defined in [RFC3315]
before relaying to a [RFC3315] compliant relay agent or server.
When a 6LoWPAN-DHCP relay agent receives a valid message to be
relayed, it constructs a new Relay-forward message. The relay agent
copies the received DHCP message (excluding any IP or UDP headers)
into the DHCP-relay-message field of the new message.
7.2. Relaying a Reply Message
The relay agent extracts the message from the DHCP-relay-message
field and relays it to the link-local address generated from the
client-identifier field of the encapsulated Reply message.
8. 6LoWPAN-DHCP Options
8.1. Identity Association for Non-temporary Address Option
The Identity Association for Non-temporary Addresses option (IA_NA
option) is used to carry an IA_NA, the parameters associated with the
IA_NA, and the non-temporary addresses associated with the IA_NA.
The format of the IA_NA option is:
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_NA | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IAID | T2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. IA_NA-options .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Hui Expires September 23, 2010 [Page 8]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
option-code OPTION_IA_NA (3)
option-len 4 + length of IA_NA-options field.
IAID The unique identifier for this IA_NA.
T2 The time at which the client contacts any available
server to extend the lifetimes of the addresses assigned
to the IA_NA; T2 is a time duration relative to the
current time expressed in units of minutes.
IA_NA-options Options associated with this IA_NA.
8.2. IA Address Option
The IA Address option is used to specify IPv6 addresses associated
with an IA_NA. The IA Address option must be encapsulated in the
Options field of an IA_NA option. The Options field encapsulates
those options that are specific to this address.
The format of the IA Address option is:
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_IAADDR | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| IPv6 address |
+ +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| preferred-lifetime | valid-lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. IAaddr-options .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
option-code OPTION_IAADDR (5)
Hui Expires September 23, 2010 [Page 9]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
option-len 20 + length of IAaddr-options field.
IPv6 address An IPv6 address.
preferred-lifetime The preferred lifetime for the IPv6 address in
the option, expressed in units of minutes.
valid-lifetime The valid lifetime for the IPv6 address in the
option, expressed in units of minutes.
IAaddr-options Options associated with this address.
8.3. 6LoWPAN Short Address Option
The 6LoWPAN Short Address option is used to specify an IEEE 802.15.4
short address associated with an IA_NA. The 6LoWPAN Short Address
option must be encapsulated in the Options field of an IA_NA option.
The format of the 6LoWPAN Short Address option is:
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_6LOWPAN_SADDR | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| short-address | valid-lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
option-code: OPTION_6LOWPAN_SADDR (TBD)
option-len: 4
valid-lifetime The valid lifetime for the 6LoWPAN Short Address
in the option, expressed in units of minutes.
short-address: A 6LoWPAN short address.
In a message sent by a client to a server, a value in the lifetime
field indicates the client's preference for the lifetime. The client
may send 0 if it has no preference for the lifetime. In a message
sent by the server to a client, the client MUST use the value in the
lifetime field for the lifetime. The value in the lifetime are the
number of 10 second time units remaining.
A 6LoWPAN Short Address option may appear only in an IA_NA option.
At most one 6LoWPAN Address Option can appear in an IA_NA option.
Hui Expires September 23, 2010 [Page 10]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
9. Example Messages
Solicit Message (58 octets):
DHCP Header (12 octets)
Elapsed Time Option (6 octets)
IA_NA Option (8 octets)
IA Addr (24 octets)
6LoWPAN Short Addr (8 octets)
Rebind Message (58 Octets):
DHCP Header (12 octets)
Elapsed Time Option (6 octets)
IA_NA Option (8 octets)
IA Addr (24 octets)
6LoWPAN Short Addr (8 octets)
Reply Message (52 Octets):
DHCP Header (12 octets)
IA_NA Option (8 octets)
IA Addr (24 octets)
6LoWPAN Short Addr (8 octets)
Relay-Solicit Message (59 octets):
Relay Header (1 octet)
DHCP Header (12 octets)
Elapsed Time Option (6 octets)
IA_NA Option (8 octets)
IA Addr (24 octets)
6LoWPAN Short Addr (8 octets)
Relay-Reply Message (59 octets):
Relay Header (1 octet)
DHCP Header (12 octets)
IA_NA Option (8 octets)
IA Addr (24 octets)
6LoWPAN Short Addr (8 octets)
10. IANA Considerations
11. Security Considerations
Hui Expires September 23, 2010 [Page 11]
Internet-Draft Simple DHCP for 6LoWPAN Networks March 2010
12. Acknowledgements
13. References
13.1. Normative References
[I-D.ietf-6lowpan-hc]
Hui, J. and P. Thubert, "Compression Format for IPv6
Datagrams in 6LoWPAN Networks", draft-ietf-6lowpan-hc-06
(work in progress), October 2009.
[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.
[RFC3736] Droms, R., "Stateless Dynamic Host Configuration Protocol
(DHCP) Service for IPv6", RFC 3736, April 2004.
13.2. Informative References
[ieee802154]
IEEE Computer Society, "IEEE Std. 802.15.4-2006",
October 2006.
Author's Address
Jonathan W. Hui
Arch Rock Corporation
501 2nd St. Ste. 410
San Francisco, California 94107
USA
Phone: +415 692 0828
Email: jhui@archrock.com
Hui Expires September 23, 2010 [Page 12]
| PAFTECH AB 2003-2026 | 2026-04-23 04:11:31 |