[comp.protocols.tcp-ip.domains] DNS and root servers

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