Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!MSU.BITNET!08071TCP From: 08071TCP@MSU.BITNET (Doug Nelson) Newsgroups: comp.protocols.tcp-ip Subject: Re: Resolver implementation Message-ID: <9001170934.AA01520@ucbvax.Berkeley.EDU> Date: 16 Jan 90 20:39:01 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 45 > I know of two different methods for implementing a resolver, which are > described below. I'd like to hear comments on which is preferred > because of usability, and any problems with either of the schemes. > > Method I > -------- > If the host name does not contain a period, append the domain name > before sending the name to the resolver. > > Method II > --------- > Always append the domain name, and gradually remove the first element > in the DOMAIN statement trying all possibilities. > > Has anybody successfully implemented Method II? And if so, what kind > of user feedback have you gotten? I have edited out the examples from Dan's comments above. We don't use method II, but my biggest concern with it is the potential for false hits, or the potential for hiding a domain name. For example, say I have a "com" (e.g. Communications) department. And say they name their Big Blue system "ibm" (for lack of creativity or whatever). Its full host name is thus "ibm.com.msu.edu". Now what happens when a reference is made to "ibm.com"? Should this be my local system, or the top-level entry for your company? I think it has to be the latter. In other words, any name with a dot in it should *always* be tried first as a fully qualified name prior to appending any portion of the local domain or domain(s) from the DOMAIN list, or to removing part of the requested name. If this were done, I could accept a method II implementation. I'd suggest it be controlled by a keyword in the resolv.conf file (ALWAYSAPPEND). Another method that I have seen is a variation on method II, where dotted names are always tried as is, but single-part names are tried as in method II (in domain a.b.c, first try host.a.b.c, then host.b.c, then host.c). I have aided that process here by the fairly liberal use of CNAMEs - each host system, and a number of workstations, named as "host.dept.msu.edu", each have a CNAME entry under "host.msu.edu". Another useful aid is to place more than one DOMAIN statement in your resolv.conf file, giving a list of your favorite domains. Doug Nelson nelson@msu.bitnet Manager of Network Software nelson@msu.edu Michigan State University