draft-ietf-dhc-duid-uuid-01.txt   draft-ietf-dhc-duid-uuid-02.txt 
Internet Engineering Task Force T. Narten Internet Engineering Task Force T. Narten
Internet-Draft J. Johnson Internet-Draft J. Johnson
Intended status: Standards Track IBM Intended status: Standards Track IBM
Expires: June 18, 2011 December 15, 2010 Expires: June 19, 2011 December 16, 2010
Definition of the UUID-based DHCPv6 Unique Identifier (DUID-UUID) Definition of the UUID-based DHCPv6 Unique Identifier (DUID-UUID)
draft-ietf-dhc-duid-uuid-01 draft-ietf-dhc-duid-uuid-02
Abstract Abstract
This document defines a new DHCPv6 Unique Identifier (DUID) type, This document defines a new DHCPv6 Unique Identifier (DUID) type,
called DUID-UUID. DUID-UUIDs are derived from the already called DUID-UUID. DUID-UUIDs are derived from the already
standardized UUID format. DUID-UUID makes it possible for devices to standardized UUID format. DUID-UUID makes it possible for devices to
use UUIDs to identify themselves to DHC servers and vice versa. use UUIDs to identify themselves to DHC servers and vice versa.
UUIDs are globally unique and readily available on many systems, UUIDs are globally unique and readily available on many systems,
making them convenient identifiers to leverage within DHCP. making them convenient identifiers to leverage within DHCP.
skipping to change at page 1, line 35 skipping to change at page 1, line 35
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 June 18, 2011. This Internet-Draft will expire on June 19, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
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
2. DUID-UUID Format . . . . . . . . . . . . . . . . . . . . . . . 4 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 3. UUID Considerations . . . . . . . . . . . . . . . . . . . . . . 4
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 4. DUID-UUID Format . . . . . . . . . . . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
6.1. Normative References . . . . . . . . . . . . . . . . . . . 5 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 5
6.2. Informative References . . . . . . . . . . . . . . . . . . 6 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
8.1. Normative References . . . . . . . . . . . . . . . . . . . 6
8.2. Informative References . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction 1. Introduction
DHCP Unique Identifiers (DUIDs) are used in DHCPv6 to identify
clients and servers. This document defines a new DHCP Unique
Identifier (DUID) type that embeds a Universally Unique IDentifier
(UUID) [RFC4122]. UUIDs are already in wide spread use and serve as
an existing identifier that could be leveraged by DHCPv6. For
example, x86 based systems ship with an embedded UUID in firmware
that is readily available to the software running on the device.
Although DUIDs are new to DHCPv6, identifying clients in DHCP via a
UUID is not. DHCPv4 [RFC2132] defines a Client Machine Identifier
Option (option 97) that embeds a UUID (aka GUID) [RFC4578]. This
document extends that capability to DHCPv6.
2. Background
In DHCPv6, clients identify themselves to servers via DHCP Unique In DHCPv6, clients identify themselves to servers via DHCP Unique
Identifiers (DUIDs) [RFC3315]. DUIDs are identifiers that DHCP Identifiers (DUIDs) [RFC3315]. DUIDs are identifiers that DHCP
servers treat as opaque objects with no internal structure. DUIDs servers treat as opaque objects with no internal structure. DUIDs
are intended to be globally unique, with no two devices using the are intended to be globally unique, with no two devices using the
same DUID. Three DUIDs types have been defined previously: same DUID. Three DUIDs types have been defined previously:
DUID-LLT - the Link-Layer address of one of the device's network DUID-LLT - the Link-Layer address of one of the device's network
interfaces, concatenated with a timestamp interfaces, concatenated with a timestamp
DUID-EN - an Enterprise Number plus additional information specific DUID-EN - an Enterprise Number plus additional information specific
to the enterprise to the enterprise
DUID-LL - the Link-Layer address of one of the device's network DUID-LL - the Link-Layer address of one of the device's network
interfaces interfaces
The intention of DUIDs is that they remain constant over time, so DUIDs are intended to remain constant over time, so that they can be
that they can be used as permanent identifiers for a device. In the used as permanent identifiers for a device. In the case of DUID-
case of DUID-LLTs, they are intended to be generated once, and then LLTs, they are intended to be generated once, and then stored in
stored in stable storage and reused from that point forward. stable storage and reused from that point forward.
In DHCPv4, all clients identify themselves to servers via the MAC One issue that has arisen concerns devices that employ multi-step
address of the interface on which the DHCP packet is sent. The MAC network boot loading. An initial step (typically run out of
address identifier generally remains constant across machine firmware) loads a small image that in turn loads a second image, and
restarts, installation of new operating system releases, changes in so forth, until the actual target system is loaded. Each step in the
hardware configuration such as addition or removal of storage booting process may invoke DHCP. In some operational environments,
devices, etc. While the MAC address will change if the network it is important that each step in the sequence use the same DUID, so
interface is replaced, this is a relatively uncommon event. that the server knows it is getting requests from the same device and
can return the proper configuration information (including the
pointer to the correct image to load).
In contrast, the DUID-LLT and DUID-LL identifiers that a given device Unfortunately, none of the previously defined DUIDs are ideal for
may use are less likely to remain constant on some types of devices multi-step network booting. The DUID-LLT and DUID-LL identifiers
and deployments. Specifically, when a machine goes through a multi- that a given device may use are not guaranteed to remain constant
step boot process, it may first load a simple boot loader, followed across each booting step. Even if the different stages used DUID-LL
by a one or more secondary loaders before the eventual desired target or DUID-LLT, on devices with multiple interfaces, there is no way to
system is loaded. In IPv4, all steps of a multi-step boot processes guarantee that the same interface (and hence DUID) will be selected.
that invoke DHCP are guaranteed to use the same MAC identifier during Finally, in the case of DUID-LLT, even if the same interface were
each stage. In contrast, with DHCPv6, it is more difficult to ensure chosen, it can be difficult to ensure that each stage would use the
or arrange that each boot stage uses the same identifier. First, same timestamp value. While a DUID-EN could be defined and used,
there are multiple DUID types, and different stages might choose to such usage would be proprietary by definition.
use different formats. Second, even if the different stages used
DUID-LL or DUID-LLT, on devices with multiple interfaces, there is no
way to guarantee that the same interface (and hence DUID) will be
selected. Finally, in the case of DUID-LLT, even if the same
interface were chosen, there is no guarantee that each stage would
use the same timestamp value. While a DUID-EN could be defined and
used, such usage would be proprietary by definition.
This document defines a new DUID type, based on the Universally This document defines a new DUID type, based on the Universally
Unique IDentifier (UUID) [RFC4122]. UUIDs are already used in Unique IDentifier (UUID) [RFC4122]. UUIDs are already used in
practice and serve as an existing identifier that could be leveraged practice and serve as an existing identifier that could be leveraged
by DHCP. For example, x86 based systems ship with an embedded UUID by DHCP. In some environments, a UUID-based DUID would be preferable
in firmware that could be accessed for this purpose. to the other existing DUID types.
Although DUIDs are new to DHCPv6, the idea of identifying clients via It should be noted that use of a DUID-UUID will not by itself solve
a UUID is not. DHCPv4 defines a Client Machine Identifier Option all the network boot problems described in this document. Given the
(option 97) that can contain a UUID [RFC4578]. availablility of a suitable DUID-UUID, implementations will still
need to take steps to ensure that all boot stages use the same DUID-
UUID as appropriate. Given that DHCP has already defined multiple
DUID types, the question of which of several DUIDs to select from
already exists -- and defining a new DUID type doesn't by itself
help. It is believed, however, that network boot services can be
configured to use a DUID-UUID and that other software can do so as
well. Ensuring this happens in general is beyond the scope of this
document.
3. UUID Considerations
Although many UUIDs are in use today, not all UUIDs meet the Although many UUIDs are in use today, not all UUIDs meet the
requirements of the DHCP protocol (see Section 9 of [RFC3315]). DHCP requirements of the DHCP protocol (see Section 9 of [RFC3315]). DHCP
UUIDs should be persistant across system restarts, across system UUIDs should be persistant across system restarts, across system
reconfiguration events, system software and operating system upgrades reconfiguration events, system software and operating system upgrades
or reinstallation, and be easily available to any part of the boot or reinstallation, and be easily available to any part of the boot
process that requires access to the DHCP UUID. For example, UUIDs process that requires access to the DHCP UUID. For example, UUIDs
used in Microsoft's Component Object Module (COM), and for labeling used in Microsoft's Component Object Module (COM), and for labeling
partitions in filesystems, are likely not appropriate as they may not partitions in filesystems, are likely not appropriate as they may not
be accessible to firmware boot loaders, and can change over time. be accessible to firmware boot loaders, and can change over time.
Implementations of this specification must use a DUID that is Implementations of this specification using DUID-UUID must select a
persistent across system restart and reconfiguration events, and that UUID that is persistent across system restart and reconfiguration
is available to all DHCP protocol agents that may need to identify events, and that is available to all DHCP protocol agents that may
themselves. For instance, a DUID that is part of the system need to identify themselves. For instance, a UUID that is part of
firmware, or managed by the system firmware, would satisfy this the system firmware, or managed by the system firmware, would satisfy
requirement. this requirement.
It should be noted that use of a DUID-UUID will not by itself solve
all the problems motivating this document. Given the availablility
of a suitable DUID-UUID, implementations will still need to take
steps to ensure that all boot stages use the same DUID-UUID as
appropriate. Given that DHCP has already defined multiple DUID
types, the question of which of several DUIDs to select from already
exists and is not a new problem.
2. DUID-UUID Format 4. DUID-UUID Format
The DUID-UUID is carried within Client Identifier or Server The DUID-UUID is carried within Client Identifier or Server
Identifier options. It has the following format: Identifier options. It has the following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DUID-Type (4) | UUID (128 bits) | | DUID-Type (4) | UUID (128 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | | |
skipping to change at page 5, line 24 skipping to change at page 5, line 29
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
DUID-UUID format. . DUID-UUID format. .
Figure 1 Figure 1
DUID-Type - DUID-UUID (4) - (16 bits) DUID-Type - DUID-UUID (4) - (16 bits)
UUID - An RFC4122 UUID (128 bits) UUID - An RFC4122 UUID (128 bits)
3. Acknowledgements 5. Acknowledgements
This document was inspired by a discussion on the DHC mailing list in This document was inspired by a discussion on the DHC mailing list in
November, 2009 on the topic of netboot for IPv6. Specifically, some November, 2009 on the topic of netboot for IPv6. Specifically, some
scenarios were described where it was difficult to do something in scenarios were described where it was difficult to do something in
DHCPv6 that had worked well in DHCPv4. DHCPv6 that had worked well in DHCPv4.
4. IANA Considerations We would like to thank the following individuals in particular for
their specific comments and suggestions on this draft: Andre Kostur,
Suresh Krishnan, Ted Lemon, Bernie Volz & Vincent Zimmer.
6. IANA Considerations
IANA has assigned the value 4 for use by the DHCPv6 DUID-UUID type. IANA has assigned the value 4 for use by the DHCPv6 DUID-UUID type.
[TO BE REMOVED UPON PUBLICATION: IANA should update the registry [TO BE REMOVED UPON PUBLICATION: IANA should update the registry
entry for the DUID-UUID DUID-Type and mark the assignment permanent.] entry for the DUID-UUID DUID-Type and mark the assignment permanent.]
5. Security Considerations 7. Security Considerations
DHCP traffic is sent in the clear. An eavesdroppper could see DHCP DHCP traffic between a client and server is sent in the clear. An
traffic and obtain the UUID for a particular machine. This may raise eavesdroppper residing on the path between the client and server
some privacy issues. could see DHCP traffic and obtain the UUID for a particular machine.
This may raise some privacy issues.
6. References 8. References
6.1. Normative References 8.1. Normative References
[RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, March 1997.
[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.
[RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally
Unique IDentifier (UUID) URN Namespace", RFC 4122, Unique IDentifier (UUID) URN Namespace", RFC 4122,
July 2005. July 2005.
6.2. Informative References 8.2. Informative References
[RFC4578] Johnston, M. and S. Venaas, "Dynamic Host Configuration [RFC4578] Johnston, M. and S. Venaas, "Dynamic Host Configuration
Protocol (DHCP) Options for the Intel Preboot eXecution Protocol (DHCP) Options for the Intel Preboot eXecution
Environment (PXE)", RFC 4578, November 2006. Environment (PXE)", RFC 4578, November 2006.
Authors' Addresses Authors' Addresses
Thomas Narten Thomas Narten
IBM IBM
 End of changes. 19 change blocks. 
67 lines changed or deleted 89 lines changed or added

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