Introduction to DNS and name servers

The Domain Name System (DNS) is the mechanism that translates Internet domain names preferred by users, such as example.com, into IP addresses used by computers, such as 10.0.0.1. This translation is required because the network layer of the Internet uses IP addresses to identify domains; however, Internet users prefer to use names rather than IP addresses. More about how the Domain Name System works.

The Internet has 13 special DNS name servers called “root name servers”. The root name servers know the name servers responsible for each top-level domain.

When your computer wants to resolve a name, it sends a request to one of the root name servers asking it to resolve the name. The root name server looks at the top-level domain name, and replies with the name server who is responsible for that top-level domain. Your computer then contacts that name server, which repeats the process, either returning a translation, or returning the identity of a name server who can service the request.

# About DNS name servers

To perform domain name and IP address translations efficiently, DNS has a distributed architecture composed of many hierarchical DNS name servers. Each DNS name server is responsible for both name-to-IP-address translations (called forward lookups) and IP-address-to-name translations (called reverse lookups). Each DNS name server manages the lookups for domain name spaces. In DNS, these domain name spaces are referred to as zones. The term zone is used to denote information, such as host records, about a domain.

A reverse lookup uses the IP address to find the domain name.

A forward lookup uses a domain name to find the IP address.

To make a domain or zone accessible to the Internet, the domain name and IP address need to be registered with at least two DNS name servers: a Primary DNS master and a Secondary DNS server (or backup name server).

The Secondary DNS server provides backup service when the Primary DNS server is unavailable. It receives its data for a domain from the Primary DNS server.

The Primary DNS server is the authoritative master server that serves requests for the domain.

# Registering a domain or zone with a DNS name server

There are three ways to register domains or zones with DNS name servers:

- Have a domain name registrar perform the registration for you. Domain name registrars can add your domain's information to their DNS servers for a small fee. If you choose this option, you do not need to configure DNS settings on Ensim Pro.

- Have a service provider manage the registration for you. Service providers can make sure your domain is registered on DNS servers for a small fee. If you choose this option, you do not need to configure DNS settings on Ensim Pro.

- Use Ensim Pro as a DNS server. Using this option you might be able to avoid certain DNS server management fees and retain the maximum control over your domain names. To use Ensim Pro as a DNS server, you need to configure DNS settings in the Server Administrator control panel. Watch a demo about setting up Ensim Pro as a DNS server

# Using Ensim Pro as a DNS server

If you use Ensim Pro as a DNS server, you can configure the following DNS features through the Server Administrator control panel:

- Virtual DNS servers

- Aliases

- MX records

If you do not use Ensim Pro as a DNS server, you need to contact your service provider or domain registrar to configure DNS services.

Watch a movie about setting up Ensim Pro as a DNS server

# Reverse translation and PTR records

While DNS is usually used to resolve a host name to an IP address, it can also be used to resolve an IP address to a host name. For example, you could ask DNS the host name corresponding to the IP address 12.3.2.3, and it would reply with the right host name. How is this done? For historical reasons, the way it is done is to create a dummy top-level domain (similar to .com or .net) called .in-addr.arpa.

IP addresses are hierarchical, like DNS names, but they go in the opposite direction. That is, a string like www.example.com is part of the ensim.com zone. But an IP address 12.3.2.3 is part of the 12.3 subnet. To delegate responsibilities for IP address ranges, you need to make the IP addresses go the "wrong" way. The way DNS deals with this is that to resolve an IP address to a host name (also called a reverse lookup), it reverses the IP address in the in-addr.arpa zone. In the example above, if you wanted to know the host name corresponding to 12.3.2.3, you would ask the in-addr.arpa name server for this mapping. The in-addr.arpa name server could be configured to hand off names that end with 3.12.in-addr.arpa (which is the 12.3 in opposite order) to the 3.12.in-addr.arpa name server. That server might in turn hand off the query to the 2.3.12.in-addr.arpa name server, which finally resolves the name.

Notice that just like a normal name translation, the higher-level name server has to be properly configured to hand off translations for IP address ranges to lower-level name servers. If you want both to resolve names and to resolve IP addresses, you need to make sure that your domain registrar gives you name resolution authority not only for the zone that you own, but also for the IP address range that you own. The IP address range corresponding to a zone is also called the reverse zone for that zone.

# Virtual DNS servers

To make DNS a robust protocol, the protocol designers made it necessary for a name server administrator to provide its higher-level name server with two name servers responsible for a domain. For example, if you want to take ownership of “ensim.com” domain, you need to tell the owner of the “.com” domain the IP addresses of two name servers that can both resolve names in that domain.

However, you may not want to pay for two actual servers to act as name servers. If you are using Ensim Pro as your name server, you can create a virtual secondary DNS server that is the same as the primary server, but with a different IP address.

Suppose you want to register a domain with a domain name registrar, and use your own server to be the name server that the registrar points to. To do this, you have to add A records for this name within the zone for the domain. For instance, the A records for ftp.mydomain.com, www.mydomain.com, and sales.mydomain.com will all lie in the mydomain.com zone.

# Aliases

It is sometimes useful to have a single host have more than one name. For instance, you may want “ftp.example.com”, “www.example.com”, and “example.com” to all resolve to the same IP address. If you are using Ensim Pro as your name server, you can do this by adding “Canonical Name” or CNAME records to DNS. A CNAME record simply translates from one host name to another, giving a single IP address multiple aliases.

# MX records

If you are using Ensim Pro as your name server, you can add MX records for your zones.

In addition to forward and reverse name translations, DNS also supports Mail Exchange (MX) records. An MX record is used to designate which mail server should process email for a specific domain. An MX record, instead of translating from a host name to an IP address, translates from one host name to another host name.

For more complete information on DNS, we recommend the following books.

- DNS and BIND, by Paul Albitz and Cricket Liu, O'Reilly & Associates, 4th Edition, April 2001

- TCP/IP Illustrated, Volume 1: The Protocols, by W. Richard Stevens, Addison-Wesley, 1994