ARIEL@RELAY.PRIME.COM (Robert Ullmann) (12/29/90)
Hi, (Since I didn't get to go to Boulder. Sigh. It was my fault ... :-) Some thoughts on DNS and root servers: 1) initial preference order: When a resolver gets an initial list of NS records, either by delegation or the root list, it does not have any direct information as to which it should try first. It seems to me that it would be reasonable for the resolver to sort the server names on apparent topological proximity; i.e. how much does this domain name look like mine? A resolver at (say) tiger1.prime.com would prefer server(s) in .prime.com, then servers in .com, then others. This tends to refer to local servers, where "local" may mean the same building or might just be the same country. A root server at (again, just for example) inria.fr would be the first server queried by hosts in .FR, but not (the first) from elsewhere. Likewise, if top-level domain .FR has servers at inria.fr and nta.no, systems in .no would tend to query the latter first. This only provides the initial preference sort, and thus does not affect the integrity of the search algorithm. After any (completed) queries, the resolver will tend to prefer the servers that respond fastest. 2) load on root servers: I note that when my domain resolver queries a root server, it usually returns the *answer*, not a delegation for .COM or .NET (or whatever). Yes, I know that the (present) root servers are coincident with the set of .COM servers (and so forth), but if they started giving top-level delegations, this load could be spread out, even if only a little bit at first. Yes, I realize that the server can't tell whether it is being asked in its role as root server, or its role as (e.g.) .COM server, but it could return the .COM NS RRs in either case. I think it would be best if there were separate machines entirely. 3) NIC as center-of-the-world: To add some symmetry to the system: there being no reason why ns.nic.ddn.mil should be the root-primary any more than (say) ns.inria.fr. Possible text of a policy: "Each top-level administration (e.g. .COM or .FR, etc.) shall provide (at least) 3 root servers, one of which may or may not be coincident with the primary name server for the particular top-level domain. There must be no access restrictions limiting queries to these servers. There may be an initial transition period in which the servers are not provided. "Each top-level administration may (and normally will) provide (at least) 3 servers for that top-level domain, said servers having no query-access restrictions. There may be an initial transition period in which these servers are provided by another administration. "Each top-level administration must communicate the names and addressing of its root servers to all other top-level administrations; an acceptable procedure is: "Each top-level domain shall contain the (pseudo-host) name ROOT-SERVER.<domain> (e.g.) root-server.com with address RRs listing the various addresses of the root servers provided by that administration. "All administrations (and, indeed, any host) can then construct the current root zone by reference to these records." Hum. Sounds very OSIfied, doesn't it? <grin> Maybe it might be useful anyway ... Rob Ullmann +1 508 620 2800 x1736