A Universally Unique IDentifier (UUID) URN Namespace
RFC 4122
Document | Type |
RFC - Proposed Standard
(July 2005; Errata)
Was draft-mealling-uuid-urn (individual in app area)
|
|
---|---|---|---|
Last updated | 2018-12-20 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 4122 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Ted Hardie | ||
Send notices to | (None) |
Network Working Group P. Leach Request for Comments: 4122 Microsoft Category: Standards Track M. Mealling Refactored Networks, LLC R. Salz DataPower Technology, Inc. July 2005 A Universally Unique IDentifier (UUID) URN Namespace Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier). A UUID is 128 bits long, and can guarantee uniqueness across space and time. UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation's (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms. This specification is derived from the DCE specification with the kind permission of the OSF (now known as The Open Group). Information from earlier versions of the DCE specification have been incorporated into this document. Leach, et al. Standards Track [Page 1] RFC 4122 A UUID URN Namespace July 2005 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Namespace Registration Template . . . . . . . . . . . . . . . 3 4. Specification . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. Format. . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1.1. Variant. . . . . . . . . . . . . . . . . . . . . . 6 4.1.2. Layout and Byte Order. . . . . . . . . . . . . . . 6 4.1.3. Version. . . . . . . . . . . . . . . . . . . . . . 7 4.1.4. Timestamp. . . . . . . . . . . . . . . . . . . . . 8 4.1.5. Clock Sequence . . . . . . . . . . . . . . . . . . 8 4.1.6. Node . . . . . . . . . . . . . . . . . . . . . . . 9 4.1.7. Nil UUID . . . . . . . . . . . . . . . . . . . . . 9 4.2. Algorithms for Creating a Time-Based UUID . . . . . . . . 9 4.2.1. Basic Algorithm. . . . . . . . . . . . . . . . . . 10 4.2.2. Generation Details . . . . . . . . . . . . . . . . 12 4.3. Algorithm for Creating a Name-Based UUID. . . . . . . . . 13 4.4. Algorithms for Creating a UUID from Truly Random or Pseudo-Random Numbers . . . . . . . . . . . . . . . . . . 14 4.5. Node IDs that Do Not Identify the Host. . . . . . . . . . 15 5. Community Considerations . . . . . . . . . . . . . . . . . . . 15 6. Security Considerations . . . . . . . . . . . . . . . . . . . 16 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 8. Normative References . . . . . . . . . . . . . . . . . . . . . 16 A. Appendix A - Sample Implementation . . . . . . . . . . . . . . 18 B. Appendix B - Sample Output of utest . . . . . . . . . . . . . 29 C. Appendix C - Some Name Space IDs . . . . . . . . . . . . . . . 30 1. Introduction This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier). A UUID is 128 bits long, and requires no central registration process. The information here is meant to be a concise guide for those wishing to implement services using UUIDs as URNs. Nothing in this document should be construed to override the DCE standards that defined UUIDs. There is an ITU-T Recommendation and ISO/IEC Standard [3] that are derived from earlier versions of this document. Both sets of specifications have been aligned, and are fully technically compatible. In addition, a global registration function is being provided by the Telecommunications Standardisation Bureau of ITU-T; for details see <http://www.itu.int/ITU-T/asn1/uuid.html>. Leach, et al. Standards Track [Page 2] RFC 4122 A UUID URN Namespace July 2005 2. Motivation One of the main reasons for using UUIDs is that no centralized authority is required to administer them (although one format uses IEEE 802 node identifiers, others do not). As a result, generationShow full document text