Friday, February 3, 2017

Subdomain vs Address

Recently I heard an internet consultant refer to the address "blog.company.com" as a "subdomain" which led me to do a bit of research into what is causing this terminology confusion.

In my experience in IT, going back to '93-94 when companies were first getting up on the internet, the 1992 first edition of the O'Reilly book DNS & BIND was considered THE bible on DNS.  That book taught us early pioneers what a "subdomain" truly is.

So understand my surprise when Googling "address vs subdomain" today revealed that almost everyone now thinks that having a hostname other than "www" in front of your domain name is a "subdomain" - all thanks to internet hosting providers who don't even know what they are talking about.


I feel like the main character from the movie "Idiocracy" who finds himself in the far future and everyone has become...well, let's just say less than well-informed.  Next thing you know people will be handing out business cards with uppercase letters in their email addresses.

Once a few hosting providers start using one another's REdefinition of a term, the error spreads across the internet like a virus. 

Let's start with a simple English analysis of the word "subdomain"

"Sub" from Latin meaning "under" makes us interpret the word to mean "a domain that is under or subordinate to another domain" - this means that the subdomain must first be a domain and second it is subordinate to another domain in some manner.

Subdomains are traditionally used to break up a higher-level domain into smaller administrative parcels.  Let's take the ca.gov domain for example, used by the state of California.

ca.gov is the domain
The NS records for this domain are:
nsX.net.ca.gov

It probably has several subdomains, but here are some I know of:

dmv.ca.gov for the Department of Motor Vehicles
The NS records for this domain are:
nsX.net.ca.gov (same as parent)

oag.ca.gov for the Office of the Attorney General
The NS records for this domain are:
nsX.doj.ca.gov (different)

Each of these two subdomains have www addresses:

www.dmv.ca.gov
www.oag.ca.gov

The oag subdomain also has an ftp address:

ftp.oag.ca.gov

Each subdomain also has different MX (mailserver) records, but I'm not going to publish them.

Traditionally a subdomain has NS records in its parent's zone file that specify the nameserver(s) hosting the zone files for the subdomain's records.  www and ftp are A records (A for Address) in the oag.ca.gov zone file.

oag.ca.gov is a subdomain
www.oag.ca.gov and ftp.oag.ca.gov are addresses

So it looks like the California IT department decided to host DNS for the DMV subdomain on their nameservers while letting the OAG IT department manage DNS on their own servers.  This is one of the legitimate reasons to create a subdomain in the first place - to delegate authority to another group. The OAG IT department can manage all the DNS records (addresses, aliases, mailservers, etc.) for their subdomain without going through the IT people at another office.

Chapter 9: Parenting from the 5th edition of DNS & BIND (Liu, Cricket and Albitz, Paul, O'Reilly Media Inc., 2006) lists three common reasons you would want to set up a subdomain:
  1. A need to delegate or distribute management of your domain to a number of organizations
  2. The large size of your domain; dividing it would make it easier to manage and reduce the load on your authoritative nameservers.
  3. A need to distinguish hosts' organization affiliations by including them in particular subdomains.
Now, just because a subdomain has an A record itself (in case people forget the www in front - sort of a "default" website for the domain) doesn't mean that every address is a subdomain.  While every basketball is a sphere not every sphere is a basketball.

A reasonable definition of a "subdomain" is that it meets one of the two following requirements:
  1. It has NS records - a "delegated" subdomain
  2. It has at least one record other than the A record for the subdomain itself - within the parent's zone file
Also, internet hosting providers need to stop calling address records "subdomains" - just call them what they are - if they add A records to the zone file, they are "addresses"


Links:

I was surprised I found a few authors on the internet who actually know what a subdomain is and bothered to try to educate others.
  1. Suso
  2. Mark Vogt on this blog and that blog
I'll add more links as I come across them.  The truth is out there.  Even Wikipedia isn't 100% accurate about the definition of a subdomain, and mentions some kind of "lively debate" over its definition.  But then again, a Wikipedia article is only as accurate as the last person to edit it.

No comments:

Post a Comment