idnits 2.17.1 draft-ietf-dhc-duid-uuid-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 16, 2010) is 4851 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force T. Narten 3 Internet-Draft J. Johnson 4 Intended status: Standards Track IBM 5 Expires: June 19, 2011 December 16, 2010 7 Definition of the UUID-based DHCPv6 Unique Identifier (DUID-UUID) 8 draft-ietf-dhc-duid-uuid-02 10 Abstract 12 This document defines a new DHCPv6 Unique Identifier (DUID) type, 13 called DUID-UUID. DUID-UUIDs are derived from the already 14 standardized UUID format. DUID-UUID makes it possible for devices to 15 use UUIDs to identify themselves to DHC servers and vice versa. 16 UUIDs are globally unique and readily available on many systems, 17 making them convenient identifiers to leverage within DHCP. 19 Status of this Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on June 19, 2011. 36 Copyright Notice 38 Copyright (c) 2010 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 3. UUID Considerations . . . . . . . . . . . . . . . . . . . . . . 4 56 4. DUID-UUID Format . . . . . . . . . . . . . . . . . . . . . . . 5 57 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 58 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 59 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 60 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 61 8.1. Normative References . . . . . . . . . . . . . . . . . . . 6 62 8.2. Informative References . . . . . . . . . . . . . . . . . . 6 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 65 1. Introduction 67 DHCP Unique Identifiers (DUIDs) are used in DHCPv6 to identify 68 clients and servers. This document defines a new DHCP Unique 69 Identifier (DUID) type that embeds a Universally Unique IDentifier 70 (UUID) [RFC4122]. UUIDs are already in wide spread use and serve as 71 an existing identifier that could be leveraged by DHCPv6. For 72 example, x86 based systems ship with an embedded UUID in firmware 73 that is readily available to the software running on the device. 75 Although DUIDs are new to DHCPv6, identifying clients in DHCP via a 76 UUID is not. DHCPv4 [RFC2132] defines a Client Machine Identifier 77 Option (option 97) that embeds a UUID (aka GUID) [RFC4578]. This 78 document extends that capability to DHCPv6. 80 2. Background 82 In DHCPv6, clients identify themselves to servers via DHCP Unique 83 Identifiers (DUIDs) [RFC3315]. DUIDs are identifiers that DHCP 84 servers treat as opaque objects with no internal structure. DUIDs 85 are intended to be globally unique, with no two devices using the 86 same DUID. Three DUIDs types have been defined previously: 88 DUID-LLT - the Link-Layer address of one of the device's network 89 interfaces, concatenated with a timestamp 91 DUID-EN - an Enterprise Number plus additional information specific 92 to the enterprise 94 DUID-LL - the Link-Layer address of one of the device's network 95 interfaces 97 DUIDs are intended to remain constant over time, so that they can be 98 used as permanent identifiers for a device. In the case of DUID- 99 LLTs, they are intended to be generated once, and then stored in 100 stable storage and reused from that point forward. 102 One issue that has arisen concerns devices that employ multi-step 103 network boot loading. An initial step (typically run out of 104 firmware) loads a small image that in turn loads a second image, and 105 so forth, until the actual target system is loaded. Each step in the 106 booting process may invoke DHCP. In some operational environments, 107 it is important that each step in the sequence use the same DUID, so 108 that the server knows it is getting requests from the same device and 109 can return the proper configuration information (including the 110 pointer to the correct image to load). 112 Unfortunately, none of the previously defined DUIDs are ideal for 113 multi-step network booting. The DUID-LLT and DUID-LL identifiers 114 that a given device may use are not guaranteed to remain constant 115 across each booting step. Even if the different stages used DUID-LL 116 or DUID-LLT, on devices with multiple interfaces, there is no way to 117 guarantee that the same interface (and hence DUID) will be selected. 118 Finally, in the case of DUID-LLT, even if the same interface were 119 chosen, it can be difficult to ensure that each stage would use the 120 same timestamp value. While a DUID-EN could be defined and used, 121 such usage would be proprietary by definition. 123 This document defines a new DUID type, based on the Universally 124 Unique IDentifier (UUID) [RFC4122]. UUIDs are already used in 125 practice and serve as an existing identifier that could be leveraged 126 by DHCP. In some environments, a UUID-based DUID would be preferable 127 to the other existing DUID types. 129 It should be noted that use of a DUID-UUID will not by itself solve 130 all the network boot problems described in this document. Given the 131 availablility of a suitable DUID-UUID, implementations will still 132 need to take steps to ensure that all boot stages use the same DUID- 133 UUID as appropriate. Given that DHCP has already defined multiple 134 DUID types, the question of which of several DUIDs to select from 135 already exists -- and defining a new DUID type doesn't by itself 136 help. It is believed, however, that network boot services can be 137 configured to use a DUID-UUID and that other software can do so as 138 well. Ensuring this happens in general is beyond the scope of this 139 document. 141 3. UUID Considerations 143 Although many UUIDs are in use today, not all UUIDs meet the 144 requirements of the DHCP protocol (see Section 9 of [RFC3315]). DHCP 145 UUIDs should be persistant across system restarts, across system 146 reconfiguration events, system software and operating system upgrades 147 or reinstallation, and be easily available to any part of the boot 148 process that requires access to the DHCP UUID. For example, UUIDs 149 used in Microsoft's Component Object Module (COM), and for labeling 150 partitions in filesystems, are likely not appropriate as they may not 151 be accessible to firmware boot loaders, and can change over time. 153 Implementations of this specification using DUID-UUID must select a 154 UUID that is persistent across system restart and reconfiguration 155 events, and that is available to all DHCP protocol agents that may 156 need to identify themselves. For instance, a UUID that is part of 157 the system firmware, or managed by the system firmware, would satisfy 158 this requirement. 160 4. DUID-UUID Format 162 The DUID-UUID is carried within Client Identifier or Server 163 Identifier options. It has the following format: 165 0 1 2 3 166 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 167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 168 | DUID-Type (4) | UUID (128 bits) | 169 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 170 | | 171 | | 172 | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 173 | | 174 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 176 DUID-UUID format. . 178 Figure 1 180 DUID-Type - DUID-UUID (4) - (16 bits) 182 UUID - An RFC4122 UUID (128 bits) 184 5. Acknowledgements 186 This document was inspired by a discussion on the DHC mailing list in 187 November, 2009 on the topic of netboot for IPv6. Specifically, some 188 scenarios were described where it was difficult to do something in 189 DHCPv6 that had worked well in DHCPv4. 191 We would like to thank the following individuals in particular for 192 their specific comments and suggestions on this draft: Andre Kostur, 193 Suresh Krishnan, Ted Lemon, Bernie Volz & Vincent Zimmer. 195 6. IANA Considerations 197 IANA has assigned the value 4 for use by the DHCPv6 DUID-UUID type. 198 [TO BE REMOVED UPON PUBLICATION: IANA should update the registry 199 entry for the DUID-UUID DUID-Type and mark the assignment permanent.] 201 7. Security Considerations 203 DHCP traffic between a client and server is sent in the clear. An 204 eavesdroppper residing on the path between the client and server 205 could see DHCP traffic and obtain the UUID for a particular machine. 206 This may raise some privacy issues. 208 8. References 210 8.1. Normative References 212 [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor 213 Extensions", RFC 2132, March 1997. 215 [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., 216 and M. Carney, "Dynamic Host Configuration Protocol for 217 IPv6 (DHCPv6)", RFC 3315, July 2003. 219 [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally 220 Unique IDentifier (UUID) URN Namespace", RFC 4122, 221 July 2005. 223 8.2. Informative References 225 [RFC4578] Johnston, M. and S. Venaas, "Dynamic Host Configuration 226 Protocol (DHCP) Options for the Intel Preboot eXecution 227 Environment (PXE)", RFC 4578, November 2006. 229 Authors' Addresses 231 Thomas Narten 232 IBM 234 Email: narten@us.ibm.com 236 Jarrod B. Johnson 237 IBM 239 Email: jarrod.b.johnson@gmail.com