RFC 9562 - Universally Unique IDentifiers (UUIDs)
Publication Date: May 2024
Status: Standards Track
Obsoletes: RFC 4122
Authors: K. Davis (Cisco Systems), B. Peabody (Uncloud), P. Leach (University of Washington)
Abstract
This specification defines UUIDs (Universally Unique IDentifiers) -- also known as GUIDs (Globally Unique IDentifiers) -- and a Uniform Resource Name namespace for UUIDs. A UUID is 128 bits long and is intended to guarantee uniqueness across space and time. UUIDs were originally used in the Apollo Network Computing System (NCS), later in the Open Software Foundation's (OSF's) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.
This specification is derived from the OSF DCE specification with the kind permission of the OSF (now known as "The Open Group"). Information from earlier versions of the OSF DCE specification have been incorporated into this document. This document obsoletes RFC 4122.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9562.
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.
Contents
- 1. Introduction
- 2. Motivation
- 3. Terminology
- 4. UUID Format
- 5. UUID Layouts
- 6. UUID Best Practices
- 6.1. Timestamp Considerations
- 6.2. Monotonicity and Counters
- 6.3. UUID Generator States
- 6.4. Distributed UUID Generation
- 6.5. Name-Based UUID Generation
- 6.6. Namespace ID Usage and Allocation
- 6.7. Collision Resistance
- 6.8. Global and Local Uniqueness
- 6.9. Unguessability
- 6.10. UUIDs That Do Not Identify the Host
- 6.11. Sorting
- 6.12. Opacity
- 6.13. DBMS and Database Considerations
- 7. IANA Considerations
- 8. Security Considerations
- 9. References
- Appendix A. Test Vectors
- Appendix B. Illustrative Examples
Acknowledgements
The authors thank all contributors and reviewers for their valuable feedback.
Authors' Addresses
Kyzer R. Davis
Cisco Systems
Email: <[email protected]>
Brad G. Peabody
Uncloud
Email: <[email protected]>
Paul J. Leach
University of Washington
Email: <[email protected]>
Related Resources
- Official Text: RFC 9562
- Official Page: RFC 9562 DataTracker
- Errata: RFC Editor Errata