[Previous] [Up]
Go backward to Domains
Go up to Addressing and Routing

Domain Name System (DNS)

In order to transmit a message, an internet mailer needs to transform a host name into an IP address. In the early days of the Internet, this was achieved by a simple host name to IP address mapping tool on each host that was distributed at regular intervals from a control location. This tool continues to exist as a fallback mechanism on many hosts, but copies are no longer distributed. They became too large and too dynamic and another approach is now employed. This apporach is the Domain Name System (DNS).

The DNS is a set of data bases organized in a hierarchical fashion. Each root domain (e.g. com, mil, edu, gov, uk, ca, etc.) maintains a root database (in detail they are replicated at a number of hosts) at a set of known, IP addresses. The root database contains records that identify the IP addresses of all other root databases and all sub-domains in its domain (e.g. ssw.com, dec.com, nsf.gov, etc.) The databases for each sub-domain contains the IP addresses of their parents and all of their own sub-domains. These processes can continue to any depth. In detail, a sub-domain may maintain its own database, or have its entries entered (by agreement) in its parent's DNS database.

From an e-mail perspective a DNS database contains two types of records. "A" (address) records that map a host name or partial (wild-carded) host name to an IP address and "MX" (mail exchange) records that map a host name, or partial (wild-carded) host name to another host name. There may be multiple "A" or "MX" records in a data base for a host. Multiple "A" records allow an unordered set of IP addresses to be associated with a single host name. Multiple "MX" records allow an ordered sequence of hosts to be associated with a host name (MX records contain a weight that is used to order them).

When a host name is resolved on the DNS, the result is a sequence of IP addresses derived by traversing the MX and A record tree (See Figure fig:NickShelness).

MX records have two roles in the e-mail Internet. First to identify an Internet gateway host providing access to non-internet hosts, and second to identify internet "firewalls". From within an organization the IP addresses associated with the highest priority MX record would be accessible. From without an organization, the IP addresses associated with the highest priority MX record can be blocked and thus delivery will be affected via the host identified by a lower priority MX record and its associated IP addresses.

RFCs 1034-5 include detailed information on the Domain Name System (DNS). Issues related to domain requirements are talked about in RFC 920. Mail routing and the Domain system itself are the subject of RFC 974.

(DNS) is a distributed, replicated name service whose primary purpose are to:

Over a million computers implement the Internet's Domain Name System, making it the world's most distributed database. DNS client software is known as a resolver, and many resolver implementations exist for most popular computer systems.

At its heart, DNS consists of a naming taxonomy that partitions a namespace of virtual hostnames (such as uw-isdl.ee.washington.edu) and corresponding host IP addresses across a hierarchal collection of DNS servers. Each server holds some portion of the partitioned database of hostname/address mappings and is capable of responding to user queries on the subset of attributes and values it contains.

In operation, the resolution of a domain name consists of sending a series of queries to a subset of DNS servers, each one responsible for some portion of the corresponding fully qualified domain name.

DNS is also used to distribute information about host hardware, operating system configurations and electronic mail exchanger addresses, and it is possible to query the system for wild-card matches (for example, it is possible to ask for all records of a particular type matching a particular string).

DNS has been an operational success, having expanded continuously since its inception to now cover over 1 million machine names. Despite this success, there are some problems with both the basic architecture and the specific implementations now in service on the Internet.

Maintenance of the system is distributed, with the required information usually entered into flat text files (usually by hand) at the site of each authoritative sub-domain server. This can lead to inconsistencies and errors in the database that can only be corrected through human intervention. There is no internal consistency checking of this information by the system itself (for example, to verify that registered hosts actually exist on the net).

Another problem can arise during operation. If the authoritative server for a particular sub-domain remains offline for an extended period, then users will find that they cannot perform hostname to address conversion. In this case, users can find themselves unable to access a host, even though that particular host is available.

Mail Exchange (MX) Records  

A non-SMTP/Internet site that wishes to register on the Internet will need to get a "nearby" Internet site to set up an MX record for them. An MX record is essentially a domain-server database record that (effectively) registers your domain name on the Internet, and indicates that the Internet site knows how to forward mail to you. Usually, the forwarding is done via some non-SMTP/Internet route, such as UUCP (Unix to Unix Copy Program). You can get an MX record for one site, or a "wildcard" MX record so that you can have your own sub-domains.

[Previous] [Up]