A GUID (globally unique identifier) is a 128-bit value represented as 32 hexadecimal digits that uniquely identifies objects, records, and devices in networked environments where names and IP addresses frequently change. Generated locally using algorithms without requiring central authority coordination, GUIDs maintain stable identity across systems even when hosts are renamed, DHCP reassigns addresses, or devices move between subnets, making them essential for directory services, databases, and inventory management tools. Operational challenges arise from improper cloning that duplicates identifiers, format inconsistencies in storage and comparison, and weak random number sources that can create collisions, requiring careful implementation to avoid record merging, orphaned data, and synchronization failures.
So funktioniert eine GUID
Eine GUID wird durch einen Algorithmus erzeugt, der eine Kollision zwischen zwei unabhängig voneinander generierten Werten äußerst unwahrscheinlich macht. Bei der Erstellung ist kein Abgleich mit einer zentralen Registrierungsstelle erforderlich.
Eine GUID ist ein 128-Bit-Wert, der als 32 hexadezimale Ziffern im Muster 8-4-4-4-12 dargestellt wird, beispielsweise in geschweiften Klammern in Windows-Tools. Das Format entspricht dem UUID-Layout in RFC 4122, das mehrere Versionen definiert. Einige Versionen leiten den Wert aus einem Zeitstempel und einer Knotenkennung ab, andere aus einem mit einem Namensraum gehashten Namen und eine aus Zufallszahlen. Version 4 basiert auf Zufallsbits, sodass die Eindeutigkeit eher statistischer Natur ist und nicht garantiert werden kann. Bei 122 Zufallsbits in einem Wert der Version 4 ist die Wahrscheinlichkeit, dass zwei Werte übereinstimmen, im praktischen Maßstab vernachlässigbar. Nach der Generierung wird die GUID als Attribut des Objekts gespeichert, beispielsweise eines Verzeichniseintrags, einer Datenbankzeile oder eines Gerätedatensatzes. Anwendungen verweisen dann anhand dieses Werts auf das Objekt, sodass das Objekt seine Identität behält, selbst wenn sich sein Name, seine Adresse oder sein Speicherort ändert. Dies unterscheidet eine GUID von einem Hostnamen oder einer IP-Adresse, die sich im Laufe der Zeit ändern können.
Häufige Probleme mit GUIDs
Wenn eine Integration Objekte anhand des Hostnamens oder der IP-Adresse statt anhand der GUID abgleicht, führt eine Umbenennung oder eine Änderung der DHCP-Lease zu einem doppelten Datensatz oder dazu, dass der ursprüngliche Datensatz verwaist. Die Verwendung der GUID als Verknüpfungsschlüssel verhindert dies.
Das Löschen und erneute Erstellen eines Verzeichnisobjekts führt zu einer neuen GUID, selbst wenn der Name identisch ist. Gruppenzugehörigkeiten, Berechtigungen und verknüpfte Datensätze, die auf die alte GUID verwiesen, sind dann nicht mehr gültig.
Klammern, Groß- oder Kleinschreibung und fehlende Bindestriche unterscheiden sich je nach Tool. String-Vergleiche schlagen dann bei eigentlich identischen Werten fehl, daher sollten Importe und Abfragen das Format zunächst vereinheitlichen.
Werte der Version 4 hängen von einem guten Zufallsgenerator ab. Eine schwache oder identisch initialisierte Quelle, wie sie in frisch geklonten Systemen vorkommen kann, erhöht die Wahrscheinlichkeit von Duplikaten deutlich über das theoretische Maß hinaus.