Identifier

What Is an Identifier?

An identifier is a symbol, string, or number assigned to uniquely distinguish one entity from all others within a defined scope or namespace. In computing and communications, identifiers are foundational to the operation of every system that must locate, refer to, or track a specific resource, process, user, or device. The scope of the term spans hardware addresses burned into network interface cards, software variable names assigned by compilers, database primary keys, domain names, and cryptographic public keys used to verify digital identities. The common thread is uniqueness within a given context: an identifier's value lies in its ability to unambiguously single out one entity among many.

Identifiers differ from values in that they carry no inherent meaning beyond reference. A hostname does not describe a server's function; it names it. This separation between naming and content is a design principle articulated in early internet engineering work: RFC 1498 on the naming and binding of network destinations distinguishes names, which identify entities independent of their physical location, from addresses, which describe where entities are currently attached, and from routes, which describe paths to reach them. The distinction has practical consequences for how mobile devices, distributed systems, and multi-homed hosts are addressed.

Types and Namespaces

Identifiers are always relative to a namespace, the defined set of rules and authority that governs which identifier values are valid and unique. Flat namespaces assign identifiers without hierarchy; MAC addresses are 48-bit flat identifiers assigned by hardware manufacturers under IEEE's Organizationally Unique Identifier (OUI) scheme. Hierarchical namespaces embed structure into the identifier itself: the Domain Name System (DNS) uses dot-separated labels to delegate authority at each level, so that mail.example.com encodes a hierarchy of responsibility from right to left. URIs (Uniform Resource Identifiers) defined in IETF standards provide a general syntax for naming resources across the web, with scheme prefixes (https:, urn:, doi:) indicating the namespace and resolution mechanism. Collision within a namespace, two entities claiming the same identifier, is a critical failure mode that registration authorities, cryptographic uniqueness schemes, and hierarchical delegation are all designed to prevent.

Identifier Properties and Design Trade-offs

The properties required of an identifier depend on its context. Persistence is critical for scholarly and archival use: a Digital Object Identifier (DOI) assigned to a published paper must resolve correctly decades later, regardless of changes in the publisher's domain or URL structure. Opacity (carrying no information about the entity) is sometimes preferred for privacy or security, since opaque identifiers do not reveal internal structure to adversaries. Readability and memorability matter for human-facing identifiers such as domain names and usernames. Uniqueness at global scale requires coordination: the IETF's RFC 4122 UUID specification defines a 128-bit identifier format generated locally without central coordination, using time, random numbers, or hardware addresses to achieve collision resistance across distributed systems. Each design choice involves trade-offs: globally unique, self-certifying identifiers often sacrifice human readability, while memorable identifiers require centralized registries that can become bottlenecks.

Identifier Resolution

An identifier is only useful if it can be resolved: mapped to the current location or description of the entity it names. DNS is the internet's primary resolution infrastructure, translating human-readable hostnames to IP addresses through a globally distributed hierarchy of name servers. The Handle System, used as the underlying technology for DOIs, provides resolution for persistent identifiers in scholarly and archival contexts. The IETF's Locator/ID Separation Protocol (LISP) extends identifier-to-locator mapping to network-layer addresses, enabling endpoint mobility by decoupling stable endpoint identifiers from the topologically assigned addresses used for routing.

Applications

Identifiers have applications in a range of fields, including:

  • Network routing and addressing in IP and mobile networks
  • Digital object persistence for scholarly publishing and archiving
  • Database management and relational data integrity
  • Distributed systems and microservice architectures
  • Cryptographic identity and public key infrastructure
Loading…