idnits 2.17.1 draft-ietf-dhc-duid-uuid-03.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 (February 4, 2011) is 4792 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: August 8, 2011 February 4, 2011 7 Definition of the UUID-based DHCPv6 Unique Identifier (DUID-UUID) 8 draft-ietf-dhc-duid-uuid-03 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 August 8, 2011. 36 Copyright Notice 38 Copyright (c) 2011 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 . . . . . . . . . . . . . . . . . . . . 6 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 Terminology specific to IPv6 and DHCPv6 are used in the same way as 81 is defined in the "Terminology" sections of [RFC3315]. 83 2. Background 85 In DHCPv6, clients identify themselves to servers via DHCP Unique 86 Identifiers (DUIDs) [RFC3315]. DUIDs are identifiers that DHCP 87 servers treat as opaque objects with no internal structure. DUIDs 88 are intended to be globally unique, with no two devices using the 89 same DUID. Three DUIDs types have been defined previously: 91 DUID-LLT - the Link-Layer address of one of the device's network 92 interfaces, concatenated with a timestamp 94 DUID-EN - an Enterprise Number plus additional information specific 95 to the enterprise 97 DUID-LL - the Link-Layer address of one of the device's network 98 interfaces 100 DUIDs are intended to remain constant over time, so that they can be 101 used as permanent identifiers for a device. In the case of DUID- 102 LLTs, they are intended to be generated once, and then stored in 103 stable storage and reused from that point forward. 105 One issue that has arisen concerns devices that employ multi-step 106 network boot loading. An initial step (typically run out of 107 firmware) loads a small image that in turn loads a second image, and 108 so forth, until the actual target system is loaded. Each step in the 109 booting process may invoke DHCP. In some operational environments, 110 it is important that each step in the sequence use the same DUID, so 111 that the server knows it is getting requests from the same device and 112 can return the proper configuration information (including the 113 pointer to the correct image to load). 115 Unfortunately, none of the previously defined DUIDs are ideal for 116 multi-step network booting. The DUID-LLT and DUID-LL identifiers 117 that a given device may use are not guaranteed to remain constant 118 across each booting step. Even if the different stages used DUID-LL 119 or DUID-LLT, on devices with multiple interfaces, there is no way to 120 guarantee that the same interface (and hence DUID) will be selected. 121 Finally, in the case of DUID-LLT, even if the same interface were 122 chosen, it can be difficult to ensure that each stage uses the same 123 timestamp value. While a DUID-EN could be defined and used, such 124 usage is proprietary by definition. 126 This document defines a new DUID type, based on the Universally 127 Unique IDentifier (UUID) [RFC4122]. UUIDs are already used in 128 practice and serve as an existing identifier that could be leveraged 129 by DHCP. In some environments, a UUID-based DUID is preferable to 130 the other existing DUID types. 132 It should be noted that use of a DUID-UUID will not by itself solve 133 all the network boot problems described in this document. Given the 134 availablility of a suitable DUID-UUID, implementations will still 135 need to take steps to ensure that all boot stages use the same DUID- 136 UUID as appropriate. Given that DHCP has already defined multiple 137 DUID types, the question of which of several DUIDs to select from 138 already exists -- and defining a new DUID type doesn't by itself 139 help. It is believed, however, that network boot services can be 140 configured to use a DUID-UUID and that other software can do so as 141 well. Ensuring this happens in general is beyond the scope of this 142 document. 144 3. UUID Considerations 146 Although many UUIDs are in use today, not all UUIDs meet DHCP's 147 requirements (see Section 9 of [RFC3315]). DHCP UUIDs should be 148 persistant across system restarts, across system reconfiguration 149 events, system software and operating system upgrades or 150 reinstallation, and be easily available to any part of the boot 151 process that requires access to the DHCP UUID. For example, UUIDs 152 used in Microsoft's Component Object Module (COM), and for labeling 153 partitions in filesystems, are likely not appropriate as they may not 154 be accessible to firmware boot loaders, and can change over time. 156 Implementations of this specification using DUID-UUID must select a 157 UUID that is persistent across system restart and reconfiguration 158 events, and that is available to all DHCP protocol agents that may 159 need to identify themselves. For instance, a UUID that is part of 160 the system firmware, or managed by the system firmware, satisfies 161 this requirement. 163 4. DUID-UUID Format 165 The DUID-UUID is carried within Client Identifier or Server 166 Identifier options. It has the following format: 168 0 1 2 3 169 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 170 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 171 | DUID-Type (4) | UUID (128 bits) | 172 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 173 | | 174 | | 175 | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 176 | | 177 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 179 DUID-UUID format. 181 Figure 1 183 DUID-Type - DUID-UUID (4) - (16 bits) 185 UUID - An RFC4122 UUID (128 bits) 187 5. Acknowledgements 189 This document was inspired by a discussion on the DHC mailing list in 190 November, 2009 on the topic of netboot for IPv6. Specifically, some 191 scenarios were described where it was difficult to do something in 192 DHCPv6 that had worked well in DHCPv4. 194 We would like to thank the following individuals in particular for 195 their specific comments and suggestions on this draft: Thomas Huth, 196 Andre Kostur, Suresh Krishnan, Ted Lemon, Bernie Volz & Vincent 197 Zimmer. 199 6. IANA Considerations 201 IANA has assigned the value 4 for use by the DHCPv6 DUID-UUID type. 202 [TO BE REMOVED UPON PUBLICATION: IANA should update the registry 203 entry for the DUID-UUID DUID-Type and mark the assignment permanent.] 205 7. Security Considerations 207 DHCP traffic between a client and server is sent in the clear. An 208 eavesdroppper residing on the path between the client and server 209 could see DHCP traffic and obtain the UUID for a particular machine. 210 This may raise some privacy issues, but is not a new issue brought on 211 by the use of DUID type defined in this document. 213 8. References 215 8.1. Normative References 217 [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor 218 Extensions", RFC 2132, March 1997. 220 [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., 221 and M. Carney, "Dynamic Host Configuration Protocol for 222 IPv6 (DHCPv6)", RFC 3315, July 2003. 224 [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally 225 Unique IDentifier (UUID) URN Namespace", RFC 4122, 226 July 2005. 228 8.2. Informative References 230 [RFC4578] Johnston, M. and S. Venaas, "Dynamic Host Configuration 231 Protocol (DHCP) Options for the Intel Preboot eXecution 232 Environment (PXE)", RFC 4578, November 2006. 234 Authors' Addresses 236 Thomas Narten 237 IBM 239 Email: narten@us.ibm.com 241 Jarrod B. Johnson 242 IBM 244 Email: jarrod.b.johnson@gmail.com