Naming
Naming schemes are extremely important in most fields of human
endeavour. The important characteristics of a naming scheme
include:
- Scope:
- whether a naming scheme applies globally, or is only
applicable within a restricted local context.
- User-friendliness
- is the name intended for human use, or only for
communications between non-human network entities?
- Scale
- the ability of a naming scheme to accomodate both an increase
in the number of allocated names and the increased complexity of the
name space as the system size increases.
- Permanence
- whether the binding of a name to an object is intended
to be transient or persistent, and if the latter, whether it needs to
be registered with a formal registration authority.
The most common solution to the naming problem involves a hierarchy of
names - thus, a hierarchical name space.
Directories
A directory is a place where information about the elements of a
network is kept.
It allows network entities to be referred to by name, instead of by
some other attribute, such as its network address, which may be
subject to change.
In particular, most current directories are used to map network
hostnames to addresses.
An example of a directory system is the one used in the telephone
system:
- Access is via printed local directory and use of dial-up directory
assistance. Users need to know how to access service in local context
- Requires substantial information to succeed on name-to-address
- Printed directories are always (partly) out of date � distributed
annually
- The system only works at all because the hierarchical, geographic
arrangement of phone numbers mimics human society
NB: Such a structure is entirely different to a computer network, and
hence is generally regarded as inappropriate.
Directory Characteristics
- The directory, and the access mechanisms must be distributed
- The directory must appear to be a single entity from the user's
perspective
- The directory must be hierarchically organised, and easily
extensible
- The structure of the directory must be such that it is easy to
- It must be able to store information about many (or all) of the
objects which make up the network, in a consistent way
- Information must not be application-specific: should be stored once
even if it used in different ways by different applications.
- suggests use of an object class data model, where each class is
specified in terms of appropriate attributes
Provided by:
- TCP/IP (Internet)
- the DNS is the primary directory service, some use
of X.500
- OSI
- X.500 Directory Service
The Domain Name System
The DNS is the major directory service in the TCP/IP-based Internet.
Historical notes:
- Replaced the original hosts.txt (UNIX: /etc/hosts) based
name-to-address mapping scheme.
- Originated at Univ. Southern California from Mockapetris and others.
Defines:
- a distributed database containing generalised resource records (RR)
- a naming scheme based on hierarchically structured domain names.
- formally specified in RFCs 1034 and 1035
Some top level DNS domains include:
- edu
- educational institutions
commercial organisations
- mil
- U.S. military agencies
- org
- "other" organisations
- au
- top level domain for Australia, similarly uk, ca, etc. - these are
not strictly necessary, but...
DNS Names

Rules:
- A name is a dotted sequence describing a path through the name
hierarchy from the root, maybe with a trailing dot, thus:
bindi.bendigo.latrobe.edu.au.
- An individual name must be less than 63 characters, begin with a
letter, etc...
- Upper and lowercase may be used, although name lookups are case
insensitive by definition.
DNS Servers and Resolvers
A server provides name-to-address mappings for one or more zones,
which are sub-trees of the domain name space. Exactly which server is
responsible for a particular zone is specified in start of authority
(SOA) RRs.
A resolver is a library function[1] which queries the nameserver when
called from a user program. It can check a local cache of names and,
if necessary, request a RR from a nameserver (caching the response).
The resolver sends a question to a name server, of the form:
{query domain name, type, class}
The server responds with one or more appropriate RRs. Note that each
RR has an associated Time To Live field which suggests how long it
may be cached by the resolver.
DNS queries and responses are encapsulated in UDP datagrams. DNS is an
excellent example of an application where the reliable,
connection-oriented transport mechanism of TCP is not required.
The most common DNS query is of type A, where the resolver is required
to map a domain name to an IP address.
[1]Such as is built-in to gethostbyname(3)
Some DNS Subtleties
- Mail eXchange
- the DNS provides the MX type of RR to discover where
email is to be delivered. An MX RR specifies a primary mailhost, and
lesser preferential hosts where mail for a specified domain is be
delivered. For ironbark:
mx ironbark
ironbark 20
redgum 30
sheoak 40...etc
- Reverse lookups
- a special domain (in-addr.arpa) and address format
is used to map addresses to names, thus:
60.20.144.149.in-addr.arpa
This is called a PTR RR. Performing reverse lookups is much harder
than normal forward address lookups.
- CNAME
- Often a host may be known by several names: names other than
the official host name are called aliases, and a CNAME RR maps their
alias name to their "real" name.
- HINFO
- describes some basic information about the type of CPU and the
OS it is running. Rarely kept up-to-date.
Whois, netfind, etc
The DNS is really only useful for system names, not individual names,
nor other types of Internet resources.
Various other solutions, none of them very generally adopted, have
been proposed for the more general problem of Internet Resource
Discovery.
Some services which have been used include:
- whois
- a service which was intended to allow lookup of any users'
email address. Not generally available, although...
- finger
- Used to discover information about a user, or users, logged
in to a remote host or holding a user account on the host. Usually
available.
- Netfind
- a client program uses various other network services
(finger, whois, vrfy in SMTP) to heuristically discover a user's
identity, email addres, etc. Clever.
- archie
- gopher
- WAIS
- World Wide Web
- NB: Emergence of "search engines..." See later, maybe.
This lecture is also available in PostScript format.
The tutorial for this lecture is Tutorial #09.
Phil Scott