Skip to content

From a name to an address

Machines speak in numbers, people in names. The Domain Name System (DNS) is the translation between them, and it is not one central database but a chain of responsibilities. Once you know the chain, it is obvious why a change sometimes takes effect in seconds and sometimes needs a day.

A name is read from right to left. In www.example.com. the trailing dot is the root, com is the top-level domain, example is the domain itself, and www is a name inside that domain.

Each level only knows who is responsible for the next one. The root knows the servers for com, the com level knows the servers for example.com, and only those know the address of www. Handing responsibility down like this is called delegation.

Three parties that are easily confused:

The registry is the authority for one ending. It keeps the binding list of all domains under it and records which nameservers are responsible for a domain. For .de that is DENIC, other endings each have their own organisation. Coordination across endings sits with ICANN, number allocation with IANA.

The registrar is the provider you register the domain with. It files the request with the registry, keeps the contact data and is your contractual partner. regfish is a registrar.

The holder is you. A domain is a time-limited right of use, not a purchase: it expires and has to be renewed.

When someone opens www.example.com, their machine does not ask the root but a resolver, usually at their access provider or as a public service. The resolver walks the chain: root, then com, then the domain’s responsible nameservers. The last ones in the chain are called authoritative, because they do not pass the question on, they know the answer.

This full walk only happens the first time. After that the resolver remembers.

Every record carries a TTL (time to live) in seconds. It states how long a resolver may cache the answer.

The crucial part is widely misunderstood: what governs a change is not the new TTL but the old one, still in force at the last lookup. So lower the TTL before a migration, not with it.

The zone is the data behind a domain, the collection of all entries its nameservers are responsible for. A record is a single entry in it, with a type, a name, data and a TTL.

Keep contract and data apart: the zone can live at regfish, but it only takes effect once the registry also records the regfish nameservers as responsible. Until then the previous provider answers. This is where most migrations fail, and it looks exactly like an error in the zone.

What this means in the dash is described under DNS records; the API terms are in Core concepts.