[ih] DNS history and design

John Gilmore gnu at toad.com
Tue Jul 20 15:08:48 PDT 2021


Stephane Bortzmeyer via Internet-history wrote re the Domain Name System:
>                           IMHO, the choices were basically the correct
> ones, giving the techniques of the time (blockchain was not invented
> yet :-)

Distributed databases weren't invented yet either!  At the time,
there were only a handful of one-of-a-kind networks to distribute
one on!  If I was designing the DNS today, I'd probably use an
underlying technology more like that.

The DNS that Paul Mockapetris designed has scaled and lasted incredibly
well, given how early in networking history it was built.  It is one of
the few Internet protocols that uses binary packet layouts rather than
parsing text, which made it harder to debug and evolve the protocol.
And many things about the DNS were not really understood until decades
later, like how an "rrset", a collection of all the Resource Records
that have the same domain name and the same RRtype, needs to be handled
together rather than as separable records.

But the fundamental design still survives: "zones" of resource records,
each zone and record with a hierarchical global name, replicated N times
on different servers, with version numbering and automated updating
among the servers, and a "Time to Live" on each record to avoid data
going stale.  Requests and responses via UDP with a possible TCP
fallback.  Solid cacheing designed in for high performance, replication
for high reliability.

It's likely that a DNS requester that hasn't changed since 1985 could
plug in and work fine 36 years later, on the Internet of today.

Amazing!

	John
	



More information about the Internet-history mailing list