Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!gem.mps.ohio-state.edu!apple!sun-barr!texsun!pollux!smu!merlin
From: merlin@smu.uucp (David Hayes)
Newsgroups: comp.sys.next
Subject: Re: host name resolution under 1.0
Message-ID: <15940@pollux.UUCP>
Date: 25 Sep 89 17:50:18 GMT
References: <6251@pt.cs.cmu.edu>
Sender: news@pollux.UUCP
Reply-To: merlin@smu.UUCP (David Hayes)
Organization: Southern Methodist University, CSE Dept. Dallas, TX
Lines: 44

In article <6251@pt.cs.cmu.edu> eht@f.word.cs.cmu.edu (Eric Thayer) writes:
>[extra material deleted]
> Names like Q.CS.CMU.EDU
>you can abbreviate as Q, but it appears that if the abbreviation contains
>a dot, it is assumed to be a complete name.

Eric has found one of the design restrictions of the name server
resolver routines.  Given an entry in /etc/resolv.conf:

	domain		dept.university.edu

If a hostname has a dot in it, the resolver will conclude that the
user has entered a fully-qualified domain name.  If no dot is present,
then the resolver will append the domain name from /etc/resolv.conf.

This seems to be a problem, but for performance reasons, it really
needs to be done this way.  If you try to resolv "x.y", the resolver
would be required to make multiple queries with varying bits of the
current host's domain appended.  Most of these would result in an
error result from the name server, because the resulting host name
"x.y.dept" does not exist.  Since "x.y.dept" is not local, the query
would have to go to the root servers, only to be told that there
is no top-level domain "dept".  The process would be repeated with
all the other permutations of "x.y" and "dept.university.edu".
The root servers just don't have the capacity to handle that load.

At SMU, I do this.  Each machine has an official name, such as
"csvax.seas.smu.edu", my current host.  It also has an alias,
"csvax.smu.edu".  The /etc/resolv.conf file says "domain smu.edu".
Thus, I can get to any campus machine with its one-word name,
even though the domain name structure is four levels deep instead
of three.  Here's the nameserver files:

csvax.seas.smu.edu.	IN  A		129.119.1.5
csvax.smu.edu.		IN  CNAME	csvax.seas.smu.edu.

Of course, this only works as long as all machines within the
higher-level domain (smu.edu, in this case) have unique names.
You can easily see, though, how this could be used in the case
of a five-layer domain name system.

David Hayes	School of Engineering	Southern Methodist University
merlin@smu.edu	uunet!smu!merlin
"Argue for your limitation, and, sure enough, they're yours." - Richard Bach