[dns-operations] Why are cnames called "canonical" names?

Evan Hunt each at isc.org
Fri Apr 10 02:36:44 UTC 2015


On Thu, Apr 09, 2015 at 09:28:57PM -0400, Mark E. Jeftovic wrote:
> Thanks but that page doesn't go into why the term "canonical" was
> adopted, as opposed to "alias" (which makes sense), or even "knickname",
> "doppelganger" or something like "pointer".

Read it as: (thing on the right) is the (type) of (thing on the left).

"example.com. IN A 192.0.2.20" means "192.0.2.20 is the address of
example.com".  Similarly, "www.example.com. IN CNAME xyzzy.example.com."
means "xyzzy is the canonical name for www" (i.e., the true and correct
name).

If CNAME had been called ALIAS, then the line above would have been saying
"xyzzy is an alias for www", but that's the opposite of what it's saying.
www is the alias, and xyzzy is the real name of the server hosting it.

I doubt anybody was anticipating CDNs in those days; everybody probably
figured a CNAME RR would always point to the *one and only* true and
correct hostname, instead of having multiple levels of indirection like
you see if you look at "dig www.paypal.com" nowadays, so it made sense
to refer to that as canonical. (Add it to the list of ways the DNS might
have come out differently if we'd had a crystal ball.)

-- 
Evan Hunt -- each at isc.org
Internet Systems Consortium, Inc.



More information about the dns-operations mailing list