On 2016-05-31 17:10, Dave McGuire wrote:
On 05/31/2016 10:41 AM, Johnny Billquist wrote:
At the
time DECdns was designed, the Internet's DNS was basically just
a text file connected to a trivial daemon, with updates done by
sending new versions of those text files around. That was roughly the
same level of primitiveness that the DECnet Phase II through IV node
name mappings had. DECdns delivered a distributed database with
automatic machinery for distributing updates reliably.
However, your description and/or understanding of DNS seems to be very
weird. DNS have never been just a text file connected to a daemon. It
sounds like you are conflating DNS and the pre-DNS /etc/hosts (or
HOSTS.TXT) file, that was used in the early days. Which might match the
time frame of DECdns. The HOSTS.TXT file was not even connected to any
daemon. Your programs were expected to just read and parse the file
themselves, as needed. Or at least on the systems I know about. Exactly
how this worked could differ from one system to the next. But there
wasn't anything called "DNS" at that time.
Actually, it actually was just a text file connected to a daemon. I'm
not talking about HOSTS.TXT, I'm talking about BIND. And, at least in
the case of master servers, this is still the case. Slave servers no
longer store their replicated data as text files, and even when they
did, it was a bit more complex than simply "sending the files
around"...they were (and are) parsed, transferred in binary form, and
re-created on the other end. Except now, they're stored in a binary
form in the filesystem on the other end. But Paul's description is, in
essence, correct.
The daemon has been anything but trivial for 20+ years, and is
unbelievably complex now.
The problem with Paul's description was not what the local backing store
looked like, but how it was distributed. As you yourself says, it is not
distributed as a plain text file.
The comparison to how nodenames in DECnet was done is very much on par
with the old HOSTS.TXT file, but not at all comparable with DNS.
DNS is
distributed, with automatic updating of secondaries from
primaries. It is rather fault tolerant, and very scalable.
The one thing "lacking" have been an easy way of adding new information
programatically, while at the same time ensure security and data
validity. So you often still have the source of information for the
primary server being managed in a text file. But that file is not sent
around to other servers of the domain. DNS takes care of distribution
and replication itself.
All of that works quite well now. The security of dynamic updates
could be better, but it works, and signed zones work well (but are
difficult to set up).
Yeah, I know this has been improved lately, but this has, for a long
time, been one of the biggest complaints about DNS.
Johnny