RFC 9562 - Universally Unique IDentifiers (UUIDs)
- Status: Proposed Standard
- Published: May 2024
- Stream: IETF
- Obsoletes: RFC4122
- Errata: No Errata
🇬🇧 Abstract (English)
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.
🇫🇷 Résumé (Français)
Cette spécification définit les UUID (Universally Unique IDentifiers, identifiants universellement uniques), également connus sous le nom de GUID (Globally Unique IDentifiers, identifiants globalement uniques), ainsi qu'un espace de noms de noms de ressources uniformes pour les UUID. Un UUID a une longueur de 128 bits et est destiné à garantir l'unicité dans l'espace et le temps. Les UUID ont été initialement utilisés dans le Apollo Network Computing System (NCS), puis dans l'environnement informatique distribué (DCE) de l'Open Software Foundation (OSF), puis dans les plateformes Microsoft Windows.
Cette spécification est dérivée de la spécification OSF DCE avec l'aimable autorisation de l'OSF (maintenant connu sous le nom de "The Open Group"). Les informations des versions antérieures de la spécification OSF DCE ont été incorporées dans ce document. Ce document rend obsolète le RFC 4122.
🇩🇪 Zusammenfassung (Deutsch)
Diese Spezifikation definiert UUIDs (Universally Unique IDentifiers, universell eindeutige Kennungen), auch bekannt als GUIDs (Globally Unique IDentifiers, global eindeutige Kennungen), sowie einen Uniform Resource Name-Namensraum für UUIDs. Eine UUID ist 128 Bit lang und soll die Eindeutigkeit über Raum und Zeit garantieren. UUIDs wurden ursprünglich im Apollo Network Computing System (NCS) verwendet, später in der Distributed Computing Environment (DCE) der Open Software Foundation (OSF) und dann in Microsoft Windows-Plattformen.
Diese Spezifikation ist von der OSF DCE-Spezifikation mit freundlicher Genehmigung der OSF (jetzt bekannt als "The Open Group") abgeleitet. Informationen aus früheren Versionen der OSF DCE-Spezifikation wurden in dieses Dokument aufgenommen. Dieses Dokument macht RFC 4122 obsolet.
🇮🇹 Sommario (Italiano)
Questa specifica definisce gli UUID (Universally Unique IDentifiers, identificatori universalmente unici), noti anche come GUID (Globally Unique IDentifiers, identificatori globalmente unici), e uno spazio dei nomi Uniform Resource Name per gli UUID. Un UUID è lungo 128 bit ed è destinato a garantire l'unicità nello spazio e nel tempo. Gli UUID sono stati originariamente utilizzati nell'Apollo Network Computing System (NCS), successivamente nell'ambiente Distributed Computing Environment (DCE) dell'Open Software Foundation (OSF) e poi nelle piattaforme Microsoft Windows.
Questa specifica è derivata dalla specifica OSF DCE con il gentile permesso dell'OSF (ora noto come "The Open Group"). Le informazioni delle versioni precedenti della specifica OSF DCE sono state incorporate in questo documento. Questo documento rende obsoleto 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