Historical DNS Quirks

I love understanding the background of how particular parts of Internet infrastructure evolved to be how they currently are and the particular quirks of history that shaped them that way. Last night’s spelunking was triggered by this tweet from @miekg:

Tweet:

Miek Gieben - @miek@mastodon.cloud

Calculating why there are 13 root nameservers, based on a pkt size of 512 b. My minimum is 14.06. I miss something or they were conservative

…which led him to write up his findings here.

His maths was correct, in that you could fit 14 root name servers in a 512 byte payload, and the presumption that only having 13 was mere conservatism seemed sensible .

But my mind quickly drifted onto the thought that the root name servers used to have unique names under their hosts domain (e.g. ns.nasa.gov) and hence not under root-servers.net which means that label compression saved roughly half as many bytes as is possible now with the shared domain. Those thoughts led to this confusing tweet:

Tweet:

Martin Barry @martinbarry

@miekg there was no name compression originally, they were a sub-domain of their host.

…followed up quickly with:

Tweet:

Martin Barry @martinbarry

@miekg my mind off on a tangent, nothing wrong with your maths. The shift to common domain allowed extra 4-5 servers per packet.
Tweet:

Martin Barry @martinbarry

@miekg http://www.internic.net/domain/named.root  lists original names, but a pre 1995 hints file would be an interesting find.
Tweet:

Martin Barry @martinbarry

@miekg https://www.donelan.com/dnstimeline.html is interesting if a little terse and fragmented. Note the April 93 entry and the suggested fix in the next one

Along with www.internic.net/domain/named.root and www.donelan.com/dnstimeline.html, another interesting link I turned up was this DNS Root Name Server FAQ and @isomer dug up an old hints file from 1993.

An interesting quote from www.isoc.org/briefings/020/ is why VeriSign operates two roots:

Q: Why has IANA given two servers to VeriSign?

A: This answer needs a little bit of history: When the number of possible letters was increased to 13, IANA asked USC ISI and Network Solutions Inc. to set up additional servers with the intention to move them to suitable operators quickly thereafter. J&K were set up at Network Solutions on the US east coast, L&M at USC ISI on the west coast. Both K and M moved further east and west respectively soon thereafter. However as time progressed, moving a server became subject of increasingly inconclusive debates. Still IANA succeeded in moving L to ICANN. Some say this worked because ICANN was in the same building as both ISI and the IANA, a physical move was not immediately required and operations could be supported by the people operating B already. 😉 More likely it succeeded because ICANN at the time was the only organisation about which at least some consensus could be achieved. After that nothing moved anymore and J remained with VeriSign who had acquired Network Solutions.

Back to my original line of thought, the choice quotes from www.donelan.com/dnstimeline.html are:

21 Apr 1993
Root server list UDP packet size limit exceeded
31 Aug 1993
Bellovin suggests using pseudo-host root.net to pack server list

and

4 Aug 1995
root-servers.net introduced into root zone ns.nasa.gov changed ip addresses ns.isc.org uses net 39 experiment address
1 Sep 1995
ns.internic.net changed to a.root-servers.net (last root-servers.net change)

Basically the old scheme hit the limits at around 8 root servers and, in order to add more, a switch to a common domain was arranged to boost the effects of label compression. Of course, there was still room for improvement:

Tweet:

Martin Barry @martinbarry

@miekg @bortzmeyer @GavinBrown @fcambus @jpmens make a deal with Serbia and get a.rs, b.rs etc? :-P

This entry was posted in Internet, Tech and tagged , . Bookmark the permalink. Both comments and trackbacks are currently closed.